




免費預覽已結(jié)束,剩余8頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
課 程 設 計 報 告課程設計名稱: DSP原理與應用 系 : 學生姓名: 班 級: 通信 學 號: 成 績: 指導教師: 開課時間: 學年 學期基于TMS320VC5509 DSP的FIR濾波器設計一、實踐的目的和要求 1、實踐的目的 (1)了解TMS320055x DSP匯編語言的特點,掌握TMS320C55x DSP常用的開發(fā)工具,掌握集成開發(fā)環(huán)境CCS的使用及利用CCS進行程序開發(fā)的一般過程。(2)熟悉FIR濾波器工作原理及編程。 (3)掌握匯編語言程序的編寫方法,匯編器和鏈接器的用法,利用匯編指令實現(xiàn)高速數(shù)字信號處理器。(4)學習使用CCS圖形觀察窗口觀察和分析語音波形及其頻譜。通過該課程的學習為今后從事使用DSP技術(shù)在通訊、控制等相關(guān)領(lǐng)域的應用、研究和開發(fā)打下良好的基礎,為進入社會增加一種工作技能。 2、實踐的要求設計要求:已知信號的采樣頻率為8000hz,設計一個29階的低通濾波器,濾波器的通帶截止頻率為2800hz,阻帶截止頻率為3100hz。(1)學生首先自己參照指導書完FIR算法實驗,認真閱讀實驗中的源程序,深刻理解FIR濾波的原理及具體實現(xiàn)方法,包括含噪信號的生成,濾波后信號的輸出重點理解FIR濾波器的實現(xiàn)(循環(huán)尋址的實現(xiàn))。(2)在理解原理的基礎上,設計自己的濾波器。設計一定參數(shù)的濾波器用MATLAB設計濾波器,使用fir2函數(shù)設計濾波器,注意,在函數(shù)中,其截止頻率均用歸一化頻率表示。得到濾波器的系數(shù)后,按照循環(huán)尋址的原理,參照給出的實驗程序,編寫具體的濾波器實現(xiàn)程序。調(diào)試程序,測試平臺的性能。觀察相應得含噪信號波形及去噪后的信號波形,濾波器的波形。經(jīng)反復調(diào)試,使濾波器達到預計的結(jié)果。二、實踐原理:1、DSP芯片 數(shù)字濾波是語音處理、圖像處理、模式識別、頻譜分析等應用中的基本處理算法。用DSP芯片實現(xiàn)數(shù)字濾波除了具有穩(wěn)定性好、精確度高、不受環(huán)境影響等優(yōu)點外,還具有靈活性好等特點。如圖2-1為c5509引腳圖。 2-1 VC5509引腳圖2、設計:過渡帶寬度=阻帶邊緣頻寬-通帶邊緣頻率采樣頻率:f1=通帶邊緣頻率+(過渡帶寬度)/2理想低通濾波器脈沖響應:h1n=sin(n1)/n/根據(jù)要求,選擇布萊克曼窗,窗函數(shù)長度為:N=5.98fs/過渡帶寬度選擇N=30wn=0.42+0.5cos(2n/30)+0.8cos(4n/24)濾波器脈沖響應為:hn=h1nwn|n|12根據(jù)上面計算,各式算出hn,然后將脈沖響應值移位為因果序列。完成的濾波器的差分方程為:yn=-0.001xn-2-0.002xn-3-0.002xn-4+0.01xn-5-0.009xn-6-0.018xn-7-0.049xn-8-0.02xn-9+0.11xn-10+0.28xn-11+0.64xn-12+0.28xn-13-0.11xn-14-0.02xn-15+0.049xn-16-0.018xn-17-0.009xn-18+0.01n-19-0.002xn-20-0.002xn-21+0.001xn-223、 程序流程圖初始化工作變量調(diào)用波形發(fā)生子程序產(chǎn)生混疊的波形(高頻+低頻)調(diào)用FIR濾波子程序計算當前輸出開始結(jié)束波形發(fā)生FIR濾波返回波形值返回計算結(jié)果計算步長用標準C的sin函數(shù)和cos函數(shù)計算當前波形值用濾波器系數(shù)乘以保存的N-1個輸入值和當前輸入值并求和開始初始化語音緩沖區(qū)和工總變量讀取語音數(shù)據(jù)等待McBSP通道0傳送結(jié)束保存于左聲道緩沖區(qū)調(diào)用fir2計算FIR濾波輸出濾波結(jié)果保存于右聲道緩沖區(qū)原聲音送左聲道,濾波結(jié)束結(jié)果送右聲道,輸出到McBSP0三、實踐步驟1、設計一定參數(shù)的濾波器 編寫濾波器程序,首先要算出各個所需要的系數(shù),然后編譯程序,完成濾波的功能。用MATLAB設計濾波器,使用fir2函數(shù)設計濾波器,注意,在函數(shù)中,其截止頻率均用歸一化頻率表示。已知信號的采樣頻率為8000hz,設計一個29階的低通濾波器,濾波器的通帶截止頻率為2800hz,阻帶截止頻率為3100hz。在函數(shù)中,其截止頻率均用歸一化頻率表示。歸一化頻率的計算方法:f=實際頻率/(采樣頻率/2),則將截止頻率歸一化后的截止頻率值為0.7、0.775。 程序代碼: f=0 0.7 0.775 1;m=1 1 0 0;b=fir2(28,f,m)結(jié)果: b= 0.0010 -0.0015 0.0011 0.0013 -0.0059 0.0092 -0.0047 -0.01070.0306 -0.0372 0.0101 0.0578 -0.1501 0.2307 0.7373 0.2307-0.1501 0.0578 0.0101 -0.0372 0.0306 -0.0107 -0.0047 0.0092-0.0059 0.0013 0.0011 -0.0015 0.00102濾波器的設計程序include myapp.h#include ICETEK-VC5509-EDU.h#include scancode.h#include #define FIRNUMBER 29#define SIGNAL1F 2800#define SIGNAL2F 3100#define SAMPLEF 8000#define PI 3.1415926float InputWave();float FIR();float fHnFIRNUMBER= b= 0.0010 -0.0015 0.0011 0.0013 -0.0059 0.0092 -0.0047 -0.01070.0306 -0.0372 0.0101 0.0578 -0.1501 0.2307 0.7373 0.2307-0.1501 0.0578 0.0101 -0.0372 0.0306 -0.0107 -0.0047 0.0092-0.0059 0.0013 0.0011 -0.0015 0.0010 ;float fXnFIRNUMBER= 0.0 ;float fInput,fOutput;float fSignal1,fSignal2;float fStepSignal1,fStepSignal2;float f2PI;int i;float fIn256,fOut256;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();fInnIn=fInput;nIn+; nIn%=256;fOutput=FIR();fOutnOut=fOutput;nOut+;/* break point */if ( nOut=256 )nOut=0;float InputWave()for ( i=FIRNUMBER-1;i0;i- )fXni=fXni-1;fXn0=sin(double)fSignal1)+cos(double)fSignal2)/6.0;fSignal1+=fStepSignal1; if ( fSignal1=f2PI )fSignal1-=f2PI;fSignal2+=fStepSignal2;if ( fSignal2=f2PI )fSignal2-=f2PI;return(fXn0);float FIR()float fSum;fSum=0;for ( i=0;i spcr1, 0); Write(pMCBSP0 - spcr2, 0); / Config frame parameters (32 bit, single phase, no delay) Write(pMCBSP0 - xcr1, XWDLEN1_32); Write(pMCBSP0 - xcr2, XPHASE_SINGLE | XDATDLY_0); Write(pMCBSP0 - rcr1, RWDLEN1_32); Write(pMCBSP0 - rcr2, RPHASE_SINGLE | RDATDLY_0); / Disable int frame generation and enable slave w/ext frame signals on FSX / Frame sync is active high, data clocked on rising edge of clkx Write(pMCBSP0 - pcr, PCR_CLKXP); / Bring transmitter and receiver out of reset SetMask(pMCBSP0 - spcr2, SPCR2_XRST); SetMask(pMCBSP0 - spcr1, SPCR1_RRST); void AIC23_Init() I2C_Init(); / Reset the AIC23 and turn on all power AIC23_Write(AIC23_RESET_REG, 0); AIC23_Write(AIC23_POWER_DOWN_CTL, 0); AIC23_Write(AIC23_ANALOG_AUDIO_CTL, ANAPCTL_DAC | ANAPCTL_INSEL);/ 使用麥克風音源 AIC23_Write(AIC23_DIGITAL_AUDIO_CTL, 0); / Turn on volume for line inputs AIC23_Write(AIC23_LT_LINE_CTL,0x000); AIC23_Write(AIC23_RT_LINE_CTL,0x000); / Configure the AIC23 for master mode, 44.1KHz stereo, 16 bit samples / Use 12MHz USB clock AIC23_Write(AIC23_DIGITAL_IF_FORMAT, DIGIF_FMT_MS | DIGIF_FMT_IWL_16 | DIGIF_FMT_FOR_DSP); AIC23_Write(AIC23_SAMPLE_RATE_CTL, SRC_SR_44 | SRC_BOSR | SRC_MO); / Turn on headphone volume and digital interface AIC23_Write(AIC23_LT_HP_CTL, 0x07f); / 0x79 for speakers AIC23_Write(AIC23_RT_HP_CTL, 0x07f); AIC23_Write(AIC23_DIG_IF_ACTIVATE, DIGIFACT_ACT); / Set McBSP0 to be transmit slave McBSP0_InitSlave();void AIC23_Disable() PC55XX_MCSP pMCBSP0 = (PC55XX_MCSP)C55XX_MSP0_ADDR; I2C_Disable(); / Put the MCBSP in reset Write(pMCBSP0 - spcr1, 0); Write(pMCBSP0 - spcr2, 0);#define AUTIODATALEFT 0x0d000#define AUTIODATARIGHT 0x17000int *pAudioLeft,*pAudioRight;int www=0; void AIC23_Mixer() PC55XX_MCSP pMCBSP0 = (PC55XX_MCSP)C55XX_MSP0_ADDR; int left, right; int *pl,*pr,nAudioCount; int i; pAudioLeft=pl=(int *)AUTIODATALEFT;pAudioRight=pr=(int *)AUTIODATARIGHT;nAudioCount=0; for ( i=0;iNX;i+) xi=0; for ( i=0;i spcr2, SPCR2_XRDY);/ 等待數(shù)據(jù)傳輸完成 (*pl)=left = Read(pMCBSP0 - ddr1);/ 讀入左聲道數(shù)據(jù) right = Read(pMCBSP0 - ddr2);/ 讀入右聲道數(shù)據(jù) xNX-1=left/16;/ 防止濾波時數(shù)據(jù)溢出 fir2(x, h, r, db, NX, NH);/ 調(diào)用濾波程序計算當前輸出(*pr)=rNX-1;/ 數(shù)組r的最后一個單元為當前輸出 Write(pMCBSP0 - dxr1, left);/ 將原始數(shù)據(jù)送左聲道輸出 /Write(pMCBSP0 - dxr1, rNX-1);/ 將原始數(shù)據(jù)送左聲道輸出 Write(pMCBSP0 - dxr2, rNX-1);/ 將經(jīng)過濾波后的數(shù)據(jù)送右聲道輸出 nAudioCount+; pl+; pr+;/ 循環(huán)使用緩沖區(qū) if ( nAudioCount=1024 ) nAudioCount=0;/ break point pl=pAudioLeft; pr=pAudioRight; for ( i=0;iNX-1;i+ )/ 重新調(diào)整輸入序列(供fir2使用) xi=xi+1; 實驗結(jié)果四、心得體會這次課程設計實現(xiàn)了一個簡單的FIR濾波器的設計。通過這一個星期的課程設計,我學到了很多的東西,不僅鞏固了我以前所學過的知識, 還讓我學到很多在書本上所沒有學到過的知識。 同時通過這次課程設計,我了解了FIR濾波器的原理,熟練掌握了MATLAB的操作,不僅是我學到了知識,更鍛煉了我的動手能力。也進一步認識了CCStudio軟件的使用,了解了各種
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- ××超市監(jiān)控系統(tǒng)細則
- 2025年系統(tǒng)集成項目管理工程師考試網(wǎng)絡技術(shù)與應用試卷
- 假期旅游計劃知情及同意證明(7篇)
- 工業(yè)互聯(lián)網(wǎng)平臺2025年生物識別技術(shù)在智能工廠人員管理中的應用方案
- 2025年病煤生物工作試題
- 電子商務營銷中的消費者行為分析閱讀題
- 2025年城市自來水廠升級改造項目施工進度與質(zhì)量控制報告
- 城市污水處理廠智能化升級改造中的智能水質(zhì)監(jiān)測與預警系統(tǒng)應用報告
- 網(wǎng)絡直播平臺內(nèi)容監(jiān)管與行業(yè)自律發(fā)展的技術(shù)創(chuàng)新分析報告
- 2025年金融CRM數(shù)字化升級金融行業(yè)客戶關(guān)系管理智能化解決方案報告
- 標本采集錯誤警示教育
- 2025年人教版小學四年級下冊數(shù)學期末提升測試試題(含答案和解析)
- 2025年高等自學教育考試馬克思主義基本原理概論全真模擬試卷及答案(共四套)
- 2025年安徽省高考物理真題(解析版)
- 2025年新疆中考數(shù)學真題試卷及答案
- 2025-2030年中國茶具行業(yè)深度分析及發(fā)展前景與發(fā)展戰(zhàn)略研究報告
- 2025至2030年中國月子中心行業(yè)競爭格局分析及市場前景趨勢報告
- 2025年中國螢石行業(yè)市場全景調(diào)查研究報告
- 知不足而奮進 望遠山而前行課件-2026屆高三一輪復習總動員會
- 2025年山煤國際招聘筆試沖刺題(帶答案解析)
- 2024-2025學年七年級英語下學期期末模擬試卷(外研版2024)
評論
0/150
提交評論