Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Computation of autocorrelation function for pitch determination in speech signals

Status
Not open for further replies.

navinmenon

Newbie level 3
Joined
Aug 8, 2011
Messages
3
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,303
I am new to speech processing and was trying to pitch extraction. For this I was trying compute the auto-correlation on a frame by frame basis.

When I used the speech samples as such, the auto-correlation function seems to have less of variations. On the other hand if I reduce the average sample value for the frame from each of the samples and then compute the auto-correlation, it has more variations and it becomes easier to pick the first maxima for pitch determination.

I would be nice if someone could comment on this.

 

Hi navinmenon,

It seems that your frame has a dc component (nonzero average value) and you are using a biased estimator of the autocorrelation.
Note that the first figure is like the second one plus a stright line. In both figures there are peaks at the same locations.
This dc value can be calculated from the figures: it is aprox. sqrt(18.7-3.0), i.e. almost 4.
Regards

Z
 

Thank you, Zorro

I have been computing the auto-correlation function on a frame by frame ( 160 samples @ fs = 8000 Hz ) basis. Does "Biased Estimate" imply that what ever auto-correlation function I am computing, it is an estimate of the auto-correlation of the speech signal and is biased towards the samples in my current frame.

Please let me know if if I am correct.

I would be great if you could refer me some material where I could read about this.

Thanks
navin
 

Hi navin,

About "Biased Estimate":
you estimate the autocorrelation function with an average of products.
For the lag "m", there are N-|m| products involved.
If you divide the sum of products by N-|m|, the estimate is unbiased (its expect value equals the true value you are estimating) but its variance increases with |m|.
If you divide the sum of products by N, the estimate is biased (its expect value is not equal to the true value you are estimating) but its variance is smaller.

The subject is treated, for example, in the book "Digital Signal processing", 3rd Edition, by Proakis and Manolakis, but in other books too. Look for Estimation of Autocorrelation.
Regards

Z
 

Hi Zorro

Thanks for the prompt reply. I will go through the book.

Regards
navin
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top