基于DDS的AM調制_第1頁
基于DDS的AM調制_第2頁
基于DDS的AM調制_第3頁
基于DDS的AM調制_第4頁
基于DDS的AM調制_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、南京理工大學電子工程與光電技術學院基于DDS的fM調制器的設計姓名 俞鋒學號 0704220253指導老師 蔣立平設計時間 2010.3.82010.3.14摘要:實驗利用Quartus II 軟件實現(xiàn)直接數(shù)字頻率合成,具有頻率字和相位字的控制功能,從而改變頻率和相位。還具有相位清零功能以及波形切換功能。并且通過修改存儲器ROM 中的數(shù)據(jù)來提高精度和設計圖形。本文主要介紹實驗中功能實現(xiàn)的方案,原理,以及相關操作。還有實驗中遇到的問題和解決方法。關鍵字:數(shù)字頻率合成 頻率字 相位字 精度提高 Abstract The experiment is to design the Direct Digi

2、tal Synthesizer (DDS) with the Quartus II. The designed synthesizer should be able to change the phase and frequency ,and it also can set the phase to zero or change the waves. In addition, we can set the data in the ROM to improve the accuracy of the DDS and design special figures.The text is mainl

3、y to introduce the methods, principle, and operations. We also talk about the problems and solutions in the experiment.Key words Direct Digital Synthesizer frequency phase improve accuracy目 錄1引言 (4)2設計要求 (6)3工作原理介紹 (7)4各個子模塊設計原理 (8) 41 頻率預置與調節(jié)電路 (8) 4. 2 累加器模塊 (9) 43 波形存儲模塊 (11) 44 D/A轉化器與低通濾波器 (12)

4、 45 調制與解調電路 (13) 4. 6 顯示測頻模塊 (15) 4. 61 測頻模塊 (15) 4. 62 顯示模塊 (17) 4. 7 脈沖發(fā)生電路 (18)5仿真結果 (20)6設計結論和感想 (22)7實驗總結 (23)8參考文獻 (24)引言DDS 同DSP(數(shù)字信號處理)一樣,是一項關鍵的數(shù)字化技術。DDS是直接數(shù)字式頻率合成器(Direct Digital Synthesizer)的英文縮寫。與傳統(tǒng)的頻率合成器相比,DDS具有低成本、低功耗、高分辨率和快速轉換時間等優(yōu)點,廣泛使用在電信與電子儀器領域,是實現(xiàn)設備全數(shù)字化的一個關鍵技術。 DDS的性能特點:DDS在相對帶寬、頻率轉

5、換時間、高分頭放力、相位連續(xù)性、正交輸出以及集成化等一系列性能指標方面遠遠超過了傳統(tǒng)頻率合成技術所能達到的水平,為系統(tǒng)提供了優(yōu)于模擬信號源的性能。(1) 輸出頻率相對帶寬較寬 輸出頻率帶寬為50%fs(理論值)。但考慮到低通濾波器的特性和設計難度以及對輸出信號雜散的抑制,實際的輸出頻率帶寬仍能達到40%fs。 (2) 頻率轉換時間短 DDS是一個開環(huán)系統(tǒng),無任何反饋環(huán)節(jié),這種結構使得DDS的頻率轉換時間極短。事實上,在DDS的頻率控制字改變之后,需經過一個時鐘周期之后按照新的相位增量累加,才能實現(xiàn)頻率的轉換。因此,頻率時間等于頻率控制字的傳輸,也就是一個時鐘周期的時間。時鐘頻率越高,轉換時間越

6、短。DDS的頻率轉換時間可達納秒數(shù)量級,比使用其它的頻率合成方法都要短數(shù)個數(shù)量級。 (3) 頻率分辨率極高 若時鐘fs的頻率不變,DDS的頻率分辨率就是則相位累加器的位數(shù)N決定。只要增加相位累加器的位數(shù)N即可獲得任意小的頻率分辨率。目前,大多數(shù)DDS的分辨率在1Hz數(shù)量級,許多小于1mHz甚至更小。(4) 相位變化連續(xù) 改變DDS輸出頻率,實際上改變的每一個時鐘周期的相位增量,相位函數(shù)的曲線是連續(xù)的,只是在改變頻率的瞬間其頻率發(fā)生了突變,因而保持了信號相位的連續(xù)性。正文1、 設計要求1. 基本設計要求a) 利用QuartusII軟件和SmartSOPC實驗箱來實現(xiàn)DDS調制器的設計;b) DD

7、S中的波形存儲器模塊用Altera公司的Cyclone系列FPGA芯片中的RAM實現(xiàn),RAM結構配置成21210類型;c) 具體參數(shù)要求:頻率控制字K取4位;基準頻率fc=1MHz,由實驗板上的系統(tǒng)時鐘分頻得到;d) 系統(tǒng)具有清零和使能的功能;e) 利用實驗箱上的D/A轉換器件將ROM輸出的數(shù)字信號轉換為模擬信號,能夠通過示波器觀察到正弦波形;f) 通過開關(實驗箱上的Ki)輸入DDS的頻率和相位控制字,并能用示波器觀察加以驗證;2. 提高部分設計要求a) 通過按鍵(實驗箱上的Si)輸入DDS的頻率和相位控制字,以擴大頻率控制和相位控制的范圍;(注意:按鍵后有消顫電路)b) 能夠同時輸出正余弦

8、兩路正交信號;c) 在數(shù)碼管上顯示生成的波形頻率;d) 充分考慮ROM結構及正弦函數(shù)的特點,進行合理的配置,提高計算精度;e) 設計能輸出多種波形(三角波、鋸齒波、方波等)的多功能波形發(fā)生器;f) 自行添加其他功能。2、 工作原理介紹在進行正式的實驗操作前,我們需要先了解DDS的具體實現(xiàn)原理,方能進行設計。圖1 DDS實現(xiàn)的原理圖根據(jù)以上的原理圖,下面以正弦波為例,對各個部分進行簡單介紹。波形存儲器,即為ROM,用于存儲波形數(shù)據(jù)。將一個周期內的正弦波,分為2N份,取每一點坐標下的正弦值,在將數(shù)據(jù)進行處理,擴展到0到2D-1中的取值。完成以上過程即完成了ROM數(shù)據(jù)的配置。N位是ROM的地址線寬度

9、,即ROM中存有2N數(shù)據(jù);D位是ROM的數(shù)據(jù)線寬度,即ROM輸出的數(shù)據(jù)范圍是0到2D-1,這與以上ROM的數(shù)據(jù)配置相互對應。如果對ROM中數(shù)據(jù)逐一取值,輸出的為階梯波,但是通過D/A轉換即可恢復正弦波形,累加器就是用于此。但ROM中的數(shù)據(jù)也可以間隔取值,這樣會減少采樣點的個數(shù),但因為系統(tǒng)時鐘頻率fc=1MHz足夠大,遠遠大于Nyquist頻率,所以減少采樣點,對恢復波形沒有影響,但是可以縮短一個波形的輸出時間(即TS),這樣就能提高輸出波形頻率。即通過改變數(shù)據(jù)取樣間隔,從而改變輸出頻率,達到頻率可控。頻率控制字K就用于改變采樣間隔,頻率控制字決定了累加器每次相加的數(shù)值,即在ROM中每個幾個數(shù)據(jù)

10、取出一個輸出,這樣就達成了頻率控制??傮w電路圖如下:圖2 DDS調制器總體電路圖3、 各個子模塊設計原理:(1) 頻率預置與調節(jié)電路作用:實現(xiàn)頻率控制量的輸入;不變量K被稱為相位增量,也叫頻率控制字。圖3 頻率控制字電路圖中ENP使能端接k5開關??刂齐娐凡捎醚h(huán)計數(shù)方式,不再另外設置清零端。當k5置1時,74163開始加計數(shù)。當k5置0時,74163處于保持狀態(tài)。此時可由測頻電路顯示的頻率換算出頻率字。(2) 相位累加器相位累加器由12位的加法器和12位的寄存器組成,其原理圖如下所示:圖4 相位累加器相位累加器的作用是在頻率為1MHz的時鐘的作用下,進行相位累加,當相位累加器累加滿量時就會產

11、生一次溢出,完成一個周期性的動作。其中的加法器用VHDL語言編寫,寄存器則由硬件實現(xiàn)。具體實現(xiàn)如下:1、加法器:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_signed.all;entity adder isport(op: in signed (14 downto 0);result: out signed (14 downto 0);end adder;architecture beh of adder issignal p: signed (14 down

12、to 0);beginP=001110111110001;result=OP+P;end beh;2、 寄存器圖5 寄存器內部電路op211.0端輸入的頻率字,控制步長,addr11.0端輸入的是寄存器中輸出的,這樣可以通過寄存器的clk脈沖控制地址線上的數(shù)值以步長為間隔變化,這樣就可根據(jù)步長對ROM中的數(shù)據(jù)進行采樣。采用寄存器是考慮到result11.0端輸出的數(shù)據(jù)時間不統(tǒng)一,這樣將影響到取樣,并且要將數(shù)據(jù)進行累加時也需要脈沖,這就要由累加器提供,這也說明了寄存器的作用。對累加器進行波形仿真如下圖6 累加器仿真波形圖(3) 波形存儲器其作用是進行波形的相位-幅值轉換。原理是: ROM的N位地

13、址 把0O360O的正弦角度離散成具有2N個樣值的序列;ROM的D位數(shù)據(jù)位則2N個樣值的幅值量化為D位二進制數(shù)據(jù)。 圖7 音頻信號封裝模型 圖8 調制信號封裝模型圖9 音頻信號發(fā)生電路圖10 調制信號發(fā)生電路由電路圖可以看出音頻信號和調制信號采用同樣的發(fā)生方法,其結構類似。故分析時,僅以音頻信號為例。音頻信號發(fā)生電路主要由三部分組成:頻率控制字、累加器、記錄正弦波的ROM。頻率控制字與總電路中的頻率控制字類似。不同的是為了更好的進行控制,增加了一個清零開關。電路結構如左圖示。累加器結構如前,不再作說明。電路中使用的正弦波利用MATLAB軟件生成波形并導入ROM中。MATLAB軟件用到的公式如下

14、:a) T=2*pi/4096;t=0:T:2*pi;/正弦波 A=(1+sin(t)*1023/2; B=round(A);b) T=2*pi/4096;t=0:T:2*pi-T;/方波 A=(1+square(t)*1023/2; B=round(A);c) T=2*pi/4096;t=0:T:2*pi-T;/鋸齒波 A=(1+sawtooth(t)*1023/2; B=round(A);d) T=2*pi/4096;t=0:T:2*pi-T;/三角波 A=(1+square(t,0.5)*1023/2; B=round(A);另外,通過更改參數(shù)可以形成二分之一的正弦波及四分之一的正弦波。

15、本例實驗中時間有限,僅以正弦波為例設計。其余波形僅作理論分析,不另作硬件仿真。(4) D/A轉化器與低通濾波器D/A轉換器的作用有二。其一是把已經合成的正弦波的數(shù)字量轉換成模擬量。 其二則是是濾除生成的階梯形正弦波中的高頻成分,將其變成光滑的正弦波,充當?shù)屯V波器。(5) 調制與解調電路調制解調部分電路圖如下圖示:圖11 調制解調電路該部分電路有3個模塊組成:mul、adder、mul10。其中mul模塊接音頻信號,mul10則接調制信號。adder模塊則與74163組合使用,控制m的取值范圍,使之產生或不產生過調制。各模塊均由VHDL語言編寫,具體實現(xiàn)如下:mul模塊LIBRARY ieee

16、;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.aLL;USE ieee.std_logic_signed.all;USE ieee.std_logic_unsigned.all;ENTITY mul ISPORT (X:IN signed (9 downto 0);y:IN STD_LOGIC_VECTOR(3 downto 0);clk:in std_logic;result: OUT signed (14 downto 0);END mul;ARCHITECTURE mul_arch OF mul IS SIGNAL p: si

17、gned (4 downto 0);BEGINp= signed (0&y); PROCESS (clk) BEGIN IF (clkevent and clk=1) THEN result=X*p;END IF;END PROCESS;END mul_arch;adder模塊library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_signed.all;entity adder isport(op: in signed (14 downto 0);result: out s

18、igned (14 downto 0);end adder;architecture beh of adder issignal p: signed (14 downto 0);beginP=001110111110001;result=OP+P;end beh;mul10模塊LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.aLL;USE ieee.std_logic_signed.all;USE ieee.std_logic_unsigned.all;ENTITY mul10 ISPORT (x:IN sig

19、ned (9 downto 0);y:IN signed (14 downto 0);clk:in std_logic;result: OUT signed (9 downto 0);END mul10;ARCHITECTURE mul10_arch OF mul10 ISSIGNAL p: signed (24 downto 0);BEGIN PROCESS (clk)BEGIN IF (clkevent and clk=1) THEN P=X * Y;result=P(24 downto 15);END IF;END PROCESS;END mul10_arch;(6) 顯示測頻電路顯示測

20、頻電路用于測量信號頻率,并將結果數(shù)字化顯示在數(shù)碼管中。其外部模塊如下圖: 圖12 顯示測頻電路模塊 圖13 測頻模塊其中,測頻模塊封裝于顯示測頻模塊中。下面我們將對這兩個模塊進行分析。1) 測頻模塊測頻電路用于測量發(fā)生波形的頻率,其原理圖如下:圖14 測頻電路原理圖原理波形圖如下:圖15 原理波形圖而其實際電路采用如下方式實現(xiàn):圖16 實際測頻電路圖測頻電路由計數(shù)器和寄存器兩部分組成。先對單位時鐘clk1進行二分頻,在二分頻反相后的結果處于高電平時,就使得計數(shù)器的使能端有效,計數(shù)器開始計數(shù),當二分頻反相結果出現(xiàn)下降沿時,計數(shù)器的結果就被寄存器鎖存后通過顯示電路輸出。電路中存在反相器會有延時效應

21、,但是延時時間很短,只要小于待測信號周期即可,而根據(jù)最后的實驗結果可知,測得的頻率最高只是幾千,所以反相器的延時效應對實驗沒有太大影響。2) 顯示模塊顯示模塊內部電路圖如下:圖17 顯示模塊內部電路在顯示模塊內部,testfrequency模塊為測頻電路的封裝,lpm_mux4為一28選4器件。m6模塊為用觸發(fā)器組成的模7計數(shù)器,配合74138構成掃頻電路。seg為用VHDL語言編寫的譯碼顯示模塊?,F(xiàn)將各模塊內部電路顯示如下:圖18 模7計數(shù)模塊內部電路Seg模塊采用語言編寫,設計為16進制顯示,單管顯示為0F:library ieee;use ieee.std_logic_1164.all;

22、entity seg isport(bcd_led: in std_logic_vector(3 downto 0);ledseg: out std_logic_vector(6 downto 0);end seg;architecture beh of seg isbegin with bcd_led selectledseg=1000000 when 0000,-0 1111001 when 0001,-1 0100100 when 0010,-2 0110000 when 0011,-3 0011001 when 0100,-4 0010010 when 0101,-5 0000010

23、when 0110,-6 1011000 when 0111,-7 0000000 when 1000,-8 0010000 when 1001,-9 0001000 when 1010,-10 0000011 when 1011,-11 1000110 when 1100,-12 0100001 when 1101,-13 0000110 when 1110,-14 0001110 when 1111,-15 1111111 when others;end beh;(7) 脈沖發(fā)生電路此電路實際上是分頻電路,把系統(tǒng)提供的48MHz頻率的時鐘信號分頻得到實驗中用到的各種頻率的時鐘信號。電路如下

24、: 圖19 脈沖發(fā)生電路圖中三個模塊為語言模塊,內部實現(xiàn)方式一致,僅參數(shù)有所變動?,F(xiàn)將48M分頻即kcoun1模塊內部展開:LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;USE IEEE.std_logic_unsigned.ALL;ENTITY kcoun1 ISPORT(A :IN std_logic; B :buffer std_logic);END kcoun1;ARCHITECTURE kcoun1_arc OF kcoun1 ISSIGNAL counter :std_logic;BEGINPROCESS(A)VARIABLE counter1:

25、integer RANGE 0 TO 48000000;CONSTANT md :integer := 24000000;BEGINIF(Aevent AND A=1)THENIF (counter1 = md) THENcounter1 :=0;counter = NOT counter;B 1時,波形將產生過調制。其中一種過調制波形截圖如下:圖20 過調制波形(注:此時需要修改音頻和載波模塊內部累加器的參數(shù)。)另外,通過多次硬件仿真可以發(fā)現(xiàn),仿真結果會出現(xiàn)相移和噪聲,現(xiàn)截圖如下。如何減小這一影響也是研究的方向。5、 設計過程中出現(xiàn)的問題及解決方法由于在做DDS實驗之前,已經有做過EDA實驗,所以基本的操作問題都已經不再出現(xiàn),主要的問題是在于原理圖的設計細節(jié)。1. ROM中參數(shù)錯誤在完成ROM參數(shù)設定,將ROM與累加器連好先后進行電路編譯時卻報了錯,最后發(fā)現(xiàn)是ROM中參數(shù)設定出現(xiàn)了錯誤,本應該是0-1023,但在excel中利用公式計算而使得1024出現(xiàn)了,從而會報錯。最后將512該成511.5即可,重新編譯即可通過。2. 提高精度后,波形錯誤在進行sin信號精度提高的時候,開始在sin_rom中存放的是sin信號前半部分的數(shù)據(jù),用result11作為切換正反相脈沖,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論