1实验报告课程名称: 信息论与编码姓 名: 系: 专 业: 年 级: 学 号: 指导教师: 职 称: 年 月 日2实验四 信道容量的迭代算法一、 实验目的1、进一步熟悉信道容量的迭代算法;2、学习如何将复杂的公式转化为程序;3、熟悉程序设计语言的数值计算程序和调试技术。二、实验原理(1)初始化信源分
信息论与编码实验报告三Tag内容描述:
1、道容量相对误差门限为 , 0,可设;(2) siikjikji ,)()( (3) riPPijkjiijkjiiki ,21lnexpl)()()1( (4) i kjijikC)()1( lln(5)如果 ,转向 (7);)1(k(6)置迭代序号 ,转向 (2);(7)输出 和 的结果;)1(kiP)1(kC(8)停止。
三、实验内容1、已知:信源符号个数 r、新宿符号个数 s、信道转移概率矩阵 P;2、输入:任意的一个信道转移概率矩阵,信源符号个数、信宿符号个数和每一个具体的转移概率在运行时从键盘输入;3、 输出:最佳信源分布 P*,信道容量 C。
四、实验环境Microsoft Windows 7、Matlab 6.5五、编码程序3aa.m 文件:clear;r=input(输入信源个数:);s=input(输入信宿个数:);deta=input(输入信道容量的精度: );Q=rand(r,s); %创建m*n随机分布矩阵A=sum(Q,2);B=repma。
2、信道译码器来发现或纠正可能存在的错码。
在信息码元序列中加入监督码元就称为差错控制编码,有时也称为纠错编码。
不同的编码方法有不同的检错或纠错能力。
有的编码就只能检错不能纠错。
汉明码是一种能够纠正一位错码且编码效率较高的线性分组码。
汉明码是一种多重(复式)奇偶检错系统。
它将信息用逻辑形式编码,以便能够检错和纠错。
用在汉明码中的全部传输码字是由原来的信息和附加的奇偶监督位组成的。
每一个这种奇偶位被编在传输码字的特定比特位置上。
推导并使用长度为 m 位的码字的汉明码,所需步骤如下: 1、确定最小的监督位数 k,将它们记成 D1、D2、 Dk,每个监督位符合不同的奇偶测试规定。
2、原有信息和 k 个监督位一起编成长为 m+k 位的新码字。
选择 k 监督位(0 或 1)以满足必要的奇偶条件。
3、对所接收的信息作所需的 k 个奇偶检查。
4、如果所有的奇偶检查结果均为正确的,则认为信息无错误。
如果发现有一个或多个错了,则错误的位由这些检查的结果来唯一地确定。
2、算法描述一个二元(7,4 )汉明码的系统码形式的矩阵和校验矩阵分别为1 0 0 0 1 0 1 1 1 1 0 1 0 0。
3、pp2、在分配码字长度时,首先将出现概率 最小的两个符号的概率相加合成一个概率;3、把这个合成概率看成是一个新组合符号地概率,重复上述做法直到最后只剩下两个符号概率为止; 4、完成以上概率顺序排列后,再反过来逐步向前进行编码,每一次有二个分支各赋予一个二进制码,可以对概率大的赋为零,概率小的赋为1;5、从最后一级开始,向前返回得到各个信源符号所对应的码元序列,即相应的码字。
三、实验设备介绍1、计算机2、编程软件MATLAB6.5以上 四、实验内容和步骤对如下信源进行哈夫曼编码,并计算编码效率。
1234567090.8170.1.0XaaaP (1)计算该信源的信源熵,并对信源概率进行排序(2)首先将出现概率最小的两个符号的概率相加合成一个概率,把这个合成概率与其他的概率进行组合,得到一个新的概率组合,重复上述做法,直到只剩下两个概率为2止。
之后再反过来逐步向前进行编码,每一次有两个分支各赋予一个二进制码。
对大的概率赋“1” ,小的概率赋“0” 。
(3)从最后一级开始,向前返回得到各个信源符号所对应的码元序列,即相应的码字。
(4)计算码字的平均码长得出最后的编。
4、nction W,L,q=shannon(p) if (length(find(p10e-10) error(Not a prob.vector,component do not add up to 1); end n=length(p); x=1:n;p,x=array(p,x);% 1)排序l=ceil(-log2(p); % 2)计算代码组长度 lP(1)=0;n=length(p);%3)计算累加概率 Pfor i=2:n P(i)=P(i-1)+p(i-1); endfor i=1:n % 4)求得二进制代码组 Wfor j=1:l(i)temp(i,j)=floor(P(i)*2); P(i)=P(i)*2-temp(i,j); endendfor i=1:nfor j=1:l(i)成绩if (temp(i,j)=0); W(i,j)=48; else W(i,j)=49; endendendL=sum(p.*l); % 计算平均码字长度 H=entropy(p,2); % 计算信源熵 q=H/L; % 计算编码效率for i=1:。
5、 哈尔滨理工大学荣成学院 信息论与编码实验报告 费诺编码 班级 电信12 1班 姓名 李 赛 学号 1230160109 日期 2015 6 17 费诺编码 C语言代码 includestdio h includemath h include string h static char p 20 20 void Fano int m int n float y 20 main int i j fla。
6、函数产生随机离散信源概率空间的方法;(2)计算随机离散信源的各种信息量:H(X)、H(XY)、H(Y);2 数据结构与算法描述变量/函数名 类 型 说 明srand() 生成随机随机数bij double 联合概率矩阵PX3 double 声明 x 的概率矩阵PY4 double 声明 y 的概率矩阵3 实验数据与实验结果(可用文字描述或贴图的方式进行说明)1)测试数据随机生成数据2)实验结果4 程序代码清单(可直接将可运行源代码粘贴在下面的方框中)#include“stdlib.h“#include“stdio.h“#include“time.h“#includeint i,j,k;int sum=0; /*求和,为单位化准备*/int a34; /*单位化前的准备矩阵,由随机数生成*/double b34; /*单位化矩阵*/double c34; /*声明条件矩阵 1*/double d34; /*声明条件矩阵 2*/double PX。
7、可译码/不是唯一可译码);循环(若继续判决则输入 1 循环判决,否则输入 0 结束运行)。
实验原理:根据唯一可译码的判别方法,利用数据结构所学的知识,定义字符串数据类型并利用指针进行编程来实现算法。
算法:1、考察 C 中所有的码字,若 Wi 是 Wj 的前缀,则将对应的后缀作为一个尾随后缀码放入集合 Fi+1 中;2、考察 C 和 Fi 俩个集合,若 Wi C 是 WjF 的前缀或 Wi F 是 WjC 的前缀,则将相应的后缀作为尾随后缀码放入集合 Fi+1 中;3、F=Fi 即为码 C 的尾随后缀集合;4、若 F 中出现了 C 中的元素,算法终止,返回假(C 不是唯一可译码);否则若 F中没有出现新的元素,则返回真。
实验环境及实验文件存档名:1.实验环境:visual C+ 6.0 2.文件名 :weiyikeyi.cpp实验结果及分析:1.源代码:#include #include char c10050; char f30050; int N,sum=0; /N 为输入码字的个数,sum 为尾随后缀集合中码字的个数int flag;/判断是否唯。
8、下实现文件的安全传输。
2、学习了解信息安全传输的原理,并在实验室环境下操作实现文件的安全传输、并思考总结。
二、 数字签名传统的签名在商业和生活中广泛使用,它主要作为身份的证明手段。
在现代的网络活动中,人们希望把签名制度引入到网络商业和网络通信的领域,用以实现身份的证明。
密码学的发展,为数字签名这项技术的实现提供了基础,PKI(公钥基础设施)体系也正是利用数字签名技术来保证信息传输过程中的数据完整性以及提供对信息发送者身份的认证和不可抵赖性。
数字签名的过程如图 10 所示,数字签名的验证过程如图 11 所示。
图 10 数字签名的过程图 11 数字签名的验证过程三、 安全通信要求我们假设一下要进行网络通信的两个终端(A 和 B)所处的环境:终端 A 和终端 B 相距很远,彼此间很难见面(但可以通过 Internet 通信)。
终端 A 有很重要的信息必须要发送给终端 B。
这个过程中,终端 A 不能使用除计算机网络之外其他的通信方式,比如电话,传真等。
安全通信的要求如下:保密要求:终端 A 的信息(明文)要加密通信给终端 B。
认证要求:终端 B 能认证发送人的身份是终端 A,而不是其他人。