How can I apply a FFT moving window ?

hello,
i have a signal (x) as a vector (1*1799), the sampling frequency Fs=30 and Ns=1799
how can I apply a FFT mobile window on 100 samples each time along the signal
thank you

Answers (1)

buffer() and fft()
see also spectrogram()

6 Comments

I thank you for your responsiveness
i need to work on the signal 100 samples by 100 samples so for each 100 samples I compute the FFT to use its max pick frequency in passband filtering
fft(buffer(TheSignal,100))
i tried it, the result is a matrix
but i need a moving window to apply ether the FFT and also filtering on signal vector (1x1799)
when you do the moving window fft how many samples at aa time do you move the window ahead by ..? If you had 200 samples would that be 2 windows of 100 samples each or would it be a window 1:100 a second 2:101, so on to 101:200 for aa total of 101 windows processed ?
Anyway you still fft(buffer ). you just adjust the overlap parameter to buffer. you search the max for each column. Somehow you use the information for your passband filtering though I cannot think why you would be interested in the max.
how many samples at a time depends on the Fs for me i need to apply FFt on 100 samples and i move the window with 60 samples
the width of the window is 100s
ant it moves by 60s
buffer is still the solution .

Sign in to comment.

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Products

Release

R2015a

Community Treasure Hunt

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

Start Hunting!