郑州轻工业学院本科生实验报告
1
2
3
4
5
郑州轻工业学院本科生实验报告
6
7
8
9
10
11
12
郑州轻工业学院本科生实验报告
13
14
15
16
…… …… 余下全文
中 南 大 学
----------信息论与编码
题 目 关于编码的实验
学生姓名 杨家骏
指导教师 赵颖
学 院 信息科学与工程学院
学 号 0909101123
专业班级 电子信息1002班
20##年12月
目 录
一、实验目的……………………………………3
二、实验原理……………………………………3
三、实验内容……………………………………5
…… …… 余下全文
实验报告
年 月 日
目 录
实验一 信源熵值的计算... 1
实验二 Huffman信源编码... 5
实验三 Shannon编码... 9
实验四 信道容量的迭代算法... 12
实验五 率失真函数... 15
实验六 差错控制方法... 20
实验七 汉明编码... 22
一、实验目的
1 进一步熟悉信源熵值的计算
2熟悉 Matlab 编程
二、实验原理
熵(平均自信息)的计算公式
MATLAB实现:;或者
流程:第一步:打开一个名为“nan311”的TXT文档,读入一篇英文文章存入一个数组temp,为了程序准确性将所读内容转存到另一个数组S,计算该数组中每个字母与空格的出现次数(遇到小写字母都将其转化为大写字母进行计数),每出现一次该字符的计数器+1;
第二步:计算信源总大小计算出每个字母和空格出现的概率;
最后,通过统计数据和信息熵公式计算出所求信源熵值(本程序中单位为奈特nat)。
程序流程图:
三、实验内容
1、写出计算自信息量的Matlab 程序
2、已知:信源符号为英文字母(不区分大小写)和空格。
输入:一篇英文的信源文档。
输出:给出该信源文档的中各个字母与空格的概率分布,以及该信源的熵。
四、实验环境
Microsoft Windows 7
Matlab 6.5
五、编码程序
#include"stdio.h"
#include <math.h>
#include <string.h>
#define N 1000
int main(void)
{
…… …… 余下全文
信息论与编码实验报告
20##年12月29日
实验目的:
1.进一步熟悉唯一可译码判别准则;
2.掌握C语言字符串处理程序的设计和调试技术。
实验内容:
1.已知:信源符号数和码字集合C;
2.输入:任意的一个码,码字的个数和每个具体的码字在运行时从键盘输入;
3.输出:判决(是唯一可译码/不是唯一可译码);循环(若继续判决则输入1循环判决,否则输入0结束运行)。
实验原理:
根据唯一可译码的判别方法,利用数据结构所学的知识,定义字符串数据类型并利用指针进行编程来实现算法。
算法:1、考察C 中所有的码字,若Wi是 Wj的前缀,则将对应的后缀作为一个尾随后缀码放入集合Fi+1中;
2、考察C和Fi俩个集合,若Wi ∈C是 Wj∈F的前缀或Wi ∈F是 Wj∈C的前缀,则将相应的后缀作为尾随后缀码放入集合Fi+1中;
3、F=∪Fi即为码C的尾随后缀集合;
4、若F中出现了C中的元素,算法终止,返回假(C不是唯一可译码);否则若F中没有出现新的元素,则返回真。
实验环境及实验文件存档名:
1.实验环境:visual C++ 6.0
2.文件名 :weiyikeyi.cpp
实验结果及分析:
1.源代码:
#include<stdio.h>
#include<string.h>
char c[100][50];
char f[300][50];
int N,sum=0; //N为输入码字的个数,sum为尾随后缀集合中码字的个数
int flag;//判断是否唯一可译标志位
…… …… 余下全文
中南大学
信息论与编码实验报告2
实验名称: 关于编码的实验
班 级: 电子信息xxxx班
学 号: xxxxxxxx
姓 名: xxxx
指导老师: xxxx
实验一 关于编码的实验
一、 实验目的
1. 掌握香农码和 Huffman 编码原理和过程。
2. 熟悉matlab软件的基本操作,练习使用matlab实现香农码和 Huffman 编码。
3. 熟悉 C/C++语言,练习使用 C/C++实现香农码和 Huffman 编码。
4. 应用 Huffman 编码实现文件的压缩和解压缩。
二、实验原理
香农码:
(1)将信源发出的N个消息符号按其概率的递减次序排列
(2)按下式计算第个消息的二进制代码组的码长,并取整
…… …… 余下全文
课程名称:姓 名:
系:专 业:年 级:学 号:指导教师:职 称: 实验报告 信息论与编码
年 月 日
1
实验三 Shannon编码
一、实验目的
1、熟悉离散信源的特点;
2、学习仿真离散信源的方法
3、学习离散信源平均信息量的计算方法
4、熟悉 Matlab 编程
二、实验原理
给定某个信源符号的概率分布,通过以下的步骤进行香农编码
1、信源符号按概率从大到小排列;
p1?p2?.......?pn
2、确定满足下列不等式的整数码长Ki为
?lb(pi)?Ki??lb(pi)?1
3、为了编成唯一可译码,计算第i个消息的累加概率:
Pi??p(ak)
k?1i?1
4、将累加概率Pi变换成二进制数;
5、取Pi二进制数的小数点后Ki位即为该消息符号的二进制码字。
三、实验内容
1、写出计算自信息量的Matlab 程序
2、写出计算离散信源平均信息量的Matlab 程序。
3、将程序在计算机上仿真实现,验证程序的正确性并完成习题。
四、实验环境
Microsoft Windows 7
Matlab 6.5
五、编码程序
计算如下信源进行香农编码,并计算编码效率:
a1a2a3a4a5a6??X??a0??P??0.20.190.180.170.150.10.01?
????
MATLAB程序:
(1) a=[0.2 0.18 0.19 0.15 0.17 0.1 0.01];
k=length(a);y=0;
for i=1:k-1
2
for n=i+1:k
if (a(i)<a(n))
t=a(i);
a(i)=a(n);
a(n)=t;
end
end
end
s=zeros(k,1);b=zeros(k,1);
for m=1:k
…… …… 余下全文
信息论与编码编码部分实验报告
课程名称:信息论与编码
实验名称:关于香农码费诺码Huffman码的实验
学院:信息科学与工程学院
班级:电子信息工程1201
姓名: viga
学号:
指导老师:张祖平
日期:20##年1月3日
目录
⊙实验目的及要求
1.1 实验目的………………………………………………4
1.2 开发工具及环境………………………………………4
1.3 需求分析与功能说明…………………………………4
⊙实验设计过程
2.1 用matlab实现香农码、费诺码和Huffman编码
2.1.1 说明………………………………………………6
2.1.2 源代码……………………………………………7
2.1.3 运行结果(截图)………………………………19
2.2 用C\C++ 实现香农码
2.2.1 说明………………………………………………22
2.2.2 源代码……………………………………………23
…… …… 余下全文