DSP實(shí)驗(yàn)報(bào)告49852_第1頁
DSP實(shí)驗(yàn)報(bào)告49852_第2頁
DSP實(shí)驗(yàn)報(bào)告49852_第3頁
DSP實(shí)驗(yàn)報(bào)告49852_第4頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、dsp實(shí)驗(yàn)報(bào)告49852dsp實(shí)驗(yàn)報(bào)告 軟件實(shí)驗(yàn) 無限沖激響應(yīng)濾波器(iir) 算法一實(shí)驗(yàn)?zāi)康? 掌握設(shè)計(jì)iir 數(shù)字濾波器的原理和方法。2 熟悉iir 數(shù)字濾波器特性。3 了解iir 數(shù)字濾波器的設(shè)計(jì)方法。二實(shí)驗(yàn)設(shè)備pc 兼容機(jī)一臺,操作系統(tǒng)為windows2000( 或windows98 ,windowsxp ,以下默認(rèn)為windows2000) ,安裝code composer studio 2.21 軟件。三實(shí)驗(yàn)原理1 無限沖激響應(yīng)數(shù)字濾波器的基礎(chǔ)理論。2 模擬濾波器原理(巴特沃斯濾波器、切比雪夫?yàn)V波器、橢圓濾波器、貝塞爾濾波器)。3 數(shù)字濾波器系數(shù)的確定方法。4 根據(jù)要求設(shè)計(jì)低通ii

2、r 濾波器:要求:低通巴特沃斯濾波器在其通帶邊緣1khz 處的增益為-3db ,12khz 處的阻帶衰減為30db ,采樣頻率25khz 。設(shè)計(jì):- 確定待求通帶邊緣頻率fp1hz 、待求阻帶邊緣頻率fs1hz 和待求阻帶衰減-20log sdb 。模擬邊緣頻率為:fp1=1000hz ,fs1=12000hz阻帶邊緣衰減為:-20log s=30db- 用= 2f/fs 把由hz 表示的待求邊緣頻率轉(zhuǎn)換成弧度表示的數(shù)字頻率,得到p1 和s1 。p1=2 fp1/fs=2 1000/25000=0.08 弧度s1=2 fs1/fs=2 12000/25000=0.96 弧度- 計(jì)算預(yù)扭曲模擬頻

3、率以避免雙線性變換帶來的失真。由w=2fs tan( /2) 求得wp1 和ws1 ,單位為弧度/ 秒。wp1=2fs tan( p1/2)=6316.5 弧度/ 秒ws1=2fs tan( s1/2)=794727.2 弧度/ 秒- 由已給定的阻帶衰減-20log s 確定阻帶邊緣增益s 。因?yàn)?20log s=30 ,所以log s=-30/20 ,s=0.03162 - 計(jì)算所需濾波器的階數(shù):因此,一階巴特沃斯濾波器就足以滿足要求。- 一階模擬巴特沃斯濾波器的傳輸函數(shù)為:h(s)=wp1/(s+wp1)=6316.5/(s+6316.5) 由雙線性變換定義s=2fs(z-1)/(z+1)

4、 得到數(shù)字濾波器的傳輸函數(shù)為:因此,差分方程為:yn=0.7757yn-1+0.1122xn+0.1122xn-1 。程序流程圖:四實(shí)驗(yàn)步驟1 實(shí)驗(yàn)準(zhǔn)備:- 設(shè)置軟件仿真模式- 啟動ccs2 打開工程,瀏覽程序,工程目錄為c:icetekvc5416aes61vc5416aes61lab0502-iiriir.pjt 。3 編譯并下載程序。 4 打開觀察窗口: * 選擇菜單view-graph-time/frequency進(jìn)行如下圖所示設(shè)置。* 選擇菜單view-graph-time/frequency,進(jìn)行如下設(shè)置:5 清除顯示:在以上打開的窗口中單擊鼠標(biāo)右鍵,選擇彈出式菜單中“cleae

5、display ”功能。6 設(shè)置斷點(diǎn):在程序iir.c 中有注釋“break point ”的語句上設(shè)置軟件斷點(diǎn)。7 運(yùn)行并觀察結(jié)果:選擇“debug ”菜單的“animate ”項(xiàng),或按f12 鍵運(yùn)行程序。觀察“iir ”窗口中時(shí)域圖形;觀察濾波效果。8 退出ccs 五實(shí)驗(yàn)結(jié)果 輸入波形為一個(gè)低頻率的正弦波與一個(gè)高頻的余弦波疊加而成。如圖:通過觀察頻域和時(shí)域圖,得知:輸入波形中的低頻波形通過了濾波器,而高頻部分則被衰減。實(shí)驗(yàn)代碼:#include#define iirnumber 2#define signal1f 1000#define signal2f 4500#define sampl

6、ef 10000#define pi 3.1415926float inputwave();float iir();float fbniirnumber= 0.0,0.7757 ;float faniirnumber= 0.1122,0.1122 ;float fxniirnumber= 0.0 ;float fyniirnumber= 0.0 ;float finput,foutput;float fsignal1,fsignal2;float fstepsignal1,fstepsignal2; float f2pi; int i;float fin256,fout256;int nin,

7、nout;main()nin=0; nout=0;finput=foutput=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();foutnout=foutput;nout+; / break pointif ( nout=256 )nout

8、=0;float inputwave()for ( i=iirnumber-1;i0;i- )fxni=fxni-1;fyni=fyni-1; fxn0=sin(double)fsignal1)+cos(double)fsignal2)/6.0; fyn0=0.0;fsignal1+=fstepsignal1;if ( fsignal1=f2pi ) fsignal1-=f2pi;fsignal2+=fstepsignal2;if ( fsignal2=f2pi ) fsignal2-=f2pi;return(fxn0);float iir()float fsum;fsum=0.0;for (

9、 i=0;ifsum+=(fxni*fani);fsum+=(fyni*fbni);return(fsum);快速傅立葉變換(fft) 算法一實(shí)驗(yàn)?zāi)康? 掌握用窗函數(shù)法設(shè)計(jì)fft 快速傅里葉的原理和方法;2 熟悉fft 快速傅里葉特性;3 了解各種窗函數(shù)對快速傅里葉特性的影響。二實(shí)驗(yàn)設(shè)備pc 兼容機(jī)一臺,操作系統(tǒng)為windows2000( 或windows98 ,windowsxp ,以下默認(rèn)為windows2000) ,安裝code composer studio 2.0 軟件。三實(shí)驗(yàn)原理1 fft 的原理和參數(shù)生成公式: fft 并不是一種新的變換,它是離散傅立葉變換(dft )的一種快速

10、算法。由于我們在計(jì)算dft 時(shí)一次復(fù)數(shù)乘法需用四次實(shí)數(shù)乘法和二次實(shí)數(shù)加法;一次復(fù)數(shù)加法則需二次實(shí)數(shù)加法。每運(yùn)算一個(gè)x (k )需要4n 次復(fù)數(shù)乘法及 2n+2 (n-1 )=2 (2n-1 )次實(shí)數(shù)加法。所以整個(gè)dft運(yùn)算總共需要4n2 次實(shí)數(shù)乘法和n*2(2n-1)=2n(2n-1) 次實(shí)數(shù)加法。如此一來,計(jì)算時(shí)乘法次數(shù)和加法次數(shù)都是和n2 成正比的,當(dāng)n 很大時(shí),運(yùn)算量是可觀的,因而需要進(jìn)對dft 的算法減少運(yùn)算速度。根據(jù)傅立葉變換的對稱性和周期性,我們可以將dft 運(yùn)算中有些項(xiàng)合并。我們先設(shè)序列長度為n=2l ,l 為整數(shù)。將n=2l 的序列x(n)(n=0,1,,n-1) ,按n的奇偶

11、分成兩組,也就是說我們將一個(gè)n 點(diǎn)的dft 分解成兩個(gè)n/2 點(diǎn)的dft ,他們又從新組合成一個(gè)如下式所表達(dá)的n 點(diǎn)dft :一般來說,輸入被假定為連續(xù)的。當(dāng)輸入為純粹的實(shí)數(shù)的時(shí)候,我們就可以利用左右對稱的特性更好的計(jì)算dft 。我們稱這樣的rfft 優(yōu)化算法是包裝算法:首先2n 點(diǎn)實(shí)數(shù)的連續(xù)輸入稱為“進(jìn)包”。其次n 點(diǎn)的fft 被連續(xù)運(yùn)行。最后作為結(jié)果產(chǎn)生的n 點(diǎn)的合成輸出是“打開”成為最初的與dft 相符合的2n 點(diǎn)輸入。使用這戰(zhàn)略,我們可以劃分fft 的大小,它有一半花費(fèi)在包裝輸入o (n )的操作和打開輸出上。這樣的rfft 算法和一般的fft 算法同樣迅速,計(jì)算速度幾乎都達(dá)到了兩次d

12、ft 的連續(xù)輸入。下列一部分將描述更多的在tms320c54xx 上算法和運(yùn)行的細(xì)節(jié)。 5 程序流程圖: 四實(shí)驗(yàn)步驟1 實(shí)驗(yàn)準(zhǔn)備:- 設(shè)置軟件仿真模式。- 啟動ccs 。2 打開工程,瀏覽程序,工程目錄為c:icetekvc5416aes61vc5416aes61lab0503-fftfft.pjt 。3 編譯并下載程序。4 打開觀察窗口:* 選擇菜單view-graph-time/frequency進(jìn)行如下圖所示設(shè)置。 5 清除顯示:在以上打開的窗口中單擊鼠標(biāo)右鍵,選擇彈出式菜單中“cleae display ”功能。6 設(shè)置斷點(diǎn):在程序fft.c 中有注釋“break point ”的語句

13、上設(shè)置軟件斷點(diǎn)。7 運(yùn)行并觀察結(jié)果。選擇“debug ”菜單的“animate ”項(xiàng),或按f12 鍵運(yùn)行程序。8. 退出ccs 。五.實(shí)驗(yàn)結(jié)果通過觀察頻域和時(shí)域圖,程序計(jì)算出了測試波形的功率譜,與ccs 計(jì)算的fft 結(jié)果相近。實(shí)驗(yàn)代碼: #include #define pi 3.1415926#define samplenumber 128void initforfft();void makewave();int inputsamplenumber,datasamplenumber;floatfwaversamplenumber,fwaveisamplenumber,wsamplenumber; float sin_tabsamplenumber,cos_tabsamplenumber;void fft(float datarsamplenumber,float dataisamplenumber);main()int i;initforfft();makewave();for ( i=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論