25
Auteurs : AKADID Abdelmounaim, DAKNA Adnane Introduction : Le traitement numérique du signal, (Digital Signal Processing ou DSP en anglais) est l’une des technologies les plus puissantes qui va modeler les techniques scientifiques et technologiques du 21eme siècle. Des changements révolutionnaires ont déjà eu lieu dans un large domaine d’applications : les communications, l’imagerie médicale, les techniques radar et sonar, les techniques de reproduction musicale et autres applications multimédia, la prospection pétrolière, pour n’en nommer que quelques-unes. Chacun de ces domaines a développé en profondeur ses propres méthodes DSP, avec ses propres algorithmes, méthodes mathématiques et techniques spécialisées. Cette diversité fait qu’il est vain de prétendre appréhender l’ensemble de ces développements. L’enseignement des techniques DSP implique deux tâches : l’apprentissage des concepts généraux applicables à l’ensemble du domaine, et l’initiation aux techniques spécialisées applicable à un champ d’intérêt particulier. L’utilisation des filtres numériques trouve de plus en plus son ampleur dans divers application grâce aux 1

Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

  • Upload
    letruc

  • View
    223

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

Auteurs   : AKADID Abdelmounaim, DAKNA Adnane

Introduction   :

Le traitement numérique du signal, (Digital Signal Processing ou DSP enanglais) est l’une des technologies les plus puissantes qui va modeler lestechniques scientifiques et technologiques du 21eme siècle.Des changements révolutionnaires ont déjà eu lieu dans un large domained’applications : les communications, l’imagerie médicale, les techniquesradar et sonar, les techniques de reproduction musicale et autresapplications multimédia, la prospection pétrolière, pour n’en nommer quequelques-unes.Chacun de ces domaines a développé en profondeur ses propres méthodesDSP, avec ses propres algorithmes, méthodes mathématiques et techniquesspécialisées. Cette diversité fait qu’il est vain de prétendre appréhenderl’ensemble de ces développements.L’enseignement des techniques DSP implique deux tâches : l’apprentissagedes concepts généraux applicables à l’ensemble du domaine, et l’initiationaux techniques spécialisées applicable à un champ d’intérêt particulier.L’utilisation des filtres numériques trouve de plus en plus son ampleur dans divers application grâce aux avantages qu’ils apportent par rapport aux filtres analogiques dont en peut citer quelqu’uns :ils sont moins sensible aux bruits, leur caractéristique s’approche du filtre idéal, coup moins cher…

1

Page 2: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

La représentation numérique du signal est cruciale car elle permet de réduire sadégradation lors du stockage, de la manipulation et de la reproduction analogique. Tout le monde peut s’en rendre compte en comparant la qualité d’écoute d’une cassette

magnétique et d’un CD. Dans un studio d’enregistrement, on enregistre le son surplusieurs canaux ou traces magnétiques, quelques fois même séparément pour chaque instrument. Ce scénario offre plus de flexibilité a l’ingénieur du son qui put ensuitecombiner ces différentes voix pour réaliser le son final. Cette opération de « mixage » est enrichie par de nombreuses possibilités offertes par les technologies DSP : filtrages, additions et soustractions de signaux, édition, etc..

Une application DSP fréquente pour la préparation musicale est celle de la réverbération artificielle. L’acoustique neutre du studio d’enregistrement n’est pas naturelle et sonne comme si la musique était jouée à l’extérieur. Il est possible grâce aux technologies DSP de rajouter un écho ou une réverbération artificielle et ajustable. Un écho avec un délai de quelques centaines de millisecondes produit un effet de cathédrale. Quelques dizaines de milliseconde suffisent pour produire l’impression d’une pièce de taille modeste

L’objectif du projet :

La conception numériques des filtres (passe-haut, passe-bas, passe-bande)par le logiciel de simulation Matlab et la caractérisation de ses filtres par les réponses en fréquences, indicielle, impulsionnelle, ainsi que la mise en évidence des paramètres qui rend le filtre réalisable et sa caractéristique coïncide avec le filtre idéal .

Définition :

Un filtre numérique est un système linéaire permanent, fonctionnant en temps discret, dont l’objet est de modifierd’une façon précise le contenu fréquentiel (spectral) d’une séquence appliquéeà l’entrée de ce systèmeUn filtre numérique est composée des dispositifs analogiques et numériques tel que les multiplieurs ,les registre à décalages les additionneurs.

2

Page 3: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

Les principaux types de filtre   :

Les FIR(a) : on retarde légèrement une copie du signal d'entrée (d'une ou plusieurs périodes d'échantillonnage) et on combine le signal d'entrée retardé avec le nouveau signal d'entrée. Les filtres numériques basés sur ce fonctionnement sont dit à "réponse impulsionnelle finie" ou FIR (pour Finite-Impulse-Response).

L’equation aux différence est donnée par : y[n] = a0 x[n] + a1 x[n-1] + a2 x[n-2] ... + aN x[n-N]

IIR(b) : on retarde une copie du signal de sortie que l'on combine au nouveau signal d'entrée. Les filtres numériques basés sur ce fonctionnement sont dit à "réponse impulsionnelle infinie" ou IIR (pour Infinite-Impulse-Response). On les qualifie également de filtres récursifs ou à "feedback".

L’equation aux différence est donnée par :y[n] = a0 x[n] + a1 x[n-1] + ... + aN x[n-N] - b1 y[n-1] - b2 y[n-2] - ... - bM y[n-M]

Différence entre FIR et IIR :

Les filtres FIR offrent en général une réponse de phase plus linéaire et ils n'entrent jamais en oscillation (c'est-à-dire deviennent instable) puisqu'ils sont dépourvus de récursion. Mais ils requièrent un grand nombre de termes dans leurs équations et sont ainsi plus coûteux en temps de calcul. Un filtre FIR avec coupure très nette (bande de transition très courte) peut requérir jusqu'à des centaines de délais.

Les filtres IIR, quant à eux, sont très efficaces et peuvent donner des pentes de coupure très raides. Toutefois, vu les caractéristiques de feedback, ils ont tendance à entrer en oscillation et à résonner.

3

Page 4: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

Etude d ’ un filtre numérique passe-bas   premier ordre:

Pour réaliser un filtre passe-bas FIR simple (qui atténue les fréquences élevées du signal), il suffit d'effectuer la moyenne des valeurs entre l'échantillon présent et l'échantillon précédent, tel qu'illustré sur le schéma-bloc ci-dessous et tel qu'exprimé par l'équation :

y[n] = 0.5 x[n] + 0.5 x[n-1]

Intuitivement, on peut comprendre l'effet passe-bas de cette opération puisqu'en effectuant la moyenne, on atténue des variations brusques du signal, ce qui résulte en un lissage du signal d'entrée.

Simulation du filtre par matlab :

script matlab   :

a=[0.5 0.5][h,w]=freqz(a,1,512,8000);plot(w,abs(h));

4

XnYn

Page 5: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

ce filtre à une fréquence de coupure de 2KHz pour une fréquence d’échantillonnage de 8kHz(la fréquence utilisé pour les lignes téléphoniques).

Pour une fréquence d’echantionnage Fe=16Khz :

la fréquence de coupure devient Fc=4kHz à –3dB

Conclusion   : la fréquence de coupure d’un filtre dépend de la fréquence d’échantillonnage.

Comportement d’un filtre passe-bas d’ordre 1 de fréquence de coupure fc=500Hz pour une entrée sinusoïdale de fréquence f=1KHz, f=200 Hz

Simulation matlab   :

5

Page 6: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

script matlab :

n=100;f1=200;f2=1000;fe=8000; te=1/fe;t=0:te:(n-1)*te;y1=sin(2*pi*f2*t);y2=sin(2*pi*f1*t);subplot(2,1,1);plot(t,y1,t,y2);[b,a]=butter(1,1/8);sortie1=filter(b,a,y1);sortie2=filter(b,a,y2);subplot(2,1,2);plot(t,sortie1,t,sortie2);grid;

Conclusion   :

On observe que le filtre atténue la sinusoïde de f=1 KHz, l’atténuation sera autant plus forte que l’ordre du filtre est grand.

Réponse impulsionnelle du filtre passe-bas   :

6

Script Matlab :

imp=[1 zeros(1,100)];[b,a]=butter(1,1/8);sortie=filter(b,a,imp);stem(0:100,sortie);grid;

Page 7: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

réponse indicielle du filtre :

Conclusion :

La réponse impulsionnelle du filtre tend vers zéros quand le nombre d’échantillons devient grand ,cela nous de dire que le filtre est stable donc réalisable .La réponse indicielle montre que le filtre atteint le régime permanent aux de dix échantillons, c’est un filtre rapide car o atteint le régime permanent à 10% des échantillons totales .

Influence de l’ordre du filtre sur sa caractéristique en fréquence   :

A l’aide des fonctions de conception des filtres numériques de matlab , on conçoit deux filtres de même fréquences de coupure mais d’ordre différents :

Script matlab   :

[b,a]=butter(1,1/8); %filtre passe-bas d’ordre 1[c,d]=butter(3,1/8); %filtre passe-bas d’ordre 3

[h,w]=freqz(b,a,512,8000);

[h1,w1]=freqz(c,d,512,8000);

subplot(2,1,1);

plot(w,abs(h)); %Graphe de la réponse fréquentielle du filtre

grid ;

7

Script matlab :

step=ones(1,100);[b,a]=butter(1,1/8);sortie=filter(b,a,step);plot(1:100,sortie,1:100,step);grid;

Page 8: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

subplot(2,1,2);

plot(w1,abs(h1));

grid ;

-La fréquence de coupure les deux ordre du filtre est : Fc=500Hz.

Conclusion :

-L’observation de ses deux réponses montre que plus l’ordre est élevé plus la coupure est raide, et plus on s’approche de la caractéristique d’un filtre idéal.

Filtre passe-haut   :

Simulation Matlab   :

8

Page 9: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

script MATLAB   : [b,a]=butter(1,1/8,'high'); %conception d’un filter passé-haut d’ordre 1

[h,w]=freqz(b,a,512,8000);

plot(w,h); %graphe de la réponse fréquentielle du filtre

plot(w,angle(h)); %graphe du déphasage apporté par le filtre

La fonction butter est la fonction utilisée par Matlab pour la conception des filtres numériques à prise en paramètres l’ordre du filtre ,le type du filtre ,pour la fréquence de coupure matlab prend comme paramètres l’angle θ=2k.Pi.fc/Fe normalisé par rapport à Pi

Dans l’exemple si-dessus on trouve 1/8 donc θ=Pi/8On peut ainsi déduire la fréquence de coupure du filtre Fc ,cette fonction matlab se base sur les filtres Butterworth

9

Page 10: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

C’est un filtre passe-haut premier ordre dont la fréquence de coupure est: Fc=750Hz .

Réponse du filtre à une sinusoïde échantillonné de fréquence F=250 Hz pour 100 échantillons.

Script MATLAB :n=99;Fe=8000;te=1/Fet=0:te:(n-1)*tey=cos(2*pi*100*t);[b,a]=butter(1,1/8,'high');[h,w]=freqz(b,a,512,8000);sortie=filter(a,1,y);subplot(2,1,1)plot(t,y);grid onsubplot(2,1,2);plot(t,sortie);grid on

le résultat obtenu prouve bien la caractéristique d’un filtre passe-haut, pour une fréquence F=100Hz<Fc=750Hz on observe bien une atténuation de l’ordre de –10dB ainsi qu’un déphasage apporté par le filtre.

Réponse indicielle du filtre passe-haut   :

10

Page 11: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

Filtre numérique passe-bande   :

Simulation matlab :

script matlab:

[b,a]=butter(1,[1/2 1/4],'bandpass'); filtre premier ordre

[h,w]=freqz(b,a,512,8000); filtre troisième ordre

[c,d]=butter(3,[1/2 1/4],'bandpass');

[h1,w1]=freqz(c,d,512,8000);

plot(w,h,w1,h1);

11

Script matlab :

step=ones(1,50);[b,a]=butter(1,1/8);sortie=filter(b,a,step);stem(1:50,sortie);grid;

Page 12: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

conclusion

Le filtre passe-bande ainsi conçue à une bande de fréquence de Δf=600Hz à –3dB autour de la fréquence centrale 1500Hz pour le filtre du premier ordre et Δf=400Hz pour la même fréquence 1500Hz

le filtre d’ordre supérieur s’approche du filtre sélectif idéal, si on veut concevoir un filtre à bande étroite il suffit d’augmenter l’ordre du filtre en détriment d’un temps de calcul plus long .

Filtre numérique coupe-bande   :

Simulation matlab :

interprétation   :

le filtre coupe-bande numérique conçue permet d’atténuer la bande de fréquence Δf=600Hz autour de la fréquence centrale f=1500 Hz

Ce type de filtre est aussi nommé filtre rejecteur de bande utilisée surtout pour éliminer certaines fréquences parasites.

12

Script matlab :

[b,a]=butter(1,[1/2 1/4],'STOP');

[h,w]=freqz(b,a,512,8000);

subplot(2,1,1);

plot(w,h);

grid;

subplot(2,1,2);

plot(w,angle(h));

Page 13: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

Le digramme de phase constitue un déphaseur dans la bande coupée entre +Pi/2 et –Pi/2

Si on veut que la coupure soit très raide il faut augmenter l’ordre du filtre .

Comparaison des trois méthodes d   ‘équivalence entres les filtres analogiques et numériques :

Equivalence de la dérivation

Equivalence de l’intégration

Réponse impulsionnelle

On prend comme exemple un filtre passe-bas d’ordre 2 et on cherche par l’équivalence en numérique par les trois méthodes

Fonction de transfert en analogique   :

H(p)=Ω² [Ω² +2.m. Ω.p+p²]

On prend Ω=100π rad/s m=0.1

Application de la M. dérivation   :

On pose le changement de variable p=Z-1/Z.Te

13

Page 14: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

L’equation aux différences obtenues est :

yn=1.39805 yn-1-0.65779 yn-2 +0.25965 xn

Application à la méthode d’intégration   :

L’équation aux différence est :yn=1.55193 yn-1- 0.89181 yn-2 + 0.084971(xn + 2 xn-1 + xn-2)

Application à la méthode de la réponse impulsionnelle   :

Equation aux différence :

14

Page 15: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

yn=1.523 yn-1 – 0.8819 yn-2 + 0.18325 xn-1 +0.1756 xn-2

Script matlab:

b1=[1 -1.39805 0.65779] %coefficient pour M.Dérivation

b2=[1 -1.55193 0.89181] %coefficient pour M.D’intégration

a2=[0.084971 2*0.084971 0.084971]

b3=[1 -1.523 0.8819] %coefficient pour M.impulsionnelle.

a3=[0 0.18325 0.1756]

step=ones(1,100);

integration=filter(0.25965,b,step);

derivation=filter(a2,b2,step);

impulsionnelle= filter(a3,b3,step);

plot(1:100,integration,'r',1:100,derivation,'b',1:100,impulsionne

lle,'g');

grid;

15

Page 16: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

Conclusion :

La méthode impulsionnelle est la meilleure méthode pour trouver l’équivalence entre les filtres analogique et les filtres numériques, cependant cette méthode présente un calcul très lourd et assez compliqué lorsqu’il ‘agit des filtres d’ordres supérieurs, les méthodes d’intégartion et de dérivation sont peu faciles pour la mise en œuvre car il les méthodes et les algorithmes numériques qui ont été bâtis pour faire ses tâches.

Analyse spectrales des signaux à l’entrée et à la sortie des filtres   :

Exemple   : On considére un signal d’entrée composée de deux fréquence f1=1

KHz et f2=2 KHz ,on considère un filtre passe bas d’ordre 3 et de fréquence de coupure Fc=1 KHz , analysons les spectres d’entrée et de sortie de ce filtre, exemple d’un signal contaminé d’un bruit

16

Page 17: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

Simulation matlab :

spectre des signaux  :

Conclusion :

L’analyse spectrale est plus communicante concernant l’étude des filtres, le signal d’entrée est formé de deux raies f1=1 KHz et f2=2 KHz , ce filtre élimine la raie de f=2 kHz tout en gardant la raie de f=1KHz avec une certaine atténuation

17

Script matlab :

n=300;f1=1000;f2=2000;fe=15000; te=1/fe;t=0:te:(n-1)*te;y=sin(2*pi*f1*t)+sin(2*pi*f2*t);[b,a]=butter(3,0.133);sortie=filter(b,a,y);close all;plage=1:91;plot(t(plage),y(plage));entree=abs(fft(y))/(n/2);sortie1=abs(fft(sortie))/(n/2);fmax=4000;df=fe/(n-1);f=0:df:fmax;m=length(f);s=s(1:m);sortie1=sortie1(1:m)figure;subplot(2,1,1);plot(f,s);subplot(2,1,2);plot(f,sortie1);grid;

Page 18: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

Pour la visualisation du spectre on utiliser la fonction ‘fft’ basé sur l’algorithme de la transformée de Fourier rapide , elle permet de calculer les coefficient de la transformée discrète de Fourier , par transposition de la discrétisation de fréquence on peut visualiser le spectre à échelle continue en fréquence.

Application des filtres :

Isoler deux sinusoïdes de fréquences f1 et f2 dans la somme forment un signal E

18

Filtre passe-bas d’ordre 4 avec fc=200Hz

Filtre passe-haut d’ordre 4 avec fc=1000Hz

Signal d’entrée E=cos(2.pi .1000.t)

+cos(2.pi.200.t)

Signal filtré avecF=200 Hz

Signal filtré avecF=1000Hz

Page 19: Le traitement numérique du signal, (Digital Signal …phgeorges.free.fr/docs/sc_tbam/res/prep/filtre_num... · Web viewLe traitement numérique du signal, (Digital Signal Processing

Conclusion :

Les filtres numériques représente une grande souplesse au niveau de la manipulation des paramètres caractérisant les filtres ,il sont de plus en plus utilisées dans les domaines de la reconnaissance de parole, dans la compression du son, ainsi que dans la récupération des trames effacées en diffusion audio sur Internet , des recherches se font actuellement pour la réduction du temps de calcul de ses filtres en se basant sur la physique des composant pour mettre au point des dispositifs ultrarapides cela concerne le hardware , pour le software les travaux sont poussés vers l’amélioration des algorithmes d’une compléxité de plus en plus faible afin de diminuer le temps de calcul.

19