Path: news.mathworks.com!not-for-mail
From: "Lorenzo Guerrasio" <lorenzo.guerrasio@email.it>
Newsgroups: comp.soft-sys.matlab
Subject: Re: Filtering signal with rapid changes with FFT
Date: Tue, 4 Aug 2009 07:55:19 +0000 (UTC)
Organization: The MathWorks, Inc.
Lines: 31
Message-ID: <h58ph7$ivr$1@fred.mathworks.com>
References: <h58mu4$2o2$1@fred.mathworks.com>
Reply-To: "Lorenzo Guerrasio" <lorenzo.guerrasio@email.it>
NNTP-Posting-Host: webapp-03-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1249372519 19451 172.30.248.38 (4 Aug 2009 07:55:19 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Tue, 4 Aug 2009 07:55:19 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1371978
Xref: news.mathworks.com comp.soft-sys.matlab:560650


"juho salminen" <jssalmi3@cc.hut.fi> wrote in message <h58mu4$2o2$1@fred.mathworks.com>...
> Hi guys,
> 
> I'm newbie with signal processing who is trying to implement fft to signal filtering. My problem is following: 
> My signal is sinusoidial Wave with noise added in it. Wave is decreasing as time passes by.
> 
> My current filtering technique is following: I make FFT of signal, take highest peak from FFT, and cut every sample in frequency domain into 0 except highest peak. 
> Then I just make ifft of signal. 
> 
> This technique suits well for stationary sine wave, but when sine's amplitude changes rapidly with time, it seems that when signal is reversed back to time domain, some distortion to amplitudes of reversed signal is introduced. In my application, I need to get amplitudes of signals very accurately!
> 
> Basicly, what I'm trying is to make filter, which would not make any phase delay for signal, and would fit for signals with different frequencies...
> 
> Is there any other ways to do this kind of filter? 
> 
> Could you guys also make some example code also? My signal processing knowledge is basicly 0
> 
> Thanks,
> 
> -Juho
> 
> 
> 
> 
> 
>  

When you multiply (take away) in frequency, you are convolving in time -->high risk of distortion. What you can do is to use FFT to find the peak of the noise and then apply a notch filter. 
However, everything depends on the noise features.

Regarding fase distortion, you could use filtfilt