均匀与非均匀量化_第1页
均匀与非均匀量化_第2页
均匀与非均匀量化_第3页
均匀与非均匀量化_第4页
均匀与非均匀量化_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验二均匀、非均匀量化与编码PCM为例的非均匀量化(对数量化)实验内容实验目的1、了解均匀与非均匀量化编码的原理与过程2、掌握两种不同量化编码方式的特点并能加以比较3、进一步熟悉matlab在通信方面的应用理论依据通原理论课中的标量量化原理,包括均匀量化和以1、仿真理论及系统框图(1)均匀量化利,2兀)4T7T.m分层电平JmZ匕伯牛信巧的u重化电平量化数Mg(切信号的实际值 晟化器 任(ATJ (2)非均匀量化HJlv 片平 jlJlLt非均匀量化(对数量化)原理框图0u律压扩特性(本实验以 u律为例)2、模块说明实验程序设计依照量化编码原理可大体分为采样、量化、编码、作图及相关显示几部分。

2、采样:本实验利用正弦函数的若干点(17个)。量化:根据不同的输入值,可以得到在不同量化级数下(量化级数n=8,16,64)的结果,算法是程序的核心之一。编码:对量化结果进行二进制编码,本例进行自然编码,另一个算法核心。作图与显示:做出不同量化级数下量化曲线、量化误差曲线;显示量化信噪比、及部分采样点的编码结果。3、语句分析详细的分析见程序注释四、实验数据1、均匀量化(曲线名称见各自曲线图)(1) n=8顶姑信号艮玉化曲甥Eor世电曳oh肥挺践filths曲技0.325O.25O.O512 a扯化值矗编码显示0?o.s.28-O.:I -!1;11.J:11 1 0 ff f彳*:1111 11

3、11 (P11.M 0 1产 23 73780111011)0003 111.匕(1 035678910盘化值及填码显示num(3)n=64顶赠情号耳量化fl琳円or世虽M蔑申世非匮ogs0.6甲彷十十巧-卜.28-O.* II40-4-30 0 10102、非均匀量化(u率对数量化)(1)n=8顶始信号屋量化曲址Eor世电曳oh肥挺践1 256益化倍囁込7刃51(1 1 1 (1 1 1 1 1 1 (1 1 10 1 11 0 0 35678910盘化值及填码显示num(2)n=16顶赠信号屋撮化曲址円or世孝tM蔑申肥悲怪0IIIr1匙化值段编码见示100.S1O.2O2 口8 -O.1

4、Q(3)n=64顶赠信号段咼化曲址Eor世电M岗申肥袈匮0糊煦芒.(11111 .1.1 1 10崔化倍唏氐=24 25671110 101110 100 1111110 0 0 00.r;0 0/ 灵化值及编码显示1 0 10 0 0 092、数据分析与说明 :(1)n=8,16,64 的均匀量化曲线 对于均匀量化,量化级数越大,量化值与原始值约接近,量化误差越小,即量化效 果越好。(2)n=8,16,64 的均匀量化信噪比 对于均匀量化,量化级数越大,量化信噪比越大(3)n= 8,16,64 的非均匀量化曲线 对于非均匀量化,量化级数越大,量化值与原始值约接近,量化误差越小,即量化 效果越

5、好。(4)n=8, 16, 64 的非均匀量化信噪比 对于非均匀量化,量化级数越大,量化信噪比越大( 5) 对于相同量化级的均匀与非均匀量化特性 均匀量化的量化误差分布比较均匀, 而非均匀量化的量化误差随信号幅度变化: 在大幅度处大,在小幅度处小。当 n 较小时,均匀量化的量化信噪比大于非均 匀量化,但是当 n 较大时,均匀量化的量化信噪比小于非均匀量化五、实验结果的分析与讨论通过对实验数据的分析, 我们直观的发现了与通原理论课一样的结论。 无论是均匀量化 还是非均匀量化其量化信噪比的是随着量化级数的增大而增大。 而均匀量化与非均匀量 化相比,前者是先简单, 后者相对复杂, 但更适合小信号出现

6、概率较大的信号,有实际 应用背景。六、实验总结与心得体会这次实验在利用老师给出的核心 部分 后相对简单,再加之对 matlab 的掌握有了一定提 高,完成得比上次顺利。其中对 matlab 编程的规范性有了进一步的强化,无论是注释 的规范性还是程序的灵活性都有了提高。七、思考题1、答:采用奈奎斯特抽样频率为 2fh,量化级数为n,则每码元比特数为log2n ,量化后的信号带宽为 2wlog 2n。2、答:非均匀 PCM 的量化信噪比之所以优于均匀 PCM 的量化信噪比是因为它具有 较大的动态范围, 结合实际语声信号的特点: 大信号出现概率小, 小信号出现概率大,非均匀量化的压扩特性恰好适应这一

7、条件。3、答:以 n=8 为例,通过程序算出:前者 a 均匀量化量化信噪比为 14.006 非均匀量化量化信噪比为 2.7422后者 a 均匀量化量化信噪比为 -0.94856 非均匀量化量化信噪比为 0.1694虽然以上数据均为不定值,但大小相对关系不会改变:即:前者 a 均匀量化量化信噪比优于非均匀量化量化信噪比 后者 a 非均匀量化量化信噪为优于均匀量化量化信噪比 原因是前者 a 为服从正态分布,样值比较均匀,适合均匀量化 而后者 a 的各个元素跳跃较大,分布不均,适合动态范围较大的非均匀量化附录:源程序:1、 均匀量化N=2A10;L=2A6;M=N/L;% 采样点数a=sin(0:2

8、*pi/M:2*pi);% 取样点n=input(量化级数=);%初始化,n为量化级数if isempty(n), n=8;end amax=max(abs(a);a_qua n=a/amax;% 归一化 b_quan=a_quan;d=2/n;%量化间隔q=d.*0:n-1;q=q-(n-1)/2)*d;% 量化电平%进行量化for i=1:na_quan(find(q(i)-d/2=a_quan) & (a_quan=q(i)+d/2)=.%定位第 i 个量化间隔码子q(i).*ones(1,length(find(q(i)-d/2=a_quan)&(a_quan=q(i)+d/2);%

9、赋值为相应的量 化电平b_quan(find(a_quan=q(i) =(i-1) .* ones(1,length(find(a_quan=q(i); end a_qua n=a_qua n*amax;% 恢复原值(量化后)nu=ceil(log2(n);% 编码 code=zeros(length(a),nu);for i=1:length(a)for j=nu:-1:0% 从高向低编码if (fix(b_qua n(i)/(2Aj)=1)code(i,(nu-j)=1;b_qua n(i)=b_qua n(i)-2Aj;endend endsqnr=20*log10(norm(a)/no

10、rm(a-a_quan);% 求量化信噪比t=(0:2*pi/N:2*pi);aq=sin(0:2*pi/N:2*pi);% 计算所有采样点的量化值,为作图服务aq_qua n=aq/amax;% 归一化aq=d.*0:n-1;aq=(n-1)/2)*d-aq;% 量化电平for i=1:naq_quan(find(q(i)-d/2=aq_quan) & (aq_quan=q(i)+d/2)=.% 定位第 i 个量化间隔 码子q(i).*ones(1,length(find(q(i)-d/2=aq_quan)&(aq_quan=q(i)+d/2);% 赋值为相应的 量化电平endfigure(

11、1)% 作原始信号及量化曲线set(1,position,10,50,300,200) plot(t,sin(t)grid onaxis(0,2*pi,-1.2*amax,1.2*amax)title( 原始信号及量化曲线 ) xlabel(t)ylabel( 原始信号及量化信号值 )text(2,1,sin(t)hold onplot(t,aq_quan,r) figure(2)% 做量化误差曲线 (对所有采样点 ) set(2,position,350,50,300,200) plot(t,aq_quan-sin(t)grid on axis(0,2*pi,-2*amax/n,2*amax

12、/n) title( 量化误差曲线 ) xlabel(t) ylabel( 量化误差值 )(量化信噪比的计算依figure(3)% 做前十个取样点的量化值曲线及表示量化信噪比 据一个周期内所有取样点,并非前十个 ) set(1,position,20,60,300,200)stem(a_quan)grid on axis(0,10.5,-amax,amax) title( 量化值及编码显示 ) xlabel(num) ylabel( 量化值及编码显示 ) for k=1:MCODA=num2str(code(k,:); text(k,a_quan(k),CODA) text(7,0.7*ama

13、x, 量化信噪比 =) text(8.2,0.7*amax,num2str(sqnr) end2、非均匀量化N=2A10;L=2A6;M=N/L;% 采样点数aa=sin(0:2*pi/M:2*pi);% 取样点 u=255;n=input(量化级数=);%初始化,n为量化级数if isempty(n),n=8;end a=mulaw(aa,u); amax=max(abs(a);a_qua n=a/amax;% 归一化b_quan=a_quan;d=2/n;% 量化间隔q=d.*0:n-1;q=q-(n-1)/2)*d;% 量化电平%进行量化for i=1:na_quan(find(q(i)

14、-d/2=a_quan) & (a_quan=q(i)+d/2)=.% 定位第 i 个量化间隔码子 q(i).*ones(1,length(find(q(i)-d/2=a_quan)&(a_quan=q(i)+d/2);% 赋值为相应的量 化电平b_quan(find(a_quan=q(i) =(i-1) .* ones(1,length(find(a_quan=q(i); enda_qua n=a_qua n*amax;% 恢复原值(量化后)nu=ceil(log2(n);% 编码 code=zeros(length(a),nu);for i=1:length(a)for j=nu:-1:0

15、% 从高向低编码if (fix(b_qua n(i)/(2Aj)=1)code(i,(nu-j)=1;b_qua n(i)=b_qua n(i)-2Aj;endendend aa_quan=invmulaw(a_quan,u);sqnr=20*log10(norm(aa)/norm(aa-aa_quan);% 求量化信噪比t=(0:2*pi/N:2*pi);aaq=sin(0:2*pi/N:2*pi);% 计算所有采样点的量化值,为作图服务aq=mulaw(aaq,u);aq_qua n=aq/amax;% 归一化aq=d.*0:n-1;aq=(n-1)/2)*d-aq;% 量化电平for i

16、=1:naq_quan(find(q(i)-d/2=aq_quan) & (aq_quan=q(i)+d/2)=.% 定位第 i 个量化间隔 码子q(i).*ones(1,length(find(q(i)-d/2=aq_quan)&(aq_quan=q(i)+d/2);% 赋值为相应的 量化电平end aaq_quan=invmulaw(aq_quan,u); figure(1)% 作原始信号及量化曲线 set(1,position,10,50,300,200) plot(t,sin(t)grid onaxis(0,2*pi,-1.2*amax,1.2*amax)title( 原始信号及量化曲线 ) xlabel(t)ylabel( 原始信号及量化信号值 )text(2,1,sin(t)hold onplot(t,aaq_quan,r) figure(2)% 做量化误差曲线 (对所有采样点 ) set(2,position,350,50,300,200) plot(t,aaq_quan-sin(t)grid on axis(0,2*pi,-0.6*amax,0.6*amax) title( 量化误差曲线 ) xlabel(t) ylabel( 量化误差值 )(量化信噪比的计算依figure(3)% 做前十个取样点的量化值曲线及表示量化信噪比 据一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论