Compte Rendu Tp1 CN Word
Compte Rendu Tp1 CN Word
Compte Rendu Tp1 CN Word
Le but du TP: est de comprendre les notions d'échantillonnage et de quantification en les im-
plémentant, et d'étudier les divers phénomènes qui leur sont liés. Nous verrons le cas le plus
simple de quantification d'un simple. d'un simple signal sinusoïdal a diverses fréquences afin
de mettre en évidence le phénomène d'aliasing. Nous étudierons aussi l'écrêtage (phénomène
qui survient lorsque l'amplitude du signal d'entrée est trop élevée) ainsi que l'influence du
nombre de bits de codage sur le bruit de quantification.
Réalisé par :
MOUSLI ABDERRAHMANE
AKROUR LYES
DJIDEL ASMAA
Enseignant de TP :
Mr DEMRI
Un signal sinusoïdal défini : s(t) = A*sin( 2*pi*f0*t) , avec: A=1V et f0=1000 hz.
En exécutant le programme on obtient la figure suivante représentant les trois signaux tracés
sur le même graphe pour déférentes Fe:
On constate que :Le signal "s3" est le plus juste car il respecte la lois de Shannon qui dit que la
fréquence d'échantillonnage doit être strictement supérieure à deux fois la plus grande fré-
quence Fe> 2fmax=2f0.
Formule générale
générale : n=Fe/F0
Signal s1
s1 : n1=Fe1/F0=1500/1000=1.5 donc 1 échantillon.
Signal s2
s2 : n2=Fe2/F0=2000/1000=2 échantillons.
Signal s3
s3 : n3=Fe3/F0=3000/1000=3 échantillons.
Interprétation des valeurs :
Pour Fe1=1500hz<2*Fmax on a un seul échantillon et le Signal est mal échantillonné donc Pour
éviter l'apparition de ces fréquences de repliement, il faut respecter le principe du théorème de
Shannon disant qu'il faut au moins 2 échantillons pour décrire un signal sinusoïdal ou
Fe>2*Fmax comme le cas du signal s3
Le signal semble nul pour Fe2 car la fonction sin est nul pour Te2 :
S2(t2) =sin(2Pi*1000*(1/2000))=sin(pi)=0
on a : Fe4 = 100000 Hz
Le programme :
clear all ;close all
F0=1000, T0=1/F0
A=1
Fe1=1500, Te1=1/Fe1
t1=0:Te1:1
s1=A*sin(2*pi*F0*t1)
Fe2=2000, Te2=1/Fe2
t2=0:Te2:1
s2=A*sin(2*pi*F0*t2)
Fe3=3000, Te3=1/Fe3
t3=0:Te3:1
s3=A*sin(2*pi*F0*t3)
Fe4=100000 , Te4=1/Fe4
t4=0:Te4:1
s4=A*sin(2*pi*F0*t4)
Dans le même graphe précédent la 4eme version est représentée dans la figure sui-
vante (couleur jaune)
La période: D’après la figure le signal en jaune correspond à ce signal (s4) ayant une
période: T4=1ms.
Le nombre d’échantillons:
on a : Signal s4: Fe4/ f0= 100échantillon.
On remarque que :
Fe4>Fe3>Fe2>Fe1 echan4>echan3>echan2>echan1
On constate que
F0=1000
T0=1/F0
A=1
Fe1=1500
Te1=1/Fe1
t1=0:Te1:1
s1=A*sin(2*pi*F0*t1) %signal associé a la frequence F1
Fe2=2000, Te2=1/Fe2
t2=0:Te2:1
s2=A*sin(2*pi*F0*t2) %signal associé a la frequence F2
Fe3=3000, Te3=1/Fe3
t3=0:Te3:1
s3=A*sin(2*pi*F0*t3)%signal associé a la frequence F3
Fe4=100000, Te4=1/Fe4
t4=0:Te4:1
s4=A*sin(2*pi*F0*t4) %signal associé a la frequence F4
%spectre du signal s1
L1=length(s1) % longueur du signal s1
NFFT1 =2^nextpow2(L1)
Y1=fft(s1,NFFT1)/L1;
f1=Fe1/2*linspace(0,1,NFFT1/2+1);
%spectre du signal s2
L2=length(s1) % longueur du signal s2
NFFT2 =2^nextpow2(L2)
Y2=fft(s2,NFFT2)/L2;
f2=Fe2/2*linspace(0,1,NFFT2/2+1);
%spectre du signal s3
L3=length(s3) % longueur du signal s3
NFFT3=2^nextpow2(L3)
Y3=fft(s3,NFFT3)/L3;
f3=Fe3/2*linspace(0,1NFFT3/2+1);
%spectre du signal s4
L4=length(s4) % longueur du signal s4
NFFT4 =2^nextpow2(L4)
Y4=fft(s4,NFFT4)/L4;
f4=Fe4/2*linspace(0,1,NFFT4/2+1);
%les figures
subplot(2,2,1),plot(f1,abs(Y1(1:NFFT1/2+1)))
xlabel('frequency[hz]');ylabel('Y1')
subplot(2,2,3),plot(f2,abs(Y2(1:NFFT2/2+1)))
xlabel('frequency[hz]');ylabel('Y2')
subplot(2,2,2),plot(f3,abs(Y3(1:NFFT3/2+1)))
xlabel('frequency[hz]');ylabel('Y3')
subplot(2,2,4),plot(f4,abs(Y4(1:NFFT4/2+1)))
xlabel('frequency[hz]');ylabel('Y4')
En exécutant le programme: on aura :
On constate que : le troisième signal est le plus juste car sa raie est a 1000hz=f0
II-4-correction du problème :
Pour corriger le problème on a utilisé les fonctions min et max afin de simuler l’écrêtage du
signal :
Fe4=100000
Te4=1/Fe4
t4=0:Te4:1
s4=A*sin(2*pi*F0*t4)
n1=8
q=2/n1
S4q=floor(s4/q)*q
S4q=min(S4q,1-q)
S4q=max(S4q,-1)
plot(t4,s4,t4,S4q)
On remarque que c’est le meme signal quantifié malgrés la doublure de l’amplitude du signal original
F0=1000, T0=1/F0
A=1
Fe4=100000, Te4=1/Fe4
t4=0:Te4:1
s4=A*sin(2*pi*F0*t4)
n1=8, q=2/n1
S4q2=floor(s4/q)*q+q/2;
S4q2=min(S4q2,1-q/2);
S4q2=max(S4q2,-1+q/2);
plot(t4,s4,t4,S4q2)
xlim([0,2*T0])
le graphe représentant le signal quantifié avec l’original :
Comparaison avec le signal de la question 3 3 : Par comparaison du signal obtenue avec
celui de la question 3 on remarque que la différence est au niveau de Vmin et Vmax de si-
gnal quantifié .
SNR = 19.0401
n2=16
q=2/n2
F0=1000
T0=1/F0
A=1
Fe4=100000
Te4=1/Fe4
t4=0:Te4:1
s4=A*sin(2*pi*F0*t4)
S4q2=floor(s4/q)*q+q/2;
S4q2=min(S4q2,1-q/2);
S4q2=max(S4q2,-1+q/2);
plot(t4,s4,t4,S4q2)
xlim([0,2*T0])
Figure10 :signal quantifié centrée 16 états avec le signal original
Comparaison :
Ce signal avec le signal de la question 7: Vmax et Vmin du signal s(t) sont identiques
Ce signal avec le signal de la question 3 : Vmax et Vmin du signal s(t) sont différents
Conclusion:
Si n (nombre d’état) augmente ,le SNR augmente et le bruit diminue donc il y’a une rela-
tion de corrélation directe entre le SNR et le Nombre d’état
PARTIE III:codage
Fe1=1500, Te1=1/Fe1
t1=0:Te1:1
F0=1000, T0=1/F0
A=1
s1=A*sin(2*pi*F0*t1) %signal associé a la frequence F1
Fe2=2000
Te2=1/Fe2
t2=0:Te2:1
s2=A*sin(2*pi*F0*t2) %signal associé a la frequence F2
Fe3=3000
Te3=1/Fe3
t3=0:Te3:1
s3=A*sin(2*pi*F0*t3)%signal associé a la frequence F3
partition=[-1:.2:1]
codebook=[-1.2:.2:1]
[index,quants]=quantiz(s1,partition,codebook)
plot(t1,s1,t1,quants),xlim([0,2*T0])
Figure12 :signal s1 codé