杜廣超,孫慧慧,楊云升,楊志飛
(中國洛陽電子裝備試驗中心,河南 洛陽471003)
?
基于Simulink HDL Coder的跳頻通信系統(tǒng)設(shè)計與實現(xiàn)
杜廣超,孫慧慧,楊云升,楊志飛
(中國洛陽電子裝備試驗中心,河南 洛陽471003)
針對目前FPGA程序開發(fā)中模型開發(fā)方式應(yīng)用較少的現(xiàn)狀,基于simulink模型設(shè)計了跳頻通信系統(tǒng),利用simulink HDL Coder將跳頻通信系統(tǒng)simulink仿真模型轉(zhuǎn)換為HDL代碼,在ISE中編譯生成bit文件后加載到FPGA芯片之中,在FPGA信號處理板上實現(xiàn)了話音的實時通信。對基于simulink模型實現(xiàn)FPGA算法方法的優(yōu)缺點進行了分析,對FPGA算法開發(fā)實現(xiàn)和simulink HDL Coder的推廣應(yīng)用具有一定的指導(dǎo)意義。
simulink HDL Coder;跳頻;FPGA
目前在通信或相關(guān)系統(tǒng)設(shè)計實現(xiàn)中,國內(nèi)大多數(shù)FPGA程序開發(fā)人員仍然采用基于規(guī)范代碼的底層開發(fā)方式,對IP核利用較多,對system generator有一定的應(yīng)用,對Mathworks公司基于模型的開發(fā)工具simulink HDL Coder了解不多,應(yīng)用很少。實際上simulink HDL Coder對FPGA程序開發(fā)提供了一整套的開發(fā)套件[1],從系統(tǒng)浮點算法設(shè)計、浮點算法到定點算法轉(zhuǎn)化、算法模型驗證[2]以及項目文檔自動生成都有完整的支持[3-4]。同傳統(tǒng)設(shè)計實現(xiàn)方法相比,采用simulink HDL Coder針對simulink模型的代碼自動生成技術(shù)可以同步系統(tǒng)設(shè)計和實現(xiàn),大大提高了FPGA程序開發(fā)效率,縮短項目開發(fā)周期。針對目前FPGA算法開發(fā)現(xiàn)狀,對利用simulink HDL Coder進行通信算法的開發(fā)實現(xiàn)進行了開拓性的研究,給出了simulink HDL Coder的具體應(yīng)用實例。
按照要求,跳頻通信系統(tǒng)的關(guān)鍵技術(shù)指標包括:跳速200 hop/s、調(diào)制方式FSK、頻段范圍30~90MHz、信息傳輸速率10 kbps和信道帶寬25 kHz。依據(jù)上述指標要求,設(shè)計了該跳頻通信系統(tǒng)的simulink仿真模型如圖1所示[5],整個系統(tǒng)由信息調(diào)制模塊、跳頻頻率控制模塊、上變頻模塊、同步模塊、下變頻模塊、解調(diào)模塊,以及頻譜儀、示波器等調(diào)試模塊構(gòu)成。為了降低數(shù)據(jù)處理速率,上下變頻和采樣率變化相結(jié)合,整個系統(tǒng)是多采樣率處理系統(tǒng),需要設(shè)計插值和抽取濾波器[6]來抑制帶外信號能量[7]。模型仿真所得跳頻信號滿足設(shè)計指標要求,其頻譜截圖如圖2所示,圖3為示波器觀察到的下變頻信號、判決信號、發(fā)射比特和接收比特等信號波形,接收波形較發(fā)射波形有延遲。仿真啟動后,整個系統(tǒng)誤碼率為0。
圖1 跳頻通信系統(tǒng)
圖2 跳頻通信射頻信號
圖3 關(guān)鍵信號波形
需要注意上述simulink仿真系統(tǒng)必須利用hdllib內(nèi)模塊中的模型,hdllib會創(chuàng)建一個支持HDL代碼生成的simulink模型庫。在利用simulink HDL Coder轉(zhuǎn)換為HDL代碼之前,必須把simulink浮點模型轉(zhuǎn)換為定點模型,可以利用Simulink Fixed Point實現(xiàn)浮點轉(zhuǎn)定點過程的自動化[4]。
利用simulink HDL Coder把跳頻通信系統(tǒng)simulink仿真模型生成HDL代碼后,依據(jù)FPGA芯片類型在ISE中建立工程并添加上述HDL代碼,利用modelsim進行仿真[8],modelsim仿真所得一些信號波形如圖4所示,圖4最下面2個信號分別是發(fā)射和接收比特信號,和圖3最下面的發(fā)射和接收比特信號波形一致。然后根據(jù)信號處理板FPGA接口配置在ISE工程中添加接口約束文件,保證從音頻編碼器輸入數(shù)據(jù),從音頻解碼器輸出數(shù)據(jù),綜合映射后生成bit文件下載到FPGA運行,實現(xiàn)了話音的實時通信。利用ChipScope抓取的二級下變頻和抽取濾波信號波形如圖5所示,滿足設(shè)計要求[9]。
圖4 modelsim仿真信號波形
圖5 chipscope抓取下變頻和抽取濾波信號波形
通過上述過程可看出simulink HDL Coder在FPGA算法實現(xiàn)上具有很多優(yōu)勢,集中體現(xiàn)在如下幾點:
① 設(shè)計和實現(xiàn)同步可以大幅度提高項目開發(fā)效率:基于simulink環(huán)境可以方便信號處理算法設(shè)計,算法設(shè)計完畢后轉(zhuǎn)化為HDL代碼在FPGA芯片上驗證,根據(jù)FPGA芯片處理結(jié)果對不合理設(shè)計進行修改完善,通過這樣的反復(fù)迭代,可以快速排除設(shè)計錯誤,與基于底層代碼的方式相比,項目開發(fā)效率得到了極大的提高;
② 方便算法的測試驗證:利用simulink環(huán)境編寫大量測試信號,觀察算法在各種邊界條件下的運行結(jié)果,反復(fù)修改算法各個模型的設(shè)計參數(shù),可以驗證算法的穩(wěn)健性,保證了在同樣時間內(nèi)實現(xiàn)更加頑健可靠的FPGA信號處理算法。也可以利用simulink建模測試算法在存在干擾和低信噪比下環(huán)境下的性能,幫助設(shè)計抗干擾高性能的FPGA算法;
③ 對人員硬件描述語言的熟練程度要求極低:設(shè)計人員只需了解HDL最基本的語法規(guī)范,了解接口約束的實現(xiàn)方法(實際就是幾條指令),可以編寫簡單的modelsim測試代碼,就可以通過simulink環(huán)境設(shè)計實現(xiàn)高效可靠的信號處理算法了;
④ 算法可讀性高:simulink模型圖形化的設(shè)計理念,使得通過模型表示的算法結(jié)構(gòu)清晰,和人類固有知識經(jīng)驗圖式相契合,有助于誘導(dǎo)人的創(chuàng)新設(shè)計,可讀性明顯比底層代碼高。
不過和基于底層代碼的開發(fā)方式相比,simulink HDL Coder也有自身的缺點,集中體現(xiàn)在以下幾點:
① 對simulink環(huán)境的理解和應(yīng)用要求高。為設(shè)計出高效算法,降低算法資源占用度,提高時序設(shè)計質(zhì)量,需要對simulink模型有全面和深入的理解,同時需要對simulink HDL Coder的轉(zhuǎn)換規(guī)則有深刻理解;
② 算法實現(xiàn)后,時鐘約束關(guān)系使得FPGA可運行最高時鐘頻率低于底層代碼開發(fā)方式。時鐘頻率如果太高,就會導(dǎo)致信號波形畸變,進一步算法失效,這就降低了算法的數(shù)據(jù)處理速度,限制了算法的應(yīng)用范圍;
③ 和熟練的代碼實現(xiàn)工程師相比,simulink HDL Coder所需硬件資源較多。
綜上所述,可以看出在FPGA芯片資源充裕的條件下,利用simulink HDL Coder可以快捷實現(xiàn)經(jīng)過大量測試的適應(yīng)復(fù)雜環(huán)境的FPGA信號處理算法,對于加快項目開發(fā)具有極大的促進意義。
本文完整展現(xiàn)了simulink HDL Coder在通信系統(tǒng)開發(fā)和設(shè)計中的運用流程,實現(xiàn)了通信算法的simulink模型開發(fā)和FPGA實現(xiàn)。和傳統(tǒng)方式相比,基于simulink HDL Coder的算法設(shè)計和實現(xiàn)可以極大提高開發(fā)效率,對加快FPGA通信算法開發(fā)具有一定的指導(dǎo)價值。結(jié)合simulink Embedded Coder可以實現(xiàn)simulink模型的DSP代碼實現(xiàn),利用simulink可以方便實現(xiàn)整個系統(tǒng)的模型開發(fā),具有極大的應(yīng)用前景。
[1]張慧娟.HDL Coder和HDL Verifier支持HDL代碼生成和驗證[J].電子設(shè)計技術(shù),2012(5):20-21.
[2]單博.快速FPGA/ASIC原型設(shè)計與驗證[R].Matlab巡回研討會,2014:5-14.
[3]陳曉挺.FPGA上實現(xiàn)無線通信接收機[R].Matlab巡回研討會,2014:6-17.
[4]張靈慧,周尹瑜.使用Simulink Fixed Point來進行定點建模與代碼生成[R].Matlab巡回研討會,2009:4-9.
[5]劉穎,張?zhí)燧x,袁丁,等.跳頻通信系統(tǒng)設(shè)計與仿真實現(xiàn)[J].通信技術(shù),2013,46(10):18-21.
[6]宗孔德.多抽樣率信號處理[M].北京:清華大學出版社,1996:25-36.
[7]杜勇,路建功,李元洲.數(shù)字濾波器的Matlab與FPGA實現(xiàn)[M].北京:電子工業(yè)出版社,2012:196-234.
[8]羅慶生,李超,韓寶玲,等.基于Matlab與Modelsim的四足機器人步態(tài)算法的協(xié)同仿真[J].單片機與嵌入式系統(tǒng)應(yīng)用,2015:35-38.
[9]連秋華.跳頻通信系統(tǒng)FCS技術(shù)研究[J].移動通信,2015,39(14):69-72.
Design and Implementation of Frequency Hopping Communication System Based on Simulink HDL Coder
DU Guang-chao,SUN Hui-hui,YANG Yun-sheng,YANG Zhi-fei
(Luoyang Electronic Equipment Test Center,Luoyang He’nan 471003,China)
In the FPGA development,the model-based method is fewer applied.A frequency hopping communication system is designed based on simulink model.The simulink simulation model of frequency hopping communication system is transformed to HDL code by simulink HDL Coder.The bit file,which is built in ISE,is then loaded into FPGA.At last,real-time voice communication is realized on the FPGA signal processing board.The merits and demerits of this method to realize FPGA algorithm based on simulink model are analyzed,which is of a certain guiding value to the FPGA development and the extended application of simulink HDL Coder.
Simulink HDL Coder;Frequency Hopping;FPGA
10.3969/j.issn.1003-3114.2016.05.24
引用格式:杜廣超,孫慧慧,楊云升,等.基于Simulink HDL Coder的跳頻通信系統(tǒng)設(shè)計與實現(xiàn)[J].無線電通信技術(shù),2016,42(5):96-98.
2016-06-03
杜廣超(1981—),男,工程師,主要研究方向:特種通信技術(shù)。楊云升(1973—),男,高級工程師,主要研究方向:特種通信技術(shù)。
TN27
A
1003-3114(2016)05-96-3