What is the window needed for Triangular puls before FFT ?
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (2 件)
Jeremy
2013 年 10 月 21 日
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 件のコメント
Jeremy
2013 年 10 月 21 日
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
2013 年 10 月 21 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Spectral Estimation についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!