基于FPGA的MSK調(diào)制解調(diào)器設計與應用
數(shù)字MSK 信號的解調(diào)是由碼元同步和碼序列檢測二部分實現(xiàn)的。預分頻器、“1”碼分頻
器和同步檢測模塊組成碼元同步電路,通過對輸入信號中的“1”碼檢測建立碼元同步。在
同步檢測模塊中,“1”碼分頻器的同相和反相碼同時與輸入信號比較,并由同步碼長計數(shù)器
計數(shù),當計數(shù)長度等于碼元長度時輸出同步信號。進入碼元同步狀態(tài)后,在碼長分頻器輸出
的碼元同步信號控制下,碼序列檢測器對輸入信號中的“1”碼(同相及反相碼)進行檢測
并輸出解調(diào)數(shù)字序列。解調(diào)模塊中的預分頻器和“1”碼分頻器和在半雙工通信方式中可與
調(diào)制模塊合用以減少目標器件片上資源的占用。
MSK 調(diào)制/解調(diào)器的FPGA 模塊中,計數(shù)器、分頻器和多路選擇器用VHDL 程序可以簡單
實現(xiàn),碼元序列檢測器的部分VHDL 結(jié)構(gòu)描述如下:
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本文引用地址:http://m.butianyuan.cn/article/151110.htm
if m=3 then outputt='1';
else outputt='0';
end if;
end process;
end behav;
數(shù)字MSK 調(diào)制/解調(diào)器模塊在Altera 公司FPGA:EP2C15AF256C8N 上實現(xiàn)。EP2C15 是
Altera 公司基于90nm 工藝的第二代Cyclone 器件(CycloneⅡ),片內(nèi)集成14,448 邏輯單
元(LE),240Kb 嵌入式RAM 塊,26 個18×18 乘法器,4 個鎖相環(huán)(PLL),具有高速差分I/O
能力,在音視頻多媒體、汽車電子、通信及工業(yè)控制領(lǐng)域等有廣泛的適用性,是一款高性能
低成本器件。圖3 是MSK 調(diào)制/接解調(diào)器的時序仿真結(jié)果。
圖3 MSK 調(diào)制/解調(diào)器時序仿真
由圖中可見,數(shù)字基帶調(diào)制信號MODDATA 經(jīng)過MSK 調(diào)制器被調(diào)制到高頻數(shù)字載波上,形
成MSK 已調(diào)信號MSKMOD,其中“0”碼為2.5 個載波周期,“1”碼為2 個載波周期,調(diào)制指
數(shù)為0.5,同時載波相位連續(xù)。MSKDEMOD 為接收端MSK 解調(diào)后的信號,除了傳輸時延,解調(diào)
信號完全恢復了發(fā)送端數(shù)字基帶調(diào)制信號。
3 結(jié)論
MSK 調(diào)制具有載波相位連續(xù),頻帶利用率高的優(yōu)點,在通常的應用中需要專用集成電路
構(gòu)成調(diào)制/解調(diào)電路。基于硬件描述語言用FPGA 實現(xiàn)MSK 調(diào)制/解調(diào)器,可充分利用FPGA
片內(nèi)資源,使數(shù)據(jù)采集測量控制與傳輸集中于單一芯片,有利于提高系統(tǒng)的經(jīng)濟性和可靠性,
具有一定的應用價值。本文作者創(chuàng)新點在于提出了一種保證調(diào)制指數(shù)為0.5 同時載波相位連
續(xù)的數(shù)字MSK 信號的設計方法,用VHDL 語言設計了調(diào)制/解調(diào)模塊并在FPGA 器件上實現(xiàn)。
評論