10

Click here to load reader

e(t) s(t) PB 1 CAN DSP CNA PB 2 - benoit.decoux.free.frbenoit.decoux.free.fr/ENSEIGNEMENT/SIGNAL/ESIEA/projet_DSP_ESIEA... · Traitement de Signal – DSP, ESIEA, juin 2007 1 Travaux

  • Upload
    dodat

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: e(t) s(t) PB 1 CAN DSP CNA PB 2 - benoit.decoux.free.frbenoit.decoux.free.fr/ENSEIGNEMENT/SIGNAL/ESIEA/projet_DSP_ESIEA... · Traitement de Signal – DSP, ESIEA, juin 2007 1 Travaux

Traitement de Signal – DSP, ESIEA, juin 2007

Travaux Pratiques de Traitement du Signal sur DSP 56303 de Motorola

Introduction

En français, DSP signifie "Digital Signal Processor" : processeur de traitement numérique de signal (en anglais, le sens est plus général : traitement du signal numérique, pour Digital Signal Processing). Il s’agit d’un processeur possédant des fonctions spéciales le rendant performant pour le traitement du signal. Parmi ces spécificités, on peut citer l’architecture de sa mémoire interne de type Harvard : la mémoire pour les données et celle pour le programme sont séparées, permettant des accès en parallèle.

Son principal intérêt est de permettre des applications de traitement de signal embarquées et temps-réel. La condition de temps-réel stipule ici que la durée de traitement d’un échantillon soit inférieure à la durée séparant 2 échantillons consécutifs (= la période d’échantillonnage).

Le schéma fonctionnel de la chaîne de traitement des systèmes à DSP est le suivant :

- e(t) est le signal d’entrée, s(t) le signa- PB 1 est un filtre passe-bas appelé filt

du spectre de fréquence et de respecter- CAN est un Convertisseur Analogique- DSP est le processeur numérique - CNA est un Convertisseur Numérique- PB 2 est un 2e filtre passe-bas, permet

forme de marches d’escalier en sortie - Ports E/S : ports d’entrée/sortie perm

DSP Toutes ces fonctions sont présentes sur la

carte est DSP56303EVM. Elle comporte un Dcomportant quelques différences.

Un DSP typique possède de nombreux comporte de la mémoire, des timers, des porrapides, etc.

D CNAN PB 2 P

e

e(t) s(t)

SP

1

l de sortie (signre anti-repliem la condition d-Numérique

-Analogique tant de "lisser"du CNA) ettant d’échang

carte d’évaluSP 56303 de

points commuts d’entrée/sort

CA

aux continus)ent : il permet’échantillonna

le signal de s

er des donné

ation utilisée. Motorola, su

ns avec des ie à usage g

B 1

mémoir

Ports E/S

d’éviter le repliement ge de Shannon

ortie (qui présente une

es numériques avec le

La référence de cette ccesseur du 56002 et

micro-contrôleurs : il énéral, des ports série

Page 2: e(t) s(t) PB 1 CAN DSP CNA PB 2 - benoit.decoux.free.frbenoit.decoux.free.fr/ENSEIGNEMENT/SIGNAL/ESIEA/projet_DSP_ESIEA... · Traitement de Signal – DSP, ESIEA, juin 2007 1 Travaux

Traitement de Signal – DSP, ESIEA, juin 2007

2

Objectif

L’objectif de ces séances de travaux pratiques est d’étudier quelques algorithmes de base de traitement du signal, du point de vue de leur implantation sur le DSP. Quelques applications audio comme une balance stéréo et un effet seront également abordés.

Les exercices traités durant ces séances sont les suivants :

Exercice 1. Prise en main du DSP : calcul de la somme de 2 nombres Exercice 2. Dérivée et intégrale d’un signal Exercice 3. Filtre moyenneur Exercice 4. Filtre à réponse impulsionnelle finie (RIF) Exercice 5. Filtre à Réponse Impulsionnelle Infinie (RII) Exercice 6. Synthèse d’un signal par table d’onde Exercice 7. Balance stéréo variable Exercice 8. Effet audio

Matériel et logiciels nécessaires

- PC sous Windows - Assembleur pour DSP56303 et debugger pour carte d’évaluation - Carte d’évaluation EVM56303 - Câble série DB9 mâle-femelle - Alimentation stabilisée 9V - Oscilloscope - Générateur de fonctions - 2 câbles BNC-jack stéréo - Enceintes stéréo ou casque

Modalités de déroulement

L’évaluation des TP se fera par validations et rapport. L’assiduité et la maîtrise des programmes sera prise en compte et viendra moduler la note

technique. Les points de validation ne seront attribués qu’aux élèves présents au moment où elle est

effectuée. Attention : certains exercices sont différenciés pour les classes de la semaine 1 et celles

de la semaine 2.

Bibliographie "Traitement numérique du signal. Application du processeur spécialisé DSP56002", Patrice Nus, Publitronic-Elektor, 1998.

Page 3: e(t) s(t) PB 1 CAN DSP CNA PB 2 - benoit.decoux.free.frbenoit.decoux.free.fr/ENSEIGNEMENT/SIGNAL/ESIEA/projet_DSP_ESIEA... · Traitement de Signal – DSP, ESIEA, juin 2007 1 Travaux

Traitement de Signal – DSP, ESIEA, juin 2007

3

Exercices Exercice 1. Prise en main du DSP : calcul de la somme de 2 nombres

Le programme suivant effectue une addition de 2 nombres. Le sauvegarder dans un fichier portant l’extension ".asm" et l’assembler en utilisant la procédure donnée en annexe.

org X:$0 ;positionnement à l’adresse $0 du champ mémoire X oper1 dc $1234 ;définition d’une constante "oper1" (opérande 1) oper2 dc $ABCD ;définition d’une constante "oper2" (opérande 2)

org Y:$0 ;positionnement à l’adresse $0 du champ mémoire Y result ds 1 ;réservation d’un emplacement mémoire pour le résultat org P:$0 ;adresse $0 de la mémoire programme (champ P) ;(P:0 correspond à l’adresse du vecteur RESET) begin move X:oper1,Y0 ;chargement du registre Y0 avec la valeur "oper1" move X:oper2,A ;chargement du registre A avec la valeur "oper2" add Y0,A ;oper1+oper2, résultat dans A move A,Y:result ;stockage du résultat à l’adresse "result" dans Y jmp begin ;retour à "begin" end

En s’aidant du debugger (bouton "T"), donner les valeurs fractionnaires des 2 opérandes, ainsi que le résultat en hexadécimal et en décimal.

Exercice 2. Tests des entrées/sorties analogiques de la carte

Pour cette exercice, on a besoin du programme configurant correctement le CODEC, permettant de réaliser des entrées/sorties (stéréo) analogiques. Ce programme, fourni avec la carte d’évaluation, s’appelait initialement pass.asm, mais selon la machine, il peut avoir été renommé. On appellera ce programme suiveur.

Le cœur de ce programme est une boucle infinie comportant : une synchronisation sur les échantillons du signal d’entrée (synchronisation du

traitement à la fréquence d’échantillonnage programmée pour le CODEC) : jset #2,x:M_SSISR0,* ;wait for frame sync to pass jclr #2,x:M_SSISR0,* ;wait for frame sync

la lecture de ces 2 échantillons droite et gauche dans des buffers d’entrée : move x:RX_BUFF_BASE,a ;receive left move x:RX_BUFF_BASE+1,b ;receive right

un saut à la routine de traitement : jsr routine ;saut à la routine de traitement

l’envoi du résultat dans les buffers de sortie : move a,x:TX_BUFF_BASE ;transmit left move b,x:TX_BUFF_BASE+1 ;transmit right

(les 2 lignes de réglage des paramètres de la sortie audio, non mentionnées ici, peuvent être placées avant la boucle).

A l’entrée dans la routine de traitement "routine", l’échantillon de la voie gauche se trouve dans l’accumulateur A et l’échantillon de la voie droite dans l’accumulateur B. Plus précisément, ces échantillons étant codés sur 24 bits (la résolution du CODEC) et les accumulateurs A et B étant sur 56 bits, ils se trouvent respectivement dans A1 et B1 (voir architecture du DSP56303 en

Page 4: e(t) s(t) PB 1 CAN DSP CNA PB 2 - benoit.decoux.free.frbenoit.decoux.free.fr/ENSEIGNEMENT/SIGNAL/ESIEA/projet_DSP_ESIEA... · Traitement de Signal – DSP, ESIEA, juin 2007 1 Travaux

Traitement de Signal – DSP, ESIEA, juin 2007

4

annexe). De même, à la sortie de la routine, les échantillons résultats doivent se trouver dans A1 et B1. En pratique, si les câbles BNC-jack sont mono, le signal injecté en entrée ne sera disponible que sur la voie droite. ... loop_1

jset #2,x:M_SSISR0,* ;wait for frame sync to pass jclr #2,x:M_SSISR0,* ;wait for frame sync

move x:RX_BUFF_BASE,a ;receive left move x:RX_BUFF_BASE+1,b ;receive right jsr routine ;saut à la routine de traitement move a,x:TX_BUFF_BASE ;transmit left move b,x:TX_BUFF_BASE+1 ;transmit right

move #TONE_OUTPUT,y0 ;set up control words move y0,x:TX_BUFF_BASE+2 move #TONE_INPUT,y0 move y0,x:TX_BUFF_BASE+3 jmp loop_1

... routine ;début de la routine de traitement ... ... rts ;fin de la routine ... end ;fin du programme

Une avantage d’utiliser cette architecture de programme est que, en cas de problème de fonctionnement général, pour savoir s’il vient d’un problème de la routine de traitement ou du dispositif de test, il suffit de mettre la ligne "jsr routine" en commentaires pour revenir au programme pass.asm, ce qui permet de vérifier que le dispositif de test est correct.

Tous les exercices utilisant les entrées/sorties analogiques pourront utiliser le programme

suiveur Pour tester ce programme, effectuer les opérations suivantes :

a) Appliquer un signal sinusoïdal issu du générateur de fonctions, dans l’entrée analogique de la carte d’évaluation (connecteur jack) ;

b) Connecter un oscilloscope en sortie analogique ligne (connecteur jack) ; c) Lancer le programme "suiveur" ; d) Visualiser le signal et au besoin diminuer son amplitude si une saturation du signal de

sortie apparaît. 2.1) En faisant varier la fréquence du signal sinusoïdal en sortie du générateur de fonctions,

relever grossièrement la réponse en fréquence de la carte (amplitude du signal de sortie en fonction de la fréquence) et relier cette réponse à la fréquence d’échantillonnage programmée (en raisonnant sur les conditions d’échantillonnage d’un signal).

2.2) Remplacer le signal sinusoïdal par un signal carré, et en raisonnant sur les séries de Fourier,

expliquer pourquoi le signal carré devient sinusoïdal lorsque sa fréquence augmente (en précisant à quelle fréquence, approximativement, ce phénomène apparaît).

Page 5: e(t) s(t) PB 1 CAN DSP CNA PB 2 - benoit.decoux.free.frbenoit.decoux.free.fr/ENSEIGNEMENT/SIGNAL/ESIEA/projet_DSP_ESIEA... · Traitement de Signal – DSP, ESIEA, juin 2007 1 Travaux

Traitement de Signal – DSP, ESIEA, juin 2007

5

Exercice 3. Dérivation d’un signal

La dérivée s(t) d’un signal analogique e(t) est définie par :

ττ−−==

→τ

)t(e)t(elimdt

)t(de)t(s0

En calcul numérique, le plus petit pas temporel est la période d’échantillonnage Te. La dérivée s’obtient donc en calculant :

e

e

T)Tt(e)t(e)t(s −−=

soit, en indices d’échantillons :

eT)1n(e)n(e)n(s −−=

où n représente l’échantillon courant et n-1 l’échantillon précédent. Cette transformation analogique-numérique est appelée "équivalence de la dérivation".

La division par Te permet de garder le lien avec le temps du signal réel. En pratique, l’opération de division étant assez difficile à mettre en œuvre sur le DSP56303 et la multiplication par une valeur supérieure à 1 étant impossible (voir Codage en virgule fixe en annexe), on se contentera de calculer :

)1n(e)n(e)n(s −−= ce qui donnera un signal de forme correcte mais d’amplitude incorrecte.

En pratique, à chaque instant (discret) on ne connaît que e(n) ; il faut donc utiliser une variable pour mémoriser e(n-1). Cette variable peut être un registre 24 bits (il existe X0, X1, Y0, Y1, A0, A1, B0, B1, mais il faut vérifier qu’ils ne sont pas utilisés par ailleurs), ou un emplacement en mémoire X ou Y.

On peut envisager 2 algorithmes un peu différents pour réaliser cette opération (memo est la variable de mémorisation) :

charger e(n-1) à partir de memo sauvegarder e(n) dans memo (=futur e(n-1), à la prochaine itération) calculer s(n)=e(n)-e(n-1)

calculer s(n)=e(n)-memo sauvegarder e(n) dans memo (=futur e(n-1), à la prochaine itération)

Les 2 instructions à utiliser sont move pour les transferts et sub pour la soustraction. Il faudra veiller à initialiser correctement la variable de sauvegarde avant d’entrer dans la

boucle infinie de lecture/écriture des échantillons. 3.1) Programmer la dérivation d’un signal, la tester avec un signal carré, un signal triangulaire et

un signal sinusoïdal. L’échantillon e(n-1) sera stocké dans un registre 24 bits. Commenter la forme des signaux obtenus et la comparer avec les formes théoriques. Dans le cas sinusoïdal, commenter l’évolution de l’amplitude du signal de sortie en fonction de la fréquence (en raisonnant sur la dérivée de sin(ωt)).

3.2) Même chose mais en sauvegardant e(n-1) dans un emplacement du plan mémoire X ou Y.

Page 6: e(t) s(t) PB 1 CAN DSP CNA PB 2 - benoit.decoux.free.frbenoit.decoux.free.fr/ENSEIGNEMENT/SIGNAL/ESIEA/projet_DSP_ESIEA... · Traitement de Signal – DSP, ESIEA, juin 2007 1 Travaux

Traitement de Signal – DSP, ESIEA, juin 2007

6

Exercice 4. Filtrage du 1er ordre

L’équation différentielle décrivant le comportement d’un filtre passe-bas du 1er ordre est définie par :

)t(sdt

)t(ds)t(e +τ=

où τ est une constante de temps. L’application de la transformation décrite ci-dessus conduit à l’équation dite "aux différences" :

)1n(s)n(e)n(s −β+α= où α et β sont fonction de τ et Te, e(n) et s(n) sont respectivement les échantillons d’entrée et de sortie actuels, s(n-1) est la valeur précédente de l’échantillon de sortie. 4.1) En guise d’étape intermédiaire, programmer le traitement suivant :

)n(e)n(s α= avec 02,0=α en utilisant l’instruction de multiplication mpy. Tester le programme et commenter les résultats.

4.2) Programmer ce filtrage sur le DSP avec τ=10-3 et relever (rapidement) son diagramme de

Bode (uniquement le gain) en lui appliquant un signal sinusoïdal et en faisant varier sa fréquence. Comparer ce résultat avec le diagramme théorique.

Exercice 5 : Filtre moyenneur

Un filtre moyenneur d’ordre 3 est défini par :

4)3n(e)2n(e)1n(e)n(e)n(s −+−+−+=

Pour limiter la longueur du programme et le rendre facilement modifiable, on placer les additions dans une boucle. C’est ce que fait le programme ci-dessous, dont seules les parties importantes sont données (les pointillés correspondent à des parties du programme pass.asm). Il utilise l’instruction add pour l’addition, et l’adressage modulo pour accéder aux échantillons mémorisés e(n-i). org X:$0 en dsm 3 ;3 emplacements mémoire pour e(n-i) ...

move #en,R0 ;registre d’adresse R0 pointe sur la zone mémoire "en" move #2,M0 ;zone mémoire "em" en adressage modulo 3

clr A ;? do #3,finraz ;? move A,X:(R0)+ ;?

finraz ... jsr moy ;appel dans boucle de lecture-écriture ... moy ;début routine (on suppose que B contient e(n)) move B,A ;?

do #2,finmac ;boucle sur les 2 premières additions move X:(R0)+,X0 ;e(n-i)->X0, R0=R0+1 add X0,B ;X0+B->B <-> B=B+e(n-i)

finmac move X:(R0),X0 ;? add X0,B ;?

Page 7: e(t) s(t) PB 1 CAN DSP CNA PB 2 - benoit.decoux.free.frbenoit.decoux.free.fr/ENSEIGNEMENT/SIGNAL/ESIEA/projet_DSP_ESIEA... · Traitement de Signal – DSP, ESIEA, juin 2007 1 Travaux

Traitement de Signal – DSP, ESIEA, juin 2007

7

move A,X:(R0) ;? move #0.25,X0 ;? move B1,Y0 ;B->Y0 pour la multiplication (B contient e(n)+e(n-1)+e(n-2)) mpy X0,Y0,B ;? rts ;fin routine

5.1) Analyser ce programme, compléter ses commentaires (en donnant la signification de chaque ligne d’instruction, comme pour les commentaires déjà présents), et le tester. Commenter la forme du signal obtenu dans le cas où le signal d’entrée est carré. Indiquer le type de ce filtre, préciser sa fréquence de coupure à –3dB et observer son comportement quand la fréquence augmente.

5.2) L’une des principales particularités des DSP est de posséder l’instruction MAC

(Multiplication et ACcumulation), optimisée pour le calcul rapide des relations entrée/sortie numériques. Modifier le programme ci-dessus pour qu’il utilise l’instruction MAC à la place de l’instruction ADD, les coefficients du filtre étant préalablement stockés en mémoire. Remarque : il n’est pas nécessaire de mémoriser l’échantillon d’entrée actuel e(n) avant de l’utiliser dans le calcul (comme dans la version avec l’instruction ADD), mais ici il est conseillé de le faire quand même pour simplifier le programme. Ce dernier commencera par exemple par :

org X:$20 ;attention, "pass.asm" met des choses en X:0

h0 dc 0.25 h1 dc 0.25 h2 dc 0.25 h3 dc 0.25 en dsm 4 ;emplacements mémoire pour e(n), e(n-1), e(n-2) et e(n-3) ...

Exercice 6 : Filtre à réponse impulsionnelle finie (RIF)

Un filtre de type RIF est défini par une équation aux différences du type :

∑=

−=−++−+=L

0iiL10 )in(eh)Ln(eh...)1n(eh)n(eh)n(s

Elle ne contient pas de terme de récurrence. 6.1) Calcul des coefficients Propriétés

Les coefficients hi correspondent à un échantillonnage des échantillons de la réponse impulsionnelle du filtre. De plus, la transformée de Fourier de la réponse impulsionnelle du filtre est sa réponse en fréquence.

Principe

La méthode utilisée ici consiste à considérer que la réponse en fréquence désirée est une fonction périodique de période fe (ce qui est le cas dans le domaine de l’échantillonné). Elle peut donc être décomposée en série de Fourier, et les coefficients obtenus sont précisément les

Page 8: e(t) s(t) PB 1 CAN DSP CNA PB 2 - benoit.decoux.free.frbenoit.decoux.free.fr/ENSEIGNEMENT/SIGNAL/ESIEA/projet_DSP_ESIEA... · Traitement de Signal – DSP, ESIEA, juin 2007 1 Travaux

Traitement de Signal – DSP, ESIEA, juin 2007

8

échantillons de sa réponse impulsionnelle. Par rapport à l’utilisation habituelle des séries de Fourier, le temps et la fréquence sont donc intervertis. Formalisation

Dans le cas "classique", la décomposition en série de Fourier d’un signal périodique s(t) donne :

∑+∞

−∞=

π=

k

Tt2jk

k e.c)t(s avec ∫π−

=T

0Tt2jk

k dte).t(sT1c

Ici on intervertit le temps et la fréquence (et on renomme s en H et c en g, par exemple) :

∑+∞

−∞=

π=

k

ff2jk

kee.g)f(H avec ∫

π−= e

ef

0

ff2jk

ek dfe).f(H

f1g

où H(f) est la réponse fréquentielle du filtre En général, la fonction de transfert H(f) est prise réelle (=à phase nulle). L’expression des

coefficients devient :

π= ef

0ee

k dfffk2cos).f(H

f1g

De plus, la fonction de transfert étant symétrique par rapport à fe/2, on peut écrire :

π= 2

f

0ee

k

e

dfffk2cos).f(H

f2g

Enfin, pour simplifier cette expression, on peut utiliser la fréquence relative

effF =

L’expression devient donc : ( )∫ π=

5,0

0k dFkF2cos).f(H2g

Décalage

Les coefficients gk obtenus de cette manière ne correspondent pas à un système causal car il sont symétriques par rapport à l’axe des ordonnées. La moitié d’entre eux correspond donc à des instants négatifs. Pour rendre le système causal et donc physiquement réalisable, il suffit de décaler les coefficients vers la droite de N/2 échantillons. Les coefficients du filtre recherché hk (k=0,…,N-1) sont obtenus par décalage des coefficients gk :

pkk gh −= , k=0,…,N-1 avec

21Np −=

En général, le module de la fonction de transfert est prise égale à 1 sur une plage de fréquence donnée et égale à 0 partout ailleurs. On peut alors simplifier le calcul de l’intégrale.

Page 9: e(t) s(t) PB 1 CAN DSP CNA PB 2 - benoit.decoux.free.frbenoit.decoux.free.fr/ENSEIGNEMENT/SIGNAL/ESIEA/projet_DSP_ESIEA... · Traitement de Signal – DSP, ESIEA, juin 2007 1 Travaux

Traitement de Signal – DSP, ESIEA, juin 2007

9

Troncature-fenêtrage

Le nombre de coefficients du filtre ne peut pas être égal à l’infini. On réalise donc un fenêtrage des coefficients. On utilise souvent un fenêtrage dit "de Hamming", correspondant à une multiplication point par point des coefficients par la fonction :

π×+=

N2kcos46,054,0wk , k=-(N-1)/2,…0,…,(N-1)/2

(= 0 pour les autres valeurs de k) Cas passe-bas

Dans le cas d’un filtre passe-bas, on a : H(F)=1 de 0 à Fc et H(F)=0 de Fc à 0,5, on aurait :

∫ π= cF

0k dF)kF2cos(2g soit

( )ck kF2sink1g ππ

= , k=-(N-1)/2,…0,…,(N-1)/2

On peut donc écrire gk sous la forme : ( )cck kF2csinF2g =

Le petit programme Scilab suivant réalise ce calcul :

clear N=19; fc=0.05; if modulo(N,2)==0 //N pair p=N/2 else p=(N-1)/2 //N impair end h=zeros(1,N); w=ones(1,N); for k=0:N-1 w(k+1)=0.56+0.44*cos(2*%pi*(k-p)/N); if(k==p) h(k+1)=2*fc*w(k+1); else h(k+1)=w(k+1)*sin(2*%pi*(k-p)*fc)/((k-p)*%pi); end end somme=sum(h) h=h/somme num=poly(h, "z", "coef"); sys=syslin('d', num, 1) xbasc; bode(sys, 0.0001, 0.3);

Effectuer ce calcul pour un filtre RIF (de type passe-bas) à 19 coefficients, possédant une fréquence de coupure fc=4800Hz. 6.2) Programmer ce filtre sur le DSP. On pourra s’inspirer du filtre moyenneur implémenté

précédemment (version avec coefficients préalablement mémorisés et avec l’instruction MAC). Le tester avec un générateur de signaux, en relevant sa fréquence de coupure à –3dB et la pente de son diagramme de gain (en dB/octave ou dB/décade).

Page 10: e(t) s(t) PB 1 CAN DSP CNA PB 2 - benoit.decoux.free.frbenoit.decoux.free.fr/ENSEIGNEMENT/SIGNAL/ESIEA/projet_DSP_ESIEA... · Traitement de Signal – DSP, ESIEA, juin 2007 1 Travaux

Traitement de Signal – DSP, ESIEA, juin 2007

10

Exercice 7 : Filtre à réponse impulsionnelle infinie (RII)

Un filtre RII est défini par une équation de récurrence plus générale qu’un filtre RIF :

)Kn(eb...)2n(sb)1n(sb)Ln(ea...)1n(ea)n(ea)n(s K21L10 −++−+−+−++−+=

où s(k) sont les échantillons du signal de sortie et e(k) les échantillons du signal d’entrée. Un des intérêts des filtres RII par rapport aux filtres RIF, est de nécessiter moins de

coefficients. On a vu précédemment comment obtenir les coefficients d’un filtre par l’équivalence de la

dérivation. Une autre méthode couramment utilisée consiste à utiliser la transformée bilinéaire définie par :

1z1z.

T2p

e +−=

où Te est la fréquence d’échantillonnage. Elle permet de passer d’une fonction de transfert analogique (en p=jω) à la fonction de transfert échantillonnée (en z). Cette méthode est également appelée "équivalence de l’intégration".

Une fois la fonction de transfert en z connue, on peut en déduire l’équation de récurrence par utilisation de la propriété de retard de la tranformée en z :

[ ] [ ] )z(X.z)k(xZ.z)nk(xZ nn −− ==−

22

11

22

110

zbzb1zazaa

)z(X)z(Y)z(H −−

−−

−−++==

)2n(sb)1n(sb)2n(ea)1n(ea)n(ea)n(s 21210 −−−−−+−+= 7.1) Calculer les coefficients d’u filtre possédant les caractéristiques suivantes :

• fréquence de coupure égale fc = 500 Hz • coefficient de surtension ξ = 0,1

7.2) Programmer ce filtre sur le DSP et le tester en relevant des points pertinents de son

diagramme de Bode (uniquement celui du gain). Exercice 8. Réverbération 8.1) Programmer un filtre en peigne et le tester avec un signal sonore. 8.2) Programmer un filtre passe-tout et le tester avec un signal sinusoïdal (en vérifiant sa réponse

en fréquence). 8.3) Programmer un bloc réverbérateur à partir de plusieurs filtres en peigne et plusieurs filtres

passe-tout.

[ ] )z(X.z)nk(xZ n−=−