Académique Documents
Professionnel Documents
Culture Documents
num = fir1(M,fn) permet la conception d'un filtre passe-bas RIF d'ordre spcifi. Les coefficients du filtre sont retourns
dans un tableau num de longueur ordre+1. La frquence de coupure fn doit tre rduite entre 0 et 1, le 1 correspondant la
moiti de la frquence d'chantillonnage (fn=fc/(fe/2) o fc correspond l frquence dsire du filtre en Hz).
Si fn est un tableau de deux lments, fn = [fn1 fn2], fir1 donne les coefficients d'un passe-bande avec fn1 la frquence
mini et fn2 la frquence maxi de la bande passante.
num = fir1(M,fn,'high') permet de synthtiser un filtre passe-haut.
num = fir1(M,fn,'stop') permet de synthtiser un rjecteur de bande avec fn = [fn1 fn2].
Pour les passe-haut et rjecteur de bande, l'ordre doit tre pair, donc le nombre de coefficients N du filtre et de la
fentre associe sont impairs.
La procdure fir1 utilise par dfaut une fentre de Hamming. Toutefois, d'autres fentres sont disponibles : rectangulaire
(Boxcar), Hanning, Bartlett, Blackman, Kaiser et Chebwin en indiquant un argument optionnel. Par exemple,
num = fir1(M,fn,boxcar(M+1)) pour la fentre rectangulaire
num = fir1(M,fn,'high',balckman(M+1)) pour la fentre de Blackman
num = fir1(M,fn,kaiser(M+1,beta) pour la fentre de Kaiser.
Attention, pour certains types de filtre, lordre et le filtre doivent avoir la mme valeur.
Pour vrifier que le filtre conu rpond bien au cahier des charges, on tracera les rponses frquentielles en amplitude
et en phase (votre fichier repfreqz ou bien directement avec freqz).
-7-
TP 3
1.2.5. Choisissez les rsultats obtenus avec une fentre de Hamming pour le filtre analys en 1.2.1 et tracer sa rponse
frquentielle laide de votre programme repfreqz dans la fentre command de Matlab. Vrifier que les
spcifications demandes sont obtenues (frquence de coupure, attnuation en bande attnue, ondulations en bande
passante, largeur de la zone de transition...).
1.2.6. Idem pour le filtre passe-bande tudi en 1.2.2 dans le cas dune fentre de Blackman.
1.2.7. Idem pour le filtre passe-haut tudi en 1.2.3 dans le cas dune fentre de Kaiser.
1.2.8. Idem pour le filtre rjecteur de bande tudi en 1.2.4 dans le cas dune fentre de Hanning.
Do
Mi
Fa
Sol
La
Si
Do
262 Hz
294
330
349
392
440
494
523
La dure de la gamme sera donc de 8s. La frquence dchantillonnage pourra tre fixe fe=8192 Hz. Sauvegarder
dans une variable s le signal synthtis.
En cas de difficult vous pouvez rcuprer sur le site web du cours le fichier gamme.mat (puis load gamme sous
Matlab). A laide la fonction sound de Matlab, coutez la gamme gnre.
H. Garnier
-8-
TP 3
frquences
en Hz
697
770
852
941
1209
1335
1477
1633
1
4
7
*
2
5
8
0
3
6
9
#
A
B
C
D
3.1. Ecrire un programme qui reprsente le signal sur la ligne tlphonique lorsque lon appuie sur un chiffre pass en
paramtre au programme ( fonction input ). On utilisera linstruction if, elseif, end pour tester la valeur entre. Pour dfinir
laxe des temps on utilisera les variables et les valeurs suivantes afin de respecter les contraintes sur les signaux
numriques (Shannon)
tf=1/20;
pas=tf/1000;
t=0:pas:tf;
3.2. Pour chaque touche de 0 9, prciser si le signal est priodique et relever sa priode.
3.3. La fonction sound de Matlab permet denvoyer le signal vers la carte son. Pour couter votre signal, il faut
augmenter sa dure : fixez tf et remplacer laffichage par : sound(s,1/pas), quentendez-vous ?
3.4. Tracer le spectre du signal correspondant chaque touche du tlphone.
3.5. A lautre de bout de la ligne tlphonique lautocommutateur va devoir interprter le signal pour vous mettre en
relation avec votre correspondant, proposer un dispositif qui soit capable didentifier les frquences.
3.6. Complter votre programme pour composer un numro deux chiffres. On pourra utiliser un tableau et une
boucle for par exemple. Fixez le pas tf/10000.
3.7. Tester votre programme en apposant un combin tlphonique sur le haut parleur de votre ordinateur.
H. Garnier
-9-
TP 3