数字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 调制/接解调器的时序仿真结果。
图3 MSK 调制/解调器时序仿真