mic7340 chapitre 12 filtres. passe-baspasse-haut passe-bandecoupe-bande fcfc fcfc f c1 f c2 f c1 f...

40
MIC7340 Chapitre 12 Filtres

Upload: napoleon-louvet

Post on 04-Apr-2015

106 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

MIC7340Chapitre 12

Filtres

Page 2: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Passe-basPasse-bas Passe-hautPasse-haut

Passe-bandePasse-bande Coupe-bandeCoupe-bandefc fc

fc1 fc2fc1 fc2

IdéalRéalisable

• Peuvent être réalisés par des moyens analogiques ou numériques• L’analyse de la réponse en fréquence se fait généralement avec la

transformée de Fourier, la synthèse part de la transformée de Laplace

Quatres types fondamentaux

Page 3: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Série de Fourier

• Permet de représenter tout signal périodique par une combinaison de signaux sinusoïdaux :

10

100

kk

kk

)tksin(b

)tkcos(aa)t(s

T

20

Page 4: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Série et transformée de Fourier• L’égalité sin() + j cos()=e jpermet aussi d’écrire :

– Chaque terme se distingue par une amplitude ck et un angle de phase k=k0t

• Lorsque s(t) n’est pas périodique ou T est infini, on utilise la transformée de Fourier :

– s(t) comprend un nombre infini de composant et F() est une fonction continue

• La transformée de Fourier est aussi applicable aux fonctions de durée finie ou périodiques; F() est alors discontinu

• Dans tous les cas, les paires (ck,k) ou F() décrivent le spectre de fréquences de s(t)

k

tjkk

0ec)t(s T

tjkk dte)t(s

Tc

0

01

deF)t(s tj

2

1

dte)t(sF tj

Page 5: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Transformée de Laplace• Définie par:

où et

• Peut être vue comme une extension de la transformée de Fourier où j est remplacé par s= + j• L’usage de s au lieu de j permet de rendre compte aussi du

comportement transitoire d’un circuit permet d’étudier la réponse transitoire et j la réponse

permanente

• Utile pour déterminer la stabilité d’un circuit pour différente conditions d’opération

• On passe souvent de la transformée de Fourier à la transformée de Laplace en remp;açant j par s dans l’une ou l’autre• En pratique, la transformée de Fourier est plus facile d’usage

dsesFj

)t(s stj

j

2

1 T

stdte)t(ssF0

js

Page 6: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Propriété fondamentale

• Les relations s(t) F()s(t)F(s)

sont bi-univoques• Pour chaque s(t), le F() ou F(s) correspondant est unique

s’il existe, et vice-versa

• Par conséquent l’impact d’un circuit sur un signal s(t) peut se faire de manière équivalente en faisant une analyse dans le temps ou dans l’un des espaces j ou s, dépendant de qui est le plus avantageux

Page 7: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Fonction de transfert

• Définie par H(s)=Y(s)/X(s) ou Y(s) et X(s) sont la sortie et l’entrée du circuit étudié

• Joue un rôle similaire à celui la fonction de réponse en fréquence, mais dans le domaine de Laplace

• Dans tous les cas :

• En pratique, on retrouve aussi souvent l’une que l’autre formulation

Y j X j H j

Y s X s H s

Page 8: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

• Filtres numériques : implémentés par microprocesseur, microcontrôleurs, FPGA ou autre moyen numérique• Le filtre calcule directement la fonction de réponse en fréquence en matériel

ou logiciel

• Filtres analogiques : la mise en œuvre est basée sur des composants analogiques qui réalisent la fonction de réponse en fréquence • Les filtres passifs utilisent uniquement R, L et C et ont un gain inférieurs à 1.

• Les filtre analogiques actifs ajoutent des composants actifs (habituellement des amplificateurs operations) pour un gain arbitraire

Moyens de mise en oeuvre des filtres

Page 9: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

R

CVI VO

+

_

+

_

1( ) 1

1( ) 1OV jw jwC

V jw jwRCRijwC

Filtre passe-bas de permier ordre

Filtre analogiques passifs

0 dB

1

0

1/RC

1/RC

Diagramme de Bode

Diagramme linéaire

.-3 dB

x0.707

Réponse en amplitude

Page 10: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

C

RVi VO

+

_

+

_

( )1( ) 1

OV jw jwRCRV jw jwRCRi

jwC

Filtre passe-haut de premier ordre

Filtre analogiques passifs

0 dB

.

. -3 dB

0

1/RC

1/RC

1/RC

10.707

Bode

Linéaire

x

Page 11: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

C L

RViVO

+

_

+

_

Filtre passe-bande du second-ordre

2

( )1( )

O

i

R sV s LRV s s sL LC

Filtre analogiques passifs

0

0 dB-3 dB

lo

hi

.

. .

.10.707

Bode

Linéaire

lo

hi

Page 12: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

RL

C

+

_

VO

+

_Vi

Filtre coupe-bande de second-ordre :

)(sGv

LCs

L

Rs

LCs

sGv 1

1

)(2

2

Filtre analogiques passifs

3000003100

3000002

2

ss

s

Example

Matlab:

num = [1 0 300000];den = [1 3100 300000];w = 1 : 5 : 10000;Bode(num,den,w)

Bode

Matlab

Page 13: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

V i nV O

C

R fb

+

_

+

_

R in

Filtre analogiques actifs

Filtre passe-bas du 1er ordre

R i nC

V in

R fb

V O

+

_

+

_

Filtre passe-haut du 1er ordre

V in

R 1

R 1

C 1

C 2

R 2

R 2

R fb

R i

V O

+

+

_

_

V i n

R 1

R 1

C 1

C 2

R 2R i

R fb

V O

+

_

+

_

Filtre coupe-bande du 2nd ordre

Filtre passe-bande du 2nd ordre

Rappel :

Pour un ampli-op inverseur : G=-Zf/Zi

Page 14: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Filtres numériques

• Deux types fondamentaux– À réponse impulsionnelle de durée finie (RIF)– À réponse impulsionnelle de durée infinie (RII)

• Analysés et conçus à l’aide de la transformée z– Adaptation de la transformée de Laplace aux systèmes à temps

échantillonnés avec le changement de variable z = eTs

– Permet donc de :• Déterminer la réponse d’un filtre numérique à un signal d’entrée• Étudier sa réponse en fréquence • Étudier sa stabilité

Page 15: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Transformée Z

• La transformée z d’un signal à temps échantillonné quelconque x[n] est définie par

où z = esTe, s étant la variable de Laplace et Te la période d’échantillonnage ; pour un signal causal k0=0.

• Il existe une relation biunivoque entre le signal et sa transformée z :

0][)(

kk

kzkxzX

x n Z X z

Page 16: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Fonctions de transfert numériques

• Si x[n] est l’excitation, h[n] la fonction de réponse du filtre á une impulsion et y [n] sa sortie, alors

et H( ) est la fonction de transfert du système.• Résultat similaire à ceux trouvés pour les transformée de

Fourier et Laplace :

Y z X z H z

Y j X j H j

Y s X s H s

Page 17: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Ex. : donne

• L’effet du numérateur et du dénominateur peut être représenté par des vecteurs qui partent de pôles ou zéros et se rejoignent en un point commun sur le cercle unité.

• Les rapports d’amplitudes et les angles des vecteurs définissent la réponse en fréquence.

Diagrammes de placement des pôles-zéros et réponse en fréquence

31

z

z3)z(H

31

e

e3)e(H

j

jj

Re

Im

1

pôle

zérocercle unité

-1/3

31

e

e3)e(H

j

j

j

3

1ee3)e(H jjj

Page 18: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Comparaison entre RII et RIFRIFRIF RIIRII

Stable par défaut Demande n>> 1 pour une bonne

performance Peut demander un temps de calcul

escessif La gamme dynamique se calcule

facilement Réponse en phase linéaire si filtre

causal Ne possède pas d’équivalent

analogique stable

La stabilité dépend de la position des pôles de H(z)

Peut donner une performance adéquate pour n=1 ou 2

La gamme dynamique se calcule difficilement

Peut nuire à la performance Réponse en phase non linéaire en

général Effets de quantification et d’arrondi

plus prononcés que pour RIF. Possède un équivalent analogique

1N

0n

nz]n[hzH

1M

1k

kk

1N

0k

kk

za1

zbzH

Page 19: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Propriétés d’un filtre RIF• Équation d’e/s :

1

0

N

kk knxbny

x[n] représente les valeurs successives du signal d’entrée,

bk représente les coefficients de la fonction de transfert du filtres,

y[n] représente les valeurs successives du signal de sortie,

N est le nombre de coefficients du filtre(l’ordre).

Page 20: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Réponse en fréquence d’un filtre FIR• La transformée z de

La fonction de réponse en fréquence du filtre est obtenue en remplaçant z by ejTe :

1

0

N

k

kzkhzH

1

0

N

k

Tjk

eze

eTj enhHzH

1

0

N

k

kn]k[hnh

est:

La similarité de H() avec une série de Fourier suggère une méthode pour trouver h[n] !

Page 21: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Propriétés d’un filtre RII

• Équation d’e/s :

1M

1k

1N

0k

knykaknxkbny

x[n] représente les valeurs successives du signal d’entrée,ak, bk représentent les coefficients de la fonction de transfert du

filtres,y[n] représente les valeurs successives du signal de sortie,N, M représentent les ordres du numérateur et du dénominateur

de H(Z) (M est souvent appelé l’ordre du filtre).

Page 22: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Réponse en fréquence d’un filtre RII La transformée z de

La fonction de réponse en fréquence du filtre est obtenue en remplaçant z by ejTe :

est :

1M

1kk

1N

0kk knyaknxbny

1M

1k

kk

1N

0k

kk

za1

zbzH

1M

1k

Tjkk

1N

0k

Tjkk

eze

e

eTj

ea1

ebzH)(H

Page 23: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Puisque e-j2k = 1, on a :

La réponse en fréquence est périodique avec période 2/Te dans le cercle de rayon unité. Si on normalise Te à 1, on a

Propriétes de la réponse en fréquence numérique

HT

k2H

e

Hk2H

Page 24: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Conception d’un filtre numérique

Cinq étapes requises :

1. Spécification du filtre

2. Calcul des coefficients.

3. Choix d’une architecture de mise en oeuvre.

4. Simulation (option).

5. Implémentation.

Dans la suite, on discute les filtres RII

Page 25: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

(a)

1

f(norm)fc : cut-off frequency

pass-band stop-band

pass-band stop-bandtransition band

1

s

pass-bandripple

stop-bandripple

fpb : pass-band frequency

fsb : stop-band frequency

f(norm)

(b)

p1

s

p0

-3

p1

fs/2

fc : cut-off frequency

fs/2

|H(f)|(dB)

|H(f)|(linear)

|H(f)|

Étape 1 : spécification du filtre

Page 26: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

• Il existe deux approches :– Placement direct des pôles et zeros dans la plan z– Conversion d’un filtre analogique :

• Par transformation bilinéaire• En utilisant le principe de l’invariance de la réponse

impulsionnelle

• Dans le cas de la transformation d’un filtre analogique, on part souvent de l’équation d’un filtre passe bas normalisé que l’on adapte au type désiré (passe haut, passe bande, etc.) avant la conversion.

Étape 2 : calcul des coefficients

Page 27: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Méthode du placement des pôles et zéros

• Basée sur le principe que, dans le plan z :– Le placement d’un zéros ~ |z|=1 minimise la fonction de

réponse en fréquence du filtre à cet endroit.– Le placement d’un pôle ~ |z|=1 maximise la fonction de

réponse en fréquence du filtre à cet endroit.– Pour obtenir un filtre avec des coefficients réels (donc

réalisable), il faut que les pôles et zéros soient à valeurs réelles ou qu’ils apparaissent pas paires conjuguées.

• Méthode intuitive mais qui demande un réglage fin

Page 28: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Méthode du placement des pôles et zéros

• Exemple :

Page 29: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Méthode du placement des pôles et zéros% Conception et simulation d’un filtre par placement de pôles et zéros

pole1 = 0.5+0.5i; % création de deux paires de pôles conjuguéspole2 = 0.8 +0.25i;pole3 = conj(pole1); pole4 = conj(pole2);poles = [pole1 pole2 pole3 pole4];

zero1 = -0.5 + 0.8i; % création de deux paires de zéros conjuguészero2 = -0.2 + 0.9i;zero3 = conj(zero1); zero4 = conj(zero2);zeros = [zero1 zero2 zero3 zero4];

denz=poly(poles); % conversion des pôles en dénominateur de H(z)numz=poly(zeros); % numérateur de H(z) = 1zplane(numz, denz); % affichage des pôles et zérosfigure(2); freqz(numz,denz,256); % affichage de la réponse en fréquence

t=[0:1:127]; % test avec 128 valeurs d’un sinus corrompux=sin(2*pi*t/24);x=x+rand(1,128)-0.5;y=filter(numz,denz,x);figure(3); plot(t,500*x,'b',t,y,'k');axis([0 128 -1000 1000]);axis('normal');

Page 30: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

-1 -0.5 0 0.5 1

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Real Part

Ima

gin

ary

Pa

rt

0 0.2 0.4 0.6 0.8 1-300

-200

-100

0

100

Normalized Frequency ( rad/sample)

Pha

se (

de

gre

es)

0 0.2 0.4 0.6 0.8 1-40

-20

0

20

40

60

Normalized Frequency ( rad/sample)

Mag

nitu

de

(dB

)

0 20 40 60 80 100 120-1000

-800

-600

-400

-200

0

200

400

600

800

1000

Méthode du placement des pôles et zéros

Page 31: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

% Autre exemple en utilisant des coordonnées polaires

angl=[0.2: 0.1: 0.5]*pi/2; % création de 4 paires conjuguées de pôles

poles=0.85*exp(j*angl);

poles=[poles 0.85*exp(-j*angl)];

denz=poly(poles) % conversion des pôles en dénominateur de H(z)

numz=[1]; % numérateur de H(z) = 1

zplane(numz, denz); % affichage des pôles et zéros

figure(2); freqz(numz,denz,256); % affichage de la réponse en fréquence

t=[0:1:127]; % test avec 128 valeurs d’un sinus bruité

x=sin(2*pi*t/24);

x=x+rand(1,128)-0.5;

y=filter(numz,denz,x);

figure(3); plot(t,500*x,'b',t,y,'k');axis([0 128 -1000 1000]);axis('normal');

Méthode du placement des pôles et zéros

Page 32: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

0 20 40 60 80 100 120-1000

-800

-600

-400

-200

0

200

400

600

800

1000 0 0.2 0.4 0.6 0.8 1-400

-300

-200

-100

0

Normalized Frequency ( rad/sample)

Pha

se (

de

gre

es)

0 0.2 0.4 0.6 0.8 1-40

-20

0

20

40

60

Normalized Frequency ( rad/sample)

Mag

nitu

de

(dB

)

-1 -0.5 0 0.5 1

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

8

Real Part

Ima

gin

ary

Pa

rtMéthode du placement des pôles et zéros

Page 33: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Conversion d’un filtre analogique • Méthode la plus « simple »• Exploite le fait qu’il existe des méthodes établies de

conception de filtres analogiques.• Consiste à concevoir un filtre analogique et à le convertir

en filtre numérique.• Les deux méthodes les plus utilisés sont :

– L’invariance de la réponse impulsionnelle :

– La transformation bilinéaire :

enTtth]n[h

...s)s(H)z(H

Page 34: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Méthode de l’invariance de la réponse impulsionnelle

% Conception d’un filtre par la méthode de l’invariance de la réponse impulsionnelle

[num,den]=butter(15,2*pi,'s'); % Filtre Passe Bas de Butterworth dans le domaine s avec N=15, fc=1 Hz

[a,p,K] = residue(num,den); % Décomposition en fractions élémentaires par la méthode des résidus :

figure(1); plot(p,'xk'); % digramme des pôles maqués par des x noirs

figure(2); freqs(num,den); % réponse en fréquence analogique

% dans s donne dans t, ce qui donne dans z :

%

%

Te=0.05; % fe=20Hz (=> fc normalisé = 1Hz/(fe/2) =0.1)

pz=exp(p*Te); % conversion des pôles dans s en des pôles dans z

az=-a.*pz; % détermination des coefficients des fractions élémentaires correspondantes

K=K*sum(a); % Terme continu

[numz,denz] = residue(az,pz,K); % détermination de H(z) à partir des fractions élementaires dans z

figure(3); zplane(numz, denz); % digramme des pôles et zéros dans le plan z

figure(4); freqz(numz,denz); % réponse en fréquence numérique

enTtth]n[h

i i

i

ps

aKsH )(

21 ps

B

ps

A

tptp 21 BeAe

e2

e2

e1

e1

e2e1 Tp

Tp

Tp

Tp

TpTp ez

Be

ez

AeBA

ez

zB

ez

zA

Page 35: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

-7 -6 -5 -4 -3 -2 -1 0-8

-6

-4

-2

0

2

4

6

8

10-1

100

101

102

-200

-100

0

100

200

Frequency (rad/s)

Pha

se (

de

gre

es)

10-1

100

101

102

10-20

10-10

100

Frequency (rad/s)

Mag

nitu

de

-1 -0.5 0 0.5 1 1.5 2 2.5 3

-1.5

-1

-0.5

0

0.5

1

1.5

Real Part

Ima

gin

ary

Pa

rt

10-2

10-1

100

-1500

-1000

-500

0

Normalized Frequency ( rad/sample)

Pha

se (

de

gre

es)

10-2

10-1

100

-200

-150

-100

-50

0

50

Normalized Frequency ( rad/sample)

Mag

nitu

de

(dB

)

ffcc==cc/2/2=1 Hz=1 Hz

ffcc==((cc/2/2))fe=1 Hz=1 Hz

Méthode de l’invariance de la réponse impulsionnelle

Page 36: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Normalement

On peut donc dériver H(z) de H(s) par la transformation

Cette transformation donne des équations compliquées

La transformation bilinéaire utilise l’approximation d’une surface continue par un ensemble de surfaces trapézoïdales.

Méthode de la transformation bilinéaire

)zln(T

1s

e

)s(H)z(H

)zln(T

1sez

e

sTe

Page 37: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Si , alors et jouent le même rôle

dans les domaines s et z

On peut donc dériver H(z) de H(s) par la transformation

)z(Y

z

zT)z(A

)z(YTz

)z(Az)z(A

T)T)k((y)kT(y)T)k((A)kT(A

)s(Ys

)s(Ad)(y)t(A

e

e

eeeee

t

1

1

11

1

1

2

2

12

11

1

Méthode de la transformation bilinéaire

k-1 k t=kTe

y(t)

y((k-1)Te )

y(kTe )

A((k-1)Te )

s

11

1e

z1

z1

2

T

)kT(A)t(A e

1

1

e z1

z1

T

2s

)s(H)z(H

Page 38: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

/*/*IIR.c IIR filter using cascaded Direct Form II. y(n)=S ax(n-k)-by(n-j)*/

Void IIR_Isr(void) {short a1 = 0x0; // coefficients du filtreshort a2 = 0x15f6; short b0 = 0x257d;short b1 = 0x4afd;short b2 = 0x257d;

static short p1=0, p2=0; // variables persistentes short xn, p0, y0; // variables d’e/sint prod1, prod2, prod3, prod4, prod5; // termes intermédiaires

xn = input_sample();pn=xn-((b0*p1)>>15)-((b1*p2)>>15);yn=((a0*pn)>>15) + ((a1*p1)>>15) + ((a2*p2)>>15);p2 = p1;p1 = p0;

output_sample(y0); // Envoyer le signal au port de sortie sériel }

>>15 non requis si calculs fait en virgule flottante>>15 non requis si calculs fait en virgule flottante Noter l’absence de boucles for.Noter l’absence de boucles for.

Étape 5 : mise en oeuvre

Page 39: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens

Étape 5 : mise en oeuvreCode c plus rapideCode c plus rapidevoid IIR_Isr (void)

{short a1 = 0x0; // coefficients du filtreshort a2 = 0x15f6; short b0 = 0x257d;short b1 = 0x4afd;short b2 = 0x257d;

static short p1=0, p2=0; // variables persistentes short xn, p0, y0; // variables d’e/sint prod1, prod2, prod3, prod4, prod5; // termes intermédiaires

xn = input_sample();prod1 = _mpy(p2,a2);prod2 = _mpy(p1,a1);p0 = xn + (short)((prod1 + prod2)>>15);prod3 = _mpy(p1,b1);prod4 = _mpy(p2,b2);prod5 = _mpy(p0,b0);y0 = (short)((prod3+prod4+prod5)>>15);p2 = p1;p1 = p0;

output_sample(y0); // Envoyer le signal au port de sortie sériel }

>>15 non requis si calculs fait en virgule flottante>>15 non requis si calculs fait en virgule flottante

Page 40: MIC7340 Chapitre 12 Filtres. Passe-basPasse-haut Passe-bandeCoupe-bande fcfc fcfc f c1 f c2 f c1 f c2 Idéal Réalisable Peuvent être réalisés par des moyens