Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to eliminate the white noise?

Status
Not open for further replies.

m_eh_62

Member level 2
Joined
Mar 5, 2007
Messages
49
Helped
3
Reputation
6
Reaction score
0
Trophy points
1,286
Activity points
1,638
HI friend
i use FFT function of Matlab to a non-stationary signal and get the below figure and i want now to elimnate the noise I think it is a white noise
i test the butterworth filter function but i can to eliminate this noise
**broken link removed**

can everyone help me?
thanks.
 

Eliminate the noise

The low-amplitude fuzz near the bottom of the plot looks too uniform to be white noise. Maybe it's an interfering signal, or some sort of quantization effect.

If you can upload the time-domain data file, then maybe someone here can help you better.
If you upload to EDAboard, you should ZIP it or RAR it first.
 

Re: Eliminate the noise

Yea
dear friends
here is time domain of my signal it is a non-stationary signal
How can i eliminte the noise?
 

Re: Eliminate the noise

Perhaps it's not noise .It seems sinc-like .May it's due to the used window used on performing FFT .The default one is a rectangular window .MATLAB multiplies your time-domain signal with the window before performing FFT .Multiplying at time domain translates into convolution at frequency domain .Thus ,for rectangular window, your spectrum would appear as sincs convolved with the required frequency components .I'm not sure if this is the reason .
 

Eliminate the noise

I see large discontinuities in your time domain waveform. They are probably causing the low-amplitude fuzz in the frequency domain. It's not noise, it's real information.

Can you upload numerical data instead of a JPEG plot of the data? Or show us the MATLAB code that generated the data?

Are you willing to modify your time-domain waveform to reduce the fuzz in the frequency domain? Maybe you could do phase-continuous frequency hops, or maybe you could apply amplitude envelopes to the four frequency bursts.
 

Re: Eliminate the noise

here is Time-domain of signal:
 

Re: Eliminate the noise

Dear ieropsaltic
you had said:
"MATLAB multiplies your time-domain signal with the window before performing FFT "
I don't use STFT algorithm,I've used FFT.
if i used STFT algorithm it multiolied the main signal to a windows function and then get FFT from the new signal
**broken link removed**
I should recall that I use FFT not STFT.
 

Re: Eliminate the noise

Dear echo47
yea you are right it's real information but
suppose that I've a signal in frequency-domain like the first JPG figure and there are Noise in some portion of this signal and now i want to eliminate this noise.
exactly I want use a kind of filter to improve it.
 

Re: Eliminate the noise

Try amplitude envelopes, such as Hamming weighting. The various weighting functions provide different trade-offs between attenuation of the unwanted frequencies and widening of the spectral peaks.

Code:
t = linspace(-5*pi,5*pi,1000);
x1 = cos(2*pi*5*t); x2 = cos(2*pi*10*t); x3 = cos(2*pi*20*t); x4 = cos(2*pi*50*t);
x1 = cos(2*t); x2 = cos(2*pi*t); x3 = cos(20*t); x4 = cos(50*t);
x = [x1(1:250) x2(251:501) x3(502:752) x4(753:1000)];
subplot(4,1,1); plot(x);
X = fftshift(fft(x));
subplot(4,1,2); plot(abs(X));
w = hamming(250)';              % weighting function
x = x .* [w w w w] / mean(w);   % apply weighting to all four frequency bursts
subplot(4,1,3); plot(x,'color',[0 0.7 0]);
X = fftshift(fft(x));
subplot(4,1,4); plot(abs(X),'color',[0 0.7 0]);
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top