精华内容
下载资源
问答
  • 系统论控制论信息论

    2016-04-25 17:30:01
    控制简介
  • 信息论基础,信息论系统论、和控制论被称为自动控制领域的三大基础理论,学好他们,可以互相借鉴。
  • 这是一本有关 系统论、信息论、控制论的教材。
  • 控制论,三论(控制论、信息论系统论)之一
  • 信息论与编码》在线考试系统论文 《信息论与编码》在线考试系统论文
  • 控制论信息论系统科学与哲学 控制轮的基本原理 控制论的一些方法等
  • 基于信息论的镜头边界检测系统,韩加亮,吴渝,提出了一种基于信息论的镜头边界检测系统(CBVRSYSTEM)。该系统实现了一种基于信息论的镜头检测方法。通过分析视频帧之间的互信息量MI�
  • 信息论教材

    2018-05-04 19:16:16
    信息论是运用概率论与数理统计的方法研究信息、信息熵、通信系统、数据传输、密码学、数据压缩等问题的应用数学学科。信息系统就是广义的通信系统,泛指某种信息从一处传送到另一处所需的全部设备所构成的系统
  • Atitit 三论”(系统论、控制论、信息论   1. 系统论的创始人是美籍奥地利生物学家贝塔朗菲1 2. 信息论是由美国数学家香农创立的,2 3. 什么是控制论? 2     1. 系统论的创始人是美籍奥地利生物学家...

    Atitit 三论”(系统论、控制论、信息论

     

    1. 系统论的创始人是美籍奥地利生物学家贝塔朗菲1

    2. 信息论是由美国数学家香农创立的,2

    3. 什么是控制论? 2

     

     

    1. 系统论的创始人是美籍奥地利生物学家贝塔朗菲

    。系统论要求把事物当作一个整体或系统来研究,并用数学模型去描述和确定系统的结构和行为。所谓系统,即由相互作用和相互依赖的若干组成部分结合成的、具有特定功能的有机整体;而系统本身又是它所从属的一个更大系统的组成部分。贝塔朗菲旗帜鲜明地提出了系统观点、动态观点和等级观点。指出复杂事物功能远大于某组成因果链中各环节的简单总和,认为一切生命都处于积极运动状态,有机体作为一个系统能够保持动态稳定是系统向环境充分开放,获得物质、信息、能量交换的结果。系统论强调整体与局部、局部与局部、系统本身与外部环境之间互为依存、相互影响和制约的关系,具有目的性、动态性、有序性三大基本特征。
    作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 

    汉字名:艾提拉(艾龙)   EMAIL:1466519819@qq.com

    转载请注明来源: http://blog.csdn.net/attilax


      控制论是著名美国数学家维纳(Wiener N)

    同他的合作者自觉地适应近代科学技术中不同门类相互渗透与相互融合的发展趋势而创始的。它摆脱了牛顿经典力学和拉普拉斯机械决定论的束缚,使用新的统计理论研究系统运动状态、行为方式和变化趋势的各种可能性。控制论是研究系统的状态、功能、行为方式及变动趋势,控制系统的稳定,揭示不同系统的共同的控制规律,使系统按预定目标运行的技术科学。

    2. 信息论是由美国数学家香农创立的,

     

    它是用概率论和数理统计方法,从量的方面来研究系统的信息如何获取、加工、处理、传输和控制的一门科学。信息就是指消息中所包含的新内容与新知识,是用来减少和消除人们对于事物认识的不确定性。信息是一切系统保持一定结构、实现其功能的基础。狭义信息论是研究在通讯系统中普遍存在着的信息传递的共同规律、以及如何提高各信息传输系统的有效性和可靠性的一门通讯理论。广义信息论被理解为使运用狭义信息论的观点来研究一切问题的理论。信息论认为,系统正是通过获取、传递、加工与处理信息而实现其有目的的运动的。信息论能够揭示人类认识活动产生飞跃的实质,有助于探索与研究人们的思维规律和推动与进化人们的思维活动。

     

    3. 什么是控制论?

    根据创始人维纳(Nobert Wiener)的定义,控制论(Cybernetics)是“关于动物和机器中控制和通信的科学”,简言之,控制论的中心问题就是控制通信

     

     

    首先明确什么是机器?不正式的说,机器是这么一个“东西”,它具有一系列状态以及一个(或多个)变换,机器的状态会根据它的变换在某种条件下发生转移。(所谓“某种条件”,一般情况下就是外界对机器的影响,即输入)

     

     

    由此可见控制论研究对象的范围之广,它将世间的物质看做具有一集状态的能动系统,并研究这类系统的性质。而研究的目的正如这个学科的名字一般,是为了更好的“控制”(cybernetics这个词来自希腊语,本身有“掌舵”的意思),换言之,控制论实际上就是研究“如何达到目的”的学科。

     

     

    (4)为什么人人都该学点控制论_silverbullettt_新浪博客.html

     

     

    主要技术就是反馈机制。

     

     

     

     

    控制论与科学方法论

    金观涛老师的著作,中西结合,通俗易懂,是一本很好的控制论初级读物,对反馈、稳态以及称球问题均有较深入的讨论。

    控制论导论

    个人认为最好的入门书,阐述控制论基本原理的同时巧妙地避开了深奥的数学证明。作者艾什比(Ross W. Ashby)教授是一位医学家,因此这本书体现出作者对生物系统尤其感兴趣。另外本书蕴含许多深刻的道理,令我大为受益。

    Communication Theory of Secrecy Systems

    这是一篇非常重要的论文……作者申农。

    系统化思维导论

    借回来有一阵子了,但是一直没读完……作者就是大名鼎鼎的温伯格(Gerald M. Weinberg)。之所以推荐这本书,原因是书中的内容和原理与控制论密切相关,并且温伯格本人应该接受过艾什比的教导(见此书前言)。

    系统设计的一般原理

    上一本书的姊妹篇,主要介绍设计稳定系统的一般原理。

     

     

    “三论”(系统论、控制论、信息论)及“新三论”各是什么,有何区别?_百度知道.html

     

    atiend

    展开全文
  • 系统论、控制论和信息论

    千次阅读 2009-07-21 20:59:00
    20世纪40年代,由于自然科学、工程技术、社会科学和思维科学的相互渗透与交融汇流,产生了具有高度抽象性和广泛综合性的系统论、控制论和信息论。1、系统论General System Theory 系统论是研究系统的模式、性能、...
    20世纪40年代,由于自然科学、工程技术、社会科学和思维科学的相互渗透与交融汇流,产生了具有高度抽象性和广泛综合性的系统论、控制论和信息论。

    1、系统论General System Theory

    系统论是研究系统的模式、性能、行为和规律的一门科学。它为人们认识各种系统的组成、结构、性能、行为和发展规律提供了一般方法论的指导。 系统论的创始人是美籍奥地利理论生物学家和哲学家路德维格·贝塔朗菲。系统是由若干相互联系的基本要素构成的,它是具有确定的特性和功能的有机整体。如太阳系是由太阳及其围绕它运转的行星(金星、地球、火星、木星等等)和卫星构成的。同时太阳系这个"整体"又是它所属的"更大整体"--银河系的一个组成部分。

    世界上的具体系统是纷繁复杂的,必须按照一定的标准,将千差万别的系统分门别类,以便分析、研究和管理,如:教育系统、医疗卫生系统、宇航系统、通讯系统等等。

    如果系统与外界或它所处的外部环境有物质、能量和信息的交流,那么这个系统就是一个开放系统,否则就是一个封闭系统。开放系统具有很强的生命力,它可能促进经济实力的迅速增长,使落后地区尽早走上现代化。

    2、控制论Control Theory 

    人们研究和认识系统的目的之一,就在于有效地控制和管理系统。控制论则为人们对系统的管理和控制提供了一般方法论的指导,它是数学、自动控制、电子技术、数理逻辑、生物科学等学科和技术相互渗透而形成的综合性科学。 控制论的思想渊源可以追溯到遥远的古代。但是,控制论作为一个相对独立的科学学科的形成却起始于本世纪20~30年代,而1948年美国数学家维纳出版了《控制论》一书,标志着控制论的正式诞生。几十年来,控制论在纵深方向得到了很大发展,已应用到人类社会各个领域,如经济控制论、社会控制论和人口控制论等。

    3、信息论Information Theory

    为了正确地认识并有效地控制系统,必须了解和掌握系统的各种信息的流动与交换,信息论为此提供了一般方法论的指导。语言是人与人之间的信息交流的工具,文字扩大了信息交流的范围,19世纪电话和电报的发明和应用使信息交流进入了电气化时代。信息论最早产生于通讯领域,现在已同材料和能源一起构成了现代文明的三大支柱。信息的概念已渗透到人类社会的各个领域,因此,人们说现在是信息社会、信息时代。美国政府提出了建设信息高速公路的宏大计划,得到了国内外的广泛支持,欧洲和日本等发达国家积极呼应,我国政府也拨出了巨额资金,以便在这项高科技领域内跟上世界发展的步伐。

    展开全文
  • 水资源系统工程是水资源科学与系统科学...详细论述了近年来信息论在水资源系统建模、优化、模拟、预测、评价、决策中的应用,探讨了信息论方法用于水资源系统工程中存在的问题和相应对策.展望了信息论方法在水资源系统
  • 论信息系统项目的沟通管理
  • 信息论基础

    千次阅读 多人点赞 2018-10-11 21:56:31
    信息论即香农信息论,是研究通信系统极限性能的理论。 首要问题:对信息进行度量 什么是信息? 当今是信息社会 信息的含义模糊 如何度量信息? 一般来说,可判断是否获得信息,但无法准确度量信息。 应用数学...

    信息论基础知识

    • 信息
    • 熵,条件熵,KL散度,三者关系
    • 信息增益,最大熵原理

    信息论

    信息论即香农信息论,是研究通信系统极限性能的理论。
    首要问题:对信息进行度量

    什么是信息?

    • 当今是信息社会
    • 信息的含义模糊

    如何度量信息?

    • 一般来说,可判断是否获得信息,但无法准确度量信息。
    • 应用数学工具,通过数学运算来度量信息。
      在这里插入图片描述

    信息的度量

    • 信息的度量和不确定性消除的程度有关
    • 不确定性的程度与事件发生的概率有关
    • 信息量与概率的关系:
      信息量是概率的单调递减函数
      概率小,信息量大
      概率大,信息量小

    自信息量的物理含义

    • 自信息量表示事件发生后,该事件给予观察者的信息量。
    • 自信息量的大小取决于事件发生的概率。事件发生的可能性越大,它所包含的信息量就越小。反之,事件发生的概率越小,它能提供的信息量就越大。

    自信息量需满足的条件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 论信息系统项目的范围管理
  • 信息系统项目管理师论文-论信息系统项目的进度管理
  • 数学丛书.-.[控制论].[控制论-信息论-系统科学与哲学
  • 论信息系统建设的网络规划 网络规划设计师标准论文你
  • 这本书是国内最经典的信息论与编码的教材,由傅祖芸院士编著,本书系统地论述信息论与纠错编码的基本理论。共有9章,内容包括:信息的定义和度量,离散信源和连续信源的信息熵,信道和信道容量,平均失真度和信息率...
  • 软考论信息系统项目的进度管理论文模板,仅供参考!软考论信息系统项目的进度管理论文模板,仅供参考!
  • 信息论实验-通信系统仿真(C++)

    千次阅读 热门讨论 2017-10-14 12:28:24
    实验目的这是一个综合性的大型实验,通过搭建一个包括信源、信源编译码器、信道、信道编译码器等各模块在内的仿真通信系统, 使学生能够加深对本课程各个重点章节的理解,更好地掌握通信的本质意义。 后面我会将源...

    实验目的

    这是一个综合性的大型实验,通过搭建一个包括信源、信源编译码器、信道、信道编译码器等各模块在内的仿真通信系统, 使学生能够加深对本课程各个重点章节的理解,更好地掌握通信的本质意义。
    后面我会将源代码链接给出

    实验要求

    输入: 各个模块的相关参数

    输出:

    1.信源产生的原始符号序列

    2.信源译码器输出的符号序列

    3.信道编码后的信息传输效率

    4.整个通信过程的误比特率(BER)

    5.信道编译码过程中产生的误码率(BLER)

    实验说明

    由于搭建一个完整通信系统的工作量较大,所以本实验可以使用Matlab等仿真工具。
    下面分别描述系统中各个模块的要求。本程序只使用了C++

    离散信源

    要求能以指定的概率分布(p,p-1)产生0,1符号构成的二进制信源符号序列。

    信源编码

    输入时上一步产生的二进制符号序列。要求能选择以下三种中的任意一种

    1.无编码(直通)

    2.二进制香农-费诺编码

    3.二进制霍夫曼编码

    当我们在上一步中指定信源的概率分布之后,就可以马上生成这几种编码的码表,实际的编码工作仅
    仅只是查表而已。 当然,直接对上一步指定的信源进行编码是不合适的,需要先进行信源的扩展,
    换一句话说,需要确定信源分组的长度。 这个长度N也是本系统的一个重要参数,是在系统运行之
    前由用户输入的。

    信道编码

    输入是信源编码器输出的二进制符号序列。编码方式要求能选择以下三种中的任意一种

    1.使用无编码

    2.3次重复编码

    3.Hamming(7,4)码

    信道编码器是个简单的一一对应的函数转换模块,没有额外的控制参数,可以事先实现这三种编码器,
    统一其输入输出格式,运行时按照指定的类型直接使用即可。

    信道

    其输入时信道编码器输出的二进制符号序列。经过传输后输出被噪声干扰和损坏了的二进制符号序列。
    要求能够模拟理想信道、给定错误概率为p的BSC以及给定符号0,1各自错误概率p,q的任意二进制信道。

    信道译码器

    由于信源经过信源编码器和信道编码器后的统计特性难以明确给出,所以此时理想译码器准则无法实施。
    因此根据第四步给出的信道统计特性,选择采用极大似然译码准则进行译码。

    信源译码器

    在第二步确定信源编码器之后即可同时确定信源译码器。信源译码器的工作仅仅是简单的查表即可。

    实验设计

    整个系统我们分为不同的模块进行设计,每个模块执行不同的功能,最后将所有模块连接起来就构成了我们这个通信系统。

    模块介绍

    1. 模块1:信源模块

    此模块产生随机信源信号,可根据不同的信息不同属性设置不同的产生概率。

    1. 模块2:信源编码译码模块

    此模块设计信源编码和信源译码器,分别包括Huffman编码,ShannonFano编码
    以及无算法编码,即信号不通过任何算法编码直接进入信道编码。

    1. 模块3:信道编码译码模块

    信道编码通过不同的信道编码算法将信源编码后的信号进行映射,映射到另一个空间,
    这样信号通过信道后尽管可能会收到随机误差的影响,但通过信道译码算法,可以对错
    误的码字进行一定范围的更正这样就在很大程度上减少了信息的损失。这个模块我们实
    现了三种编码方式,Hamming(7, 4)编码、三次重复编码、和空编码,空编码即不进行信道
    编码算法,直接传输,这些功能我们都可以通过程序仿真出来。

    1. 模块4:离散信道模块

    离散信道模块主要模拟二元离散信道,主要包括两种信道BSC信道和理想信道,BSC信道是需要给定
    错误概率的二元离散信道,理想信道是没有干扰的信道。

    模块实现流程

    通信系统中各个模块相互协作,各自完成自己的任务保证了整个系统的正常运行。图1是我们这个系统的
    流程图
    各模块工作流程图
    从图中我们可以看出信源模块由Source类提供支持,信源编码和译码由SourceCodeUtil类提供函数操作
    信道编码译码由ChannelCodeUtil类提供函数操作,各个类的功能我们将在下一节详细介绍。信息先由信源产生,
    然后一次经过信源编码器和信道编码器,通过信道,通过信道后的信息需要由信道译码器纠正错误信息,进一步由
    信源译码器将压缩的信息提取,最后将信息传输给信宿。

    程序实现

    实验过程构造的C++ 类

    和往常一样,此次的实验也是用C++语言写的,采用面向对象的思想,所以仿真程序中每隔模块都通过
    不同的类来实现下面列出此次仿真我写的主要功能类。

    1. class Sign 存储信息的结构类

    2. class Source 信源操作类

    3. class SourceCodeUtil 信源编码译码器设计类

    4. class ChannelCodeUtil 信道编码译码器设计类

    5. class ChannelBSC 离散无记忆二元信道类

    6. class Huffman Huffman编码和译码类

    7. class ShannonFano 香农非诺编码译码类

    8. class Hamming 汉明编码译码类

    9. class ThreeTimes 三次重复信道编码译码类

    各个类的依赖关系如下图所示:

    从各类的依赖关系中我们可以看出,Sign类是Huffman类和ShannonFano类的
    基类,而Hufffman类和ShannonFano类又是SourceCode类的基类。Hamming类和
    ThreeTimes类是ChannelCodeUtil类的基类。最后ChannelBSC类、、SourceCodeUtil类
    和ChannelCodeUtil类共同支撑住函数。

    系统中各个功能的实现

    上面从大局总体的角度将各个类的关系弄清楚了,下面我们关心的可能是各个基础类的
    具体实现方式是怎样的。

    1. class Sign
    class Sign
    {
    public:
    	struct Freq
    	{
    		unsigned char num;
    		int fre = 0;
    	};
    };
    

    Sign类仅有一个结构体Freq,用来存储字符信息。
    2. class Source

    class Source
    {
    private:
    
    public:
    	double probability; //信源分布概率
    	Source(double probability);
    	string generate(int length);  //产生随机信源
    };
    
    1. class SourceCodeUtil
    class SourceCodeUtil
    {
    private:
    
    	string IntToString(int n)
    	{
    		ostringstream streamm;
    		streamm << n;    //n为int类型
    		return streamm.str();
    	}
    public:
    
    	string source;
    	vector<Sign::Freq> sourcefrc;
    	vector<Sign::Freq> count(string s);
    	SourceCodeUtil(string srcStr);
    	string encode(int type);
    	string decode(string decodeString, int type, vector<Sign::Freq> data);
    };
    

    SourceCodeUtil是信源编码译码器设计类。有一个内部私有类用来将int型数据转化为string类型
    有两个共有属性source和sourcefrc分别存储信源信号和信号各个字符出现的频率信息。
    四个公有函数,count()、encode()、decode()和SourceCodeUtil()构造函数。
    count()函数用来统计各个字符的频率,encode()执行信源编码工作,decode()执行信源解码工作。

    1. class ChannelCodeUtil
    class ChannelCodeUtil
    {
    public:
    	string encode(string src, int type);
    
    	string decode(string channelthrough, int type);
    };
    

    ChannelCodeUtil类是信道编码译码器设计类,仅有两个公有函数,分别是encode()和decode(), 分别执行信道编码和信道解码的工作。
    5. class ChannelBSC

    class ChannelBSC
    {
    public:
    	string through(string src, double p0, double p1);
    };
    

    ChannelBSC 类是离散无记忆二元信道类, 仅有一个through()通过函数,这个函数模拟了信息
    通过BSC信道。

    1. class Huffman
    class Huffman
    {
    public:
    	struct HuffmanNode
    	{
    		unsigned char value; //节点值
    		int frequency = 0; //节点频数
    		struct HuffmanNode *Lchild = NULL;
    		struct HuffmanNode *Rchild = NULL;
    
    	};
    private:
    	struct CountVector
    	{
    		unsigned char value; //字符
    		int frequency = 0;  //字符频数
    		struct HuffmanNode *nodeAddress = NULL;
    	};
    	struct HuffmanCode
    	{
    		unsigned char value;
    		int frequency = 0;
    		string code;
    		int codelen;
    	};
    	static bool mysortfunction(CountVector A, CountVector B)
    	{  //用于sort排序算法
    		return A.frequency < B.frequency;
    	}
    public:
    	HuffmanNode *root;
    	long int NumOfChar;
    	vector<CountVector> charCountFrequency;  //用于存储字符频数
    	vector<HuffmanCode> HuffmanCodeVec;
    	Huffman();  //构造函数
    	string encode(string src, vector<Sign::Freq> data);  //编码函数
    	void CreateHuffmanTree(vector<CountVector> charFrequency);  //创建huffman树
    	void GetHuffmanCode(HuffmanNode *root, int len);
    	string WriteCode(vector<HuffmanCode> hfCode, string str);
    	string decode(string src, vector<Sign::Freq>  data);
    };
    

    Huffman类是进行Huffman编码和译码的类参照我的另一篇博文。包含7个属性,和7个函数,其中核心函数是encode(),和 decode()函数,分别执行Huffman 编码和译码操作。
    7. class ShannonFano

    class Fano
    {
    public:
    	struct FanoNode
    	{
    		unsigned char value; // 字符
    		struct FanoNode *Lchild = NULL;  //左孩子
    		struct FanoNode *Rchild = NULL;   //右孩子
    	};
    private:
    	struct CountVector
    	{
    		unsigned char value;
    		int frequency = 0;
    		struct FanoNode *nodeAddress = NULL;
    	};
    
    private:
    	struct FanoCode
    	{
    		unsigned char value;
    		int frequency;
    		string code;
    		int codelen;
    	};
    private:
    	static bool mysortfunction(CountVector A, CountVector B)
    	{  //排序函数
    		return A.frequency > B.frequency;
    	}
    public:
    	FanoNode *root;  //存储树的结构
    	long int NumOfChar;
    	vector<CountVector> charFrequency;  //字符频率
    	vector<FanoCode> FanoCodeVec;  //存储Fano码, 包括码长,码字
    	Fano();
    	void CreateTree(vector<CountVector> charFrequency, FanoNode *rootNode);
    	void GetFanoCode(FanoNode* root, int depth);
    	string WriteCode(vector<FanoCode> HFCode, string sourceStr);
    	string decode(string sourcefile, vector <Sign::Freq> data);
    public:
    	string encode(string src, vector<Sign::Freq> data);
    private:
    	void splitVec(vector<CountVector> charFr, vector<CountVector> &charFr1, vector<CountVector> &charFr2);
    };
    

    ShannonFano类是香农非诺编码译码类,和Huffman类比较类似,因为其编码方式和Huffman算法的编码方式
    比较接近,所以算法流程近似。不过也有差异,两者构造树的过程有一定的差别。

    1. class Hamming
    class Hamming
    {
    public:
    	string encode(string src);
    	string decode(string src);
    private:
    	int row;
    	int message[4];//信息位
    	int S[3]; //校正子
    	int e[7]; //纠正子
    	int send[7]; //发送的七位码字
    	int Y[7]; //收到的七位码字
    	int C[7]; //接收到的七位代码
    	int get_code[4]; //接收到的四位信息
    	int G[4][7] = { { 1,1,0,1,0,0,0 },{ 0,1,1,0,1,0,0 },{ 1,1,1,0,0,1,0 },{ 1,0,1,0,0,0,1 } };
    	int H[3][7] = { { 1,0,0,1,0,1,1 },{ 0,1,0,1,1,1,0 },{ 0,0,1,0,1,1,1 } };
    	void CreateCode(int array1[4], int array2[4][7]) //生成七位发送的代码
    	{
    		int i, j, m = 0;
    		for (j = 0; j<7; j++)
    		{
    			for (i = 0; i<4; i++)
    			{
    				m = (array1[i] * array2[i][j]) ^ m;
    			}
    			this->send[j] = m;
    			m = 0;
    		}
    	}
    	void Syndrome(int array[7], int array1[3][7]) //得出矫正子S
    	{
    		int k = 0, a, b;
    		for (a = 0; a<3; a++)
    		{
    			for (b = 0; b<7; b++)
    			{
    				k = k ^ (array1[a][b] * array[b]);
    			}
    			this->S[a] = k;
    			k = 0;
    		}
    	}
    	void Comp(int array1[3], int array[3][7]) //得出纠正子e
    	{
    		int i = 0, j = 0, m = 1, p;
    		while (m)
    		{//j=j+1;
    			if ((array1[0] == array[0][i]) && (array1[1] == array[1][i]) && (array1[2] == array[2][i]))
    			{
    				m = 0;
    				row = j;
    				for (p = 0; p<7; p++)
    				{
    					if (p == row)
    					{
    						this->e[p] = 1;
    					}
    					else
    					{
    						this->e[p] = 0;
    					}
    				}
    			}
    			else
    			{
    				j = j + 1; i++;
    				if (i == 7)
    				{
    					for (p = 0; p<7; p++)
    					{
    						this->e[p] = 0;
    					}
    					m = 0;
    				}
    			}
    		}
    	}
    	void CorrectCode(int array3[7], int array4[7]) //得出正确的码字
    	{
    		int z;
    		for (z = 0; z<7; z++)
    		{
    			this->C[z] = this->Y[z] ^ this->e[z];
    		}
    		for (z = 0; z<4; z++)
    		{
    			this->get_code[z] = this->C[z + 3];
    		}
    	}
    	string IntToString(int n)
    	{
    		ostringstream stream;
    		stream << n;    //n为int类型
    		return stream.str();
    	}
    };
    

    Hamming类是汉明编码译码类参照Blog,执行信道的Haming(7, 4)编码译码工作,encode() decode()是唯一两个和外部交互的公有函数,执行Hamming(7, 4)的编码和译码工作,剩余的10个属性和5个函数都是内部私有函数,在执行操作时实现算法的细节部分,但不能和外部类成员交互。
    9. class ThreeTimes

    class ThreeTimes
    {
    public:
    	string encode(string src);
    	string decode(string src);
    private:
    	char Correct(char a, char b, char c);
    };
    

    ThreeTimes类是三次重复信道编码译码类,包含两个公有的函数和一个私有的函数,两个公有函数进行重复三次的编码和译码算法,私有函数执行了译码时更正信道产生误差的操作。

    仿真结果

    第一步输入各个模块需要的参数信息


    通过对各个模块的参数进行初始设置,首先设定随机信源的信息长度,然后选取一种信源编码方式,rhein我们选择2
    也就是Fano编码方式,选取信道编码方式,我们选取Hamming(7, 4)编码方式,接着我们选取BSC信道。最后
    指定在信道中字符1和字符0分别传输错误的概率,这里信道并不一定是对称的。

    第二步继续执行函数


    输出选定的参数,让运行程序者进一步确定是否是自己想要的参数,然后继续执行程序。

    第三步对各个模块的结果进行输出

    总结

    通过这几次的信息论实验,加上最后一次的综合实验,我们对信息论这门学科有了更深的认识,实验过程
    不但很好的巩固了信息论相关的基础知识,而且进一步锻炼了编程能力和动手能力,使我们的思维有了很好的
    锻炼。信息论课程的外延很广,因此在学习时对本课程与其他课相关联的内容进行特意地深究,是非常有必要的。这样就可以建立起课程之间的联系,课程与课程之间不再是离散的信息孤岛,而是有框架组织和脉络条理的信息树。这样我们逐渐会把不同课程的知识融会贯通,从而使我们学习的兴趣和动力得到进一步提升。另外,由于信息论方法具有普遍的适用性,因此可以把课上学习的内容和我们的日常生活紧密结合起来,从而提高学习的兴趣。例如,在学习多符号离散信源时,可以和日常生活中大家在电视上见到的摇奖场面联系起来。一台简单的摇奖机,从十个号码球中摇出一个数字号码,可以看作一个单符号离散信源,它有十个符号,从0至9。如果需要摇出七位数的体育彩票号码,这可以看成是一个多符号信源,一次同时发出七个符号,而且是单符号离散信源的7次扩展。又如,在学习汉明距离时,可以和英语学习联系起来。在
    英语中拼写非常接近的单词很容易混淆或者拼写错误,用信息论的观点来看就是两个码字的汉明距离(不同位的个数)太小,因此抗干扰的能力差。

    信息论是信息科学的主要理论基础之一,它是在长期通信工程实践和理论基础上发展起来的。信息论是应用概率论、随机过程和数理统计和近代代数等方法,来研究信息的存储、传输和处理中一般规律的学科。它的主要目的是提高通信系统的可靠性、有效性和安全性,以便达到系统的最优化。编码理论与信息论紧密
    关联,它以信息论基本原理为理论依据,研究编码和译码的理论知识和实现方法。由于信息论方法具有相当普遍的意义和价值,因此在计算机科学、人工智能、语言学、基因工程、神经解剖学甚至金融投资学等众多领域都有广泛的应用,信息论促进了这些学科领域的发展,同时也促进了整个社会经济的发展。人们已经开始利用信息论的方法来探索系统的存在方式和运动变化的规律,信息论已经成为认识世界和改造世界的手段,信息论对哲学领域也有深远的影响。

    补充:前文说要放上源代码的,开始写Blog的时候没有整理好,这次将源代码补充上。PiggyGaGa git

    展开全文
  • 论信息系统项目的整体管理,对一个项目的整体管理进行了详细的论述
  • Chapter 2 大规模MIMO系统信息论基础及信道容量分析
  • 信息论-香农.pdf

    2019-05-22 13:45:50
    信息论是运用概率论与数理统计的方法研究信息、信息熵、通信系统、数据传输、密码学、数据压缩等问题的应用数学学科。信息系统就是广义的通信系统,泛指某种信息从一处传送到另一处所需的全部设备所构成的系统信息...
  • 信息系统项目管理--论文分析笔记

    万次阅读 多人点赞 2019-10-22 10:47:29
    信息系统项目管理–论文分析 (1)整体管理 制定项目章程 1.项目发起人发布了这个文件,项目启动了,我被授权了 2.项目章程的内容(6个项目,2个总体,2个其他) 制定项目管理计划 1.和大家一起制定了一个项目...
  • 系统论在“通信与信息系统”研究中的运用初探,倪明芳,王越,给出了一般系统论的基本思想方法和简单分类,概述了通信系统的基本组成和主要性能指标,侧重分析了系统论在通信系统中的运用,以
  • 信息论:熵与互信息

    万次阅读 多人点赞 2016-11-25 21:18:43
    这篇文章主要讲:熵, 联合熵(joint entropy),条件熵(conditional entropy),相对熵(relative entropy,KL 距离),互信息(mutual information),交叉熵(cross entropy),困惑度(perplexity)。 ...
  • 信息论基础(学习笔记整理)

    万次阅读 多人点赞 2019-06-08 13:24:12
    整理信息论基础的知识点。
  • 信息论学习

    千次阅读 2014-02-27 19:53:00
    信息论(英语:Information theory)是运用概率论与数理统计的方法研究信息、信息熵、通信系统、数据传输、密码学、数据压缩等问题的应用数学学科。 信息论将信息的传递作为一种统计现象来考虑,给出了估算通信...
  • 应用信息论基础答案

    热门讨论 2012-09-26 22:51:54
    朱雪龙《应用信息论基础》习题答案 本书从基本概念、基本方法和基本应用三个方面较系统地介绍了信息理论。包括信源的熵率、冗余度与冗余度压缩编码等。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 275,065
精华内容 110,026
关键字:

信息论系统吗