根据DDS基本原理,基于Matlab/Simulink/Altera DSP Builder建立适合应用的中频模型如图3。电路全部采用有符号数,其中频率字为32位,幅度字为18位,分别控制载波的频率值及载波幅度值。系统由两个控制按键(key1和key2),一个信号输入端,三个初值输入端(key3、key4和key5)组成。其中key1和key2控制调制方式,key3和key4是载波的频率控制字输入口,key5是载波幅度控制字的输入端。
整个系统主要由一个DDS构成,包括两个查表ROM及其他控制电路。当key1、key2为11、01、00时,分别实现FSK、PSK、ASK调制;当key1、key2为10时无信号输出。在信号的输入端接收被调制的信号。由AltBus、Parallel Adder Substractor、Delay构成DDS的核心部分——相位累加器。正弦查找表模块LUT的计算式为:
255*sin( 10*[0:1*pi/(2^10):10*pi] ) +256
受存储器容量和成本限制,正弦查找表模块LUT容量有限,这里设置为10位,为了获得较高的频率分辨率,DDS模块的频率字设置为32位,也即相位累加器字长位32位,DDS将获得fclk/232。
要达到软件无线电传输标准的调制器设计,能够通过计算推算出频率字的取值。设基带码元速率为1kHz,系统采样频率为32MHz,即对每个码元采样32k个点,要达到一个中频载频取中频载频为:f1=600k,f2=1M,取N=232,根据式(5),可得其频率控制字分别为:
Key1=80530637;key2=134217728;取幅度控制字key5=128。对此系统进行仿真验证。
5. 系统仿真及硬件实现。
按照图3所示的调制器结构在Simulink中完成仿真系统的搭建,并对其进行系统级仿真,施加合适的激励,添加合适的观察区间,在模型窗口选择“Simulink”菜单,再选Start项仿真。双击Scope模块,分别得到FSK、PSK、ASK仿真波形,如图3。

本文相关DataSheet:
通过Simulink系统级仿真后对模块进行编译,这在Simulink中 自动完成后续的综合,时序分析等操作。通过SignalComplier(如图 4)把Simulink的模块文件(.mdl)转换成通过的硬件描述语言VHDL文件,选定Cyclone系列芯片,并由Quartus II进行综合、适配、时序分析,最终得到可供下载使用的.sof文件。
打开Quartus II,进行Cyclone系列的EP1C6Q240C8芯片,进行重新编译,仿真,下载到芯片在示波器中验证了系统的调制功能。