Path: news.mathworks.com!not-for-mail
From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: Re: Separated the noise
Date: Sun, 28 Dec 2008 15:39:02 +0000 (UTC)
Organization: Lulea University of Technology
Lines: 46
Message-ID: <gj86im$bn3$1@fred.mathworks.com>
References: <gj1lke$nlp$1@fred.mathworks.com> <25ea60e0-37eb-46d8-9b63-0d5f966d9965@f11g2000vbf.googlegroups.com> <5d595ffc-c720-4cf6-b41e-b031ad69e4a7@o40g2000yqb.googlegroups.com>
Reply-To: <HIDDEN>
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 1230478742 12003 172.30.248.38 (28 Dec 2008 15:39:02 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Sun, 28 Dec 2008 15:39:02 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1595763
Xref: news.mathworks.com comp.soft-sys.matlab:508974


Greg Heath <heath@alumni.brown.edu> wrote in message <5d595ffc-c720-4cf6-b41e-b031ad69e4a7@o40g2000yqb.googlegroups.com>...
> On Dec 25, 11:42=A0pm, ImageAnalyst <imageanal...@mailinator.com> wrote:
> > On Dec 25, 11:13=A0pm, "Muhammad " <fahrudin_fis...@yahoo.com> wrote:
> >
> >
> >
> >
> >
> > > dear who considering
> >
> > > i write my simple code under my simple information of matlab function
> > > and post the code in order to benefit other beginner
> > > thanks
> > > I have a problem and I hope any help for me
> >
> > > how to separated the original signal from its noise.
> >
> > > I have a =A0wave(.wav)
> > > I blend it with noise.
> > > my listing program :
> > > y=3Dwavread(open.wav);
> > > spect=3Dabs(fft(y,1024));
> > > frek=3D linspace(0,22050,512)
> > > plot(frek,spect(1:512));
> > > % generate and mix the noise.
> > > open_noise=3Dagwn(y,20);
> >
> > > Thank you.
> >
> > -----------------------------------------------
> > Muhammed:
> > I don't know the function agwn(). =A0What is it?
> 
> It's a misprint.
> 
> http://www.mathworks.com/access/helpdesk/help/toolbox/comm/ref/awgn.html
> 
> Hope this helps.
> 
> Greg

Well, in general you can't "separate" the signal and noise components completely. At best, you could exploit some statistical properties of your source signal (the wav file) to design some sort of filter.

Now, in your example, you actually have access to the noise-free signal (it's your x), so you could just subtract the signal from your "noise+signal" variable to obtain the current realization of the noise. Note, however, that this will ONLY work for that given realization of the noise vector. In general, AWGN can't really be predicted and removed completely, for reasons explained above.

/JC