Vous êtes sur la page 1sur 13

Université Blida 1/Département d’électronique/master1 ST

 Djellout manel
 Anabi nadjet
 Groupe : 01

TP N°03 :

Densité spectrale de puissance et filtrage des signaux


aléatoire

But de TP :

Le but de ce TP est d’analyser des estimateurs de la fonction


de corrélation et de la densité spectrale de puissance (DPS).

Partie 1 :

Corrélations des signaux déterministes

y(n)=(2 -1 0 1 4) pour n=0,1,2,3,4

x(n)=(-3 1 2 -1 0 1 1) pour n=0,1 .. 6

1) Calculer Rxx  par corrélation et par convolution 

y=[2 -1 0 1 4];
x=[-3 1 2 -1 0 1 1];
[Rxx,lags]=xcorr(x,x);
subplot(2,1,1)
plot(lags,Rxx)
grid;
x1=fliplr(x)
r=conv(x,x1)
subplot(2,1,2)
plot(lags,r)
grid;

20

10

-10
-6 -4 -2 0 2 4 6

20

10

-10
-6 -4 -2 0 2 4 6

Les 2 résultats sont les mêmes. Les 2 méthodes donnent le même résultat.

2) Calculer Rxy par corrélation et par convolution 

y=[2 -1 0 1 4 0 0];
x=[-3 1 2 -1 0 1 1];
[Rxy,lags]=xcorr(x,y);
subplot(2,1,1)
plot(lags,Rxy)
grid;
r=conv(x,fliplr(y));
subplot(2,1,2)
plot(lags,r)
grid;
10

-5

-10

-15
-6 -4 -2 0 2 4 6

10

-5

-10

-15
-6 -4 -2 0 2 4 6

Les 2 résultats sont les mêmes .

3) Calculer et tracer Rxy  et  Ryx  par xcorr:

y=[2 -1 0 1 4 0 0];
x=[-3 1 2 -1 0 1 1];
[Rxy,lags]=xcorr(x,y);
subplot(2,1,1)
plot(lags,Rxy)
grid;
[Ryx,lags]=xcorr(y,x);
subplot(2,1,2)
plot(lags,Ryx)
grid;
10

-5

Les 2 -10
résultats sont identiques. Alors
-15
-6 -4 -2 0 2 4 6

les 2 méthodes donnent le même


10

résultat. 5

-5

4) Calculer -10
Rxx  par FFT :
-15
-6 -4 -2 0 2 4 6
y=[2 -1 0 1 4 0 0];
x=[-3 1 2 -1 0 1 1];
[Rxx,lags]=xcorr(x,x);
subplot(2,1,1)
plot(lags,Rxx)
grid;
y=fft(x,length (Rxx));
c=y.*conj(y);
d=ifft(c, length (Rxx));
h=fftshift (d);
subplot(2,1,2)
plot(lags,h)
grid;

20

10

-10
-6 -4 -2 0 2 4 6

20

10

-10
-6 -4 -2 0 2 4 6

Les deux résultats sont identiques.

Donc les deux méthodes donnent le meme résultat.

5) Calculer Rxy  par fft et ifft:

y=[2 -1 0 1 4 0 0];
x=[-3 1 2 -1 0 1 1];
[Rxy,lags]=xcorr(x,y);
subplot(2,1,1)
plot(lags,Rxy)
grid;
o=fft(x,length (Rxy));
u=fft(y,length (Rxy));
c=o.*conj(u);
d=ifft(c, length (Rxy));
h=fftshift (d);
subplot(2,1,2)
plot(lags,h)
grid;

10

-5

-10

-15
-6 -4 -2 0 2 4 6

10

-5

-10

-15
-6 -4 -2 0 2 4 6

Figure 5 

Les 2 résultats sont les même , alors les 2 méthodes donnent la même résultat

Partie 2 :

Corrélations des signaux aléatoires 

1) Générer N=50 échantillons d’un signal x(n) Gaussien de moyenne nulle et de variance 2
par la fonction  randn de matlab. :

N=50;
x=sqrt(2)*randn(N,1);
[Rx1,lags1]=xcorr(x,x, 'biased');
[Rx2,lags2]=xcorr(x,x, 'unbiased');
subplot(2,1,1);
plot(lags1,Rx1);
grid;
subplot(2,1,2);
plot(lags2,Rx2);
grid;

-1
-50 -40 -30 -20 -10 0 10 20 30 40 50

-2
-50 -40 -30 -20 -10 0 10 20 30 40 50

L’estimateur qui parait satisfaisant est l’estimateur biased, parce que il nous donne le
signal (information) après il diminue jusqu’au 0 donc il est moins couteux en Energie

1.5

0.5

-0.5
-1000 -800 -600 -400 -200 0 200 400 600 800 1000

-1

-2
-1000 -800 -600 -400 -200 0 200 400 600 800 1000

On a augmenté le nombre d’échantillon on a multiplié l’ancien nbr *20


Donc on a ajouté plus de point c’est pour ca qu’il est plus remplie
2) Générer N=100 échantillons du signal 1 à partir du signal x(n) :

a)Représenter  et  Vérifier  a=0

N=100;
a=0;
x=sqrt(2)*randn(N,1);
y(1)=x(1);
for n=2:N;
y(n)= a*y(n-1)+x(n);
end
subplot(2,1,1);
plot(x);
grid;
subplot(2,1,2);
plot(y);
grid;

-2

-4
0 10 20 30 40 50 60 70 80 90 100

-2

-4
0 10 20 30 40 50 60 70 80 90 100

Pour a=0 les deux signaux sont les memes.

b)Calculer  Rxy  par  xcorr  en  utilisant  l’estimateur  biaisé  ‘biased’  pour 0.85 et 0.995. 

N=100;
a=0.85;
x=sqrt(2)*randn(N,1);
y(1)=x(1);
for n=2:N;
y(n)= a*y(n-1)+x(n);
end
[Rxy lags]= xcorr (x,y,'biased');
subplot(2,1,1);
plot(lags,Rxy)
grid;
a=0.995;
x=sqrt(2)*randn(N,1);
y(1)=x(1);
for n=2:N;
y(n)= a*y(n-1)+x(n);
end
[Rxy lags]= xcorr (x,y,'biased');
subplot(2,1,2);
plot(lags,Rxy)
grid;

-1
-100 -80 -60 -40 -20 0 20 40 60 80 100

15

10

-5
-100 -80 -60 -40 -20 0 20 40 60 80 100

N=100;
a=0.85;
x=sqrt(2)*randn(N,1);
y(1)=x(1);
for n=2:N;
y(n)= a*y(n-1)+x(n);
end
[Rxx lags]= xcorr (x,y,'biased');
subplot(2,1,1);
plot(lags,Rxx)
grid;
a=0.995;
x=sqrt(2)*randn(N,1);
y(1)=x(1);
for n=2:N;
y(n)= a*y(n-1)+x(n);
end
[Rxx lags]= xcorr (x,y,'biased');
subplot(2,1,2);
plot(lags,Rxx)
grid;

-1
-100 -80 -60 -40 -20 0 20 40 60 80 100

-2

-4
-100 -80 -60 -40 -20 0 20 40 60 80 100

Les résultats ne sont pas identiques

c) N=1000
2

1.5

0.5

-0.5
-1000 -800 -600 -400 -200 0 200 400 600 800 1000

1.5

0.5

-0.5
-1000 -800 -600 -400 -200 0 200 400 600 800 1000

1.5

0.5

-0.5
-1000 -800 -600 -400 -200 0 200 400 600 800 1000

-1
-1000 -800 -600 -400 -200 0 200 400 600 800 1000

Remarque :
que dans Rxx en modifiant le a rien ne change parce que
Mais dans Rxy en modifiant le a le signal change
3) Soit signal  y(n)=x(n-D)  à partir du signal x(n) précédent où D est un retard. 

a) Générer les N*100 échantillons de x(n) et y(n). Représenter x(n) et y(n)  et  pour  D=15


et  D=35 sur le même écran

clear all
clc
N=100;
D1=zeros(15,1);
D2=zeros(35,1);
x= sqrt(2)*randn(N,1);
y(1)=x(1)
y1=[D1;x];
y2=[D2;x];
subplot(3,1,1);
plot(x)
subplot(3,1,2);
plot(y1)
subplot(3,1,3);
plot(y2)

-5
0 10 20 30 40 50 60 70 80 90 100
5

-5
0 20 40 60 80 100 120
5

-5
0 20 40 60 80 100 120 140

b)  Calculer et représenter Ryx   pour les deux valeurs de D.

N=100;
a=0.85;
d1=zeros(15,1);
d2=zeros(35,1);
x=sqrt(2)*randn(N,1);
y1=[d1;x];
y2=[d2;x];
Rx1=xcorr(y1,x);
Rx2=xcorr(y2,x);
subplot(2,1,1);
plot(Rx1);
grid;
subplot(2,1,2);
plot(Rx2);
grid;

200

150

100

50

-50
0 50 100 150 200 250

200

150

100

50

-50
0 50 100 150 200 250 300

Oui on peux remarquer la valeurs de D du graphe c’est la différence entre les écarts d’où
débute le signal
4) Soit un signal bruité  y(n)=s(n)+b(n) où  s(n) est un signal sinusoïdal et b(n)
un bruit gaussien  
N=100;
f=0.1;
A=1;
SNR1= -5;
SNR2= 10;
n= 0:N;
s=2*sin(0.2*pi*n);
bn1=awgn(s,SNR1);
bn2=awgn(s,SNR2);
subplot(3,1,1);
plot(s);
grid;
subplot(3,1,2);
plot(bn1);
grid;
subplot(3,1,3);
plot(bn2);
grid;
2

-2
0 20 40 60 80 100 120
10

-10
0 20 40 60 80 100 120
5

-5
0 20 40 60 80 100 120

Remarque :
Si change la valeur de SNR le signal déforme car du bruit .

Vous aimerez peut-être aussi