数字MSK 信号的解调是由码元同步和码序列检测二部分实现的。预分频器、“1”码分频器和同步检测模块组成码元同步电路,通过对输入信号中的“1”码检测建立码元同步。在同步检测模块中,“1”码分频器的同相和反相码同时与输入信号比较,并由同步码长计数器计数,当计数长度等于码元长度时输出同步信号。进入码元同步状态后,在码长分频器输出的码元同步信号控制下,码序列检测器对输入信号中的“1”码(同相及反相码)进行检测并输出解调数字序列。解调模块中的预分频器和“1”码分频器和在半双工通信方式中可与调制模块合用以减少目标器件片上资源的占用。
MSK 调制/解调器的FPGA 模块中,计数器、分频器和多路选择器用VHDL 程序可以简单实现,码元序列检测器的部分VHDL 结构描述如下:
architecture behav of codesdect is
signal m : integer range 0 to 3;
signal sdata : std_logIC_vector(2 downto 0);
begin
cdata<= wavenum;
process(clk,clr)
begin
if clr='1' then m<=0;
elsif clk'event and clk='1' then
case m is
when 0 => if datain = cdata (2) then m<=1; else m <= 0 ; end if;
…
when 2 => if datain = cdata (0) then m<=3; else m <= 0 ; end if;
when others => m <= 0;
end case;
end if;
end process;
process(m)
begin
if m=3 then outputt<='1';
else outputt<='0';
end if;
end process;
end behav;
数字MSK 调制/解调器模块在ALTEra 公司FPGA:EP2C15AF256C8N 上实现。EP2C15 是Altera 公司基于90nm 工艺的第二代Cyclone 器件(CycloneⅡ),片内集成14,448 逻辑单元(LE),240Kb 嵌入式RAM 块,26 个18×18 乘法器,4 个锁相环(PLL),具有高速差分I/O能力,在音视频多媒体、汽车电子、通信及工业控制领域等有广泛的适用性,是一款高性能低成本器件。图3 是MSK 调制/接解调器的时序仿真结果。
由图中可见,数字基带调制信号MODDATA经过MSK调制器被调制到高频数字载波上,形成MSK已调信号MSKMOD,其中“0”码为2.5个载波周期,“1”码为2个载波周期,调制指数为0.5,同时载波相位连续。MSKDEMOD为接收端MSK解调后的信号,除了传输时延,解调信号完全恢复了发送端数字基带调制信号。
3结论MSK调制具有载波相位连续,频带利用率高的优点,在通常的应用中需要专用集成电路构成调制/解调电路。基于硬件描述语言用FPGA实现MSK调制/解调器,可充分利用FPGA片内资源,使数据采集测量控制与传输集中于单一芯片,有利于提高系统的经济性和可靠性,具有一定的应用价值。本文作者创新点在于提出了一种保证调制指数为0.5同时载波相位连续的数字MSK信号的设计方法,用VHDL语言设计了调制/解调模块并在FPGA器件上实现。