SPcorBWexp


Routine

void SPcorBWexp (double bwexp, const float rxx[], float rxxb[], int Nc)

Purpose

Bandwidth expand a set of correlation values

Description

The procedure forms the bandwidth expanded version of a set of correlation values. The correlation coefficients are multiplied by a Gaussian function. This is equivalent to convolving the power spectral density by a Gaussian function. The bandwidth expansion is measured in terms of the width of the Gaussian function in the frequency domain. A power spectrum consisting of spectral lines will have each spectral line converted into a Gaussian function with this bandwidth.

The Gaussian function is specified in terms of its normalized bandwidth (measured at the 1 standard deviation point). The 3 dB bandwidth is related to the 1 sigma bandwidth by the following relationship.

  B3dB = sqrt (2 ln 2) Bsigma = 1.1774 Bsigma
The ITU-T G.729 8 kb/s CS-ACELP speech coder uses a 1 sigma bandwidth expansion of 60 Hz relative to a sampling rate of 8000 Hz. This expansion is achieved by setting,
  bwexp = 60/8000 = 0.015.
Note that the actual bandwidth measured on both sides of a peak is twice this value.

Reference:
Y. Tohkura, F. Itakura, and S. Hashimoto, "Spectral smoothing technique in PARCOR speech analysis-synthesis", IEEE Trans. Acoustics, Speech, Signal Proc., vol. ASSP-26, pp. 587-596, Dec. 1978.

Parameters

-> double bwexp
Bandwidth expansion value (normalized one-sided bandwidth value relative to the sampling frequency)
-> const float rxx[]
Input correlation coefficients (Nc values)
<- float rxxb[]
Output correlation coefficients (Nc values). The output values can overlay the input values.
-> int Nc
Number of correlation coefficients

Author / revision

P. Kabal / Revision 1.5 2003/05/09

See Also

SPpcBWexp


Main Index libtsp