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