TRAITEMENT DU SIGNAL NUMERIQUE ECHANTILLONNAGE
Copie d'un élève
Après échantillonnage à la fréquenceFe =32Khz, un signal vaut:
= cos 3 )
( π
n n
x .
Question 1
En supposant que le théorème de l’échantillonnage ait été respecté, on sait que le signal avant échantillonnage était de la forme : xA(t)=cos(2πfat)
Donc,
=
=
= ( ) cos(2 ) cos 3 )
(n x nT πf nT nπ
x A e a e
Par analogie, on voit que : 2πfanTe =nπ3
e
a nT
f = × ×
π π
2 1 3
6
e a
f = F
La fréquence du signal avant échantillonnage est donc :
6
e a
f = F
Question 2
) 2 ( . ) 1 ( . ) ( )
(n =x n +ax n− +bx n− y
On cherche a et b tels que y(n)=0. On a 2 inconnus, on va donc devoir poser 2 équations : Si n=0
) 2 ( . ) 1 ( . ) 0 ( ) 0
( = x +ax − +bx − y
− +
− +
= 3
cos 2 cos 3
) 0 cos(
) 0
( π π
b a
y
2 1 2
1 1 ) 0
( = +a +b− y
Or, on veut y(n)=0 0 2 1
2−b + = a
−2
=
−b
a (1)
Si n=1
) 1 ( . ) 0 ( . ) 1 ( ) 1
( =x +ax +bx − y
( )
− +
+
= ) cos 0 cos 3 cos(3
) 1
( π π
b a
y
2 1 2
) 1 1
( a b
y = + +
0 1 2a+b+ =
1 2a+b=− (2)
Résolution du système d’équations :
−
= +
−
=
−
1 2
2 b a
b
a
−
=
−
=
− 3 3
2 a
b
a
−
=
−
=
− 1
2 a
b
a
−
= +
= 1 2 a
a b
−
=
−
= 1
1 2 a
b
=
−
= 1
1 b a
Vérifions maintenant que y(n) est bien nul sur une période du signal x(n) : )
2 ( . ) 1 ( . ) ( )
(n =x n +ax n− +bx n− y
On remplace a et b par les valeurs calculées précédemment : )
2 ( ) 1 ( ) ( )
(n =x n −x n− +x n− y
3) ) 2 cos((
3) ) 1 cos((
3) cos(
)
( = π − − π + − π
n n
n n
y
+
+
+
−
=
3 sin 2 sin 3
3 cos 2 cos 3
sin 3 sin 3
cos 3 cos 3
cos 3 )
( π π π π π π π π π
n n
n n
n n
y
+
−
+
+
−
=
3 sin 2 sin 3
sin 3 3
cos 2 cos 3
3 1 cos )
( π π π π π π
n n
n y
4 4 3 4 4 2 43 1
42 1
0 2
3 2
3 sin 3
0 2 1 2 1 1 cos 3
) (
=
− +
+
=
−
−
= nπ nπ
n y
n n
y( )=0,∀
On constate qu’avec les valeurs a=-1 et b=1, quelque soit la valeur de n, on a bien y(n)=0.
Question 3
Spectre Xa(f) du signal xa(t) :
Avec fa=Fe/6 et Fe=32Khz
Spectre X(f) du signal x(n) :
∑
+∞−∞
=
−
=
k
e a
e X f kF
F f
X( ) ( ) (cours)
Le spectre du signal numérique est le spectre du signal analogique périodiser en Fe.
L’amplitude de chaque raie correspond à l’amplitude des raies du spectre Xa(f) multipliées par Fe.
Question 4
Le graphe ci-dessous représente le signal x(n). La partie en rouge étant une période du signal avant échantillonnage.
Ajoutons à ce signal 2 échantillons à 0 entre chaque échantillon de période Te.
Les nouveaux échantillons sont représentés par les points bleus.
On voit bien que le signal n’a pas changé, car les échantillons ajoutés sont à 0, et le signal x(n) avait déjà pour valeur 0 à ces instants.
Cependant, nous pouvons maintenant considérer une nouvelle période d’échantillonnage Te’, qui est 3 fois plus petite que l’ancienne période d’échantillonnage.
On a donc : Te =3*Te'
Et par conséquent, la fréquence d’échantillonnage du signal obtenu est : Fe'=3Fe
Question 5
Comme nous l’avons dit à la question précédente, en intercalant 2 échantillons à 0 entre chaque échantillon du signal x(n), on ne modifie pas ce dernier.
Le spectre du signal obtenu (x2(n)) est donc le même que le signal x(n).
On a donc :
∑
+∞−∞
=
−
=
=
k
e a
e X f kF
F f X f
X2( ) ( ) ( )
En tenant compte de la nouvelle fréquence d’échantillonnage Fe’ :
∑
+∞−∞
=
−
=
=
k
e a
e X f k F
F f X f
X2( ) ( ) 3 ' ( 3 ') -
Questions 6 et 7
À partir de x2(n), nous voulons obtenir un signal y(n) identique au signal qui aurait été obtenu en échantillonnant xa(t) à la fréquence Fe’.
Comparons le spectre du signal qu’on souhaite obtenir (y(n)), au spectre du signal que l’on veut traiter (x2(n)) :
On constate que pour obtenir le signal Y(f), il faudra filtrer certaines fréquences du spectre X2(f). Cependant, il va tout de même falloir choisir les bonnes fréquences à filtrer.
Grâce aux propriétés de périodisation et de symétrie, nous savons que : En filtrant la fréquenceFe− f on élimine les raies barrées en rouge.
En filtrant la fréquence Fe+ f on élimine les raies barrées en vert.
Ainsi nous retrouvons le spectre du signal xa(t) échantillonné à la fréquence Fe’.
Il y a deux fréquences à filtrer, il y aura donc deux filtres à appliquer à x2(n).
Nous allons considérer les 2 filtres comme 2 traitements distinctifs qui seront mis l’un à la suite de l’autre.
Fe 0
-f +f Fe-f Fe+f 2Fe 3Fe 4Fe
Pour chacun des filtres, nous utiliserons le même traitement qu’à la question 2) en modifiant les paramètres.
1er filtre : Suppression de la raie à la fréquence(Fe− fa) : Posons le signal d’entrée x2(n)=cos(2πfnTe')
avec
6 5 6
e e e a e
F F F
f F
f = − = − =
=
−
=
− n
n Fe Fe Fe
nTe f
Fe 9
cos 5 3
1 2 6
cos ) ' ) (
2
cos( π π π
Appliquons ce signal au filtre. Et trouvons a et b tel que : 0 ) 2 9 (
cos 5 )
1 9 ( cos 5 9
cos 5 )
1( =
−
+
−
+
= n a n b n
n
y π π π
On a donc :
9 0 sin 10 9 sin 5 9
cos 10 9 cos 5 9
sin 5 9 sin 5 9
cos 5 9 cos 5 9
cos 5 =
+
+
+
+
π π π π π π π π π
n b
n b
n a
n a
n
On factorise par
n
9 cos 5π
et par
n
9 sin 5π
:
9 0 sin 10 9
sin 5 9
sin 5 9
cos 10 9
cos 5 9 1
cos 5 =
+
+
+
+
π π π π π π
b a
n b
a n
Ceci est vrai pour tout n, seulement si : 9 0
cos 10 9
cos 5
1 =
+
+ π π
b
a et 0
9 sin 10 9
sin 5 =
+
π π
b a
Nous devons donc résoudre ce système de 2 équations à 2 inconnus
=
+
−
=
+
9 0 sin 10 9
sin 5
9 1 cos 10 9
cos 5
π π
π π
b a
b a
−
=
−
=
+
9 sin 5
9 sin 10
9 1 cos 10 9
cos 5
π π
π π
b a
b a
−
=
−
=
+
−
9 sin 5
9 sin 10
9 1 cos 10 9
cos 5
* 9
sin 5 9 sin 10
π π
π π
π π
b a
b b
−
=
−
=
−
9 sin 5
9 sin 10
9 1 cos 5
* 9 sin 5
9 sin 10 9
cos 10
π π
π π
π π
b a b
−
=
=
9 sin 5
9 sin 10
* 1 1
π π a
b
−
=
=
9 sin 5
9 cos 5 9 sin 5 2 1
π π π
a b
−
=
=
9 cos 5 2 1 a π b
=
= 1
3473 , 0
1 1
b a
2ème filtre : Suppression de la raie à la fréquence (Fe+ fa) : Posons le signal d’entrée x2(n)=cos(2πfnTe')
avec
6 7 6
e e e a e
F F F
f F
f = + = + =
=
+
=
+ n
n Fe Fe Fe
nTe f
Fe 9
cos 7 3
1 2 6
cos ) ' ) (
2
cos( π π π
En utilisant la même méthode que pour le 1er filtre, on trouve :
−
=
=
9 cos 7 2 1
2 2
a π b
=
= 1
5321 . 1
2 2
b a
A ce stade, nous pouvons considérer deux traitements : )
2 ( ) 1 ( ) ( )
( 1 1
1 n =x n +a x n− +bx n−
y
) 2 ( ) 1 ( ) ( )
( 2 2
2 n =x n +a x n− +b x n−
y
) 2 ( ) 1 ( ) ( )
( 1 1
1 n = n +a n− +b n−
h δ δ δ
) 2 ( ) 1 ( )
( )
( 2 2
2 n = n +a n− +b n−
h δ δ δ
{ }
1 a 1)
( 1
1 n = ↑
h et h2(n)=
{
↑1 a2 1}
) ( ) ( )
(n h1 n h2 n
h = ⊗
Donc h(n)=
{
1(
a1 +a2) (
2+a1a2) (
a1 +a2)
1}
↑
Si on pose x(n)=ej2πfnTe'
∑
+∞−∞
=
−
=
k
k n x k h n
y( ) ( )* ( )
' ) 4 ( 2 ' ) 3 ( 2 2 1 ' ) 2 ( 2 2 1 '
) 1 ( 2 2 1 '
2 ( ) (2 ) ( )
)
(n ej fnTe a a ej f n Te a a ej f n Te a a ej f n Te ej f n Te
y = π + + π − + + π − + + π − + π −
[
1 2 2 ' 1 2 4 ' 1 2 6 ' 8 ']
) (
'
2 *1 ( ) (2 ) ( )
)
( j fTe j fTe j fTe j fTe
n x
fnTe
j a a e a a e a a e e
e n
y =12π3 + + − π + + − π + + − π + − π
[
4 ' 1 2 2 ' 1 2 1 2 2 ' 4 ']
'
4 * ( ) (2 ) ( )
2Te retardτ
* ) ( )
(n x n e j fTe e j fTe a a e j fTe aa a a e j fTe e j fTe
y − π + π + + + π + + + + − π + − π
=
= 123
(
2cos(4 ') 2( )cos(2 ') (2 ))
* ) 2 ( )
(n x n fT a1 a2 fT a1a2
y = − π e + + π e + +
On constate que le signal y(n) est fonction du signal d’entrée retardé de 2 échantillons. Il va donc falloir l’avancer de 2 échantillons : y(n)y(n+2)
On a donc :
(
2cos(4 ') 2( )cos(2 ') (2 ))
* ) ( )
(n x n fT a1 a2 fT a1a2
y = π e + + π e + +
et
( ) ( ) ( )
+ + +
= 1 2 ↑ 1 )
(n a1 a2 a1a2 a1 a2 h
Regardons ce que vaut y(n) pour f=fa=Fe/6
4 4 4 4 4 4 4
4 3
4 4 4 4 4 4 4
4 2
1
désiré non Gain
2 1 2
1 (2 )
cos 9 ) ( 9 2 cos 2 2
* ) ( )
(
+ +
+
+
=x n a a a a
n
y π π
On constate que y(n) est amplifier par un gain G non désiré, avec G=7,5963. Il va donc falloir diviser la sortie par G. y(n)y(n)/G
On obtient :
(
2cos(4 ') 2( )cos(2 ') (2 ))
)* ) (
( fT a1 a2 fT a1a2
G n n x
y = π e + + π e + +
Et =
( ) ( ) ( )
↑ 0.2474 0.1316 3333
. 0 2474 . 0 316 0.1 ) (n h
Vérification de y(n) :
0 0.2 0.4 0.6 0.8 1 1.2
x 10-3 -1
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
X: 0.0001875 Y: 1
Signal xa échantilloné à la fréquence fe=32kHz
échantillon
xa(nTe)
X: 0.0001875 Y: 0.3333
X: 0.000125 Y: -0.1674
X: 0.000125 Y: -0.5023
En rouge : Signal xa(n) échantillonné à la fréquence Fe.
En bleu : « Reconstitution en continu » du signal y(n) obtenu.
On constate qu’y (n) est 3 fois plus petit qu’il ne faudrait. On va donc multiplier par 3.
Finalement, on a :
{ 0 3953 0 .7428 1 0 .7428 0.3953 }
)
( n = .
↑h
'
* 2
) ( )
( j fnTe
n
e n h f
H − π
+∞
−∞
∑
==
A la fréquence fa, 3
) (fa = H
Ceci est normal car nous passons d’une fréquence Fe à une fréquence Fe’ = 3Fe.
0 ) (Fe− fa = H
0 ) (Fe+ fa = H
NotaBene: Le traitement n’est pas causal car il agit sur des échantillons à venir.
Question 8
Voir le code Matlab (figures générées dans l’ordre et commentaires associés).
Question 9
'
* 2
) ( )
( j fnTe
n
e n h f
H − π
+∞
−∞
∑
==
' 4 '
2 '
2 '
4 0,7428 1 0,7428 0,3953
3953 , 0 )
(f e j fTe e j fTe e j fTe e j fTe
H = − π + − π + + + π + + π
( ) ( )
(
1 0,7906cos 4 ' 1,4856cos 2 ')
* 0)
(f fTe fTe e
H = + π + π
Ici, on constate que H(f) est réel Module de H(f) :
(
4 ')
1,4856cos(
2 ')
cos 7906 , 0 1 )
(f fTe fTe
H = + π + π
Phase de H(f) :
0 H(f) pour ))
( (
0 H(f) pour 0 )) ( (
<
=
≥
= π ϕ
ϕ f H
f H
Avec le programme Matlab suivant, on trace le module et la phase de H(f)
close all;clear all;
%Déclaration des constantes f=[0:100:96000];
Te=1/96000;
%Fonction de transfert, module et phase
H=1+0.3953*2*cos(4*pi*f*Te)+0.7428*2*cos(2*pi*f*Te);
mod=abs(H);
phase=phase(H);
%Tracé du module figure(1);
subplot(2,1,1) plot(f,H,'g') hold on;
plot(f,mod)
xlabel('Fréquence') ylabel('Module')
legend('H(f)','Module de H(f)')
%Tracé de la phase subplot(2,1,2);
plot(f,phase)
xlabel('Fréquence') ylabel('Phase')
legend('Phase de H(f)')
On voit bien que lorsque H(f) est négatif, la phase vaut +π.
Question 10
Pour obtenir le signal xa(t) échantillonné à la fréquence F3=48KHz, il faut multiplier le signal y(n) par un peigne de Dirac de période T3=2Te’. Cela revient à prendre un échantillon sur deux du signal y(n).
Question 11
On sait que : )
cos( 9 )
3(
π n n
x = )
cos( 3 )
( nπ
n
x =
1 ) 0
3( =
x x(0)=1 x3(1)=0.939 x(1)=0.5 766
. 0 ) 2
3( =
x x(2)=−0.5 x3(3)=0.5 x(3)=−1 173
. 0 ) 4
3( =
x x(4)=−0.5 x3(5)=−0.173 x3(5)=0.5
Cherchons une méthode permettant de déterminer directement le signal x3(n) à partir du signal x(n).
On sait que :
x3(n) = y(2n) car nous prenons un échantillon sur deux comme vu a la question précédente.
De plus :
{ 0 3953 0 .7428 1 0 .7428 0.3953 }
)
( n = .
↑h
Donc :
) 2 ( 3953 . 0 ) 1 2 ( 7428 . 0 ) 2 ( ) 1 2 ( 7428 . 0 ) 2 2 ( 3953 . 0 )
( 2 2 2 2 2
3 n = x n− + x n− +x n + x n+ + x n+
x
Or nous savons bien que le signal x2(n) est égal au signal x(n) tous les trois échantillons donc si n est un multiple de 3 alors
= ) 3
2(
x n n
x . Si n n’est pas un multiple de 3 alors x2(n) vaut 0.
Ainsi nous pouvons trouver la méthode suivante pour trouver x3(n). : Trois cas possibles :
Cas ou n est un multiple de 3.
) 2 ( 3953 . 0 ) 1 2 ( 7428 . 0 ) 2 ( ) 1 2 ( 7428 . 0 ) 2 2 ( 3953 . 0 )
( 2 2 2 2 2
3 n = x n− + x n− +x n + x n+ + x n+
x
0
* 3953 . 0 0
* 7428 . 0 ) 2 ( 0
* 7428 . 0 0
* 3953 . 0 )
( 2
3 n = + +x n + +
x
=
= 3
) 2 2 ( )
( 2
3
x n n x n
x .
Cas ou n+1 est un multiple de 3.
) 2 ( 3953 . 0 ) 1 2 ( 7428 . 0 ) 2 ( ) 1 2 ( 7428 . 0 ) 2 2 ( 3953 . 0 )
( 2 2 2 2 2
3 n = x n− + x n− +x n + x n+ + x n+
x
0
* 3953 . 0 ) 1 2 ( 7428 . 0 0 0
* 7428 . 0 ) 2 2 ( 3953 . 0 )
( 2 2
3 n = x n− + + + x n+ +
x
+
+
−
= + +
−
= 3
1 7428 2
. 3 0
2 3953 2
. 0 ) 1 2 ( 7428 . 0 ) 2 2 ( 3953 . 0 )
( 2 2
3
x n x n
n x n
x n
x .
Cas ou n+2 est un multiple de 3.
) 2 ( 3953 . 0 ) 1 2 ( 7428 . 0 ) 2 ( ) 1 2 ( 7428 . 0 ) 2 2 ( 3953 . 0 )
( 2 2 2 2 2
3 n = x n− + x n− +x n + x n+ + x n+
x
) 2 ( 3953 . 0 0
* 7428 . 0 0 ) 1 2 ( 7428 . 0 0
* 3953 . 0 )
( 2 2
3 n = + x n− + + + x n+
x
+
+
−
= + +
−
= 3
2 3953 2
. 3 0
1 7428 2
. 0 ) 2 2 ( 3953 . 0 ) 1 2 ( 7428 . 0 )
( 2 2
3
x n x n
n x n
x n
x .
Conclusion : afin de déterminer rapidement x3(n), il suffit d’écrire un algorithme vérifiant la multiplicité par 3 de n et appliquer l’un des trois cas précédents.
Question 12
Pour que le théorème de l’échantillonnage soit respecté, il faut que la plus haute fréquence du signal xa(t) soit inférieure à la fréquence d’échantillonnage divisée par deux. Cet a dire :
2 .
max
f < Fe Dans un cas contraire nous observerons un repliement de spectre et un instabilité du signal échantillonné.