tp n.1 analyse de signaux par tranformée de fourier …vbjester.free.fr/valdes/tp1 traiement du...
Post on 13-Sep-2018
219 Views
Preview:
TRANSCRIPT
TP n.1 Analyse de signaux par Tranformée de Fourier sous Matlab/Simulink
ACHOURAK Mustapha CHEN WenpingTugce TuranGroupe 2
Introduction :
Un signal numérique est défini par un nombre d’échantillons N relevés à une fréquence d’échantillonnage Fe. Les signaux sont toujours captés de manière temporelle, mais on s’intéresse souvent à leur allure fréquentielle.
L’objectif de ce TP est de générer et de visualiser des signaux usuels tels que les signaux carrées, sinusoidaux puis d’effectuer leur analyse spectrale à l’aide des outils disponibles sous Matlab tels que la FFT(Fast Fourier Transform) et DFT(Discrete Fourier Transform) et aussi le filtrage et l’analyse d’un signal bruité.
1. Commandes de base sous Matlab pour le traitement du signal
1. Un vercteur ligne et un vecteur colonne Ligne :
Commande : A=[1 2 3]Résultat dans la 《Commande Window《 :A =
1 2 3
Colonne :
Commande : B=[1;2;3]Résultat dans la 《Commande Window《 :B =
1 2 3
2.Une matrice identité
Commande : eye(6)Résultat dans la 《Commande Window《 :ans =
1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0
0 0 0 0 0 1
3.Une matrice constante
Commande : ones(2,3,3)Résultat dans la 《Commande Window《 :ans =
3 3 33 3 3
4.Une matrice aléatoire
Commande : rand(2,3)Résultat dans la 《Commande Window《 :ans =
0.9572 0.8003 0.4218 0.4854 0.1419 0.9157
2. Analyse spectrale des signaux selon la methode de Fourier
1.En réalisant sous Matlab le programme permettant l’échantillonnage fe=1000Hz et l’affichage d’un signal sinusoidal x(t) d’une durée de 1s avec une fréquence propre fe=10Hz et une amplitude de 5
Programme :
2. f e =100Hz
fe=15Hz
3.A l’aide de la commande <fft>
fe=1000Hz>> plot(abs(fft(y)));
fe=100Hz>> plot(abs(fft(y)));
fe=15Hz
>> plot(abs(fft(y)));
Nous pouvons voir que plus la fréquence d’échantillonnage est faible, plus le signal de sortie est saturé.
4.Taille de X(f)
5. Dans tous les cas, on ne peut pas observer une simple composante fréquenteille à . Parce que dans tous les cas, Fe (la frequence echantillonnage) soit supérieur ou
égale à deux fois la plus haute fréquence contenue dans le spectre de ce signal,d’ou les
diagrammes sont symétriques par rapport à .
6.A l’aide de la commande <ifft>
fe=15Hz
fe=100Hz
fe=1000Hz
7. ConclureAprès 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.
3.Filtrage et analyse d’un signal bruite
1et 2 Création de 1000 échantillons de xb(t) et l’affichage de son taille
Commande : t=[0:0.001:1] ;x=0.7*sin(2*pi*50*t)+sin(2*pi*120*t)+randn(size(t)) ;size(t) size(x)
Résultat dans la 《Commande Window《 :ans =
1 1001
ans =
1 1001
La taille de est 1001.
La taille de est 1001.
3.Visualisation de l’évolution temporelle du signal xb(t) :
plot(x) ;
4.Visualisation de l’évolution temporelle de FFT du signal xb(t) :
plot(abs(fft(x)));
5. Observation en échangement de facteur Q
Q=1.2
Commande : t=[0:0.001:1] ;x=0.7*sin(2*pi*50*t)+sin(2*pi*120*t)+1.2*randn(size(t)) ;size(t)size(x)
Résultat dans la 《Commande Window《 :ans =
1 1001
ans =
1 1001
La taille de est 1001.
La taille de est 1001.
plot(abs(fft(x)));
Q=1.5
Commande : t=[0:0.001:1] ;x=0.7*sin(2*pi*50*t)+sin(2*pi*120*t)+1.5*randn(size(t)) ;size(t)size(x)
Résultat dans la 《Commande Window《 :ans =
1 1001
ans =
1 1001
La taille de est 1001.
La taille de est 1001.
plot(abs(fft(x)));
6. On synthétise le filter numérique
7. Nous affichons les spectres d’amplitudes et de phase de ce filtre à l’aide de la commande <freqz>
8. Nous pouvons en déduire la fonction de transfert du filtre à l’aide de la commande <tf>
BRUITE:H = TF(1,[-0.003871 1.758e-018 0.03209 0.1167 0.2207 0.2687 0.2207 0.1167 0.03209 1.758e-018 -0.003871]);>> t=[0:0.001:1];>> X=0.7*sin(2*pi*50*t)+sin(2*pi*120*t)+randn(size(t));>> lsim(H,X,t)
SANS BRUITE : H = TF(1,[-0.003871 1.758e-018 0.03209 0.1167 0.2207 0.2687 0.2207 0.1167 0.03209 1.758e-018 -0.003871]);t=[0:0.001:1];X=0.7*sin(2*pi*50*t)+sin(2*pi*120*t);>> lsim(H,X,t)
6. Visualisation des signaux filtré et non filtré
Spectre filtré>> Y=lsim(H,X,t);>> plot(abs(fft(Y)));
Spectre non filtré
Avec filtrage, moins de perturbation,plus precise.
4.Generation de signaux deterministes sous SIMULINK
T=10s
T=5s
Signal carre :
Conclusion finale :
Cette première céance nous a tous d’abord permis de nous familiariser avec le logiceil 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.
top related