discrete fourier transform
3 views (last 30 days)
Show older comments
hi everyone,
i want to analyze the signal with disturbance using DFT and suppress those disturbance. so pls give me an idea to suppress the disturbance.
thank you in advance.
0 Comments
Accepted Answer
Wayne King
on 27 Oct 2011
Hi, probably the easiest thing to do is to look at the data's spectrum and identify which frequency content you want to retain. Then, design a filter to attenuate those frequency regions you do not want to retain.
You can use spectrum.periodogram to look at the spectrum. Then, you can use fdesign.lowpass, fdesign.bandpass, fdesign.highpass to design a filter for your data.
0 Comments
More Answers (5)
Wayne King
on 31 Oct 2011
Fs=1000;
t=0:1/Fs:.3;
x=cos(2*pi*t*200)+randn(size(t));
Hs=spectrum.periodogram; % Use default values
plot(psd(Hs,x,'Fs',Fs))
Then visually inspect the spectrum to see where you would like to pass and where you would like to attenuate. Also note how many dB you would like to attenuate.
thangam
on 1 Nov 2011
1 Comment
Wayne King
on 1 Nov 2011
you have to provide more detail if somebody is going to help you.
Did you read the reference material for fdesign?
Wayne King
on 5 Nov 2011
Hi, because the filter has been designed as a lowpass filter. When you filter a signal, you multiply its Fourier transform by the Fourier transform of the filter impulse response.
You have designed a lowpass filter, so its action on any input signal is to lowpass filter it and since much of what we call "noise" is higher-frequency oscillations, you get an output with less noise.
However, people often design filters with specific specifications and goals in mind, so it can very well be that a filter that works well in one scenario, must be redesigned to work in another.
0 Comments
See Also
Categories
Find more on Filter Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!