D_cours_TdS_master_echantillonnage_filtrage

Download Report

Transcript D_cours_TdS_master_echantillonnage_filtrage

Introduction
Un exemple
En NOIR continu : le signal original continu de période T (on dit signal sous-jacent)
𝑇
Points VERTs : le signal échantillonné avec 𝑇𝑒1 < 2οƒ  pas de déformation
𝑇
Ronds ROUGES : le signal échantillonné « trop » lentement avec 𝑇𝑒2 > 2.
On a l’impression que le signal est à plus basse fréquence qu’il ne l’est en réalité. On
parle de « fréquence fantôme » ...
Théorème de Shannon : Pour qu’il n’y ait pas perte d’informations οƒ  Fe > 2fmax
2
Principe
L'échantillonnage consiste à discrétiser le
temps des signaux analogiques continus.
L'ensemble des échantillons prélevés
constitue le signal échantillonné. Les
échantillons sont prélevés à des
intervalles de temps réguliers. La période
entre deux échantillons consécutifs est
appelée période d'échantillonnage et est
notée Te. La fréquence d'échantillonnage
est définie comme l'inverse de la période
d'échantillonnage : Fe = 1/Te.
Mathématiquement, l'opération «
échantillonnage » s'écrit en utilisant la
fonction peigne de Dirac telle que :
π‘₯𝑒 𝑑 = π‘₯ 𝑑 . 𝑝𝑒𝑖𝑔𝑛𝑒𝑇𝑒 𝑑
La convolution d’un signal par un peigne de Dirac périodise le signal
TF d’un produit de 2 signaux, d’un peigne et d’un signal échantillonné
On admettra :
1/ La TF d’un produit de convolution est un produit simple et réciproquement.
𝑇𝐹 π‘π‘œπ‘›π‘£ π‘₯ 𝑑 , 𝑦 𝑑
𝑇𝐹 π‘₯ 𝑑 . 𝑦 𝑑
= 𝑋 𝑓 .π‘Œ 𝑓
= π‘π‘œπ‘›π‘£ 𝑋 𝑓 , π‘Œ 𝑓
2/ La TF d’un peigne 𝑇𝑒 -périodique est un peigne 𝐹𝑒 -périodique d’amplitude 𝐹𝑒 .
𝑇𝐹 𝑝𝑒𝑖𝑔𝑛𝑒𝑇𝑒 𝑑
= 𝐹𝑒 . 𝑝𝑒𝑖𝑔𝑛𝑒𝐹𝑒 𝑓
On a donc : la TF d’un signal échantillonné est la convolution de la TF du signal sousjacent avec un peigne fréquentiel :
𝑇𝐹 π‘₯𝑒 𝑑
= 𝑇𝐹 π‘₯ 𝑑 . 𝑝𝑒𝑖𝑔𝑛𝑒𝑇𝑒 𝑑
= π‘π‘œπ‘›π‘£ 𝑋 𝑓 , 𝐹𝑒 . 𝑝𝑒𝑖𝑔𝑛𝑒𝐹𝑒 𝑓
Cela a pour conséquence une périodisation du spectre du signal sous-jacent.
Spectre du signal échantillonné
Soit x(t) un signal à spectre borné (possède une fréquence maximale finie). Dans cette
approche mathématique, X peut être complexe et la fréquence peut être négative. Le
spectre du signal échantillonné Xe(f), s’obtient en périodisant le spectre initial X(f) sur
l’axe des fréquences avec une période Fe. [ref. figure]
Un signal Te-échantillonné possède un spectre Fe-périodisé
6
Théorème de Shannon
Théorème de Shannon : Pour qu’il n’y ait pas déformation du spectre οƒ  Fe > 2fmax
7
Filtrage anti-repliement
L’Echantillonnage entraine la périodisation du spectre. Pour qu’il n’y ait pas de
déformation (respect du théorême de Shannon), Il faut réaliser un filtrage analogique
𝐹
passe-bas de fréquence de coupure 2𝑒 le signal avant l’échantillonnage.
Dans l’exemple ci-dessous, on échantillonne à 40 kHz un signal possédant une
composante parasite à 32 kHz. En rouge le spectre initial translaté d’une valeur 𝐹𝑒 .
Dans l’intervalle βˆ’π‘“π‘šπ‘Žπ‘₯ , +π‘“π‘šπ‘Žπ‘₯ , le spectre contient une raie « fantôme » à 8 kHz !!!
8
Reconstruction (I) Isoler le spectre sous-jacent dans le spectre du signal échantillonné
Spectre « sous-jacent » périodisé
On utilise les
propriétés de
« localisation » de
la distribution de
Dirac 𝛿 et le fait
qu’elle soit
élément neutre
du produit de
convolution.
𝑃2πΉπ‘šπ‘Žπ‘₯ est une
« porte » de
largeur 2πΉπ‘šπ‘Žπ‘₯ .
Spectre sous-jacent
9
Reconstruction (II) Exprimer le signal sous-jacent π‘₯ 𝑑 en fonction des échantillons π‘₯ 𝑛𝑇𝑒
10
Remarque concernant la TFD renvoyé par Matlab
Spectre du signal sous-jacent π‘₯ 𝑑
A l’intérieur de la porte rouge :
Spectre renvoyé par Matlab (fft)
Remarque concernant la présence d’oscillations dans les spectres des signaux bornés
Un signal borné π‘₯𝑏 𝑑 , par exemple compris entre 𝑑𝑑𝑒𝑏 = 0 et 𝑑𝑓𝑖𝑛 = 10 secondes est le produit
d’un signal π‘₯ 𝑑 de durée infinie par une porte de largeur b = 𝑑𝑓𝑖𝑛 βˆ’ 𝑑𝑑𝑒𝑏 :
π‘₯𝑏 𝑑 = π‘₯ 𝑑 . 𝑝𝑏 𝑑
La TF du signal borné π‘₯𝑏 𝑑 est alors égal à la convolution de celle du signal π‘₯ 𝑑 par celle de la
porte 𝑃𝑏 𝑑 :
𝑇𝐹 π‘₯𝑏 𝑑 = 𝑇𝐹 π‘₯ 𝑑 βˆ— 𝑇𝐹 𝑝𝑏 𝑑
La TF d’une porte présente des oscillations qui se retrouvent dans le spectre du signal borné.
L’effet est d ’autant plus marqué que la porte est étroite (voir la diapositive suivante).
1
0.8
0.6
0.4
0.2
0
-10
Porte 𝑝𝑏 𝑑 avec b=2
-8
-6
-4
-2
0
2
4
6
8
10
2
Son spectre est une fonction 𝑃𝑏 𝑓 avec une amplitude du lobe central
βˆ’3 βˆ’2 βˆ’1 1 2 3
égal à b=2 et des annulations aux fréquences …, , , , , , , …
1.5
1
𝑏
𝑏
0.5
0
0
0.5
1
1.5
2
2.5
3
𝑏
𝑏 𝑏 𝑏
Remarque concernant la présence d’oscillations dans les spectres des signaux bornés
TFD d’une porte temporelle de largeur b=2
Ecrire un programme D0 qui :
- crée un vecteur temps t s’étendant de -10 à 10 secondes avec une période
d’échantillonnage de 0.01 seconde.
- Un signal p(t) partout nul sur t sauf entre t=-1 et t=1 où p(t)=1.
- Calcule la TFD P(f) de p(t) avec N=212 fréquences.
- Crée le vecteur fréquence f correspondant.
- Représente le signal p(t) et son spectre |P(f)| d’une façon similaire à celle-cidessous. Les commandes subplot, xlim et ylim seront utilisées.
1
0.8
0.6
0.4
0.2
0
-10
-8
-6
-4
-2
0
2
4
6
8
10
2
1.5
1
0.5
0
0
0.5
1
1.5
2
2.5
3
Théorème de Shannon (I)
Exécuter et étudier ce programme D1 :
t_fin=12e-2;
Te=1e-4;
tcontinu = 0:Te:t_fin; ycontinu = sin(2*pi*100*tcontinu);
Te=0.0008; t = 0:Te:t_fin; y = sin(2*pi*100*t);
subplot(411), plot(tcontinu, ycontinu, t, y, 'or')
Te=0.00125; t = 0:Te:t_fin; y = sin(2*pi*100*t);
subplot(412), plot(tcontinu, ycontinu, t, y, 'or')
Te=0.00225; t = 0:Te:t_fin; y = sin(2*pi*100*t);
subplot(413), plot(tcontinu, ycontinu, t, y, 'or')
Te=0.0111; t = 0:Te:t_fin; y = sin(2*pi*100*t);
subplot(414), plot(tcontinu, ycontinu, t, y, 'or')
Quel est le but de ce programme ? Le signal ycontinu est il vraiment continu ? Quelle
est la fréquence du signal ycontinu(t) ? Combien de périodes devrait on observer sur
le domaine t ∈ [0, 0.12] seconde. Est-ce le cas de la dernière courbe rouge ?
Expliquer en termes de fréquences.
Théorème de Shannon (II)
Modifier le programme D1 de façon à obtenir, programme D2, les spectres des 4 signaux
de D1 comme sur la figure ci-dessous. Expliquer pourquoi la largeur des raies (liée à la
résolution spectrale R) ne varie pas d’un subplot à l’autre ? Rappeler la valeur de la
fréquence d’échantillonnage dans chaque subplot. D’où proviennent les raies situées du
côté des hautes fréquences π‘“π‘Žπ‘π‘π‘Žπ‘Ÿπ‘’π‘›π‘‘π‘’_𝐻𝐹 ? Montrer qu’on observe ici la propriété
suivante : Si 𝐹𝑒 > 2𝑓 β†’ π‘“π‘Žπ‘π‘π‘Žπ‘Ÿπ‘’π‘›π‘‘π‘’_𝐡𝐹 = 𝑓 ; π‘“π‘Žπ‘π‘π‘Žπ‘Ÿπ‘’π‘›π‘‘π‘’_𝐻𝐹 = 𝐹𝑒 βˆ’ 𝑓
0.06
0.04
0.02
0
0
0.06
0.04
0.02
0
0
0.06
0.04
0.02
0
0
0.06
0.04
0.02
0
0
Fe = 1250
200
400
600
1000
1200
1400
800
1000
1200
1400
800
Fe = 800
200
400
600
Fe = 444.4444
200
400
600
800
1000
1200
1400
400
600
800
1000
1200
1400
Fe = 90.0901
200
Périodisation d’une forme par convolution par un peigne
Etudier chaque ligne du programme D3 ci-dessous. L’exécuter plusieurs fois en
changeant N. Que se passe t’il lorsque la largeur de la forme atteint et dépasse la
période du peigne. Expliquer.
% Création de la forme
N=20;
trian=zeros(1,N);
trian(1:N/2)=1:1:N/2;
trian(N/2+1:N)=(N/2:-1:1);
trian=trian/(N/2);
subplot(311), plot(trian)
% Creation d'un peigne
peigne = zeros(1,1000);
peigne(100:100:1000)=1;
subplot(312), plot(peigne, '-o')
grid on
xlabel('t(s)')
ylabel('Peigne de Dirac')
% Convolution
tic
nouveauTrian=conv(trian, peigne);
toc
subplot(313),plot(nouveauTrian)
Utilisation de soundsc, disp, pause
Réaliser, étudier, expérimenter et commenter le programme suivant (D4):
Te=0.001; Fe=1/Te;
t = 0:Te:1;
y = sin(2*pi*80*t) + sin(2*pi*160*t)+ sin(2*pi*320*t);
yn = y + 0.5*randn(size(t));
plot(t(1:50), yn(1:50))
soundsc(y, Fe);
disp('Taper sur la touche "Entrée" pour continuer');
pause;
soundsc(yn, Fe);
Ecouter le repliement
Dans un programme D5 :
1/ Créer un vecteur temps t s’étendant de 0 à 2 secondes avec une fréquence
d’échantillonnage Fe=5000 Hz.
2/ Créer le signal x(t) = οƒ₯f[sin(2*pi*f*t)] avec f = 800, 850, 900, 950 et 1000 Hz.
Représenter x(t) et son spectre, abs(X(f)). Ecouter x(t) avec la fonction soundsc.
3/ Mêmes expériences en utilisant différentes valeurs de Fe jusqu’à par exemple Fe=1000
Hz. Interpréter.
Filtre passe-bas
Télécharger le signal signal_D6 depuis le répertoire http://www.upicardie.fr/~dellis/tdsMASTER/master_files_TdS/
Dans un programme D6,
1/ Représenter le signal x(t) et son spectre dans une même figure.
2/ A l’aide du zoom, évaluer la valeur de la fréquence du signal corrompu par du bruit.
3/ On souhaite appliquer un filtre passe-bas afin de reconstruire un signal « propre ». Créer un
signal fréquentiel H(f) défini sur l’ensemble {f} de la question 1/ qui soit partout nul sauf pour les
fréquences comprises dans les intervalles [0, 2] Hz et [Fe-2, Fe] Hz. H(f) est appelée réponse en
fréquence du filtre.
4/ Calculer le produit simple Xnew = X(f).H(f) qui constitue le spectre filtré. Représenter dans un
même graphique, le module de Xnew(f) et H(f).
5/ Appliquer une TFDI pour en déduire le signal temporel filtré qu’on appellera xnew. Le
représenter avec le signal original x(t). Conclusions, expliquer la forme de H, ….
4
5
3
2
4
1
3
0
2
-1
-2
1
-3
0
0
2
4
6
8
10
-4
0
2
4
6
8
10