版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)字信號(hào)處理課程設(shè)計(jì)基于DSP5509的語(yǔ)音信號(hào)采集系統(tǒng)設(shè)計(jì)計(jì)算機(jī)系10級(jí)通信1班2013年5月24日2013年6月28日目錄摘要 21緒論 31.1DSP系統(tǒng)特點(diǎn)和設(shè)計(jì)基本原則 31.2國(guó)內(nèi)外研究動(dòng)態(tài) 32軟件設(shè)計(jì) 53實(shí)驗(yàn)結(jié)果及分析 123.1實(shí)驗(yàn)結(jié)果 123.2實(shí)驗(yàn)分析 144總結(jié)與心得體會(huì) 15參考文獻(xiàn) 16致謝 17摘要基于DSP的語(yǔ)音信號(hào)處理系統(tǒng),該系統(tǒng)采用TMS320VC5509作為主處理器,TLV320AIC23B作為音頻芯片,在此基礎(chǔ)上完成系統(tǒng)硬件平臺(tái)的搭建和軟件設(shè)計(jì),從而實(shí)現(xiàn)對(duì)語(yǔ)音信號(hào)的采集、濾波和回放功能,它可作為語(yǔ)音信號(hào)處理的通用平臺(tái)。語(yǔ)音是人類相互之間進(jìn)行交流時(shí)使用最多、最自然、最基本也是最重要的信息載體。在高度信息化的今天,語(yǔ)音信號(hào)處理是信息高速公路、多媒體技術(shù)、辦公自動(dòng)化、現(xiàn)代通信及智能系統(tǒng)等新興領(lǐng)域應(yīng)用的核心技術(shù)之一。通常這些信號(hào)處理的過(guò)程要滿足實(shí)時(shí)且快速高效的要求,隨著DSP技術(shù)的發(fā)展,以DSP為內(nèi)核的設(shè)備越來(lái)越多,為語(yǔ)音信號(hào)的處理提供了良好的平臺(tái)。本文設(shè)計(jì)了一個(gè)基于TMS320VC5509定點(diǎn)的語(yǔ)音信號(hào)處理系統(tǒng),實(shí)現(xiàn)對(duì)語(yǔ)音信號(hào)的采集、處理與回放等功能,為今后復(fù)雜的語(yǔ)音信號(hào)處理算法的研究和實(shí)時(shí)實(shí)現(xiàn)提供一個(gè)通用平臺(tái)。關(guān)鍵詞:語(yǔ)音處理;DSP;TMS320VC5509;TLV320AIC23B1緒論語(yǔ)音是人類相互間所進(jìn)行的通信的最自然和最簡(jiǎn)潔方便的形式,語(yǔ)音通信是一種理想的人機(jī)通信方式。語(yǔ)音通信的研究涉及到人工智能、數(shù)字信號(hào)處理、微型計(jì)算機(jī)技術(shù)、語(yǔ)言聲學(xué)、語(yǔ)言學(xué)等許多領(lǐng)域,所以說(shuō)語(yǔ)音的通信是一個(gè)多學(xué)科的綜合研究領(lǐng)域,其研究成果具有重要的學(xué)術(shù)價(jià)值。另外通過(guò)語(yǔ)音來(lái)傳遞信息是人類最重要的、最有效、最常用的交換信息的形式。語(yǔ)言是人類特有的功能,聲音是人類常用的工具,是相互傳遞信息的主要手段。同時(shí)也是眾構(gòu)成思想交流和感情溝通的最主要的途徑。1.1DSP系統(tǒng)特點(diǎn)和設(shè)計(jì)基本原則DSP(digitalsignalprocessor)是一種獨(dú)特的微處理器,是以數(shù)字信號(hào)來(lái)處理大量信息的器件。其工作原理是接收模擬信號(hào),轉(zhuǎn)換為0或1的數(shù)字信號(hào)。再對(duì)數(shù)字信號(hào)進(jìn)行修改、刪除、強(qiáng)化,并在其他系統(tǒng)芯片中把數(shù)字?jǐn)?shù)據(jù)解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,而且其實(shí)時(shí)運(yùn)行速度可達(dá)每秒數(shù)以千萬(wàn)條復(fù)雜指令程序,遠(yuǎn)遠(yuǎn)超過(guò)通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片。它的強(qiáng)大數(shù)據(jù)處理能力和高運(yùn)行速度,是最值得稱道的兩大特色。1.2國(guó)內(nèi)外研究動(dòng)態(tài)語(yǔ)音信號(hào)處理作為一個(gè)重要的研究領(lǐng)域,已經(jīng)有很長(zhǎng)的研究歷史。但是它的快速發(fā)展可以說(shuō)是從1940年前后Dudley的聲碼器和Potter等人的可見語(yǔ)音開始的;20世紀(jì)60年代中期形成的一系列數(shù)字信號(hào)處理的理念和技術(shù)基礎(chǔ);到了80年代,由于矢量量化、隱馬爾可夫模型和人工神經(jīng)網(wǎng)絡(luò)等相繼被應(yīng)用于語(yǔ)音信號(hào)處理,并經(jīng)過(guò)不斷改進(jìn)與完善,使得語(yǔ)音信號(hào)處理技術(shù)產(chǎn)生了突破性的進(jìn)展。一方面,對(duì)聲學(xué)語(yǔ)音學(xué)統(tǒng)計(jì)模型的研究逐漸深入,魯棒的語(yǔ)音識(shí)別、基于語(yǔ)音段的建模方法及隱馬爾可夫模型與人工神經(jīng)網(wǎng)絡(luò)的結(jié)合成為研究的熱點(diǎn)。另一方面,為了語(yǔ)音識(shí)別實(shí)用化的需要,講者自適應(yīng)、聽覺(jué)模型、快速搜索識(shí)別算法以及進(jìn)一步的語(yǔ)言模型的研究等課題倍受關(guān)注。在通信越來(lái)越發(fā)達(dá)的當(dāng)今世界,尤其最近幾十年,語(yǔ)音壓縮編碼技術(shù)在移動(dòng)通信、IP電話通信、保密通信、衛(wèi)星通信以及語(yǔ)音存儲(chǔ)等很多方面得到了廣泛的應(yīng)用。因此,語(yǔ)音編碼一直是通信和信號(hào)處理的研究熱點(diǎn),并其取得了驚人的進(jìn)展,目前在PC機(jī)上的語(yǔ)音編碼已經(jīng)趨于成熟,而如何在嵌入式系統(tǒng)中實(shí)時(shí)實(shí)現(xiàn)語(yǔ)音壓縮編碼則是近些年來(lái)語(yǔ)音信號(hào)處理領(lǐng)域的研究熱點(diǎn)之一。2軟件設(shè)計(jì)要正確配置DSP的時(shí)鐘發(fā)生器,產(chǎn)生DSP工作的正常時(shí)鐘頻率,這一個(gè)步驟的關(guān)鍵就是數(shù)字瑣相環(huán)PLL的應(yīng)用。I2C模塊是TMS320VC55xx新增的片內(nèi)集成外設(shè),通過(guò)I2C對(duì)TLV320AIC23進(jìn)行編程控制,可以使DSP與I2C兼容設(shè)備通過(guò)該接口進(jìn)行數(shù)據(jù)通信。通過(guò)硬件和軟件調(diào)試,最終成功采集到語(yǔ)音信號(hào)并播放出來(lái),可以在CCS軟件中觀察到采集到的語(yǔ)音信號(hào)的波形。改變程序中的延遲參數(shù),可以明顯改變混響效果。aduio.pjt;CodeComposerProjectFile,Version2.0(donotmodifyorremovethisline)
[ProjectSettings]
ProjectDir="C:\VC5509AeS61\Lab0701-Echo\"
ProjectType=Executable
CPUFamily=TMS320C55XX
Tool="Compiler"
Tool="CustomBuilder"
Tool="DspBiosBuilder"
Tool="Linker"
Config="Debug"
Config="Release"
[SourceFiles]
Source="aic23.c"
Source="audio.c"
Source="i2c.c"
Source="sdram_init.c"
Source="util.c"
Source="audio.cmd"
["Compiler"Settings:"Debug"]
Options=-g-q-fr"C:\VC5509AeS61\Lab0701-Echo\Debug"-d"_DEBUG"-ml-mn
["Compiler"Settings:"Release"]
Options=-q-o2-fr"C:\VC5509AeS61\Lab0701-Echo\Release"
["DspBiosBuilder"Settings:"Debug"]
Options=-v55
["DspBiosBuilder"Settings:"Release"]
Options=-v55
["Linker"Settings:"Debug"]
Options=-q-c-m".\Debug\audio.map"-o".\Debug\audio.out"-w-x
["Linker"Settings:"Release"]
Options=-q-c-m".\Release\audio.map"-o".\Release\audio.out"-w-x
aic23.c#include"5509.h"
#include"util.h"
#include"extaddr.h"
#include"math.h"
//AIC23ControlRegisteraddresses
#defineAIC23_LT_LINE_CTL0x00//0
#defineAIC23_RT_LINE_CTL0x02//1
#defineAIC23_LT_HP_CTL0x04//2
#defineAIC23_RT_HP_CTL0x06//3
#defineAIC23_ANALOG_AUDIO_CTL0x08//4
#defineAIC23_DIGITAL_AUDIO_CTL0x0A//5
#defineAIC23_POWER_DOWN_CTL0x0C//6
#defineAIC23_DIGITAL_IF_FORMAT0x0E//7
#defineAIC23_SAMPLE_RATE_CTL0x10//8
#defineAIC23_DIG_IF_ACTIVATE0x12//9
#defineAIC23_RESET_REG0x1E//F-Writing0tothisregtriggersreset
//AIC23ControlRegistersettings
#definelt_ch_vol_ctrl0x0017/*0*/
#definert_ch_vol_ctrl0x0017/*1*/
#definelt_ch_headph_ctrl0x0079/*2*/
#definert_ch_headph_ctrl0x0079/*3*/
#definealog_au_path_ctrl0x0000/*4*/
#definedigi_au_path_ctrl0x0000/*5*/
#definepow_mgt_ctrl_ctrl0x0002/*6*/
#definedigi_au_intf_ctrl0x000D/*7*/
#defineau_FS_TIM_ctrl0x0000/*8MCLK=12MHz,SampleRatesetting*/
#definedigi_intf1_ctrl0x0001/*9*/
#definedigi_intf2_ctrl0x00FF/*10*/
#defineDIGIF_FMT_MS0x40
#defineDIGIF_FMT_LRSWAP0x20
#defineDIGIF_FMT_LRP0x10
#defineDIGIF_FMT_IWL0x0c
#defineDIGIF_FMT_FOR0x03
#defineDIGIF_FMT_IWL_160x00
#defineDIGIF_FMT_IWL_200x04
#defineDIGIF_FMT_IWL_240x08
#defineDIGIF_FMT_IWL_320xc0
#defineDIGIF_FMT_FOR_MSBRIGHT0x00
#defineDIGIF_FMT_FOR_MSLEFT0x01
#defineDIGIF_FMT_FOR_I2S0x02
#defineDIGIF_FMT_FOR_DSP0x03
#definePOWER_DEV0x80
#definePOWER_CLK0x40
#definePOWER_OSC0x20
#definePOWER_OUT0x10
#definePOWER_DAC0x08
#definePOWER_ADC0x04
#definePOWER_MIC0x02
#definePOWER_LINE0x01
#defineSRC_CLKOUT0x80
#defineSRC_CLKIN0x40
#defineSRC_SR0x3c
#defineSRC_BOSR0x02
#defineSRC_MO0x01
#defineSRC_SR_440x20
#defineSRC_SR_320x18
#defineANAPCTL_STA0xc0
#defineANAPCTL_STE0x20
#defineANAPCTL_DAC0x10
#defineANAPCTL_BYP0x08
#defineANAPCTL_INSEL0x04
#defineANAPCTL_MICM0x02
#defineANAPCTL_MICB0x01
#defineDIGPCTL_DACM0x08
#defineDIGPCTL_DEEMP0x06
#defineDIGPCTL_ADCHP0x01
#defineDIGPCTL_DEEMP_DIS0x00
#defineDIGPCTL_DEEMP_320x02
#defineDIGPCTL_DEEMP_440x04
#defineDIGPCRL_DEEMP_480x06
#defineDIGIFACT_ACT0x01
#defineLT_HP_CTL_LZC0x80
#defineRT_HP_CTL_RZC0x80
voidAIC23_Write(unsignedshortregaddr,unsignedshortdata)
{
unsignedcharbuf[2];
buf[0]=regaddr;
buf[1]=data;
I2C_Write(I2C_AIC23,2,buf);
}
voidMcBSP0_InitSlave()
{
PC55XX_MCSPpMCBSP0=(PC55XX_MCSP)C55XX_MSP0_ADDR;
//PuttheMCBSPinreset
Write(pMCBSP0->spcr1,0);
Write(pMCBSP0->spcr2,0);
//Configframeparameters(32bit,singlephase,nodelay)
Write(pMCBSP0->xcr1,XWDLEN1_32);
Write(pMCBSP0->xcr2,XPHASE_SINGLE|XDATDLY_0);
Write(pMCBSP0->rcr1,RWDLEN1_32);
Write(pMCBSP0->rcr2,RPHASE_SINGLE|RDATDLY_0);
//Disableintframegenerationandenableslavew/extframesignalsonFSX
//Framesyncisactivehigh,dataclockedonrisingedgeofclkx
Write(pMCBSP0->pcr,PCR_CLKXP);
//Bringtransmitterandreceiveroutofreset
SetMask(pMCBSP0->spcr2,SPCR2_XRST);
SetMask(pMCBSP0->spcr1,SPCR1_RRST);
}
voidAIC23_Init()
{
I2C_Init();
//ResettheAIC23andturnonallpower
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);
//Turnonvolumeforlineinputs
AIC23_Write(AIC23_LT_LINE_CTL,0x000);
AIC23_Write(AIC23_RT_LINE_CTL,0x000);
//ConfiguretheAIC23formastermode,44.1KHzstereo,16bitsamples
//Use12MHzUSBclock
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);
//Turnonheadphonevolumeanddigitalinterface
AIC23_Write(AIC23_LT_HP_CTL,0x07f);//0x79forspeakers
AIC23_Write(AIC23_RT_HP_CTL,0x07f);
AIC23_Write(AIC23_DIG_IF_ACTIVATE,DIGIFACT_ACT);
//SetMcBSP0tobetransmitslave
McBSP0_InitSlave();
}
voidAIC23_Disable()
{
PC55XX_MCSPpMCBSP0=(PC55XX_MCSP)C55XX_MSP0_ADDR;
I2C_Disable();
//PuttheMCBSPinreset
Write(pMCBSP0->spcr1,0);
Write(pMCBSP0->spcr2,0);
}
#defineAUDIOBUFFER0x200000
FARPTRlpAudio;
unsignedintbEcho=0,uDelay=64,uEffect=256;
voidAIC23_Mixer()
{
PC55XX_MCSPpMCBSP0=(PC55XX_MCSP)C55XX_MSP0_ADDR;
intnWork,nWork1;
FARPTRlpWork,lpWork1;
longintluWork,luWork1;
floatfWork,fWork1;
lpWork=lpAudio=AUDIOBUFFER;luWork=0;
for(luWork1=0;luWork1<0x48000;luWork1++)
far_poke(lpWork++,0);
lpWork=lpAudio;
while(1)
{
while(!ReadMask(pMCBSP0->spcr2,SPCR2_XRDY));
nWork=Read(pMCBSP0->ddr2); //
nWork=Read(pMCBSP0->ddr1); //
far_poke(lpWork++,nWork); //
if(bEcho) //
{
uEffect%=1024; // uDelay%=1024; //
fWork=uEffect/1024.0;
luWork1=100;
luWork1*=uDelay;
luWork1=luWork-luWork1;
if(luWork1<0) luWork1+=0x48000;
lpWork1=lpAudio;
lpWork1+=luWork1; //
nWork1=far_peek(lpWork1); //
fWork1=nWork1;
fWork1/=512.0;
fWork1*=uEffect;
fWork1+=nWork;
fWork+=1.0;
fWork1/=fWork;
nWork=fWork1; //}
Write(pMCBSP0->dxr2,nWork); //Write(pMCBSP0->dxr1,nWork); //luWork++; //if(luWork>=0x48000)
{
lpWork=lpAudio;luWork=0;
}
}
}
3實(shí)驗(yàn)結(jié)果及分析3.1實(shí)驗(yàn)結(jié)果按“F5”鍵運(yùn)行,注意觀察窗口中的bEcho=0,表示數(shù)字回聲功能沒(méi)有激活。這時(shí)從耳機(jī)中能聽到麥克風(fēng)中的輸入語(yǔ)音放送。將觀察窗口中bEcho的取值改成非0值。這時(shí)可從耳機(jī)中聽到帶數(shù)字回聲道語(yǔ)音放送。分別調(diào)整uDelay和uEffect的取值,使他們保持在0-1023范圍內(nèi),同時(shí)聽聽耳機(jī)中的輸出有何變化。當(dāng)uDelay和uEffect的數(shù)值增大時(shí),數(shù)字回聲的效果就會(huì)越加的明顯。圖3.1修改前程序圖圖3.2修改前程序圖圖3.3頻譜分析圖3.4左聲道及右聲道波形3.2實(shí)驗(yàn)分析所以,從本實(shí)驗(yàn)可知當(dāng)已知一個(gè)數(shù)字音源后,可以利用計(jì)算機(jī)的處理能力,用數(shù)字的方式通過(guò)計(jì)算模擬回聲效應(yīng)。簡(jiǎn)單的講,可以在原聲音流中疊加延遲一段時(shí)間后的聲流,實(shí)現(xiàn)回聲效果。當(dāng)然通過(guò)復(fù)雜運(yùn)算,可以計(jì)算各種效應(yīng)的混響效果。聲音放送可以加入數(shù)字回聲,數(shù)字回聲的強(qiáng)弱和與原聲的延遲均可在程序中設(shè)定和調(diào)整。4總結(jié)與心得體會(huì)通過(guò)本次課程設(shè)計(jì),我明白了細(xì)節(jié)決定成敗這句話的道理,在實(shí)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度股權(quán)質(zhì)押資產(chǎn)重組合同示范文本3篇
- 二零二五年度鋼材倉(cāng)儲(chǔ)物流服務(wù)合同9篇
- 二零二五年度路燈照明設(shè)施安全檢測(cè)合同樣本2篇
- 二零二五年度:勞動(dòng)合同法實(shí)務(wù)操作與案例分析合同3篇
- 二零二五年度船舶建造與設(shè)備安裝合同2篇
- 二零二五年度農(nóng)產(chǎn)品質(zhì)量檢測(cè)合同范本3篇
- 二零二五年度安置房買賣合同電子支付與結(jié)算規(guī)范3篇
- 3、2025年度綠色出行接送機(jī)服務(wù)合同范本2篇
- 二零二五年度文化創(chuàng)意產(chǎn)業(yè)合作開發(fā)合同范本3篇
- 家里陪護(hù)合同(2篇)
- 手術(shù)室護(hù)理實(shí)踐指南2023年
- 電力安全工作規(guī)程(變電部分)課件
- 新人教版六年級(jí)下冊(cè)數(shù)學(xué)全冊(cè)課件
- 環(huán)保設(shè)施安全風(fēng)險(xiǎn)告知卡
- 卵石地層樁基旋挖鉆施工方案
- 江蘇對(duì)口單招英語(yǔ)考綱詞匯總結(jié)
- (完整word版)手卡模板
- GB/T 4091-2001常規(guī)控制圖
- GB/T 13912-2020金屬覆蓋層鋼鐵制件熱浸鍍鋅層技術(shù)要求及試驗(yàn)方法
- GB 18399-2001棉花加工機(jī)械安全要求
- 陜西省延安市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
評(píng)論
0/150
提交評(píng)論