賀 煒
(西安石油大學 電子工程學院 陜西 西安 710065)
2FSK調制解調器的FPGA與MATLAB設計與實現
賀 煒
(西安石油大學 電子工程學院 陜西 西安 710065)
文章介紹了相位連續的2FSK調制解調的原理。利用FPGA,采用鍵控法設計了可以根據檢測到的脈沖碼元分時輸出不同頻率正弦波的DDS發生器。利用MATLAB 窗函數設計了FIR濾波器,研究了不同窗函數及量化位數對于FIR濾波器頻率響應曲線的影響,求出FIR濾波器抽頭系數并導入FPGA FIR IP核,實現了全并行分布式結構的FIR低通及帶通濾波器。最后采用Verilog hdl語言實現了基于FPGA的2FSK調制及非相干解調,通過Modelsim仿真得到非相干解調各節點信號的波形。仿真及實驗結果表明基于FPGA和MATLAB設計的相位連續2FSK調制解調器是正確的,具有較高的實用性和可靠性。
FPGA;MATLAB;2FSK;FIR;調制;解調
隨著EDA技術的高速發展,現場可編程門陣列(Field-Programmable Gate Array,FPGA) 因其具有可編程性、開發周期短、集成化程度高、靈活性強等特點,在通信領域的應用越來越廣[1]。頻移鍵控(Frequency-shift keying,FSK)調制解調技術是現代通信中一項關鍵的技術[2-3],調制解調效果的好壞更是直接關系著通信是否成功。文章以 Altera型號FPGA 作為硬件核心,硬件與軟件相結合,采用verilog hdl語言及MATLAB仿真,設計了DDS發生器及FIR濾波器,實現了相位連續的2FSK調制解調器,具有較高的實用性、可靠性和靈活性。
頻移鍵控(FSK)是利用載波的頻率變化來傳遞數字信息,在2FSK中,載波的頻率隨二進制基帶信號在f1和f2兩個頻率點間變化。由于在FSK信號中提取相干相干載波相對困難,因此實際工程中多采用非相干解調法[4]。
本節利用20KHz和40KHz正弦波作為載波,根據上節所述2FSK調制解調原理,采用鍵控法設計一個分辨率為0.012Hz的DDS(Direct Digital Synthesis)發生器,可以根據檢測到的碼元輸出兩種相位均為0且頻率為20KHz和40KHz的正弦波,即2FSK調制。
采用Altera EP4CE15F17C8型號FPGA,時鐘頻率為50MHz。使用MATLAB將一個周期正弦波分成256個點,計算頻率50M/256,分辨率約等于195.31kHz,則DDS只能輸出頻率為195.31KHz整數倍的正弦波,顯然達不到我們設計20KHz和40KHz正弦波的要求,因此需要采用相位控制字pword、頻率控制字fword及地址計數器N分別來改變相位、頻率與分辨率。
如式(1)所示,其中Fout為輸出頻率,Fclk為50M,N=32為地址計數器,分辨率為50M/232約等于0.012Hz,DDS能夠輸出頻率為0.012Hz整數倍的正弦波,滿足設計要求。在QuartusⅡ中例化一個256×8位的 ROM IP核,將通過MATLAB得到的256個點的值初始化到ROM中。讓地址計數器每次增加一定的值后把高8位當作有效地址送給ROM將相位控制字設置為0,因此根據式(1),20KHz和40KHz對應的fword大約分別為3333333和1666666。

為了得到相位連續且初始相位為0的2FSK調制波,利用PC通過串口發送1個8bit數據,在FPGA接收到數據以后,經過脈沖擴展使得每位碼元能保持1ms,即頻率為1KHz,由于每個碼元持續的時間分別為載波一個周期時間的40倍和20倍,由于pword為0,所以初始相位為0。檢測到高電平則輸出40KHz的正弦載波,檢測到低電平則輸出20KHz的正弦載波。
以FPGA接收到一個字節01011011為例,脈沖擴展后通過開關電路對20KHz和40KHz兩個不同的正弦載波源進行選通,即為2FSK調制。非連續FSK調制,采用鍵控法產生相位連續的調制信號(CPFSK)頻譜寬度小且主瓣寬度明顯小于FSK,旁瓣衰落更快,因此能夠有效避免雜波產生,提高信號傳輸的穩定性和識別率。
本節為了實現2FSK解調,利用MATLAB對FIR濾波器進行仿真,求出低通及帶通濾波器系數,導入到FPGA FIR IP核,利用Verilog hdl語言實現了基于FPGA的2FSK調制及非相干解調,并通過Modelsim仿真給出了非相干解調各節點信號的波形。
數字濾波器分為無限脈沖響應(IIR)濾波器和有限脈沖響應(FIR)濾波器。在FPGA設計中,由于可以采用IP核進行設計,使得FIR濾波器設計更為簡便。FIR濾波器的設計方法有頻率取樣法、窗函數法(包括矩形窗、漢寧窗、海明窗、凱塞窗等)及等紋波優化設計方法等。文章采用窗函數法設計實現了FIR低通及帶通濾波器。
通過MATLAB仿真,得到矩形窗、漢寧窗、海明窗、凱塞窗等窗函數設計的濾波器,頻率響應曲線如圖1所示,由圖1可以看出相同濾波器階數情況下的凱塞窗具有更好的性能;利用凱塞窗等三種方法設計的濾波器,頻率響應曲線由圖2所示,由圖2可以看出對比窗函數法與最優設計方法,相同濾波器階數下凱塞窗濾波器的阻帶紋波逐減小,因此采用凱塞窗濾波器;濾波器系數未量化、12位和14位量化的濾波器頻率響曲線如圖3所示,由圖3可以看出,量化位數對濾波器的阻帶紋波有較大的影響,且量化位數越高影響越小,故采用14位量化。

圖1 各種窗函數設計的濾波

圖2 三種方法設計的濾波器

圖3 三種系數量化后濾波器
考慮到FPGA的邏輯資源以及實驗的易實現性及精度等問題,濾波器參數選取如表1所示。首先采用kaiserord(fc,mag,dev,fs)函數獲取滿足要求的最小濾波器階數,然后利用凱塞窗函數設計濾波器,將生成的濾器抽頭系數分別寫入txt文檔中。文章設計實現了一個2KHz低通濾波器和兩個20KHz、40KHz帶通濾波器。
文章采用Altera EP4CE15F17C8型號FPGA 作為硬件核心,利用QuartusⅡ軟件中的FIR IP核來實現FIR低通及帶通濾波器。該IP核提供了4種不同的實現結構:全串行、全并行、多比特及多時鐘周期結構,不同結構速度和所占的芯片資源不同,文章利用全并行分布式算法結構,所占資源較大但是速度最快。將上述3.1節MATLAB仿真得到的濾波器抽頭系數分別導入IP核,生成低通及帶通濾波器,FIR IP核相關參數如表2所示。

表1 FIR濾波器參數

表2 濾波器FIR IP核相關參數
文章設計了可以分時輸出不同頻率正弦波的DDS發生器,利用鍵控法使得DDS發生器根據檢測到的碼元產生兩種不同頻率的正弦波,利用MATLAB仿真FIR濾波器分別求得了低通及帶通濾波器的抽頭系數,并導入FIR IP核,將MATLAB與FPGA結合使得FPGA實現了全并行分布式結構的FIR低通及帶通濾波器。最后采用Verilog hdl語言實現了基于FPGA的2FSK非相干解調,將解調出的8bit數據通過串口發送到PC,通過Modelsim仿真給出了非相干解調各節點信號的波形,仿真及實驗結果表明基于FPGA和MATLAB設計的2FSK調制解調器是正確的,具有較高的實用性和可靠性。
[1]羅杰.VerilogHDL與FPGA數字系統設計[M].北京:機械工業出版社,2015:1-2.
[2]應亞萍,許建鳳.2FSK調制解調系統的FPGA設計與實現[J].浙江工業大學學報,2010,38(3):282-285.
[3]周志法,艾文,張堯琴.基于FPGA的2FSK數字信號調制解調[J].電子科技,2012,25(3):121-123.
[4]樊昌信,曹麗娜.通信原理[M].第7版.北京:國防工業出版社,2015:177-225.
[5]關進輝,姜恒.基于FPGA的相位連續的2FSK信號的設計與實現[J].現代電子技術,2015,36(9):79-81.
Design and implementation of 2FSK modem on FPGA and MATLAB
He Wei .
School of Electronic Engineering, Xi'an Shiyou University, Xi'an 710065, China.
This paper introduces the continuous phase 2FSK demodulation principle. Key method is used to design the DDS wave generator which can output different frequency sine wave by detecting pulse code. Designing FIR filter by the window function of MATLAB, the influence of different window functions and quantization bits on the frequency response curve of FIR filter is studied to calculate the coefficients of FIR filter and import FIR IP core, realizing the full parallel distributed structure low-pass and band-pass filter. Finally implement the 2FSK modulation and the non-coherent demodulation based on FPGA by using Verilog HDL language. By Modelsim simulation, the waveform of noncoherent demodulation is obtained. The simulation and experimental results show that the phase continuous 2FSK modem based on FPGA and MATLAB is correct and has high practicability and reliability.
FPGA;MATLAB;2FSK;FIR; Modulation; Demodulation
TN713 【文獻標識碼】A 【文章編號】1009-5624(2018)02-0078-03
賀煒(1992-),男,漢族,碩士研究生,主要研究方向:無線通信與導向鉆井技術研究。