一种基于VisualC++程序设计下的正反码译码仿真方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一种基于VisualC++程序设计下的正反码译码仿真方法
作者:张耀寰范玉娜张晓彬相金明
来源:《科技视界》 2014年第16期
张耀寰范玉娜张晓彬相金明
(沈阳理工大学,辽宁沈阳 110159)
【摘要】Visual C++支持标准C和C++,因此不仅支持传统的面向过程的软件开发方法,还支持面向对象的开发方法。

本文讨论的正反码是一种能够纠正差错的编码,应用Visual
C++6.0程序设计软件,依据正反码译码流程图结构,对正反码译码的过程进行分析比对,给出
实验仿真结果,使其变得容易理解。

【关键词】Visual C++6.0;正反码译码;程序设计
1 正反码译码原理介绍
随着空间科学和空间技术的不断发展,许多任务要求在航天器与航天器间、航天器与地面
站之间双向传输音频、视频、科学实验等多种不同类型的数据[1-4]。

为可靠的传输这些数据,需要采用信道编码技术。

正反码是一种简单的能够纠正错码的信道编码,其中的监督位数目与
信息位数目相同,监督码元与信息码元相同或者相反是由信息码中“1”的个数而确定的[5]。

编码规则为:当信息位中有奇数个“1”时,监督位是信息位的简单重复;当信息位为偶数个“1”时,监督位是信息位的反码。

例如,若信息位为10011010,则监督位为01100101;若信
息位为01010111,则监督位为01010111。

接收端进行译码时,首先将接收码组中的信息位和监督位按模2相加,得到一个8位的合成码组,然后由此合成码组产生一个校验码组,若8位全
为“0”,则无错码[5]。

2 Visual C++6.0程序开发工具
Visual C++6.0是一款面向对象的计算机程序开发工具,该工具的研发者提供了一个集程
序的创建、编辑、编译、调试等许多功能于一体的集成开发环境(Integrated Development Environment, IDE),由Microsoft公司推出。

Visual C++6.0集成开发环境功能强大,不仅有
大量的向导(Wizard),还有完备的帮助(help)功能,在Windows环境下很常用[6]。

3 正反码译码流程图设计
本课题选择码长n=16,其中信息位m=8,监督位s=8。

实验流程图如图1所示:
第一,开始时,打开一个已经完成编码的二进制码流文件,以码长n=16划分成一个个码组,码组中的高8位为信息位,低8位为监督位。

第二,将信息位与监督位进行模2运算,得到一个8位码组,若该码组中全为“0”,则直接提取信息位。

第三,若码组中仅有一个“0”或仅有一个“1”时,那么将信息位中对应于码组中的“0” 或“1”位置上的码流取反,提取出信息位。

第四,将已经处理好的文件存放到另一个文本中,完成操作。

4 实验仿真结果
本实验仿真结果如图2所示:
图2所示的两个文件中,在“接收_BitStream.txt”文件中包含信息位和监督位一共7组(14个字节)二进制码流,每个信息位后面都配有相同字节长度的监督位;将“接收
_BitStream.txt”文件中的信息位和监督位进行模2相加,以第一个码组为例,将信息位11010010和监督位00101101模2相加,11010010?茌00101101=00000000,得到一个全为“0”的校验码组,,无错码。

同理,其它6个码组模2相加之后也得到全为“0”的校验码组,译码
成功。

将7个字节的信息位提取出来存放到“译码_BitStream.txt”文件中,完成译码。

【参考文献】
[1]Tian ye,Li Qingfan,Feng yongxin,Gao xiaoling.A virtual channels scheduling algorithm with broad applicability based on movable
boundary[J].Mathematical Problems in Engineering,2013,9:1-8.
[2]田野,张子敬,张艳琴.AOS协议中自适应帧生成算法的研究[J].宇航学报,
2011,32(5):1171-1178.
[3]田野,张德育,谈振辉,潘成胜,高晓玲. 高级在轨系统中帧生成算法的包时延性能分析[J].2011,21(11):1121-1128.
[4]田野,冯永新,马玉峰,刘桂君.高级在轨系统中的多路复用与差错控制技术研究[M].北京:科学出版社,2014,4.
[5]樊昌信,曹丽娜.通信原理[M].6版.北京:国防工业出版社,2007:334-335.
[6]N.M.Josuttis,编.The C++ Standard Library:A Tutorial and
Reference[M].Addison-Wesley,Reading,MA,1999.
[7]谢贤芬.21天学通Visual C++[M].2版.北京:电子工业出版社,2001,2.
[8]E.M.Reingold,W.J.Hensen,编.Data Structures in Pascal[M]. Little Brown and Company,Boston,MA,1986.
[责任编辑:曹明明]。

相关文档
最新文档