Bonjour,
sur un signal .wav, j'effectue un filtre en sinus cardinal avec une fenêtre de blackman en utilisant la fonction fftfilt. Le résultat est que mon signal filtré est décalé temporellement par rapport au non filtré. Comment corrigé ce décalage temporel?
Voici le code:
freq_max, bandwidth, sample_rate et signal étant les paramètres d'entrée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 fc = (freq_max - bandwidth) / sample_rate; b = 0.001; N = ceil(4 / b); if ~mod(N, 2) N = N + 1; end n = (0 : N - 1)'; h = sinc(2 * fc * (n - (N - 1) / 2.)) .* blackman(N); h = h / sum(h); filteredsignal = fftfilt(h, signal);
Merci
Partager