《DSP課程設計-- 基于TMS320VC5509 DSP的FIR濾波器設計》由會員分享,可在線閱讀,更多相關《DSP課程設計-- 基于TMS320VC5509 DSP的FIR濾波器設計(11頁珍藏版)》請在裝配圖網上搜索。
1、
課 程 設 計 報 告
課程設計名稱: DSP原理與應用
系 : 三 系
學生姓名: 張 欣
班 級: 通信工程
學 號: 20100306117
成 績:
指導教師: 田愛君
開課時間: 2012-2013 學年 2 學期
2、
一.設計題目
基于TMS320VC5509 DSP的FIR濾波器設計
二.主要內容
本課程設計主要完成軟件平臺的設計,在現(xiàn)有的TMS320VC5509 DSP硬件平臺上,按照要求設計FIR濾波器,編寫相應的源程序和鏈接命令程序,使整個系統(tǒng)能夠濾除含噪信號中的高頻噪聲。
三.具體要求
設計需要完成幾個內容:
(1)學生首先自己參照指導書完《FIR算法實驗》,認真閱讀實驗中的源程序,深刻理解FIR濾波的原理及具體實現(xiàn)方法,包括含噪信號的生成,濾波后信號的輸出重點理解FIR濾波器的實現(xiàn)(循環(huán)尋址的實現(xiàn))。
(2)在理解原理的基礎上,設計自己的濾波器。
①設
3、計一定參數(shù)的濾波器
②得到濾波器的系數(shù)后,按照循環(huán)尋址的原理,參照給出的實驗程序,編寫具體的濾波器實現(xiàn)程序。
③調試程序,測試平臺的性能。觀察相應得含噪信號波形及去噪后的信號波形,濾波器的波形。經反復調試,使濾波器達到預計的結果。
(3)撰寫課程設計報告。
四.進度安排
序號
內 容
時間(天)
1
熟悉CCS軟件環(huán)境
1
2
總體設計方案的驗證
1
3
各分功能環(huán)節(jié)的設計與實現(xiàn)
1
4
總體功能調試實現(xiàn)
1
5
整理完成設計報告
1
合 計
5
五.成績評定
1、考核方法:總成績由平時成績、設計成績兩部分組成
4、,各部分比例為30%,70%.
2、成績評定:
(1)平時成績:無故曠課一次,平時成績減半;無故曠課兩次平時成績?yōu)?分,無故曠課三次總成績?yōu)?分。遲到15分鐘按曠課處理
(2)設計成績:根據(jù)實際的設計過程及最終的實現(xiàn)結果,同時參考提交報告的質量,給出綜合的設計成績。
基于TMS320VC5509 DSP的FIR濾波器設計
一、實踐的目的和要求
這學期我們學習了數(shù)字圖像處理還有DSP原理與應用,加上我們之前學習過數(shù)字信號處理系統(tǒng)在數(shù)字信號處理系統(tǒng)中,數(shù)字濾波器占有十分重要地位。而有限沖擊響應(FIR)數(shù)字濾波器因其具有系統(tǒng)穩(wěn)定、運算速度快、易實現(xiàn)等特點,在圖像信號處
5、理、數(shù)據(jù)傳輸?shù)阮I域被廣泛采用。
我們知道FIR濾波器可以由計算機軟件來實現(xiàn),也可以通過專用的數(shù)字濾波電路、專用的數(shù)字信號處理器或通用可編程DSP處理器來實現(xiàn)。其中計算機軟件實現(xiàn)的方法速度較慢,常用于算法的模擬及仿真;專用硬件或專用處理器實現(xiàn)的方法速度快,但通用性較差、成本高;而通用可編程DSP處理器可通過編程實現(xiàn)各種數(shù)字濾波算法,使用靈活、功能強大,在濾波器設計中被廣泛使用。
所以為了加強我們對數(shù)字信號處理系統(tǒng)中數(shù)字濾波器的掌握,我們要進行基
于TMS320VC5509 DSP的FIR濾波器設計,通過課程設計,來進一步掌握數(shù)字濾波器
應用。之前我們在實驗課上已經學習過有關基
6、于TMS320VC5509 DSP的FIR濾波器的知識,所以,本次課程設計,對我們來說是一個鞏固知識的機會
此次課程設計要求我們成軟件平臺的設計,在現(xiàn)有的硬件平臺上,編寫相應的源程序和鏈接命令程序,使整個系統(tǒng)能夠濾除含噪語音信號中的高頻噪聲。在理解原理的基礎上,設計自己的濾波器。根據(jù)老師提供的有關參數(shù),設計一個對應于自己參數(shù)的濾波器。
二、實踐原理:
FIR濾波器的DSP實現(xiàn)3.1 TMS320VC5509簡介 TMS320VC5509是美國德州儀器公司(TI)推出的新一代數(shù)字信號處理器,其CPU在結構上包含一個32×16位指令緩存隊列、2個17位×17位乘累16位算術邏輯
7、單元(MAC)、一個40位算術邏輯單元(ALU)、一個16位算術邏輯單元(ALU)、一個40位桶形移位器和4個40位加法器[3]。TMS320VC5509支持多種工業(yè)標準的串行口,如:多通道緩沖串行口(McBSPs)、多媒體卡/安全數(shù)據(jù)串行口(MMC/SD)、USB和I2C總線接口等。還具有增強型主機接口(EHPI)、通用I/O口、可編程數(shù)字鎖相環(huán)(DPLL)、計時器和多個DMA控制器等片上外設。TMS320VC5509高度并行的結構與優(yōu)化的指令集合在一起,使得每個操作所需的時鐘周期數(shù)在減少,而代碼密度則在增加。
FIR濾波器的DSP實現(xiàn)程序采用C語言編寫,濾波器時頻特性如圖2所示。利用設計
8、好的FIR濾波器對疊加了高頻噪聲的輸入信號進行濾波,濾波前后的波形及頻譜如圖3所示。通過時域波形的對比發(fā)現(xiàn),疊加了高頻噪聲的輸入信號經過FIR低通濾波器后,信號相對濾波前變得光滑;由頻域波形對比同樣可以發(fā)現(xiàn)有用的低頻信號被保留下來,而高頻噪聲被很好地濾除掉了
三、實踐步驟
1. 設計一定參數(shù)的濾波器
用MATLAB設計濾波器,使用fir2函數(shù)設計濾波器,注意,在函數(shù)中,其截止頻率均用歸一化頻率表示。
歸一化頻率的計算方法:f=實際頻率/(采樣頻率/2)
如:截止頻率為3000hz,采樣頻率為8000hz,則將截止頻率歸一化后的截止頻率值為0.75。
例如設計
9、如下濾波器:
已知信號的采樣頻率為8000hz,設計一個34階低通濾波器,濾波器的通帶截止頻率為3100hz,阻帶截止頻率為3280hz。
用fir2函數(shù)實現(xiàn)的格式:f = [ 0 0.775 0.82 1 ];
m = [ 1 1 0 0 ];
b=fir2(33,f,m);
在求解過程中,有疑問可參考課件或在matlab中用help命令求解。
經求解,可得到濾波器的各階系數(shù),進而得到濾波器的系統(tǒng)函數(shù)。
2. 硬件實現(xiàn)
程序代碼:
#include "myapp.
10、h"
#include "ICETEK-VC5509-EDU.h"
#include "scancode.h"
#include
#define FIRNUMBER 34
#define SIGNAL1F 3100
#define SIGNAL2F 3280
#define SAMPLEF 8000
#define PI 3.1415926
float InputWave();
float FIR();
float fHn[FIRNUMBER]={ -0.0006,0.0013,-0.0021,0.0022,-0.0006,-0.0034,0.00
11、89,-0.0132,0.0120,-0.0018,-0.0175,0.0406,-0.0565,0.0500,-0.0030,-0.1197,0.6031,0.6031,-0.1197,-0.0030,0.0500,-0.0565,0.0406,-0.0175,-0.0018,0.0120,-0.0132,0.0089,-0.0034,-0.0006,0.0022,-0.0021,0.0013,-0.0006
};
float fXn[FIRNUMBER]={ 0.0 };
float fInput,fOutput;
float fSigna
12、l1,fSignal2;
float fStepSignal1,fStepSignal2;
float f2PI;
int i;
float fIn[256],fOut[256];
int nIn,nOut;
main()
{
nIn=0; nOut=0;
f2PI=2*PI;
fSignal1=0.0;
fSignal2=PI*0.1;
fStepSignal1=2*PI/30;
fStepSignal2=2*PI*1.4;
while ( 1 )
{
fInput=InputWave();
fIn[nIn]=fInput;
n
13、In++; nIn%=256;
fOutput=FIR();
fOut[nOut]=fOutput;
nOut++; /* break point */
if ( nOut>=256 )
{
nOut=0;
}
}
}
float InputWave()
{
for ( i=FIRNUMBER-1;i>0;i-- )
fXn[i]=fXn[i-1];
fXn[0]=sin((double)fSignal1)+cos((double)fSignal2)/6.0;
fSignal1+=fStepSignal1;
14、
if ( fSignal1>=f2PI ) fSignal1-=f2PI;
fSignal2+=fStepSignal2;
if ( fSignal2>=f2PI ) fSignal2-=f2PI;
return(fXn[0]);
}
float FIR()
{
float fSum;
fSum=0;
for ( i=0;i
15、 這學期的第十八周,我們進行了DSP課程設計,通過此次課程設計,我能后靈活的運用ccs仿真實驗箱來完成數(shù)字濾波器的設計,也學會運用MATLAB軟件來進行參數(shù)的求得。在實驗過程中我明白了細節(jié)決定成敗這句話的道理,在實驗中,有很多注意的地方,都被我忽視了,比如:在運用MATLAB軟件求系數(shù)的時候,34階的要在輸入代碼的時候輸入33,得到34個系數(shù),這一點,一直被我忽略了,所以之前得到的一直是35個系數(shù),導致我一直無法編譯程序,一直出錯,花費時間去修改,這嚴重影響了我試驗的進度。同時,在實驗中我了解了FIR濾波器的原理,熟練掌握了MATLAB的操作,不僅是我學到了知識,更鍛煉了我的動手能力。也進一
16、步認識了CCStudio軟件的使用,了解了各種窗函數(shù)對濾波器特性的影響。 這一學期的理論知識學習加上這次課程設計,我對DSP這門學科有了更為深刻的了解,對數(shù)字信號的處理功能,硬軟件相結合,語音的壓縮、去噪和編碼等等方面都有了很深的了解。相信本次課程設計,無論是對我以后的學習,還是工作等方面都有一個很大的幫助。因此,本次課程設計我受益匪淺。
五 參考文獻:
[1] 程佩青.數(shù)字信號處理教程(第三版)[M].北京:清華大學出版社,2009.
[2] 王玉德.數(shù)字信號處理[M].北京:北京大學出版社,2011.
[3] Texas Instruments.TMS320C55X DSP CPU Reference Guide[DB]. 2001. 1.