




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
/科信學(xué)院DSP應(yīng)用系統(tǒng)〔三級(jí)項(xiàng)目〔2014/2015學(xué)年第二學(xué)期課程名稱(chēng):DSP原理與應(yīng)用題目:基于DSP的語(yǔ)音信號(hào)FIR低通濾波器設(shè)計(jì)專(zhuān)業(yè)班級(jí):信息1221學(xué)號(hào):學(xué)生姓名:Liu指導(dǎo)教師:設(shè)計(jì)成績(jī):2015年7月10日項(xiàng)目設(shè)計(jì)目的通過(guò)課程設(shè)計(jì),加深對(duì)DSP芯片TMS320C54x的結(jié)構(gòu)、工作原理的理解,獲得DSP應(yīng)用技術(shù)的實(shí)際訓(xùn)練,掌握設(shè)計(jì)較復(fù)雜DSP系統(tǒng)的基本方法、數(shù)字濾波器的設(shè)計(jì)過(guò)程,了解FIR的原理和特性,熟悉設(shè)計(jì)FIR數(shù)字濾波器的原理,學(xué)習(xí)FIR濾波器的DSP的實(shí)現(xiàn)原理,學(xué)習(xí)使用CCS的波形觀察窗口觀察輸入/輸出信號(hào)波形和頻譜變化情況。項(xiàng)目設(shè)計(jì)正文2.1硬件設(shè)計(jì)方案設(shè)計(jì)本次設(shè)計(jì)基于ccs3.3運(yùn)行環(huán)境下,使用ICETEK-VC5509-EDU實(shí)驗(yàn)箱〔包括仿真器、麥克風(fēng)輸入設(shè)備、耳機(jī)輸出相關(guān)設(shè)備等完成此次設(shè)計(jì)。主要是通過(guò)實(shí)驗(yàn)箱上AIC23芯片實(shí)時(shí)采集語(yǔ)音信號(hào),進(jìn)行FIR低通濾波,使用MATLAB環(huán)境下的FDAtool工具來(lái)產(chǎn)生低通濾波器系數(shù),用DSP匯編語(yǔ)言或C語(yǔ)言進(jìn)行編程實(shí)現(xiàn)FIR運(yùn)算對(duì)語(yǔ)音信號(hào)進(jìn)行濾波處理,并且與CCS算法庫(kù)中的dsplib中的算法相比較,對(duì)所設(shè)計(jì)的FIR濾波器各項(xiàng)指標(biāo)進(jìn)評(píng)價(jià)。2.1.2CCS開(kāi)發(fā)環(huán)境配置CCS可以工作在純軟件仿真環(huán)境中,就是由軟件在PC機(jī)內(nèi)存中構(gòu)造一個(gè)虛擬的DSP環(huán)境,可以調(diào)試、運(yùn)行程序。但一般軟件無(wú)法構(gòu)造DSP中的外設(shè),所以軟件仿真通常用于調(diào)試純軟件的算法和進(jìn)行效率分析等,本次設(shè)計(jì)將使用硬件仿真<Emulator>。在使用軟件仿真方式工作時(shí),無(wú)需連接板卡和仿真器等硬件。⑴雙擊桌面上圖標(biāo):進(jìn)入CCS設(shè)置窗口。⑵在出現(xiàn)的窗口中按標(biāo)號(hào)順序進(jìn)行如下設(shè)置:圖2-1Emulator選項(xiàng)圖⑶接著在下面的窗口中按標(biāo)號(hào)順序進(jìn)行如下選擇:圖2-2Emulator配置圖⑷在出現(xiàn)的窗口中按標(biāo)號(hào)順序進(jìn)行如下設(shè)置:圖2-3Emulator配置完成圖⑸在出現(xiàn)的窗口中按標(biāo)號(hào)順序進(jìn)行如下設(shè)置:圖2-4配置完成圖以上設(shè)置完成后,CCS已經(jīng)被設(shè)置成Emulator的方式<用仿真器連接硬件板卡的方式>,并且指定通過(guò)ICETEK-5100USB仿真器連接ICETEK-VC5509-A2.1.3語(yǔ)音編解碼芯片TLV320AIC23原理ICETEK-VC5509-A評(píng)估板上有一個(gè)語(yǔ)音編解碼芯片TLV320AIC23。TLV320AIC23內(nèi)置耳機(jī)輸出放大器,支持MIC和LINEIN兩種輸入方式〔二選一,且對(duì)輸入和輸出都具有可編程增益調(diào)節(jié)。AIC23的模數(shù)轉(zhuǎn)換〔ADCs和數(shù)模轉(zhuǎn)換〔DACs部件高度集成在芯片內(nèi)部,采用了先進(jìn)的Sigma-delta過(guò)采樣技術(shù),可以在8K到96K的頻率范圍內(nèi)提供16bit、20bit、24bit和32bit的采樣,ADC和DAC的輸出信噪比分別可以達(dá)到90dB和100dB。圖2-5TMS320VC5509與TLV320AIC23的連接示意圖系統(tǒng)中AIC23的主時(shí)鐘12MHz直接由外部的晶振提供。MODE接數(shù)字地,表示利用I2C控制接口對(duì)AIC23傳輸控制數(shù)據(jù)。CS接數(shù)字地,定義了I2C總線上AIC23的外設(shè)地址,通過(guò)將CS接到高電平或低電平,可以選擇AIC23作為從設(shè)備在I2C總線上的地址。SCLK和SDIN是AIC23控制端口的移位時(shí)鐘和配置數(shù)據(jù)輸入端,分別與VC5509的I2C模塊端口SCL和SDA相連。收發(fā)時(shí)鐘信號(hào)CLKX1和CLKR1由AIC23的串行數(shù)據(jù)輸入時(shí)鐘BCLK提供,并由AIC23的幀同步信號(hào)LRCIN、LRCOUT啟動(dòng)串口數(shù)據(jù)傳輸。DX0和DR0分別與AIC23的DIN和DOUT相連,從而完成VC5509與AIC23間的數(shù)字信號(hào)通信。2.1.4FIR濾波器原理對(duì)于一個(gè)FIR濾波器系統(tǒng),它的沖擊響應(yīng)總是又限長(zhǎng)的,其系統(tǒng)函數(shù)可記為:<2-a>其中N-1是FIR的濾波器的階數(shù),為延時(shí)結(jié),h<n>為端口信號(hào)函數(shù)。最基本的FIR濾波器可用下式表示:<2-b>其中x<n-k>輸入采樣序列,h<k>是濾波器系數(shù),N是濾波器的階數(shù)Y<N>表示濾波器的輸出序列,也可以用卷積來(lái)表示輸出序列y<n>與x<n>、h<n>的關(guān)系,如下:<2-c>2.1.5濾波器系數(shù)的生成在Matlab的Start菜單中選擇Toolboxes->FilterDesign->FilterDesign&AnalysisTools<fdatool>,或者在命令行中輸入fdatool來(lái)啟動(dòng)濾波器設(shè)計(jì)分析器。啟動(dòng)成功后界面如圖所示。圖2-6fdatool界面圖在選項(xiàng)中選擇或輸入濾波器參數(shù),然后點(diǎn)擊"DesignFilter"按鈕,完成濾波器的設(shè)計(jì)。具體參數(shù)及設(shè)計(jì)成功后的結(jié)果如圖圖2-7濾波器圖從Matlab中導(dǎo)出FIR濾波器系數(shù)。在Fdatool中,選擇Targets->CodeComposerStudio<tm>IDE,在出現(xiàn)的對(duì)話框中選擇輸出文件類(lèi)型為Cheaderfile,輸出系數(shù)類(lèi)型為signed16-bitinteger,如圖所示。點(diǎn)擊Generate按鈕,選擇路徑,即可輸出前一步設(shè)計(jì)出的FIR濾波器的系數(shù)表。圖2-8系數(shù)生成圖2.1.5FIR濾波器的DSP實(shí)現(xiàn)FIR濾波器的輸出表達(dá)式為<2-d>式中為濾波器系數(shù)x<n>表示濾波器在n時(shí)刻的輸入y<n>為n時(shí)刻的輸出。它的基本算法是一種乘法-累加運(yùn)算即不斷地輸入樣本x<n>經(jīng)過(guò)延時(shí)后,再進(jìn)行乘法-累加,最后輸出濾波結(jié)果y<n>。該次設(shè)計(jì)中采用的是循環(huán)緩沖法設(shè)計(jì)FIR低通濾波器,循環(huán)緩沖區(qū)法的特點(diǎn)如下:<1>對(duì)于N級(jí)FIR濾波器在數(shù)據(jù)存儲(chǔ)器中開(kāi)辟一個(gè)N單元的緩沖區(qū)滑窗用來(lái)存放最新的N個(gè)輸入樣本。<2>從最新樣本開(kāi)始取數(shù)<3>讀完最后一個(gè)樣本最老樣本后,輸入最新樣本來(lái)代替最老樣本而其他數(shù)據(jù)位置不變。圖2-9FIR濾波器循環(huán)緩沖示意圖2.2軟件設(shè)計(jì)2.2.1系統(tǒng)分析通過(guò)麥克風(fēng)利用芯片AIC23進(jìn)行帶噪聲的語(yǔ)音信號(hào)采集,由于AIC本身自帶A/D轉(zhuǎn)化,采集得到的數(shù)據(jù)傳輸保存于MCBSP數(shù)據(jù)接收寄存器DDR。DSP對(duì)MCBSP中的數(shù)據(jù)進(jìn)行FIR濾波,并送給MCBSP中的數(shù)據(jù)發(fā)送寄存器DXR。DXR中數(shù)據(jù)回傳給AIC23,并利用它帶的D/A轉(zhuǎn)換進(jìn)行輸出,從而能聽(tīng)到濾波后的信號(hào)。開(kāi)始初始化語(yǔ)音緩沖區(qū)和工作變量開(kāi)始初始化語(yǔ)音緩沖區(qū)和工作變量等待McBSP通道0傳送結(jié)束讀取語(yǔ)音數(shù)據(jù)保存于左聲道緩沖區(qū)調(diào)用fir2計(jì)算FIR濾波輸出濾波結(jié)果保存于右聲道緩沖區(qū)原聲音送左聲道,濾波后送右聲道輸出主程序流程圖:開(kāi)始開(kāi)始初始化:EMIF、CPU頻率、AIC23調(diào)用AIC23_Mixer子程序處理音頻數(shù)據(jù)輸入/輸出2.2.2實(shí)現(xiàn)代碼主程序://測(cè)試時(shí)音頻插孔J5接音源,J7接揚(yáng)聲器。#include"5509.h"#include"util.h"voidwait<unsignedintcycles>;voidEnableAPLL<>;externintfir<int*,int*,unsignedint,int>;voidmain<>{SDRAM_init<>;EnableAPLL<>;PLL_Init<40>;AIC23_Init<>;PLL_Init<120>;for<;;>{AIC23_Mixer<>;AIC2323_Mixer<>;}}voidwait<unsignedintcycles>{inti;for<i=0;i<cycles;i++>{}}voidEnableAPLL<>{/*EnusreDPLLisrunning*/*<ioportvolatileunsignedshort*>0x1f00=4;wait<25>;*<ioportvolatileunsignedshort*>0x1f00=0;//MULITPLY*<ioportvolatileunsignedshort*>0x1f00=0x3000;//COUNT*<ioportvolatileunsignedshort*>0x1f00|=0x4F8;wait<25>;//*<ioportvolatileunsignedshort*>0x1f00|=0x800//MODE*<ioportvolatileunsignedshort*>0x1f00|=2;wait<30000>;//APLLSelect*<ioportvolatileunsignedshort*>0x1e80=1;//DELAYwait<60000>;}子程序1:#defineAUTIODATALEFT0x0d000#defineAUTIODATARIGHT0x17000int*pAudioLeft,*pAudioRight;intwww=0;intleft,right;int*pLeft,*pRight;intlft,rgt;voidAIC23_Mixer<>{PC55XX_MCSPpMCBSP0=<PC55XX_MCSP>C55XX_MSP0_ADDR;int*pl,*pr,nAudioCount;inti; pAudioLeft=pl=<int*>AUTIODATALEFT; pAudioRight=pr=<int*>AUTIODATARIGHT; nAudioCount=0;for<i=0;i<NX;i++>x[i]=0;for<i=0;i<NH+2;i++>db[i]=0;while<1>{while<!ReadMask<pMCBSP0->spcr2,SPCR2_XRDY>>;//等待數(shù)據(jù)傳輸完成left=<*pl>=Read<pMCBSP0->ddr1>; //讀入左聲道數(shù)據(jù)right=Read<pMCBSP0->ddr2>; //讀入右聲道數(shù)據(jù) x[NX-1]=left/16;//防止濾波時(shí)數(shù)據(jù)溢出 r[NX-1]=lowpassfir<>; <*pr>=r[NX-1]; //數(shù)組r的最后一個(gè)單元為當(dāng)前輸出Write<pMCBSP0->dxr1,left>; //將原始數(shù)據(jù)送左聲道輸出Write<pMCBSP0->dxr2,r[NX-1]>; //將經(jīng)過(guò)濾波后的數(shù)據(jù)送右聲道輸出nAudioCount++;pl++;pr++; //循環(huán)使用緩沖區(qū)if<nAudioCount>=1024>{ nAudioCount=0; //breakpoint pl=pAudioLeft; pr=pAudioRight;}for<i=0;i<NX-1;i++> //重新調(diào)整輸入序列<供fir2使用>{ x[i]=x[i+1];}}}intlowpassfir<>{ inti,y_out=0; for<i=0;i<NX;i++> { y_out+=<x[NX-i]+h[i]>; } return<y_out>; }子程序2:voidAIC2323_Mixer<>{PC55XX_MCSPpMCBSP0=<PC55XX_MCSP>C55XX_MSP0_ADDR;int*pll,*prr,nCount,i;pLeft=pll=<int*>AUTIODATALEFT; pRight=prr=<int*>AUTIODATARIGHT; nCount=0; for<i=0;i<NX;i++>in[i]=0;for<i=0;i<NH+2;i++>db[i]=0;while<1>{while<!ReadMask<pMCBSP0->spcr2,SPCR2_XRDY>>;//等待數(shù)據(jù)傳輸完成lft=<*pll>=Read<pMCBSP0->ddr1>; //讀入左聲道數(shù)據(jù)rgt=Read<pMCBSP0->ddr2>; //讀入右聲道數(shù)據(jù) in[NX-1]=lft/16;//防止濾波時(shí)數(shù)據(jù)溢出fir2<in,h,out,db,NX,NH>; //調(diào)用濾波程序計(jì)算當(dāng)前輸出<*prr>=out[NX-1]; //數(shù)組r的最后一個(gè)單元為當(dāng)前輸出Write<pMCBSP0->dxr1,lft>; //將原始數(shù)據(jù)送左聲道輸出Write<pMCBSP0->dxr2,out[NX-1]>;//將經(jīng)過(guò)濾波后的數(shù)據(jù)送右聲道輸出nCount++;pll++;prr++; //循環(huán)使用緩沖區(qū)if<nCount>=1024>{ nCount=0; //breakpoint pll=pLeft; prr=pRight;}for<i=0;i<NX-1;i++> //重新調(diào)整輸入序列<供fir2使用>{ in[i]=in[i+1];}}}2.2.3仿真結(jié)果在View的Graph中單擊Time/frequency出現(xiàn)graphpropertydialog框。將顯示類(lèi)型,圖形名稱(chēng),起始地址,抽樣點(diǎn)數(shù),數(shù)據(jù)類(lèi)型等分別進(jìn)行設(shè)置,輸出各種波形。輸出濾波前的信號(hào)時(shí)域波形語(yǔ)音輸入波形圖:圖2-10語(yǔ)音輸入<時(shí)域>圖2-11語(yǔ)音輸入<頻域>圖2-12濾波語(yǔ)音輸出<時(shí)域>圖2-13濾波語(yǔ)音輸出<頻域>圖2-14濾波器<時(shí)域>圖2-15濾波器<頻域>圖2-16庫(kù)函數(shù)濾波語(yǔ)音輸出<時(shí)域>圖2-17庫(kù)函數(shù)濾波語(yǔ)音輸出<時(shí)域>圖2-18
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高一年級(jí)英語(yǔ)下學(xué)期課堂管理計(jì)劃
- 醫(yī)院護(hù)理團(tuán)隊(duì)干部職責(zé)
- 不同年齡員工的飲食規(guī)劃建議
- 小學(xué)數(shù)學(xué)教師教學(xué)改革實(shí)踐方案
- 南梁革命根據(jù)地對(duì)青年教育的心得體會(huì)
- 中國(guó)智慧城市建設(shè)經(jīng)驗(yàn)分享
- 農(nóng)資電商的商業(yè)模式探討
- 建筑公司2025年可持續(xù)發(fā)展戰(zhàn)略與計(jì)劃
- 互聯(lián)網(wǎng)產(chǎn)品運(yùn)營(yíng)與用戶(hù)增長(zhǎng)策略
- 檔案工作在智能制造中的職責(zé)與應(yīng)用
- 嘉興華雯化工 - 201604
- 骨科手術(shù)學(xué)課件:髖及大腿的手術(shù)入路及部分手術(shù)介紹
- 冀教版七年級(jí)下冊(cè)數(shù)學(xué)課件 第8章 8.2.1 冪的乘方
- 橋梁線形與變形檢測(cè)檢測(cè)方法實(shí)施細(xì)則
- 三級(jí)醫(yī)院服務(wù)能力指南2022
- 除法口訣表(完整高清打印版)
- 部編三年級(jí)語(yǔ)文下冊(cè)詞語(yǔ)表帶拼音
- 中國(guó)飲食禮儀(課堂PPT)
- 張素芳--孫重三小兒推拿流派特色與臨床應(yīng)用完整版
- 河北省城市建設(shè)用地性質(zhì)和容積率調(diào)整管理規(guī)定---精品資料
- 卡通小學(xué)生文明禮儀主題班會(huì)內(nèi)容宣講PPT課件
評(píng)論
0/150
提交評(píng)論