Expérience 7 Communications numériques

Transcription

Expérience 7 Communications numériques
Expérience 7: Communications numériques
Expérience 7
Communications numériques
Introduction
Effectuez les commandes suivantes:
>>
>>
>>
>>
>>
xhost nat
rlogin nat
setenv DISPLAY machine:0
setenv MATLABPATH /gel/usr/telecom/comm_tbx
matlab
Procédures
Procédez a l’initialisation de l’expérience 7:
>> start
A. Introduction
A.1 Du signal analogique à la transformation en signal codé dans le canal
GEL-10280 Théorie des communications
1
Expérience 7: Communications numériques
Le diagramme en bloc de la figure précédente montre comment un signal analogique est transformé, premièrement, en un signal numérique, puis dans une forme compatible avec le canal de
transmission. Les fonctions principales sont le convertisseur analogique/numérique (A/D) et le
transmetteur, représenté par les fonctions MATLAB a2d et tx.
A.2 De la sortie du canal de transmission à la transformation en signal analogique
Le schéma ci-haut indique comment la sortie du canal est traitée par le récepteur pour retrouver
la séquence binaire transmise. La séquence binaire estimée est convertie par la suite en un signal
analogique. Les deux blocs principaux sont le récepteur et le convertisseur numérique/analogique
(D/A) représenté par les fonctions MATLAB rx et d2a.
Remarques
•
Les fonctions MATLAB a2d, d2a, tx et rx ont été conçues pour simplifier et pour automatiser la
tâche de chaque bloc. Utilisez les facilités de l’aide (help) pour obtenir de plus amples informations.
•
La sortie du transmetteur est envoyée dans le canal de transmission représenté par channel et servira d’entrée au récepteur rx.
•
Selon les caractéristiques du canal, vous aurez à modifier l’instant d’échantillonnage à la sortie
du filtre récepteur. Cette information peut être obtenue à partir du diagramme de l’oeil à la sortie
du filtre. Une des options du récepteur rx est d’afficher le diagramme de l’oeil et de demander à
l’utilisateur le temps d’échantillonnage optimal. Tapez la commande suivante pour apprendre
GEL-10280 Théorie des communications
2
Expérience 7: Communications numériques
comment utiliser cette fonction:
>> help rx
B. Conversion analogique/numérique et numérique/analogique
Considérez le problème de transmettre un message par un canal de données numériques. Si le signal du message est analogique, vous devez premièrement convertir vos données en une représentation numérique équivalente. Dans l’environnement de simulation présent, le signal
analogique prend la forme d’une séquence de données échantillonnées. Cependant, les fonctions
de filtrage et d’échantillonnage montrées dans la figure de la partie A.1 ne sont pas implémantées.
Vous devez vous rappeler des expériences précédentes que le processus de conversion d’un signal
analogique en données binaires est effectué en appliquant quelques (ou toutes) les fonctions
MATLAB suivantes:
•
•
•
•
•
compression µ-law - mu_law (optionnel);
quantification uniforme - quantize;
codage binaire naturel de source - bin_enc;
codage de gray de source - bin2gray (optionnel);
conversion parallèle-série - par2ser.
La fonction MATLAB a2d contient toutes les fonctions précédentes et traite le signal d’entrée
analogique pour le rendre conforme aux différents paramètres spécifiés par l’usager.
Réciproquement, les données binaires à la sortie du récepteur doivent être convertie sous forme
analogique. La fonction MATLAB d2a représente le processus de conversion numérique/analogique (D/A), obtenu en appliquant les fonctions suivantes sur les données binaires:
•
•
•
•
conversion série-parallèle - ser2par;
décodage de gray de source - gray2bin (optionnel);
décodage binaire naturel de source - bin_dec;
décompression µ-law - mu_inv (optionnel).
Pour tester que les fonctions a2d et d2a sont des fonctions complémentaires l’une de l’autre, générez 100 échantillons d’un signal typique de parole:
>> s = speech(100);
>> s_binary = a2d(s, 6);
>> s_analog = d2a(s_binary, 6);
Vérifiez que s_binary est en fait la séquence binaire en affichant les quelques premiers éléments:
>> s_binary(1:10)
Maintenant, comparez le signal du message représenté par la matrice de données s et la sortie de
la conversion analogique-numérique-analogique (A/D-D/A), s_analog:
>> subplot(211), waveplot(s)
>> subplot(212), waveplot(s_analog)
Q7.1 Est-ce que le processus de conversion d’un signal analogique en numérique
puis remis sous sa forme analogique introduit des distorsions? Si votre réponse
est positive, énumérez clairement les différents types de distorsion impliquée
dans un système avec conversion analogique-numérique-analogique et expliquez quels paramètres ont un effet direct sur la minimisation de la distorsion.
GEL-10280 Théorie des communications
3
Expérience 7: Communications numériques
C. Encodage différentiel
C.1 Générez 100 échantillons d’une sinusoïde, convertissez-les dans le domaine numérique et préparez les données binaires résultantes pour une transmission par un canal de communication en bande de base en utilisant un code de manchester:
>> x = sin (2*pi*400*[1:100]/SAMPLING_FREQ);
>> x_pcm = a2d(x, 6);
>> xw = tx(x_pcm, ‘manchester’, ‘no_diff’, 1000);
La fonction MATLAB tx représente le bloc de transmission comme décrit dans la partie A.1. Les
deux derniers paramètres de la fonction de transmission indique qu’une transmission non-différentielle à un taux binaire de 1 kbps sera effectuée. Transmettez xw par un canal de transmission
inversé (inverting) de bande passante de 19000 Hz avec une puissance de bruit de 0.01 W:
>> y = -channel(xw, 1, 0.01, 19000);
Décodez la sortie du canal avec un filtre adapté suivi d’une détection et d’une conversion numérique/analogique. Comparez les signaux x et x_analog:
>>
>>
>>
>>
x_digital = rx(y, ‘manchester’);
x_analog = d2a(x_digital, 6);
subplot(211), waveplot(x)
subplot(212), waveplot(x_analog)
C.2 Faites la séquence d’instructions suivantes qui l’utilisent un encodage différentiel. Modifiez les
paramètres d’entrée pour tx et rx comme montrés:
>>
>>
>>
>>
>>
>>
u = tx(x_pcm, ‘manchester’, ‘diff’, 1000);
z = -channel(u, 1, 0.01, 19000);
u_digital = rx(z, ‘manchester’, ‘diff’);
u_analog = d2a(u_digital, 6);
subplot(211), waveplot(x)
subplot(212), waveplot(u_analog)
Comparez les signaux x, x_analog et u_analog.
Q7.2 Discutez pour quel type de signal (analogique ou numérique) il est plus important d’être protégé contre les déphasage de 180 degrés.
D. Communication en bande de base
D.1 Générez 1000 échantillons binaires pour évaluez le taux d’erreur binaire (BER, Binary Error
Rate) pour des signaux codés en NRZ unipolaire (unipolar_nrz) et Manchester (manchester) avec
un taux binaire Rb=1 kbps pour un canal de communication en bande de base.
>>
>>
>>
>>
b = binary(1000);
Rb = 1000;
u = tx(b, ‘unipolar_nrz’, Rb);
m = tx(b, ‘manchester’, Rb);
Considérez un canal de communication à bande étroite avec:
•
•
•
gain du canal = 0 dB;
puissance du bruit du canal1, σn2=1;
largeur de bande du canal = 19 kHz;
1. No et σn2 sont reliés comme suit: No = σn2/20000 (voir Expérience 4).
GEL-10280 Théorie des communications
4
Expérience 7: Communications numériques
Générez la sortie de ce canal et la séquence binaire estimée résultante en utilisant la fonction
MATLAB rx:
>> ch_output = channel(A*ch_input, 1, 1, 19000);
>> rx(ch_output, ‘linecode’, b);
où ch_input est soit le signal u en NRZ polaire ou le signal m en Manchester. La valeur de A
dans la ligne de commande ci-dessus change l’amplitude du signal et du même coup, la valeur de
la puissance transmise en terme de Eb. Calculez le BER pour les différentes valeurs de A du tableau suivant:
A
(volts)
NRZ unipolaire
Eb/No
Pe
Manchester
Eb/No
Pe
0.2
0.3
0.4
0.5
0.6
0.7
Comparez les valeurs Pe empiriques ci-dessus avec celles théoriques déterminées avec les données suivantes et affichez-les dans un même graphique.
Q7.3 Considérez les formats de signalisation binaire NRZ unipolaire et Manchester.
Considérons que la DSP est Sn(f) = No/2.
a. Déterminez l’énergie par intervalle de bit Eb pour les deux formats de signalisation comme une fonction de l’amplitude du signal A et de la période binaire Tb.
b. Déterminez le taux d’erreur binaire Pe avec un filtre adapté pour faire la
détection pour les deux formats de signalisation comme une fonction de
Eb et No.
Déterminez ensuite le taux d’erreur binaire Pe pour une détection cohérente
d’une modulation numérique ASK et PSK comme une fonction de Eb et No.
D.2 Considérez le canal de communications en bande de base suivant:
>> ch_output = channel(ch_input, 1, 2, 19000);
Déterminez No correspondant à σn2=2 et Rb = 1 kbps. Si l’entrée du canal est u, déterminez,
avec la question ci-dessus, la puissance de transmission nécessaire en terme de Eb pour obtenir
Pe<10-2. Pour cette valeur calculée de puissance de transmission, déterminez empiriquement le
BER avec le signal u. Répétez pour le signal m encodé avec Manchester.
GEL-10280 Théorie des communications
5
Expérience 7: Communications numériques
E. Communication en bande passante
E.1 Générez 100 échantillons d’un signal vocal:
>> s = speech(100);
Votre tâche consiste à préparer la représentation binaire de s pour la transmission par un canal de
transmission dans une bande de fréquence. Les paramètres du transmetteur et du canal de propagation sont:
•
•
•
•
Conversion analogique-numérique - a2d: 8 bits, quantification de loi µ.
Transmission - tx: modulation numérique de type PSK, taux binaire Rb = 100 kbps.
Canal - channel: gain du canal 0 dB, puissance du bruit 1W,
bande utilisable: 600 kHz à 1400 kHz.
Taux d’erreur binaire: Pe = 10-2.
La relation entrée-sortie du canal est donnée par:
>> out = channel(A*in, 1, 1, [60000, 1400000]);
où No = σn2/(20Rb) avec σn2 = 1, et A est l’amplitude du signal. Calculez le rapport signal à
bruit (SNR), Eb/No, pour satisfaire le critère du BER. Déterminez la puissance du transmetteur,
le bruit du canal et la fréquence de la porteuse. Déterminez empiriquement le taux d’erreur binaire et comparez avec la valeur théorique. Convertissez la sortie du récepteur (fonction MATLAB
rx) dans sa forme analogique en utilisant la fonction d2a et en comparant le signal vocal original
s avec celui reconstruit.
Eb
No
fc
Pe
Q7.4 Est-ce que le BER obtenu exprimentalement diffère de celui calculé théoriquement? Si une grande différence existe entre les deux, expliquez cet écart.
GEL-10280 Théorie des communications
6