I. Introduction: Les filtres sont utilisés pour éliminer des composantes non désirables d’un signal comme le bruit et la distorsion, ou pour corriger certain signaux (égalisateurs dans les systèmes stéréo sont en général un banc de filtre passebande). Filtrage d’un signal Exercice 01 : L’objectif : L’objectif est de filtrer un signal acoustique réel de format *.wav (son.1.wav). Pour cela, il faut écrire une fonction que nous appelons get_wav.m pour la lecture et l’affichage d’u signal et de son spectre d’amplitude. La fonction pour calcul du spectre : clc; close all % get_wav('son1.wav'); Gp=-2; %0.794; Gs=-20; %0.1; wp = 0.1 ws = 0.8 [n,wn]=buttord(wp,ws,Gp,Gs,'s'); % [num,den]=butter(n,wn,'s'); H=tf(num,den) fh = figure bode(H) % fname='son1.wav'; [m,fs]=wavread(fname); % x=m(110000:230000); y=filter(num,den,x); % fname ='son2.wav'; wavwrite(y,fs,'son2.wav'); get_wav10('son2.wav'); Les résultats sur le Matlab : Exercice 02 : L’objectif : Filtrer un signal résultant de la somme de 3 sinusoïdes s1 s2 s3 de fréquences respectives 10 Hz, 25 Hz, 40 Hz. Pour s1 : S1=5*sin(20*pi*t)= s1=5*sin(20*pi*f0*t)=(2*pi*10*t) t=k*Te Te=1/fe S1=5*sin(2*pi*10*k*1/fe) S1=5*sin(2*pi*(10/100) *k) Les résultats sur le Matlab : Pour : k=0:1:100 Pour afficher le signal de s1 : Il faut faire la boucle plot Plot(k,s1) Il affiche ce signal : Pour s2 : avec la même méthode Apre les calculs : s2=5*sin(5*pi*(10/100)*k) Plot(k,s2) Pour s3 : S3=5*sin(8*pi*(10/100) *k) La somme de 3 sinusoïdes : s=s1+s2+s3 Plot(k,s) On généré la fonction de transfert dans l’espace de travail par les commande suivantes : fe=100; [B,A]=butter(2,[ 20 30 ]/(fe/2)); h=fvtool(B,A); h=tf(B,A); y=filter(B,A,s); plot(y)