Polycop Filtrage Num
Polycop Filtrage Num
_________
Jean-Marie Dilhac
version 2004-2005
SUPPORT DE COURS
Systèmes d'acquisition de données - rappels et compléments
Les avantages du traitement numérique du signal par rapport au traitement analogique sont :
- l'absence d'effets dûs au bruit, de dérive en température, de vieillissement,
- la fiabilité,
- la reproductibilité des circuits de traitement,
- la possibilité de traitements complexes,
- le coût.
Lexique :
- capteur = sensor,
- échantillonneur/bloqueur = sample and hold circuit,
- actionneur = actuator,
- bruit = noise, signal to noise ratio,
- vieillissement = aging.
Logique de commande
Affichage
Actionneur CNA µP
mémoires
I Introduction :
L’opération de conversion numérique analogique transforme un mot binaire N de n bits en
une grandeur abusivement qualifiée d’analogique, mais qui reste en fait quantifiée en
amplitude. On verra plus loin qu’une opération de filtrage peut faire disparaître de la forme
d’onde du signal, les discontinuités trahissant la quantification.
L'abréviation CNA est utilisée en français, et DAC (Digital to Analog Conversion) en anglais.
Les symboles suivants sont employés dans les schémas blocs.
# CNA
L'opération de CNA peut être résumée par le dessin ci-dessous qui va être explicité dans le
paragraphe suivant.
0
1
... N CNA
1 y
1
y=∆[2n-1d1+ 2n-2d2+...+20d0]
(MSB) (LSB)
II Définitions :
1°) Equations et caractéristiques :
Soit y le signal résultant de la conversion, la relation y = f(N) constitue la loi de conversion.
Celle-ci peut être uniforme ou non (voir chapitre quantification). Dans le cas d’une loi
uniforme, et d’un code en binaire naturel, on peut écrire :
y = ∆ [ 2n-1d1+2n-2d2+…+21dn-1+20dn]
E/B
µP RG CNA
xe(t) x(t)
xe(t) x(t)
t
Te
filtre de lissage
xe(t)
2f0 2f0
f
-f0 0 +f0
-Fe Fe
Lexique :
- conversion numérique - analogique = digital to analog conversion, DAC,
I Généralités :
Les signaux issus de capteurs sont le plus souvent analogiques. Or, les calculateurs travaillent
sur des grandeurs numériques et une conversion analogique numérique est donc nécessaire.
L'abréviation CAN est utilisée en français, et ADC (Analog to Digital Conversion) en anglais.
Les symboles suivants sont employés dans les schémas blocs.
CAN
#
Les étapes principales de l’opération sont :
- l’échantillonnage,
- la quantification en amplitude,
- le codage.
C'est à l'issue de ces trois opérations que l'amplitude analogique du signal aura été
suffisamment "transformée" pour être compréhensible par un système numérique (µP).
0
1
CAN
...
1
1
x(t)
échantillonnage
xe(t)
quantification en amplitude
xk(t)
codage
x[n]
Les paramètres principaux devant être choisis lors de la mise en œuvre sont :
- la fréquence d’échantillonnage,
- le type de quantification (arrondi ou troncature),
- le pas de quantification <=> le nombre de bits de codage,
- la nature du code numérique.
II Echantillonnage :
C'est l'opération qui permet de représenter, par une succession d'échantillons, un signal
variant continuellement. En général, l'échantillonnage est périodique, définissant ainsi une
période Te et une fréquence Fe d'échantillonnage.
t
Te
De façon évidente, il est inutile de multiplier à l'excès le nombre d'échantillons par unité de
temps : les circuits CAN travaillent alors inutilement vite (d'où un coût élevé) et le µP se voit
surchargé de travail par l'arrivée d'un trop grand nombre d'échantillons. Il est par contre tout
aussi évident qu'un nombre minimum d'échantillons est nécessaire pour correctement
représenter le signal.
On peut démontrer que la fréquence minimum d'échantillonnage Femin est relié à la plus
grande fréquence fmax présente dans le spectre du signal analogique à convertir par la formule
(Théorème de Shannon) :
Femin = 2 fmax
Comme fmax n'est souvent pas naturellement définie (effet du bruit de fond, ou spectre du
signal ne possédant pas de support borné), un filtre passe-bas est utilisé pour fixer fmax : ce
filtre est le filtre anti-repliement.
III Quantification :
C'est une règle de correspondance entre le nombre infini de valeurs possibles pour xe(t) et le
nombre fini de valeurs permises pour xk(t) liée au fait qu'au terme de la conversion un nombre
binaire de longueur finie portera l'information.
La quantification peut-être menée par arrondi (voir diagrammes à gauche) ou le plus souvent,
car les circuits sont plus simples, par troncature (voir diagrammes à droite). Dans tous les
cas, une erreur de quantification εk (quantization noise) est commise ; elle correspond à une
perte d'information et doit être minimisée par le choix d'un pas de quantification
suffisamment faible :
εk = xk(t) - xe(t)
Les transitions ne sont pas aussi nettement définies que sur les figures vues plus loin. Dans la
réalité, lorsque l'amplitude analogique d'entrée d'un CAN approche d'une zone de transition,
le CAN convertit de plus en plus souvent (au rythme de la fréquence d'échantillonnage)
l'amplitude analogique dans le nouveau code (adjacent à l'ancien code). Le point de transition
correspond à l'amplitude pour laquelle le CAN convertit avec une probabilité égale dans l'un
ou l'autre des deux codes adjacents.
5 5
1
xe(∆) 1 xe(∆)
0 1 0 1 10
5 10 5
ε= xk-xe
ε ε
∆/2
xe(∆) 0 1 5 10
xe(∆)
0 1 5 10
−∆/2 −∆
1/ ∆ p(ε) 1/ ∆ p(ε)
ε ε
- ∆/2 0 ∆/2 -∆ 0
f(Hz)
-F e /2 0 F e /2
IV Codage :
Cette dernière étape consiste à affecter aux niveaux d'amplitude quantifiée (en nombre fini)
une "étiquette" numérique binaire, en général en binaire naturel. Dans le cas de convertisseurs
bipolaires, un bit codera le signe de l'amplitude.
E/B
CAN RG µP
x(t)
Lexique :
- conversion analogique-numérique = analog to digital conversion, ADC, « converting an
analog signal into a binary code »,
- échantillonnage = sampling, sample-and-hold circuit, sampling frequency (sampling rate),
sampling theorem (Shannon, Nyquist),
- repliement = aliasing, anti-aliasing filter,
- quantification = quantization, pas de quantification = step size,
- troncature = truncation, arrondi = rounding.
Un signal à temps discret peut être issu d'un CAN, mais peut être également directement
synthétisé par un système numérique. Ce qui suit s'applique à l'un et l'autre cas.
I Description temporelle :
Les valeurs successives d'un signal discret sont représentées graphiquement par une barre
surmontée d'une boule (pour ne pas confondre avec l'impulsion de Dirac qui, elle, se réfère
aux signaux à temps continu).
L'axe horizontal de la représentation graphique est gradué en secondes, en faisant apparaître
des intervalles de largeur égale à la période d'échantillonnage, un signal discret n'étant défini
qu'aux instants d'échantillonnage. Le signal est alors noté x[nTe], avec n entier relatif ; les
crochets [] rappellent la nature discrète du signal.
x[nTe] x[n]
t=nTe(s)
-2 -1 0 1 2 n
Te
L'axe horizontal peut également faire uniquement apparaître n (sans dimension). Le signal est
alors noté x[n]. Ce dernier cas sera fréquemment rencontré dans une situation où il n'y a pas
d'ambiguïté : une seule période d'échantillonnage existe (système monocadence).
Quelques exemples de signaux sont donnés ci-dessus. Ces signaux peuvent aussi être décrits
par des expressions analytiques.
x1[n] = 0 pour n<0 et n>3 x2[n] = 0 pour n<0
=n pour 0≤n≤3 = (0,9)n pour n≥0
Des signaux particuliers peuvent être définis, tels l'impulsion unité discrète…
δ[n] = 1 pour n=0 δ[n-i] = 1 pour n=i
=0 pour n≠0 =0 pour n≠i
… et l'échelon unité
u[n] = 0 pour n<0
=1 pour 0≤n
1
•
•
2 •
•
• • • • • • • • • • • • • • • • • • • • • • • •
0 2 0
n n
δ[n-i]
x2[n]
1
•
1 •
•
• •
• •
• 0 • • • • • • • • • • • • • • • • • • • •
n i n
u[n]
x3[n]
• • • 1• • • • • • • • • • • •
•
• •
• • • •
• • •
• •
0 • • 0
n n
De la définition de l'impulsion unité discrète décalée δ[n-i], on peut déduire l'équation ci-
dessous qui "traduit" la prise d'un échantillon d'une fonction discrète.
+∞
x 3[i] = ∑ x [n].δ[n − i]
3
n= −∞
Plus généralement, on notera les similitudes avec le cas des signaux continus.
II Description fréquentielle :
Rappelons tout d'abord l'expression de la transformée de Fourier des signaux continus (TFSC)
+∞
X(ω ) = ∫ x(t).e − jωt
dt
−∞
1
Au facteur multiplicatif Te près, la TFSD est l'approximation par la méthode des rectangles de la TFSC.
Electronique échantillonnée et filtrage numérique 14
+∞
− jnω Te
X ( ω ) = ∑ x[n]e
n=−∞
δ [n] 1 x1 [n]∗ x2 [ n] X1 (e jθ ) . X2 (e jθ )
θ θ jθ jθ
ax1 [n]+ bx2 [n] aX1 [e j ] + bX2 [e j ] x1 [n]. x2 [n] X1 (e )∗ X2 (e )
Dans le tableau, on trouvera les propriétés essentielles de la TFSD, en particulier la propriété
de linéarité. Le produit de convolution de signaux discrets apparaît dans le tableau. Il est
défini par l'équation :
+∞
x1[n]∗ x 2 [n] = ∑ x [i].x [n − i]
1 2
i=−∞
La TFSD inverse quant à elle s'écrit :
π
+
Te
Te
x[n] =
2π
∫ X(ω )e jnωTe
dω
π
−
Te
Remarquons que la fonction obtenue, X[k∆ω],est une maintenant fonction discrète. Si (cela
sera le cas en pratique) ∆ω est une fraction entière de l'intervalle fondamental,
[(2π/Te)/ ∆ω] − 1 points devront être calculés. Le reste du spectre se déduisant par translation.
Une question demeure : quelle valeur donner à ∆ω ? Une valeur faible donnera une grande
finesse de représentation mais nécessitera de nombreux calculs, peut-être redondants. Une
valeur élevée, au contraire, donnera un résultat rapide mais peut-être avec perte d'information
Dit autrement, la transformation inverse appliquée au spectre échantillonné ne permettrait pas
d'obtenir le signal originel.
Heureusement, le théorème de Shannon, déjà rencontré pour l'échantillonnage temporel,
possède un équivalent pour l'échantillonnage fréquentiel.
Le spectre continu d'un signal de durée finie T0 (s) peut être représenté par une série
d'échantillons régulièrement espacés en fréquence, pourvu que l'écart entre les échantillons
ne soit pas supérieur à 1/ T0 (Hz).
Nous en déduisons que la situation la plus économique en calcul correspond à :
2π 2π
∆ω = =
T0 NTe
Ce qui en définitive, transporté dans l'équation de la TFSD à N points, donne l'expression de
la Transformée de Fourier discrète (TFD) :
N −1 nk2 π
−j
X[k∆ ω ] = ∑ x[n]e N
n =0
- fonction discrète,
Les deux formules sont très proches, et un algorithme calculant l'une pourra, sans grosses
difficultés, calculer l'autre. On remarquera aussi, et cela nous sera utile un peu plus loin, que
la TFD inverse est elle aussi périodique, de période N.
Le tableau ci-contre résume les différentes étapes du calcul, dans l'espace du temps et de la
fréquence, ceci en supposant partir d'un signal analogique fictivement simultanément limité
en temps et en fréquence.
3°)Transformée de Fourier rapide :
a) Nombre d'opérations nécessaires pour le calcul de la TFD :
Supposons x[n] réel ; pour calculer la partie réelle d'une des N valeurs d'une TFD
• N multiplications du type x[n].e-jn2πk/N
• (N-1) additions des résultats des multiplications précédentes
sont nécessaires. Soit au total, pour N points du spectre, si N >> 1, N2 cycles (1 cycle = 1
addition et 1 multiplication). Ce chiffre est à multiplier par deux puisqu'il faut aussi calculer
la partie imaginaire.
Dans cette estimation, on suppose que les valeurs de e-jn2πk/N peuvent être calculées une fois
pour toutes, et rangées en mémoire : elles ne dépendent pas des valeurs des échantillons.
Application numérique :
supposons le calcul en temps réel d'une TFD à 1024 = 210 points, utilisant un circuit DSP
(voir chapitre "Synthèse des filtres numériques") possédant une vitesse de calcul de 50 ns par
cycle, à partir d'un signal analogique x(t) échantillonné par la fonction discrète x[n].
Le temps calcul est alors Tc = 2x(210)2 = 100 ms.
Est-il possible d'établir un lien entre ce temps calcul et les caractéristiques temporelles de
x[n], telle la largeur de la fenêtre de troncature ? Le schéma ci-dessous résume les trois cas
possibles :
a) le calcul de la TFD nécessite moins de temps que l'acquisition par le CAN des N
échantillons de x[n]. Le DSP a du temps pour faire autre chose, mais si le calcul de la
TFD est sa seule tâche, le DSP est surdimensionné, et donc trop cher.
b) l'acquisition des N échantillons de x[n] nécessite moins de temps que le calcul d'un
spectre par la TFD. Entre deux séries d'acquisitions il existe un temps mort pendant
lequel il n'y a pas d'acquisition d'échantillons : il y a donc perte d'information.
c) acquisition et calcul ont la même durée, c'est le cas optimal que nous considèrerons
ici. On a alors T0 = NTe = Tc.
t f
0 fM
1
X
* 1/Te
0 Te 0 Fe = 1/Te
NTe
• • •
= =
• •
0 T0/2 0 f M=Fe/2
X
T0'
* 1
0 T0’ 0 ∆f = 1/T 0’
= =
• • • • • • • • • • • • • • • • • •
• • • • • • • • • • • •
0 Te
1/Te
x[n] possède alors naturellement un nombre pair d'échantillons, et la TFD peut s'écrire :
N
−1 N −1 2kπ
2
−j
4 nkπ
2 −j
4 nkπ
−j N
X[k∆ω ] = ∑ x[2n]e N
+ ∑ x[2n + 1]e N e
n= 0 n= 0
en regroupant les échantillons pairs x[2n] et les échantillons impairs x[2n+1] en deux sommes
distinctes. Chacune de ces deux sommes est une TFD à N/2 points, de période
d'échantillonnage 2Te. Chaque TFD est bien sûr périodique, de période N/2 et permet donc le
calcul de N/2 points du spectre à N points.
Le nombre de cycles nécessaires pour l'ensemble du calcul est maintenant
soit un nombre de cycles deux fois plus petit (on néglige les deux opérations supplémentaires
apparues : l'addition des deux TFD, et la multiplication de la deuxième par l'exponentielle2).
Or chacune des TFD à N/2 points comporte à son tour un nombre pair d'échantillons et peut
être également décomposée. On procèdera ainsi jusqu'à obtenir des TFD à deux points ! On
démontre que le nombre de cycles alors nécessaires est N.M.
Cet algorithme est appelé "Transformée de Fourier Rapide" (Fast Fourier Transform : FFT).
2
La multiplication par e-j2πk/N est liée au déphasage entre x[2n] et x(2n+1]
Electronique échantillonnée et filtrage numérique 19
De nombreuses variantes existent pour la mise en œuvre pratique, mais le principe est celui
qui vient d'être présenté. Notons que bien que cet algorithme soit fréquemment employé par
les systèmes numériques d'analyse spectrale, d'autres procédés, plus performants à certains
points de vue, sont également employés (on trouvera un exemple en exercice).
Application numérique :
On vérifiera sans difficulté que dans notre exemple, on obtient avec l'entrelacement temporel
fmax = 1 MHz.
4°) Retour sur la question des fenêtres :
Deux cas pratiques peuvent se présenter pour l'application de la TFD à un signal :
• x[n] est à durée finie, et donc à spectre à support infini : le calcul de la TFD est mené en
prenant en compte la totalité des échantillons non nuls, et fournit des échantillons d'un spectre
borné (par le filtre anti-repliement), qui est donc une approximation du spectre réel.
• x[n] est à durée infinie : c'est le cas qu'il faut envisager a priori car l'analyse spectrale et
avant tout une tchnique d'investigation. L'approximation de la réalité et maintenant liée au fait
que x[n] va être tronqué temporellement.
En effet l'application de la TFD inverse au spectre calculé va donner un signal x'[n]
périodique (de période T0) ! x'[n] va présenter des discontinuités aux points de raccordement
entre les différentes périodes. Ces discontinuités correspondront à des composantes hautes
fréquences dans le spectre supposé être celui de x[n], qui sera en fait celui du signal
périodique x'[n]≠x[n] (hormis le cas très particulier où x[n] est justement périodique de
période T0).
Dit autrement, chaque "raie" (c'est à dire échantillon) de x[k∆ω] correspond en fait à un
"harmonique" de x'[n].
Pour éviter ce problème, d'autres fenêtres que la fenêtre rectangulaire sont utilisées ; leur
objectif est d'introduire une continuité temporelle aux points de raccordement des différentes
périodes, en atténuant l'amplitude des premiers et derniers échantillons de x[n]. Dans l'espace
des fréquences, comme déjà dit, la fenêtre devrait s'approcher le plus possible de l'impulsion
unité discrète δ[ω], élément neutre de la convolution.
De nombreuses fenêtres existent (triangulaire ou de Bartlett, Blackmann, Hamming, Hanning,
Kaiser…) toutes offrant un compromis différent entre le non-élargissement des raies
théoriquement présentes et la non-apparition de raies supplémentaires.
De ce point de vue, la fenêtre rectangulaire est la meilleure pour distinguer deux raies
adjacentes, mais la pire pour détecter des raies de faible amplitude.
5°) Signaux à plusieurs dimensions :
L'analyse de Fourier peut s'appliquer à des signaux à plusieurs dimensions, dont certaines sont
spatiales et non plus temporelles. Rien n'est alors fondamentalement changé.
Analyse d'images fixes : deux dimensions spatiales.
Analyse d'images animées : deux dimensions spatiales et une dimension temporelle.
∫ ψ (t)dt = 0
−∞
Le résultat d'une analyse est une succession de fonctions c(a,b) tracées en fonction de b et
paramétrées en a, permettant d'établir, un peu comme avec une fonction de corrélation,
l'évolution avec le temps (c'est à dire b) de la similitude entre un signal et une ondelette plus
ou moins étalée (paramètre a). Plusieurs familles d'ondelettes peuvent être utilisées pour une
analyse. Un exemple est donné ci-contre montrant comment une transisition rapide sur un
signal en dents de scie, est aisée à localiser temporellement grâce aux fonctions c(a,b).
La reconstitution du signal est bien sûr possible, et l'utilisation de seuils permet par exemple
d'éliminer les fonctions c(a,b) de plus petite amplitude, débarrassant ainsi un signal pollué de
Lexique :
- u[n] = unit step function, δ[n] = unit impulse function,
- Fourier transform, discrete Fourier transform, fast Fourier transform (FFT), windowing,
- ondelettes : wavelet, wavelet analysis,
- dents de scie : sawtooths, forme d’onde : waveform,
- seuil : threshold, « setting to zero the coefficients that do not exceed a certain threshold ».
I Définitions :
Nous nous intéressons ici à un système susceptible de tranformer un signal discret x[n] (qui
constituera l'entrée) en un autre signal discret y[n] (qui constituera la sortie).
Un système à temps discret peut être caractérisé par les propriétés suivantes :
- la linéarité :
si x1[n] donne y1[n] et si x2[n] donne y2[n] alors ax1[n] + bx2[n] donne ay1[n] + by2[n] si le
système est linéaire, a et b étant des constantes,
- l'invariance temporelle:
si x[n] donne y[n] alors x[n-n0] donne y[n-n0] quel que soit n0,
- la stabilité :
si tout signal x[n] d'amplitude finie donne un signal y[n] d'amplitude finie,
- la causalité :
est causal un système tel qu'un signal de sortie y[n0] est indépendant de x[n] pour tout n0<n
(l'effet ne peut pas précéder la cause).
Pour l'essentiel, un système discret linéaire se caractérise, au choix, par son équation aux
différences (équivalente à l'équation différentielle des systèmes linéaires continus), par ses
réponses impulsionnelles h[n] et harmoniques H(jf), et par sa fonction de transfert en z H(z)
(voir plus loin la définition de ces termes). Chaque approche permet le calcul de la réponse du
système à une entrée quelconque (analyse), mais l'utilisation de plusieurs approches est en
général nécessaire pour concevoir un système à partir d'un cahier des charges (synthèse).
y [n] = ∑ bk x [n − k ] + ∑ ak y [n − k ]
k= 0 k=1
Le système est récursif s'il existe au moins une valeur non nulle pour les constantes ak. Une
condition initiale pour y[n] est à préciser dans ce cas. Toujours dans ce cas, le système est dit
d'orde q si q est l'indice le plus élevé des constantes non nulles ak.
Comme il a déjà été dit, l'équation de récurrence est le "moteur" du système.
Malheureusement, elle ne permet pas d'établir une expression analytique de la fonction de
sortie dans le cas où une telle expression est disponible pour l'entrée. Par ailleurs elle ne
donne en général pas d'information quant à la réponse fréquentielle (harmonique) du système.
Cette équation est l'équation de convolution du système. Elle permet de calculer la réponse
d'un système à une entrée quelconque, connaissant sa réponse impulsionnelle. Si le système
était non causal les bornes de sommation de l'équation de convolution iraient de + à - l'infini.
Par ailleurs, la condition de stabilité d'un système peut ici être reformulée :
un système discret sera stable si sa réponse impulsionnelle est sommable, soit
∞
∑ h[k] < ∞
k=−∞
TFSD
x[n] x[n] X(ejθ)
*
y[n] . Y(ejθ)
TFSD
h[n] h[n] H(ejθ) TFISD
y[n]
V La transformation en z :
1°) Définition et exemples :
De même que pour les systèmes linéaires continus il existe des avantages à utiliser la variable
p introduite par la transformée de Laplace, on a souvent intérêt pour les systèmes discrets
linéaires à utiliser la variable z introduite par la "transformée en z".
La transformée en z (TZ) X(z) d'un signal x[n] est définie par :
∞
X(z) = ∑ x[n].z −n
n= −∞
Les propriétés essentielles de la transformée en z sont (la première équation traduit la linéarité
de la transformation) :
ax1[n] + bx 2 [n] → aX1 (z) + bX 2 (z)
δ[n] →1
δ[n − i] → z− i
x[n − i] → z −i X(z)
x1[n]∗ x 2 [n] → X1 (z).X 2 (z)
Lorsque les conditions initiales sont nulles, il est ensuite possible de définir la fonction de
transfert en z H(z) d'un système discret dont l'entrée est x[n] et la sortie y[n] :
Y (z)
H(z) =
X (z)
La forme générale de H(z) est facilement obtenue à partir de l'équation de récurrence dont la
transformée donne
p q
∑b z k
−k
H(z) = k= 0
q
1− ∑ ak z− k
k=1
2°) Autre propriété :
Il est immédiat de passer de H(z) ) H(jf) en permutant simplement "z" et "exp(j2πf/Fe)" de par
la similitude des TFSD et TZ. Le calcul de la réponse harmonique à partir de la fonction de
transfert en z H(z) et de l'équation de récurrence peut donc se faire simplement, et ne
nécessite pas en particulier le calcul d'un transformée de Fourier.
Lexique :
- linearity, time invariance, stability, causality, linear time-invariant (LTI) systems,
- storage/delay, addition/substraction, multiplication by constants,
- équation aux différences = difference equation = recurrence formula,
- impulse function, impulse response, frequency characteristics, step response,
- équation de convolution = convolution sum.
I Introduction - définitions :
L'opération "filtrage" est l'opération la plus souvent réalisée en traitement numérique du
signal. Un filtre convertit un signal d'entrée x[n] en un signal de sortie y[n] dont le spectre est
relié de manière préétablie à celui de x[n]. Les composantes spectrales sont atténuées ou
supprimées, sans être décalées ; en ce sens l'opération de filtrage est une opération linéaire.
Un filtre discret peut être :
• récursif (FDR) ou non (FDNR),
• à réponse impulsionnelle finie (RIF) ou infinie (RII),
• à structure canonique s'il possède le nombre minimum de cellules retard nécessaires.
En général, un filtre récursif est à réponse impulsionnelle infinie, mais très
exceptionnellement peut être à réponse impulsionnelle finie. Un filtre discret non récursif est
toujours à réponse impulsionnelle finie.
y[n]
2°) Réponse impulsionnelle :
Rappelons qu'il s'agit de l'expression particulière h[n] de la sortie y[n] lorsque l'entrée est
l'impulsion unité discrète δ[n]. De l'équation de récurrence, il apparaît donc que
h[n] = b0δ [n] + b1δ [n − 1] + b2 δ [n − 2 ] + ... + bNδ [n − N ]
N
= ∑ bi δ [ n − i ]
i =0
Un filtre non récursif est donc toujours stable puisque sa réponse impulsionnelle est à durée
finie : la sortie revient à zéro au bout de N+1 échantillons. Les coefficients non nuls de h[n]
sont les coefficients de l'équation de récurrence.
3°) Réponse indicielle :
Rappelons qu'il s'agit de l'expression particulière d[n] de la sortie y[n] lorsque l'entrée est
l'échelon unité discret u[n]. Posons k entier positif ; on peut alors écrire que :
d [k ] = b0 + b1 + ... + bk pour 0≤k<N
i=0 X ( z ) i =0
La fonction de transfert H(z) ne présente que des zéros, ce qui confirme le caractère toujours
stable des filtres non-récursifs. La réponse en fréquence s'obtient sans difficulté en remplaçant
la variable z par exp(j2πfTe) soit :
N
H( jf ) = ∑ bie − j 2 πifTe
i =0
La réponse fréquentielle est donc paire en module, et impaire en phase, périodique de période
égale à la fréquence d'échantillonnage Fe. La spécification d'un filtre discret est donc toujours
donnée sur l'intervalle fondamental [0≤f≤Fe/2].
5°) Filtres à phase linéaire :
Ce sont des filtres tels que les coefficients bi présentent une symétrie. Comme ces coefficients
sont aussi les valeurs des échantillons de la réponse impulsionnelle, cette caractéristique peut
être visualisée comme ci-dessous dans le cas où les coefficients sont tous positifs, suivant
qu'ils sont en nombre pair (à gauche) ou impair (à droite).
h[n]
-1 0 1 2 n
La phase de H(jf) varie alors linéairement en fonction de la fréquence f. Une telle
caractéristique comporte deux avantages. Le premier est de permettre une réduction par deux
(cas pair) ou presque deux (cas impair) du nombre de coefficients mémorisés et d'étapes de
multiplication (voir dessin).
T T T T
x[n]
T T T T
+ + + +
b0 b1 bN -1 bN
2 2
+
y[n]
Electronique échantillonnée et filtrage numérique 28
Le deuxième avantage est de ne pas modifier les formes d'onde des signaux filtrés. En effet,
le temps de propagation de groupe est défini par
1 dArg[H ( jf )]
τg = −
2π df
Le temps de propagation de groupe est donc constant, quelle que soit la fréquence des signaux
considérés : deux sinusoïdes de fréquences différentes seront retardés de manière identique
par leur traversée du filtre. C'est cet effet qui explique que les formes d'onde des signaux ne
sont pas déformées par le passage dans un filtre à phase linéaire.
Cette notion de phase linéaire est essentielle en filtrage numérique car la phase de la fonction
de transfert n'y est jamais constante, ne serait-ce qu'à cause du temps nécessaire à l'exécution
de l'algorithme. Cette notion est moins centrale en filtrage analogique car, dans les bandes
passantes des filtres la phase est en général constante, et même très souvent nulle.
+
y[n]
+
aM a2 a1
T T T
Cette structure n'est toutefois pas canonique : en effet, par raison de linéarité elle peut être
transformée (inversion de l'ordre de la cascade : filtre non récursif + filtre purement récursif)
en une nouvelle structure : la forme directe 2 (voir schémas blocs).
aM a2 a1
T T T
T T T
bN b2 b1 b0
y[n]
+
Cette forme, elle canonique, économise les emplacements mémoire.
x[n]
+
aM a2 a1
T T T
b2 b1 b0
y[n]
+
N M
Y (z )
∑b z i
−i
de transfert en z : Y (z ) = ∑ bi z − i X ( z) + ∑ ai z − iY (z ) ⇒ H(z ) = = i= 0
X (z )
M
i=0 i=1
1− ∑ ai z −i
i =1
Celle-ci possède des pôles et des zéros. Les conditions de stabilité peuvent être énoncées en
considérant la position des pôles vis à vis du cercle de rayon unité : ceux-ci doivent être à
l'intérieur du cercle de rayon unité (voir exercices). On notera que ce critère de stabilité
diffère sensiblement de son équivalent analogique, s'appliquant lui aux fonctions de transfert
symboliques (utilisant la variable de Laplace notée p ou s).
Lorsque tous les zéros sont à l'intérieur du cercle de rayon unité, le système est dit à
minimum de phase ; il est alors d'inverse stable.
Y (z)
∑b e i
Fe
1− ∑ aie Fe
i=1
La réponse fréquentielle est donc à nouveau paire en module, et impaire en phase, périodique
de période égale à la fréquence d'échantillonnage Fe. La spécification d'un filtre discret est
donc bien toujours donnée elle aussi sur l'intervalle fondamental [0≤f≤Fe/2].
Lexique :
- RIF = FIR (finite impulse response),
- RII = IIR (infinite impulse response),
- recursive ≠ nonrecursive,
- fréquence de coupure = cutoff frequency,
- linear phase characteristic, passband, stop-band, transition bandwith,
- filtre moyenneur = moving-average filter,
- oscillation = ripple,
- low-pass, high-pass, bandpass, band-reject.
I Généralités :
Comme pour un filtre analogique, la conception d’un filtre numérique débute (le plus
souvent3) par la spécification du comportement en fréquence recherché, à travers un
diagramme de tolérance faisant apparaître un gabarit destiné à la réponse fréquentielle. La
caractéristique en phase y est souvent absente. Par ailleurs, cette spécification n’est précisée
que sur l’intervalle fondamental [0, Fe/2] Fe étant la fréquence d’échantillonnage, ceci pour
des raisons évidentes évoquées dans les chapitres précédents.
|H(jf)|
H1
H2
H3
0 f1 f2 f3 f4 Fe/2 f (Hz)
3
Le cahier des charges peut parfois se présenter sous la forme d'une réponse impulsionnelle ou indicielle, ou
même être presque directement écrit sous la forme de l'équation aux différences du filtre (filtres moyenneurs).
Les méthodes de synthèse sont alors différentes.
Electronique échantillonnée et filtrage numérique 33
• comme la réponse impulsionnelle h[n] obtenue est de longueur infinie et est non-causale, on
effectue une troncature temporelle (h’[n]) de cette réponse (on limite de fait le nombre de
coefficients du filtre pour rendre celui-ci réalisable en pratique) et on translate la réponse
tronquée pour rendre le filtre causal (h’’[n]).
La réponse impulsionnelle h’’[n] alors obtenue est à coefficients symétriques, le filtre est
donc à phase linéaire.
h[n] H(f)
TFISD
n f
0 0
W[n]
1
X * W(f)
n f
0 0
h'[n] H'(f)
= =
n f
0 0
H''(f)
h''[n]
n f
0
0
2°) Discussion des approximations :
La réponse fréquentielle effectivement obtenue H''(f) diffère de la réponse idéale H(f) de
départ : des ondulations vont apparaître dans les bandes passantes et affaiblies, avec un écart
entre courbe idéale et courbe réelle qui sera maximum au voisinage des transitions. Ces
ondulations sont dues à la troncature de h[n] par une fonction « fenêtre » rectangulaire w[n]
(voir figure). Si grand soit le nombre d' échantillons retenus pour h'[n], l’amplitude de ces
oscillations diminuera peu, leur nombre augmentant par contre (phénomène de Gibbs).
fa
− jω T
2 1− e d e 2 ωT
jω a = − jω d Te
⇔ ω a = tg d e
Te 1+ e Te 2 - Fe fd
2
Fe
f
⇔ fa = tg(π d ) 0 Fe
π Fe
2
La relation entre les fréquences analogiques et discrètes n’est donc pas linéaire, surtout pour
les fréquences proches de l’extrémité de l’intervalle fondamental [0, Fe/2] comme on le
constate sur la figure. L’avantage est qu’il ne peut y avoir de phénomène de repliement de
quantification
et codage filtrage
e[n]
4
C’est pour cela que la transformation bilinéaire a été inventée.
Electronique échantillonnée et filtrage numérique 37
Les méthodes et les logiciels de conception donnent des valeurs de coefficients (ak et bk des
chapitres précédents) avec une grande précision. Lors de la réalisation physique du filtre
(implantation de l’algorithme), il peut être nécessaire d’arrondir ces valeurs en fonction du
nombre de bits significatifs disponibles.
Cette quantification modifie une fois pour toutes la réponse en fréquence du filtre réel par
rapport à celle du filtre théoriquement conçu. Cette réponse peut éventuellement sortir du
gabarit.
De plus, pour les filtres récursifs, cet arrondi peut rendre instable un filtre dont les pôles sont
initialement proches du cercle unité dans le plan des z. Le système discret devient alors non-
linéaire.
3°) Troncature des résultats intermédiaires et/ou final lors d’un calcul :
Considérons deux nombres de n bits ; l’écriture du résultat de leur addition peut nécessiter un
nombre comptant jusqu’à (n+1) bits, et leur multiplication un nombre comptant jusqu’à 2n
bits.
Les calculs réalisés pour effectuer un traitement numérique, une opération de filtrage par
exemple, peuvent donc conduire à deux phénomènes : un dépassement de capacité (sous-
entendu de représentation du résultat) ou une troncature.
a) Cas des systèmes en virgule flottante :
Dans le cas d’un système numérique utilisant une représentation des nombres en virgule
flottante5,
x[n] = s.M.2E
s, M et E étant respectivement les signe, mantisse et exposant du nombre. M et E sont en
pratique des nombres binaires signés (>0 ou <0), M codant en fait en binaire la valeur
décimale fractionnaire (<1) d'un nombre dont la partie entière est en général implicitement 1.
En "simple précision", les tailles de s, M et E sont respectivement de 1, 23 et 8 bits (soit 32
bits au total). En "double précision" les tailles sont de 1, 52 et 11 bits.
Lorsque pendant un calcul, tous les bits de E et de M sont à 1, la capacité maximum de
représentation est atteinte, et toute augmentation de valeur conduira à un "overflow". Lorsque
pendant un calcul, tous les bits de M sont à 1, toute augmentation du nombre de bits
significatifs conduira à une troncature, c’est à dire à la perte du bit significatif de poids le plus
faible (bit qui ne sera en fait jamais représenté).
En pratique, si la troncature est possible, l’overflow est rare moyennant quelques précautions
simples.
Remarquons pour finir que les standards retenus ont en général les propriétés suivantes :
- le rapport du nombre de bits de la mantisse et de l'exposant détermine le compromis
entre précision et pleine échelle,
- l'écart entre deux valeurs numériques successives est plus petit à faible qu'à grande
amplitude,
- les règles de l'arithmétique conventionnelle ne sont plus nécessairement respectées
(associativité, distributivité).
b) Cas des systèmes en virgule fixe:
B
Ici, x[n] = X m (−1)
d0
∑d 2
i =1
i
−i
par exemple, soient (B+1) bits employés pour écrire un nombre
représentant en binaire une valeur décimale fractionnaire positive (d0=0) ou négative (d0=1).
5
Il s’agit ici de l’esquisse d’un principe de représentation, qui dans les faits est normalisé sous des formes plus
complexes, par exemple la norme IEEE Standard 754.
Electronique échantillonnée et filtrage numérique 38
On vérifiera sur cet exemple (en posant Xm=1) que 011010 correspond à (+0,8125)10 et que
1011010 correspond à (-0,8125)10.
Il est ici nécessaire de faire appel à des facteurs d’échelle fixes Xm pour représenter les
échantillons sous forme fractionnaire. Ces facteurs d’échelle doivent être très
précautionneusement calculés a priori, en envisageant tous les cas de figure, non seulement,
comme en virgule fixe, du point de vue des amplitudes possibles présentes à l’entrée du filtre,
mais du point de vue de toutes les éventualtés possibles pour les résultats intermédiaires.
En virgule fixe, il est évident que troncature et dépassement de capacité sont synonymes et
tous deux mortels pour l’algorithme. Ces systèmes sont donc longs à développer. Les circuits
de traitement du signal sont par contre moins coûteux qu’en virgule flottante.
c) Comment gérer la troncature dans un calcul :
On se place ici de fait dans le cas d’un système numérique utilisant une représentation des
nombres en virgule flottante, puisque en virgule fixe la troncature signifie aussi dépassement,
et donc forte dégradation des performances.
Quelles règles simples faut-il retenir ?
• Dans la mesure où en général les mantisses de la sortie et de l’entrée ont la même taille, le
problème de la troncature se pose TOUJOURS, sauf dans le cas notable des lignes à retard
pur.
• Il vaut mieux tronquer une seule fois, à l’issue de toute la chaîne de traitement, juste avant la
sortie. Le « bruit » résultant sera plus faible que s’il y a plusieurs étapes de troncature des
résultats intermédiaires ; il y aura une seule source de bruit, relativement facile à modéliser.
Cela n’est bien sûr possible que pour les systèmes permettant de travailler avec des mantisses
de longueurs croissantes (au sens topologique d’un schéma bloc) au fur et à mesure que
l’algorithme s’exécute.
• Dans les systèmes récursifs par contre, la troncature des résultats intermédiaires (dans la
boucle) est bien sûr obligatoire.
• Contrairement au bruit de quantification des CAN, la fonction de transfert du filtre ne
s’applique pas « en totalité » aux sources de bruit liées à la troncature des résultats
intermédiaires et a fortiori du résultat final.
y[n]=x[n]+C2x[n-1]+C1y[n-1]
+
Une description plus précise de son y[n]
fonctionnement est également proposée ; C1
elle précise l’enchaînement des opérations
T
Electronique échantillonnée et filtrage numérique 39
Mémorisation
x[n-1] y[n-1] x[n-1] y[n-1] des données
Mémorisation
d[n] d[n] temporaire
des données
Opérations
x + x + arithmétiques
Mémorisation
C2 C1 des coefficients
x[n]
+
Le schéma bloc utilisé pour
cette représentation
correspond à ce que nous C1
avons appelé « forme directe
1 » qui, nous le savons, n’est
pas canonique. Ci-contre on T
trouvera la « forme directe
2 » du même filtre, ainsi que C2
les opérations élémentaires y[n]
correspondantes qui, on le
+
Mémorisation
d[n-1] d[n-1] d[n-1] des données
Mémorisation
d[n] d[n] d[n] temporaire
des données
Opérations
x + x + arithmétiques
Mémorisation
C1 C2 des coefficients
temps
Plus précisément, le tableau ci-dessous résume les caractéristiques de chacune des solutions.
On vérifie ainsi que la forme « directe 2 » est plus économe en place mémoire (hors mémoire
temporaire) et en temps. Plus généralement, c’est en structurant finement schéma bloc et
séquence de micro-opérations que l’on optimisera l’exécution de l’algorithme en termes de
rapidité, de mémoire occupée et de stabilité (troncature des résultats). Evidemment, par
rapport à une programmation en langage évolué, le temps de développement est plus
important. Le coût correspondant ne sera amorti que dans le cas d’une grande série.
Remarquons enfin que si certains compilateurs prennent en compte ces contraintes, leurs
performances restent en deçà d’une programmation en assembleur.
6
pour les RISC, ce sont des registres « internes » qui sont employés.
Electronique échantillonnée et filtrage numérique 41
temps
données
DSP instructions
• Ils possèdent des accumulateurs étendus en nombre de bits, pour ne pas tronquer les
résultats de calculs intermédiaires.
• Ils possèdent des « shadow registers » : tous les registres sont doublés, et l’état du DSP peut
être sauvegardé lors de l’arrivée d’une interruption logicielle ou matérielle lors d’un usage en
temps réel. Le gain est important, car la procédure traditionnelle d’arrêt sur interruption
nécessite 20 à à 30 cycles d’horloge.
• Ils spossèdent des registres « à barillet » pour décaler la virgule lors de multiplications en
virgule flottante.
c) Bilan :
L’architecture très spécifique des DSP permet de grands gains de temps mais ne peut pas
servir à tout, et perd ses avantages pour certaines applications (débranchements multiples,
nombreuses interruptions…). Ils semblent concurrencés par les RISC qui font grand usage de
mémoire cache pour accélérer les exécutions, mais l’avantage déterminant des DSP est que,
pour les applications temps réel, leurs performances sont « déterministes » (quantifiables) et
c’est bien cela qui compte, par rapport à des RISC qui éventuellement seront (aléatoirement)
plus rapides, dans certains cas de figure peu prévisibles a priori.
Les nouvelles architectures composites, par contre, mélangent les deux types de circuits : par
exemple un « cœur » RISC coordonne l’activité de plusieurs DSP. Ou bien un
microprocesseur est associé à un coprocesseur DSP et à un DSP spécifique, ce dernier étant
paramétrable mais non programmable.
Notons enfin que concernant les DSP, ceux-ci ont été conçus pour être programmés en
assembleur ; les compilateurs sont apparus ensuite. L’inverse a eu lieu pour les RISC. Les
compilateurs pour DSP, sont donc comme déjà dit moins performants qu’une programmation
assembleur. Ils sont toutefois en progrès permanent ; on peut même aujourd’hui générer du
code assembleur directement à partir d’un schéma en blocs fonctionnels.
Lexique :
- méthode impulsionnelle = windowing design method,
- transformation bilinéaire = bilinear transform,
- longueur de mots finie = finite wordlength effect,
- conversion des coefficients du filtre ... = coefficient quantization error,
- arrondi des résultats intermédiaires = round-off noise.
I Introduction :
Dans la totalité des systèmes présentés précédemment, tous les signaux sont échantillonnés à
la même fréquence Fe. Fe détermine par ailleurs le nombre d'opérations arithmétiques devant
être exécutées par unité de temps. Cette fréquence a initialement été choisie pour respecter le
théorème d'échantillonnage de Shannon.
Supposons maintenant qu'au cours du traitement numérique, le signal soit filtré par un filtre
passe-bas réduisant la largeur de son spectre : Fe devient alors nettement plus élevée que
strictement nécessaire, tout en provoquant un nombre d'opérations élevé, certaines opérations
étant inutiles.
Supposons maintenant que se produise l'inverse : une augmentation de la largeur de bande.
Ceci peut arriver lors d'une opération de modulation de signaux par exemple (multiplication
de deux signaux entre eux). Fe devient alors trop faible.
Pour ces raisons, et pour beaucoup d'autres, il est parfois nécessaire de travailler avec
plusieurs fréquences d'échantillonnage.
Dans ce qui suit, la notation sera nécessairement un peu plus lourde car il faudra faire la
distinction entre signaux échantillonnés à des fréquences différentes, soit par exemple x[nT1],
x[nT2] y[nT3]…
II Décimation :
e(t) K ouvert t
0
Te
K
+
x(t) C x e(t)
e(t)
II Un signal "télévision" analogique est codé par un CAN, pour une transmission par un
système numérique. Le spectre du signal analogique s'étale de 0 à 6 MHz. Ce signal
unipolaire est quantifié par arrondi. On souhaite que l'erreur de quantification ne dépasse
jamais 1% de la pleine échelle.
1°) Quelle doit être la fréquence minimale d'échantillonnage ?
2°) Quel est, dans ce cas, le débit minimum que doit posséder le système de transmission
numérique (en Mbits/s) ?
III Rapport signal sur bruit de quantification :
1°) La valeur maximum du rapport signal sur bruit de quantification d'un CAN à 12 bits est de
73,76 dB. La puissance du signal est de 10 mW. Quelle est alors la puissance du bruit ?
2°) Le CAN travaille-t-il par troncature ou par arrondi, pour ce qui est de la quantification en
amplitude ? Pourquoi ?
TFSD :
I Calculer la TFSD des signaux :
1°) x[nTe] = δ[n Te]
2°) x[nTe] = δ[(n - 3)Te]
5°) On fait maintenant passer le signal e[nTe], avec Te = 1/Fe, par un élévateur de fréquence
d'échantillonnage (EFE), de rapport d'élévation R = 2. Soit y[nT'e] le signal de sortie de
l'EFE. Tracer y[n]. Calculer Y(f), TFSD de y[nT'e], en fonction de f et de Fe.
6°) En quelques phrases claires et brèves, conclure sur l'ensemble de ce travail.
N.B : sur chacun des tracés des questions 3 et 4, on superposera la courbe de la question 2.
V Un algorithme de FFT à 1024 points est utilisé en temps réel et reçoit ses données
d’un CAN (Convertisseur Analogique Numérique) travaillant à une fréquence
d’échantillonnage de 25,6 kHz.
1°) De quel temps de cycle (calcul d’une addition et d’une multiplication par le DSP (Digital
Signal Processor) choisi pour l’exécution de l’algorithme) vous contenteriez-vous ?
2°) Que se passe-t-il si le temps de cycle est plus grand que cette valeur ?
3°) S’il est plus court ?
A B C D f
e
1 étape 0 BP/2 BP/2
A B f C D f
e
2 étape 0 0
A f B f C f D f
0 0 0 0
4°) Soit Fe la fréquence d'échantillonnage au départ de la première étape ; quelle est la valeur
minimale de Fe ?
5°) Soit Fe' la fréquence d'échantillonnage à la sortie de la première étape ; quelle est la valeur
minimale de Fe' ?
Plus loin on trouvera l'arbre de décomposition en sous-bandes pour quatre étapes (étages)
correspondant à une PFT à seize points. Les fréquences d'échantillonnage adoptées par la
société RF Engines Ltd sont indiquées.
Le principe de la PFT réside dans le fait qu'à l'issue d'une succession d'étages, il est possible
de calculer la puissance des signaux à la sortie de chacun des modules du dernier étage (seize
sur l'exemple), chaque valeur correspondant à la puissance du signal originel (entrée de l'étage
1) à l'intérieur d'une bande de largeur définie par les filtres des modules du dernier étage,
donnant ainsi les valeurs moyennes de la densité spectrale de puissance du signal originel
dans ces bandes. La largeur de la bande passante des filtres du dernier étage est définie
comme la RBW (Resolution BandWidth) de l'analyse.
6°) Le système retenu pratique-t-il le suréchantillonnage (c'est à dire utilise-t-il une valeur de
fréquence d'échantillonnage supérieure à la valeur strictement nécessaire) ?
7°) Supposons que la taille des échantillons soit partout de n bits. Quel est le débit binaire
(bit/s) à la sortie d'un arbre de N étages ?
8°) Combien de modules doit-on mettre en œuvre au total pour une PFT à 1024 points ?
9°) Plus généralement, pour une PFT de M points, quels sont les nombres x d'étages, et N de
modules, nécessaires ?
10°) La question du choix d'une fenêtre temporelle se pose-t-elle pour la PFT comme pour la
FFT ?
Exemples d'utilisation :
Considérons tout d'abord un projet large bande / résolution moyenne : on souhaite observer en
continu une largeur de bande de 80 MHz avec une RBW meilleure que 100 kHz, en utilisant
une FI = 51,2 MHz.
11°) Combien d'étages sont au minimum nécessaires ? Quelle est alors la valeur de la RBW ?
12°) Considérons que le CAN travaille à la fréquence d'échantillonnage minimum possible,
quelle est alors la fréquence de remise à jour du spectre calculé ?
Fe Fe Fe /2 Fe /4 Fe /8
étage 1 étage 2 étage 3 étage 4
étage 4
étage 3 étage 4
étage 4
étage 4
ceci est un module
étage 3 étage 4
étage 4
(étage du dessin <=> étape du texte)
Ondelettes :
Soit le signal x[n] ci-dessous tracé sur un intervalle limité mais représentatif. Il est supposé
constitué de deux types d’impulsions se succédant aléatoirement : des impulsions étroites
(type a) correspondant à du bruit, et des impulsions larges, correspondant à un signal porteur
d’information (type b). L’objectif dans ce qui suit est d’améliorer le rapport signal/bruit, en
atténuant ou en faisant disparaître le type (a) tout en préservant au maximum le type (b).
Pour cela, on utilise tout d’abord un filtre ayant pour équation de récurrence
1°) Caractériser ce filtre en termes de causalité, récursivité, stabilité, type (passe-haut, passe-
bande…). Pourquoi ce filtre pourrait-il a priori permettre d’atteindre l’objectif présenté plus
haut ?
2°) Tracer y[n] pour le signal x[n] ci-dessous. L’objectif est-il atteint ? Y a-t-il un « prix à
payer » ?
4°) En supposant que l’on puisse reconstituer x[n] à partir de c[a], comment placeriez-vous
des seuils permettant d’éliminer les impulsions de type (a) du signal x’[n] reconstitué à partir
d’un signal c’[a] obtenu après seuillage de c[a] ?
2
x[n]
. 2 . Y[n]
1
(a)
....(b)
1
..... ......
0 ..... . ..
n
..
0 n
.
Systèmes discrets :
I Soit le système :
x[n] T T 1/2
+ y[n]
1°) Déterminer son équation aux différences, et en déduire sa nature (ordre, causalité,
linéarité, invariance, récursivité).
2°) Quelle est sa réponse impulsionnelle ? Conclure quant à sa stabilité.
b T + y[n]
1°) Déterminer son équation aux différences, et en déduire sa nature (ordre, causalité,
linéarité, invariance, récursivité).
2°) Etablir l'expression de sa fonction de transfert H(z).
3°) Quelle est sa réponse impulsionnelle ? Conclure quant à sa stabilité.
4°) A partir de son schéma fonctionnel discret, donner directement son schéma fonctionnel en
z.
Filtres :
I Donner une structure canonique du filtre ci-dessous.
Electronique échantillonnée et filtrage numérique 51
x[n] + y[n]
a T
b + T
d e
c
+ y[n]
IV Soit le filtre :
x[n]
T T T T
-a4
y[n]
+ T
b
1°) Donner les expressions de son équation aux différences, de sa réponse impulsionnelle et
de sa fonction de transfert en z.
2°) Discuter sa stabilité.
3°) Quelle relation doivent vérifier a et b pour que ce Filtre Discret Récursif soit à Réponse
Impulsionnelle Finie ?
VSoit le filtre :
x[n] + T y[n]
Electronique échantillonnée et filtrage numérique 52
a
1°) Donner les expressions de son équation aux différences, de sa réponse impulsionnelle et
de sa fonction de transfert en z.
2°) Discuter sa stabilité.
3°) Représenter graphiquement sa réponse harmonique pour a = 0,5.
VI Intérêts composés :
On s'intéresse ici à la rémunération d'un placement financier, considéré comme un système à
temps discret, rémunéré au taux mensuel τ, exprimé en décimal. Le nombre n quantifie le
temps en nombre entier de fois la période d'échantillonnage, ici un mois. On considère que les
nouveaux versements et les intérêts acquis du mois écoulé ne sont versés au capital accumulé
qu'au premier jour de chaque mois.
1°) Donner, sous forme de schéma bloc, la structure du système. quelle est l'équation de
récurrence du placement ? on notera y[n] la série discrète correspondant au capital accumulé,
et x[n] la série discrète correspondant aux versements.
2°) Donner l'expression de la réponse impulsionnelle h[n] du placement, en utilisant dans
l'expression du résultat la fonction échelon unité discrète : u[n] = 0 pour n < 0, u[n] = 1 pour n
≥ 0. En déduire l'expression de y[n] pour un versement initial unique x[n] = P.δ[n]. Le
système est-il stable ?
3°) Soient maintenant des versements x[n] = P.u[n]. Utiliser l'équation de convolution pour
trouver l'expression de y[n].
1 − r n+1
On rappelle que : 1 + r + r 2 + r 3 +... +r n =
1 −r
0 F/2 F 2F 3F fréquence
Figure 1
C1 C2 C3 C4 C96
sortie numérique
Figure 2
3°) Sur combien de bits la sortie du filtre est-elle codée ? Combien de multiplications non
nulles ont lieu par période d'échantillonnage ?
4°) Dans l'hypothèse où le filtre est un passe-bas idéal, de fréquence de coupure 22,05 kHz,
représenter avec la même échelle que sur la figure 1, le spectre du signal de sortie du filtre.
5°) Déterminer dans cette hypothèse, l'ordre minimum du filtre analogique nécessaire pour
une atténuation par au moins 50 dB des fréquences inutiles restantes. Qu'en aurait-il été sans
le filtre numérique (réponse qualitative).
x[n]
n n+1
Figure 3
IX Filtre moyenneur :
On veut procéder au "lissage" d'une courbe par un traitement différé de données
enregistrées. Pour cela, on décide de réaliser un filtre "moyenneur", dont la sortie y de rang n
est la moyenne arithmétique des entrées x de rangs (n-1), n, (n+1).
1°) Quelle est l'équation aux différences du filtre ?
2°) Tracer sa réponse impulsionnelle et sa réponse indicielle.
3°) Qualifier ce filtre en terme de linéarité, invariance temporelle, causalité, stabilité.
4°) Tracer sa réponse fréquentielle (module et phase). Pour quelle fréquence le module
s'annule-t-il dans l'intervalle fondamental ? Conclure quant au type du filtre.
5°) La moyenne est maintenant calculée sur les termes de rang n, (n-1), (n-2). Sans calcul,
préciser les paramètres des questions 3 et 4 qui se trouvent être modifiés.
X Pour les filtres repérés (a) à (f), remplir le tableau ci-dessous (par OUI ou par NON).
n n+1
(a) y[n] = cos(n).x[n] (b) y[n ] = ∑ x[i] (c) y[n ] = ∑ x[i]
i= 0 i=n− 1
(d) y[n] = x[n-1] (e) y[n] = e x[n] (f) y[n] = a.x[n]+b, (a et b cstes)
Filtre stable causal linéaire invariant (t)
(a)
(b)
(c)
(d)
(e)
(f)
i[n]
Filtrage Adaptation
Haut-parleur actif mais pas de signal émis
directement du local B
Haut-parleur actif et émission directe du
local B
Haut-parleur inactif xxxxxxxxxxxxx
II Filtrage :
L’équation de récurrence utilisée est de la forme :
n 0 1 2 3 4 5 6 7 8 9 10
ak[n] 0
ê[n] 0
ε[n]
C1
C2
+
y[n]
0 1 0 1 1 0 x(t) x[n]
1
0,4
T
0,2
n t
-1 0 1 2 3 4 -1 0 1 2 3 4 n
instants d’échantillonnage à la réception instants d’échantillonnage à la réception
1°) Le filtre « égaliseur » doit annuler les échantillons x[n] correspondant à la réception d’une
impulsion isolée réelle x(t) en tous points (si possible), sauf en son maximum. Dans le cas ou
un filtre non-récursif est choisi, de la forme ci-dessous, déterminer la valeur minimale de p
pour obtenir le résultat cherché (à savoir en pratique : y[0] = 1, y[1] = y[2] = 0) dans le cas
de l’impulsion x(t) ci-dessus. On se donne : y[n] = a0x[n] + a1x[n-1] +...+ ap x [n-p].
2°) Calculer dans ce cas les valeurs numériques des coefficients du filtre.
3°) Quelle caractéristique du filtre garantit l’absence de recouvrement entre impulsions
voisines lorsque plusieurs impulsions seront émises ?
4°) Calculer la réponse complète (n > p) du filtre au signal x[n] ci-dessus, et en déduire le
défaut majeur de la solution proposée.
5°) Quelle est la valeur de a0 si le maximum de x[n] n’est pas le premier échantillon non nul ?
6°) Quel est l’ordre minimum q nécessaire pour obtenir le même résultat qu’au 1° ?
7°) Calculer dans ce cas les valeurs numériques des coefficients du filtre.
8°) Ce filtre souffre-t-il du type de défaut rencontré au 4° ?
9°) Que se passe-t-il si le maximum de x[n] n’est pas le premier échantillon non nul ?
10°) Conclure.
XIV Soit le filtre numérique décrit par l’équation : y[n] = x[n] - x[n-8] + y[n-1].
1°) Donner l’expression de l’équation de récurrence non récursive décrivant elle aussi ce
filtre.
2°) Des deux équations, quelle est la plus économe vis à vis du temps de calcul ?
3°) Pourquoi le filtre examiné ici peut-il être décrit simultanément par une forme récursive et
une forme non-récursive ?
XV Soient les équations de récurrence (a) et (b) ci-dessous décrivant chacune une fonction
« intégration numérique » particulière :
(a) y[n] = y[n-1] + x[n] (b) y[n] = y[n-1]+1/2 (x[n] + x[n-1])
1°) Identifier la fonction utilisant une approximation rectangulaire de l’intégrale de la
fonction analogique x(t), fonction supposée échantillonnée et représentée par la fonction
discrète x[n].
2°) Quelle est la fonction utilisant une approximation par trapèzes ?
3°) Quelle est la fonction s’approchant de la définition de l’intégrale au sens de Riemann ?
4°) Calculer les fonctions de transfert Ha(z) et Hb(z) des deux fonctions.
5°) Placer les pôles (x) et les zéros (o) correspondants dans le plan complexe (on réalisera
deux représentations).
6°) Les systèmes discrets correspondants sont-ils stables ? Pourrait-il en être autrement ?
[x] [x]
T T T T
-1 (1 (2 (N) -1
[y] [y]
+ +
(a) (b
Cycle limite
I Soit le filtre dont la structure est donnée ci-desssous.
x[n] + y[n]
a T
x[n] + y[n]
Q a T
1°) La quantification des résultats intermédiaires aurait-elle été indispensable si on avait toléré
une longueur de mot plus gande en y qu'en x ? Justifier la réponse.
2°) Dans l'hypothèse où un quantificateur est nécessaire, aurait-il pu être placé ailleurs, et si
oui où ?
3°) On considère maintenant à nouveau la structure proposée ci-dessus ; soit q le pas de
quantification en amplitude. On suppose y[0] = 7q, et x[n] = 0 pour tout n ≥ 0. Tracer y[n]
III Soit le filtre numérique représenté ci-dessous ; le pas de quantification est q. Q est un
quantificateur par arrondi. P représente l'effet du dépassement : y[n] = xp[n] si |xp[n]| ≤ 128q
et y[n] = 0 si |xp[n]| > 128q. On pose x[n] = 0 pour n ≥ 0.
1°) Déterminer y[n] pour -2 ≤ n ≤ 10 ; a1 = 1,9 • a2 = -0,9995 • y[-2] = -111q • y[-1] = -29q.
2°) Quelle est la période Tosc(en s) des oscillations ? On donne Fe = 4 kHz (fréquence
d'échantillonnage).
xp [n]
x[n] + P y[n]
Q + a1 T
a2 T
Théorème de transposition
Soit le filtre ci-contre.
x[n]
c b a
T + T + y[n]
Histoire de degrés
Soit H(z)= N(z)/D(z) la fonction de transfert en z d’un système discret. Les coefficients des
polynômes N(z) et D(z) sont constants.
Temps calcul
On étudie ici l'effet du "temps calcul" sur le déphasage existant entre l'entrée et la sortie d'un
filtre numérique.
1°) Représenter en fonction du temps l'évolution de deux fonctions sinusoïdales discrètes x[n]
et y[n], de période commune Ts (s) ; y[n] est en retard d'une durée Tc (s) sur x[n]. Pour
faciliter la représentation, on dessinera les fonctions comme s'il s'agissait de fonctions
continues du temps. Dans tout l'exercice Tc est une constante, et Ts>>Te (période
d'échantillonnage).
2°) Exprimer le déphasage ∆ϕ (rd) entre x[n] et y[n], en fonction de fs(Hz)=1/Ts et de Tc, et
tracer ∆ϕ (rd) en fonction de la fréquence fs.
3°) Soit le filtre possédant l'équation aux différences y[n] = x[n]. Quelle est l'expression de la
fonction de transfert complexe H(jf) correspondante ? Tracer arg[H(jf)] en fonction de la
fréquence.
4°) Expérimentalement, on applique une fonction discrète sinusoïdale à l'entrée de ce filtre, et
on observe alors l'existence d'un déphasage entre l'entrée et la sortie. Pourquoi ? Comment
évolue ce déphasage en fonction de la fréquence f du signal d'entrée ?
T
0,8 -0,9
1°) Soit le filtre ci-dessus. Donner sa nature et sa structure (récursif, non récursif, transversal,
forme directe I ou II). Donner son équation de récurrence.
2°) Donner sa réponse impulsionnelle h[n].
n =+∞ n =+∞
1
3°) Calculer ∑ h[n] (on rappelle que ∑α =
n
si –1<α<1).
n =−∞ n= 0 1− α
4°) Donner sa réponse impulsionnelle h'[n] au point w[n].
n =+∞
5°) Calculer ∑ h' [n] .
n =−∞
6°) On rappelle l'expression de l'équation de convolution permettant le calcul de la sortie y[n]
d'un SDLI en fonction de l'entrée x[n] et de sa réponse impulsionnelle h[n] :
i = +∞
y[n] = h[n]∗ x[n] = ∑ h[i]x[n − i]
i = −∞
Donner l'expression de la limite de y[n] lorsque n -> ∞ dans le cas d'un système causal et pour
x[n] = X.u[n] avec X = cste.
7°) Donner pour ce même système une condition nécessaire pour qu'il n'y ait pas de
dépassement de capacité (overflow) en régime permanent, si le système est réalisé en virgule
fixe.
8°) Appliquer ce résultat au filtre étudié aux questions 1 à 4. En conclusion, une mise à
l'échelle est-elle nécessaire ?
Les deux premiers types ont une structure traditionnelle ("Past" de l'illustration ci-dessous) :
support de mémorisation numérique (CD, DVD, mémoire MP3) + CNA + liaison vers ampli
Electronique échantillonnée et filtrage numérique 63
+ amplificateur analogique + hauts-parleurs (HP). Le troisième système possède une
architecture plus complexe ("Present" de l'illustration) : support de mémorisation numérique
+ CNA + liaison vers ampli + CAN + amplificateur numérique +.... Nous allons étudier la
partie CAN + amplificateur numérique de cette architecture, sachant que dans le futur (voir
illustration) les trames numériques seront directement transmises à l'amplificateur numérique.
digital
1°) Soit e(t) le signal sortant d'un CNA de fréquence d'échantillonnage Fe = 44,1 kHz.
Calculer la fréquence maximum fmax susceptible d'être présente dans le spectre de e(t) ?
2°) On souhaite analyser en temps réel le signal e(t) par une TFD à 1024 points. Quel est le
temps de cycle (+, x) maximum permis pour le système calculant la TFD ?
Soit maintenant le circuit ci-dessous. L'AOP supposé parfait possède une tension de
saturation ± Vsat. Sur son entrée V- est appliqué un signal triangulaire de période T,
d'amplitude crête ± Valim. Sur l'entrée V+ est appliqué e(t) signal analogique bipolaire,
d'amplitude max comprise entre ± Valim. L'ensemble réalise une partie des fonctions d'un
CAN. On trouve ensuite un inverseur transformant + Vsat en –Vsat et inversement ; il permet la
commande en opposition de phase de deux transistors.
+V
+Valim HP
V+ ?
e(t) ∞
V- s(t)
-Valim -V s’(t) s ’’(t)
Les deux interrupteurs que l'on trouve ensuite sur le schéma symbolisent ces deux transistors
"push-pull" : l'un est fermé (signal de commande = + Vsat) quand l'autre est ouvert (signal de
Avant d'être appliqué sur un HP, s'(t) doit traverser un dernier bloc fonctionnel noté "?". On
supposera celui-ci analogique et passif.
7°) Quelle est précisément sa nature ? Proposer un schéma de réalisation le plus simple
possible.
8°) L'impédance d'un HP varie en fonction de la fréquence entre 4 et 16 Ω, ; cela introduit-il
une difficulté ? Si oui laquelle ?
9°) Sachant que la fonction de l'ensemble du montage est de permettre l'amplification de e(t),
quel est le paramètre de réglage du gain ?
10°) Pour la structure future d'amplificateur "tout numérique" présentée en introduction, quels
éléments du schéma seraient remplacés ?
II
x[n] T T
c+ ad + ae
bd be
+ y[n]
IV
4
1°) y[n] = x[n-1]-a x[n-5]+by[n-1]
2 3 4 4 4 4
h[n]=δ[n-1] +b δ[n-2]+b δ[n-3]+b δ[n-4]+(b -a ) δ[n-5]+b(b -a ) δ[n-6]+...
-1 4 -4 -1
H(z)=(z -a z )/(1-bz )
2°) stable si b<1
3°) RIF si b=±a (toujours stable dans ce cas)
V
1°) y[n] = x[n-1] +ay[n-1]
n-1
h[n]= a u[n-1]
-1 -1
H(z)=z /(1-az )
2°) stable si –1≤a≤+1
-j2Πf/Fe
3°) H(jf)=1/( e -0,5) => passe-bas, amplification = 2 en continu, = 0,66 à f = 1/2 Fe
VI Intérêts composés :
1°) y[n] = x[n] + (1+τ) y[n-1]
2°) h[n] = (1+τ)n u[n] => système instable, y[n] = P (1+τ)n u[n]
1 − ( τ + 1)n+1
3°) y[n ] = P u[n]
1 − ( τ + 1)
VII Filtre numérique suréchantillonneur :
1°) Fmin = 40 kHz
2°) non récursif, causal, transversal, 95 retards
3°) 52 bits, 24 multiplications
4°)
4F f
F
5°) deuxième ordre ; sans filtre numérique, ordre très élevé nécessaire
VIII Extrapolation linéaire :
1°) y[n] = x[n] + 3/2 x[n-1] - 1/2 x[n-3]
2°) H(z) = 1 + 3/2 z-1 - 1/2 z-3
II 1°) non-récursif (si pas d’adaptation), causal, stable (si NR), variant dans le temps (si
adaptation)
2°) 100 ms
3°) augmentation de la valeur des coefficients
4°)
n 0 1 2 3 4 5 6 7 8 9 10
ak[n] 0 0 0,05 0,085 0,109 0,126 0,138 0,146 0,152 à,156 0,159
ê[n] 0 0 0,15 0,255 0,328 0,378 0,414 0,439 0,456 0,469 0,477
ε[n] 0 0,5 0,35 0,245 0,171 0,121 0,085 0,06 0,043 0,03 0,022
5°)
n 0 1 2 3 4 5 6 7 8 9 10
ak[n] 0 0 0,5 -0,5 1,5
ê[n] 0 0 1,5 -1,5 4,5
ε[n] 0 0,5 -1 2 -4
6°) bien que le filtre lui-même soit stable, il est inséré dans une boucle formant un système
récursif.
XII
1°) y[n]=x[n]+C2x[n-1]+C1y[n-1]
2°) c’est la forme directe 1 correspondante
3°) la première (forme directe 2)
4°) récursif, causal, invariant
5°) h[n]=δ[n]+( C1+ C2) δ [n-1]+ C1 ( C1+ C2) δ [n-2]+...+ C1m( C1+ C2) δ [n-m-1]+...
à durée finie si C1=- C2
6°) soit C1=- C2, soit valeur absolue de C1<1
XIII
1° et 2°) a0 = 1, a1 = -0,4, a2 = -0,04
3°) c’est le fait que le filtre soit linéaire
4°) y[3] = -0,096, y[4] = -0,008, y[5] et au-delà = 0
5°) a0 = 0