《DSP課程設(shè)計(jì)--有限沖擊響應(yīng)FIR濾波器的設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《DSP課程設(shè)計(jì)--有限沖擊響應(yīng)FIR濾波器的設(shè)計(jì)(8頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、有限沖擊響應(yīng)FIR濾波器的設(shè)計(jì)
一、設(shè)計(jì)目的
1使學(xué)生加深對(duì)DSP芯片TMS320C55x的結(jié)構(gòu)、工作原理的理解;
2了解FIR 的原理和特性;
3熟悉設(shè)計(jì)FIR 數(shù)字濾波器的原理和方法;
4 學(xué)習(xí)FIR 濾波器的DSP 實(shí)現(xiàn)原理;
5 學(xué)習(xí)使用ccs 的波形觀察窗口觀察輸入、輸出信號(hào)波形和頻譜變化情況。
二、設(shè)計(jì)原理
濾波器就是在時(shí)間域或頻域內(nèi),對(duì)已知激勵(lì)產(chǎn)生規(guī)定響應(yīng)的網(wǎng)絡(luò),使其能夠從信號(hào)中提取有用的信號(hào),抑制并衰減不需要的信號(hào),濾波器的設(shè)計(jì)實(shí)質(zhì)上就是對(duì)提出的要求給出相應(yīng)的性能指標(biāo),再通過(guò)計(jì)算,使物理可實(shí)現(xiàn)的實(shí)際濾波器響應(yīng)特性逼近給出的頻率響應(yīng)特性。
FIR數(shù)字濾波器是一
2、種非遞歸系統(tǒng),其傳遞函數(shù)為:
=
由此可得到系統(tǒng)的差分方程為:
則,F(xiàn)IR濾波器的結(jié)構(gòu)如下圖:
bN-1
bN-2
b1
b0
x(n-N+1)
x(n-1)a
Z-1
Z-1
Z-1
X(n)
y(n)
其沖激響應(yīng)是有限長(zhǎng)序列,它 濾波器系數(shù)向量,N 為FIR濾波器的階數(shù)。
在數(shù)字信號(hào)處理應(yīng)用中往往需要設(shè)計(jì)線性相位的濾波器,F(xiàn)IR濾波器在保證幅度特性滿足技術(shù)要求的同時(shí),很容易做到嚴(yán)格的線性相位特性為了使濾波器滿足線性相位條件,要求其單位脈沖響應(yīng)為實(shí)序列,且滿足偶對(duì)稱或奇對(duì)稱條件,即或.這樣,當(dāng)N為偶數(shù)時(shí),偶對(duì)稱線性相位FIR濾波器的差分方程表達(dá)為
由上可
3、見(jiàn),F(xiàn)IR濾波器不斷地對(duì)輸入樣本延時(shí)后,再做乘法累加運(yùn)算,將濾波器結(jié)果輸出。因此,F(xiàn)IR實(shí)際上是一種乘法累加運(yùn)算。而對(duì)于線性相位FIR濾波器系數(shù)的對(duì)稱特性,可以采用結(jié)構(gòu)精簡(jiǎn)的FIR結(jié)構(gòu)將乘法器數(shù)目減少一半。
應(yīng)用MATLAB設(shè)計(jì)FIR濾波器的主要任務(wù)就是根據(jù)給定的性能指標(biāo)設(shè)計(jì)一個(gè),使其逼近這一指標(biāo),進(jìn)而計(jì)算并確定濾波器的系數(shù),再將所設(shè)計(jì)濾波器的幅頻響應(yīng)、相頻響應(yīng)曲線作為輸出,與設(shè)計(jì)要求進(jìn)行比較,對(duì)設(shè)計(jì)的濾波器進(jìn)行優(yōu)化,設(shè)計(jì)完成之后將得到的FIR濾波器的單位沖激響應(yīng)序列的各個(gè)參數(shù)值。
三、總體方案設(shè)計(jì)
1 啟動(dòng)CCS ,在CCS 中建立一個(gè)匯編源文件、建立一個(gè)C 源文件和一個(gè)命令文件,并將
4、這三個(gè)文件添加到工程,再編譯并裝載程序
2 設(shè)置波形時(shí)域觀察窗口,得到其濾波前后波形變化圖;
3 設(shè)置頻域觀察窗口,得到其濾波前后頻譜變化圖。
四、源程序
1、新建工程文件
打開(kāi)Setup CCS選擇c55芯片,打開(kāi)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,
5、ac0
mov ac0,mmap(csr)
add ac0,ar0
mov #0,ac0
rpt csr
macmz *ar0-,*cdp+,ac0
mov hi(ac0),t0
ret
_init
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,ar
6、0
rpt csr
delay *ar0-
mar *ar0+
mov t0,*ar0
ret
c文件
#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
#define coff_L 23
#define bufer_L 256
int data_in[bufer_L];
int out[bufer_L] ;
int firo
7、ut;
int x[coff_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)
{
x[0]=data_in[k];
firout=fir(x,BL);
outdata(out,firout,bufer);
k++;
if(k>=bu
8、fer_L)
{
k=0;
}
}
}
void inputwave()
{
float wt1;
float wt2;
int i;
for(i=0;i<=bufer_L;i++)
{
wt1=2*pi*i*signal_1_f;
wt1=wt1/signal_sample_f;
wt2=2*pi*i*signal_2_f;
wt2=wt2/signal_sample_f;
data_in[i]=(cos(wt1)+cos(wt2))/2*32768;
}
}
S.h文件
int BL=23;
intB[23]={-417,342,1961,169
9、2,-762,-1003,1676,1115,-3200,-1159,10335,17562,10335,-1159,-3200,1115,1676,-1003,-762,1692,1961,342,-417};
(2)保存文件
(3)添加文件 右鍵點(diǎn)擊建立的工程,選擇Add file to project,在選中建立的文件。
3、匯編源程序的鏈接命令文件:
-stack 0x500
-sysstack 0x500
-heap 0x1000
-c
-u _Reset
-l rts55.lib
MEMORY
{
PAGE 0:
RAM(RWIX): orig
10、in=0x000100, length=0x01ff00
ROM(RIX): origin=0x020100, length=0x01ff00
VECS(RIX): origin=0xffff00, length=0x000200
PAGE 2:
IOPORT(RWI):origin=0x000000, length=0x020000
}
SECTIONS
{
.text >ROM PAGE 0
.data >ROM PAGE 0
.bss >RAM PAGE 0
.const >RAM PAGE 0
11、 .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 >IOPORT PAGE 2
}
4、加載可執(zhí)行文件
選擇工程,點(diǎn)擊file/load program,選擇.out文件
5、運(yùn)行 執(zhí)行.out文件
6、設(shè)置波形時(shí)域/頻域觀察窗口,得到其濾波前后波形變化圖;
五、實(shí)驗(yàn)結(jié)果及
12、分析
Acquisition buffer size:256
Display data size:250
DSP data type:16-bits signed integer
時(shí)域輸入輸出波形:
由時(shí)域圖可得:濾波前的時(shí)域圖是帶很多毛刺不規(guī)則的正弦波,而濾波后的波形是平滑的等幅正弦波且波形振幅相對(duì)濾波前的最大振幅有所減小。
頻域輸入輸出波形:
由頻域圖可得:濾波前的頻域圖會(huì)出現(xiàn)兩個(gè)帶尖峰的圖像,而濾波后的波形只會(huì)出現(xiàn)一個(gè)帶尖峰圖像,而且是出現(xiàn)在低頻部分,說(shuō)明信號(hào)經(jīng)過(guò)濾波器后,將信號(hào)中的高頻成分濾除掉了。
六、設(shè)計(jì)總結(jié)
通過(guò)這次基于DSP的數(shù)字濾波器設(shè)計(jì),我初步學(xué)會(huì)了應(yīng)用CCS進(jìn)行DSP設(shè)計(jì)的實(shí)踐操作。熟悉了DSP集成開(kāi)發(fā)環(huán)境(CCS),掌握了FIR數(shù)字濾波器原理和方法。通過(guò)對(duì)系統(tǒng)的調(diào)試,對(duì)線性相位FIR數(shù)字濾波器特性及不同階數(shù)對(duì)濾波器特性的影響進(jìn)行了研究。通過(guò)觀察時(shí)域和頻域圖,對(duì)FIR數(shù)字濾波器特性進(jìn)行了驗(yàn)證,在應(yīng)用DSP對(duì)數(shù)字濾波器實(shí)現(xiàn)的過(guò)程中,體會(huì)到了DSP在數(shù)字濾波實(shí)現(xiàn)中的優(yōu)缺點(diǎn)。用DSP 實(shí)現(xiàn)FIR數(shù)字濾波,具有穩(wěn)定性好、準(zhǔn)確度高、靈活性好、不受環(huán)境影響等優(yōu)點(diǎn)。在這次的課程設(shè)計(jì)中學(xué)會(huì)了如何和老師、同學(xué)一起交流、探討問(wèn)題,在學(xué)習(xí)的過(guò)程中同時(shí)培養(yǎng)了和同學(xué)之間的合作能力,增進(jìn)了彼此之間的友誼,感謝在這次設(shè)計(jì)中給予我?guī)椭睦蠋熯€有各位同學(xué)。