S.S.I.I., 2013-14, n°6, Créer des filtres sur mesure pour compresser S.S.I.I., 2013-14, n°6, : Créer des filtres sur mesure pour compresser 1 Créer un.

Slides:



Advertisements
Présentations similaires
TRANSFORMEE DE FOURIER DISCRETE
Advertisements

1 Jean-Paul Stromboni, mars 2005, Révision des cinq premières séances S.S.I. Jean-Paul Stromboni, mars 2005, ESSI1 Elève : ______________________ groupe.
S.S.I., ESSI1, lundi 9 mai 2005 Page 1 Comment compresser avec le spectre Séance 10, 1 heure Version : lundi 9 mai 2005 Auteur : Jean-Paul Stromboni Contenu.
S.S.I., ESSI1, samedi 10 avril 2004 Page 1 Comment tailler les filtres sur mesure Séance 8, nouvelle application des filtres, 1 heure Version : samedi.
Comment créer des filtres d’ordre 1 et 2
Comment on filtre un signal audio
Cours 5 – Comment bien échantillonner le signal audio
SuivantPrécédent ESSI 1 - Auto TS © Jean-Paul Stromboni (Mai 2000) Consolidation: tester les connaissances acquises 1 Etude de la commande du système.
Comment décimer les sons numériques
4. La transformée en z Un formalisme adapté au filtrage et à l’analyse en fréquence des signaux échantillonnés et à l’automatique numérique x(t) signal.
1 Jean-Paul Stromboni, octobre 2007, SI3 Réviser le devoir surveillé n°1 du cours S.S.I.I. Jean-Paul Stromboni, octobre 2007, SI3 Elève : ______________________.
Filtres (n entier, Te=1s)
Calcul de la composition fréquentielle du signal audio
1 Jean-Paul Stromboni, mars 2005, Révision des cinq premières séances S.S.I. Jean-Paul Stromboni, mars 2005, ESSI1 Elève : ______________________ groupe.
Du signal continu au numérique
2. Echantillonnage et interpolation des signaux vidéo


Traitement du Signal Hugues BENOIT-CATTIN.
Comment créer des filtres « simples »
Comment bien échantillonner
Cours S.S.I., SI1, avril 2007 – Comment utiliser les outils déjà présentés. Page 1 Comment utiliser les outils déjà présentés dans le cours S.S.I. et pourquoi.
Extraits choisis du cours S.S.I.I.
Sous-échantillonner le signal audio pour compresser
1 PolytechNice-Sophia, Département S.I., S.I.3, octobre 2012, Jean-Paul Stromboni Séance 7 : Retour sur les cinq premiers chapitres du cours S.S.I.I.
Les système linéaires Stéphane Paris.
3. Systèmes L.I.T Systèmes LIT, introduction
Extraits choisis du cours S.S.I.I.
Traitement Numérique du Signal
Chapitre 6 : Restauration d’images
S.S.I.I., , n°7 : Construire et utiliser un banc de filtres Page 1 Construire et utiliser un banc de filtres pour analyser le spectre dun signal.
Cours S.S.I.I., , n°8, Créer des filtres pour compresser Cours S.S.I.I., , n°8, : Créer des filtres pour compresser Page 1 Mise en œuvre.
Calcul et implantation des filtres numériques RIF et RII dans un DSP
Chapitre 2 : Filtrage Professeur. Mohammed Talibi Alaoui
5. Echantillonnage Introduction
SSII : séance finale , lundi 9/01/2012 Page 1 Voici quelques questions pour assimiler la seconde partie du cours S.S.I.I., spectre, filtrage, banc.
Équations différentielles.
S.S.I.I., , cours n°8 : Compresser avec un banc de filtres Page 1 Compresser avec un banc de filtres Le contenu de ce cours : T.D. n° 8 : simulation.
Transformée de Fourier discrète et transformée de Fourier rapide
1 par Jean-Paul Stromboni, octobre 2008 Un autobilan pour réviser le devoir surveillé n°1 du cours S.S.I.I., par Jean-Paul Stromboni, octobre 2008 Elève.
Un principe de compression d’image
1 Jean-Paul Stromboni, octobre 2007, SI3 Réviser le devoir surveillé n°1 du cours S.S.I.I. Jean-Paul Stromboni, octobre 2007, SI3 Elève : ______________________.
Filtrer le signal audio numérique
Un moyen de compresser le signal audio présenté à travers un exemple
1 Insérez ici votre logo Insert here your logo! ANNEXES de TICE 2002 Un cours pour introduire le traitement du signal à laide de lordinateur multimédia.
Courbes de Hermite Michael E. Mortenson, Geometric Modeling. Wiley, 1997, 523p.
ELG La transformée de Fourier, énergie, puissance et densités spectrales.
2. La série de Fourier trigonométrique et la transformée de Fourier
6.1 LE LANGAGE MATRICIEL Cours 16. Aujourdhui, nous allons voir La définition dune matrice Plusieurs définitions de matrice particulière La somme de matrices.
Traitement Numérique du Signal
Transformées de Fourier des signaux continus
Résoudre une équation du second degré.
Zéros de polynômes ( La loi du produit nul ) Remarque :
Inéquations du premier degré à une inconnue
Polytech'Orléans Filtrage Multicadence Filière ESI
Utiliser le spectre et la transformée de Fourier
Introduction.
Leçon 1: Les Systèmes Linéaires Continus Et Invariants
Inéquations du premier degré à une inconnue
Cours S.S.I.I., , n°7, Créer des filtres pour compresser Cours S.S.I.I., , n°7, : Créer des filtres pour compresser Page 1 Retour sur le.
Extraits choisis du cours S.S.I.I.
DU TRAITEMENT DU SIGNAL
Chapitre 9 La transformée de Laplace
DU TRAITEMENT DU SIGNAL
Retour sur les filtres et bancs de filtres Jean-Paul Stromboni, décembre 2007.
S.S.I.I., , cours n°9 : Compresser avec un banc de filtres Page 1 Compresser avec un banc de filtres Contenu de cette séance : T.D. n° 9 : application.
Calcul de la composition fréquentielle du signal audio
1 23 mars 2004, Jean-Paul Stromboni Signaux et Systèmes pour l’Informaticien Bilan essais erreurs des six premières séances Module SSI d’ESSI 1– 23 mars.
SSII, séance n°13, bilan du cours 15 décembre 2015 Dernière séance 2015 Résumé des chapitres et notions abordées en 2015.
Créer un filtre sur mesure (pour compresser)
Transcription de la présentation:

S.S.I.I., , n°6, Créer des filtres sur mesure pour compresser S.S.I.I., , n°6, : Créer des filtres sur mesure pour compresser 1 Créer un filtre de réponse fréquentielle donnée Jean-Paul Stromboni, Polytech'Nice Sophia, S.I. 3 ème année Cours n° 6, novembre 2013, durée : 50 mn, avec vidéoprojecteur 0 fe f 0 f 0 f H1(f) fe f spectre (R échantillons) R/4 R/8 3*R/16 En appliquant le principe du cours n° 5 pour compresser et décompresser le signal suivant dans un facteur 4 :

S.S.I.I., , n°6, Créer des filtres sur mesure pour compresser S.S.I.I., , n°6, : Créer des filtres sur mesure pour compresser 2 Quel est le taux de compression envisageable ici pour le signal dont le spectre est donné ci-dessous? 0 fe f spectre 0 fe f 0 f 0 f 2

S.S.I.I., , n°6, Créer des filtres sur mesure pour compresser S.S.I.I., , n°6, : Créer des filtres sur mesure pour compresser 3 En fait, si on sait créer le filtre H2 ci-dessous, on atteint un taux de compression de 4 au lieu de 2 ! 0 fe f spectre 0 fe f 0 f 0 f H2 4 Car la condition de Shannon généralisée est respectée : la largeur du spectre du signal étant inférieure à fe/4 !!

S.S.I.I., , n°6, Créer des filtres sur mesure pour compresser S.S.I.I., , n°6, : Créer des filtres sur mesure pour compresser 4 Pour réaliser H2 à laide dun filtre programmé, on peut utiliser un filtre non récursif dont voici léquation : Le vecteur e=(e n, n=0..N-1) contient les N échantillons du signal à filtrer, ou entrée du filtre Le vecteur h=(h m, m= 0..R-1) contient les R coefficients du filtre (coefficients réels) Le vecteur s=(s n, n=0..N-1) contient la sortie du filtre ou signal filtré, chaque valeur s n est calculée par une itération de léquation ci-dessus R est la taille du filtre Léquation est un produit de convolution (symbole *): h contient la réponse impulsionnelle du filtre, cest-à-dire que s= h pour une entrée impulsion (e 0 =1, e n =0 si n!=0). Pour en savoir plus: Il sagit dun filtre linéaire et stationnaire, en anglais Linear Time Invariant. Pour mieux comprendre : s n =e n + e n-1 est linéaire et stationnaire s n = sin (e n-1 ) est non linéaire s n =e n +n e n-1 est non stationnaire Il sagit dun filtre non récursif, ou à réponse impulsionnelle de durée finie (Finite Impulse Response FIR en anglais) : Par contre, s n =s n-1 +e n-1, est un filtre récursif (ou IIR)

S.S.I.I., , n°6, Créer des filtres sur mesure pour compresser S.S.I.I., , n°6, : Créer des filtres sur mesure pour compresser 5 Pour calculer la réponse fréquentielle dun filtre récursif, on note les propriétés suivantes de la TFD directe et inverse : 1.H = fft(h) est périodique de période R 2.h= ifft(H) est périodique, de période R 3.En effet, les transformations fft et ifft sont presque identiques, au signe des exponentielles près. On vérifie que:

S.S.I.I., , n°6, Créer des filtres sur mesure pour compresser S.S.I.I., , n°6, : Créer des filtres sur mesure pour compresser 6 Pour calculer la réponse fréquentielle dun filtre récursif, on note les propriétés suivantes de la TFD directe et inverse : Si le vecteur H est réel, soit Hm réel pour m=0..R-1, à quelle condition le vecteur h=ifft(H) est il réel ? Réponse : il suffit que Hm=HR-m, pour m=0..R-1 car Et par conséquent hk est réel, pour k=0..R-1: noter que ce que lon vient détablir pour h et H, est vrai également pour en particulier ek est périodique de période R, et pour On utilisera dans la suite e et E, h et H et s et S ainsi définis, et de tailles R

S.S.I.I., , n°6, Créer des filtres sur mesure pour compresser S.S.I.I., , n°6, : Créer des filtres sur mesure pour compresser 7 La TFD du produit de convolution s= h*e est le produit cartésien des TFD de e et de h : Voici la démonstration, qui utilise la périodicité de la TFD inverse. Soit l équation du filtre Soit le signal filtré et le signal à filtrer C.Q.F.D. avec v= n-m quand n-m >0 et v=n-m+R quand n-m<0, puisque e n-m =e n-m+R.

S.S.I.I., , n°6, Créer des filtres sur mesure pour compresser S.S.I.I., , n°6, : Créer des filtres sur mesure pour compresser 8 Voici donc leffet sur le spectre dun filtre non récursif E contient le spectre du signal à filtrer S contient le spectre du signal filtré H = fft(h) est la réponse fréquentielle du filtre dont les coefficients réels sont dans le vecteur h L a réponse fréquentielle H est la transformée de Fourier de la réponse impulsionnelle h S i on fixe H à la valeur désirée H2, h= ifft(H) calcule les coefficients du filtre de réponse fréquentielle H=H2 E t ces coefficients seront bien réels si on a pris la précaution de choisir H m = H R-m, m=0..R-1 A ttention ! on impose uniquement R valeurs sur la réponse fréquentielle, aux fréquence kf e /R, k=0..R-1, il faudra vérifier H(f) entre ces fréquences

S.S.I.I., , n°6, Créer des filtres sur mesure pour compresser S.S.I.I., , n°6, : Créer des filtres sur mesure pour compresser 9 Vérifier avec Scilab que H est symétrique par rapport à R/2, et que imag(ifft(H)) = 0 et donc h=real(ifft(H)) fe=8000; R=64; // H symétrique par rapport à R/2 H=4*[zeros(1,R/8),ones(1,1+R/8),zeros(1,-1+R/2),ones(1,1+R/8),zeros(1,-1+R/8)]; //étude de h=ifft(H) h=ifft(H); t=[0:R-1]/fe; plot2d(t',[real(h'),imag(h')]) e=gce(); e.children(1).thickness=3; xgrid(); xtitle("vérification: imag(ifft(H))=0",... "temps (s)","donc h=real(ifft(H))") h1=legend(['real(h)';'imag(h)'])

S.S.I.I., , n°6, Créer des filtres sur mesure pour compresser S.S.I.I., , n°6, : Créer des filtres sur mesure pour compresser 10 Réponse fréquentielle du filtre de coefficients réels h=real(ifft(H)) tracée sur M=1024 valeurs au lieu de 64 Pour tracer la réponse fréquentielle du filtre de coefficients h=real(ifft(H)), il suffit de tracer abs(fft(h)) Pour tracer M=16*R valeurs au lieu de R, il suffit daug-menter le vecteur h de 15*R coefficients nuls : M=16*R; fe=8000; fM=[0:M-1]*fe/M; h=real(ifft(H)); hM=zeros(1,M); hM(1:R)=h; plot2d(fM,abs(fft(hM))) xgrid(); xtitle(["tracé de … h=real(ifft(H))) sur",string(M),"points"]...,"fréquence (Hz)","H=abs(fft(h))")

S.S.I.I., , n°6, Créer des filtres sur mesure pour compresser S.S.I.I., , n°6, : Créer des filtres sur mesure pour compresser 11 Réponse fréquentielle du filtre de coefficients réels h=fftshift(real(ifft(H))) tracée sur M=1024 valeurs clf(); M=16*R; h=fftshift(ifft(H)); fM=[0:M-1]*fe/M; hM=zeros(1,M);hM(1:R)=real(h); plot2d(fM,abs(fft(hM))) xgrid(); xtitle(["tracé de abs(fft(fftshift(real(ifft(H))))),", string(M),… " points"],"fréquence (Hz)","H") h = fftshift(real(ifft(H))) revient à permuter les deux moitiés du vecteur h

S.S.I.I., , n°6, Créer des filtres sur mesure pour compresser S.S.I.I., , n°6, : Créer des filtres sur mesure pour compresser 12 Il suffit darrondir la forme de la réponse fréquentielle spécifiée dans le vecteur H pour atténuer les oscillations résiduelles. H=4*[zeros(1,R/8-1),0.1,0.5,0.9,ones(1,R/8-3),0.9,0.5,0.1,... zeros(1,-3+R/2),0.1,0.5,0.9,ones(1,R/8-3),0.9,0.5,0.1,... zeros(1,-2+R/8)];

S.S.I.I., , n°6, Créer des filtres sur mesure pour compresser S.S.I.I., , n°6, : Créer des filtres sur mesure pour compresser 13 Exemple : calcul et dutilisation du filtre H2 avec Scilab La réponse fréquentielle du filtre est définie dans le vecteur H, les coefficients du filtre sont calculés dans le vecteur h, on filtre piano.wav, on compare spectrogrammes et énergies avant et après filtrage // filtre passe bande 1000Hz-2000Hz // gain 4, R=64, fe=8000Hz R=64; fe=8000; n=0:R-1; fr=n*fe/R; H=4*[zeros(1,R/8),ones(1,1+R/8),... zeros(1,-1+R/2),ones(1,1+R/8),... zeros(1,-1+R/8)]; plot2d3(fr,H) xgrid xtitle(['H2,avec R=',string(R)],... 'fréquence (Hz), H) //calcul des coefficients du filtre h=fftshift(real(ifft(H))); plot2d3(n/fe,h) xtitle('coefficients du filtre',... 'temps (s)',... 'h=fftshift(real(ifft(H)))') xgrid(); // filtrage [y,fe]=wavread('piano.wav'); disp(fe) // fe=8000 sound(y,fe) yf= convol(h,y); wavwrite(yf,fe,'pianofilt.wav') sound(yf,fe) //Spectrogrammes (Goldwave) // énergie Ey=(y*y')/2 // énergie y = Eyf=(yf*yf')/2 // énergie yf =89.62