作者:JHJ([email protected])
日期:2012/08/24
欢迎转载,请注明出处
LPC-10e综合器程序分析
1. 综合器框图
2. 解码、误差校正(decode.c)
3. 参数插值(pitsyn.c)
当前帧插值运算需要用到前帧的后半帧的参数值,所以在修改程序值,这段程序需要修改。
由于每帧语音只传输一组参数,考虑一帧之内可能有不止一个基音周期,因此要对接收数值进行由帧块到基音块的转换和插值。
因此参数插值程序需要解决两个问题:(1)基音块的确定;(2)对各基音块如何插值。
参数插值的原则:
1)对数面积比参数值每帧插值两次;
2)RMS参数值在对数域进行基音同步插值;
3)基音参数值用基音同步的线性插值;
4)在浊音向清音过渡时对数面积比不插值。
预测系数、增益、基音周期、清/浊音等参数值每个基音周期(基音块)更新一次,这个过程在帧块到基音块的转换和插值中完成。
清音段由于没有基音周期,这里确定基因块长度的方法是平均切分;浊音段由于有基音周期,因此确定基音块是基于其基音周期的。
需要处理的帧块的长度为lsamp = lframe + jsamp(其中lframe为本帧帧长,在本程序中为180个样点,jsamp为前一帧中未处理的样点)。 帧块到基音块的转换所用到的关键参数是帧的清/浊音,即由