Reply by Wayne August 2, 20092009-08-02
With sin wave, you should get multiple peaks, but white noise can get better
results, just one peak indicating your delay.
And the delay of a filter is invariable to signal, so you can get test your
filter by white noise.

2009/8/2

> Hello Wayne
>
> Thank you very much for the reply.
> I actually tried something with correlation as in:
>
> fs0
> fo 0
> t=0:1/fs:1-1/fs;
> x=sin(2*pi*fo*t).*exp(-20*t);
> y=[zeros(1,500) x(1:length(x)-500)];
> xc=xcorr(x,y);
> [a,delay]=max(xc)
> subplot(311),plot(x)
> subplot(312),plot(y)
> subplot(313),plot(xc(1:1000))
> and it worked, it gave me the delay but it does not work in all curves such
> as:
>
> x=sin(2*pi*fo*t);
> y=sin(2*pi*fo*(t-0.01)); %time delay 0.01s
> so it got me really confused.
> Could you give me your thoughts on this?
>
> Thanks a lot in advance
>
> Kansai
>
> P.S. I dont know if I am in the list. I got a reject message, so I am not
> really sure.
>
> *Wayne * wrote:
>
> Hi kansai,
> You can calc the cross correlation between the filtered and the
> original one. It may give the delay in unit of sample.
> Just for reference
> BR
> Wayne
>
> On 7/31/09, a...@yahoo.co.jp wrote:
> > Greetings everyone in the group.
> > This is my first message. I am not a DSP engineer but a programmer with a
> > very limited knowledge of filters. I am writing in the hope that someone
> can
> > help me with his/her expertise in the following problem:
> >
> > I have a butterworth filter implemented in software.(C++) So far it works
> > exactly the same as the functions: butter() and filter() in Matlab.
> > Therefore when I use butter with an order and a cuttoff freq it builds a
> > filter, and then I can use it with a signal with noise and obtain and
> > noise-free signal.
> >
> > My question is:
> > I would like to know of a method to calculate the "delay" between the
> > original signal and the filtered one. As far as I understand this must be
> a
> > value in seconds.
> >
> > So far I have found the function groupdelay() but I dont think this is
> what
> > I am looking for. It gives me a matrix when I am only searching for a
> single
> > value(the delay for a particular filter designed with a particular
> cuttoff
> > freq is only a number)
> >
> > Can anyone point me where to look?
> >
> > I will be very grateful for your help.
> >
> > Kansai Robot.
> >
Reply by adap...@yahoo.co.jp July 31, 20092009-07-31
Greetings everyone in the group.
This is my first message. I am not a DSP engineer but a programmer with a very limited knowledge of filters. I am writing in the hope that someone can help me with his/her expertise in the following problem:

I have a butterworth filter implemented in software.(C++) So far it works exactly the same as the functions: butter() and filter() in Matlab. Therefore when I use butter with an order and a cuttoff freq it builds a filter, and then I can use it with a signal with noise and obtain and noise-free signal.

My question is:
I would like to know of a method to calculate the "delay" between the original signal and the filtered one. As far as I understand this must be a value in seconds.

So far I have found the function groupdelay() but I dont think this is what I am looking for. It gives me a matrix when I am only searching for a single value(the delay for a particular filter designed with a particular cuttoff freq is only a number)

Can anyone point me where to look?

I will be very grateful for your help.

Kansai Robot.