新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于Simulink的FH/DS混合信號源的仿真設(shè)計

基于Simulink的FH/DS混合信號源的仿真設(shè)計

作者: 時間:2008-07-02 來源:網(wǎng)絡(luò) 收藏

1 引 言

跳頻()和直擴()系統(tǒng)都具有很強的抗干擾能力,是使用最多的兩種擴頻技術(shù)。跳頻系統(tǒng)在抗選擇性衰落、抗多徑等方面的能力不強,直擴技術(shù)正好彌補了這一缺點;直擴系統(tǒng)受"遠-近"效應(yīng)影響較大,而這正是跳頻技術(shù)的優(yōu)點。這兩種方式都具有自己的獨到之處,但也存在各自的不足,將兩者有機地結(jié)合在一起,可以大大改善系統(tǒng)性能。

Matlab/屬于一種通用的科學計算和系統(tǒng)語言,Matlab簡單高效的數(shù)學語言結(jié)合的圖形化使得從數(shù)學模型到計算機模型的轉(zhuǎn)換非常容易,免除了高級語言編程的繁瑣。

本文使用中的Communications Blockset和Altera P Builder工具箱對擴頻進行了,采用同一PN碼發(fā)生器保證了系統(tǒng)的同步性,并借助Altera公司推出的DSP Builder將核心模塊自動轉(zhuǎn)化為VHDL文件,可由QuartusⅡ軟件來進一步完成編譯、綜合以及FPGA芯片的下載調(diào)試。其中,DSPBuilder軟件的使用大大加速了工程從軟件仿真到硬件實現(xiàn)的進程。

2 /DS的原理及組成

2.1的設(shè)計原理

直擴采用偽隨機碼進行擴頻,跳頻是用碼序列構(gòu)成跳頻指令來控制頻率合成器輸出信號的頻率。

本設(shè)計采用偽碼發(fā)生器來作為直擴信號源,并使用同一偽碼發(fā)生器控制直接數(shù)字頻率合成器(DDS)來產(chǎn)生跳變的頻率,作為跳頻信號源。這樣可以保證混合信號源的同步性,在接收端也有利于實現(xiàn)解擴同步處理。圖1是FH/DS混合信號源的示意圖。

可見,DDS技術(shù)和偽碼發(fā)生器是混合擴頻信號源的關(guān)鍵技術(shù)。

2.2 DDS技術(shù)原理及組成

DDS是從相位概念出發(fā)直接合成所需波形的一種新的頻率合成技術(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功能,但在某些性能指標及價格方面并不能很好的滿足設(shè)計要求。本次設(shè)計采用Matlab/Simulink+DSP Builder仿真設(shè)計DDS模塊,并將模塊自動轉(zhuǎn)成VHDL文件,進一步使用QuartusⅡ軟件來完成FPGA芯片的設(shè)計下載。這樣可以獲得符合自己要求的高性價比的DDS。

2.3 PN碼發(fā)生器的原理及構(gòu)成

本次仿真設(shè)計中,PN碼采用易于產(chǎn)生、擁有優(yōu)良自相關(guān)特性的m序列。m序列是由移位寄存器加反饋后構(gòu)成的,其序列生成多項式如下:

對于r級反饋移位寄存器,可產(chǎn)生周期為2r-1的m序列。本設(shè)計中取m=5,產(chǎn)生周期為31的m序列。若有需要,偽碼發(fā)生器也可采用其他碼序列,如GOLD碼、m序列、R-S卷積碼等。

3 FH/DS混合信號源的Simulink仿真

3.1 系統(tǒng)仿真模型

混合擴頻信號源系統(tǒng)的仿真模型主要由三部分組成:PN_Generator,Random_Integer及DDS,如圖3所示。

信號流程:PN_Generator產(chǎn)生周期為31的m序列,經(jīng)零階保持器(Hold)后形成碼寬為1的偽碼序列作為直擴的信號源;m序列進入Random_Integer,由一列二進制碼變成一列十六進制碼即隨機跳變的整數(shù)序列,整數(shù)幅值在[1,15]之間,經(jīng)脈沖(Pulse)采樣(Sample)后產(chǎn)生頻率控制字進入DDS,在DDS中將相位信息轉(zhuǎn)化成相應(yīng)的正弦幅值,產(chǎn)生了頻率隨機跳變(具有15個跳頻頻率點)的正弦波形,作為跳頻的信號源。通過示波器(Scope)可以觀察輸出波形。

3.2 PN Generator的仿真設(shè)計

根據(jù)反饋移位寄存器原理,采用Altera DSP Builder工具箱設(shè)計的PN_Generator仿真結(jié)構(gòu)如圖4所示,該模塊采用5級反饋來產(chǎn)生周期為31的m序列。根據(jù)需要,可對反饋級數(shù)作修改。

3.3 Random_Integer的仿真設(shè)計

該模塊采用Communications Blockset工具箱設(shè)計完成,其仿真結(jié)構(gòu)如圖5所示。參數(shù)設(shè)置為4,即每4位二進制轉(zhuǎn)化成為1位十六進制,輸出幅值在[1,15]之間、碼持續(xù)時間為1 s的隨機整數(shù)序列。

3.4 DDS的仿真設(shè)計

按照DDS的組成原理,在Simulink中采用AlteraDSP Builder工具箱建立的DDS仿真結(jié)構(gòu)如圖6所示。

幅值在[1,15]之間、碼持續(xù)時間為1 s的隨機整數(shù)序列進入DDS,控制相位累加器得到相應(yīng)的相位數(shù)據(jù),并在正弦查詢表(LUT)中查詢相應(yīng)的幅度信息,將相位信息轉(zhuǎn)化成相應(yīng)的正弦幅值,從而得到頻率跳變的正弦波信號。

由于受存儲器容量和成本限制,正弦查詢表LUT容量有限,采用10位精度,其參數(shù)Matlab Array設(shè)置為:255*sin([0:pi/(2^10):2*pi]),即DDS模塊可獲得fc/210的頻率分辨率。

DDS各點的仿真波形如圖7所示,示波器的采樣時間設(shè)置為0.01。

3.5 系統(tǒng)仿真結(jié)果

系統(tǒng)仿真步進設(shè)置為Variable Step,最大仿真步長設(shè)置為le-3,仿真時間設(shè)置為65 s。圖8顯示了FH/DS混合信號源的仿真波形,示波器的采樣時間設(shè)置為0.01。

可以看到,該仿真模型輸出了兩路信號:一路是碼周期為31、最小碼寬為1的直擴信號,另一路是具有15個跳頻點的隨機跳頻信號。

上述內(nèi)容旨在提出一種完全由Simulink仿真實現(xiàn)的混合擴頻信號源,而對于信號的指標沒有過高要求。如有需要,通過修改仿真模型中零階保持器的sample time和Random_Integer的參數(shù),直擴碼和跳頻源的頻率可進一步提高,跳頻點數(shù)也可進一步增加,通過修改PN_Gener-ator的反饋級數(shù),直擴碼周期可加大。通過修改參數(shù)以滿足不同需要使得本設(shè)計具有很大的靈活性。

4核心模塊的FPGA實現(xiàn)

從前面的分析可以看到,偽碼發(fā)生和DDS是混合擴頻信號源的核心模塊,因此采用了Altera DSP Builder工具箱對其進行仿真設(shè)計。Altera DSP Builder是DSPBuilder軟件在Simulink生成的工具箱,下面對DSP Build-er的設(shè)計流程和上述兩個模塊的FPGA實現(xiàn)加以介紹。

4.1 DSP Builder設(shè)計流程

Altera公司推出的DSP Builder是一個系統(tǒng)級(或算法級)設(shè)計工具,他架構(gòu)在多個軟件工具之上,并把系統(tǒng)級(算法仿真建模)和RTL級(硬件實現(xiàn))兩個設(shè)計領(lǐng)域的設(shè)計工具連接起來,最大程度地發(fā)揮了兩種工具的優(yōu)勢。DSP Builder依賴于MathWorks公司的數(shù)學分析工具Matlab/Simulink,以Simulink的Blockset出現(xiàn)??梢栽赟imulink中進行圖形化設(shè)計和仿真,同時又通過Signal-Compiler把Matlab/Simulink的設(shè)計文件(.mdl)轉(zhuǎn)成相應(yīng)的硬件描述語言VHDL設(shè)計文件(.vhd),以及用于控制綜合和編譯的tcl腳本。而對后者的處理可以由FPGA/CPLD開發(fā)工具QuartusⅡ來完成。

由于用FPGA設(shè)計一個DSP模塊的復(fù)雜性、設(shè)計的性能(如面積、速度、可靠性、設(shè)計周期等)對于不同的應(yīng)用目標有不同的要求,涉及的軟件工具也不僅僅是Simulink和QuartusⅡ。DSP Builder針對不同情況提供了兩套設(shè)計流程,即自動流程和手動流程。

自動流程包括以下幾個步驟:

(1)Matlab/Simulink建模;
(2)系統(tǒng)仿真;
(3)DSP Builder完成VHDL轉(zhuǎn)換、綜合、適配、下載;
(4)嵌入式邏輯分析儀實時測試。

手動流程包括以下幾個步驟:

(1)Matlab/Simulink建模;
(2)系統(tǒng)仿真;
(3)DSP Builder完成VHDL轉(zhuǎn)換、綜合、適配;
(4)ModelSim對TestBench功能仿真;
(5)QuartusⅡ直接完成適配(進行優(yōu)化設(shè)置);
(6)QuartusⅡ完成時序仿真;
(7)引腳鎖定;
(8)下載/配置與嵌入式邏輯分析儀等實時測試;
(9)對配置器件編程,設(shè)計完成。

4.2 PN Generator和DDS功能模塊的FPGA實現(xiàn)

按照圖4和圖6所示結(jié)構(gòu)在Simulink中完成仿真模塊的搭建,參數(shù)設(shè)置后進行Simulink系統(tǒng)級仿真。仿真成功后雙擊Signal Complier Block,出現(xiàn)如圖9所示窗口。

對話框中選定Cyclone系列芯片。通過點擊1,可把Simulink的模塊文件(.mdl)自動轉(zhuǎn)換成硬件描述語言VHDL文件:點擊2,可對轉(zhuǎn)換好的VHDL文件進行綜合;點擊3,QuartusⅡ進行編譯適配,生成編程文件。也可以點擊"Execute steps 1,2 and 3"讓Signal Complier自動完成上述一系列操作,由QuartusⅡ自動進行綜合、適配、時序分析,最終得到可供芯片下載使用的.sof文件。

打開QuartusⅡ,選擇Cyclone系列的EP1C6Q240C8芯片,進行重新編譯、仿真并下載到芯片,最終可在示波器中驗證偽碼發(fā)生和DDS的功能。

5 結(jié)語

本次仿真設(shè)計充分利用了Matlab/Simulink中DSPBuilder工具箱的圖形化界面建模、系統(tǒng)仿真的功能,既避免了編寫繁瑣的硬件描述程序,又區(qū)別于以往完全圖形化的仿真設(shè)計方法,設(shè)計思路十分靈活。其中,DSP Builder軟件的使用大大縮短了工程設(shè)計從軟件仿真到硬件實現(xiàn)的周期。采用同一偽碼發(fā)生器,能夠同步產(chǎn)生直擴所需的偽碼序列和跳頻所需的跳變頻率源,保證了混合擴頻信號源的穩(wěn)定性,對于接收端的同步解擴也十分有利。采用DDS技術(shù),具有分辨率高、頻率變化快、頻率可控等優(yōu)點,很好地實現(xiàn)了跳頻功能。和專用芯片相比,對多種功能模塊進行Simulink仿真,利用DSP Builder快速轉(zhuǎn)換到FPGA硬件設(shè)計,并將多種功能集成在同一FPGA芯片上,這種方法使系統(tǒng)具有較高的性價比。

負離子發(fā)生器相關(guān)文章:負離子發(fā)生器原理


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉