Académique Documents
Professionnel Documents
Culture Documents
Octobre 2006
G. Baudoin, P. Bildstein
1
0
10
12
F (KHz)
Calculer plusieurs filtres avec n=10; n=20; n=50; et n=100 et une fentre
rectangulaire
2. Filtre passe bande classique: calculer le mme filtre que celui de la question 3 ::
Dterminer les vecteurs d'entre f et a
Calculer plusieurs filtres d'ordre 20, 50 et 100 avec la fonction remez
Tracer les rponses en amplitude de ces filtres dans la mme fentre et
comparer les rsultats
Essayer d'amliorer le rsultat du filtre d'ordre 50 en utilisant un vecteur de
pondration
Utiliser la fonction remezord pour dterminer l'ordre ncessaire (consulter
le help pour obtenir les informations sur cette fonction)
Pour chaque nombre de bits, vous calculerez les coefficients quantifis puis vous tracerez la
fonction de transfert correspondante et vous vrifierez si elle vrifie encore le gabarit.
Vous observerez par ailleurs la position des ples et des zros.
Remarque :
Pour les tracs en frquence on prpare un vecteur gabarit, appel gaba :
gaba=[35*ones(1,f1),NaN*ones(1,f2-f1-1),1*ones(1,f3-f2+1),NaN*ones(1,f4-f31),35*ones(1,f5-f4+1)];
o 1 et 35 correspondent aux 2 attnuations caractristiques et o f1, f2, f3, f4, f5 sont les
indices des frquences caractristiques sur la grille en frquence ( Npts points) :
f1=round(5/20*Npts) ; f2=round(6/20*Npts); f3=round(10/20*Npts); f4=round(12/20*Npts);
f5=Npts
xn
wn
+
-a1
z-1
b0
yn
b1
+
z-1
-a2
b2
La routine filt2 donne ans ce TP effectue un filtrage dordre 1 ou 2 en structure DN avec une
quantification de wn sur B bits. La routine suppose que les donnes (x, y, w) sont comprises
entre +1 et 1.
Les arguments de cette routine sont :
[y,Cfinal]=filt2(b,a,x,B,Cini) ;
Cini est le vecteur ligne de conditions initiales [w(n-1), w(n-2)] et Cfinal est le vecteur ligne
de conditions finales pour wn.
Structure cascade avec coefficients de surtension en ordre croissant
On tudiera la structure cascade en ordonnant les cellules par ordre de surtension croissante.
Calculer les facteurs dchelle sc1, sc2, sc3, sc4 de faon ce quil ny ait pas de saturation
pour une entre purement sinusodale.
Calculer le dernier facteur dchelle sc5 pour que G = sc1 x sc2 x sc3 x sc4 x sc5.
et en calculant les facteurs dchelle correspondant. La routine tf2sos peut faire ce calcul.
Fabriquer une entre test x laide de la fonction rand :
x=(rand(1,5000)-0.5)*2 ;
Calculer la sortie y correspondant cette entre sans bruit de calcul avec la fonction Matlab
filter.
Calculer la sortie yq correspondant cette entre avec quantification des donnes sur 16 bits
en utilisant la fonction filt2 et en prenant en compte les facteurs dchelle prcdents.
Calculer le bruit de calcul en sortie en effectuant la diffrence entre y et yq.
Estimer la puissance moyenne de ce bruit de calcul.
Estimer la puissance moyenne de y.
Calculer le rapport signal sur bruit (en dB) obtenu en sortie.
Calculer la puissance du bruit en utilisant la formule vue en cours :
10
15
20
Calcul de la fonction de transfert en frquence : calcul de H(f) pour Npts valeurs de f entre
0 et fe/2 en normalisant fe 1.
[H,f]=freqz(b,a,Npts,1) ;
0 .1
0 .2
0 .3
0 .4
0 .5
Trac du module de H en dB
plot(f,20*log10(H))
1 5
1 0
5
0
-5
-1 0
0 .1
0 .2
0 .3
0 .4
0 .5
0 .1
0 .2
0 .3
0 .4
0 .5
3
2 .5
2
1 .5
1
0 .5
0
-0 .5
-1
0 .1
0 .2
0 .3
0 .4
0 .5
0.5
Imaginary
part
-0.5
-1
-1
-0.5
0
Real part
0.5