这个建议是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||= log2|d(k)| -y(k)
  y(k)=log2|D△(k)|
  D为标准化阶距,y(k)为缩放因子。
  自适应量化器是一个15阶非均匀自适应量化器。它将d'(k) 量化为四位二进制码I(k),其中一位表示符号,三位表示幅度。由于采样率为8KHz,故I(k) 形成了32Kb/s编码输出。表3.8 列出了量化器输入输出特性。
 表3.8 量化器输入输出特性
量化器归一化输入
|I(k)|
量化器归一化输出
[3.12 +∞]
7
3.32
[2.72 3.12]
6
2.91
[2.34 2.72]
5
2.52
[1.91 2.34]
4
2.13
[1.38 1.91]
3
1.66
[0.62 1.38]
2
1.05
[-0.98 0.62]
1
0.031
[-∞ -0.98]
0
-∞

  当需要求解逆量化器输出时,先从表3.8的第三列查出 I(k) 所对应的值,设 , 则
  (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)的定义如下:
|I(k)|
7
6
5
4
3
2
1
0
W(I)
70.13
22.19
12.38
7.00
4.00
2.56
1.13
-0.75

  对于慢速变化信号,缩放因子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)] 的定义如下:
|I(k)|
7
6
5
4
3
2
1
0
F[I(k)]
7
3
1
1
1
0
0
0
  
  根据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 码字。
  代表下一个更正的PCM输出电平(当Sa(k)表示正的更大电平时,被限制为Sa(k)的值)。
  代表下一个更负的PCM 输出电平(当Sa(k)表示负的更大电平时,被限制为Sa(k)的值。