\documentclass[main.tex]{subfiles}
\begin{document}
\begin{defin}
  \begin{itemize}
  \item Un signal en bande de base est un signal n'ayant pas subit de
    transposition en fréquence.
    \item un code en bande de base consiste a choisir une forme d'impulsion/niveau de tension pour transmettre un débit $D$ dans un canal de bande passante $B$.
\end{itemize}
\end{defin}

\begin{rem}
  Le codage en bande de base n'est pas un codage source ou canal ,pas cryptage du signal.
\end{rem}
\section{Mise en équation}

\paragraph{Objectif} transmettre $d_n$ mot de code constitué d'une suite d'élements binaires $\{\beta_n\}$
\begin{defin}
Pour la suite on considère que l'on émet le signal (PAM):
\[
  e(t)  = \sum_{k}^{}a_kg(t-kT)
\]
\begin{itemize}
\item $a_k$ pris dans un alphabet de tension $\{A_0 ... A_{M-1}\}$ à $M$ niveaux possibles
\item $g(t)$ forme d'impulsion (rectangulaire de période $T$, triangulaire, Impulsion de Nyquist)
\item T est la durée du symbole transmis  $T = nT_b$(transmission d'un $n$-uplet d'élements binaire choisi parmis $M=2^n$ éléments possibles.)
\end{itemize}
\end{defin}

\begin{exemple}[Cas binaire]
  $M=2$ . On a un seul élement binaire transmis pendant $T= 1 T_b$. $a_k\in\{A_0=0, A_1=+1 \}$.
\end{exemple}
\begin{exemple}[Cas quaternaire]
  $M=4=2^2$ . $T=2T_B$. $a_k\in\{A_0=0,A_1=+1,A_2=+2,A_3=+3\}$
\end{exemple}
\begin{defin}
  \begin{itemize}
  \item La\emph{ rapidité de modulation }en sortie du codeur ligne est :
  \[
    R = \frac{1}{T}= \frac{1}{nT_b}=\frac{D}{\log_2{M}}
  \]
  \item Le débit binaire est ; $D=1/T_b$ [bits/s]
  \item la rapidité de modulation $R=D/\log_2(M)$ [bauds]
\end{itemize}
\end{defin}

  On peux mettre $e(t)$ sous la forme
  \[
    e(t) = g(t) \star a(t) =g(t)\star \sum_{k}^{}a_k\delta(t-kT)
  \]
  La DSP du signal peux s'écrire alors  (via la formule des interférences)
  \[
    \phi_{ee}(f) = |G(f)|^2 \phi_{aa}(f)
  \]

  Or comme $a(t)$ est aléatoire il est impossible de calculer $A(f)$. La DSP peux cependant s'obtenir  par l'autocorrélation du signal\footnote{cf UE 451}  Les propriétés statistiques permettent d'obtenir la DSP de $a$ (nature du codage de source, études des moments...)

  \begin{rem}
    La DSP de $e$ est constituée d'éventuelle raie et du module au carré de de la TF de $G(f)$. On peux par exemple rajouter une raie a la fréquence d'horloge pour la transmettre au récepteur (PLL ... )

    La fonction d'autocorrélation de $e(t)$ est périodique (cyclostationnarité) est  utilisée dans certaines application pour la récupération du rythme $T$ et la synchronisation.
  \end{rem}
\section{Classification}
\subsection{Codes RZ et NRZ}
\begin{defin}
  \begin{itemize}
  \item\emph{ RZ :Return to Zero:}
    \[
      g(t) =
      \begin{cases}
        \neq 0 & \forall  t \in [0,\lambda T]\\
        = 0 & \forall t \in [\lambda T ,T]
      \end{cases}
    \]
  \item\emph{ NRZ : Non Return to Zero}
    \[
      g(t) \neq 0 \quad \forall t\in[0,T]
    \]
  \end{itemize}
\end{defin}
\subsection{Code ou format (M-aire) unipolaire et antipolaire}
\begin{defin}
  Les codes \emph{unipolaires} ne changent pas de signe, les moyennes ne sont pas nulles.

  Pour les codes\emph{ antipolaire,} c'est l'inverse.
  On distingue les codes paires et impaires (utilisation du zéro)

\end{defin}
\begin{defin}
  Un code \emph{binaire} utilise 2 niveau de tension pour encoder le
  signal.

  Un code \emph{M-aire} en utilise $M$.
\end{defin}
\subsection{Code avec ou sans mémoire}
\begin{defin}
  \begin{itemize}
  \item Code \emph{sans mémoire} :
    Transcodage systématique.
  \item Code \emph{avec mémoire}:
    Utilise les valeurs des bits précédemment transmis pour déterminer la valeur a émettre.
  \end{itemize}
\end{defin}


\begin{prop}
  Si on a un code sans mémoire, alors l'autocorrélation de $a$ peux s'écrire:
  \[
    \phi_{aa}(f) = \frac{\sigma_a^2}{T} + \frac{m_a^2}{T^2}\sum_{k=-\infty}^{+\infty} \delta(f-k/T)
  \]
\end{prop}
\section{Code en BdeB usuels}
\subsection{Rappel}: on a la DSP du signal d'apres la formule des interférences:
\[
  \phi_{ee}(f) = |G(f)|^2\times \phi_{aa}(f)
\]
\begin{prop}
  Pour un code en Bande de Base:
  \begin{itemize}
  \item à symbole indépendant (sans mémoire)
  \item à symbole identiquement distribués
  \end{itemize}
  Alors:
  \[
    \phi_{aa}(f) =\frac{\sigma_a^2}{T}+\frac{m_a}{T^2}\sum_{-\infty}^{+\infty}\delta(f-k/T)
  \]
\end{prop}
\subsection{Code NRZ binaires}

\subsubsection{Code NRZ Binaire antipolaire} 
\begin{figure}[H]
  \centering
  \begin{tikzpicture}[scale=0.5]
  \begin{axis}
    [axis lines = middle,width =0.9\linewidth,height=5cm,
    xmin= 0,xmax =6, ymin=-1.3,ymax=1.5,xtick={1,2,3,4,5,6},
    xticklabels={$T_b$,$2T_b$,$3T_b$,$4T_b$,$5T_b$,$6T_b$},
    xticklabel style={yshift = -1.2cm},
    ytick={-1,1},yticklabels={$-V$,$+V$}]
  \addplot[const plot, very thick] coordinates {(0,1) (1,-1) (2,1) (3,-1) (4,-1)
    (5,1) (6,1)};
\end{axis}
\end{tikzpicture}
  \caption{Codage NRZ binaire}
\end{figure}
\begin{defin}
  Pour un code NRZ binaire antipolaire on a:
  \[
    \begin{cases}
      a_k = + 1 & \text{ si } \beta_k =1 \\
      a_k = - 1 & \text{ si } \beta_k =0 \\
    \end{cases}
  \]
  Alors :
  \[
    m_a = 0 \text{ et } \sigma_a^2 = V^2
  \]
  Pour une forme d'impulsion rectangulaire on a donc:
  \[
    \phi_{ee}(f)= V^2 T_b \left(\frac{\sin\pi fT_b}{\pi f T_b}\right)^2+ \delta(f)\frac{V^2}{4}
  \]
\end{defin}

\subsubsection{Code NRZ binaire unipolaire}

\begin{figure}[H]
  \centering
  \begin{tikzpicture}[scale=0.5]
  \begin{axis}
    [axis lines = middle,width =0.9\linewidth,height=5cm,
    xmin= 0,xmax =6, ymin=-1.3,ymax=1.5,xtick={1,2,3,4,5,6},
    xticklabels={$T_b$,$2T_b$,$3T_b$,$4T_b$,$5T_b$,$6T_b$},
    xticklabel style={yshift = -1.2cm},
    ytick={-1,1},yticklabels={$-V$,$+V$}]
  \addplot[const plot, very thick] coordinates {(0,1) (1,0) (2,1) (3,0) (4,0)
    (5,1) (6,1)};
\end{axis}
\end{tikzpicture}
  \caption{Codage NRZ binaire}
\end{figure}
\begin{defin}
  Pour un code NRZ binaire unipolaire on a:
  \[
    \begin{cases}
      a_k = + 1 & \text{ si } \beta_k =1 \\
      a_k = 0 & \text{ si } \beta_k =0 \\
    \end{cases}
  \]
  Alors :
  \[
    m_a = +\frac{V}{2} \text{ et } \sigma_a^2 = \frac{V^2}{4}
  \]
  Pour une forme d'impulsion rectangulaire on a donc:
  \[
    \phi_{ee}(f)= \frac{V^2T_b}{4} \left(\frac{\sin\pi fT_b}{\pi f T_b}\right)^2
  \]
\end{defin}

\subsubsection{Code NRZ M-aire}
\begin{defin}
  On généralise le code NRZ binaire pour $a_k=\{\pm 1,\pm2 ... \pm
  (M/2-1)\}$ on a :
  \[  m_a = 0 \text{ et } \sigma_a^2 = \frac{2}{M} \sum_{p=0}^{(M/2)-1}(2p+1)^2
  \]
Pour une forme d'impulsion rectangulaire de durée $T=nT_b$on a donc:
  \[
    \phi_{ee}(f)= \frac{(M-1)^2}{3}V^3T \left(\frac{\sin\pi fT}{\pi f T}\right)^2
  \]
  
\end{defin}
\subsubsection{Code RZ binaire}

\begin{defin}
  On note $RZ_\lambda$ pour une impulsion rectangulaire de la forme:
  \[g(t)= 
    \begin{cases}
      +V & \forall t \in [0;\lambda T_b] \\
      0 & \forall t \in [\lambda T_b,T_b]
    \end{cases}
  \]
  Alors :
  \[
    \phi_{ee}(f)= \frac{V^2\lambda^2T_b}{4}\left(\frac{\sin\pi f_b\lambda T}{\pi f\lambda T_b}
    \right)^2 + \frac{V^2\lambda^2T_b}{4}\sum_{k=-\infty}^{+\infty} \left(\frac{\sin k\pi\lambda}{k\pi\lambda}\right)^2\delta(f-k/T_b)
  \]
\end{defin}
\begin{rem}
  Le plus classique est le code $RZ_{1/2}$:  on a une raie à $1/T_b$,
  mais pour une longue suite de $0$la DSP s'annule.
\end{rem}
\subsubsection{Code Manchester}
\begin{defin}
  \[
    \begin{cases}
      a_k = + 1 & \text{ si } \beta_k =1 \\
      a_k = 0 & \text{ si } \beta_k =0 \\
    \end{cases}
  \]
  Pour une impulsion rectangulaire on a donc:
  \[
      g(t)=
      \begin{cases}
        + V & \forall t \in [0,T_b/2] \\
        -V  & \forall t \in [T_b/2,T_b]\\
        0 & \forall t \notin [0,T_b]
      \end{cases}
    \]
    Alors:
    \[
 \phi_{ee}(f)= V^2T_b \left(\frac{\sin\pi fT_b/2}{\pi f T_b/2}\right)^2()\sin\pi fT_b/2)^2
    \]
\end{defin}

\begin{rem}
  Le codage de manchester est un transcodage ``1B2B'' : le 1 est
  codé par 1->0 alors que 0 est codé par 0->1. Les deux mots 11 et 00 ne
  sont pas utilisés. C'est le front montant ou descedant qui code l'information.

  La DSPd'un code de Manchester a une raie à la fréquence $f=1/T_b$,
  on peux faire de la synchronisation.
\end{rem}
\subsection{Code en Bande de base avec mémoire}
\subsubsection{Code bipolaire $RZ_{1/2}$}

\begin{defin}
  \[
    \begin{cases}
      a_k = \pm 1 & \text{ si } \beta_k =1 \\
      a_k = 0 & \text{ si } \beta_k =0 \\
    \end{cases}
  \]
 Donc $m_a =0$ et $\sigma_a^2 = 1/2$. 
  Pour une impulsion rectangulaire on a donc:
  \[
    g(t)=
    \begin{cases}
        + V & \forall t \in [0,T_b/2] \\
        -V  & \forall t \in [T_b/2,T_b]\\
    \end{cases}
  \]
  Alors :
  \[
    \phi_{ee}(f)= \frac{V^2T_b}{\sin^2(\pi fT_b)}\sinc^2(\frac{\pi fT_b}{2})
  \]
\end{defin}
\begin{prop}[Cas d'un code avec mémoire]
  Pour un code avec mémoire :
  \[
    \phi_{aa}(f) = \frac{\sigma_a^2}{T}+\frac{2\sigma_a^2}{T}\sum_{k=1}^{\infty}R_{aa}(k)\cos(2\pi fk T)+\frac{m_a^2}{T^2}\sum_{k=-\infty}^{+\infty}\delta(f-k/T)
  \]
  Avec $R_{aa}$ la fonction d'autocorrélation normalise des symboles
  $a_k$
  \[
    R_{aa}  = \frac{E[(a_n-m_a)(a_{n-k}-m_a)]}{\sigma_a^2}
  \]
\end{prop}

\begin{rem}
  $e(t)$ prend 3 niveaux de tension (+V,-V,0), ou 1 est codé
  alternativement par +V et -V. C'est un code
  \emph{pseudo-ternaire}. Si $\beta_k$ possède une longue suite de zéro la
  DSP va s'annuler...
\end{rem}

\subsubsection{Code HDBn}
\begin{defin}
  Pour éviter que la DSP s'annule on intercale des \emph{ bit de
    viols}pour limiter la succession de $n$ zéros.
\end{defin}
\begin{prop}
  Le $n$ de HBDn indique le nombre de 0 que l'on peut envoyer. On le choisit en fonction de la fiabilité du support et du matériel. La valeur pour le premier 1 à envoyer est fixée par convention entre l'émetteur et le récepteur.
\end{prop}


  \begin{center}
    \begin{tikzpicture}[
level distance=2cm,
level 1/.style={sibling distance=7cm},
level 2/.style={sibling distance=4.5cm},
      edge from parent fork down]
      \tikzset{if/.style={diamond,draw,aspect=2.5,inner sep=-3pt, label={[yshift=0.125cm]left:{\tiny\bf+}},
        label={[yshift=0.125cm]right:{\tiny-}},}}
      \node[if](I) {\begin{tabular}{c}
               Polarité du \\dernier viol
             \end{tabular}}
      [edge from parent path={[-latex] (\tikzparentnode) -| (\tikzchildnode)}]
  
      child {node[if] {
          \begin{tabular}{c}
            Polarité du \\dernier 1
          \end{tabular}}
        child {node {\texttt{-V00V}}}
        child {node {\texttt{000-V}}}
      }
      child {node[if] {
          \begin{tabular}{c}
            Polarité du \\dernier 1
          \end{tabular}}
        child {node {\texttt{000+V}}}
        child {node {\texttt{+V000+V}}}
      }
      ;
      \node[above=1cm] at (I.north) (O) {\texttt{0000}};
      \draw[-latex] (O) -- (I.north);
  \end{tikzpicture}
\end{center}


Pour compenser les bits de viols , on ajoute les \emph{ bits de bourrage.}
\begin{exemple}~\\
  \begin{figure}[H]
    \centering
  \begin{tikzpicture}
    \begin{axis}
    [axis lines = middle,width =0.9\linewidth,height=5cm,
    xmin= -0.2,xmax =15, ymin=-1.3,ymax=1.5,
    xticklabels={0,1,0,1,0,0,0,0,0,1,1,0,0,0,0,1},
    grid = major,
    xticklabel style={yshift = 2cm,xshift=-0.5cm},
    ytick={-1,1},yticklabels={$-V$,$+V$}]
    \addplot[const plot, very thick] coordinates {(-1,1) (0,0) (1,-1) (2,0)(3,0)(4,0)(5,-1)(6,0)(7,1)(8,-1)(9,1)(10,0)(11,0)(12,1)(13,-1)(14,-1)};  \node at (axis cs:5.5,-0.5){V-};
    \node at (axis cs:9.5,+0.5){B+};
    \node at (axis cs:12.5,+0.5){V+};
    \end{axis}
  \end{tikzpicture}
  \caption{Codage HDB3}
\end{figure}
\end{exemple}

\end{document}

%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:
