FM调制器完成幅度到频率的转换是系统设计的关键。例如设定基带信号的速率为8 kHz,载波的中心频率为200
kHz(fword=“10995116277”),为了实现调制指数为0.5的FM调制器,FM调制器的频率差为4
kHz。FPGA根据8位A/D转换器输入的信号幅度值选择相应的频率字,从而控制输出信号的频率完成调频功能。载波的中心频率对应的A/D转换器中心幅值a
in=“10000 0000”;当A/D转换器输入为O V(即a in=“0000 0000”)时,对应的调制信号的输出频率为198
kHz(fword=“10885165114”);当A/D转换器的输入为满刻度2 V(ain=“1111
1111”)时,调制输出频率为202 kHz(fword=“11105067440”)。把频率从198 kHz到202
kHz等分成255份,把相应的频率转换成40位频率字,则A/D转换器的256个幅值与256个频率字一一对应。在每一个系统时钟周期,频率控制字与40位的相位累加器的值相加结果存入相位累加器。由于选用的ROM查找表的地址线为10位,所以取相位累加器的高10位作为正弦查找表的地址。正弦查找表利用Cyclone内部的ROM模块完成查找表的设计,字长为10位,与所选用的DAC的数据位数相匹配。
系统输入信号的幅度与频率字转换的核心代码如下:

其中,f_mid为调制信号的中心频率,fm_frerom为A/D输入的信号幅度值与频偏之间的映射关系,系统根据接收到信号的幅度值相应改变调制信号的频偏从而完成调制功能。
4 系统软件仿真及测试
4.1 软件仿真 本设计利用EDA工具QuartusⅡ6.O完成调制器软件编程,通过编译环境进行软件仿真如图4所示,其中clk为系统晶振时钟,addr40为相位累加器,a_in为A/D的转换器的8位输出信号,fword为系统频率字,fout为波表输出的调制信号幅度值。

4.2 系统测试与分析
系统测试通过IFR2399A频谱仪来完成系统的硬件测试。图5表示在相同的硬件平台上实现MSK调制的频谱图,图6表示GMSK调制的频谱图。对比两个图可以发现,由于加入了高斯滤波器,GMSK的频谱更加紧凑,带外衰减也要快于MSK。同时由测试结果可以看出,中频载波为200
kHz,主瓣宽度以及衰减状况等与理论分析结果相符。


5 结 语 本文实现了一种基于CMX589A和FPGA的GMSK调制器。系统采用了主从式的结构,主控机由单片机实现对于GMSK调制器系统参数的控制,CMX589A模块完成基带信号高斯滤波,FM调制器采用直接数字频率合成技术(DDS)在FPGA硬件平台上实现、系统最高输出频率为25
MHz。同时系统具有很宽的基带信号数据和调制参数灵活可控等特点,并且克服了正交调制方案中严格正交载波产生困难的缺陷。测试结果表明,已调信号包络恒定,频谱满足设计要求,适用于CDPD,无中心站等多种通信系统。