discrete fourier transform

4 visualizzazioni (ultimi 30 giorni)
thangam
thangam il 27 Ott 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.

Risposta accettata

Wayne King
Wayne King il 27 Ott 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.

Più risposte (5)

thangam
thangam il 31 Ott 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 il 31 Ott 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 Commento
thangam
thangam il 1 Nov 2011
here i am having trouble in designing filters. how can we design filters for specific signal sir.

Accedi per commentare.


thangam
thangam il 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 Commento
Wayne King
Wayne King il 1 Nov 2011
you have to provide more detail if somebody is going to help you.
Did you read the reference material for fdesign?

Accedi per commentare.


thangam
thangam il 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 il 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.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by