Professional Documents
Culture Documents
*****
Ministère de l'Enseignement Supérieur et de la
Recherche Scientifique
*****
Université de Monastir
Monast
*****
Institut Supérieur d'Informatique
Informatique et de
Mathématique
Mathématiques
Université de Monastir
Travaux Pratiques:LF2
Pratiques LF2 STIC
Traitement du Signal Analogique & Traitement du Signal Numérique
*****************************************************************
TP N1: Analyse de signaux par Transformée de Fourier sous
Matlab/Simulink
TP N2: Génération,
énération, produit de convolution et Corrélation des signaux
analogiques
Université de Monastir
Objectif
L’objectif de ce TP est de visualiser des signaux usuels tels que les signaux carrées, sinusoïdaux puis d’effectuer leur
analyse spectrale à l’aide des outils disponibles sous Matlab tels que la FFT(Fast Fourier Transform) et DFT(Discrète
Fourier Transform) et aussi l’analyse d’un
d’u signal bruité et le filtrage.
On considère un signal carré périodique oscillant entre –11 et 1 de période 50 exprimé par :
+∞
x(t)= ∑ 2.rect25(t −k.50) −1 .
k =−∞
2
ISIMM LF2 STIC
clear;
N=200;
x=ones(N,1);
for i=1:N/8,
x(i)=-1;
end;
for i=2*N/8+1:3*N/8,
x(i)=-1;
end;
for i=4*N/8+1:5*N/8,
x(i)=-1;
end;
for i=6*N/8+1:7*N/8,
x(i)=-1;
end;
for c=1:N/2;
r=0;
3
ISIMM LF2 STIC
for i=1:N/2;
r=r+x(i)*x(i+c);
end;
f(c)=r/100;
end;
a=0:N-1;
b=0:N/2-1;
subplot(2,2,1);plot(a,x);grid;axis([0 N -1.5 1.5]);
title('Fonction carré');xlabel('t');ylabel('x(t)');
subplot(2,2,2);plot(b,f);
title('Autocorrélation de la fonction carré');grid;
Résultat de la simulation:
4
ISIMM LF2 STIC
f e =100Hz
5
ISIMM LF2 STIC
fe=15Hz
fe=1000Hz
>> plot(abs(fft(y)));
fe=100Hz
>> plot(abs(fft(y)));
fe=15Hz
>> plot(abs(fft(y)));
Nous pouvons voir que plus la frequence d’echantillonnage est faible, plus le signal de sortie est sature.
Taille de X(f)
Dans tous les cas, on ne peut pas observer une simple composante frequenteille a
. Parce que dans tous les cas, Fe (la frequence echantillonnage) soit superieur ou
egale a deux fois la plus haute frequence contenue dans le spectre de ce signal,d’ou les
diagrammes sont symetriques par rapport a .
A l’aide de la commande <ifft>
fe=15Hz
fe=100Hz
fe=1000Hz
Conclure
Apres avoir fait des simulations en variant la fréquence d’échantillon, on peut conclure que la fréquence d’échantillon
plus élevée, les résultats sont plus précis et plus ressemblent aux résultats théoriques.
Filtrage et analyse d’un signal bruite
Création de 1000 échantillons de xb(t) et l’affichage de son taille
7
ISIMM LF2 STIC
8
ISIMM LF2 STIC
T=5s
Signal carre :
Conclusion finale :
9
ISIMM LF2 STIC
Cette première créance nous a tous d’abord permis de nous familiariser avec le logiciel Matlab et d’effectuer la
transformée de fourrier d’un signal non bruité et d’un signal bruité. Ce TP nous a aussi permit de faire le lien entre la
théorie vu en cours et la pratique.
10
ISIMM LF2 STIC
Université de Monastir
1. Objectif :
L’objectif de ce TP est de générer, de visualiser quelques signaux analogiques, de déterminer leur produits de
convolutions et leur corrélation en utilisant la maquette de traitement de signal et MATLAB.
Exécuter ce programme.
Faire les changements
hangements nécessaires au programme ci-dessus
ci pour représenter les
impulsions suivantes : 3 δ(t),2 δ(t
(t + 2), δ(t + 3) et δ(t-1).
11
ISIMM LF2 STIC
Exécuter ce programme.
Faire les changements nécessaires au programme ci-dessus pour représenter les
impulsions suivantes : 3 δ(t),2 δ(t + 2), δ(t + 3) et δ(t-1).
12
ISIMM LF2 STIC
9. Auto – Corrélation
13
ISIMM LF2 STIC
Changer le programme pour qu’il permet de donner l’auto-corrélation d’un signal rectangulaire de largeur 40s
(commence à -31 et se termine à 10) et d’amplitude 2v.
10. Corrélation
a) Inter – Corrélation
En utilisant le programme du produit de convolution ci-dessus, écrire un programme Matlab qui
calcule et trace l’inter-corrélation (commande xcorr) de deux signaux rectangulaires, un de largeur
20s et d’amplitude 2 v et l’autre de largeur 40s et d’amplitude 3v.
Vérifier théoriquement le résultat obtenu.
b) Auto – Corrélation
Changer le programme pour qu’il permet de donner l’auto-corrélation d’un signal rectangulaire de
largeur 40s (commence à -31 et se termine à 10) et d’amplitude 2v.
14
ISIMM LF2 STIC
Université de Monastir
Objectifs
Théorie de l’échantillonnage en représentation fréquentielle.
Etude comparée des informations dans les domaines temporel et fréquentiel.
1 – Sur le domaine de n compris entre 0 et 7, générer la fonction Dirac d[n]. Représenter
la fonction dans le domaine temporel et sa transformée de Fourier discrète (fft) (module "abs"
et phase "angle").
La fonction peut être réalisé par :
d=zeros(1,8);
d(1)=1;
ou ... [1 0 0 0 0 0 0 0];
quelle relation doit-on
on alors établir entre i et n pour d[n] (définition) et d(i) (programmé) ?
Pour générer (et représenter un tracé dans) une fenêtre graphique N°k : Figure (k);
Pour partitionner une fenêtre graphique en plusieurs zones (sous-fenêtres)
(sous fenêtres) : Subplot
Subplo (L , C , F);
…découpe la figure en L lignes, C colonnes et réalise les prochaines actions (traces, legends
…) dans la sous-fenêtre F.
Pour afficher un titre à la figure : title ('le titre');
Pour mettre une légende sur les abscisses : xlabel('axe des X');
Commenter les résultats en vous appuyant sur le cours.
2 - Générer la fonction Dirac d[n-3]
d[n 3] pour n=0 à 7. . Représenter la fonction dans le domaine
temporel et sa FFT (module et phase). Commenter les résultats en les comparants au 1).
3 – Générer une fonction constante à 1 échantillonnée sur 8 points. Représenter la fonction
dans le domaine temporel et sa FFT (module et phase). Commenter les résultats en vous
appuyant sur le cours.
15
ISIMM LF2 STIC
16
ISIMM LF2 STIC
Université de Monastir
I. Introduction
Dans cette partie, nous nous intéressons au calcul et à la représentation du spectre d’un signal, nous cherchons
également à montrer l’influence de la longueur d’observation d’un signal sur son spectre.
II. Analyse spectrale
On considère un signal sinusoïdal à la fréquence 10 Hz échantillonné à 100 Hz.
Le programme cherche à traiter :
- Le calcul et la représentation du spectre
- Le calcul de la fft avec un nombre entier de périodes
- L’effet du zéro padding
- Le cas où lee nombre de période n’est pas entier
1- La séquence Matlab suivant permet de calculer et représenter un spectre en considérant un nombre entier de
périodes :
2- On cherche l’effet du zéro padding, recalculer la fft sur 100 périodes (le signal x reste le même).
Représenter le module du nouveau spectre et comparer entre les deux.
17
ISIMM LF2 STIC
3- On cherche maintenant l’effet d’un nombre non entier de périodes, redéfinir l’axe temporel afin d’avoir
uniquement 45 échantillons au lieu de 50 (donc 4,5 périodes).
Recalculer la fft et représenter le module du spectre et conclure.
III. Densité spectrale de puissance
Soit un signal formé de deux sinusoïdes qui battent à 50 Hz et à 120 Hz, noyées dans un bruit additif, blanc de
moyenne zéro (fonction randn de Matlab).
1. Représenter le signal sinusoïdal sur 80 échantillons pour une fréquence d’échantillonnage de 1000 Hz.
b- Calculer le TDF sur 1024 points et conclure quand a la résolution spectrale offerte par chacune des fenêtres
pour la distinction entre les deux fréquences.
3- Enfin générer le signal sur 32 points :
18
ISIMM LF2 STIC
19
ISIMM LF2 STIC
Université de Monastir
0.25 ( z + 1 )
Construire le filtre discret passe bas réalisable causal H de fonction de transfert en z: H ( z ) =
-Construire
z − 0.5
(fréquence d'échantillonnage de 1s)
-Tracer
Tracer trois signaux et les appliquer à l'entrée de ce filtre
- Tracer les trois sorties correspondantes. C'est le signal de basse fréquence qui passe à travers ce filtre.
Le premier signal x1[n] est de basse fréquence 0.02 hz, d'amplitude 1 et le second
secon signal x2[n] est de haute
fréquence 0.4 hz et d'amplitude 1. Le troisième signal x[n] est la somme des deux signaux x1+x2.
20
ISIMM LF2 STIC
Résultat de la simulation:
21
ISIMM LF2 STIC
Application et simulation:
1. On se propose de calculer la réponse impulsionnelle h(n) du système régie par cette équation aux
différences.
y(n)= 1.7654 y(n-1) – 0.81 y(n-2) + x(n) + 0.5 x(n-1)
a- Déterminer les vecteurs a et b.
b- Calculer la réponse impulsionnelle avec la fonction filter de Matlab (prendre le signal impulsion sur 100
points).
c. Sachant que le filtre est analogique, choisir entre les fonctions freqs et freqz afin de calculer la fonction de
transfert associée à ce filtre.
a. Choisir le gabarit du filtre passe bas calculé par la méthode de remez (fonctions remezoed et remez)
représenter la fonction de transfert en amplitude et en phase.
3. Représenter les deux sinusoïdes, leur somme et le signal filtré.
23
ISIMM LF2 STIC
Université de Monastir
I. Objectifs :
Le but de ce TP est :
- De prendre conscience de l’effet de fenêtrage sur la visualisation du spectre
- De mesurer la puissance des signaux.
II. Influence de la taille de la fenêtre d’observation ( windowing)
La transformée de Fourier ne peut jamais s’appliquer sur la totalité du signal. Le signal n’étant pas périodique, on
tronque le signal sur une durée de fenêtrage choisie et il est possible d’appliquer
d’appliquer la TFD sur des parties d’un signal de
taille N. La partie analysée est appelée fenêtre d’observation.
On va mettre en évidence le fait que la précision fréquentielle (résolution) augmente avec la taille de la fenêtre.
Exemple 1 :
· générez une sinusoïde
nusoïde de fréquence 100Hz, avec une fréquence d’échantillonnage de 1400 Hz et sur une durée de 0.1
s.
· Notez la dimension du vecteur signal. Définissez le nombre de période du signal sinusoïdal.
· Nous allons maintenant imposer la durée en fixant la taille
taille du vecteur signal. On va choisir une taille N=64
échantillonnée a 1,4kHz. Quelle est la durée du signal.
· Visualisez les modules des TFD d’ordres M=16,128, 256 et donnez a chaque fois la largeur ∆ f du lobe principal du
spectre (on prendra 2 points voisins pour avoir la largeur du lobe). On utilisera la fonction TF_signal=fft(signal,M)
· Vérifiez que le produit de la largeur du lobe principal par la durée d’observation M. ∆, f est constant. Conclure.
Fenêtre ou Fenêtre d’analyse :
Une fenêtre d’analyse est une fenêtre de mise en forme que l’on donne au signal avant de l’analyser par TFD :
On multiplie le signal a analyser s(k) terme a terme par une fenêtre w(k) de forme adéquate pour réduire les lobes
secondaires afin que le spectre observe tende vers le résultat théorique qui est pour une sinusoïde de fréquence f0 une
raie pure a la fréquence f0.
yseurs de spectre (appareils qui donnent le spectre d’un signal) proposent de nombreuses fenêtres d’analyse, qui
Les analyseurs
ont chacune des effets différents :
Blackman, Hamming, Hanning…
Sous matlab on peut utiliser les fonctions hanning(N) et blackman(N) pour le fenêtrage
fenêtrage (ce sont deux vecteurs colonnes
de taille N).
24
ISIMM LF2 STIC
1. Etudiez les réponses temporelles des fenêtres rectangulaires (boxcar), Bartlett, Hamming, Hanning, Blackman.
2. Retrouvez les caractéristiques du cours pour les fenêtres rectangulaires et Hamming en traçant le spectre sur M=4*N
points.
3. Visualisez sur une même figure les deux fenêtres et leurs spectres d’amplitude en dB.
4. Observez l’effet du fenêtrage sur l’allure du spectre : taille des lobes secondaires et largeur du lobe principal.
5. Comparez l’effet des deux fenêtres proposées.
6. Multipliez terme à terme la sinusoïde de l’exemple 1 par chacune des deux fenêtres, et visualisez les spectres
résultants en dB (signal fenêtre=jusqu'à.*signal’).
7. A la sinusoïde définie a 100 Hz, on rajoute une sinusoïde de fréquence 150 Hz, d’amplitude 0.01, avec fe=1 kHz. On
appellera signal=sin(2pift)+0.01*sin(2pif1t).
- Tracer le spectre theorique
- Observer le spectre du signal sans fenetrage et avec une jusqu'à de Hamming.
Conclusion ?
8. Tracer un sinus sur N=32 points, de fréquence 50 Hz, avec fe=300 Hz. Comparer le spectre avec et sans fenêtre de
Hamming
Résolution fréquentielle de la TFD; La résolution fréquentielle ∆ f nous informe sur la capacité a séparer les valeurs du
spectre
pour deux fréquences très proches :
On peut distinguer les spectres aux fréquences f et f+ ∆ f mais pas aux fréquences f et f+δ ou
δ < ∆ f. Plus ∆ f est petite plus la résolution est haute.
Cette résolution dans le cas de la TFD d’ordre N est déterminée par le nombre de points
d’analyse N et la fréquence d’échantillonnage Fe :
D f=Fe/N
On va essayer de voir les limites de l’analyse par TFD en essayant de détecter des sinusoïdes
proches.
Exemple 2 :
1. Gênerez un signal échantillonné a 1kHz de 1024 points, résultat de l’addition de deux sinusoïdes de même amplitude
et de fréquences respectives 100Hz et 105Hz.
2. Déterminez expérimentalement la durée d’observation en dessous de laquelle on ne distingue plus les lobes
principaux des TFD des deux composantes.
3. Que vaut la taille théorique Nmin qui ne permet pas de séparer les deux raies ?
4. On double simultanément la fréquence d’échantillonnage et la taille de la TFD : Est-ce qu’on obtient de meilleurs
résultats ?
5. Un procède physique génère un signal comportant deux raies 100Hz et 105Hz présentes dans une bande [0,500Hz].
Quel serait le choix le plus économique de la longueur d’observation et de la fréquence d’échantillonnage de ce signal,
pour pouvoir distinguer les deux raies ?
III. Calcul de la Densité Spectrale de Puissance.
25
ISIMM LF2 STIC
Il existe différentes méthodes pour estimer la DSP d’un signal aléatoire. Sous certaines conditions (propriétés
statistiques du signal), la DSP est estime a partir la TF du produit d’auto corrélation.
Nous allons seulement estimer le spectre en utilisant quelques méthodes disponibles sous Matlab et nous réaliserons un
programme permettant d’estimer la DSP.
Construire un signal sinusoïdale de fréquence 440 Hz échantillonné a Fe=8kHz sur une durée de 100ms
1. Construire un signal bruit par la fonction randn
2. Ajouter le bruit pondère par un facteur de 1 au signal sinusoïdal.
3. Représenter le spectre sous Matlab a partir de la fonction fft.
4. Représenter le spectre sous Matlab a partir de la fonction fft en limitant la fft a 256
points jusqu'à 64 points.
5. Tracer le spectre en utilisant la fonction psd et periodogramm
Bibliographie:
[1] S. Abdelmouleh, Generation, Correlation Et Produit De Convolution Des Signaux Continus, T P de
Traitement de Signal.
[2] A. Mustapha, C. Wenping, T. Turan Analyse de signaux par Tranformée de Fourier sous Matlab/Simulink.
[3] J. L. Crowley, Traitement du Signal, Formes Numérique de la Transformée de Fourier.
[4] M. R. Mokhtari, A. C. Braham, Systèmes Asservis linéaires, Université Aboubekr Belkaid Tlemcen.
[5] Cours Traitement Numérique du Signal, Ecole Nationale d’Electronique et des télécommunications de
Sfax,2016.
[6] I. C. Abid, Traitement Numérique du Signal, Faculté des Sciences de Tunis
[7] I. C. Abid, Traitement du Signal Analogique, Faculté des Sciences de Tunis
26