基于FPGA的MFSK調制電路設計與仿真
摘要:數字調制解調技術在數字通信中占有非常重要的地位,數字通信技術與FPGA的結合是現代通信系統發展的一個必然趨勢。文中介紹了MFSK調制解調的原理,并基于FPGA實現了MFSK調制電路,仿真結果表明了該設計的正確性。
關鍵詞:MFSK;FPGA;調制;解調
數字信號傳輸系統分為基帶傳輸系統和頻帶傳輸系統.頻帶傳輸系統也叫數字調制系統。數字調制信號又稱為鍵控信號,數字調制過程中處理的是數字信號,而載波有振幅、頻率和相位3個變量,且二進制的信號只有高低電平兩個邏輯量1和0,所以調制的過程可用鍵控的方法由基帶信號對載頻信號的振幅、頻率及相位進行調制,最基本的方法有3種:正交幅度調制(QAM)、頻移鍵控(FSK)、相移鍵控(PSK).根據所處理的基帶信號的進制不同分為二進制和多進制調制(M 進制).多進制數字調制與二進制相比,其頻譜利用率更高。本文研究了基于FPGA的MFSK(多頻鍵控)調制電路的實現方法,并給出了MAX+PLUSII環境下的仿真結果。
1 MFSK簡介
MFSK系統是2FSK(二頻鍵控)系統的推廣,該系統有M個不同的載波頻率可供選擇,每一個載波頻率對應一個M進制碼元信息,即用多個頻率不同的正弦波分別代表不同的數字信號,在某一碼元時間內只發送其中一個頻率。MFSK信號可表示為:
為載波角頻率,通常采用相位不連續的振蕩頻率,這樣便于利用合成器來提供穩定的信號頻率。圖1 為MFSK系統的原理框圖。在發送端,輸入的二進制碼元經過邏輯電路和串/并變換電路轉換為M進制碼元,每k位二進制碼分為一組,用來選擇不同的發送頻率。在接收端,當某一載波頻率到來時,只有相應頻率的帶通濾波器能收到信號,其它帶通濾波器輸出的都是噪聲。抽樣判決器的任務就是在某一時刻比較所有包絡檢波器的輸出電壓,通過選擇最大值來進行判決。將最大值輸出就得到一個M進制碼元,然后,再經過邏輯電路轉換成k位二進制并行碼,再經過并/串變換電路轉換成串行二進制碼,從而完成解調過程。
圖1 MFSK系統原理框圖
2 MFSK調制電路的FPGA實現
2.1 基于FPGA的MFSK調制電路方框圖
調制電路方框圖如圖2所示。基帶信號通過串/并轉換得到2位并行信號;四選一開關根據兩位并行信號選擇相應的載波輸出(例中M取4)。
圖2 MFSK調制電路方框圖
2.2 MFSK調制電路VHDL程序
調制電路VHDL關鍵代碼如下:
entity MFSK is
port(clk :in std_logic; --系統時鐘
start :in std_logic; --開始調制信號
x :in std_logic; --基帶信號
y :out std_logic); --調制信號
end MFSK;
architecture behav of MFSK is
signal q :integer range 0 to 15; --計數器
signal f :std_logic_vector(3 downto 0); --分頻器
signal xx:std_logic_vector(1 downto 0); --寄存輸入信號x的2位寄存器
signal yy:std_logic_vector(1 downto 0); --寄存xx信號的寄存器
begin
process(clk) --此進程過對clk進行分頻,得到4種載波信號f3、f2、 f1、f0。
begin
if clk'event and clk='1' then
if start='0' then f="0000";
elsif f="1111" then f="0000";
else f=f+1;
end if;
end if;
end process;
process(clk) --對輸入的基帶信號x進行串/并轉換,得到2位并行信號的yy
begin
if clk'event and clk='1' then
if start='0' then q=0;
elsif q=0 then q=1;xx(1)=x;yy=xx;
elsif q=8 then q=9;xx(0)=x;
else q=q+1;
end if;
end if;
end process;
process(clk,yy) --此進程完成對輸入基帶信號x的MFSK調制
begin
if clk'event and clk='1' then
if start='0' then y='0'; -- if語句完成2位碼并行碼到4種載波的選通
elsif yy="00" then y=not f(3);
elsif yy="01" then y=not f(2);
elsif yy="10" then y=not f(1);
else y=not f(0);
end if;
end if;
end process;
end behav;
2.3 仿真結果
MAX+PLUSII環境下的仿真結果如圖3所示。
圖3 MFSK調制程序仿真結果
注:中間信號yy與輸出調制信號y的對應關系:“00”=f3;“01”=f2;“10”=f1;“11”=f0。
3 結束語
多進制數字調制技術與FPGA的結合使得通信系統的性能得到了迅速的提高。本文基于FPGA實現了MFSK調制電路部分,限于篇幅,沒有對解調部分的電路進行討論。在實際應用中,完全可以把調制部分和解調部分電路都集成到一片FPGA芯片內,這樣即提高了FPGA內部結構的利用率,又可以降低系統的成本。
參考文獻:
[1] 張學平,王應生等.基于FPGA的OQPSK解調器的設計與實現[J].微計算機信息,2006,第4-2期:155-157
[2] 黃智偉.FPGA系統設計與實踐[M].北京:電子工業出版社,2005
[3] 董在望.通信電路原理[M].北京:高等教育出版社,2002
評論