discrete fourier transform

3 views (last 30 days)
thangam
thangam on 27 Oct 2011
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.

Accepted Answer

Wayne King
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.

More Answers (5)

thangam
thangam on 31 Oct 2011
thanks for ur reply sir.
Fs=1000;
t=0:1/Fs:.3;
x=cos(2*pi*t*200)+randn(size(t));
Hs=spectrum.periodogram; % Use default values
psd(Hs,x,'Fs',Fs)
if this is the case.how do i know which frequency i want to retain and which frequency regions i do not want to retain. how can i design the filters by setting cutoff those unwanted frequency. i want to do this for DFT sir.
thank u in advance.

Wayne King
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.
  1 Comment
thangam
thangam on 1 Nov 2011
here i am having trouble in designing filters. how can we design filters for specific signal sir.

Sign in to comment.


thangam
thangam on 1 Nov 2011
thanks for ur reply.
you told to design filters for unwanted frequencies.
but here i am having trouble in designing filters. how can we design filters for specific unwanted frequency signal sir.
  1 Comment
Wayne King
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?

Sign in to comment.


thangam
thangam on 5 Nov 2011
in the following program, it filters noises and if i use this same program for different signal without making difference in fdesign.lowpass,there also it eliminates noises. why the same design eliminates noises in other signals too.
Is the lowpass filter alone is enough for all signal and in what way we design filters for separate signals.
load noisdopp; x = noisdopp;
Hs=spectrum.periodogram; % Use default values
psd(Hs,x,'fs',fs)
d = fdesign.lowpass('Fp,Fst,Ap,Ast',0.2, 0.22, 1, 60);
f = design(d, 'equiripple'); % Design an FIR equiripple filter
info(f) % View information about filter
designmethods(d,'iir'); % List the available IIR design methods
f = design(d, 'ellip') % Design an elliptic IIR filter (SOS)
fvtool(f)
output = filter(f,x);
plot(output)
thank you

Wayne King
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.

Tags

Community Treasure Hunt

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

Start Hunting!