块以及输入、输出端口,最终完成的BFSK调制模型文件如下图所示。
上图中用到了波形观察模块示波器“Scope”,该模块属于Simulink库下的Sinks库。双击该模块,打开的是一个示波器窗口,其中只有一个信号的波形观察窗口,若希望可以同时观察多路信号,可以点击Scope模块窗口上侧工具栏的第二个工具按钮“Parameters”,参数设置按钮,打开Scope参数设置对话框。在Scope参数设置对话框中有 “Gerneral”(通用)和“Data history”(数据历史) 两个选项页。在“Gerneral”选项页中将“Number of axes”参数改为2,如图所示。点击“OK”按钮确认后,可以看到Scope窗口增加为两个波形观察窗,每个观察窗都可以分别观察信号波形,而且相对独立。
频谱观察模块“Spectrum Scope”属于“Signal Processing Blockset”下的“Signal Processing Sinks”库,可以用来观察输出BFSK调制信号的频谱波形情况。
8、加入时钟模块
展开“Altera DSP Builder Blockset”库下的“AltLab”,选择“Clock”模块添加到模型文件中,并双击模块,设置参数如下图所示。
9、设计文件存盘
完成系统中各个模块的设置与连接后,在进行仿真验证和编译(Signal Compiler)之前,先对设计进行存盘操作。点击新建模型窗口的“File”菜单,在下拉菜单中选择“Save”项,取名并保存,等同于直接点击窗口界面的
按钮。
在上述例子中,对新建模型取名为“fskmodu”,模型文件为fskmodu.mdl。在保
存完毕后,新建模型窗口的标题栏就会显示模型名称,如下图所示。
注意:对模型文件取名时,尽量用英文字母开头,不使用空格,不用中文,文件名不要过长。
10、Simulink模型仿真 在对模型取名存盘后,就可以对文件进行编译,并把mdl文件转换为VHDL文件。不过现在模型的正确性还是未知的,需要进行仿真验证。Matlab的Simulink环境具有强大的图形化仿真验证功能。用DSP Builder模块设计好一个新的模型后,可以直接在Simulink中进行算法级、系统级仿真验证。
对一个模型文件进行仿真,需要施加合适的激励、一定的仿真步进和仿真周期,并添加合适的观察点和观察方式。在fskmodu模型窗口中,点击“Simulation”菜单,在下拉菜单中选择“Configuration Parameters...”菜单项,将弹出fskmodu模型的仿真参数设置对话框“Configuration Parameters: fskmodu/Configuration (Active)”。
该对话框中的“Solver”选项包括了仿真基本的时间设置、步进间隔、方式设置及输出选项设置。具体各项设置如上图所示,最后,点击“OK”按钮确认。
11、启动仿真
在fskmodu模型窗口中选择“Simulation”菜单,再选“Start”项开始仿真,或者直接点击
按钮开始。
待仿真结束,双击Scope模块,打开示波器观察窗。下图给出了仿真结果,显示的是系统生成的BFSK调制信号的基带波形及时域波形图,在下面的放大波形图中,可以清晰的看到在不同的基带信号值“0”和“1”下,BFSK信号具有不同的频率,此时生成的是相位不连续的BFSK信号。
在Scope观察窗中,可以使用工具栏中的按钮来放大或缩小波形,或者用鼠标左键选择波形并放大,也可以在波形上单击鼠标右键使用“Autoscale”,使波形自动适配波形观察窗。
模块“fsk modu Spectrum”可以得到BFSK调制信号的频谱波形,如图所示。该BFSK信号在频率为270.468kHz附近(263.158kHz及277.778kHz)两处有明显的波峰,表明实现了BFSK调制信号的产生。
12、编译模型文件
在Simulink中完成仿真验证后,就需要把设计转到硬件上加以实现,并获得针对特定FPGA芯片的VHDL代码,这是整个DSP Builder设计流程中最为关键的一步,包括对模型文件的编译,以及RTL的仿真。
首先需要放置Signal Compiler模块,选择 “Altera DSP Builder Blockset”库中“AltLab”项内的“Signal Compiler”模块,将其拖放到fskmodu.mdl文件中,如图。
双击该模块,在下图所示的对话框中可以选择进行编译所使用的器件类型,此例中选择默认的Stratix Family,以及AUTO Device,单击“Compile”即可对完成的fskmodu.mdl模型文件进行编译。