- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
信息论与编码
―大作业
班级:电信091班
姓名:徐胜
学号:2009012630
目录
TOC\o1-3\h\z\u一、用matlab实现Shannon编码3
1、编码主程序3
2、含有的子函数binary4
3、考前须知5
4、例题展示5
二、用matlab实现Feno编码7
1、编码主程序7
2、两个子m文件展示9
3、考前须知12
4、例题展示12
一、用matlab实现Shannon编码
1、编码主程序
n=input(输入单符号信源个数n=)
p=zeros(1,n);
fori=1:n
p(1,i)=input(输入单符号信源个数:);
end
ifsum(p)1||sum(p)1
error(不符合概率分布无效)
end
y=fliplr(sort(p));%大到小排序
D=zeros(n,4);%生成n*4的零矩阵
D(:,1)=y;%把y赋给零矩阵的第一列
fori=2:n
D(1,2)=0;%令第一行第二列的元素为0
D(i,2)=D(i-1,1)+D(i-1,2);%求累加概率
end
fori=1:n
D(i,3)=-log2(D(i,1));%求第三列的元素
D(i,4)=ceil(D(i,3));%求第四列的元素,对D(i,3)向无穷方向取最小正整数
end
D
A=D(:,2);%取出D中第二列元素
B=D(:,4);%取出D中第四列元素
forj=1:n
C=binary(A(j),B(j))%生成码字
End
2、含有的子函数binary
function[C]=binary(A,B)%对累加概率求二进制的函数
C=zeros(1,B);%生成零矩阵用于存储生成的二进制数,对二进制的每一位进行操作
temp=A;%temp赋初值
fori=1:B%累加概率转化为二进制,循环求二进制的每一位,A控制生成二进制的位数
temp=temp*2;
iftemp1
temp=temp-1;
C(1,i)=1;
else
C(1,i)=0;
end
end
3、考前须知
正式运行前应该把binary.m文件放到matlab的工作空间中去,以保证主函数能成功调用。
图一子函数存储示意图
4、例题展示
将课本第五章例题4键入入运行,可得结果和课本完全一致。
输入信源符号个数n=7
n=
7
输入信源符号概率:0.2
输入信源符号概率:0.19
输入信源符号概率:0.18
输入信源符号概率:0.17
输入信源符号概率:0.15
输入信源符号概率:0.1
输入信源符号概率:0.01
D=
0.200002.32193.0000
0.19000.20002.39593.0000
0.18000.39002.47393.0000
0.17000.57002.55643.0000
0.15000.74002.73703.0000
0.10000.89003.32194.0000
0.01000.99006.64397.0000
C=
000
C=
001
C=
011
C=
100
C=
101
C=
1110
C=
1111110
二、用matlab实现Feno编码
1、编码主程序
clearall;
N=input(N=);%输入信源符号的个数
s=0;l=0;H=0;
fori=1:N
fprintf(第%d个,i);
p(i)=input(p=);%输入信源符号概率分布矢量,p(i)1
ifp(i)=0
error(不符合概率分布)
end
s=s+p(i)
H=H+(-p(i)*log2(p(i)));%计算信源信息熵
end
if(s=0.999999||s=1.000001)
error(不符合概率分布)
end
tic;
fori=1:N-1%按概率分布大小对信源排序
forj=i+1:N
ifp(i)p(j)
m=p(j);p(j)=p(i);p(i)=m;
end
end
end
x=f1(1,N,p,1);
fori=1:N%计算平均码长
L(i)=le
您可能关注的文档
- 硫酸简易中英MSDS.doc
- 甲级社会稳定风险分析报告.doc
- 亮出你的名片——求职简历的制作.pptx
- 用cad绘制的一份室内平面图操作步骤.doc
- 人类群星闪耀时.pptx
- 人教新目标版七年级下册Unit3-sectionB-2a-2c-Crossing-the-River-to-School课件-(共38张PPT).ppt
- 理综——试卷(一诊考试).doc
- 生活与哲学-第三单元测试题(附答案详解).doc
- 五年级下册语文课件-15.金色的鱼钩|人教新课标-(共35张PPT).ppt
- 人教版四年级下册20花的勇气.ppt
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)