Thread Subject: Help for adaptive filter

Subject: Help for adaptive filter

From: sdfr ewcs

Date: 3 Nov, 2009 20:17:03

Message: 1 of 10

Hi to All,
I am a new member of matlab, and have some questions about adaptive FIR filter. I have 2 sequences, which names are x(n) and y(n).
x(n)= a(n) + b(n) ,vector length is N=730
y(n)= c(n) + d(n) ,vector length is N=730

b(n) and d(n) are the thermal noise and these are uncorelated, but a(n) and c(n) are the errors and these are very high corelated. So, I want the obtain the of a(n) and c(n). I know that I must to use adaptive fir filter. Please give me some advice and instractions for the usage or Have you any advice about any other method?
Thank you
Sincerely,

Subject: Help for adaptive filter

From: Wayne King

Date: 3 Nov, 2009 20:45:19

Message: 2 of 10

"sdfr ewcs" <axiseyhtan@gmail.com> wrote in message <hcq33v$9hd$1@fred.mathworks.com>...
> Hi to All,
> I am a new member of matlab, and have some questions about adaptive FIR filter. I have 2 sequences, which names are x(n) and y(n).
> x(n)= a(n) + b(n) ,vector length is N=730
> y(n)= c(n) + d(n) ,vector length is N=730
>
> b(n) and d(n) are the thermal noise and these are uncorelated, but a(n) and c(n) are the errors and these are very high corelated. So, I want the obtain the of a(n) and c(n). I know that I must to use adaptive fir filter. Please give me some advice and instractions for the usage or Have you any advice about any other method?
> Thank you
> Sincerely,
Hi, do you have the Filter Design Toolbox as part of your installation?

If you enter

>>ver

at the command prompt, is there an entry for the Filter Design Toolbox

Wayne

Subject: Help for adaptive filter

From: ade77

Date: 3 Nov, 2009 20:58:02

Message: 3 of 10

I did that project my last semester in my Masters program (statistical Signal Processing).

There are two ways to solve it, very easy with MATLAB.
1. Use the Yule Walker equation in the time domain or frequency domain, though easier in the time domain
2. use the filter design toolkit, adaptive filter function.

I have both codes, just about 5 to 10 lines. If no one has given you the solution, when I get home I will try and give you almost the code.

I will advice you repost this message, at about 7 PM eastern time, so that when I get back from work I can see it on the post. However, if you get the answer or someone gives you the lead, then no need

"sdfr ewcs" <axiseyhtan@gmail.com> wrote in message <hcq33v$9hd$1@fred.mathworks.com>...
> Hi to All,
> I am a new member of matlab, and have some questions about adaptive FIR filter. I have 2 sequences, which names are x(n) and y(n).
> x(n)= a(n) + b(n) ,vector length is N=730
> y(n)= c(n) + d(n) ,vector length is N=730
>
> b(n) and d(n) are the thermal noise and these are uncorelated, but a(n) and c(n) are the errors and these are very high corelated. So, I want the obtain the of a(n) and c(n). I know that I must to use adaptive fir filter. Please give me some advice and instractions for the usage or Have you any advice about any other method?
> Thank you
> Sincerely,

Subject: Help for adaptive filter

From: sdfr ewcs

Date: 15 Nov, 2009 15:18:01

Message: 4 of 10

"Wayne King" <wmkingty@gmail.com> wrote in message <hcq4ov$m9c$1@fred.mathworks.com>...
> "sdfr ewcs" <axiseyhtan@gmail.com> wrote in message <hcq33v$9hd$1@fred.mathworks.com>...
> > Hi to All,
> > I am a new member of matlab, and have some questions about adaptive FIR filter. I have 2 sequences, which names are x(n) and y(n).
> > x(n)= a(n) + b(n) ,vector length is N=730
> > y(n)= c(n) + d(n) ,vector length is N=730
> >
> > b(n) and d(n) are the thermal noise and these are uncorelated, but a(n) and c(n) are the errors and these are very high corelated. So, I want the obtain the of a(n) and c(n). I know that I must to use adaptive fir filter. Please give me some advice and instractions for the usage or Have you any advice about any other method?
> > Thank you
> > Sincerely,
> Hi, do you have the Filter Design Toolbox as part of your installation?
>
> If you enter
>
> >>ver
>
> at the command prompt, is there an entry for the Filter Design Toolbox
>
> Wayne
yes I have it.

Subject: Help for adaptive filter

From: sdfr ewcs

Date: 15 Nov, 2009 15:22:02

Message: 5 of 10

"ade77 " <ade100a@gmail.com> wrote in message <hcq5gq$9b5$1@fred.mathworks.com>...
> I did that project my last semester in my Masters program (statistical Signal Processing).
>
> There are two ways to solve it, very easy with MATLAB.
> 1. Use the Yule Walker equation in the time domain or frequency domain, though easier in the time domain
> 2. use the filter design toolkit, adaptive filter function.
>
> I have both codes, just about 5 to 10 lines. If no one has given you the solution, when I get home I will try and give you almost the code.
>
> I will advice you repost this message, at about 7 PM eastern time, so that when I get back from work I can see it on the post. However, if you get the answer or someone gives you the lead, then no need
>
> "sdfr ewcs" <axiseyhtan@gmail.com> wrote in message <hcq33v$9hd$1@fred.mathworks.com>...
> > Hi to All,
> > I am a new member of matlab, and have some questions about adaptive FIR filter. I have 2 sequences, which names are x(n) and y(n).
> > x(n)= a(n) + b(n) ,vector length is N=730
> > y(n)= c(n) + d(n) ,vector length is N=730
> >
> > b(n) and d(n) are the thermal noise and these are uncorelated, but a(n) and c(n) are the errors and these are very high corelated. So, I want the obtain the of a(n) and c(n). I know that I must to use adaptive fir filter. Please give me some advice and instractions for the usage or Have you any advice about any other method?
> > Thank you
> > Sincerely,
I am waitin your matlab files.
Thank you for your all helps.
Sincerely,

Subject: Help for adaptive filter

From: sdfr ewcs

Date: 16 Nov, 2009 21:15:04

Message: 6 of 10

Is there any solution? Pls help me?

Subject: Help for adaptive filter

From: sdfr ewcs

Date: 17 Nov, 2009 19:48:20

Message: 7 of 10

"sdfr ewcs" <axiseyhtan@gmail.com> wrote in message <hdp6aq$nsi$1@fred.mathworks.com>...
> "ade77 " <ade100a@gmail.com> wrote in message <hcq5gq$9b5$1@fred.mathworks.com>...
> > I did that project my last semester in my Masters program (statistical Signal Processing).
> >
> > There are two ways to solve it, very easy with MATLAB.
> > 1. Use the Yule Walker equation in the time domain or frequency domain, though easier in the time domain
> > 2. use the filter design toolkit, adaptive filter function.
> >
> > I have both codes, just about 5 to 10 lines. If no one has given you the solution, when I get home I will try and give you almost the code.
> >
> > I will advice you repost this message, at about 7 PM eastern time, so that when I get back from work I can see it on the post. However, if you get the answer or someone gives you the lead, then no need
> >
> > "sdfr ewcs" <axiseyhtan@gmail.com> wrote in message <hcq33v$9hd$1@fred.mathworks.com>...
> > > Hi to All,
> > > I am a new member of matlab, and have some questions about adaptive FIR filter. I have 2 sequences, which names are x(n) and y(n).
> > > x(n)= a(n) + b(n) ,vector length is N=730
> > > y(n)= c(n) + d(n) ,vector length is N=730
> > >
> > > b(n) and d(n) are the thermal noise and these are uncorelated, but a(n) and c(n) are the errors and these are very high corelated. So, I want the obtain the of a(n) and c(n). I know that I must to use adaptive fir filter. Please give me some advice and instractions for the usage or Have you any advice about any other method?
> > > Thank you
> > > Sincerely,
> Sincerely,
Thank you for your answer. I am waiting your mail, or is there anybody help me? How can I obtain corelated values ?

Subject: Help for adaptive filter

From: ade77

Date: 17 Nov, 2009 20:14:04

Message: 8 of 10



"sdfr ewcs" <axiseyhtan@gmail.com> wrote in message <hduum4$com$1@fred.mathworks.com>...
> "sdfr ewcs" <axiseyhtan@gmail.com> wrote in message <hdp6aq$nsi$1@fred.mathworks.com>...
> > "ade77 " <ade100a@gmail.com> wrote in message <hcq5gq$9b5$1@fred.mathworks.com>...
> > > I did that project my last semester in my Masters program (statistical Signal Processing).
> > >
> > > There are two ways to solve it, very easy with MATLAB.
> > > 1. Use the Yule Walker equation in the time domain or frequency domain, though easier in the time domain
> > > 2. use the filter design toolkit, adaptive filter function.
> > >
> > > I have both codes, just about 5 to 10 lines. If no one has given you the solution, when I get home I will try and give you almost the code.
> > >
> > > I will advice you repost this message, at about 7 PM eastern time, so that when I get back from work I can see it on the post. However, if you get the answer or someone gives you the lead, then no need
> > >
> > > "sdfr ewcs" <axiseyhtan@gmail.com> wrote in message <hcq33v$9hd$1@fred.mathworks.com>...
> > > > Hi to All,
> > > > I am a new member of matlab, and have some questions about adaptive FIR filter. I have 2 sequences, which names are x(n) and y(n).
> > > > x(n)= a(n) + b(n) ,vector length is N=730
> > > > y(n)= c(n) + d(n) ,vector length is N=730
> > > >
> > > > b(n) and d(n) are the thermal noise and these are uncorelated, but a(n) and c(n) are the errors and these are very high corelated. So, I want the obtain the of a(n) and c(n). I know that I must to use adaptive fir filter. Please give me some advice and instractions for the usage or Have you any advice about any other method?
> > > > Thank you
> > > > Sincerely,
> > Sincerely,
> Thank you for your answer. I am waiting your mail, or is there anybody help me? How can I obtain corelated values ?

Later this evening, I will provide the steps using Yule Walker equations in the time domain.

Subject: Help for adaptive filter

From: ade77

Date: 18 Nov, 2009 04:15:07

Message: 9 of 10

"sdfr ewcs" <axiseyhtan@gmail.com> wrote in message <hcq33v$9hd$1@fred.mathworks.com>...
> Hi to All,
> I am a new member of matlab, and have some questions about adaptive FIR filter. I have 2 sequences, which names are x(n) and y(n).
> x(n)= a(n) + b(n) ,vector length is N=730
> y(n)= c(n) + d(n) ,vector length is N=730
>
> b(n) and d(n) are the thermal noise and these are uncorelated, but a(n) and c(n) are the errors and these are very high corelated. So, I want the obtain the of a(n) and c(n). I know that I must to use adaptive fir filter. Please give me some advice and instractions for the usage or Have you any advice about any other method?
> Thank you
> Sincerely,

I am not completely sure if these steps will work for you, but you can try it, do some manipulation.

1. Choose a filter orde say 32, or 64 , better if it is a power of 2
2. Find the autocorrelation of x(n), then remove the negative lags.
3. Find the cross correlation of x and y, remove negative lags
4. Take the Toeplitz of step (2)
5. Find the inverese of step (4)
6. Multiply step (5) and step (3) % solving Wiener Hopf equation
7. Find the convolution of step (6) and orignal x
8. Find error: original y - step(7).

The error is your desired signal.
since a(n) and c(n) in your case are highly correlated, I am assuming one of them must have pass through a filter channel.
I am not sure if this is what you want, but I know it must be similar, you might want to interchange the y and x in my steps above, if it does not work.

One last thing, your objective is confusing, is your lecturer asking you to find noise or the desired speech

If you are confused about how to write the codes, post back

Subject: Help for adaptive filter

From: sdfr ewcs

Date: 18 Nov, 2009 08:20:09

Message: 10 of 10

First of all I am very thank you for your answer. I try to explain my problem more clearly. I have 2 sequences, which names are x(n), y(n) and the lenghts are 730.
Each of 730 signal is formed error(e)+noise(n), and I have to separate them.
x(n)=e(n)+n(n)
y(n)=e'(n)+n'(n)
e(n) and e'(n) values are very high corelated (~%90)
n(n) and n'(n) are thermal noise and uncorelated.
I want to obtain e(n) and e'(n) values, which are very hight corelated.
x(n)=[1.23,1.45,1.78,-2,32............730 values]
y(n)=[1.34,2.13,1.44,2.43.............730 values]
Thank you for your all helps.
Sincerely,
"ade77 " <ade100a@gmail.com> wrote in message <hdvscb$5di$1@fred.mathworks.com>...
> "sdfr ewcs" <axiseyhtan@gmail.com> wrote in message <hcq33v$9hd$1@fred.mathworks.com>...
> > Hi to All,
> > I am a new member of matlab, and have some questions about adaptive FIR filter. I have 2 sequences, which names are x(n) and y(n).
> > x(n)= a(n) + b(n) ,vector length is N=730
> > y(n)= c(n) + d(n) ,vector length is N=730
> >
> > b(n) and d(n) are the thermal noise and these are uncorelated, but a(n) and c(n) are the errors and these are very high corelated. So, I want the obtain the of a(n) and c(n). I know that I must to use adaptive fir filter. Please give me some advice and instractions for the usage or Have you any advice about any other method?
> > Thank you
> > Sincerely,
>
> I am not completely sure if these steps will work for you, but you can try it, do some manipulation.
>
> 1. Choose a filter orde say 32, or 64 , better if it is a power of 2
> 2. Find the autocorrelation of x(n), then remove the negative lags.
> 3. Find the cross correlation of x and y, remove negative lags
> 4. Take the Toeplitz of step (2)
> 5. Find the inverese of step (4)
> 6. Multiply step (5) and step (3) % solving Wiener Hopf equation
> 7. Find the convolution of step (6) and orignal x
> 8. Find error: original y - step(7).
>
> The error is your desired signal.
> since a(n) and c(n) in your case are highly correlated, I am assuming one of them must have pass through a filter channel.
> I am not sure if this is what you want, but I know it must be similar, you might want to interchange the y and x in my steps above, if it does not work.
>
> One last thing, your objective is confusing, is your lecturer asking you to find noise or the desired speech
>
> If you are confused about how to write the codes, post back

Tags for this Thread

Everyone's Tags:

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Tag Activity for This Thread
Tag Applied By Date/Time
adaptive fir fi... sdfr ewcs 3 Nov, 2009 15:19:02
rssFeed for this Thread

Contact us at files@mathworks.com