版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、無限沖激響應濾波器(iir)算法硬件實現(xiàn)摘要20世紀60年代以來,隨著大規(guī)模集成電路、數(shù)字計算機等信息技術的飛速發(fā)展,數(shù)字信號處理(digital signal processing, dsp)技術應運而生并得到快速發(fā)展。在過去的20多年時間里,dsp在理論和應用方面不斷地進步和完善,在越來越多的應用領域中迅速取代傳統(tǒng)的模擬信號處理方法,并開辟出出許多新的應用領域。目前數(shù)字信號處理技術已經在通信、雷達、航空航天、工業(yè)控制、生物醫(yī)學控制、生物醫(yī)學工程、網絡及家電領域得到極為廣泛的應用,數(shù)字化時代正在到來。1928年,美國德州儀器公司(texas instruments incorporation
2、,簡稱ti公司)推出該公司的第一款dsps芯片,很快dsps芯片就以其數(shù)字器件特有的穩(wěn)定性、可重復性、可大規(guī)模集成和易于實現(xiàn)dsp算法等優(yōu)點,為數(shù)字信號處理技術帶來了更大的發(fā)展和應用前景。采用各種類型dsps實現(xiàn)系統(tǒng)的數(shù)字化處理和控制已經成為未來發(fā)展的趨勢,并且睡著dsps運算能力的不斷提高,數(shù)字信號處理的研究重點由最初的非實用轉向高速實時應用。本文主要是應用ti公司生產的一款芯片tms320f2812 dsps來實現(xiàn)無限沖擊響應濾波器(iir)算法。本文的主要工作可歸結如下:1、 介紹無限沖激響應濾波器(iir)實現(xiàn)的原理。2、 詳細分析無限沖激響應濾波器(iir)算法。3、 畫出無限沖激響
3、應濾波器(iir)實現(xiàn)的硬件框圖及軟件流程圖。4、 實驗調試過程及步驟。5、 分析在ccs軟仿真及硬仿真環(huán)境下實驗結果。6、 反匯編一個小程序及對dsps實現(xiàn)iir算法理解。7、 對學習dsps理論課及做實驗的心得體會。通過軟件仿真及硬件實現(xiàn)結果表明,用dsps實現(xiàn)無限沖激響應濾波器(iir)算法能夠很好的達到預期的效果。關鍵詞:iir, , dsps, 無限沖激響應,ccs,濾波器引言硬件實現(xiàn)無限沖激響應濾波器(iir)算法有多種方法,本文介紹用ti公司生產的一款芯片tms320f2812 dsps來實現(xiàn)無限沖激響應濾波器(iir)算法,其中涉及無限沖激響應濾波器(iir)算法軟件仿真和硬件
4、實現(xiàn)。通過實驗分析,我們可以看出實驗結果和理論結果符合的很好,因此ms320f2812 dsps可以很好的實現(xiàn)無限沖激響應濾波器的濾波特性。實驗原理1、 無限沖激響應數(shù)字濾波器的理論基礎。2、 模擬濾波器原理(巴特沃斯濾波器、切比雪夫濾波器、橢圓濾波器、貝賽爾濾波器)。3、 數(shù)字濾波器系數(shù)的確定方法。4、 根據(jù)要求設計低通iir濾波器要求:低通巴特沃斯濾波器在其通帶邊緣1khz處的增益為-3db,12khz處的阻帶衰減為30的db,采樣頻率25khz。設計:-確定待求通帶邊緣頻率fp1hz、待求阻帶邊緣頻率fs1hz和待求阻帶衰減-20logs db。模擬邊緣頻率為:fp1=1000 khz,
5、fs1=12000khz,阻帶邊緣衰減為:-20logs db=30db。-用=2f/fs把由hz表示的待求邊緣頻率轉換成弧度表示的數(shù)字頻率,得到p1,s1p1=2fp1/fs1 =21000/25000=0.08弧度s1=2fs1/fs =212000/25000=0.96弧度 -計算預扭曲線模擬頻率以避免雙線性變換帶來的失真。由w=2fstan(/2)求得wp1和ws1,單位為弧度/秒wp1=2fstan(p1/2)=6316.5弧度/秒ws1=2fstan(s1/2)=794727.2弧度/秒 -由已給定的阻帶衰減-20logs db確定阻帶邊緣增益s。 因為-20logs db=30d
6、b,所以logs=-30/20,s=0.03162-計算所需濾波器階數(shù):因此,一階巴特沃斯濾波器就滿足要求。-一階巴特沃斯濾波器的傳輸函數(shù)為:h(s) = wp1/(s+wp1)=6316.5/(s+6316.5)有雙線性變換定義s=2fs(z-1)/(z+1)得到的數(shù)字濾波器的傳輸函數(shù)為:因此,差分方程為:yn=0.7757yn-1+0.1122xn+0.1122xn-1.硬件框圖因此,差分方程為:yn=0.7757yn-1+0.1122xn+0.1122xn-1.硬件框圖d/a4路12bit數(shù)據(jù)地址控制i/opwmspispi4個用戶可控開關ledcpld擴展dsp引腳ram:128k*1
7、6bit ram:128k*16bitdsp總線rs232can驅動16路,12bitjatgtms320f2812pgfajtagport 片上資源 主頻:150mhza/d ram:128k*16bit flash:128k*16bit cana/df2812-a評估板原理圖液晶顯示及鍵盤模塊信號源模塊dsp評估板模塊仿真器模塊pc機實驗中用到的主要硬件模塊軟件流程圖開始初始化工作變量調用波形發(fā)生子程序產生混疊的波形(高頻+低頻)調用iir濾波器子程序計算當前輸出波形發(fā)生計算步長用標準c的函數(shù)sin函數(shù)和cos函數(shù)計算當前波形值返回波形值返回計算結果iir波形用濾波器系數(shù)乘以保存的n-1個
8、輸入輸出值和當前輸入值并求和返回計算結果調試過程和步驟1. 實驗準備(1) 連接實驗設備。(2) 準備信號源進行ad輸入。1) 取出2根實驗箱附帶的信號線。2) 用1根信號線連接實驗箱左側信號源的波形輸出a端口和“a/d輸入”模塊的“adcin0”插座,注意插頭要插牢、到底。這樣,信號源波形輸出a的輸出波形即可送到 icetek-f2812a板的ad輸入通道0.3) 用1根信號線連接實驗箱左側信號源的波形輸出b端口和“a/d輸入”模塊的“adcin1”插座,注意插頭要插牢、到底。這樣,信號源波形輸出a的輸出波形即可送到 icetek-f2812a板的ad輸入通道1.4) 設置波形輸出a:-向內
9、側按波形頻率選擇按鈕,直到標有正弦波的指示燈亮。-上下調節(jié)波形頻率選擇按鈕,直到標有100-1khz的指示燈亮。-調節(jié)幅值調整旋鈕,將波形輸出a的幅值調到適當位置。 5)設置波形輸出b: -向內側按波形頻率選擇按鈕,直到標有正弦波的指示燈亮。-上下調節(jié)波形頻率選擇按鈕,直到標有1k-10khz的指示燈亮。-調節(jié)幅值調整旋鈕,將波形輸出b的幅值調到適當位置。注意:由于模數(shù)輸入信號未經任何轉換就進入dsp,所以必須保證輸入的模擬信號的幅度在03v之間。必須用示波器檢測信號范圍,保證最小值0v,最大值3v,否則容易損壞dsp芯片的模數(shù)采集模塊。2. 設置 code composer studio 2
10、.21在硬仿真(emulator)方式下運行。3. 啟動code composer studio 2.21 選擇菜單debug-reset cpu。4. 打開工程文件 工程目錄:d:dspt8mixeiirmixeriir.pjt5. 編譯、下載程序,選擇菜單debug-go main,使程序運行到 main 函數(shù)的入口位置。6. 觀察窗口 -打開iir.c,查看源代碼。7. 觀察程序運行結果 按ctr控制板的k6鍵,實現(xiàn)濾波顯示,k7鍵實現(xiàn)混頻顯示,按k8鍵實現(xiàn)a、b兩信號源分屏顯示。8. 觀察動態(tài)效果,調節(jié)信號源輸出,觀察濾波器輸出,改變信號源輸入的波形、頻率參數(shù),觀察動態(tài)效果。9. 退出
11、ccs。實驗結果一、軟仿真環(huán)境下的實驗結果1. 作如下設置及得到的波形圖圖12作如下設置得到的波形圖圖23. 作如下設置得到的波形圖圖34. 作如下設置得到的波形圖圖44. 把四幅圖片放著一起比較如下圖5二、硬仿真環(huán)境下的實驗結果1. 按ctr控制板的k6鍵觀察到的波形圖62. 按k7鍵觀察到的波形圖73. 按k8鍵觀察到的波形圖8實驗結果分析1. 軟仿真結果分析-圖1是信號經過調制后的模型,毛刺代表其高頻分量。-圖3是圖1中信號的頻域圖形,從頻域可以看出,其頻譜既含有低頻分量,又含有高頻分量。-圖2調制信號經過無限沖擊響應濾波器(iir)濾波之后得到的波形。-圖4圖2中信號的頻域圖形,從頻域
12、可以看出,經過無限沖擊響應濾波器(iir)濾波之后只剩下低頻分量,高頻分量幾乎衰減為0。-圖5把四幅圖放在一塊比較,可以顯而易見的看出圖形濾波前后的差別,經比較可以看出,在軟仿真條件下,用tms320f2812 dsps來實現(xiàn)的無限沖擊響應濾波器(iir)具有較好的濾波性能。2.硬仿真結果分析 -圖 6 上面為低頻信號,下面為高頻信號。 -圖7為兩信號相乘的結果,即調制的結果。 -圖8為調制信號經無限沖擊響應濾波器(iir)的結果。比較圖6和圖8我們可以發(fā)現(xiàn),兩圖的波形幾乎完全相同,由此我們可以得出如下結論: 用tms320f2812 dsps來實現(xiàn)的無限沖擊響應濾波器(iir)具有較好的濾波
13、性能。程序算法分析及反匯編1、根據(jù)自己的理解,給iir.c程序添加備注#include dsp281x_device.h / dsp281x headerfile include file#include dsp281x_examples.h / dsp281x examples include file#include f2812a.h#includemath.h#define iirnumber 2#define signal1f 1000#define signal2f 4500#define samplef 10000#define pi 3.1415926float inputwav
14、e();float iir();float fbniirnumber= 0,0.7757 ; /定義差分方程y(n)系數(shù),并賦值float faniirnumber= 0.1122,0.1122 ; /定義差分方程x(n)的系數(shù),并賦值float fxniirnumber= 0.0 ; /定義輸入序列float fyniirnumber= 0.0 ; /定義輸出序列float finput,foutput; /定義輸入,輸出float fsignal1,fsignal2;float fstepsignal1,fstepsignal2; /定義第一路信號周期,第二路信號周期float f2pi;
15、 /定義2*piint i;float fin256,fout256;int nin,nout;main(void) nin=0; nout=0;f2pi=2*pi;fsignal1=0.0;fsignal2=pi*0.1;/fstepsignal1=2*pi/30;/fstepsignal2=2*pi*1.4;fstepsignal1=2*pi/50; / 第一路信號周期fstepsignal2=2*pi/2.5; /第二路信號周期while ( 1 )finput=inputwave(); /輸入波形finnin=finput;nin+; nin%=256;foutput=iir(); /
16、iir濾波foutnout=foutput; /輸出波形nout+;if ( nout=256 )nout=0;/* 請在此句上設置軟件斷點 */ float inputwave() /輸入波形函數(shù)for ( i=iirnumber-1;i0;i- )fxni=fxni-1;fyni=fyni-1;fxn0=sin(fsignal1)+cos(fsignal2)/6.0;fyn0=0.0;fsignal1+=fstepsignal1; /低頻信號if ( fsignal1=f2pi )fsignal1-=f2pi;fsignal2+=fstepsignal2; /高頻信號if ( fsigna
17、l2=f2pi )fsignal2-=f2pi;return(fxn0); /返回調制信號float iir()float fsum;fsum=0.0;for ( i=0;iiirnumber;i+ )fsum+=(fxni*fani); /本程序的算法所在,在此實現(xiàn)濾波fsum+=(fyni*fbni); /本程序的算法所在,在此實現(xiàn)濾波return(fsum);2、本實驗實現(xiàn)濾波的算法就是: yn=0.7757yn-1+0.1122xn+0.1122xn-1.通過此算法可以濾去信號的高頻分量。3、自己對照著c語言寫的匯編語言小程序 22 / 22varx .word 0x0002vary
18、.word 0x0001varz .word 0x0000start:movw dp,#varxl1:mov al,varxadd al,varymov varz,alsb l1,unc endint x,y,z;main() x=1;y=2; while(1) z=x+y; 4、實現(xiàn)算法(fsum+=(fxni*fani); fsum+=(fyni*fbni);)的匯編語言:iir:addb sp,#4movb ah,#0movb al,#0movl *-sp4,accmovw dp,#0xfe00mov 0,#0mov al,0cmpb al,#2sb l7,geql6:setc sxmm
19、ovl xar4,#0x3f8016mov acc,0 1addl xar4,accmovl acc,*+xar40movl *-sp2,accmovl xar4,#0x3f8012mov acc,0 1addl xar4,accmovl acc,*+xar40lcr fs$mpymovl *-sp2,accmovl acc,*-sp4 lcr fs$addmovl *-sp4,acc結束語心得體會這學期學習了王院長教授dsp原理與應用技術這本書,收獲很多。dsp對我們來說是一門新的知識,是一門綜合性很強的專業(yè)課程,覺得它學起來應該不是很容易。這門課一開始,王院長就告訴我們如何學習這門課,因為
20、這門課對我們來說比較陌生,是一門全新的課。王院長給我們說dsps是一門實踐性很強的課,學生往往在學習過程中和實際開發(fā)過程相脫節(jié),因此對dsps的一些基本概念只停留在文字的解釋上,形不成系統(tǒng)的概念,無法與實踐的電路相聯(lián)系。王院長告訴我們初學者學習這門課時應該把基本概念、邏輯概念、物理概念相互聯(lián)系起來,學會三者之間的對應。由于dsps涉及的內容很多,王院長告訴我們要學會框架是的學習方法,所謂框架是的學習方法,就是要抓住課程主要的知識點,不要一開始就陷入眾多的寄存器、匯編指令及片內外設的具體應用中,而應該先掌握dsps芯片的主要知識體系,切實掌握仿真、實時性、系統(tǒng)等概念的內涵。在課程學習過程中我體會
21、到,只有按照王院長所說的學習方法才能跟上課的進度,因為書上的內容太多,不可能全部記著,只有主要的知識體系才能掌握。理論課程結束之后,我們緊接著就開始了實驗課。因為dsps是一門實踐性很強的課程,所以實驗課對我們來說是很重要的。我們一共做了八個實驗,在這八個實驗的過程中收獲了不少經驗教訓。我們實驗用的軟件是ccs,硬件是dsp實驗箱。在做實驗過程中一定的看清實驗步驟嚴格按實驗步驟操作,不然很輕則造成不必要的麻煩,重則可能導致實驗設備的損壞。做完八個試驗后,我的體會是,在做每個實驗之前,最好把實驗內容看一遍,弄明白實驗原理,熟悉實驗步驟,這樣做實驗室才能做到有的放矢。在軟仿真環(huán)境下做的實驗,有時間的話可以在宿舍先做一遍,在做的過程中如果遇到不能解決的問題,在實驗室做實驗的時候可以向助教請教解決。即使在宿舍做實驗沒有遇到問題,對我們來說也是有好處的,因為在宿舍已經做過一遍,所以在實驗室我們可以輕車熟路的做下去,快速的做完規(guī)定的實驗,剩余的時間我們可以看你做過實驗的程序,爭取在實驗室里把程序給看明白。在實驗室看程序好處多多,當遇到不懂的語句時,我們可以請教助教,如果在其他地方看程序,恐怕就沒用這么好的條件了。做硬仿真實驗時,由于宿舍沒有試驗箱,我們不可能在宿舍做,所以在做硬仿真實驗之前,我們一定要做好預習準備工作
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 春節(jié)詩韻賞析
- 春節(jié)餐飲消費解碼
- 無線電電報業(yè)務與特別業(yè)務
- 二零二五年度二手房買賣合同附租客安置及租金代收服務3篇
- 21世紀以來中國健康扶貧研究脈絡與展望-基于CiteSpace的可視化分析
- 二零二五年度國有企業(yè)股權轉讓與知識產權保護合同3篇
- Unit8 Birthdays(Period 1)(說課稿)-2023-2024學年譯林版(三起)英語五年級下冊
- 江蘇省泰州市(2024年-2025年小學六年級語文)統(tǒng)編版競賽題((上下)學期)試卷及答案
- 二零二五年度建筑工程合同變更與合同糾紛調解合同9篇
- 二零二五年度GZ事業(yè)單位合同制聘用員工勞動合同解除及補償合同2篇
- SB/T 10412-2007速凍面米食品
- 數(shù)控線切割機床的手工編程
- -油水井小修工藝技術課件
- (完整版)兒童醫(yī)學康復科疾病護理常規(guī)
- 2022閥門制造作業(yè)指導書
- 科技創(chuàng)新社團活動教案課程
- 建筑結構加固工程施工質量驗收規(guī)范表格
- 部編版語文六年級上冊作文總復習課件
- 無水氯化鈣MSDS資料
- 專利產品“修理”與“再造”的區(qū)分
- 氨堿法純堿生產工藝概述
評論
0/150
提交評論