How do I add a Hanning Window to this code before I FFT it?

253 vues (au cours des 30 derniers jours)
Paul Clarkson
Paul Clarkson le 19 Oct 2017
Hi,
I've heard adding a Hanning Window can help with data processing before you apply a Fourier Transform. With the code I have below, where can I add such a window?
Any help would be greatly appreciated.
a=dlmread('Ethanol_05273.txt');
alex_x=a(873:2048,1)/1000;
alex_y=a(873:2048,2);
plot(alex_x,alex_y); grid on;
alex_x_f=10000./alex_x;
F=linspace(min(alex_x_f),max(alex_x_f),1024);
alex_y_f=interp1(10000./alex_x,alex_y,F,'pchip');
FT=fft(alex_y_f);
figure;
plot(abs(FT));

Réponse acceptée

dpb
dpb le 19 Oct 2017
Modifié(e) : dpb le 19 Oct 2017
FT=fft(hanning(length(alex_y_f)).*alex_y_f);
presuming your data are vectors. If not, use the proper array dimension for length() of window, of course.
See
doc hanning % details on windowing

Plus de réponses (2)

Paul Clarkson
Paul Clarkson le 20 Oct 2017
Thank you!

Shivam Bahuguna
Shivam Bahuguna le 19 Août 2020
How to take care of the window ccorrection factor while doing this?

Catégories

En savoir plus sur Fourier Analysis and Filtering dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by