版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 1前言1</b></p><p><b> 2軟件簡介2</b></p><p> 2.1 Matlab軟件簡介2</p><p> 2.2 CCS軟件簡介3</p>
2、<p> 3 FIR濾波器設計5</p><p><b> 3.1設計背景5</b></p><p> 3.2FIR濾波器的設計原理6</p><p> 3.3FIR設計方法6</p><p> 3.4 FIR低通濾波器的Matlab設計8</p><p> 3.4
3、.1 FIR性能指標的確定8</p><p> 3.4.2 Matlab正弦波與方波的確定9</p><p> 3.5 FIR低通濾波器的CCS軟件設計11</p><p> 3.5.1 CCS匯編程序11</p><p> 3.5.2由CCS所得的正弦波與方波仿真圖13</p><p> 4 II
4、R低通濾波器的設計16</p><p> 4.1設計背景16</p><p> 4.2 IIR低通濾波器的設計原理與方法17</p><p> 4.3 IIR低通濾波器的Matlab設計18</p><p> 4.3.1 Matlab正弦波與方波程序18</p><p> 4.4 IIR低通濾波器
5、的CCS軟件設計20</p><p> 4.4.1 IIR低通濾波器的CCS軟件仿真20</p><p> 4.4.2 IIR低通濾波器CCS程序22</p><p><b> 5心得體會26</b></p><p><b> 參考文獻27</b></p><p
6、><b> 1前言</b></p><p> DSP數(shù)字信號處理(Digital Signal Processing,簡稱DSP)是一門涉及許多學科而又廣泛應用于許多領域的新興學科。20世紀60年代以來,隨著計算機和信息技術的飛速發(fā)展,數(shù)字信號處理技術應運而生并得到迅速的發(fā)展。傳感器數(shù)字信號處理是利用傳感器對模擬信號或數(shù)字信號進行采集并把其轉換成計算機可識別的電信號,并利用計算機對
7、信號進行處理以達到計算機輔助控制或是計算機自動控制的目的。</p><p> DSP 芯片是一種特別適合數(shù)字信號處理運算的微處理器,主要用來實時、快速地實現(xiàn)各種數(shù)字信號處理算法。用DSP 芯片實現(xiàn)IIR 數(shù)字濾波器,不僅具有精確度高、不受環(huán)境影響等優(yōu)點,而且因DSP 芯片的可編程性,可方便地修改濾波器參數(shù),從而改變?yōu)V波器的特性,設計十分靈活。</p><p> 本課程是電子信息工程專業(yè)
8、的專業(yè)基礎課,目的為通過對課程設計任務的完成,使學生理解課程教學的理論內容,并且能夠掌握和熟悉DSP的開發(fā)流程和基本的編程方法。FIR濾波器具有嚴格的線性相位特性,由于圖像處理、數(shù)據(jù)傳輸?shù)纫圆ㄐ螖y帶的信息系統(tǒng)。在數(shù)字信號處理中,濾波占有極其重要的地位。數(shù)字濾波是數(shù)字信號處理的一個基本方法。一個DSP芯片執(zhí)行數(shù)字濾波算法的能力,反應了這種芯片的功能大小。</p><p> 隨著信息與數(shù)字技術的發(fā)展,數(shù)字信號處理已
9、經(jīng)成為當今極其重要而學科與技術領域之一。它在通信、語音、圖像、自動控制、雷達、軍事、航空航天、醫(yī)療和家用電器等眾多領域得到了廣泛的應用。在數(shù)字信號處理的基本方法中,通常會涉及到變換、濾波、頻譜分析、調制解調和編碼解碼等處理。其中濾波是應用非常廣泛的一個環(huán)節(jié),數(shù)字濾波器的理論和相關設計也一直都是人們研究的重點之一。FIR濾波器的是非遞歸的,穩(wěn)定性好,精度高;更重要的是,F(xiàn)IR濾波器在滿足幅頻響應要求的同時,可以獲得嚴格的線性相位特征。因此
10、,它在高保真的信號處理,如數(shù)字音頻、圖像處理、數(shù)據(jù)傳輸和生物醫(yī)學等領域得到廣泛應用。</p><p> 在數(shù)字信號處理中,濾波占有極其重要的地位。數(shù)字濾波是語音信號處理、圖像處理、模式識別、頻譜分析等應用的基本處理算法。用DSP芯片實現(xiàn)數(shù)字濾波除了具有穩(wěn)定性好、精確度高、不受環(huán)境影響等優(yōu)點外,還具有靈活性好等特點。</p><p><b> 2軟件簡介</b>&l
11、t;/p><p> 2.1 Matlab軟件簡介</p><p> MATLAB的名稱源自Matrix Laboratory,它是一種科學計算軟件,專門以矩陣的形式處理數(shù)據(jù)。MATLAB將高性能的數(shù)值計算和可視化集成在一起,并提供了大量的內置函數(shù),從而被廣泛地應用于科學計算、控制系統(tǒng)、信息處理等領域的分析、仿真和設計工作,而且利用MATLAB產(chǎn)品的開放式結構,可以非常容易地對MATLAB的
12、功能進行擴充,從而在不斷深化對問題認識的同時,不斷完善MATLAB產(chǎn)品以提高產(chǎn)品自身的競爭能力。</p><p> MATLAB是由美國mathworks公司發(fā)布的主要面對科學計算、可視化以及交互式程序設計的高科技計算環(huán)境。接其他編程語言的程序等,主要應用于工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域。MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達式與數(shù)學、工程中常用的形式十
13、分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)點,使MATLAB成為一個強大的數(shù)學軟件。在新的版本中也加入了對C,F(xiàn)ORTRAN,C++,JAVA的支持。可以直接調用,用戶也可以將自己編寫的實用程序導入到MATLAB函數(shù)庫中方便自己以后調用,此外許多的MATLAB愛好者都編寫了一些經(jīng)典的程序,用戶可以直接進行下載就可以用。</p>&l
14、t;p> 圖2-1 Matlab主界面</p><p> 2.2 CCS軟件簡介</p><p> CCS是一種針對TMS320系列DSP的集成開發(fā)環(huán)境,在Windows操作系統(tǒng)下,采用圖形接口界面,提供有環(huán)境配置、源文件編輯、程序調試、跟蹤和分析等工具。 </p><p> CCS有兩種工作模式,即 </p><p> 軟件
15、仿真器模式:可以脫離DSP芯片,在PC機上模擬DSP的指令集和工作機制,主要用于前期算法實現(xiàn)和調試。 </p><p> 硬件在線編程模式:可以實時運行在DSP芯片上,與硬件開發(fā)板相結合在線編程和調試應用程序。 </p><p> CCS的開發(fā)系統(tǒng)主要由以下組件構成: </p><p> ?、?TMS320C54x集成代碼產(chǎn)生工具; </p>&l
16、t;p> ?、?CCS集成開發(fā)環(huán)境; </p><p> ?、?DSP/BIOS實時內核插件及其應用程序接口API; </p><p> ?、?實時數(shù)據(jù)交換的RTDX插件以及相應的程序接口API; </p><p> ?、?由TI公司以外的第三方提供的各種應用模塊插件。 </p><p> CCS的功能十分強大,它集成了代碼的編輯、編
17、譯、鏈接和調試等諸多功能,而且支持C/C++和匯編的混合編程,其主要功能如下: </p><p> ?、?具有集成可視化代碼編輯界面,用戶可通過其界面直接編寫C、匯編、.cmd文件等; </p><p> ?、?含有集成代碼生成工具,包括匯編器、優(yōu)化C編譯器、鏈接器等,將代碼的編輯、編譯、鏈接和調試等諸多功能集成到一個軟件環(huán)境中; </p><p> ?、?高性能編
18、輯器支持匯編文件的動態(tài)語法加亮顯示,使用戶很容易閱讀代碼,發(fā)現(xiàn)語法錯誤; </p><p> ?、?工程項目管理工具可對用戶程序實行項目管理。在生成目標程序和程序庫的過程中,建立不同程序的跟蹤信息,通過跟蹤信息對不同的程序進行分類管理; </p><p> ⑤ 基本調試工具具有裝入執(zhí)行代碼、查看寄存器、存儲器、反匯編、變量窗口等功能,并支持C源代碼級調試; </p><
19、;p> ⑥ 斷點工具,能在調試程序的過程中,完成硬件斷點、軟件斷點和條件斷點的設置; ⑦ 探測點工具,可用于算法的仿真,數(shù)據(jù)的實時監(jiān)視等; </p><p> ?、?分析工具,包括模擬器和仿真器分析,可用于模擬和監(jiān)視硬件的功能、評價代碼執(zhí)行的時鐘; </p><p> ?、?數(shù)據(jù)的圖形顯示工具,可以將運算結果用圖形顯示,包括顯示時域/頻域波形、眼圖、星座圖、圖像等,并能進行自動刷新
20、; </p><p> ⑩ 提供GEL工具。利用GEL擴展語言,用戶可以編寫自己的控制面板/菜單,設置GEL菜單選項,方便直觀地修改變量,配置參數(shù)等; </p><p> 圖2-2CCS主界面</p><p> 3 FIR濾波器設計</p><p><b> 3.1設計背景</b></p><
21、p> 在許多數(shù)字信號處理系統(tǒng)中,F(xiàn)IR濾波器是最常用的組件之一,它完成信號預調、頻帶選擇和濾波等功能。FIR濾波器在截止頻率的邊沿陡峭性能雖然不及11R濾波器,但是,考慮到FIR濾波器嚴格的線性相位特性和不像IIR濾波器存在穩(wěn)定性的問題,F(xiàn)IR濾波器能夠在數(shù)字信號處理領域得到廣泛的應用。數(shù)字濾波器(Digital Filter,簡稱為DF)是指用來對輸入信號進行濾波的硬件和軟件。所謂數(shù)字濾波器,是指輸入、輸出均為數(shù)字信號,通過一
22、定運算關系改變輸入信號所含頻率成分的器件。數(shù)字濾波器和模擬濾波器相比,因為信號的形式和實現(xiàn)濾波的方法不同,數(shù)字濾波器具有比模擬濾波器精度高、穩(wěn)定、體積小、重量輕、靈活、不要求阻抗匹配等優(yōu)點。</p><p> 對于一般的數(shù)字濾波器,按照單位沖激響應可分為無限長沖激響應IIR系統(tǒng)和有限長沖激響應FIR系統(tǒng)。在FIR系統(tǒng)中,則用一個有理多項式表示的系統(tǒng)函數(shù)去逼近所需要的頻率響應,即其單位沖激響應h(n)在有限個n值
23、處不為零。</p><p> FIR濾波器則可在幅度特性隨意設計的同時,保證精確、嚴格的線性相位特性。這在要求相位線性信道的現(xiàn)代電子系統(tǒng),如圖像處理、數(shù)據(jù)傳輸?shù)炔ㄐ蝹鬟f系統(tǒng)中,是具有很大吸引力的。而且,其單位沖激響應是有限長的,不存在不穩(wěn)定的因素,并且可用因果系統(tǒng)來實現(xiàn)。相較于IIR濾波器, FIR濾波器有以下的優(yōu)點:可以很容易地設計線性相位的濾波器。 線性相位濾波器延時輸入信號,卻并不扭曲其相位。實現(xiàn)簡單。
24、在大多數(shù)DSP處理器, 只需要對一個指令積習循環(huán)就可以完成FIR計算。在實際中,所有的DSP濾波器必須用有限精度實現(xiàn),而在IIR濾波器中使用有限精度會產(chǎn)生很大的問題,由于采用的是反饋電路,因此IIR通常用非常少的bit實現(xiàn),設計者就能解決更少的與非理想算術有關的問題??梢杂眯?shù)實現(xiàn)。 不像IIR濾波器,F(xiàn)IR濾波器通??赡苡眯∮?的系數(shù)來實現(xiàn)。當使用定點DSP的時候,這也是一個考慮因素,它能使得實現(xiàn)更加地簡單。</p>&
25、lt;p> 3.2FIR濾波器的設計原理</p><p> 有限長單位沖激響應濾波器,是數(shù)字信號處理系統(tǒng)中最基本的元件??梢栽诒WC任意幅頻特性的同時具有嚴格的線性相頻特性,同時其單位抽樣響應是有限長的,因而濾波器是穩(wěn)定的系統(tǒng)。FIR濾波器在通信、圖像處理、模式識別等領域都有著廣泛的應用。</p><p> FIR濾波器無反饋回路,是一種條件穩(wěn)定系統(tǒng),可以設計成具有線性相位特性。
26、設FIR濾波器的系數(shù)為h(0)、h(1)、h(2)、h(3)···h(N-2)、h(N-1);X(n)表示濾波器在n時刻的輸入,則n時刻的輸出為:</p><p> FIR數(shù)字濾波器的結構如圖3-1所示:</p><p> 圖3-1 數(shù)字濾波器的結構框圖</p><p> 3.3FIR設計方法</p><p&g
27、t; 本次利用CCS軟件完成一個15階FIR的低通濾波器的設計,并根據(jù)傅里葉級數(shù)知,周期信號可以由若干離散頻率的正弦波的疊加形成,通過對方波和不同諧波正弦波的疊加的濾波,完成對高頻的濾除,剩下一次基波正弦波。其中在CCS軟件中實現(xiàn)的兩個不同長度的序列的時域卷積,即實現(xiàn)的是頻域中的低通濾波。FIR低通濾波器的時域參數(shù),不同正弦波的疊加所產(chǎn)生的序列,以及方波的序列參數(shù)均由MATLAB軟件平臺實現(xiàn)。通過加載到CCS編程過程中開辟的數(shù)據(jù)空間,
28、由卷積程序實現(xiàn)濾波過程。</p><p> 實現(xiàn)濾波之后需要對所濾出的波形及數(shù)據(jù)進行檢驗,可通過CCS軟件所提供的頻譜進行分析;濾波之后的數(shù)據(jù)可通過與MATLAB卷積后的設計數(shù)據(jù)進行對比檢驗設計是否正確和符合設計要求。 </p><p> 本設計采用循環(huán)緩沖區(qū)法:</p><p> 循環(huán)緩沖區(qū)法特點如下:</p><p> 1
29、 對于N級FIR濾波器,在存儲區(qū)中開辟一個N單元的緩沖區(qū)(滑窗),用來存放最新的N個輸入樣本;</p><p> 2 從最新樣本開始取數(shù);</p><p> 3 讀完最后一個樣本(最老樣本)后,輸入最新樣本來代替最老樣本,而其他數(shù)據(jù)不變;</p><p> 4 用片內BK(循環(huán)緩沖區(qū)長度)寄存器對緩存區(qū)進行間接尋址,使循環(huán)緩沖區(qū)首尾相鄰。</p>
30、<p> 3.4 FIR低通濾波器的Matlab設計</p><p> 3.4.1 FIR性能指標的確定</p><p> MATLAB確定濾波器程序如下</p><p> b=fir1(15,0.4);</p><p> freqz(b,1);</p><p> figure(1);</
31、p><p> figure(2);</p><p> title('頻率特性')</p><p> plot(w1/pi,20*log10(abs(h1)));</p><p> axis([0,1,-100,20]);</p><p><b> grid;</b></
32、p><p> xlabel('歸一化頻率/p')</p><p> ylabel('幅度/dB')</p><p> %產(chǎn)生測試用正弦信號和噪聲信號</p><p> 濾波器的幅頻特性和相頻特性與歸一化波形如圖3-2,圖3-3所示</p><p> 圖3-2 FIR低通濾波器的幅頻
33、特性和相頻特性</p><p><b> 圖3-3歸一化波形</b></p><p> 3.4.2 Matlab正弦波與方波的確定</p><p> Matlab程序如下:</p><p><b> figure(3)</b></p><p> x=0:2*pi/1
34、024:2*pi;</p><p> y1=sin(1*x*2*pi+pi/6);</p><p> y2=sin(50*x*2*pi);</p><p><b> y3=y1+y2;</b></p><p> y4=conv(y3,b);</p><p> subplot(4,1,1)
35、;</p><p><b> plot(y1);</b></p><p> subplot(4,1,2);</p><p><b> plot(y2);</b></p><p> subplot(4,1,3);</p><p><b> plot(y3);
36、</b></p><p> subplot(4,1,4);</p><p><b> plot(y4);</b></p><p><b> figure(4)</b></p><p> x=0:2*pi/1024:2*pi;</p><p> x1=4*
37、square(1*pi*10*x);</p><p> x2=conv(x1,b);</p><p> subplot(2,1,1);</p><p><b> plot(x1);</b></p><p> subplot(2,1,2);</p><p><b> plot(x
38、2);</b></p><p> 由Matlab產(chǎn)生的波形如圖3-3,圖3-4所示</p><p><b> 圖3-3正弦波波形</b></p><p><b> 圖3-4方波波形</b></p><p> 在Matlab軟件中仿真出來的正弦波與方波的波形,通過低通濾波之后均能顯
39、示出來比較正確正弦波與方波。</p><p> 3.5 FIR低通濾波器的CCS軟件設計</p><p> 3.5.1 CCS匯編程序</p><p> 1.Fir.asm文件</p><p> .title "fir.asm"</p><p><b> .mmregs</
40、b></p><p> .global _main</p><p> Hn: .usect "Hn" , 16</p><p> M: .usect "M", 16</p><p> Xn: .usect "Xn", 200 </p>&
41、lt;p> Yn: .usect "Yn", 215</p><p><b> .data</b></p><p><b> HDATA: </b></p><p> .word 34*32768/10000, -18*32768/10000,</p><p
42、> .word -108*32768/10000,227*32768/10000</p><p> .word 165*32768/10000, -997*32768/10000, </p><p> .word 596*32768/10000, 5082*32768/10000</p><p> .word 5082*32768
43、/10000, 596*32768/10000, </p><p> .word -977*32768/10000, 165*32768/10000</p><p> .word 227*32768/10000, -108*32768/10000,</p><p> .word -18*32768/10000, 34*32768/10000
44、 </p><p><b> .text</b></p><p> _main: SSBX FRCT</p><p> STM #Hn,AR5 </p><p> ;AR5指向沖激響應</p><p><b> RPT #15</b></p
45、><p> MVPD HDATA,*AR5+</p><p> STM #M,AR4 </p><p> ;AR4指向緩沖區(qū)間</p><p> RPTZ A,#15</p><p> STL A,*AR4+</p><p> STM #Xn,AR3 <
46、;/p><p><b> ;AR3指向輸入</b></p><p> STM #Yn,AR2 </p><p><b> ;AR4指向輸出</b></p><p> STM #(Hn+15),AR5 ;</p><p> STM #(M+15),AR4
47、</p><p> STM -1,AR0</p><p><b> LD #M,DP</b></p><p> MVDD *AR3+,*AR4 </p><p><b> ;向緩沖去送數(shù)</b></p><p> STM #215,BRC</p>
48、<p> RPTB #TABLE </p><p><b> ;卷積算法</b></p><p> STM #16,BK</p><p> RPTZ A,#15</p><p> MAC *AR4+0%,*AR5+0%,A</p><p> STH A,
49、*AR2+ </p><p> TABLE: MVDD *AR3+,*AR4+0%</p><p><b> .end</b></p><p> vectors中斷向量文件</p><p> .title "vectors.asm"</p><p> .ref _ma
50、in</p><p> .sect ".vectors"</p><p><b> B _main</b></p><p><b> .end</b></p><p><b> CMD鏈接命令文件</b></p><p>
51、 vectors.obj</p><p><b> fir.obj</b></p><p> -o fir.out</p><p> -m fir.map</p><p><b> MEMORY</b></p><p><b> {</b>&
52、lt;/p><p> PAGE 0: EPROM: org=0E000H len=1000H</p><p> VECS : org=0FF80H len=0080H</p><p> PAGE 1: SARAM: org=0060H len=0040H</p><p> DARAM: org=0101H
53、 len=1380H</p><p><b> }</b></p><p><b> SECTIONS</b></p><p><b> {</b></p><p> .text :> EPROM PAGE 0</p&
54、gt;<p> .vectors :> VECS PAGE 0</p><p> .data :> EPROM PAGE 0</p><p> .bss :> SARAM PAGE 1</p><p> Hn : al
55、ign(128){}> DARAM PAGE 1</p><p> BUF : align(128){}> DARAM PAGE 1</p><p> Xn :> DARAM PAGE 1</p><p> Yn :> DARAM
56、 PAGE 1</p><p><b> }</b></p><p> 3.5.2由CCS所得的正弦波與方波仿真圖</p><p> 低通濾波器濾得的正弦波波形</p><p> 圖3-5 CCS所濾得的正弦波</p><p> 低通濾波器濾得的正弦波頻譜</p>&l
57、t;p> 圖3-6 CCS所濾得的正弦波頻譜</p><p> 在CCS軟件中,通過程序設計出來的低通濾波器的波形圖的仿真,以及CCS通過低通濾波器之后的正弦波的頻譜波形,通過濾波之后,濾出來的正弦波比較符合理想設計中的低通濾波器。</p><p> 低通濾波器濾得的方波波形</p><p> 圖3-7 CCS所濾得的方波波形</p>&
58、lt;p> 低通濾波器濾得的方波頻譜</p><p> 圖3-8 CCS所濾得的正弦波頻譜</p><p> 頻譜分析:由圖3-6,3-8可知不同頻率正弦波的疊加可分解成不同的離散頻率。在歸一化后頻率正弦波的頻譜。經(jīng)過DSP程序濾波后的波形為低頻正弦波,由圖11可知只在200rad/s處存在頻譜,即實現(xiàn)了將高頻濾出,將低頻濾出的目的。同MATLAB軟件運行結果對比知結果一致。&
59、lt;/p><p> 4 IIR低通濾波器的設計</p><p><b> 4.1設計背景</b></p><p> 數(shù)字濾波器又分為無限沖激響應濾波器(IIR)和有限沖激響應濾波器(FIR)。FIR濾波器具有不含反饋環(huán)路、結構簡單以及可以實現(xiàn)的嚴格線性相位等優(yōu)點,因而在對相位要求比較嚴格的條件下,采用FIR數(shù)字濾波器。同時,由于在許多場合下
60、,需要對信號進行實時處理,因而對于單片機的性能要求也越來越高。由于DSP控制器具有許多獨特的結構,例如采用多組總線結構實現(xiàn)并行處理,獨立的累加器和乘法器以及豐富的尋址方式,采用 DSP控制器就可以提高數(shù)字信號處理運算的能力,可以對數(shù)字信號做到實時處理。DSP(數(shù)字信號處理器)與一般的微處理器相比有很大的區(qū)別,它所特有的系統(tǒng)結構、指令集合、數(shù)據(jù)流程方式為解決復雜的數(shù)字信號處理問題提供了便利,本文選用TMS320C5509作為DSP處理芯片
61、,通過對其編程來實現(xiàn)IIR濾波器。</p><p> 對數(shù)字濾波器而言,從實現(xiàn)方法上,有FIR濾波器和無限沖激響應(IIR)濾波器之分。由于FIR濾波器只有零點,因此這一類系統(tǒng)不像IIR系統(tǒng)那樣易取得比較好的通帶與阻帶衰減特性。但是IIR系統(tǒng)與傳統(tǒng)的通過硬件電路實現(xiàn)的模擬濾波器相比有以下優(yōu)點:</p><p> 1、單位沖擊響應有無限多項;</p><p>
62、2、高效率(因為結構簡單、系數(shù)小、乘法操作較少)</p><p> 3、與模擬濾波器有對應關系</p><p> 4、可以解析控制,強制系統(tǒng)在指定位置為零點</p><p> 5、有極點,在設計時要考慮穩(wěn)定性</p><p> 6、具有反饋,可能產(chǎn)生噪聲、誤差累積</p><p> 4.2 IIR低通濾波器
63、的設計原理與方法</p><p> IIR 數(shù)字濾波器可用一個n階差分方程</p><p> y(n)=Σbrx(n-r)+Σaky(n-k),</p><p> IIR數(shù)字濾波器的單位響應是無限長的,而模擬濾波器一般都具有無限長的單位脈沖響應,因此與模擬濾波器相匹配。由于模擬濾波器的設計在理論上已十分成熟,因此數(shù)字濾波器設計的關鍵是將H(S)→H(Z),即,
64、利用復值映射將模擬濾波器離散化。已經(jīng)證明,沖擊響應不變法和雙線性變換法能較好地擔當此任,則在此基礎上,數(shù)字濾波器的設計就可首先歸結為模擬濾波器的設計了。</p><p> 要設計一個數(shù)字濾波器去仿真一個模擬濾波器有脈沖響應不變法和雙線性變換法。其設計過程都是由給定的模擬濾波器的系統(tǒng)函數(shù)Ha(s)去變換出相應的數(shù)字濾波器的系統(tǒng)函數(shù)H(z)。</p><p> 脈沖響應不變法的設計過程如下
65、:</p><p> 為方便求出其時域單位脈沖響應,將上式化為部分分式之和的形式:</p><p> 由拉氏反變換得模擬濾波器在時域的單位脈沖響應:</p><p> 由時域的數(shù)字仿真的條件(即脈沖響應不變準則)可得相應的數(shù)字濾波器的脈沖響應:</p><p> 再對兩邊進行Z變換,即可得到數(shù)字濾波器的系統(tǒng)函數(shù):</p>
66、<p> 4.3 IIR低通濾波器的Matlab設計</p><p> 4.3.1 Matlab正弦波與方波程序</p><p><b> 方波波形程序</b></p><p> x=0:2*pi/256:2*pi;</p><p> x3=square(1*pi*5.1*x);</p>
67、<p> %x1=sin(2*pi*100*x);</p><p> %x2=sin(2*pi*1*x);</p><p> %x3=x2+x1;</p><p><b> plot(x3);</b></p><p> plout=x3/max(x3);</p><p>
68、 x3to_ccs=round(32767*plout);</p><p> fid=fopen('square.dat','w');</p><p> fprintf(fid,'1651 1 0 0 0\n');</p><p> fprintf(fid,'%#x\n',x3to_ccs);&l
69、t;/p><p> fclose(fid);</p><p><b> 正弦波波形程序</b></p><p> x=0:2*pi/256:2*pi;</p><p> %x1=square(1*pi*10*x);</p><p> x1=sin(2*pi*100*x);</p>
70、<p> x2=sin(2*pi*1*x);</p><p><b> x3=x2+x1;</b></p><p><b> plot(x3);</b></p><p> plout=x3/max(x3);</p><p> x3to_ccs=round(32767*plou
71、t);</p><p> fid=fopen('sin.dat','w');</p><p> fprintf(fid,'1651 1 0 0 0\n');</p><p> fprintf(fid,'%#x\n',x3to_ccs);</p><p> fclose(f
72、id);</p><p><b> 雙線性變換法:</b></p><p><b> fc=4500;</b></p><p><b> fs=30000;</b></p><p><b> fb=3000;</b></p><
73、p> wb=fb*2*pi/fs;</p><p> wc=fc*2*pi/fs;</p><p><b> Ap=1;</b></p><p><b> As=15;</b></p><p> Wb=2*fs*tan(wb/2);</p><p> Wc=
74、2*fs*tan(wc/2);</p><p> [N,Wn]=buttord(Wb,Wc,Ap,As,'s');</p><p> [b,a]=butter(N,Wn,'s');</p><p> [bz,az]=bilinear(b,a,fs);</p><p> [h,w]=freqz(bz,az
75、,256);</p><p> plot(w*fs/(2*pi),20*log10(abs(h)));</p><p><b> grid on;</b></p><p> axis([0 5000 -20 1]);</p><p> 4.4 IIR低通濾波器的CCS軟件設計</p><p&g
76、t; 4.4.1 IIR低通濾波器的CCS軟件仿真</p><p><b> 方波濾得的波形</b></p><p> 圖4-2 方波濾得的波形</p><p><b> 方波的頻譜波形</b></p><p> 圖4-3 方波的頻譜波形</p><p> 通過M
77、atlab設計,以及在CCS之中通過編寫程序設計出來的IIR低通濾波器,濾出來的方波波形如上圖所示,經(jīng)驗證與理想中設計的低通濾波器比較吻合,能夠正確的過濾出來正弦波形</p><p><b> 正弦波濾得的波形</b></p><p> 圖4-4 正弦波濾得的波形</p><p><b> 正弦波的頻譜</b><
78、;/p><p> 圖4-5 正弦波的頻譜波形</p><p> 通過CCS軟件的程序設計,能夠正確的過濾出來正弦波,說明該IIR低通濾波器的設計比較的符合本次課程設計的要求</p><p> 4.4.2 IIR低通濾波器CCS程序</p><p><b> Iir.asm文件</b></p><p
79、> .title"iir.asm"</p><p><b> .mmregs</b></p><p> .def _c_int00 </p><p> x .usect "x",7</p><p> y .usect "y",7</
80、p><p> b .usect "b",7</p><p> a .usect "a",7 </p><p> output .usect "output",320</p><p> input .usect "intput",256</p
81、><p><b> .data</b></p><p> table .word 0 </p><p><b> .word 0 </b></p><p><b> .word 0 </b></p><p><b> .word 0 &
82、lt;/b></p><p><b> .word 0 </b></p><p><b> .word 0 </b></p><p><b> .word 0 </b></p><p><b> .word 0</b></p>
83、<p><b> .word 0 </b></p><p><b> .word 0 </b></p><p><b> .word 0 </b></p><p><b> .word 0 </b></p><p> .word 6*1
84、6384/10000 </p><p> .word 35*16384/10000 </p><p> .word 87*16384/10000 </p><p> .word 116*16384/10000 </p><p> .word 87*16384/10000 </p><p> .wor
85、d 35 *16384/10000 </p><p> .word 6*16384/10000 </p><p> .word 628*16384/10000 </p><p> .word -5458*16384/10000 </p><p> .word 20275*16384/10000 </p><
86、p> .word 41433*16384/10000</p><p> .word 49501*16384/10000 </p><p> .word 33143*16384/10000</p><p><b> _c_int00:</b></p><p><b> ssbx frct</
87、b></p><p> stm #x,ar1</p><p><b> rpt #5</b></p><p> mvpd #table,*ar1+</p><p> stm #y,ar1</p><p><b> rpt #5</b></p>&
88、lt;p> mvpd #table+6,*ar1+</p><p> stm #b,ar1</p><p><b> rpt #6</b></p><p> mvpd table+12,*ar1+</p><p> stm #a,ar1</p><p><b> rpt
89、 #5</b></p><p> mvpd #table+19,*ar1+</p><p> stm #x+6,ar2</p><p> stm #a+5,ar3</p><p> stm #y+5,ar4</p><p> stm #b+6,ar5</p><p><
90、;b> stm #7,bk</b></p><p> stm #-1,ar0</p><p> stm #input,ar6</p><p> stm #output,ar7</p><p> stm #255,brc</p><p> iir rptb next-1</p>
91、<p> ld *ar6+,a</p><p> stl a,-1,*ar2</p><p> mpy *ar2+0%,*ar5+0%,a </p><p> mac *ar2+0%,*ar5+0%,a </p><p> mac *ar2+0%,*ar5+0%,a </p><p> mac
92、 *ar2+0%,*ar5+0%,a </p><p> mac *ar2+0%,*ar5+0%,a </p><p> mac *ar2+0%,*ar5+0%,a </p><p> mac *ar2,*ar5+0%,a </p><p> mac *ar4+0%,*ar3+0%,a</p><p> ma
93、c *ar4+0%,*ar3+0%,a</p><p> mac *ar4+0%,*ar3+0%,a</p><p> mac *ar4+0%,*ar3+0%,a</p><p> mac *ar4+0%,*ar3+0%,a</p><p> mac *ar4+0%,*ar3+0%,a</p><p> ma
94、r *ar3+0%</p><p> sth a,*ar4</p><p> sth a,*ar7+</p><p> next: b next</p><p><b> .end</b></p><p> vectors.asm文件</p><p> .tit
95、le "vectors.asm"</p><p> .ref _c_int00</p><p> .sect ".vectors"</p><p> B _c_int00</p><p><b> .end</b></p><p><b>
96、 中斷向量文件</b></p><p><b> iir.obj</b></p><p> vectors.obj</p><p> -o iir.out</p><p> -m iir.map</p><p><b> MEMORY</b></
97、p><p><b> {</b></p><p> page 0:rom1 :org=0100h,len=1000h</p><p> rom2 :org=2000h,len=0500h</p><p><b> page 1: </b></p><p> daram0
98、 :org=1000h,len=0500h</p><p> daram1 :org=1500h,len=0100h</p><p> daram2 :org=1600h,len=0100h</p><p> daram3 :org=1700h,len=0100h</p><p> daram4 :org=1800h,len=0100
99、h} </p><p><b> SECTIONS{</b></p><p> .text:{}>rom1 page 0</p><p> .data : {}>daram0 page 1</p><p> x : {}>daram1 page 1</p><p> y
100、 : {}>daram2 page 1</p><p> b : {}>daram3 page 1</p><p> a : {}>daram4 page 1</p><p> } </p><p><b> 5心得體會</b></p>&l
101、t;p> 在結束了為期兩周EDA課設之后,我們迎來了DSP的課程設計,這一次課設的題目是設計FIR與IIR數(shù)字低通濾波器,這是在上學期DSP原理即數(shù)字信號處理理論知識的基礎上,對DSP芯片的首次完整應用,并且通過這次低通濾波器的設計將會對DSP芯片以及Matlab軟件設計的濾波器有進一步的認識與熟悉。與往常的課設一樣,在接到了設計題目之后,便開始進行資料的搜集與整理,通過與其他同學們的交流與合作,開始進行Matlab程序的編寫的
102、工作。經(jīng)過了兩周的時間與不懈的努力,終于能夠完成課程設計的題目要求。</p><p> 回顧這兩個星期對FIR與IIR低通濾波器的設計過程,覺得自己受益匪淺。從剛剛開始接觸DSP的初次應用,對其相關的知識不甚了解,并且實驗思路也是模棱兩可,不是應該從何下手。由于這次的課設結合了CCS與Matlab軟件試驗平臺,更是不知從何開始。但是在設計FIR低通濾波器的過程之中,漸漸的發(fā)現(xiàn),只要能夠理清設計思路,那么動手設計
103、的過程也想來說變得比較的簡單。同時這次課程設計還讓我明白,書本上學習到的東西永遠都只是了理論上的東西,不是能夠在實踐中立即應用的,還必修要結合實際情況在進行合理的分析之后,才能夠設計出自己理想中的東西。所以,在未來的學習過程之中,除了要好好的學好基礎理論知識之外,還必須要多多的動手進行實踐操作,才能夠更好的掌握這一方向的能力與技術。</p><p> 為期兩周的課程設計讓我明白,沒有什么事情是能夠輕而易舉就完成
104、的很好的,當然也沒有什么事情是做不好的,只要你能夠努力。并且在以后的學業(yè)里,要認真的對待每一學科。</p><p><b> 參考文獻</b></p><p> [1] 范壽康 《DSP技術與芯片》[M].北京:電子工業(yè)出版社,2007</p><p> [2] 萬永格 《數(shù)字信號處理的MATLAB實現(xiàn)》[M].北京:科學出版社,20
105、07</p><p> [3] 程佩青 《數(shù)字信號處理教程》[M].北京:清華大學出版社,2001</p><p> [4] 高西全 丁玉美等 《數(shù)字信號處理》[M].北京:電子工業(yè)出版社,2009</p><p> [5] 范壽康 伊 磊等 《DSP原理及應用》[M].北京:電子工業(yè)出版社,2009</p><p> [6]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于matlab的iir數(shù)字濾波器的課程設計
- 課程設計---iir數(shù)字低通濾波器的matlab實現(xiàn)
- iir濾波器課程設計
- matlab課程設計---fir數(shù)字濾波器
- 基于dsp的fir和iir濾波器設計
- 基于fpga的fir濾波器課程設計
- 基于matlab的fir濾波器設計與仿真設計
- iir帶通濾波器課程設計
- 基于matlab的濾波器課程設計
- iir帶通濾波器課程設計
- fir帶通濾波器課程設計
- fir帶阻濾波器課程設計
- 課程設計----基于dsp的iir_濾波器的設計
- iir和fir數(shù)字濾波器的設計及其結構研究課程設計
- 基于matlab下的iir濾波器的設計與實現(xiàn)
- 基于dsp的fir濾波器設計課程設計報告
- fir帶通濾波器課程設計
- fir濾波器的設計與實現(xiàn)課程設計
- 基于fpga的fir濾波器課程設計報告
- dsp課程設計-fir濾波器設計
評論
0/150
提交評論