·842·
计算机应用研究
2006 年
基 于 MATLAB 的 通 信 系 统 仿 真 平 台 设 计
( 1. 内蒙 古工 业大 学 信 息工 程学 院, 内 蒙古 呼 和浩 特 010062; 2. 北 京工 业大 学 电子 信 息 与控 制 工 程学 院 , 北
京 100022)
黎玉玲 1, 张延华 2
摘 要: 采 用 MATLAB 语言 及 SIMULINK 仿 真 环境 作 为 工具 , 给 出 了一 种 基 于 MATLAB 的 通 信系 统 仿 真 平 台
GUI 设计 方案 。开 发的 图形 用户 界面设 计简 单、结构 一致 , 具有 可视化 、开放 性、可 扩 展性 、易 于学 习 和 维护 等 优
点。
关键 词: 仿 真; 可视化 ; GUI; 面 向对 象
中图 法分 类号 : TN929. 5
文 章编 号: 1001- 3695( 2006) 10- 0248- 03
文 献标 识码 : A
Simulation Platform Design of Communication Systems Based on MATLAB
LI Yu-ling1, ZHANG Yan-hua2
( 1. College of Information Engineering, Inner Mongolia University of Techodogy, Huhehaote Inner Mongolia 010062, China; 2. College of E-
lectronic Information & Control Engineering, Beijing University of Technology, Beijing 100022 , China)
Abstract: The paper presents a GUI scheme of communication systems adopted MATLAB and SIMULINK. The GUI which
processes a visual effect is open and easy to expand.
Key words: Simulation; Visual; GUI; Object-Oriented
现代通信系 统 的发 展使 通 信系 统和 通 信设 备日 益 复杂。
为使通信系统在一定条件下具有最佳性能, 就必须在设计时了
解各种参数对性能的影响以及它们之间复杂的相互依从关系。
随着计算技术的飞速发展, 通信系统仿真已成为今天设计和分
析通信系统的主要工具。目前用于通信系统仿真的软件很多,
其中 Math Works 公司开发的 MATLAB 语言以其强大而优越的
功能受到越来越多的青睐。但 现有的 通信系 统仿真 研发工 作
多数是用 MATLAB 语言编写的程序, 普遍 存在着可读 性、可 重
用性和可扩展性差, 人机界面不友好, 维护困难等缺点, 即便有
些通信工程师用在 SIMULINK 仿 真环境 下搭 建仿 真模 块来 实
现通信系统的分析和仿真, 也多数是针对具体问题搭建若干具
体的仿真模块, 需要专人解读和较长时间的学习才能够掌握和
应用, 使研究工作缺 乏连续 性。 面对这 些问题, 本文 在面向 对
象方法学的指 导下 [ 1] , 提出 了一 种 通信 系 统仿 真 平 台的 GUI
设计方案。
1 面向对象的图形用户界面
20 世纪 90 年代发展起来的面向 对象技术, 给计 算机仿 真
技术的发展带来了新的生 机。面向对 象方法 类似于 人们对 实
际问题自然的思 维处 理方 式, 它将 客观 世界 ( 即 问题 领域 ) 看
成是由一些相互联系的事物( 即对象) 组成。每个对 象均有 自
己的内部状态和运动规律, 不同对象间的相互作用和相互联系
构成了完整的客观世界, 问题的解由对象与对象之间的通信来
描述。面向对象方法比较自然准确地描述了客观世界, 从问题
领域到分析设计阶段的映射是直接和平滑的, 因此用它开发出
收稿日期: 2005- 03- 28; 修返日期: 2005- 09- 06
来的系统易于理解和维护 [ 2] 。构成面 向对象 技术实 现机制 的
核心是对象、类、消息、继 承、封 装和多 态。面向对 象方 法所 依
赖的最基本概念是封装性 和可重 用性。封装 性意味 着数据 和
过程这两个基本的处理元素被不可分割地联系在一起, 存放到
对象中, 各个对象之间是尽 可能独 立无关 的; 可重用 性意味 着
对象是通用和独立的, 足以 构成软 件的插 件式兼 容单元, 对 象
可作为许多系统的组成部分。
软件系统的用户接口有两类, 即命令驱动方式的交互式问
答接口和事件驱动方式的图形用户接口( GUI) 。在 20 世纪 90
年代, 图形用户界面 ( GUI) 有了 飞速发 展, 目 前 GUI 已 占据 了
主要位置, 成为各类应用软件系统界面的主要形式。所谓图形
用户界面( GUI) , 是指包含了各种图形控制 对象, 如 图形窗口、
菜单、对话框以 及文 本等 内 容的 用户 界 面。利用 这 些用 户 界
面, 用户可以与计算机之间进行信息交流。图形用户界面在一
定意义上说是 面向 对象 的 [ 5] 。从 用 户的 观点 看, 各 种图 形 控
制对象是非常直观的对象, 用户可以通过鼠标或者键盘与这些
对象进行交互; 从开发者的 角度看, 界 面中的 窗口子 系统具 有
面向对象的性质: ①一个窗 口可以 包含许 多窗口, 这 相当于 面
向对象技术中继承的聚集关 系; ② 一个 窗口在 不同的 环境下,
其显示的式样、窗口的内容 则不同, 这 类似于 面向对 象中的 多
态性和动态编联功能。由于图 形用户 界面有 以上这 些内在 和
外在的对象性质, 可以很方便地采用面向对象技术开发应用软
件系统中的用户界面。
本文采用 MATLAB 的图形用户界面设 计向导( GUIDE) 进
行通信系统仿真平台 的设计 和实现。MATLAB 提 供的 设计 向
导 ( GUIDE) 包括控 制面 板、属性 编辑 器、事件 过程 编辑 器、对
齐工具和菜单编辑器五个图形 用户界 面编辑 工具 [ 4] 。利用 该
第 10 期
黎玉玲等: 基于 MATLAB 的通信系统仿真平台设计
·942·
向导用户可以将图形界面的外观, 包括所有的按钮以及图形的
位置确定下来, 然 后用 MATLAB 的回调 程序 编辑 器来 编写 完
成约定任务的函数代码, 从而方便快捷地设计一个图形用户界
面。对于 MATLAB 图形用 户界面, 基于 面向 对 象的 设计 过 程
一般分为以下三个部分:
( 1) 对象或类的确定。运用面向对 象的方 法, 根 据所设 计
系统的组成对系统进行对象的提取和类的确定; 确认各对象与
类之间的继承或 聚合 关 系, 将类 和 对象 按照 层 次方 式组 织 起
来, 使系统结 构更加清晰, 系统 模型更有条理, 也使 编程人员、
维护人员清楚对象与类之间的内在联系。
( 2) 图形用户界面 的外观 设计。通过 MATLAB GUIDE 面
板提供的对话框、按钮、文本框等图形控制对象和坐标轴对象,
设计通信系统仿真平台图 形用户 界面。在外 观设计 时还需 考
虑通信系统仿真平 台 GUI 的功能 配 置, 即该 图 形用 户界 面 的
操作将引发何种结果。
( 3) 图形用户 界面的 功能 配置。根 据外 观 设计 阶段 所 确
定的用户界面功能需求, 针对不同的图形对象编写能够实现该
对象功能的回调函数代码, 确保图形用户界面完成所有预定的
通信系统仿真功能。
2 通信系统仿真的 GUI设计
通信系统的仿真对于无线移动通信的研究具有重要意义,
一个友好的图形用户界面可以 使用户 更好地 学习和 使用通 信
系统仿真的应用程序。本文旨 在设计 一个通 用的通 信系统 仿
真平台, 要求能够实现不 同输入 信号、不同无 线信道 模型以 及
不同信道估计算法情况下通信系统的分析和仿真, 并要求该平
台操作简单方便, 具有良好的可扩展特性。基于以上系统分析
和系统功能要求, 本 文 根据 通信 仿 真系 统的 组 成对 其进 行 分
解, 抽象出它们的基本运算单元及组合关系并将其封装成相互
独立的各个对象; 通过类或对象的认 定确定 类之间 ( 或对象 之
间) 的继承、概括和特化关系; 然 后对其 属性、所提供 的方法 和
所需要的方法进行描述, 并按照 它们之 间的关 系进行 组织, 得
到类( 或对象) 的层 次结构; 最后 将类( 或 对象) 用 特定 的图 形
或图标表示, 进而建立相应的无线信道仿真模型库和信道估计
算法模型库并使之服务于搭建的通信系统仿真平台。
本文搭建的通信系统仿真平台由图形用 户界面( GUI) 、系
统仿真执行器和模型库三 部分组 成。系统仿 真执行 器的功 能
是: 读取仿真实例信息、识别组成系统的各个模型、建立模型间
的内部连接、读取模型所需参数、安排模型的访问次序、实现模
型间的数据传递、执行仿真。用户通 过 GUI 访问执 行器 [ 6] , 执
行器采用对话框驱动方式。模 型库是 通信系 统仿真 功能得 以
实现的基础。本文利用面向对 象技术 将通信 系统组 成实体 的
属性和操作封装成对象存储在相应的模型库中, 并基于对象技
术实现各种信道 估计 算 法的 图形 化 模块 封 装, 进而 形成 通 用
的、有良好扩展性的无线信道仿真模型库和信道估计算法模型
库。在此基础上对各种通信输 入信号 以及前 后向操 作处理 等
组成实体进行封装链接最终构 建成能 进行各 种通信 系统可 视
化分析的通信系统仿真平台。
具体地说, 基于 MATLAB 的 通 信系 统仿 真 平台 的设 计 步
骤如下:
( 1) 首先运用面向对象方法, 对通信仿真 系统进 行对象 的
提取和确定。在面向 对象 的系 统分 析 ( OOA) 过 程中, 从 通 信
仿真系统中抽象出面向对象编程 ( OOP) 的类 和对象 [ 7] 。根 据
上文对系统功能的分析, 可以确定通信系统仿真平台图形用户
界面由输入信号仿真模型类、信道 仿真模 型类、信道 估计算 法
类等组成。每个类中可有一组相似的对象。
( 2) 通过设计 GUIDE 应 用程 序的 选 项来 进 行 GUI 组态。
该对话框的选项包括窗口重 画行为、命令 行访问、生 成文件 选
择、生成回调函数原型、使用系统背景颜色配置等选项, 通过不
选或选中它们, 可以实现图形用户界面的整体组态设计。
( 3) 使用界面 设计 编辑 器进 行 GUI 设 计。 MATLAB 界 面
设计编辑器组件平台中包含所 有能够在 GUI 中使用 的用户 界
面控件, 即按钮、单选按钮、拴牢 按钮、复选框、编辑 框、静态 文
本、滚动条、组合框、列表 框以 及 弹出 式菜 单 等。一 个 GUI 中
可以存在一个或多 个以 上的 GUI 组 件, 使用 时 要注 意保 证 各
个组件的名称或属性有所不同, 以便区分。用户可以用属性检
查器对各组件的属性进行设计。
( 4) 理解 应 用程 序 M 文件 中 所 使 用 的编 程 技 术。 MAT-
LAB 可以通过创建应用程序 M 文件为 GUI 控制程序提供一 个
框架。该框架孕育着一种高效而坚固的编程方法, 即所有代码
均包含在应用程序 M 文件中, 这就 使得 M 文 件只有 一个入 口
可以初始化 GUI 或调用相应的回调函数以 及 GUI 中希望使 用
的任意帮助子程序。对 应用 程序 M 文件 代码 进行 详细 分析,
通过了解 GUIDE 创 建应用程序 M 文件的功能, 从而 实现 GUI
规划。
( 5) 编写用户 GUI 组件行为响应控制( 即回调函数) 代码。
控制 GUI 组件响应用户的行为是 GUI 的实现任务之一。MAT-
LAB 的 GUIDE 可以根据用户 GUI 的版面设计过程直接自动生
成 M 文件框架, 这样就简化了 GUI 应用程序的创建 工作, 用 户
可以直接用这个框架来编写自己的函数代码。
( 6) 保 存 GUI。激 活 GUI 界 面, 确 保 界 面 符 合 预 定 的 要
求, 设计满意后保存 GUI。
( 7) 执行 GUI。运行通 信系 统仿真 平台 的应 用程 序 M 文
件, 对它进行反复调试, 使界面 及各用 户控件 符合系 统预定 的
功能。
3 系统的设计与实现
本文利用面向对象技术将 通信系 统组成 实体的 属性和 操
作封装成对象存储 在相 应的 模型 库中, 然 后 通过 GUI 的 组 件
编程实现各个 模 块的 调用 和 链接, 从而 实 现 了基 于 MATLAB
的通信系统仿真平台的设 计。 所构建 的通信 系统仿 真平台 主
界面如图 1 所示。该仿真平台能够在各种信源、信道条件以 及
不同信道估计算法情况下进行信号传输的估计和仿真, 还可以
给出估计信道的冲击响应图、阶跃响应图、频率响应图、零极点
分布图等; 最后, 对通过所选信 道的通 信信号 数据流 进行各 种
逆项操作处理( 重采样、解码、解交织、解扰频、均衡 等) 恢复 出
源信号。本文构建的通信系 统仿真 平台界 面友好、直观, 操 作
简单、方便, 并且具有良好的可扩展性。
本文设计的通信系统仿真平台大体分为以下四个部分:
( 1) 信号输入类。本文提供两种信号输入 方式( 即两个 输
·052·
计算机应用研究
2006 年
入用户界面子类) , 既 能以 工作 空间 中存 在 的变 量作 为 输入,
也可以选择保存过的各种 典型通 信信号 作为输 入。输入信 号
幅频响应。图 7 为采用 LMS 自适应导引估计算 法得到的估 计
信道的幅频响应。
将直 观地显示在 主界面左下 方的数据模 板中。图 2 所示 为输
入信号图形用户界面。信号输入部分还包括 Time Plot 和 Data
Spectra 两个复选框 对象, 它 们能 够 对观 察数 据 模板 中选 定 的
输入变量进行时域和频域分析。
图 1 通信系统仿真平台
图 2 输入信号 GUI
( 2) 前向处理 操作类。它 可以 对工 作数 据 集中 的输 入 数
据进行重采样、编 码、交织、扰频、信 道 卷积 等 前向 处 理 操作。
图 3 所示为 前向 处 理 操作 中 信 道 仿 真 模 型类 的 选 择 GUI 窗
口, 以及它下层对实际信道进行冲击响应建模的选择对话窗口
子类。此外信道仿真模型类还 包括加 载已有 的经典 信道模 型
选择对话窗口子类。
( 3) 信道估计 算法类。通 过弹 出式 菜单 可 以激 活典 型 的
自适 应导 引估 计 算法 的 GUI 子 类 和盲 信道 估 计算 法 GUI 子
类。自适应导引 估计 GUI 包括 LMS, RLS 和 Kalman 自适应 导
引信道估计三个对 象选 项; 盲估 计算 法 GUI 包 括自 适应 倒 三
谱盲估计算法、基于循环 倒谱的 盲估计 算法、利用输 出端循 环
平稳性的盲估计算法、利用输入端循环平稳性的盲估计算法等
对象选项。图 4 所示 为盲 信道 估计 算法 GUI。信 道估 计部 分
还包括对估计信道模型进行 分析的 Model Out, Model Resides,
Zeros and Poles, Frequency Resp, Step Resp 和 Impulse Resp 等复
选框对象, 激活它们将分 别给出 估计信 道模型 的输出、估计 误
差的平方值、模型输出的 自相关、理想 输出与 估计输 出的互 相
关、零极点、频率响应、阶跃响应以及冲击响应等直观图。
( 4) 逆向处理操作 类。它可对 输入 Operating Data 数据 模
板中的 变量进行重 采样、解 码、解 交织、解 扰频、均衡等逆向 处
理操作。其中均 衡是 在 信道 估计 基 础上 恢 复源 信号 的 过程。
对应的分析选项类给出均衡后 信号和 源信号 的直观 图以及 估
计的误比特率、误码率和眼图效果。
此外, 通信系统仿真平台还 包括 To Workspace 和 Trash 两
个文本框对象, 用 鼠标拖 动 Data View 数据 模板 和 Model View
模板中的图形可以将相应的变量输入到工作空间或删除。Da-
ta View 数据模板中的变量可以复制到观察变量空间、工作变量
空间、盲估计输入变量空间和后处理变量空间, 从而方便地改变
输入信号和待处理信号, 实现不同输入信号、不同无线信道模型
以及不同估计算法情况下通信系统的分析和仿真。
以下给出一个基于本通 信系统 仿真平 台的仿 真实 例。假
设有 一 正 弦 波 输 入 信 号, 通 过 传 输 函 数 为 h ( Z) = ( 1 -
0. 183 3Z) ( 1 - 0. 198 7Z - 1) ( 1 + 0. 656Z - 1) 的 实际信 道, 并 采
用 LMS 自适应导引估计 算法 进行信 道估 计, 最后 进行 均衡 处
理。图 5 所示的曲线 1 为原始输入信号, 曲线 2 为均衡恢 复后
的信 号。图 6 为经过 可视化信道 建模得到的 信道仿真模 型的
(a) 信道选择GUI
响应建模GUI
(b) 对信道进行冲击
图 3 前向处理操作
图 4 盲信道
估计算法 GUI
20-2-4-6-8
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
0
1
Normalized Frequency(xa rad/sample)
0
-50
-100
-150
-200 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
1
0
Normalized Frequency(xa rad/sample)
图 6 信道仿真模型的幅频响应
曲线 1院原信号
1
0.5
0
-0.5
-15
6
Time offset:0
8
7
10
曲线 2院均衡后信号
9
图 5 源信号与
均衡后信号
0.8
0.6
0.4
5
0
-5
-10
0
1
Normalized Frequency(xa rad/sample)
200
100
0
-100
0
1
Normalized Frequency(xa rad/sample)
图 7 估计信道的幅频响应
0.4
0.6
0.8
0.2
0.2
4 结束语
面向对象的系统设计方法 已经成 为软件 设计中 常用的 方
法, 但目前大多数是用在系 统内核 部分的 设计中, 而 用在用 户
界面设计, 特别是通信系统仿真这种专用的用户界面设计中还
属少数。本文基于面向对象的技术, 提出了一种用于通信系统
仿真的图形用户界面设计方案与实现技术, 并搭建了相应的通
信系统仿真平台。开发的图形用户界面遵循界面设计简单、一
致的基本准则, 使用 户能 很 快地 掌 握该 平台 的 功能 和使 用 方
法, 便于学习和使用; 同时开发 的通信 系统仿 真平台 具有开 放
性功能, 可以不断地完善和扩充, 便于研究工作的延续。
参考文献:
[ 1]
ike Foley, Anjan Bose. Object-Oriented Graphical User Interface for
Power Systems[ J] . IEEE Transactions on Power Systems, 1993, 8( 1) .
[ 2] Qing Liu, et al. Object-Oriented Methods Drive Protective Relay Sys-
tem[ J] . IEEE Commputer Application in Power, 2000, 13 ( 1 ) : 33-
37.
[ 3] Lin Gui, ZhiYong Zou, et al. A Novel Fast Algorithm of Channel Esti-
mate[ J] . IEEE Transactions on Consumer Electronics, 2001, 47( 4) :
838- 846 .
[ 4] 王默玉 , 宗伟, 等. 基 于 MATLAB 的 图 形 用 户 界面 的 构 造 方 式 与
应用 [ J] . 现 代电力 , 2002, 19 ( 1) : 76 -82.
[ 5] 朱明春 , 范瑜, 等. 面 向 对 象 技 术 在 电 力 系 统 仿 真 建 模 中 的 应 用
[ J] . 计算机 仿真, 2002, 19( 4 ) : 109 -112.
[ 6] 郑伟, 贾 沛然, 孟云 鹤. 运载 火箭动 力学 的面向 对象 仿真框 架[ J] .
系统 仿真学 报, 2002, 14( 8) : 1010- 1011 .
[ 7 ] 席晓平 , 郑 林华 , 韩 方景. 面向 对象 技术在 程控 交换仿 真训 练系 统
中的 应用[ J] . 计算 机仿 真, 2002, 19( 3) : 98 -100.
作者简介:
黎 玉玲 ( 1974 - ) , 女, 广东 廉江人 , 讲 师, 主 要 研究 方 向为 智 能 化 信息 处
理 ; 张延华 ( 1960 - ) , 男, 陕西 陇县人 , 教授 , 硕士 , 主 要研 究 方 向 为无 线
通 信、视频 传输及 可视 化仿真 技术 的研究 。