<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA和DDS的數(shù)字調(diào)制信號(hào)發(fā)生器設(shè)計(jì)與實(shí)現(xiàn)

          基于FPGA和DDS的數(shù)字調(diào)制信號(hào)發(fā)生器設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2016-10-18 來(lái)源:網(wǎng)絡(luò) 收藏

          摘要:為了提高發(fā)生器的頻率準(zhǔn)確度和穩(wěn)定度,并使其相關(guān)技術(shù)參數(shù)靈活可調(diào),提出了基于和DDS技術(shù)的發(fā)生器設(shè)計(jì)方法。利用Matlab/Simulink、DSP Builder、QuartusⅡ3個(gè)工具軟件,進(jìn)行基本DDS建模,然后在DDS模塊的基礎(chǔ)上,通過(guò)單片機(jī)等電路組成的控制單元的邏輯控制作用,根據(jù)通信系統(tǒng)中數(shù)字調(diào)制方式的基本原理,設(shè)計(jì)并實(shí)現(xiàn)了發(fā)生器,從而實(shí)現(xiàn)二進(jìn)制頻移鍵控(2FSK)、二進(jìn)制相移鍵控(2PSK)和二進(jìn)制幅移鍵控(2ASK)3種基本的二進(jìn)制數(shù)字調(diào)制。所得仿真結(jié)果表明設(shè)計(jì)方法的正確性和實(shí)用性。
          關(guān)鍵詞:數(shù)字調(diào)制信號(hào);;DSP Builder

          信號(hào)發(fā)生器種類(lèi)很多,按是否利用頻率合成技術(shù)來(lái)分,可分為非頻率合成式信號(hào)發(fā)生器與頻率合成式信號(hào)發(fā)生器。其中頻率合成式信號(hào)發(fā)生器的頻率準(zhǔn)確度和穩(wěn)定度都很高,且頻率連續(xù)可調(diào),是信號(hào)發(fā)生器的發(fā)展方向。頻率合成技術(shù)發(fā)展很快,先后經(jīng)歷了:直接模擬頻率合成技術(shù)、鎖相頻率合成技術(shù)(PLL)、直接數(shù)字式頻率合成技術(shù)(DDS)和混合式頻率合成技術(shù)。模擬頻率合成的信號(hào)發(fā)生器電路硬件結(jié)構(gòu)復(fù)雜,體積大,價(jià)格昂貴,不便于集成化;PLL易于集成化,體積小,結(jié)構(gòu)簡(jiǎn)單,功耗低,價(jià)格低,而且具有極寬的頻率范圍和十分良好的寄生信號(hào)抑制特性,但頻率切換時(shí)間相對(duì)較長(zhǎng),相位噪聲較大;DDS是基于取樣技術(shù)和數(shù)字計(jì)算技術(shù)來(lái)實(shí)現(xiàn)數(shù)字合成,產(chǎn)生所需頻率的正弦信號(hào),極易實(shí)現(xiàn)頻率和相位控制,且切換時(shí)間快,尤其適于合成任意波形,集成度高,體積小,其因頻率分辨率高、頻率切換速度快、相位噪聲低和頻率穩(wěn)定度高等優(yōu)點(diǎn)而成為現(xiàn)代頻率合成技術(shù)中的佼佼者。直接模擬式、鎖相環(huán)式和直接數(shù)字式頻率合成技術(shù)都有其優(yōu)缺點(diǎn),單獨(dú)使用任何一種方法,有時(shí)也很難滿(mǎn)足要求。此時(shí)可將這幾種方法綜合應(yīng)用,即為混合式頻率合成技術(shù)。而隨著微電子技術(shù)和EDA技術(shù)的深入研究及發(fā)展,DDS技術(shù)更是得到了飛速的發(fā)展,同時(shí),基于現(xiàn)場(chǎng)可編程邏輯門(mén)陣列()的設(shè)計(jì)具有靈活、速度快等優(yōu)點(diǎn)。因此,本文將基于DDS技術(shù),應(yīng)用Altera公司推出的DSP Builder和QuartusⅡ軟件進(jìn)行基本DDS建模,然后在DDS模塊的基礎(chǔ)上,通過(guò)單片機(jī)等電路組成的控制單元的邏輯控制作用,完成一個(gè)基于FPGA硬件平臺(tái)的數(shù)字調(diào)制信號(hào)發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)。使其具有頻率分辨率高、準(zhǔn)確度和穩(wěn)定度高、抗干擾能力強(qiáng)、相關(guān)技術(shù)參數(shù)靈活可調(diào)等優(yōu)點(diǎn)。

          1 DDS及數(shù)字調(diào)制方式的基本原理
          1.1 DDS的基本原理
          (Direet Digital Frequencv Synthesizer-DDS)是一種基于全數(shù)字技術(shù),從相位概念出發(fā)直接合成所需波形的一種頻率合成技術(shù)。DDS頻率合成器具有以下優(yōu)良的性能:工作頻率范圍很寬;極高的頻率分辨力;極短的頻率轉(zhuǎn)換時(shí)間;任意波形輸出能力;數(shù)字調(diào)制性能好等。
          以合成正弦信號(hào)為例說(shuō)明DDS的基本原理。對(duì)于一個(gè)正弦信號(hào)可表示如下:
          Sout=Asin(ωt)=Asin(2πfoutt) (1)
          其中:Sout為正弦信號(hào),fout為正弦信號(hào)的頻率。上式正弦信號(hào)表示對(duì)于時(shí)間t是連續(xù)的,為了用數(shù)字邏輯實(shí)現(xiàn)該表達(dá)式,需要進(jìn)行離散化處理。用基準(zhǔn)時(shí)鐘進(jìn)行fclk采樣,令正弦信號(hào)的相位為:θ=2πfoutt,在一個(gè)基準(zhǔn)時(shí)鐘周期Tclk內(nèi),相位的變化量為:
          a.JPG
          由上所述,只要將相位的量化值進(jìn)行累加運(yùn)算,就可以得到正弦信號(hào)的當(dāng)前相位值θk。其中用于累加的相位增量量化值B△θ決定了信號(hào)的輸出頻率fout,而且為簡(jiǎn)單的線性關(guān)系。這就是直接數(shù)字合成器DDS的設(shè)計(jì)原理。

          本文引用地址:http://www.ex-cimer.com/article/201610/308561.htm

          b.JPG


          圖1所示為一個(gè)基本的DDS結(jié)構(gòu),主要由相位累加器(PD)、相位調(diào)制器、正弦查找表(波形存儲(chǔ)器ROM)、數(shù)模轉(zhuǎn)換器(DAC)等構(gòu)成。相位累加器是DDS的核心部件,其輸入是相位增量B△θ,由于與輸出頻率fout成線性關(guān)系,故相位累加器的輸入又可以稱(chēng)為頻率字輸入,事實(shí)上,當(dāng)系統(tǒng)基準(zhǔn)時(shí)鐘頻率fclk為2N時(shí),B△θ就等于fout。相位累加器在基準(zhǔn)時(shí)鐘的作用下進(jìn)行相位累加,當(dāng)累加滿(mǎn)時(shí)產(chǎn)生一次溢出,就完成一個(gè)周期的信號(hào)合成。
          相位調(diào)制器接收相位累加器的相位輸出,在這里加上一個(gè)相位偏移值,主要用于信號(hào)的相位調(diào)制,如PSK(相移鍵控),不使用時(shí)可以去掉該部分,或者加一個(gè)固定的相位字輸入。
          正弦查找表進(jìn)行波形的相位到幅度的轉(zhuǎn)換,它的輸入是相位調(diào)制器的輸出,也就是波形存儲(chǔ)器的地址值,其輸出送往數(shù)模轉(zhuǎn)換器,轉(zhuǎn)化成模擬信號(hào),再經(jīng)低通濾波器濾除其中的高頻成分,將其變成光滑的正弦波輸出。
          由于相位調(diào)制器的輸出數(shù)據(jù)位寬M也是波形存儲(chǔ)器的地址位寬,由于受數(shù)模轉(zhuǎn)換器位數(shù)的限制,因此在實(shí)際的DDS結(jié)構(gòu)中Ⅳ雖然很大,而M總為10位左右。
          1.2 數(shù)字調(diào)制方式的基本原理
          用數(shù)字基帶信號(hào)將載波信號(hào)變換為數(shù)字帶通信號(hào)(已調(diào)信號(hào)),以使數(shù)字信號(hào)在帶通信道中傳輸,其過(guò)程叫做數(shù)字調(diào)制(digital modulat ion)。一般數(shù)字調(diào)制跟模擬調(diào)制的基本原理相同,但是數(shù)字信號(hào)具有離散取值的特點(diǎn)。因此數(shù)字調(diào)制技術(shù)有兩種方法:一是利用模擬調(diào)制方式去實(shí)現(xiàn)數(shù)字式調(diào)制;二是利用數(shù)字信號(hào)的離散取值特點(diǎn)通過(guò)開(kāi)關(guān)鍵控載波,從而實(shí)現(xiàn)數(shù)字調(diào)制。這種方法通常稱(chēng)為鍵控法,比如對(duì)載波的幅度、頻率和相位進(jìn)行鍵控,即可得到幅移鍵控(ASK)、頻移鍵控(FSK)和相移鍵控(PSK)3種基本的數(shù)字調(diào)制信號(hào)。而數(shù)字信息有二進(jìn)制和多進(jìn)制之分,因此數(shù)字調(diào)制可分為二進(jìn)制調(diào)制和多進(jìn)制調(diào)制。在二進(jìn)制調(diào)制中,信號(hào)參量只有兩種可能的取值。當(dāng)調(diào)制信號(hào)是二進(jìn)制數(shù)字基帶信號(hào)時(shí),這種調(diào)制稱(chēng)為二進(jìn)制數(shù)字調(diào)制。在二進(jìn)制數(shù)字調(diào)制中,載波的幅度、頻率和相位只有兩種變化狀態(tài),相應(yīng)的調(diào)制方式有二進(jìn)制幅移鍵控(2ASK)、二進(jìn)制頻移鍵控(2FSK)和二進(jìn)制相移鍵控(2PSK)。
          根據(jù)以上數(shù)字調(diào)制方式的基本原理,基于FPGA和DDS技術(shù),利用工具軟件,即可設(shè)計(jì)并實(shí)現(xiàn)數(shù)字調(diào)制信號(hào)發(fā)生器。

          2 數(shù)字調(diào)制信號(hào)發(fā)生器設(shè)計(jì)
          2.1 系統(tǒng)結(jié)構(gòu)圖
          數(shù)字調(diào)制信號(hào)發(fā)生器系統(tǒng)結(jié)構(gòu)圖如圖2所示。

          c.JPG


          2.1.1 控制單元
          控制單元部分主要完成數(shù)據(jù)的輸入及控制等功能。為了使所設(shè)計(jì)的數(shù)字調(diào)制信號(hào)發(fā)生器具有抗干擾能力強(qiáng)、相關(guān)技術(shù)參數(shù)靈活可調(diào)等優(yōu)點(diǎn),此單元以單片機(jī)為中心,配以其他輔助電路,其控制作用通過(guò)匯編語(yǔ)言編程后下載到單片機(jī)來(lái)完成,即分別實(shí)現(xiàn)對(duì)DDS的3個(gè)輸入頻率字、相位字及幅度字進(jìn)行鍵控選擇,從而實(shí)現(xiàn)頻移鍵控(FSK)、相移鍵控(PSK)和幅移鍵控(ASK)3種基本的數(shù)字調(diào)制,反映載波信號(hào)的頻率、相位及幅度變化特征,最終得到FSK、PSK、ASK的數(shù)字調(diào)制信號(hào)。
          2.1.2 DDS模塊
          DDS模塊是本系統(tǒng)的關(guān)鍵,圖2中DDS模塊里的DDS基本結(jié)構(gòu)圖如圖1所示,采用FPGA實(shí)現(xiàn)。
          2.2 基于DDS的數(shù)字調(diào)制信號(hào)發(fā)生器設(shè)計(jì)
          首先,利用Matlab和DSP Builder設(shè)計(jì)出基本DDS模型,再基于DDS子系統(tǒng),利用其產(chǎn)生的正弦信號(hào)作為載波信號(hào),以二進(jìn)制數(shù)字基帶信號(hào)為調(diào)制信號(hào),實(shí)現(xiàn)二進(jìn)制數(shù)字調(diào)制信號(hào),進(jìn)而在控制單元的作用下實(shí)現(xiàn)二進(jìn)制頻移鍵控(2FSK)、二進(jìn)制相移鍵控(2PSK)和二進(jìn)制幅移鍵控(2ASK)3種基本的二進(jìn)制數(shù)字調(diào)制,最后完成基于FPGA的數(shù)字調(diào)制信號(hào)發(fā)生器的設(shè)計(jì)。
          圖3為數(shù)字調(diào)制信號(hào)系統(tǒng)模型。其中控制單元實(shí)現(xiàn)頻率字、相位字及幅度字等數(shù)據(jù)。

          d1.jpg


          輸入及數(shù)字調(diào)制方式的選擇等功能。
          此模型的核心是DDS子系統(tǒng),其具體結(jié)構(gòu)如圖4所示。DDS子系統(tǒng)共有3個(gè)輸入,分別是32位頻率字輸入、10位相位字輸入、10位幅度字輸入;一個(gè)10位DDSout輸出。通過(guò)改變相位字輸入、頻率字輸入及幅度字輸入,即可獲得所需輸出波形。

          d2.jpg


          通過(guò)控制單元可依次實(shí)現(xiàn)2ASK、2PSK、2FSK調(diào)制。若圖3中譯碼器輸入為00,可實(shí)現(xiàn)2PSK的數(shù)字調(diào)制,圖5為2PSK模型設(shè)計(jì)圖。

          d3.jpg


          由圖可知,利用二選一多路數(shù)字選擇器(n-to-1Multiplexer)模塊對(duì)基本DDS模型的相位字進(jìn)行鍵控,即在控制單元的作用下對(duì)所輸入的兩個(gè)相位字進(jìn)行選擇就可以實(shí)現(xiàn)2PSK調(diào)制。如圖6所示2PSK調(diào)制的仿真波形。

          d.JPG


          同理,若圖3中譯碼器輸入為01,可實(shí)現(xiàn)2FSK的數(shù)字調(diào)制,圖7為2FSK模型設(shè)計(jì)圖。利用二選一多路選擇器模塊對(duì)基本DDS模型的頻率字進(jìn)行鍵控,即對(duì)兩個(gè)頻率字(相位增量)進(jìn)行選擇就可以實(shí)現(xiàn)2FSK調(diào)制。如圖8所示為2FSK調(diào)制的仿真波形。

          e1.jpg

          e2.jpg


          進(jìn)而,將圖3中譯碼器輸入設(shè)為10,可實(shí)現(xiàn)2ASK的數(shù)字調(diào)制,圖9為2ASK模型設(shè)計(jì)圖,即利用二選一多路選擇器對(duì)基本DDS模型的幅度字進(jìn)行鍵控,從而實(shí)現(xiàn)對(duì)兩個(gè)幅度字的選擇,并采用乘法器(Product)來(lái)完成2ASK調(diào)制,如圖10所示為2ASK調(diào)制的仿真波形。

          e3.jpg

          e.JPG



          3 數(shù)字調(diào)制信號(hào)發(fā)生器硬件實(shí)現(xiàn)
          建模算法仿真完成后,選擇讓DSP Builder自動(dòng)調(diào)用QuartusII軟件,完成綜合(Synthesis)、網(wǎng)表生成(ATOM Netlist)、QuartusII適配,最后通過(guò)QuartusII在FPGA上完成硬件實(shí)現(xiàn)后,經(jīng)DAC進(jìn)行模數(shù)轉(zhuǎn)換,再經(jīng)低通濾波器后,可以在示波器上看到一致的波形輸出。

          4 結(jié)束語(yǔ)
          文中基于FPGA和DDS技術(shù),利用Matlab/Simulink、DSPBuilder、QuartusⅡ3個(gè)工具軟件進(jìn)行基本DDS建模,在DDS模塊的基礎(chǔ)上,根據(jù)數(shù)字調(diào)制方式的基本原理,通過(guò)單片機(jī)等電路組成的控制單元的邏輯控制作用,設(shè)計(jì)并實(shí)現(xiàn)了數(shù)字調(diào)制信號(hào)發(fā)生器,其具有頻率分辨率高、穩(wěn)定度高、抗干擾能力強(qiáng)、相關(guān)參數(shù)靈活可調(diào)等優(yōu)點(diǎn),而且設(shè)計(jì)方法方便實(shí)用。



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();