Telechargé par Abdelkrim .boukhentef

Introduction

publicité
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)
Téléchargement