这个建议是1984年公布。1986年作了进一步修订。它用于64kbit/s的A律或μ律PCM到32kbit/s
ADPCM之间的转换,实现了对PCM信道的扩容。 图3.9是32Kbit/s ADPCM编码器和解码器简化框图。编码器的输入信号是64Kbit/s A律或 μ律PCM编码。首先将其转换为标准PCM编码。从中减去估计值,得到差值信号d(k)。15阶自适应量化器将d(k)量化成4位二进制值I(k)。逆量化器从这4位二进制数中产生量化的差值信号dq(k)。dq(k)和估计信号Sq(k)相加得到重构信号Sr(k)。自适应预测器利用dq(k)和Sr(k)生成输入信号的估计值。 解码器包括一个与编码器反馈部分相同的结构,还有A律或μ律的转换器,以及同步编码调节器。同步编码器用于防止同步级联编码(ADPCM-PCM-ADPCM)在某些情况下产生累积失真。用试图消除下一个ADPCM编码的量化失真的方式调节PCM输出,以实现同步编码调节。 图3.9 G.721简化框图 ![]() (1) 自适应量化 在差值信号d(k)被量化之前,需将d(h)标准化,并转换成以2为底的对数。量化器的输入d'(k)为:d'(k)=log2| ![]() y(k)=log2|D△(k)| D为标准化阶距,y(k)为缩放因子。 自适应量化器是一个15阶非均匀自适应量化器。它将d'(k) 量化为四位二进制码I(k),其中一位表示符号,三位表示幅度。由于采样率为8KHz,故I(k) 形成了32Kb/s编码输出。表3.8 列出了量化器输入输出特性。 表3.8 量化器输入输出特性
当需要求解逆量化器输出 ![]() ![]() ![]() (2) 缩放因子y(k) 和速度控制 G. 721中采用抗扰因子自适应算法计算缩放因子,并适当调整适应速度。自适应速度由快速和慢速缩放因子共同控制。阶距抗扰因子自适应算法为: △(k) = M [I(k-1)]△β(k-1) M[I(k-1)]是个乘子,β是衰减因子。 两边取对数 log2△(k)=βlog2 △(k-1) +log2M[I (k-1)] G. 721中,对于快速控制,可表示成: yu (k) = (1-2-5) y (k) +2-5W [ I (k) ] 其中10.00≥ yu(k)≥1.06 ,则 2.0849<△(k)<1024 W(I)的定义如下:
对于慢速变化信号,缩放因子yl(k) 是由 yu(k)经低通滤波后得到的: yl(k) = (1-2-6)yl(k-1) + 2-6yu(k) 快速缩放因子和慢速缩放因子组合成我们所需的缩放因子: y(k)=al(k-1) yu(k-1) + [1-al(k) yl(k-1) 式中al(k)是自适应控制参数,取值范围为[0, 1]。当信号为语音时,al(k) 趋近于1,y(k)近似为yu(k-1)。对于平稳信号,al(k) 趋近于0,y(k) 近似于yl(k-1)。 I(k)的平均幅度有两种方法计算:短时平均幅度dms,长时平均幅度dml。 dms(k) = (1-2-5) dms(k-1) + 2-5 F[I (k)] dml(k) = (1-2-5) dml(k-1) + 2-7 F[I (k)] 其中 F[I(k)] 的定义如下:
根据dms 和 dml计算中间参数ap(k) ![]() ![]() 可以看出,差值信号较大时,dms 与 dml的差也大,ap(k)趋近于2;反之,ap(k)趋于0。信号较小时 ( y(k)<3 ),ap(k)也趋于2。对ap(k-1) 进行限幅,得到量化器自适应控制参数al(k) ![]() (3) 自适应预测 自适应预测器的主要任务是计算估值Se(k)。它是一个六阶零点、二阶极点的预测器,这种结构可以有效地适应输入信号的多样性。Se(k)的计算如下 ![]() ![]() 重构信号定义为: ![]() 各组预测系数都用一种简化梯度算法来修正。预测系数的计算如下: ![]() ![]() 其中 ![]() ![]() ![]() 稳定性约束为: ![]() 如果 tr (k)=1,则 a1(k)=a2(k)=0 对于六阶预测器: bi(k)=(1-2-8)bi(k-1)+2-7Sgn[dq(k)]Sgn[dq(k-I)] I=1…6 如果tr(k)=1,那么bi(k)=b2(k)…=b6(k)=0 与上面类似,Sgn[0]=1,除bq(k-1)=0且I=0,Sgn[dq(k-1)]定义为 0。注意bi(k)被限幅在±2范围内。 一些 Modem 使用移频键控信号(FSK), 由于FSK是能量平稳信号,量化器处于慢速自适应状态。为了改善 FSK 调制解调器所产生信号的性能,定义了一个两级检测过程。首先进行单频信号检测。如果是,控制量化器向快速自适应状态转化, 的赋值如下: ![]() 然后检测是否有窄带信号瞬变,这里依据 a2(K) 和 dq(K) 的大小; ![]() 当tr(k)=1,表示发生了频率瞬变,则强制量化器处于快速自适应状态。 (4)ADPCM 解码器原理 图3.9(b) 是G.721解码器框图。它的大部分框与编码器中相应框的原理相同。附加说明如下: 输出PCM格式转换:这个框转换重构的PCM信号Sr(K)为所需要的A律或m律信号Sp(K)。 同步编码调整:用以防止同步转换编码(ADPCM-PCM-ADPCM)中发生误差累积。它具有以下功能: ·保证传输 32kb/s ADPCM、转接 64k/s PCM 比特流信号不发生错误。 ·保证传输 32kb/s ADPCM、转接 64k/s PCM 比特流不被数字信号处理设备所干扰。 如果编码器和解码器的初始条件不同,那么在刚开机时,就需要花时间建立同步转接特性。而且,如果这种特性被破坏,或在初始未被建立,它可由200~3400HZ频带内的足够幅度的信号来恢复。 当编码器和解码器已同步工作时,同步编码调整模块将估计编码器的量化特性。假如编码器和解码器的所有状态变量都有确定的值,并且没有传输错误,对所有的 k 值,强制确定量化器4位输出编码,确保了没有累积失真。 在进行上述工作之前,先将A律或m律的信号 Sp(k) 转换为 PCM 信号 Sex(k),并计算差值信号: ![]() 然后比较量化的差值信号 dx(K) 与 I(K) 是否相同,以此确定解码器的实际输出Sa(k), Sa(k)信号的定义如下: ![]() 其中,Sa(k) 为解码器输出的 PCM 码字。 ![]() ![]() ![]() ![]() |