第10章 信源编码¶
第 10 章 信源编码¶
10.1 引言¶
本章讨论信源编码。第 1 章提到过,信源编码有两个基本功能,即信源压缩编码和数字化。
信源压缩编码是针对数字信号进行编码的。所以若信源输入信号是模拟信号,则必须先将其数字化,然后再进行压缩编码。在 1.4 节中提到,信源中每个符号以等概率独立出现时,信源的熵(平均信息量)最大。这就是说,若信源中的符号不是以等概率独立出现,则每个符号中含有的平均信息量将较低。若采用编码的方法改变符号出现的概率及减小符号间的相关性(增加独立性),从而提高符号的平均信息量,就可以用更少的码元传输(存储)同样量的信息。这是压缩信源的方法之一,称为信源无损压缩(lossless compression);另外一种压缩信源的方法是信源有损压缩(lossy compression),它在对信源编码时,使信源含有的信息量有所降低。这种方法使信源产生失真,但是若控制失真在允许范围内,仍然具有非常大的实用价值。
将模拟输入信号数字化后,通常变成二进制的码元,用二进制码元表示的过程也是一种编码过程。所以数字化过程包括三个步骤:抽样 (sampling)、量化 (quantization) 和编码 (coding), 如图 10-1 所示。
模拟信号首先被抽样。模拟信号被抽样后,成为抽样信号,它在时间上是离散的,但是其取值仍然是连续的,所以是离散模拟信号。第二步是量化。量化的结果使抽样信号变成量化信号,其取值是离散的,故量化信号已经是数字信号了,它可以看成是多进制的数字脉冲信号。第三步是编码。最基本和最常用的编码方法是脉冲编码调制。


10.2 模拟信号的抽样¶
10.2.1 低通模拟信号的抽样定理¶
模拟信号通常是在时间上连续的信号。在一系列离散点上,对这种信号抽取样值称为抽样,如图 10-1 (b) 所示。图中 \(m(t)\) 是一个模拟信号。在等时间间隔 \(T_{s}\) 上,对它抽取样值。在理论上,抽样过程可以看作是用周期性单位冲激脉冲(impulse)和此模拟信号相乘。抽样结果得到的是一系列周期性的冲激脉冲,其面积和模拟信号的取值成正比。冲激脉冲在图 10-1 (b) 中用一些箭头表示。在实际上,是用周期性窄脉冲代替冲激脉冲与模拟信号相乘。
抽样所得离散冲激脉冲显然和原始连续模拟信号形状不一样。但是,可以证明,对一个带宽有限的连续模拟信号进行抽样时,若抽样速率足够大,则这些抽样值就能够完全代表原模拟信号,并且能够由这些抽样值准确地恢复出原模拟信号波形。因此,不一定要传输模拟信号本身,可以只传输这些离散的抽样值,接收端就能恢复原模拟信号。描述这一抽样速率条件的定理就是著名的抽样定理 \(^{[1-5]}\) 。抽样定理为模拟信号的数字化奠定了理论基础。
第 10 章 信源编码
抽样定理指出:设一个连续模拟信号 \(m(t)\) 中的最高频率小于 \(f_{H}\) ,则以间隔时间为 \(T_{s} \leqslant 1/2f_{H}\) 的周期性冲激脉冲对它抽样时, \(m(t)\) 将被这些抽样值所完全确定。由于抽样时间间隔相等,所以此定理又称均匀抽样定理。
下面从频域证明这个定理。
设有一个最高频率小于 \(f_{H}\) 的信号 \(m(t)\) ,如图 10-2 (a) 所示。将这个信号和周期性单位冲激脉冲 \(\delta_{\mathrm{T}}(t)\) 相乘。 \(\delta_{\mathrm{T}}(t)\) 如图 10-2 (c) 所示,其重复周期为 \(T_{s}\) ,重复频率为 \(f_{s}=1/T_{s}\) 。乘积就是抽样信号,它是一系列间隔为 \(T_{s}\) 秒的强度不等的冲激脉冲,如图 10-2 (e) 所示。这些冲激脉冲的强度等于相应时刻上信号的抽样值。现用 \(m_{s}(t)\) 表示此抽样信号序列,故有

现在令 \(M(f)\) 、 \(\Delta_{\Omega}(f)\) 和 \(M_{s}(f)\) 分别表示 \(m(t)\) 、 \(\delta_{\Gamma}(t)\) 和 \(m_{s}(t)\) 的频谱。按照频率卷积定理, \(m(t)\delta_{\Gamma}(t)\) 的傅里叶变换等于 \(M(f)\) 和 \(\Delta_{\Omega}(f)\) 的卷积。因此, \(m_{s}(t)\) 的傅里叶变换 \(M_{s}(f)\) 可以写为
而 \(\Delta_{\Omega}(f)\) 是周期性单位冲激脉冲的频谱,即

10.2
模拟信号的抽样
此频谱如图 10-2 (d) 所示。
将式 \((10.2-3)\) 代入式 \((10.2-2)\) ,得:
式 \((10.2-4)\) 中的卷积可以利用卷积公式
进行计算,得
式 (10.2-5) 表明,由于 \(M(f-nf_{s})\) 是信号频谱 \(M(f)\) 在频率轴上平移了 \(nf_{s}\) 的结果,所以抽样信号的频谱 \(M_{s}(f)\) 是无数间隔频率为 \(f_{s}\) 的原信号频谱 \(M(f)\) 相叠加而成。因为已经假设信号 \(m(t)\) 的最高频率小于 \(f_{H}\) , 所以若式 (10.2-4) 中的频率间隔 \(f_{s}\geqslant2f_{H}\) , 则 \(M_{s}(f)\) 中包含的每个原信号频谱 \(M(f)\) 之间互不重叠 (superposition), 如图 10-2 (f) 所示。这样就能够从 \(M_{s}(f)\) 中用一个低通滤波器分离出信号 \(m(t)\) 的频谱 \(M(f)\) , 也就是能从抽样信号中恢复原信号,或者说能由抽样信号决定原信号。
这里,恢复原信号的条件是:
即抽样频率 \(f_{s}\) 应不小于 \(f_{H}\) 的 2 倍。这一最低抽样速率 \(2f_{H}\) 称为奈奎斯特 (Nyquist) 抽样速率。与此相应的最大抽样时间间隔称为奈奎斯特抽样间隔。
若抽样速率低于奈奎斯特抽样速率,则由图 10-2 (f) 可以看出,相邻周期的频谱间将发生频谱重叠 (又称混叠), 因而不能正确分离出原信号频谱 \(M(f)\) 。
由图 10-2 (f) 还可以看出,在频域上,抽样的效果相当于把原信号的频谱分别平移到周期性抽样冲激函数 \(\delta_{\mathrm{T}}(t)\) 的每根谱线上,即以 \(\delta_{\mathrm{T}}(t)\) 的每根谱线为中心,把原信号频谱的正负两部分平移到其两侧。或者说,是将 \(\delta_{\mathrm{T}}(t)\) 作为载波,用原信号对其调幅。
现在来考虑由抽样信号恢复原信号的方法。从图 10-2 (f) 可以看出,当 \(f_{s}\geqslant2f_{H}\) 时,用一个截止频率为 \(f_{H}\) 的理想低通滤波器就能够从抽样信号中分离出原信号。从时域中看,当用图 10-2 (e) 中的抽样脉冲序列冲激此理想低通滤波器时,滤波器的输出就是一系列冲激响应之和。令 \(m^{\prime}(t)\) 表示此滤波器的输出, \(h(t)\) 表示此滤波器的冲激响应,则有
式中: \(m_{s}(t)\) 为此滤波器的输入; \(h(t)=2f_{\mathrm{H}}\frac{\sin2\pi f_{\mathrm{H}}t}{2\pi f_{\mathrm{H}}t}\) ,是截止频率为 \(f_{H}\) 的理想低通滤波器的冲激响应。
将式 (10.2-1) 中的 \(m_{s}(t)\) 表示式代入式 (10.2-7),得
第 10 章 信源编码
式 \((10.2-8)\) 表示滤波器输出 \(m'(t)\) 是无穷多个冲激响应之和。如图 10-2 (g) 所示。这些冲激响应之和就构成了原信号。
理想滤波器是不能实现的。实用滤波器的截止边缘不可能做到如此陡峭。所以,实用的抽样频率 \(f_{s}\) 必须比 \(2f_{H}\) 大多一些。例如,典型电话信号的最高频率通常限制在 3400Hz,而抽样频率通常采用 8000Hz。
10.2.2 带通模拟信号的抽样定理¶
上节讨论了低通模拟信号的抽样。现在来考虑带通模拟信号的抽样。设带通模拟信号的频带限制在 \(f_{L}\) 和 \(f_{H}\) 之间,即其频谱最低频率大于 \(f_{L}\) ,最高频率小于 \(f_{H}\) ,信号带宽 \(B = f_{H} - f_{L}\) 。可以证明,此带通模拟信号所需最小抽样频率 \(f_{s}\) 为
式中:B 为信号带宽;n 为商 \((f_{\mathrm{H}}/B)\) 的整数部分 \((n=1,2,\cdots)\) ;k 为商 \((f_{\mathrm{H}}/B)\) 的小数部分 \((0\leqslant k<1)\) 。
按照式 (10.2-9) 画出的 \(f_{s}\) 和 \(f_{L}\) 关系曲线如图 10-3 所示。
带通抽样定理从频域上很容易解释。
当信号最高频率 \(f_{H}\) 等于信号带宽 B 的整数时,即 \(f_{H}=nB\) 时(n 为大于 1 的整数),按照低通抽样定理,抽样频率若满足 \(f_{s}\geqslant2nB\) 条件则抽样后的频谱不会发生重叠。然而,按照带通抽样定理,若抽样频率满足 \(f_{s}=2B\) ,则抽样后的频谱仍然不会发生重叠。例如,当 n=3 时,由图 10-4 (a) 可见,抽样后的频谱各段之间仍不发生重叠,利用一个 \(f_{L}=2B\) 及 \(f_{H}=3B\) 的带通滤波器仍然可以无失真地恢复原带通信号。这时,仅要求抽样频率 \(f_{s}=2B\) ;若按照低通抽样定理,则要求抽样频率 \(f_{s}=6B\) 。
当信号最高频率 \(f_{H}\) 不等于信号带宽 B 的整数倍时,即当 \(f_{\mathrm{H}} = nB(1 + k / n)\) 时,其中 \(0 \leqslant k < 1\) ,若要求抽样后频谱仍然不产生重叠,则需要满足其他条件。例如,当 \(n = 3\) , \(f_{\mathrm{H}} = 3B(1 + k / 3) = (3 + k)B\) 时,由图 10-4 (b) 可见,若满足 \(2f_{\mathrm{H}} = 3f_{s}\) ,即 \(2(3 + k)B = 3f_{s}\) ,则抽样后的频谱不产生重叠。


10.2
模拟信号的抽样

从 n=3 推广到 n 等于任何正整数的一般情况,若要求抽样后的频谱不产生重叠,需要满足
此式即为式 \((10.2-9)\) 。
由图 10-4 可见,当 \(f_{\mathrm{L}} = 0\) 时, \(f_{\mathrm{s}} = 2B\) ,就是低通模拟信号的抽样情况;当 \(f_{\mathrm{L}}\) 很大时, \(f_{\mathrm{s}}\) 趋近于 \(2B\) 。 \(f_{\mathrm{L}}\) 很大意味着这个信号是一个窄带信号。许多无线电信号,例如在无线电接收机的高频和中频系统中的信号,都是这种窄带信号。所以对于这种信号抽样,无论 \(f_{\mathrm{H}}\) 是否为 \(B\) 的整数倍,在理论上,都可以近似地将 \(f_{\mathrm{s}}\) 取为略大于 \(2B\) 。此外,顺便指出,对于频带受限的广义平稳随机信号,上述抽样定理也同样适用。
必须指出,图 10-3 中的曲线表示要求的最小抽样频率 \(f_{s}\) , 但是这并不意味着用任何大于该值的频率抽样都能保证频谱不混叠。
10.3 模拟脉冲调制¶
在上面讨论抽样定理时,我们用冲激函数去抽样,见图 10-2。但是实际的抽样脉冲
第 10 章 信源编码
的宽度和高度都是有限的。可以证明,这样抽样时,抽样定理仍然正确。从另一个角度看,可以把周期性脉冲序列看作是非正弦载波,而抽样过程可以看作是用模拟信号(图 10-5 (a))对它进行振幅调制。这种调制称为脉冲振幅调制(PAM),如图 10-5 (b) 所示。我们知道,一个周期性脉冲序列有 4 个参量:脉冲重复周期、脉冲振幅、脉冲宽度和脉冲相位(位置)。其中脉冲重复周期即抽样周期,其值一般由抽样定理决定,故只有其他三个参量可以受调制。因此,可以将 PAM 信号的振幅变化按比例地变换成脉冲宽度的变化,得到脉冲宽度调制(PDM),如图 10-5 (c) 所示。或者,变换成脉冲相位(位置)的变化,得到脉冲位置调制(PPM),如图 10-5 (d) 所示。这些种类的调制,虽然在时间上都是离散的,但是仍然是模拟调制,因为其代表信息的参量仍然是可以连续变化的。这些已调信号当然也属于模拟信号。
现在,将仅对 PAM 作进一步的分析,因为 PAM 是一种最基本的模拟脉冲调制,它往往是模拟信号数字化过程的必经之路。
设基带模拟信号的波形为 \(m(t)\) ,其频谱为 \(M(f)\) ;用这个信号对一个脉冲载波 \(s(t)\) 调幅, \(s(t)\) 的周期为 \(T_{B}\) ,其频谱为 \(S(f)\) ;脉冲宽度为 \(\tau\) ,幅度为 A;并设抽样信号 \(m_{s}(t)\) 是 \(m(t)\) 和 \(s(t)\) 的乘积。则抽样信号 \(m_{s}(t)\) 的频谱就是两者频谱的卷积:
其中 \(\mathrm{Sa}(\pi n\tau f_{s})=\sin(\pi n\tau f_{s})/(\pi n\tau f_{s})\)
图 10-6 中示出 PAM 调制过程的波形和频谱。将其和图 10-2 中的抽样过程比较可见,现在的周期性矩形脉冲 \(s(t)\) 的频谱 \(\mid S(f)\mid\) 的包络呈 \(\left|\sin x / x\right|\) 形,而不是一条水平直线。并且 PAM 信号 \(m_{\mathrm{s}}(t)\) 的频谱 \(\mid M_{\mathrm{s}}(f)\mid\) 的包络也呈 \(\left|\sin x / x\right|\) 形。若 \(s(t)\) 的周期 \(T_{\mathrm{s}}\leqslant (1 / 2f_{\mathrm{H}})\) ,或其重复频率 \(f_{\mathrm{s}}\geqslant 2f_{\mathrm{H}}\) ,则采用一个截止频率为 \(f_{\mathrm{H}}\) 的低通滤波器仍可以分离出原模拟信号,如图 10-6 (f) 所示。
在上述 PAM 调制中,得到的已调信号 \(m_{\mathrm{s}}(t)\) 的脉冲顶部和原模拟信号波形相同。这种 PAM 常称为自然抽样。在实际应用中,则常用 “抽样保持电路” 产生 PAM 信号。这种电路的原理方框图可以用图 10-7 表示。图中,模拟信号 \(m(t)\) 和非常窄的周期性脉冲(近似冲激函数) \(\delta_{\mathrm{T}}(t)\) 相乘,得到乘积 \(m_{\mathrm{s}}(t)\) ,然后通过一个保持电路,将抽样电压保持一定时间。这样,保持电路的输出脉冲波形保持平顶,如图 10-8 所示。
设保持电路的传输函数为 \(H(f)\) ,则其输出信号的频谱 \(M_{\mathrm{H}}(f)\) 为

10.3 模拟脉冲调制


式 \((10.3-2)\) 中的 \(M_{s}(f)\) 用式 \((10.2-5)\)
代入,得
\(M_{s}(f)\) 的曲线见图 10-2 (f)。由此曲线看出,用低通滤波器就能滤出原模拟信号。现在,比较 \(M_{H}(f)\) 的表示式 (10.3-3) 和 \(M_{s}(f)\) 的表示式可见,其区别在于和式中的每一项都被 \(H(f)\) 加权。因此,不能用低通滤波器恢复(解调)原始模拟信号了。但是从原理上看,若在低通滤波器之前加一个传输函数为 \(1/H(f)\) 的修正滤波器,就能无失真地恢复原模拟信号了。
为了将模拟信号变成数字信号,必须采用量化的办法。10.4 节将讨论抽样信号的量化。
10.4 抽样信号的量化¶
10.4.1 量化原理¶
模拟信号抽样后变成在时间上离散的信号,但仍然是模拟信号。这个抽样信号必须
第 10 章 信源编码
经过量化才成为数字信号。我们将在下面讨论模拟抽样信号的量化。
设模拟信号的抽样值为 \(m(kT_{s})\) ,其中 \(T_{s}\) 是抽样周期,k 是整数。此抽样值仍然是一个取值连续的变量,即它可以有无数个可能的连续取值。若我们仅用 N 个二进制数字码元来代表此抽样值的大小,则 N 个二进制码元只能代表 \(M=2^{N}\) 个不同的抽样值。因此,必须将抽样值的范围划分成 M 个区间,每个区间用一个电平表示。这样,共有 M 个离散电平,它们称为量化电平。用这 M 个量化电平表示连续抽样值的方法称为量化。在图 10-9 中给出了一个量化过程的例子。图中, \(m(kT_{s})\) 表示模拟信号抽样值, \(m_{q}(kT_{s})\) 表示量化后的量化信号值, \(q_{1}, q_{2}, \cdots, q_{i}, \cdots, q_{6}\) 是量化后信号的 6 个可能输出电平, \(m_{1}, m_{2}, \cdots, m_{i}, \cdots, m_{5}\) 为量化区间的端点。这样,我们可以写出一般公式:
按照式 (10.4-1) 作变换,就把模拟抽样信号 \(m(kT_{s})\) 变换成了量化后的离散抽样信号,即量化信号。
在原理上,量化过程可以认为是在一个量化器 (quantizer) 中完成的。量化器的输入信号为 \(m(kT_{s})\) ,输出信号为 \(m_{q}(kT_{s})\) ,如图 10-10 所示。在实际中,量化过程常是和后续的编码过程结合在一起完成的,不一定存在独立的量化器。
在图 10-9 中 \(M\) 个抽样值区间是等间隔划分的,这称为均匀量化。 \(M\) 个抽样值区间也可以不均匀划分,称为非均匀量化。下面将分别讨论这两种量化方法。

10.4.2 均匀量化¶
设模拟抽样信号的取值范围在 a 和 b 之间,量化电平数为 M, 则在均匀量化时的量化间隔为
10.4 抽样信号的量化
且量化区间的端点
若量化输出电平 \(q_{i}\) 取为量化间隔的中点,则
显然,量化输出电平和量化前信号的抽样值一般不同,即量化输出电平有误差。这个误差常称为量化噪声 (quantization noise), 并用信号功率与量化噪声之比 (简称信号量噪比) 衡量此误差对于信号影响的大小。对于给定的信号最大幅度,量化电平数越多,量化噪声越小,信号量噪比越高。信号量噪比是量化器的主要指标之一。下面将对均匀量化时的平均信号量噪比作定量分析。
在均匀量化时,量化噪声功率的平均值 \(N_{q}\) 可以用下式表示:
式中: \(m_{k}\) 为模拟信号的抽样值,即 \(m(kT_{s})\) ; \(m_{q}\) 为量化信号值,即 \(m_{q}(kT_{s})\) ; \(f(m_{k})\) 为 \(m_{k}\) 的概率密度;E 表示求统计平均值;M 为量化电平数; \(m_{i}=a+i\Delta v\) ; \(q_{i}=a+i\Delta v-\frac{\Delta v}{2}\) 。
信号 \(m_{k}\) 的平均功率可以表示为
若已知信号 \(m_{k}\) 的概率密度函数,则由式 (10.4-5) 和式 (10.4-6) 可以计算出平均信号量噪比。
【例 10-1】设一个均匀量化器的量化电平数为 \(M\) ,其输入信号抽样值在区间 \([-a, a]\) 内具有均匀的概率密度。试求该量化器的平均信号量噪比。
【解】由式 \((10.4-5)\) 得
因为
所以有
第 10 章 信源编码
另外,由于此信号在 \([-a, a]\) 内,具有均匀的概率密度,故从式 (10.4-6) 得到信号功率为
所以,平均信号量噪比为
若 M 是 2 的整次幂,即 \(M = 2^{\lambda}\) , 其中 N 是正整数,则式 (10.4-9) 可表示为
或 \(\left(\frac{S}{N_{q}}\right)_{dB}=10\lg(2^{2N})=20N\lg2\approx6N(dB)\) (10.4-10)
由式 (10.4-10) 可以看出,量化器的平均输出信号量噪比随量化电平数 M 的增大而提高;N 每增加 1 位,量化信噪比就提高 6dB。
在实际应用中,对于给定的量化器,量化电平数 M 和量化间隔 \(\Delta v\) 都是确定的。所以,由式 (10.4-7) 可知,量化噪声 \(N_{q}\) 也是确定的。但是,信号的强度可能随时间变化,像语音信号就是这样。当信号小时,信号量噪比也小。所以,这种均匀量化器对于小输入信号很不利。为了克服这个缺点,改善小信号时的信号量噪比,在实际应用中常采用下节将要讨论的非均匀量化。
10.4.3 非均匀量化¶
在非均匀量化时,量化间隔是随信号抽样值的不同而变化的。信号抽样值小时,量化间隔 \(\Delta v\) 也小;信号抽样值大时,量化间隔 \(\Delta v\) 也变大。实际中,非均匀量化的实现方法通常是在进行量化之前,先将信号抽样值压缩 (compression), 再进行均匀量化。这里的压缩是用一个非线性电路将输入电压 x 变换成输出电压 y:
压缩特性如图 10-11 所示(在此图中仅画出了曲线的正半部分,在第三象限奇对称的负半部分没有画出)。图中纵坐标 \(y\) 是均匀刻度的,横坐标 \(x\) 是非均匀刻度的。所以输入电压 \(x\) 越小,量化间隔也就越小。也就是说,小信号的量化误差也小,从而使信号量噪比有可能不致变坏。下面将就这个问题作定量分析。
在图 10-11 中,当量化区间划分很多时,在每一量化区间内压缩特性曲线可以近似看作为一段直线。因此,这段直线的斜率 (slope) 可以写为

10.4 抽样信号的量化
并且有
设此压缩器的输入和输出电压范围都限制在 0 和 1 之间,即作归一化,且纵坐标 y 在 0\~1 之间均匀划分成 N 个量化区间,则每个量化区间的间隔为
将其代入式 \((10.4-13)\) ,得
故
为了对不同的信号强度保持信号量噪比恒定,当输入电压 x 减小时,应当使量化间隔 \(\Delta x\) 按比例地减小,即要求
因此式 (10.4-14) 可以写成
或
式中:k 为比例常数。
式 \((10.4-15)\) 是一个线性微分方程 (linear differential equation),其解为
为了求出常数 \(c\) ,将边界条件(boundary condition)(当 \(x = 1\) 时, \(y = 1\) )代入式 (10.4-16),得
故求出
将上式 c 的值代入式 (10.4-16),得
第 10 章 信源编码
即要求 \(y=f(x)\) 具有如下形式:
由式 (10.4-17) 看出,为了对不同的信号强度保持信号量噪比恒定,在理论上要求压缩特性具有式 (10.4-17) 的对数 (logarithm) 特性。但是,式 (10.4-17) 不符合因果律 (the law of causation), 是不能物理实现的,因为当输入 x=0 时,输出 \(y=-\infty\) , 其曲线与图 10-11 中的曲线不同。所以,在实用中这个理想压缩特性的具体形式,按照不同情况,还要作适当修正,使当 x=0 时,y=0。
关于电话信号的压缩特性,ITU 制定了两种建议,即 A 压缩律和 \(\mu\) 压缩律,以及相应的近似算法 ——13 折线法和 15 折线法。我国大陆、欧洲各国以及国际间互连时采用 A 压缩律及相应的 13 折线法,北美、日本和韩国等少数国家和地区采用 \(\mu\) 压缩律及 15 折线法。下面将分别讨论这两种压缩律及其近似实现方法。
1. A 压缩律¶
A 压缩律 (简称 A 律) 是指符合下式的对数压缩规律:
式中:x 为压缩器归一化输入电压;y 为压缩器归一化输出电压;A 为常数,它决定压缩程度。
A 律是从式 (10.4-17) 修正而来的。它由两个表示式组成。第一个表示式 (10.4-18a) 中的 y 和 x 成正比,是一条直线方程;第二个表示式 (10.4-18b) 中的 y 和 x 是对数关系,类似理论上为保持信号量噪比恒定所需的理想特性 (式 (10.4-17)) 的关系。
由式 (10.4-17) 画出的曲线如图 10-12 所示。为了使此曲线通过原点,修正的办法是通过原点对此曲线作切线 \(Ob\) ,用直线段 \(Ob\) 代替原曲线段,就得到 \(A\) 律。此切点 \(b\) 的坐标 \((x_{1},y_{1})\) 为(推导过程见附录 E)
\((e^{1-k}, 1/k)\) 或 \((1/A, Ax_{1}/(1 + \ln A))\)
A 律是物理可实现的。其中的常数 A 不同,则压缩曲线的形状不同,这将特别影响小电压时的信号量噪比的大小。在实用中,选择 A = 87.6。

2. 13 折线压缩特性 ——A 律的近似¶
上面得到的 A 律表示式是一条连续的平滑曲线,用电子线路很难准确地实现。现在由于数字电路技术的发展,这种特性很容易用数字电路来近似实现。13 折线特性就是近似于 A 律的特性。在图 10-13 中示出了这种特性曲线。

10.4 抽样信号的量化
图中横坐标 x 在 0\~1 区间中分为不均匀的 8 段。1/2\~1 间的线段称为第 8 段;1/4\~1/2 间的线段称为第 7 段;1/8\~1/4 间的线段称为第 6 段;依此类推,直到 0\~1/128 间的线段称为第 1 段。图中纵坐标 y 则均匀地划分作 8 段。将与这 8 段相应的坐标点 \((x,y)\) 相连,就得到了一条折线。由图可见,除第一和第二段外,其他各段折线的斜率都不相同。在表 10-1 中列出了这些斜率。
表 10-1 各段折线的斜率
| 折线段号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 斜率 | 16 | 16 | 8 | 4 | 2 | 1 | 1/2 | 1/4 |
因为语音信号为交流信号,即输入电压 x 有正负极性。所以,上述的压缩特性只是实用的压缩特性曲线的一半。x 的取值应该还有负的一半。这就是说,在坐标系(coordinate)的第三象限(quadrant)还有对原点奇对称的另一半曲线,如图 10-14 所示。在图 10-14 中,第一象限中的第一和第二段折线斜率相同,所以构成一条直线。同样,在第三象限中的第一和第二段折线斜率也相同,并且和第一象限中的斜率相同。所以,这四段折线构成了一条直线。因此,在这正负两个象限中的完整压缩曲线共有 13 段折线,故称 13 折线压缩特性。
现在,我们考察此 13 折线特性和 A 律特性之间有多大误差。
为了方便起见,我们仅在折线的各转折点和端点上比较这两条曲线的坐标值。各转折点的纵坐标 (ordinate) y 值是已知的,即分别为 0,1/8,2/8,3/8,…,1。
对于 A 律压缩曲线,当采用的 A 值等于 87.6 时,其切点的横坐标 (abscissa):
第 10 章 信源编码
所以,将此 \(x_{1}\) 值代入 \(y_{1}\) 的表示式,就可以求出此切点的纵坐标:
这表明,A 律曲线的直线段在坐标原点和此切点之间,即 (0,0) 和 (0.0114,0.183) 之间。所以,此直线的方程可以写为
13 折线的第一个转折点纵坐标 \(y = 1/8 = 0.125\) ,它小于 \(y_{1}\) ,故此点位于 \(A\) 律的直线段,按式 (10.4-21) 即可求出相应的 \(x\) 值为 \(1/128\) 。
当 y > 0.183 时,应按 A 律对数曲线段的公式计算 x 值。此时,由式 (10.4-18b) 可以推出 x 的表示式:
按照式 \((10.4-22)\) 可以求出在此曲线段中对应各转折点纵坐标 y 的横坐标值。当用 A=87.6 代入式 \((10.4-22)\) 时,计算结果见表 10-2。
表 10-2 中对这两种压缩方法作了比较。从表中看出,13 折线法和 \(A = 87.6\) 时的 \(A\) 律压缩法十分接近。
| 表10-2 | A律和13折线法比较 | |||||||||||||
| i | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||||
| y=1-i/8 | 0 | 1/8 | 2/8 | 3/8 | 4/8 | 5/8 | 6/8 | 7/8 | 1 | |||||
| A律的x值 | 0 | 1/128 | 1/60.6 | 1/30.6 | 1/15.4 | 1/7.79 | 1/3.93 | 1/1.98 | 1 | |||||
| 13折线法的 $x=1/2^i$ | 0 | 1/128 | 1/64 | 1/32 | 1/16 | 1/8 | 1/4 | 1/2 | 1 | |||||
| 折线段号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ||||||
| 折线斜率 | 16 | 16 | 8 | 4 | 2 | 1 | 1/2 | 1/4 | ||||||
3. \(\mu\) 压缩律和 15 折线压缩特性¶
\(\mu\) 律压缩特性由下式表示:
式中: \(\mu=255\) 。


10.4
抽样信号的量化
由于 \(\mu\) 律同样不易用电子线路准确实现,所以目前实用中是采用特性近似的 15 折线代替 \(\mu\) 律。这时,和 A 律一样,也把纵坐标 y 在 0\~1 之间划分为 8 等份。对应于各转折点的横坐标 x 值可以按照式 (10.4-23) 计算:
计算结果列于表 10-3 中。将这些转折点用直线相连,就构成了 8 段折线。表中还列出了各段直线的斜率。
| 表10-3 | μ律的斜率 | |||||||||||
| i | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |||
| y=i/8 | 0 | 1/8 | 2/8 | 3/8 | 4/8 | 5/8 | 6/8 | 7/8 | 1 | |||
| x=(2i-1)/255 | 0 | 1/255 | 3/255 | 7/255 | 15/255 | 31/255 | 63/255 | 127/255 | 1 | |||
| 斜率/255 | 1/8 | 1/16 | 1/32 | 1/64 | 1/128 | 1/256 | 1/512 | 1/1024 | ||||
| 段号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ||||
由于其第一段和第二段的斜率不同,不能合并为一条直线,故当考虑到信号的正负电压时,仅正电压第一段和负电压第一段的斜率相同,可以连成一条直线。所以,得到的是 15 段折线,称为 15 折线压缩特性。在图 10-15 中给出了 15 折线的图形。
比较 13 折线特性和 15 折线特性的第一段斜率可知,15 折线特性第一段的斜率 (255/8) 大约是 13 折线特性第一段斜率 (16) 的 2 倍。斜率直接和信号量噪比成比例。斜率加倍,信号量噪比也加倍,所以 15 折线特性给出的小信号的信号量噪比约是 13 折线特性的 2 倍。但是,对于大信号而言,15 折线特性给出的信号量噪比要比 13 折线特性时稍差。这可以从对数压缩式 (10.4-18b) 看出,在 \(A\) 律中, \(A = 87.6\) ;但是在 \(\mu\) 律中,相当 \(A = 94.18\) 。 \(A\) 值越大,在大电压段曲线的斜率越小,即信号量噪比越差。
上面已经详细地讨论了 A 律和 \(\mu\) 律以及相应的折线法压缩信号的原理。至于恢复原信号大小的扩张 (expansion) 原理,完全和压缩的过程相反。这里不再赘述。
现在,以 13 折线法为例,将非均匀量化和均匀量化作一比较。若用 13 折线法中的 (第一段和第二段) 最小量化间隔作为均匀量化时的量化间隔,则 13 折线法中第一段至第八段包含的均匀量化间隔数分别为 16、16、32、64、128、256、512、1024, 共有 2048 个均匀量化间隔,而非均匀量化时只有 128 个量化间隔。因此,在保证小信号的量化间隔相等的条件下,均匀量化需要 11b 编码,而非均匀量化只要 7b 就够了。
第 10 章 信源编码
最后指出,上面讨论的均匀和非均匀量化,都属于无记忆标量 (scalar) 量化。关于有记忆的标量量化,将在以后的章节中讨论。
10.5 脉冲编码调制¶
10.5.1 脉冲编码调制的基本原理¶
量化后的信号,已经是取值离散的多电平数字信号。下一步的问题是如何将这个多电平数字信号用二进制符号 (如 “0” 和 “1”) 表示。将多电平信号转换成二进制符号的过程是一种编码过程。
在图 10-16 中给出了模拟信号数字化过程 ——“抽样、量化和编码” 的示例。图中,模拟信号的抽样值为 2.42、4.38、5.00、2.78 和 2.19。若按照 “四舍五入” 的原则量化为整数值,则抽样值量化后变为 2,4,5,3 和 2。在按照二进制数编码后,量化值(quantized value)就变成二进制符号:010、100、101、011 和 010。
上述将模拟信号变换成二进制信号的方法称为脉冲编码调制(PCM)。这种编码技术于 20 世纪 40 年代已经在通信技术中采用了。由于当时是从信号调制的观点研究这种技术的,所以称为脉冲编码调制。目前,它不仅用于通信领域,还广泛应用于计算机、遥控遥测、数字仪表等许多领域。在这些领域中,常将其称为模拟 / 数字 (A/D) 变换。
PCM 系统原理如图 10-17 所示。在发送端,对输入的模拟信号 \(m(t)\) 进行抽样、量化和编码。编码后的 PCM 信号是一个二进制数字序列,其传输方式可以采用数字基带传输(见第 6 章),也可以是对载波调制后的带通传输(见第 7、8 章)。在接收端,PCM 信号经译码后还原为量化值序列(含有误差),再经低通滤波器滤除高频分量,便可得到重建的模拟信号 \(\hat{m}(t)\) 。
前面 10.2 节和 10.4 节中已详细介绍了抽样和量化,本节主要讨论编码和译码问题。

10.5 脉冲编码调制


10.5.2 常用二进制码¶
编码首先考虑的问题是选用哪一种二进制码。常用的二进制码有自然二进码和折叠二进码。表 10-4 列出了用 4 位码表示 16 个量化级时,这两种码的编码规律。
| 表10-4 | 常用的二进制码 | ||
| 样值脉冲极性 | 量化级序号 | 自然二进制码 | 折叠二进制码 |
| 正极性部分 | 15 | 1 1 1 1 | 1 1 1 1 |
| 14 | 1 1 1 0 | 1 1 1 0 | |
| 13 | 1 1 0 1 | 1 1 0 1 | |
| 12 | 1 1 0 0 | 1 1 0 0 | |
| 11 | 1 0 1 1 | 1 0 1 1 | |
| 10 | 1 0 1 0 | 1 0 1 0 | |
| 9 | 1 0 0 1 | 1 0 0 1 | |
| 8 | 1 0 0 0 | 1 0 0 0 | |
| 负极性部分 | 7 | 0 1 1 1 | 0 0 0 0 |
| 6 | 0 1 1 0 | 0 0 0 1 | |
| 5 | 0 1 0 1 | 0 0 1 0 | |
| 4 | 0 1 0 0 | 0 0 1 1 | |
| 3 | 0 0 1 1 | 0 1 0 0 | |
| 2 | 0 0 1 0 | 0 1 0 1 | |
| 1 | 0 0 0 1 | 0 1 1 0 | |
| 0 | 0 0 0 0 | 0 1 1 1 | |
自然二进制码是按照二进制数的自然规律排列的。对电话信号的编码,除自然二进制码外,还常用折叠二进制码。因为电话信号是交流信号,故在表 10-4 中将 4 位二进制码代表的 16 个双极性量化值分成两部分。第 0 至第 7 个量化值对应于负极性电压;第 8 至第 15 个量化值对应于正极性电压。显然,对于自然二进制码,这两部分之间没有什么对应联系。但是,对于折叠二进制码则不然,除了其最高位符号相反外,其上下两部分还呈现映像 (image) 关系,或称折叠关系。这种码用最高位表示电压的极性正负,而用其他位来表示电压的绝对值。这就是说,在用最高位表示极性后,双极性电压可以采用单极性编码方法处理,从而使编码电路和编码过程大为简化。
第 10 章 信源编码
折叠码的另一个优点是误码对于小电压的影响较小。例如,若有一个码组为 “1000”,在传输或处理时发生一个符号错误,变成 “0000”。从表中可见,若它为自然码,则它所代表的量化级将从 8 变成 0,误差为 8;若它为折叠码,则它将从 8 变成 7,误差为 1。但是,若一个码组从 “1111” 错成 “0111”,则自然码将从 15 变成 7,误差仍为 8;而折叠码则将从 15 错成为 0,误差增大为 15。这表明,折叠码对于小信号有利。由于语音信号小电压出现的概率较大,所以折叠码有利于减小语音信号的平均量化噪声。
无论是自然码还是折叠码,码组中符号的位数都直接和量化值数目有关。量化间隔越多,量化值也越多,则码组中符号的位数也随之增多。同时,信号量噪比也越大。当然,位数增多后,会使信号的传输量和存储量增大。编码器也将较复杂。在语音通信中,通常采用非均匀量化 8 位的 PCM 编码就能够保证满意的通信质量。下面将结合我国采用的 13 折线法的编码,介绍一种码位排列方法。
在 A 律 13 折线 PCM 编码中,由于正、负各有 8 段,每段内有 16 个量化级,共计 \(2 \times 8 \times 16 = 256 = 2^{8}\) 个量化级,因此所需编码位数 N = 8。8 位码的安排如下:
极性码 \(C_{1}\) 表示样值的极性。规定正极性为 “1”,负极性为 “0”。
段落码 \(C_{2}C_{3}C_{4}\) 表示样值的幅度所处的段落。3 位段落码的 8 种可能状态对应 8 个不同的段落,如表 10-5 所列。
段内码 \(C_{5}C_{6}C_{7}C_{8}\) 的 16 种可能状态对应各段内的 16 个量化级,见表 10-6。编码器将根据样值的幅度所在的段落和量化级,编出相应的幅度码。
| 段落序号 $i = 1 \sim 8$ | 段落码 ${C}_{2}{C}_{3}{C}_{4}$ |
| 8 | 1 1 1 |
| 7 | 1 1 0 |
| 6 | 1 0 1 |
| 5 | 1 0 0 |
| 4 | 0 1 1 |
| 3 | 0 1 0 |
| 2 | 0 0 1 |
| 1 | 0 0 0 |
| 表10-6 | 段内码 | ||
| 量化级序号 | 段内码 $C_5C_6C_7C_8$ | 量化级序号 | 段内码 $C_5C_6C_7C_8$ |
| 15 | 1 1 1 1 | 7 | 0 1 1 1 |
| 14 | 1 1 1 0 | 6 | 0 1 1 0 |
| 13 | 1 1 0 1 | 5 | 0 1 0 1 |
| 12 | 1 1 0 0 | 4 | 0 1 0 0 |
| 11 | 1 0 1 1 | 3 | 0 0 1 1 |
| 10 | 1 0 1 0 | 2 | 0 0 1 0 |
| 9 | 1 0 0 1 | 1 | 0 0 0 1 |
| 8 | 1 0 0 0 | 0 | 0 0 0 0 |
为了确定样值的幅度所在的段落和量化级,必须知道每个段落的起始电平和各段内的量化间隔。在 A 律 13 折线中,由于各段的长度不等,因此各段内的量化间隔也是不同的。第一段、第二段最短,只有归一化值的 1/128, 再将它等分 16 级,每个量化级间隔为
式中: \(\Delta\) 表示最小的量化间隔,称为一个量化单位,它仅有输入信号归一化值的 1/2048。第八段最长,它的每个量化级间隔为

10.5
脉冲编码调制
即包含 64 个最小量化间隔。若以 \(\Delta\) 为单位,则各段的起始电平 \(I_{i}\) 和各段内的量化间隔 \(\Delta V_{i}\) 如表 10-7 所列。
| 段落起始电平和段内量化间隔 | ||||
| 段落序号 $i = 1 \sim 8$ | 段落码 $C_2C_3C_4$ | 段落范围(量化单位) | 段落起始电平(量化单位) | 段内量化间隔(量化单位) |
| 8 | 1 1 1 | 1024~2048 | 1024 | 64 |
| 7 | 1 1 0 | 512~1024 | 512 | 32 |
| 6 | 1 0 1 | 256~512 | 256 | 16 |
| 5 | 1 0 0 | 128~256 | 128 | 8 |
| 4 | 0 1 1 | 64~128 | 64 | 4 |
| 3 | 0 1 0 | 32~64 | 32 | 2 |
| 2 | 0 0 1 | 16~32 | 16 | 1 |
| 1 | 0 0 0 | 0~16 | 0 | 1 |
以上是非均匀量化的情况。若以 \(\Delta\) 为量化间隔进行均匀量化,则 13 折线正极性的 8 个段落所包含的均匀量化级数分别为 16、16、32、64、128、256、512、1024,共计 \(2048 = 2^{11}\) 个量化级或量化电平,需要进行 11 位(线性)编码。而非均匀量化只有 128 个量化电平,只要编 7 位(非线性)码。由此可见,在保证小信号量化间隔相同的条件下,非均匀量化的编码位数少,所需传输系统带宽减小。
10.5.3 电话信号的编译码器¶
编码的实现是由编码器完成的。PCM 编码器有多种类型,比较常用的是逐次比较型编码器,其原理方框图如图 10-18 所示。这是一个用于电话信号编码的量化编码器 (在编码的同时完成非均匀量化)。该编码器的任务是把输入的每个样值脉冲编出相应的 8 位二进制码,除第 1 位极性码外,其余 7 位幅度码是通过逐次比较确定的。下面,简述逐次比较型编码器的各部件功能。

第 10 章 信源编码
下面,通过一个例子来说明按照 A 律 13 折线,采用逐次比较型编码器进行 PCM 编码的过程。
【例 10-2】已知 \(A\) 律 13 折线 PCM 编码器的输入信号取值范围为 \(\pm 1\mathrm{V}\) ,最小量化间隔为一个量化单位(Δ)。试求:当输入抽样脉冲的幅度 \(I_{s} = 0.62\mathrm{V}\) 时,编码器输出的 PCM 码字( \(C_1C_2C_3C_4C_5C_6C_7C_8\) )和量化误差。
【解】首先将输入信号抽样值 0.62V 化为量化单位,即
编码过程如下:
由于 \(C_{2}=1\) ,本地译码电路输出的第二个标准电流为: \(I_{w2}=512\Delta\) ,用来比较确定 \(I_{s}\) 处于 5\~6 段还是 7\~8 段。比较结果为 \(I_{s}>I_{w2}\) ,故 \(C_{3}=1\) ,表示 \(I_{s}\) 处于 7\~8 段内。
由于 \(C_{2}C_{3}=11\) ,本地译码电路输出的第 3 个标准电流为 \(I_{w3}=1024\Delta\) 。第三次比较结果为 \(I_{s}>I_{w3}\) ,故 \(C_{4}=1\) 。
经过以上三次比较,编出的段落码 \(C_2C_3C_4\) 为 “111”,表示样值 \(I_{\mathrm{s}}\) 处于第八段。由表 10-7 可知,它的起始电平为 \(1024\Delta\) ,量化间隔为 \(\Delta v_{8} = 64\Delta\) 。
(3)段内码 \(C_5C_6C_7C_8\) 。段内码是在已经确定样值 \(I_{s}\) 所在段落的基础上,进一步确定 \(I_{s}\) 在该段落的哪一个量化级 (量化间隔) 内。首先要确定 \(I_{s}\) 在前 8 级还是后 8 级,故本地译码电路输出的第四个标准电流为

10.5
脉冲编码调制
第四次比较结果为 \(I_{s} < I_{w4}\) ,故 \(C_5 = 0\) 。由表 10-8 可知,样值 \(I_{s}\) 处于前 8 级(0\~7 级)。接着要确定 \(I_{s}\) 处于这 8 级中的前 4 级还是后 4 级,故本地译码电路输出的第五个标准电流为
第五次比较结果为 \(I_{s} < I_{w5}\) ,故 \(C_{6} = 0\) ,表示 \(I_{s}\) 处于前 4 级 (0 \~ 3 级)。同理,本地译码电路输出的第六个标准电流为
第六次比较结果为 \(I_{s} > I_{w6}\) ,故 \(C_{7} = 1\) ,表示 \(I_{s}\) 处于 2\~3 级。根据前面编码的情况,本地译码电路输出的第七个标准电流为
第七次比较结果为 \(I_{s}>I_{w7}\) ,故 \(C_{8}=1\) ,表示 \(I_{s}\) 处于序号为 3 的量化级内,见图 10-19。
经过以上编码过程,对于模拟抽样值 \(I_{\mathrm{s}} = 0.62 \mathrm{~V} = 1270\Delta\) ,编出的 PCM 码组为 \(C_1C_2C_3C_4C_5C_6C_7C_8 = 11110011\) ,它表示 \(I_{\mathrm{s}}\) 处于第 8 段落的序号为 3 的量化间隔内,其量化电平(又称编码电平)为 \(I_{\mathrm{C}} = 1216\Delta\) ,它是序号为 3 的量化间隔的起始电平,量化误差为 \((1270 - 1216) = 54\Delta\) 。
【例 10-3】将例 10-1 得到的 7 位非线性 PCM 码字 (除极性码外)“1110011” 转换成 11 位线性码。
【解】若使非线性码与线性码的码字电平 (编码电平) 相等,即可得出 7 位非线性码与 11 位线性码间的关系。
“111 0011” 对应的编码电平为
因为 \(I_{c} = 1216 = 1024 + 128 + 64 = 2^{10} + 2^{7} + 2^{6}\) ,所以相应的 11 位线性码为 10011000000。
译码是编码的逆过程。译码的作用是把收到的 PCM 信号还原成量化后的原样值信号,即进行 D/A 变换。
例如,设译码器输入的 PCM 码字 (除极性码外)“111 0011”, 由例 10-1 可知 “111 0011” 表示 \(I_{s}\) 位于第 8 段落的序号为 3 的量化间隔内;因此,其对应的译码电平应该在此间隔的中间,以便减小最大误码误差,所以译码电平为
式中: \(\Delta v_{i}\) 为第 i 段的量化间隔。由表 10-7 可知,第 8 段的量化间隔 \(\Delta v_{8}=64\Delta\) 。
第 10 章 信源编码
译码后的量化误差为
这样,量化误差小于量化间隔的一半,即 \(22\Delta < 64/2\) 。
10.5.4 PCM 系统中噪声的影响¶
PCM 系统中的噪声有两种,即量化噪声和传输中引入的加性噪声。下面将先分别对其讨论,再给出考虑两者后的总信噪比。
首先讨论加性噪声的影响。加性噪声将使接收码组中产生错码,造成信噪比下降。通常仅需考虑在码组中有一位错码的情况,因为在同一码组中出现两个以上错码的概率非常小,可以忽略。例如,当误码率为 \(P_{e}=10^{-4}\) 时,在一个 8 位码组中出现一位错码的概率为 \(P_{1}=8P_{e}=8\times10^{-4}\) ,而出现 2 位错码的概率为
所以 \(P_{2} \ll P_{1}\) 。现在仅对较简单的情况分析,即仅讨论白色高斯加性噪声对均匀量化的自然码的影响。这时,可以认为码组中出现的错码是彼此独立的和均匀分布的。设码组的构成如图 10-20 所示,即码组长度为 N 位,每位的权值分别为 \(2^{0}, 2^{1}, \cdots, 2^{N-1}\) 。

在考虑噪声对每个码元的影响时,要知道该码元所代表的权值。设量化间隔为 \(\Delta v\) , 则第 i 位码元代表的信号权值为 \(2^{i-1}\Delta v\) 。若该位码元发生错误,由 “0” 变成 “1” 或由 “1” 变成 “0”, 则产生的权值误差将为 \(+2^{i-1}\Delta v\) 或 \(-2^{i-1}\Delta v\) 。由于已假设错码是均匀分布的,若一个码组中有一个错误码元引起的误差电压为 \(Q_{\Delta}\) , 则其功率的 (统计) 平均值为
由于错码产生的平均间隔为 \(1 / P_{\mathrm{e}}\) 个码元,每个码组包含 \(N\) 个码元,所以有错码码组产生的平均间隔为 \(1 / NP_{\mathrm{e}}\) 个码组。这相当于平均间隔时间为 \(T_{\mathrm{s}} / NP_{\mathrm{e}}\) ,其中 \(T_{\mathrm{s}}\) 为码组的持续时间,即抽样间隔时间。故考虑到此错码码组的平均间隔后,将式 (10.5-1) 中的误差功率按时间平均,得到误差功率的时间平均值为
为了得到加性噪声引起的输出信噪比,现在需要知道输出信号功率。由式 (10.4-8) 可知,信号的平均功率可以表示成

10.5
脉冲编码调制
所以,加性噪声引起的输出信噪功率比为
现在来讨论量化误差的影响。从量化误差功率 \(N_{q}\) 的公式 (10.4-7),即
可以写出输出信号量化噪声功率比为
式中: \(M=2^{3}\)
最后得到 PCM 系统的总输出信噪功率比为
在 PCM 系统中,接收端输出端通常接有低通滤波器。由于已经假设发送和接收信号都是抽样冲激脉冲,误差抽样也是冲激脉冲;所以它们都具有均匀的频谱。故信噪比经过低通滤波器后没有变化,仍如式 (10.5-5) 所示。
在大信噪比条件下,即当 \(2^{2(N+1)}P_{e}\ll1\) 时,式 (10.5-5) 变成
在小信噪比条件下,即当 \(2^{2(N+1)}P_{e}\gg1\) 时,式 (10.5-5) 变成
此外,由式 (10.5-4) 可以看出,PCM 系统的输出信号量噪比仅和编码位数 N 有关,且随 N 按指数规律增大。另一方面,对于一个频带限制在 \(f_{H}\) 的低通信号,按照抽样定理,要求抽样速率不低于 \(2f_{H}\) 次 /s。对于 PCM 系统,这相当于要求传输速率至少为 \(2Nf_{H}(b/s)\) 。故要求系统带宽 B 至少等于 \(Nf_{H}(Hz)\) 。用 B 表示 N 代入式 (10.5-4),得
式 (10.5-8) 表明,当低通信号最高频率 \(f_{H}\) 给定时,PCM 系统的输出信号量噪比随系统的带宽 B 按指数规律增长。
10.6 差分脉冲编码调制¶
10.6.1 预测编码简介¶
上节介绍的 PCM 体制需要用 64kb/s 的速率传输 1 路数字电话信号,而传输 1 路模拟电话仅占用 3kHz 带宽。相比之下,传输 PCM 信号占用更大带宽。为了降低数字电话信号的比特率,改进办法之一是采用预测编码 (prediction coding) 方法。预测编码方法有多种。差分脉冲编码调制 (DPCM),简称差分脉码调制,是其中广泛应用的一种基本的预测方法。下面将在介绍预测编码的基本原理基础之上,给出 DPCM 的编码方法。
第 10 章 信源编码
在预测编码中,每个抽样值不是独立地编码,而是先根据前几个抽样值计算出一个预测值,再取当前抽样值和预测值之差。将此差值编码并传输。此差值称为预测误差。语音信号等连续变化的信号,其相邻抽样值之间有一定的相关性,这个相关性使信号中含有冗余 (redundant) 信息。由于抽样值及其预测值之间有较强的相关性,即抽样值和其预测值非常接近,使此预测误差的可能取值范围,比抽样值的变化范围小。所以,可以少用几位编码比特来对预测误差编码,从而降低其比特率。此预测误差的变化范围较小,它包含的冗余度 (redundancy) 也小。这就是说,利用减小冗余度的办法,降低了编码比特率。
若利用前面的几个抽样值的线性组合 (linear combination) 来预测当前的抽样值,则称为线性预测 (linear prediction)。若仅用前面的一个抽样值预测当前的抽样值,则就是将要讨论的 DPCM。在图 10-21 中示出了线性预测编码、译码原理方框图。编码器的输入为原始模拟语音信号 \(m(t)\) 。它在时刻 \(kT_{s}\) 被抽样,抽样信号 \(m(kT_{s})\) 在图中简写为 \(m_{k}\) ; 其中 \(T_{s}\) 为抽样间隔时间,k 为整数。此抽样信号和预测器输出的预测值 \(m^{\prime}_{k}\) 相减,得到预测误差 \(e_{k}\) 。此预测误差经过量化后得到量化预测误差 \(r_{k}\) 。 \(r_{k}\) 除了送到编码器编码并输出外,还用于更新预测值。它和原预测值 \(m^{\prime}_{k}\) 相加,构成预测器新的输入 \(m_{k}^{*}\) 。为了说明这个 \(m_{k}^{*}\) 的意义,我们暂时假定量化器的量化误差为零,即 \(e_{k}=r_{k}\) , 则由图 10-21 可见
式 (10.6-1) 表示 \(m_{k}^{*}=m_{k}\) 。所以,可以把 \(m_{k}^{*}\) 看作是带有量化误差的抽样信号 \(m_{k}\) 。


预测器的输出和输入关系由下列线性方程式决定:
式中:p 为预测阶数(prediction order); \(a_{i}\) 为预测系数(prediction coefficient),它们都是常数。
式 (10.6-2) 表明,预测值 \(m_{k}^{\prime}\) 是前面 p 个带有量化误差的抽样信号值的加权和。
由图 10-21 可见,编码器中预测器输入端和相加器的连接电路和译码器中的完全一样。故当无传输误码时,即当编码器的输出就是译码器的输入时,这两个相加器的输入信号相同,即 \(r_k = r_k'\) 。所以,此时译码器的输出信号 \(m_k^{*}\) 和编码器中相加器输出信号 \(m_k^*\) 相同,即等于带有量化误差的信号抽样值 \(m_k\) 。

10.6 差分脉冲编码调制
由上述可知,预测编码为了利用邻近抽样值的相关性获得压缩效果,需要存储过去的抽样值,以便计算和当前抽样值的相关性,所以是一种有记忆的编码。
10.6.2 差分脉冲编码调制原理及性能¶
在 DPCM 中,只将前一个抽样值当作预测值,再取当前抽样值和预测值之差进行编码并传输。这相当于在式 (10.6-2) 中,\(p = 1\) , \(a_1 = 1\) , 故 \(s_k' = s_{k-1}^*\) 。这时,图 10-21 (a) 中的预测器就简化成为一个延迟电路,其延迟时间为一个抽样间隔时间 \(T_s\) 。在图 10-22 中画出了 DPCM 系统的原理方框图。

为了改善 DPCM 体制的性能,将自适应技术引入量化和预测过程,得出自适应差分脉码调制 (Adaptive DPCM, ADPCM) 体制。它能大大提高信号量噪比和动态范围。适用于语音编码的 ADPCM 体制,已经由 ITU-T 制定出建议,并得到广泛应用,这里不再赘述。
下面将分析 DPCM 系统的量化误差,即量化噪声。DPCM 系统的量化误差 \(q_{k}\) 定义为编码器输入模拟信号抽样值 \(m_{k}\) 与量化后带有量化误差的抽样值 \(m_{k}^{*}\) 之差:
设预测误差 \(e_{k}\) 的范围是 \((+ \sigma, -\sigma)\) ,量化器的量化电平数为 M,量化间隔为 \(\Delta v\) ,则有
当 M=4 时, \(\sigma,\Delta v\) 和 M 之间的关系如图 10-23 所示。图中, \(M_{1},M_{2},M_{3}\) 和 \(M_{4}\) 是量化电平。
由于量化误差仅为量化间隔的一半,因此预测误差经过量化后,产生的量化误差 \(q_{k}\) 在 \((- \Delta v/2, + \Delta v/2)\) 内。我们假设此量化误差 \(q_{k}\) 在 \((- \Delta v/2, + \Delta v/2)\) 内是均匀分布的,则量化误差功率 \(N_{q}\) 仍可以按照式 (10.4-7) 计算。

由于现在被量化的是预测误差 \(e_{k}\) ,而不是编码器输入信号,所以 DPCM 体制的信号量噪比可以写成
式中: \(S_{o}\) 为信号平均功率; \(S_{e}\) 为预测误差平均功率; \(G_{DPCM}=S_{o}/S_{e}\) 称为差分处理增益,表示
第 10 章 信源编码
经过差分编码后,预测误差功率的动态范围缩小的 “倍数”。
在 DPCM 系统中,量化器的功能与 PCM 系统中的量化器功能完全一样,只是其输入为预测误差而不是输入信号本身。所以式 (10.6-5) 中的预测误差功率与量化噪声功率比 \((S_{e}/N_{q})\) 的计算方法和 PCM 系统中信号量噪比的计算完全一样。故可以将式 (10.5-4) 代入式 (10.6-5), 得
对于电话信号,在 ITU-T 的建议中,用自适应 DPCM 体制对电话信号编码的标准速率可以从 PCM 体制的 64kb/s 降至 32kb/s。
10.7 增量调制¶
10.7.1 增量调制原理¶
增量调制 (\(\Delta M\) 或 DM) 可以看成是一种最简单的 DPCM。当 DPCM 系统中量化器的量化电平数取为 2 时,此 DPCM 系统就成为增量调制系统。图 10-24 示出其原理方框图。图 10-24 (a) 中预测误差 \(e_{k}=m_{k}-m_{k}^{\prime}\) 被量化成两个电平 + \(\sigma\) 和 - \(\sigma\) 。 \(\sigma\) 值称为量化台阶 (quantization step)。这就是说,量化器输出信号 \(r_{k}\) 只取两个值 + \(\sigma\) 或 - \(\sigma\) 。因此, \(r_{k}\) 可以用一个二进制符号表示。例如,用 “1” 表示 “+ \(\sigma\)”,及用 “0” 表示 “- \(\sigma\)”。译码器由 “延迟相加电路” 组成,它和编码器中的相同。所以当无传输误码时, \(m_{k}^{*'}=m_{k}^{*}\) 。


在实用中,为了简单起见,通常用一个积分器 (integrator) 来代替上述 “延迟相加电路”, 并将抽样器放到相加器后面,与量化器合并为抽样判决器,如图 10-25 所示。图中编码器输入模拟信号为 \(m(t)\) , 它与预测信号 \(m'(t)\) 值相减,得到预测误差 \(e(t)\) 。预测误差 \(e(t)\) 被周期为 \(T_{s}\) 的抽样冲激序列 \(\delta_{T}(t)\) 抽样。若抽样值为正值,则判决输出电压 \(+\sigma\) (用 “1” 代表); 若抽样值为负值,则判决输出电压 \(-\sigma\) (用 “0” 代表)。这样就得到二进制输出数字信号。图 10-26 中示出了这一过程。因积分器含抽样保持电路,故图中 \(m'(t)\) 为阶梯波形。


10.7
在解调器中,积分器只要每收到一个 “1” 码元就使其输出升高 \(\sigma\) , 每收到一个 “0” 码元就使其输出降低 \(\sigma\) , 这样就可以恢复出图 10-26 中的阶梯形电压。这个阶梯电压通过低通滤波器平滑 (smoothing) 后,就得到十分接近编码器原输入的模拟信号。
10.7.2 增量调制系统中的量化噪声¶
由上述增量调制原理可知,译码器恢复的信号是阶梯形电压经过低通滤波平滑后的解调电压。它与编码器输入模拟信号的波形近似,但是存在失真。将这种失真称为量化噪声 (quantization noise)。这种量化噪声产生的原因有两个。第一个原因是由于编码、译码时用阶梯波形去近似表示模拟信号波形,由阶梯本身的电压突跳产生失真,见图 10-27 (a)。这是增量调制的基本量化噪声,又称一般量化噪声。它伴随着信号永远存在,即只要有信号,就有这种噪声。第二个原因是信号变化过快引起失真;这种失真称为过载量化噪声,见图 10-27 (b)。它发生在输入信号斜率的绝对值过大时。由于当抽样频率和量化台阶一定时,阶梯波的最大可能斜率是一定的。若信号上升的斜率超过阶梯波的最大可能斜率,则阶梯波的上升速度赶不上信号的上升速度,就发生了过载量化噪声。图 10-27 示出的这两种量化噪声是经过输出低通滤波器前的波形。


设抽样周期为 \(T_{s}\) ,抽样频率为 \(f_{s}=1/T_{s}\) ,量化台阶为 \(\sigma\) ,则一个阶梯台阶的斜率 k 为
它也就是阶梯波的最大可能斜率,或称为译码器的最大跟踪斜率。当增量调制器的输入信号斜率超过这个最大值时,将发生过载量化噪声。所以,为了避免发生过载量化噪声,必须使 \(\sigma\) 和 \(f_{s}\) 的乘积足够大,使信号的斜率不会超过这个值。另外, \(\sigma\) 值直接和基本量化噪声的大小有关,若取 \(\sigma\) 值太大,势必增大基本量化噪声。所以,用增大 \(f_{s}\) 的办法增大乘积 \(\sigma f_{s}\) ,才能保证基本量化噪声和过载量化噪声两者都不超过要求。实际中增量调制采用的抽样频率 \(f_{s}\) 值比 PCM 和 DPCM 的抽样频率值都大很多;对于语音信号而言,增量调制采用的抽样频率在几十千赫到百余千赫。
第 10 章 信源编码
顺便指出,当增量调制编码器输入电压的峰 — 峰值为 0 或小于 \(\sigma\) 时,编码器的输出就成为 “1” 和 “0” 交替的二进制序列。因为译码器的输出端接有低通滤波器,故这时译码器的输出电压为 0。只有当输入的峰值电压大于 \(\sigma/2\) 时,输出序列才随信号的变化而变化。故称 \(\sigma/2\) 为增量调制编码器的起始编码电平。
现在我们转到讨论增量调制系统中的量化噪声计算和信号量噪比。这时仅考虑基本量化噪声,并假定在设计时已经考虑到使系统不会产生过载量化噪声。这样,图 10-26 中的阶梯波 \(m'(t)\) 就是译码积分器输出波形,而 \(m'(t)\) 和 \(m(t)\) 之差就是低通滤波前的量化噪声 \(e(t)\) 。由图 10-27 (a) 可知, \(e(t)\) 随时间在区间 \((- \sigma, +\sigma)\) 内变化。假设它在此区间内均匀分布,则 \(e(t)\) 的概率分布密度为
故 \(e(t)\) 的平均功率可以表示成
假设这个功率的频谱均匀分布在从 0 到抽样频率 \(f_{s}\) 之间,即其功率谱密度 \(P(f)\) 可以近似地表示为
因此,此量化噪声通过截止频率为 \(f_{m}\) 的低通滤波器之后,其功率为
由式 (10.7-5) 可以看出,此基本量化噪声功率只和量化台阶 \(\sigma\) 与 \((f_{\mathrm{m}}/f_{\mathrm{s}})\) 有关,和输入信号大小无关。
下面我们将讨论信号量噪比。
首先来考虑信号功率。设输入信号为
式中:A 为振幅; \(\omega_{k}\) 为角频率。
则其斜率由下式决定:
此斜率的最大值等于 \(A\omega_{k}\) 。
为了保证不发生过载,要求信号的最大斜率不超过译码器的最大跟踪斜率 (见式

(10.7-1)。现在信号的最大斜率为 \(A\omega_{k}\) ,所以要求
式 \((10.7-8)\) 表明,保证不过载的临界振幅
即临界振幅 \(A_{max}\) 与量化台阶 \(\sigma\) 和抽样频率 \(f_{s}\) 成正比,与信号角频率 \(\omega_{k}\) 成反比。这个条件限制了信号的最大功率。由式 (10.7-9) 不难导出这时的最大信号功率为
式中: \(f_{k}=\omega_{k}/2\pi\)
因此,最大信号量噪比可以由式 \((10.7-5)\) 和式 \((10.7-10)\) 求出,即
式 \((10.7-11)\) 表明,最大信号量噪比和抽样频率 \(f_{s}\) 的三次方成正比,而和信号频率 \(f_{k}\) 的平方成反比。所以在增量调制系统中,提高抽样频率将能显著增大信号量噪比。
增量调制系统用于对语音编码时,要求的抽样频率达到几十 kb/s 以上,而且语音质量也不如 PCM 系统。为了提高增量调制的质量和降低编码速率,出现了一些改进方案,例如 “增量总和 \((\Delta - \Sigma)\)” 调制、压扩式自适应增量调制等。这里不再作介绍 \(^{[6]}\) 。
10.8 时分复用¶
10.8.1 基本概念¶
复用的目的是为了扩大通信链路的容量,在一条链路上传输多路独立的信号,即实现多路通信。在第 4 章中介绍过频分复用 (FDM)。但是,复用的方法有多种。时分复用 (TDM) 是另一种重要的复用方法,如今它比频分复用的应用更为广泛。
时分多路复用的原理示意图如图 10-28 (a) 所示。图中在发送和接收端分别有一个机械旋转开关,以抽样频率同步地旋转。在发送端,此开关依次对输入信号抽样,开关旋转 1 周得到的多路信号抽样值合为 1 帧。各路信号是断续地发送的。在 10.2 节中的抽样定理已经证明,时间上连续的信号可以用它的离散抽样来表示,只要其抽样速率足够高。因此,可以利用抽样的间隔时间传输其他路的抽样信号。例如,若语音信号用 8kHz 的速率抽样,则旋转开关应旋转 8000 周 /s。设旋转周期为 \(T_{s}\) ,共有 N 路信号,则每路信号在每周中占用 \(T_{s}/N\) 的时间。此旋转开关采集到的信号如图 10-28 (b)、(c) 和 (d) 所示。每路信号实际上是 PAM 调制(见 10.3 节)的信号。在接收端,若开关同步地旋转,则对应各路的低通滤波器输入端能得到相应路的 PAM 信号。模拟脉冲调制信号目前几乎不再用于传输。抽样信号一般都在量化和编码后以数字信号的形式传输。故图
第 10 章 信源编码
10-28 (a) 仅示出了时分复用的基本原理。




与频分复用相比,时分复用的主要优点是:便于实现数字通信、易于制造、适于采用集成电路实现、生产成本较低。
上述时分复用基本原理中的机械旋转开关,在实际电路中是用抽样脉冲取代的。因此,各路抽样脉冲的频率必须严格相同,而且相位也需要有确定的关系,使各路抽样脉冲保持等间隔的距离。在一个多路复用设备中使各路抽样脉冲严格保持这种关系并不难,因为可以由同一时钟提供各路抽样脉冲。
对于时分制多路电话通信系统,ITU 制定了两种准同步数字体系 (PDH) 的建议,下面将分别对其进行讨论。
10.8.2 准同步数字体系¶
ITU 提出了两个 PDH 体系的建议,即 E 体系和 T 体系 \(^{[7]}\) 。前者被我国大陆、欧洲及国际间连接采用;后者仅被北美、日本和其他少数国家和地区采用,并且北美和日本采用的标准也不完全相同。这两种建议的层次、路数和比特率的规定见表 10-8。下面将主要对 E 体系作详细介绍。

10.8
时分复用
| 表10-8 | 准同步数字体系 | ||
| 体系 | 层次 | 比特率/(Mb/s) | 路数(每路64kb/s) |
| E体系 | E-1 | 2.048 | 30 |
| E-2 | 8.448 | 120 | |
| E-3 | 34.368 | 480 | |
| E-4 | 139.264 | 1920 | |
| E-5 | 565.148 | 7680 | |
| T体系 | T-1 | 1.544 | 24 |
| T-2 | 6.312 | 96 | |
| T-3 | 32.064(日本) | 480 | |
| 44.736(北美) | 672 | ||
| T-4 | 97.728(日本) | 1440 | |
| 274.176(北美) | 4032 | ||
| T-5 | 397.200(日本) | 5760 | |
| 560.160(北美) | 8064 | ||
E 体系的结构如图 10-29 所示。它以 30 路 PCM 数字电话信号的复用设备为基本层 (E-1),每路 PCM 信号的比特率为 64kb/s。由于需要加入群同步码元和信令码元等额外开销 (overhead),所以实际占用 32 路 PCM 信号的比特率。故输出总比特率为 2.048Mb/s,此输出称为一次群信号。4 个一次群信号进行二次复用,得到二次群信号,其比特率为 8.448Mb/s。按照同样的方法再次复用,得到比特率为 34.368Mb/s 的三次群信号和比特率为 139.264Mb/s 的四次群信号等。由此可见,相邻层次群之间路数成 4 倍关系,但是比特率之间不是严格的 4 倍关系。和一次群需要额外开销一样,高次群也需要额外开销,故其输出比特率都比相应的 1 路输入比特率的 4 倍还高一些。

现在,我们对 E 体系的一次群作详细介绍,因为它是 E 体系的基础。如前所述,E 体系是以 64 kb/s 的 PCM 信号为基础的。它将 30 路 PCM 信号合为一次群,如图 10-29 所示。由于 1 路 PCM 电话信号的抽样频率为 8000Hz, 即抽样周期为 125μs, 这就是一帧的时间。将此 \(125\mu \mathrm{s}\) 时间分为 32 个时隙 (TS),每个时隙容纳 8b。这样每个时隙正好可以传输一个 8b 的码组。在 32 个时隙中,30 个时隙传输 30 路语音信号,另外两个时隙可以传输信令和同步码。PCM 一次群的帧结构如图 10-30 所示,其中时隙 \(\mathrm{TS}_0\) 和 \(\mathrm{TS}_{16}\) 规定用于传输帧同步码和信令等信息;其他 30 个时隙,即 \(\mathrm{TS}_1\sim \mathrm{TS}_{15}\) 和 \(\mathrm{TS}_{17}\sim\) \(\mathrm{TS}_{31}\) ,用于传输 30 路语音抽样值的 8b 码组。时隙 \(\mathrm{TS}_0\) 的功能在偶数帧和奇数帧又有不同。由于帧同步码每两帧发送一次,故规定在偶数帧的时隙 \(\mathrm{TS}_0\) 发送。每组帧同步码含 7b,为 “0011011”,规定占用时隙 \(\mathrm{TS}_0\) 的后 7 位。时隙 \(\mathrm{TS}_0\) 的第 1 位 “*” 供国际通信用;若不是国际链路,则它也可以给国内通信用。 \(\mathrm{TS}_0\) 的奇数帧留作告警(alarm)等其他用途。在奇数帧中, \(\mathrm{TS}_0\) 第 1 位 “*” 的用途和偶数帧的相同;第 2 位的 “1” 用以区别偶数帧的 “0”,辅助表明其后不是帧同步码;第 3 位 “A” 用于远端告警,“A” 在正常状态时为 “0”,在告警状态时为 “1”;第 4\~8 位保留作维护(maintenance)、性能监测(monitoring)等其他用途,在没有其他用途时,在跨国链路上应该全为 “1”(图 10-30)。
第 10 章 信源编码

时隙 \(TS_{16}\) 可以用于传输信令(signaling),但是当无需用于传输信令时,它也可以像其他 30 路一样用于传输语音。信令是电话网中传输的各种控制和业务信息,例如电话机上由键盘发出的电话号码信息等。在电话网中传输信令的方法有两种。一种称为共路信令(CCS);另一种称为随路信令(CAS)。共路信令是将各路信令通过一个独立的信令网络集中传输;随路信令则是将各路信令放在传输各路信息的信道中和各路信息一起传输。在此建议中为随路信令作了具体规定。采用随路信令时,需将 16 个帧组成一个复帧,时隙 \(TS_{16}\) 依次分配给各路使用,如图 10-30 第一行所示。在一个复帧中按表 10-9 所列的结构共用此信令时隙。在 \(F_{0}\) 帧中,前 4 个比特 “0000” 是复帧同步码组,后 4 个比特中 “x” 为备用,无用时它全置为 “1”,“y” 用于向远端指示告警,在正常工作状态它为 “0”, 在告警状态它为 “1”。在其他帧 (\(F_{1}\sim F_{15}\)) 中,此时隙的 8 个比特用于传送 2 路信令,每路 4b。由于复帧的速率是 500 帧 /s, 所以每路的信令传送速率为 2kb/s。
| 表10-9 | 随路信令 | |||||||
| 帧 | 比特 | |||||||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
| F0 | 0 | 0 | 0 | 0 | x | y | x | x |
| F1 | CH1 | CH16 | ||||||
| F2 | CH2 | CH17 | ||||||
| F3 | CH3 | CH18 | ||||||
| ... | ... | ... | ||||||
| F15 | CH15 | CH30 | ||||||
10.8 时分复用
10.9 矢量量化¶
在 10.4 节中讨论的抽样信号量化属于标量量化。在标量量化中,每个抽样值逐个被量化,然后对量化值进行编码。例如,在 4 电平标量量化器中,每个抽样值 x 在图 10-31 中的横坐标上表示为一个点。抽样值的取值范围划分为 4 个区间,每个抽样量化后的值 \((q_{0}, q_{1}, q_{2}, q_{3})\) 可以用 2b 表示。
若我们每次考察两个抽样值 \((x_{i},x_{j})\) ,则可以把这两个抽样值看成是二维空间(平面)中的一个点 \((x_{i},x_{j})\) ,如图 10-32 所示。若仍将每个抽样值量化成 4 电平,则现在整个平面将被划分成 16 个量化区域。我们在每个量化区域中设定一个表示量化值的点 \(q_{ij}\) ,将所有落入在这个量化区域中的抽样值点量化成 \(q_{ij}\) 的值。例如,在图 10-32 中,将 \((x_{i1},x_{j1})\) 量化为 \(q_{22}\) 的值。这样,在二维空间中这些区间都是矩形的。由此图不难看出,若抽样值落在矩形四角附近(如图中点 \((x_{i1},x_{j1})\) )时,量化误差将达到最大值。

在图 10-32 中,虽然我们每次考察两个抽样值,但是它们是独立量化的,因此仍然是标量量化;只是把其中一个用横坐标值表示,另一个用纵坐标值表示而已。所以,空间的划分为矩形的。
若空间的划分不限定必须为矩形,则有可能将此误差最大值降低,从而也降低了误差的统计平均值。这就是说,每次同时量化两个抽样值,量化成 4b, 等效于每个抽样仍量化成 2b, 但是能够得到比每次量化一个抽样值更小的误差。例如,在二维空间中,若将空间的划分从正方形变成正六边形,如图 10-33 所示,则从图可以直观看出,最大量化误差将降低。
第 10 章 信源编码
若我们每次取三个抽样值,每个抽样仍用 4 电平量化。将这三个抽样值看成三维空间中的一个点,则此三维空间需划分为 \(4^{3}=64\) 个区间。若不限定每个区间划分为立方体,则有可能得到更小的平均量化误差。矢量量化的概念就是从此产生的。
矢量量化是每次量化 n 个抽样值,形成在 n 维欧几里得空间 (Euclidean space) 中的一个点;并设计量化器 (的区域划分) 使量化误差的统计平均值达到小于给定的数值。

现在假设将 n 维欧几里得空间 \(R^{n}\) 划分为 K 个量化区域 \(R_{i}(1 \leqslant i \leqslant K)\) ,并将 n 个信源抽样值分为一组,构成一个 n 维输入信号矢量 \(x(x \in R^{n})\) 。x 的各分量为 \(x_{1}, x_{2}, \cdots, x_{n}\) ,即它可以表示为 \(x = (x_{1}, x_{2}, \cdots, x_{n})\) 。若 \(x \in R_{i}\) ,则将其量化为量化矢量 \(q_{i}, q_{i} = (q_{i1}, q_{i2}, \cdots, q_{i n})\) , \((1 \leqslant i \leqslant K)\) 。若对这些量化矢量 \(q_{i}\) 进行编号,则用 \(\log_{2} K\) 比特就足以表示这 K 个量化矢量的编号。在传输时,并不需要直接传输这些量化矢量,而只需要传输其编号。这就是说,传输 n 个抽样值需要 \(\log_{2} K\) 比特,故定义编码速率(码率)为
【例 10-4】设有一个矢量量化器对语音信号抽样值量化。语音信号的抽样速率 \(f_{s}=8\text{kb/s}\) ,量化器将量化空间划分为 256 个量化区域,用八维矢量对抽样量化。求该矢量量化器的码率和编码信号传输速率。
【解】现在 K = 256, n = 8, 由式 (10.8 - 1) 得出码率为
传输速率为
上述 K 个量化矢量通常称为码字(codeword)或码矢(codevector)。全部量化矢量 \(q_{i}\) 的集合称为码书(codebook)。在例 10-1 的量化器的码书中共有 256 个码字。在采用矢量量化的通信系统中,发送端和接收端有相同的码书。发送端采用此码书编码并将码字的编号发送到接收端;在接收端将收到的码字编号对照同一码书查出对应的码字。
最佳 n 维矢量量化器的设计,是按照使量化误差最小的原则,划分区域 \(R_{i}\) 和选择量化值 \(q_{i}\) 。因为信号抽样值的分布和其统计特性有关,一般都不是均匀分布的,若按照图 10-33 那样均匀划分区域,显然不是最佳的。若在抽样值密集的区域划分量化区域小些,抽样值稀疏的区域划分量化区域大些,将有利于减小量化误差统计平均值,如图
10.9 矢量量化
10 - 34 所示。
矢量量化器的量化误差通常用失真测度 (distortion measure) d 的统计平均值 D 衡量:
式中: \(E[\cdot]\) 表示求统计平均值; \(d(\cdot)\) 表示失真测度。
失真测度有不同的衡量准则。常用的失真测度准则如下:
(1) 平方失真测度:

(2) 绝对误差失真测度:
此外,还有加权平方失真测度、线性预测失真测度、板仓 — 斋藤 (Itakula-Saito) 失真测度等等。
设计矢量量化器时,关键是设计使失真测度统计平均值 D 最小的码书。设计码书的具体方法,本书不再深入探讨了。
按照上述原理设计的矢量量化系统方框图示于图 10-35 中。在编码端,从信源输入的 \(n\) 维信号矢量 \(\pmb{x}\) 与码书中的各个码字比较,找到失真最小的码字 \(\pmb{q}_i\) ;然后将其编号 \(i\) (经过编码)传输到译码端。在译码端收到 \(i\) (的编码)后,经过译码得到 \(i\) 的值,再从码书中寻找到 \(\pmb{x}\) 的量化矢量 \(\pmb{q}_i\) 。不难看出,矢量量化是一种有损压缩编码,但是它的压缩性能比标量量化的性能更好。

实际上,在标量量化中,非均匀量化的原理有些类似矢量量化原理;不过,它只是将信号抽样值比较密集的区域划分得小一些罢了,没有最佳化。另外,标量量化中,不是传输量化值的编号,也没有码书。
10.10 语音压缩编码¶
语音压缩编码可以分为三类:波形编码、参量编码和混合编码。对波形编码的性能要求是保持语音波形不变,或使波形失真尽量小。对参量编码和混合编码的性能要求是保持语音的可懂度和清晰度尽量高。这些都属于有损压缩编码。
第 10 章 信源编码
前几节中讨论的 PCM、DPCM 和 \(\Delta M\) 都属于波形编码,这里不再累述。下面仅就参量编码和混合编码作简要介绍。
1. 语音参量编码¶
语音参量编码是将语音的主要参量提取出来编码。为了弄清语音参量及其提取方法,首先需要了解发音器官和发音原理。
发音器官包括次声门系统、声门和声道。次声门系统包括肺、支气管、气管,是产生语音的能量来源。声门即喉部两侧的声带及声带间的区域。声道包括咽腔、鼻腔、口腔及其附属器官(舌、唇、齿等)。
从次声门送来的气流,在经过声门时,若声带振动,则产生浊音(Voiced sound);反之,则产生清音(Unvoiced sound)。图 10-36 示出这两种音的典型波形。浊音具有周期性,如图 10-36 (a) 所示,周期决定于声带的振动。声带振动的频谱中包含一系列频率,其中最低的频率成分称为基音,基音频率决定了声音的音调(或称音高);其他频率为基音的谐波,它与声音的音色有关。发清音时,声带不振动。清音仅是次声门产生的准平稳气流声,它的波形很像随机起伏的噪声,如图 10-36 (b) 所示。


从声门来的气流,通过声道从口和鼻送出。声道相当一个空腔,类似电路中的滤波器,它使声音通过时波形和强度都受到影响。人在发声时,声道在变化,所以声道相当一个时变线性滤波器。
从上述发音原理可以得出如图 10-37 所示的语音产生模型。
在此模型中,当发浊音时,用周期性脉冲表示声带振动产生的声波。当发清音时,用随机噪声表示经过声门送出的准平稳气流。从声门送出的声波 \(U(z)\) 用 G 加权,G 表示声音强度(音量),然后送入一个时变线性滤波器,最后产生语音输出 \(M(z)\) 。此时变线性滤波器的参量(传输函数 \(H(z)\) )决定于声道(口、鼻、舌、唇、齿等)的形状。
由于人的说话速率不高,可以假设在很短的 (20 ms) 时间间隔内,此语音产生模型中的所有参量都是恒定的;即浊音或清音 \((U / V)\) 判决、浊音的基音周期 \((T_{p})\) 、声门输出的强度 \((U(z))\) 、音量 \((G)\) 、和声道参量(滤波器传输函数 \(H(z)\) ) 等 5 个参量都是不变的。


10.10
语音压缩编码

因此,在发送端,在每一短时间间隔(如 20 ms)内,从语音中提取出上述 5 个参量加以编码,然后传输;在接收端,对接收信号解码后,用这 5 个参量就可以按照图 10-37 的模型恢复原语音信号。按照这一原理对语音信号编码,由于利用了语音产生模型慢变化的特性,使编码速率可以大大降低。典型的编码速率可以达到 2.4kb/s。这种参量编码器通常称为声码器(vocoder)。
综上所述,参量编码的基本原理是首先分析语音的短时频谱特性,提取出语音的频谱参量,然后再用这些参量合成语音波形。所以这种压缩编码方法是一种合成 / 分析编码(synthesis/analysis coding)方法。这种合成语音频谱的振幅与原语音频谱的振幅有很大不同,并且丢失了语音频谱的相位信息。不过,因为人耳对于声音频谱中的相位信息不敏感,所以丢失相位信息不影响听懂合成语音信号;但是,合成语音频谱的振幅失真较大,使合成语音的质量很不理想。这种频谱失真是由于滤波器 \(H(z)\) 的激励源只是简单地用周期性脉冲(对于浊音)和随机噪声(对于清音)代替产生的,它与声道的实际激励差别较大。
2. 混合编码¶
参量编码给出的语音虽然能够听懂,但是声音质量还是较差,通常不能满足公用通信网的要求。影响声音质量的原因主要是送入时变线性滤波器的激励过于简单化:简单地将语音分为浊、清两类,忽略了浊音和清音之间的过渡音 (图 10-38); 以及浊音时在 20ms 内的激励脉冲波形和周期不变,清音时的随机噪声也不变。所以,多年来合成 / 分析法改进的途径主要是改进线性滤波器的激励。

第 10 章 信源编码
混合编码除了采用时变线性滤波器作为其核心外,还在激励源中加入了语音波形的某种信息,从而改进其合成语音的质量。由于既采用了语音参量又包括了部分语音波形信息,所以称为混合编码。
在多种混合编码方案中,已经被广泛采用的方案:在海事卫星 (Inmarsat) 系统中采用的 9.6kb/s 编码速率的多脉冲激励线性预测编码 (MPE-LPC)、在第二代蜂窝网 GSM 标准中采用的 13kb/s 编码速率的规则脉冲激励 — 长时预测 — 线性预测编码 (RPE-LTP-LPC)、在美国联邦标准 FS1016 中采用的 4.8kb/s 编码速率的码激励线性预测 (CELP)、在 ITU-T 标准 G.728 中采用的 16kb/s 编码速率的低时延码激励线性预测 (LD-CELP)、在 ITU-T 标准 G723.1 中和第三代移动通信系统 TD-SCDMA 中采用的代数码书激励线性预测 (ACELP) 等。
在上述这些方案中,都是从改进激励源入手,设法提高语言质量。其中不少方案采用了矢量量化编码的码激励。
10.11 图像压缩编码¶
在 10.10 节中讨论的语音压缩编码都是有损压缩编码,因为人耳对于语音信号的少许失真,特别是相位失真,是察觉不出的。图像则不然。有些图像是不允许失真的,例如某些医学照片和某些工程图纸。有些图像是允许少许失真的,例如自然 (风景) 照片。所以图像压缩可以分为有损压缩和无损压缩两类。另外,图像又可以分为静止图像 (图片) 和动态图像;所以,图像压缩又可以分为静止图像压缩和动态图像压缩两类。
10.11.1 静止图像压缩编码¶
静止数字图像信号是由二维的许多像素 (pixel) 构成的。在各邻近像素 (上下左右) 之间都有相关性。所以可以用差分编码 (DPCM) 或其他预测方法,仅传输预测误差从而压缩数据率。
在图像压缩编码中,还常在变换域中进行有损压缩,即对时域中的数字图像信号进行某种变换,然后在变换域中进行压缩。可以采用的变换有离散傅里叶变换 (DFT)、离散余弦变换 (DCT)、沃尔什变换 (WT)、小波 (Wavelet) 变换等。为简明起见,现以用沃尔什变换为例,说明在变换域压缩图像的基本原理 (沃尔什函数将在第 12 章介绍)。
若将数字图像信号的像素分割为 \(4 \times 4\) 的子块方阵,然后对其进行二维沃尔什变换:
式中:[S] 为变换域变换系数矩阵;[s] 为像素矩阵;[W] 为沃尔什矩阵:

10.11 图像压缩编码
其中,符号 “+” 代表 + 1,“-” 代表 - 1。
若像素值恒定,均等于 2, 即
则在变换域中
矩阵 [S] 仅左上角元素为非零,并且此左上角元素代表其直流分量。
若像素值矩阵 \([s]\) 为纵条形图案,即
则变换后得到
第 10 章 信源编码
矩阵 [S] 中非零元素仅位于第一行。
若像素值矩阵 [s] 为横条形图案,即
则变换后得到
矩阵 [S] 中非零元素仅位于第一列。
一般而言,变换后的矩阵 [S] 中非零元素主要集中于左上半区域,而右下半区域中元素值多为 0(或很小,经量化后等于 0)。在发送时,每个像素是按照串行一个一个发送的。像素发送的次序可以按照图 10-39 虚线所示的 “Z” 字形发送。这样,图中右下半区域的像素组成长串的 0,从而可以用高效的编码压缩此长串 0,使图像得到压缩。这就是为什么图像压缩常在变换域中进行的主要原因。
上面虽然是用沃尔什变换为例说明变换压缩的基本原理,但是此原理适用于其他一些变换。在实用中,大多采用 (DCT)。

最广泛应用的静止图像压缩标准是 ISO/JPEG 国际标准 10918-1 或 ITU-T 建议 T.81,通常称其为 JPEG。在 JPEG 标准中,对彩色原始图像像素的亮度分量 Y 和色差分量 (U 与 V) 按照 2:1 比例抽样,使图像的数据量压缩为原来的一半。然后,进行二维 8×8 像素子块的 DCT。由于 DCT 的左上角元素 (直流分量) 值在相邻子块间通常差别不大,所以单独对其作 DPCM 编码。其他 DCT 系数另进行量化,使之得到压缩。量化后的信号再进行编码,编码分两步。第一步是对 0 值像素进行游程长度编码 (RLE)。RLE 是一种用两个字节的编码方法,第一个字节用于表示相同像素重复的次数,第二个字节是具体像素的值。在 JPEG 中,按照 “Z” 形次序发送时,例如,若在 8×8 子块的 DCT 矩阵右下半区域中有 8 个连 “0”, 则 RLE 的第一个字节表示 “8”, 第二个字节表示 “0”。第二步是进行无损哈夫曼 (Huffman) 编码 (哈夫曼编码将在 10.12.2 节讨论)。

10.11
出版打印图
在 JPEG 标准基础上,ISO 又制定出改进的标准 JPEG2000, 它采用小波变换代替 DCT。此新标准除了压缩特性有了改进外,最重要的改进是提高了码流的灵活性;例如,为降低分辨率可以随意截短码流。
10.11.2 动态图像压缩编码¶
动态数字图像是由许多帧静止图像构成的,可以看成是三维的图像;在邻近帧的像素之间也有相关性。所以,动态图像的压缩可以看作是在静止图像压缩 (如用 JPEG 压缩) 基础上再设法减小邻近帧之间的相关性。
由 ISO 制定的动态图像压缩国际标准称为 MPEG。这是一系列标准,包括 MPEG-1, MPEG-2, MPEG-4, MPEG-7。由 ITU-T 制定的动态图像压缩标准称为 H.261, H.262, H.263 和 H.264。两个系列的压缩方案基本相同。下面将以 MPEG-2 为例,简要介绍其基本压缩原理。
MPEG-2 将若干帧动态图像分为一组,在每组中的帧分为三类:I— 帧、P— 帧和 B— 帧。I— 帧采用帧内编码,P— 帧采用预测编码,B— 帧采用双向预测编码。在一组中,P— 帧和 B— 帧的数目可多可少,也可以没有;但是不能只有 P— 帧和 B— 帧,没有 I— 帧。P— 帧和 B— 帧位于两个 I— 帧之间,例如,IBBPBBPBB (I),构成一图片组(GOP),如图 10-40 所示。

I— 帧的压缩采用标准的 JPEG 算法;它是被当作静止图像帧处理的,其压缩算法与前后邻帧无关。两个 I— 帧的时间间隔是可以调节的,最小间隔为 1 帧,这时两个 I— 帧是相邻的;最大间隔决定于存储器的容量。此外,动态图像的剪辑只能在 I— 帧处进行。执行剪辑的时间通常不允许超过 0.5s,所以此时两个 I— 帧的间隔限制在不超过 12 帧~15 帧。
P— 帧利用和前一个 I— 帧或 P— 帧(作为参考帧)的相关性可以得到更大的压缩。将当前待压缩的 P— 帧分为 \(16 \times 16\) 像素的宏块(Macroblock)。然后,对于每个宏块,在参考帧中寻找与其最匹配的宏块。将两者的偏移量编码为 “动态矢量”。此偏移量常常为 0。但是,若在此图片中某些部分在动态中,则此偏移量可能是 “向右 26 个像素和向上 8 个像素”。两个宏块的匹配常常不是理想的。为了校正其误差,对这两个宏块的所有对应像素之差进行编码,附于动态矢量之后。当找不到适当的匹配宏块时,则把此宏块当作
第 10 章 信源编码
一个 I— 帧宏块处理。
B— 帧的处理类似于对 P— 帧的处理,不过 B— 帧利用了前后两个图片作为参考帧。因此,B— 帧通常比 P— 帧获得更大的压缩。B— 帧不能作为参考帧。
I— 帧仅利用了减小图像的空间相关性进行压缩,P— 帧和 B— 帧除利用图像的空间相关性外,还利用了图像的时间相关性进行压缩。
以上仅对动态图像压缩编码原理作了极为简要的介绍。这里不再作详细讨论了。
10.12 数字数据压缩编码¶
10.12.1 基本原理¶
数据可以分为数字数据和模拟数据。例如,银行账目是数字数据,温度计给出的气温是模拟数据。本节仅限于讨论数字数据或数字化后的模拟数据,后面将其简称为数据。
数据与语音或图像不同,对其压缩时不允许有任何损失,因此只能采用无损压缩的方法。这样的压缩编码只能是选用一种高效的编码表示信源数据,以减小信源数据的冗余度 (Redundancy), 即减小其平均比特数。并且,这种高效编码必须易于实现和能逆变换回原信源编码。在 1.4 节中给出了信源的熵 \(H(x)\) 的定义,它表示信源中每个符号所含信息量的统计平均值。减小信源数据的冗余度,就相当于增大信源的熵。所以,这样的编码又可以称为熵编码。
一个有限离散信源可以用一组不同字符 \(x_{i}(i=1,2,\cdots,N)\) 的集合 \(X(N)\) 表示。 \(X(N)\) 称为信源字符表,表中的字符为 \(x_{1}, x_{2}, \cdots, x_{N}\) 。信源字符表可以是二电平(二进制)的,例如,发报电键的开 / 合两种状态。它也可以是多字符的,例如,计算机键盘上的字母和符号;这些非二进制字符可以通过一个字符编码表映射为二进制码字。标准的字符二进制码字是等长的,例如,用 7 个比特表示计算机键盘上的一个字符。等长码中代表每个字符的码字长度(码长)是相同的,但是各字符所含有的信息量是不同的。含信息量小的字符的等长码字必然有更多的冗余度。所以,为了压缩,通常采用变长码。变长码中每个码字的长度是不等的。我们希望字符的码长反比于此字符出现的概率。当所有字符以等概率出现时,其编码才应当是等长的。
等长码可以用计数的方法确定字符的分界。变长码则不然。当接收端收到一长串变长码时,不一定能够确定每个字符的分界。例如,信源字符表中包含 3 个字符 a、b 和 c,我们为其设计出 4 种变长码,如表 10-10 所列。其中按 “码 1” 编码产生的序列 10111,在接收端可以译码为 babc 或 babbb 或 bacb;不能确定。按 “码 2” 编码也有类似的结果。所以它们不是唯一可译码。可以验证,表中 “码 3” 和 “码 4” 是唯一可译码。唯一可译码必须能够逆映射为原信源字符。
| 表10-10 | 4种变长码 | |||
| 字符 | 码1 | 码2 | 码3 | 码4 |
| a | 0 | 1 | 0 | 0 |
| b | 1 | 01 | 01 | 10 |
| c | 11 | 11 | 011 | 110 |

10.12 数字数据压缩编码
唯一可译码又可以按照是否需要参考后继码元译码,分为即时可译码和非即时可译码。非即时可译码需要参考后继码元译码。例如,此表中的 “码 3” 是非即时可译码,因为当发送 “ab” 时,收到 “001” 后,尚不能确定译为 “ab”,还必须等待下一个码元是 “0” 才能确定译为 “ab”;否则应译为 “ac”。可以验证,表中的 “码 4” 是即时可译码。即时可译码又称无前缀码。无前缀码是指其中没有一个码字是任何其它码字的前缀。
当采用二进制码字表示信源中的字符时,若字符 \(x_{i}\) 的二进制码长等于 \(n_{i}\) , 则信源字符表 \(X(N)\) 的二进制码字的平均码长为
式中: \(P(x_{i})\) 为 \(x_{i}\) 出现的概率。
当希望信道以平均码长的速率传输变长码时,编码器需要有容量足够大的缓冲器调节码流速率,使送入信道的码流不致过快或中断。
综上所述,为了压缩数据,常采用变长码,以求获得高的压缩效果。常见的这类编码方法有霍夫曼 (Huffman) 编码、香农 — 费诺 (Shannon-Fano) 编码等。10.12.2 节将以霍夫曼编码为例作说明。
10.12.2 霍夫曼编码¶
霍夫曼编码是一种无前缀变长码。对于给定熵的信源,霍夫曼编码能得到最小平均码长。故在最小码长意义上霍夫曼编码是最佳编码。因此,它也是效率最高的码。我们用有 8 个字符的信源字符表来说明霍夫曼编码的编码方法。
在图 10-41 中示出霍夫曼编码的编码过程。设信源的输出字符为 \(x_{1}, x_{2}, x_{3}, x_{4}, x_{5}, x_{6}, x_{7}\) 和 \(x_{8}\) ,其对应的出现概率也示于此图中。若采用等长码对信源字符编码,则码长将为 3.0。在采用霍夫曼码编码时,先把它们按照概率不增大的次序排列。然后,第一步是将概率最小的两个信源字符 \(x_{7}\) 和 \(x_{8}\) 合并。

为上面的字符 \(x_{7}\) 分配二进制 “0” 作为其码字的最后一个码元;并为下面的字符 \(x_{8}\) 分配二进制 “1” 作为其码字的最后一个码元(“0” 和 “1” 的分配是任意的,也可以对调,即为 \(x_{7}\) 分配 “1”;为 \(x_{8}\) 分配 “0”;但是在同一个编码过程中应该是一致的)。将 \(x_{7}\) 和 \(x_{8}\) 合并后看成是一个复合字符,并令其概率等于 \(x_{7}\) 和 \(x_{8}\) 的概率之和,即 0.1250。然后,将此新得出的一组字符仍按概率不增大的次序排列。需要指出的是,因为新复合字符的概率与 \(x_{3}\) 和 \(x_{4}\) 的概率相同,所以它可以安排在 \(x_{2}\) 和 \(x_{5}\) 之间的任何位置;由于现在将它放在了 \(x_{4}\) 之后,故用它代替原 \(x_{5}\) 。而原 \(x_{5}\) 和 \(x_{6}\) 顺序下降为新的 \(x_{6}\) 和 \(x_{7}\) 。按照上述步骤再进行一遍,将字符新 \(x_{6}\) 和 \(x_{7}\) 合并。将合并结果再和新 \(x_{5}\) 合并。如此进行到最后。这样就得到了一个树状结构。再从树的最右端向左追踪,就得到了编码输出码字。编码结果示于此图中右下角。在表 10-11 中给出了此码平均码长的计算结果,它等于 2.75。
第 10 章 信源编码
现在,引入两个反映压缩编码性能的指标,即压缩比和编码效率。压缩比是压缩前 (采用等长码) 每个字符的平均码长与压缩后每个字符的平均码长之比。在上例中,压缩比等于 3/2.75=1.09。编码效率等于编码后的字符平均信息量 (熵) 与编码平均码长之比。在上例中,编码后的字符平均信息量 (熵) 为
它和编码平均码长相等。所以得出编码效率等于 100%。
| 表10-11 | 平均码长的计算结果 | |||
| 字符 | $P(x_i)$ | 码字 | $n_i$ | $n_iP(x_i)$ |
| $x_1$ | 0.2500 | 10 | 2 | 0.5 |
| $x_2$ | 0.2500 | 11 | 2 | 0.5 |
| $x_3$ | 0.1250 | 010 | 3 | 0.375 |
| $x_4$ | 0.1250 | 011 | 3 | 0.375 |
| $x_5$ | 0.0625 | 0010 | 4 | 0.25 |
| $x_6$ | 0.0625 | 0011 | 4 | 0.25 |
| $x_7$ | 0.0625 | 0000 | 4 | 0.25 |
| $x_8$ | 0.0625 | 0001 | 4 | 0.25 |
| $\bar{n}=2.75$ | ||||
当字符出现概率有很大不同,并且在字符表中有足够多的字符时,才能获得很高的编码效率。当字符表中字符数目较少和出现概率差别不很大时,为了提高编码效果,需要使字符表中有足够多的字符。这时,我们可以从原信源字符表导出一组新的字符(称为扩展码),构成一个更大的字符表。下面我们举例说明这一扩展方法。
设信源字符表中仅有三个字符 \(x_{1}, x_{2}\) 和 \(x_{3}\) 。按照上例的方法得出霍夫曼编码过程,如图 10-42 所示。平均码长的计算结果示于表 10-12 中。计算得出,其压缩比等于 1.48,编码效率等于 \(91.6\%\) 。

10.12
数字数据压缩编码
为了改进其编码性能,可以将此字符表按照表 10-13 作扩展。扩展后的字符表如表 10-13 左一列所示。扩展后的霍夫曼码编码过程示于图 10-43 中。扩展后的霍夫曼编码的压缩比等于 = 2/1.25125≈1.6; 扩展后的新字符表的熵等于 2.471, 效率等于 2.471/2.5025=98.7%。和前面的三字符信源相比,压缩比和效率均有不小提高。若想进一步提高,还可以用三个信源字符作二次扩展,即用三个信源字符 \(x_{i}x_{j}x_{k}\) 组成二次扩展信源字符表。自然,编码效率最高只能达到 100%, 即平均码长不可能短于字符平均信息量 (熵)。
| 表10-12 | 平均码长的计算结果 | |||
| 字符 | $P(x_i)$ | 码字 | $n_i$ | $n_iP(x_i)$ |
| $x_1$ | 0.65 | 0 | 1 | 0.65 |
| $x_2$ | 0.25 | 10 | 2 | 0.50 |
| $x_3$ | 0.10 | 11 | 2 | 0.20 |
| $\pi = 1.35$ | ||||
在上面计算扩展码时,已经暗中假设信源字符表中的各字符 \(x_{i}\) 是独立的;因此有 \(P(x_{i},x_{j}) = P(x_{i})P(x_{j})\) 。若字符间有相关性,则扩展码中字符的出现概率有可能差别更大,取得更好的压缩效果。
| 表10-13 | 一次扩展后平均码长的计算结果 | |||
| 字符 | $P(x_i, x_j)$ | 码字 | $n_i$ | $n_i P(x_i, x_j)$ |
| $A = x_1x_1$ | 0.4225 | 1 | 1 | 0.4225 |
| $B = x_1x_2$ | 0.1625 | 000 | 3 | 0.4875 |
| $C = x_1x_3$ | 0.0650 | 0100 | 4 | 0.26 |
| $D = x_2x_1$ | 0.1625 | 001 | 3 | 0.4875 |
| $E = x_2x_2$ | 0.0625 | 0110 | 4 | 0.25 |
| $F = x_2x_3$ | 0.0250 | 01111 | 5 | 0.125 |
| $G = x_3x_1$ | 0.0650 | 0101 | 4 | 0.26 |
| $H = x_3x_2$ | 0.0250 | 011100 | 6 | 0.15 |
| $I = x_3x_3$ | 0.0100 | 011101 | 6 | 0.06 |
| $\pi = 2.5025 \text{bit/双字符}$ | ||||
| $\pi = 1.25125 \text{bit/字符}$ | ||||
第 10 章 信源编码
10.13 小结¶
本章讨论了信源编码的两个基本功能,即模拟信号数字化和信源压缩。模拟信号数字化的目的是使模拟信号能够在数字通信系统中传输,特别是能够和其他数字信号一起在宽带综合业务数字通信网中同时传输。模拟信号数字化需要经过三个步骤,即抽样、量化和编码。
抽样的理论基础是抽样定理。抽样定理指出,对于一个频带限制在 \(0 \leqslant f < f_{\mathrm{H}}\) 内的低通模拟信号抽样时,若最低抽样速率不小于奈奎斯特抽样速率 \(2f_{\mathrm{H}}\) ,则能够无失真地恢复原模拟信号。对于一个带宽为 \(B\) 的带通信号而言,抽样频率应不小于 \([2B + 2(f_{\mathrm{H}} - nB) / n]\) ;但是,需要注意,这并不是说任何大于 \([2B + 2(f_{\mathrm{H}} - nB) / n]\) 的抽样频率都可以从抽样信号无失真地恢复原模拟信号。已抽样的信号仍然是模拟信号,但是在时间上是离散的。离散的模拟信号可以变换成不同的模拟脉冲调制信号,包括 PAM,PDM 和 PPM。
抽样信号的量化分为两大类,即标量量化和矢量量化。抽样信号的标量量化有两种方法:一种是均匀量化;另一种是非均匀量化。抽样信号量化后的量化误差又称为量化噪声。电话信号的非均匀量化可以有效地改善其信号量噪比。ITU 对电话信号制定了具有对数特性的非均匀量化标准建议,即 \(A\) 律和 \(\mu\) 律。欧洲和我国大陆采用 \(A\) 律,北美、日本和其他一些国家和地区采用 \(\mu\) 律。13 折线法和 15 折线法的特性近似 \(A\) 律和 \(\mu\) 律的特性。为了便于采用数字电路实现量化,通常采用 13 折线法和 15 折线法代替 \(A\) 律和 \(\mu\) 律。
量化后的信号变成了数字信号。但是,为了适宜传输和存储,通常用编码的方法将其
10.13 小结
变成二进制信号的形式。电话信号最常用的编码是 PCM, DPCM 和 \(\Delta M\) 。
模拟信号数字化后,变成了在时间上离散的脉冲信号。这就为时分复用 (TDM) 提供了基本条件。由于时分复用的诸多优点,使其成为目前取代频分复用的主流复用技术。ITU 为时分复用数字电话通信制定了 PDH 和 SDH 两套标准建议。PDH 体系主要适用于较低的传输速率,它又分为 E 和 T 两种体系,我国采用前者作为标准。SDH 系统适用于 155Mb/s 以上的数字电话通信系统,特别是光纤通信系统中。
矢量量化是将 n 个抽样值构成的 n 维矢量,在 n 维欧几里得空间中进行量化,并设计量化器(的区域划分)使量化误差的统计平均值达到小于给定的数值。量化后的矢量称为码字,对全部码字进行编号并组成码书。传输时,仅传输码字的编号,在接收端将收到的码字编号对照同一码书查出对应的码字。
信源压缩编码分为两类,即有损压缩和无损压缩。语音和图像信号通常采用有损压缩方法编码,因为它们的少许失真不会被人的耳朵和眼睛察觉。数字数据信号不允许有任何损失,所以必须采用无损压缩。
语音压缩编码可以分为三类:波形编码、参量编码和混合编码。对波形编码的性能要求是保持语音波形不变,或使波形失真尽量小。对参量编码和混合编码的性能要求是保持语音的可懂度和清晰度尽量高。
语音参量编码是将语音的主要参量提取出来编码。语音的主要参量有浊音或清音 \((U/V)\) 判决、浊音的基音周期 \((T_{p})\) 、声门输出的强度 \((U(z))\) 、音量 \((G)\) 、和声道参量 \(H(z)\) 。为了改进参量编码的性能,主要途径是采用混合编码。混合编码在激励源中加入了语音波形信息。目前实用的语音压缩方案大多是采用各种改进的激励源,特别是采用了矢量量化的码激励。
图像压缩可以分为静止图像压缩和动态图像压缩两类。静止图像压缩利用了邻近像素之间的相关性,并且常常在变换域中进行有损压缩。最广泛应用的静止图像压缩国际标准是 JPEG。动态图像压缩利用了邻近帧的像素之间的相关性,在静止图像压缩的基础上再设法减小邻帧像素间的相关性。最广泛应用的动态图像压缩国际标准是 MPEG。
数据压缩不允许有任何损失,因此只能采用无损压缩方法。由于有限离散信源中各字符的信息含量不同,为了压缩,通常采用变长码。为了确定变长码每个字符的分界,需要采用唯一可译码。唯一可译码又可以按照是否需要参考后继码元译码,分为即时可译码和非即时可译码。即时可译码又称无前缀码。霍夫曼码是一种常用的无前缀变长码,它在最小码长意义上是最佳码。反映数据压缩编码性能的指标为压缩比和编码效率。压缩比是压缩前 (采用等长码) 每个字符的平均码长与压缩后每个字符的平均码长之比。编码效率等于编码后的字符平均信息量 (熵) 与编码平均码长之比。当字符表中字符数目较少和出现概率差别不很大时,为了提高编码效果,可以采用扩展字符表的方法,提高编码效率。
思考题¶
10-1 模拟信号在抽样后,是否变成时间离散和取值离散的信号了?
10-2 试述模拟信号抽样和 PAM 的异同点。
第 10 章 信源编码
10-3 对于低通模拟信号而言,为了能无失真恢复,理论上对于抽样频率有什么要求?
10-4 试说明什么是奈奎斯特抽样速率和奈奎斯特抽样间隔?
10-5 试说明抽样时产生频谱混叠的原因。
10-6 对于带通信号而言,若抽样频率高于图 10-4 所示曲线,是否就能保证不发生频谱混叠?
10-7 PCM 电话通信通常用的标准抽样频率等于多少?
10-8 信号量化的目的是什么?
10-9 量化信号有哪些优点和缺点?
10-10 对电话信号进行非均匀量化有什么优点?
10-11 在 \(A\) 律特性中,若选用 \(A = 1\) , 将得到什么压缩效果?
10-12 在 \(\mu\) 律特性中,若选用 \(\mu = 0\) , 将得到什么压缩效果?
10-13 13 折线律中折线段数为什么比 15 折线率中的少两段?
10-14 我国采用的电话量化标准,是符合 13 折线律还是 15 折线律?
10-15 在 PCM 电话信号中,为什么常用折叠码进行编码?
10-16 何谓信号量噪比?它有无办法消除?
10-17 在 PCM 系统中,信号量噪比和信号 (系统) 带宽有什么关系?
10-18 增量调制系统中有哪些种量化噪声。
10-19 DPCM 和增量调制之间有什么关系?
10-20 试述矢量量化和标量量化的区别。
10-21 试述码书和码字的关系。
10-22 语音压缩编码分为几类?最常用的是哪类?
10-23 语音参量编码中被编码的参量有哪些?
10-24 语音参量编码改进的主要途径是什么?
10-25 图像压缩编码分为哪几类?它们之间有什么关系?
10-26 为什么静止图像压缩常在变换域中进行?
10-27 何谓游程长度编码?
10-28 何谓唯一可译码?唯一可译码分为几类?
10-29 反映数据压缩编码性能的指标有哪两个?试述其定义。
10-30 试述霍夫曼编码的优点。
习题¶
10-1 已知一低通信号 \(m(t)\) 的频谱 \(M(f)\) 为
(1) 若以 \(f_{s}=300Hz\) 的速率对 \(m(t)\) 进行理想抽样,试画出已抽样信号 \(m_{s}(t)\) 的频谱

草图;
(2) 若以 \(f_{s}=400Hz\) 的速率抽样,重作题 (1)。
10-2 对基带信号 \(m(t) = \cos 2000\pi t + 2\cos 4000\pi t\) 进行理想抽样,为了在接收端能不失真地从已抽样信号 \(m_{s}(t)\) 中恢复 \(m(t)\) 。
10-3 设输入抽样器的信号为门函数 \(G_{\tau}(t)\) ,宽度 \(\tau = 20\mathrm{ms}\) ,若忽略其频谱第 10 个零点以外的频率分量,试求最小抽样频率。
10-4 已知某信号 \(m(t)\) 的频谱 \(M(\omega)\) 如图 P10-1 (a) 所示。将它通过传输函数为 \(H_{1}(\omega)\) 的滤波器(见图 P10-1 (b)) 后再进行理想抽样。


10-5 已知信号 \(m(t)\) 的最高频率为 \(f_{\mathrm{m}}\) ,若用图 P10-2 所示的 \(q(t)\) 对 \(m(t)\) 进行抽样,试确定已抽样信号频谱的表示式,并画出其示意图(注: \(m(t)\) 的频谱 \(M(\omega)\) 的形状可自行假设)。
10-6 已知模拟信号 \(m(t)\) 的频谱函数为
第 10 章 信源编码
若用宽度为 \(\tau\) ,幅度为 1,周期为奈奎斯特间隔 \(T_{s}\) 的矩形窄脉冲序列 \(p(t)\) 对 \(m(t)\) 进行如下抽样:(1) 自然抽样;(2) 平顶抽样。试确定已抽样信号及其频谱的表示式,并分析接收端恢复信号的方案。
10-7 设信号 \(m(t) = 9 + A\cos \omega t\) ,其中 \(A \leqslant 10\mathrm{V}\) 。若 \(m(t)\) 被均匀量化为 40 个电平,试确定所需的二进制码组的位数 \(N\) 和量化间隔 \(\Delta v\) 。
10-8 已知模拟信号抽样值的概率密度 \(f(x)\) 如图 P10-3 所示。若按 4 电平进行均匀量化,试计算信号量化噪声功率比。
10-9 一个 \(\mu\) 律压缩扩张系统,\(\mu = 100\) , 压扩 \(0 \sim 10\mathrm{V}\) 的信号,计算输入为 0, 0.1, 1, 2.5, 5, 7.5 和 \(10\mathrm{V}\) 的系统输出。
10-10 设输入信号抽样脉冲值为 \(+635\Delta\) (\(\Delta\) 表示一个最小量化单位), 采用 13 折线 A 律 PCM 编码。试确定:
10-11 采用 13 折线 A 律编译码电路,设接收端译码器收到的码组为 “01010011”,最小量化间隔为 1 个量化单位 \((\Delta)\) 。试求:
10-12 采用 13 折线 A 律编码,最小量化间隔为 1 个量化单位 (记为 \(\Delta\)), 已知抽样脉冲值为 \(-95\Delta\) , 试求:
10-13 对信号 \(m(t) = A\sin 2\pi f_0t\) 进行简单增量调制,若量化台阶 \(\sigma\) 和抽样频率 \(f_{s}\) 的选择能使信号振幅处于正常编码范围,试证明此时要求 \(f_{s}\pi f_{0}\) 。
10-14 将一个带宽为 \(4.2\mathrm{MHz}\) 的模拟信号用如图 10-17 所示的 PCM 系统进行传输。要求接收机输出端的量化信噪比至少为 \(40\mathrm{dB}\) 。
10-15 对 10 路带宽均为 \(300\sim 3400\mathrm{Hz}\) 的模拟信号进行 PCM 时分复用传输。设抽样速率为 \(8000\mathrm{Hz}\) ,抽样后进行 8 级量化,并编为自然二进制码,试求:
(1) 传输此复用信号的信息传输速率;

10-16 若将上题中的 “8 级量化” 改为 “128 级量化”,重作上题。
(1) 试求此时编码器的输出码组和量化误差;
(2)若采用时分多路系统传输 10 路编码后的 PCM 信号,传输波形为非归零的矩形脉冲时,试确定该 PCM 时分多路信号的信息传输速率和传输带宽(第一零点带宽)。
参考文献¶
第 10 章 信源编码
