Forums

Autocorrelation

Started by OZ July 18, 2005
Hi, 
I am using an autocorrelation function to calculate the period of a
signal. It is a signal which is periodic. My problem is that there are
some parts with big amplitudes and some part with small amplitudes.

The disadvantage of the autocorrelation is that the big amplitudes are
dominant and that it is very difficult to calculate the period of the
signal if there is only 1.5 periods available.

Ist there any possibility to optimize the autocorrelation that it is
also working with dataset which consists only 1.5 periods ?

Thanks in advance
oliver
Well - my old professor used to say that unless you have 5 periods of a 
signal you can't call it a periodic signal :) That being said, if all 
you want to know is how far between the extremes are and then do some 
mean, you might want to try to run the autocorrelation on the absolute 
value of the signal. That will give you 3 periods to work with and 
you'll get a peak at half your period on the autocorrelation. Wether 
this will be robust enough depends on your application of course.

-- Brian

OZ wrote:
> Hi, > I am using an autocorrelation function to calculate the period of a > signal. It is a signal which is periodic. My problem is that there are > some parts with big amplitudes and some part with small amplitudes. > > The disadvantage of the autocorrelation is that the big amplitudes are > dominant and that it is very difficult to calculate the period of the > signal if there is only 1.5 periods available. > > Ist there any possibility to optimize the autocorrelation that it is > also working with dataset which consists only 1.5 periods ? > > Thanks in advance > oliver
Hi Brian,
this is a very interesting idea. I always used mean value free datas.
I will try it with absolute values.

thanks
Oliver

>Well - my old professor used to say that unless you have 5 periods of a >signal you can't call it a periodic signal :) That being said, if all >you want to know is how far between the extremes are and then do some >mean, you might want to try to run the autocorrelation on the absolute >value of the signal. That will give you 3 periods to work with and >you'll get a peak at half your period on the autocorrelation. Wether >this will be robust enough depends on your application of course. > >-- Brian > >OZ wrote: >> Hi, >> I am using an autocorrelation function to calculate the period of a >> signal. It is a signal which is periodic. My problem is that there are >> some parts with big amplitudes and some part with small amplitudes. >> >> The disadvantage of the autocorrelation is that the big amplitudes are >> dominant and that it is very difficult to calculate the period of the >> signal if there is only 1.5 periods available. >> >> Ist there any possibility to optimize the autocorrelation that it is >> also working with dataset which consists only 1.5 periods ? >> >> Thanks in advance >> oliver

OZ wrote:
> Hi, > I am using an autocorrelation function to calculate the period of a > signal. It is a signal which is periodic. My problem is that there are > some parts with big amplitudes and some part with small amplitudes. > > The disadvantage of the autocorrelation is that the big amplitudes are > dominant and that it is very difficult to calculate the period of the > signal if there is only 1.5 periods available. > > Ist there any possibility to optimize the autocorrelation that it is > also working with dataset which consists only 1.5 periods ?
With so few data, I'd try with a parametric method: Use an AR estimator, find the coefficents and solve for the poles. If you find one dominant peak in the AR model, the pole will be at the "periodic" frequency. A bit dangerous, but it might just work. Rune
Hello, Oliver,

Didn't I answer your question back in 2001?
(Check by message ID: f73a5a8d.0111051105.15c967d1@posting.google.com)
Apparently, you didn't follow my advice to watch "pitch
determination" developments.

Anyway, I published the most general and robust solution to this
problem (fundamental period/frequency detection) back in 2002.
You can check http://www.soundmathtech.com/pitch for ICASSP paper and
Matlab demo and,
also, US Patent Application Pub. No. 20030088401 at
http://www.uspto.gov/patft
(Non-commercial license applies).

Trust me, this is as good as it gets.
There will be no better solution to this very old and very fundamental
problem of signal processing: robust period detection with the least
amount of data.

One particular and very important feature of this new method is that it
can give accurate and reliable period estimate with a segment of a
signal less than 2 periods long (1.5 periods is good enough with
relatively clean and stationary signals).

I also want to say that this will be a textbook material some day,
whether some "old professor" likes it or not.

I hope this helps in your endeavors.

Best Regards,

Dmitry Terez

Hi Rune,
never heard about this. What is a AR estimator?

Oliver


>OZ wrote: >> Hi, >> I am using an autocorrelation function to calculate the period of a >> signal. It is a signal which is periodic. My problem is that there are >> some parts with big amplitudes and some part with small amplitudes. >> >> The disadvantage of the autocorrelation is that the big amplitudes are >> dominant and that it is very difficult to calculate the period of the >> signal if there is only 1.5 periods available. >> >> Ist there any possibility to optimize the autocorrelation that it is >> also working with dataset which consists only 1.5 periods ? > >With so few data, I'd try with a parametric method: Use an AR >estimator, find the coefficents and solve for the poles. If >you find one dominant peak in the AR model, the pole will be >at the "periodic" frequency. > >A bit dangerous, but it might just work. > >Rune >
Hi Dmitry,
it is possible that we met in 2001 ;-) 
Thanks for the tip, I will check this and try it.

Thanks
Oliver

>Hello, Oliver, > >Didn't I answer your question back in 2001? >(Check by message ID: f73a5a8d.0111051105.15c967d1@posting.google.com) >Apparently, you didn't follow my advice to watch "pitch >determination" developments. > >Anyway, I published the most general and robust solution to this >problem (fundamental period/frequency detection) back in 2002. >You can check http://www.soundmathtech.com/pitch for ICASSP paper and >Matlab demo and, >also, US Patent Application Pub. No. 20030088401 at >http://www.uspto.gov/patft >(Non-commercial license applies). > >Trust me, this is as good as it gets. >There will be no better solution to this very old and very fundamental >problem of signal processing: robust period detection with the least >amount of data. > >One particular and very important feature of this new method is that it >can give accurate and reliable period estimate with a segment of a >signal less than 2 periods long (1.5 periods is good enough with >relatively clean and stationary signals). > >I also want to say that this will be a textbook material some day, >whether some "old professor" likes it or not. > >I hope this helps in your endeavors. > >Best Regards, > >Dmitry Terez >