What is the window needed for Triangular puls before FFT ?
1 view (last 30 days)
Show older comments
I have a triangular signal and need to do FFT. Do it directly would lead to many harmonics in the spectrum and leaks. I tried to window the signal before with no benefits. Is there anyway to workaround ?
0 Comments
Answers (2)
Jeremy
on 21 Oct 2013
a window function is not going to eliminate the other peaks. They are the actual result of the transform since your signal is not sinusoidal. you could try a bandpass filter if you have a known frequency range; you will still have other peaks but they will be smaller. Are you trying to determine frequency, amplitude or phase?
3 Comments
Jeremy
on 21 Oct 2013
Are you saying you sample once a day for 515 days? Really an fft or the pwelch function should get you what you need, the selected window function will not change the answer very much. with a sampling rate of 1/day, the maximum frequency you can determine is .5 cycle/day. As an example see the following code for a .3 cycle/day triangle wave.
t=1:1:100;
d=sawtooth(2*pi*.3*t,.5);
fs=1;
nfft=fs*20; %1 cycle / 20 days will be the lowest freq. we can measure, adjust as needed.
[P,F]=pwelch(d,ones(nfft,1),nfft/2,nfft,fs);
[~,i]=max(P);
F(i)
Jeremy
on 21 Oct 2013
oh ok, I missed the pulse aspect of this. a Fourier transform is not the way to go here. I would just do some basic logic to look for points > 0 and points < 0 and go from there.
lows=find(d<min(d)/2);
highs=find(d>max(d)/2);
2 Comments
See Also
Categories
Find more on Spectral Estimation in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!