Calcul de réponse fréquentielle de filtre FIR par FFT

La réponse fréquentielle d'un filtre à réponse impulsionnelle finie peut être calculée efficacement comme une transformée de Fourier rapide (FFT). Sans perte de généralité, on considère le cas d'un filtre RIF causal, de réponse impulsionnelle \(h[n] \) de support \([0, N-1]\). Avec le vecteur \(\mathbf h^N = (h[0], \ldots, h[N-1])\) contenant les coefficients non nuls de la réponse impulsionnelle, la transformée de Fourier discrète \(\mathbf H^N\) de \(\mathbf h^N\) contient des échantillons de la réponse fréquentielle du filtre : \[\mathbf H^N_k = H\left(\frac{k}{N}\right) \mbox{ pour } 0 \leq k < N.\]

L'échantillonnage de la réponse fréquentielle étant trop grossier pour un bon tracé de la réponse fréquentielle, on utilise la technique de zero-padding, qui consiste à calculer la DFT du vecteur \(\mathbf h^L = (h[0], \ldots, h[N-1], 0, \ldots, 0) \) de taille \(L > N\). On a alors un échantillonage plus fin : \[\mathbf H^L_k = H\left(\frac{k}{L}\right) \mbox{ pour } 0 \leq k < L.\]

Le graphe peut ensuite être recentré autour de l'origine pour mettre en valeur la symétrie de la TFTD d'un signal réel : \(H(-\nu) = H(\nu)^\star\).

Zero-padding:

FFt shift: