Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Chapitre 4 - Synthèse Des Filtres RIF

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 15

Analyse et Filtrage des signaux numériques M1 ST/TRM (2016/2017)

IV. Conception des Filtres Numériques RIF

Le traitement numérique a conduit à une amélioration importante des dispositifs de filtrage linéaire
notamment en termes de fiabilité, de reproductibilité, de souplesse et de complexité des fonctions réalisables. En
outre, les filtres numériques ont aussi d'autres propriétés difficiles qu'il n'est pas aisé de mettre en œuvre dans le
cas des filtres analogiques, entre autres : le filtrage numérique en temps réel (transmissions numériques, codage
des sons MP3, synthèse de parole, télévision numérique par exemple). La plupart des modèles de filtres
analogiques peuvent ainsi être reproduits sous forme numérique. Les éléments physiques (résistance, capacité,
inductance, amplificateurs opérationnels) sont en quelque sorte transposés en éléments logiques [17].

1. Synthèse des Filtres numériques et Gabarit analogique

La synthèse d’un filtre est un ensemble de processus qui débute par la définition des caractéristiques du
filtre, jusqu’à sa réalisation informatique et/ou électronique, en passant par la détermination de ses coefficients.
Pour synthétiser un filtre numérique, on considère connu le gabarit du filtre analogique et on cherche un système
numérique caractérisée par une fonction de transfert H(z) à insérer dans le circuit ci-dessus permettant de
satisfaire le gabarit analogique.

x(t) y(t)
Système analogique
Ha(p)

x(t) Filtre anti- Système numérique y(t)


CAN CNA
repliement H(z)

La détermination de la fonction de transfert d’un filtre numérique, par une méthode directe, n’est pas
toujours très simple. Par contre, le problème qui consiste à transformer un filtre analogique en un filtre numérique
est relativement simple. De ce fait, de nombreuses méthodes sont proposées pour concevoir un filtre numérique
à partir du filtre analogique équivalent. Dans tous les cas, la synthèse d’un filtre numérique est une approximation
d’un filtre analogique idéal équivalent. Il est nécessaire de contraindre un certain nombre de paramètres.

La synthèse d’un filtre numérique comprend les étapes suivantes :

1. la détermination d’une réponse en fréquence idéale souhaitée ;

2. la détermination de la meilleure approximation sous un certain nombre de contraintes contrainte (stabilité,


rapidité, précision, déphasage linéaire, etc.) ;

3. le choix d’une structure de calcul réalisant le filtre approximé.

FEI,USTHB [asssiakourgli@gmail.com 57
Analyse et Filtrage des signaux numériques M1 ST/TRM (2016/2017)

Les fonctions modèles utilisées pour la synthèse des filtres sont soit la réponse impulsionnelle soit la
réponse en fréquence (celle-ci est préférée) de filtres analogiques connus. Si l'on emploie la réponse
impulsionnelle, les éléments h(n) de la réponse impulsionnelle numérique sont obtenus en calculant h(t), la
réponse impulsionnelle du filtre analogique, aux instants t=nTe.

Rappelons que les filtres idéaux présentent un déphasage 0.04

linéaire et ne sont pas physiquement réalisables, car les réponses 0.035

fréquentielles idéales correspondent à une réponse temporelle non- 0.03

Réponse impulsionnelle h(n)


causale. Par exemple, en considérant le filtre passe-bas H(f)= Π(f) e- 0.025

2̟jfT, on obtiendra un sinc décalé de T. 0.02

0.015

On peut observer qu'il faut annuler une partie du signal. De ce 0.01

fait, il n'est plus possible d’obtenir un filtre passe-bas idéal (droit et 0.005

avec une droite de transition perpendiculaire). Il s'ensuit que les 0

-0.005
filtres qui vont pouvoir être réellement synthétisés n'ont pas de
-0.01
réponse fréquentielle correspondant à la fonction porte, mais 0 5 10 15
t(s)
pourront s'en rapprocher.

2 10

1.8
8
1.6

6
Réponse impulsionnelle h(n)

1.4

1.2
4
H(f) idéal

1
TF 2
0.8

0.6 0

0.4

Troncature
-2
0.2

0 -4
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 -10 -8 -6 -4 -2 0 2 4 6 8 10
frequence (Hz) t(s)
2 10

1.8
8
1.6

1.4 6
Réponse impulsionnelle h(n)

1.2
4
H(f) réel

0.8 2

0.6
TF 0
0.4
-2
0.2

0 -4
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 -10 -8 -6 -4 -2 0 2 4 6 8 10
frequence (Hz) t(s)

Comme l'illustre la figure suivante, la troncature (multiplication par une porte de largeur NTe) du sinc dans
le domaine temporel se traduira par une convolution dans le domaine fréquentiel du filtre idéal avec un sinc
s'annulant tous les NTe. Pour de grandes valeurs de N, les sinc dans la bande passante se compenseront les uns
les autres mais autour des points de discontinuité (fréquence de coupure), les ondulations restent apparentes.

FEI,USTHB [asssiakourgli@gmail.com 58
Analyse et Filtrage des signaux numériques M1 ST/TRM (2016/2017)

0.06

0.04

0.02

-0.02
-5 -4 -3 -2 -1 0 1 2 3 4 5

0.06

0.04

0.02

-0.02
-5 -4 -3 -2 -1 0 1 2 3 4 5
On peut observer que les différences vis-à-vis du filtre idéal (soit la fonction porte) sont principalement les
ondulations dans la bande passante et dans la bande atténuée ainsi que la largeur de la transition.

C'est ainsi que les spécifications du filtre vont être définies par un gabarit fréquentiel linéaire ou en dB
(décibels). Ce gabarit indique la ou les fréquences de coupure, la largeur de la bande de transition minimale
souhaitée, le maximum d’ondulation de la bande passante et de la bande atténuée, la fréquence d'échantillonnage
et éventuellement l'ordre maximal permis.

Gabarit d’un filtre


1.4
Le gabarit d’un filtre n’est autre que l’ensemble des caractéristiques
du filtre, à savoir : 1.2
|H(f)|
- la bande passante (BP) de 0 jusqu'à fp 1+δ1
1
- la bande atténuée (ou coupée BA) de fa jusqu'à fe/2 1-δ1
- Le gain du filtre dans la bande passante. 0.8
Amplitude

- L’atténuation du filtre en bande coupée fa. 0.6


-- la largeur ∆f=fa-fp de la zone de transition⇒fc=fa+∆f /2 =(fa+fp)/2
0.4
- l'amplitude des oscillations en bande passante :
δ2 fp fa
δ1 ⇒Ap=20log(1+δ1) ondulation permise en BP 0.2

- l'amplitude des ondulations en bande atténuée :


0
δ2⇒Aa=-20log(δ2) ondulation permise en BA
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Bande passante Bande de transition Bande atténuée f

En pratique, plus les fréquences fa et fp sont proches, plus l'ordre du filtre devra être élevé. Pour un filtre idéal, ces
valeurs seraient confondues

FEI,USTHB [asssiakourgli@gmail.com 59
Analyse et Filtrage des signaux numériques M1 ST/TRM (2016/2017)
2. Synthèse des filtres RIF

L'emploi des filtres RIF peut se révéler attrayant eu égard à ses nombreux avantages : stabilité inconditionnelle
(Tous les pôles sont en 0), phase linéaire possible. Néanmoins, ils présentent l'inconvénient de nécessiter un plus
grand nombre de coefficients que les filtres RII pour obtenir les mêmes caractéristiques fréquentielles à cause de
l'absence de pôles hors 0. Ainsi, toute fonction de filtrage numérique stable et causale peut être approchée par la
fonction de transfert d'un filtre RIF.

Rappelons que la sortie d'un filtre RIF va s'exprimer comme une combinaison linéaire d'un ensemble fini
d'éléments d'entrée :

N N N
y (n) = ∑ bi x(n − i ) d’où H ( z ) = ∑ bn .z −n ⇒ H ( f ) = ∑ bn .e − 2 π j f nTe
i =0 n =0 n=0

Ainsi, les coefficients de pondération ne sont rien d'autre que les valeurs de la réponse impulsionnelle du filtre.
Ces coefficients constituent les coefficients du développement en série de Fourier de la fonction de transfert H(f)
(voir TFTD chapitre 3)

Du fait qu'un filtre RIF possède une fonction de transfert polynomiale (non rationnelle), il ne peut être obtenu par
transposition d'un filtre continu. Les deux méthodes les plus utilisées pour l’approximation des filtres
numériques RIF sont alors:

o Développement par série de Fourier : cette série est ensuite tronquée par des fonctions fenêtres pour
limiter la réponse impulsionnelle. Les coefficients de Fourier coïncident avec les échantillons de la réponse
impulsionnelle du Filtre.

o Echantillonnage de la réponse fréquentielle : Cette méthode fait appel à la TFD. Celle-ci est appliquée aux
coefficients recherchés bi pour obtenir une suite fréquentielle qui corresponde à la réponse fréquentielle
du filtre.

Il existe d'autres méthodes telles les méthodes d’optimisation qui sont basées sur la minimisation d’un critère
d’erreur entre la courbe réelle et le filtre idéal [9].

3. Méthode de la fenêtre

Cette technique consiste, connaissant l'expression analytique H(f) de la réponse fréquentielle continue (dont la
formulation mathématique connue) à approcher, à déterminer par utilisation de la transformée de Fourier à temps
discret inverse, la réponse impulsionnelle. Cette réponse temporelle non causale obtenue sera retardée pour la
rendre causale [18]. Ainsi :

1. A partir du gabarit idéal du filtre, on détermine les coefficients du filtre en limitant le calcul à N valeurs
réparties symétriquement autour de n=0. Puis, on calcule de la TFTD inverse du filtre idéal qui nous permettra
de retrouver les échantillons de la réponse impulsionnelle soient les coefficients du filtre :

FEI,USTHB [asssiakourgli@gmail.com 60
Analyse et Filtrage des signaux numériques M1 ST/TRM (2016/2017)

 1 fe / 2
 ∫ H ( f )e 2 π j f n Te df N impair
 f e − fe / 2
h(n) =  f e / 2
1 H ( f )e − j π f Te e 2 π j f n Te df N pair
 f e − f∫/ 2
 e

2. Cette méthode produit une série infinie de coefficients, on limite, alors la réponse impulsionnelle à N
échantillons (troncature). Sachant que la troncature induit des ondulations, on peut faire appel aux fenêtres de
pondération pour les atténuer. Ainsi, la réponse impulsionnelle idéale h(n) sera multipliée par la fenêtre discrète
wN(n) de longueur N:

h'N(n)=h(n).wN(n). (Choix de la fenêtre : voir chapitre 3)

3. Il ne reste plus qu'à décaler la réponse impulsionnelle h'(n) pour avoir une solution causale.

Remarque : Pour le choix de fc il faudra faire attention aux fréquences de coupure à prendre en compte. Afin d'avoir
de bons résultats lors de la synthèse, ce ne sont pas les fréquences de coupure du filtre idéal qu'il faut utiliser mais
il faut déplacer celles-ci afin de les centrer dans la zone de transition. Pour un passe-bas, l'augmenter de la demi
zone de transition (∆f), soit fp+ ∆f et pour un passe-haut, la diminuer de la demi zone de transition. Pour un passe-
bande, diminuer la première fréquence de coupure de la demi zone de transition et augmenter la seconde de la
demi zone de transition, pour un rejecteur de bande, on fera l'inverse.
|H(f)|
Exemple :

- Calcul de la réponse impulsionnelle idéale (cas N impair)

fe / 2
1 2 π j f nTe
h( n ) =
fe ∫ H ( f )e
− fe / 2
df

]
fc
1 2 π j f nTe 1
e 2π j f nTe
fc
On pose fc=(fp+fa)/2 ⇒ h(n) =
fe ∫e
− fc
df =
2πjnfeTe
− fc

e 2 π j fc nTe − e −2 π j fc nTe sin( 2 π f c nTe ) sin(π n f c /( f e / 2))


⇒ h(n) = == =
2πjn πn πn

On normalise les fréquences par rapport à fe/2 (ou fe) c.a.d que l’on remplace partout fc par fc/(fe/2), on obtient
alors :

sin(π n f c /( f e / 2)) f c /( f e / 2) sin(π n f c )


h( n) = = fc
πn f c /( f e / 2) πnf c

Tout aussi facilement, on peut déterminer les réponses impulsionnelles d’un passe-haut (1-H(f)), d’un passe-
bande (différence de 2 passe-bas) et d’un coupe-bande données. Les valeurs de la réponse impulsionnelle idéale
h(n) sont données au tableau suivant. Les fréquences fc indiquées dans ce tableau (fréquences de coupure désirées)
s'expriment également en fréquences normalisées (divisées par fe/2).

FEI,USTHB [asssiakourgli@gmail.com 61
Analyse et Filtrage des signaux numériques M1 ST/TRM (2016/2017)
Réponse impulsionnelle h(n)

Type de filtre h(n) pour n≠0 h(n) n=0


Passe-bas sin(π n f c ) fc
fc
πnf c
Passe-haut sin(π n f c ) 1-fc
− fc
πnf c
Passe-bande sin(π n f c 2 ) sin(π n f c1 ) fc2- fc1
f c2 − f c1
πnf c 2 πnf c1
Rejécteur de bande sin(π n f c1 ) sin(π n f c 2 ) 1-(fc2- fc1)
f c1 − f c2
πnf c1 πnf c 2

- Limitation du nombre d'échantillons à N

h'N(n)=h(n).w(n)

 N −1
1 si n ≤ sin( Nπf ) H 'N ( f ) = H ( f ) *W ( f )
si w(n) =  2 ⇒ W( f ) =
0 ailleurs sin(πf )

La troncture temporelle introduit des ondulations et induit une zone de transition moins rapide déterminée
par la largeur du lobe principal. Un compromis est à faire entre la raideur et l'amplitude des ondulations. Notons
que cette méthode donne des ondulations de même amplitude dans la bande passante et dans la bande atténuée.

Remarque: Si N augmente, l'étendue des oscillations diminue


1.4
(la réponse est plus plate) et la largeur de la bande de Passe-bande avec Fen Rectangulaire (N=51)
Passe-bande avec Fen Hanning (N=51)
transition décroît (∆f faible). On peut observer que les 1.2
Passe-bande avec Fen Rectangulaire (N=91)
oscillations les plus fortes tendent à se concentrer aux
1
discontinuités. Ces dernières ne diminuent pas si N augmente
: on a toujours un dépassement à peu près égal à 9% se 0.8
concentrant aus points de discontinuité : c’est le phénomène
de Gibbs (Voir TP n°5). Pour diminuer les oscillations : on 0.6

utilise les fenêtres de pondération qui permettent d’obtenir de


0.4
forte atténuation des oscillations mais cela se fait au détriment
de la largeur de la bande de transition qui devient plus 0.2
grande.
0
0 200 400 600 800 1000 1200 1400 1600 1800 2000
fc1=500 fc2=1500 fe=4000Hz

Pour la choix de la fenêtre de pondération, on procédera comme suit : En fonction de l'atténuation δ1 requise
dans la spécification du filtre, on choisira le type de fenêtre w(n) à utiliser. Puis en fonction de la largeur de la
zone de transition ∆f (spécifiée aussi au départ) et du type de la fenêtre w(n), on déterminera la longueur de la
réponse impulsionnelle N.

FEI,USTHB [asssiakourgli@gmail.com 62
Analyse et Filtrage des signaux numériques M1 ST/TRM (2016/2017)
Fenêtres wN(n) Largeur de Atténuation en bande
Transition :∆f (2∆f / fe) atténuée A
 N −1 1.8/N 21
1 pour n ≤
wRe ct ( n ) =  2
0 ailleurs
 2πn N −1 6.2/N 44
0.5 + 0.5 cos( ) pour n ≤
wHan ( n) =  N −1 2
0 ailleurs
 2πn N −1 6.6/N 53
0.54 + 0.46 cos( ) pour n ≤
wHam ( n) =  N −1 2
0 ailleurs
 2πn 4πn N −1 11/N 74
0.42 + 0.5 cos( ) + 0.08cos( ) pour n ≤
wBlack (n) =  N −1 N −1 2
0 ailleurs

Exemple : On veut synthétiser un filtre passe-bas de fréquence de coupure fc = fe/10 avec ∆f = fe/5 et une
1.5
ondulation en bande atténuée > 50 db (voir TP n°4)

a- On normalise les fréquence fc/(fe/2)⇒fc=0.2 ∆f/(fe/2)⇒ ∆f =0.4 1

sin(π n / 5 )
b- h( n) = 0.2
0.5

πn / 5
Imaginary Part
16
16
0 X
c- On choisit w(n) comme étant la fenêtre de Hamming
-0.5
(Aa=20 log(δ2)= -53) ⇒ ∆f=6.6/N
-1
d- On calcule N=6.6/∆f =16,5 on prend N=17

sin(π n / 5 ) -1.5
e- on calcule les valeurs h(n)= 0.2 pour -8≤n≤8 -1.5 -1 -0.5 0 0.5 1 1.5

πn / 5
Real Part

n -8 -7 -6 -5 -4 -3 -2 -1 0
h(n) -0,0399 -0,0456 -0,0329 0 0,0493 0,1064 0,1597 0,1974 0,2110
n 1 2 3 4 5 6 7 8
h(n) 0,1974 0,1597 0,1064 0,0493 0 -0,0329 -0,0456 -0,0399 0.3
Réponse impusionnelle h(n)
f- On multiplie h(n) par w(n) pour trouver h’N(n)=h(n).w(n) 0.25 Réponse impusionnelle h'(n)

0.2
sin(π n / 5 )  2πn 
h' N (n) = 0.2  0.54 + 0.46 cos( ) 0.15
πn / 5  16  0.1

0.05
g- On translate le résultat de 8 échantillons.
0

n 0 1 2 3 4 5 6 7 8 -0.05
0 5 10 15 20
h(n) -0,0399 -0,0456 -0,0329 0 0,0493 0,1064 0,1597 0,1974 0,2110
h'N(n) -0,0031 -0,0050 -0,0067 0 0,0255 0,0730 0,1325 0,1826 0,2023
n 9 10 11 12 13 14 15 16
h(n) 0,1974 0,1597 0,1064 0,0493 0 -0,0329 -0,0456 -0,0399
h'N(n) 0,1826 0,1325 0,0730 0,0255 0 -0,006 -0,005 -0,0030

FEI,USTHB [asssiakourgli@gmail.com 63
Analyse et Filtrage des signaux numériques M1 ST/TRM (2016/2017)
1.4
1.5
Passe-bas avec Fen Rectangulaire (N=17)
Passe-bas avec Fen Hamming (N=17)
1.2
Passe-bas idéal
1

1
0.5

0.8

Imaginary Part
16
16
0
X
0.6

-0.5
0.4

-1
0.2

-1.5
0
0 200 400 600 800 1000 1200 1400 1600 1800 2000 -1 -0.5 0 0.5 1 1.5 2 2.5
Real Part
fc1=400 fe=4000Hz
On peut remarquer l'emplacement de zéros autour du premier 0 en 1 permet d'atténuer les lobes secondaire et de
maintenir une réponse cste autour du zéro.

4. Méthode de l'échantillonnage fréquentiel

La méthode de synthèse par échantillonnage en fréquence est appliquée depuis la réponse fréquentielle d’un
filtre continu idéal H(f) dont on ne connait pas la formule mathématique (on ne peut alors calculer h(n) par TF
inverse de H(f)). On utilise alors la transformation de Fourier Discrète inverse. C'est-à-dire que l'on
"échantillonne" la réponse désirée dans le domaine fréquentiel, on obtient N points de cette réponse fréquentielle
auxquels on fait correspondre N points de la réponse temporelle équivalente obtenus par TFD inverse [18] comme
suit :

On commence par échantillonner H(f) :

H (k ) = H ( f ) f =k / N
k = −( N − 1) / 2 à ( N − 1) / 2

( N −1) / 2
1
puis on applique la TFD inverse h(n) =
N
∑ H ( k )e π
k = − ( N −1) / 2
2 jk n/ N

Cette méthode de synthèse est très simple et permet de réaliser toute forme de filtre (chose qu'on ne peut
réaliser avec la méthode précédente). Cependant, cette méthode de synthèse ne garantit que les points
fréquentiels H(k). Entre ces points, la valeur de H(f) n'est pas maitrisée, il peut y avoir des oscillations qui ne sont
pas également réparties avec un maximum d’erreur entre la réponse idéale et la réponse obtenue se situant autour
de la bande de transition. Pour obtenir la réponse en fréquence du filtre finalement obtenu, on peut par exemple
appliquer une TFD à la réponse impulsionnelle h(n) de taille N obtenue, après avoir ajouté un grand nombre de
zéros. Par ailleurs, du fait de l'emploi d'une TFD inverse sur N points, la réponse impulsionnelle h(n) obtenue
est périodique de période N bien que la réponse impulsionnelle idéale souhaitée ne soit pas de durée limitée.

Exemple : On cherche à réaliser sous forme numérique un filtre passe-bas idéal de fréquence de coupure fc=fe/10
avec ∆f < fe/16. On prend donc N=17, ce qui nous donne ∆f =0.0588 (voir TP n°4)

FEI,USTHB [asssiakourgli@gmail.com 64
Analyse et Filtrage des signaux numériques M1 ST/TRM (2016/2017)
On a N = 17, H(0)=H(−1)=H(1)=1 et H(2)= H(−2)=...= H(8)= H(−8)=0. On peut en déduire, par transformation de
0.2
Fourier discrète (TFD), les valeurs de la réponse impulsionnelle Réponse impusionnelle h(n)

0.15

( )
( N −1) / 2
1 1
h( n) =
N
∑ H ( k )e
k = − ( N −1) / 2
2π j k n / N
h( n) =
17
1 + e − 2πjn / 17 + e 2πjn / 17 0.1

0.05

h( n) = (1 + 2 cos( 2πn / 17 )
1
pour -8 ≤ n ≤ 8
17 0

-0.05
Enfin, pour rendre ce filtre réalisable physiquement, on translate cette 0 5 10 15 20

réponse impulsionnelle de 8 échantillons. 1.4


Passe-bas avec Méthode Fenêtre
Passe-bas avec Méthode Echantillonnage N=17
1.2 Passe-bas idéal
1

0.8 1
0.6

0.4 0.8 H(0) H(1)


0.2 16
Imaginary Part

16 0.6
0
X
-0.2

-0.4
0.4

-0.6

0.2
-0.8

-1

-1 -0.5 0 0.5 1 1.5


0
Real Part
0 500 1000 1500 2000

H(2) H(3) H(4) H(5) H(6) H(7) H(8)

Sachant que H(k)*=H(-k) pour un signal h(n) réel, on peut, de manière générale, démontrer que :

 2πn  
( N −1) / 2
1 pour –N/2≤ n ≤N/2
h( n) =  H (0) + 2 ∑ H (k ) cos  
N k =1  N 

La réduction des oscillations peut aussi s'obtenir à travers le fenêtrage. Ci-dessous les coefficients du filtre h(n)
suivis de ceux obtenus après fenêtrage de Hamming h'N(n).

n 0 1 2 3 4 5 6 7 8
h(n) -0,0257 -0,0269 -0,0153 0,0114 0,0514 0,0985 0,1430 0,1749 0,1865
h'N(n) -0,0020 -0,0031 -0,0033 0,0041 0,0279 0,0705 0,1237 0,1688 0,1865
n 9 10 11 12 13 14 15 16
h(n) 0,1749 0,1430 0,0985 0,0514 0,01139 -0,0153 -0,0269 -0,0257
h'N(n) 0,1688 0,1237 0,0705 0,0279 0,0041 -0,0032 -0,0031 -0,0020

1.5 1.4
Passe-bas avec Méthode Echantillonnage (Rect)
Passe-bas avec Méthode Echantillonnage (Hamm)
1.2 Passe-bas idéal
1

1
0.5

16
Imaginary Part

0.8
16
0 X
0.6
-0.5

0.4
-1

0.2

-1.5

-1 -0.5 0 0.5 1 1.5 2 2.5 0


Real Part
0 500 1000 1500 2000

FEI,USTHB [asssiakourgli@gmail.com 65
Analyse et Filtrage des signaux numériques M1 ST/TRM (2016/2017)
Remarques: Pour le choix de N, il faut veiller à ce que fe/N soit inférieur à ∆f.
Par ailleurs, on peut quelques peu atténuer les ondulations en adoucissant les transitions dans la transmittance
du filtre. Pour cela, on introduira 0.5 entre 1 et 0, Mais de ce fait ∆f augmentera, on ajustera, alors, la valeur de N
en conséquence (2∆f < fe/16). Ce qui nous fournira une valeur de N de 33 et ∆f =0.0303. On prendra H(3)=
H(−3)=0.5. Ainsi H(0)=H(−1)=H(1)=H(2)=H(−2)=1 et H(3)=H(−3)=0.5 et H(4)=H(-4)=.......= H(32)= H(−32)=0.

h( n ) =
1
(1 + 2 cos(2πn / 33) + 2 cos(4πn / 33) + cos(6πn / 33)
33
1.4
pour -16 ≤ n ≤ 16 Passe-bas avec Méthode Echantillonnage F=17
Passe-bas avec Méthode Echantillonnage F=33
0.3 1.2 Passe-bas avec Méthode Echantillonnage F=33 + H(4)=0.5
Réponse impusionnelle h(n) pour N=17
0.25 Réponse impusionnelle h(n)pour N=33 1

0.2
0.8 H(0) H(1 ) H(2)

0.15
0.6
0.1
H(3)
0.4
0.05
0.2
0

-0.05 0
-20 -10 0 10 20 0 500 1000 1500 2000

H(4) H(5).................... .....................................H(16)


5. Constitution et réalisation des filtres numériques

Un filtre numérique est généralement constitué des éléments suivants : un ou plusieurs organes de retard (ce sont
des registres à décalage jouant le rôle de mémoires retardées), pilotés par une horloge de période; des opérateurs
arithmétiques (additionneurs et multiplieurs); des registres fournissant les coefficients de pondération du filtre
[18].

La réalisation concrète d'un filtre numérique consistera en fait à matérialiser l'algorithme de calcul pour la
structure retenue. On aura la possibilité de travailler : Soit en logique câblée (assemblage d'organes logiques, tels
que portes, mémoires, etc ...), soit en logique programmée (organisation autour d'un processeur de traitement du
signal (DSP) ou, même, utilisation d'un microprocesseur(micro-ordinateur) standard).

La structure canonique directe (transversale ou non récursive) est


donnée ci-contre:

Un filtre RIF nécessite (N-1) opérations de multiplication, N opération


d’addition pour chaque nouvel échantillon à filtrer.

On peut également exprimer la complexité en nombre de


multiplication-accumulation qui, dans le cas d’un filtrage RIF, vaut N
[9]. Le coût mémoire d’un filtrage RIF est de 2(N+1) [(N+1) coefficients
bi et (N+1) points mémoire pour le vecteur des entrées x(i)]. Si la
fréquence d’échantillonnage du signal d’entré vaut Fe, cela signifie
que le filtre devra être réalisé en un temps Tcalcul inférieur à Te = 1/fe .

FEI,USTHB [asssiakourgli@gmail.com 66
Analyse et Filtrage des signaux numériques M1 ST/TRM (2016/2017)
Série n° 4

1. Obtenir les coefficients d'un filtre à RIF passe-bas par la méthode de fenêtrage pour obtenir les spécifications
suivantes :
- Fréquence de coupure idéale : fc=1.75 kHz
- Largeur de transition : ∆f=0.5 kHz
- Atténuation en bande atténuée : A=-20 log10(δ)> 51 dB avec δ =min(δ1,δ2)
- Fréquence d'échantillonnage : fe=8 kHz

sin(π n f c ) sin(π n 0.4375 )


Solution : ∆f=0.125 fc= 0.4375 h(n) = f c = pour k≠0 et h(0)=fc
πnf c πn
hamming⇒N=53

Les coefficients du filtre sont symétriques, il suffira par conséquent de calculer les valeur de h(0) à h(26).

h(0) = fc = 0.4375 w(0) = 0.54 + 0.46cos(0) = 1 h(0) = hN(0) w(0) = 0.4375


 2πn N −1  2πn
0.54 + 0.46 cos( ) pour n ≤ 0.54 + 0.46 cos( ) pour n ≤ 26
w Ham (n) =  N −1 2 = 52
0 ailleurs 0 ailleurs

h(0)=0.4375, h(1)=h(-1)=0.311, h(2)=h(-2)=0.060, h(3)=h(-3)=-0.0856, h(4)=h(-4)=-0.053, h(5)=h(-5)=0.0325,


h(6)=h(-6)=0.0434, h(7)=h(-7)=-0.0075, h(8)=h(-8)=-0.0319 ,…………, h(26)=h(-26)=-0.0009.
Pour rendre le filtre causal, on ajoute 26 à chacun des indices.

2. On souhaite approcher un filtre idéal passe-haut par un filtre à réponse impulsionnelle finie, synthétisé par la
méthode du fenêtrage. Ce filtre doit répondre aux spécifications suivantes :
Fréquence de coupure fc=2 kHz
Largeur de transition : ∆f=0.5 kHz
Atténuation en bande atténuée : A=-20 log10(δ)> 40 dB avec δ =min(δ1,δ2)
Fréquence d'échantillonnage : fe=8 kHz
- Déterminer l’expression mathématique exacte de h’(n).
- Calculer h’(0) et tracer approximativement h’(n).
- Quel est l’intérêt du fenêtrage et quel est son inconvénient ?
- Quel est l’inconvénient de cette technique de synthèse des filtres?
- Citer un avantage et un inconvénient de la synthèse par des filtres RIF de même que par les RII.

sin(π n f c )
Solution : ∆f=0.5 fc= 0.125 h(n) = − f c pour k≠0 et h(0)=1-fc A>40 Hanning ⇒N=49
πnf c

sin(π n / 2 ) 2πn
h' ( n) = −0.5 (0.5 + 0.5 cos( )) h' (0) = 0.5
πn / 2 48

3. Soit un filtre passe-bas de coupure 0.25 et ∆f<0.08 (fe=1 ). On souhaite synthétiser un filtre d’ordre par la
méthode de l’échantillonnage fréquentielle.

Solution fc =0.25, fe=1 et N=13 ainsi :

(fe/N=0.07, 2fe/N =0.15, 3fe=0.23, 4fe/N=0.30) ⇒H(0)=H(1)=H(-1)=H(2)=H(-2)=H(3)=H(-3)=1 et les autres à 0

FEI,USTHB [asssiakourgli@gmail.com 67
Analyse et Filtrage des signaux numériques M1 ST/TRM (2016/2017)
1 ( N −1) / 2
2πkn  1  6
2πkn 
h( n) =  H (0) + 2 ∑ H (k ) cos( )  =  H (0) + 2∑ H (k ) cos( )
N k =1 N  13  k =1 N 
1 2πn 4πn 6πn 
h( n) =  H (0) + 2 cos( ) + 2 cos( ) + 2 cos( )
13  13 13 13 

4. Un filtre numérique est à implanter. La fréquence d'échantillonnage est fixée à 8kHz. Idéalement, on veut
supprimer la bande fréquentielle de 1kHz à 2 kHz.
- Tracez, pour ce filtre idéal, le module de H(f)
-Si on utilise la méthode d'échantillonnage en fréquence en prenant N points sur cette réponse idéale,
quel serait h(n) pour N=21.
- Quelle est l'inconvénient de cette méthode? comment y remédier

Solution :
fc1 =1, fc2 =2 fe=8 et N=21 ainsi : (fe/N=381, 2fe/N =762, 3fe=1143, 4fe/N=1523, 5fe/N=1905, 6fe/N=2286)
⇒H(3)=H(-3)=H(4)=H(-4)=H(5)=H(-5)=0 et les autres à 1.

1 ( N −1) / 2
2πkn  1  2
2πkn 10
2πkn 
h( n) =  H (0) + 2 ∑ H (k ) cos( )  =  H (0) + 2∑ H (k ) cos( ) + 2∑ H (k ) cos( )
N k =1 N  20  k =1 N k =6 N 
1 2πn 4πn 12πn 20πn 
h(n) =  H (0) + 2 cos( ) + 2 cos( ) + 2 cos( ) + ........... + 2 cos( )
21  21 21 21 21 
La TF de ce H(n), va effectivement passer par ces points mais en dehors de ces points le comportement du filtre
peut dévier du filtre idéal. Pour améliorer, il faudra prendre plus de points, d’où un filtre plus long.

Exercices supplémentaires

1. Au cours de la transmission d'un signal numérique (échantillonné à une fréquence de 2,5 kHz) , il a été affecté
d'un bruit localisé entre les bandes de fréquence 350 Hz et 550 Hz. On veut éliminer le bruit par l'emploi d'un
filtre RIF possédant une possédant une bande de transition ∆f=100 Hz. Concevoir ce filtre :

A] Par la méthode du fenêtrage. On souhaite une atténuation en bande atténuée A=-20 log10(δ)> 20 dB.
- Tracer H(f) idéal
- Déterminer h(n) et l'ordre N du filtre
- Calculer h(0), h(1)=h(-1)
- Tracer alors approximativement H(f)

B] Par la technique de l'échantillonnage fréquentiel


- Déterminer N
- Donner les valeurs de H(k) et son tracé
- Déterminer h(n)
- Comparer ces 2 techniques de synthèse d'un filtre RIF

2. Au cours de la transmission d'un signal numérique (échantillonné à une fréquence de 5 kHz) , il a été affecté
par un bruit sinusoïdal de fréquence f0=250 Hz. On veut éliminer le bruit par l'emploi d'un filtre possédant une
bande de transition ∆f=±50 Hz à -3db. Concevoir un filtre RIF par la méthode du< fenêtrage. On souhaite une
atténuation en bande atténuée A=-20 log10(δ)> 40 dB avec fc1,2=f0 ± ∆f

- Déterminer h(n) et l'ordre N du filtre


- Calculer h'(0)

FEI,USTHB [asssiakourgli@gmail.com 68
Analyse et Filtrage des signaux numériques M1 ST/TRM (2016/2017)
On suppose le filtre H(f) suivant :

-fc fc

On veut déterminer le filtre numérique h(n) équivalent par la méthode de l'échantillonnage fréquentiel. Le filtre
doit répondre aux spécifications suivantes fc=fe /4 et une largeur de transition ∆f <fe /16
- Déterminer et tracer H(k)
- Déterminer h(n)
- Tracer H(f) réel du filtre déterminé
- Comment sera le retard de groupe
- Quelle serait la sortie y(n) si x(n)=1+cos(0.6πn)+3 cos(0.4πn). Prendre fe=1.

FEI,USTHB [asssiakourgli@gmail.com 69
Analyse et Filtrage des signaux numériques M1 ST/TRM (2016/2017)
TP n°4: Synthèse des filtres RIF

But du TP : Dans ce TP, on teste deux méthode différents pour synthétiser un filtre RIF: méthode de séries de
Fourier (ou méthode des fenêtres) et méthode de la TFD dite par échantillonnage fréquentielle.

I. Rappels
Un filtre de réponse impulsionnelle finie (RIF) possède une fonction de transfert polynomiale. Il ne peut
pas être obtenu par transposition d’un filtre continu, comme cela est fait pour les filtres RII. Les filtres RIF
présentent l’inconvénient de nécessiter un grand nombre de coefficients pour obtenir les mêmes caractéristiques
fréquentielles. Mais par contre, ils sont inconditionnellement stables. On peut synthétiser des filtres RIF à phase
linéaire, c’est-à-dire à temps de propagation de groupe constant.

1.4

Gabarit d’un filtre |H(f)|


1.2

Le gabarit d’un filtre n’est autre que l’ensemble des caractéristiques 1+δ1
du filtre, à savoir : 1
1-δ1
- Le gain du filtre dans la bande passante. 0.8

Amplitude
- L’atténuation du filtre en bande coupée fa.
- La fréquence de coupure fc, on l’exprime souvent sous forme 0.6
normalisée par rapport à la fréquence d’échantillonnage. 0.4
- La largeur de bande de transition ∆f souhaitée qui doit être la plus fp fa
petite possible . δ2
0.2

- Les éventuelles oscillations en bande passante et/ou atténuée.


0
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Bande passante Bande de transition Bande atténuée

- La détermination des coefficients d’un filtre RIF par la méthode de la fenêtre est réalisé par la fonction Matlab
FIR1. Pour utiliser la technique d'échantillonnage de la réponse fréquentielle, on emploiera la fonction Matlab
FIR2.

II. Mise en avant du phénomène de Gibbs


clc; clear all; close all;
Te=0.2;fe=1/Te; N=50; t = Te*(-N/2:N/2); N=length(t); h = Te*sinc(t);
figure; subplot(2,1,1);plot(t,h);grid; xlabel('t');ylabel('Amp'); title('Sinc tronqué')
NF=2048; H=fft(h,NF); H=fftshift(H);axe_f=fe*(-1/2:1/NF:1/2-1/NF);
subplot(2,1,2);plot(axe_f, abs(H));grid; xlabel('f');ylabel('Amp'); title('TF Sinc tronq')
1. Identifier ce filtre
2. Expliquer la provenance des oscillations observées.
3. Utiliser le zoom pour mesurer le dépassement en bande passante (en %).
4. Déterminer fa, fp la largeur de la bande de transition puis fc
5. Prendre N=100 puis 500 puis 1000 et mesurer à nouveau le dépassement et les 3 fréquences. Commenter.
6. Que représente N? Quel est l'inconvénient d'augmenter N?
7. Comment réduire les oscillations?
8. Choisir un fenêtrage et l’appliquer puis commenter.

III. Méthode des fenêtres


Pour synthétiser un filtre passe-bande, par la méthode des fenêtres, répondant aux spécifications suivantes:
fc1 = 500 Hz, fc2 = 1 kHz, fe= 4kHz, NbCoeff = 47, on procède comme suit :

clear all; close all; clc;

FEI,USTHB [asssiakourgli@gmail.com 70
Analyse et Filtrage des signaux numériques M1 ST/TRM (2016/2017)
fc1 = 500 ; %Début de la BP
fc2 = 1000; %Fin de la BP
fe = 4000; %Fréquence d'échantillonnage
fc1N = fc1/(fe/2); fc2N = fc2/(fe/2); %Normalisation de fc1 etfc2
NbCoeff = 47; %Nombre de coefficients
N=NbCoeff-1 ; %Ordre du filtre
h = FIR1(N,[fc1N fc2N],'band',rectwin(NbCoeff),'scale') ;
[H F]= freqz(h, 1, 512, fe); % Calcul de H(f)
subplot(2,2,1);hold on; stem(h,'b'); grid; %Tracé de la réponse impulsionnelle,
subplot(2,2,2);hold on;plot(F,abs(H)); grid; %Tracé du spectre d'amplitude
subplot(2,2,3);hold on; plot(F,20*log10(abs(H))); grid %Tracé du spectre d'amplitude en db
subplot(2,2,4);hold on; zplane(h,1);grid; %Tracé des pôles et zéros

1. Donner l'expression théorique de ce filtre.


2. Calculer ∆f réelle sachant que ∆f normalisée soit ∆f /(fe/2)=1.8/N théorique puis déterminer la (pratiquement)
à partir du graphe en employant les valeurs à 1-δ1 et la tangente à δ2 .
3. Faites de même pour l'atténuation en db. Dépend-elle-de N?
4. Reprendre les questions 2 et 3 pour un fenêtrage de Hanning
h = FIR1(N,[fc1N fc2N],'band',hann(NbCoeff),'scale')
5. Superposer les nouveaux graphes pour les 4 fenêtres (changer de couleur pour bien voir ) et commenter.
6. Comment réduire ∆f pour une même fenêtre? Quel est l'inconvénient de cette solution?
7. Pour NbCoeff = 23 , comparer la répartition des zéros pour les 2 fenêtres en établissant la relation avec
les tracés des réponses en fréquence leur correspondant.

IV. Synthèse RIF par échantillonnage fréquentiel


On veut synthétiser le même filtre passe-bande par la méthode de l'échantillonnage fréquentiel et comparer
le résultat avec la méthode des fenêtres (garder l'ancien programme et rajouter)
Deltaf=fe/(NbCoeff);
AA = zeros(1,N/2+1);
for i=0:N/2
if (i*Deltaf>fc1 && i*Deltaf<fc2)
AA(i+1)=1;
end
end
FF = (0:1/(N/2):1); %frequence normalisée
h = fir2(N, FF, AA,rectwin(NbCoeff)); [H F] = freqz(h, 1, 512, fe);
subplot(2,2,1);hold on;stem(h,'r');
subplot(2,2,2);hold on;plot(F,abs(H),'r');
subplot(2,2,3);hold on;plot(F,20*log10(abs(H)),'r');

1. Donner l'expression théorique de ce filtre.


2. Expliquer le rôle de la boucle.
3. Tester la fenêtre de Hanning également et comparer avec la fenêtre rectangulaire (∆f et dépassement).

V. Filtrage d'un ECG


Le signal dans ecg.dat contient plusieurs secondes d’un ECG échantillonné à 500 Hz. Les petites oscillations
visibles principalement entre les complexes PQRST sont dues à la présence d’une interférence à 50 Hz, qu’on peut
supprimer avec un filtrage passe-bas, mais en essayant de ne pas déformer les complexes.
1. Ecrire le programme permettant de réaliser un filtre RIF à phase linéaire (méthode des fenêtres)
2. Visualiser la sortie pour vérifier (utiliser filter).

FEI,USTHB [asssiakourgli@gmail.com 71

Vous aimerez peut-être aussi