Fonctions > Traitement du signal > Filtrage numérique > Exemple : Réponse transitoire des filtres numériques
  
Exemple : Réponse transitoire des filtres numériques
Utilisez les fonctions response et fftfilt pour calculer la sortie d'un filtre FIR ou IIR par évaluation directe de la convolution. La fonction renvoie un vecteur complexe de sorties de longueur n.
La technique utilisée par ces fonctions est bien établie et documentée dans la plupart des ouvrages portant sur le traitement des signaux. Voir par exemple A.V. Oppenheim et R. W. Schafer, Discrete-Time Signal Processing, p. 556-558, 1989.
Ordre du filtre IIR passe-bas
1. Définissez un signal d'entrée avec une composante basse fréquence et une composante haute fréquence.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Calculez les 100 premiers pas de la réponse d'un filtre Butterworth passe-bas du second ordre avec une fréquence de coupure f.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
La coupure doit être comprise entre 0 et 0.5, comme spécifié dans la description de la fonction.
3. Utilisez la fonction iirlow pour obtenir les coefficients de la fonction de transfert.
Cliquez pour copier cette expression
4. Utilisez la fonction response pour obtenir la réponse du filtre.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Le signal de réponse YA est plus lisse, a une amplitude plus faible et présente un léger décalage temporel par rapport au signal d'origine x.
5. Spécifiez un filtre Butterworth passe-bas du sixième ordre avec la même fréquence de coupure f. La fonction response alimente la sortie de la première section dans la deuxième section, puis cette sortie dans la troisième, etc.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Le filtre d'ordre le plus élevé fournit une réponse plus lisse, filtre la haute fréquence de manière plus efficace, présente un décalage temporel plus important et fournit une transition de fréquence de coupure plus nette.
Filtre FIR passe-bande
1. Concevez un filtre FIR passe-bande F pour transmettre la plus élevée des deux fréquences de signal définies ci-dessus.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Calculez les coefficients d'un filtre passe-bande de longueur 51 avec une bande passante comprise entre les fréquences basse et haute ci-dessus, et utilisez une fenêtre de Blackman (dernier argument de 6).
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
3. Calculez le délai engendré par le filtre.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
4. Appliquez la fonction response pour calculer les 100 premiers pas.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Bien que le filtre n'effectue pas de transmission immédiatement lors de son initiation, il sélectionne la haute fréquence avec une grande précision (f2=0.2, T=5).
Filtre FIR passe-bande 2
Montrez que le filtre FIR passe-bas suivant n'a pas de décalage de phase pour plusieurs fréquences comprises dans cette bande passante.
1. Définissez deux signaux d'entrée.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Définissez la fréquence de coupure du filtre FIR et le nombre de coefficients.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
3. Calculez les coefficients diminués à l'aide d'une fenêtre de Hanning.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
4. Calculez le délai engendré par le filtre.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
5. Définissez les deux signaux d'entrée retardés.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
6. Tracez le premier signal d'entrée retardé x1d et la réponse du filtre à x1.
Cliquez pour copier cette expression
Les deux signaux sont identiques et n'ont pas de décalage de phase.
7. Tracez le second signal d'entrée retardé x2d et la réponse du filtre à x2.
Cliquez pour copier cette expression
Les deux signaux sont identiques et n'ont pas de décalage de phase.
Utilisation de la réponse pour la convolution
Si le tableau du filtre possède une colonne, la fonction réponse effectue une convolution. Par conséquent, cette fonction offre une alternative à la fonction convolve basée sur FFT. La réponse est beaucoup plus rapide pour une petite portion initiale de la convolution de deux longues séquences.
1. Définissez une plage et deux tableaux remplis à l'aide de nombres positifs aléatoires compris entre 0 et 1.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Appliquez la fonction convolve aux deux tableaux.
Cliquez pour copier cette expression
3. Utilisez la fonction response pour obtenir les 8 premiers pas de la réponse.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Les deux tableaux sont identiques.
Comparaison de la sortie de la réponse et des fonctions fftfilt
Montrez que les résultats obtenus à partir des fonctions response et fftfilt sont équivalents.
1. Définissez une plage et deux fréquences.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Définissez le signal d'entrée en termes de f1 et f2.
Cliquez pour copier cette expression
3. Créez un filtre passe-bas FIR avec une fréquence de coupure f et diminué à l'aide d'une fenêtre de Hanning.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
4. Calculez la réponse du filtre au signal d'entrée.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
5. Appliquez la fonction fftfilt au signal d'entrée et obtenez les 64 premiers pas.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
* 
y_f est un vecteur d'éléments complexes.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
6. Tracez le résultat de la convolution du signal d'entrée avec la fonction de transfert du filtre et du signal de réponse. Les deux courbes se chevauchent complètement.
Cliquez pour copier cette expression