信道编码来降低误码率,提高数字通信的可靠性。
随着差错控制编码技术的蓬勃发展,作为信道传输过程抗干扰的有效手段,其中较为成熟的编码方法如汉明码奇偶校验码循环冗余码等编码技术,被广泛应用于计算机电子通信控制等领域。
其中汉明码是种能够纠正位且编码效率较高的线性分组码。
由于它的编译码在工程上较易实现,所以应用广泛。
与其他的校验码类似,汉明码也利用了奇偶校验位的概念,通过在数据位后面增加些比特,可以验证数据的有效性。
利用个以上的校验位,汉明码不仅可以验证数据是否有效,还能在数据出错的情况下指明位置。
在接受端通过纠错译码自动纠正传输中的差错来实现码纠错功能,称为前向纠错。
在数据链路中存在大量噪音时,可以增加数据吞吐量。
通过在传输码列中加入冗余位也称纠错位可以实现前向纠错。
但这种方法比简单重传协议的成本要高。
汉明码利用奇偶块机制降低了前向纠错的成本。
软件实现下面给出基于最常用的单片机汇编语言的汉明码测试程序。
它的有效信息占到了总编码长度的,测试程序中自动生成个字节的原始数据。
原始数据块的长度存放地址可根据实际情况由用户自己确定,只要将本测试程序的汉明码编码解码子程序嵌入用户应用程序中,就可直接使用。
本课题就是研究利用系列单片机来实现,汉明码的编码。
关键词单片机线性分组码,汉明码扬州大学本科生毕业设计扬州大学本科生毕业设计,扬州大学本科生毕业设计第章绪论第章实验的软硬件环境语言的概述语言的发展历史语言的特点语言的开发流程的程序结构逻辑芯片的分类Ⅱ的使用第章基于的解码电路的设计的概述解调码的基本原理位同步的实现,帧同步的实现,字同步及码串并转换,模块综合,分析与总结,总结致谢参考文献扬州大学本科生毕业设计第章绪论在简要介绍汉明码编码原理的基础上,详细分析干扰对汉明码纠错的影响通过对汉明码重新组织排列,在不增加代码冗余的前提下,提高汉明码抗突发干扰的能力,为汉明码在实际中的应用提供新的思路给出基于单片机的汇编语言汉明码测试程序。
纠错引言汉明码是在原编码的基础上附加部分代码,使其满足纠错码的条件。
它属于线性分组码,由于线性码的编码和译码容易实现,至今仍是应用最广泛的类码。
在实际应用中常常存在各种突发干扰,使连续多位数据发生差错。
为了纠正个以上的差错,就要加大码距,使代码冗余度大大增加,通信效率下降。
本文所介绍的方法,就可以在不加大码距的同时,提高汉明码对突发干扰所产生差错的纠错能力,纠正多位连续的差错。
用汉明码对连续多位差错纠正的实现要想在不加大码距的前提下,纠正连续多位差错,提高抵抗突发干扰的能力,可根据校验矩阵得出的汉明码重新进行组织排列通信中,般可分为异步同步两种方式。
在异步传输中起始位和停止位是由硬件电路产生的,如果干扰使起始位或停止位发生了改变,那么即使程序有跨字节纠错的能力也是无用的。
对于同步方式则是可行的,因为在发送接收双方取得同步后,数据块的每个字符间取消了起始位和停止位。
常用的串口通信般采用异步传输方式,能保证纠正连续个字节的差错就可以了。
我们也要看到,这样处理后提高了汉明码对突发干扰差错的纠错能力,却牺牲了对随机干扰纠错能力。
因为这样对汉明码重新排序后,原来个汉明码的各个位分布在不同位置的字节里,当有多个随机干扰出现时,可能使原来这个被拆开的个汉明码多位出现差错。
因此采用多少位的汉明码,如何对汉明码重新组织排列,要根据信道的特点来决定。
软件实现下面给出基于最常用的单片机汇编语言的汉明码测试程序。
它的有效信息占到了总编码长度的,测试程序中自动生成个字节的原始数据。
原始数据块的长度存放地址可根据实际情况由用户自己确定,只要将本测试程序的汉明码编码解码子程序嵌入用户应用程序中,就可直接使用。
扬州大学本科生毕业设计第章实验的软硬件环境语言的概述开发工具标准编译器为微控制器的软件开发提供了语言环境,同时保留了汇编代码高效,快速的特点。
编译器的功能不断增强,使你可以更加贴近本身,及其它的衍生产品。
已被完全集成到的集成开发环境中,这个集成开发环境包含编译器,汇编器,实时操作系统,项目管理器,调试器。
可为它们提供单而灵活的开发环境。
版本是目前最高效灵活的开发平台。
它可以支持所有的衍生产品,也可以支持所有兼容的仿真器,同时支持其它第三方开发工具。
因此,版本无疑是开发用户的最佳选择。
集成开发环境项目管理工程是由源文件开发工具选项以及编程说明三部分组成的。
个单的工程能够产生个或多个目标程序。
产生目标程序的源文件构成组。
开发工具选项可以对应目标,组或单个文件。
包含个器件数据库,可以自动设置汇编器编译器连接定位器及调试器选项,来满足用户充分利用特定微控制器的要求。
此数据库包含片上存储器和外围设备的信息,扩展数据指针或者加速的特性。
可以为片外存储器产生必要的连接选项确定起始地址和规模。
扬州大学本科生毕业设计二集成功能的强大功能有助于用户按期完工。
集成源极浏览器利用符号数据库使用户可以快速浏览源文件。
用详细的符号信息来优化用户变数存储器。
文件寻找功能在特定文件中执行全局文件搜索。
工具菜单允许在集成开发环境下启动用户功能。
可配置接口提供对版本控制系统的入口。
接口对应用程序代码进行深层语法分析。
的接口集成块集代码产生。
的功能协助用户的和外部程序。
工程可被直接输入编辑器和调试器源代码编辑器编辑器包含了所有用户熟悉的特性。
彩色语法显像和文件辩识都对源代码进行和优化。
可以在编辑器内调试程序,它能提供种自然的调试环境,使你更快速地检查和修改程序。
二断点允许用户在编辑时设置程序断点甚至在源代码未经编译和汇编之前。
用户启动调试器之后,断点即被激活。
断点可设置为条件表达式,变量或存储器访问,断点被触发后,调试器命令或调试功能即可执行。
在属性框中可以快速浏览断点设置情况和源程序行的位置。
代码覆盖率信息可以让你区分程序中已执行和未执行的部分。
扬州大学本科生毕业设计三调试函数语言中,你可以编写或使用类似的数语言进行调试。
内部函数如及其它功能的函数。
信号函数模拟产生的模拟信号和脉冲信号。
用户函数扩展指令范围,合并重复动作。
四变量和存储器用户可以在编辑器中选中变呈来观察其取值。
双层窗口显示,可进行以下调整当前函数的局部变量用户在两个不同窗口页面上的自定义变量堆栈调用页面上的调用记录树不同格式的四个存储区编译器编译器在遵循标准的同时,为微控制器系列特别设计。
语言上的扩展能让用户使用应用中的所有资源。
存储器和特殊功能寄存器的存取编译器可以实现对系列所有资源的操作。
的存取由和两个关键字来提供。
变量可旋转到任个地址空间。
用关键字还能把变量放入固定的存储器存储模式大,中,小决定了变量的存储类型。
连接定位器支持的代码区可达个,这就允许用户在原有的基础上扩展程序。
在的编译器和许多高性能仿真器中,可以支持应用程序