正在加载图片...
3绵码 4.转换成二进制数据流 因此,如果编码变量xbin被转换成一串数据,那么实际上你就产生了代表序列x的PCM 数据: >>par2ser(xbin) B.量化引入的失真。 B.1.量化产生了一个对源序列的近似波形。为了观察这一点我们从单位振幅的正弦曲线中 产生抽样值: >>x=sin(2*pi*20*[1:4001/SAMPLING_FREQ ) 默认由参数SAMPLING_FREQ设置的抽样频率为10KHz.。使用两比特均匀量化器进行 量化,并比较x序列和量化波形: >>clf,waveplot(x).hold on,waveplot(quantize(x,2)). 用三,四,五比特均匀量化器重复上述试验!(即将quantize(x,2)中的2改为3、4和5) 由于被量化序列仅仅是源序列的近似所以量化会有失真。共有两种与量化器有关的失 真:过载失真和量化失真。当输入信号超过量化器输入范围(本实验为1,),就会出 现过载失真。一旦超过量化器范围,量化器的输出将保持在它的最大或最小值上,直到输 入重新落入量化器的输入范围内。 B.2设置正弦曲线x的幅度为0.9,显示x和它的三比特量化值: >>a=0.9 >>clf. >>waveplot(a*x),hold on,waveplot(quantize(a*x.3)); 观察波形,由于最大N-0.9<1,所以无过载发生。现在增加信号幅度,并用a=1.25,2和5 重做以上步骤。 问题5.2当振幅被设置为0.9,2和5时,确定在x中被量化器切去的样值的百分 比。对于三比特均匀量化器,最大和最小量化电平是多少? 为了避免过载,量化器要与输入信号匹配(我们称这个为尺度,MATLAB函数quantize中 也有这个选项。要得到更多的信息,请键入help quantize)。第二种失真是由量化噪声 引起的,这种噪声来源于输入振幅和量化值的差异。 B.3用来自正弦曲线x的样值去观察量化误差x-xq >>clf, >xq quantize(x.N):xe x-xq. >>waveplot(xe). 此处N=2,3,4和5。对于每一个N,在表5.3中记录最大量化误差的绝对值: -29 ―29― 3. 编码 4. 转换成二进制数据流 因此,如果编码变量 xbin 被转换成一串数据,那么实际上你就产生了代表序列 x 的 PCM 数据: >> par2ser( xbin) B. 量化引入的失真。 B.1. 量化产生了一个对源序列的近似波形。为了观察这一点,我们从单位振幅的正弦曲线中 产生抽样值: >> x = sin( 2*pi*20*[1:400]/ SAMPLING_FREQ ); 默认由参数 SAMPLING_FREQ 设置的抽样频率为 10KHz。使用两比特均匀量化器进行 量化,并比较 x 序列和量化波形: >> clf,waveplot(x),hold on,waveplot(quantize(x,2)); 用三,四,五比特均匀量化器重复上述试验!(即将 quantize(x,2)中的 2 改为 3、4 和 5) 由于被量化序列仅仅是源序列的近似,所以量化会有失真。共有两种与量化器有关的失 真:过载失真和量化失真。当输入信号超过量化器输入范围(本实验为[-1,1]),就会出 现过载失真。一旦超过量化器范围,量化器的输出将保持在它的最大或最小值上,直到输 入重新落入量化器的输入范围内。 B.2 设置正弦曲线 x 的幅度为 0.9,显示 x 和它的三比特量化值: >> a = 0.9; >> clf; >> waveplot(a*x),hold on,waveplot(quantize(a*x,3)); 观察波形,由于最大|x|=0.9<1,所以无过载发生。现在增加信号幅度,并用 a =1.25,2 和 5 重做以上步骤。 问题 5.2 当振幅被设置为 0.9,2 和 5 时,确定在 x 中被量化器切去的样值的百分 比。对于三比特均匀量化器,最大和最小量化电平是多少? 为了避免过载,量化器要与输入信号匹配(我们称这个为尺度,MATLAB 函数 quantize 中 也有这个选项。要得到更多的信息,请键 入 help quantize)。第二种失真是由量化噪声 引起的,这种噪声来源于输入振幅和量化值的差异。 B.3 用来自正弦曲线 x 的样值去观察量化误差 x-xq: >> clf; >> xq = quantize(x,N);xe = x-xq; >> waveplot(xe); 此处 N=2,3,4 和 5。对于每一个 N,在表 5.3 中记录最大量化误差的绝对值:
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有