信息论与编码实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南大学
信息论编码实验报告
题目信息论编码
学生姓名汤思远
指导教师张祖平
学院信息院
学号 090912052
专业班级电子1班
完成时间 14/12/5
实验一 关于信源熵的实验
一、实验目的
1. 掌握离散信源熵的原理和计算方法。
2. 熟悉matlab 软件的基本操作,练习使用matlab 求解信源的信息熵。
3. 自学图像熵的相关概念,并应用所学知识,使用matlab 或其他开发工具求解图像熵。
4. 掌握Excel 的绘图功能,使用Excel 绘制散点图、直方图。
二、实验原理
1. 离散信源相关的基本概念、原理和计算公式
产生离散信息的信源称为离散信源。离散信源只能产生有限种符号。 随机事件的自信息量I (x i )为其对应的随机变量x i 出现概率对数的负值。即:
I (x i )= -log 2 p (x i )
随机事件X 的平均不确定度(信源熵)H (X )为离散随机变量x i 出现概率的数学期望,即:
∑∑-==i i
i i i i x p x p x I x p X H )(log )()()()(
2. 信源的信息熵
设信源符号集X ={a1,a2,…,ar},每个符号发生的概率分别为p (a1)=p 1,p (a2)=p 2,…,p (ar),即信源的概率空间为
,⎥⎦
⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡)(...... )2(2 )1(1ar p ar a p a a p a P X 则该信源的信源熵为:
H (X ) = - p (a1) log p (a1) –p (a2) log p (a2) –…–p (ar) log p (ar)
3. 信道的数学模型与相关熵的计算
• 单符号离散无噪声无损信道的信道容量 ()max (;)bit/i p x C I X Y =信道符号
4. MATLAB 二维绘图
用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 ) %绘制图形
5. MATLAB 求解离散信源熵
求解信息熵过程:
1) 输入一个离散信源,并检查该信源是否是完备集。
2) 根据H(X)公式,求出离散信源的熵。
{}
12,,,r x X a a a ∈=输入符号集:12{,,,}
s y Y b b b ∈=输出符号集:)
/()();(j i i j i b a I a I b a I -=)
/(1log )(1log j i i b a p a p -=(;)()(;)
()(;)(;)i j i j j i j i j i j i I X Y p a b I a b p b a I b a I Y X ===∑∑∑∑11(|)()log (|)m n
i j i j i j H X Y p x y p x y ===-∑∑211
11(/)()(/)()log (/)
m n m n
i j j i i j j i j i j i H Y X p x y I y x p x y p y x ======-∑∑∑∑
6.图像熵的相关知识
图像熵是一种特征的统计形式,它反映了图像中平均信息量的多少。图像的一维熵表示图像中灰度分布的聚集特征所包含的信息量,令Pi 表示图像中灰度值为i的像素所占的比例,则定义灰度图像的一元灰度熵为:
图像熵计算过程:
1) 输入一幅图像,并将其转换成灰度图像。
2) 统计出图像中每个灰度阶象素概率。
3) 计算出一幅图像的一维熵。
7.Excel的绘图功能
比如:用Excel或制作二元熵函数曲线。具体步骤如下:
1)启动Excel应用程序。
2)准备一组数据p。在Excel的一个工作表的A列(或其它列)输入一组p,取步长为0.01,从0至100产生101个p(利用Excel填充功能)。
3)使用Excel的计算功能,在B列中用二元熵函数计算公式,求得A列中各数值对应的二元熵值。比如:在单元格B2中输入公式:
=-A2*LOG(A2,2)-(1-A2)*LOG(1-A2,2)。
4)使用Excel的图表向导,图表类型选“XY散点图”,子图表类型选“无数据点平滑散点图”,绘制二元熵函数散点图。
三、实验内容
1、使用matlab软件绘制信源熵函数曲线。
输入不少于6个符号的信源及其概率(可以界面交互式输入,也可以以数据文件直接输入);判断是否符合完备概率空间,如否则提示重新输入,如是则计算每个符号的自信量与信源熵(可以直接在界面上显示,也可以存储为一个数据文件);将自信量用线连接,信源熵表示一条直线,即最终图上将显示2条线,分别用不同的颜色与标签标识其自信量或信源熵。
1)实验代码:
x=[1:6]
x1=[1,1,1,1,1,1]
%为了能顺利将H作为直线打印,将H乘上一个序列后打印,不然无法画出p=[0.1 0.1 0.1 0.2 0.2 0.3]
if sum(p)==1
I=-log2(p)
H=sum(-p.*log2(p));
H1=x1*H;
plot(x,H1,x,I,'r')
else
disp('信源空间概率和不为一,请检查并重录');
end
figure
期间难点:如何将Hx做成序列打印成线,如果只是简单的plot(x,H)
无法得出图像
2)实验结果: