Vous êtes sur la page 1sur 80

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Pr requis : TF, Echantillonnage, Filtrage analogique

Partie I : Analyse temporelle et frquentielle des signaux numriques


I. Introduction et rappels divers (1 Sance)
- Rappels sur la TF
- Rappels sur lchantillonnage
- Exercices d'application
II. Analyse temporelle des SLID (2 Sances)
- Signaux dterministes discrets usuels
- Energie et puissance
- Corrlation et auto-corrlation
- Systmes linaires et invariants discrets
- Stabilit, causalit
- Filtres RIF et RII
- Exercices
III. Analyse frquentielle des SLID (3 Sances)
- Transforme de Fourier temps discret
- Transforme de Fourier Discrte
- Calcul de la FFT (TFR)
- TFD des signaux de longueur illimite
- Fentres de pondration
- Exercices

FEI,USTHB [assiakourgli@gmail.com

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Partie II : Filtrage des signaux numriques


IV. Analyse des filtres numriques par la transforme en Z (TZ) (3 Sances)
- Transformes en Z
- Proprits de la TZ
- TZ rationnelles
- Dtermination de la rponse en frquence des FN
- Dtermination de la rponse impulsionnelle des FN(TZ inverse)
- Caractristiques des FN
- Exercices
V. Synthse des filtres numriques RIF (2 Sances)
- Synthse des filtres RIF par la mthode des fentres
- Synthse des filtres RIF par la mthode de lchantillonnage frquentiel
- Constitution et ralisation de filtres RIF
- Exercices
VI. Synthse des filtres numriques RII (3 Sances)
- Synthse des filtres RII par la mthode des ples et des zros
- Synthse des filtres RII par la mthode de la rponse impulsionnelle
- Synthse des filtres RII par la mthode de la transformation bilinaire
- Constitution et ralisation de filtres numriques RII
- Exercices

Travaux Pratiques
1. Analyse temporelle des filtres numriques (Corrlation, convolution, nergie, puissance)
2. Analyse frquentielle des filtres numriques (TFD et proprits) et Fentrage
3. Analyse des filtres numriques par la TZ
4. Conception de filtres numriques RIF
5. Conception de filtres numriques RII
FEI,USTHB [assiakourgli@gmail.com

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

I. Introduction et rappels divers

Un signal est la reprsentation physique de linformation quil transporte de sa source son destinataire.
Il sert de vecteur une information. Il constitue la manifestation physique dune grandeur mesurable (courant,
tension, force, temprature, pression, etc.). Les signaux sont des grandeurs lectriques variant en fonction du
temps x(t) obtenues laide de capteurs. Sur le plan analytique : Un signal sera une fonction d'une variable
relle, en gnral le temps.
Exemples :

phrase: Vous avez du courrier en attente

Onde acoustique : dlivr par un microphone (parole, musique, )

Amplitude

0.5
0
-0.5

Signaux biologiques : EEG, ECG

Tension aux bornes composant lectronique

0.2

0.4

0.6

0.8

1
1.2
Temps (s)

1.4

Amplitude

Finances : cours du ptrole

1.8

Voyelle sur 25 ms

0.5

Signaux gophysiques : vibrations sismiques

1.6

0
-0.5

Images, Vidos

0.954 0.956 0.958 0.96 0.962 0.964 0.966 0.968 0.97 0.972 0.974
Temps (s)

Remarque : Tout signal physique comporte une composante alatoire (perturbation externe, bruit, erreur de
mesure, etc ). Le bruit est dfini comme tout phnomne perturbateur gnant la perception ou
linterprtation dun signal, par analogie avec les nuisances acoustiques (interfrence, bruit de fond, etc.). La
diffrentiation entre le signal et le bruit est artificielle et dpend de lintrt de lutilisateur : les ondes
lectromagntiques dorigine galactique sont du bruit pour un ingnieur des tlcommunications par satellites
et un signal utile pour les radioastronomes.
Systmes
physiques

Capteur

Bruit

Transmission

Rcepteur

Bruit

Schma d'un systme de gnration et de traitement du signal

Traitements

- Analyse,
- Extraction d'informations
- Reconnaissance de formes
- Dtection
- Filtrage
- etc.

Les fonctions du traitement du signal peuvent se diviser en deux catgories : llaboration des signaux
(incorporation des informations) et linterprtation des signaux (extraction des informations). Les principales
fonctions intgres dans ces deux parties sont les suivantes [1]:
laboration des signaux : synthse, modulation, codage/compression, etc.
Interprtation des signaux : filtrage, dtection, identification, analyse, mesure, etc.
FEI,USTHB [assiakourgli@gmail.com

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

1. Rappels sur la Transforme de Fourier


La transforme de Fourier est une technique mathmatique permettant de dterminer le spectre de
frquences d'un signal (par exemple un son). La transformation de Fourier correspond un changement de
base dans l'espace des fonctions de carr sommable. La dfinition mathmatique est la suivante :
. +

TF {x(t )} = X ( f ) = x(t ) e 2 j f t dt

x(t ) = TF 1 {X ( f )} =

et

X ( f )e

2 j f t

df

x(t) et X(f) sont deux descriptions quivalentes du mme signal. Ainsi, tous les signaux nergie finie possde
une transforme de Fourier. Cette dernire est une fonction complexe mme si x(t) est rel
Si X(f) = fonction rel x(t) est paire

Si X(f) = fonction imaginaire pure x(t) est impaire

Remarques :
X(f) pourra tre exprime sous la forme:

B( f )
2
2
X ( f ) = A ( f ) + B ( f ) et = arg( X ( f )) = arctg
A( f )

O X(f) et sont respectivement le module et la phase de X(f).


La TF d'un signal priodique est divergente, mais on peut dfinir une TF au sens des distributions en
utilisant la dcomposition en Srie de Fourier. Le rsultat correspond un spectre de raies (non continu):
. +

T /2

sachant que:

Cn =

1
x(t ) exp(2jnf0t )dt
T T/ 2

X ( f ) = x(t )e 2 j f t dt

et

alors X ( f ) = lim(T .C n )
T +

Pour les signaux nergie finie, la TF conserve l'nergie (relation de Parseval) : E x =

+s

x(t ) dt =
2

+s

X( f )

df

On peut donc dfinir une notion d'nergie par unit de frquence, la densit spectrale d'nergie (DSE). La
DES est la TF de l'autocorrlation (Thorme de Wiener-Kintchine)

Sx ( f ) = X ( f ) =
2

+s

( )e 2 j f d

Pour les signaux puissance moyenne finie, on dfinit alors une densit spectrale de puissance (DSP):
Px ( f ) = lim
T

X(f )

- La proprit de changement d'chelle indique que plus le support temporel d'une fonction est troit plus le
support de sa TF est large.
- La translation d'un signal temporel se traduit par un dphasage en frquence. Une translation en frquence
quivaut une modulation temporelle.
- La proprit de dualit permet dobtenir facilement de nouvelles paires de transformes de FOURIER
partir des paires dj connues.
FEI,USTHB [assiakourgli@gmail.com

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Principales proprits de la TF
TF
o Linarit : ax1 (t ) + bx2 (t )
aX 1 ( f ) + bX 2 ( f )
TF
o Dcalage temporel : x (t t 0 )
X ( f ) e 2

o Dcalage frquentiel : x (t ) e 2

j f0t

j f t0

TF

X ( f f 0 ) (MA)

TF
TF
o Dualit temps-frq : x(t )
X ( f ) X (t )
x( f )

TF
o Changement d'chelle : x( at )

1
X ( f / a)
a

d n x(t ) TF
(2 j f ) n X ( f )
dt n

o Drivation :

o Inversion et conjugaison :

TF
x(t )
X ( f )
TF
x * (t )
X * ( f )

TF
o Convolution : x(t ) h(t )
X ( f ).H ( f )

TF au sens des distributions


Pour les signaux puissance moyenne finie (Dirac, Echellon,
signaux priodiques, etc.), on peut dfinir une TF au sens des
distributions.
TF
o Dirac : (t t 0 )
e 2

j f t0

TF
o Echelon et signe: U (t )

1
1
+ ( f )
2jf 2

o Priodiques :

TF
(t )
1

TF
C n exp(2jnf 0t )

n =

C ( f nf

n =

TF
X(f) =
(t nT )

n =

1
2

1
jf

o Peigne de Dirac :

Sgn( f ) =

1
T

( f nf

n =

1
2

o cos(2f 0 t ) ( f f 0 ) + ( f + f 0 )
TF

TF
o sin(2f 0 t )

1
1
( f f0 ) ( f + f0 )
2j
2j

FEI,USTHB [assiakourgli@gmail.com

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

2. Quelques rappels sur lchantillonnage


Lchantillonnage est un lment important en traitement numrique de signaux. Il constitue la premire
opration effectuer lors dune conversion analogique numrique (A/N). Il est conditionn , principalement,
par deux contraintes majeures : Ne pas dtriorer le signal (conserver l'information utile) tout en limitant
lespace mmoire ncessaire au stockage. On sattachera dans une chane dacquisition minimiser cette valeur
tout en ne dtriorant pas le signal [3]. Ainsi, pour transformer un signal analogique en un signal numrique,
on va donc prlever rgulirement des chantillons du signal analogique pour le rendre discret et permettre,
ainsi, sa numrisation.
Te
Echantillonnage

Signal original x(t)

Signal numrique xe(t)=x(nTe)

Echantillonnage idal
Soit x(t) un signal analogique de transforme de Fourier X(f). Echantillonner le signal x(t) consiste
choisir une frquence Fe et de construire un nouveau signal avec les x(nTe) avec n un entier et Te=1/fe.
On peut crire le signal chantillonn xe(t) sous la forme : x e (t ) =

x(nT ) (t nT )
e

que l'on peut schmatiser :

x(t)

xe (t ) = x(t ). (t nTe ) ,

(t nT )

-3Te - 2Te -Te

Te 2Te 3Te

X e ( f ) = fe

xe(t)

X ( f nf

-3Te - 2Te -Te

Te 2Te 3Te

X(f)

Cette expression montre que le spectre Xe(f) est priodique de priode fe


et quil est la somme des rpliques (copies) du spectre original X(f)
dcales de nfe . L'chantillonnage dans le domaine temporel se traduit
par une "priodisation" de priode fe dans le domaine frquentiel.

-fmax

fmax

Xe(f)
fe

-2 fe

- fe

-fmax

fmax

fe

2fe

Thorme de Shannon
On considre que x(t) est un signal rel dont le spectre est born en frquence, de frquence maximale fmax
soit f > f max

X ( f ) = 02 c
Xe(f)

as se prsentent alors : - fe> 2 fmax


Les motifs tant disjoints, on peut extraire X(f) grce un
filtre passe-bas idal et donc reconstituer parfaitement le
signal x(t) partir des xe(t).

FEI,USTHB [assiakourgli@gmail.com

-fe-fmax

- fe

-fe+fmax

-fmax

fmax fe-fmax

fe

fe+fmax

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

- fe< 2 fmax
Les motifs lmentaires de |Xe(f)| se recouvrent
(Repliement de spectres). Il n'est plus possible de
rcuprer le spectre X(f) par un filtrage appropri.

Xe(f)

- 2fe

- fe

-fmax

fe-fmax fmax fe

2 fe

Remarques : Si le support du spectre X(f) nest pas born (stale sur laxe rel) il y a un repliement du spectre
des chantillons (aliasing), on ne peut pas isoler le spectre original partir de celui des chantillons. Dans la
pratique, on ne peut pas se contenter de prendre une frquence dchantillonnage gale la frquence de
Nyquist (2fmax), mais en prendre une suprieure car on ne peut raliser un filtre passe-bas idal avec une
frquence de coupure trs nette. Par exemple, pour numriser la parole dans le rseau tlphonique, on utilise
une frquence d'chantillonnage 8kHz alors que le spectre de la voix est compris entre 300Hz et 3400Hz.

Filtre anti-repliement Les signaux tudis en ralit sont rarement support frquentiel born, cest--dire que
fmax = infinie. Cest par exemple le cas dun signal rectangulaire priodique dont les raies frquentielles
stendent linfini ou encore un signal bruit. Ceci implique que quelle que soit la frquence dchantillonnage
il y aura repliement de spectre puisque fe> 2 fmax = est une condition impossible raliser. Pour remdier ce
problme, on utilise lentre dun systme numrique un filtre passe-bas appel filtre anti-repliement ou antialiasing. Ce filtre est analogique, idalis il doit avoir un gain de 1 sur une bande de frquence Fe, centre en
zro. Son rle va tre de limiter le contenu spectral du signal la partie utile. Il va participer aussi limiter
linfluence du bruit [3].

3. Exercices d'application
1.Soient x(t)= (t ) et y(t) = (t ) signal porte et signal triangulaire damplitude A>0 et de largeur .

/2

Tracer x(t) et y(t) sur le mme graphe


Utiliser les drives pour trouver X(f) et Y(f) qui seront reprsents sur le mme graphe puis commenter et
interprter les deux graphes pour A=1 et =20.
Soit z(t)=cos (2f0t), tracer Z(f), Z1(f) la TF de x(t).z(t) et Z2(f) la TF de y(t).z(t) sur le mme graphe et comparer
Z(f) et Z1(f) puis Z(f) et Z2(f).
+

2. Soit le signal x (t ) = (t nT ) , montrer que :

j 2 n t

= T (t nT ) et dterminer la TF de x(t)

3. On chantillonne un signal sinusodal de frquence 200Hz avec une frquence dchantillonnage fe =


500Hz puis avec fe = 300Hz. Quel signal obtient-on lors dune reconstruction parfaite dans les deux cas ?
20

Solutions :
1. X ( f ) = A sin c ( f )

Y ( f ) = A sin c 2 ( f / 2)
2

1
1
Z ( f ) = ( f f0 ) + ( f + f0 )
2
2

Rectangle
Triangle

18
16
14
12
10
8
6
4

FEI,USTHB [assiakourgli@gmail.com

2
0
-0.5

7
0

0.5

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

A
A
sin c ( ( f f 0 )) + sin c ( ( f + f 0 ))
2
2
3. fe=500Hz x r (t ) = cos(2f 0 t ) avec f0=200Hz
Z1 ( f ) =

Z2 ( f ) =

A
A
sin c 2 ( ( f f 0 )) + sin c 2 ( ( f + f 0 ))
4
4

fe=300Hz x r (t ) = cos(2f 0 t ) avec f0=100Hz

Exercices supplmentaires

2 + cos( 2t )......... .... t 1 / 2

1. Soit h (t ) =

0.......... .......... .........ailleurs

Dterminer H(f), la transforme de Fourier de h(t)


Esquisser H(f) pour lintervalle 0 <= f <= 3 et Donner la valeur numrique de H(f) pour f = 2.5

Solution H ( f ) = 2 sin c( f ) +

1
1
sin c( f 1) + sin c( f + 1)
2
2

2. On considre un signal de parole de dure 1mn et ayant une bande passante de 10 kHz chantillonne
comme suit :
xe(t)

Te +Te 2Te

+3Te

- Calculer le nombre minimal dchantillons ncessaires pour reprsenter ce signal.


- Exprimer le signal chantillonn xe(t) o est un retard puis calculer sa TF
On suppose que lchantillonnage se fait sans retard ( = 0)
- Exprimer le signal chantillonn et montrer que lon peut reconstituer thoriquement le signal x(t) partir des
chantillons x(nTe).
On se propose de reconstituer le signal de la faon suivante, exprimer xr(t).

x(3Te)

xr(t)

x(Te) x(2Te)
x(0)

0
Te
2Te
3Te
4Te
t
Solution
D=60s et fmax=5kHz Nmin=D/Temin=6.105
x e (t ) =
x (nTe ) (t nTe ) X e ( f ) = f e e 2jf X ( f nf e ) =0 x e (t ) =

Reconstruction thorique X R ( f ) = X e ( f )
Bloqueur dordre 0 x R (t ) =

FEI,USTHB [assiakourgli@gmail.com

x(nT ) (t nT )
e

1
( f ) x R (t ) = x(nTe ) * sinc( f e (t nTe ))
f e fe
n

x (nTe ) (t nTe Te / 2)
Te

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

II. Analyse temporelle des systmes linaires et invariants discrets

La numrisation dun signal est lopration qui consiste faire passer un signal de la reprsentation dans
le domaine des temps et des amplitudes continus au domaine des temps et des amplitudes discrets. Cette
opration de numrisation dun signal peut tre dcompose en deux tapes principales : chantillonnage et
quantification.

La restitution (ou linterpolation) constitue le processus inverse qui intervient lors du passage du signal
numrique au signal analogique : commande dun actionneur. Ces trois tapes sont indissociables. En effet, le
signal, tant le support physique dune information, doit conserver au cours de ces modifications tout le
contenu informatif initial. Cette condition, ajoute la notion de cot limite dun systme, va tre la base de la
numrisation des signaux et de ltude du traitement numrique [1].

Les traitements numriques sont aisment raliss grce des additionneurs, des multiplieurs numriques, et
des mmoires. En outre, les systmes numriques possdent de nombreux avantages compares ceux
analogiques, entre autres [2]:
- Simplicit: Les systmes numriques sont intrinsquement plus simples analyser (et donc synthtiser) que
les systmes analogiques
- Possibilits de traitement accrues: Il est possible de raliser, en numrique, des oprations beaucoup plus
complexes quen analogique, notamment des oprations non-linaires.
- Robustesse aux bruits. Les systmes numriques sont par essence insensibles aux bruits parasites
lectromagntiques. Le transcodage de linformation sous forme numrique joue un peu le rle de firewall .
FEI,USTHB [assiakourgli@gmail.com

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

- Prcision et stabilit. Puisque les seuls bruits sont lis la prcision des calculs, cette dernire dpend
uniquement du calculateur utilis ; elle est insensible la temprature et ne varie pas avec lge du systme.
- Flexibilit. Dans un grand nombre de systmes numriques, le traitement est dfini par un logiciel charg en
mmoire. Il est ds lors trs facile de modifier ce traitement, sans devoir modifier la machine qui le ralise.

1. Signaux dterministes temps discret usuels


Rappelons que les signaux dterministes renferment une information dont l'volution en fonction du
temps peut tre parfaitement prdite par un modle mathmatique (au contraire des signaux
alatoires/stochastiques). Nous prsentons dans cette section quelques fonctions mathmatiques supports de
signaux lmentaires et utilises tout au long du cours de traitement du signal numrique. Rappelons qu'un
signal temps discret provient souvent de lchantillonnage la cadence fe = 1/Te, dun signal x(t) dterministe
temps continu qui est suppos bande limite (fe/2, fe/2). Nous noterons x(n) = x(nTe).
Fonction Signe
1
0.8
0.6

- Fonction signe

0.4
0.2

1
sgn(n) =
1

n0

-0.2

n<0

-0.4
-0.6
-0.8
-1
-10

- Fonction chelon (unit)

-8

-6

-4

-2

10

Fonction Echellon
1
0.9

1
U ( n) = ( n) =
0

n0

0.8
0.7

n<0

0.6
0.5
0.4
0.3
0.2
0.1
0
-10

-8

-6

-4

-2

10

- Fonction porte
Fonction Porte
1

1
( n) =
N +1
0

N /2 n N /2
ailleurs

0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-10

- Fonction rectangle causal

-8

-6

-4

-2

10

Fonction Rectangle
1
0.9

1
rect(n / N ) =
0

0 n N 1
ailleurs

0.8
0.7
0.6
0.5
0.4
0.3
0.2

FEI,USTHB [assiakourgli@gmail.com

0.1
0
-10

-8

-6

-4

-2

10

10

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)
Fonction Dirac

- Fonction Dirac (impulsion unit)

1
0.9

n=0

1
( n) =
0

0.8

= U (n) U (n 1)

n0

0.7
0.6
0.5
0.4

x(n). (n-n0)=x(n0)

x(n)* (n-n0)=x(n-n0)

0.3
0.2
0.1
0
-10

-8

-6

-4

-2

0
2
Fonction Sinc

-40

-30

-20

-10

10

20

30

40

50

- Fonction sinus cardinal


0.8

sin c( n) =

sin( n)
n

0.6

0.4

0.2

-0.2

2. Energie et puissance

-0.4
-50

10

Toute transmission dinformation saccompagne de transferts dnergie. En effet, les signaux continus ou
discrets sont essentiellement caractriss par lnergie ou la puissance quils vhiculent. Ce sont les seules
grandeurs physiques auxquelles sont sensibles les dtecteurs. Beaucoup de capteurs physiques mesurent une
nergie ou une quantit quadratique. Par exemple, les capteurs optiques mesurent une intensit, les compteurs
dlectricit mesurent une nergie, etc. Compte tenu de la dfinition fondamentale, lnergie du signal entre les
instants t et t+dt est : |x(t)|2 dt (puissance instantane multiplie par le temps).
+

x(n)
Soit un signal x(n) temps discret, tel que
existe et converge.
Alors le signal est dit nergie
+

2
finie et la valeur de cette somme est appele nergie du signal : E x =
x(n)

Exemples: x(n) = Rect(n/N) nergie finie. x(n) = a (constante) et x(n) = A sin(2f0n) ne sont pas nergie finie
Pour un signal priodique, cette somme ne converge pas. On peut nanmoins dfinir la puissance d'un
signal x(n) priodique de priode N par :

Px =

1
N

N / 2 1

x ( n)

ou

N / 2

Px =

1
2.N

N 1

x ( n)

Dans le cas gnral, on parle de signaux puissance moyenne finie dfinie par:

Px = lim N
Exemples:

1
N

N / 2 1

x( n)

ou

N / 2

signal continu x(t)=a,

A sin(2f0t) ,

Px = lim N
signaux priodiques,

1
2. N

N 1

x ( n)

chelon unit,

peigne de Dirac.

Il existe des signaux ni priodiques, ni d'nergie finie, pour lesquels la puissance ne peut tre dfinie, comme
par exemple la rampe x(n)=n. Il s'agit l de dfinitions mathmatiques, en pratique, un signal mesur ne l'est
jamais sur un intervalle de temps infini. On peut commencer visualiser un signal un instant qu'on prendra
Nobs
comme origine des temps, et dans ce cas on arrtera son examen au bout d'un temps Tobs :
2

Ex =

FEI,USTHB [assiakourgli@gmail.com

x( n )
n =0

11

Analyse et Filtrage des signaux numriques


Remarques

M1 ST/TRM (2015/2016)

Signal nergie finie puissance nulle

Signal puissance finie nergie infinie

Le calcul de l'nergie ou la puissance permet d'obtenir une premire caractrisation du signal. Par ailleurs,
la thorie du signal a largement dvelopp des mthodes dtude bases sur la corrlation pour caractriser le
comportement temporel du signal.
Exercice d'application : Calculer l'nergie et la puissance des signaux : (n) , A cos(2f0t) .
7

3. Corrlation et auto-corrlation
La fonction de corrlation permet de mesurer le degr de ressemblance entre deux signaux en fonction
dun dcalage. Considrons x(n) et y (n) deux signaux d'nergie finie, la fonction d'intercorrlation Rx,y(k) est
dfinie par: R xy ( k ) =

x(n) y

(n k )

n =

Linter-corrlation entre x(t) et y(t) atteint un maximum pour un retard k si x(n)=y(n-k)

1
N N

Pour des signaux puissance moyenne finie, elle vaut : Rxy (k ) = lim

x ( n) y ( n k )
*

n=k

Exemples: Soient un signal alatoire et sa version dcale de 50s. On remarque que les signaux se ressemblent le
plus quand y(n) est dcal de 50 secondes.
Intercorrlation maximum 50 s
3

200

3
x(n)

y(n)
2

150

100

0
-1

50
-1

-2

0
-2

-3

-4
0

50

100

150

200

250

-3

50

100

150

200

250

-50
-250

-200

-150

-100

-50

50

100

150

200

250

Pour l'auto-corrlation, on remplace y(n) par x(n) on obtient l'expression de l'auto-corrlation pour les
signaux nergie finie: R x ( k ) =

x ( n) x

(n k )

n =

L'auto-corrlation permet de dtecter des rgularits, des profils rpts dans un signal comme un signal
priodique perturb par beaucoup de bruit (Voir TP n1)
Proprits :
- Pour k= 0, on retrouve lnergie du signal Rxx(0) = Ex et Rxx(k) est maximale en k=0
- Si x(n) est rel, lauto-corrlation est relle et paire.
- Lauto-corrlation dun signal de dure N aura une taille 2*N-1
Auto-corrlation des signaux priodiques : Le calcul sur une seule priode suffit. Lauto-corrlation dun
FEI,USTHB [assiakourgli@gmail.com

12

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

signal priodique est elle mme priodique. Par dfinition, le signal priodique ressemble parfaitement lui
mme, dcal dune ou plusieurs priodes.
Autocorrlation de x(n)

x(n) priodique

- signaux priodiques

1
Rx (k ) =
N

N n

x ( n) x ( n k )

0.8

0.8

0.6

0.6

0.4

0.4

0.2

0.2

n =1

Exercice d'application Soit le signal x(n)=(n+1) pour n=0 3

Calculer lauto-corrlation de x et dduire son nergie

0.05

0.1

0
-0.1

-0.05

0.05

0.1

Exemples d'application : Extraction d'un signal noy dans du bruit, mesure d'un temps ou retard, dtection d'un
signal priodique (Voir TP n 1). L'exemple ci-dessous illustre l'auto-corrlation d'un signal sinusodal
d'amplitude 1 noy dans du bruit Gaussien de variance 1.
200

4
sinusoide bruite

Autocorrlation de x(n)

150

100
1

50
0

0
-1

-50

-2

-3
0

0.002

0.004

0.006

0.008

0.01

0.012

-100
-0.015

0.014

-0.01

-0.005

0.005

0.01

0.015

Quant au suivant, il simule l'mission d'une impulsion, sa rception bruite et retarde de 50s et
l'intercorrlation su signal reu et mis prsentant un pic l'instant correspondant au retard.
1.5

10
signal reu: bruit et retard de 50S

signal mis
1

0.8

0.5

0.6

0.4

-0.5

Intercorrlation du signal reu et mis avec pic en 50s


8

0
0.2

-1

-2
0

50

100

150

200

250

300

350

400

450

500

-1.5

50

100

150

200

250

300

350

400

450

-4
0

500

50

100

150

200

250

300

FEI,USTHB [assiakourgli@gmail.com

0.5

-1

-0.5

-2

-1

-3

450

SNR=20 db

SNR=0 db

SNRdb=20 Log(PS/PB)

400

1.5

Remarques : La notion de bruit est


relative, elle dpend du contexte. Le
rapport signal/bruit dsigne la
qualit de la transmission d'une
information par rapport aux
parasites. Il est dfini par:

350

0.002

0.004

0.006

0.008

0.01

0.012

0.014

-1.5

0.002

0.004

0.006

0.008

0.01

0.012

0.014

13

500

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

4. Thorie des systmes linaires et invariants discrets (SLID)


Un systme linaire est un modle de systme qui applique un oprateur linaire un signal d'entre.
C'est une abstraction mathmatique trs utile en automatique, traitement du signal, mcanique et
tlcommunications. Les systmes linaires sont ainsi frquemment utiliss pour dcrire un systme non
linaire en ignorant les petites non-linarits. Un systme est discret, si la suite d'entre discrte x(n)
correspond une suite de sortie discrte y(n).
x(n)

y(n)

Systme discret

- Si l'entre x(n) produit une sortie y(n), quand on applique une entre k.x(n) , la sortie sera k.y(n). Si deux
entres x1(n) et x2(n) engendrent deux sorties y1(n) et y2(n) alors x1(n) + x2(n) engendrera y1(n) + y2(n)
x1(n)+ x2(n)

y1(n)+ y2(n)

Systme discret

Exemple
y1 rponse x1

y2 rponse x2

y1+y2 rponse x1+x2

20

20

20

18

18

18

16

16

16

14

14

14

12

12

12

10

10

10

10

20

30

40

50

10

20

30

40

50

10

20

30

40

50

- Sil y a invariance dans le temps, une translation de l'entre (x(n)x(n-m)) se traduira par une mme
translation dans le temps de la sortie (y(n)y(n-m)).
x(n-m)

Systme discret

y(n-m)

Si le systme est invariant, cela implique que le systme ragit de la mme faon quelque soit linstant auquel
nous appliquons ses excitations. Cette proprit exprime que la caractristique du systme ne dpend pas de
lorigine du temps, on parle encore de stationnarit.
Convolution
Si les hypothses de linarit et d'invariance temporelle sont vrifies, on peut caractriser le systme par sa
rponse impulsionnelle h(n).
x(n)

h(n)

y(n)

On peut en dduire l'effet d'une entre quelconque sous la forme d'une convolution. Cette dernire est
lopration de traitement de signal la plus fondamentale. Elle indique que la valeur du signal de sortie
linstant n est obtenue par la sommation (intgrale) pondre des valeurs passes du signal d'excitation x(n). La
FEI,USTHB [assiakourgli@gmail.com

14

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

fonction de pondration est prcisment la rponse impulsionnelle h(n):

m =

m =

y ( n) = h( n) x( n) =

h( m) x ( n m) = x (m ) h(n m )

La rponse impulsionnelle h(n) est le signal qu'on obtient en sortie y(n)=h(n) si on applique en entre une
impulsion "de Dirac'' x(n)=(n). Le Dirac est l'lment neutre de l'opration de convolution:

(n) x(n) = x (n)


Le calcul de la convolution consiste donc calculer la somme du produit x(m)h(n -m). Le signal h(n-m) est
simplement le signal initial h(m), retourn dans le temps pour donner h(-m) puis translat de n. En calculant
alors lensemble des produits obtenus en faisant glisser h, cest--dire pour tous les dcalages de n, on
obtient le produit de convolution pour tout n.
Exemple 1:

h(n) = a nU (n)

x(n) = rect(n)
N

0 < a <1

z (n) = x (n) h( n)
x(k)

h(n)

x(n)

h(-k)

N-1

N-1

On distingue 3 cas :

x(k)

x(k)

x(k)

h(n-k)

h(n-k)

h(n-k)

N-1

n<0 z(n)=0

0 n N-1 z(n)=(an+1-1)/(a-1)

Exemple 2 :

n>N-1 z(n)=an(1-a-N)/(1-a-1)

1
x(n)

0.8
0.6

h(n) =

N /2
1
1
( n) y ( n ) =
x( n + m)
N + 1 N +1
N + 1 m= N / 2

0.4
0.2
0

50

100

150

200

250

300

(Voir TP n1)

y(n)
2

Exemple 3: Soit le signal x(n)=(n+1) pour n=0 3

50

100

150

200

250

300

et 0 ailleurs.

Calculer et tracer y(n)=x(n)*x(n)


FEI,USTHB [assiakourgli@gmail.com

15

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Remarques:
- Les oprations de corrlation et convolution sont lies. Mathmatiquement, on peut crire une relation qui
permet dexprimer la fonction de corrlation comme un produit de convolution (et rciproquement).
En effet: Rxy (k ) = x (n) * y (n)
On peut donc considrer l'opration d'un SLI comme une mesure de la
corrlation entre deux signaux (x*(-n) et h(n)). En fait, le signal de sortie est "construit" partir des composantes
frquentielles communes au signal d'entre et la rponse impulsionnelle.
*

- Si on applique un SLIT une entre sinusodale relle ou complexe de frquence f0, alors, la sortie sera une
sinusode dont l'amplitude et la phase pourront tre modifies mais qui conservera la mme forme (une
sinusode) et la mme frquence f0. On dit que les sinusodes sont les fonctions propres des SLIT.
- Un systme linaire invariant est un systme dont le comportement dans le temps, peut-tre dcrit par une
M

quation aux diffrences :

a y (n i) = b x(n i) ,
i =0

i =0

5. Stabilit et causalit d'un SLID


Une contrainte importante pour la formalisation de nombreux problmes est de respecter la notion de
causalit (les effets ne peuvent pas prcder la cause). Dans le cas des SLIT, cette causalit se traduit par le fait
que pour: h(n) = 0 pour n<0.

x(n) = 0, n < n0 alors y(n) = 0, n < n0


- si h et x sont causaux y ( n ) =

m =

m =0

x (m )h (n m) = x (n m) h( m) ,

h ( n ) = 0, n < 0 , y ( n ) =

h(n m) x(m)
m =0

Remarque : Nous pouvons envisager mmoriser les signaux dentre et faire un traitement de ceux-ci en temps
diffr, les systmes utiliss ne sont plus alors ncessairement causaux car pour laborer la sortie linstant ni,
nous disposons en mmoire des entres aux instants suivants. Cest souvent le cas en traitement dimage, en
traitement de parole effectu aprs mmorisation du signal traiter.

Une autre notion fondamentale est la stabilit des systmes. La proprit de stabilit des systmes boucls
est non seulement une performance mais une exigence pour le bon fonctionnement dune boucle
dasservissement ou de rgulation. Une boucle instable est une boucle inutilisable. La dfinition la plus courante
de cette stabilit est la suivante :
Systme stable

Systme instable

10
9

6.5

8
6
7
5.5

x(n)

x(n)

h(n)

y(n)

5
4

4.5

3
4
2
3.5
3

FEI,USTHB [assiakourgli@gmail.com

10

15

20

25

30

35

40

45

50

10

15

20

25

30

35

40

45

16

50

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

On dit qu'un systme est stable si, en lui appliquant une entre borne quelconque, la sortie reste borne,
h( n) <
ce qui implique dans le cas des SLIT:

6. Filtres RIF et RII


- Si les ai sont de 0, le systme est dit rcursif (RII), il est non rcursif s'il ne dpend que des x(n-i) (RIF)
- Si le systme est rponse impulsionnelle de dure finie (RIF), alors : y ( n) =

h( m) x ( n m)

m =0

Dans ce cas, le systme numrique est une fentre centre sur les K plus rcents chantillons.
+

- Si le systme est rponse impulsionnelle de dure infinie (RII) :

y ( n ) = h ( m) x ( n m)
m =0

Dans ce cas, il est ncessaire de connatre tous les chantillons prsents et passs, le systme une mmoire de
longueur infinie.

Exemple 1 y(n)=x(n)+a1x(n-1)+ a2x(n-2)+.......+ akx(n-k) est l'quation aux diffrence finies d'un filtre RIF
avec comme rponse impulsionnelle h(n)=(n)+a1 (n-1)+ a2 (n-2)+.......+ ak (n-k) qui, on peut le constater, est
bien finie.

Exemple 2 y(n)=x(n)+a1y(n-1) est l'quation aux diffrence finies d'un filtre RII
avec y(n-1)=x(n-1)+a1y(n-2) y(n)=x(n)+a1x(n-1)+ a12 y(n-2)
de mme y(n-2)=x(n-2)+a1y(n-3) y(n)=x(n)+a1x(n-1)+ a12 x(n-2) )+ a13 y(n-3)

y(n)=x(n)+a1x(n-1)+ a12 x(n-2) )+ a13 x(n-3)+ a14 x(n-3)+.....+ a1m y(n-m)


En poursuivant le procd l'infini y(n) dpend d'une infinit de x(n-k) ce qui en fait un filtre RII.

Exemple d'application
Les squences x(n) (rel) et y(n) reprsentent respectivement lentre et la sortie dun systme discret. Pour
chaque cas, identifiez celles reprsentant
a) des systmes linaires, b) des systmes causals, c) des systmes invariants aux translations de n,
d) des systmes assurment ou possiblement stables (en fonctions des constantes)
1. y(n) = x(n) + bx(n-1)
3. y(n) = nx(n)
4. y(n) = x(n) sin(2f0n)

2. y(n) = x(n) + bx(n+1)


6. y(n) = bx(n)
5. y(n) = x(n)en
7. y(n) = |x(n)|
N : constante entire

a) Tous sauf 6 et 7

b) Tous sauf 2

c) Les systmes 1, 2, 6 et 7

d) 1 (b finie), 2 (b finie), 4, 6 (b finie) et 7.

FEI,USTHB [assiakourgli@gmail.com

b : constante relle

17

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)
Srie 1

1. Donner lexpression du signal chelon U(n) en fonction du signal signe Sgn(n).


2. Donner lexpression du signal x(n) = Arect[(n-n0)/N+1]=A (n n0 )
N +1

laide du signal signe seulement.

Justifier graphiquement la solution trouve (N suppos pair).


3. Les signaux suivants sont-ils nergie finie, puissance moyenne finie, ou ni lun, ni lautre ? Calculer, dans
chaque cas, lnergie totale et la puissance moyenne totale (a>0).

Arect(n/N+1)
Asin(2f0n)
Asin(2f0n).U(n)
U(n)
-an
-an

n.U(n)
Ae u(n)
Ae
Atri(n/N)
4. Calculer l'autocorrlation des signaux suivants (devoir rendre)

Arect(n/N)
Asin(2f0n)
5 N(n)
Bcos(2f0n)
5. Calculer la sortie y(n) lorsque : x(n) = (nn0) +(nn1) et h(n) = ean
6. Soit le signal chelon f(n)= E0 U(n), damplitude E0. Reprsenter graphiquement et calculer le produit de
convolution de f(n) par lui-mme (auto-convolution).
2

E (n + 1 + N ) N n 0

E 2 (n 1 N ) 0 n N
7. La fonction triangulaire est dfinie de la manire suivante: E N . N (n ) =
0
ailleurs

Vrifier analytiquement et graphiquement la relation E2.N. N(n) = E.N+1(n) * E.N+1 (n), en dduire l'auto2

corrlation du signal et son nergie (devoir rendre)


Solutions
1.
U(n)=1/2(sgn(n)+1)
2.
x(n)= A/2 [sgn(n-(n0-N/2))- sgn(n-(n0+N/2+1))]
3 . E=A2.(N+1) Pm=0,
E= Pm=A2/2,
E= Pm=A2/4,
E= Pm=1/2
E=
Pm=,
E=A2/(1-e-2a) Pm=0 , E= Pm=,
E=2A2N(1+N) Pm=0
4.
A2N.N(k)
A2/2.cos(2f0k)
25N(k)
B2/2.cos(2f0k)
a ( nn 0)
a ( n n1)
5.
x(n) = e
+e
6.
f(n)*f(n)= E02.(n+1) pour n0 et 0 ailleurs
Exercices supplmentaires
1. Reprsenter les signaux suivants:
(n 1) , n.U(n), (n-2).U(n-3), (-n+3)U(n-2)U(-n+3), e-an.U(n-1)
N

2. Soient x1 (n) = e a .n .U ( n)
x 2 (n) = e b.n .U (n)
Calculer x1 (n) * x2 (n) avec (a, b) + et a > b
Solution:

n<0
0
( b a ) n +1
1

e
x ( n) =
e bn
n>0

1 e ( ba )
3. Calculer et esquisser graphiquement pour les cas n0 < n1 et n0> n1 le produit de convolution z(n) = x(n)*y(n)
pour les cas suivants :

X(n) = A[(n+n0) + (n-n0)]


et
Y(n) = B (n) + 1/2B[(n+n1) + (n-n1)]
Solution : X(n)*Y1(n)=AB[(n+n0) + (n-n0)]+AB/2[(n+n0+n1) + (n-n0-n1)+ (n-n0+n1) + (n-n0-n1)]
FEI,USTHB [assiakourgli@gmail.com

18

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

TP n1 : Analyse temporelle des SLID


Convolution, Energie, Puissance et Corrlation

x(n)

I. Rappels
Un signal discret s(n) est une suite de N chantillons
rgulirement espacs de Te secondes: x(0),x(Te),x(2Te),........,
x((N-1)Te) o Fe=1/Te est la frquence dchantillonnage. Le trac
graphique d'un signal discrtis en temps peut s'effectuer
simplement l'aide de la fonction stem sous matlab.

x(0)
x(-3) x(-2) x(-1)

x(1)
x(2) x(3)

x(4)
x(5)

n
x(6) x(7)

- Lnergie dun signal x(n) est fournie sous matlab par sum(x.^2). Concernant la puissance moyenne, il faut
diviser lnergie par le nombre dlments de x(n).
- Pour la corrlation et la convolution, on utilisera, respectivement, les fonctions xcorr et conv. A noter que la
convolution ou la corrlation de x et h de dure respective N et M est un signal y(n) de dure (N+M-1)
- La fonction b=m+ s*randn(N,1) permet de gnrer un vecteur bruit b de distribution pseudo normale
(Gaussienne) de taille N de moyenne m et de variance s2 dont la puissance est Ps = m2 +s2 .

II. Exemples tester avant le TP


1. Le programme suivant permet de gnrer un Dirac en 0 : (n) =1 pour n=0 et vaut 0 ailleurs
clc ; clear all ; close all ;
t=-10:10;
x=[zeros(1,10),1,zeros(1,10)];
stem(t,x);
axis([-10 10 -0.5 1.5]);
title('Dirac');
xlabel('n'); ylabel('Amplitude');

2. Le programme suivant permet de gnrer un chelon U(n)=1 pour n0 et 0 pour n<0


clc ; clear all ; close all ;
t=-20:20;
x=[zeros(1,20),ones(1,21)];
stem(t,x);
title('Echelon unite');
xlabel('n'); ylabel('Amplitude');

3. Pour gnrer N=128 chantillons d'une sinusode de frquence f0=1000, on peut procder de la faon
suivante, choisir une frquence d'chantillonnage : Fe = 8000 (le pas de temps Te=1/Fe) Crer le vecteur des
temps : t = (0:N-1)Te. Te. Calculer les chantillons: x = cos(2*pi*t*f0) ; Puis, regarder le rsultat : plot(x) ou
plot(t,x).
Ce qui nous donne :
clc ; clear all ; close all ;
N=128; fo=1000; Fe=8000; Te=1/Fe;
t=(0:N-1)*Te; x=cos(2*pi*fo*t);
plot(t,x) ;
figure; plot(x);
figure; stem(t,x)

FEI,USTHB [assiakourgli@gmail.com

19

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

III. Programmes raliser


1. Le programme suivant permet de crer une porte de largeur 2s, centre en 3 s, damplitude 4, chantillonne
avec Te=0.1s avec N=40 et de calculer son auto-corrlation et son nergie.
clc; clear all; close all;
Te=0.1; N=50; A=4;
t=(0:1:N-1)*Te;
porte=A*[zeros(1,15),ones(1,20),zeros(1,15)];
subplot(2,2,1); plot(t,porte);
subplot(2,2,2);stem(t,porte);
y1= xcorr(porte); tt=(-N+1:1:N-1)*Te;
subplot(2,2,3); plot(tt,y1);
y2=Te* xcorr(porte);
subplot(2,2,4); plot(tt,y2));
Energie1=sum(porte.^2)
Energie2=sum(porte.^2)*Te

- Quelle est la diffrence entre plot(x) et plot(t,x)?


- Quelle est la diffrence entre plot et stem?
- Utiliser le workspace pour visualiser la taille et le contenu des vecteurs t, tt, porte et y. Commenter
- Calculer l'auto-corrlation thorique. Comparer y1 et y2.
- Retrouve-t-on les proprits de l'auto-corrlation?
- Calculer l'nergie thorique et comparer avec Energie 1 et Energie2.
2. Commenter le programme suivant :
clear all; close all; clc;
N=500; x=zeros(N,1); x(1:10)=1;
figure; plot(x); axis([0 N 0 1.2]); legend('signal mis');
y=circshift(x,50);
y=y+0.4*randn(N,1);
figure; plot(y); legend('signal reu: bruit et retard de 50s')
z=xcorr(y,x); z=z(N:end);
figure; plot(z);

- Induire un autre retard et observer.


- Changer la puissance du bruit et commenter.
- Donner un exemple d'application de ce programme.

3. Soit le programme ci-dessous


clear all; close all; clc;
N=300; T=3;Te=1;
X=rand(N,1); t_x=(0:N-1)*Te;
h=(1/T)*ones(T,1);t_h=(0:T-1)*Te;
subplot(3,1,1); plot(t_x,X); subplot(3,1,2); stem(t_h,h,'r');
Y=conv(X,h); t_y=(1-T:N-1)*Te;
subplot(3,1,3); plot(t_y,Y); axis([0 N min(Y) max(Y)]);

- Commenter le programme. Changer la valeur de T et observer.


- Comment nomme-t-on le signal h? Quel est son rle?

4. Gnrer et visualiser le signal x compos de 50 chantillons dune sinusode de frquence f0 =0.1 avec fe=10.f0
- Calculer et afficher son auto-corrlation et comparer avec l'auto-corrlation thorique.
- Retrouver les caractristiques du signal (puissance et frquence) partir de l'auto-corrlation.
- Gnrer le signal z=x+b ou b est un bruit avec (m=0 , s=0.5) .
- Calculer et visualiser l'auto-corrlation de z pour s=0.5, s=1 puis s=2 en commentant.
- Retrouver dans chacun des cas prcdents la frquence du signal partir de l'auto-corrlation de z.

FEI,USTHB [assiakourgli@gmail.com

20

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

III. Transforme de Fourier Discrte (TFD)

Dans la ralit, les signaux n'ont pas toujours une forme simple sen raison de la nature de l'information
qu'ils portent. Dans de tels cas, la reprsentation du signal en fonction de la frquence est trs utile. Pour cela,
on fait appel la transforme de Fourier. Elle a pour but de mettre en vidence des caractristiques du signal
non videntes dans la reprsentation temporelle : les proprits frquentielles (spectrales). Lutilisation de cette
description frquentielle permet en outre de caractriser simplement les filtres linaires, et faciliter leur tude.
Dans le but de calculer la transforme de Fourier X(f) dun signal x(t) laide dun ordinateur, celui-ci
nayant quun nombre limit de mots de taille finie, on est amen discrtiser le signal (chantillonnage),
tronquer temporellement ce signal et discrtiser sa transforme de Fourier[1].

1. Transforme de Fourier temps discret (TFTD)


Lorsque le signal traiter nest plus analogique mais numrique, la relation de la TF devient :
. +

TF {x(t )} = X ( f ) = x(t )e 2 j f t dt

Xe( f ) =

xe (t ) e

2 j f t

dt =

+ +

x(nT ) (t nT ) e

n =

2 j f t

dt =

x(nT )e

2 j f nTe

n =

L'chantillonnage priodise le spectre du signal avec une priode de rptition fe ainsi Xe(f)=Xe(f+fe), par
ailleurs, l'amplitude est multipli par un facteur fe. Sachant que tout signal priodique peut tre dcompos en
sries de Fourier, on a :

Xe( f ) =

Cn e 2 j n Te f

n =

Avec

1
x(nTe ) = C n =
fe

fe / 2

( f ) e 2 j n Te f df

fe / 2

Cette transforme de Fourier applique aux signaux discrets est donc une fonction frquence continue,
priodique de priode fe. Il est dusage de la reprsenter sur un intervalle de longueur fe, de -fe /2 +fe /2.
Cependant, si on veut calculer la TF d'un signal discret l'aide d'un calculateur, on se retrouve confront
aux problmes suivants : Le calcul de la TF ncessite une infinit de points de mesures x(n) (pas toujours
possible dans la pratique : contraintes temps rel, etc.). En outre, le calculateur ne peut calculer une TFTD car sa
rponse frquentielle est forcment discrte = un nombre fini de points frquentiel alors que f varie
continment [5]. La solution est de limiter la dure de x(n) i.e. considrer un nombre fini N de points temporels
et de discrtiser la frquence (considrer un nombre fini L de points frquentiels) d'o la TFD.

FEI,USTHB [assiakourgli@gmail.com

21

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

2. Transforme de Fourier discrte (TFD)


Cette transforme, popularise par son calcul rapide (TFR ou FFT : Fast Fourier Transform), fait
correspondre une suite de N valeurs une autre de suite de N valeurs numriques galement.
On considre un signal numrique s(n) dfini par N chantillons temporels, obtenus par chantillonnage
avec la priode Te. La numrisation du signal X(f) passe par l'chantillonnage de X(f). On divise l'intervalle fe
par N, ainsi X(f) est chantillonn la cadence f=fe /N=1/NTe. Ce dernier rsultat entrane une priodicit du
signal temporel de T0=1/f = NTe.

x(t)

X(f)

x(nTe)

X(f)

Te=1/fe

fe

x(nTe)

X(kf)

f=1/T0

T0

Sachant que fe = N.f, les formules prcdentes deviennent :


N 1

X e (kf e / N ) = x(n)e

2 j n Te k fe / N

n =0

Et

x ( n) =

1
fe

N / 21

k = N / 2

(k ) e 2 j n k / N .f =

N 1

= x ( n )e

2 j n k / N

n =0

1
N

N / 21

k = N / 2

( k ) e 2 j n k / N

Ce qui nous permet d'obtenir la TFD et la TFD inverse :

FEI,USTHB [assiakourgli@gmail.com

= X e (k )

N 1

X
(
k
)
=
x n e 2 j n k / N

n =0

N / 21
1
x ( n) =
X k e 2 j n k / N

N k = N / 2

N 1

X
(
k
)
=
x ( n ) e 2 j n k / N

n =0

N / 21
1
x ( n) =
X (k ) e 2 j n k / N

N k = N / 2

22

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

On remarquer aisment que lon perd toute notion de temps relatif aux chantillons. Nous obtenons au
final une relation entre une suite indexe par une variable entire n et une suite indexe par k. Les N termes
X(k) correspondent une approximation ( un facteur multiplicatif Te prs) de la transforme de Fourier de ce
signal aux N points de frquence k f, avec k entre 0 et N 1, c'est--dire f entre 0 et fe.
Exemple
Soit le signal x(n)= 1 pour n = 0 et n= 3 et 0 ailleurs.
- Calculons d'abord la TFTD, ce qui nous donne X ( f ) =

x(nT )e

2 j f nTe

n =

= 1 + e 6jfTe = 2 cos(3fTe )e 3jfTe

- Calcul maintenant la TFD sur N=4 chantillons (4 chantillons de la TFD partir de 4 chantillons du signal)

X (k ) = x(n)e 2jnk / 4
n =0

3
0
x(n)e = x(0) + x(1) + x(2) + x(3) = 2
n3=0
x(n)e jk / 2 = x(0) + x(1)e j / 2 + x(2)e j + x(3)e 3jk / 2 = 2 cos(3 / 4)e 3j / 4

= n =0 3

x(n)e jnk = 2 cos(3 / 2)e 3j / 2

n =0
3

x(n)e 3jnk / 2 = 2 cos(9 / 4)e 9j / 4

n =0

Modules des 4 chantillons de X(k): 2, 2 , 0, 2


2

2
TFTD

TFTD

1.8

1.5

1.6
1
1.4
0.5
Phase

Module

1.2
1
0.8

0
-0.5

0.6
-1
0.4
-1.5

0.2
0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

-2

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

On peut observer que les quatre chantillons de la TFD (en rouge) se superposent la courbe de la TFTD (en
bleu). On confirme que la TFD n'est que l'chantillonnage de la TFTD limite N. On note en outre, que la
prcision frquentielle est de f=fe /N. Pour amliorer cette prcision, il faudrait diminuer le pas en frquence.
Remarque

x(n) est priodique de priode N et X(k) est aussi priodique de priode N :

x(n + N ) =

FEI,USTHB [assiakourgli@gmail.com

1
N

N 1

X ( k )e
k =0

2 ( n + N ) k
N

1
N

N 1

X ( k )e
k =0

2nk
N

2Nk
N

= sn

23

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Sachant que x(n) et X(k) sont calculs sur le mme nombre de points N, on peut augmenter la prcision,
par la technique du zro-padding : on calcule la TFD sur un nombre NF pouvant tre bien plus grand que le
nombre de points N disponible du signal (NF>>N). La figure suivante en donne un exemple (Voir TP n2).
4

4
TFD d une porte (largeur 4) calculee sur 4 points

TFD d une porte (largeur 4) calculee sur 16 points

3.5

3.5

2.5

2.5

1.5

1.5

0.5

0.5

0
-0.5

-0.4

-0.3

-0.2

-0.1

0.1

0.2

0
-0.5

0.3

-0.4

-0.3

-0.2

TFD d une porte (largeur 4) calculee sur 32 points

0.1

0.2

0.3

0.4

0.5

TFD d une porte (largeur 4) calculee sur 64 points

3.5

3.5

2.5

2.5

1.5

1.5

0.5

0.5

0
-0.5

-0.1

-0.4

-0.3

-0.2

-0.1

0.1

0.2

0.3

0.4

0
-0.5

0.5

-0.4

-0.3

-0.2

-0.1

0.1

0.2

0.3

0.4

0.5

Autres proprits :Toutes les proprits se dduisent des proprits de la transforme continue en se rappelant
que chaque signal manipul, de dure finie, doit tre considr comme une priode d'un signal priodique, et
cela en temps et en frquence. La consquence en est que la translation d'un signal ( lors d'une convolution ou
de corrlation) se traduit par un dcalage circulaire [6]
x(n)

Linarit : ax1 (n) + bx2 (n)


aX 1 (k ) + bX 2 (k )

x(n-3)

TFD

o Dcalage temporel : x ( n m ) TFD

X ( f )e
o Dcalage frquentiel : x ( n )e

2 j k0 n
N

2 j k m
N

TFD

X ( k k 0 )

TF
o Dualit temps-frquence : x(n) TFD

X (k ) X (n)
N .x ( k )

o Changement d'chelle : x( an) TFD

1
X (k / a )
a

o Convolution priodique : x(n) h(n) TFD

X (k ).H (k )
o (n) TFD

(n m) TFD

e 2jmk / N
N 1

o Par ailleurs, l'nergie se conserve: x ( n ) =


0

FEI,USTHB [assiakourgli@gmail.com

1
N

N 1

X (k )

24

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

3. Calcul de la FFT ou TFR


La TFD est reste un outil peu utilise jusqu lapparition dalgorithmes rapides permettant son
calcul. Le plus connu est du Cooley et Tuckey et date de 1965. Le calcul direct de la TFD sur N points ncessite
2N2 multiplications et 2N(N-1) additions. Lalgorithme propos rduit Nlog2(N) le nombre doprations. Sans
nuire la gnralit, prenons le cas de N=8. Il faut calculer :
N 1

S k = sn e

2 n k
N

n =0

Soit :

WN = exp j

= sne

2 n k
N

n =0

S k = s nWNnk

alors

n =0

Pour N=8, explicitons la relation prcdente :

S 0 W80
S 0
1 W8
S 2 W80
0
S 3 = W8
S W 0
4 80
S 5 W8
S W 0
6 8
S 7 W80

W80

W80

W80

W80

W80

W80

W81

W82

W83

W84

W85

W86

W82

W84

W86

W88

W810

W812

W83

W86

W89

W812

W815

W818

W84

W88

W812

W816 W820 W824

W85

W810

W815 W820 W825 W830

W86

W812

W818 W824 W830 W836

W87

W814

W821 W828 W835 W842

W80 s0

W87 s1
W814 s2

W821 s3
W828 s4

W835 s5
W842 s6

W849 s7

Les facteurs Wn prsentent un certain nombre de proprits dont certaines sont mises profit dans
lalgorithme :
nN
N /2
n+ N
n

WN = 1, WN

S 0 W80
0
S1 W8
S 2 W80
0
S 3 = W8
S W 0
4 80
S 5 W8
S W 0
6 8
S 7 W80

W80
W81
W82
W83

= 1, WN

W80 W80
W82 W83
W84 W86
W86 W81

4
8
5
8
6
8
7
8

0
8
2
8
4
8
6
8

W
W
W
W

W
W
W
W

4
8
7
8
2
8
5
8

W
W
W
W

= WN

W80
W84
W80
W84

W80
W85
W82
W87

W80
W86
W84
W82

0
8
4
8
0
8
4
8

4
8
1
8
6
8
3
8

0
8
6
8
4
8
2
8

W
W
W
W

W
W
W
W

W80 s0

W87 s1
W86 s2

W85 s3
W84 s4

W83 s5
W82 s6

W81 s7

W
W
W
W

Imaginaire
W86
W85

W87

X
X

W80= W88

W84
X

X
Rel

W83

X
W81
W82

Lalgorithme suppose que N est pair : posons N=2 P. Introduisons les 2 sous-suites de sn en fonction de la
parit de n.

u n = {s2 n }

n = 0 ,..., P 1

vn = {s2 n +1}n =0,..., P 1


On obtient ainsi :

N 1

P 1

n=0

i =0

P 1

S k = snWNnk = uiW22Pik + viW2(P2i +1) k


P 1

i =0

P 1

S k = uiWPik + WNk viWPik


i =0

i =0

S k = U k + W Vk
k
N

FEI,USTHB [assiakourgli@gmail.com

25

Analyse et Filtrage
age des signaux numriques
Par ailleurs,

M1 ST/TRM (2015/2016)

N 1

P 1

n =0

i =0

P 1

S ( k + P ) = s nWN( k + P ) n = uiW22Pi ( k + P ) + viW2(P2i +1)( k + P )


P 1

i =0

P 1

S ( k + P ) = uiWPikWPiP + WNkW NP viWPikWPiP


i =0

i =0

P 1

P 1

S ( k + P ) = uiWPik .1 + WNk (1) viWPik .1


i =0

i =0

S ( k + P ) = U k W Vk
k
N

Le calcul de la FFT revient donc calculer Uk et Vk qui sont


nt les TFD sur P points des suites de termes de
rang pair et impair. On saperoit quil ne reste qu exprimer les Uk et Vk.

Or, ce sont des TFD sur P points, qui peuvent subir le mme schma que prcdemment condition que
P soit pair. On peut ritrer le processus chaque sous
sous-niveau si N est
st une puissance de 2 (Dans le cas contraire,
on rajoute
te autant de 0 que ncessaire pour obtenir une puissance de 2).

Avec cette reprsentation, lalgorithme FFT se reprsente par :

FEI,USTHB [assiakourgli@gmail.com

26

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Lalgorithme papillon de FFT dit aussi entrelacement temporel peut scrire sous forme matricielle. On
obtient
:
S 0 1 W8 0
S
0
1 1 W8
S 2 0
0

S
0
3 = 0
S 4 0
0

0
S 5 0
S 0
0
6

S 7 0
0

0
0

0
0

0
0

0
0

0
0

1 W8
2
1 W8

0
0

0
0

0
0

W8

0
0

0
0

1 W8
0
0

0
1

0
1
1

0 1

0 0
0 1

0 0

0 0

0 0
3
W8 0
W8 3 0

W 40

0 W 40
1
0
0
0

0
0

0 0

0 0

0
W 40

0 0
0 0

0
0

0
0

1 0
0 1

W 42
0

0
4

1 0 W

0 1

2
4

0 1

0 0
0 0

0 0

0 1

W 42 0
0 0

W 42 0

0 0 0

W2

1 0 0
0 1 0

0
0

0
W2
0

0 0 1
0
0
0 0 0 W2

0
0

0
0
W2

0
0

1 0 0

W2

0 1 0
0 0 1

0
0

0
0

0
0
0

0
W2
0

0
0
0
W2
0

0
0
W 2

s0
s
1
s 2

s3
s 4

s5
s
6
s 7

En oprant de la mme faon sur la TFD-1, on arrive rduire considrablement le cot.

4. TFD des signaux de longueur illimite


Le nombre dlments dune squence transforme par la TFD est implicitement limit, la fentre
intrinsque la transforme discrte de Fourier est donc la fentre rectangulaire de dure T0=NTe.

TFTD x(n) . Re ct (n) X ( f )* N sin c( fT0 )


T0 = NTe

La troncation du signal chantillonn par une fentre de largeur T0 a pour effet de convoluer le spectre
avec un sinus cardinal qui sannule tous les 1/T0 avec T0 = NTe soit tous les fe /N.

16
TFD
TFTD

14
12
10
Phase

Exemple : En rouge est illustr X(k) le module de la TFD de {x(n) = e2jf0n},


pour n= {0, . . . ,N 1}, avec N = 16 et f0 = 0,2. En bleu X(f), le module de la
TFTD de x(n). Lallure de X(f) fait apparatre un lobe principal de largeur
2/N (ou 2fe/N) autour de la frquence f0 et des lobes secondaires de largeur
1/N (ou fe/N).Dans le cas gnral, le spectre, obtenu par transforme de
Fourier discrte, est donc un ensemble de fonctions sinc(T0f ) centres sur les
frquences qui composent le signal thorique initial.

8
6
4
2
0

20

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

16
TFD
TFTD

18
14

16
12
10

12
3 sinc

3 frquences

14

10
8

8
6

6
4

4
2

2
0

0.1

0.2

0.3

0.4

0.5

0.6

FEI,USTHB [assiakourgli@gmail.com

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

27

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Exemple : Considrons l'exemple suivant: x(n)=

A0 e2jf0n

A0 e2jf11n

o f0 et f1 [-fe/2, fe/2]

pour n (0:N-1)

Le trac du spectre par TFD montre que si l'cart en valeur absolue entre f0 et f1 est suprieur fe/N, il
sera possible de distinguer les deux frquences sur le trac. Cette rsolution en frquence est lie au nombre de
points N du signal (voir
les 2 figure ci-dessous)
16
16

fe=1 N=16 f0=0.16 f1=0.2 A0=A1

fe=1 N=16 f0=0.18 f1=0.3 A0=A1

14

14

12

12

10

10

2
0

2
0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

On considre maintenant l'exemple suivant (figure ci-dessus, droite):

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

16
fe=1 N=16 f0=0.18 f1=0.3 A0=10*A1
14

s(n)= A0 e2jf0n + A1 e2jf11n

pour n (0:N-1)

o A0> A1

Un masquage du lobe principal de la composante en f1 peut


survenir en raison des ondulations prsentes dans le spectre de A0
exp(2jf0n). Une frquence damplitude faible au voisinage dune
damplitude plus leve sera masque par le premier lobe secondaire.
Ce phnomne se rvlera gnant lorsque le spectre est compos de
nombreuses raies, proches les unes des autres. L'importance des lobes
secondaires peut tre rduite par l'emploi d'autres fentres.

12
10
8
6
4
2
0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Mais cela se fera au dtriment de la sparation de frquences trs voisines mais damplitude
semblables car les 2 raies seront confondues dans un lobe principal plus large (la fentre rectangulaire possde
le lobe principal le plus troit).

5. Fentres de pondration
Lors de lanalyse spectrale dun signal de longue dure, nous navons accs, en pratique, qu une portion
limite de ce signal. Le spectre obtenu correspond donc au spectre du signal analyser auquel une fentre a t
pralablement multiplie [7]. Pour ne pas altrer le spectre original, il faudrait que W(f) (spectre de la fentre)
se rapproche le plus possible dune distribution de Dirac. La distribution de Dirac tant llment neutre du
produit de convolution. Il y a deux lments importants pour se rapprocher de la distribution de Dirac. La
10
finesse du lobe principale et la hauteur des lobes secondaires.
9
En effet, plus la largeur du pic principal est fine, plus la rsolution est
grande, cest--dire que lon peut sparer des raies proches. Et plus les
lobes secondaires sont levs plus on dgrade la forme du spectre et la
dtection dun signal damplitude faible en prsence dun signal
damplitude leve sera ardue [8].

8
7
6
5
4
3
2
1

FEI,USTHB [assiakourgli@gmail.com

0
-0.5

-0.4

-0.3

-0.2

-0.1

0.1

0.2

0.3

0.4

0.5

28

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

- Fentre Rectangulaire
Pour la fentre rectangulaire, on voit que la finesse du lobe principale (2 fe/N).peut tre rgle par le nombre
dchantillons N. Ainsi, plus on observe le signal longtemps, plus la rsolution du spectre augmente ce qui
parait logique. Par contre, R varie trs peu en fonction de N (-13dB) donc toujours une distorsion de spectre.
10

- Fentre Triangulaire

TFD Fen rctangulaire


TFD Fen Triangulaire

Pour obtenir la transforme de Fourier de la fentre triangulaire de


largeur N, rappelons que
la convolution de deux signaux
rectangulaires donne un signal triangulaire. Ainsi, on peut exprimer
cette fentre sous la forme dune convolution de deux rectangles de
largeur N.Te/2. On observe une attnuation des lobes secondaires
(-24dB) par rapport la fentre rectangulaire[8]. Malheureusement,
ceci se fait au prix de llargissement du pic central (4 fe/N).

8
7
6
5
4
3
2
1

- Autres fentres

0
-0.5

Fentres
Rectangle

Triangulaire

Hanning

Hammming

Blackman

N 1

pour n
1
wRe ct ( n) =
2
0
ailleurs
N 1

1 2 n /( N 1) pour n
wTrian (n) =
2
0
ailleurs
N 1
2n

) pour n
0.5 + 0.5 cos(
wHan (n) =
N 1
2
0
ailleurs

-0.4

-0.3

-0.2

-0.1

0.1

0.2

0.3

0.4

0.5

Largeur de
Transition :Lf
2 fe/N

Lobe
Principale/Secondaire
-13 db

4 fe /N

- 25 db

4 fe /N

- 31 db

4 fe /N

- 41 db

6 fe /N

- 57 db

2n
N 1

) pour n
0.54 + 0.46 cos(
wHam (n) =
N 1
2
0
ailleurs
2n
4n
N 1

) + 0.08cos(
) pour n
0.42 + 0.5 cos(
wBlack (n) =
N 1
N 1
2
0
ailleurs

10

Dans
un
problme
danalyse spectrale, on
utilise
gnralement
plusieurs fentres lune
aprs
lautre
afin
dobtenir
un
bon
compromis
rsolution/dformation.

Rectangle
Hanning
Hamming
Blackman

TFD Rectangle
TFD Hanning
TFD Hamming
TFD Blackman

9
8
7

0.8

6
0.6

5
4

0.4

3
2

0.2

1
0

FEI,USTHB [assiakourgli@gmail.com

10

15

20

25

30

35

40

45

0
50 -0.5

-0.4

-0.3

-0.2

-0.1

0.1

0.2

0.3

0.4

29

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)
Srie n2

1.Calculer la transforme de Fourier temps discret (TFTD) de x(n)=(n) + 6(n 1) + 3(n 2)


2. Soit x(n)=1/N pour 0 n N-1 et 0 ailleurs.
- Calculer et tracer la TFTD
- Calculer sa TFD X(k) pour N quelconque puis pour N=4 et tracer la.
3. On a le signal suivant x(n)=e-anU(n), avec U(n) lchelon unit, chantillonn Te = 1.
- Calculer la TFTD
- Calculer la TFD pour N et comparer si N
4. La figure ci-contre reprsente 2 signaux discrets. Le signal S1 est obtenu avec un chantillonnage la frquence
fe=1200Hz.
Signal S1
Signal S2
- Calculer l'nergie du signal.
- Dterminer et tracer l'auto-corrlation du signal S1.
- On dcale le signal S1 de 2 vers la droite, sans
faire de calcul, tracer son auto-corrlation.
- Dterminer la TFTD de S1 et tracer son module.
- Calculer la TFD pour tout N. Tracer la TFD pour N=6.
- Le signal S2 est obtenu partir du signal S1, comment ?
- Tracer approximativement la TFD de S2 (N=12).
5. Calculer la TFD du signal s(n)=n pour N=2, 3, 4, 8.

0.9

0.9

0.8

0.8

0.7

0.7

0.6

0.6

0.5

0.5

0.4

0.4

0.3

0.3

0.2

0.2

0.1

0.1

10

6. Calculer la transforme de Fourier discrte (TFD) de la suite x(n) forme de N = 8 points (n [0,7]), obtenue en
chantillonnant la frquence fe = 16 Hz le signal s(t) = 2sin(8t)+8cos(4t)
7. Etant donn les signaux s(n)={1,-2,3,2} et v(n) ={-2,1,2,3}, dterminer w(n)=s(n)*v(n) par
- la mthode directe
50
- la mthode de la TFD
40

sin(pi*N*f)/sin(pi*f)
N*sinc(N*f))

30

Solutions

20

-2jfTe

1. X(f)=1+6.e
2. X ( f ) =

+3.e-4jfTe

10

1 sin(NfTe ) j ( N 1) fTe
e
sin c( NfTe )e j ( N 1) fTe
N sin(fTe )

-10

-20

X (k ) =
3. TFTD

0.05

0.1

0.15

0.2

1 sin(k ) j k ( N 1) / N
1 sin(k ) 3 j k / 4
e
sin c(k )e j k ( N 1) / N X (k ) =
e
N sin(k / N )
4 sin(k / 4)

X(f)=

1
1 e a 2 j fTe

1 e aN
TFD X (k ) =
1 e a 2 j k / N

0.25

0.3

0.35

0.4

0.45

1 X(k)

4. E=3, Rs1(0)=2, Rs1(1)= Rs1(-1)=1, identique, SS1(f)=2cos(fTe)e-jfTe, SS1(k)=2cos(k/N)e-jk/N


FEI,USTHB [assiakourgli@gmail.com

30

0.5

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

SS1=[2, 1.73 1,0, 1, 1.73] , zro padding, Rajouter des points entre la TFD de N=6.
N=3, X(k)= 3, 3 (1 3 j ), 3 (1 + 3 j )
2

5. N=2, X(k)=[1, -1]


S 0 W80
S 0
1 W8
6. S 2 W80
0
S 3 = W8
S4 W 0
80
S 5 W8
S W 0
6 8
0
S 7 W8

W80
W81

W80
W82

W80
W83

W80
W84

W80
W85

W80
W86

W82
W83

W84
W86

W86
W89

W88
W812

W810
W815

W812
W818

W84

W88

W812

W816 W820 W824

W85
W86

W810
W812

W815 W820 W825 W830


W818 W824 W830 W836

7
8

14
8

21
8

28
8

35
8

42
8

0
W80 s0 W8
0
7
W8 s1 W8
0
W814 s2 W8
0
21
W8 s3 W8
=
0
W828 s4 W8

0
W835 s5 W8
W842 s6 W80

W849 s7 W80

N=4, X(k)= [6, 2 j 2 , 2, 2 2 j ]

W80 W80 W80 W80 W80 W80 W80 s 0



W81 W82 W83 W84 W85 W86 W87 s1
2
4
6
0
2
4
6
W8 W8 W8 W8 W8 W8 W8 s 2

W83 W86 W81 W84 W87 W82 W85 s3
4
0
4
0
4
0
4
W8 W8 W8 W8 W8 W8 W8 s 4

W85 W82 W87 W84 W81 W86 W83 s5
W86 W84 W82 W80 W86 W84 W82 s 6

W87 W86 W85 W84 W83 W82 W81 s 7

s n = 8 2 + 4 2 0 2 4 2 8 2 4 2 0 2 + 4 2 et W8k = 1

2
(1 j) j
2

Imaginaire

W86
W85
X

W84
X
W83

2
(1 j) 1
2

W87
W80
X
Rel

2
(1 + j) j
2

X
W81

X
W82

2
(1 +
2

j)

7.Convolution circulaire w(n)=s(n)*v(n) =[0, 18, 0, -2]


W43= j

W
W

0
4
0
4
0
4
0
4

0
4
1
4
2
4
3
4

0
4
2
4
4
4
6
4

W
W

W
W

W W

W W
=
W W

W W
0
4
3
4
6
4
9
4

0
4
0
4
0
4
0
4

0
4
1
4
2
4
3
4

0
4
2
4

4
2
4

W
W

W
W

W42= -1

-1
X

W40=1
Rel

1 2 3 2
2 1 2 3

Sk=[4, 4j-2, 4, -2-4j]

Imaginaire

X
1

1
1
W 1 1

W 1 j 1 j
=
W 1 1 1 1

W 1 j 1 j
0
4
3
4
2
4
1
4

W41= -j

-1

2 4 6 4
1 2
3 2

Vk=[4, -4+2j, -4, -4-2j]

Wk=[16, -20j, -16, 20j] w(n)=[0, 18, 0, -2]

2 4 6 4
3 6 9 6

2 5 6 2 2 13 6
+ 2 13 6

Convolution Normale
Convolution Circulaire

18

2
8
7

Exercices supplmentaires

6
5

1. Calculer la TFD du signal x(n)=1 pour 0n6 et x(n)=0 pour 7n29

X (0) = 7 X (k 0) =

sin(k 7 / 30) 6 j k / 30
e
sin(k / 30)

4
3
2
1
0

10

15

20

25

30

2.Calculer la TFD de la suite x=[2,3,-1,1] sur N=4 pts Solution X=[5, 3-2j, -3, 3+2j]
x(n)

y(n)

3. On considre le systme suivant :


h(n)
On suppose que H(0)=H(1)=1 et H(2)=H(3)=0.
Dterminer et tracer h(n) pour 0 n 3
On pose H(4)=H(5)== H(N-1)=0. Donner le nom de cette technique.
Quelle est le but de cette opration ? Donner, alors, lallure approximative de h(n) pour N assez grand.
FEI,USTHB [assiakourgli@gmail.com

31

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

TP n2 : TFD
Rappels
1. Transforme de Fourier Discrte
La TFD dordre N dun signal numrique s(kTe), k=0N-1 est dfinie par :
k N 1
X ( k ) = X f e = x(nTe )e 2 j k n / N , k = N / 2.......N / 2
N n =0
Sa transforme inverse est donne par:

x( n) = x(nTe ) =

1
N

N / 21

X (kf

k = N / 2

/ N )e 2 j k n / N , n = 0.......N 1

Matlab fournit la fonction y=fft(x) pour calculer la transforme de Fourier complexe dun vecteur de
longueur N.
- La fonction fft(x) (respectivement ifft(X)) permettra de calculer la TFD (respectivement la TFD-1) sur les N
points, soit de 0 N-1 correspondant l'intervalle [0, fe] (respectivement [0, NTe]. Le spectre obtenu sera
un vecteur complexe que l'on pourra reprsenter en coordonnes cartsiennes (partie relle et imaginaire
fonction real et imag), ou en coordonnes polaires (module et phase, fonction matlab abs et angle ou
unwrap).
- Pour une reprsentation entre -fe/2 et fe/2 de la TFD, il suffira d'crire X=fftshift(X)
- Pour augmenter la prcision, il suffit d'crire fft(x,NF) o NF>N. La transforme inverse est donne alors
par ifft(x,NF).

2. Exemple d'utilisation de la FFT sous matlab


clc; clear all
N=100; fo=1000; Fe=8000; Te=1/Fe;
n=0:1:N-1;
x=sin(2*pi*fo*n*Te);
subplot(2,2,1);
t=Te*[0:1:N-1];
plot(t,x,'gx:'); grid;
y=fft(x);
axe_FF=Fe*(0:1/N:1-(1/N));
subplot(2,2,2);plot(axe_FF,abs(y/N),'b.:'); grid;
title('Transforme de Fourier Discrte par FFT du signal entre 0 et fe')
xlabel('frquence'); ylabel('Module du spectre');
subplot(2,2,3);
y_dec=fftshift(y);
axe_freq=Fe*(-1/2:1/N:1/2-(1/N));
plot(axe_freq,abs(y_dec/N),'b.:'); grid;
title('Transforme de Fourier Discrte par FFT du signal entre -fe/2 et fe/2')
xlabel('frquence'); ylabel('Module du spectre');
%FFT inverse %
FFT_INV=ifft(y);
subplot(2,2,4);
plot(t,FFT_INV,'bx:'); grid;
title('Transforme de Fourier Discrte inverse du signal N=100')
xlabel('temps'); ylabel('Amplitude');

FEI,USTHB [assiakourgli@gmail.com

32

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

3. Programmes raliser
I. Reprendre l'exemple vu en cours x(n)= [1 0 0 1] , calculer, afficher et visualiser sa TFD pour NF=4 puis NF=32.

II. TFD d'une porte


clc; clear all; close all;
N=6; Fe=1 ; Te=1/Fe;
n=Te*(1:N);x=ones(1,N);
subplot(2,1,1); stem(n,abs(x),'bx:'); grid;
NF=6; y=fft(x,NF); y_dec=fftshift(y);
subplot(2,1,2); axe_freq=Fe*(-1/2:1/NF:1/2-(1/NF));
stem(axe_freq,abs(y_dec/N),'r.:'); grid;

- Calculer la TFD thorique et comparer avec celle obtenue par ce programme.


- Vrifier que l'nergie se conserve.
- Prendre NF = 12 puis 24 puis encore 128 et commenter.
- Illustrer la proprit de dcalage frquentiel de la TF en calculant (thoriquement) et en reprsentant le
module de la TFD de x(n) e2jfon avec fo=0.2 Hz.
- Mesurer la largeur f du lobe principal. Sa taille est-elle fonction de N ou NF?
- Afficher le module de la transforme de Fourier en dcibels en crivant
stem(axe_freq,20*log10(abs(y_dec/N)),'r.:'); grid;

puis vrifier que l'on a bien environ 13 dB entre le max du lobe principal et le max du lobe secondaire pour tout
N (prendre N=10 et N=40).
III. Effet du fentrage
-Dterminer la TFTD thorique de s(n)= A0 e2jf0n
- Que se passe-t-il si l'on calcule cette TFD sur N comme illustr par le programme suivant ?
clc; clear all; close all;
N=50; NF=1024; Fe=8000; Te=1/Fe; f0=1680;
n=(0:N-1)*Te; x=exp(2*pi*j*f0*n);
y=fft(x,NF); yy=fftshift(y/N); axe_f=Fe*(-1/2:1/NF:1/2-(1/NF));
plot(axe_f,abs(yy)); grid; title('TFD Fentre Rectangulaire'); hold on;

- Que se passe-t-il si l'on remplace f0 par 1600?


- On remet f0 1680 et on rajoute au programme les lignes suivantes
fen=hanning(N);
xx=x.*fen'; y=fft(xx,NF); yy=fftshift(y/N);
plot(axe_f,abs(yy),'r'); grid; title('TFD Fentre Hanning');

- Calculer la largeur du lobe principale pour chaque fentre en fonction de fe et N.


- Comparer les fentres (amplitude principale, largeur des lobes, amplitudes des lobes).
- Tester d'autres fentres (Hamming, Blackman, Triangulaire)
- Modifier ce programme pour calculer la TFD de la somme de 2 exponentielles de frquences f0=1680 Hz et
f1=1800 de mme amplitude 1. Comparer alors les rsolutions frquentielles thoriques et pratiques des
diffrentes fentres
- Refaire le mme travail avec f0=1680 Hz et f1=2100 avec des amplitudes diffrentes (A0=1 et A1=0.2) et
commenter.
Remarque Deux raies dun spectre sont considres comme sparables, si le maximum de lune correspond au
premier minimum nul de lautre soit |f1-f2| > Largeur du lobe principal/2=Lf/2 (Voir tableau page 29) .
FEI,USTHB [assiakourgli@gmail.com

33

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Srie n3
1. Etablir la correspondance entre chaque signal et sa TFD
1.5

1.5

0.8

0.5

0.6

5
4

0.5

0.4

3
-0.5

-1

10

15

20

25

30

1.5

1.5

0.5

0.5

0.2

2
1
0

10

15

20

25

30

10

15

20

25

30

30

-0.5

-0.5

10

15

20

25

30

10

15

20

25

30

10

15

20

25

30

10

15

20

25

30

14

25

12

20

10
8

15
0

6
10

-1

10

15

20

25

30

1.5

-1

4
5

10

15

20

25

30

2
0

10

15

20

25

30

1.5

12

16

10

14
12

10

0.5

0
0.5

6
4

-0.5

2
0

10

15

20

25

30

1.5

-1

0
0

10

15

20

25

30

10

15

20

25

30

1.5
15
7

6
1

10

0.5

5
4

0.5

5
2

-0.5

1
-1

10

15

20

25

30

10

15

20

25

30

10

15

20

25

30

2. Un signal analogique est chantillonn une frquence fe=7500 Hz et N chantillons sont collects.
- Quelle est la rsolution frquentielle pour N=1250?
- Dterminer N permettant d'atteindre une rsolution frquentielle de 4.5 Hz.
3. Un signal analogique est chantillonn une frquence fe= 500Hz et N=980 chantillons sont collects.
On veut connatre la valeur du spectre 120 Hz.
- Quel indice k de la TFD est le plus proche de 120Hz?
- Quel est le nombre minimum de 0 rajouter obtenir une valeur de la TFD 120 Hz exactement?
- Donner alors la valeur de l'indice k correspondant.
4. Soit x(n) = sin(2 f1 n) + 0.5 sin(2 f2 n) avec 0 n 127, f1 = 0.223, f2 = 0.240
- On veut employer un fentrage, calculer la largeur du lobe principale de chaque fentre
- Dterminer alors le fentrage permettant de visualiser les 2 sinusodes.
5. Soit x(n)=A0 e2jf0n + A0 e2jf1n pour n (0:N-1) o f0=0.25, et f1=0.70 et fe=2 N=20.
- Donner lallure de la TFTD et de la TFD.
- Quel est le but du fentrage ?
- Quelle est la meilleure fentre utiliser pour ce signal ? Justifier.

FEI,USTHB [assiakourgli@gmail.com

34

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Solutions
1. 1-3, 2-5,
3-6,
4-1,
5-2,
6-4,
7-7,
8-6
2. f=6 N= 1667
3. k=235 , Rajouter 20 zros et prendre k=240
4. Rect=0.0156 Tri, Han, Ham= 0.03125 Black=0.0469 f1-f2=0.017 Rectangle ou Hamming
5. 2 sinc l'un en f0 et l'autre en f1 s'annulant tous les fe/N=0.1, Attnuation des lobes secondaires, Blackman.
Exercices supplmentaires
1. On donne les signaux et les TFD suivantes, associer chaque signal sa TFD

2. On souhaite calculer la TFD du signal suivant : e2jf0n +0.1 e2jf11n avec f0=0.26, f1=0.3 , N=100 (fe=1) et
NF=1024. A cette fin, on teste diffrentes fentres (Rectangulaire, Hamming et Hanning). Les TFD obtenues sont
illustres ci-dessous.
- Identifier les fentre utilises (en justifiant vos rponses)
- Quelle est la meilleure fentre pour ce signal ? Justifier.
0.7

0.7

0.9

0.6

0.6

0.5

0.5

0.4

0.4

0.3

0.3

0.8

0.7

0.6

0.5

0.4

0.2

0.2

0.1

0.1

0.3

0.2

0.1

0
-0.5

-0.4

-0.3

-0.2

-0.1

0.1

0.2

0.3

0.4

0.5

0
-0.5

-0.4

-0.3

-0.2

-0.1

0.1

0.2

0.3

0.4

0.5

0
-0.5

-0.4

-0.3

-0.2

-0.1

0.1

0.2

0.3

0.4

Solutions:
1. (1,3), (2,8), (3,4), (4,2), (5,7), (6,5), (7,1) et (8,6)
2. Hamming, Hanning, Rectangulaire, Meilleure : Hamming.
FEI,USTHB [assiakourgli@gmail.com

35

0.5

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

IV. Analyse des filtres numriques par la TZ

La transforme de Fourier est un outil prcieux d'analyse et de traitement des signaux. Cependant, dans
certains problmes (comme le filtrage numrique), les limites de la TF sont vite atteintes. La transforme en Z,
qui s'applique aux signaux discrets, gnralise la TF et permet de dpasser ces limites [10]. Elle est tout--fait
analogue la transforme de Laplace, mais plus facile utiliser. Ce type de transforme permet de dcrire
aisment les signaux temps discret et la rponse des systmes linaires invariants soumis des entres
diverses. C'est un outil qui permet de calculer la rponse impulsionnelle dun systme linaire invariant dcrit
par une quation aux diffrences finies. Elle permet l'interprtation directe des caractristiques des signaux et
des filtres dans le domaine des frquences [9].

1. Transforme en Z
Dfinition : La TZ est la gnralisation de la TFTD ( X ( f ) =

x(nT )e

n =

2 j f nTe

).

Soit un signal discret x(n). Sa TZ est dfinie par:

X ( z) =

x(n).z

o z est une variable complexe dfinie partout o cette srie converge.

n =

Exemples :
- x(n) = (n) X(z) = 1,
- x(n) = (n-k) X(z) = z-k,

si k>0 RDC=-{0}

si k<0 RDC=-{}

- x(n)=(1,2,3,5,0,2) on peut crire x(n)=(n)+2. (n-1)+3. (n-2)+5. (n-3)+ 2. (n-5)

X ( z) = 1 + 2 z 1 + 3z 2 + 5 z 3 + 2 z 5 RDC=-{0}
La srie des puissances introduite dans lquation de dfinition de la TZ ne converge que pour un sousensemble du plan complexe. Ce sous-ensemble est appel rgion de convergence (RDC) ou domaine de
convergence. Une rgion de convergence correspond lensemble des valeurs de z telles que X(z) soit dfinie et
valeurs finies. Spcifier le domaine de convergence de la transforme est tout aussi important que la
transforme elle mme [9].
Condition d'existence : La transforme existe si la srie converge. Pour cela, on utilise le critre de Cauchy

lim U n
n

1/ n

< 1 sur la convergence des sries gomtriques S = U n

FEI,USTHB [assiakourgli@gmail.com

n =0

36

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

L'ensemble des valeurs de la variable complexe z pour lesquelles la srie converge est appele Rgion De
Convergence (RDC):
+

RDC = z C / x(n).z n < +


n =

Exemple : TZ{u(n)}
+

1
1 z N
, la limite est finie si z 1 < 1 z > 1 U ( z ) =
pour z > 1

1
N 1 z
1 z 1

N 1

U ( z ) = z n = lim z n = lim
n=0

n =0

De faon gnrale, on montre que la RDC est un anneau de convergence centr sur l'origine dfini par :

r1 < z < r2

avec r1 = lim x ( n)

1/ n

n +

et r2 = lim x ( n)

Im(z)

1 / n

n +

r1

o r1 peut tre rduit 0 etr2 peut tre gal l.

r2

Re(z)

RDC

- x(n)=0 pour n<n0r2= +,


RDC = rgion extrieure au cercle de rayon r1

Im(z)

Im(z)

- x(n)=0 pour n>n0r1 = 0

RDC
r2

RDC = disque de rayon r2

r1
RDC

Re(z)

systme anti-causal : RDC cercle.

Re(z)

systme causal : RDC extrieure au cercle.

Exemples
-

a n si n 0
Soit a > 0, x( n) =
0 si non
0 si n 0

Soit b > 0, y (n) =

b si n < 0
n

X(z)= a n z n =
n =0

Y(z)=

b
n<0

z
, convergente pour z > a .
za

z n =

z
, convergente pour z < b .
z b

a n si n 0
z
z
W(z)=

, convergente pour b > z > a .


n
z a z b
b si n < 0

Soient a >0 ,b > 0, w( z ) =

Remarque : La TZ de an pour n ]-, +[ n'existe pas.

FEI,USTHB [assiakourgli@gmail.com

37

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

2. Proprits de la TZ
Les proprits qui nous sont les plus utilises sont rsumes comme suit :
TZ
TZ
TZ
Si on dfinit : x(n)
X ( z ) , x1 (n)
X 1 ( z ) et x 2 (n)
X 2 ( z)
TZ
- Linarit : a.x1 (n) + b.x 2 (n)
a. X 1 ( z ) + b. X 2 ( z )

RDC intersection des deux RDC

- Thorme du retard : x(n k ) z . X ( z )


TZ

RDC : identique
k 1

TZ
- Thorme de l'avance : x ( n + k )
z k . X ( z ) x (n) z k n

RDC : identique

n =0

z
a

RDC : a.r1 < z < a.r2

TZ
- Multiplication par an : a n x ( n)
X

- Retournement du temps :

RDC : 1 / r2 < z < 1 / r1

TZ
x(n)
X ( z 1 )

TZ
- Convolution : x1 (n) x 2 (n)
X 1 ( z ). X 2 ( z ) et

- Thorme de drivation : n.x(n) z.


TZ

RDC : identique

dX ( z )
dz

RDC : identique

- Thorme de la valeur initiale : si x(n)=0 pour n<0 alors x (0) = lim X ( z )


z

- Thorme de la valeur finale : lim x ( n) = lim( z 1) X ( z )


n +

z 1

Exemples
1. x(n) = cos(wo n)U (n) =

X ( z) =

1 jw0 n
(e
+ e jw0 n )U (n)
2

1
1
1
1 cos( w0 ) z 1

+
=

2 1 e jw 0 z 1 1 e jw 0 z 1 1 2 cos( w0 ) z 1 + z 2

avec

z >1

2. Calculer la transforme en z des fonctions discrtes suivantes. Vrifier que les thormes de la valeur initiale
et finale s'appliquent : x(n) = 0,8n u(n) et y(n) = n0,8nu(n).

z
d

z
0 .8 z
z 0 .8

X (z) =
Y (z) = z
=
z 0. 8
dz
( z 0 .8 ) 2

x (0) = lim

z
=1
z 0.8

y (0) = lim

x () = lim

z ( z 1)
=0
z 0 .8

y ( ) = lim

FEI,USTHB [assiakourgli@gmail.com

0. 8 z

( z 0. 8 ) 2

=0

0.8 z ( z 1)

(z 0.8)2

=0

38

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)
Quelques TZ

x(n)
(n)

X(z)
1

U (n)

1
1 z 1
1
1 az 1
az 1

a nU (n)
n a nU (n)

Rgion de convergence
z
z >1

z > a
z > a

(1 az )

1 2

1
1 az 1
1 z 1 cos( 0 )
1 2 z 1 cos( 0 ) + z 2

z < a

sin( 0 n)U (n)

z 1 sin(0 )
1 2 z 1 cos(0 ) + z 2

z >1

a n cos( 0 n )U ( n )

1 az 1 cos( 0 )
1 2az 1 cos( 0 ) + a 2 z 2

z > a

a n sin( 0 n )U ( n )

az 1 sin(0 )
1 2az 1 cos(0 ) + a 2 z 2

z > a

a U (n 1)
n

cos( 0 n)U (n)

z >1

3. TZ rationnelles (correspondant aux SLID)


Les systmes linaires invariants dcrits par une quation aux diffrences finies possdent une
transforme en Z rationnelle c'est ainsi que celles-ci vont scrire comme le rapport de deux polynmes en z-1.
M

a y (n i) = b x(n i) a .z
TZ

i =0

i =0

i=0

Y ( z ) = bi .z i X ( z )
i=0

On peut caractriser un systme LI par h(n) ou par la transforme en Z (H(z)) de sa rponse


impulsionnelle h(n), encore appele fonction de transfert du systme.
N

H ( z) =

b .z

a .z

i =0
M

i =0

(z z ) = K z
(z p )
N

b
N ( z ) b0 M N
= 0 z M N
=
z
a0
D ( z ) a0

i =1
M

i =1

(z z )
(z p )
N

M N

i =1
M

i =1

On appelle zros, les valeurs de z pour lesquelles H(z)=0 et on appelle ples, les valeurs de z pour
lesquelles H(z) est infini (annule le dnominateur). C'est ainsi que H(z) possde N zros (zi), M ples (pi). Si
M>N, elle possde (M-N) zros en 0, sinon (N-M) ples en 0.
Ainsi, la position de ses ples et de ses zros ( + le facteur damplitude K=b0/a0) va nous fournir une
description complte de H(z) (par consquent de h(n) et H(f)) donc du comportement du systme. H(z) peut
donc tre reprsente sous la forme dun cercle modlisant la position des ples et des zros dans le plan
complexe.
FEI,USTHB [assiakourgli@gmail.com

39

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Exemple

Im(z)

H ( z) =

3z 2
( z 1)( z + 0.5)

-1

Un zro en 2/3 et deux ples p1= -0.5 et p2= 1

Re(z)

1
-1

Remarques
- Dans la plupart des systmes, les ai et le bi sont rels les ples et les zros sont soient rels soient des paires
de complexes conjugues.
- Rappelons que le rayon d'un systme causal se trouve l'extrieur d'un cercle. Par ailleurs, s'il est stable :

h(n) < , puisque

h(n).z

H (z) =

, il suffit donc que z=1 fasse partie de la RDC.

n =

- Pour un systme causal et stable, tous les ples sont lintrieur du cercle unit (|pi|<1, i). Le domaine de
convergence ne peut contenir de ples puisque la TZ ne converge pas aux ples. Sil est anti-causal, il sera stable
si les ples sont lextrieur du cercle unit.
N

- Si le filtre est non-rcursif H ( z ) = bi .z i . Un filtre RIF a tous ses ples lorigine et sera donc toujours
i =0

stable.

20

0.8

0.6
15
0.4

0.2
10
0
1
5

-0.2
0.9
-0.4
0.8

0
-0.6

0.7
-0.8
-5

0.6

200

-1

10

12

14

16

18
0.5

-10

150

10

12

14

16

18
0.4

0.3

100

50

0.2

Im(z)

0.1

-50

-100

-150

10

15

20

10

15

20

25

300

250

25

200

0.8

-1

XX

0.6

0.4

0.2

X
1
Re(z)

150

100

50

-50

-100

-0.2

10

12

14

16

18

-1

-0.4

-0.6

1
1

-0.8

0.9

1
-1

0.8

10

15

20

25

0.8
0.8
0.6

0.7
0.6

0.4

0.6
0.4

0.2

0.2

-0.2

0.5

0.4

0.3

0.2
-0.4

-0.2
0.1
-0.6

-0.4
-0.8

10

15

20

10

15

20

25

25

-0.6

10

12

14

16

18

- A un ple pi simple ou multiple va correspondre une rponse impulsionnelle qui converge si |pi|<1. Elle
divergera dans le cas contraire, soit si |pi|>1 .
- Sachant qu' chaque ple complexe est associ un ple conjugu cela donnera une rponse impulsionnelle h(n)
oscillante (cosinus ou sinus) amortie si|pi=1,2|< 1 ou divergente si |pi=1,2|> 1.

FEI,USTHB [assiakourgli@gmail.com

40

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

- Dans un systme phase minimale, tous les zros sont lintrieur du cercle unit (|zi|<1, i).

4. Dtermination de la rponse frquentielle des filtres numriques


On suppose que le cercle unit (|z|=1) RDC de X (z). On restreint le calcul de X(z) au cercle unit en
posant z = e 2j f Te.
Lorsqu'un zro est plac sur un point donn du plan en z, la rponse frquentielle sera de 0 au point considr.
Un ple quant lui produira un pic au point correspondant. Plus les ples ou les zros sont proches du cercle
unit, plus ils influencent la rponse en frquence [11].
un zro ou un ple lorigine ninfluent pas sur le module de la rponse frquentielle.
un zro sur le cercle unit introduit une annulation du module pour la frquence correspondant
Un zro au voisinage du cercle unit introduit une attnuation dans le module de la rponse en frquence.
Attnuation dautant plus importante que le zro est proche du cercle unit.
Un ple sur le cercle unit introduit une rsonance infinie dans le module de la rponse en frquence pour la
frquence correspondante.
Un ple au voisinage du cercle unit introduit une rsonance dautant plus importante dans le module de la
rponse en frquence que le ple est proche du cercle unit.
Exemples: 1 ple en 0 et un zro en 0.7. Pour obtenir l'allure de H(f), on divise le vecteur du numrateur (en
rouge) sur celui du dnominateur (en mauve). Et pour le suivant un ple 0.8 et un zro en -0.5
1.8

f=fe /4
1.6
1

1.4

0.8
0.6

1.2

0.4

Imaginary Part

1
0.2

0
-0.2

0.8

f=0

-0.4

0.6

H(f)
0.4

-0.6

0.2

-0.8
-1

0
-1

-0.5

0
Real Part

0.5

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

8
1

7
0.8
0.6

0.4

Imaginary Part

f=fe

0.2

0
-0.2

f=0

H(f)

3
-0.4
-0.6

-0.8

-1
-1

-0.5

0
Real Part

FEI,USTHB [assiakourgli@gmail.com

0.5

41

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Autres Exemples
1) Sur la figure ci-dessous le cercle complet correspond une frquence d'chantillonnage fe. Des ples proches
du cercle unit sont l'origine de larges pics tandis que des zros proches ou sur le cercle unit produisent des
minima. Ce trac nous permettra d'identifier la nature du filtre.
12

f=fe /4
X

1
0.8

10
0.6

f=fe /2

Partie Imaginaire

0.4

0.2

f=0

-0.2
4

-0.4
-0.6

-0.8

-1
-1

-0.5

0
Partie Relle

0.5

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

f=fe/4

f=fe/2

On peut aussi avoir une ide sur son comportement gnral : passe-bas, passe-haut ou passe-bande, connatre
sa ou ses frquences de coupure.

f=fe/4

2)

10

f=fe/6

0.8

0.6

f=fe/2

Partie Imaginaire

0.4

0.2
2

60

f=0

-0.2
4

-0.4
3

-0.6

-0.8

-1
-1

3) H ( z ) =

-0.5

0
Partie Relle

0.5

0.05

0.1

f=0

0.15

0.2

0.25

0.3

0.35

0.4

f=fe/6

0.45

0.5

f=fe/2

z 2z + 1
Zros double en z=-1, ples p12 = 0.6e j 72
z 0.371z + 0.36
2

- Un zro double en z = 1 |H(f)| = 0 pour f = 0 - Des ples proches du cercle unit maxima.
3
1
0.8

2.5
0.6

Partie Imaginaire

0.4

0.2
2

1.5

-0.2
-0.4

-0.6
-0.8

0.5

-1
-1

-0.5

0
Partie Relle

FEI,USTHB [assiakourgli@gmail.com

0.5

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

42

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Remarque : Puisque les coefficients du filtre sont rels, les ples et zros sont rels (sur l'axe des rels) ou paires
de complexes conjugus.
5. Dtermination de la rponse impulsionnelle des FN (TZ inverse)
Le passage de la TZ vers h(n) peut se faire par le biais de la transformes en Z de signaux lmentaires
connus condition qu'il soit possible dcrire H(z) comme la combinaison de transformes lmentaires. Dans
le cas contraire, on peut employer lintgration sur un contour ferm en utilisant le calcul des rsidus, ou le
dveloppement en puissance de z et de z-1, ou encore le dveloppement en fractions lmentaires [12].
1. La relation gnrale de la transforme en z inverse est donne par lquation donne par l'intgrale de
Cauchy : x( n) =

2. . j C

X ( z ).z n 1 .dz , o C est un contour ferm parcouru dans le sens inverse des aiguilles

dune montre contenant lorigine.


En pratique, on utilise le thorme des rsidus:

Re s[z

x(n) =

pi poles dez

Re s[ z n 1 X ( z )] z = pi =
Exemple : X ( z ) =

1
d m 1
(z pi )m z n 1 X ( z )
(m 1)! dz m 1

n 1

n 1

X ( z)

z = pi

X (z)

z = pi

[ ]

z
n1
n
pi=ea Re s[ z X ( z )]z =ea = z
z ea

z =e a

= e an .u(n)

2. Transforme inverse par division polynmiale :Il est possible de calculer la transforme en Z inverse selon les
puissances croissantes de z-1 (systme causal) ou selon les puissances dcroissantes de z (systme anti-causal).

X ( z ) = Cn z n TZ

x ( n) = Cn
1

Exemples

( )

1
=
z k
1 z 3 k = 0

- y(n)=y(n-3)+x(n) H ( z ) =

1
1a.z 1

- X(z)=

1
-1+a.z-1
0 +a.z-1
-a.z-1 + a2.z-2
0
+ a2.z-2

= 1 + z 3 + z 6 + .......... ... h( n) = ( n 3k )
k =0

pour |z|>a

Domaine de convergence extrieur un cercle

On obtient :

signal causal

division pour avoir une srie en z-1.

1-a.z-1
1 + a.z-1 + a2.z-2 + ......
x[0]

x[1]

x[2]
......

1
= 1 + a.z 1 + a 2 .z 2
1
1 a.z

x(n) = a n .u (n)

X(z)= 1 1 pour |z|<a


1a.z

Rgion de convergence intrieure un cercle

FEI,USTHB [assiakourgli@gmail.com

signal anti-causal

division pour avoir une srie en z.

43

Analyse et Filtrage des signaux numriques


z
-z+a-1.z2
0 +a-1.z2
-a-1.z2+a-2.z3
0 + a-2.z3

On obtient :

M1 ST/TRM (2015/2016)

-a+z
-a-1.z a-2.z2 a-3.z3 -
x[-1]

1 =a1.za2.z 2 ...
1a.z 1

x[-]

x ( n ) = a n .u ( n 1)

Notons que la division peut se raliser sans faire apparatre une expression analytique gnrale.
3. Lide gnrale de cette approche consiste trouver pour une fonction X(z) complexe un dveloppement en
fonctions en Z plus simples et pour lesquelles une transforme inverse est connue:

X ( z) = X i ( z ) TZ

x(n) = xi (n)
1

o les Xi(z) sont des fonctions dont les TZ-1 sont connues (Voir page 38).

6. Caractristiques des filtres numriques


Un filtre numrique est constitu d'un groupement de circuits logiques astreints un processus de calcul
(ou algorithme) qui confre ce filtre une fonction dtermine (passe-bas, passe-haut, passe-bande, rjecteur de
bande, intgrateur[y(n)=(x(n)+x(n-1))/2], diffrentiateur[y(n)=(x(n)-x(n-1))/2], ...). Il faut souligner que certains
filtres ne sont pas conus pour arrter une frquence, mais pour modifier lgrement le gain diffrentes
frquences, comme les galiseurs. Ce sont tous des systmes linaires, discrets, invariants dans le temps et
unidimensionnels. De plus, pour quils soient physiquement ralisables, il faut quils soient ncessairement
causaux.

1.4

Amplitude

Les filtres reprsents ci-dessus sont idaux. Dans un cas rel il


n'est pas possible d'obtenir une frquence de coupure aussi raide. 1+
1
Le passage entre zones passantes et zones attnues se fait par des
zones dites de transition fp-fa dont la largeur va exprimer la 1-1
slectivit du filtre. Par ailleurs, les bandes passantes et attnues
ne sont galement pas idales, elles contiennent des ondulations

|H(f)|

1.2

0.8

0.6

0.4

FEI,USTHB [assiakourgli@gmail.com

0.2

0.2
0.4
0.6
0.8
1
Bande passante Bande de transition Bande attnue

fp

fa

1.2

44

1.4

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

dont lamplitude est exprime par les paramtres dondulation en bande passante 1 et bande attnue 2 [9].
Remarque : Idalement, il et souhaitable qu'un filtre possde une phase linaire dans la bande passante. Une
phase linaire assurera un mme dphasage pour toutes les frquences (pas de distorsion). Les filtres FIR
peuvent gnrer des filtres phase linaire. Si un filtre est phase linaire, sa rponse frquentielle est de la
forme : H ( f ) = R( f )e j ( f ) avec ( f ) = 0 + 2 f

- Retard de groupe : C'est une caractristique important des filtres est le retard de groupe qui est dfini comme

d ( f )
df

et qui correspond intuitivement au retard qui est souffert par l'enveloppe du signal aprs tre pass par un
filtre. Si la phase est linaire et symtrique (filtres RIF), le retard est constante et le signal la sortie aura donc
une distorsion minimale puisque leffet de la phase sur le signal sera un simple dcalage temporel (primordial
dans un systme audio)

Exemple y (n) =

1
(x(n) + 2 x(n 1) + x(n 2) ) h(n) = 1 ( (n) + 2 (n 1) + (n 2) ) et H ( f ) = e 2 j f cos 2 (f )
4
4
0

2
1.8

0.9
-0.5

1.6

0.8

Phase de H(f)

Module de H(f)

0.6
0.5
0.4
0.3

Retard de Phase de H(f)

-1

0.7

-1.5

-2

-2.5

1.4
1.2
1
0.8
0.6
0.4

0.2
-3

0.2

0.1
0

0.05

0.1

0.15

0.2
0.25
0.3
frquence (Hz)

0.35

0.4

0.45

0.5

-3.5
0

0.05

0.1

0.15

0.2
0.25
0.3
frquence (Hz)

0.35

0.4

0.45

0.5

0.05

0.1

0.15

0.2
0.25
0.3
frquence (Hz)

0.35

0.4

0.45

0.5

RII ou RIF ?
Les filtres RII, on l'avantage qu'ils sont efficaces. Avec trs peu de ples et zros on peut assurer la
plupart des rponses frquentielles dont on peut avoir besoin dans les applications audio. Cependant, le filtre
tant rtro-activ, les erreurs de prcision numrique deviennent une question d'importance, car ils peuvent
s'amplifier et devenir hors de contrle, d'abord dans la forme de bruit, mais ventuellement dans la forme
d'instabilit. La forme de la rponse impulsionnelle n'est pas facile dterminer, non plus, car elle est dfinie
indirectement par les ples et zros de H(f).
Par contre, les filtres RIF n'ont jamais des problmes d'instabilit, car la sortie n'est qu'un somme finie
chantillons de l'entre. Cependant, quand la rponse impulsionnelle est longue, le numro d'oprations peut
devenir un facteur dcisif quand il faut choisir entre RIF ou RII. Un autre avantage des RIF est le retard de
groupe constant, qui permet d'avoir une distorsion de phase minimale sur le signal trait. La rponse
impulsionelle dans le cas RIF est parfaitement contrlable [13]
FEI,USTHB [assiakourgli@gmail.com

45

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)
Srie n4

0
= 0

N1 n N 2

1.Une squence finie x(n) est dfinie par : x(n) =

1 0.5 0.25

ailleurs

Dterminer le ROC suivant les diffrentes valeurs de N.


2. Donner la transforme en z de la fonction numrique
discrte x(n) reprsente par le graphique ci-contre.
-1 -0.5

3. Calculer la transforme en z, X(z), et esquisser la carte des ples et zros ainsi que la ROC pour chacune des
squences suivantes :
n
n
n
n
n
n
x ( n ) = (0.5 ) u ( n ) + (0.25 ) u ( n ) , y ( n ) = (0.25 ) u ( n ) + (0.5) u ( n 1) , z ( n ) = (0 .5 ) u ( n ) + (0 .25 ) u ( n 1)
4. Calculer la Transforme en Z du signal x(n) = rectN(n),
- en appliquant la dfinition de la TZ directement,
- en utilisant le signal chelon et le thorme du retard.
5. Soit H(z) la fonction de transfert dun SLIT causal avec : H ( z ) =

az 1
avec a rel
za

Dterminer les valeurs de a pour lesquelles H(z) correspond un systme stable. Prendre une valeur de a =0.5.
Reprsenter alors les ples et zros de la fonction, la rgion de convergence. Donner et tracer|H(f)|.
6. Soit les SLIT dcrits par les quations suivantes :

- y(n) = 3y(n 1) 2 y(n 2) + x(n)


- y(n) = 0.3y(n 1) + 0.3y(n + 1) 0.3x(n)

Pour chaque cas, dterminer la fonction de transfert du systme. Etudier la stabilit et la causalit et calculer la
rponse impulsionnelle.

0.8

0.8

0.6

0.6

0.6

0.6

0.4

0.4

0.4

0.4

0.2
5
X5

0
-0.2

0.2

0
-0.2

Partie Imaginaire

1
0.8

Partie Imaginaire

1
0.8

Partie Imaginaire

Partie Imaginaire

7. Etablir les correspondances entre les diagrammes ples zros et les rponses en frquence pour une frquence
dchantillonnage fe=1 en justifiant vos choix :

0.2

0
-0.2

-0.4

-0.4

-0.4

-0.6

-0.6

-0.6

-0.8

-0.8

-0.8

-0.8

-1

-0.5

0
Partie Relle

0.5

-1
-1

-0.5

0
Partie Relle

0.5

1
2

1.8

1.8

1.6

1.6

1.4

1.4

1.2

1.2

0
Partie Relle

0.5

-1

-0.5

0
Partie Relle

0.5

7
6

0.8

0.2

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

FEI,USTHB [assiakourgli@gmail.com

0.4

0.1

0.6

0.4

0.05

0.8

0.6

0
0

-0.5

-1
-1

0
-0.2

-0.6

-1

0.2

-0.4

-1

0.2
0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

46

0.5

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

8. On suppose que le trac des ples et des zros de ce systme est le suivant :
- Est-ce un filtre RIF ou RII ? (Justifier votre rponse)
- Donner lallure approximative de H(f)
- Dterminer H(z) puis dterminer et tracer h(n)
- A partir de h(n), tudier la stabilit, la causalit et linvariance de ce filtre.
- Calculer et tracer H(f) pour au moins 3 valeurs
- Ce filtre possde-t-il un retard de groupe constant (justifier)
- Dterminer sa rponse pour une entre chelon x(n)=U(n).
9. Trouver la squence y(n) qui a comme transforme en z : Y ( z ) =
10. De quelle fonction x(n), la fonction: X ( z ) =

2 2 z2
z 2 0.8 2 z + 0.64

1
1

6 5 z + z 2

3
X

est la transforme en Z

11. Trouver h(n) correspondant la transforme en z suivante : H ( z ) =

z 2 2 z 1 + 1
a 2 z 2 2az 1 + 1

Solutions
1. Si N10 RDC=C-{0}

Si N20 RDC=C-{}

Si N10 N2 RDC=C-{0, }

2. X(z) = 1 + 0,5 z-1 + 0,25 z-2 - 1 z-3 - 0,5 z-4 RDC=C-{0}


3. X ( z ) =

z ( 2 z 0.75)
|z|>0.5
( z 0.5)( z 0.25)

4. (1-z-N)/(1-z-1)

Y ( z) =

0.25 z
( z 0.5)( z 0.25)

0.25 <|z|<0.5

N'existe pas

5. Ple z=a, stable si |a|<1. Le module vaut toujours 1 (cellule passe-tout).

6. H(z)=z2/(z2-3z+2) causal pour |z|>2 mais instable avec x(n)=(2n+1-1)U(n)


H(z)=0.375 (1/(3z-1)+1/(0.33z-1)) causal pour |z|>3 instable avec x(n)=0.375(3n -0.33n)U(n)
8. Tous les ples en 0 alors RIF, H(z)=z-3+ z-2+ z-1+1, h(n)= (n-3)+(n-2)+(n-1)+1,
H(f)=2(cos(3fTe)+ cos(fTe))e-3jfTe, Retard de groupe cst, x(n)=U(n) alors y(n)= U(n-3)+U(n-2)+U(n-1)+U(n)
n

11
11

9. y (n) = U (n) U (n)


10. x ( n) = 0.8 n cos ( n 1) U ( n)
2 2
33
4

n
n1
n2
11. x(n) = (n + 1)a U (n + 1) 2na U (n) + (n 1)a U (n 1)
Exercices supplmentaires

1. Soit un systme linaire invariant dans le temps (SLID) dont la rponse impulsionnelle h(n) est telle que :
h(n)=1 pour 0 n 3 et 0 ailleurs
Calculer la rponse y(n) la suite x(n) dfinie par :
- x(n)=anpour 0 n 5, avec a=0.7 et x(n)=0 ailleurs.
- x(n)=cos(2n/8) pour 0 n 7 et x(n)=0 ailleurs.
Solution y(0) = 1 y(1) = 1+a = 1.7 y(2) = 1+a+a2 = 2.19 y(3) = 1+a+a2+a3 = 2.533 y(4) = a+a2+a3+a4 = 1.7731 y(5) = a2+a3+a4+a5 =
1.24117 y(6) = a3+a4+a5 = 0.75117 y(7) = a4+a5 = 0.40817 y(8) = a5 = 0.16807
y(0) = 1 y(1) = 1+cos(p/4) = 1.707 y(2) = 1.707 y(3) = 1 y(4) =-1 y(5) = -2.414 y(6) = -2.414 y(7) = -1 y(8) = 0 y(9) = 0.707 y(10) = 0.707
FEI,USTHB [assiakourgli@gmail.com

47

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

2. Soit y(n) = x(n) + ax(n-1)+ by(n-1), lquation aux diffrences dun systme discret causal.
a) Trouvez h(n), la rponse impulsionnelle de ce systme ; pour quelles valeurs de a et b le systme est- il stable
b) Trouvez la rponse impulsionnelle du systme form par la mise en srie de deux systmes h(n).
c) Mme question pour la mise en parallle de deux systmes h(n).
n

n-1

Rponses :a) h(n) = b u(n) + ab u(n-1);


n

b) h(n)*h(n) = (n+1)b u(n) + (2nab

n-1

stable pour a finie et |b|<1.


2 n-2

+ (n-1)a b )u(n-1)

n-1

c) 2h(n) = 2b u(n) + 2ab u(n-1)

3. On considre un systme linaire rgi par lquation aux diffrences suivante :


y(n) =(x(n+m)+ x(n+m-1)+ x(n+m-2))/3 o m est un paramtre entier.
-Montrer que ce systme est linaire invariant dans le temps. Etudier la causalit et la stabilit
selon les valeurs de m.
-Calculer la fonction de transfert H(z) de ce systme pour m=0 et m=1.
-En dduire la rponse frquentielle.
Rponses Le systme est causal si m<1 et toujours stable. Pour m=0,H(z)=1/3(1+z-1+z-2),
H(f) =0.33(1+ 2 cos(2fTe)e-2 jfTe (filtre RIF passe-bas phase linaire). Pour m=1, de mme filtre moyenneur

4. On suppose donn le trac des ples et des zros du systme suivant :


- Est-ce un filtre RIF ou RII ? (Justifier votre rponse)
- Donner lallure approximative de H(f)
- Dterminer H(z) puis dterminer lquation de rcurrence
- Dterminer et tracer h(n)
- A partir de h(n), tudier la stabilit, la causalit et linvariance du filtre

X
2

5. Dterminer en utilisant la dcomposition en lments simples, la forme du signal x(n) dont la TZ est donne
par :

X ( z) =

z2
z 2 3z + 2

avec

z >2

Rponses : x(n) = (2n+1 -1)u(n)

et

X ( z) =

z2
z 2 (a + 1) z + a

avec

a <1

x(n)= 1/(1-a)+ ana/(a-1)=(1-an+1)/(1-a)

6. On considre la transforme : X ( z ) =

z
z
+
on pose z 0 = e (r + j ) , dterminer x(n).
*
z z0 z z 0

Rponse x(n) = 2e rn cos(n ) U (n)

7. En utilisant la mthode des rsidus puis celle de dcompositions en lments dans la TZ est connue,
dterminer h(n) dont la transforme est : H ( z ) =

z z0
( z p 0 )( z p 0* )

z 0 : rel , p 0 = e j

n1
sin

z0

z0
1 cos sin(n ) + sin cos(n ) U (n 1)

2
y ( n ) = x ( n 1) z 0 x ( n 2) + 2 cos y ( n 1) y ( n 2)

Rponse h(n) =

Certains exercices sont inspirs des rfrences suivantes [14][15]

FEI,USTHB [assiakourgli@gmail.com

48

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

y(n)

8. On considre le systme suivant : x(n)

0.35

h(n)

0.3

On suppose que h(n) est donn comme ci-contre.

1/3

0.25

- Calculer et tracer son auto corrlation et en dduire son nergie

0.2

0.15

- Tracer son auto corrlation si l'on suppose qu'il est priodique de priode 9.

0.1

- Etudier la causalit

0.05

- Est ce un filtre RIF ou RII

-A partir de l'expression de h(n), dduire le rle de ce filtre :

- Dterminer l'quation aux rcurrences du systme :


- Dterminer les ples et zros de ce filtre puis donner leur trac. En dduire un trac approximative de |H(f)|
- Calculer et tracer |H(f)| puis en dduire le trac du module de la TFD pour N=6.

9. On considre que l'quation aux rcurrences du systme suivant est donne comme suit :
y(n)=0.9 y(n-1) - 0.81 y(n-2) + x(n) + 2 x(n-1) + x(n-2)
- Etudier la causalit et l'invariance de ce systme
- Est ce un filtre RIF ou RII ?
- Dterminer H(z) et donner le trac des ples et zros, en dduire le rle de ce filtre :
- Donner les allures approximatives de h(n) et |H(f)|
- Dterminer h(n) et tracer la pour les 3 premires valeurs
- On suppose que fe= 6 kHz, quelle sera la sortie du filtre si l'on donne en entre : un signal bruit par une
sinusode de 500 Hz puis un signal compos de 2 sinusodes l'une de 500 Hz et l'autre de 3000Hz
10. On considre le systme LIT dcrit par l'quation aux rcurrences suivantes :
x(n)=(n)+2(n-1)+3(n-2)+4(n-3) et h(n)=9(n)+7(n-1)+4(n-2)+(n-3)
- Ce systme est-il invariant ? Justifier.
- Etudier la stabilit et la causalit de x(n), h(n) et y(n).
- Les signaux x(n), h(n) et y(n) sont-ils nergie finie (ou infinie) ? Justifier
- Dterminer y(n) directement et tracer le.
- Dterminer y(n) en passant par la TZ de x(n) et h(n)
- On considre que x(n) et h(n) sont priodiques de priode 4, dterminer y(n) de 2 faons.
- Quelle est lien entre la convolution et lautocorrlation ?
1

Imaginary Part

11. On suppose que le trac des ples et des zros d'un systme est le suivant :
- Donner les allures approximatives de h(n) et |H(f)|
puis en dduire le rle du filtre
- Dterminer H(z) (On supposera un gain de 1 en z= -1)
- Dterminer les coefficients du filtre
- On suppose que fe= 3 kHz, quelle sera la sortie du filtre si l'on donne
en entre :
un signal bruit par une sinusode de 500 Hz :
un signal compos de 2 sinusodes l'une de 1100 Hz et l'autre de 1300Hz

FEI,USTHB [assiakourgli@gmail.com

0.8
0.6

0.9

0.4

60

0.2

0
-0.2
-0.4
-0.6
-0.8
-1
-1

-0.5

0
Real Part

0.5

49

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

TP n3: Analyse des filtres numriques par la TZ


Rappel : Soit H(z) la transforme en z dun filtre numrique donn dont la dcomposition sous forme fraction
rationnelle est donne par :

H ( z) =

b0 + b1 z 1 + .............. +b N z N
1 + a1 z 1 + ................ + aM z M

Grce la seule connaissance du vecteur b et du vecteur a, on peut analyser tout filtre et :


- Dterminer les ples et les zros du filtre (et tudier sa stabilit)
- Dterminer la rponde impulsionnelle ou indicielle
- Dterminer la rponse frquentielle et le retard de groupe (drive de la phase), etc.
Quelques fonctions utiles [16]
s = filter(b, a, e) : filtre numriquement les donnes stockes dans le vecteur e avec le filtre dcrit la fois par le
vecteur b (coefficients du numrateur de h(z)) et le vecteur a (coefficients du dnominateur de H(z)) pour une
entre e. Il faut normaliser l'quation de telle sorte que a0 = 1.
Pour dterminer la rponse indicielle e sera un dirac, pour la rponse indicielle e sera un chelon.
[H, f] = freqz((b, a, N, fe) : retourne N valeurs du gain complexe (Rponse frquentielle TFD) du filtre
numrique chantillonn la frquence fe (Hertz), dcrit par b et a. Ces valeurs sont stockes dans Het calcules
pour N frquences mises dans f. Les frquences sont equi-espaces sur lintervalle [0,fe/2].
[b,a]=invfreqz(H,f, nb, na): retourne le numrateur b (dordre nb) et le dnominateur a (dordre na) partir de
la rponse frquentielle donne par H et f.
[h, n] = impz(b, a, N, fe) : retourne la rponse impulsionnelle du filtre numrique dcrit par b et a. La rponse
impulsionnelle est calcule en N instants stocks dansnet espacs de 1/fe, les valeurs de rponse correspondante
sont stockes dans h.
[tau,f]=grpdelay(b,a,N,fe) : retourne le retard de groupe (drive de la phase) du filtre numrique dcrit par b et
a. La rponse impulsionnelle est calcule en N frquences mises dans f.
zplane(b,a) : permet de tracer les ples et les zros dans le plan complexe.

I. Analyse d'un filtre RII


Soit le filtre h(n) dcrit par lquation aux diffrences suivantes :
y(n)=1.2 y(n-1)-0.516 y(n-2)+ 0.079 x(n) +2*0.079 x(n-1)+0.079 x(n-2)
- La premire tape consiste dterminer les vecteurs a et b. On calcule H(z) (coefficients en z-1) et on trouve :
Numrateur : b = [0.079 2*0.079 0.079] et Dnominateur: a = [1 -1.2 0.516]
- Puis, par programme on peut : dterminer et tracer la rponse impulsionnelle, la rponse frquentielle
(module et phase), le retard de groupe, les ples et les zros, tudier la stabilit, la nature du filtre, etc.
clc ; clear all ; close all;
b = [0.079 2*0.079 0.079]; %Numrateur
a = [1 -1.2 0.516]; %Dnominateur
figure (1); zplane(b,a);
N = 32; n=0:N-1; delta = [1; zeros(N-1,1)];
h = filter(b, a, delta);figure(2); stem(n,h);
echelon=ones(1,N); h_ind=filter(b,a,echelon);
figure(3); stem(n,h_ind);
L = 256;fe=1; [H,f] = freqz(b,a,L,fe);
module = abs(H); figure (4); plot(f,module);
% phase = angle(H); figure (5); plot(f,phase);
% [tau,f]=grpdelay(b,a,L,fe);figure (6); plot(f,tau);
% [num,den]=invfreqz(H,f, 2,2)

FEI,USTHB [assiakourgli@gmail.com

50

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

1. Calculer les ples et zros de ce filtre ( prparer), correspondent-ils ceux de la figure 1 ?


2. A partir du trac des ples et des zros, esquisser lallure de h(n) et H(f) en justifiant vos rponses (
prparer). Confirmer avec les figures 2 et 4.
3. Etudier la stabilit du filtre ( partir du trac des ples et de h(n)). Quel est le rle de ce filtre?
4. Quelle valeur de b faut-il changer pour faire de ce filtre un passe-haut?
5. Modifier les valeurs de a pour avoir une rponse impulsionnelle divergente. Le filtre obtenu est-il
stable?
6. Enlever les commentaires et comparer les figures 5 et 6. Quel lien les relie ?
7. Quel retard de groupe souhaite-t-on avoir dans la bande passante du filtre ?
8. Rtablir les valeurs par dfaut et rajouter les lignes suivantes
nom_fich = uigetfile('*.wav', 'Selectionner le fichier son');
[x,fe]=wavread(nom_fich);
sound(x,fe); N=length(x); t=(0:N-1)/fe;
figure;subplot(2,1,1);plot(t,x);
legend('Son original');xlabel('Temps (s)');ylabel('Amplitude'); axis([0 N/fe -1 1.5]);
y = filter(b, a, x);sound(y,fe)
subplot(2,1,2);plot(t,y);
legend('Son filtr');xlabel('Temps (s)');ylabel('Amplitude'); axis([0 N/fe -1 1.5]);

9. Comparer les deux signaux en utilisant le zoom et commenter.


10. Prendre une petite portion du signal et observer sa TF avant et aprs filtrage en commentant.

II. Analyse d'un filtre RIF


On considre la rcurrence suivante : y(n)=0.5 x(n)0.5 x(n1)
1. Dterminer h(n), les ples et zros et esquisser H(f). En dduire le rle de H(f), puis calculer le retard de
groupe (en prparation).
2. Vrifier ces rponses par matlab.
3. Que peut-on dire sur la stabilit, la nature et le retard de groupe de ce filtre?
4. Si l'on remplace l'un des coefficients 0.5 par 1, que devient le retard de groupe?
5. Quelle serait la sortie d'un tel filtre si l'entre tait constante?
6. Rtablir les valeurs par dfauts et rajouter les lignes concernant le fichier audio puis commenter.
7. Prendre la mme portion du signal et observer sa TF avant et aprs filtrage en commentant.
8. Refaire le mme travail pour y(n)=

FEI,USTHB [assiakourgli@gmail.com

1 4
x(n i)
5 i=0

51

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

V. Conception des Filtres Numriques RIF

Le traitement numrique a conduit une amlioration importante des dispositifs de filtrage linaire
notamment en termes de fiabilit, de reproductibilit, de souplesse et de complexit des fonctions ralisables.
En outre, les filtres numriques ont aussi d'autres proprits difficiles qu'il n'est pas ais de mettre en oeuvre
dans le cas des filtres analogiques, entre autres : le filtrage numrique en temps rel (transmissions numriques,
codage des sons MP3, synthse de parole, tlvision numrique par exemple). La plupart des modles de filtres
analogiques peuvent ainsi tre reproduits sous forme numrique. Les lments physiques (rsistance, capacit,
inductance, amplificateurs oprationnels) sont en quelque sorte transposs en lments logiques [17].

1. Synthse des Filtres numriques et Gabarit analogique


La synthse dun filtre est un ensemble de processus qui dbute par la dfinition des caractristiques du
filtre, jusqu sa ralisation informatique et/ou lectronique, en passant par la dtermination de ses coefficients.
Pour synthtiser un filtre numrique, on considre connu le gabarit du filtre analogique et on cherche un
systme numrique caractrise par une fonction de transfert H(z) insrer dans le circuit ci-dessus permettant
de satisfaire le gabarit analogique.
x(t)

x(t)

Filtre antirepliement

Systme analogique
Ha(p)

CAN

y(t)

Systme numrique
H(z)

CNA

y(t)

La dtermination de la fonction de transfert dun filtre numrique, par une mthode directe, nest pas
toujours trs simple. Par contre, le problme qui consiste transformer un filtre analogique en un filtre
numrique est relativement simple. De ce fait, de nombreuses mthodes sont proposes pour concevoir un filtre
numrique partir du filtre analogique quivalent. Dans tous les cas, la synthse dun filtre numrique est une
approximation dun filtre analogique idal quivalent. Il est ncessaire de contraindre un certain nombre de
paramtres.
La synthse dun filtre numrique comprend les tapes suivantes :
1. la dtermination dune rponse en frquence idale souhaite ;
2. la dtermination de la meilleure approximation sous un certain nombre de contraintes contrainte (stabilit,
rapidit, prcision, dphasage linaire, etc.) ;
3. le choix dune structure de calcul ralisant le filtre approxim.
FEI,USTHB [assiakourgli@gmail.com

52

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Les fonctions modles utilises pour la synthse des filtres sont soit la rponse impulsionnelle soit la
rponse en frquence (celle-ci est prfre) de filtres analogiques connus. Si l'on emploie la rponse
impulsionnelle, les lments h(n) de la rponse impulsionnelle numrique sont obtenus en calculant h(t), la
rponse impulsionnelle du filtre analogique, aux instants t=nTe.

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


fait, il n'est plus possible dobtenir un filtre passe-bas idal (droit et
avec une droite de transition perpendiculaire). Il s'ensuit que les
filtres qui vont pouvoir tre rellement synthtiss n'ont pas de
rponse frquentielle correspondant la fonction porte, mais
pourront s'en rapprocher.
2

0.04
0.035
0.03
Rponse impulsionnelle h(n)

Rappelons que les filtres idaux prsentent un dphasage


linaire et ne sont donc pas physiquement ralisables, car les
rponses frquentielles idales correspondent une rponse
temporelle non-causale. Par exemple, en considrant le filtre passebas H(f)= (f) e-2jfT, on obtiendra un sinc dcal de T.

0.025
0.02
0.015
0.01
0.005
0
-0.005
-0.01
0

10

15

t(s)

10

1.8
8

1.4

H(f) idal

1.2
1

TF Inverse

0.8
0.6

Rponse impulsionnelle h(n)

1.6
6

0.4

0
-0.5

-0.4

-0.3

-0.2

-0.1
0
0.1
frequence (Hz)

0.2

0.3

0.4

-4
-10

0.5

-8

-6

-4

-2

0
t(s)

10

-8

-6

-4

-2

0
t(s)

10

10

Troncature

-2
0.2

1.8
8

1.4

H(f) rel

1.2
1
0.8
0.6

TF

Rponse impulsionnelle h(n)

1.6
6

0.4
-2

0.2
0
-0.5

-0.4

-0.3

-0.2

-0.1
0
0.1
frequence (Hz)

0.2

0.3

0.4

0.5

-4
-10

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 frquentiel du filtre idal 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 (frquence de coupure), les ondulations restent
apparentes.
FEI,USTHB [assiakourgli@gmail.com

53

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

0.06

0.04

0.02

-0.02
-5

-4

-3

-2

-1

-4

-3

-2

-1

0.06

0.04

0.02

-0.02
-5

On peut observer que les diffrences vis--vis du filtre idal (soit la fonction porte) sont principalement les
ondulations dans la bande passante et dans la bande attnue ainsi que la largeur de la transition.
C'est ainsi que les spcifications du filtre vont tre dfinies par un gabarit frquentiel linaire ou en dB
(dcibels). Ce gabarit indique la ou les frquences de coupure, la largeur de la bande de transition minimale
souhaite, le maximum dondulation de la bande passante et de la bande attnue, la frquence
d'chantillonnage et ventuellement l'ordre maximal permis.

Gabarit rel :
- la bande passante (BP) de 0 jusqu' fp
- la bande attnue (ou coupe BA) de fa jusqu' fe/2
- la largeur f=fa-fp de la zone de transitionfc=fa+f /2 =(fa+fp)/2
- l'amplitude des oscillations en bande passante 1 Ap=20log(1+1) ondulation permise en BP
- l'amplitude des ondulations en bande attnue 2Aa=-20log(2) ondulation permise en BA

FEI,USTHB [assiakourgli@gmail.com

54

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

En pratique, plus les frquences fa et fp sont proches, plus l'ordre du filtre devra tre lev. Pour un filtre idal,
ces valeurs seraient confondues.
2. Synthse des filtres RIF
L'emploi des filtres RIF peut se rvler attrayant eu gard ses nombreux avantages : stabilit
inconditionnelle (Tous les ples sont en 0), phase linaire possible. Nanmoins, ils prsentent l'inconvnient de
ncessiter un plus grand nombre de coefficients que les filtres RII pour obtenir les mmes caractristiques
frquentielles cause de l'absence de ples hors 0. Ainsi, toute fonction de filtrage numrique stable et causale
peut tre approche par la fonction de transfert d'un filtre RIF.
Rappelons que la sortie d'un filtre RIF va s'exprimer comme une combinaison linaire d'un ensemble fini
d'lments d'entres:
N

y ( n) = bi x( n i )

do

i =0

H ( z ) = bn .z n H ( f ) = bn .e 2
n=0

j f n

n =0

Ainsi, les coefficients de pondration ne sont rien d'autre que les valeurs de la rponse impulsionnelle du filtre.
Ces coefficients constituent les coefficients du dveloppement en srie de Fourier de la fonction de transfert H(f)
(voir TFTD chapitre 3)

Du fait qu'un filtre RIF possde une fonction de transfert polynomiale (non rationnelle), il ne peut tre obtenu
par transposition d'un filtre continu. Les deux mthodes les plus utilises pour lapproximation des filtres
numriques RIF sont alors:
o

Dveloppement par srie de Fourier : cette srie est ensuite tronque par des fonctions fentres pour
limiter la rponse impulsionnelle. Les coefficients de Fourier concident avec les chantillons de la
rponse impulsionnelle du Filtre.

Echantillonnage de la rponse frquentielle : Cette mthode fait appel la TFD. Celle-ci est applique
aux coefficients recherchs bi pour obtenir une suite frquentielle qui corresponde la rponse
frquentielle du filtre.

Il existe d'autres mthodes telles les mthodes doptimisation qui sont bases sur la minimisation dun critre
derreur entre la courbe relle et le filtre idal [9].

3. Mthode de la fentre
Cette technique consiste, connaissant l'expression analytique H(f) de la rponse frquentielle continue (dont la
formulation mathmatique connue) approcher, dterminer par utilisation de la transforme de Fourier
temps discret inverse, la rponse impulsionnelle. Cette rponse temporelle non causale obtenue sera retarde
pour la rendre causale [18]. Ainsi :
1. A partir du gabarit idal du filtre, on dtermine les coefficients du filtre en limitant le calcul N valeurs
rparties symtriquement autour de n=0. Puis, on calcule de la TFTD inverse du filtre idal qui nous permettra
de retrouver les chantillons de la rponse impulsionnelle soient les coefficients du filtre :
FEI,USTHB [assiakourgli@gmail.com

55

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

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 mthode produit une srie infinie de coefficients, on limite, alors la rponse impulsionnelle N
chantillons (troncature). Sachant que la troncature induit des ondulations, on peut faire appel aux fentres de
pondration pour les attnuer. Ainsi, la rponse impulsionnelle idale h(n) sera multiplie par la fentre
discrte wN(n) de longueur N:
h'N(n)=h(n).wN(n). (Choix de la fentre : voir chapitre 3)
3. Il ne reste plus qu' dcaler la rponse impulsionnelle h'(n) pour avoir une solution causale.

Remarque : Pour le choix de fc il faudra faire attention aux frquences de coupure prendre en compte. Afin
d'avoir de bons rsultats lors de la synthse, ce ne sont pas les frquences de coupure du filtre idal qu'il faut
utiliser mais il faut dplacer celles-ci afin de les centrer dans la zone de transition. Pour un passe-bas,
l'augmenter de la demi zone de transition (f), et pour un passe-haut, la diminuer de la demi zone de transition.
Pour un passe-bande, diminuer la premire frquence 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.
Exemple :
- Calcul de la rponse impulsionnelle idale (cas N impair)

1
h( n ) =
fe

fe / 2

H ( f )e

2 j f nTe

df

fe / 2

On pose fc=(fp+fa)/2 h(n) =

h(n) =

1
fe

fc

fc

2 j f nTe

df =

1
e 2 j f nTe
2jnfeTe

fc

fc

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


e 2 j fc nTe e 2 j fc nTe
==
=
2jn
n
n

On normalise les frquences par rapport fe/2 (ou fe) c.a.d que lon remplace partout fc par fc/(fe/2), on obtient
alors :

h( n) =

sin( n f c /( f e / 2)) f c /( f e / 2)
sin( n f c )
= fc
n
f c /( f e / 2)
nf c

Tout aussi facilement, on peut dterminer les rponses impulsionnelles dun passe haut (1-H(f)), dun passebande (diffrence de 2 passe-bas) et dun coupe-bande donnes. Les rponses impulsionnelles idales h(n) sont
donne au tableau suivant. Les frquences fc indiques dans ce tableau (frquences de coupure dsires)
s'expriment galement en frquences normalises (divises par fe/2).

FEI,USTHB [assiakourgli@gmail.com

56

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Rponse impulsionnelle h(n)


Type de filtre

h(n) n=0
fc

h(n) pour n0

Passe-bas

fc

Passe-haut

sin( n f c )
nf c

fc

Passe-bande
Rejcteur de bande

sin( n f c )
nf c

1-fc

f c2

sin( n f c 2 )
sin( n f c1 )
f c1
nf c 2
nf c1

fc2- fc1

f c1

sin( n f c1 )
sin( n f c 2 )
fc2
nf c1
nf c 2

1-(fc2- fc1)

- Limitation du nombre d'chantillons N


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

si

1
w(n) =
0

N 1
sin( Nf )
W( f ) =
2
sin(f )
ailleurs

si n

H 'N ( f ) = H ( f ) *W ( f )

La troncture temporelle introduit des ondulations et induit une zone de transition moins rapide dtermine
par la largeur du lobe principal. Un compromis est faire entre la raideur et l'amplitude des ondulations.
Notons que cette mthode donne des ondulations de mme amplitude dans la bande passante et dans la bande
attnue.
Remarque: Si N augmente, l'tendue des oscillations diminue
(la rponse est plus plate) et la largeur de la bande de
transition dcrot (f faible). On peut observer que les
oscillations les plus fortes tendent se concentrer aux
discontinuits. Ces dernires ne diminuent pas si N
augmente : on a toujours un dpassement peu prs gal
9% se concentrant aus points de discontinuit : cest le
phnomne de Gibbs (Voir TP n5). Pour diminuer les
oscillations : on utilise les fentres de pondration qui
permettent dobtenir de forte attnuation des oscillations
mais cela se fait au dtriment de la largeur de la bande de
transition qui devient plus grande.

1.4
Passe-bande avec Fen Rectangulaire (N=51)
Passe-bande avec Fen Hanning (N=51)
Passe-bande avec Fen Rectangulaire (N=91)

1.2

0.8

0.6

0.4

0.2

200
fc1=500

400

600

800

1000

1200

1400 1600 1800 2000


fc2=1500 fe=4000Hz

Pour la choix de la fentre de pondration, on procdera comme suit : En fonction de l'attnuation 1 requise
dans la spcification du filtre, on choisira le type de fentre w(n) utiliser. Puis en fonction de la largeur de la
zone de transition f (spcifie aussi au dpart) et du type de la fentre w(n), on dterminera la longueur de la
rponse impulsionnelle N.

FEI,USTHB [assiakourgli@gmail.com

57

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Fentres wN(n)

Largeur de
Transition :f (2f / fe)
1.8/N

Attnuation en bande
attnue A
21

2n
N 1

) pour n
0.5 + 0.5 cos(
wHan ( n) =
2
N 1
0
ailleurs
N 1
2n

) pour n
0.54 + 0.46 cos(
wHam ( n) =
N 1
2
0
ailleurs

6.2/N

44

6.6/N

53

2n
4n
N 1

) + 0.08cos(
) pour n
0.42 + 0.5 cos(
wBlack (n) =
N 1
N 1
2
0
ailleurs

11/N

74

N 1
2
ailleurs

1
wRe ct ( n ) =
0

pour n

Exemple : On veut synthtiser un filtre passe-bas de frquence de coupure fc = fe/10 avec f = fe/5 et une
1.5
ondulation en bande attnue > 50 db (voir TP n4)
a- On normalise les frquence fc/(fe/2)fc=0.2 f/(fe/2) f =0.4

sin( n / 5 )
n / 5

0.5
Imaginary Part

b- h(n) = 0.2

c- On choisit w(n) comme tant la fentre de Hamming

e- on calcule h(n)
-7
-0,0456
2
0,1597

-1.5
-1.5

-6
-0,0329
3
0,1064

16

-1

d- On calcule N=6.6/f =16,5 on prend N=17

-8
-0,0399
1
0,1974

16

-0.5

(Aa=20 log(2)= -53) f=6.6/N

n
h(n)
n
h(n)

-5
0
4
0,0493

-4
0,0493
5
0

-3
0,1064
6
-0,0329

-2
0,1597
7
-0,0456

-1
0,1974
8
-0,0399

-1

-0.5

0
Real Part

0.5

1.5

0
0,2110
0.3
Rponse impusionnelle h(n)
Rponse impusionnelle h'(n)

0.25
0.2

f- On multiplie h(n) par w(n) pour trouver hN(n)=h(n).w(n)

h ' N ( n ) = 0 .2

0.15

sin( n / 5 )
2n
0.54 + 0.46 cos(
)

n / 5
16

0.1
0.05
0

g- On translate le rsultat de 8 chantillons.


n
h(n)
h'N(n)
n
h(n)
h'N(n)

0
-0,0399
-0,0031
9
0,1974
0,1826

1
-0,0456
-0,0050
10
0,1597
0,1325

2
-0,0329
-0,0067
11
0,1064
0,0730

FEI,USTHB [assiakourgli@gmail.com

3
0
0
12
0,0493
0,0255

4
0,0493
0,0255
13
0
0

-0.05
0

5
0,1064
0,0730
14
-0,0329
-0,006

6
0,1597
0,1325
15
-0,0456
-0,005

7
0,1974
0,1826
16
-0,0399
-0,0030

10

15

20

8
0,2110
0,2023

58

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

1.4
1.5

Passe-bas avec Fen Rectangulaire (N=17)


Passe-bas avec Fen Hamming (N=17)
Passe-bas idal

1.2

1
0.5
Imaginary Part

0.8

0.6

16

16
X

-0.5

0.4
-1

0.2

-1.5

200
400
fc1=400

600

800

1000

1200

1400

1600 1800
fe=4000Hz

-1

2000

-0.5

0.5
Real Part

1.5

2.5

On peut remarquer l'emplacement de zros autour du premier 0 en 1 permet d'attnuer les lobes secondaire et
de maintenir une rponse cste autour du zro.

4. Mthode de l'chantillonnage frquentiel


La mthode de synthse par chantillonnage en frquence est applique depuis la rponse frquentielle dun
filtre continu idal H(f) dont on ne connait pas la formule mathmatique (on ne peut alors calculer h(n) par TF
inverse de H(f)). On utilise alors la transformation de Fourier Discrte inverse. C'est--dire que l'on
"chantillonne" la rponse dsire dans le domaine frquentiel, on obtient N points de cette rponse
frquentielle auxquels on fait correspondre N points de la rponse temporelle quivalente obtenus par TFD
inverse [18] comme suit :
On commence par chantillonner H(f) :

H (k ) = H ( f )

f =k / N

k = N / 2 N / 2 1

puis on applique la TFD inverse h( n) =

1
N

N / 2 1

H ( k )e

2 jkn/N

k = N / 2

Cette mthode de synthse est trs simple et permet de raliser toute forme de filtre (chose qu'on ne peut
raliser avec la mthode prcdente). Cependant, cette mthode de synthse ne garantit que les points
frquentiels H(k). Entre ces points, la valeur de H(f) n'est pas maitrise, il peut y avoir des oscillations qui ne
sont pas galement rparties avec un maximum derreur entre la rponse idale et la rponse obtenue se situant
autour de la bande de transition. Pour obtenir la rponse en frquence du filtre finalement obtenu, on peut par
exemple appliquer une TFD la rponse impulsionnelle h(n) de taille N obtenue, aprs avoir ajout un grand
nombre de zros. Par ailleurs, du fait de l'emploi d'une TFD inverse sur N points, la rponse impulsionnelle
h(n) obtenue est priodique de priode N bien que la rponse impulsionnelle idale souhaite ne soit pas de
dure limite.
Exemple : On cherche raliser sous forme numrique un filtre passe-bas idal de frquence de coupure fc=fe/10
avec f < fe/16. On prend donc N=17, ce qui nous donne f =0.0588 (voir TP n4)

FEI,USTHB [assiakourgli@gmail.com

59

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

On a N = 17, H(0)=H(1)=H(1)=1 et H(2)= H(2)=...= H(8)= H(8)=0. On peut en dduire, par transformation
0.2
Rponse impusionnelle h(n)
de Fourier discrte (TFD), les valeurs de la rponse impulsionnelle
N / 2 1

1
h( n) =
N

H ( k )e

1
h( n) =
1 + e 2jn / 17 + e 2jn / 17
17

2 j k n / N

k = N / 2

0.15

0.1

0.05

1
h(n) = (1 + 2 cos(2n / 17)
17

pour -8 n 8

-0.05
Enfin, pour rendre ce filtre ralisable physiquement, on translate cette
0
1.4
rponse impulsionnelle de 8 chantillons.
Passe-bas avec Mthode Fentre

10

15

20

Passe-bas avec Mthode Echantillonnage N=17


Passe-bas idal

1.2
1

0.8
0.6

0.8 H(0)

Imaginary Part

0.4

16

0.2

0.6

16

H(1)

-0.2

0.4

-0.4
-0.6

0.2

-0.8
-1
-1

-0.5

0.5

0
0

1.5

Real Part

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) rel, on peut, de manire gnrale, dmontrer que :

h(n) =

N /2
1
2n
H (0) + 2 H (k ) cos

N
N
k =1

pour N/2 n N/2

La rduction des oscillations peut aussi s'obtenir travers le fentrage. Ci-dessous les coefficients du filtre h(n)
suivis de ceux obtenus aprs fentrage de Hamming h'N(n).
n
h(n)
h'N(n)
n
h(n)
h'N(n)

0
-0,0257
-0,0020
9
0,1749
0,1688

1
-0,0269
-0,0031
10
0,1430
0,1237

2
-0,0153
-0,0033
11
0,0985
0,0705

3
0,0114
0,0041
12
0,0514
0,0279

4
0,0514
0,0279
13
0,01139
0,0041

5
0,0985
0,0705
14
-0,0153
-0,0032

6
0,1430
0,1237
15
-0,0269
-0,0031

7
0,1749
0,1688
16
-0,0257
-0,0020

8
0,1865
0,1865

1.4

1.5

1.2

Passe-bas avec Mthode Echantillonnage (Rect)


Passe-bas avec Mthode Echantillonnage (Hamm)
Passe-bas idal

1
Imaginary Part

0.5

16
X

0.8

16

0.6
-0.5

0.4
-1

0.2
-1.5
-1

-0.5

0.5
Real Part

FEI,USTHB [assiakourgli@gmail.com

1.5

2.5

0
0

500

1000

1500

2000

60

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Remarques: Pour le choix de N, il faut veiller ce que fe/N soit infrieur f.


Par ailleurs, on peut quelques peu attnuer 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 consquence (2f < 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(2n / 33) + 2 cos(4n / 33) + cos(6n / 33)
33
1.4

pour -16 n 16
1.2

0.3
0.25

Rponse impusionnelle h(n) pour N=17


Rponse impusionnelle h(n)pour N=33

0.2

Passe-bas avec Mthode Echantillonnage F=17


Passe-bas avec Mthode Echantillonnage F=33
Passe-bas avec Mthode Echantillonnage F=33 + H(4)=0.5

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

0.15
0.6

0.1
0.4

H(3)

0.05
0.2

0
-0.05
-20

-10

10

20

0
0

5. Constitution et ralisation des filtres numriques

500

1000

1500

2000

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

Un filtre numrique est gnralement constitu des lments suivants : un ou plusieurs organes de retard (ce
sont des registres dcalage jouant le rle de mmoires retardes), pilots par une horloge de priode; des
oprateurs arithmtiques (additionneurs et multiplieurs); des registres fournissant les coefficients de
pondration du filtre [18].
La ralisation concrte d'un filtre numrique consistera en fait matrialiser l'algorithme de calcul pour la
structure retenue. On aura la possibilit de travailler : Soit en logique cble (assemblage d'organes logiques,
tels que portes, mmoires, etc ...), soit en logique programme (organisation autour d'un processeur de
traitement du signal (DSP) ou, mme, utilisation d'un microprocesseur(micro-ordinateur) standard).
La structure canonique directe (transversale ou non rcursive) est
donne ci-contre:
Un filtre RIF ncessite (N-1) oprations de multiplication, N
opration daddition pour chaque nouvel chantillon filtrer.
On peut galement exprimer la complexit en nombre de
multiplication-accumulation qui, dans le cas dun filtrage RIF, vaut
N [9]. Le cot mmoire dun filtrage RIF est de 2(N+1) [(N+1)
coefficients bi et (N+1) points mmoire pour le vecteur des entres
x(i)]. Si la frquence dchantillonnage du signal dentr vaut Fe, cela
signifie que le filtre devra tre ralis en un temps Tcalcul infrieur
Te = 1/fe .
FEI,USTHB [assiakourgli@gmail.com

61

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)
Srie n 5

1. Obtenir les coefficients d'un filtre RIF passe-bas par la mthode de fentrage pour obtenir les spcifications
suivantes :
- Frquence de coupure idale : fc=1.75 kHz
- Largeur de transition : f=0.5 kHz
- Attnuation en bande attnue : A=-20 log10()> 51 dB avec =min(1,2)
- Frquence d'chantillonnage : fe=8 kHz
Solution : f=0.125 fc= 0.4375 h(n) = f c

sin( n f c ) sin( n 0.4375 )


=
pour k0 et
nf c
n

h(0)=fc

hammingN=53
Les coefficients du filtre sont symtriques, il suffira par consquent 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

N 1
2n

) pour n
0.54 + 0.46 cos(
w Ham (n) =
N 1
2
0
ailleurs

2n

) pour n 26
0.54 + 0.46 cos(
=
52
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 idal passe-haut par un filtre rponse impulsionnelle finie, synthtis par la
mthode du fentrage. Ce filtre doit rpondre aux spcifications suivantes :
Frquence de coupure fc=2 kHz
Largeur de transition : f=0.5 kHz
Attnuation en bande attnue : A=-20 log10()> 40 dB avec =min(1,2)
Frquence d'chantillonnage : fe=8 kHz
Dterminer lexpression mathmatique exacte de h(n).
Calculer h(0) et tracer approximativement h(n).
Quel est lintrt du fentrage et quel est son inconvnient ?
Quel est linconvnient de cette technique de synthse des filtres?
Citer un avantage et un inconvnient de la synthse par des filtres RIF de mme que par les RII.
Solution : f=0.5 fc= 0.125 h(n) = f c

h' (n) = 0.5

sin( n f c )
pour k0 et
nf c

h(0)=1-fc

A>40 Hanning N=49

sin( n / 2 )
2n
(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 synthtiser un filtre dordre par la
mthode de lchantillonnage frquentielle.
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 [assiakourgli@gmail.com

62

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

N /2
6
1
2kn 1
2kn
) = H (0) + 2 H (k ) cos(
)
H (0) + 2 H (k ) cos(
13
N
N
N
k =1
k =1

1
2n
4n
6n
) + 2 cos(
) + 2 cos(
)
h(n) = H (0) + 2 cos(
13
13
13
13

h( n ) =

4. Un filtre numrique est implanter. La frquence d'chantillonnage est fixe 8kHz. Idalement, on veut
supprimer la bande frquentielle de 1kHz 2 kHz.
- Tracez, pour ce filtre idal, le module de H(f)
-Si on utilise la mthode d'chantillonnage en frquence en prenant N points sur cette rponse idale,
quel serait h(n) pour N=21.
- Quelle est l'inconvnient de cette mthode? comment y remdier
Solution :
fc1 =1, fc2 =2 fe=8 et N=21 ainsi : (fe/N=0.4, 2fe/N =0.8, 3fe=0.12, 4fe/N=0.16, 5fe/N=0.2, 6fe/N=0.24)
H(3)=H(-3)=H(4)=H(-4)=H(5)=H(-5)=0 et les autres 1.
N/2
2
20
1
2kn 1
2kn
2kn
) =
) + 2 H (k ) cos(
)
H (0) + 2 H (k ) cos(
H (0) + 2 H (k ) cos(
N
N 20
N
N
k =1
k =1
k =6
1
2n
4n
12n
40n
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 dvier du filtre idal. Pour amliorer, il faudra prendre plus de points, do un filtre plus long.

h( n ) =

Exercices supplmentaires
1. Au cours de la transmission d'un signal numrique (chantillonn une frquence de 2,5 kHz) , il a t
affect d'un bruit localis entre les bandes de frquence 350 Hz et 550 Hz. On veut liminer le bruit par l'emploi
d'un filtre RIF possdant une possdant une bande de transition f=100 Hz. Concevoir ce filtre :
A] Par la mthode du fentrage. On souhaite une attnuation en bande attnue A=-20 log10()> 20 dB.
- Tracer H(f) idal
- Dterminer 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 frquentiel


- Dterminer N
- Donner les valeurs de H(k) et son trac
- Dterminer h(n)
- Comparer ces 2 techniques de synthse d'un filtre RIF
2. Au cours de la transmission d'un signal numrique (chantillonn une frquence de 5 kHz) , il a t affect
par un bruit sinusodal de frquence f0=250 Hz. On veut liminer le bruit par l'emploi d'un filtre possdant une
bande de transition f=50 Hz -3db. Concevoir un filtre RIF par la mthode du< fentrage. On souhaite une
attnuation en bande attnue A=-20 log10()> 40 dB avec fc1,2=f0 f
-

Dterminer h(n) et l'ordre N du filtre


Calculer h'(0)

FEI,USTHB [assiakourgli@gmail.com

63

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

TP n4: Synthse des filtres RIF

But du TP : Dans ce TP, on teste deux mthode diffrents pour synthtiser un filtre RIF: mthode de sries de
Fourier (ou mthode des fentres) et mthode de la TFD dite par chantillonnage frquentielle.

I. Rappels
Un filtre de rponse impulsionnelle finie (RIF) possde une fonction de transfert polynomiale. Il ne peut
pas tre obtenu par transposition dun filtre continu, comme cela est fait pour les filtres RII. Les filtres RIF
prsentent linconvnient de ncessiter un grand nombre de coefficients pour obtenir les mmes caractristiques
frquentielles. Mais par contre, ils sont inconditionnellement stables. On peut synthtiser des filtres RIF phase
linaire, cest--dire temps de propagation de groupe constant.
1.4

|H(f)|

Amplitude

Gabarit dun filtre


1.2
Le gabarit dun filtre nest autre que lensemble des caractristiques 1+1
1
du filtre, savoir :
1-1
- Le gain du filtre dans la bande passante.
0.8
- Lattnuation du filtre en bande coupe fa.
- La frquence de coupure fc, on lexprime souvent sous forme 0.6
normalise par rapport la frquence dchantillonnage.
0.4
- La largeur de bande de transition f souhaite qui doit tre la plus
0.2
petite possible .
2
- Les ventuelles oscillations en bande passante et/ou attnue.
0

fp
0

fa

0.2
0.4
0.6
0.8
1
Bande passante Bande de transition Bande attnue

1.2

- La dtermination des coefficients dun filtre RIF par la mthode de la fentre est ralis par la fonction Matlab
FIR1. Pour utiliser la technique d'chantillonnage de la rponse frquentielle, on emploiera la fonction Matlab
FIR2.

II. Mise en avant du phnomne 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); 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 observes.
3. Utiliser le zoom pour mesurer le dpassement en bande passante (en %).
4. Dterminer fa, fp la largeur de la bande de transition puis fc
5. Prendre N=100 puis 500 puis 1000 et mesurer nouveau le dpassement et les 3 frquences. Commenter.
6. Que reprsente N? Quel est l'inconvnient d'augmenter N?
7. Comment rduire les oscillations?

III. Mthode des fentres


Pour synthtiser un filtre passe-bande, par la mthode des fentres, rpondant aux spcifications suivantes:
fc1 = 500 Hz, fc2 = 1 kHz, fe= 4kHz, NbCoeff = 47, on procde comme suit :
FEI,USTHB [assiakourgli@gmail.com

64

1.4

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

clear all; close all; clc;


fc1 = 500 ;
%Dbut de la BP
fc2 = 1000;
%Fin de la BP
fe = 4000;
%Frquence 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 rponse 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 ples et zros

1. Donner l'expression thorique de ce filtre.


2. Calculer f relle sachant que f normalise soit f /(fe/2)=1.8/N thorique puis dterminer la
(pratiquement) partir du graphe en employant les valeurs 1-1 et la tangente 2 .
3. Faites de mme pour l'attnuation en db. Dpend-elle-de N?
4. Reprendre les questions 2 et 3 pour un fentrage de Hanning
h = FIR1(N,[fc1N fc2N],'band',hann(NbCoeff),'scale')

5. Superposer les nouveaux graphes pour les 4 fentres (changer de couleur pour bien voir ) et commenter.
6. Comment rduire f pour une mme fentre? Quel est l'inconvnient de cette solution?
7. Pour NbCoeff = 23 , comparer la rpartition des zros pour les 2 fentres en tablissant la relation avec
les tracs des rponses en frquence leur correspondant.
IV. Synthse RIF par chantillonnage frquentiel
On veut synthtiser le mme filtre passe-bande par la mthode de l'chantillonnage frquentiel et
comparer le rsultat avec la mthode des fentres (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 normalise
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 thorique de ce filtre.


2. Expliquer le rle de la boucle.
3. Tester la fentre de Hanning galement et comparer avec la fentre rectangulaire (f et dpassement).
4. Remplacer les 1 des deux bords par 0.5 comparer et commenter les diffrences observes.

V. Filtrage d'un ECG


Le signal dans ecg.dat contient plusieurs secondes dun ECG chantillonn 500 Hz. Les petites oscillations
visibles principalement entre les complexes PQRST sont dues la prsence dune interfrence 50 Hz, quon
peut supprimer avec un filtrage passe-bas, mais en essayant de ne pas dformer les complexes.
1. Ecrire le programme permettant de raliser un filtre RIF phase linaire (mthode des fentres)
2. Visualiser la sortie pour vrifier (utiliser filter).

FEI,USTHB [assiakourgli@gmail.com

65

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

VI. Synthse des filtres rcursifs RII

Le principe de dfinition du cahier des charges d'un filtre rcursif (RII) se droule de la mme manire
que pour un filtre non rcursif (RIF) mais la synthse se fera de diffrente manire. L'intrt d'employer un filtre
RII rside principalement dans la possibilit d'obtenir une bande de transition troite pour un ordre raisonnable
bien qu'il prsente d'une part, un risque d'instabilit du une grande sensibilit numrique des coefficients
mais que l'on peut toutefois contrler en dterminant une structure mieux adapte, et d'autre part, une
variation de phase fortement non linaire.
Rappelons que pour un filtre RII, la sortie s'exprime comme une combinaison linaire d'un ensemble fini
N
d'lments d'entres et de sortie:
i
N

i =0

i =1

y ( n ) = bi x ( n i ) ai y ( n i )

do H ( z ) =

b .z
i =0
M

1 + ai . z i
i =1

La mthode directe consiste placer des ples et des zros aux frquences utiles mais la plus courante (indirecte
dite aussi de transposition) est lutilisation des mthodes de synthse des filtres analogiques aboutissant une
fonction H(p) correspondant aux spcifications. Une fonction permettant le passage du plan p dans le plan z (p
= fct(z)) est ensuite utilise pour obtenir H(z). Cette fonction doit maintenir la stabilit du filtre analogique et
maintenir, au mieux, les caractristiques de la rponse frquentielle H(f) du filtre numrique.

1. Mthode des ples et des zros


Un filtre est rigoureusement caractris par la position de
ses ples et ses zros dans le plan p (en continu) ou dans le plan
z (en discret). Grce laquelle, on pourra dterminer la fonction
de transfert du systme une constante prs.
Rappelons, dans ce contexte que lorsqu'un zro est plac
sur un point donn du plan en z, la rponse frquentielle
prsentera un minimum au point considr. Un ple quant lui
produira un pic (un maximum) au point correspondant qui sera
d'autant plus important que le ple est proche de 1.

passe-bas 2me ordre

passe-haut 2me ordre

passe-bande 2me ordre

Coupe-bande 2me ordre

De ce fait, on peut, par un placement adquat des ples et des zros, obtenir un filtre slectif simple.
La mthode se rsume donc ainsi [11] :
o A partir des spcifications du filtre, placer des ples et des zros sur le cercle (ou partir des zros et des
ples de H(p) calculer les zros et les ples de H(z)).

FEI,USTHB [assiakourgli@gmail.com

66

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

o Si cest un passe-bas, le caractre passe-bas est renforc en compltant lensemble des zros par autant de
zros que possible en z=-1 tout en conservant H(z) son caractre propre (degr du numrateur gal au
degr du dnominateur). Si cest un passe-haut, placer les zros en z=1.
o On ajuste le coefficient K pour obtenir un gain unitaire z= 1 pour un passe-bas, z=-1 pour un passehaut.
Il existe une relation "empirique" entre la largeur de la zone de r 1 f 3 db
fe
transition f 3 db et la position des ples sur un rayon suprieure 0.9:
1

0.8

Pour un filtre passe-bas de second ordre, nous avons :

0.6

H (z) =
avec

Imaginary Part

0.4

K ( z + 1)( z + 1)
K ( z + 2 z + 1)
= 2
j
j
( z re )( z re ) z 2 zr cos + r 2
2

1 + r 2 2r cos
K=
4

= ( f c / f e ) 360

0.2

et

-0.6

f
r = 1 3 db
fe

-0.8
-1
-1

0.5

X
r

Imaginary Part

0.4

1 + r 2 + 2r cos
4

0.2

-0.2
-0.4
-0.6

-0.8
-1
-1

0
Real Part

0.6

K ( z 1)( z 1)
K ( z 2 2 z + 1)
=
( z re j )( z re j ) z 2 2 zr cos + r 2
K=

-0.5

1
0.8

avec

-0.4

Pour un filtre passe-haut de second ordre, nous avons :

H (z) =

0
-0.2

-0.5

0
Real Part

0.5

Pour un filtre passe-bande de second ordre, nous avons :


1

avec

K ( z 1)( z + 1)
( z re j )( z re j )
K=

K ( z 1)
z 2 zr cos + r 2

0.8
0.6

0.4
Imaginary Part

H ( z) =

e 2 j 2r cos e j + r 2

0.2

0
-0.2
-0.4

e 2 j 1

-0.6

-0.8
-1
-1

Pour un filtre coupe-bande de second ordre, nous avons :

-0.5

0
Real Part

0.5

K ( z e j )( z e j ) K ( z 2 2 cos + 1)
H (z) =
=
( z re j ' )( z re j ' ) z 2 2 zr cos '+ r 2

0.6
0.4
Imaginary Part

avec

0.8

1 + r 2 2r cos '
K=
2 2 cos

0.2

0
-0.2
-0.4
-0.6

-0.8

Pour un filtre passe-bas de premier ordre, nous avons :

H ( z) =

K (z / + 1/ )
z (1 K ) /

K = tg (c / 2) c = 2 f c / f e

-1
-1

-0.5

0
Real Part

0.5

=1+ K

0.8
0.6

Pour un filtre passe-haut de premier ordre, nous avons :

K (z / 1/ )
H ( z) =
z (1 K ) /

FEI,USTHB [assiakourgli@gmail.com

Partie Imaginaire

0.4
0.2

0
-0.2
-0.4
-0.6
-0.8
-1
-1

-0.5

0
Partie Relle

0.5

67

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)
1.4

Exemple: Trouver, grce la position des ples et des zros, la


fonction de transfert et lquation de rcurrence dun filtre numrique
simple qui a les caractristiques suivantes :
- Frquence de coupure : 50 Hz
- Largeur de bande 3 dB : 10Hz
- Frquence dchantillonnage : 500Hz

1.2

0.8

0.6

0.4

0.2

La largeur de la bande rejete est dtermine par la position de ples.


La relation entre la largeur de bande et le rayon est donc applicable, par
consquent, la norme des ples est 0,937.
Depuis la figure, la fonction de transfert du filtre est donne par :

H (z) = K

( z e j 36 )( z e j 36 )

( z 0.937e j 39, 6 )( z 0.937e j 39, 6) )

=K

50
fc=50

100

150

200
fe=500Hz

250

1
0.8
0.6
0.4
Partie Imaginaire

Pour rejeter les composants 50Hz, on place une paire de zros aux
points du cercle unit qui correspondent 50Hz. Ces points se situent
un angle de 360*50/500 = 36. Pour obtenir un filtre idal rejecteur de
bande et renforcer la rponse en amplitude de chaque ct de la
frquence de coupure, deux ples complexes conjugus sont placs sur
le cercle de rayon infrieur 1 [18].

0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-1

-0.5

0
Partie Relle

0.5

1 1,618 z 1 + z 2
1 1,516 z 1 + 0.878 z 2

Avec K =0,9471, lquation de rcurrence est :


y(n)x(n)-1.618x(n-1)+x(n-2)+1.5161y(n-1)-0.878y(n-2)

2. Rappels sur les filtres analogiques


Il existe de nombreuses mthodes permettant de synthtiser
un filtre numrique rcursif partir dun filtre analogique pris
comme modle [18]:
o

le filtre doit avoir une rponse impulsionnelle ou indicielle


impose : ce sont les mthodes de l'invariance
impulsionnelle et de l'invariance indicielle.

le filtre doit avoir une rponse frquentielle entrant dans


un gabarit donn : c'est la transformation bilinaire.

Pour concevoir un filtre analogique, on peut employer des filtres passifs obtenus par combinaison de
rsistances, de condensateurs et/ou de bobines ou encore utiliser des filtres actifs comportant un lment
amplificateur (transistor, AO, etc.) qui permet donc de modifier les amplitudes des signaux. Ainsi, un filtre de
base ( de premier ordre) peut tre compos d'une cellule RC ou d'une cellule RL. Pour obtenir des filtres d'ordre

FEI,USTHB [assiakourgli@gmail.com

68

Analyse et Filtrage
age des signaux numriques

M1 ST/TRM (2015/2016)

plus lev, on emploiera des filtres du premier et du deu


deuxime ordre (du
du aux proprits des polynmes).
polynmes Les
pentes asymptotiques seront
ont proportionnelles au nombre de cellules.
Remarque : Les filtres passe-bas
bas ou passe-haut
passe haut peuvent avoir un nombre entier d'ordre (1, 2, 3...) tandis que les
filtres passe-bande ou coupe-bande
bande ne peuvent qu'avoir un ordre pair (2, 4, 6, ...) car ils sont forms de paires de
cellules : 2 cellules RC ou une cellule RC et une cellule RL.
Filtre numrique

Circuit logiques intgrs

Filtres passifs

Circuit discret L et C,
Composants pizolectrique (quartz)

Filtres actifs

AIL, R et C

Filtres capacits commutes

AIL, Interrupteur
Int
command MOS, R et C intgr

F < 100MHz
convient en grande srie
entirement programmable
programm
F leve
pas dalimentation , non intgrable
F < 1 MHz
besoin dalimentation
tension filtre faible < 12V
F < qq MHz
besoin dalimentation intgrable
frquence programmable

Pour
our synthtiser des filtres analogiques rpondant un gabarit on choisira parmi un ensemble de filtres
connus pour leurs proprits en terme de pente
pente dattnuation et dondulation dans
dan la bande passante et
attnue telles que :
Filtres de Butterworth : Coupure peu raide mais gain
constant en bande passante
Filtres de Tchebychev (Chebyshev) :Raideur de coupure
importante mais ondulations dans la ba
bande passante
(Chebyshev 1) ou attnue (Chebyshev 2) et simple
mettre en oeuvre.
Filtres de Cauer (dit aussi elliptiques) : Coupure
extrmement raide mais ondulations dans la bande
passante et attnue mais circuits plus complexes raliser.
raliser
Filtres de Bessel : Retard de groupe constant mais mauvaise
ma
slectivit mme pour ordre lev.

1. Un filtre de Butterworth est caractris par le fait que la rponse damplitude est maximalement plate
dans la bande passante et monotonement dcroissante partir du
dune
ne certaine frquence (frquence de coupure).
Lamplitude au carre dun filtre analogique Passe-bas
Passe bas de Butterworth dordre N est dfinie par
1
2
lexpression : H ( ) =


1 + .
c

2N

tre de conception qui fixe la rgion de tolrance


c est la pulsations de coupure limites et est un paramtre
dans la bande passante.
FEI,USTHB [assiakourgli@gmail.com

69

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

2. Un filtre de Tchebychev est caractris gnralement par une ondulation quilibre dans la bande
coupe. La forme analytique du carr du module de rponse frquentielle dun filtre analogique de Tchebychev
(ou Chebyshev) est donne par :

H ( ) =
2

1 + 2 .Tk2
c

O est un paramtre rel infrieur

lunit qui dtermine lamplitude des oscillations dans la bande


passante et o Tk (x ) est le polynme de Tchebychev dordre k,
dfinie par :

cos[k .ar cos(x )] pour 0 x 1


Tk (x ) =
cosh[k .ar cosh(x )] pour x 1

Dans la pratique, on utilise trois valeurs d'ondulation, 0.1 dB, 0.5 dB et 1 dB. Pour ces 3 valeurs HN(p) est
donne comme suit :

On rappelle que les fonctions de transfert HN(p) des filtres analogiques polynmiaux ( Butterworth,
Tchebychev, Bessel, Cauer, etc.) sont donnes pour des frquences de coupure normalises et uniquement pour
des filtres passe-bas [2]. A partir de l'expression de HN(p) normalise, on dnormalise en remplaant p par les
valeurs donnes au tableau suivant permettant d'aboutir une fonction de transfert dnormalise H(p).

Passe-bas

p = p /A

Passe-bande

p = p 2 + A1 A 2 / (( A 2 A1 ) p )

Passe-haut

p = A / p

Coupe-bande

p = (( A2 A1 ) p ) / p 2 + A1 A2

FEI,USTHB [assiakourgli@gmail.com

)
70

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

3. Mthode de linvariance de la rponse impulsionnelle


La mthode de linvariance impulsionnelle consiste effectuer la synthse dun filtre numrique dont la
rponse impulsionnelle h(n) est lchantillonnage de la rponse impulsionnelle h(t) du filtre analogique
quivalent [18] :
- on dtermine la rponse impulsionnelle dsire ha(t) dun filtre analogique connu.
- on chantillonne cette rponse impulsionnelle la frquence fe et on en dduit la suite h(n).
- on recherche la fonction de transfert H(z) du filtre numrique qui a pour rponse impulsionnelle la suite h(n).

h(n)

ha(t)

x(t)

y(t)

Ha(p)
Filtre analogique

x(n)

H(z)

y(n)

Filtre numrique ha(nTe)=ha(t)|t=nTe

Rappelons toutefois que l'chantillonnage temporel se traduit par une priodisation en frquence telle que :

X e ( f ) = f e X ( f nf e ) Pour compenser la multiplication par fe , on prendre h(n) = Te. ha(nTe)


n

Pour obtenir h(n), on peut oprer de 2 manires:


1

L
=nTe
TZ
H a ( p)
ha (t ) t
n(n) = Te ha (nTe )
H ( z ) ou

H ( z ) = Te

H a ( p)
Rsidus
1 pT
1 z e e p = pi
ples pi de Ha ( p )

Exemple 1 : On veut synthtiser un filtre numrique qui possde la mme rponse impulsionnelle qu'un filtre
c
1
passe-bas analogique du 1er ordre de transmittance : H ( p ) =
=
a

La rponse impulsionnelle est alors :

1 + ( p / c )

ha (t ) = c e ct pour t0 h(n) = Tec e nTec pour n0 H ( z ) = Tec

c + p

1
1 e

Tec

= Tec

z
z e Tec

Il s'avre qu'il y a galit entre les 2 rponses un coefficient K prs, on posera donc :

H ( z ) = KTec

1
1 e

Tec

z 1

Sachant que p=2jf, pour f=0, Ha(0)=1 et z=e2jfTe, pour f=0, H(0)=KTec(1-e-Tec )

H ( z) =

1 e Te /
1 e Te / z 1

Remarque : La rponse du filtre numrique sera proche de celle du filtre analogique dans la bande [-fe/2, fe/2] si
le filtre analogique a une rponse frquentielle nulle en dehors de cette bande. Cette mthode est utile
seulement dans le cas de filtres analogiques bande limite. En effet, cette mthode n'est applicable que si l'on
FEI,USTHB [assiakourgli@gmail.com

71

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

est en mesure de dfinir une frquence d'chantillonnage adquate [19]. Pour cela, il faut que la rponse en
frquence du filtre continu soit nulle (ou presque) au-del d'une certaine frquence de valeur finie. Cette
mthode ne peut donc s'appliquer aux filtre de types passe haut dautant plus que la rponse impulsionnelle
d'un filtre rcursif tant infinie (problme de recouvrement)

Exemple 2: On considre le filtre analogique dordre 3 associ la fonction dapproximation de Butterworth.


Raliser le filtre numrique correspondant en utilisant la mthode de linvariance impulsionnelle. La frquence
de coupure est fc=1 kHz et la frquence dchantillonnage fe=10 kHz. Rappelons que le filtre de Butterworth
dordre 3 est form de 2 cellules dordre 1 et 2, respectivement :

H ( p) =

1
(1 + p / c ) 1 + p / c + ( p / c ) 2

Les ples de ce fitre analogique sont p1 = c = 2000 p2 ,3 = c

1 3 j
= 1000 (1 3 j ) = jO
2

p1 ( z ) = 1 a1 z 1 = 1 e _ cTe z 1 = 1 0.5335z 1
p 2 ( z ) = 1 2 R cos( ) z 1 + R 2 z 2 = 1 2e _ Te cos( 0Te ) z 1 + e _ 2Te
p 2 ( z ) = 1 2e / 10 cos( 3 / 10) z 1 + e / 5 = 1 1.25 z 1 + 0.5335
K1
K2
Ce qui nous donne H ( z ) =
1
(1 0.5335 z ) (1 1.25 z 1 + 0.5335 )
Il reste dterminer le gain K en adaptant les gains des deux filtres analogique et numrique pour une
frquence donne. Comme il s'agit d'un filtre passe-bas, on supposera l'galit pour f=0 (p=0 et z=1) donc
H(p=0)=H(z=1). On trouve K1=0.4665 et K2=0.2835.

Remarque On peut calculer H(z) plus simplement


en utilisant les relations entre transformes de
Laplace et en z pour les systmes du premier et
du second ordres. Il suffira donc de dcomposer
auparavant H(p) en lments simples du premier
et second ordres.

4. Mthode de la transformation bilinaire


Cette mthode a pour objectif de faire concider au mieux les domaines analogique et numrique. Les filtres
qui en sont drivs sont plus stables que sont obtenus travers l'emploi de la mthode de la variance
impulsionnelle. Mais, en contrepartie, elle introduit une distorsion sur l'axe des frquences.
On sait quun filtre analogique est caractris par sa fonction de transfert H(p) et un filtre numrique est
dfini par sa fonction de transfert H(z) avec z= e2jfTe= epTe. Ce qui implique que p=Ln(z)/Te. Dans les deux cas,
cette transformation entrane une relation non linaire entre les frquences fA du domaine analogique et les
frquences fN du domaine numrique.
FEI,USTHB [assiakourgli@gmail.com

72

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Pour conserver le caractre polynomial des fonctions de transfert, une approximation de la drive par
dveloppement limit de z autour de z=1 est dtermine par transformation bilinaire [11]. En ne conservant
ln( z ) 2 1 z 1 2 z 1
que les termes du premier ordre, on trouve :

p=

Te

Te 1 + z 1

Te z + 1

Ainsi, on peut montrer [2] quon obtient la correspondance entre frquence analogique fA (ou pulsation
analogique A) et la frquence numrique fN par :

A =

2 N Te 2 f N
tg
= tg
Te 2 Te f e

Cette quation montre qu'il ny a pas galit entre pulsation analogique


et pulsation discrte et que la relation les liant nest pas non plus linaire
puisqu'il y a distorsion des frquences, y compris du retard de groupe.

Pour faire la synthse dun filtre numrique par la transformation bilinaire, on procde comme suit :
- On dfinit les caractristiques souhaites du filtre numrique (frquence dchantillonnage, de coupure, etc.)
- On calcule les pulsations analogiques A correspondant aux pulsations numriques A =

2 fN
tg
Te f e

- On dtermine le gabarit du filtre analogique HN(p) normalise d'ordre n (Chebyshev, Butterworth, etc.) qui
servira de modle au filtre numrique et on crit la fonction de transfert dnormalise H(p) de ce filtre
analogique (quil faut recalculer en fonction de A).

2 1 z 1

- On applique la transformation bilinaire H(p) en remplaant p =


, ce qui donne la fonction de
Te 1 + z 1
transfert H(z).

Exemple 1: On dsire concevoir un filtre passe-bas numrique de premier ordre partir dune fonction de
transfert d'un filtre RC dans le domaine continu. H N ( p ) =

1
(1 + p )

La frquence de coupure dsire est fN=30 Hz et la frquence dchantillonnage est fe=150 Hz.
On calcule d'abord A =

H ( z ) = H ( p ) p = 2 z 1

Te z +1

2 2
1
tg = 0.7265 puis H ( p ) =
Te 5 Te
(1 + p ) p= p / A

2
0.7265
Te
=
2
p + 0.7265
Te

2
0.7265
Te
0.7265( z + 1)
0.7265( z + 1)
=
=
=
2 z 1 2
( z 1) + 0.7265( z + 1) 1.7265 z 0.2735
+ 0.7265
Te z + 1 Te

FEI,USTHB [assiakourgli@gmail.com

73

Analyse et Filtrage
age des signaux numriques
On peut remarquer que f A =

M1 ST/TRM (2015/2016)

2
f
tg = e 0.7265 = 34.69 f N = 30
Te (2 ) 5

Exemple 2 : On
n dsire raliser un filtre numrique
num
passe-bande
bande du second ordre avec les caractristiques
suivantes [18]: frquence centrale fN= 500 Hz (gain de
d 1), frquence d'chantillonnage fe=5 kHz,

A =

2 N Te 2 2
tg
= tg = 0.325
Te 2 Te 10 Te

H N ( p) =

0.1075 p A
0.1075 p
H ( p) = 2
2
p + 0.1075 p + 1
p + 0.1075 p A + A
2

H ( z ) = H ( p ) p = 2 z 1
Te z +1

H ( z) =

2
0.035 p
Te
=
2
4
p 2 + 0.035 p + 2 0.1056
Te
Te

2 z 1
2
0.035
Te
Te z + 1

z 1
z +1
=
=
2
2
z 1
2 z 1
z 1
2
2 z 1 4
+ 0.1056

+ 0.035
+ 0.035
+ 2 0.1056
z +1
z +1
Te z + 1 Te
Te z + 1 Te

0.035

0.035( z 1)( z + 1)
0.035( z 2 1)
=
(z 1)2 + 0.035( z 1)( z + 1) + 0.1056(z + 1)2 1.14 z 2 1.7888z + 1.0706

z 1
z +1

fN
On peut passer directement par la pulsation normalise c = tg
fe

et remplacer dans H ( z ) = H ( p ) p = z 1
z +1

Remarque : Puisqu'il n'est pas possible de faire concider prcisment la rponse frquentielle du filtre
analogique (sur [0, [[ et numrique (sur [0, fe/2] la transformation bilinaire aura pour objet de faire concider
au mieux les deux rponses . Cette mthode donne d'assez bons rsultats condition que les frquences
caractristiques ne soient pas trop proches de la d
demi-frquence
frquence d'chantillonnage.

5. Ralisation du filtre RII


Un filtre RII ncessite (2N+1) oprations de multiplication, 2N
oprations daddition pour chaque nouvel chantillon filtrer ou (2N +1)
MAC. Le cot mmoire dun filtre RII en structure dire
directe est de (4N+3)
mmoire [(2N+1) coefficients bi et 2(N+1) points mmoire ou retard pour les
vecteurs des entres x(n) et des sorties y(n) [9].

FEI,USTHB [assiakourgli@gmail.com

74

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)
Srie 6

Exercice 1 : Dterminer, grce la position des ples et des zros, la fonction de transfert, les coefficients du
filtre et lquation de rcurrence dun filtre numrique passe-bande qui a les caractristiques suivantes :
1

- Frquence centrale du passe-bande : 125 Hz


- Largeur de bande 3 dB : 10Hz
- Frquence dchantillonnage : 500Hz
Solution
Passe bande Placer un zro en 1 et un zro en -1

Calculer = (125/500)*360=90 et r=1-(10/500)x 0.937

Remplacer et r dans lquation H ( z ) =

H (z) =
-

K ( z 1)( z + 1)
( z re j )( z re j )

0.6
0.4
Partie Imaginaire

0.8

0.2
0
-0.2
-0.4

-0.6

K ( z 2 1)
z 2 2 zr cos + r 2

-0.8
-1
-1

-0.5

0
Partie Relle

0.5

K ( z 2 1)
K (1 z 2 )
=
e 2 j 2 r cos e j + r 2
z 2 + 0.878
1 + 0.878 z 2 avec K =
e 2 j 1

b0=K b1=0 b2=-K a0=1 a1=0 a2=0.878


Lquation de rcurrence est : y(n)= K.x(n)-K.x(n-2)-0.878y(n-2)
Exercice 2 : On souhaite approcher un filtre idal passe-haut de second ordre par un filtre rponse
impulsionnelle infinie, synthtis par la mthode des ples et des zros. Ce filtre doit rpondre aux
spcifications suivantes
- Largeur de transition 3db: f=240 Hz
- Frquence de coupure fc=2 kHz
- Frquence d'chantillonnage : fe=8 kHz
- Tracer H(f) idal
- Donner lexpression thorique de H(z)
- Placer les ples et les zros pour obtenir une approximation de H(f)
- Dterminer lexpression mathmatique exacte de H(z) en dterminant K
- Dterminer lquation aux diffrences.
Exercice 3 : Considrer la fonction de transfert passe bas H(p) suivant : 2.25/(p2+0.3p+2.25). Utiliser la mthode
de l'invariance impulsionnelle puis celle des ples et zros pour transformer ce filtre en numrique.
Solution p1,2=-0.151.4925

=-0.15, r=1.4925 2 ples transposs z1,2=0.0671j0.8574

H ( p) =

2.25
K ( z + 1) 2
pls et zros

H
(
z
)
=
p 2 + 0.3 p + 2.25
z 2 0.1347 z + 0.7408

H ( p) =

2.25
1.292 z 2
in var iance impulsionnelle

H
(
z
)
=
p 2 + 0.3 p + 2.25
z 2 0.1347 z + 0.7408

Exercice 4 : Considrer la fonction de transfert passe bas H(p) suivant : 6/(p2+5p+6). Utiliser la mthode de
linvariance impulsionnelle pour transformer ce filtre en numrique.
Solution

6
1
6
6
h a (t ) = 6 e 2 t U (t ) 6 e 3 t U (t )
=
+
p+2 p+3 p+2 p+3
6Te
6Te
2 nTe
U (n) 6Te e 3nTeU (n) H ( z ) =
+
h(n) = 6Te e
2Te 1
1 e z
1 e 3Te z 1
H A ( p) =

FEI,USTHB [assiakourgli@gmail.com

75

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Exercice 5 : On considre le filtre passe-bas analogique un ple unique H(p)=1/(p+1). On considre que la
frquence de coupure normalise -3db se produit pour fc=fe /10 . Par transformation bilinaire, trouver le filtre
numrique quivalent H(z).

A =
p=

0.65 / Te
A
2 0.65
tg =
H ' ( p) = H ( p) p / =
=
A
Te 10 Te
p + A p + 0.65 / Te

0.65 / Te
2 1 z 1
0.245(1 + z 1 )

H
(
z
)
=
H
'
(
p
)
=
2 1 z 1 =
p=
Te 1 + z 1
2 1 z 1
1 0.509 z 1
Te 1+ z 1
+
0
.
65
/
T
e
Te 1 + z 1

Exercice 6: Soit la fonction de transfert passe bas H'(p) suivante : (p+0.1)/((p+0.1)2+a2). Sachant que a=4,
utiliser la mthode de la transforme bilinaire pour transformer ce filtre en numrique. Le filtre numrique
aura sa rsonnance pour N = /(2.Te).

1 z 1
+ 0.1
2
1 z
0.125 + 0.006 z 1 0.118z 2
1 + z 1

H
(
z
)
=
=
a = 4 = tg Te = 0.5 p = 4
2
Te 4
1 + z 1
1 + 0.0006z 1 0.950z 2
1 z 1

4
+ 0.1 + 16
1
1+ z

Exercices supplmentaires
1. Au cours de la transmission d'un signal numrique (chantillonn une frquence de 5 kHz) , il a t affect
d'un bruit sinusodal de frquence f0=250 Hz. On veut liminer le bruit par l'emploi d'un filtre possdant une
bande de transition f=50 Hz -3db.
Concevoir un filtre RII de second ordre par placement des ples et zros
- Tracer H(f) idal
- Dterminer et R puis donner le rac des ples et zros
- Dterminer H(z) et le gain K.
-

Donner l'quation aux rcurrences


Citer un inconvnient des filtres RII de 1er ordre et de 2me ordre

2. On considre le filtre analogique Ha(p)= (p+0.1)/((p+0.1)2+9). Par la mthode de linvariance de la rponse


impulsionnelle, trouver le filtre numrique quivalent H(z).
Solution
3 ples p1=-0.1 , p2,3=-0.1 3j

H ( z ) = Te

H a ( p)
Rsidus
1 pT
1 z e e p= pi
ples pi de Ha ( p )

4. On considre le filtre analogique Ha(p)= 1/[(1+p)(p+2)2].


- Dterminer la rponse impulsionnelle
- Par la mthode de linvariance de la rponse impulsionnelle, trouver le filtre numrique quivalent hd(n).

FEI,USTHB [assiakourgli@gmail.com

76

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

5. Soit construire un filtre numrique chantillonn la frquence fe=4kHz. La fonction modle est la rponse
en frquence d'un filtre passe-bas de type Butterworth du 2me ordre dont la frquence de coupure -3dB est
gale 500Hz.

Te
Te

6. On considre le filtre analogique dordre 3 associ la fonction dapproximation de Butterworth. Raliser le


filtre numrique correspondant en utilisant la transformation bilinaire. La frquence de coupure est fc=1 kHz
et la frquence dchantillonnage fe=10 kHz. Rappelons que le filtre de Butterworth dordre 3 est form de 2
cellules dordre 1 et 2, respectivement :

H ( p) =

1
(1 + p / c ) 1 + p / c + ( p / c ) 2

7. En employant un filtre de Butterworth passe-bas de second ordre, concevoir un filtre numrique


correspondant en utilisant la transformation bilinaire. La frquence de coupure est fc=100 kHz et la frquence
dchantillonnage fe=1 kHz.

a = 2 T 0.325rad / s
e
8. On cherche raliser un filtre numrique quivalent au filtre analogique de transmittance :
-

H A ( p) =

1
1 + 0 .2 p

Dterminer la rponse impulsionnelle ha(t)


Calculer la rponse en z de ce filtre obtenue par transformation bilinaire pour une frquence
dchantillonnage Te = 0.2.
Quelle est sa frquence de coupure ?
Calculer la rponse en z dun filtre similaire de mme frquence de coupure que le filtre
analogique.

FEI,USTHB [assiakourgli@gmail.com

77

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

TP n5: Conception des filtres RII


But du TP : Dans ce TP, on synthtisera un filtre RII par la mthodes des ples et zros puis par la mthode de
l'invariance impulsionnelle en utilisant des filtres analogiques (Chebychev et Butterworth).
Rappels sur les filtres RII
Les filtre RII n'auront pas une phase linaire (phase linaire : temps de propagation constant pour tout
frquence). Lintrt des filtres rcursifs (RII) est leur faible cot en calcul. Les inconvnients des filtres rcursifs
sont : leur non-linarit en phase, et leur instabilit numrique. Avec trs peu de ples et zros on peut assurer
la plupart des rponses frquentielles dont on peut avoir besoin dans les applications audio. Cependant, le filtre
tant rtroactiv, les erreurs de prcision numrique deviennent une question d'importance, car il peuvent
s'amplifier et devenir dehors contrle, d'abord dans la forme de bruit, mais ventuellement dans la forme
d'instabilit. Mais, les filtres RII peuvent tre conus par des mthodes semblables ceux utilis pour les filtres
analogiques.
1. Synthse dun filtre numrique par placement des ples et zros
1.1. Filtre de premier ordre
On veut synthtiser un filtre passe-bas de premier ordre par la mthode des ples et zros. La frquence de
coupure -3db doit se situer 400 Hz avec une frquence d'chantillonnage de 8000 Hz.
clear all; clc; close all;
fe=8000; fc=3000;
wc=2*pi*fc/fe;
K=tan(wc/2);
alpha=1+K;
a=[1 -(1-K)/alpha];
b=K*[1/alpha 1/alpha];
figure; zplane(b,a);
dirac=[1; zeros(59,1)]; h=filter(b,a,dirac);
[H F] = freqz(b, a, 512, fe); [tau,f]=grpdelay(b,a,512,fe);
figure; subplot(2,2,1);hold on;plot(h,'red');grid;
subplot(2,2,2);hold on;plot(F,abs(H),'red'); grid;
subplot(2,2,3);hold on;plot(F,20*log10(abs(H)),'red');grid;
subplot(2,2,4);hold on;plot(f,tau,'red');grid;

1. Vrifier qu' -3db, on retrouve bien fc.


2. Tester d'autres valeurs de fc et observer les valeurs de alpha.
3. Modifier ce programme pour en faire un passe-bas
4. Quelles sont les limites de ce filtre?
5. Pourquoi ne peut-on pas synthtiser un passe-bande ou coupe-bande.

1.2. Filtre de 2me ordre


Il s'ait de dterminer, grce la position des ples et des zros, la fonction de transfert, les coefficients d'un filtre
et lquation de rcurrence dun filtre numrique coupe-bande qui a les caractristiques suivantes :
-

Frquence rejeter : 125 Hz


Largeur de bande 3 dB : 10Hz
Frquence dchantillonnage : 500Hz

clear all; clc; close all;


fe=500; df=10; fc=125;
teta=360*fc/fe; tet=2*pi*fc/fe; R=1-df*pi/fe;
K=(1+R*R-2*R*cos(tet))/(2-2*cos(tet)); K=abs(K);
FEI,USTHB [assiakourgli@gmail.com

78

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

a=[1 -2*R*cos(tet) R*R]; b=K*[1 -2*cos(tet) 1];


figure; zplane(b,a);
dirac=[1; zeros(99,1)]; h=filter(b,a,dirac);
[H F] = freqz(b, a, 512, fe); [tau,f]=grpdelay(b,a,512,fe);
figure; subplot(2,2,1);hold on;plot(h,'red');
subplot(2,2,2);hold on;plot(F,abs(H),'red');
subplot(2,2,3);hold on;plot(F,unwrap(angle(H)),'red');
subplot(2,2,4);hold on;plot(f,tau,'red');

1. Quelle est la nature de la bande passante cre


2. Modifier ce programme pour en faire un coupe-bande.
3. Reprendre ce programme pour raliser le filtre passe-haut avec les spcifications suivantes : fe=500; df=10;
fc=50. Observer H(f) et commenter.
2. Synthse dun filtre numrique par la mthode de la rponse impulsionnelle
Pour dterminer les coefficients du filtre RII, il suffit de synthtiser chaque filtre en continu H(p) puis de
passer H(z) soit par transformation bilinaire ou par invariance impulsionnelle
On veut, par exemple, synthtiser un filtre passe-haut avec les spcifications suivantes : fe=3000; df=200;
fc=1000 et une oscillation en bande passante 1<3 db et une attenuation en bande attnue 2> 40 db.
I. On commence par crer un filtre analogique H(p) (en continu) en choisissant soit Chebychev (cheby2) ou
Butterworth (butter) dont il faut d'abord dterminer l'ordre (cheb2ord ou buttord)
clc;clear all; close all;
Fe=3000;fc=1000; df=250; att_p=1; att_a=40;
fp=fc*2*pi;fa=(fc+df)*2*pi; %transformation de f en w
% Calcul du filtre analogique
[n,w]=cheb1ord(fp,fa,att_p,att_a,'s');
[N,D]=cheby1(n,1,w,'s');
1. Afficher

n, de quoi dpend-t-elle?
2. Que contiennent N et D? Quelle est le rle de 's'?
II. Ensuite, on utilise une des mthodes de transformation permettant trouver les paramtres a et b du filtre .

% Dtermination du filtre numrique


[B,A] = impinvar(N,D,Fe); % ou [B,A] = bilinear(N,D,Fe);

III. On calcule et visualise h(n), H(f) et ples des 2 filtres.


figure; zplane(1,D); figure ;zplane(1,A); % Comparaison des ples
[r,p,k]=residue(N,D); % Calcul de la rponse impusionnelle analogique
t=0:1/(5*Fe):.02;
ha=real([exp(t'*(p.'))*r]);
h=filter(B,A,[1;zeros(49,1)]); % Calcul de la rponse impusionnelle numrique
figure; subplot(1,2,1);plot(t,ha);hold on; stem(0:1/Fe:49/Fe, Fe*h,'r.') % Affiche ha et h
[Ha,W]=freqs(N,D,2*pi*(1:20:Fe/2)); [H,f]=freqz(B,A, 1:20:Fe/2,Fe); % Calcul Ha(w) et H(f)
subplot(1,2,2);plot(W/(2*pi),abs(Ha));hold on; stem(f,abs(H),'r.') % Affiche Ha(w) et H(f)

3. Commenter les figures obtenues.


4. Quelles sont les caractristiques du filtre de Chebychev (avantage et inconvnient)
5. Peut-on diminuer les oscillations?
6. Modifier ce programme pour synthtiser un passe-bande avec les spcifications suivantes:
fe = 32000; fp = [6500 8500], fa = [5000 10000], delta1 = 3 et delta2 = 50

VI. On veut refaire le mme travail mais en employant un filtre de butterworth, on change les 1res lignes :
order = buttord(fp,fa,att_p,att_a, 's'); [N,D] = butter(order, (fa + fp)/2, 's');

7. Comparer les 2 filtres (oscillations, f, ordre du filtre)


FEI,USTHB [assiakourgli@gmail.com

79

Analyse et Filtrage des signaux numriques

M1 ST/TRM (2015/2016)

Rfrences
[1] F. Cottet. Aide-mmoire Traitement du Signal. Dunod, Paris, 2005.
[2 ] L. Lecornu D. Le Roux. Mts 201 A Signaux Numeriques Telecom Bretagne
[3] O. Franais. Thorie de lchantillonnage et de la quantification. ESIEE.
[4]. Maurice Charbit, Grard Blanchet. Elments de base pour le Traitement Numrique du Signal et de lImage.
Telecom Paris.
[5] https://moodle.insa-rouen.fr/pluginfile.php/6997/mod_resource/content/0/cours7.pdf
[6] http://chamilo2.grenet.fr/inp/courses/ENSE32A4EMAAAK0/document/html/toc1.htm
[7] http://www.groupes.polymtl.ca/ele2700/TP/seance3-TP2-HIVER-2015.pdf
[8]Alexandre Renaux. Traitement Numrique Des Signaux. IFIPS / Universit Paris Sud Orsay
[9] Olivier Sentieys. Signaux et Systmes Discrets. ENSSAT - Universit de Rennes 1.
[10] J.L. Zarader. Cours de Traitement du Signal. Ecole Polytechnique Universitaire de Paris
[11] M. Frikel. Cours Traitement Numrique du Signal. ENSICAEN.
[12] C. Doignon. Traitement Numrique du Signal Dterministe. Universit Louis Pasteur de Strasbourg
[13]

http://fr.audiofanzine.com/techniques-du-son/forums/t.392548,plug-ins-d-eq-sonnent-ils-differemment-

pourquoi,p.18.html
[14] http://perso.iut-nimes.fr/flouchet/syst%20ech/T_en_z.pdf
[15] http://pageperso.univ-lr.fr/pierre.courtellemont/TD4.pdf
[16] https://perso.univ-rennes1.fr/laurent.albera/alberasiteweb/cours/tp_filtrage.pdf
[17] Joel Leroux. Techniques numriques pour le traitement du signal. Polytech, Nice-Sofia.
[18] http://www.eaeeie.org/sites/all/themes/eaeeie/tnprojects/theiere_signal/theiere_signal_fr/frame.htm
[19] J. Prado, G. Blanchet. Mthodes Numrique pour le traitement du signal.

FEI,USTHB [assiakourgli@gmail.com

80