作 者:21IC中国电子网 孙旭
整个系统主要由一个DDS构成,包括两个查表ROM及其他控制电路。当key1、key2为11、01、00时,分别实现FSK、PSK、ASK调制;当key1、key2为10时无信号输出。在信号的输入端接收被调制的信号。由AltBus、ParallelAdderSubstractor、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。
通过Simulink系统级仿真后对模块进行编译,这在Simulink中自动完成后续的综合,时序分析等操作。通过SignalComplier(如图4)把Simulink的模块文件(.mdl)转换成通过的硬件描述语言VHDL文件,选定Cyclone系列芯片,并由QuartusII进行综合、适配、时序分析,最终得到可供下载使用的.sof文件。
打开QuartusII,进行Cyclone系列的EP1C6Q240C8芯片,进行重新编译,仿真,下载到芯片在示波器中验证了系统的调制功能。
6.结论
该设计避免了编写繁琐的硬件描述程序,同时避免了向ROM中填写大量的波形数据。充分利用了Matlab中Simulink的DSPBuilder工具箱的图形化界面建模、系统仿真功能,同时又区别与完全图形化的方法。采用DDS技术,具有分辨率高、频率变化快、频率可控等优点,很好的实现了调制功能。实验证明,采用文中的方法设计的基于软件无线电的调制器具有较好的功能,基本满足一般应用的需求。而对于如何控制调制器的频率是下一步研究的内容。