G.723.1编译码算法的DSP实现

G.723.1编译码算法的DSP实现,第1张

 

1 引 言
  随着VoIP技术的不断发展,要求产品的集成度与性能进一步提高,利用新一代高性能DSP芯片,实现单片DSP处理多路语音信号,是今后的发展趋势。
  G.723.1标准是ITU组织于1996年推出的一种低码率编码算法。主要用于对语音及其它多媒体声音信号的压缩,如可视电话系统、数字传输系统和高质语音压缩系统等。G.723.1标准可在6.3kbps和5.3kbps两种码率下工作。其中,高码率算法具有较高的重建语音质量,而低码率算法的计算复杂度则较低。与一般的低码率语音编码算法一样,G.723.1标准采用线性预测的合成分析法。对激励信号进行量化时,高码率算法采用多脉冲最大似然量化(MP-MLQ),而低码率算法则采用算术码本激励线性预测(ACELP)。
2 算法介绍
  语音信号的参数模型是用激励信号激励一个系统模型来模仿气流冲激声道产生的声音。线性预测法基于全极点模型假定,采用时域均方误差最小准则来估计模型参数。分析过程中要提取的参数包括声道系统的LSP参数、自适应码本的延迟和增益,
以及固定码本中脉冲的位置和符号。
  G.723.1编码器能对以8kHz采样的话带语音信号进行压缩。为了降低码率,G.723.1采用了较长的帧尺寸,每帧240个样值,即30毫秒帧长。每帧输入信号首先通过一阶高通滤波器滤除直流分量,然后将之分成四个60个样值的子帧,每个子帧独立进行LPC分析。为了提高LPC系数的连续性,采用了长度为180个样值的重叠窗,即同时包含前后两个子帧,这使算法引入60个样值的超前时延,因此算法的总时延为37.5毫秒。LPC系数用线性谱频率(LSF)表示,LSF参数采用预测分裂矢量量化,只对第四子帧进行。为了提高量化感知质量,高通滤波后的语音信号需通过共振峰感知加权滤波器和谐振峰噪声整形滤波器以生成初始目标信号。前者参数由各子帧的未量化LPC系数构成,后者通过对每两子帧进行开环基音周期估计得到,其中基音周期的范围为18到142个样值。LPC合成滤波器、共振峰感知加权滤波器和谐振峰噪声整形滤波器用于系统零输入响应计算和最佳激励估计。G.723.1编码器还包括一个五阶基音预测器,其参数根据开环基音估计值和脉冲响应进行闭环基音搜寻得到。在进行最佳激励估计时,需从初始目标信号中减去系统零输入响应和基音预测器贡献以得到最终目标信号,然后针对高低码率分别采用MP-MLQ和ACELP方法进行量化。其中,LSF参数、基音值和激励参数需传送给解码器。
  解码器首先根据得到的LSF参数重建LPC合成滤波器,然后根据基音值和激励参数得到自适应码本激励信号和固定码本激励信号。
2.1 声道模型参数的提取
    十阶全极点模型系统的传递函数为:
    G.723.1编译码算法的DSP实现,第2张  
  其中,S(z)和U(z)分别是输出信号s(n)和输入信号u(n)的Z变换。因此误差信号为:
   G.723.1编译码算法的DSP实现,第3张
要使均方误差最小,{ak}必定满足G.723.1编译码算法的DSP实现,第4张=1,2,...10),由此可得到以G.723.1编译码算法的DSP实现,第5张k为变量的方程组:
    G.723.1编译码算法的DSP实现,第6张
其中,R(n)为S(n)的自相关函数值。对于这个Toeplitz矩阵,用Durbin递推算法可方便求解。
  因为线谱对参数(LSP)良好的量化特性和内插特性,LPC参数要转换为LSP参数进行传输。
设线性滤波器的逆滤波器为
G.723.1编译码算法的DSP实现,第7张
ωi和θi分别是P(z)和Q(z)的第i个零点。ωi和θi成对出现,反映信号的频谱特性,因此称为线谱对。对P(z)和Q(z)的系数做离散傅立叶变换得到zk=e-jπk/N(k=0,1,2...N)各点的值,搜索极小值点的位置,就是可能的零点位置。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2445110.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-03
下一篇 2022-08-03

发表评论

登录后才能评论

评论列表(0条)

保存