Hi, David,
The following is your codec2 source code.
Why the energy and the LSP need the linear interpolation ?
Why the interpolation factor is 0.5 ??
What's the mathematical theory or explanation or formula behind them ?
Thanks a lot.
/* interpolate ------------------------------------------------*/
/* Wo and energy are sampled every 20ms, so we interpolate just 1
10ms frame between 20ms samples */
interp_Wo(&model[0], &c2->prev_model_dec,
&model[1]);
e[0] = interp_energy(c2->prev_e_dec, e[1]);
/* LSPs are sampled every 20ms so we interpolate the frame in
between, then recover spectral amplitudes */
interpolate_lsp_ver2(&lsps[0][0], c2->prev_lsps_dec,
&lsps[1][0], 0.5, LPC_ORD);
for(i=0; i<2; i++) {
lsp_to_lpc(&lsps[i][0], &ak[i][0], LPC_ORD);
aks_to_M2(c2->fft_fwd_cfg, &ak[i][0], LPC_ORD, &model[i],
e[i], &snr, 0, 0,
c2->lpc_pf,
c2->bass_boost, c2->beta, c2->gamma, Aw);
apply_lpc_correction(&model[i]);
synthesise_one_frame(c2, &speech[N*i], &model[i], Aw);
}_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2