b) Exemple :
On souhaite établir la fonction de transfert H(z) du
filtre qui effectue la moyenne glissante sur les 2 derniers échantillons
arrivés sur l'entrée.
Son algorithme s'écrit :
avec : a0 = a1 = 0.5
En utilisant la règle de passage au domaine des
«z», l'algorithme se transforme en : Y(Z)=0.5 * (
x(z) + x(z) . z-1 )
Ce qui donne la fonction de transfert en z du filtre = 0.5
(1+z-1)
On tirera les réponses en amplitude et en phase :
La réponse fréquentielle sera donc :
Dans un filtre passe bas, la fréquence de coupure est
la fréquence où l'amplitude sera diminue par -3db, donc à
partir de la figure de la réponse en amplitude (figureIII.4),
l'atténuation de 3db correspond à la fréquence de coupure
de 2.5 Mhz .
Figure III.4 : Réponse
fréquentiel en amplitude
c) Simulation et interprétation :
Pour vérifier le bon fonctionnement du filtre, nous
allons lui transmettre une série d'échantillon sur x(n), ce test
va valider le fonctionnement théorique fait dans les paragraphes
précédents, nous allons fournir au filtre une impulsion sur x,
est nous devrions avoir une réponse impulsionnelle comme celle
décrite dans le tableau suivant.
Tableau III.1 : Réponse impulsionnelle théorique
du filtre FIR 1er ordre.
n
|
X(n)
|
Y(n)
|
|
binaire
|
Entier
|
binaire
|
-
|
3
0
|
4.
0000
|
0
|
0000
|
e
2 -
|
0
|
0000
|
0
|
0000
|
1 0
|
1
|
1111
|
0.5
|
0110
|
|
1
|
0
|
0000
|
0.5
|
0110
|
2
|
0
|
0000
|
0
|
0000
|
|
Le résultat de simulation de cet exemple sous le logiciel
de simulation ModelSim est représenté sur le
chronogramme de la figure suivant.
Figure III.5 Le résultat de la
simulation de filtre du1 ère ordre
À l'instant t = 150 ns l'entrée est une
impulsion de x='1111' c'est-à-dire la valeur maximal de l'entrée
coder sur 4 bits (k=4 x=15) ce qui représente 1 dans le modèle
théorique soit x(n) = 1, de ce fait la sortie doit être
divisé sur 15 pour avoir les résultats attendus, ceci est
réaliser en éliminant les 4 premiers bits à droite (pour
éviter d'ajouter un algorithme de division). Alors la valeur
résultante sur reg_y doit être justifiée en
éliminant les 4 bits de droite.
À 250 ns => x = 15 (1111)b et a0=7 (0111)b Et on
à y(n)= a0 * x(n) = 7 * 15 / 16 = 6.5625
Sur le chronogramme de simulation on récupère 6
(0110)b, et en élimine les 0.5625 qui correspond à `1001' en
binaire.
Ce filtre permet d'interpoler deux échantillons
successifs en calculant leur moyenne. Utile pour augmenter artificiellement la
fréquence d'échantillonnage d'un signal en doublant le nombre
d'échantillons.
· On constate dans cet exemple que la réponse
impulsionnelle est limitée à deux échantillons.
·
Les coefficients d'un filtre non récursif sont donc
égaux aux échantillons de sa réponse impulsionnelle.
|