MIC7340
This presentation is the property of its rightful owner.
Sponsored Links
1 / 40

MIC7340 Chapitre 12 Filtres PowerPoint PPT Presentation


  • 107 Views
  • Uploaded on
  • Presentation posted in: General

MIC7340 Chapitre 12 Filtres. Quatres types fondamentaux. Passe -bas. Passe -haut. Idéal Réalisable. f c. f c. Passe-bande. Coupe- bande. f c1. f c2. f c1. f c2. Peuvent être réalisés par des moyens analogiques ou numériques

Download Presentation

MIC7340 Chapitre 12 Filtres

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Mic7340 chapitre 12 filtres

MIC7340

Chapitre 12

Filtres


Mic7340 chapitre 12 filtres

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


S rie de fourier

Série de Fourier

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


S rie et transform e de fourier

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)


Mic7340 chapitre 12 filtres

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çantj par s dans l’une ou l’autre

      • En pratique, la transformée de Fourier est plus facile d’usage


Mic7340 chapitre 12 filtres

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


Fonction de transfert

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


Mic7340 chapitre 12 filtres

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


Mic7340 chapitre 12 filtres

Filtreanalogiquespassifs

.

+

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

0

Réponse en amplitude


Mic7340 chapitre 12 filtres

Filtreanalogiquespassifs

0 dB

.

+

-3 dB

Bode

C

+

R

Vi

VO

_

1/RC

_

1/RC

1

Filtre passe-haut de premier ordre

x

.

0.707

Linéaire

0

1/RC


Mic7340 chapitre 12 filtres

Filtreanalogiquespassifs

+

C

L

0 dB

.

.

+

VO

Bode

Vi

R

-3 dB

_

_

lo

hi

Filtre passe-bande du second-ordre

1

.

.

0.707

Linéaire

lo

hi

0


Mic7340 chapitre 12 filtres

Filtreanalogiquespassifs

Example

+

R

+

L

VO

Vi

_

C

_

Matlab:

num = [1 0 300000];

den = [1 3100 300000];

w = 1 : 5 : 10000;

Bode(num,den,w)

Filtre coupe-bande de second-ordre :

Bode

Matlab


Mic7340 chapitre 12 filtres

Filtreanalogiquesactifs

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


Filtres num riques

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é


Transform e z

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 Tela période d’échantillonnage ; pour un signal causal k0=0.

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


Fonctions de transfert num riques

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 :


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

Im

pôle

cercle unité

zéro

Re

1

-1/3

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

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.


Comparaison entre rii et rif

Comparaison entre RII et RIF


Propri t s d un filtre rif

Propriétés d’un filtre RIF

  • Équation d’e/s :

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

bkrepré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).


R ponse en fr quence d un filtre fir

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] !


Propri t s d un filtre rii

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).


Mic7340 chapitre 12 filtres

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:


Mic7340 chapitre 12 filtres

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


Mic7340 chapitre 12 filtres

Conception d’un filtre numérique

  • Cinqétapesrequises :

    • Spécification du filtre

    • Calcul des coefficients.

    • Choixd’une architecture de mise en oeuvre.

    • Simulation (option).

    • Implémentation.

  • Dans la suite, on discute les filtres RII


Tape 1 sp cification du filtre

Étape 1 : spécification du filtre


Mic7340 chapitre 12 filtres

É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.


M thode du placement des p les et z ros

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


M thode du placement des p les et z ros1

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

  • Exemple :


M thode du placement des p les et z ros2

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

pole2 = 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és

zero2 = -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) = 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([0 128 -1000 1000]);axis('normal');


M thode du placement des p les et z ros3

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


Mic7340 chapitre 12 filtres

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([0 128 -1000 1000]);axis('normal');


M thode du placement des p les et z ros4

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


Conversion d un filtre analogique

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 :


Mic7340 chapitre 12 filtres

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


Mic7340 chapitre 12 filtres

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

fc=c/2=1 Hz

fc=(c/2)fe=1 Hz


Mic7340 chapitre 12 filtres

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.


Mic7340 chapitre 12 filtres

Méthode de la transformation bilinéaire

y((k-1)Te )

y(t)

y(kTe )

A((k-1)Te )

k-1 k t=kTe

  • 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


Mic7340 chapitre 12 filtres

Étape 5 : mise en oeuvre

/*IIR.c IIR filterusingcascaded 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; // termesintermé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.


Tape 5 mise en oeuvre

Étape 5 : mise en oeuvre

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

}

Code c plus rapide

>>15 non requis si calculs fait en virgule flottante


  • Login