




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、鄭州航空工業(yè)管理學(xué)院電子通信工程系DSP原理及應(yīng)用課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目:基于TMS320F2812 DSP處理器的FIR濾波器的設(shè)計(jì)與實(shí)現(xiàn)學(xué) 號(hào): 姓 名: 專 業(yè): 物聯(lián)網(wǎng)工程 設(shè)計(jì)日期: 指導(dǎo)老師:趙成 劉亞 王超梁 目 錄1、 引言 在當(dāng)今信息時(shí)代數(shù)字信號(hào)處理已成為一門極其重要的學(xué)科。數(shù)字信號(hào)處理在通信、語音、圖像等眾多相關(guān)領(lǐng)域得到了廣泛的應(yīng)用。數(shù)字信號(hào)處理(DSP)包括兩重含義:數(shù)字信號(hào)處理技術(shù)(Digital Signal Processing)和數(shù)字信號(hào)處理器(Digital Signal Processor)。數(shù)字信號(hào)處理(DSP)是利用計(jì)
2、算機(jī)或?qū)S锰幚碓O(shè)備,以數(shù)值計(jì)算的方法、對(duì)信號(hào)進(jìn)行采集、濾波、增強(qiáng)、壓縮、估值和識(shí)別等加工處理,借以達(dá)到提取信息和便于應(yīng)用的目的,其應(yīng)用范圍涉及幾乎所有的工程技術(shù)領(lǐng)域。 2、 在數(shù)字信號(hào)處理的應(yīng)用中,數(shù)字濾波器很重要而且得到了廣泛的應(yīng)用。按照數(shù)字濾波器的特性,它可以被分為線性與非線性、因果與非因果、無限長(zhǎng)沖擊響應(yīng)(IIR)與有限長(zhǎng)沖擊響應(yīng)(FIR)等等。其中,線性時(shí)不變的數(shù)字濾波器是最基本的類型;IIR 濾波器的特征是具有無限持續(xù)時(shí)間沖激響應(yīng),而FIR濾波器的沖激響應(yīng)只能延續(xù)一定時(shí)間,在工程實(shí)際中可以采用遞歸的方式實(shí)現(xiàn)也可以采用非遞歸的方式實(shí)現(xiàn)。 3、 目前FIR濾
3、波器的實(shí)現(xiàn)方法大致可分為三種:利用單片通用數(shù)字濾波器集成電路、DSP器件或者可編程邏輯器件實(shí)現(xiàn)。其中以使用通用DSP芯片實(shí)現(xiàn)方式較為簡(jiǎn)單,是一種實(shí)時(shí)、快速、特別適合于實(shí)現(xiàn)各種數(shù)字信號(hào)處理運(yùn)算的微處理器,借助于通用數(shù)字計(jì)算機(jī)按濾波器的設(shè)計(jì)算法編出程序進(jìn)行數(shù)字濾波計(jì)算。由于它具有豐富的硬件資源、改進(jìn)的哈佛結(jié)構(gòu)、高速數(shù)據(jù)處理能力和強(qiáng)大的指令系統(tǒng)而在通信、航空、航天、雷達(dá)、工業(yè)控制、網(wǎng)絡(luò)及家用電器等各個(gè)領(lǐng)域得到廣泛應(yīng)用 。2、 設(shè)計(jì)目的(1)掌握用窗函數(shù)法設(shè)計(jì)FIR濾波器的原理及方法,熟悉線性纖維FIR濾波器的 幅頻特性和相頻特性,熟悉不同的窗函數(shù)對(duì)濾波器性能的影響。 (
4、2)掌握使用matlab編程的基本方法,學(xué)會(huì)利用fdatool 工具來快速設(shè)計(jì)滿足需要的濾波器。 (3)掌握TMS320F2812 DSP處理器開發(fā)的程序框架結(jié)構(gòu),學(xué)習(xí)驅(qū)動(dòng)TMS320F2812 DSP處理器程序編寫并能使其正常工作。實(shí)習(xí)驅(qū)動(dòng)ADC模塊實(shí)現(xiàn)信號(hào)的實(shí)時(shí)采集與模數(shù)轉(zhuǎn)換。 (4)掌握使用TMS320F2812 DSP處理器實(shí)現(xiàn)FIR數(shù)字低通濾波器的設(shè)計(jì)方法,并能夠?qū)崟r(shí)采集輸入信號(hào)并濾除高頻信號(hào)再通過SCI串口傳輸?shù)接?jì)算機(jī)顯示。三、設(shè)計(jì)要求 1、利用Matlab軟件的FDATool工具設(shè)計(jì)FIR濾波器,并提取濾波器參
5、數(shù); 2、在CCS集成開發(fā)環(huán)境下,利用第1步得到的濾波器參數(shù),利用窗函數(shù)法設(shè)計(jì)FIR濾波器程序,觀察輸入信號(hào)及濾波后得到的輸出信號(hào)的時(shí)域波形及FFT Magnitude波形; 3、利用TMS320F2812的ADC片內(nèi)外設(shè)的外圍電路實(shí)時(shí)采集的混頻信號(hào)數(shù)據(jù),使用1個(gè)51階的FIR低通濾波器,在CCS中設(shè)計(jì)FIR濾波器程序?qū)崿F(xiàn)濾波,觀察相關(guān)波形及濾波效果,通過SCI接口將數(shù)據(jù)傳送到計(jì)算機(jī)上; 4、(選做)利用TI公司的TLV320AIC23高性能立體聲音頻Codec芯片,通過MIC或音頻接口采樣音頻信號(hào),對(duì)采樣的音頻信號(hào)做濾波運(yùn)算,進(jìn)行低音加重處理,再將運(yùn)算
6、過的音頻數(shù)據(jù)通過揚(yáng)聲器播放出來四、總體設(shè)計(jì) 4.1利用Matlab軟件的FDATool工具設(shè)計(jì)FIR濾波器4.1.1有限沖擊響應(yīng)數(shù)字濾波器的基礎(chǔ)理論濾波器就是在時(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),再通過計(jì)算,使物理可實(shí)現(xiàn)的實(shí)際濾波器頻率響應(yīng)特性逼近給出的頻率響應(yīng)特性。FIR 數(shù)字濾波器系統(tǒng)的傳遞函數(shù)為:
7、; å-=-=10)()()(H(z)NnnznbzXzY (1) 由此得到系統(tǒng)的差分方程: )1()1()1()1()()0()(-*-+××××××+-*+*=NnxNbnxbnxbny(2) 若FIR 數(shù)字濾波器的單位沖激響應(yīng)序列為h(n),它就是濾波器系數(shù)向
8、量b(n)。傳統(tǒng)的濾波器分析與設(shè)計(jì)均使用繁瑣的公式計(jì)算,改變參數(shù)后需要重新運(yùn)算,從而在分析與設(shè)計(jì)濾波器尤其是高階濾波器時(shí)工作量特別大。這里應(yīng)用MATLAB 設(shè)計(jì)FIR濾波器,根據(jù)給定的性能指標(biāo)設(shè)計(jì)一個(gè)H(z),使其逼近這一指標(biāo),進(jìn)而計(jì)算并確定濾波器的系數(shù)b(n),再將所設(shè)計(jì)濾波器的幅頻響應(yīng)、相頻響應(yīng)曲線作為輸出,與設(shè)計(jì)要求進(jìn)行比較,對(duì)設(shè)計(jì)的濾波器進(jìn)行優(yōu)化。設(shè)計(jì)完成之后將得到FIR濾波器的單位沖激響應(yīng)序列h(n)的各個(gè)參數(shù)值。4.1.2 利用Matlab軟件的FDATool設(shè)計(jì)FIR濾波器() 首先在命令窗口鍵入FDAtool命令,啟動(dòng)濾波器設(shè)計(jì)分析器,調(diào)出FDAtool界
9、面,如下圖所示。 FDATool界面() 在Filter Type選項(xiàng)中選Lowpass,在Design Method中選擇FIR濾波器,接著在FIR中選擇Window (窗函數(shù)) 法。 () 然后在Filter Order 中選擇Specify Order (為指定階數(shù)),輸入數(shù)值為“24”;在Opitions框中選中“Scale Passband”;在窗類型(Window:)下拉框選擇“Blackman”。 () 在Frenquency Sp
10、ecification選項(xiàng)中,將fs(為采樣頻率)、fc (為通帶截止頻率)中分別鍵入30000 Hz和9600 Hz。 () 點(diǎn)擊“Design Filter”按鈕,完成濾波器的設(shè)計(jì)。具體參數(shù)及設(shè)計(jì)成功后的結(jié)果如下圖所示。 FIR低通濾波器設(shè)計(jì) () 通過菜單選項(xiàng)Analysis 來分析濾波器的幅
11、頻響應(yīng)和相頻響應(yīng)特性。點(diǎn)擊Analysis 中的Magnitude Response和Phase Response 對(duì)幅頻和相頻響應(yīng)進(jìn)行分析。如下圖所示 幅頻和相頻響應(yīng)進(jìn)行分析() 在FDATool 中,選擇Targets -> Generate C Header.,單擊Generate按鈕,選擇路徑,即可輸出前一步設(shè)計(jì)出的 FIR濾波器的系數(shù)表。(默認(rèn)的系數(shù)表文件為fda
12、coefs.h。如下圖所示。 導(dǎo)出濾波器系數(shù) () 在Matlab中打開得到的fdacoefs.h的文件,如下圖所示 從Matlab中打開的fdacoefs.h文件4.1.3提取濾波器參數(shù)取系數(shù)表中的數(shù)據(jù)小數(shù)點(diǎn)后3位有效值,得到如下內(nèi)容: Const float B25= 0.0,0.0,0.001,-0.002,-0.002,0.01,-0.009,
13、160; -0.018,0.049,-0.02,-0.11,0.28,0.64,0.28, -0.11,-0.02,0.049,-0.018,-0.009,0.01, -0.002,-0.002,0.001,0.0,0.0 4.2 CCS環(huán)境下FIR濾波器的設(shè)計(jì)及軟件仿真4.2.1 程序流程圖 4.2.2 在CCS集成開發(fā)環(huán)境下新建FIR濾波器工程() 實(shí)驗(yàn)準(zhǔn)備 設(shè)置軟件仿真模式,啟動(dòng)CCS。 () 建立工程 建立一個(gè)文件夾,存放
14、在D:FIR,將D:課程設(shè)計(jì)FIR濾波器Fir源程序文件夾下的工程全部復(fù)制到D:FIR,在CCS中打開D:FIRfirfir.pjt工程,打開的CCS集成開發(fā)環(huán)境如下圖所示。 在CCS集成開發(fā)環(huán)境中打開工程4.2.3觀察濾波前后的信號(hào)的時(shí)域波形及FFT Magnitude波形(1)編譯工程文件生成fir.out文件,并通過File->Load Program裝載該文件。 (2)設(shè)置波形時(shí)域觀察窗口。 選擇菜單ViewGraphTime/Frequency ,分別進(jìn)行如下圖所示進(jìn)行設(shè)置以便觀察輸入/輸出時(shí)域波形。輸
15、入數(shù)據(jù)頻域波形觀察 輸出數(shù)據(jù)頻域波形觀察 (3)設(shè)置斷點(diǎn)。 在程序fir.c中,有注釋斷點(diǎn)的語句上設(shè)置軟件斷點(diǎn)。 (4)運(yùn)行并觀察結(jié)果。 選擇Debug菜單的Run項(xiàng),或按F5鍵運(yùn)行程序。觀察到的圖形如下圖所示。 濾波前后的數(shù)據(jù)波形及FFT分析的對(duì)比圖4.2.4 程序清單fir.c
16、160;程序 /#include "DSP281x_Device.h" / DSP281x Headerfile Include File /#include "DSP281x_Examples.h" / DSP281x Examples Include File /#include "f2812a.h"&
17、#160;#include"math.h" #define FIRNUMBER 25 /#define SIGNAL1F 1000 /#define SIGNAL2F 4500 /#define SAMPLEF 10000 #define PI 3.1415926 float InputWave(); float FIR(); float fHnFIRNU
18、MBER= 0.0,0.0,0.001,-0.002,-0.002,0.01,-0.009, -0.018,0.049,-0.02,-0.11,0.28,0.64,0.28, -0.11,-0.02,0.049,-0.018,-0.009,0.01, -0.002,-0.002,0.001,0.0,0.0 &
19、#160; float fXnFIRNUMBER= 0.0 float fInput,fOutput; float fSignal1,fSignal2; float fStepSignal1,fStepSignal2; float f2PI; int i; float fIn256,fOut256; int nIn,nOut; main(void)
20、;nIn=0; nOut=0; f2PI=2*PI; fSignal1=0.0; fSignal2=PI*0.1; fStepSignal1=2*PI/30; fStepSignal2=2*PI*1.4;While fInput=InputWave(); fInnIn=fInput; nIn+; nIn%=256; fOutput=
21、FIR(); fOutnOut=fOutput; nOut+; if ( nOut>=256 ) nOut=0; /* 請(qǐng)?jiān)诖司渖显O(shè)置軟件斷點(diǎn) */ float InputWave() for
22、0;( i=FIRNUMBER-1;i>0;i- ) fXni=fXni-1; fXn0=sin(fSignal1)+cos(fSignal2)/6.0; fSignal1+=fStepSignal1; if ( fSignal1>=f2PI ) fSignal1-=f2PI; fSignal2+=fStepSignal2; if ( fSignal2>=
23、f2PI ) fSignal2-=f2PI; return(fXn0); float FIR() float fSum; fSum=0; for ( i=0;i<FIRNUMBER;i+ ) fSum+=(fXni*fHni); return(fSum); fir.cmd
24、160; 程序 -l rts2800_ml.lib-stack 400h -heap 100 MEMORY PAGE 0 : PROG(R) : origin = 0x80000, length = 0x10000 PAGE 0 : BOOT(R)
25、 : origin = 0x3FF000, length = 0xFC0 PAGE 0 : RESET(R) : origin = 0x3FFFC0, length = 0x2 /*PAGE 0 : VECTOR
26、S(R) : origin = 0x3FFFC2, length = 0x3E*/ PAGE 1 : M0RAM(RW) : origin = 0x000000, length = 0x400 PAGE 1 : M1RAM(RW) :
27、160;origin = 0x000400, length = 0x400 PAGE 1 : L0L1RAM(RW) : origin = 0x008000, length = 0x2000 PAGE 1 : H0RAM(RW) : origin = 0x3F80
28、00, length = 0x2000 SECTIONS /* 22-bit program sections */ .reset : > RESET, PAGE = 0 /*vectors : >
29、0;VECTORS, PAGE = 0*/ .pinit : > PROG, PAGE = 0 .cinit : > PROG, PAGE = 0 .text
30、; : > PROG, PAGE = 0 /* 16-Bit data sections */ .const : > L0L1RAM, PAGE = 1 .bss
31、0;: > L0L1RAM, PAGE = 1 .stack : > M1RAM, PAGE = 1 .sysmem : > M0RAM, PAGE = 1 /* 32-bit data sections
32、160;*/ .ebss : > H0RAM, PAGE = 1 .econst : > H0RAM, PAGE = 1 .esysmem : > H0RAM, PAGE = 1 4.3 對(duì)實(shí)時(shí)采樣信號(hào)進(jìn)行
33、濾波的FIR濾波器的實(shí)現(xiàn)4.3.1 程序清單#include "DSP281x_Device.h" / DSP281x Headerfile Include File #include "DSP281x_Examples.h" / DSP281x Examples Include File #include <math.h> #define pi 3.1415927
34、 int px256; int py256; double npass,h51, x, y, xmid51; int m=50; int n=256; / Prototype statements for functions found within this file. interrupt void adc_isr(void); /
35、160;Global variables used in this example: Uint16 LoopCount; Uint16 ConversionCount; void firdes(int m, double npass) int t; for (t=0; t<=m; t+)
36、; ht = sin(t-m/2.0)*npass*pi)/(pi*(t-m/2.0); if (t=m/2) ht=npass; void main(void) int xm,ym; double
37、160;fs,fstop,r,rm; int i,j,p,k; / PLL, WatchDog, enable Peripheral Clocks / This example function is found in the DSP281x_SysCtrl.c file. InitSysCtrl(); / For&
38、#160;this example, set HSPCLK to SYSCLKOUT / 6 (25Mhz assuming 150Mhz SYSCLKOUT) EALLOW; for (t=0; t<=m; t+) ht = sin(t-m/2.0)*npass*pi)
39、/(pi*(t-m/2.0); if (t=m/2) ht=npass; void main(void) int xm,ym; double fs,fstop,r,rm; int i,j,p,k; / PLL, WatchDog, enable Peripheral Clocks /
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電商直播行業(yè)主播與品牌合作模式創(chuàng)新趨勢(shì)及風(fēng)險(xiǎn)控制策略研究報(bào)告
- 八年級(jí)期中考試家長(zhǎng)會(huì)課件
- 保育員考試題目及答案
- 安全員b證試題及答案
- 安全試題及答案大題
- 安全生產(chǎn)試題及答案2024
- 生物安全培訓(xùn)課件
- 中國(guó)發(fā)展簡(jiǎn)史課件
- 中醫(yī)推拿科培訓(xùn)課件
- 中國(guó)南方區(qū)課件
- 新產(chǎn)品評(píng)審管理辦法
- (參考)菲達(dá)公司國(guó)內(nèi)電除塵器業(yè)績(jī)表
- 游泳池水質(zhì)檢測(cè)記錄表
- 大學(xué)生職業(yè)生涯規(guī)劃與就業(yè)指導(dǎo)教案第5講:興趣探索
- 門店電表記錄表
- 七年級(jí)勞技 花卉種植 花卉用途 PPT學(xué)習(xí)教案
- 隧道換拱專項(xiàng)施工方案
- 國(guó)際金融托馬斯普格爾復(fù)習(xí)資料整理
- 基于單片機(jī)的報(bào)警器與旋轉(zhuǎn)燈設(shè)計(jì)(共21頁(yè))
- 中國(guó)農(nóng)業(yè)銀行房地產(chǎn)押品價(jià)值評(píng)估操作模板
- JJG596-2012《電子式交流電能表檢定規(guī)程》
評(píng)論
0/150
提交評(píng)論