信息论与编码实验报告Word下载.docx
《信息论与编码实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《信息论与编码实验报告Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
![信息论与编码实验报告Word下载.docx](https://file1.bdocx.com/fileroot1/2022-12/30/c66c4c1b-3c7d-40f7-a8da-bb16b504780e/c66c4c1b-3c7d-40f7-a8da-bb16b504780e1.gif)
•单符号离散无噪声无损信道的信道容量
4.MATLAB二维绘图
用matlab中的命令plot(x,y)就可以自动绘制出二维图来。
例1-2,在matlab上绘制余弦曲线图,y=cosx,其中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)公式,求出离散信源的熵。
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.10.10.10.20.20.3]
ifsum(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)实验结果:
2、使用matlab软件求解离散单符号信源的熵与信道相关熵。
在信源空间的基础上,再输入转移概率矩阵(可以界面交互式输入,也可以以数据文件直接输入,Y空间不少于5个符号),判断是否符合概率空间特点(每一行等于1),如否则提示重新输入,如是则计算H(Y),I(X;
Y),H(X/Y),H(Y/X),H(XY)及考虑此种信道的容量计算公式及其计算结果。
将H(X),H(Y),I(X;
Y),H(X/Y),H(Y/X),H(XY)用柱状图表示出来。
Py1x=[1,0,0,0,0,0;
0,1,0,0,0,0;
0,0,0.5,0.5,0,0;
0,0,0,0.5,0.5,0;
0,0,0,0,0.5,0.5;
0,0,0,0,0,1;
]
%输入条件概率矩阵
y=[0,0,0,0,0,0]
Pxy=ones(6,6);
建立联合概率矩阵
fork=1:
6
k1=0
forl=1:
k1=k1+(p(l).*Py1x(l,k));
k2=p(l).*Py1x(l,k);
Pxy(l,k)=k2;
%借条件概率与Px,计算联合概率矩阵
end
y(k)=k1%通过联合概率,计算Y概率分布
ifsum(y)==1
%验证Y分布和为一,则计算正确
Hy=sum(-y.*log2(y));
%通过Y分布计算H(y)
Hy1x1=zeros(6,6);
%建立Hy/x的矩阵
for(k=1:
6)
for(l=1:
ifPy1x(l,k)~=0
Hy1x1(l,k)=(Pxy(l,k).*(-log2(Py1x(l,k))));
%计算x,y矩阵每一项的Iy/x*pxy
end
end
Hy1x=sum(sum(Hy1x1));
%加和即为Hy/x
Ixy1=zeros(6,6)
for(j=1:
for(i=1:
ifPy1x(i,j)~=0
Ixy1(i,j)=Pxy(i,j)*(-log2(y(j))+log2(Py1x(i,j)))
Ixy=sum(sum(Ixy1))%计算方法和Hy/xHy/x一样
Hx1y=H-Ixy;
Hxy=H+Hy-Ixy;
%包含关系算其它项
PL=[0,0,0,0,0,0]
PL
(1)=H
PL
(2)=Hy
PL(3)=Hx1y
PL(4)=Hy1x
PL(5)=Hxy
PL(6)=Ixy
bar(x,PL)
text(1,2.8,'
Hx'
text(2,2.8,'
Hy'
text(3,2.8,'
H(x/y)'
text(4,2.8,'
H(y/x)'
text(5,3,'
Hxy'
text(6,2.8,'
Ixy'
%打印结果
循环时行和列的顺序以及循环符号k1,k2哪个是行哪个是列需要思考。
2)试验结果:
Pxy=
0.100000000
00.10000000
000.05000.050000
0000.10000.10000
00000.10000.1000
000000.3000
Hy=
2.2842
Ixy=
1.7842
Hy1x
Hy1x=
0.5000
H
H=
2.4464
Hxy
Hxy=
2.9464
其中Hy-Ixy=Hy1x
说明计算正确。
而其他项是直接用包含关系做的,能够自洽,说明正确。
3、使用matlab软件计算图像一维图像熵,请自己选择任意两幅图像,根据求解结果说明其物理意义。
1)实验代码:
filename='
tsy1.jpg'
;
imfinfo(filename)
imgRgb=imread(filename);
%读图
imshow(imgRgb);
A=rgb2gray(imgRgb);
figure
imshow(A);
imwrite(A,'
tsy2.jpg'
%生成灰度图
[M,N]=size(A);
pt=zeros(256,1)
form=1:
M;
forn=1:
N;
ifA(m,n)==0;
i=1;
else
i=A(m,n);
pt(i)=pt(i)+1;
%遍历像素,计算各灰度个数
pt=pt./(M*N)
%计算概率
result=0;
fori=1:
length(pt)
ifpt(i)==0;
result=result;
result=result-pt(i)*log2(pt(i));
end%求解熵
result
xlswrite('
电子1201-0909120523-汤思远-实验1-Excel绘图.xls'
pt,'
sheet1'
'
C1:
C256'
)%输出给excel
%第二幅图代码与上同,只是名为tsy3,存为pt2,输出给D1:
D257
1.
读取图片和转化为灰度图需要自学,计算反而不如实验2难
为了能和Excel切合,必须将pt,pt2设计为256行1列的矩阵,方便输出给excel的3,4列,不然无法输出。
2)实验结果:
图片1:
灰度图1:
图片2:
灰度图2:
pt=
00000000000
0.00000.00000.00000.00010.00010.00020.00260.00250.01090.00550.0067
0.00660.00610.00580.00540.00310.00440.00430.00350.00340.00350.0027
0.00320.00290.00280.00290.00280.00270.00290.00280.00240.00300.0029
0.00220.00300.00160.00280.00260.00230.00260.00200.00230.00150.0020
0.00220.00190.00230.00180.00190.00230.00160.00190.00180.00180.0018
0.00230.00140.00200.00200.00150.00180.00170.00170.00180.00190.0021
0.00160.00260.00200.00170.00180.00170.00190.00290.00260.00230.0028
0.00250.00260.00290.00230.00300.00330.00280.00320.00360.00390.0034
0.00420.00310.00420.00390.00480.00390.00550.00530.00510.00450.0053
0.00520.00520.00560.00600.00630.00550.00530.00630.00590.00600.0061
0.00530.00540.00450.00570.00580.00650.00630.00580.00640.00670.0072
0.00650.00740.00690.00800.00910.00840.00910.00850.00780.00710.0074
0.00700.00680.00660.00750.00630.00570.00630.00650.00550.00630.0061
0.00570.00690.00630.00620.00670.00730.00730.00740.00680.00590.0062
0.00660.00650.00620.00610.00700.00680.00640.00600.00630.00560.0055
0.00570.00510.00500.00620.00630.00750.00750.00790.00780.00730.0076
0.00700.00720.00630.00600.00580.00560.00730.00770.00780.00990.0102
0.01060.01360.01460.01330.01150.01020.00990.01040.00920.00730.0056
0.00310.00090.00080.00060.00050.00040.00020.00020.00010.00010.0001
0.00010.00020.00010.00010.00010.00020.00020.00010.00000.00000.0000
0.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000
0.00000.00000.00000.00000.00010.00010.00010.00020.00060.00070.0020
0.00260.00400
result=
7.4689
第二幅图:
pt2=
0
0.0000
0.0001
0.0005
0.0006
0.0050
0.0002
0.0004
0.0026
0.0027
0.0062
0.0076
0.0106
0.0126
0.0150
0.0157
0.0109
0.0114
0.0113
0.0069
0.0061
0.0066
0.0059
0.0044
0.0056
0.0037
0.0043
0.0036
0.0040
0.0046
0.0063
0.0064
0.0033
0.0032
0.0052
0.0053
0.0054
0.0048
0.0041
0.0038
0.0034
0.0030
0.0039
0.0081
0.0070
0.0077
0.0049
0.0035
0.0047
0.0057
0.0058
0.0060
0.0042
0.0045
0.0091
0.0108
0.0140
0.0213
0.0341
0.0238
0.0199
0.0240
0.0329
0.0323
0.0210
0.0146
0.0107
0.0089
0.0073
0.0072
0.0100
0.0068
0.0065
0.0028
0.0055
0.0015
0.0010
0.0016
0.0092
0.0143
0.0008
0.0003
0.0011
0.0009
0.0017
0.0029
6.9256
4、使用Excel软件,绘制二元信源熵函数曲线的散点图。
实验过程如实验指导书
结果:
见附件“电子1201-0909120523-汤思远-实验1-Excel绘图.xls”
5、使用Excel软件,绘制(3)中两幅图像的灰度直方图(0到255各灰度占图像像素的比例值,使用柱状图绘制其比列分布)。
1)代码:
pt2,'
D1:
D256'
2)结果
在对C,D两列分别画柱状图如下:
图1:
图2: