diff --git a/433-Electronique_transmission_numerique/Cours/chap21.tex b/433-Electronique_transmission_numerique/Cours/chap21.tex index c75201b..6aadaec 100644 --- a/433-Electronique_transmission_numerique/Cours/chap21.tex +++ b/433-Electronique_transmission_numerique/Cours/chap21.tex @@ -67,16 +67,43 @@ Il faut trouver un compromis entre débit et robustesse aux erreurs. \item Utilise des formes d'impulsions \item Donne au spectre des des propriété utiles (bandes occupée, présence de la fréquence d'horloge ...) \end{itemize} - \begin{figure}[H] + +\begin{figure}[H] + \centering + \begin{subfigure}{0.5\textwidth} \centering - \begin{subfigure}{.5\textwidth} - \subcaption{Impulsion rectangulaire} - \end{subfigure}% - \begin{subfigure}{.5\textwidth} - \subcaption{Impulsion de Nyquist} - \end{subfigure} - \caption{Formes d'impulsions classiques} - \end{figure} + \begin{tikzpicture} + \begin{axis} + [axis lines = middle, + xmin = -0.1,xmax =5,ymin=-0.1,ymax=3, + xlabel = $t$,ylabel=$g(t)$,xtick={4},xticklabels={$T_b$}, + ytick={2},yticklabels={$V$}] + \addplot[black,thick] coordinates {(0,2) (4,2) (4,0)}; + \end{axis} + \end{tikzpicture} + \caption{impulsion rectangulaire} + \label{fig:label} + \end{subfigure}% + \begin{subfigure}{0.5\textwidth} + \centering + \begin{tikzpicture} + \begin{axis} + [axis lines = middle, + ymin=-0.3,ymax=1.1, + xlabel = $t$,ylabel=$g(t)$,xtick=\empty,ytick=\empty] + \addplot[black,thick,smooth,samples=100] + {50*sin(deg(x*4))/deg(x*4)}; + \draw[latex-latex] (axis cs:-0.78,-0.2) -- (axis cs:0.78,-0.2) + node[midway, above right]{\tiny$T_b$}; + \draw[dotted] (axis cs: -0.78,0) --(axis cs:-0.78,-0.2) + (axis cs: 0.78,0) --(axis cs:0.78,-0.2); + \end{axis} + \end{tikzpicture} + \caption{impulsion de Nyquist} + \label{fig:label} + \end{subfigure} + \caption{forme d'impulsion usuelles} +\end{figure} \paragraph{Modulation} Comme pour une modulation numérique diff --git a/433-Electronique_transmission_numerique/Cours/chap23.tex b/433-Electronique_transmission_numerique/Cours/chap23.tex index e57bf3f..02af153 100644 --- a/433-Electronique_transmission_numerique/Cours/chap23.tex +++ b/433-Electronique_transmission_numerique/Cours/chap23.tex @@ -9,7 +9,7 @@ \end{defin} \begin{rem} - Le codage en bande de base n'est aps un codage source ou canal ,pas cryptage du signal. + Le codage en bande de base n'est pas un codage source ou canal ,pas cryptage du signal. \end{rem} \section{Mise en équation} @@ -26,8 +26,6 @@ Pour la suite on considère que l'on émet le signal (PAM): \end{itemize} \end{defin} -\emph{Ajouter Exemple de forme d'impulsion}\\ - \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} @@ -59,13 +57,13 @@ Pour la suite on considère que l'on émet le signal (PAM): \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 les utilisée dans certaines application pour la récupération du rythme $T$ et la synchronisation. + 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 RZ :Return to Zero: + \item\emph{ RZ :Return to Zero:} \[ g(t) = \begin{cases} @@ -73,26 +71,32 @@ Pour la suite on considère que l'on émet le signal (PAM): = 0 & \forall t \in [\lambda T ,T] \end{cases} \] - \item NRZ : Non Return to Zero + \item\emph{ NRZ : Non Return to Zero} \[ - g(t) \neq 0 \forall t + 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 unipolaires ne changent pas de signe, les moyennes ne sont pas nulles. + Les codes \emph{unipolaires} ne changent pas de signe, les moyennes ne sont pas nulles. - Pour les codes antipolaire, c'est l'inverse. + Pour les codes\emph{ antipolaire,} c'est l'inverse. On distingue les codes paires et impaires (utilisation du zéro) -\end{defin} +\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 sans mémoire : - Transcodafe systématique. - \item Code avec mémoire: + \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} @@ -105,16 +109,266 @@ Pour la suite on considère que l'on émet le signal (PAM): \] \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} -\emph{ à compléter} +\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} -\section{Embrouillage et étalement de spectre} + \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: "main" +%%% TeX-master: t %%% End: diff --git a/433-Electronique_transmission_numerique/Cours/main.tex b/433-Electronique_transmission_numerique/Cours/main.tex index 6283677..55c55bc 100644 --- a/433-Electronique_transmission_numerique/Cours/main.tex +++ b/433-Electronique_transmission_numerique/Cours/main.tex @@ -6,7 +6,7 @@ \teacher{François Sammouth \\ Jean-Pierre Barbeau} \module{UE433} - +\usetikzlibrary{trees} \begin{document} \maketitle