Forums

ITUT G729 preprocessing question

Started by hyee...@yahoo.com.cn April 29, 2009
About ITUT G729, I have two questions.

1. In the processing section of G729 spec, it says to apply a high pass filter with a cut-off frequency of 140 Hz. As we know, the range of pitch is between 55 and 400 Hz. Then, how to search the pitch with frequency below 140Hz with such a preprocessing algo? It is as fetching the moon from sea.

2. G729 preprocessing section uses a second order pole/zero filter with a cut-off frequency of 140 Hz.
H(z) = (0.46363718-0.927247058.*z.^-1+0.46363718*z.^-2)/(1-1.9059465.*z.^-1+0.9114024*z.^-2);
But ,In contrast to the spec,the G729 codec software implementation uses a different filter, which is described as follows. It is also 2nd order high pass filter with cut off frequency at 140 Hz.

To my surpise,I find the frequency response of that filter is bad.

Why? Why the G729 codec software implementation use such a bad filter,rejecting a designed and perfect filter?
That puzzle me greatly.

/**
* 2nd order high pass filter with cut off frequency at 140 Hz. *
* Designed with SPPACK efi command -40 dB att, 0.25 ri. *
* *
* Algorithm: *
* *
* y[i] = b[0]*x[i] + b[1]*x[i-1] + b[2]*x[i-2] *
* + a[1]*y[i-1] + a[2]*y[i-2]; *
* *
* b[3] = {0.92727435E+00, -0.18544941E+01, 0.92727435E+00}; *
* a[3] = {0.10000000E+01, 0.19059465E+01, -0.91140240E+00}; *
*-----------------------------------*/

Regards
HyeeWang
Hyee Wang,

The two differ only by a constant term, 2.0E0, otherwise they are identical...

Rgds,
Andrew

> ITUT G729 preprocessing question
> Posted by: hyeewang@ hyeewang
> Date: Wed Apr 29, 2009 8:36 am ((PDT))
>
> About ITUT G729, I have two questions.
>
> 1. In the processing section of G729 spec, it says to apply a high pass filter with a cut-off frequency of 140 Hz. As we know, the range of pitch is between 55 and 400 Hz. Then, how to search the pitch with frequency below 140Hz with such a preprocessing algo? It is as fetching the moon from sea.
>
> 2. G729 preprocessing section uses a second order pole/zero filter with a cut-off frequency of 140 Hz.
> H(z) = (0.46363718-0.927247058.*z.^-1+0.46363718*z.^-2)/(1-1.9059465.*z.^-1+0.9114024*z.^-2);
> But ,In contrast to the spec,the G729 codec software implementation uses a different filter, which is described as follows. It is also 2nd order high pass filter with cut off frequency at 140 Hz.
>
> To my surpise,I find the frequency response of that filter is bad.
>
> Why? Why the G729 codec software implementation use such a bad filter,rejecting a designed and perfect filter?
> That puzzle me greatly.
>
> /**
> * 2nd order high pass filter with cut off frequency at 140 Hz. *
> * Designed with SPPACK efi command -40 dB att, 0.25 ri. *
> * *
> * Algorithm: *
> * *
> * y[i] = b[0]*x[i] + b[1]*x[i-1] + b[2]*x[i-2] *
> * + a[1]*y[i-1] + a[2]*y[i-2]; *
> * *
> * b[3] = {0.92727435E+00, -0.18544941E+01, 0.92727435E+00}; *
> * a[3] = {0.10000000E+01, 0.19059465E+01, -0.91140240E+00}; *
> *-----------------------------------*/
>
> Regards
> HyeeWang