版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 電子通信工程系</b></p><p> DSP原理及應(yīng)用課程設(shè)計(jì)報(bào)告</p><p> 設(shè)計(jì)題目:基于TMS320F2812 DSP處理器的FIR濾波器的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 基于TMS320F2812 DSP處理器的FIR濾波器的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>
2、; 一.引言</b></p><p> 數(shù)字信號(hào)處理是電路系統(tǒng)從模擬時(shí)代向數(shù)字時(shí)代前進(jìn)的理論基礎(chǔ),為數(shù)字信號(hào)處理的應(yīng)用而專門設(shè)計(jì)的可編程處理器,即數(shù)字信號(hào)處理器也應(yīng)運(yùn)而生。</p><p> 在當(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
3、 Signal Processing)和數(shù)字信號(hào)處理器(Digital Signal Processor)。數(shù)字信號(hào)處理(DSP)是利用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備,以數(shù)值計(jì)算的方法、對(duì)信號(hào)進(jìn)行采集、濾波、增強(qiáng)、壓縮、估值和識(shí)別等加工處理,借以達(dá)到提取信息和便于應(yīng)用的目的,其應(yīng)用范圍涉及幾乎所有的工程技術(shù)領(lǐng)域。</p><p> 目前FIR濾波器的實(shí)現(xiàn)方法大致可分為三種:利用單片通用數(shù)字濾波器集成電路、DSP器件或者可
4、編程邏輯器件實(shí)現(xiàn)。其中以使用通用DSP芯片實(shí)現(xià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)用</p><p><b> 二.設(shè)計(jì)目的</b><
5、/p><p> 1、掌握用窗函數(shù)法設(shè)計(jì)FIR濾波器的原理及方法,熟悉線性纖維FIR濾波器的</p><p> 幅頻特性和相頻特性及其圖像。</p><p> 掌握使用matlab編程的基本方法,學(xué)會(huì)利用fdatool 工具來快速設(shè)計(jì)滿足需要的濾波器。</p><p> 掌握TMS320F2812 DSP處理器開發(fā)的程序框架結(jié)構(gòu),學(xué)習(xí)驅(qū)動(dòng)T
6、MS320F2812 DSP處理器程序編寫并能使其正常工作。實(shí)習(xí)驅(qū)動(dòng)ADC模塊實(shí)現(xiàn)信號(hào)的實(shí)時(shí)采集與模數(shù)轉(zhuǎn)換</p><p> 掌握使用TMS320F2812 DSP處理器實(shí)現(xiàn)FIR數(shù)字低通濾波器的設(shè)計(jì)方法,并能夠?qū)崟r(shí)采集輸入信號(hào)并濾除高頻信號(hào)再通過SCI串口傳輸?shù)接?jì)算機(jī)顯示。</p><p><b> 三.設(shè)計(jì)要求</b></p><p>
7、 1、利用Matlab軟件的FDATool工具設(shè)計(jì)FIR濾波器,并提取濾波器參數(shù);</p><p> 2、在CCS集成開發(fā)環(huán)境下,利用第1步得到的濾波器參數(shù),利用窗函數(shù)法設(shè)計(jì)FIR濾波器程序,觀察輸入信號(hào)及濾波后得到的輸出信號(hào)的時(shí)域波形及FFT Magnitude波形;</p><p> 3、利用TMS320F2812的ADC片內(nèi)外設(shè)的外圍電路實(shí)時(shí)采集的混頻信號(hào)數(shù)據(jù),使用1個(gè)51階的
8、FIR低通濾波器,在CCS中設(shè)計(jì)FIR濾波器程序?qū)崿F(xiàn)濾波,觀察相關(guān)波形及濾波效果,通過SCI接口將數(shù)據(jù)傳送到計(jì)算機(jī)上;</p><p><b> 四、總體設(shè)計(jì)</b></p><p> 4.1利用Matlab軟件的FDATool工具設(shè)計(jì)FIR濾波器</p><p> 4.1.1有限沖擊響應(yīng)數(shù)字濾波器的基礎(chǔ)理論</p><
9、;p> 濾波器就是在時(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ù)為:</p><p><b> ?。?)</b></p><p> 由此得到系統(tǒng)
10、的差分方程:</p><p><b> (2)</b></p><p> 若FIR 數(shù)字濾波器的單位沖激響應(yīng)序列為h(n),它就是濾波器系數(shù)向量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),使其逼近這一指
11、標(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ù)值。</p><p> 4.1.2 利用Matlab軟件的FDATool設(shè)計(jì)FIR濾波器</p><p> 首先在命令窗口鍵入FDAtool命令,啟動(dòng)濾波器設(shè)計(jì)分析器,調(diào)出FDAtool界
12、面,如下圖所示。</p><p><b> FDATool界面</b></p><p> 在Filter Type選項(xiàng)中選Lowpass,在Design Method中選擇FIR濾波器,接著在FIR中選擇Window (窗函數(shù)) 法。</p><p> 然后在Filter Order 中選擇Specify Order (為指定階數(shù)),輸入
13、數(shù)值為“51”;在Opitions框中選中“Scale Passband”;在窗類型(Window:)下拉框選擇“Blackman”。</p><p> 在Frenquency Specification選項(xiàng)中,將fs(為采樣頻率)、fc (為通帶截止頻率)中分別鍵入250000 Hz和20000Hz。</p><p> 點(diǎn)擊“Design Filter”按鈕,完成濾波器的設(shè)計(jì)。<
14、;/p><p> 通過菜單選項(xiàng)Analysis 來分析濾波器的幅頻響應(yīng)和相頻響應(yīng)特性。點(diǎn)擊Analysis 中的Magnitude Response和Phase Response 對(duì)幅頻和相頻響應(yīng)進(jìn)行分析。如下圖所示</p><p> 在FDATool 中,選擇Targets -> Generate C Header...,單擊Generate按鈕,選擇路徑,即可輸出前一步設(shè)計(jì)出的
15、FIR濾波器的系數(shù)表。(默認(rèn)的系數(shù)表文件為fdacoefs.h。如下圖所示。</p><p> 在Matlab中打開得到的fdacoefs.h的文件,如下圖所示</p><p> 從Matlab中打開的fdacoefs.h文件</p><p> 4.1.3提取濾波器參數(shù)</p><p> 取系數(shù)表中的數(shù)據(jù)小數(shù)點(diǎn)后3位有效值,得到如下內(nèi)
16、容:</p><p> Const float B[52]={</p><p> 0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,</p><p> 0.001,0.003,0.004,0.004,0.003,0,-0.006,-0.013, -0.019,-0.021,-0.017,-0.005,0.018,0
17、.048,0.083,0.116,</p><p> 0.143,0.158,0.158,0.143,0.116,0.083,0.048,0.018,-0.005, -0.017,-0.021,-0.019,-0.013,-0.006,0,0.003,0.004,0.004,</p><p> 0.003,0.001,0.000,0.000,0.000,0.000,0.000,0.00
18、0,0.000,0.000</p><p><b> }</b></p><p> 4.2 CCS環(huán)境下FIR濾波器的設(shè)計(jì)及軟件仿真</p><p> 4.2.1 程序流程圖</p><p> 4.2.2 在CCS集成開發(fā)環(huán)境下新建FIR濾波器工程</p><p><b> ?。?/p>
19、1)實(shí)驗(yàn)準(zhǔn)備</b></p><p> 設(shè)置軟件仿真模式,啟動(dòng)CCS。</p><p><b> ?。ǎ玻┙⒐こ?lt;/b></p><p> 建立一個(gè)文件夾,存放在D:\FIR,將D:\課程設(shè)計(jì)\FIR濾波器\Fir源程序文件夾下的工程全部復(fù)制到D:\FIR,在CCS中打開D:\FIR\fir\fir.pjt工程,打開的CCS集
20、成開發(fā)環(huán)境如下圖所示。</p><p> 4.2.3觀察濾波前后的信號(hào)的時(shí)域波形及FFT Magnitude波形</p><p> ?。?)編譯工程文件生成fir.out文件,并通過File->Load Program…裝載該文件。</p><p> (2)設(shè)置波形時(shí)域觀察窗口。</p><p> 選擇菜單View→Graph→T
21、ime/Frequency… ,分別進(jìn)行如下圖所示進(jìn)行設(shè)置以便觀察輸入/輸出時(shí)域波形。 </p><p> 輸入數(shù)據(jù)時(shí)域波形觀察 輸出數(shù)據(jù)時(shí)域波形觀察</p><p> 選擇菜單View→Graph→Time/Frequency… ,分別進(jìn)行如下圖所示進(jìn)行設(shè)置以便觀察輸入/輸出頻域波形。</p><p> 輸入數(shù)據(jù)頻域波形觀察
22、 輸出數(shù)據(jù)頻域波形觀察</p><p> ?。?)設(shè)置斷點(diǎn)。在程序fir.c中,有注釋斷點(diǎn)的語句上設(shè)置軟件斷點(diǎn)。</p><p> ?。?)運(yùn)行并觀察結(jié)果。選擇Debug菜單的Run項(xiàng),或按F5鍵運(yùn)行程序。觀察到的圖形如下圖所示。</p><p> 左上角:輸入數(shù)據(jù)時(shí)域圖(Start Address : input) </p><
23、p> 右上角:輸入數(shù)據(jù)頻譜(Display Type : FFT Magnitude) </p><p> 左下角:輸出數(shù)據(jù)時(shí)域圖(Start Address : output) </p><p> 右下角:輸出數(shù)據(jù)頻譜(Display Type : FFT Magnitude)</p><p> 4.2.4 程序清單</p><p
24、><b> fir.c 程序</b></p><p> //#include "DSP281x_Device.h" // DSP281x Headerfile Include File</p><p> //#include "DSP281x_Examples.h" // DSP281x Examples
25、 Include File</p><p> //#include "f2812a.h"</p><p> #include"math.h"</p><p> #define FIRNUMBER 52</p><p> //#define SIGNAL1F 1000</p><
26、;p> //#define SIGNAL2F 4500</p><p> //#define SAMPLEF 10000</p><p> #define PI 3.1415926</p><p> float InputWave();</p><p> float FIR();</p><p>
27、float fHn[FIRNUMBER]={ </p><p> 0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,</p><p> 0.001,0.003,0.004,0.004,0.003,0,-0.006,-0.013, -0.019,-0.021,-0.017,-0.005,0.018,0.048,0.083,0.116,<
28、/p><p> 0.143,0.158,0.158,0.143,0.116,0.083,0.048,0.018,-0.005, -0.017,-0.021,-0.019,-0.013,-0.006,0,0.003,0.004,0.004,</p><p> 0.003,0.001,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000</p&g
29、t;<p><b> };</b></p><p> float fXn[FIRNUMBER]={ 0.0 };</p><p> float fInput,fOutput;</p><p> float fSignal1,fSignal2;</p><p> float fStepSignal1
30、,fStepSignal2;</p><p> float f2PI;</p><p><b> int i;</b></p><p> float fIn[256],fOut[256];</p><p> int nIn,nOut;</p><p> main(void)</p&
31、gt;<p><b> {</b></p><p> nIn=0; nOut=0;</p><p> f2PI=2*PI;</p><p> fSignal1=0.0;</p><p> fSignal2=PI*0.1;</p><p> fStepSignal1=2*P
32、I/30;</p><p> fStepSignal2=2*PI*1.4;</p><p> while ( 1 )</p><p><b> {</b></p><p> fInput=InputWave();</p><p> fIn[nIn]=fInput;</p>
33、<p> nIn++; nIn%=256;</p><p> fOutput=FIR();</p><p> fOut[nOut]=fOutput;</p><p><b> nOut++;</b></p><p> if ( nOut>=256 )</p><p>&l
34、t;b> {</b></p><p> nOut=0;/* 請(qǐng)?jiān)诖司渖显O(shè)置軟件斷點(diǎn) */</p><p><b> }</b></p><p><b> }</b></p><p><b> } </b></p><p>
35、; float InputWave()</p><p><b> {</b></p><p> for ( i=FIRNUMBER-1;i>0;i-- )</p><p> fXn[i]=fXn[i-1];</p><p> fXn[0]=sin(fSignal1)+cos(fSignal2)/6.0;&
36、lt;/p><p> fSignal1+=fStepSignal1; </p><p> if ( fSignal1>=f2PI )fSignal1-=f2PI;</p><p> fSignal2+=fStepSignal2;</p><p> if ( fSignal2>=f2PI )fSignal2-=f2PI;&l
37、t;/p><p> return(fXn[0]);</p><p><b> }</b></p><p> float FIR()</p><p><b> {</b></p><p> float fSum;</p><p><b>
38、 fSum=0;</b></p><p> for ( i=0;i<FIRNUMBER;i++ )</p><p><b> {</b></p><p> fSum+=(fXn[i]*fHn[i]);</p><p><b> }</b></p><p
39、> return(fSum);</p><p><b> }</b></p><p> fir.cmd 程序</p><p> -l rts2800_ml.lib</p><p> -stack 400h</p><p><b> -heap 100</b>
40、;</p><p><b> MEMORY</b></p><p><b> {</b></p><p> PAGE 0 : PROG(R) : origin = 0x80000, length = 0x10000</p><p> PAGE 0 : BOOT(R) : or
41、igin = 0x3FF000, length = 0xFC0 </p><p> PAGE 0 : RESET(R) : origin = 0x3FFFC0, length = 0x2</p><p> /*PAGE 0 : VECTORS(R) : origin = 0x3FFFC2, length = 0x3E*/</p><p> PAGE
42、 1 : M0RAM(RW) : origin = 0x000000, length = 0x400</p><p> PAGE 1 : M1RAM(RW) : origin = 0x000400, length = 0x400</p><p> PAGE 1 : L0L1RAM(RW) : origin = 0x008000, length = 0x2000</p>
43、;<p> PAGE 1 : H0RAM(RW) : origin = 0x3F8000, length = 0x2000</p><p><b> }</b></p><p><b> SECTIONS</b></p><p><b> {</b></p>&
44、lt;p> /* 22-bit program sections */</p><p> .reset : > RESET, PAGE = 0</p><p> /*vectors : > VECTORS, PAGE = 0*/</p><p> .pinit : > PROG, PAGE = 0</p>
45、<p> .cinit : > PROG, PAGE = 0</p><p> .text : > PROG, PAGE = 0</p><p> /* 16-Bit data sections */</p><p> .const : > L0L1RAM, PAGE = 1</p>&
46、lt;p> .bss : > L0L1RAM, PAGE = 1</p><p> .stack : > M1RAM, PAGE = 1</p><p> .sysmem : > M0RAM, PAGE = 1</p><p> /* 32-bit data sections */</p><p>
47、; .ebss : > H0RAM, PAGE = 1</p><p> .econst : > H0RAM, PAGE = 1</p><p> .esysmem : > H0RAM, PAGE = 1</p><p> 4.3 對(duì)實(shí)時(shí)采樣信號(hào)進(jìn)行濾波的FIR濾波器的實(shí)現(xiàn)</p><p> 4.3.1 程
48、序清單</p><p> #include "DSP281x_Device.h" // DSP281x Headerfile Include File</p><p> #include "DSP281x_Examples.h" // DSP281x Examples Include File</p><p> #inc
49、lude <math.h></p><p> #define pi 3.1415927</p><p> int px[256];</p><p> int py[256];</p><p> double npass,h[51], x, y, xmid[51];</p><p><b>
50、 int m=50;</b></p><p> int n=256;</p><p> // Prototype statements for functions found within this file.</p><p> interrupt void adc_isr(void);</p><p> // Glob
51、al variables used in this example:</p><p> Uint16 LoopCount;</p><p> Uint16 ConversionCount;</p><p> void firdes(int m, double npass)</p><p><b> {</b>&l
52、t;/p><p><b> int t;</b></p><p> for (t=0; t<=m; t++)</p><p><b> {</b></p><p> h[t] = sin((t-m/2.0)*npass*pi)/(pi*(t-m/2.0));</p><
53、p><b> }</b></p><p> if (t=m/2) h[t]=npass;</p><p><b> }</b></p><p> void main(void) </p><p><b> {</b></p><p>
54、int xm,ym;</p><p> double fs,fstop,r,rm;</p><p> int i,j,p,k;</p><p> // PLL, WatchDog, enable Peripheral Clocks</p><p> // This example function is found in the DS
55、P281x_SysCtrl.c file.</p><p> InitSysCtrl();</p><p> // For this example, set HSPCLK to SYSCLKOUT / 6 (25Mhz assuming 150Mhz SYSCLKOUT)</p><p><b> EALLOW;</b></p&g
56、t;<p> SysCtrlRegs.HISPCP.all = 0x3; // HSPCLK = SYSCLKOUT/6</p><p><b> EDIS;</b></p><p> // Disable CPU interrupts </p><p><b> DINT;</b></p&g
57、t;<p> // Initialize the PIE control registers to their default state.</p><p> InitPieCtrl();</p><p> // Disable CPU interrupts and clear all CPU interrupt flags:</p><p>
58、 IER = 0x0000;</p><p> IFR = 0x0000;</p><p> // Initialize the PIE vector table with pointers to the shell Interrupt </p><p> // Service Routines (ISR). </p><p> I
59、nitPieVectTable();</p><p> // Interrupts that are used in this example are re-mapped to</p><p> // ISR functions found within this file. </p><p> EALLOW; // This is needed
60、to write to EALLOW protected register</p><p> PieVectTable.ADCINT = &adc_isr;</p><p> EDIS; // This is needed to disable write to EALLOW protected registers</p><p> InitAd
61、c(); // For this example, init the ADC</p><p> // Enable ADCINT in PIE</p><p> PieCtrlRegs.PIEIER1.bit.INTx6 = 1;</p><p> IER |= M_INT1; // Enable CPU Interrupt 1</p><
62、;p> EINT; // Enable Global interrupt INTM</p><p> ERTM; // Enable Global realtime interrupt DBGM</p><p> LoopCount = 0;</p><p> ConversionCount = 0;</p&g
63、t;<p> // Configure ADC</p><p> AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; </p><p> AdcRegs.ADCMAXCONV.all = 0x0000; // Setup 2 conv's on SEQ1</p><p> AdcRegs.ADCCHSELSE
64、Q1.bit.CONV00 = 0x4; // Setup ADCINA0 as 1st SEQ1 conv.</p><p> AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1 = 1; // Enable EVASOC to start SEQ1</p><p> AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1; // Enable S
65、EQ1 interrupt (every EOS)</p><p> // Configure EVA</p><p> // Assumes EVA Clock is already enabled in InitSysCtrl();</p><p> EvaRegs.T1CMPR = 0x0380; // Setup T1 co
66、mpare value</p><p> EvaRegs.T1PR = 0x07FF; // Setup period register</p><p> EvaRegs.GPTCONA.bit.T1TOADC = 1; // Enable EVASOC in EVA</p><p> EvaRegs.T1CON.a
67、ll = 0x1042; // Enable timer 1 compare (upcount mode)</p><p> // Wait for ADC interrupt</p><p> k=0; </p><p> fs = 250000;</p><p> fstop = 20000;<
68、;/p><p> npass = fstop/fs;</p><p> for (i=0; i<=m; i++)</p><p><b> {</b></p><p> xmid[i]=0;</p><p><b> }</b></p><p&
69、gt;<b> for(;;)</b></p><p><b> {</b></p><p> firdes(m, npass);</p><p> for (i=0; i<=n-1; i++)</p><p><b> {</b></p>&
70、lt;p> xm = px[i];</p><p> x = xm/1023.0; </p><p> for (p=0; p<=m; p++)</p><p><b> {</b></p><p> xmid[m-p] = xmid[m-p-1];</p><p&
71、gt;<b> }</b></p><p> xmid[0] = x;</p><p><b> r = 0;</b></p><p><b> rm= 0; </b></p><p> for (j=0; j<=m; j++)</p><p
72、><b> {</b></p><p> r = xmid[j] * h[j];</p><p> rm = rm + r;</p><p><b> }</b></p><p><b> y = rm;</b></p><p>
73、ym = (int)(1023.0 * y);</p><p> py[i] = ym; </p><p><b> }</b></p><p> k++; //加斷點(diǎn),觀察波形</p><p><b> }</b></p><p><
74、b> }</b></p><p> interrupt void adc_isr(void)</p><p><b> { </b></p><p> px[ConversionCount] = AdcRegs.ADCRESULT0 >>4;</p><p> if(Conver
75、sionCount == 256) </p><p><b> {</b></p><p> ConversionCount = 0;</p><p><b> }</b></p><p> else ConversionCount++;</p><p> // R
76、einitialize for next ADC sequence</p><p> AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; // Reset SEQ1</p><p> AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; // ClearINT SEQ1 bit</p><p> PieCtrlReg
77、s.PIEACK.all = PIEACK_GROUP1; // Acknowledge interrupt to PIE</p><p><b> return;</b></p><p><b> }</b></p><p> 4.3.2 測(cè)試效果</p><p> 如上圖所示,可以發(fā)
78、現(xiàn)使用DSP芯片實(shí)現(xiàn)的的FIR濾波器已經(jīng)成功的將設(shè)定的混合頻率信號(hào)中的高頻部分濾除。</p><p><b> 五.總結(jié)</b></p><p> DSP技術(shù)一般指將DSP 處理器用于完成數(shù)字信號(hào)處理的方法與技術(shù)。目前的DSP芯片以其強(qiáng)大的數(shù)據(jù)處理功能在通信和其他信號(hào)處理領(lǐng)域得到廣泛注意并已成為開發(fā)應(yīng)用的熱點(diǎn)技術(shù)。許多領(lǐng)域?qū)τ跀?shù)字信號(hào)處理器的應(yīng)用都是圍繞美國TI公
79、司所開發(fā)的DSP處理器進(jìn)行的。DSP芯片是一種特別適合于進(jìn)行數(shù)字信號(hào)處理運(yùn)算的微處理器。主要應(yīng)用是實(shí)時(shí)快速的實(shí)現(xiàn)各種數(shù)字信號(hào)處理算法,如卷積及各種變換等。這次我們所做的利用DSP芯片來實(shí)現(xiàn)數(shù)字濾波器就是一項(xiàng)很重要的應(yīng)用,這一次的課程設(shè)計(jì)主要討論基于TI公司TMS320F2812 DSP芯片的濾波器系統(tǒng)軟件實(shí)現(xiàn)方法,用Blackman窗函數(shù)設(shè)計(jì)實(shí)現(xiàn)FIR濾波器,利用MATLAB中的FDAtool濾波器設(shè)計(jì)分析器設(shè)計(jì)符合要求的FIR濾波器
80、并生成fdacoefs.h文件提取相關(guān)參數(shù)。并在以TI TMS320F2812為微處理器的EXPIV型實(shí)驗(yàn)箱上實(shí)現(xiàn),實(shí)驗(yàn)仿真結(jié)果、實(shí)時(shí)數(shù)據(jù)采集及ADC轉(zhuǎn)換濾波濾波均表明濾波后能夠得到比較光滑時(shí)域/頻域波形,濾波結(jié)果效果良好達(dá)到了預(yù)期的性能指標(biāo)要求。</p><p> 通過這次課程設(shè)計(jì),我對(duì)通信系統(tǒng)的仿真有了很大的了解,掌握的設(shè)計(jì)的方法和思路,提高了對(duì)系統(tǒng)的分析能力和解決能力。在這次課程設(shè)計(jì)匯總,我也遇到了許多的
81、困難,如參數(shù)的設(shè)置,如何將不同的功能框圖整合一起以實(shí)現(xiàn)更強(qiáng)大的功能等等。</p><p> 經(jīng)過一周的設(shè)計(jì)制作,在本組成員不斷的努力下,如期的完成了課程設(shè)計(jì)制作,其功能基本上可以滿足處理的需要。 由于時(shí)間原因,該課程設(shè)計(jì)還有許多不盡不是令人很滿意的地方,需要將來做進(jìn)一步的改善。</p><p><b> 六.參考文獻(xiàn)</b></p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- fir帶通濾波器課程設(shè)計(jì)
- fir帶阻濾波器課程設(shè)計(jì)
- dsp課程設(shè)計(jì)-fir濾波器設(shè)計(jì)
- dsp課程設(shè)計(jì)-fir濾波器設(shè)計(jì)
- fir帶通濾波器課程設(shè)計(jì)
- dsp課程設(shè)計(jì)---fir濾波器設(shè)計(jì)
- dsp課程設(shè)計(jì)--fir濾波器設(shè)計(jì)
- dsp課程設(shè)計(jì)報(bào)告(fir濾波器的dsp實(shí)現(xiàn))
- dsp軟件課程設(shè)計(jì)---fir濾波器設(shè)計(jì)
- dsp課程設(shè)計(jì)報(bào)告--fir濾波器設(shè)計(jì)
- 基于fpga的fir濾波器課程設(shè)計(jì)
- dsp課程設(shè)計(jì)-fir高通濾波器設(shè)計(jì)
- 基于dsp的fir濾波器設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- dsp課程設(shè)計(jì)---基于dsp的實(shí)時(shí)fir濾波器的實(shí)現(xiàn)
- 濾波器設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)
- 基于fpga的fir濾波器課程設(shè)計(jì)報(bào)告
- matlab課程設(shè)計(jì)---fir數(shù)字濾波器
- dsp課程設(shè)計(jì)--有限沖擊響應(yīng)fir濾波器的設(shè)計(jì)
- dsp課程設(shè)計(jì)-- 有限沖擊響應(yīng)fir濾波器的設(shè)計(jì)
- 語音信號(hào)的fir濾波器處理課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論