efrei/communications-numeriques/tp/main.tex

295 lines
12 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\documentclass[a4paper,french,12pt]{article}
\title{Communications Numériques --- TP}
\author{Adam BELGHITH --- Tunui FRANKEN}
\date{Dernière compilation~: \today{} à \currenttime}
\usepackage{styles}
\usepackage{float}
\begin{document}
\maketitle
\clearpage
\tableofcontents
\clearpage
\setcounter{section}{2}
\section{Transmission en bande de base, codage de voix}
\setcounter{subsection}{1}
\subsection{Signal codé à identifier}
\begin{center}
\includegraphics[width=0.6\linewidth]{./img/chronogramme_nrz.png}
\end{center}
\emph{Étudier le chronogramme et déterminer~:}
\begin{enumerate}
\item \emph{Le type de codage}
Le codage utilisé est un codage NRZ\@.
À chaque valeur que prend le chronogramme correspond une valeur issue du tableau de codage.
\item \emph{La valence}
Pour cette partie, nous avons défini la valence à 8.
Il y a donc 8 valeurs binaires possibles.
\item \emph{Le débit symbole (débit brut)}
Le diagramme affiche 12 symboles sur une période de 1 ms, ce qui correspond à un débit symbole de 12000 symboles/s (12kbauds).
\item \emph{Comparer le spectre obtenu et le spectre théorique.}
\begin{center}
\includegraphics[width=\linewidth]{./img/spectre_nrz_theorique.png}
\includegraphics[width=0.49\linewidth]{./img/spectre_nrz.png}
\includegraphics[width=0.49\linewidth]{./img/spectre_nrz_log.png}
\end{center}
Le spectre obtenu ressemble bien au spectre théorique~: c'est un sinus cardinal.
L'échelle logarithmique montre plus clairement les retours à 0 tous les $nf=12000$.
\end{enumerate}
\subsection{Signal RZ}
\emph{%
Afin de créer un signal RZ il faut modifier le code du script \texttt{codage\_enligne.m}~:
\begin{itemize}
\item La variable \texttt{typecodage} doit être mise à RZ
\item La valence M = 2
\item Le formant g0T doit être modifié en remplaçant valeur à modifier par la valeur adéquate.
La tension +V est déterminée dans le script et vaut 1.
\end{itemize}
}
\emph{%
Exécuter \texttt{codage\_enligne.m} et observer le chronogramme et le spectre.
Deux spectres sont tracés~: lun avec une échelle linéaire et lautre avec une échelle logarithmique.
}
\begin{center}
\includegraphics[width=0.49\linewidth]{./img/spectre_rz.png}
\includegraphics[width=0.49\linewidth]{./img/spectre_rz_log.png}
\includegraphics[width=0.49\linewidth]{./img/chronogramme_rz.png}
\end{center}
\begin{enumerate}
\item \emph{Lequel des deux est le plus adapté~?}
L'échelle logarithmique est la plus adaptée, en effet l'échelle linéaire n'affiche aucune valeur exploitable.
\item \emph{Quel avantage présente le code RZ~?}
Le code RZ présente l'avantage de restituer son horloge, au détriment d'une bande passante 2 fois plus large que le NRZ\@.
\end{enumerate}
\subsection{Code bi-phasé}
\emph{Il faut, ici encore, modifier le script \texttt{codage\_enligne.m} pour tracer le code bi-phasé.}
\begin{enumerate}
\item \emph{Effectuer les modifications nécessaires.}
\item \emph{Observer et commenter le spectre du signal codé.}
\begin{center}
\includegraphics[width=0.49\linewidth]{./img/spectre_biphase.png}
\includegraphics[width=0.49\linewidth]{./img/spectre_biphase_log.png}
\end{center}
L'occupation spectrale est plus élevée.
Sur l'échelle logarithmique, nous voyons les retours à zéro deux foix moins fréquents que pour le code NRZ\@.
\item \emph{En observant le chronogramme quel avantage possède le code bi-phasé~?}
\begin{center}
\includegraphics[width=0.8\linewidth]{./img/chronogramme_biphase.png}
\end{center}
Le chronogramme montre une tension moyenne à 0.
Il y a autant de valeurs pour chaque pôle.
On peut aussi noter que ce code restitue l'horloge.
\end{enumerate}
\subsection{Transmission sur un canal bruité et décodage}
\emph{%
Exécuter le script \texttt{FINAL} qui permet de générer le signal codé, le bruit, modélisation du canal et transmission et enfin le décodage.
Le signal réceptionné et décodé est le vecteur \texttt{ae}.
Attribuer les valeurs aux variables~: Nfreq = 1, typecode = Aidentifier du script \texttt{codage\_enligne.m}.
Exécuter \texttt{FINAL} pour $M = 8$ puis $M = 2$ et~:
}
\begin{itemize}
\item \emph{Relever la valeur pour chacun des deux cas de Peb et de Pes respectivement la probabilité derreur binaire et la probabilité derreur par symbole.}
\item \emph{Comparer ces valeurs suivant la valeur de M.}
\end{itemize}
\emph{Vérifier que la suite de symboles reconstruite est la même que celle émise par la source.}
$M=8$~:
\includegraphics[width=0.3\linewidth]{./img/prob_err_m8.png}
\hfill
$M=2$~:
\includegraphics[width=0.35\linewidth]{./img/prob_err_m2.png}
La probabilité d'erreur est largement supérieure pour $M=8$.
Étant donné que $\mathrm{Peb} = \frac{\mathrm{Pes}}{\log_2(M)}$, pour $M=8$ nous avons bien $\mathrm{Pes}=\mathrm{Peb}\times 3$.
La différence entre $M=8$ et $M=2$ est cohérente car comme le montrent les deux figures qui suivent, les valeurs de seuil qui déterminent chaque valeur de symbole sont plus rapprochées avec $M=8$, donc plus sujettes à être franchies à cause du bruit.
\begin{center}
\includegraphics[width=0.49\linewidth]{./img/nrz_m2.png}
\includegraphics[width=0.49\linewidth]{./img/nrz_m8.png}
\end{center}
\section{Transmission en bande transposée, modulation numérique}
\subsection{Modulation QAM}
\emph{Lexpression dun signal modulé QAM est~:}
\begin{equation*}
s(t) = I(t)\cdot\cos(\omega_0 t) - Q(t)\cdot\sin(\omega_0 t) = \mathrm{Re}((I(t) + \mathrm{jQ}(t))\cdot e^{j\omega_0 t}).
\end{equation*}
\emph{%
$I(t)$ peut prendre $M_I$ valeurs et $Q(t)$ peut prendre $M_Q$ valeurs.
La valence de la modulation QAM est $M = M_I M_Q$.
}
\subsubsection{Création du signal modulé sous MATLAB}
\emph{%
La fonction \texttt{qammodHF} permet de créer le vecteur \texttt{s\_0\_NT} représentant le signal modulé pour une séquence binaire à transmettre.
}
\emph{%
La fonction \texttt{randi} permet de créer une séquence dentiers aléatoires.
Elle permettra de créer la séquence binaire à moduler.
}
\emph{%
Dans cette partie les variables sont~: fréquence porteuse $f_0 = 20\mathrm{kHz}, R = 1\mathrm{kHz}, M = 32$ et la fréquence déchantillonnage $f_{esimul} = 1\mathrm{MHz}$.
}
\begin{enumerate}
\item \emph{Compléter le script \texttt{signal\_qam.m} permettant de calculer le modulé et de le tracer en fonction du temps.}
\begin{center}
\includegraphics[width=0.6\linewidth]{./img/signal_qam.png}
\end{center}
\item \emph{Combien de bits codent chaque symbole~?}
Cinq bits sont nécessaires pour coder chaque symbole.
En effet, $32=2^5$.
Chaque symbole nécessite donc $\log_2(32) = 5$ bits.
\item \emph{Combien de période $T_0$ de la porteuse il y a par durée de symbole~?}
$\frac{f_0}{R} = \frac{20000}{1000} = 20$.
Il y a donc 20 périodes $T_0$ de la porteuse par symbole.
\item \emph{Quelle est la taille du vecteur temps de simulation~: \texttt{t\_0\_NT}~?
Quelle est donc la durée de la transmission nT~?}
En utilisant \texttt{length(t\_0\_NT)}, on trouve la taille du vecteur à 50000 éléments.
Ces 50000 éléments se comptent en kHz, ce qui nous donne une durée de transmission de 50ms.
\item \emph{Combien de symboles sont transmis pendant la dure de transmission nT~?}
50 symboles sont transmis~: $\frac{50000}{1000} = 50 = N$.
\end{enumerate}
\subsubsection{Constellation bruitée}
\emph{%
Le script constellation bruit permet dobserver la constellation bruitée dune modulation QAM\@.
Ici la valence sera $M = 4$.
Ce script fait appel à différentes fonctions~:
}
\begin{itemize}
\item \emph{\texttt{qcod} qui permet décrire un signal complexe $e^{j\theta}$ sous la forme $X + jY$ et de module unitaire}
\item \emph{\texttt{canal\_awgn} qui modélise le canal}
\item \emph{\texttt{demodHF} dont la sortie est l'amplitude du signal \texttt{s\_0\_NT} en complexe~: \texttt{y\_1\_N}.}
\end{itemize}
\emph{Exécuter le script \texttt{constellation\_bruit} et observer la constellation de la modulation QAM\@.}
\begin{center}
\includegraphics[width=0.6\linewidth]{./img/constellation_bruitee.png}
\end{center}
On observe le décalage de phase pour chaque symbole, ainsi que l'influence du bruit qui rend les tâches plus larges.
Toutefois, le bruit est trop faible pour générer de l'erreur.
\subsection{Modulation PSK}
\subsubsection{Création du signal modulé sous MATLAB}
\emph{%
Dans cette partie les variables sont~: fréquence porteuse $f_0 = 20\mathrm{kHz}, R = 1\mathrm{kHz}, M = 4, 8$ et la fréquence déchantillonnage $f_{esimul} = 1\mathrm{MHz}$.
}
\emph{%
La fonction \texttt{pskmodHF} utilise la fonction \texttt{pcod} qui permet décrire un nombre complexe $e^{j\theta}$ sous la forme $X+jY$ de module unitaire.
Ainsi $X+jY = e^{j\theta}$.
Pour une modulation PSK le signal modulé est $s(t) = \cos(\omega_0 t + \phi) = e^{j\omega_0 t}\cdot e^{j\phi}$$\phi$ sont les valeurs de la modulation.
}
\begin{enumerate}
\item \emph{Compléter le script \texttt{signal\_psk} qui permettra de créer et représenter le signal modulé PSK\@.}
\item \emph{Observer le signal modulé en fonction du temps.}
\end{enumerate}
\begin{multicols}{2}
Pour $M=4$~: \\\\
\includegraphics[width=\linewidth]{./img/psk_m4.png}
Pour $M=8$~: \\\\
\includegraphics[width=\linewidth]{./img/psk_m8.png}
\end{multicols}
On observe bien le changement de phase du signal temporel lorsque le symbole change.
\subsubsection{Constellation bruitée}
\emph{%
Afin dobserver la constellation de la modulation PSK, modifier le script \texttt{constellation\_bruit}.
Observer la constellation pour quelques valeurs de M.
}
\begin{multicols}{3}
Pour $M=4$~: \\\\
\includegraphics[width=\linewidth]{./img/constellation_bruitee_m4.png}
Pour $M=8$~: \\\\
\includegraphics[width=\linewidth]{./img/constellation_bruitee_m8.png}
Pour $M=16$~: \\\\
\includegraphics[width=\linewidth]{./img/constellation_bruitee_m16.png}
\end{multicols}
On remarque qu'avec $M=16$, le bruit est trop puissant et ne permet plus de distinguer clairement où sont les zones associées à chaque symbole.
La probabilité d'erreur est très grande.
Avec quelques points de $M=8$, la probabilité de d'erreur est faible.
Avec $M=4$, la probabilité d'erreur est quasi nulle
\end{document}