Audionum
erique
Bertrand David et Roland Badeau
Septembre 2011
1
1.1
1.2
Repliement
nT
))
suivi
dun reechantillonnage. Conclure.
e
nZ
1.3
Carr
e
repli2.m sinteresse au meme effet sur une forme donde carree. Ecouter et visualiser le signal wt.
Interpretez et expliquer pourquoi il faut limiter le nombre dharmoniques du carre pour construire
la table donde. Quel phenom`ene typique apparat sur la forme donde wt1. Incorporer la partie
reechantillonnage de repli1.m pour ecouter le resultat lors de la transposition. Conclure.
2
2.1
Filtrage et TZ
Filtres stables ou instables ?
et les zeros `a laide de la fonction zplane. A quelle condition, si on consid`ere les filtres causaux, ces
filtres sont-ils stables ? A laide de la fonction roots, elaborer un script renvoyant la mention stable
ou instable selon le filtre considere.
Dans le cas dun filtre instable, utiliser freqz pour visualiser la reponse en frequence. Interpreter.
2.2
Filtrage r
ecursif, d
etection denveloppe et compression
Une mani`ere de detecter lenveloppe energetique dun signal audio-frequences x(t), t Z est deffectuer
les traitements suivants :
1. calcul de lenergie instantanee e(t) = x(t)2 ,
2. filtrage passe-bas y(t) = h(t) ? e(t).
On peut alors realiser un compresseur simple en appliquant un gain dautant plus fort que y est faible,
par exemple, en supposant |y| < 1 (sinon on le normalise) : g(t) = y(t)1 avec [0 1]. En fait pour
traiter les cas o`
u y est faible on pourra utiliser plutot g(t) = (y(t) + )1 .
Pour des raisons de complexite, on cherche `a realiser le filtre sous forme recursive suivant lequation
y(t) = ay(t 1) + e(t). Quelle est la fonction de transfert en Z associee H(z) (transformee en z de
h(t)) ? Quelle est la reponse impulsionnelle du filtre associee pour a = 0.9 ? Quelle serait-elle pour
a = 1.1 ? Dans le cas a = 0.9, dessiner lallure de la reponse en frequence H(ej2 ), [0.5 0.5].
Verifier `a laide la fonction freqz de matlab. Que se passe t-il lorsque a se rapproche de la valeur 1 ?
seloigne de la valeur 1 ? devient complexe (a = ej20 ) ?
Calculer la reponse `
a lechelon unite du filtre avec a [0 1[ ? Montrer quelle de la forme 1 et/ o`
u
on precisera . Conclure sur linfluence de a sur et donc sur le comportement global du syst`eme.
En deduire une valeur de a tel que (en echantillons) correspondent `a une duree de lordre de 20ms.
Realiser la chane de traitement compl`ete.
2.3
Filtrage t
el
ephonique dune voix chant
ee (filtfen.m).
3
3.1
obspec.m realise la synth`ese de deux sinusodes damplitude et frequence parametrables, et lobservation de ces sinusodes `
a laide de la TFD (fft de matlab), parametrable en terme de nombre de points
(nfft) donc en taille du zero-padding et de type de fenetre. Dans un premier temps fixer A1 = A2 = 1
et lespacement frequentiel 2 1 = 0.01 observer le r
ole des autres param`etres et interpreter. Comment resoudre les deux composantes ? Quel param`etre est determinant lorsquon cherche `a estimer
les deux frequences en observant le spectre ?
Dans un deuxi`eme temps, faire le meme exercice avec par exemple A2 = A1 /20.
3.2
Estimation
3.3
D
ecalage circulaire
Soit x(n) une sequence de longueur N . Soit X(ej2 ) sa TFtd. Calculer la sequence
x
(p) =
N 1
kp
k
1 X
X(ej2 N )ej2 N
N
k=0
et montrer quelle sexprime comme une convolution [x pN ](n). Que represente d`es lors x
en fonction
de x ?
Executer le programme decalcirc.m et interpreter.
3.4
Repliement temporel
Soit x(n) le triangle de hauteur 1, centre en temps et de support [(N 1) (N 1)] (i.e. x(n) = |n|/N
pour n [(N 1) (N 1)] et x(n) = 0 ailleurs). Que vaut sa TFtd X(ej2 ) ? Poser N = 150 par
exemple et realiser loperation y = ifft(X(ej2k/N ),256) o`
u k = [0, . . . , N 1]. Conclure.
3.5
Soit x(n) un signal de longueur finie N et y(n) un signal de longueur finie M . Quelle est la longueur
du signal z(n) = x(n) ? y(n) ? En deduire une methode pour trouver z utilisant les TFD dordre P (`
a
preciser) de x et y. Experimenter sous matlab.
4
4.1
On desire effectuer une decimation par un facteur 4 dun signal echantillonne originellement `a 44100 Hz.
Decrire la chane de traitement et limplementer en adaptant le programme de synth`ese `a fenetre
filtfen.m. Ecouter le resultat. Comparer avec la simple commande xs = x(1:4:end).
4.2
Sur
echantillonnage
Cest un traitement utilise en sortie de CD pour reconstruire avec moins de distortions le signal. Soit
x(n) = xa (nTe ) la sequence `
a traiter, xa designant le signal analogique dont x est lechantillonnage `a
la periode Te . On cherche `
a obtenir le signal y(n) tel que y soit lechantillonnage de xa `a la periode
M Te . Soit xi (n) la sequence obtenue `
a partir de x(n) en inserant M 1 zeros entre chaque echantillon.
Quelle est la relation entre Xi (z) et X(z) ? En deduire la chane de traitement `a mettre en oeuvre et
la realiser. Voyez vous linteret de reconstruire le signal `a 4Fe par exemple, plutot qu`
a Fe ?