4.Simulink设计简单举例
作为本节的最后一部分,给出一个Simulink的应用实例,增加读者对Simulink建模的直观印象。
例8-1 建立一个调幅(AM)系统,信号频率为100KMHz,载波频率为1MHz,调幅系数为0.5,并在示波器中显示出来。
具体的操作步骤如下:
1)打开MATLAB,在工具栏点击 图标,启动Simulink(也可以直接在MATLAB命令窗口直接敲入simulink)。
2)在Simulink环境下新建一个模型,在Simulink工具栏点击图标实现或通过菜单“File”中的“New Model”命令来实现,将新模型保存为am.mdl。
3)从Simulink library Browser中加入基本模块。首先从“Simulink Source”库中选中“Sine Wave”模块,直接将其拖拽到am.mdl的界面中,并复制该模块;然后双击“Sine Wave”模块,设定载波频率和幅度。再按照同样的方法将“Sine Wave1”模块设定为信号产生模块;再从“Simulink Math Operations”库中选择乘法器模块Product,最后从“Simulink Sink”库中选择示波器Scope。
4)连接各个模块,选中目标模块,按住Ctrl键,再点击要连接的模块,Simulink即可自动将两个模块连接起来,最终设计如图8-7所示。
图7-7 调幅系统的Simulink设计示意图
5)在工具栏点击运行(RUN)图标 ,再直接点击Scope模块即可观察运行结果,如图8-8所示。至此,即完成了一个简单的AM调制系统模型。
图7-8 调幅系统的运行结果示意图
7.2.3 AccelDSP软件工具
AccelDSP是一款第三方综合软件,可将MATLAB浮点算法转换成为可综合RTL代码。 Xilinx AccelDSP是目前业界唯一能够将MATLAB浮点算法转换成为可综合RTL代码的开发工具。该工具可自动地进行浮点-定点转换,生成可综合的VHDL或Verilog代码,并创建用于验证的测试平台,同时还可以生成定点C++模型或由MATLAB算法得到System Generator块。AccelDSP综合工具是Xilinx XtremeDSP解决方案的重要组成部分。AccelDSP产品体系由两个主要模块构成:AccelDSP综合器和AccelWare IP。
AccelDSP综合器是一个综合和验证的环境,可以自动将MATLAB浮点代码转换成为定点代码,然后生成可综合的VHDL或Verilog代码,为设计者提供了验证算法和实现算法的功能。
AccelWare IP与AccelDSP综合器联合实现滤波器、FFT等DSP函数,通信算法函数以及高级数学运算函数。AccelWare是一个IP库,包含一系列参数DSP模块,这些模块可以综合成为RTL代码(VHDL或Verilog)。每一个IP模块进行了预先验证,从而实现了一旦生成即保证正确的算法开发流程。AccelWare IP提供了三个专用工具箱(Toolkits):信号处理工具包(包括FIR 滤波器、CIC 抽取滤波器、CIC内插滤波器、多相抽取滤波器、半带 FIR 滤波器、FFT 以及IFFT等模块)、通信工具包(包括直接数字合成器、BCH 编码器和解码器、卷积交织器和去交织器、卷积编码器、Reed-Solomon 编解码器、Viterbi解码器、开方升余弦滤波器、加扰器、解扰器以及ADC采样-保持电路/正弦比较滤波器等模块)和高级数学运算工具包(包括QR分解法、Cholesky分解法、QR求逆、Cholesky求逆、三角形矩阵求逆、特定排列旋转、多项式求值、奇异值分解以及QRD-RLS空间滤波器等模块)。