100 likes | 265 Views
Comment compresser avec le spectre. Séance 10, 1 heure Version : lundi 9 mai 2005 Auteur : Jean-Paul Stromboni . Contenu de la séance :. Un CODEC compresse et décompresse le signal audio Un banc de filtres découpe le spectre d’un signal en bandes
E N D
Comment compresser avec le spectre Séance 10, 1 heure Version : lundi 9 mai 2005 Auteur : Jean-Paul Stromboni Contenu de la séance : Un CODEC compresse et décompresse le signal audio Un banc de filtres découpe le spectre d’un signal en bandes On peut décimer les bandes en accord avec Shannon On récupère les signaux décimés en suréchantillonnant et en appliquant un filtre interpolateur C’est l’énergie des bandes qui conduit à un taux de compression supérieur à un Savez vous répondre aux questions suivantes ?
Un CODEC compresse et décompresse (on dit aussi encode et décode) le signal audio • La performance d’un CODEC est le taux de compression atteint, mais il faut aussi tenir compte s’il y a lieu de l’information perdue. • Le taux de compression est un rapport : • des espaces mémoires nécessaires (octets) pour le signal non compressé et pour le signal compressé. • c’est aussi le rapport des débits d’information (bps) pour un téléchargement en temps réel. • le pourcentage d’information perdue par com-pression peut être évalué en comparant l’énergie du signal original et celle du signal décompressé. Un fichier enregistré en monophonie avec fe= 44100Hz, b=16bits occupe 3070ko : • compressé en mp3 à 128kbps, quel est le taux de compression ? • idem si la taille devient 279ko. Préciser le débit. • Un lecteur propose 88ko, 20kbps, et fefe/4. Quel est le risque ?
Un banc de filtres permet d’analyser la composition fréquentielle du spectre • Un banc de filtres est un ensemble de filtres conçus pour partitionner le spectre d’un signal en bandes de fréquences de même largeur : • Les réponses harmoniques des M filtres d’un banc sont semblables (d’allure rectangulaire) et réparties régulièrement sur l’axe des fréquences : • Avec les réponses impulsionnelles hi, i=1..M Comment créer le banc suivant avec le filtre H0(f)? Quel est le résultat obtenu avec un LA3 ?
Signal audio Banc de filtres H1(f) H3(f) H4(f) H2(f) Analyse Synthèse Pour comparer les signaux issus du banc de filtres, on compare l’énergie associée • Les signaux issus du banc n’ont pas tous la même importance, on peut utiliser l’énergie associée définie ci-dessous pour trancher : • soit le signal de longueur R et son spectre • On calcule l’énergie associée de deux façons • Faire un bilan des relations entre les signaux et leurs spectres pour le banc de filtres suivant
On peut décimer les signaux issus d’un banc de filtre tout en respectant la contrainte de Shannon Mettons que l’on analyse le signal suivant x de durée RTe et de longueur R : • L’application d’un banc de M filtres décompose x en M signaux de bandes fréquences différentes. • Puisque la largeur du spectre des signaux issus du banc est réduite à fe/M, il est licite de diviser la fréquence d’échantillonnage par M sans violer la contrainte de Shannon. • En pratique, on décime ces signaux, on ne conserve qu’un échantillon sur M, • Avec l’effet sur le spectre : • Repliements autour de fe/M au lieu de fe • Division par M Que réalisent les instructions suivantes ?>> s = 0.5*cos(2*pi*440*[0:1000]/8000); >> sd = s(1:10:length(s));
Pour récupérer les signaux avant décima-tion, il faut sur-échantillonner et interpoler • Insérer M-1 échantillons nuls entre les échan-tillons du signal décimé ne modifie pas la for-me du spectre, mais seulement la fréquence d’échantillonnage, qui est multipliée par M. • Le signal sd décimé page5 est-il reconstitué dans Sse par les instructions suivantes ?>> Sse= zeros(10*length(sd));>> Sse(1:10:10*length(sd))= sd; • Pour récupérer le signal avant décimation, il faut supprimer les alias et multiplier par M, c’est la fonction des filtres interpolateurs. • Quelle est la relation entre les filtres du banc hi et les filtres interpolateurs gi ?
M*h1 Stratégie de compression h1 h2 M*h2 … … hM M*hM Pour atteindre un taux de compression supérieur à un, il faut accepter de perdre de l’information • Entre décimation et suréchantillonnage, il faut ajouter une stratégie susceptible de négliger les bandes de « faible » énergie : • Voici un exemple de stratégie possible : • On calcule à tout instant les énergies du signal décimé yd2et des bandes ydi2, i = 1..M • On fixe un seuil a, et ydi2 < a yd2, on n’inclut pas ydi de la bande i dans le signal transmis. • Proposer d’autres stratégies
H1 et H2 On illustre la décomposition d’un signal par un banc de filtres et sa recomposition sur un exemple Le banc ci-dessous contient deux filtres désignés par leurs réponses impulsionnelles h1et h2 et les réponses harmoniques H1 et H2, le signal x est de longueur R et de spectre donné X(f) : Banc de filtres x1 g1 h1 xrec x x2 g2 h2 Signal analysé On demande de calculer les taux de compression et les relation énergétiques tout au long de la chaîne.
On suit le signal sur la bande du filtre h1, préciser la valeur du filtre interpolateur g1 Compléter et commenter les diagrammes suivants