Je suis assez novice dans le traitement du signal et je sais que cette question est peut-être trop large. Mais j'aimerais quand même entendre des conseils d'experts.
On m'a appris à utiliser butter
(pour concevoir le filtre Butterworth alias le filtre d'amplitude maximale plate) et filtfilt
(filtrage numérique en phase zéro) pour le filtrage passe-bande des signaux EEG (électroencéphalogramme) dans MATLAB hors ligne (c'est-à-dire après la fin de l'enregistrement). De cette façon, vous pouvez éviter les "retards" inévitables causés par le filtre numérique (c'est-à-dire le filtrage à phase nulle).
Ensuite, quelqu'un m'a demandé pourquoi nous ne pouvions pas utiliser fft
(transformée de Fourier rapide) pour obtenir la représentation du domaine fréquentiel du signal, puis régler la puissance des fréquences indésirables à zéro, suivi de ifft
(transformée de Fourier rapide inverse) pour récupérer les données filtrées dans le temps domaine dans le même but. Cette manipulation dans le domaine des fréquences m'a semblé plus simple et raisonnable, et je ne pouvais pas vraiment dire pourquoi.
Quels sont les avantages et les inconvénients de l'utilisation d'une fft/ifft
méthode simple pour le filtrage passe-bande? Pourquoi les gens préfèrent utiliser des filtres numériques FIR ou IIR?
Par exemple, la fft/ifft
méthode est-elle plus sujette aux fuites spectrales ou aux ondulations par rapport aux filtres numériques établis? La méthode souffre-t-elle également d'un retard de phase? Existe-t-il un moyen de visualiser la réponse impulsionnelle pour cette méthode de filtrage à des fins de comparaison?