基于Simulink的FH/DS混合信號源的仿真設(shè)計(jì)
1 引 言
跳頻(FH)和直擴(kuò)(DS)系統(tǒng)都具有很強(qiáng)的抗干擾能力,是使用最多的兩種擴(kuò)頻技術(shù)。跳頻系統(tǒng)在抗選擇性衰落、抗多徑等方面的能力不強(qiáng),直擴(kuò)技術(shù)正好彌補(bǔ)了這一缺點(diǎn);直擴(kuò)系統(tǒng)受"遠(yuǎn)-近"效應(yīng)影響較大,而這正是跳頻技術(shù)的優(yōu)點(diǎn)。這兩種方式都具有自己的獨(dú)到之處,但也存在各自的不足,將兩者有機(jī)地結(jié)合在一起,可以大大改善系統(tǒng)性能。
Matlab/Simulink屬于一種通用的科學(xué)計(jì)算和系統(tǒng)仿真語言,Matlab簡單高效的數(shù)學(xué)語言結(jié)合Simulink的圖形化設(shè)計(jì)使得從數(shù)學(xué)模型到計(jì)算機(jī)仿真模型的轉(zhuǎn)換非常容易,免除了高級語言編程的繁瑣。
本文使用Simulink中的Communications Blockset和Altera DSP Builder工具箱對FH/DS混合擴(kuò)頻信號源進(jìn)行了仿真設(shè)計(jì),采用同一PN碼發(fā)生器保證了系統(tǒng)的同步性,并借助Altera公司推出的DSP Builder將核心模塊自動轉(zhuǎn)化為VHDL文件,可由QuartusⅡ軟件來進(jìn)一步完成編譯、綜合以及FPGA芯片的下載調(diào)試。其中,DSPBuilder軟件的使用大大加速了工程設(shè)計(jì)從軟件仿真到硬件實(shí)現(xiàn)的進(jìn)程。
2 FH/DS混合信號源的原理及組成
2.1混合信號源的設(shè)計(jì)原理
直擴(kuò)采用偽隨機(jī)碼進(jìn)行擴(kuò)頻,跳頻是用碼序列構(gòu)成跳頻指令來控制頻率合成器輸出信號的頻率。
本設(shè)計(jì)采用偽碼發(fā)生器來作為直擴(kuò)信號源,并使用同一偽碼發(fā)生器控制直接數(shù)字頻率合成器(DDS)來產(chǎn)生跳變的頻率,作為跳頻信號源。這樣可以保證混合信號源的同步性,在接收端也有利于實(shí)現(xiàn)解擴(kuò)同步處理。圖1是FH/DS混合信號源的示意圖。
可見,DDS技術(shù)和偽碼發(fā)生器是混合擴(kuò)頻信號源的關(guān)鍵技術(shù)。
2.2 DDS技術(shù)原理及組成
DDS是從相位概念出發(fā)直接合成所需波形的一種新的頻率合成技術(shù),用數(shù)字合成技術(shù)實(shí)現(xiàn)。DDS主要由相位累加器、正弦查詢表、D/A轉(zhuǎn)換器和低通濾波器組成,如圖2所示。
在參考頻率fc的控制下,頻率控制字K控制相位累加器得到相應(yīng)的相位數(shù)據(jù),并在正弦查詢表中查詢相應(yīng)的幅度信息,將相位信息轉(zhuǎn)化成相應(yīng)的正弦幅值,經(jīng)D/A轉(zhuǎn)換器變成模擬信號,再經(jīng)低通濾波器平滑后得到所需的信號波形。通過改變頻率控制字K,可得到不同的輸出頻率:
市面上現(xiàn)有的高性能芯片雖可完成DDS功能,但在某些性能指標(biāo)及價格方面并不能很好的滿足設(shè)計(jì)要求。本次設(shè)計(jì)采用Matlab/Simulink+DSP Builder仿真設(shè)計(jì)DDS模塊,并將模塊自動轉(zhuǎn)成VHDL文件,進(jìn)一步使用QuartusⅡ軟件來完成FPGA芯片的設(shè)計(jì)下載。這樣可以獲得符合自己要求的高性價比的DDS。
2.3 PN碼發(fā)生器的原理及構(gòu)成
本次仿真設(shè)計(jì)中,PN碼采用易于產(chǎn)生、擁有優(yōu)良自相關(guān)特性的m序列。m序列是由移位寄存器加反饋后構(gòu)成的,其序列生成多項(xiàng)式如下:
3 FH/DS混合信號源的Simulink仿真
3.1 系統(tǒng)仿真模型
混合擴(kuò)頻信號源系統(tǒng)的仿真模型主要由三部分組成:PN_Generator,Random_Integer及DDS,如圖3所示。
3.2 PN Generator的仿真設(shè)計(jì)
根據(jù)反饋移位寄存器原理,采用Altera DSP Builder工具箱設(shè)計(jì)的PN_Generator仿真結(jié)構(gòu)如圖4所示,該模塊采用5級反饋來產(chǎn)生周期為31的m序列。根據(jù)需要,可對反饋級數(shù)作修改。
該模塊采用Communications Blockset工具箱設(shè)計(jì)完成,其仿真結(jié)構(gòu)如圖5所示。參數(shù)設(shè)置為4,即每4位二進(jìn)制轉(zhuǎn)化成為1位十六進(jìn)制,輸出幅值在[1,15]之間、碼持續(xù)時間為1 s的隨機(jī)整數(shù)序列。
按照DDS的組成原理,在Simulink中采用AlteraDSP Builder工具箱建立的DDS仿真結(jié)構(gòu)如圖6所示。
由于受存儲器容量和成本限制,正弦查詢表LUT容量有限,采用10位精度,其參數(shù)Matlab Array設(shè)置為:255*sin([0:pi/(2^10):2*pi]),即DDS模塊可獲得fc/210的頻率分辨率。
DDS各點(diǎn)的仿真波形如圖7所示,示波器的采樣時間設(shè)置為0.01。
系統(tǒng)仿真步進(jìn)設(shè)置為Variable Step,最大仿真步長設(shè)置為le-3,仿真時間設(shè)置為65 s。圖8顯示了FH/DS混合信號源的仿真波形,示波器的采樣時間設(shè)置為0.01。
上述內(nèi)容旨在提出一種完全由Simulink仿真實(shí)現(xiàn)的混合擴(kuò)頻信號源,而對于信號的指標(biāo)沒有過高要求。如有需要,通過修改仿真模型中零階保持器的sample time和Random_Integer的參數(shù),直擴(kuò)碼和跳頻源的頻率可進(jìn)一步提高,跳頻點(diǎn)數(shù)也可進(jìn)一步增加,通過修改PN_Gener-ator的反饋級數(shù),直擴(kuò)碼周期可加大。通過修改參數(shù)以滿足不同需要使得本設(shè)計(jì)具有很大的靈活性。
4核心模塊的FPGA實(shí)現(xiàn)
從前面的分析可以看到,偽碼發(fā)生和DDS是混合擴(kuò)頻信號源的核心模塊,因此采用了Altera DSP Builder工具箱對其進(jìn)行仿真設(shè)計(jì)。Altera DSP Builder是DSPBuilder軟件在Simulink生成的工具箱,下面對DSP Build-er的設(shè)計(jì)流程和上述兩個模塊的FPGA實(shí)現(xiàn)加以介紹。
4.1 DSP Builder設(shè)計(jì)流程
Altera公司推出的DSP Builder是一個系統(tǒng)級(或算法級)設(shè)計(jì)工具,他架構(gòu)在多個軟件工具之上,并把系統(tǒng)級(算法仿真建模)和RTL級(硬件實(shí)現(xiàn))兩個設(shè)計(jì)領(lǐng)域的設(shè)計(jì)工具連接起來,最大程度地發(fā)揮了兩種工具的優(yōu)勢。DSP Builder依賴于MathWorks公司的數(shù)學(xué)分析工具M(jìn)atlab/Simulink,以Simulink的Blockset出現(xiàn)??梢栽赟imulink中進(jìn)行圖形化設(shè)計(jì)和仿真,同時又通過Signal-Compiler把Matlab/Simulink的設(shè)計(jì)文件(.mdl)轉(zhuǎn)成相應(yīng)的硬件描述語言VHDL設(shè)計(jì)文件(.vhd),以及用于控制綜合和編譯的tcl腳本。而對后者的處理可以由FPGA/CPLD開發(fā)工具QuartusⅡ來完成。
由于用FPGA設(shè)計(jì)一個DSP模塊的復(fù)雜性、設(shè)計(jì)的性能(如面積、速度、可靠性、設(shè)計(jì)周期等)對于不同的應(yīng)用目標(biāo)有不同的要求,涉及的軟件工具也不僅僅是Simulink和QuartusⅡ。DSP Builder針對不同情況提供了兩套設(shè)計(jì)流程,即自動流程和手動流程。
自動流程包括以下幾個步驟:
(1)Matlab/Simulink建模;
(2)系統(tǒng)仿真;
(3)DSP Builder完成VHDL轉(zhuǎn)換、綜合、適配、下載;
(4)嵌入式邏輯分析儀實(shí)時測試。
手動流程包括以下幾個步驟:
(1)Matlab/Simulink建模;
(2)系統(tǒng)仿真;
(3)DSP Builder完成VHDL轉(zhuǎn)換、綜合、適配;
(4)ModelSim對TestBench功能仿真;
(5)QuartusⅡ直接完成適配(進(jìn)行優(yōu)化設(shè)置);
(6)QuartusⅡ完成時序仿真;
(7)引腳鎖定;
(8)下載/配置與嵌入式邏輯分析儀等實(shí)時測試;
(9)對配置器件編程,設(shè)計(jì)完成。
4.2 PN Generator和DDS功能模塊的FPGA實(shí)現(xiàn)
按照圖4和圖6所示結(jié)構(gòu)在Simulink中完成仿真模塊的搭建,參數(shù)設(shè)置后進(jìn)行Simulink系統(tǒng)級仿真。仿真成功后雙擊Signal Complier Block,出現(xiàn)如圖9所示窗口。
對話框中選定Cyclone系列芯片。通過點(diǎn)擊1,可把Simulink的模塊文件(.mdl)自動轉(zhuǎn)換成硬件描述語言VHDL文件:點(diǎn)擊2,可對轉(zhuǎn)換好的VHDL文件進(jìn)行綜合;點(diǎn)擊3,QuartusⅡ進(jìn)行編譯適配,生成編程文件。也可以點(diǎn)擊"Execute steps 1,2 and 3"讓Signal Complier自動完成上述一系列操作,由QuartusⅡ自動進(jìn)行綜合、適配、時序分析,最終得到可供芯片下載使用的.sof文件。
打開QuartusⅡ,選擇Cyclone系列的EP1C6Q240C8芯片,進(jìn)行重新編譯、仿真并下載到芯片,最終可在示波器中驗(yàn)證偽碼發(fā)生和DDS的功能。
5 結(jié)語
本次仿真設(shè)計(jì)充分利用了Matlab/Simulink中DSPBuilder工具箱的圖形化界面建模、系統(tǒng)仿真的功能,既避免了編寫繁瑣的硬件描述程序,又區(qū)別于以往完全圖形化的仿真設(shè)計(jì)方法,設(shè)計(jì)思路十分靈活。其中,DSP Builder軟件的使用大大縮短了工程設(shè)計(jì)從軟件仿真到硬件實(shí)現(xiàn)的周期。采用同一偽碼發(fā)生器,能夠同步產(chǎn)生直擴(kuò)所需的偽碼序列和跳頻所需的跳變頻率源,保證了混合擴(kuò)頻信號源的穩(wěn)定性,對于接收端的同步解擴(kuò)也十分有利。采用DDS技術(shù),具有分辨率高、頻率變化快、頻率可控等優(yōu)點(diǎn),很好地實(shí)現(xiàn)了跳頻功能。和專用芯片相比,對多種功能模塊進(jìn)行Simulink仿真,利用DSP Builder快速轉(zhuǎn)換到FPGA硬件設(shè)計(jì),并將多種功能集成在同一FPGA芯片上,這種方法使系統(tǒng)具有較高的性價比。