天津理工大学 信息论与编码实验3 离散信源编码-香农编码

本实验旨在通过实践加深对离散无记忆信源的香农编码原理的理解。香农编码是不等长编码的一种,通过为常见消息分配短码、罕见消息分配长码,以降低平均码长。实验内容包括实现二进制香农编码,并对实验结果进行理论分析。此外,还需了解香农编码的算法步骤、信源编码的种类以及香农编码的特点和分类。
摘要由CSDN通过智能技术生成

一、实验目的
离散无记忆信源是一种最简单且最重要的信源,可以用完备的离散型概率空间来描述。本实验通过对给定的信源的进行相应的编码,加深对离散无记忆信源的无失真编码的理解。
掌握香农编码原理;

二、实验仪器及材料
计算机

三、实验原理
香农编码是不等长编码中的一种,其核心思想是将信源消息序列中经常出现的消息采用短码、对较少出现的消息采用长码,从而降低整体的平均码长,进而指出可以通过编码使得平均码长达到一个极限值。特别的,香农编码采用累加概率分布来刻画不同消息,从而避免当两个概率一致的消息产生相同编码的情况。
信源熵:

平均码长:

编码效率:

四、实验内容
写出实验内容中的程序并附上仿真实现的结果。

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};//概率数组
 
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值