信息论与编码实验指导书

合集下载

信息理论与编码实验指导书

信息理论与编码实验指导书

《信息理论与编码》实验指导书武汉理工大学教材中心2009年7月实验一绘制二进熵函数曲线一、实验目的1.熟悉Matlab 工作环境及工具箱;2.掌握Matlab 绘图函数;3.理解熵函数表达式及其性质。

二、实验内容实验内容与要求内容:用Matlab 软件绘制二进熵函数曲线。

要求:1. 提前预习实验,认真阅读教材及相应的参考书,熟悉实验原理;2. 遵守实验室规定,实验过程中服从实验室管理人员和实验指导老师的管理;3. 独立完成实验,认真做好实验记录;4. 实验结束后,认真填写实验报告。

知识要点1. 信源熵的概念及其性质。

参照教材及参考书。

2. 二进熵公式:注意:虽然理论上定义0 ·log0 = 0 ,但是,在实际运算时,对数函数logx 的变量x 不能取0 值,而应设置一个系统默认的最小值eps 。

三、实验总结1、绘制二进熵函数曲线,观察曲线形状。

2、结合熵函数的性质,分析二进熵函数曲线的特点。

四、思考与提高1、绘制三元熵函数曲线,观察曲线形状。

2、结合熵函数的性质,分析三元熵函数曲线的特点。

p=0.00001:0.00001:0.99999;h=-p.*log2(p)-(1-p).*log(1-p);plot(p,h);title('二进熵函数曲线');ylabel('H(p,1-p)');p=linspace(eps,1-eps,100);q=linspace(eps,1-eps,100);[P,Q]=meshgrid(p,q);P_Q=P+Q;for n=1:100for m=1:100if P_Q(n,m)>=1Q(n,m)=nan;endendendH=-P.*log2(P)-Q.*log2(Q)-(1-P-Q).*log2(1-P-Q);mesh(P,Q,H);title('三维熵函数图像');实验二一般信道容量迭代算法一、实验目的1、熟悉Matlab 工作环境及工具箱;2、掌握一般信道容量迭代算法的原理。

信息论实验2

信息论实验2

《信息论与编码》实验2 香农编码规则及其软件实现一、实验目的1、通过上机实践,实现常用的信源编码方案,以加深对编码理论的理解,促进对本课程所学知识的理解和把握。

2、通过信源编译码,理解香农第一定理3、通过信源编译码,掌握信源编码的方法和手段二、实验原理信源编码主要可分为无失真信源编码和限失真信源编码。

无失真信源编码主要适用于离散信源或数字信号,如文本、表格及工程图纸等信源,它们要求进行无失真地数据压缩,要求完全能够无失真地可逆恢复。

凡是能载荷一定的信息量,且码字的平均长度最短,可分离的变长码的码字集合都可称为最佳码。

为此必须将概率大的信息符号编以短的码字,概率小的符号编以长的码字,使得平均码字长度最短。

其中香农编码是能获得最佳码的编码方法之一。

香农第一定理指出,选择每个码字的长度i K 满足下式I(i x )≤i K <I(i x )+1 ,i ∀就可以得到这种码。

这种编码方法称为香农编码。

香农编码步骤:设离散无记忆信源二进制香农码的编码步骤如下:(1)将信源符号按概率从大到小的顺序排列,为方便起见,令p (x 1)≥ p (x 2)≥…≥ p (xn )(2)令p (x 0)=0,用)(j a x P ,j =i +1表示第i 个码字的累加概率,则:n j x P x P j i i j a ,...,2,1,)()(10==∑-=12112,,,,,,()1(),(),,(),,()()n i n ii i n x x x x X p x p x p x p x p x P X =⎧⎫⎡⎤==⎨⎬⎢⎥⎣⎦⎩⎭∑(3)确定满足下列不等式的整数i K ,并令i K 为第i 个码字的长度-log2 p (xn )≤i K <- log2 p (xn )+1(4)将)(j a x P 用二进制表示,并取小数点后i K 位作为符号xi 的编码。

三、实验内容1)充分掌握信源编码方案之一的香农编码算法设计;2)以教材例题为算例,将该编码方法用代码实现。

信息论与编码实验指导书

信息论与编码实验指导书

信息理论与编码实验教学指导书(试用教材)电子信息工程系2019年4月实验1.1 汉明码的编译码实验板实验一、实验目的1. 学习汉明码编译码的基本概念; 2. 掌握汉明码的编译码方法; 3. 验证汉明码的纠错能力。

二、实验仪器1. RZ9681实验平台 2. 实验模块: ● 主控模块● 信道编码与频带调制模块-A4 ● 频带解调与信道译码模块-A5 3. 100M 双通道示波器 4. 信号连接线 5. PC 机(二次开发)三、实验原理3.1汉明编译码介绍汉明码(Hamming Code )是一个可以有多个校验位,具有检测并纠正一位错误代码的纠错码,所以它也仅用于信道特性比较好的环境中,如以太局域网中,因为如果信道特性不好的情况下,出现的错误通常不是一位。

汉明码的检错、纠错基本思想是将有效信息按某种规律分成若干组,每组安排一个校验位进行奇偶性测试,然后产生多位检测信息,并从中得出具体的出错位置,最后通过对错误位取反(也是原来是1就变成0,原来是0就变成1)来将其纠正。

3.2汉明编译码原理汉明码编码采用()4,7汉明码,信息位数4=k ,监督位数3=-=k n r ,可以纠一位错码,生成矩阵⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=1101000101010001100101110001G ,编码情况见表 1。

表 1()4,7 Hamming 编码表汉明码译码计算校正子[]321,,S S S S =,其中24561a a a a S ⊕⊕⊕= 13562a a a a S ⊕⊕⊕= 03463a a a a S ⊕⊕⊕=校正子S 的值决定了接收码元中是否有错码,并且指出错码的位置,见表2。

表2 错码位置示意3.3 举例说明信息位10013456=a a a a ,根据表 1()4,7 Hamming 编码表,编码为1001100,如果在信道传输的过程中产生一位误码,编码接收时变为1101100,我们计算校正子:124561=⊕⊕⊕=a a a a S 113562=⊕⊕⊕=a a a a S 003463=⊕⊕⊕=a a a a S校正子110=S ,查找表2 错码位置示意,5a 产生误码,则译码输出信息位1001。

信息论与编码实验一离散信源信息量的计算

信息论与编码实验一离散信源信息量的计算

信息论与编码实验一离散信源信息量的计算【实用版】目录一、信息论与编码实验一概述二、离散信源的定义与分类三、离散信源信息量的计算方法四、实验过程及结果分析五、总结正文一、信息论与编码实验一概述信息论与编码实验一是一门关于信息论的基本概念和方法的实验课程。

信息论是研究信息传输、存储、处理和控制的科学,其目的是为了提高通信系统的效率和可靠性。

实验一的主要目的是让学生了解离散信源的定义、性质和计算方法,并掌握如何使用 Matlab 软件进行离散信源信息量的计算。

二、离散信源的定义与分类离散信源是指其输出信号为离散信号的信源,常见的离散信源有伯努利信源、马尔可夫信源等。

根据信源的性质和特点,离散信源可以分为离散无记忆信源和离散有记忆信源。

离散无记忆信源是指信源的输出信号只与当前输入信号有关,而与过去的输入信号无关;离散有记忆信源是指信源的输出信号与过去的输入信号有关。

三、离散信源信息量的计算方法离散信源的信息量是指信源输出的符号所包含的信息量,通常用比特(bit)来表示。

离散信源的信息量的计算方法主要有两种:一种是基于概率的计算方法,另一种是基于熵的计算方法。

基于概率的计算方法是通过计算信源输出符号的概率来计算信息量;基于熵的计算方法是通过计算信源的熵来计算信息量。

熵是信息论中用于度量信息量的一个重要概念,它表示信息的不确定性。

四、实验过程及结果分析在实验过程中,学生需要首先了解离散信源的定义和性质,然后通过Matlab 软件计算离散信源的熵,并根据熵的计算结果分析信源的信息量。

在实验中,学生需要编写 Matlab 程序,计算离散信源的熵,并绘制熵的图像。

通过实验,学生可以加深对离散信源的理解和掌握离散信源信息量的计算方法。

五、总结信息论与编码实验一是一门关于信息论的基本概念和方法的实验课程。

通过实验,学生可以了解离散信源的定义和性质,掌握离散信源信息量的计算方法,并熟练使用 Matlab 软件进行离散信源信息量的计算。

息论与编码》上机实验指导书

息论与编码》上机实验指导书

北京信息科技大学《信息论与编码》实验指导书李红莲编光电信息与通信工程学院二〇一〇年八月目录实验一信息熵、信道容量的计算............................ . (3)一、实验目的 (3)二、实验内容 (3)三、实验原理............................................................. (3)四、实验方法与实验步骤 (3)五、思考题 (3)六、实验报告要求 (3)实验二霍夫曼编码、率失真函数的计算 (4)一、实验目的 (4)二、实验内容 (4)三、实验原理............................................................. (4)四、实验方法与实验步骤 (4)五、思考题 (4)六、实验报告要求 (4)实验一:信息熵、信道容量的计算实验项目:信息熵、信道容量的计算实验项目性质:验证性实验课程:《信息论与编码》计划学时:4学时一、实验目的掌握使用计算机计算信息熵、信道容量的方法。

二、实验内容利用matlab语言编程实现信息熵、信道容量的计算。

三、实验原理1.参照教材(焦瑞莉等编著《信息论基础教程》)第14页式(2-16)理解信息熵的定义2.参照教材(焦瑞莉等编著《信息论基础教程》)第68页式(3-15)理解信道容量的定义四、实验方法与实验步骤(一)参照教材第215页信源熵程序建立文件entropy.m(二)建立文件exercise2_3_1.m通过调用entropy.m计算教材第59页练习2.3(1)(参考答案:0.8113比特)(三)参照教材第215页离散无记忆信道容量的迭代计算程序建立文件channelcap.m(四)建立文件exercise3_2_b.m通过调用channelcap.m计算教材第92页练习3.2(b)(参考答案:0.0817比特)五、思考题使用计算机编程进行信道容量的迭代计算是否肯定收敛,即是否一定能得出近似正确结果?六、实验报告要求(1)简述实验目的、实验原理和实验任务;(2)列出源程序代码;(3)给出计算结果(4)收获与体会。

信息与编码理论实验指导书

信息与编码理论实验指导书

实验一 信道容量的迭代算法一、 实验目的1、掌握信道容量的概念。

2、了解迭代法计算信道容量的流程。

3、熟悉Matlab 程序的设计和调试方法。

二、 实验要求1、学习Matlab 软件编程和调试方法;2、输入:任意一个信道转移概率矩阵。

包括信源符号个数、信宿符号个数、信道转移概率,在程序运行时从键盘输入;3、输出:输入的信道矩阵、信道容量C 。

三、 算法描述1. 初始化信源分布),,,,,(21)0(r i p p p p p ⋅⋅⋅⋅⋅⋅= (一般初始化为均匀分布),置迭代计数器0=k ,设信道容量相对误差门限为,0,>δδ可设-∞=)0(C ; 2. r i p pp p i k i ij k i ij k ji ,,2,1)()()(⋅⋅⋅==∑ϕ;s j ,,1⋅⋅⋅= 3. r i p p p i j k ji ij j k ji ij k i ,,1ln exp ln exp )()()1(⋅⋅⋅=⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=∑∑∑+ϕϕ 4. ⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧⎥⎦⎤⎢⎣⎡=∑∑+i j k ji ij k p C )()1(ln exp ln ϕ 5. 如果,)1()()1(δ≤-++k k k C C C 转向76. 置迭代序号k k →+1,转向27. 输出)1(+k i p 和)1(+k C 的结果8. 停止四、 实验报告内容1、画出信道容量迭代算法流程图;2、给出实验结果的截图(输入信道矩阵和信道容量计算结果);3、对各种情况的实验结果进行分析和检验。

附:实验用Matlab 源程序。

(如果使用了非给定源程序)实验报告提交:电子文档(邮箱:yangxiaoping2004@ )实验过程:结果出来时,请实验老师检查并做记录(1个结果即可)。

实验二 唯一可译码判决准则一、 实验目的1、了解唯一可译码的概念。

2、掌握唯一可译码判决准则。

3、掌握Matlab 程序调试方法。

信息论实验指导书

信息论实验指导书

信息理论与编码实验指导书电子与电气工程学院罗晓琴编实验要求1、实验前认真阅读实验指导书的内容,并完成预习任务。

2、复习Matlab的相关知识,完成仿真。

3、要熟悉本次实验的任务。

4、实验过程中要认真记录实验结果,仿真结果需经指导教师审阅。

5、实验后每位同学要独立完成实验报告的内容。

目录实验一离散信源的自信息量和熵 (3)实验二最大离散熵定理 (6)实验三费诺编码 (9)实验四霍夫曼编码 (13)实验五香农编码 (16)实验一:计算离散信源的自信息量和熵一、实验目的1、熟悉离散信源的特点。

2、学习Matlab仿真离散信源的方法。

3、学习离散信源自信息量和信源熵的计算方法。

4、熟悉 Matlab 编程。

二、实验设备1、计算机2、软件:Matlab三、实验原理本实验主要完成信源概率分布的自信息量以及信源熵的计算。

计算公式如下:一个字符它所携带的信息量是和该字符出现的概率有关,概率可以表征自信息量的大小自信息的计算公式为:21()l o g aI a p 自信息量有两个含义:第一、当事件发生前,表示该事件发生的不确定性;第二、当事件发生后,标是该事件所提供的信息量.自信息量的单位取决于对数所取的底,若以2为底,单位为比特,以e 为底,单位为奈特,以10为底,单位为哈特。

在通信系统中,通常取比特为单位,底数2略去不写。

由于自信息I(a)是一个随机变量,不能用来表征整个信源的不确定度。

所以我们用平均自信息量来表征整个信源的不确定度。

平均自信息量就是信源输出所有消息的自信息的数学期望,又称为信息熵、信源熵,简称熵。

熵(平均自信息)的计算公式为:22111()log log qq i i i i i i H x p p p p ====-∑∑ 信息熵H (x )是对信源的平均不确定性的描述。

它从平均意义上来表征信源的总体信息测度。

对于某特定的信源,其信息熵是一个确定的数值。

信息熵具有如下三种物理意义。

第一,信息熵H (x )是表示信源输出后,每个消息或符号所提供的平均信息量。

信息论与编码实验指导书

信息论与编码实验指导书

信息论与编码实验指导书1 课程实验目的本课程是一门实践性很强的专业课和核心课程,根据课程理论教学的需要安排了6学时的配套实验教学,主要内容涉及信息度量的计算方法、典型信源编码方法、典型信道容量计算方法和数据压缩方法四个实验,这四个实验的开设一方面有助于学生消化、巩固课程理论教学的知识,另一方面又可培养学生实践动手能力,同时为后续课程做好准备。

2 课程实验要求2.1 课程实验准备要求(1)课程实验主要为设计性实验,要求学生熟悉掌握在VC环境下编写和调试C++程序的方法。

(2)要求学生在实验前复习实验所用到的预备知识。

可以查阅教材或者相关的参考资料,这需要学生有自主的学习意识和整理知识的能力。

(3)根据实验项目,设计相关的数据结构和算法,再转换为对应的书面程序,并进行静态检查,尽量减少语法错误和逻辑错误。

上机前的充分准备能高效利用机时,在有限的时间内完成更多的实验内容。

2.2 课程实验过程要求(1)生成源代码。

将课前编写好的书面代码,利用VC自带的编辑器尽快输入为转换为源代码;(2)程序调试和软件测试。

要求学生熟练掌握调试工具,调试正确后,认真整理源程序和注释,给出带有完整注释且格式良好的源程序清单和结果。

(3)完成实验报告。

根据实验内容和完成情况,按照附件1给定的格式完成课程实验报告的编写。

2.3 课程实验报告要求在每次课程实验后要及时进行总结和整理,并编写课程实验报告。

报告格式按江西蓝天学院实验报告纸格式填写。

实验一二维随机变量信息熵的计算[实验目的]掌握二变量多种信息量的计算方法。

[实验学时]2学时[实验准备]1.熟悉二变量多种信息量的计算方法,设计实验的数据结构和算法;2.编写计算二维随机变量信息量的书面程序代码。

[实验内容及步骤]离散二维随机变换熵的计算说明:(1)利用random函数和归一化方法构造一个二维离散随机变量(X,Y);(2)分别计算X与Y的熵、联合熵、条件熵:H(X)、H(Y)、H(X,Y)H(X|Y)、I(X|Y);(3)对测试通过的程序进行规范和优化;(4)编写本次实验的实验报告。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《信息论与编码》实验指导书信息与通信工程学院信息工程系2014年6月目录实验一绘制信源熵函数曲线 (3)实验二哈夫曼编解码 (6)实验三离散信道容量 (10)1实验一绘制信源熵函数曲线一、实验目的1.掌握离散信源熵的原理和计算方法。

2.熟悉matlab软件的基本操作,练习应用matlab软件进行信源熵函数曲线的绘制。

3.理解信源熵的物理意义,并能从信源熵函数曲线图上进行解释其物理意义。

二、实验原理1.离散信源相关的基本概念、原理和计算公式产生离散信息的信源称为离散信源。

离散信源只能产生有限种符号。

假定X是一个离散随机变量,即它的取值范围R={x1,x2,x3,…}是有限或可数的。

设第i个变量x i发生的概率为p i=P{X=x i}。

则:定义一个随机事件的自信息量I(x i)为其对应的随机变量x i出现概率对数的负值。

即:I(x i)= -log2p(x i)定义随机事件X的平均不确定度H(X)为离散随机变量x i出现概率的数学期望,即:∑∑-==i ii ii ixpxpxIxpXH)(log)()()()(2单位为比特/符号或比特/符号序列。

平均不确定度H(X)的定义公式与热力学中熵的表示形式相同,所以又把平均不确定度H(X)称为信源X的信源熵。

必须注意一下几点:a)某一信源,不管它是否输出符号,只有这些符号具有某些概率特性,必有信源的熵值;这熵值是在总体平均上才有意义,因而是个确定值,一般写成H(X),X是指随机变量的整体(包括概率分布)。

b)信息量则只有当信源输出符号而被接收者收到后,才有意义,这就是给与信息者的信息度量,这值本身也可以是随机量,也可以与接收者的情况有关。

c) 熵是在平均意义上来表征信源的总体特征的,信源熵是表征信源的平均不确定度,平均自信息量是消除信源不确定度时所需要的信息的量度,即收到一个信源符号,全部解除了这个符号的不确定度。

或者说获得这么大的信息量后,信源不确定度就被消除了。

信源熵和平均自信息量两者在数值上相等,但含义不同。

d) 当某一符号x i 的概率p (x i )为零时,p (x i )log p (x i ) 在熵公式中无意义,为此规定这时的 p (x i )log p (x i ) 也为零。

当信源X 中只含有一个符号x 时,必有p (x )=1,此时信源熵H (X )为零。

例1-1,设信源符号集X ={0,1},每个符号发生的概率分别为p (0)=p ,p (1)=q ,p+ q =1,即信源的概率空间为⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡ 1 0q p P X 则该二元信源的信源熵为:H (X ) = - p log p – q log q = - p log p – (1- p ) log (1- p) 即:H (p) = - p log p – (1- p ) log (1- p) 其中0 ≤ p ≤1P =0时,H (0) = 0 P =1时,H (1) = 02. MATLAB 二维绘图例对函数y = f (x )进行绘图,则用matlab 中的命令plot(x , y )就可以自动绘制出二维图来。

如果打开过图形窗口,则在最近打开的图形窗口上绘制此图;如果未打开图形窗口,则开一个新的图形窗口绘图。

例1-2,在matlab 上绘制余弦曲线图,y = cos x ,其中0 ≤ x ≤ 2π。

>>x =0:0.1:2*pi ; %生成横坐标向量,使其为0,0.1,0.2,…,6.2 >>y =cos(x ); %计算余弦向量 >>plot(x ,y ) %绘制图形三、实验内容用matlab 软件绘制二源信源熵函数曲线。

根据曲线说明信源熵的物理意义。

四、实验要求1. 提前预习实验,认真阅读实验原理以及相应的参考书。

2. 认真高效的完成实验,实验中服从实验室管理人员以及实验指导老师的管理。

3. 认真填写实验报告。

五、实验结果:1、程序如下:p=0:0.001:1;h=-p.*log2(p)-(1-p).*log2(1-p); h(1)=0; h(end)=0; plot(p,h) xlabel('概率p'); ylabel('信道容量'); 2、图形如下:0.10.20.30.40.50.60.70.80.91概率p信道容量3、信源熵的物理意义:熵是在平均意义上来表征信源的总体特性的,可以表征信源的平均不确定。

2实验二哈夫曼编码一、实验目的1.掌握哈夫曼编码的原理及编码步骤2.练习matlab中哈夫曼编码函数的调用及通信工具箱的使用二、实验原理通信的根本问题是如何将信源输出的信息在接收端的信宿精确或近似的复制出来。

为了有效地复制信号,就通过对信源进行编码,使通信系统与信源的统计特性相匹配。

若接收端要求无失真地精确地复制信源输出的信息,这样的信源编码即为无失真编码。

即使对于一个小的时间段内,连续信源输出的信息量也可以是无限大的,所以对其是无法实现无失真编码的;而离散信源输出的信息量却可以看成是有限的,所以只有离散信源才可能实现无失真编码。

凡是能载荷一定的信息量,且码字的平均长度最短,可分离的变长码的码字集合都可以称为最佳码。

为此必须将概率大的信息符号编以短的码字,概率小的符号编以长的码字,使得平均码字长度最短。

变字长编码的最佳编码定理:在变字长码中,对于概率大的信息符号编以短字长的码;对于概率小的信息符号编以长字长的码。

如果码字长度严格按照符号概率的大小顺序排列,则平均码字长度一定小于俺任何顺序排列方式得到的码字长度。

哈夫曼编码就是利用了这个定理,讲等长分组的信源符号,根据其概率分布采用不等长编码。

概率大的分组,使用短的码字编码;概率小的分组,使用长的码字编码。

哈夫曼编码把信源按概率大小顺序排列,并设法按逆次序分配码字的长度。

在分配码字的长度时,首先将出现概率最小的两个符号相加,合成一个概率;第二步把这个合成的概率看成是一个新组合符号的概率,重复上述做法,直到最后只剩下两个符号的概率为止。

完成以上概率相加顺序排列后,再反过来逐步向前进行编码。

每一步有两个分支,各赋予一个二进制码,可以对概率大的编为0码,概率小的编为1码。

反之亦然。

哈夫曼编码的具体步骤归纳如下:1.统计n个信源消息符号,得到n个不同概率的信息符号。

2. 将这n 个信源信息符号按其概率大小依次排序:p (x 1) ≥ p (x 2)≥ …≥ p (x n )3. 取两个概率最小的信息符号分别配以0和1两个码元,并将这两个概率相加作为一个新的信息符号的概率,和未分配的信息符号构成新的信息符号序列。

4. 将剩余的信息符号,按概率大小重新进行排序。

5. 重复步骤3,将排序后的最后两个小概论相加,相加和与其他概率再排序。

6. 如此反复重复n-2次,最后只剩下两个概率。

7. 从最后一级开始,向前返回得到各个信源符号所对应的码元序列,即相应的码字,构成霍夫曼编码字。

编码结束。

哈夫曼编码产生最佳整数前缀码,即没有一个码字是另一个码字的前缀,因此哈夫曼编码是唯一码。

编码之后,哈夫曼编码的平均码长为:1()niii K p x K==∑哈夫曼编码的效率为:()=H x Kη=信源熵平均码长其编码过程如下所示:该哈夫曼码的平均码长为编码效率为:三、实验内容为某一信源进行哈夫曼编码。

该信源的字符集为X={x 1, x 2, … x 6 },相应的概率矢量为:P =(0.30,0.25,0.21,0.10,0.09,0.05),即X ,P 的概率空间为:123456 0.300.250.210.100.090.05X x x x x x x P ⎡⎤⎡⎤=⎢⎥⎢⎥⎣⎦⎣⎦根据哈夫曼编码算法对该信源进行哈夫曼编码。

并计算其平均码长和编码效率。

调用matlab 哈夫曼编码函数进行哈夫曼编码,与人工编码结果做比较。

1. huffmandict 函数: 为已知概率分布的信源模型生成哈夫曼编解码索引表。

调用方法如下:[dict ,avglen] = Huffman (symbols, p) [dict ,avglen] = huffmandict (symbols, p, N) [dict ,avglen] = huffmandict (symbols, p, N, variance)71() 2.72i i i K p x K ===∑码元/符号() 2.610.9596/2.72H X K η===比特码元四、实验要求1.提前预习实验,认真阅读实验原理以及相应的参考书。

2.认真高效的完成实验,实验中服从实验室管理人员以及实验指导老师的管理。

3.认真填写实验报告。

五、实验结果:1、程序如下:clc;symbols=1:6;p=[0.30,0.25,0.21,0.10,0.09,0.05];[dict,avglen] = huffmandict (symbols,p);H=0;for i=1:length(symbols)H=H-p(i).*log2(p(i));end;R=H./avglen;dictavglenR2、结果如下:dict =[1] [1x2 double][2] [1x2 double][3] [1x2 double][4] [1x3 double][5] [1x4 double][6] [1x4 double]avglen =2.3800R = 0.98943实验三 离散信道容量一、实验目的1. 掌握离散信道容量的计算。

2. 理解离散信道容量的物理意义。

3. 练习应用matlab 软件进行二元对称离散信道容量的函数曲线的绘制,并从曲线上理解其物理意义。

二、实验原理信道是传送信息的载体—信号所通过的通道。

信息是抽象的,而信道则是具体的。

比如二人对话,二人间的空气就是信道;打电话,电话线就是信道;看电视,听收音机,收、发间的空间就是信道。

研究信道的目的:在通信系统中研究信道,主要是为了描述、度量、分析不同类型信道,计算其容量,即极限传输能力,并分析其特性。

二元对称信道BSC (Binary Symmetric Channel )二进制离散信道模型有一个允许输入值的集合X={0,1}和可能输出值的集合Y={0,1},以及一组表示输入和输出关系的条件概率(转移概率)组成。

如果信道噪声和其他干扰导致传输的二进序列发生统计独立的差错,且条件概率对称,即(0/1)(1/0)(1/1)(0/0)1p Y X p Y X pp Y X p Y X p ======⎧⎨======-⎩这种对称的二进制输入、二进制输出信道称做二元对称信道(或二进制对称信道,简称BSC 信道),如下图所示:信道容量公式:{()}max p x C I(X,Y)=三、实验内容BSC 信道是DMC 信道对称信道的特例,对于转移概率为P(0/1)=P(1/0)=p ,P(0/0)=P(1/01)=1-p ,求出其信道容量公式,并在matlab 上绘制信道容量C 与p 的曲线。

相关文档
最新文档