版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
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濾波器設(shè)計(jì)5</p><p><b> 3.1設(shè)計(jì)背景5</b></p><p> 3.2FIR濾波器的設(shè)計(jì)原理6</p><p> 3.3FIR設(shè)計(jì)方法6</p><p> 3.4 FIR低通濾波器的Matlab設(shè)計(jì)8</p><p> 3.4
3、.1 FIR性能指標(biāo)的確定8</p><p> 3.4.2 Matlab正弦波與方波的確定9</p><p> 3.5 FIR低通濾波器的CCS軟件設(shè)計(jì)11</p><p> 3.5.1 CCS匯編程序11</p><p> 3.5.2由CCS所得的正弦波與方波仿真圖13</p><p> 4 II
4、R低通濾波器的設(shè)計(jì)16</p><p> 4.1設(shè)計(jì)背景16</p><p> 4.2 IIR低通濾波器的設(shè)計(jì)原理與方法17</p><p> 4.3 IIR低通濾波器的Matlab設(shè)計(jì)18</p><p> 4.3.1 Matlab正弦波與方波程序18</p><p> 4.4 IIR低通濾波器
5、的CCS軟件設(shè)計(jì)20</p><p> 4.4.1 IIR低通濾波器的CCS軟件仿真20</p><p> 4.4.2 IIR低通濾波器CCS程序22</p><p><b> 5心得體會(huì)26</b></p><p><b> 參考文獻(xiàn)27</b></p><p
6、><b> 1前言</b></p><p> DSP數(shù)字信號(hào)處理(Digital Signal Processing,簡稱DSP)是一門涉及許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科。20世紀(jì)60年代以來,隨著計(jì)算機(jī)和信息技術(shù)的飛速發(fā)展,數(shù)字信號(hào)處理技術(shù)應(yīng)運(yùn)而生并得到迅速的發(fā)展。傳感器數(shù)字信號(hào)處理是利用傳感器對模擬信號(hào)或數(shù)字信號(hào)進(jìn)行采集并把其轉(zhuǎn)換成計(jì)算機(jī)可識(shí)別的電信號(hào),并利用計(jì)算機(jī)對
7、信號(hào)進(jìn)行處理以達(dá)到計(jì)算機(jī)輔助控制或是計(jì)算機(jī)自動(dòng)控制的目的。</p><p> DSP 芯片是一種特別適合數(shù)字信號(hào)處理運(yùn)算的微處理器,主要用來實(shí)時(shí)、快速地實(shí)現(xiàn)各種數(shù)字信號(hào)處理算法。用DSP 芯片實(shí)現(xiàn)IIR 數(shù)字濾波器,不僅具有精確度高、不受環(huán)境影響等優(yōu)點(diǎn),而且因DSP 芯片的可編程性,可方便地修改濾波器參數(shù),從而改變?yōu)V波器的特性,設(shè)計(jì)十分靈活。</p><p> 本課程是電子信息工程專業(yè)
8、的專業(yè)基礎(chǔ)課,目的為通過對課程設(shè)計(jì)任務(wù)的完成,使學(xué)生理解課程教學(xué)的理論內(nèi)容,并且能夠掌握和熟悉DSP的開發(fā)流程和基本的編程方法。FIR濾波器具有嚴(yán)格的線性相位特性,由于圖像處理、數(shù)據(jù)傳輸?shù)纫圆ㄐ螖y帶的信息系統(tǒng)。在數(shù)字信號(hào)處理中,濾波占有極其重要的地位。數(shù)字濾波是數(shù)字信號(hào)處理的一個(gè)基本方法。一個(gè)DSP芯片執(zhí)行數(shù)字濾波算法的能力,反應(yīng)了這種芯片的功能大小。</p><p> 隨著信息與數(shù)字技術(shù)的發(fā)展,數(shù)字信號(hào)處理已
9、經(jīng)成為當(dāng)今極其重要而學(xué)科與技術(shù)領(lǐng)域之一。它在通信、語音、圖像、自動(dòng)控制、雷達(dá)、軍事、航空航天、醫(yī)療和家用電器等眾多領(lǐng)域得到了廣泛的應(yīng)用。在數(shù)字信號(hào)處理的基本方法中,通常會(huì)涉及到變換、濾波、頻譜分析、調(diào)制解調(diào)和編碼解碼等處理。其中濾波是應(yīng)用非常廣泛的一個(gè)環(huán)節(jié),數(shù)字濾波器的理論和相關(guān)設(shè)計(jì)也一直都是人們研究的重點(diǎn)之一。FIR濾波器的是非遞歸的,穩(wěn)定性好,精度高;更重要的是,F(xiàn)IR濾波器在滿足幅頻響應(yīng)要求的同時(shí),可以獲得嚴(yán)格的線性相位特征。因此
10、,它在高保真的信號(hào)處理,如數(shù)字音頻、圖像處理、數(shù)據(jù)傳輸和生物醫(yī)學(xué)等領(lǐng)域得到廣泛應(yīng)用。</p><p> 在數(shù)字信號(hào)處理中,濾波占有極其重要的地位。數(shù)字濾波是語音信號(hào)處理、圖像處理、模式識(shí)別、頻譜分析等應(yīng)用的基本處理算法。用DSP芯片實(shí)現(xiàn)數(shù)字濾波除了具有穩(wěn)定性好、精確度高、不受環(huán)境影響等優(yōu)點(diǎn)外,還具有靈活性好等特點(diǎn)。</p><p><b> 2軟件簡介</b>&l
11、t;/p><p> 2.1 Matlab軟件簡介</p><p> MATLAB的名稱源自Matrix Laboratory,它是一種科學(xué)計(jì)算軟件,專門以矩陣的形式處理數(shù)據(jù)。MATLAB將高性能的數(shù)值計(jì)算和可視化集成在一起,并提供了大量的內(nèi)置函數(shù),從而被廣泛地應(yīng)用于科學(xué)計(jì)算、控制系統(tǒng)、信息處理等領(lǐng)域的分析、仿真和設(shè)計(jì)工作,而且利用MATLAB產(chǎn)品的開放式結(jié)構(gòu),可以非常容易地對MATLAB的
12、功能進(jìn)行擴(kuò)充,從而在不斷深化對問題認(rèn)識(shí)的同時(shí),不斷完善MATLAB產(chǎn)品以提高產(chǎn)品自身的競爭能力。</p><p> MATLAB是由美國mathworks公司發(fā)布的主要面對科學(xué)計(jì)算、可視化以及交互式程序設(shè)計(jì)的高科技計(jì)算環(huán)境。接其他編程語言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測、金融建模設(shè)計(jì)與分析等領(lǐng)域。MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué)、工程中常用的形式十
13、分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)點(diǎn),使MATLAB成為一個(gè)強(qiáng)大的數(shù)學(xué)軟件。在新的版本中也加入了對C,F(xiàn)ORTRAN,C++,JAVA的支持??梢灾苯诱{(diào)用,用戶也可以將自己編寫的實(shí)用程序?qū)氲組ATLAB函數(shù)庫中方便自己以后調(diào)用,此外許多的MATLAB愛好者都編寫了一些經(jīng)典的程序,用戶可以直接進(jìn)行下載就可以用。</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)境配置、源文件編輯、程序調(diào)試、跟蹤和分析等工具。 </p><p> CCS有兩種工作模式,即 </p><p> 軟件
15、仿真器模式:可以脫離DSP芯片,在PC機(jī)上模擬DSP的指令集和工作機(jī)制,主要用于前期算法實(shí)現(xiàn)和調(diào)試。 </p><p> 硬件在線編程模式:可以實(shí)時(shí)運(yùn)行在DSP芯片上,與硬件開發(fā)板相結(jié)合在線編程和調(diào)試應(yīng)用程序。 </p><p> CCS的開發(fā)系統(tǒng)主要由以下組件構(gòu)成: </p><p> ?、?TMS320C54x集成代碼產(chǎn)生工具; </p>&l
16、t;p> ?、?CCS集成開發(fā)環(huán)境; </p><p> ?、?DSP/BIOS實(shí)時(shí)內(nèi)核插件及其應(yīng)用程序接口API; </p><p> ?、?實(shí)時(shí)數(shù)據(jù)交換的RTDX插件以及相應(yīng)的程序接口API; </p><p> ⑤ 由TI公司以外的第三方提供的各種應(yīng)用模塊插件。 </p><p> CCS的功能十分強(qiáng)大,它集成了代碼的編輯、編
17、譯、鏈接和調(diào)試等諸多功能,而且支持C/C++和匯編的混合編程,其主要功能如下: </p><p> ?、?具有集成可視化代碼編輯界面,用戶可通過其界面直接編寫C、匯編、.cmd文件等; </p><p> ?、?含有集成代碼生成工具,包括匯編器、優(yōu)化C編譯器、鏈接器等,將代碼的編輯、編譯、鏈接和調(diào)試等諸多功能集成到一個(gè)軟件環(huán)境中; </p><p> ?、?高性能編
18、輯器支持匯編文件的動(dòng)態(tài)語法加亮顯示,使用戶很容易閱讀代碼,發(fā)現(xiàn)語法錯(cuò)誤; </p><p> ?、?工程項(xiàng)目管理工具可對用戶程序?qū)嵭许?xiàng)目管理。在生成目標(biāo)程序和程序庫的過程中,建立不同程序的跟蹤信息,通過跟蹤信息對不同的程序進(jìn)行分類管理; </p><p> ?、?基本調(diào)試工具具有裝入執(zhí)行代碼、查看寄存器、存儲(chǔ)器、反匯編、變量窗口等功能,并支持C源代碼級(jí)調(diào)試; </p><
19、;p> ?、?斷點(diǎn)工具,能在調(diào)試程序的過程中,完成硬件斷點(diǎn)、軟件斷點(diǎn)和條件斷點(diǎn)的設(shè)置; ⑦ 探測點(diǎn)工具,可用于算法的仿真,數(shù)據(jù)的實(shí)時(shí)監(jiān)視等; </p><p> ?、?分析工具,包括模擬器和仿真器分析,可用于模擬和監(jiān)視硬件的功能、評價(jià)代碼執(zhí)行的時(shí)鐘; </p><p> ?、?數(shù)據(jù)的圖形顯示工具,可以將運(yùn)算結(jié)果用圖形顯示,包括顯示時(shí)域/頻域波形、眼圖、星座圖、圖像等,并能進(jìn)行自動(dòng)刷新
20、; </p><p> ?、?提供GEL工具。利用GEL擴(kuò)展語言,用戶可以編寫自己的控制面板/菜單,設(shè)置GEL菜單選項(xiàng),方便直觀地修改變量,配置參數(shù)等; </p><p> 圖2-2CCS主界面</p><p> 3 FIR濾波器設(shè)計(jì)</p><p><b> 3.1設(shè)計(jì)背景</b></p><
21、p> 在許多數(shù)字信號(hào)處理系統(tǒng)中,F(xiàn)IR濾波器是最常用的組件之一,它完成信號(hào)預(yù)調(diào)、頻帶選擇和濾波等功能。FIR濾波器在截止頻率的邊沿陡峭性能雖然不及11R濾波器,但是,考慮到FIR濾波器嚴(yán)格的線性相位特性和不像IIR濾波器存在穩(wěn)定性的問題,F(xiàn)IR濾波器能夠在數(shù)字信號(hào)處理領(lǐng)域得到廣泛的應(yīng)用。數(shù)字濾波器(Digital Filter,簡稱為DF)是指用來對輸入信號(hào)進(jìn)行濾波的硬件和軟件。所謂數(shù)字濾波器,是指輸入、輸出均為數(shù)字信號(hào),通過一
22、定運(yùn)算關(guān)系改變輸入信號(hào)所含頻率成分的器件。數(shù)字濾波器和模擬濾波器相比,因?yàn)樾盘?hào)的形式和實(shí)現(xiàn)濾波的方法不同,數(shù)字濾波器具有比模擬濾波器精度高、穩(wěn)定、體積小、重量輕、靈活、不要求阻抗匹配等優(yōu)點(diǎn)。</p><p> 對于一般的數(shù)字濾波器,按照單位沖激響應(yīng)可分為無限長沖激響應(yīng)IIR系統(tǒng)和有限長沖激響應(yīng)FIR系統(tǒng)。在FIR系統(tǒng)中,則用一個(gè)有理多項(xiàng)式表示的系統(tǒng)函數(shù)去逼近所需要的頻率響應(yīng),即其單位沖激響應(yīng)h(n)在有限個(gè)n值
23、處不為零。</p><p> FIR濾波器則可在幅度特性隨意設(shè)計(jì)的同時(shí),保證精確、嚴(yán)格的線性相位特性。這在要求相位線性信道的現(xiàn)代電子系統(tǒng),如圖像處理、數(shù)據(jù)傳輸?shù)炔ㄐ蝹鬟f系統(tǒng)中,是具有很大吸引力的。而且,其單位沖激響應(yīng)是有限長的,不存在不穩(wěn)定的因素,并且可用因果系統(tǒng)來實(shí)現(xiàn)。相較于IIR濾波器, FIR濾波器有以下的優(yōu)點(diǎn):可以很容易地設(shè)計(jì)線性相位的濾波器。 線性相位濾波器延時(shí)輸入信號(hào),卻并不扭曲其相位。實(shí)現(xiàn)簡單。
24、在大多數(shù)DSP處理器, 只需要對一個(gè)指令積習(xí)循環(huán)就可以完成FIR計(jì)算。在實(shí)際中,所有的DSP濾波器必須用有限精度實(shí)現(xiàn),而在IIR濾波器中使用有限精度會(huì)產(chǎn)生很大的問題,由于采用的是反饋電路,因此IIR通常用非常少的bit實(shí)現(xiàn),設(shè)計(jì)者就能解決更少的與非理想算術(shù)有關(guān)的問題??梢杂眯?shù)實(shí)現(xiàn)。 不像IIR濾波器,F(xiàn)IR濾波器通??赡苡眯∮?的系數(shù)來實(shí)現(xiàn)。當(dāng)使用定點(diǎn)DSP的時(shí)候,這也是一個(gè)考慮因素,它能使得實(shí)現(xiàn)更加地簡單。</p>&
25、lt;p> 3.2FIR濾波器的設(shè)計(jì)原理</p><p> 有限長單位沖激響應(yīng)濾波器,是數(shù)字信號(hào)處理系統(tǒng)中最基本的元件??梢栽诒WC任意幅頻特性的同時(shí)具有嚴(yán)格的線性相頻特性,同時(shí)其單位抽樣響應(yīng)是有限長的,因而濾波器是穩(wěn)定的系統(tǒng)。FIR濾波器在通信、圖像處理、模式識(shí)別等領(lǐng)域都有著廣泛的應(yīng)用。</p><p> FIR濾波器無反饋回路,是一種條件穩(wěn)定系統(tǒng),可以設(shè)計(jì)成具有線性相位特性。
26、設(shè)FIR濾波器的系數(shù)為h(0)、h(1)、h(2)、h(3)···h(N-2)、h(N-1);X(n)表示濾波器在n時(shí)刻的輸入,則n時(shí)刻的輸出為:</p><p> FIR數(shù)字濾波器的結(jié)構(gòu)如圖3-1所示:</p><p> 圖3-1 數(shù)字濾波器的結(jié)構(gòu)框圖</p><p> 3.3FIR設(shè)計(jì)方法</p><p&g
27、t; 本次利用CCS軟件完成一個(gè)15階FIR的低通濾波器的設(shè)計(jì),并根據(jù)傅里葉級(jí)數(shù)知,周期信號(hào)可以由若干離散頻率的正弦波的疊加形成,通過對方波和不同諧波正弦波的疊加的濾波,完成對高頻的濾除,剩下一次基波正弦波。其中在CCS軟件中實(shí)現(xiàn)的兩個(gè)不同長度的序列的時(shí)域卷積,即實(shí)現(xiàn)的是頻域中的低通濾波。FIR低通濾波器的時(shí)域參數(shù),不同正弦波的疊加所產(chǎn)生的序列,以及方波的序列參數(shù)均由MATLAB軟件平臺(tái)實(shí)現(xiàn)。通過加載到CCS編程過程中開辟的數(shù)據(jù)空間,
28、由卷積程序?qū)崿F(xiàn)濾波過程。</p><p> 實(shí)現(xiàn)濾波之后需要對所濾出的波形及數(shù)據(jù)進(jìn)行檢驗(yàn),可通過CCS軟件所提供的頻譜進(jìn)行分析;濾波之后的數(shù)據(jù)可通過與MATLAB卷積后的設(shè)計(jì)數(shù)據(jù)進(jìn)行對比檢驗(yàn)設(shè)計(jì)是否正確和符合設(shè)計(jì)要求。 </p><p> 本設(shè)計(jì)采用循環(huán)緩沖區(qū)法:</p><p> 循環(huán)緩沖區(qū)法特點(diǎn)如下:</p><p> 1
29、 對于N級(jí)FIR濾波器,在存儲(chǔ)區(qū)中開辟一個(gè)N單元的緩沖區(qū)(滑窗),用來存放最新的N個(gè)輸入樣本;</p><p> 2 從最新樣本開始取數(shù);</p><p> 3 讀完最后一個(gè)樣本(最老樣本)后,輸入最新樣本來代替最老樣本,而其他數(shù)據(jù)不變;</p><p> 4 用片內(nèi)BK(循環(huán)緩沖區(qū)長度)寄存器對緩存區(qū)進(jìn)行間接尋址,使循環(huán)緩沖區(qū)首尾相鄰。</p>
30、<p> 3.4 FIR低通濾波器的Matlab設(shè)計(jì)</p><p> 3.4.1 FIR性能指標(biāo)的確定</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)生測試用正弦信號(hào)和噪聲信號(hào)</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軟件設(shè)計(jì)</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指向沖激響應(yīng)</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軟件中,通過程序設(shè)計(jì)出來的低通濾波器的波形圖的仿真,以及CCS通過低通濾波器之后的正弦波的頻譜波形,通過濾波之后,濾出來的正弦波比較符合理想設(shè)計(jì)中的低通濾波器。</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程序?yàn)V波后的波形為低頻正弦波,由圖11可知只在200rad/s處存在頻譜,即實(shí)現(xiàn)了將高頻濾出,將低頻濾出的目的。同MATLAB軟件運(yùn)行結(jié)果對比知結(jié)果一致。&
59、lt;/p><p> 4 IIR低通濾波器的設(shè)計(jì)</p><p><b> 4.1設(shè)計(jì)背景</b></p><p> 數(shù)字濾波器又分為無限沖激響應(yīng)濾波器(IIR)和有限沖激響應(yīng)濾波器(FIR)。FIR濾波器具有不含反饋環(huán)路、結(jié)構(gòu)簡單以及可以實(shí)現(xiàn)的嚴(yán)格線性相位等優(yōu)點(diǎn),因而在對相位要求比較嚴(yán)格的條件下,采用FIR數(shù)字濾波器。同時(shí),由于在許多場合下
60、,需要對信號(hào)進(jìn)行實(shí)時(shí)處理,因而對于單片機(jī)的性能要求也越來越高。由于DSP控制器具有許多獨(dú)特的結(jié)構(gòu),例如采用多組總線結(jié)構(gòu)實(shí)現(xiàn)并行處理,獨(dú)立的累加器和乘法器以及豐富的尋址方式,采用 DSP控制器就可以提高數(shù)字信號(hào)處理運(yùn)算的能力,可以對數(shù)字信號(hào)做到實(shí)時(shí)處理。DSP(數(shù)字信號(hào)處理器)與一般的微處理器相比有很大的區(qū)別,它所特有的系統(tǒng)結(jié)構(gòu)、指令集合、數(shù)據(jù)流程方式為解決復(fù)雜的數(shù)字信號(hào)處理問題提供了便利,本文選用TMS320C5509作為DSP處理芯片
61、,通過對其編程來實(shí)現(xiàn)IIR濾波器。</p><p> 對數(shù)字濾波器而言,從實(shí)現(xiàn)方法上,有FIR濾波器和無限沖激響應(yīng)(IIR)濾波器之分。由于FIR濾波器只有零點(diǎn),因此這一類系統(tǒng)不像IIR系統(tǒng)那樣易取得比較好的通帶與阻帶衰減特性。但是IIR系統(tǒng)與傳統(tǒng)的通過硬件電路實(shí)現(xiàn)的模擬濾波器相比有以下優(yōu)點(diǎn):</p><p> 1、單位沖擊響應(yīng)有無限多項(xiàng);</p><p>
62、2、高效率(因?yàn)榻Y(jié)構(gòu)簡單、系數(shù)小、乘法操作較少)</p><p> 3、與模擬濾波器有對應(yīng)關(guān)系</p><p> 4、可以解析控制,強(qiáng)制系統(tǒng)在指定位置為零點(diǎn)</p><p> 5、有極點(diǎn),在設(shè)計(jì)時(shí)要考慮穩(wěn)定性</p><p> 6、具有反饋,可能產(chǎn)生噪聲、誤差累積</p><p> 4.2 IIR低通濾波器
63、的設(shè)計(jì)原理與方法</p><p> IIR 數(shù)字濾波器可用一個(gè)n階差分方程</p><p> y(n)=Σbrx(n-r)+Σaky(n-k),</p><p> IIR數(shù)字濾波器的單位響應(yīng)是無限長的,而模擬濾波器一般都具有無限長的單位脈沖響應(yīng),因此與模擬濾波器相匹配。由于模擬濾波器的設(shè)計(jì)在理論上已十分成熟,因此數(shù)字濾波器設(shè)計(jì)的關(guān)鍵是將H(S)→H(Z),即,
64、利用復(fù)值映射將模擬濾波器離散化。已經(jīng)證明,沖擊響應(yīng)不變法和雙線性變換法能較好地?fù)?dān)當(dāng)此任,則在此基礎(chǔ)上,數(shù)字濾波器的設(shè)計(jì)就可首先歸結(jié)為模擬濾波器的設(shè)計(jì)了。</p><p> 要設(shè)計(jì)一個(gè)數(shù)字濾波器去仿真一個(gè)模擬濾波器有脈沖響應(yīng)不變法和雙線性變換法。其設(shè)計(jì)過程都是由給定的模擬濾波器的系統(tǒng)函數(shù)Ha(s)去變換出相應(yīng)的數(shù)字濾波器的系統(tǒng)函數(shù)H(z)。</p><p> 脈沖響應(yīng)不變法的設(shè)計(jì)過程如下
65、:</p><p> 為方便求出其時(shí)域單位脈沖響應(yīng),將上式化為部分分式之和的形式:</p><p> 由拉氏反變換得模擬濾波器在時(shí)域的單位脈沖響應(yīng):</p><p> 由時(shí)域的數(shù)字仿真的條件(即脈沖響應(yīng)不變準(zhǔn)則)可得相應(yīng)的數(shù)字濾波器的脈沖響應(yīng):</p><p> 再對兩邊進(jìn)行Z變換,即可得到數(shù)字濾波器的系統(tǒng)函數(shù):</p>
66、<p> 4.3 IIR低通濾波器的Matlab設(shè)計(jì)</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軟件設(shè)計(jì)</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設(shè)計(jì),以及在CCS之中通過編寫程序設(shè)計(jì)出來的IIR低通濾波器,濾出來的方波波形如上圖所示,經(jīng)驗(yàn)證與理想中設(shè)計(jì)的低通濾波器比較吻合,能夠正確的過濾出來正弦波形</p><p><b> 正弦波濾得的波形</b></p><p> 圖4-4 正弦波濾得的波形</p><p><b> 正弦波的頻譜</b><
78、;/p><p> 圖4-5 正弦波的頻譜波形</p><p> 通過CCS軟件的程序設(shè)計(jì),能夠正確的過濾出來正弦波,說明該IIR低通濾波器的設(shè)計(jì)比較的符合本次課程設(shè)計(jì)的要求</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心得體會(huì)</b></p>&l
101、t;p> 在結(jié)束了為期兩周EDA課設(shè)之后,我們迎來了DSP的課程設(shè)計(jì),這一次課設(shè)的題目是設(shè)計(jì)FIR與IIR數(shù)字低通濾波器,這是在上學(xué)期DSP原理即數(shù)字信號(hào)處理理論知識(shí)的基礎(chǔ)上,對DSP芯片的首次完整應(yīng)用,并且通過這次低通濾波器的設(shè)計(jì)將會(huì)對DSP芯片以及Matlab軟件設(shè)計(jì)的濾波器有進(jìn)一步的認(rèn)識(shí)與熟悉。與往常的課設(shè)一樣,在接到了設(shè)計(jì)題目之后,便開始進(jìn)行資料的搜集與整理,通過與其他同學(xué)們的交流與合作,開始進(jìn)行Matlab程序的編寫的
102、工作。經(jīng)過了兩周的時(shí)間與不懈的努力,終于能夠完成課程設(shè)計(jì)的題目要求。</p><p> 回顧這兩個(gè)星期對FIR與IIR低通濾波器的設(shè)計(jì)過程,覺得自己受益匪淺。從剛剛開始接觸DSP的初次應(yīng)用,對其相關(guān)的知識(shí)不甚了解,并且實(shí)驗(yàn)思路也是模棱兩可,不是應(yīng)該從何下手。由于這次的課設(shè)結(jié)合了CCS與Matlab軟件試驗(yàn)平臺(tái),更是不知從何開始。但是在設(shè)計(jì)FIR低通濾波器的過程之中,漸漸的發(fā)現(xiàn),只要能夠理清設(shè)計(jì)思路,那么動(dòng)手設(shè)計(jì)
103、的過程也想來說變得比較的簡單。同時(shí)這次課程設(shè)計(jì)還讓我明白,書本上學(xué)習(xí)到的東西永遠(yuǎn)都只是了理論上的東西,不是能夠在實(shí)踐中立即應(yīng)用的,還必修要結(jié)合實(shí)際情況在進(jìn)行合理的分析之后,才能夠設(shè)計(jì)出自己理想中的東西。所以,在未來的學(xué)習(xí)過程之中,除了要好好的學(xué)好基礎(chǔ)理論知識(shí)之外,還必須要多多的動(dòng)手進(jìn)行實(shí)踐操作,才能夠更好的掌握這一方向的能力與技術(shù)。</p><p> 為期兩周的課程設(shè)計(jì)讓我明白,沒有什么事情是能夠輕而易舉就完成
104、的很好的,當(dāng)然也沒有什么事情是做不好的,只要你能夠努力。并且在以后的學(xué)業(yè)里,要認(rèn)真的對待每一學(xué)科。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 范壽康 《DSP技術(shù)與芯片》[M].北京:電子工業(yè)出版社,2007</p><p> [2] 萬永格 《數(shù)字信號(hào)處理的MATLAB實(shí)現(xiàn)》[M].北京:科學(xué)出版社,20
105、07</p><p> [3] 程佩青 《數(shù)字信號(hào)處理教程》[M].北京:清華大學(xué)出版社,2001</p><p> [4] 高西全 丁玉美等 《數(shù)字信號(hào)處理》[M].北京:電子工業(yè)出版社,2009</p><p> [5] 范壽康 伊 磊等 《DSP原理及應(yīng)用》[M].北京:電子工業(yè)出版社,2009</p><p> [6]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于matlab的iir數(shù)字濾波器的課程設(shè)計(jì)
- 課程設(shè)計(jì)---iir數(shù)字低通濾波器的matlab實(shí)現(xiàn)
- iir濾波器課程設(shè)計(jì)
- matlab課程設(shè)計(jì)---fir數(shù)字濾波器
- 基于dsp的fir和iir濾波器設(shè)計(jì)
- 基于fpga的fir濾波器課程設(shè)計(jì)
- 基于matlab的fir濾波器設(shè)計(jì)與仿真設(shè)計(jì)
- iir帶通濾波器課程設(shè)計(jì)
- 基于matlab的濾波器課程設(shè)計(jì)
- iir帶通濾波器課程設(shè)計(jì)
- fir帶通濾波器課程設(shè)計(jì)
- fir帶阻濾波器課程設(shè)計(jì)
- 課程設(shè)計(jì)----基于dsp的iir_濾波器的設(shè)計(jì)
- iir和fir數(shù)字濾波器的設(shè)計(jì)及其結(jié)構(gòu)研究課程設(shè)計(jì)
- 基于matlab下的iir濾波器的設(shè)計(jì)與實(shí)現(xiàn)
- 基于dsp的fir濾波器設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- fir帶通濾波器課程設(shè)計(jì)
- fir濾波器的設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)
- 基于fpga的fir濾波器課程設(shè)計(jì)報(bào)告
- dsp課程設(shè)計(jì)-fir濾波器設(shè)計(jì)
評論
0/150
提交評論