4.1.7 Spectral noise weighting filter coefficients

3GPP46.020Half rate speechHalf rate speech transcodingRelease 17TS

To exploit the noise masking potential of the formants, spectral noise weighting is applied. The computation of the coefficients, used by spectral noise weighting filters W(z) and H(z), is now described. Define an impulse sequence (n) over Ns samples:


(32)

where 1 £ n £ Ns‑1 and h3(n) is the zero-state response of the cascade of three filters to (n). The three filters are an LPC synthesis filter, an inverse filter using a weighting factor of 0,93 and a synthesis filter with a weighting factor of 0,7. In equation form:

0 £ n £ Ns‑1 (33)

0 £ n £ Ns‑1 (34)

0 £ n £ Ns‑1 (35)

where i’s are the direct form LP coefficients. The autocorrelation sequence of h3(n) is calculated using:

0 £ i £ Np (36)

From the reflection coefficients which define the combined spectrally noise weighted synthesis filter are computed using the AFLAT recursion once per frame.

STEP 1

Define the initial conditions for the AFLAT recursion:

0 £ i £ Np‑1 (37)

1-Np £ i £ Np‑1 (38)

STEP 2

Initialize j, the index of the lattice stage, to point to the first lattice stage:

j = 1

STEP 3

Compute rj, the j-th reflection coefficient, using:

(39)

STEP 4

Given rj, update the values of Vj and Pj arrays using:

, 0 £ i £ Np – j – 1 (40)

1 + j – Np £ i £ Np – j ‑1 (41)

STEP 5

Increment j:

j = j+1

STEP 6

If j £ Np go to STEP 3, otherwise all Np reflection coefficients have been obtained.

STEP 7

The reflection coefficients, rj, are then converted to direct-form LPC filter coefficients,i for implementing the combined spectrally noise weighted synthesis filter H(z) and the filter W(z).

The method for the spectral noise weighting filter coefficient update mimicks how the direct form LPC filter coefficients are updated at subframes of a frame (subclause 4.1.6). No stability check of interpolated spectral noise weighting filter coefficients is done at subframes 1, 2, or 3 if the interpolation flag, INT_LPC="1", but if uninterpolated coefficients are used at subframes 1, 2, and/or 3 due to instability of the unweighted coefficients (INT_LPC = "0"), uninterpolated weighting filter coefficients are also used at those subframes.