Vous êtes sur la page 1sur 18

Licence Professionnelle d Electronique et dOptique des Tlcommunications

Universit de Limoges
IUT GEII
Facult des Sciences

FILTRAGE NUMRIQUE

1. Introduction
Lobjectif de ce TP est dtudier quelques proprits lmentaires des filtres numriques
puis de raliser quelques filtres numriques Basse Frquence. Lensemble du travail sera effectu
en utilisant un DSP (Digital Signal Processor) pour la ralisation des filtres et un programme de
conception labor avec Scilab.
Une chane de traitement numrique du signal comprend les lments indiqus la figure1

be0
e(t)
CAN
S&H

Organe de
Traitement
Numrique
P
DSP
ASIC

beB

bso

CNA

s(t)

filtre
dinterpolation

bsB

Horloge

1 Organisation dune chane de traitement numrique du signal

La chane de traitement est constitue dun circuit dchantillonnage (S&H) dun


Convertisseur Analogique Numrique (CAN) dont le rle est de fournir un mot numrique de
14bits (be0,...beB) qui pourra tre trait par un algorithme implant sur un microprocesseur, un
processeur spcialis de traitement de signal (DSP) ou dun circuit cbl (ASIC). Dans notre cas
nous utiliserons le DSP TMS320C5X de Texas Instruments pour raliser lalgorithme de calcul.
Enfin le signal est restitu laide dun Convertisseur Numrique Analogique (CNA) de 14 bits
suivi dun filtre passebas de lissage de la sortie. Lensemble de la chane doit fonctionner en
temps rel au rythme dune horloge qui fixe la frquence dchantillonnage fs.
Lopration dchantillonnage consiste transformer le signal temps continu e t en un
signal temps discret e nT s que lon notera e n . Le filtrage numrique consistera alors
raliser une combinaison linaire des diffrents chantillons dentre et de sortie aux instants:
nT s, n 1 T s, n 2 T s, 

RAYMOND QUR

Licence Professionnelle d Electronique et dOptique des Tlcommunications


Universit de Limoges
IUT GEII
Facult des Sciences

2. Expriences prliminaires
1. Etalonnage de la chane de traitement:
Afin dtalonner la chane de transmission nous utilisons lalgorithme dont le seul rle est
de transfrer lentre sur la sortie. Il ralise donc lopration numrique s n  e n . La fonction
de transfert ainsi ralise est T z  1 . La courbe de rponse mesure correspond donc la
transmittance du CNA et du filtre dinterpolation.
On utilisera le kit DSP connect au PC avec le programme Etalonne . Le signal dentre doit
avoir une amplitude < 3V. La frquence dchantillonnage est fixe 10kHz.




Lancer le programme Etalonne et mesurer la fonction de transfert obtenue pour des


frquences comprises entre 100Hz et 5KHz. On vrifiera en particulier la variation
linaire de la phase.
Appliquer un signal carr de frquence 500Hz et damplitude 1Volt lentre du
montage et mesurer le retard existant entre la sortie et lentre loscilloscope. Comparer
ce retard avec la pente de la phase mesure prcdemment.

Dans toute la suite du TP on se placera lintrieur de la bande du filtre dinterpolation.

2 Un premier filtre trs simple:


Imaginons que le DSP gnre la suite

 1

laide de lalgorithme trs simple suivant.

s n

o s n  s nT
e n 1
et e n  e nT s
s
2
Appliquons lentre du filtre un signal sinusodal de pulsation  :
e t  E  cos  t
on aura donc:
e nT s  E  cos n  T s et
s n

e n

 1

E
cos n  T s
2
2
en utilisant la formule trigonomtrique suivante:

p q 
p q

cos p cos q  2cos
cos
2
2
on obtient:
s nT s

s n

e n

 E  cos 

Ts

e n 1

 cos n 

2
la sortie du CNA le signal s t

s t  S  cos  t
S  E  cos

Ts
2

et

Ts

cos n 1

Ts

Ts

2
sera de la forme:
avec

 

Ts
2

RAYMOND QUR

Licence Professionnelle d Electronique et dOptique des Tlcommunications


Universit de Limoges
IUT GEII
Facult des Sciences
la fonction de transfert du filtre sera donc1:
T

j 

cos

Ts


e

j

Ts

T  ej

2
On constate que la fonction de transfert est priodique de priode f s . Les courbes damplitude
et de phase sont reprsentes la figure 2. On remarque dautre part que pour des frquences <
f s (Thorme de Shannon) le filtre ainsi ralis est un filtre passebas phase linaire.
2
On dfinit le temps de propagation de groupe dun filtre par:

propagation dun tel filtre est donc:

 
d

. Le temps de

Ts
2

Module de la fonction de transfert

1.2
1.1
1.0
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.0

fs/2

fs

3fs/2

2fs

Dphasage de la fonction de transfert

/2

fs/2

fs

3fs/2

2 Fonction de transfert du filtre ralis par lalgorithme s n

2fs

 1
2

e n

e n 1

Mesure de la fonction de transfert


On utilise le programme Filtre1 avec le fichier dinitialisation filtre1.flt pour tester le
filtre ainsi obtenu. On relevera point par point la fonction de transfert (amplitude et phase). En
dduire le temps de groupe. On remarquera que le temps de groupe mesur ne correspond pas
la valeur thorique. Cela est du au filtre dinterpolation plac en sortie du CNA sur la maquette
qui introduit un temps de groupe supplmentaire mesur prcdemment. On pourra de plus
consulter utilement la figure6 de la documentation du CODEC TLC32040C fournie en annexe

1 Voir Annexe 1
RAYMOND QUR

Licence Professionnelle d Electronique et dOptique des Tlcommunications


Universit de Limoges
IUT GEII
Facult des Sciences
pour vrifier la valeur obtenue lors de ltalonnage.

Phnomne de repliement de spectre.


Lopration dchantillonnage a pour effet la priodisation du spectre du signal dentre. En
effet lopration dchantillonnage consiste en la convolution temporelle du signal e(t) par un
peigne de Dirac de priode T s . Si la frquence du signal dentre est f le spectre du signal
chantillonn comprendra donc les frquences

f , f s f, f

fs ,

. Du fait de la

priodicit de la fonction de transfert, on observera un signal de sortie f s f si la frquence du


signal dentre est proche de f s . Ce phnomne est illustr la figure3.
1.2
1.1
1.0
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.0

fsf fs+f

2fsf 2fs+f

fs/2
fs
3fs/2
La frquence du signal de sortie est identique la frquence du signal dentre
1.2
1.1
1.0
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.0

fsf

2fsf

fs+f 3fsf

La frquence du signal de sortie est diffrente de la frquence du signal dentre

3 Illustration du phnomne de recouvrement de spectre(aliasing)




Appliquer un signal de frquence comprise entre 100Hz et 10kHz lentre du filtre et


observer le signal de sortie loscilloscope.
Raliser un filtre du second ordre suivant lalgorithme suivant:
s n

1
e n
4

 2 e

n 1

e n 2

Tester le filtre ainsi obtenu et comparer sa courbe de rponse celle du premier filtre
ralis. Dterminer thoriquement la fonction de transfert de ce filtre et la comparer celle
obtenue exprimentalement.

RAYMOND QUR

Licence Professionnelle d Electronique et dOptique des Tlcommunications


Universit de Limoges
IUT GEII
Facult des Sciences

3. Calcul et ralisation de filtres numriques partir des filtres


analogiques correspondants.
Les filtres tudis prcdemment sont de la forme :

s n

a0  e n

a1  e n 1

  

aN  e n N

Ces filtres qui ne prennent en compte que les chantillons dentre aux instants
, n 1  T s ,  , n N  T s , sont appels filtres rponse impulsionnelle finie ou
s
filtres non rcursifs ou encore filtres phase linaire. Si lon cherche transposer les filtres
analogiques en numrique on obtient des filtres rponse impulsionnelle infinie ou filtres rcursifs.
Plusieurs techniques de synthse de ces filtres sont disponibles. Ces techniques de synthse sont
bases sur diffrentes approximations de lquation diffrentielle rgissant le fonctionnement du
filtre. Nous allons en illustrer deux sur lexemple simple dun filtre RC du premier ordre.
n T

Pour un tel filtre lquation diffrentielle reliant la sortie s(t) lentre e(t) scrit:

 ds t 
dt

s t

e t

 R C

avec

1. Premire approximation (Euler)


ds t
dt

On peut approximer la drive

ds t
dt

par

s n s n 1
tn tn 1

s n

s n 1
Ts

On obtient alors une quation aux diffrences qui scrit:


1


Ts

s

s

n 1

Ts

e n 1

En prenant la Transforme en z de cette quation on obtient la fonction de transfert T(z) suivante:


a0 

T z

S z
E z

Ts

1
1

Ts

Ts

 z

1
1

a0


b z
1

avec
b1 

Ts

Ts

Ts

Manipulation
Utiliser le programme FILT_IIR avec le fichier de coefficients filt_iir.flt pour raliser ce filtre.
On calculera les coefficients dans les deux cas suivants :
RAYMOND QUR

Licence Professionnelle d Electronique et dOptique des Tlcommunications


Universit de Limoges
IUT GEII
Facult des Sciences

f s  10 kHz

et

f c

f s  10 kHz

et

f c

500 Hz

2 kHz

2  
2  

Comparer leurs rponses en frquence ainsi que la fonction de transfert du filtre RC analogique
correspondant. En dduire que les performances du filtre ainsi ralis se dgradent lorsque le
rapport  T s diminue.

2. Seconde approximation: Transforme bilinaire


Lapproximation prcdente conduit en fait faire une quivalence entre la variable p du

plan de Laplace et 1 z 1 du plan des z . Le tableau1 rsume les correspondances entre les
domaines du temps continu (analogique) et du temps discret (numrique)
Analogique

Numrique

y
Y p

dx t
dt
p X p

p


1 
1 z
Ts

y n
x 0

Y z

x n 1
Ys


1 
1 z
Ts


z

x n


1

X

p T s

Cette approximation nest valable que si T s est trs petit devant la constante de temps du filtre.
En effet on passe du plan des p au plan des z par lquivalence suivante:

 
z  e
1

p Ts


p T
s

p2  T 2s

p3  T 3s 

3!

 

 p T
n

n
s

n!

Lapproximation dEuler correspond donc une approximation du premier ordre. On peut


amliorer lapproximation de lquation diffrentielle en la rcrivant sous la forme:

s t  


s u  du 

e u  du

Au lieu dapproximer la drive de s(t) nous allons calculer son intgrale par la mthode des
trapzes de la faon indique la figure4:
4 Illustration de la mthode dintgration des trapzes

RAYMOND QUR

Licence Professionnelle d Electronique et dOptique des Tlcommunications


Universit de Limoges
IUT GEII
Facult des Sciences

s(u)
1.6

1.2

0.8

0.4

  


 
  
  
 
  

sn

0.0

sn1

0.4

0.8

1.2

1.6

Ts
u

tn1

0.00


t 

t

On peut crire alors : y

 
u  du

t

tn

u  du 

t 

y n
soit encore:

y n 1

y n

Y z 1

Aire du trapze  y n 1

y n 1


z 

Ts

Ts
2

s n

 1  z  X
1

T z

Ts
2

s n

Ts :
s n 1

ou, de faon quivalente dans le plan des z :

s n 1

x u  du

 t

on peut alors raliser lapproximation numrique suivante si

 
t


Y z
X z

T s 1 z

2 1 z

1
1

La transformation ainsi dfinie est appele transforme bilinaire et ses caractristiques sont
rsumes dans le tableau suivant:
Analogique

Numrique

 x u  du
y t 

1
Y p 
X p
t

p

2 1 z

T s 1 z

y n

Y z

1
1

y n 1

Ts
2

s n

T s 1  z

2 1 z

 2

2
1

1
1

X

s n 1

T s p
T s p

Remarque: La transforme bilinaire transforme les pulsations analogiques en pulsation


numrique suivant la relation
RAYMOND QUR

Licence Professionnelle d Electronique et dOptique des Tlcommunications


Universit de Limoges
IUT GEII
Facult des Sciences

 
a

 T

2 
tan
Ts

On a reprsent la figure5 le diagramme de transformation des chelles de frquence entre les


filtres analogique et numrique. On devra tenir compte de cette dformation dans la conception
dun filtre rponse impulsionnelle infinie.
fa/fe
2.0

Pulsation normalise du filtre analogique


1.8
1.6
1.4

Si on transforme un filtre analogique de frquence


de coupure fa=fe/2 on obtiendra un filtre numrique
dont la frquence de coupure sera fn=0.32.fe

1.2
1.0
0.8
0.6
0.4
0.2

Pulsation normalise du filtre numrique


fn/fe

0
0

0.1

0.2

0.3

0.32

0.4

0.5

1. Diagramme de transformation des axes de frquence.

Manipulation

Calculer les coefficients des filtres RC du paragraphe prcdent en utilisant la


transforme bilinaire. Comparer les rponses obtenues avec celles donnes par la
premire approximation. Conclusion.
Tracer la phase de la fonction de transfert en fonction de la frquence. Ce filtre estil
phase linaire?

RAYMOND QUR

Licence Professionnelle d Electronique et dOptique des Tlcommunications


Universit de Limoges
IUT GEII
Facult des Sciences

4. Ralisation de filtres Phase linaire dordre lev.


Jusqu prsent nous navons utilis quune infime partie des possibilits du DSP. Nous
allons maintenant utiliser ce dernier pour raliser des filtres phase linaire dordre trs lev. Le
calcul manuel des coefficients des filtres tant impossible nous utiliserons un programme de
conception des filtres implant sur Scilab. Pour lexcuter on se rfrera lannexe 4.
La conception de filtres phase linaire est ralise partir de la technique de fentrage2.
Considrons un filtre numrique de fonction de transfert H j 
. Cette fonction de transfert est
priodique de priode  s . Elle peut se dcomposer en srie de Fourier, soit:
H

j  

n 

1
2

h n e



H j

avec

e

d

Les coefficients de la srie de Fourier sont les coefficients de la rponse impulsionnelle du filtre.
Cependant ils ne sont pas utilisables tels quels car ils forment une suite infinie et on souhaite
raliser une rponse impulsionnelle finie. Le filtre ralis sera donc une approximation du filtre
initial dont les coefficients de la rponse impulsionnelle sont donns par:

h n  h n  w n o w n
w n  0 pour n  N

sont des coefficients de fentrage tels que

On aura donc aussi h n  0 pour n  N , ce qui limite la rponse impulsionnelle du filtre.


Plusieurs types de fentres sont utilises. Elles sont donnes dans le tableau suivant.

Fentre

Equations des coefficients

Rectangulaire

w n

1
0

Hamming gnralise
w n

 !
0

Hamming
Hanning

1
n

N 1
N 1
n
2
2
N 1
n
2

 cos 2 

N 1
2

! 
!

N 1
2

N 1
2

0.54
0.5

2 "Theory and Application of Digital Signal Processing" , L.R Rabiner, B. Gold, Prentice Hall INC Englewood
Cliffs, New Jersey
RAYMOND QUR

Licence Professionnelle d Electronique et dOptique des Tlcommunications


Universit de Limoges
IUT GEII
Facult des Sciences
Fentre

Equations des coefficients


2

Kaiser
w

n 

I0

"

2n
N 1

1
I0

"

N 1
2

N 1
2

N 1
2

"

est un paramtre dajustement qui permet de rgler londulation


en bande passante et en bande attnue
typiquement on a: 2

# " #

10

Manipulation:
A laide du programme filtres.sci sur Scilab on ralisera les manipulations suivantes.




Influence de lordre du filtre: Concevoir quatre filtres passebas de Hamming de


frquence de coupure relative 0.25 et de longueur respectives 17, 33, 65 et 129.
Comparer les rponses des quatre filtres

Influence de la fentre: Comparer les rponses dun filtre passebas de frquence de


coupure relative 0.25 , de longueur 65 et correspondant aux fentres disponibles cest
dire: Rectangulaire, Hamming, triangulaire.

Fentre de Kaiser: Comparer les rponses dun filtre de Kaiser (fc=0.25, longueur=65)
pour les valeurs suivantes de : 2.5, 5, 7.5.
Gnrer les fichiers de coefficients et tester les filtres suivants laide du DSP. On
mesurera la courbe de rponse en amplitude , le dphasage et le temps de propagation de
groupe laide dun analyseur de rseau ou dun analyseur de Fourier.




Filtre passebas de Hamming fc=0.125 Longueur=65

Filtre passebas de Hamming fc=0.125 Longueur=129

Filtre passebas rectangulaire fc=0.125 Longueur=129

Filtre passebande de frquences de coupure fmin=0.125 et fmax=0.15 et de


longueur = 129

filtre coupebande de caractristiques identiques au prcdent


ce que vous voulez si vous avez le temps.

Conclusions.

RAYMOND QUR

Licence Professionnelle d Electronique et dOptique des Tlcommunications


Universit de Limoges
IUT GEII
Facult des Sciences

ANNEXE 1
Transforme en z dune suite numrique
Considrons une suite numrique:
x n  x 0 , x 1 , , , x n ,
transforme en z se la suite x n
comme la fonction de z :
X z

TZ

 

x n

x n z

, on dfint la

n 0

Cette dfinition nest pas sans rappeler la dfinition de la transforme de Laplace dun signal
temps continu qui scrit:
X

p 

TL x t

 

x t e

pt

dt

n 0

La transforme en z correspond donc lapproximation de lintgrale de Laplace par la mthode


des rectangles, au coefficient T s prs, condition de poser
z e

p Ts

x(t) exp(pt)
1.6

1.2

0.8

0.4

0.0

0.4

0.8

1.2

t
1.6
0.00

Ts
tn1

Aire 
En rgime sinusodal on aura :


z e

Ts


$

tn

x nT s  e

pnT s

n 0
Ts

RAYMOND QUR

Licence Professionnelle d Electronique et dOptique des Tlcommunications


Universit de Limoges
IUT GEII
Facult des Sciences

x(n)

Suite Impulsionnelle Unit


x(o)=1
x(n)=0 pour n diffrent de 0

X(z)=1

Echelon Unit

x(n)

x(o)=1 pour n >= 0


x(n)=0 pour n < 0

X(z)=z/(z1)

Suite Exponentielle

x(n)

x(o)=exp(nTs/ )
x(n)=0 pour n < 0
n

X(z)=z/(zexp(nTs/ ))

Thorme du retard : Daprs la dfinition de la TZ, si lon considre la TZ dune suite retarde on
obtient:
TZ

x n

X z

TZ

 z  X
k

x n k

On en dduit :
s n

 1
2

e n

e n 1

S z

 1
2

E z

 z

E z

RAYMOND QUR

Licence Professionnelle d Electronique et dOptique des Tlcommunications


Universit de Limoges
IUT GEII
Facult des Sciences

ANNEXE 2
Programme de conception des filtres phase linaire.
Le programme filtres.sci implment dans Scilab permet de concevoir des filtres
numriques phase linaire. On y accde , aprs avoir lanc Scilab, par le menu Files:

Aprs avoir slectionn le fichier filtres.sci cliquer sur Exec pour lancer le programme. On obtient
le choix suivant:

choix du type de filtre

Caractristiques du filtre

Type de Fentre

Nouvelle tche raliser

utiliser Do a new design pour superposer les diffrentes courbes.


Utiliser Save design in DSP file pour gnrer un fichier dinitialisation du DSP

RAYMOND QUR

Licence Professionnelle d Electronique et dOptique des Tlcommunications


Universit de Limoges
IUT GEII
Facult des Sciences

ANNEXE 4
Programmes FILT_FIR et FILT_IIR:
Les programmes FILT_IIR et FILT_IIR permettent de raliser respectivement des filtres phase
linaire et des filtres rponse impulsionnelle infinie.

FILTRE PHASE LINAIRE


On doit raliser le calcul suivant:

$
&


n
k

ak  e n k

a0  e n

a1  e n 1

  

aN  e n N

Pour cela les coefficients sont placs dans un tableau dmarrant ladresse COEFF et comportant
N+1 adresses mmoires. Paralllement les chantillons sont rangs dans un tableau commenant
ladresse IN0 et finissant ladresse INN3. La figure A41 illustre lopration ralise par le DSP
chaque priode dchantillonnage.
Lalgorithme de traitement est le suivant
1. Initialisation du DSP et du CAN/CNA; lecture des coefficients dans le fichier
filtre.flt
2. While Traitement en cours
3. If Interruption Then
4. Traite interruption : lit e(n) et calcule s(n)
5. Retour
6. Else Attend
7. Endif
8. End
Pour raliser les premiers exemples on initialisera le fichier filtre.flt manuellement en entrant
les coefficients a(0),a(1) puis a(0),a(1),a(2) correctement mis lchelle par la directive
dassemblage:
.Q14 0.5000 ; a(1)
.Q14 0.5000 ; a(0)
Cette directive permet lassembleur de gnrer un entier sign de 16bits cod en complment 2
qui correspond la valeur a i  214 .
Pour raliser les filtres dordre lev on copiera le fichier gnr par Scilab dans
filt_fir.flt
Pour lancer lxcution on excutera le fichier batch: filt_fir dans une fentre DOS qui se
charge de la compilation, du linkage et du tlchargement de lxcutable en mmoire du DSP.
3 Voir le fichier dinitialisation filtre.flt donn en exemple
RAYMOND QUR

Licence Professionnelle d Electronique et dOptique des Tlcommunications


Universit de Limoges
IUT GEII
Facult des Sciences

Instructions

Commentaires

RECEIVE:
LDP

#IN0

CLRC

INTM

LAMM

DRR

SACL

IN0

Charge le pointeur de page avec la page contenant


IN0
Rautorise les interruptions
Rcupre la donne dentre du CAN e(n)

LAR

Sauvegarde cette donne en mmoire

ZAP

Initialise le registre AR0 avec ladresse de INN e(n


N)

AR0,#INN

Met laccumulateur 0

MAR

*,AR0

RPT

#ORDER Initialise le pointeur de donnes avec AR0


Rpte linstruction suivante ORDER fois

MACD
#COEFF,*

Ralise lopration dcrite la figure A41


APAC

Additionne le dernier produit laccumulateur

SACH

Output,1

Sauvegarde le rsultat dcal de 1 bit gauche

LACC

Output

Recharge laccumulateur avec la valeur sauvegarde

SFL

Dcale laccumulateur de 1 bit gauche

AND

#0fffch

met 0 les bits b0 et b1

SAMM

DXR

Exporte le rsultat sur le CNA s(n)

RETE

Retour dinterruption
Programme assembleur de traitement de linterruption.

RAYMOND QUR

Licence Professionnelle d Electronique et dOptique des Tlcommunications


Universit de Limoges
IUT GEII
Facult des Sciences

Ensemble des oprations ralises linstant nTs par le DSP


PFC

PFC

a(N)
a(N1)

e(n)
e(n1)
e(n2)

a(0)

e(nN)

a(N)
a(N1)

e(n)
e(n1)

a(0)

e(nN+1)
e(nN)
e(nN)

AR0

Itration n1
Les pointeurs PFC et AR0
Sont initialiss aux adresses COEFF et INK
On ralise lopration:
(PFC)x(AR0)=a(N).e(nN)
(AR0+1)
(AR0)
PFC
PFC+1
AR0
AR01
Itration n2
(PFC)x(AR0)=a(N1).e(n(N1))
PFC
PFC+1

AR0

Itration n2bis
PFC

a(N)
a(N1)

e(n)
e(n1)
(AR0+1)
AR0
e(nN+1)
e(nN+1)
e(nN)

a(0)

(AR0)
AR01

AR0

Itration nN
a(N)
a(N1)

PFC

a(0)

AR0
(PFC)x(AR0)=a(0).e(n)

e(nN+1)
e(nN+1)
e(nN)

a(0)
a(N)
a(N1)

PFC

e(n)
e(n1)
e(n1)

e(n)
e(n)
e(n1)

AR0

Itration nNbis
Lensemble des chantillons
a t dcal dun cran en mmoire
La mmoire peut recevoir
lchantillon suivant

e(nN+1)
e(nN+1)
e(nN)

Figure A41
Exemple de fichier dinitialisation filtre.flt
;
RAYMOND QUR

Licence Professionnelle d Electronique et dOptique des Tlcommunications


Universit de Limoges
IUT GEII
Facult des Sciences
;Coefficient table of the Filter
;
;
; low pass filter of order: 8 ; windowing: Rectangular
;Filter Order = 8
;
;Number of left shifts on the coefficients= 14
;
;DSP Label of the filter order
ORDER .set 8
;
;Label on the first memory address of the filter coefficients
;
COEFF
.q14 0.000000 ; a( 8)
.q14 0.106103 ; a( 7)
.q14 +0.000000 ; a( 6)
.q14 +0.318310 ; a( 5)
.q14 +0.500000 ; a( 4)
.q14 +0.318310 ; a( 3)
.q14 +0.000000 ; a( 2)
.q14 0.106103 ; a( 1)
.q14 0.000000 ; a( 0)
;
;The following allocates memory space for the input samples
;
IN0
.word 0 ;This is the actual sample at time t(n)
.word 0 ;
.word 0 ;
.word 0 ;
.word 0 ;
.word 0 ;
.word 0 ;
.word 0 ;
INN
.word 0 ; this is the sample at time t(nN)

RAYMOND QUR

Licence Professionnelle d Electronique et dOptique des Tlcommunications


Universit de Limoges
IUT GEII
Facult des Sciences

FILTRE RPONSE IMPULSIONNELLE INFINIE :


Ce filtre est quasiment identique au prcdent. Il ralise lopration:
n &

a k

e

p D

n k

b n s n p

p 1

La structure de la mmoire est dcrite la figure A42.

COEFF

b(p)
b(p1)
b(p2)

e(n)
e(n1)
e(n2)

IN0

b(1)
a(N)
a(N1)

e(nN)
s(n1)
s(n2)

INN
SN1

a(1)
a(0)

s(n(D1))
s(nD)

SND

2. Structure de la mmoire pour le calcul dune cellule IIR

Le fichier dinitialisation est modifi comme suit:

Exemple de fichier dinitialisation filtre_iir.flt


ORDER .set 4
;Label on the first memory address of the filter coefficients
COEFF
.q14 0.333333
;b(2)
.q14 +0.954272
;b(1)
.q14 +0.097121
; a(2)
.q14 +0.194242
; a(1)
.q14 +0.097121
; a(0)
;The following allocates memory space for the input samples
IN0
.word 0 ;This is the actual sample at time t(n)
.word 0 ;
INN
.word 0 ;
SN1
.word 0 ;
SND
.word 0 ;

e(n)
e(n1)
e(n2)
s(n1)
s(n2)

RAYMOND QUR