整理《信息论与编码技术》实验教案.docx
- 文档编号:4542069
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:13
- 大小:166.09KB
整理《信息论与编码技术》实验教案.docx
《整理《信息论与编码技术》实验教案.docx》由会员分享,可在线阅读,更多相关《整理《信息论与编码技术》实验教案.docx(13页珍藏版)》请在冰豆网上搜索。
整理信息论与编码技术实验教案整理信息论与编码技术实验教案教案20102011学年第1学期信息论与编码技术实验教案教学院(部)电气与电子信息工程学院教研室电子信息教研室授课班级07电信本、08电信专授课教师艾青职称职务助教教材名称信息论-基础理论与应用2010年10月1日实验二、信源编译码一、实验目的1、掌握标量量化的基本使用方法。
2、掌握预测量化的基本使用方法。
3、掌握Huffman编码的仿真方法。
4、通过信源编译码,理解香农第一定理。
二、实验主要仪器与设备1、微机三、实验原理大多数信源(比如语音、图像)最开始都是模拟信号,为了将信源输出数字化,信源必须量化为确定数目的级数。
量化方案可划分为标量量化和矢量量化两种。
在标量量化中每个信源输出都分别被量化,标量量化可进一步分为均匀量化和非均匀量化。
在均匀量化中量化区域是等长的;在非均匀量化中量化区域可以是不等长的。
矢量量化是对信源输出组合进行整体量化。
在MATLAB通信工具箱中提供了两种信源编译码的方法:
标量量化和预测量化。
1、标量量化信源编码中的律或A律压扩计算函数compand()格式:
out=compand(in,param,V,method)功能:
实现值律或A律压扩,其中param为,V为峰值。
压扩方式由method指定。
产生量化索引和量化输出值的函数quantiz()格式:
indx=quantiz(sig,partition)功能:
根据判断向量partition,对输入信号sig产生量化索引indx,indx的长度与sig矢量的长度相同。
采用训练序列和Lloyd算法优化标量算法的函数lloyds()格式:
parition,codebook=lloyds(training_set,ini_codebook)功能:
用训练集矢量training_set优化标量量化参数partition和码本codebook。
ini_codebook是码本codebook的初始值。
2、预测量化根据过去发送的信号来估计下一个将要发送的信号值。
差分脉冲调制编码函数dpcmenco()格式:
indx=dpcmenco(sig,codebook,partition,predictor)功能:
返回DPCM编码的编码索引indx。
其中参数sig为输入信号,predictor为预测器传递函数,其形式为0,t1,tm。
预测误差的量化参数由partition和predictor指定。
信源编码中的DPCM解码函数dpcmdeco()格式:
sig=dpcmdeco(indx,codebook,predictor)功能:
根据DPCM信号编码索引indx进行解码。
predictor为指定的预测器,codebook为码本。
3、信源编码可分为两类:
无失真编码和限失真编码。
Huffman编码的基本原理就是为概率较小的信源输出分配较长的码字,而对那些出现可能性较大的信源输出分配较短的码字。
1)Huffman编码算法及步骤如下:
将信源消息按照概率大小顺序排队。
按照一定的规则,从最小概率的两个消息开始编码。
将经过编码的两个消息的概率合并,并重新按照概率大小排序,重复步骤。
重复上面步骤,一直到合并的概率达到1时停止。
这样便可以得到编码树状图。
按照后出先编码的方式编程,即从数的根部开始,将0和1分别放到合并成同一节点的任意两个支路上,这样就产生了这组Huffman码。
2)费诺编码属于概率匹配编码,它不是最佳编码方法,编码过程如下:
1、将信源发出的N个消息符号按其概率的递减次序依次排列。
2、将依次排列的信源符号依概率分成两组,使两个组的概率和近于相同,并对各组赋予一个二进制代码符号“0”和“1”(编m进制码就分成m组)。
3、将每一个大组的信源符号进一步再分成两组,使划分后的两个组的概率和近于相同,并又分别赋予两组一个二进制符号“0”和“1”4、如此重复,直至每组值只剩下一个信源符号为止5、信源符号所对应的码符号序列即为费诺码3)、香农编码1、将信源发出的N个消息符号按其概率的递减次序依次排列。
2、按下式计算第i个消息的二进制代码组的码长,并取整。
3、为了编成唯一可译码,首先计算第i个消息的累加概率4、将累加概率Pi(为小数)变成二进制数5、除去小数点,并根据码长li,取小数点后li位数作为第i个消息的码字。
四、预习要求做实验前必须认真复习教材中关于信源编译码的有关内容。
五、实验内容及步骤1、练习使用上述函数命令。
用训练序列和Lloyd算法,对一个正弦信号数据进行标量化。
要求在实验报告中得到:
1)MATLAB程序;2)仿真结果用训练数据优化DPCM方法,对一个余弦信号数据进行标量化。
要求在实验报告中得到:
1)MATLAB程序;2)仿真结果用训练序列和Lloyd算法,对一个正弦信号数据进行标量化。
N=23;t=0:
100*pi/20;u=cos(t);p,c=Lloyds(u,N);index,quant,distor=quantiz(u,p,c);plot(t,u,t,quant,*);用训练数据优化DPCM方法,对一个余弦信号数据进行标量化。
N=23;t=0:
100*pi/20;u=cos(t);predictor,codebook,partition=dpcmopt(u,1,N);index,quant=dpcmenco(u,codebook,partition,predictor);sig,equant=dpcmdeco(index,codebook,predictor);plot(t,u,t,equant,*);2、利用MATLAB实现以下两种上信源编译码方法霍夫曼编码费诺编码香农编码要求在实验报告中得到:
1)MATLAB程序;2)仿真结果霍夫曼编码1、熵子程序functionh=entropy(p)%H=ENTROPY(P)returnstheentropyfunctionof%theprobabilityvectorp.iflength(find(p10e-10,error(Notaprob.vector,componentsdonotaddupto1)endh=sum(-p.*log2(p);2、哈夫曼编码程序functionh,l=huffman(p);%HUFFMANHuffmancodegenerator%h,l=huffman(p),Huffmancodegenerator%returnshtheHuffmancodematrix,andlthe%averagecodewordlengthforasourcewith%probabilityvectorp.iflength(find(p10e-10,error(Notaprob.vector,componentsdonotaddupto1)endn=length(p);q=p;m=zeros(n-1,n);fori=1:
n-1q,l=sort(q);m(i,:
)=l(1:
n-i+1),zeros(1,i-1);q=q
(1)+q
(2),q(3:
n),1;endfori=1:
n-1c(i,:
)=blanks(n*n);endc(n-1,n)=0;c(n-1,2*n)=1;fori=2:
n-1c(n-i,1:
n-1)=c(n-i+1,n*(find(m(n-i+1,:
)=1).-(n-2):
n*(find(m(n-i+1,:
)=1);c(n-i,n)=0;c(n-i,n+1:
2*n-1)=c(n-i,1:
n-1);c(n-i,2*n)=1;forj=1:
i-1c(n-i,(j+1)*n+1:
(j+2)*n)=c(n-i+1,.n*(find(m(n-i+1,:
)=j+1)-1)+1:
n*find(m(n-i+1,:
)=j+1);endendfori=1:
nh(i,1:
n)=c(1,n*(find(m(1,:
)=i)-1)+1:
find(m(1,:
)=i)*n);l1(i)=length(find(abs(h(i,:
)=32);endl=sum(p.*l1);3、实验命令a=.2.15.13.12.1.09.08.07.06;b,c=huffman(a);d=entropy(a)费诺编码1、费诺编码程序functionc=fano(p)%p=0.250.250.200.150.100.05%c=fano(p)n=size(p,2);%已经编码完成ifn=1c=cell(1,1);c1=;returnendp,index=sort(p);%按概率排序p=fliplr(p);total=sum(p);%总概率acc=0;%累积概率flag=0;%是否到达尾部的标志fori=1:
n-1newacc=acc+p(i);ifabs(total-2*newacc)=abs(total-2*acc)flag=1;break;endacc=newacc;endifflagi=n;endsplit=i;%从分界点对两边的码递归做fanoc1=fano(p(1:
split-1);c2=fano(p(split:
n);c=cell(1,n);%添加前缀0,1fori=1:
split-1ci=strcat(0,c1i);endfori=split:
nci=strcat(1,c2i-split+1);end%将顺序调整回去c=fliplr(c);c(index)=c;2、实验命令a=.2.15.13.12.1.09.09.07.06;t=fano(a)香农编码1、香农编码程序functionc=shannon(p)%p=0.250.250.200.150.100.05%shannon(p)p,index=sort(p);p=fliplr(p);%从大到小n=length(p);pa=0;%累加概率fori=2:
npa(i)=pa(i-1)+p(i-1);endk=ceil(-log2(p);%码长计算c=cell(1,n);%生成元胞数组,存码字,是cell,跟上一行不一样fori=1:
nci=;tmp=pa(i);forj=1:
k(i)tmp=tmp*2;iftmp=1tmp=tmp-1;ci(j)=1;elseci(j)=0;endendend%p%pa%交换回原来的顺序c=fliplr(c);c(index)=c;2、实验命令a=.2.15.13.12.1.09.08.07.06;b=shannon(a);六、思考题1、信源编码的目的?
信源编码的目的是压缩冗余度,提高信息的传输速率。
七、实验报告1、实验报告中应具备实验中每一步骤实现的程序或过程,以及实验结果;应对实验结果进行误差分析。
(4)根据评价的目的、要求和评价对象的特点、工艺、功能或活动分布,选择科学、合理、适用的定性、定量评价方法对危险、有害因素导致事故发生的可能性及其严重程度进行评价。
2、回答思考题。
1)按类型分。
环境标准按类型分为环境质量标准、污染物排放标准(或控制标准)、环境基础标准、环境检测方法标准、环境标准样品标准。
D.可能造成轻度环境影响、不需要进行环境影响评价的建设项目,应当填报环境影响登记表3.建设项目环境影响评价文件的审查要求1)地方环境标准是对国家环境标准的补充和完善。
在执行上,地方环境标准优先于国家环境标准。
中华人民共和国环境保护法和其他相关法律还规定:
“建设项目防治污染的设施,必须与主体工程同时设计,同时施工,同时投产使用(简称“三同时”)。
防治污染的设施必须经原审批环境影响报告书的环境保护行政部门验收合格后,该建设项目方可投入生产或者使用。
”“三同时”制度和建设项目竣工环境保护验收是对环境影响评价的延续,从广义上讲,也属于环境影响评价范畴。
C.环境影响报告书
(一)环境影响评价的概念(4)预防或者减轻不良环境影响的对策和措施的合理性和有效性;(3)生产、储存烟花爆竹的建设项目;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息论与编码技术 整理 信息论 编码 技术 实验 教案