论文部分内容阅读
在通信系统研究开发过程中,为了提高设计效率,降低硬件系统实验成本,借助于各类仿真软件进行设计、分析和仿真已成为必然。西南交通大学自主开发的“三星堆编码系统”(SanXingDui Coding System)就是一个能对通信序列设计、纠错编码、保密编码进行分析和仿真的编码软件环境。本论文主要关注于该编码软件在Windows平台下的设计与实现。本论文使用MS VC++6.0,开发完成了一个具有友好用户界面的软件工具,能够完成相关的分析和仿真。 本文讨论了“三星堆编码系统”的设计目标,进展情况和具体的实现方法。重点讨论了软件框架以及界面的设计与实现,并提出了两种不同的用于显示函数曲线的图形方案——基于VML标记语言而实现的矢量图形和利用第三方控件ProEssentials而实现的图形。另外,对软件中用到的进程间通信的机制做了讨论,提出了一种类似于“三次握手”的进程间通信机制,这种机制是建立在动态链接库共享变量与Windows注册消息的基础上的。使用这样的机制可以在不同的进程地址空间中进行数据的传递。此外,由于软件中还大量使用了动态链接库(DLL,Dynamic Link Library)技术来完成对算法和界面元素的封装,所以本文还就动态链接库的工作原理,链接方式进行了介绍,对软件中用到的显式链接和隐式链接进行了说明。最后对本软件中用到的多线程的技术进行了介绍,多线程技术用来解决进程在进行高密度计算时,界面响应迟钝的问题,并分析了多线程环境下线程同步的问题,对本软件中如何避免线程竞争和如何进行线程间通信的问题进行了研究。 本文在“三星堆编码系统”项目的各个小组的已有工作基础上,利用已经封装好的核心算法和模块,完成了对Windows环境下第一版软件的升级和改造,为该软件的第二版本的发布打下了基础。