1?
產(chǎn)品概述
DSP 教學(xué)實驗箱
產(chǎn)品型號:TL6748-PlusTEB
應(yīng)用專業(yè):電子、電信、通信等相關(guān)專業(yè)
應(yīng)用課程:《數(shù)字信號處理》、《音視頻編解碼》、《圖像處理與識別》、《電機控制系統(tǒng)設(shè)計》、《DSP系統(tǒng)設(shè)計與應(yīng)用》
向下滑動查看所有實驗列表內(nèi)容
2?
案例分享
一、實驗名稱:
4-4 有限沖激響應(yīng)濾波器(FIR)算法(LCD顯示)
二、實驗?zāi)康模?/strong>
(1) 了解FIR濾波器的特點;
(2) 掌握程序算法生成濾波器系數(shù)的方法;
(3)實現(xiàn)FIR濾波器濾除高頻信號,并在LCD上顯示結(jié)果。
三、實驗原理:
FIR濾波器
FIR(Finite Impulse Response)濾波器:有限長單位沖激響應(yīng)濾波器,又稱為非遞歸型濾波器,是數(shù)字信號處理系統(tǒng)中最基本的元件,它可以在保證任意幅頻特性的同時具有嚴(yán)格的線性相頻特性,同時其單位抽樣響應(yīng)是有限長的,因而濾波器是穩(wěn)定的系統(tǒng)。因此,F(xiàn)IR濾波器在通信、圖像處理、模式識別等領(lǐng)域都有著廣泛的應(yīng)用。
有限脈沖響應(yīng)(FIR)濾波器(N-1階),不存在輸出對輸入的反饋支路,其單位脈沖h(n)是有限長。對于一個FIR濾波器系統(tǒng),它的沖激響應(yīng)總是有限長的,其系統(tǒng)函數(shù)可記為:
帶有常系數(shù)的FIR濾波器是一種LTI(線性時不變)數(shù)字濾波器。沖激響應(yīng)是有限的意味著在濾波器中沒有發(fā)反饋。長度為N的FIR輸出對應(yīng)于輸入時間序列x(n)的關(guān)系由一種有限卷積和的形式給出,最基本的具體形式如下:
FIR濾波器特性
有限長單位沖激響應(yīng)(FIR)濾波器有以下特點:
系統(tǒng)的單位沖激響應(yīng)h (n)在有限個n值處不為零;
系統(tǒng)函數(shù)H(z)在|z|>0處收斂,極點全部在z = 0處(因果系統(tǒng));
結(jié)構(gòu)上主要是非遞歸結(jié)構(gòu),沒有輸出到輸入的反饋,但有些結(jié)構(gòu)中(例如頻率抽樣結(jié)構(gòu))也包含有反饋的遞歸部分。設(shè)FIR濾波器的單位沖激響應(yīng)h (n)為一個N點序列,0 ≤ n ≤N -1,則濾波器的系統(tǒng)函數(shù)為:H(z)=∑h(n)* z^(-n),就是說,它有(N-1)階極點在z = 0處,有(N-1)個零點位于有限z平面的任何位置;
FIR濾波器的設(shè)計
FIR濾波器的設(shè)計比較簡單,就是要設(shè)計一個數(shù)字濾波器去逼近一個理想的低通濾波器。通常這個理想的低通濾波器在頻域上是一個矩形窗。
在數(shù)字信號處理中,傅里葉變換用來求取時域信號的頻率成分。因此,通過對特定頻率幅度和相位的響應(yīng),求取傅里葉變換的逆變換(IDFT),就可以求出滿足要求的數(shù)字濾波器。
設(shè)計FIR濾波器需要提供的參數(shù):
濾波器的類型:低通、高通、帶通、帶阻 ;
濾波器的采樣頻率;
濾波器的系數(shù)個數(shù);
阻帶衰減(dB);
通帶紋波(dB);
過渡帶帶寬(Hz)。
FIR 濾波器軟件實現(xiàn)方法
FIR 濾波器軟件實現(xiàn)方法有兩種,一種是借助Matlab工具生成濾波器,另外一種是純算法生成濾波器。本實驗中是借助Matlab FIR 濾波器輔助設(shè)計,生成濾波器系數(shù)。
算法生成FIR濾波器系數(shù)
本實驗利用Kaiser窗設(shè)計一個FIR低通濾波器,有用信號為100Hz,需要濾掉的信號為450Hz。
Kaiser窗是一種應(yīng)用廣泛的可調(diào)節(jié)窗,它可以通過改變窗函數(shù)的形狀來控制窗函數(shù)旁瓣的大小,從而在設(shè)計中可用濾波器的衰減指標(biāo)來確定窗函數(shù)的形狀。與其他窗相比,Kaiser窗最大的特點是可以同時調(diào)整主瓣和旁瓣寬度。Kaiser窗的定義如下:
其中n=1,2,?,N-1 ,N 表示窗函數(shù)的總長度, I_0是第一類貝瑟爾函數(shù)。β是一個可調(diào)參數(shù),可以通過改變β的值來調(diào)整窗函數(shù)的形狀,從而達到不同的阻帶衰減要求。
算法生成FIR濾波系數(shù)
void filter_coefficient(int n, int band, float fs, float fln, float fhn, float wn, float beta, float h[])
n:濾波器階數(shù)(偶數(shù));
band:濾波器類型,1=低通,2=高通,3=帶通,4=帶阻;
Fs:采樣頻率;
fln:通帶上邊界頻率(低通) 、通帶下邊界頻率(高通、帶通、帶阻);
fhn:無意義(低通、高通)、通帶上邊界頻率(帶通、帶阻);
wn:濾波器窗體,1=retangular,2=tapered rectangular,3=triangular,4=Hanning,5=Hamming,6=Blackman,7=Kaiser ;
beta:Kaiser窗口的β參數(shù)(3< β <10);
h:濾波器系數(shù) ;
程序流程設(shè)計
程序流程設(shè)計中首先要進行外設(shè)使能配置;
然后進行LCD管腳復(fù)用配置和LCD中斷配置;
接著進行LCD顯示和觸摸的初始化;
然后通過FIR濾波器系數(shù)算法生成濾波因子;
最后產(chǎn)生帶有噪聲的原始信號并進行FIR濾波和FFT運算,將結(jié)果顯示在LCD屏幕上,在循環(huán)中進行觸摸檢測,根據(jù)標(biāo)志位判斷顯示時域或者頻域波形。
數(shù)字信號處理庫
DSPLIB 包含優(yōu)化的、C語言可調(diào)用的通用信號處理例程,用于計算密集型實時應(yīng)用程序。調(diào)用這些例程的運行速度比直接用C語言編寫的等效代碼快得多。使用DSPLIB可以縮短應(yīng)用程序開發(fā)時間。
DSPLIB 3_4_0_0包括適用于 C64x+ 或 C66x 或 C674x 處理器的 Windows 或 Linux 安裝可執(zhí)行文件。每個可執(zhí)行文件安裝一個組件包存儲庫、一個文檔目錄、一個 Eclipse 插件目錄和一個擴展的組件目錄結(jié)構(gòu),其中包含組件庫、頭文件和測試示例。
TMS320C6748處理器使用的是dsplib_c674x_3_4_0_0。
函數(shù)源碼
FIR濾波函數(shù)
程序使用 DSPLIB 的庫來進行FIR濾波,調(diào)用的程序源碼和使用說明可以安裝DSPLIB后查看。調(diào)用的FIR濾波函數(shù)中:
第一個參數(shù)是指向大小為 nr+nh-1 的輸入數(shù)組的指針;
第二個參數(shù)是指向大小為 nh 的系數(shù)數(shù)組的指針;
第三個參數(shù)是指向大小為 nr 的輸出數(shù)組的指針;
第四個參數(shù)是系數(shù)個數(shù);
第五個參數(shù)是輸出樣本數(shù)。
FFT運算函數(shù)
程序使用 DSPLIB 的庫來進行FFT運算,調(diào)用的程序源碼和使用說明可以安裝DSPLIB后查看。調(diào)用的FFT函數(shù)中:
第一個參數(shù)是樣本中 FFT 的長度;
第二個參數(shù)是指向數(shù)據(jù)輸入的指針;
第三個參數(shù)是指向復(fù)雜旋轉(zhuǎn)因子的指針;
第四個參數(shù)是指向復(fù)雜輸出數(shù)據(jù)的指針;
第五個參數(shù)是指向包含 64 個條目的位反轉(zhuǎn)表的指針;
如果樣本的FFT長度可以表示為 4 的冪,第六個參數(shù)是4,否則第六個參數(shù)是2;
第七個參數(shù)是從主FFT開始的樣本中的子 FFT偏移索引 ;
第八個參數(shù)是樣本中主FFT的大小。
FFT逆變換函數(shù)
程序使用 DSPLIB 的庫來進行FFT逆變換,調(diào)用的程序源碼和使用說明可以安裝DSPLIB后查看。調(diào)用的IFFT函數(shù)中:
第一個參數(shù)是樣本中 FFT 的長度;
第二個參數(shù)是指向數(shù)據(jù)輸入的指針;
第三個參數(shù)是指向復(fù)雜旋轉(zhuǎn)因子的指針;
第四個參數(shù)是指向復(fù)雜輸出數(shù)據(jù)的指針;
第五個參數(shù)是指向包含 64 個條目的位反轉(zhuǎn)表的指針;
如果樣本的FFT長度可以表示為 4 的冪,第六個參數(shù)是4,否則第六個參數(shù)是 2;
第七個參數(shù)是從主FFT開始的復(fù)雜樣本中的子FFT偏移索引;
第八個參數(shù)是樣本中主FFT的大小。
四、實驗操作:
實驗設(shè)備
本實驗使用的硬件接口為LCD,所需硬件為實驗板、仿真器、LCD和電源。
硬件連接
將撥碼開關(guān)撥到DEBUG模式01111,連接實驗箱電源,撥動電源開關(guān)上電。
軟件操作
導(dǎo)入工程,選擇Demo文件夾下的對應(yīng)工程;
編譯工程,生成可執(zhí)行文件;
將CCS連接實驗箱并加載程序;
程序加載完成后點擊運行程序;
運行程序后,LCD會顯示FIR濾波前后的時域波形,上方為100Hz信號與450Hz噪聲組成的混合信號,下方為濾波后得到的結(jié)果(保留100Hz信號);
點擊一下LCD屏幕,會切換頻域波形,上方顯示原始頻域信號+噪聲,下方顯示濾波后的頻域波形,輸入波形為一個低頻率的正弦波與一個高頻的正弦波疊加而成,通過觀察頻域圖可知輸入波形中的低頻波形通過了濾波器,而高頻部分被濾除;
實驗結(jié)束后,先點擊黃色按鈕暫停程序運行,再點擊紅色按鈕退出CCS與實驗板的連接,最后實驗箱斷電即可。
-
dsp
+關(guān)注
關(guān)注
553文章
7984瀏覽量
348695 -
濾波器
+關(guān)注
關(guān)注
161文章
7787瀏覽量
177958 -
lcd
+關(guān)注
關(guān)注
34文章
4421瀏覽量
167383 -
信號處理
+關(guān)注
關(guān)注
48文章
1022瀏覽量
103255 -
數(shù)字信號
+關(guān)注
關(guān)注
2文章
968瀏覽量
47538
發(fā)布評論請先 登錄
相關(guān)推薦
評論