I didn't see Robert's post before writing my
response,
but I'll concede that his correlation approach is better than the comb
filter I
just proposed. Sort of depends what you mean by "a
filter".

Mark

**From:**m...@yahoogroups.com [mailto:m...@yahoogroups.com]

**On Behalf Of**r...@gmail.com

**Sent:**Tuesday, December 06, 2005 7:59 AM

**To:**m...@yahoogroups.com

**Subject:**[matlab] Re: Filtering Guassian noise with Matlab

On 12/3/05, tu5752 <pastor1984@past...> wrote:

>

> Hello all,

> I'm generating a 1 kHz square wave and adding Guassian noise to obtain

> a SNR of 0 dB (using Matlab6.5). The task is to design a filter that

> will filter out as much noise as possible from the square wave plus

> noise signal.

> The sampling frequency is 100kHz.

> Noise signal: 100.0*randn(1, length(t))

> Square wave: 100*square(2*pi*1000*t)

> What else do I need to know in order to design this filter using

> Butterworth or Chebyshev I or any filter? How do I determine the cut-

> off frequency for my filter?

> The MATLAB function filter(B,A,x) will be used for the time-domain

> filtering operation.

> I've started out by considering the frequency characteristics of each

> signal, but don't know how that will help in the design process.

> Any help will be greatly appreciated.

> Thanks

If you know what signal you are looking for, you should always use "matched filtering", which is essentially correlation. Generate another 1kHz square wave and convolve that with your square wave+noise signal.

In the real world I would probably consider using FFT-based correlation, but in MATLAB it may not matter, especially for short sequences.

http://www.google.co.uk/search?num &hl=en&newwindow=1&q=%22matched+filtering%22+correlation&meta=

Cheers,

Robert

On 12/3/05, tu5752 <pastor1984@past...> wrote:

>

> Hello all,

> I'm generating a 1 kHz square wave and adding Guassian noise to obtain

> a SNR of 0 dB (using Matlab6.5). The task is to design a filter that

> will filter out as much noise as possible from the square wave plus

> noise signal.

> The sampling frequency is 100kHz.

> Noise signal: 100.0*randn(1, length(t))

> Square wave: 100*square(2*pi*1000*t)

> What else do I need to know in order to design this filter using

> Butterworth or Chebyshev I or any filter? How do I determine the cut-

> off frequency for my filter?

> The MATLAB function filter(B,A,x) will be used for the time-domain

> filtering operation.

> I've started out by considering the frequency characteristics of each

> signal, but don't know how that will help in the design process.

> Any help will be greatly appreciated.

> Thanks

If you know what signal you are looking for, you should always use "matched filtering", which is essentially correlation. Generate another 1kHz square wave and convolve that with your square wave+noise signal.

In the real world I would probably consider using FFT-based correlation, but in MATLAB it may not matter, especially for short sequences.

http://www.google.co.uk/search?num &hl=en&newwindow=1&q=%22matched+filtering%22+correlation&meta=

Cheers,

Robert

**************************************************************** The information transmitted in this message is confidential and may be privileged. Any review, retransmission, dissemination, or other use of this information by persons or entities other than the intended recipient is prohibited. If you are not the intended recipient, please notify Analogic Corporation immediately - by replying to this message or by sending an email to D...@analogic.com - and destroy all copies of this information, including any attachments, without reading or disclosing them. Thank you. |