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