filter_goertzel
Filtre de Goertzel (calcul au fil de l'eau)
Namespace: dsp::fourier
Prototype
sptr<FilterGen<float>> filter_goertzel(float frequence, int N)
Parameters
frequence | Fréquence à détecter (normalisée à la fréquence d'échantillonnage). |
N | Nombre de points de la TFD équivalente (facteur de décimation) |
Returns
Filtre générique float -> float
Description
Ce filtre calcule au fil de l'eau la densité de puissance (normalisée à la puissance totale du signal) à une fréquence donnée (voir goertzel()).
Le calcul est fait par blocs de \(N\) échantillons, et la fréquence d'échantillonnage en sortie est donc divisée par \(N\) par rapport à la fréquence d'entrée (1 échantillon produit pour \(N\) échantillons consommés) :
\(\mathcal{F}(.)\) étant la transformée de Fourier discrète.
Le paramètre \(N\) correspond donc au nombre de points de la transformée de Fourier, et la résolution fréquentielle sera donc d'autant plus fine que \(N\) est grand.