一、实验目的
离散无记忆信源是一种最简单且最重要的信源,可以用完备的离散型概率空间来描述。本实验通过对给定的信源的进行相应的编码,加深对离散无记忆信源的无失真编码的理解。
掌握香农编码原理;
二、实验仪器及材料
计算机
三、实验原理
香农编码是不等长编码中的一种,其核心思想是将信源消息序列中经常出现的消息采用短码、对较少出现的消息采用长码,从而降低整体的平均码长,进而指出可以通过编码使得平均码长达到一个极限值。特别的,香农编码采用累加概率分布来刻画不同消息,从而避免当两个概率一致的消息产生相同编码的情况。
信源熵:
平均码长:
编码效率:
四、实验内容
写出实验内容中的程序并附上仿真实现的结果。
1、对给定信源进行二进制香农编码
参考程序如下:
四、实验结果与分析
(结合理论知识总结实验结果,并对其正确性、创新性进行分析以及本次实验心得体会)
五、思考与回答
1、写出香农编码的详细算法步骤。
2、给出下面信源的香农编码(手写出每一步的编码过程,并用程序验证结果的准确性)
3、给出信源编码的种类划分。
3、总结香农编码的特点,并说出香农编码属于哪一种信源编码?
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define N 7
main()
{
int i,j;
//double p[7]={0,0.25,0.25,0.2,0.15,0.1,0.05};//原始数组
double p[N]={0},temp;
double q[N]={0};//概率数组