计算信源熵和香农编码C语言,信息论与编码课程设计报告-统计信源熵与香农编码.pdf...
信息论与编码课程设计报告
设计题目: 统计信源熵与香农编码
专业班级 电 信 12-06
学 号
学生姓名
指导教师
教师评分
2015 年 3 月 30 日
目 录
- 0 -
一、设计任务与要求
1.统计信源熵
要求:统计任意文本文件中各字符(不区分大小写)数量,计算字符概率,
并计算信源熵。
2.香农编码
要求:任意输入消息概率,利用香农编码方法进行编码,并计算信源熵和编
码效率。
二、设计思路
本次课程设计中主要运用 C 语言编程以实现任务要求,分析所需要的统计量
以及相关变量,依据具体公式和计算步骤编写语句,组成完整C 程序。
1、信源熵
定义:信源各个离散消息的自信息量的数学期望为信源的平均信息量,一般
称为信源的信息熵,也叫信源熵或香农熵,有时称为无条件熵或熵函数,简称熵,
记为 H ()。
计算公式:
2、香农编码过程:
(1)将信源消息符号按其出现的概率大小依次排列为
p 1 p2 p n
K
(2)确定满足下列不等式的整数码长 i 为
lb(p ) K lb(p ) 1
i i i
(3)为了编成唯一可译码,计算第 i 个消息的累加概率
i1
P p (a )
i k
k 1
P
i
(4)将累计概率 变换成二进制数。
P K
i i
(5)取 二进制数的小数点后 位即为该消息符号的二进制码字。
- 1 -
三、设计流程图
1、统计信源熵
开始
读取给定文件
判断文件是否打开 否
并且不为空
是
统计文本字符,直 关闭文件
至文本字符读完。
统计同一字符(不分
大小写)出现的次
计算字符概率
计算信源熵
输出
结束
- 2 -
2、香农编码
开始
计算信源熵和香农编码C语言,信息论与编码课程设计报告-统计信源熵与香农编码.pdf...相关推荐
- c语言小数表达式运算课程设计,数据结构课程设计表达式计算.doc
数据结构课程设计表达式计算 福建农林大学计算机与信息学院 计算机类 课程设计报告 课程名称:算法与数据结构课程设计题目:表达式计算姓 名:系:数学系专 业:数学与应用数学年 级:学 号:指导教师:宁正 ...
- c语言实现一元多项式程序报告设计,数据结构课程设计报告一元多项式的计算..doc...
数据结构课程设计报告一元多项式的计算. 题目:一元多项式的计算 --链表 摘要(题目) 一元多项式计算 任务:能够按照指数降序排列建立并输出多项式: 能够完成两个多项式的相加.相减,并将结果输入: 目 ...
- 数据结构课程设计报告——Huffman编码
目录 一. 问题描述与要求 二. 需求分析 三. 设计 3.1 设计思想 3.1.1 数据与操作的特性 3.1.2 数据结构设计 3.1.3 算法设计 3.2 设计表示 3.2.1 函数调用关系图 3 ...
- C语言课程设计报告税,c语言编写程序,输入月薪数a,计算并输出税率、应缴税款和实得奖金数。工薪所得扣除标 请编写一个个人所得税...
if(a>4500&&a<9000)下面的代码行缺少分号: if(a>9000&&a<18000)下面的代码段中(a-)减号后面缺少一个数值: ...
- 计算机网络课程设计报告 计算校验和 湖南文理学院,湖南文理学院课程设计 计算机网络实验室综合布线系统的设计与测试...
内容简介: 湖南文理学院课程设计 计算机网络实验室综合布线系统的设计与测试 共23页,6337字. 摘 要 计算机网络技术与综合布线系统息息相关.计算机和通信技术的飞速发展,网络应用已成为人们日益增长 ...
- C语言课程设计报告税,第十周—C语言 个人所得税的计算
#include int main() { double dsalary,dtax=0,dnetlncome=0; printf("请输入您本月的收入总额(元):"); scanf ...
- 喷泉编码 c语言,51单片机音乐喷泉设计音乐盒源代码
功能实现通过ADC0832芯片对音频信号的采集,转换为数字信号给单片机,然后PWM脉冲宽度调制控制水泵水柱对的高低 //请先了解ADC0832模数转换的串行协议,再来读本函数,主要是对应时序图来理解, ...
- java编码规范文档 下载_软件项目实训及课程设计指导——制定待开发项目中各种文档的规范...
软件项目实训及课程设计指导--制定待开发项目中各种形式文档的规范 1.制定对课程设计项目开发过程中的规范性要求 (1)从"形式"到"内容"两个方面控制和要求开发 ...
- c语言课程设计简易年月历计算,c语言课程设计《打印月历》.docx
<打印月历>年月日 <打印月历> 年月日 <C语言课程设计> 课程设计报告 题 目 学 号 姓 名 年级专业 指导教师 完成日期 安徽师范大学物理与电子信息学院 . ...
最新文章
- ASP.NET防伪令牌与JSON有效载荷
- jsp servlet示例_Servlet和JSP中的文件上传示例
- vs android 压缩,Android Studio是否压缩classes.dex文件?
- php 内部异步执行顺序,event_loop中不同异步操作的执行顺序
- java comparator排序顺序_Java 集合排序策略接口 Comparator
- 读书节来当当薅羊毛!170买400/240买600
- 用matlab实现灰色预测gm11模型,用MATLAB实现灰色预测GM11模型
- 常见文件文件头文件尾格式总结及各类文件头
- Win10桌面极简美化
- 一把剪刀完成iphone4剪卡
- python简单速成,一行代码写爬虫
- 【转】《仙剑奇侠传6》将更换全新引擎
- PHP求两个数据的交集,php计算两数组交集两个函数_PHP教程
- 爬虫时候遇到python connection error max retries exceeded whith url 怎么解决?
- 【PID】数字式 PID 控制算法、程序结构
- Spine动画动态切换模型显示
- 浅析医院信息集成平台现状
- TKinterDesigner界面背景和操作界面调试,TKinterDesigner教程(3)
- OpenStack_Rocky版-8.安装Dashboard面板服务
- 国内最具权威性的广告管理系统——知客CRM传媒版
热门文章
- mysql指数函数_SQL语言参考大全的目录
- java清屏_【图片】请问java编写中如何做到清屏啊。。。_java吧_百度贴吧
- Aroma's Search(暴力)
- 猜数大小编程c语言_猜数正确编程
- linux 安装jeakens_Chapter 2. OpenSSL的安装和配置学习笔记
- c++如何获取文件时间_如何在Windows 10上获取文件或文件夹的所有权
- java个人支付系统(springboot)
- 低成本DIY视频预览遥控小车
- 如何理解和分析linux系统的CPU平均负载情况(load average)
- linux-shell命令之date【显示/设置系统日期/时间】