信息论与编码论文之香农与java

信息论与编码

学科论文

指导: XXXXX

主题:Java 下模拟香农编码

专业: 信息与计算科学

年级: XXX

姓名: XXX

学号: XXXXXXXX

目录

contents

1、绪论-----------------------------------------------------------V1

2、香农理论-----------------------------------------------------V1

3、在Java 环境下实现香农编码的模拟的条件----------V1

4、在java 环境下实现香农编码的模拟的变量一览-----V2

5、模拟实现的过程---------------------------------------------V3

6、应用与总结---------------------------------------------------V4

7、附(代码一览)---------------------------------------------V4

8、感谢-------------------------------------------------------------V5

1、绪论

摘要:1948年香农在Bell System Technical Journal上发表了《A Mathematical Theory of Communication 》。论文由香农和威沃共同署名。这篇奠基性的论文是建立在香农对通信的观察上,即“通信的根本问题是报文的再生,在某一点与另外选择的一点上报文应该精确地或者近似地重现”。这篇论文建立了信息论这一学科,给出了通信系统的线性示意模型,即信息源、发送者、信道、接收者、信息宿,这是一个新思想。此后,通信就考虑为把电磁波发送到信道中,通过发送1和0的比特流,人们可以传输图像、文字、声音等等。今天这已司空见惯,但在当时是相当新鲜的。他建立的信息理论框架和术语已经成为技术标准。他的理论在通信工程师中立即获得成功,并刺激了今天信息时代所需要的技术发展。

2、香农理论

3、在Java 环境下实现香农编码的模拟的条件

利用Java 虚拟机语言搭建循环环境,可以有条件的循环输出0或1,以实现最简单的二进制信源符号模拟。

运行环境

a.Win7 x86

Win7系统下实现Java 虚拟机的运行,完成编码及其可视化界面的输出。

b.Java 虚拟机版本7.0

最新版的Java 虚拟机,可以运行基于Java 语言编写的软件及其**.java等的类文件。

c.Eclipse 4.0

一个强大的Java 代码编译器,其中包含丰富的API 及其各种重构代码的方法,让编译者提高代

码的编辑效率。

技术条件

a. 熟练的使用Win7系统

这是一个系统的环境条件,是基础。

b. 熟练的掌握Java 虚拟机的有关知识

能够在Win7下正确的配置出环境变量,并学会测试环境变量是否配置成功,保证所编程序的胜利运行。

c. 能够运用java 语言编写简单的程序

掌握基础的Java 语言的语法等是基础的基础,别巧妇无米之炊。

4、在java 环境下实现香农编码的模拟的变量一览

具体说明

Int n

n 变量是限定一维数组变量gl[ ]是数组长度,以此来实现对信源长度的模拟,如信源长度为n ,则通过scanner 指令向gl[ ]赋n 个值得到信源概率组。

Double gl[ ]

gl[ ]变量是用来储存并通过for 循环排序信源概率组的各个概率值的,实现模拟信源概率组。

Int i,j

For 循环局部变量,通过循环简便的输入输出概率组的值。

Double c,gsum[ ]

c 变量为对概率组各个概率值进行降序排序时使用的中介变量,gsum[ ]变量为计算累加p (x i ) 的值,可以模拟第2个步骤p (x i ) 。

Int k[ ]

储存每一个k 值,实现计算k 值步骤。

Double a[ ]

动态的存储每一个码字, 然后把码字的值赋给Int xiangnong[ ][ ]变量,间接实现码字组的输出。

Int xiangnong[ ][ ]

动态的二维数组,储存并输出码字实现对香农编码码字的模拟。

5、实现过程图解

以下是在java 虚拟机下运行的几个实例

运行实例(输入长度为8的信源)

运行实例(输入长度为6的信源)

运行实例(输入长度为4的信源)

6、应用与总结

通过Java 环境下的模拟,可以让读者直观的看到信源信道上的编码过程。

总结:香农编码本质上就是一个信源概率组进行一系列的规则运算后得到的二进制数组

应用:1. 计算简单信源的码字。

2. 在教学过程中通过Java 语言的调试步骤,让学生更直观的香农编码的编码过程。

附(代码一览):

public class xiangnong {

public static void main(String[] args){ Scanner scan=new Scanner(System.in); int n; System.out.println("请输入编码的长度:"); n=scan.nextInt(); System.out.println("请输入你的概率:"); double gl[]=new double[n]; //gl[n]=scan.nextDouble(); for(int i=0;i

} } double gsum[]=new double[n]; gsum[0]=0; for(int i=1;i1){ xiangnong[i][j]=1; a[j]=a[j]-1; } xiangnong[i]=new int[k[i]]; k[i]=(int)Math.ceil(1-(Math.log(gl[i]/Math.log(2)))); System.out.print(k[i]+"\t"); gsum[i]=gsum[i-1]+gl[i-1]; else xiangnong[i][j]=0;

感谢 历时将近3天的时间终于将这篇论文写完,在论文的写作过程中遇到了无数的困难和障碍,都在同学和老师的帮助下度过了。尤其要强烈感谢我的论文指导老师--冉茂虎老师,她对我进行了无私的指导和帮助,不厌其烦的帮助进行论文的修改和改进。另外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。在此向帮助和指导过我的各位老师表示最中心的感谢!

信息论与编码

学科论文

指导: XXXXX

主题:Java 下模拟香农编码

专业: 信息与计算科学

年级: XXX

姓名: XXX

学号: XXXXXXXX

目录

contents

1、绪论-----------------------------------------------------------V1

2、香农理论-----------------------------------------------------V1

3、在Java 环境下实现香农编码的模拟的条件----------V1

4、在java 环境下实现香农编码的模拟的变量一览-----V2

5、模拟实现的过程---------------------------------------------V3

6、应用与总结---------------------------------------------------V4

7、附(代码一览)---------------------------------------------V4

8、感谢-------------------------------------------------------------V5

1、绪论

摘要:1948年香农在Bell System Technical Journal上发表了《A Mathematical Theory of Communication 》。论文由香农和威沃共同署名。这篇奠基性的论文是建立在香农对通信的观察上,即“通信的根本问题是报文的再生,在某一点与另外选择的一点上报文应该精确地或者近似地重现”。这篇论文建立了信息论这一学科,给出了通信系统的线性示意模型,即信息源、发送者、信道、接收者、信息宿,这是一个新思想。此后,通信就考虑为把电磁波发送到信道中,通过发送1和0的比特流,人们可以传输图像、文字、声音等等。今天这已司空见惯,但在当时是相当新鲜的。他建立的信息理论框架和术语已经成为技术标准。他的理论在通信工程师中立即获得成功,并刺激了今天信息时代所需要的技术发展。

2、香农理论

3、在Java 环境下实现香农编码的模拟的条件

利用Java 虚拟机语言搭建循环环境,可以有条件的循环输出0或1,以实现最简单的二进制信源符号模拟。

运行环境

a.Win7 x86

Win7系统下实现Java 虚拟机的运行,完成编码及其可视化界面的输出。

b.Java 虚拟机版本7.0

最新版的Java 虚拟机,可以运行基于Java 语言编写的软件及其**.java等的类文件。

c.Eclipse 4.0

一个强大的Java 代码编译器,其中包含丰富的API 及其各种重构代码的方法,让编译者提高代

码的编辑效率。

技术条件

a. 熟练的使用Win7系统

这是一个系统的环境条件,是基础。

b. 熟练的掌握Java 虚拟机的有关知识

能够在Win7下正确的配置出环境变量,并学会测试环境变量是否配置成功,保证所编程序的胜利运行。

c. 能够运用java 语言编写简单的程序

掌握基础的Java 语言的语法等是基础的基础,别巧妇无米之炊。

4、在java 环境下实现香农编码的模拟的变量一览

具体说明

Int n

n 变量是限定一维数组变量gl[ ]是数组长度,以此来实现对信源长度的模拟,如信源长度为n ,则通过scanner 指令向gl[ ]赋n 个值得到信源概率组。

Double gl[ ]

gl[ ]变量是用来储存并通过for 循环排序信源概率组的各个概率值的,实现模拟信源概率组。

Int i,j

For 循环局部变量,通过循环简便的输入输出概率组的值。

Double c,gsum[ ]

c 变量为对概率组各个概率值进行降序排序时使用的中介变量,gsum[ ]变量为计算累加p (x i ) 的值,可以模拟第2个步骤p (x i ) 。

Int k[ ]

储存每一个k 值,实现计算k 值步骤。

Double a[ ]

动态的存储每一个码字, 然后把码字的值赋给Int xiangnong[ ][ ]变量,间接实现码字组的输出。

Int xiangnong[ ][ ]

动态的二维数组,储存并输出码字实现对香农编码码字的模拟。

5、实现过程图解

以下是在java 虚拟机下运行的几个实例

运行实例(输入长度为8的信源)

运行实例(输入长度为6的信源)

运行实例(输入长度为4的信源)

6、应用与总结

通过Java 环境下的模拟,可以让读者直观的看到信源信道上的编码过程。

总结:香农编码本质上就是一个信源概率组进行一系列的规则运算后得到的二进制数组

应用:1. 计算简单信源的码字。

2. 在教学过程中通过Java 语言的调试步骤,让学生更直观的香农编码的编码过程。

附(代码一览):

public class xiangnong {

public static void main(String[] args){ Scanner scan=new Scanner(System.in); int n; System.out.println("请输入编码的长度:"); n=scan.nextInt(); System.out.println("请输入你的概率:"); double gl[]=new double[n]; //gl[n]=scan.nextDouble(); for(int i=0;i

} } double gsum[]=new double[n]; gsum[0]=0; for(int i=1;i1){ xiangnong[i][j]=1; a[j]=a[j]-1; } xiangnong[i]=new int[k[i]]; k[i]=(int)Math.ceil(1-(Math.log(gl[i]/Math.log(2)))); System.out.print(k[i]+"\t"); gsum[i]=gsum[i-1]+gl[i-1]; else xiangnong[i][j]=0;

感谢 历时将近3天的时间终于将这篇论文写完,在论文的写作过程中遇到了无数的困难和障碍,都在同学和老师的帮助下度过了。尤其要强烈感谢我的论文指导老师--冉茂虎老师,她对我进行了无私的指导和帮助,不厌其烦的帮助进行论文的修改和改进。另外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。在此向帮助和指导过我的各位老师表示最中心的感谢!


相关文章

  • 信息论在认识和记忆中的运用
  • 第4卷增刊 2004年6月 J咖叫0fGIlaI姆dong咖ve商tyof删lIm蛔(sodalsd∞懒删廿oⅡ) 广东工业大学学报(社会科学版) V01.4 SupplJ哪.2004 信息论在认识和记忆中的运用 张辰文元美 (广东工业大学 ...查看


  • 一种广义信息系统模型
  • 一种广义信息系统模型1 王勇 桂林电子科技大学计算机与控制学院,广西桂林(541004) E-mail: 摘 要:分析了香农通信系统模型在现实信息系统中应用时存在的局限性,同时指出了香农通信系统模型和现实中信息系统的相似性,特别是对信息可靠 ...查看


  • 扩频通信论文
  • <扩频通信> 课程考查报告任务书 班级:通信0901 姓名: 学号: 第一部分:课程内容总结 一.扩频通信的基本概念 扩频通信的含义: 扩频通信,即扩展频谱通信(Spread Spectrum Communication),它是 ...查看


  • 信息论与编码论文(2)
  • 滨江学院 <信息论与编码>课程论文 题 目 信源信道联合编码方式及其运用 院 系 电子工程系 专业班级 学生姓名 学 号 教 师 成 绩 二O一四 年 十二 月 二十二 日 信源信道联合编码方式及其应用 [1********** ...查看


  • 09级计科专业毕业设计题目
  • 09级计算机科学与技术专业毕业设计题目指南 说明:1. 每个题目的选择人数最多不能超过2名同学,否则将退回重选.(如题目要求可多 人合作,则以题目要求为准),请各班级同学自行协调解决选题冲突问题. 2.学习委员上报题目请用EXCEL 表格, ...查看


  • 开题报告(格式-时间参考)
  • 北方民族大学毕业设计(论文) 开题报告书 题目 姓学专 名号业 丁红胜 指导教师 北方民族大学教务处制 北方民族大学毕业设计(论文) 开题报告书 姓学题 名号目 2012年12月30日 计算机科学课题性质毕业论文与工程学院 自拟/结合科研( ...查看


  • 几种典型汉字编码之间转换的原理与实现
  • 计算机科学2008Voi.35NQ.4B 几种典型汉字编码之间转换的原理与实现 周 (西南石油大学计算机科学学院 成都610500)1 永1 陈宁2 成都610213)2 (中国石油西南油气田公司输气管理处 摘要本文讨论汉字与机内码.区位码 ...查看


  • 基于JSP的图书管理系统
  • **学院 毕业设计(论文) 基于JSP 的图书管理系统 系 别 : 专业(班级): 作者(学号): 指导教师: 完成日期: **学院教务处制 目 录 基于JSP 的图书管理系统 . ............................. ...查看


  • 第四章习题答案 1
  • 第4章习题 ⎡S ⎤⎡s 1 4-1 对信源⎢⎥=⎢ ⎣P ⎦⎣0. 2 s 20. 19 s 30. 18 s 40. 17 s 50. 15 s 60. 10 s 7⎤ ⎥进行二元编码,编码方案0. 01⎦ 为 (1)计算平均码长L : ...查看


热门内容