本科課程設計報告
課程名稱: dsp原理及應用
設計專案: fir濾波器的設計
實驗地點多學科樓機房
專業班級學號
學生姓名
指導教師
2023年1月8日
一、設計目的:
1、掌握數字濾波器的設計過程;
2、了解fir的原理和特性;
3、熟悉設計fir數字濾波器的原理和方法;
4、學習fir濾波器的dsp的實現原理;
5、學習使用ccs的波形觀察視窗觀察輸入/輸出訊號波形和頻譜變化情況。
二、設計內容:
1、通過matlab來設計乙個低通濾波器,對它進行模擬**確定fir濾波器係數;
2、用dsp組合語言進行程式設計,實現fir運算,對產生的合成訊號,濾除訊號中高頻成分,觀察濾波前後波形的變化。
三、設計原理:
fir數字濾波器是一種非遞迴系統,其傳遞函式為:
h(z)=y(z)/x(z)=∑b(n)z-n
由此可得到系統的差分方程為:y(n)=∑h(i)x(n-i),其衝擊響應h(n)是有限長序列,它其實就是濾波器係數向量b(n),n為fir濾波器的階數。
為了使濾波器滿足線性相位條件,要求其單位脈衝響應h(n)為實序列,且滿足偶對稱或奇對稱條件,即h(n)=h(n-1-n)或h(n)=- h(n-1-n)
這樣,當n為偶數時,偶對稱線性相位fir濾波器的差分方程表示式為:y(n)=∑h(i)x(n-i)+x((n-1-n-i)
應用matlab設計fir濾波器的主要任務就是根據給定的效能指標設計乙個h(z),使其逼近這一指標,進而計算並確定濾波器的係數b(n),再將所設計濾波器的幅頻響應、相頻響應曲線作為輸出,與設計要求進行比較,對設計的濾波器進行優化,設計完成之後將得到fir濾波器的單位衝擊響應序列h(n)的各個引數值。
matlab用fir1函式設計fir濾波器:
fir1函式用來設計標準頻率響應的基於窗函式的fir濾波器,可實現加窗線性相位fir數字濾波器的設計。具體語法如下:
b=fir1(n,wn)
b=fir1(n,wn,『ftype』)
b=fir1(n,wn,window)
b=fir1(n,wn,『ftype』,window)
其中n為濾波器的階數;wn為濾波器的截止頻率; ftype為用來決定濾波器的型別,當ftype=high時,可設計高通濾波器;當ftype=stop時,可設計帶阻濾波器。window為用來指定濾波器採用的窗函式型別,window引數可採用的視窗函式有: boxcar,hanning,bartlett,blackman,kasier和chebwin等,其預設時為hamming窗,從而得到濾波器的係數。
matlab用fir2函式設計fir濾波器:
fir2函式用來設計有任意頻率響應的各種加窗fir濾波器。具體語法如下:
b=fir2(n,f,m)
b=fir2(n,f,m,window)
b=fir2(n,f,m,npt)
b=fir2(n,f,m,npt,window)
b=fir2(n,f,m,npt,lap)
b=fir2(n,f,m,nptt,lap,window)
其中n為濾波器的階數;f為頻率點向量;m為幅度點向量;window用來指定所使用的窗函式型別,預設值為漢明(hamming)窗;npt用來指定fir2函式對頻率響應進行內插的點數;lap用來指定fir2函式在重複頻率點附近插入的區域大小,從而得到濾波器的係數。
四、主要引數:
濾波器階數n為40,截止頻率為wp=0.35, ws=0.4。
五、總體方案設計:
1、由給定的設計引數確定濾波器的係數:
根據給定的設計引數,濾波器係數可由matlab中的fir2函式產生,函式呼叫格式為:
f =[0 0.35 0.4 1];
m =[1 1 0 0];
b =fir2(39, f, m)
求得的係數為:
b = columns 1 through 6
-0.0007 0.003 0.0014 0.0010 -0.0016 -0.0038
columns 7 through 12
-0.0008 0.0064 0.0081 -0.0030 -0.0169 -0.0118
columns 13 through 18
0.0162 0.0353 0.0083 -0.0515 -0.0689 0.0247
columns 19 through 24
0.2051 0.3523 0.3523 0.2051 0.0247 -0.0689
columns 25 through 30
-0.0515 0.0083 0.0353 0.0162 -0.0118 -0.0169
columns 31 through 36
-0.0030 0.0081 0.0064 -0.0008 -0.0038 -0.0016
columns 37 through 40
0.0010 0.0014 0.0003 -0.0007
2、用ccs進行彙編程式設計,實現fir濾波器濾波。
六、源程式:
title "fir.a**"
mmregs
bss y,1
k_fir_bffr .set 40
pa0set 0
pa1set 1
fir_coff .usect "fir_coff",40定義資料儲存空間
d_data_buffer .usect "fir_bfr",40定義資料儲存空間
data
coff_fir_start: .word -7*32768/10000,3*32768/10000 ;b0,b1
word 14*32768/10000,10*32768/10000 ;b2,b3
word -16*32768/10000,-38*32768/10000 ;b4,b5
word -8*32768/10000,64*32768/10000 ;b6,b7
word 81*32768/10000,-30*32768/10000 ;b8,b9
word -169*32768/10000,-118*32768/10000 ;b10,b11
word 162*32768/10000,353*32768/10000 ;b12,b13
word 83*32768/10000,-515*32768/10000 ;b14,b15
word -689*32768/10000,247*32768/10000 ;b16,b17
word 2051*32768/10000,3523*32768/10000 ;b18,b19
word 3523*32768/10000,2051*32768/10000 ;b20,b21
word 247*32768/10000,-689*32768/10000 ;b22,b23
word -515*32768/10000,83*32768/10000 ;b24,b25
word 353*32768/10000,162*32768/10000 ;b26,b27
word -118*32768/10000,-169*32768/10000 ;b28,b29
word -30*32768/10000,81*32768/10000 ;b30,b31
word 64*32768/10000,-8*32768/10000 ;b32,b33
word -38*32768/10000,-16*32768/10000 ;b34,b35
word 10*32768/10000,14*32768/10000 ;b36,b37
word 3*32768/10000,-7*32768/10000 ;b38,b39
text
def fir_init
def fir_task
fir_init: ssbx frct設定小數乘法
stmfir_coff,ar5ar1指向b0單元
rptk_fir_bffr-1設定傳輸次數
mvpd #coff_fir_start,*ar5係數bi傳輸至資料區
s***_data_buffer,ar4 ;d_data_buffer緩衝區清0
rptz a,#k_fir_bffr-1
stla,*ar4
s***_data_buffer+k_fir_bffr-1),ar4
stmfir_coff+k_fir_bffr-1),ar5
stm1,ar0設定雙運算元減量
ldd_data_buffer,dp設定頁指標
portr pa1,@d_data_buffer輸入x(n)
fir_task: stmk_fir_bffr,bk
rptz a,#k_fir_bffr-1重複操作
macar4+0%,*ar5+0%,a雙運算元乘法-累加
stha,@y暫存y(n)
portw @y,pa0輸出y(n)
bdfir_task迴圈
portr pa1,*ar4+0輸入最新樣本,並修正ar3
end(命令程式)
vectors.obj
fir.obj
-o fir.obj
-m fir.map
-e fir_init
memory
sections
{ .text> eprompage 0
.vectors : > vecspage 0
.data> eprampage 1
.bss> sprampage 1
FIR數字濾波器的設計
實驗報告 專業班級電科0803姓名班雙江 學號 200848360304 實驗名稱 fir數字濾波器的設計 一 實驗目的 設計fir數字濾波器 二 實驗內容 設計乙個帶通fir數字濾波器,設計指標 通帶衰減1db,阻帶衰減40db,通帶截止頻率 500hz,700hz 阻帶截止頻率 400hz,80...
實驗四用窗函式法設計FIR濾波器
h,w freqz h,1 1024 求濾波器h n 的頻率響應 對fir而言,h z 分子分母多項式的係數向量b 1 a h 返回向量h的點數n 1024 db 20 log10 abs h eps 得到幅值 pha angle h 得到相位 繪製單位脈衝響應h n 幅頻衰減特性20lg h ej...
基於DSP的低 高通濾波器的設計
摘要數字濾波技術是數字訊號處理 dsp 的乙個重要組成部分。數字濾波器的實現方法有兩種,即軟體實現和硬體實現。本文採用的是軟體實現法,即用電腦程式實現,根據數字濾波器的系統函式和差分方程可以推導出其實現結構。dsp晶元是具有特殊結構的微處理器,專門為快速實現各種數字訊號處理演算法而設計。本文設計的是...