MATLAB是数值计算的先锋,它以矩阵作为基本数据单位,在应用线性代数、数理统计、自动控制、数字信号处理、动态系统仿真方面已经成为首选工具,同时也是科研工作人员和大学生、研究生进行科学研究的得力工具。MATLAB在输入方面也很方便,可以使用内部的Editor或者其他任何字符处理器,同时它还可以与Word6.0/7.0结合在一起,在Word的页面里直接调用MATLAB的大部分功能,使Word具有特殊的计算能力。
MATLAB中主要有两个仿真工具:M文件和SIMULINK。本文主要介绍基于M文件的GMSK系统的仿真。
图4.1 MATLAB主界面
点击左上角的 图标新建一个M文件:
图4.2 M文件界面
在M文件的界面中输入具体函数,若函数无需输入,则编译通过后直接单击M文件界面中的 即可运行;若函数需要输入,则编译通过后,在图4.1的Command Window中写入输入,再写入需要运行的函数名称即可运行。
4.1.3 QUARTUS平台介绍
Quartus软件是Altera的综合开发工具,它集成了Altera的FPGA/CPLD开发流程中所涉及的所有工具和第三方软件接口。通过使用此综合开发工具,设计者可以创建、组织和管理自己的设计。
作为一款强大的开发软件,Quartus具有以下功能:
支持多时钟定时分析,内嵌SignalTap 逻辑分析器、功率估计等高级工具。
易于管脚分配和时序约束。
强大的HDL综合能力。
支持的器件种类众多。
支持Windows、Hpux、Linux等多种操作系统。
第三方工具如综合、仿真等的链接。
图4.3 QUARTUS主界面
单击新建按钮 会弹出图4.4所示的对话框,选择新建项目:
图4.4 QUARTUS新建项目
由图4.4我们可以看出,QUARTUS支持多种语言,其中最常用的就是VHDL和Verilog。
在4.1.1节中我们曾经提到,选择QUARTUS进行对GMSK模型的模拟仿真的一个重要因素就是QUARTUS具有强大的时序分析能力,即允许用户分析设计中所有逻辑的强大功能,并协助引导布局布线满足设计中的时序分析要求。此外,在QUARTUS仿真时选择Processing—>Simulator Tool,出现如下界面,即可选择仿真类型,如图4.5所示:
图4.5 仿真类型的选择
仿真类型分为功能仿真和时序仿真。功能仿真主要是验证电路功能是否符合设计要求,时序仿真包含了延时信息,它能较好地反映芯片的现实设计工作情况。可以使用QUARTUS集成的仿真工具仿真,也可以使用第三方工具(如ModelSim)对设计进行仿真。本文主要介绍QUARTUS自身集成的时序仿真来验证GMSK模型。
最后,需要注意的一点是在QUARTUS安装过程中,QUARTUS的安装路径不能包含汉字和空格。作者曾因安装路径中含有空格导致IP CORE(详见4.3节)无法使用
4.2 基于MATLAB平台的模型仿真与分析
使用M文件编写高斯滤波器( ),可得到码元的输出如图4.6所示:
图4.6 MATLAB实现高斯滤波器
使用M文件编写MATLAB程序实现第一个模块差分编码。
当输入 为: 时,得到输出波形如图4.7所示:
图4.7 MATLAB实现差分编码
我们曾在2.2.1节中介绍过差分编码的定义和性质,需要注意的是,在建立GMSK模型的过程中,两个码元是是+1和-1(不能是+1和0),原因上文分析过,在此不再赘述;另外还需要注意的是,这里的变换规则不是常用的以电平不变表示“-1”,以电平跳变表示“+1”,而是以电平不变表示“+1”,以电平跳变表示 “-1”。 高斯最小频移键控GMSK技术研究与实现+文献综述(7):http://www.751com.cn/tongxin/lunwen_2669.html