Upload
salah-eddine
View
65
Download
1
Embed Size (px)
Citation preview
Travaux Pratiques I : Quantification & Codage
Exercice 1 :
A/ Codifier la fonction y = c_midriser(N,x) déterminant la sortie d’un quantificateur uniforme de N bits et de marge dynamique entre -1 et 1 quand à l’entrée du quantificateur se trouve le vecteur des échantillons x.
* Code principal:
B / Codifier la fonction x_rec = d_midriser(N,y) déterminant la sortie d’un déquantificateur midriser uniforme de N bits et marge entre -1 et 1, quand-t- à l’entrée du déquantificateur se trouve un vecteur binaire où chaque N échantillons représente une valeur à reconstruire.Commandes :
function x_rec = d_midriser(N,y) x_bin = ser2par(y,N) x_rec = bin_dec(x_bin)end
function[y]=c_midriser(x,N) z =sin(x)
q=quantification(z,N)Xpcm=bin_enc(q,N)y=par2ser(Xpcm)
end
function [Y]=quantification(x,N)d=2/(2^N)vect=[(-1+d/2):d:(1-d/2)]
for i=1:length(x) [val,ind]= min(dist(x(i),vect)) Y(i)=vect(ind)
end
C/ La reconstruction pour N=3:
Visualisation du signal d’entrée choisi comme sinusoïde ; son signal quantifié et l’erreur de quantification :
0 200 400 600 800 1000 1200-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Signal d'entrée
Erreur de quantification
Signal quantifié
Remarque :
On remarque que le signal quantifié sur 3 bits a introduit un taux d’erreur remarquable.
x=[0:0.01:10]s = sin(x)y= c_midriser(x,3);x_rec = d_midriser(3,y);hold onplot(s)plot(x_rec,'r')err =s-x_recplot(err,'g') %l'erreur de quantification
Exercice 2 :
A / Codification de la fonction x=Sinus2(M,A,f0) générant un vecteur x qui contient M échantillons d’une sinusoïde d’amplitude A et de fréquence f0.
Pour 100 échantillons d’une sinusoïde de fréquence f0=0.03 et d’amplitude A=1, on aura:
0 10 20 30 40 50 60 70 80 90 100-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
signal sinusoidal
La sortie du quantificateur déquantificateur, La sinusoïde et le bruit de quantification pour
N = 3 et N = 8.
function x =Sinus2(M,A,f0)y = -30:60/(M-1):30;x=A*sin(2*pi*f0*y);plot(x)end
0 10 20 30 40 50 60 70 80 90 100-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
signal quantifié
Sinus2Erreur de quantification
pour N=3
Erreur de quantificationpour N=8
Remarques : Pour N=3 La différence entre le signal initial et celui reçu est
considérable et de l’ordre de 0.1. Pour N=8 La différence entre le signal émis à l'entrée du quantificateur
x et le signal reçu x_rec est négligeable et tend vers 0.
Conclusion : Plus on augmente le nombre de bits pour la quantification, plus l’erreur
de quantification et la dispersion du signal diminue ce qui est prouvé par N=8.
Exercice 3 :
A/ Calcul de la puissance du bruit de quantification théorique et expérimentale en dB pour des valeurs de N allant de 1 à 10 d’un signal sinusoïdal échantillonné (M = 1000).
Visualisation des deux puissances de bruit théorique et expérimentale :
1 2 3 4 5 6 7 8 9 10-70
-60
-50
-40
-30
-20
-10
0Puissance en dB
puissance expérimentale
puissance théorique
Remarque : On remarque que la valeur de la puissance expérimentale du bruit converge
avec celle théorique dans le sens des n élevés donc on doit choisir n assez grand pour avoir des pertes minimes au niveau du canal.
On remarque que les deux courbes sont superposées à partir des valeurs supérieures à 8.
function[puis,puis_theorique]= puissance(M,A,f0) x= Sinus2(M,A,f0)
for N= 1:10y=c_midriser(x,N);x_rec=d_midriser(N,y);b=x-x_rec;∆=2^(1-N)puis(N)= sum((abs(b)).^2)/length(x)puis_theorique(N)= (∆^2)/12
end ;puisdB= 10*log10(puis) ;puis_theoriquedB=10*log10(puis_theorique) ;hold on
plot(puisdB);plot(puis_theoriquedB);
Canal BinaireQuantificateur
Déquantificateur
xser yb yx
Conclusion : Afin de rendre la transmission du train de bits plus fidèle et performante on a intérêt à augmenter le nombre de bits de quantification.
Exercice 4 :
Signal
de sortie
function [moyenne ,y]=canalbinaire(N,Pe)x = sinus2(100,1,0.03)xser = c_midriser(x,N);yb = chan_bin(xser,Pe);y = d_midriser(N,yb);
hold on;plot(x), title('Canal binaire avec probabilité d’’erreur');plot(y);
moyenne= 0;err = (x-y);
for i = 1:10 moyenne = moyenne+sum((abs(err)).^2)/length(err);end;
moyenne = moyenne/10;puissance= sum((abs(err)).^2)/length(err);
Signald’entrée
On a exécuté la fonction canalbinaire(3,0.001), d’où la puissance du bruit en dB vaut -22.1237 dB Et la puissance du bruit de quantification de l’exercice précédent est -22.0761dB Remarque : On remarque que la puissance du bruit du canal binaire avec probabilité d’erreur de transmission (0.001) est plus grande que celle du canal de l’exercice3 qui est parfait et sans perturbation de transmission qui introduit du bruit.
Visualisation du signal d’entrée x et de sortie y d’un canal binaire :
0 10 20 30 40 50 60 70 80 90 100-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1Canal binaire avec probabilité d'erreur
Signal de sortie
Signal d'entrée
Bits eronnés
Remarque : En visualisant le signal de sortie d’un canal binaire, on aperçoit l’apparition des piques, ce sont des symboles erronés qui reflètent des pertes au niveau de la puissance ;ces pertes sont plus importantes si la probabilité d’erreur de canal augmente.
Exercice 5 :
function[]= puissancebruit(N)x = sinus2(100,1,0.03);xser = c_midriser(x,n);Pe = [1E-1 1E-2 1E-3 1E-4 1E-5 1E-6]
for i=1:6 for j=1:10 yb = chan_bin(xser,Pe(i)); x_rec = d_midriser(n,yb); err = (x-x_rec); p(j) = sum((abs(err)).^2)/length(x) end; puismoy(i)=sum(p)/10;end;
plot(puismoy),title('Puissance de bruit en fonction de Pe');
Visualisation de la puissance du bruit en fonction de la probabilité d’erreur Pe pour N=3 , N=8
1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 60
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18Puissance de bruit en fonction de Pe
puissance de bruit pour N=3
puissance de bruit pour N=8
Remarques :
On fixe le nombre de bits de quantification N, on constate que la puissance du bruit du canal
diminue pour des probabilités d’erreur décroissantes. On remarque que la puissance de bruit pour N=3 est plus grande que celle de
N=8 pour des probabilités d’erreur supérieure à 1E-2
Conclusion :
Pour clore, on s’aperçoit que Le choix du nombre de niveaux de décision de la quantification influence la sensibilité du signal au bruit.Donc pour réduire les pertes on minimise les probabilités d’erreur du canal et on maximise le nombre de niveau de décision.