2.2.2量化的分类
(1)按照量化级的划分方式分,有均匀量化和非均匀量化。
均匀量化:
把输入信号的取值域按等距离分割的量化称为均匀量化。
在均匀量化中,每个量化区间的量化电平在各区间的中点。
其量化间隔Δv取决于输入信号的变化范围和量化电平数。
当信号的变化范围和量化电平数确定后,量化间隔也被确定。
上述均匀量化的主要缺点是,无论抽样值的大小如何,量化噪声的均方根都固定不变。
因此,当信号较小时,则信号量化噪声功率比也就很小,这样,对于弱信号时的信号量噪比就很难达到给定的要求。
通常,把满足信噪比要求的输入信号取值范围定义为动态范围。
可见,均匀量化是的信号动态范围将受到较大的限制。
为了克服这一个缺点,实际中往往采用非均匀量化。
非均匀量化:
非均匀量化是根据信号的不同区间来确定量化间隔的。
对于信号取值小的区间,其量化间隔也小;反之,量化间隔就大。
它与均匀量化相比,有两个突出的优点。
首先,当输入量化器的信号具有非均匀分布的概率密度时,非均匀量化器的输出端可以得到较高的平均信号量化噪声功率比;其次,非均匀量化时,量化噪声功率的均方根基本上与信号抽样值成比例。
因此量化噪声对大、小信号的影响大致相同,即改善了小信号时的信号量噪比。
常见的非均匀量化有A律和μ率等,它们的区别在于量化曲线不同。
μ压缩律:
所谓μ压缩律就是压缩器的压缩特性具有如下关系的压缩律:
式中y为归一化的压缩器输出电压,x为归一化的压缩器输入电压,μ为压扩参数,表示压缩的程度。
由于上式表示的是一个近似对数关系,因此这种特性也称为近似对数压扩律,其压缩特性曲线如下图所示。
由图可知,当μ=0时,压缩特性是通过原点的一条直线,故没有压缩效果;当μ值增大时,压缩作用明显,对改善小信号的性能也有利。
一般当μ=100时,压缩器的效果就比较理想了。
另外,需指出,μ律压缩特性曲线是以原点奇对称的,图中只画出了正向部分。
图3.3μ压缩律特性
A压缩律:
所谓A压缩律也就是压缩器具有如下特性的压缩律:
其中,A为压缩系数;y为归一化的压缩器输出电压;x为归一化的压缩器输入电压。
图画出了A为某一取值的归一化压缩特性。
A律压缩特性是以原点奇对称的,为了简便,图中只给出了正半轴部分。
图3.4A压缩律特性
上图中,x和y都在-1和+1之间,取量化级数为N(在y方向上从-1到+1被均匀划分为N个量化级),则量化间隔为
当N很大时,在每一量化级中压缩特性曲线可看作是直线,因此有
式中,xi为第i个量化级间隔的中间值。
因此
(3.1)
为了使量化信噪比不随信号x变化,也就是说在小信号时的量化信噪比不因x的减小而变小,即应使各量化级间隔与x成线性关系,即
则式3.1可写成
(3.2)
即
其中k为比例常数。
当量化级数很大时,可以将它看成连续曲线,因而式(3.2)成为线性微分方程
解此微分方程
(3.3)
其中c为常数。
为了满足归一化要求,当x=1时,y=1,代入式(3.3)可得
故所得结果为
即
(3.4)
如果压缩特性满足上式,就可获得理想的压缩效果,其量化信噪比和信号幅度无关。
满足上式的曲线如下图所示,由于其没有通过坐标原点,所以还需要对它作一定的修改。
图3.5理想压缩特性曲线
A律压缩特性就是对式(3.4)修改后的函数。
在上图中,通过原点作理想压缩特性曲线的切线oc,将oc、cd作为实际的压缩特性。
修改以后,必须用两个不同的方程来描述这段曲线,以切点c为分界点,
线段oc的方程:
设切点c的坐标为(x1,y1)斜率为
则由式(3.4)可得
(3.5)
所以线段oc的方程为
所以当x=x1时,y1=1/k时,有
因此有
所以,切点坐标为(exp[-(k-1)],1/k),令
则
将它代入式(3.5),就可得到以切点c为边界的
段的方程为
(3.6)
因cd段的方程,满足式(3.4),所以由该式可得
(3.7)
由以上分析可见,经过修改以后的理想压缩特性与图5中所示的曲线近似,而式(3.6)式(3.7)和式(3.4)完全一样。
13折线:
实际中,A压缩律通常采用13折线来近似,13折线法如图7-4-7所示,图中先把
轴的[0,1]区间分为8个不均匀段。
图3.613折线示意图
其具体分法如下:
a.将区间[0,1]一分为二,其中点为1/2,取区间[1/2,1]作为第八段;
b.将剩下的区间[0,1/2]再一分为二,其中点为1/4,取区间[1/4,1/2]作为第七段;
c.将剩下的区间[0,1/4]再一分为二,其中点为1/8,取区间[1/8,1/4]作为第六段;
d.将剩下的区间[0,1/8]再一分为二,其中点为1/16,取区间[1/16,1/8]作为第五段;
e.将剩下的区间[0,1/16]再一分为二,其中点为1/32,取区间[1/32,1/16]作为第四段;
f.将剩下的区间[0,1/32]再一分为二,其中点为1/64,取区间[1/64,1/32]作为第三段;
g.将剩下的区间[0,1/64]再一分为二,其中点为1/128,取区间[1/128,1/64]作为第二段;
h.最后剩下的区间[0,1/128]作为第一段。
然后将y轴的[0,1]区间均匀地分成八段,从第一段到第八段分别为[0,1/8],(1/8,2/8],(2/8,3/8],(3/8,4/8],(4/8,5/8],(5/8,6/8],(6/8,7/8],(7/8,1]。
分别与x轴的八段一一对应。
采用上述的方法就可以作出由八段直线构成的一条折线,该折线和A压缩律近似,图3.6中的八段线段的斜率分别为:
表1各段落的斜率
段落
1
2
3
4
5
6
7
8
斜率
16
16
8
4
2
1
1/2
1/4
从上表中可以看出,除一、二段外,其他各段折线的斜率都不相同。
图7-4-8中只画出了第一象限的压缩特性,第三象限的压缩特性的形状与第一象限的压缩特性的形状相同,且它们以原点为奇对称,所以负方向也有八段直线,总共有16个线段。
但由于正向一、二两段和负向一、二两段的斜率相同,所以这四段实际上为一条直线,因此,正、负双向的折线总共由13条直线段构成,这就是13折线的由来。
从A律压缩特性中可以看出,取A=87.6主要基于下述两个原因:
1使压缩特性曲线在原点附近的斜率为16;
2当用13折线逼近时,
的八段量化分界点近似为1/2^n(n=0,1,2,…,7)。
从表1可以看出,当要求满足x=1/2^n时,相应有y=1-n/8代入式中,有
因此有
将上式代入式(7.4-16),就可以得到对应A=94.4时的压缩特性
(3.8)
此压缩特性如果用13折线逼近,除了第一段落起始点外,其余各段落的分界点的x、y都应满足式(3.8)。
在13折线中,第一段落起始点要求的x、y都应该为零,而若按照式(3.8)计算时,当x=0时,y→-∞;而当y=0,x=1/2^8。
因此,需要对式(3.8)的压缩特性曲线作适当的修正,我们可以在原点和点(1/2^7,1/8)之间用一段直线代替原来的曲线,这段直线的斜率是1/8÷1/2^7=16。
为了找到一个能够表示修正后的整个压缩特性曲线的方程,将式(3.8)变成
(3.9)
从上式中可以看出,它满足x=0时,y=0;x=1时,y=1。
虽然式(3.9)在其他点上会有误差,但x在区间(1/128,1]内,1+255x都能和原来的256x比较接近。
所以,在绝大部分范围内的压缩特性仍和A律压缩特性非常接近,只有在x→0的小信号部分和A律压缩特性有些差别。
若在式(3.9)中,令μ=255,则式(3.9)可写成
(3.10)
式(3.10)的压缩特性与μ律压缩特性完全一致。
(2)按照量化的维数分,量化分为标量量化和矢量量化。
标量量化是一维的量化,一个幅度对应一个量化结果。
而矢量量化是二维甚至多维的量化,两个或两个以上的幅度决定一个量化结果。
以二维情况为例,两个幅度决定了平面上的一点。
而这个平面事先按照概率已经划分为N个小区域,每个区域对应着一个输出结果(码数,codebook)。
由输入确定的那一点落在了哪个区域内,矢量量化器就会输出那个区域对应的码字(codeword)。
矢量量化的好处是引入了多个决定输出的因素,并且使用了概率的方法,一般会比标量量化效率更高。
2.2.3MATLAB的A律13折线量化
在MATLAB中编写程序实现A律对数量化,并输出13折线对数量化特性曲线如图所示,程序见第4章设计内容。
图3.7A律13折线量化特性曲线
2.3PCM编码
2.3.1编码的定义
量化后的抽样信号在一定的取值范围内仅有有限个可取的样值,且信号正、负幅度分布的对称性使正、负样值的个数相等,正、负向的量化级对称分布。
若将有限个量化样值的绝对值从小到大依次排列,并对应地依次赋予一个十进制数字代码(例如,赋予样值0的十进制数字代码为0),在码前以“+”、“-”号为前缀,来区分样值的正、负,则量化后的抽样信号就转化为按抽样时序排列的一串十进制数字码流,即十进制数字信号。
简单高效的数据系统是二进制码系统,因此,应将十进制数字代码变换成二进制编码。
根据十进制数字代码的总个数,可以确定所需二进制编码的位数,即字长。
这种把量化的抽样信号变换成给定字长的二进制码流的过程称为编码。
话音PCM的抽样频率为8kHz,每个量化样值对应一个8位二进制码,故话音数字编码信号的速率为8bits×8kHz=64kb/s。
量化噪声随量化级数的增多和级差的缩小而减小。
量化级数增多即样值个数增多,就要求更长的二进制编码。
因此,量化噪声随二进制编码的位数增多而减小,即随数字编码信号的速率提高而减小。
自然界中的声音非常复杂,波形极其复杂,通常我们采用的是脉冲代码调制编码,即PCM编码。
PCM通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数字编码。
2.3.2码型的选择
常用的二进制码型有自然二进制码和折叠二进制码两种。
折叠码优点:
只需对单极性信号进行,再增加最高位来表示信号的极性;小信号的抗噪性能强,大信号的抗噪性能弱。
2.3.3PCM脉冲编码的原理
若信源输出的是模拟信号,如电话机传送的话音信号,模拟摄象机输出的图像信号等,要使其在数字信道中传输,必须在发送端将模拟信号转换成数字信号,即进行A/D变换,在接收端则要进行D/A。
对语音信号最典型的数字编码就是脉冲编码调制(PCM)。
所谓脉冲编码调制:
就是将模拟信号的抽样量化值转换成二进制码组的过程。
下图给出了脉冲编码调制的一个示意图。
图3.8脉冲编码调制示意图
假设模拟信号m(t)的求值范围为[-4V,+4V],将其抽样值按8个量化级进行均匀量化,其量化间隔为1s,因此各个量化区间的端点依次为-4、-3、-2、-1、0、1、2、3、4V,8个量化级的电平分别为-3.5、-2.5、-1.5、-0.5、0.5、1.5、2.5和3.5V。
PCM系统的原理方框图如下图所示。
图中,输入的模拟信号m(t)经抽样、量化、编码后变换成数字信号,经信道传送到接收端的译码器,由译码器还原出抽样值,再经低通滤波器滤出模拟信号m^(t)。
其中,量化与编码的组合通常称为A/D变换器;而译码与低通滤波的组合称为D/A变换。
图3.9PCM通信系统方框图
3PCM的MATLAB实现
3.1PCM抽样的MATLAB实现
PCM抽样的MATLAB程序设计按如下步骤进行:
(1)确定输入的模拟信号为sa(200t);
(2)根据输入的模拟信号,确定抽样频率,对输入信号进行抽样,并将正常抽样和会产生失真的抽样进行对比,对抽样定理加以验证;
(3)编写程序,画出满足采样定理和不满足的时、频域图形。
PCM抽样的MATLAB实现源程序如下:
functionsample()
t0=10;%定义时间长度
ts=0.001;fs=1/ts;
t=[-t0/2:
ts:
t0/2];%定义时间序列
df=0.5;%定义频率分辨率
x=sin(200*t);m=x./(200*t+eps);
w=t0/(2*ts)+1;%确定t=0的点
m(w)=1;%修正t=0点的信号值
m=m.*m;
[M,mn,dfy]=fft_seq(m,ts,df);%傅立叶变换
M=M/fs;
f=[0:
dfy:
dfy*length(mn)-dfy]-fs/2;%定义频率序列
figure
(1)
subplot(2,1,1);plot(t,m);
xlabel('时间');ylabel('幅值');title('原始信号(fh=200/2piHz)的波形');
axis([-0.15,0.15,0,1.5]);
subplot(2,1,2);
plot(f,abs(fftshift(M)));
xlabel('频率');ylabel('幅值');
axis([-500,500,0,0.03]);title('原始信号的频谱');
t0=10;%信号持续的时间
ts1=0.005;%满足抽样条件的抽样间隔
fs1=1/ts1;
t1=[-t0/2:
ts1:
t0/2];%定义满足抽样条