1、基于Simulink的数字通信系统的建模与仿真摘要:该文在理论分析的基础上,利用Simulink 工具箱建立了一种数字通信系统的模型。该模型为带限基带传输系统,其中匹配滤波器的选择和定时提取系统的设计是核心。该模型在给定仿真条件下运行,通过观测眼图1信息和测试误码率2的方法来衡量系统性能。关键词:Simulink;数字通信系统;建模;仿真Based on Simulinks Modelling and Simulationof Digital Communication SystemAbstract: Based on the academic analysis,this paper esta
2、blishes a modelling of digital communication system by using the simulink tools.The modelling is a bandwidth limited baseband transmission system,with the emphasis of choosing the filters and designing of the timing extraction system. The modelling runs under the given conditons, the eye pattern and
3、 the error rate can show the performance of this system.Key words: simulink; digital communication system; modelling; simulation目 录1. Simulink简介31.1 Simulink的定义31.2 Simulink功能31.3 Simulink特点41.4 Simulink的启动41.5 Simulink的模块库介绍41.5.1 连续模块(Continuous) continuous.mdl51.5.2离散模块(Discrete) discrete.mdl51.5
4、.3 Function&Tables(函数和平台模块) function.mdl61.5.4 Math(数学模块) math.mdl61.5.5 Nonlinear(非线性模块) nonlinear.mdl61.5.6 Signal&Systems(信号和系统模块) sigsys.mdl71.5.7 Sinks(接收器模块) sinks.mdl71.5.8 Sources(输入源模块) sources.mdl71.6 Simulink的仿真步骤82. 数字通信系统的设计82.1 匹配滤波器的设计92.2 定时提取系统的设计103. 数字通信系统的仿真114. 结论12注释和参考文献13谢 辞1
5、41. Simulink简介1.1 Simulink的定义Simulink是MATLAB最重要的组件之一,是MATLAB中的一种可视化仿真工具, 是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设
6、计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。1.2 Simulink功能Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作,即看到系统的仿真结果。 Simulink是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统, Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。 构架在Simulink基础之
7、上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。Simulink与MATLAB紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。 1.3 Simulink特点丰富的可扩充的预定义模块库 交互式的图形编辑器来组合和管理直观的模块图 以设计功能的层次性来分割模型,实现对复杂设计的管理 通过Model Explorer 导航、创建、配置、搜索模型中的任意信号、参数、属性,生成模型代码 提供API用于与其他仿真程序的连接或与手写代码集成 使用Embedded
8、MATLAB 模块在Simulink和嵌入式系统执行中调用MATLAB算法 使用定步长或变步长运行仿真,根据仿真模式(Normal,Accelerator,RapidAccelerator)来决定以解释性的方式运行或以编译C代码的形式来运行模型图形化的调试器和剖析器来检查仿真结果,诊断设计的性能和异常行为可访问MATLAB从而对结果进行分析与可视化,定制建模环境,定义信号参数和测试数据 模型分析和诊断工具来保证模型的一致性,确定模型中的错误 1.4 Simulink的启动 1、在MATLAB命令窗口中输入simulink 结果是在桌面上出现一个称为Simulink Library Browse
9、r的窗口,在这个窗口中列出了按功能分类的各种模块的名称。也可以通过MATLAB主窗口的快捷按钮来打开Simulink Library Browser窗口。 2、在MATLAB命令窗口中输入simulink3 结果是在桌面上出现一个用图标形式显示的Library :simulink3的Simulink模块库窗口。 1.5 Simulink的模块库介绍Simulink模块库按功能进行分类,包括以下8类子库: Continuous(连续模块)Discrete(离散模块)Function&Tables(函数和平台模块) Math(数学模块) Nonlinear(非线性模块) Signals&Syste
10、ms(信号和系统模块) Sinks(接收器模块) Sources(输入源模块) 1.5.1 连续模块(Continuous) continuous.mdl Integrator:输入信号积分 Derivative:输入信号微分 State-Space:线性状态空间系统模型 Transfer-Fcn:线性传递函数模型 Zero-Pole:以零极点表示的传递函数模型 Memory:存储上一时刻的状态值 Transport Delay:输入信号延时一个固定时间再输出 Variable Transport Delay:输入信号延时一个可变时间再输出 1.5.2离散模块(Discrete) discre
11、te.mdl Discrete-time Integrator:离散时间积分器 Discrete Filter:IIR与FIR滤波器 Discrete State-Space:离散状态空间系统模型 Discrete Transfer-Fcn:离散传递函数模型 Discrete Zero-Pole:以零极点表示的离散传递函数模型 First-Order Hold:一阶采样和保持器 Zero-Order Hold:零阶采样和保持器 Unit Delay:一个采样周期的延时 1.5.3 Function&Tables(函数和平台模块) function.mdl Fcn:用自定义的函数(表达式)进行运
12、算 MATLAB Fcn:利用matlab的现有函数进行运算 S-Function:调用自编的S函数的程序进行运算 Look-Up Table:建立输入信号的查询表(线性峰值匹配) Look-Up Table(2-D):建立两个输入信号的查询表(线性峰值匹配) 1.5.4 Math(数学模块) math.mdl Sum:加减运算 Product:乘运算 Dot Product:点乘运算 Gain:比例运算 Math Function:包括指数函数、对数函数、求平方、开根号等常用数学函数 Trigonometric Function:三角函数,包括正弦、余弦、正切等 MinMax:最值运算 Ab
13、s:取绝对值 Sign:符号函数 Logical Operator:逻辑运算 Relational Operator:关系运算 Complex to Magnitude-Angle:由复数输入转为幅值和相角输出 Magnitude-Angle to Complex:由幅值和相角输入合成复数输出 Complex to Real-Imag:由复数输入转为实部和虚部输出 Real-Imag to Complex:由实部和虚部输入合成复数输出 1.5.5 Nonlinear(非线性模块) nonlinear.mdl Saturation:饱和输出,让输出超过某一值时能够饱和。 Relay:滞环比较器,
14、限制输出值在某一范围内变化。 Switch:开关选择,当第二个输入端大于临界值时,输出由第一个输入端而来,否则输出由第三个输入端而来。 Manual Switch:手动选择开关 1.5.6 Signal&Systems(信号和系统模块) sigsys.mdl In1:输入端。 Out1:输出端。 Mux:将多个单一输入转化为一个复合输出。 Demux:将一个复合输入转化为多个单一输出。 Ground:连接到没有连接到的输入端。 Terminator:连接到没有连接到的输出端。 SubSystem:建立新的封装(Mask)功能模块 1.5.7 Sinks(接收器模块) sinks.mdl Sco
15、pe:示波器。 XY Graph:显示二维图形。 To Workspace:将输出写入MATLAB的工作空间。 To File(.mat):将输出写入数据文件。 1.5.8 Sources(输入源模块) sources.mdl Constant:常数信号。 Clock:时钟信号。 From Workspace:来自MATLAB的工作空间。 From File(.mat):来自数据文件。 Pulse Generator:脉冲发生器。 Repeating Sequence:重复信号。 Signal Generator:信号发生器,可以产生正弦、方波、锯齿波及随意波。 Sine Wave:正弦波信号
16、。 Step:阶跃波信号1.6 Simulink的仿真步骤1,设定仿真时间为t;2,将t代入每个模块的差分方程或微分方程中,求得每个模块的输出(求解模块输出的先后顺序默认由matlab根据信号流图自行确定。);3,如果存在反馈通路,将反馈结果代入反馈输入端;4,仿真时间加1时间步,如果达到设定的仿真时间,则退出仿真;否则回到2。2. 数字通信系统的设计在数字通信系统中,其传输对象通常是二进制数字信息,它可能来自计算机、网络或其它数字设备的各种数字代码,也可能来自数字电话终端的脉冲编码信号。由于未经调制的脉冲电信号所占据的频带通常从直流和低频开始,因而称为数字基带信号。在某些有线信道中,特别是传
17、输距离不太远的情况下,数字基带信号可以直接传送,我们称之为数字信号的基带传输。由于在近距离范围内,基带信号的功率衰减不大,从而信道容量不会发生变化,因此,在局域网中通常使用基带传输技术。基带传输费用较低,同时仍能保持高速率,应用比较广泛,是在计算机网络中占主导地位的传输方式。因此本文建立了一种数字通信系统的模型,该模型中采用数字信源和基带传输方式,通过观测眼图信息和测试误码率的方法来衡量该通信系统的性能。本文建立的数字基带传输系统的结构如图1 所示。二进制信源发送滤波器信道接受滤波器判决恢复采样定时提取采样信号测量图1 数字基带传输系统结构框图实际的通信系统中传输信道的带宽总是有限的,这样的信
18、道称为带限信道。带限信道的冲击响应在时间上是无限的,因此一个时隙内的代表数据的波形经过带限信道后将在邻近的其他时隙上形成非零值,称为波形的拖尾。拖尾和邻近其他时隙上的传输波形相互重叠后,形成数据之间的混叠,造成符号间干扰,也称为码间串扰。接收机中,在每个传输时隙中的某一个时间点上,通过对时域混叠后的波形进行采样,然后对样值进行判决来恢复接收数据。在采样时间位置上符号间的干扰应最小化(该采样时刻称为最佳采样时刻),并以适当的判决门限来恢复接收数据,使误码率最小(该门限称为最佳判决门限)。因此,该模型中滤波器和定时提取模块的设计直接决定了该数字通信系统的性能。2.1 匹配滤波器的设计在工程上,为了
19、便于观察接收波形中的码间串扰情况,可在采样判决设备的输入端口处以恢复的采样时钟作为同步,用示波器观察该端口的接收波形。利用示波器显示的暂时记忆特性,在示波器上将显示出多个时隙内接收信号的重叠波形图案,称为眼图。对于传输符号等概率的双极性二元码,最佳判决门限为0,最佳采样时刻为眼图开口最大处,因为这时刻上的码间串扰最小。当无码间串扰时,在最佳采样时刻上眼图波形将会聚为一点。显然,只要带限信道冲激响应的拖尾波形在时隙周期整数倍上取值为零,那么就没有码间串扰,例如抽样函数sincx=sinx/x。然而,抽样函数的频谱是矩形门函数,是物理不可实现的。由于门函数的频率锐截止特性,即使近似实现也十分困难。
20、然而,还存在一类无码间串扰的时域函数,且具有升余弦频率特性,幅频响应是缓变的,在工程上易近似实现。具有滚升余弦频率特性的传输信道是无码间串扰的,其冲击响应为 ht cos(t) = sin(t / Ts) cos(t / Ts) / t / Ts (1 - 42t2 / Ts2) 1-1相应的频谱是 1-2其中,Ts为码元传输时隙宽度,01 为滚降系数。当=0 时,Hrcos()退化为矩形门函数;当=1 时,Hr cos()成为全升余弦频谱。设发送滤波器为GT(),物理信道的传递函数为C(),接收滤波器为GR (),则带限信道总的传递函数为 H()= GT() C() GR() 1-3对于物理
21、信道是加性高斯白噪声信道的情况,可以证明,当发送滤波器与接收滤波器相互匹配时,即GR()= G*T(),通信性能达到最佳(误码率最小)。对于理想的物理信道(C()=1),收发滤波器互相匹配时有 H() = GT() G*T() = | GT()|2 1-4由此求得收发滤波器传递函数的实数解为 GT() = GR() = H()1/2 1-5无串扰条件下,信道传递函数是滚升余弦的,匹配的收发滤波器成为平方根滚升余弦滤波器(square root raised consine filter),有GT() = GR() = Hr cos()1/2 1-6其冲激响应为 1-7工程上,滚升余弦滤波器和平
22、方根滚升余弦滤波器通常用FIR滤波器来近似实现。FIR 滤波器的分母系数为1,分子系数向量等于冲激响应的采样序列。在本文的通信系统模型中,发送滤波器和接收滤波器均采用平方根升余弦滤波器,来克服传输中的码间串扰。2.2 定时提取系统的设计本通信系统的二进制信源采用双极性二进制信号,其本身不含有定时信息,故需要对其进行非线性处理(如平方或取绝对值),提取时钟的二倍频分量,最后通过二分频来恢复接收定时脉冲。定时提取系统的仿真模型如图2 所示,其中采用了锁相环来锁定定时脉冲的二次谐波后,以二分频得出定时脉冲。示波器用来观察恢复定时与理想定时之间的相位差(如图3 所示),然后通过调整Interger D
23、elay 模块的延迟量使恢复定时脉冲的上升沿对准眼图最佳采样时刻。图2 定时提取系统的仿真模型图3 恢复定时与理想定时比较图2 定时提取系统的仿真模图3 恢复定时与理想定时比较3. 数字通信系统的仿真本数字通信系统的模型发送数据为二进制双极性不归零码,发送滤波器为平方根升余弦滤波器,滚降系数为0.5,信道为加性高斯信道,接收滤波器与发送滤波器相匹配。数据发送速率为1000bps,系统仿真采样速率为1e4Hz,滤波器采样速率等于系统仿真采样率。由于数字信号速率为10000bps,故在进入发送滤波器之前需要10 倍升速率,接收解码后再以10 倍降速率来恢复信号传输比特率3。二进制信源输出双极性不归
24、零码,并向接收端提供原始数据以便对比和统计误码率。由于发送滤波器和接收滤波器的滤波延迟均为10 个传输码元时隙,所以在传输中共延迟20 个时隙,加上接收机采样和判决恢复部分的2 个时隙的延时, 接收恢复数据比发送数据共延迟了22 个码元。因此,在对比收发数据时需要将发送数据延迟22 个采样单位(时隙)。信号测量部分对接收滤波器输出波形的眼图、收发数据波形以及误码率进行了测量,仿真眼图结果如图4、图5、图6所示,其中信道中噪声方差为0.05, 测试误码率结果为0.00024。图4 平方根升余弦滤波器幅度频谱 图5 接收滤波器输出波形眼图图6 数字通信系统收发信号波形4. 结论本文的数字通信系统模
25、型通过设计匹配的平方根升余弦滤波器和定时提取系统,降低了误码率,提高了系统性能。本模型具有可扩展性,为数字通信系统的研究提供了基础模型,若采用不同信源,对信道加以改造,可以仿真不同情况下的数字通信系统。由于本模型中假设信道是理想的,结合实际情况,可以在接收机中设计一个补偿信道特性的滤波器, 采用信道的时域均衡方法来更真实的模拟现实的数字通信。 参考文献1 邓华.MATLAB 通信仿真及应用实例详解M.北京:人民邮电出版社,2003.2 徐素妍,曹坤梅.基于Matlab 语言的现代通信仿真分析J.计算机应用,2001,52-533 邵玉斌.Matlab/Simulink 通信系统建模与仿真实例分
26、析M.北京:清华大学出版社20084 周少东,茚邦琴.基于MATLAB 环境的通信系统模拟技术J.电子器件,1999,171-1765 樊昌信,曹丽娜.通信原理(第6版).北京:国防工业出版社,2010,156-158注释1眼图:眼图是指利用实验的方法估计和改善(通过调整)传输系统性能时在示波器上观察到的一种图形,因为从示波器上看到的图形像人的眼睛,故称“眼图”。2误码率:衡量数据在规定时间内数据传输精确性的指标,也就是出现错误的数据数量(比特数)与总的数据数量的比值.3 比特率:通信系统在单位时间(常以秒计)内传输的平均比特数。谢 辞走的最快的总是时间,来不及感叹,大学生活已近尾声,四年多的
27、努力与付出,随着本次论文的完成,将要划下完美的句号。 本毕业论文在刘小群老师的悉心指导和严格要求下业已完成,从课题选择到具体的写作过程,论文初稿与定稿无不凝聚着刘小群老师的心血和汗水,在我的毕业设计期间,刘小群老师为我提供了种种专业知识上的指导和一些富于创造性的建议,刘老师一丝不苟的作风,严谨求实的态度使我深受感动,没有这样的帮助和关怀和熏陶,我不会这么顺利的完成毕业设计。在此向刘小群老师表示深深的感谢和崇高的敬意! 在临近毕业之际,我还要借此机会向在这四年中给予我诸多教诲和帮助的各位老师表示由衷的谢意,感谢他们四年来的辛勤栽培。不积跬步何以至千里,各位任课老师认真负责,在他们的悉心帮助和支持下,我能够很好的掌握和运用专业知识,并在设计中得以体现,顺利完成毕业论文。 同时,在论文写作过程中,我还参考了有关的书籍和论文,在这里一并向有关的作者表示谢意。 我还要感谢同组的各位同学以及我的各位室友,在毕业设计的这段时间里,你们给了我很多的启发,提出了很多宝贵的意见,对于你们帮助和支持,在此我表示深深地感谢! .14