68
INSTITUT NATIONAL DES SCIENCES APPLIQUEES Département de génie électrique et informatique _________ TRAITEMENT NUMERIQUE DU SIGNAL Jean-Marie Dilhac version 2004-2005

INSTITUT NATIONAL DES SCIENCES APPLIQUEES …bouvot/Cours/3IMACS/Filtrage_num/... · Electronique échantillonnée et filtrage numérique 4 Conversion numérique - analogique I Introduction

Embed Size (px)

Citation preview

INSTITUT NATIONAL DES SCIENCES APPLIQUEES

Département de génie électrique et informatique

_________

TRAITEMENT NUMERIQUE DU SIGNAL

Jean-Marie Dilhac

version 2004-2005

SUPPORT DE COURS

Electronique échantillonnée et filtrage numérique 3

Systèmes d'acquisition de données - rappels et compléments

Une chaîne d'acquisition comprend : - un capteur - un conditionneur (transduction, amplification isolement, filtre anti-repliement) - un échantillonneur/bloqueur - un convertisseur analogique numérique et éventuellement - un convertisseur numérique analogique, - un actionneur. 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. Les défauts sont : - le nécessaire usage de circuits de conversion (le monde physique est analogique !), - l'absence de circuits passifs, - les limitations en vitesse. Lexique : - capteur = sensor, - échantillonneur/bloqueur = sample and hold circuit, - actionneur = actuator, - bruit = noise, signal to noise ratio, - vieillissement = aging.

Chaîne d'acquisition numérique à unevoieencadrées en pointillé, les partiesoptionnelles

Système Capteur CAN

Affichage

µ PCNAActionneur

Conditionneurde signaux

Echantillonneur/bloqueur

Logique de commande

mémoires

Electronique échantillonnée et filtrage numérique 4

Conversion numérique - analogique

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.

CNA

01...11

y=∆[2n-1d1+ 2n-2d2+...+20d0]

yN

N

(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]

où ∆ ∆ ∆ ∆ est le pas de quantification, physiquement exprimé en volts (ou en ampères), d1 le bit de poids fort, dn le bit de poids faible. ∆ représente la plus petite variation possible de y, soit le poids du bit de poids faible dn.

Electronique échantillonnée et filtrage numérique 5

N

y(∆)

01 10 11000

1

2

3

plagede conversion

pleine échellepas deconversion

Contrairement au cas de la conversion analogique numérique, à chaque nombre binaire N correspond une et une seule amplitude pseudo analogique. De fait, il n’existe pas ici d’erreur de conversion comme il en existe en conversion analogique numérique.

2°) Paramètres de choix : Dans le processus de choix d'un circuit réalisant la fonction CNA, les paramètres ci-dessous sont à relier avec le contenu du cahier des charges. • Pas de quantification : Déjà défini, il caractérise en valeur absolue la "finesse" de la conversion. • Plage de conversion : C'est l'intervalle des valeurs d'amplitude possibles pour la sortie y soit

[0, ∆(2n-1)] pour un convertisseur unipolaire. A noter que la valeur ∆(2n-1) constitue la "pleine échelle" analogique P.E. • Résolution : La résolution R caractérise elle aussi la "finesse" de la conversion, mais en valeur relative. Elle exprime ∆ en pourcentage de la pleine échelle analogique.

R(%) = 100 ∆/P.E. = 100 /(2n-1) A.N : si n = 12 bits, R = 0,024 % • Erreur de linéarité : Exprimée en pourcentage de la pleine échelle, elle caractérise l'écart entre l'équation du II 1° et la réalité. • Erreur de zéro : Exprimée en pourcentage de la pleine échelle, elle caractérise l'écart entre zéro et la valeur réelle de y lorsque tous les bits d'entrée sont nuls. • Erreur de pleine échelle : Exprimée en pourcentage de la pleine échelle, elle caractérise l'écart entre la pleine échelle analogique théorique ∆(2n-1)et la valeur réelle de celle-ci lorsque tous les bits d'entrée sont à un (pleine échelle numérique). • Temps d'établissement : A ne pas confondre avec la constante de temps ou le temps de montée, il caractérise la rapidité de l'opération de conversion. III Mise en œuvre : y et N sont des variables temporelles ; dans le cas d’une conversion périodique, les valeurs de N sont modifiées régulièrement par un dispositif de traitement numérique du signal. Cette période est appelée période d’échantillonnage. Dans de nombreux cas de figure, le dispositif

Electronique échantillonnée et filtrage numérique 6

de traitement du signal (µP) ne se mobilisera pas en permanence pour appliquer à l'entrée du CNA la grandeur binaire à convertir. Une mémoire numérique (un registre) servira de "tampon". Du point de vue de la sortie, il y a un risque à utiliser directement la sortie du CNA, à cause d'aléas possibles lors des changements de valeur de la sortie. Pour les CNA ayant un fonctionnement séquentiel, l'usage direct est bien sûr impossible. Une mémoire analogique (un échantillonneur bloqueur) est donc ici intercalée. Par ailleurs, le convertisseur analogique numérique (CNA) se comporte inévitablement en extrapolateur d’ordre zéro, dans la mesure où entre deux instants d’échantillonnage, il maintient constante l’amplitude de y. y(t) est donc une fonction en escalier : les discontinuitées entre deux valeurs successives de y(t) correspondent à une éventuelle altération du spectre du signal analogique dont N(t) serait la représentation numérique. La reconstitution plus fine de ce signal analogique peut être réalisée par l’ajout d’un filtre analogique, de type passe-bas, dit « filtre de lissage ». L'environnement pratique d'un CNA est donc en conclusion le suivant.

t

x(t)

Te

xe(t)

CNARG

E/B

µP

x(t)xe(t)

f0

2f0 2f0

xe(t)

+f0-f0 Fe-Fe

filtre de lissage

Lexique : - conversion numérique - analogique = digital to analog conversion, DAC,

Electronique échantillonnée et filtrage numérique 7

- bit de poids fort = most significant bit (MSB) ≠ least significant bit (LSB). - registre, échantillonneur/ bloqueur, filtre passe-bas = register, sample/hold, low pass filter

Electronique échantillonnée et filtrage numérique 8

Conversion analogique-numérique (CAN) 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).

CAN

01...11x(t)

échantillonnagexe(t) quantification en amplitudexk(t) codagex[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.

Electronique échantillonnée et filtrage numérique 9

t

x(t)

Te

xe(t)

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.

Electronique échantillonnée et filtrage numérique 10

5

1

1 50 10

10 Arrondi

xk(∆)

xe(∆)

1 5

5

1

0 10

10 Troncature

xk(∆)

xe(∆)

ε= xk-xe

1 50 10

−∆

1 50 10

∆/2

−∆/2

ε ε

xe(∆)xe(∆)

1/ ∆ 1/ ∆

- ∆/2 ∆/2 - ∆0 0

p(ε) p(ε)

ε ε

0 F e/2-F e /2

densité spectrale de puissancedu bruit de conversion par arrondi (= ∆2/12Fe)

densité spectrale de puissancedu signal xe

f(Hz)

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. V Mise en œuvre pratique : Les paramètres principaux devant être choisis lors de la mise en œuvre (en rapport avec le cahier des charges) sont : - la fréquence d’échantillonnage,

Electronique échantillonnée et filtrage numérique 11

- le type de quantification (arrondi ou troncature), - le pas de quantification <=> le nombre de bits de codage (on réfléchira à ce point), - la nature du code numérique. Les méthodes de conversion sont parfois indirectes (passage par la fréquence pour convertir une amplitude) mais le plus souvent directes. Dans ce dernier cas on trouve : - les convertisseurs flash, très rapides mais comportant des comparateurs en nombre égal à (2n-1), si n est le nombre de bits de sortie. Pour limiter la surface de semiconducteur occupée par ces convertisseurs, ainsi que la consommation électrique correspondante, les CAN flash sont limités à 8 ou 10 bits et à l'acquisition de données à haute vitesse (signaux radars), - les convertisseurs pipeline, reposant sur plusieurs étages de CAN flash, ils réalisent un compromis entre consommation et vitesse tout en travaillant avec une meilleure résolution (16 bits et plus), - les convertisseurs à approximation successive (ou SAR pour Successive Approximation Register), incorporant un CNA inclus dans une boucle de rétroaction, et déterminant successivement la valeur (1 ou 0) des n bits en commençant par le MSB. Il en existe jusqu'à 18 bits qui fonctionnent à des fréquences d'échantillonnage modérées du fait du fonctionnement séquentiel des ces CAN, - les convertisseurs sigma-delta, qui mettent en jeu un intégrateur, un comparateur, et un CNA à 1 bit. Ils sont destinés à la haute résolution (24 bits) mais aux relativement faibles fréquences d'échantillonnage. On réfléchira au fait que l'environnement pratique d'un CAN est bien celui présenté ci-dessous.

CAN RG

E/B

µPx(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.

Electronique échantillonnée et filtrage numérique 12

Electronique échantillonnée et filtrage numérique 13

Signaux à temps discret 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.

t=nTe(s)

n

x[nTe] x[n]

Te

0 1 2-1-2

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

Electronique échantillonnée et filtrage numérique 14

n

n

0••

••

• • • • • • • • ••

2

2

0

•1

• • • • • • • • • • • •

n0

•• •

••

• ••

• ••

• ••

x1[n]

x2[n]

x3[n]

n

n

n

•0

0

• • • • • • • • • • • •

• • • • • • • •

• • • • •

• • • • • • • • • • • • •

1

i

1

1

δ[n]

δ[n-i]

u[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.

x3[i] = x3[n].δ[n − i]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ωtdt−∞

+∞

On n'oubliera pas que le passage de la décomposition en fonctions orthogonales (série de Fourier) d'un signal périodique, à la TFSC s'est fait en supposant une période infinie pour le signal continu x(t). 1°) Transformée de Fourier des signaux discrets (TFSD) : Si l'on tient compte du fait que les signaux discrets ne sont définis qu'aux instants d'échantillonnage, et non dans l'intervalle, la TFSC peut leur être adaptée sous la forme1 :

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 15

X(ω ) = x[ n]e− jnωTe

n=−∞

+∞∑

- l'intégrale est remplacée par une somme discrète, - X(ω)est une fonction complexe, continue, périodique, de période 2π/Te,

C'est pour ces raisons que X(ω) est souvent notée X(ejωTe) ou X(ejθ), avec θ = ωTe pour rappeler cette périodicité. Il suffit donc de représenter X(ω) sur un intervalle de largeur 2π/Te, en général +/- π/Te, appelé intervalle fondamental. En fréquence, cet intervalle est égal à +/- Fe/2. X(ω) est le spectre de x[n], fonction complexe pouvant être divisée en partie réelle et imaginaire. Pour un signal x[n] réel, R[X(ω)] est paire et Im[X(ω)] est impaire.

nTe

x [ n]

0

• ••

•• •

Te

0 š /T-š /T ω

θ0 š-š

X(ejωT) X(ejθ)

x[ nTe ] X(ejθ )

δ[n] 1

ax1[n] + bx2[n] aX1[ejθ ] + bX2[e

jθ ]

x[ n− i ] e− jiθ X(e jθ )

x1[n]∗ x2[ n]

x1[n] . x2[n]

X1(ejθ ) . X2(e jθ )

X1(ejθ )∗ X2(ejθ )

e

e e

fFe/2Fe/2-

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] ∗ x2[n] = x1[i].x2[n − i]i=−∞

+∞

La TFSD inverse quant à elle s'écrit :

x[n] = Te

2πX(ω)e jnωTe

− πTe

+ πTe

∫ dω

2°)Transformée de Fourier discrète (TFD) : La TFSD permet une description exacte (c'est à dire par l'intermédiaire d'une fonction continue) dans l'espace des fréquences du spectre d'un signal discret quelconque, c'est à dire à durée infinie et non périodique. Or, si l'on suppose que ce calcul devra être mené i) en temps réel ii) par un calculateur numérique, il sera nécessaire :

- de ne considérer qu'un nombre fini d'échantillons de x[n], en d'autres termes de tronquer temporellement x[n] en utilisant une fenêtre d'observation de durée finie,

- de ne calculer qu'un nombre fini de valeurs de X(ω), en d'autres termes d'échantillonner le spectre.

Nous allons maintenant examiner les conséquences de ces deux contraintes.

Electronique échantillonnée et filtrage numérique 16

a) Limitation du nombre d'échantillons de x[n] : Considérons une fenêtre d'observation temporelle w[n], de largeur T0 = N Te :

w[n] = 1 pour n0 ≤ n ≤ n0+(N-1), w[n] est nulle partout ailleurs Cette fenêtre est dite "rectangulaire". On adapte alors sans difficulté mathématique l'expression de la TFSD, obtenant l'expression de la TFSD "à N points", en posant pour alléger l'écriture n0 = 0 :

X(ω) = x[n]e− jnωTe

n= 0

N−1

Cette limitation du nombre d'échantillons considérés pour le calcul altère toutefois le spectre calculé : le produit x[n].w[n] se traduisant dans l'espace des fréquences par le produit de convolution X(ω)*W(ω). Or l'élément neutre de la convolution est l'impulsion de Dirac, ici δ(ω) ; malheureusement, ni la fenêtre rectangulaire, ni aucune autre fenêtre n'ont pour transformée de Fourier δ(ω). Par ailleurs, la signification physique du spectre d'un signal non périodique à durée infinie, calculé sur un intervalle temporel fini, n'est pas non plus sans soulever des questions. Ce qui peut être toutefois retenu ici, c'est que plus N sera grand, moins sévère sera l'altération.

b) Limitation du nombre de valeurs calculées : Un calculateur numérique (c'est à dire une machine à états finis) ne peut par définition fournir qu'un nombre fini de valeurs pour X(ω) , ce qui correspond à un échantillonnage du spectre. Soit ∆ω le pas d'échantillonnage, la TFSD à N points devient (k étant un entier relatif):

X[k∆ω] = x[n]e− jn(k∆ω )Te

n= 0

N−1

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πT0

= 2π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) :

X[k∆ω] = x[ n]e− j

nk2 πN

n =0

N −1

- fonction discrète,

Electronique échantillonnée et filtrage numérique 17

- périodique, de période N (on dit que N échantillons en temps donnent N échantillons en fréquence).

La TFD inverse a quant à elle pour expression :

x[n] = 1N

X[k∆ω]ejnk2π

N

k= 0

N−1

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.

Electronique échantillonnée et filtrage numérique 18

x(t)

t

X

*

=

=

1

T0'

0 Te

0 T0/2

0 T0’

0 Te

X(f)

f

=

=

*

X

1/Te

0 1/Te

0 fM

0 fM=Fe/2

Fe =

∆f = 1/T0’ 0

1/Te

1

•••

• •

NTe

•••

• ••

•••

• • •

•••

• •

•••

• ••

•••

• • •

•••

• •

Electronique échantillonnée et filtrage numérique 19

CAN CAN CAN CAN

CAN CAN CAN CAN

CAN

TFD TFD

TFD TFD TFD TFD

TFD TFD

TFD TFD TFD TFD

CAN CAN CAN

On en déduit Te égal à environ 100 ms/1000 = 100 µs, soit Fe = 10 kHz. Or l'application du théorème de Shannon impose que la fréquence maximale (fixée en pratique par un filtre anti-repliement) présente dans le spectre de x(t) soit la moitié de Fe, soit fmax = 5 kHz ! Tel quel, notre algorithme n'est donc capable que de traiter des signaux lentement variables.

b) Transformation de Fourier rapide : De nombreux travaux ont cherché à diminuer le nombre d'opérations nécessaires pour le calcul de la TFD. Les résultats les plus connus sont ceux de James Cooley et John Tukey (1965), connus sous le nom d'algorithme d'entrelacement temporel. Nous allons en donner ici le principe. On suppose que le nombre d'échantillons est une puissance entière de deux, soit :

N = 2M, M entier naturel.

x[n] possède alors naturellement un nombre pair d'échantillons, et la TFD peut s'écrire :

X[k∆ω] = x[2n]e− j

4nkπN

n= 0

N

2−1

∑ + x[2n +1]e− j

4nkπN

n= 0

N

2−1

e

− j2kπN

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

2 (deux TFD) x 2 (N/2)2 = N2,

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 20

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. III Analyse par ondelettes : L’analyse fréquentielle est peu efficace dans certains cas (signaux discontinus ou transitoires par exemple) lorsqu'il s'agit de localiser temporellement un évènement. On peut en effet montrer qu'un signal ne peut être à la fois localisé en temps et en fréquence (inégalité de Heisenberg). La décomposition en ondelettes, grâce à un algorithme, est parfois très bénéfique. L’équation de base de l’analyse est alors :

c(a,b) = x(t)ψ (at + b)dt−∞

+∞

Electronique échantillonnée et filtrage numérique 21

avec c(a,b) fonction résultat de l’analyse, a (sans dimension) servant au réglage du « zoom » temporel, b (en s) servant à la translation temporelle, et ψ(t) étant une ondelette. Il s'agit, une fois de plus, du calcul du produit scalaire de x(t) et ψ(t). L'équation est ici, par soucis de simplicité, une équation pour signaux continus, mais sa transposition pour des signaux discrets est immédiate, quoique moins lisible (mais en pratique, l'analyse par ondelettes ne se mène que numériquement). Une condition pour qu'un signal ψ(t)soit une ondelette est que la propriété ci-dessous soit vérifiée :

ψ(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

Electronique échantillonnée et filtrage numérique 22

son bruit haute fréquence, sans pour autant éliminer les transitoires rapides du signal comme l'aurait fait un filtrage linéaire traditionnel. Un exemple est donné ci-dessous (les deux dernières illustrations sont extraites de la revue Spectrum de l'IEEE).

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 ».

Electronique échantillonnée et filtrage numérique 23

Systèmes discrets linéaires invariants dans le temps

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). II Equation aux différences (ou de récurrence) : 1°) Introduction : Les systèmes discrets linéaires sont réalisables par assemblage de trois opérations de base : l'addition, la multiplication par une constante et la mise en mémoire. Ces opérations figurent dans les blocs fonctionnels élémentaires utilisés dans les schémas blocs représentant un système. Ci-dessous A représente une constante, et T symbolise la période d'échantillonnage.

x[n] y[n]

équation aux différences h[n] H(jf) H(z)

x[n]

y[n]= x1[n] + x2[n]

A

T

x[n]

x1[n]

x2[n]

+

y[n] = A x[n]

y[n] = x[n-1]

Electronique échantillonnée et filtrage numérique 24

En répétant ces opérations de base, on peut synthétiser tout système discret linéaire. De plus, notons que l'équation de récurrence est le "moteur" du système : elle représente les opérations élémentaires accomplies en pratique dans le système physique. 2°) Description d'un système par son équation aux différences : A l'instant n, les systèmes discrets linéaires délivrent à leur sortie des échantillons y[n] qui sont des combinaisons linéaires des entrées présentes et passées (et également futures pour les systèmes non causaux) et éventuellement des valeurs passées des échantillons de sortie. Pour un système causal on a dans le cas général :

y n[ ]= bkx n− k[ ]k= 0

p

∑ + aky n− k[ ]k=1

q

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. III Réponse impulsionnelle et convolution discrète : Posons h[n] comme étant la réponse (dite impulsionnelle) d'un système discret linéaire causal et invariant à l'impulsion unité discrète δ[n]. Nous allons dans un premier temps démontrer (ce qui était évident avec l'équation de récurrence) que la réponse impulsionnelle décrit complètement le système : en d'autres termes qu'elle permet de calculer la réponse à un signal quelconque e[n]. Si e[n] est causal, on peut écrire que

e[n] = e[0]. δ[n]+ e[1]. δ[n-1]+ e[2]. δ[n-2]+… Si le système est linéaire et invariant, par définition, sa réponse peut être alors effectivement calculée – elle est alors de la forme

y[n] = e[0]. h[n]+ e[1]. h[n-1]+ e[2]. h[n-2]+… soit sous forme condensée

y[n] = e[k].h[n − k]k= 0

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=−∞

∑ < ∞

Electronique échantillonnée et filtrage numérique 25

IV Réponse en fréquence : Par définition, la transformée de Fourier discrète (TFSD) de h[n] constitue la réponse en fréquence H(jf) d'un système discret. Cette quantité complexe peut-être graphiquement doublement représentée, par son module A et son argument φ, tous deux en fonction de la fréquence f ou de la pulsation ω. Un système linéaire convertit un signal d'entrée sinusoïdal en un signal de même fréquence, mais dont l'amplitude et la phase dépendent de A et φ. La convolution temporelle utilisée plus haut pour le calcul de la sortie d'un système, peut ici être remplacée par un simple produit dans l'espace des fréquences.

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] + bx2[n] → aX1(z) + bX2(z)

δ[n] →1

δ[n − i] → z− i

x[n − i] → z− i X(z)

x1[n] ∗ x2[n] → X1(z).X2(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] :

H(z) = Y(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

Y(z) = bkz−kX(z)

k= 0

p

∑ + akz−kY(z)

k=1

q

.

TFSD

TFISD *

x[n]

y[n]

h[n]TFSD

x[n]

h[n]

y[n]

X(ejθ)

H(ejθ)

Y(ejθ)

Electronique échantillonnée et filtrage numérique 26

soit

H(z) =bkz

−k

k= 0

p

1− akz−k

k=1

q

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.

Electronique échantillonnée et filtrage numérique 27

Structure des filtres numériques

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. II Filtres discrets non-récursifs : 1°) Equation de récurrence : Les filtres discrets non-récursifs ne possèdent pas de boucle de contre-réaction ; leur équation de récurrence fait donc apparaître une seule somme discrète, soit pour un filtre causal :

y n[ ] = bi x n − i[ ]i =0

N

Une structure typique, dite transversale (où seule la valeur x[n-i] est mémorisée) est donnée ci-contre.

b0

Tx[n]

b1

T

b2

T

bN

+

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[ ]

= biδ n− i[ ]i =0

N

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

Electronique échantillonnée et filtrage numérique 28

d k[ ]= b0 + b1 + ...+ bN = d N[ ] pour N≤k Suivant que d[N] sera nul ou pas, le filtre "passera" le régime continu constant ou pas. 4°) Réponse harmonique : Calculons la transformée en z de l'équation de récurrence. Il vient :

Y z( ) = bi z− i X z( )

i = 0

N

∑ ⇒ H z( ) =Y z( )X z( ) = biz

−i

i =0

N

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 :

H( jf ) = bie− j 2πifTe

i =0

N

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).

n

h[n]

0 1-1 2

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 TT T

T TT T

+ + + +

+

b0 b1 bN2

x[n]

y[n]

bN2

-1

Electronique échantillonnée et filtrage numérique 29

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

τg = −1

2πdArg H jf( )[ ]

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. III Filtres discrets récursifs : 1°) Equation de récurrence : Un filtre discret récursif se caractérise par le fait que son équation de récurrence fait apparaître deux sommes discrètes, une regroupant des échantillons de l'entrée x[n], et la deuxième des échantillons des valeurs passées de la sortie y[n]. Elle peut s'écrire :

y n[ ] = bi x n − i[ ]i =0

N

∑ + ai y n− i[ ]i =1

M

Si N=0 (seule existe la deuxième somme discrète) le filtre est alors dit purement récursif. En pratique, l'équation de récurrence peut directement être transposée sous la forme du schéma bloc ci-contre : c'est la forme directe 1.

b0

Tx[n]

b1

T

b2

T

bN

+

y[n]

TT

aM

T

a2 a1

+

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).

Electronique échantillonnée et filtrage numérique 30

x[n]

y[n]

TT

aM

T

a2 a1

+

b0

T

b1

T

b2

T

bN

+

Cette forme, elle canonique, économise les emplacements mémoire.

x[n]

T

aMa2 a1

+

b0

T

b1

T

b2

+

y[n]

2°) Réponse impulsionnelle : Sauf cas particulier, h[n] n'est pas rigoureusement égale à zéro au-delà d'un certain rang, comme c'est le cas pour les filtres à réponse impulsionnelle finie (filtres non récursifs). En général, on constate une réponse impulsionnelle à durée infinie. Toutefois, si le filtre est stable, h n[ ]

n→∞→ 0 . Les valeurs des coefficients ai déterminent la

stabilité. Les conditions de stabilité peuvent être énoncées à partir d'une expression analytique de h[n]. 3°) Réponse harmonique : Avec la même démarche que pour les filtres non récursifs, il est possible d'établir la fonction

de transfert en z : Y z( ) = bi z− i X z( )

i = 0

N

∑ + ai z− iY z( )

i=1

M

∑ ⇒ H z( )=Y z( )X z( ) =

bi z−i

i= 0

N

1− ai z−i

i =1

M

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.

Electronique échantillonnée et filtrage numérique 31

Encore une fois, la réponse en fréquence s'obtient sans difficulté en remplaçant la variable z

par exp(j2πfTe) soit : H jf( )=Y z( )X z( )

=bie

− j 2πif

Fe

i= 0

N

1− aie− j 2πif

Fe

i=1

M

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]. IV Comparaison des filtres discrets récursifs et non-récursifs : Les critères de choix sont résumés dans le tableau donné plus loin. Ils doivent être connus du concepteur, car ne rentrant pas dans une procédure automatisée de conception, telles que celles décrites au chapitre suivant.

Electronique échantillonnée et filtrage numérique 32

Critères RIF RII

Structure non récursive le plus souvent récursive uniquement

Fonction de transfert uniquement des zéros pôles et zéros

Stabilité filtre toujours stable peut être instable

Réponse en fréquence :gain réponse quelconque possible filtres simples seulement

Réponse en fréquence :phase phase linéaire possible décaleurs possibles

Complexité plus faible que RIF

Quantification pas d'effet déterminant effets toujours présents

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.

Electronique échantillonnée et filtrage numérique 33

Synthèse des filtres numériques

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.

f1 f2 f3 f4

|H(jf) |

f (Hz)Fe/20

H1H2

H3

Les étapes de conception sont ensuite classiquement les suivantes : 1 - choix d'un type RII ou RIF, 2 - choix de l'ordre et calcul des coefficients, 3 - choix d'une structure, 4 - vérification des spécifications. Des quatre points ci-dessus, le n°2 et souvent le n°4 sont au moins partiellement automatisés. Le chapitre précédent a précisé les éléments de choix relatifs au point 1. Nous allons aborder maintenant les points suivants, étant entendu que pour l’étape 2 nous ne présenterons que les deux méthodes de synthèse les plus employées, une par type. D’autres techniques existent, utiles en particulier lorsque le cahier des charges ne se présente pas sous la forme d’un gabarit en fréquence. II Conception de filtres RIF : 1°) Présentation de la méthode dite « technique de la réponse impulsionnelle » : Cette méthode est basée sur l’emploi de la TFSD associée à un fenêtrage temporel. Elle aboutit toujours à la réalisation d’un filtre à phase linéaire. Malheureusement, elle implique une étape de troncature temporelle nécessitant un choix de fenêtre laissé au soin du concepteur, et se traduisant par des écarts vis à vis du cahier des charges, se présentant ici sous la forme d'une réponse fréquentielle idéale. Les étapes principales sont les suivantes (voir figure) : • définition de la réponse en fréquence H(f) désirée, compatible avec un gabarit éventuellement défini par le cahier des charges, • détermination de la réponse impulsionnelle correspondante h[n] à l’aide de la TFISD, on obtient ainsi les coefficients (en nombre infini malheureusement !) du filtre répondant idéalement au cahier des charges,

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 34

• 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)

n f

X

= =

*

0

0

0

TFISD

n

n

0

0

f

f

W(f)

H'(f)

W[n]

h'[n]

n

0

h''[n]

0

f

H''(f)

1

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). 3°) Utilisation de fonctions « fenêtre » plus sophistiquées : Comme nous l’avons déjà constaté pour le calcul de la TFD, des fenêtres atténuant l’amplitude des échantillons de h’[n] près des extrémités de la zone tronquée améliorent le

Electronique échantillonnée et filtrage numérique 35

résultat : l’amplitude des oscillations se trouve réduite. Par contre, les zones de transition sont alors élargies, mais cet élargissement peut être contrecarré par l’augmentation du nombre d’échantillons de h’’[n]. L’optimisation se fait alors en fonction du gabarit et du temps calcul (voir plus loin).

Electronique échantillonnée et filtrage numérique 36

II Conception de filtres RII : 1°) Généralités : En conception de filtres RII, on utilise le plus souvent la méthode de la transformation bilinéaire. Comme la plupart des autres techniques utilisables ici, elle s’appuie sur une caractéristique de filtre analogique pris pour modèle. Le choix d’une méthode dépend du cahier des charges : spécification de la réponse impulsionnelle, de la réponse fréquentielle, ou de l’équation différentielle. Lorsque le cahier des charges prend la forme d'un gabarit fréquentiel, c’est la transformation bilinéaire qui est donc utilisée. Quelle que soit la méthode, la stabilité n’est pas garantie à l’arrivée et doit être vérifiée. Par ailleurs, il n’est pas possible de spécifier a priori des caractéristiques en phase (linéaire par exemple). 2°) Présentation de la méthode dite « transformation bilinéaire » : C’est une transformation qui permet de passer du plan des p (cas analogique) au plan des z (cas discret) par la relation :

p =2

Te

1− z−1

1+ z−1 ⇔ z =2 + pTe

2 − pTe

Les étapes principales de la synthèse sont donc les suivantes : • détermination d’une fonction de transfert complexe T(jf) continue satisfaisant au cahier des charges (optimisation d’une équation mathématique passant par les zones permises du gabarit), • calcul de la fonction de transfert symbolique T(p) par utilisation de la transformation de Laplace, • calcul de la version discrète de la fonction de transfert, par utilisation de la transformation bilinéaire. Or, si l’on pose ωa et ωd comme étant les pulsations analogiques et discrètes, sachant qu’en régime sinusoïdal permanent p=jωa et z=exp(jωdTe), on peut écrire :

jωa = 2Te

1− e− jω d Te

1+ e− jω d Te⇔ ωa = 2

Te

tgωdTe

2

⇔ fa =Fe

πtg(π fd

Fe

) fd

fa

0

- Fe2

Fe2

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

Electronique échantillonnée et filtrage numérique 37

spectre lors du passage du cas continu au cas discret4. Par contre, il conviendra de déformer les caractéristiques du filtre analogique avant d’appliquer la transformation bilinéaire, pour que les caractéristiques du filtre discret respectent elles aussi le gabarit initial. IV Effet de la longueur de mot finie dans les systèmes numériques : 1°) Introduction : Dans un système numérique, un filtre par exemple, l’amplitude des échantillons, ainsi que les coefficients des filtres, sont représentés par un nombre fini de bits, qui limite bien sûr le nombre de valeurs discrètes possibles. Cette valeur finie va engendrer deux types de problèmes : • des effets de saturation (overflow), c’est à dire que l’on ne disposera pas de suffisamment de bits pour représenter le résultat d’un calcul si sa valeur est trop élevée, • des effets d’arrondis lorsque tous les bits significatifs ne peuvent pas être conservés et qu’il faut arrondir. La description exacte des effets liés aux longueurs de mots finies est très complexe car liée à des effets fortement non-linéaires. Toutefois, quelques éléments qualitatifs peuvent être précisés, c’est ce que nous allons faire à propos : • du bruit de conversion analogique / numérique, • de la conversion des coefficients d’un filtre a l’issue de l’étape de synthèse, • de la troncature des résultats intermédiaires et/ou final lors d’un calcul (bruit de calcul). 1°) Bruit de vonversion analogique / numérique : Il a déjà été question du bruit de quantification dans le cadre de ce cours et il a ainsi été précisé que ce bruit pouvait apparaître sous la forme d’une source e[n]. Plus précisément, soient xe[n] un signal échantillonné (mais non quantifié), e[n] le bruit de quantification et y[n] la sortie d’un filtre numérique linéaire de réponse impulsionnelle h[n],

xe[n] y[n]

e[n]

+ h[n]

quantification et codage filtrage

on peut écrire que y[n]=h[n]*xe[n]+e[n]= h[n]* x e[n]+ h[n]* e[n] Du point de vue du filtrage, on peut en conclure que le signal échantillonné et le bruit de quantification seront filtrés exactement de la même façon. Cela ne signifie toutefois pas que le rapport signal à bruit n’évoluera pas entre l’entrée du filtre et sa sortie, e[n] étant la plupart du temps un bruit « blanc », ce que n’est pas en général xe[n]. Remarque : si un calcul de signal à bruit est nécessaire, il faut savoir que la puissance P d’un signal discret x[n] est définie comme suit :

P = lim N→ ∞1

2N +1x2 [n]

n =− N

N

2°) Quantification des coefficients d’un filtre à l’issue de l’étape de synthèse :

4 C’est pour cela que la transformation bilinéaire a été inventée.

Electronique échantillonnée et filtrage numérique 38

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:

Ici, x[n] = Xm(−1)d0 di 2−i

i =1

B

∑ 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 39

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. V Les circuits de traitement numérique du signal : 1°) Du schéma bloc au langage assembleur : Le schéma bloc d’un filtre, pas plus que son équation de récurrence, ne fait apparaître l’ordre dans lequel les opérations élémentaires (addition, multiplication, mise en mémoire) ont lieu. Or cet ordre ne peut être laissé au hasard lorsque les contraintes de temps et de coût sont sévères. Soit l’exemple d’un filtre IIR dont le schéma bloc est donné ci-contre. Son équation de récurrence est :

y[n]=x[n]+C2x[n-1]+C1y[n-1] Une description plus précise de son fonctionnement est également proposée ; elle précise l’enchaînement des opérations

élémentaires, et est à la base de l’étape de programmation an langage machine.

x[n] T

+

C2

y[n]

T

C1

Electronique échantillonnée et filtrage numérique 40

temps

Mémorisationdes données

Mémorisationtemporairedes données

Opérationsarithmétiques

Mémorisationdes coefficients

x +

x[n]

x[n-1]

y[n]

C1C2

d[n]

Buffers E/S

x +

y[n-1]

d[n]

x[n] y[n]

x[n-1] y[n-1]

Du point de vue de la troncature des résultats intermédiaires, la mémoire « temporaire » aura par exemple la faculté de stocker des mots binaires plus longs que la mémoire standard. Le schéma bloc utilisé pour cette représentation correspond à ce que nous avons appelé « forme directe 1 » qui, nous le savons, n’est pas canonique. Ci-contre on trouvera la « forme directe 2 » du même filtre, ainsi que les opérations élémentaires correspondantes qui, on le

remarquera, sont ici en nombre réduit.

x[n]

y[n]

T

+

C1

C2

+

temps

Mémorisation des données

Mémorisation temporaire des données

Opérations arithmétiques

Mémorisation des coefficients

x +

x[n]

d[n-1]

y[n]

C2C1

d[n]

Buffers E/S

x +

d[n-1]

d[n]

d[n-1]

d[n]

Plus précisément, le tableau ci-dessous résume les caractéristiques de chacune des solutions.

Formes Directe 1 Directe 2

Electronique échantillonnée et filtrage numérique 41

nombre d’emplacements en mémoire 2 1 nombre d’accès à la mémoire 4 3

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. 2°) Les circuits DSP (Digital Signal Processors) :

a) Introduction : Un algorithme bien pensé est souvent insuffisant pour atteindre les vitesses d’exécution souhaitées, et un matériel spécialisé doit alors être utilisé : les circuits DSP spécialisés dans le traitement numérique du signal. Le terme DSP a historiquement d’abord été réservé aux circuits à microprocesseur possédant un « multiplieur câblé ». Ils ne sont plus les seuls aujourd’hui à posséder cette caractéristique. Un DSP est en fait un circuit numérique optimisé pour la réalisation des opérations de base du traitement numérique du signal. Il travaille, suivant les modèles, en virgule fixe ou flottante, et la longueur des mots numériques peut être variable en interne.

b) Structure et particularités des DSP : (ce qui suit souffre des exceptions) • Ils peuvent réaliser l'équivalent d'une (au moins) instruction complète (lecture + décodage + exécution + rangement) en une seule période d’horloge, en réalisant simultanément ces quatre étapes pour quatre instructions différentes (voir dessin). Cette particularité est partagée avec les processeurs RISC (Reduced Instruction Set Computers). Cette performance est rendue possible grâce à une architecture « Harvard » qui évite le conflit permanent qui existerait sinon au niveau des BUS mémoire (une lecture et un rangement simultanés) ; la mémoire est alors organisée en au moins deux plans : un pour les instructions et un autre pour les données. Existent donc au moins quatre BUS d’adresses et de données / instructions. C’est la structure dite « en pipeline »6. Cette architecture n’est toutefois pas la panacée : elle est prise en défaut si le résultat de l’instruction N est nécessaire au décodage de l’instruction (N+1), ou bien si un saut conditionnel a lieu. Les trois instructions suivantes (voir dessin) en cours d’exécution ne sont plus alors justifiées, on vide (« on flush ») alors le pipeline.

6 pour les RISC, ce sont des registres « internes » qui sont employés.

Electronique échantillonnée et filtrage numérique 42

Lect.

Décod.

Exec.

Range.

Lect.

Décod.

Exec.

Range.

Lect.

Décod.

Exec.

Range.

Lect.

Décod.

Exec.

Range.

Instruction N

Instruction N+1

Instruction N+2

Instruction N+3

Lect.

Décod.

Exec.

Range.

Lect.

Décod.

Exec.

Lect.

Décod.Lect.

temps

• 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.

DSPadresses

données

adresses

instructions

Electronique échantillonnée et filtrage numérique 43

Dans le cadre du développement d’une application, un choix crucial est également celui d’un processeur en virgule fixe ou flottante. Si en virgule fixe un processeur vaut 10 F, un processeur en virgule flottante de même génération vaudra 1000 F ! Les temps de développement sont par contre qualitativement dans le rapport inverse. Concluons en mentionnant un aspect souvent ignoré : à puisance de calcul équivalente, la puissance électrique dissipée par un DSP est bien moindre que pour un µP classique. Cette caractéristique donne un avantage essentiel aux DSP pour les applications portables. Les grands fournisseurs de DSP sont, entre autres, Texas Instruments, Lucent, Motorola, Analog Devices. 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.

Electronique échantillonnée et filtrage numérique 44

Systèmes multicadence

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 : III Elevation de cadence : IV Multiplication de la cadence par un facteur rationnel :

Electronique échantillonnée et filtrage numérique 45

RECUEIL D'EXERCICES

Electronique échantillonnée et filtrage numérique 46

Echantillonnage, conversion et transmission : I Un interrupteur analogique K est commandé par un signal périodique e(t), et sert à l’échantillonnage d’un signal x(t) (voir la figure 1). 1°) Soit x(t) = cos (2πft), Fe = 5f et a = 0,5 ; représenter xe (t) pour une période de x(t). 2°) Même question pour le circuit de la figure 2. 3°) La fréquence d’échantillonnage choisie plus haut respecte-t-elle le théorème de Shannon ? Justifier la réponse.

+

K

e(t)

x(t) xe(t)R

αTe

Te

e(t)

0

K fermé

K ouvert t

Figure 1 : x(t) est un générateur de tension parfait - Fe = 1/Te.

+

K

e(t)

x(t) xe(t)C

Figure 2 : x(t) est un générateur de tension parfait.

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]

II On rappelle l' équation de la transformée de Fourier des signaux discrets (TFSD) :

X( f ) = x n[ ]n=− ∞

+∞

∑ .e− jn2π

f

Fe (Fe fréquence d'échantillonnage).

Soit d'autre part le signal : e[n] = δ[n-1] + 2.δ[n]+ δ[n+1]. 1°) Représenter e[n]. 2°) Calculer E(f), TFSD de e[n]. Tracer E( f ) dans l'intervalle ± Fe.

Electronique échantillonnée et filtrage numérique 47

On rappelle l' équation de la transformée de Fourier discrète (TFD) à N points :

X[k.∆f ] = x n[ ]n∑ .e

− jn

Nk2π

(k entier, ∆f = Fe/N).

3°) Calculer E[k∆f], TFD à 3 points de e[n]. Tracer E[k∆f ] dans l'intervalle ± Fe.

4°) Calculer E'[k∆f], TFD à 5 points de e[n]. Tracer E' [k∆f ] dans l'intervalle ± Fe. 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.

III Un signal analogique x, purement sinusoïdal de fréquence F = 60 Hz, est échantillonné au rythme de 500 échantillons par seconde. Après conversion analogique-numérique, il est analysé avec une FFT à 64 points. On rappelle l’expression de la transformée de Fourier discrète à N points :

X[k.∆f ] = x n[ ]n∑ .e

− jn

Nk2π

(k entier, ∆f = Fe/N, Fe fréquence d’échantillonnage).

1°) Quelle est la valeur de la fréquence Fe d’échantillonnage ? 2°) Quelle est la valeur de la période Te d’échantillonnage ? 3°) Quelle est la valeur de la période T du signal analogique ? 4°) Quels sont les rangs (<=> valeurs de k) correspondant aux valeurs les plus élevées du module de la FFT du signal analogique, pour un tracé de spectre où 0 ≤ k ≤ 64 ? 5°) Quelle nouvelle fréquence Fe’ d’échantillonnage éliminerait les problèmes associés au fenêtrage (troncature temporelle) ? On proposera la valeur la plus proche de celle trouvée au 1°. IV Un analyseur de spectre à FFT (Fast Fourier Transform) est utilisé pour visualiser le spectre d’un signal sur un écran. La figure 1.a présente une partie de ce spectre (niveau de bruit et raies caractéristiques). L’opérateur augmente ensuite la fréquence d’échantillonnage Fe initialement employée. Soit Fe’>Fe la nouvelle fréquence. Le spectre alors obtenu dans la gamme de fréquences visualisée figure 1.a, est présenté sur la figure 1.b. On suppose que le signal analysé est en tous points identique à celui employé pour le tracé du spectre de la figure 1.a. Quelle est votre conclusion ?

Electronique échantillonnée et filtrage numérique 48

Hor scale 150 - 300 kHzHor scale 150 - 300 kHz

Fe Fe’acquisition is stopped Fe Fe’acquisition is stopped

Figure 1.a. Figure 1.b. 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 ?

VI Architecture "Pipelined Frequency Transform": On considère ici la question de l'analyse spectrale en temps réel de signaux ultra-large bande (au moins 80 MHz de bande passante). On suppose disposer de CAN susceptibles de travailler jusqu'à des fréquences de 1 Gech/s. Introduction : utilisation d'une fréquence intermédaire Le signal à analyser est un signal modulé, de spectre de largeur BP = 80 MHz, centré sur fp = 2,4 GHz (fréquence porteuse). 1°) Ce signal est-il analysable par l'architecture classique : CAN + DSP/FFT ? Pourquoi ? 2°) On multiplie ce signal par un signal purement sinusoïdal de fréquence fosc = 2,3488 GHz, puis on filtre le signal résultant par un filtre passe-bas idéal de fréquence de coupure fc = 1,2 GHz. Tracer la représentation symbolique du spectre du signal ainsi obtenu. Préciser sa largeur de bande et la valeur de sa fréquence centrale appelée FI (fréquence intermédiaire). 3°) Ce signal est-il analysable par l'architecture classique : CAN + DSP/FFT ? Pourquoi ?

Pipelined frequency transform : (indépendante de l'introduction) La société britannique RF Engines Ltd a breveté une architecture baptisée PFT destinée à constituer une alternative à la FFT. Son principe repose sur le fractionnement par étapes, grâce à des filtres FIR, de la bande passante originelle du signal à analyser. A chaque étape, un spectre [0, BP] est partagé en deux bandes de largeurs identiques BP/2. Le nombre de ces bandes est donc multiplié par deux à chaque étape. Toujours à chaque étape, une des deux demi-bandes est translatée de telle sorte qu'elles occupent toutes les deux la même game de fréquences [0, BP/2] à l'issue d'une étape. Ces opérations (division puis translation) sont réalisées dans ce que l'on appellera un module.

Electronique échantillonnée et filtrage numérique 49

A B C D

A

A

B

B

C

C

D

D

f

f

f f f f

f

BP

1e étape

2e étape

0

0

0 0 0 0

0

BP/2 BP/2

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é ? Considérons maintenant une application militaire dans laquelle il s'agit de surveiller un spectre large bande de 102,4 MHz avec une RBW de 400 kHz, tout en capturant et analysant finement en temps réel avec une résolution de 6,25 kHz un signal fugitif présent dans une

Electronique échantillonnée et filtrage numérique 50

bande de 400 kHz de large. Cette dernière bande appartient au spectre de largeur 102,4 MHz, et on la supposera de plus entièrement contenue dans une des bandes RBW de 400 kHz. 13°) Quel est le nombre minimum de modules strictement nécessaires à cette application ? 14°) En quoi pour cette application, la solution PFT diffère-t-elle fondamentalement de l'architecture FFT qui pourrait être envisagée ?

étage 1 étage 2

étage 2

étage 3

étage 3

étage 3

étage 3

étage 4

étage 4

étage 4

étage 4

étage 4

étage 4

étage 4

étage 4

Fe Fe Fe /2 Fe /4 Fe /8

ceci est un module

(é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

y[n] = 1/4 x[n]+x[n-1]+x[n-2]+x[n-3] 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 » ?

Electronique échantillonnée et filtrage numérique 51

On se propose maintenant « d’analyser » x[n] grâce au signal Ψ[n] ci-dessous.

3°) Tracer c a[ ]= x[n]Ψn→+∞

−∞

∑ [n − a] , a étant un entier relatif.

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] ? 5°) L’objectif est-il atteint ? Y a-t-il un « prix à payer » ?

.

.......

..............

x[n]

(a) (b)

n n

Y[n].

... ..

1

2

1

2

1

00

Systèmes discrets :

I Soit le système :

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é. II Soit le système :

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.

+ y[n]

T Tx[n] 1/2

x[n]

y[n]

T a

+b T

Electronique échantillonnée et filtrage numérique 52

a T

+x[n] y[n]

II Donner une structure de filtre transversal au filtre ci-dessous.

x[n] T a

+b

y[n]

c

d e

+

T

III Soit le filtre défini par l'équation aux différences : y[n] = a0 x[n] - x[n - 1] 1°) Calculer et représenter graphiquement ses réponses impulsionnelle, indicielle et harmonique pour a0 = 1/2. 2°) A partir de sa réponse harmonique, déterminer sa nature. 3°) Même question pour l'équation aux différences : y[n] = a0 x[n] - x[n - 2], a0 = 1/2. 4°) Même question pour l'équation aux différences : y[n] = a0 x[n] + x[n - 1], a0 = 1/2. IV Soit le filtre :

Tx[n]

y[n]

-a4

+ T

b

TT T T T

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 :

a

T+x[n] y[n]

Electronique échantillonnée et filtrage numérique 53

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].

On rappelle que : 1+ r + r2 + r3 +.. .+r n =1− rn+1

1− r

VII Filtre numérique suréchantillonneur : Dans ses lecteurs de disques audionumériques, Philips utilise un filtre numérique pour éliminer les bandes de fréquences inutiles, présentes dans le spectre du signal analogique échantillonné, quantifié et codé, fourni par la lecture du disque. 1°) Le spectre du signal lu est représenté sur la figure 1. Sachant que la bande des fréquences audibles s'étend de 20 Hz à 20 kHz environ, quelle doit être a priori la valeur minimum de la fréquence d'échantillonnage F apparaissant sur la figure ?

fréquence

amplitude

0 F/2 F 2F 3F

Figure 1

Electronique échantillonnée et filtrage numérique 54

2°) En réalité, F = 44,1 kHz. Après multiplication de la fréquence d'échantillonnage numérique par 4 (3 échantillons sur 4 présentent un valeur nulle), le signal entre dans le filtre numérique représenté sur la figure 2 (coefficients C codés sur 12 bits). De quelle catégorie ce filtre relève-t-il ?

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). VIII Extrapolation linéaire : Soit le signal discret x[n] représenté sur la figure 3. Un échantillon sur deux possède une valeur nulle. Ce signal est appliqué à l'entrée d'un filtre numérique destiné à générer un signal y[n], égal à x[n] lorsque x[n] ≠ 0, et égal à l'extrapolation linéaire des deux dernières valeurs non nulles de x[n] dans le cas contraire. 1°) Donner l'équation aux différences permettant le calcul de y[n]. 2°) Donner la fonction de transfert H(z) de ce filtre. 3°) En supposant (ce qui est faux) une variation monotone (sans changement de signe de la pente) de la fonction H(ejf ) entre 0 et Fe/2 (Fe fréquence d'échantillonnage), tracer qualitativement la caractéristique fréquentielle du filtre, et conclure quant à son type (passe-bande, passe-haut ...). 4°) Ce filtre est maintenant supposé être utilisé dans un lecteur de disques audionumériques du type de celui vu plus haut, mais avec une multiplication par 2 seulement de la fréquence d'échantillonnage. Redessiner le schéma de la figure 2 dans ce cas particulier.

T/4

+

entrée numériquecodée sur 16 bits

T/4 T/4 T/4

C1 C2 C3 C4 C96

sortie numérique

Figure 2

Electronique échantillonnée et filtrage numérique 55

y[n]

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).

(a) y[n] = cos(n).x[n] (b) y[n ] = x[ i ]i=0

n∑ (c) y[n ] = x[ i ]

i=n−1

n+1∑

(d) y[n] = x[n-1] (e) y[n] = ex[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)

XI Algorithme de suppression d’écho dans un système de transmission numérique « full duplex » (d’apres « Acoustic Echo Cancellation - Application Report », Texas Instruments, 1996). Lors d’une vidéo-conférence, les voix provenant des deux sites connectés sont transmises simultanément, comme en téléphonie traditionnelle (full duplex). Le son i[n] en provenance du site A est restitué par un haut-parleur sur le site B. Une partie e[n] de ce son, mélangé aux voix v[n] du site B, est capté par un microphone et transmis vers le site A où les participants

Electronique échantillonnée et filtrage numérique 56

reçoivent donc un écho e[n] de leurs propres voix. Cet effet désagréable peut être atténué par le traitement numérique du signal, à condition de retrancher au signal transmis vers A une réplique ê[n] de l’écho, élaborée à partir de i[n] et dans l’idéal identique à l’echo e[n] lui-même. Il est entendu que les participants à la vidéo-conférence ne parlent pas en permanence, et que les caractéristiques physiques de la pièce B affectant le phénomène d’écho peuvent varier dans le temps. Le système de traitement numérique du signal doit donc assurer trois tâches : calculer la puissance véhiculée par les signaux i[n] et w[n] pour décider de leur présence ou de leur absence - estimer la fonction de transfert H(z) de la pièce B et donc trouver la relation entre e[n] et i[n] - filtrer i[n] pour fabriquer ê[n] grâce à un filtre adaptatif dont les caractéristiques dépendront de H(z).

Pièce

Système de traitement numérique

++

-

parcours de l’echo

i[n]

ê[n]

v[n] + e[n] v[n] + e[n] - ê[n]

E(z) = H(z).I(z) avec E(z) et I(z) transformées en z de e[n] et i[n]

B A

w[n] = x[n] =

I Calcul de la puissance des signaux : Le calcul de la puissance P[n] d’un signal x[n] se fera grâce à l’équation de récurrence ci-dessous :

P[n]= (1− η)P[n −1]+ ηx2[n] avec 0 ≤ η ≤ 1. 1°) Considérant qu’il s’agit d’un filtre, le qualifier en termes de récursivité, causalité, stabilité, linéarité et variance dans le temps. 2°) Ce filtre est appliqué aux signaux i[n] et w[n], et permet au système de traitement, par comparaison des valeurs de P[n] à des seuils constants, de déterminer si les signaux correspondants sont présents, si donc un filtrage de i[n] (production de ê[n]) doit être effectué, et si les coefficients du filtre correspondant doivent être ajustés en temps réel en fonction de variations éventuelles de H(z). Compléter par oui ou par non les cases vides du tableau ci-dessous. 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 :

Electronique échantillonnée et filtrage numérique 57

ˆ e [n]= ak [n].i[n − k]

k=0

N−1

avec lorsque la fonction « adaptation » est active ak [n] = ak [n −1]+ µ e[n −1] − ˆ e [n− 1] , µ constante, et lorsque la fonction « adaptation » est inactive ak [ n] = ak [n −1]. 1°) Qualifier ce filtre en termes de récursivité, causalité, stabilité, linéarité et variance dans le temps. 2°) En supposant que N = 799 et Fe (fréquence d’échantillonnage) = 8 kHz, quelle est, en secondes, le retard maximum du à un écho pouvant être traité. 3°) Lorsque la fonction « adaptation » est active, quel effet sur les coefficients ak une annulation d’écho insuffisante a-t-elle ? 4°) En supposant que la fonction « adaptation » est active et que H(z) = 0,5 z-1 µ = 0,1 ak[0] = 0 v[n] = 0 N=3 remplir le tableau ci-dessous avec ε[n] = (e[n] - ê[n]) et i[n] = u[n] (échelon unité). n 0 1 2 3 4 5 6 7 8 9 10 ak[n] 0 ê[n] 0 ε[n] 5°) Même question avec µ=1. On ne remplira que quelques colonnes. 6°) Conclure en considérant la réponse concernant la stabilité apportée à la question 1° du II. N.B : sont notés sous la forme f[n] non seulement des signaux « numérisés », mais aussi toute variable discrète du temps. XII Soit le filtre ci-dessous où C1 et C2 sont des constantes.

Electronique échantillonnée et filtrage numérique 58

x[n]

y[n]

T

+

C1

C2

+

1°) Etablir l’expression de son équation de récurrence. 2°) Proposer, sous forme de schéma bloc, une autre structure, directement déduite de l’équation de récurrence. 3°) Laquelle de ces deux structures est canonique ? 4°) Définir ce filtre en termes de récursivité, causalité, variance temporelle. 5°) Préciser l’expression de sa réponse impulsionnelle. Dans quel cas particulier est-elle à durée finie ? 6°) En déduire les conditions de stabilité de ce filtre. XIII Filtre égaliseur numérique pour transmission de données Dans le cas d’une transmission série de données binaires (0 ou 1) utilisant une ligne (paire symétrique ou coaxiale) la transmission d’un « 1 » correspond à une impulsion rectangulaire positive et la transmission d’un « 0 » correspond à une absence d’impulsion (format unipolaire NRZ). L’émission et la réception sont synchrones, de période T, l’échantillonnage à la réception ayant lieu au milieu du moment temporel correspondant à l’émission éventuelle d’une implulsion.

0 1 0 1 1 0

T

n-1 0 1 2 3 4instants d’échantillonnage à la réception

cas idéal cas réel pour une impulsion isolée

n-1 0 1 2 3 4

instants d’échantillonnage à la réception

x(t) x[n]

t

1

0,4

0,2

En pratique, du fait de la nature « passe-bas » de la ligne, l’impulsion, lorsqu’elle existe, arrive au niveau du récepteur déformée comme indiqué ci-dessus. Dans le cas, par exemple, de l’émission d’un « 0 » encadré par deux « un » existe alors le risque de mal interpréter le niveau du signal correspondant à la réception du « 0 » (confusion inter-symbole). A la

Electronique échantillonnée et filtrage numérique 59

réception, et avant toute interprétation du code, il est donc procédé à un filtrage « égaliseur ». Une phase d’étalonnage, utilisant une impulsion isoléee est utilisée pour concevoir le filtre. 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 ? On utilise maintenant un filtre purement récursif de la forme y[n] = a0x[n] + b1 y[n-1] +...+ bq y[n-q]. 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 ? XVI Filtre en peigne : Soit le filtre discret (a) ci-desous. 1°) Le caractériser en termes de récursivité, stabilité, causalité. 2°) Etablir son équation de récurrence et l'expression du module de sa fonction de transfert fréquentielle H(jf). On retiendra une expression ne faisant apparaître que des fonctions sinus et cosinus.

Electronique échantillonnée et filtrage numérique 60

3°) Donner l'expression du module de sa réponse fréquentielle et le tracer dans l'intervalle fondamental [0,Fe/2], Fe étant la fréquence d'échantillonnage. On rappelle que 2sin2A=1-cos2A. Soit le filtre discret (b) ci-dessous. 4°) Le caractériser en termes de récursivité, stabilité, causalité. 5°) Etablir son équation de récurrence et l'expression du module de sa fonction de transfert fréquentielle H'(jf). On retiendra une expression ne faisant apparaître que des fonctions sinus et cosinus. Quelles sont les fréquences f0 pour lesquelles H'(jf) s'annule ? 6°) Tracer sa réponse fréquentielle dans l'intervalle fondamental pour N = 4. Justifier le fait qu'il soit appelé "filtre en peigne".

Cycle limite

I Soit le filtre dont la structure est donnée ci-desssous.

1°) On pose a = - 0,91. Tracer la réponse impulsionnelle de ce filtre. Conclure quant à sa stabilité. 2°) On suppose y[0] = 7, et x[n] = 0 pour tout n ≥ 0. Tracer y[n] pour n ≥ 0. Conclure quant à la stabilité. II On prend maintenant en compte la quantification des résultats intermédiaires en faisant apparaître un quantificateur Q dans la structure du filtre comme indiqué ci-dessous.

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]

+

T

x[n] y[n]

a

+

T

x[n] y[n]

aQ

(a)

T

-1

[x]

[y] +

T T

(b

T

-1

[x]

[y] +

(1 (2 (N)

Electronique échantillonnée et filtrage numérique 61

pour n ≥ 0 dans l'hypothèse où le quantificateur travaille par arrondi. Conclure quant à la stabilité. 4°) Même question si le quantificateur travaille par troncature. 5°) Considérant les résultats des questions 3 et 4 ci-dessus, ainsi que les caractéristiques du bruit de quantification associé, peut-on conseiller un type de quantificateur convenant à toutes les applications ? N.B : dans les questions 3 et 4 ci-dessus, on supposera que a possède la valeur exacte - 0,91.

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).

+

T

x[n] y[n]

a1Q

P

Ta2

+

xp[n]

Théorème de transposition Soit le filtre ci-contre. 1°) Donner son équation de récurrence. Est-il canonique ? 2°) Quelle est la condition sur a, b et c pour qu’il soit à phase linéaire ? Le « théorème de transposition » affirme que la réponse en fréquence d’un filtre est invariante si, dans le schéma bloc

a) le signal circule en sens inverse (l’entrée devient la sortie et vice versa – les dispositifs directionnels sont retournés)

b) les nœuds sont remplacés par des additionneurs et les additionneurs par des nœuds. 3°) Donner la forme transposée du filtre ci-dessus. Vérifier le théorème . 4°) Cette forme est-elle canonique ? 5°) Entre le schéma bloc initial et celui du 3°, y en a-t-il un présentant un intérêt particulier ? Lequel ? 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.

x[n]

T y[n]

a b c

T + +

Electronique échantillonnée et filtrage numérique 62

1°) Caractériser ce système en termes de linéarité et d’invariance temporelle. 2°) Supposons que le nombre de zéros soit supérieur au nombre de pôles de H(z). Quelle est la conséquence sur la nature du système ? (on pourra s’aider d’un exemple simple) Méthode de conception de filtre « à invariance de la réponse impulsionnelle » Soit le circuit électrique ci-contre. τ=RC=1s. 1°) Quelle est l’expression de sa fonction de transfert symbolique H(p) ? Quelle est l’expression de sa fonction de transfert complexe Ha(jω) ? 2°) Tracer le module de Ha(jω) en dB. 3°) Déterminer et tracer ha(t), réponse impulsionnelle de ce circuit. La méthode de conception de filtre dite « à invariance de la réponse impulsionnelle » consiste à réaliser un filtre numérique de réponse impulsionnelle hd[n] telle que hd[n]= ha(nTe) où Te est la période d’échantillonnage du filtre discret. 4°) Visualiser hd[n] sur le même tracé que ha(t) en posant Te = 0,1 s. 5°) Supposons que seul un nombre fini d’échantillons soit retenu, le filtre numérique dont l’équation de récurrence est alors immédiate à écrire est-il • non récursif ? Et dans ce cas est-il à phase linéaire ? • ou bien récursif ? Et dans ce cas est-il stable ? On ne limite plus le nombre d’échantillons pris en compte, on se souvient d’une part que la fonction de transfert Hd(z) d’un filtre discret est égale à la transformée en z de sa réponse impulsionnelle, et que d’autre part 1+a+a2+a3+…=1/(1-a) si (–1<a<+1), et enfin on suppose que le module de [exp(-Te)z

-1] est inférieur à 1. 6°) Donner l’expression de la fonction de transfert Hd(z) du filtre numérique dont la réponse impulsionelle est hd[n] définie au 4°. 7°) Donner son équation de récurrence et son schéma bloc pour Te = 0,1 s. 8°) Esquisser sans calcul le tracé du module de sa réponse fréquentielle Hd(jω). En quoi le choix de Te conditionne-t-il la fidélité de la réponse ainsi obtenue vis à vis de Ha(jω) ? 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 ?

R

C e s

Electronique échantillonnée et filtrage numérique 63

5°) On relève que pour f variant entre 646 et 794 Hz, le déphasage a varié de 2 π. Quelle est la valeur du "temps calcul" ? Overflow :

+ +x[n] y[n]w[n]

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].

3°) Calculer h[n]n =−∞

n =+∞

∑ (on rappelle que α n =n= 0

n =+∞

∑1

1− α si –1<α<1).

4°) Donner sa réponse impulsionnelle h'[n] au point w[n].

5°) Calculer h' [n]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] :

y[n] = h[n] ∗ x[n] = h[i ]x[n − i]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 ? Amplificateur numérique : (illustrations extraites de Spectrum, revue de l'IEEE, mars 2003). Le domaine de l'électronique audio hi-fi très haut de gamme est un domaine paradoxal où se côtoient des amplificateurs à tubes (ci-contre), des amplificateurs à électronique intégrée traditionnels (ci-dessous à gauche), et des amplificateurs numériques (ci-dessous à droite). 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 64

+ 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+

V-

+Valim

-Valim

e(t)

s(t)

+V

-V

?

s’(t) s ’’(t)

HP

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

Electronique échantillonnée et filtrage numérique 65

commande = - Vsat) et inversement. C'est un amplificateur dit "en classe D" possédant un rendement énergétique bien plus élevé que les autres classes d'amplificateurs (A, AB, C). Les amplificateurs classe D ont longtemps été employés dans les applications industrielles de gestion de l'énergie et de commande de moteurs, mais aussi dans des domaines où le rendement est essentiel (prothèses auditives). Ils sont ensuite apparus dans le domaine de la hi-fi haut de gamme. Plus récemment, on les a introduits dans les lecteurs CD portables, les baladeurs MP3, les PDA… 3°) Quel est le paramètre de s(t) qui porte l'information véhiculée par l'amplitude de e(t) ? (on s'aidera d'un chronogramme dans lequel e(t) sera variable) 4°) Quelle est la relation devant être vérifiée par la dérivée de e(t) d'une part, et Valim/T d'autre part, pour que la réponse précédente soit valide ? 5°) Quelles sont les fonctions d'un CAN alors réalisées : échantillonnage, quantification, codage ? 6°) Tracer, en parallèle du chronogramme du 3°, s(t) et s'(t). On précisera bien les amplitudes. 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 ?

Corrigés de quelques exercices Conversion et transmission : 1°) 12 MHz 2°) 72 Mbits/s TFSD :

I 1°) 1 2°) e-j3ωTe

III 1°) 500 Hz 2°) 2 ms 3°) 16,6 ms 4°) 8 et 56 5°) 482 Hz IV La fréquence d’échantillonnage Fe (et peut-être Fe’) ne respecte pas le théorème de Shannon. Si c’était le cas, les deux raies émergeant du bruit ne se seraient pas déplacées. V 1°) T0=1024Te=40ms, 1024x10 opérations (+ /x) à effectuer => tps de cycle = 3,9µs 2°) des échantillons ne seront pas pris en compte pour le calcul de la prochaine FFT 3°) le DSP disposera de temps pour faire autre chose ou bien fera de la FFT sur intervalle glissant Systèmes discrets : I 1°) y[n] = x[n]+x[n-1]+1/2 y[n-1] => linéaire, invariant, récursif, causal, premier ordre 2°) h[n] = 0 si n<0, =1 si n=0, = 3/2n si n>0, stable bien que RII II 1°) y[n] = x[n] + a y[n-1] => linéaire, invariant, récursif, causal, premier ordre

2°) 1/(1-az-1

) 3°) h[n] = 0 si n<0, =1 si n=0, = an si n>0, stable si a <1 Filtres :

I

Electronique échantillonnée et filtrage numérique 66

x[n] y[n] T a+b

II

x[n] T

y[n] +

T

c + bd

ad + be

ae

IV

1°) y[n] = x[n-1]-a4x[n-5]+by[n-1]

h[n]=δ[n-1] +b δ[n-2]+b2 δ[n-3]+b

3 δ[n-4]+(b4-a

4) δ[n-5]+b(b

4-a

4) δ[n-6]+...

H(z)=(z-1

-a4z-4

)/(1-bz-1

) 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]

h[n]= an-1

u[n-1]

H(z)=z-1

/(1-az-1

) 2°) stable si –1≤a≤+1

3°) H(jf)=1/( e-j2Πf/Fe

-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]

3°) y[n ] = P1− (τ + 1)n+1

1− (τ + 1)u[ n]

VII Filtre numérique suréchantillonneur : 1°) Fmin = 40 kHz 2°) non récursif, causal, transversal, 95 retards 3°) 52 bits, 24 multiplications 4°)

F 4F 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

Electronique échantillonnée et filtrage numérique 67

3°) passe-bas, H(0) = 2, H(Fe/2) = 0. 4°) structure transversale classique à 3 cellules "retard" de valeur T/2 IX Filtre moyenneur : 1°) y[n] = 1/3 x[n-1] + x[n] + x[n+1] 2°) h[n] = 1/3 δ[n-1] + δ[n] + δ[n+1] d[n] = 1/3 δ[n+1] + 2/3 δ[n] + u[n-1] 3°) linéaire, invariant, non-causal, stable 4°) passe-bas, |H(0)|=1, |H(Fe/3)|=0, |H(Fe/2)|=1/3, argument toujours nul. 5°) y[n] = 1/3 x[n] + x[n+1] + x[n+2] => filtre non-causal, argument de H(f) non nul, filtre à phase linéaire. XI Suppression d’écho : I 1°) récursif, causal, invariant, stable, non-minéaire 2°) Filtrage Adaptation Haut-parleur actif mais pas de signal émis directement du local B

oui oui

Haut-parleur actif et émission directe du local B

oui non

Haut-parleur inactif

xxxxxxxxxxxxx non

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]+...+ C1

m( 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

Electronique échantillonnée et filtrage numérique 68

XIV 1°) y[n]=x[n]+x[n-1]+x[n-2]+x[n-3]+x[n-4]+x[n-5]+x[n-6]+x[n-7] 2°) l’équation non récursive est plus économe car elle contient moins de termes 3°) parce qu’il s’agit d’un filtre RIF XV 1°) c’est la version (a) 2°) c’est la version (b) 3°) c’est la version (a)

4°)Ha(z)=z/(z-1) Hb(z)=1/2 (z+1)/(z-1) 5°) O X R O X R -1 0 1 -1 0 1 6°) ils sont juste stables. Il ne pourrait en être autrement puisque la convergence d’une

intégrale dépend de la fonction intégrée. Overflow : 1°) récursif, forme directe II. y[n]=x[n]-0,9x[n-1]+0,8y[n-1] 2°) h[n]=δ[n]-0,1.(0,8)n-1u[n-1] 3°) 0,5 4°) h’[n]= (0,8)nu[n-1] 5°) 5

6°) limn→ ∞

y[n] = X h[i ]i = 0

+∞

7°) la limite précédente doit être en valeur absolue inférieure à 1. 8°) a priori X est déjà ≤ 1 puisque x[n] est lui-même en virgule fixe. Une mise à l’échelle est toutefois nécessaire, non pas vis à vis du résultat final y[n] mais du résultat intermédiare w[n]. La mise à l’échelle doit êtr e telle que X ≤ 0,2.