La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

MIC7340 Chapitre 12 Filtres.

Présentations similaires


Présentation au sujet: "MIC7340 Chapitre 12 Filtres."— Transcription de la présentation:

1 MIC7340 Chapitre 12 Filtres

2 Quatres types fondamentaux
Passe-bas Passe-haut Idéal Réalisable fc fc Passe-bande Coupe-bande fc1 fc2 fc1 fc2 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

3 Série de Fourier Permet de représenter tout signal périodique par une combinaison de signaux sinusoïdaux :

4 Série et transformée de Fourier
L’égalité sin() + j cos()=e j permet aussi d’écrire : Chaque terme se distingue par une amplitude ck et un angle de phase k=k0t 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)

5 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 In the undergraduate curriculum, usually there are 3 transform pairs that are studied. These are The Laplace Transform The Fourier Transform The Z-Transform The Laplace transform is usually used in solving continuous linear differential equations of the type encountered in circuit theory and systems. The advantage of the Laplace transform is that it makes cumbersome differential equations algebraic and therefore the math becomes simpler to handle. In the end we can take the inverse and go back to the time domain. In systems, for example, we stay with the Laplace variable “s” while investigating system stability, system performance. We use tools such as the root locus and block diagrams which are directly in the s variable. Even Bode is used where s is replaced by jw. We are “walking” with one foot in s but thinking the time domain. The Fourier transform is used very much in communication theory, field theory and generally in the study of signal spectrum and both analog and digital filter analysis and design. The Z-transform is sort of similar to the Laplace transform. In fact, many of the manipulations such as partial fraction expansion, taking the inverse, interrupting stability are very similar to those performed in the Laplace. The big difference is that the Z-transform is used for discrete systems and difference equations. At the University of Tennessee you will be studying the Fourier and Z-transforms in your junior year and you will also study the Laplace transform again.

6 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

7 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

8 Moyens de mise en oeuvre des filtres
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

9 Filtre analogiques passifs
+ 0 dB . R + -3 dB Diagramme de Bode VI C VO _ _ 1/RC Filtre passe-bas de permier ordre 1 x Diagramme linéaire 0.707 1/RC Réponse en amplitude

10 Filtre analogiques passifs
0 dB . + -3 dB C Bode + Vi R _ VO 1/RC _ 1/RC 1 Filtre passe-haut de premier ordre x . 0.707 Linéaire 1/RC

11 Filtre analogiques passifs
+ C L 0 dB -3 dB lo hi . 1 0.707 Bode Linéaire + VO Vi R _ _ Filtre passe-bande du second-ordre

12 Filtre analogiques passifs
Example + R + L VO Vi _ C _ Matlab: num = [ ]; den = [ ]; w = 1 : 5 : 10000; Bode(num,den,w) Filtre coupe-bande de second-ordre : Bode Matlab

13 Filtre analogiques actifs
Filtre passe-bas du 1er ordre Filtre passe-haut du 1er ordre Filtre coupe-bande du 2nd ordre Rappel : Pour un ampli-op inverseur : G=-Zf/Zi Filtre passe-bande du 2nd ordre

14 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é

15 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 :

16 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 :

17 Diagrammes de placement des pôles-zéros et réponse en fréquence
Ex. : donne Re Im 1 pôle zéro cercle unité -1/3 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.

18 Comparaison entre RII et RIF
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

19 Propriétés d’un filtre RIF
Équation d’e/s : 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).

20 Réponse en fréquence d’un filtre FIR
La transformée z de est: La fonction de réponse en fréquence du filtre est obtenue en remplaçant z by ejTe : La similarité de H() avec une série de Fourier suggère une méthode pour trouver h[n] !

21 Propriétés d’un filtre RII
Équation d’e/s : 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).

22 Réponse en fréquence d’un filtre RII
La transformée z de est : La fonction de réponse en fréquence du filtre est obtenue en remplaçant z by ejTe :

23 Propriétes de la réponse en fréquence numérique
Puisque e-j2k = 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

24 Conception d’un filtre numérique
Cinq étapes requises : Spécification du filtre Calcul des coefficients. Choix d’une architecture de mise en oeuvre. Simulation (option). Implémentation. Dans la suite, on discute les filtres RII

25 Étape 1 : spécification du filtre

26 Étape 2 : calcul des coefficients
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.

27 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

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

29 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 = i; % création de deux paires de pôles conjugués pole2 = i; pole3 = conj(pole1); pole4 = conj(pole2); poles = [pole1 pole2 pole3 pole4]; zero1 = i; % création de deux paires de zéros conjugués zero2 = i; 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) = 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 corrompu 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([ ]);axis('normal');

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

31 Méthode du placement des pôles et zéros
% 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([ ]);axis('normal');

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

33 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 :

34 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

35 Méthode de l’invariance de la réponse impulsionnelle
fc=c/2=1 Hz fc=(c/2)fe=1 Hz

36 Méthode de la transformation bilinéaire
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.

37 Méthode de la transformation bilinéaire
k k t=kTe y(t) y((k-1)Te ) y(kTe ) A((k-1)Te ) 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

38 Étape 5 : mise en oeuvre /*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 filtre short 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/s int 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 Noter l’absence de boucles for.

39 Étape 5 : mise en oeuvre Code c plus rapide
void IIR_Isr (void) { short a1 = 0x0; // coefficients du filtre short 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/s int 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

40


Télécharger ppt "MIC7340 Chapitre 12 Filtres."

Présentations similaires


Annonces Google