版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 基于DSP Builder數(shù)字信號處理課程設計</p><p> 實驗名稱: AM調(diào)制FM調(diào)制及DDS信號 </p><p> 專 業(yè): 通信工程 </p><p> 姓 名: </p><p
2、> 班 級: </p><p> 學 號: </p><p><b> 一、設計目的</b></p><p> 通過本次課程設計,鞏固已學數(shù)字電路與邏輯設計的理論知識,掌握數(shù)字信號處理方法,引導學生從功能設
3、計轉(zhuǎn)向系統(tǒng)設計,掌握由現(xiàn)場可編程邏輯器件實現(xiàn)數(shù)字信號處理的方法,掌握現(xiàn)場可編程邏輯器件的應用設計,從而拓寬數(shù)字技術及處理的知識和設計能力,提高學生動手能力,培養(yǎng)學生分析問題與解決問題的能力。</p><p><b> 二、設計內(nèi)容</b></p><p> 本設計利用FPGA開發(fā)軟件QuartusII,DSP BUILDER,MATLAB,設計實現(xiàn)各類波形信號的發(fā)
4、生電路,如AM調(diào)制、FM調(diào)制、DDS控制等,進行引腳鎖定、全編譯通過后,完成FPGA器件Cyclone II的配置工作,并在Matlab Simulink中使用Scope顯示仿真結(jié)果,在DE2開發(fā)板上下載并通過七段數(shù)碼管,顯示波形情況。</p><p><b> 三、設計要求</b></p><p> 1.獨立完成AM調(diào)制、FM調(diào)制、DDS控制電路的設計、譯碼顯示
5、電路的設計。</p><p> 2.熟悉QuartusII,DSP BUILDER,MATLAB環(huán)境下系統(tǒng)開發(fā)設計流程。</p><p> 3.在DE2上驗證設計結(jié)果,并認真寫出設計報告。</p><p><b> 四、設計原理及步驟</b></p><p> ?。ㄒ唬?AM調(diào)制的設計</p><
6、;p> AM幅度調(diào)制函數(shù)信號可以用式來表述,其中,、、分別是被調(diào)制的載波信號,需要被調(diào)制的信號和調(diào)制后AM的輸出信號,它們都是有符號數(shù),m是調(diào)制度,。</p><p> s(t)=m(t)*sin(t)其中m(t)是1或者是0,sin(t)是載波</p><p> 觀察s(t)如果有波形輸入的是1沒波形是0。</p><p> 基于DSP Builde
7、r的數(shù)字的AM系統(tǒng)如下圖所示</p><p> 元器件的主要參數(shù)設定在這里省略介紹</p><p><b> 仿真如下圖所示:</b></p><p> 通過matlab轉(zhuǎn)化成VHDL語言通過Quartus2并下到板上驗證,在這里需要添加幾個模塊一是分頻器因為我們晶振頻率較高反映在數(shù)碼管上分辨不出所以叫頻率降低,二是把8位的二進制傳化成三
8、位的十進制數(shù),三是把十進制的數(shù)顯示在數(shù)碼管上;最后通過引腳分配輸入端口有時鐘clock、使能端sw,一個數(shù)字輸入撥碼開光,輸出有四個數(shù)碼管顯示。</p><p> 通過圖形編輯法最終的實現(xiàn)電路為下圖所示:</p><p> Rom中的mif表格:</p><p><b> 分配引腳:</b></p><p><
9、;b> 波形仿真:</b></p><p> 下載到板上進行驗證:</p><p> 可以看到的數(shù)碼管的數(shù)字在以不同的值在跳動,調(diào)制前的數(shù)據(jù)沒有變,調(diào)制后的數(shù)據(jù)和0交替跳動,因為輸入的數(shù)字信號是1和1交替變化的,因此出現(xiàn)了這樣的結(jié)果。</p><p> ?。ǘ瓺DS控制電路的設計</p><p> DDS,即直接
10、數(shù)字合成器,是采用數(shù)字技術的一種新型頻率合成技術,他通過控制頻率、相位增量的步長,產(chǎn)生各種不同頻率的信號。它的優(yōu)點在于:有較高的頻率分辨率;可以實現(xiàn)快速的頻率切換;在頻率改變時能夠保持相位的連續(xù);很容易實現(xiàn)頻率、相位和幅度的數(shù)控調(diào)制等。目前可采用專用芯片或可編程邏輯芯片實現(xiàn)DDS,專用的DDS芯片產(chǎn)生的信號波形、功能和控制方式固定,常不能滿足具體需要。FPGA具有器件規(guī)模大、工作速度快及可編程的硬件特點,并且開發(fā)周期短,易于升級,因為非
11、常適合用于實現(xiàn)DDS。 </p><p> DDS (直接數(shù)值合成器)信號發(fā)生器,通過不同的頻率控制字產(chǎn)生各種不同頻率的信號。主要由16 位加法器、16位寄存器正弦波形數(shù)據(jù)查找表(LUT)、頻率控制字組成,并且其輸出計算波形為:。</p><p> 2.1 DDS原理:</p><p> DDS的結(jié)構原理圖如圖2.1所示,DDS以數(shù)控振蕩器的方式,產(chǎn)
12、生頻率、相位和幅度可控的正弦波。電路包括了相位累加器、相位調(diào)制器、正弦ROM查找表、基準時鐘源等組成。其中前三者是DDS結(jié)構中的數(shù)字部分,具有數(shù)字控制頻率合成的功能。</p><p> 圖2.1 基本DDS結(jié)構框圖</p><p> 如圖2.1所示,DDS系統(tǒng)的核心是相位累加器,完成相位累加過程。在基準時鐘的控制下,頻率控制字由累加器累加,以得到相應的相位數(shù)據(jù),相位調(diào)制器接收相位累加
13、器的相位輸出,主要用于信號的相位調(diào)制,其輸出的數(shù)據(jù)作為取樣地址來尋址正弦ROM查找表,完成相位-幅度變換,輸出不同的幅度編碼;再經(jīng)過D/A轉(zhuǎn)換器得到相應的階梯波;最后經(jīng)低通濾波器對階梯進行平滑處理,即可得到由頻率控制字決定的連續(xù)變換輸出的正弦波。</p><p> 由以上原理可以得到DDS的輸出頻率,式中,是頻率的控制字,它與系統(tǒng)時鐘頻率呈正比;是系統(tǒng)基準時鐘的頻率值;是相位累加器數(shù)據(jù)位寬,也是頻率輸入字的數(shù)據(jù)
14、位寬。</p><p> 2.2 DSP Builder簡介 :</p><p> DSP Builder是美國Altera公司推出的一個面向DSP開發(fā)的系統(tǒng)級工具,他作為Matlab的一個Simulink工具箱,使得用FPGA設計DSP系統(tǒng)完全通過Simulink的圖形化界面進行建模、系統(tǒng)級仿真,設計模型可直接向VHDL硬件描述語言轉(zhuǎn)換,并自動調(diào)用QuartusⅡ等EDA設
15、計軟件,完成綜合、網(wǎng)表生成以及器件適配乃至FPGA的配置下載,使得系統(tǒng)描述與硬件實現(xiàn)有機的融合為一體,充分體現(xiàn)了現(xiàn)代電子技術自動化開發(fā)的特點與優(yōu)勢。 </p><p> 基于DSP Builder的DDS設計與仿真</p><p> 基于DSP Builder的DDS系統(tǒng)如圖2.2所示:</p><p> 圖2.2 DDS直接頻率合成器DSP Bu
16、ilder/Matlab Simulink模型</p><p> 仿真圖如下圖2.3:</p><p> 圖2.3 DDS仿真圖</p><p> 通過matlab轉(zhuǎn)化成VHDL語言通過Quartus2并下到板上驗證,在這里需要添加幾個模塊一是分頻器因為我們晶振頻率較高反映在數(shù)碼管上分辨不出所以叫頻率降低,二是把8位的二進制傳化成三位的十進制數(shù),三是把十進制
17、的數(shù)顯示在數(shù)碼管上;最后通過引腳分配輸入端口有時鐘clock,輸出由三個數(shù)碼管顯示。</p><p> 通過圖形編輯法最終的實現(xiàn)電路為下圖所示:</p><p> 最后分配引腳下載到板上驗證實驗現(xiàn)象</p><p><b> 引腳分配如下圖:</b></p><p> 通過matlab得到下載到DE2板子上的數(shù)據(jù)
18、:</p><p> 下載到DE2板子上,觀察實驗現(xiàn)象可以看到數(shù)碼管顯示的是同scope里面出來的波形一直的數(shù)據(jù),數(shù)據(jù)我通過matlab顯示出來,對照可以看到其變化一致。</p><p><b> 五. 設計結(jié)論</b></p><p> 本設計使用了DSP Builder,建立了基于DDS,AM調(diào)制系統(tǒng)模型,使用QuartusⅡ下到板上
19、進行驗證,結(jié)果表明該模型可以正確地產(chǎn)生AM調(diào)制信號、DDS信號。</p><p> 本方案最大的特點是采用了DSP Builder,它作為一個算法級的設計工具,只需在Simulink中進行圖形化設計,仿真通過后,即可使用Signal Compiler把MATLAB/Simulink模型文件(.mdl)轉(zhuǎn)換成相應的硬件描述語言VHDL設計文件(.vhd),以及用于控制綜合與編譯的TCL腳本。根據(jù)這些文件后續(xù)步驟可
20、以由QuartusⅡ自己完成。大大減少了編程的復雜度,使硬件描述更加的直觀。</p><p> 此外,本方案采用DDS技術,獲得了較高的頻率分辨率,同設計方法簡單快捷,降低了實現(xiàn)的復雜度,而且便于修改和功能擴充。</p><p> 通過該設計使我全面熟悉、掌握VHDL語言基本知識,掌握利用VHDL語言對信號發(fā)生器的編程和時序邏輯電路編程,把編程和實際結(jié)合起來,熟悉編制和調(diào)試程序的技巧,
21、掌握分析結(jié)果的若干有效方法,進一步提高動手能力,培養(yǎng)使用設計綜合電路的能力,養(yǎng)成提供文檔資料的習慣和規(guī)范編程的思想。</p><p> 通過了本次實驗使我對程序設計有了新的認識與體會,做實驗不單單是在軟件上運行出結(jié)果就表明對了,當其與硬件連接后能否對應現(xiàn)象也是非常重要的,我們不僅要學好軟件,也要將硬件部分做好,多學習,多思考,在今后的運用中也將會更加的得心應手。總之,這次課程設計我受益匪淺。</p>
22、<p><b> 源程序:</b></p><p><b> AM調(diào)制的分頻器:</b></p><p> library ieee; </p><p> use ieee.std_logic_1164.all; </p><p> entity clk_1_gen is &
23、lt;/p><p><b> port( </b></p><p> clkin :in std_logic;</p><p> clkout:out std_logic); </p><p> end clk_1_gen; </p><p> architecture behave_clk
24、_1_gen of clk_1_gen is </p><p> constant N: Integer:=24999999;</p><p> signal Counter:Integer RANGE 0 TO N; </p><p> signal Clk: Std_Logic;</p><p><b> begin &
25、lt;/b></p><p> process(clkin) </p><p><b> begin </b></p><p> if rising_edge(clkin) then --每計到4個(0~3)上升沿,輸出信號翻轉(zhuǎn)一次</p><p> if Counter=N then </p>
26、<p> Counter<=0;</p><p> Clk<=NOT Clk;</p><p><b> else </b></p><p> Counter<= Counter+1;</p><p><b> end if; </b></p>
27、<p><b> end if; </b></p><p> end process; </p><p> clkout<= Clk; </p><p> end behave_clk_1_gen;</p><p> DDS調(diào)制的分頻器:</p><p> libra
28、ry ieee; </p><p> use ieee.std_logic_1164.all; </p><p> entity clk_1_gen is </p><p><b> port( </b></p><p> clkin :in std_logic;</p><p> cl
29、kout:out std_logic); </p><p> end clk_1_gen; </p><p> architecture behave_clk_1_gen of clk_1_gen is </p><p> constant N: Integer:=390624;</p><p> signal Counter:Int
30、eger RANGE 0 TO N; </p><p> signal Clk: Std_Logic;</p><p><b> begin </b></p><p> process(clkin) </p><p><b> begin </b></p><p>
31、 if rising_edge(clkin) then</p><p> if Counter=N then </p><p> Counter<=0;</p><p> Clk<=NOT Clk;</p><p><b> else </b></p><p> Counte
32、r<= Counter+1;</p><p><b> end if; </b></p><p><b> end if; </b></p><p> end process; </p><p> clkout<= Clk; </p><p> end
33、behave_clk_1_gen;</p><p><b> 8選3選擇器:</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_arith.all;</p><
34、;p> use ieee.std_logic_unsigned.all;</p><p> entity eigth_to_3 is</p><p><b> port(</b></p><p> input :in std_logic_vector(7 downto 0);</p><p> outpu
35、t: out std_logic_vector(3 downto 0);</p><p> output1: out std_logic_vector(3 downto 0);</p><p> output2: out std_logic_vector(3 downto 0)</p><p><b> );</b></p>
36、<p> end entity eigth_to_3;</p><p> architecture three of eigth_to_3 is</p><p> signal s :integer range 0 to 999;</p><p> signal s1 :integer range 0 to 15;</p><
37、p> signal s2 :integer range 0 to 15;</p><p> signal s3 :integer range 0 to 15;</p><p><b> begin</b></p><p> s<=conv_integer(input);</p><p> s1<
38、;=s/100;</p><p> s2<=(s rem 100)/ 10;</p><p> s3<=(s rem 10);</p><p> output<=conv_std_logic_vector(s1,4);</p><p> output1<=conv_std_logic_vector(s2,4);
39、</p><p> output2<=conv_std_logic_vector(s3,4);</p><p><b> end;</b></p><p><b> 數(shù)碼管顯示:</b></p><p> library ieee; </p><p> use
40、 ieee.std_logic_1164.all; </p><p> entity num_7seg is </p><p><b> port( </b></p><p> c:in std_logic_vector(3 downto 0); </p><p> hex:out std_logic_vecto
41、r(6 downto 0)); </p><p> end num_7seg; </p><p> architecture behave_num_7seg of num_7seg is </p><p><b> begin </b></p><p> with c(3 downto 0) select <
42、;/p><p> hex<= "1000000" when "0000" , --"0" </p><p> "1111001" when "0001" , --"1" </p><p> "0100100" when
43、"0010" , --"2" </p><p> "0110000" when "0011" , --"3" </p><p> "0011001" when "0100" , --"4" </p><p&g
44、t; "0010010" when "0101" , --"5" </p><p> "0000010" when "0110" , --"6" </p><p> "1111000" when "0111" , --&quo
45、t;7" </p><p> "0000000" when "1000" , --"8" </p><p> "0010000" when "1001" , --"9" </p><p> "1111111"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字信號處理(dsp)課程設計報告
- 數(shù)字信號課程設計--數(shù)字信號處理
- 數(shù)字信號處理課程設計---基于dsp builder的fir數(shù)字濾波器的仿真設計
- dsp數(shù)字信號處理課程設計報告8
- dsp數(shù)字信號處理課程設計報告-- ad接口設計
- dsp數(shù)字信號處理課程設計報告-- 步進電機
- 數(shù)字信號處理課程設計
- 數(shù)字信號處理課程設計
- 數(shù)字信號處理課程設計
- 數(shù)字信號處理課程設計
- 數(shù)字信號處理課程設計
- 數(shù)字信號處理課程設計
- 數(shù)字信號處理課程設計
- dsp課程設計--數(shù)字信號處理的最小系統(tǒng)
- 數(shù)字信號處理課程設計 (2)
- 數(shù)字信號處理課程設計報告
- 數(shù)字信號處理課程設計2
- 基于matlab的數(shù)字信號處理課程設計
- 數(shù)字信號處理課程設計報告
- dsp數(shù)字信號處理課程設計報告-- 語音壓縮與回放
評論
0/150
提交評論