《DSP課程設計--有限沖擊響應FIR濾波器的設計》由會員分享,可在線閱讀,更多相關《DSP課程設計--有限沖擊響應FIR濾波器的設計(8頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、有限沖擊響應FIR濾波器的設計一、設計目的1使學生加深對DSP芯片TMS320C55x的結構、工作原理的理解;2了解FIR 的原理和特性;3熟悉設計FIR 數(shù)字濾波器的原理和方法;4 學習FIR 濾波器的DSP 實現(xiàn)原理;5 學習使用ccs 的波形觀察窗口觀察輸入、輸出信號波形和頻譜變化情況。二、設計原理 濾波器就是在時間域或頻域內,對已知激勵產(chǎn)生規(guī)定響應的網(wǎng)絡,使其能夠從信號中提取有用的信號,抑制并衰減不需要的信號,濾波器的設計實質上就是對提出的要求給出相應的性能指標,再通過計算,使物理可實現(xiàn)的實際濾波器響應特性逼近給出的頻率響應特性。FIR數(shù)字濾波器是一種非遞歸系統(tǒng),其傳遞函數(shù)為:=由此可
2、得到系統(tǒng)的差分方程為:則,F(xiàn)IR濾波器的結構如下圖:bN-1bN-2b1b0x(n-N+1)x(n-1)aZ-1Z-1Z-1X(n)y(n)其沖激響應是有限長序列,它 濾波器系數(shù)向量,N 為FIR濾波器的階數(shù)。在數(shù)字信號處理應用中往往需要設計線性相位的濾波器,F(xiàn)IR濾波器在保證幅度特性滿足技術要求的同時,很容易做到嚴格的線性相位特性為了使濾波器滿足線性相位條件,要求其單位脈沖響應為實序列,且滿足偶對稱或奇對稱條件,即或.這樣,當N為偶數(shù)時,偶對稱線性相位FIR濾波器的差分方程表達為由上可見,F(xiàn)IR濾波器不斷地對輸入樣本延時后,再做乘法累加運算,將濾波器結果輸出。因此,F(xiàn)IR實際上是一種乘法累加
3、運算。而對于線性相位FIR濾波器系數(shù)的對稱特性,可以采用結構精簡的FIR結構將乘法器數(shù)目減少一半。應用MATLAB設計FIR濾波器的主要任務就是根據(jù)給定的性能指標設計一個,使其逼近這一指標,進而計算并確定濾波器的系數(shù),再將所設計濾波器的幅頻響應、相頻響應曲線作為輸出,與設計要求進行比較,對設計的濾波器進行優(yōu)化,設計完成之后將得到的FIR濾波器的單位沖激響應序列的各個參數(shù)值。三、總體方案設計1 啟動CCS ,在CCS 中建立一個匯編源文件、建立一個C 源文件和一個命令文件,并將這三個文件添加到工程,再編譯并裝載程序2 設置波形時域觀察窗口,得到其濾波前后波形變化圖;3 設置頻域觀察窗口,得到其濾
4、波前后頻譜變化圖。四、源程序1、新建工程文件打開Setup CCS選擇c55芯片,打開CCS軟件,選擇project/new,命名為myproject。2、添加文件到工程(1)建立文件 選擇file/new,匯編源程序,如下:.global _fir,_init,_B,_outdata_fir bset frct amov #_B,xdp mov #_B,cdp mov t0,ac0 sub #1,ac0 mov ac0,mmap(csr) add ac0,ar0 mov #0,ac0 rpt csr macmz *ar0-,*cdp+,ac0 mov hi(ac0),t0 ret_init
5、mov mmap(t0),ac0 sub #1,ac0 mov ac0,ar7 rptz ac0,ar7 mov ac0,*ar0+ ret_outdata mov t1,ac0 sub #2,ac0 mov ac0,mmap(csr) add ac0,ar0 rpt csr delay *ar0- mar *ar0+ mov t0,*ar0 retc文件#include s.h#include math.h#define signal_1_f 200#define signal_2_f 620#define signal_sample_f 2000#define pi 3.1415926#d
6、efine coff_L 23#define bufer_L 256int data_inbufer_L;int outbufer_L ;int firout;int xcoff_L+1;int k=0;int bufer=bufer_L;extern int fir(int *,int);extern int init(int *,int);extern int outdata(int *,int,int);void inputwave();void main()inputwave();init(x,BL);while(1)x0=data_ink;firout=fir(x,BL);outda
7、ta(out,firout,bufer);k+;if(k=bufer_L)k=0;void inputwave()float wt1;float wt2;int i;for(i=0;iROM PAGE 0 .data ROM PAGE 0 .bss RAM PAGE 0 .const RAM PAGE 0 .sysmem RAM PAGE 0 .stack RAM PAGE 0 .sysstack RAM PAGE 0 .switch RAM PAGE 0 .cinit RAM PAGE 0 .pinit RAM PAGE 0 .vectors VECS PAGE 0 .ioport IOPO
8、RT PAGE 2 4、加載可執(zhí)行文件選擇工程,點擊file/load program,選擇.out文件5、運行 執(zhí)行.out文件6、設置波形時域/頻域觀察窗口,得到其濾波前后波形變化圖;五、實驗結果及分析Acquisition buffer size:256Display data size:250DSP data type:16-bits signed integer時域輸入輸出波形:由時域圖可得:濾波前的時域圖是帶很多毛刺不規(guī)則的正弦波,而濾波后的波形是平滑的等幅正弦波且波形振幅相對濾波前的最大振幅有所減小。頻域輸入輸出波形:由頻域圖可得:濾波前的頻域圖會出現(xiàn)兩個帶尖峰的圖像,而濾波后的
9、波形只會出現(xiàn)一個帶尖峰圖像,而且是出現(xiàn)在低頻部分,說明信號經(jīng)過濾波器后,將信號中的高頻成分濾除掉了。六、設計總結 通過這次基于DSP的數(shù)字濾波器設計,我初步學會了應用CCS進行DSP設計的實踐操作。熟悉了DSP集成開發(fā)環(huán)境(CCS),掌握了FIR數(shù)字濾波器原理和方法。通過對系統(tǒng)的調試,對線性相位FIR數(shù)字濾波器特性及不同階數(shù)對濾波器特性的影響進行了研究。通過觀察時域和頻域圖,對FIR數(shù)字濾波器特性進行了驗證,在應用DSP對數(shù)字濾波器實現(xiàn)的過程中,體會到了DSP在數(shù)字濾波實現(xiàn)中的優(yōu)缺點。用DSP 實現(xiàn)FIR數(shù)字濾波,具有穩(wěn)定性好、準確度高、靈活性好、不受環(huán)境影響等優(yōu)點。在這次的課程設計中學會了如何和老師、同學一起交流、探討問題,在學習的過程中同時培養(yǎng)了和同學之間的合作能力,增進了彼此之間的友誼,感謝在這次設計中給予我?guī)椭睦蠋熯€有各位同學。