基于TMS320VC5509定點(diǎn)的語(yǔ)音信號(hào)采集處理系統(tǒng)設(shè)計(jì)-語(yǔ)音采集和放送_第1頁(yè)
基于TMS320VC5509定點(diǎn)的語(yǔ)音信號(hào)采集處理系統(tǒng)設(shè)計(jì)-語(yǔ)音采集和放送_第2頁(yè)
基于TMS320VC5509定點(diǎn)的語(yǔ)音信號(hào)采集處理系統(tǒng)設(shè)計(jì)-語(yǔ)音采集和放送_第3頁(yè)
基于TMS320VC5509定點(diǎn)的語(yǔ)音信號(hào)采集處理系統(tǒng)設(shè)計(jì)-語(yǔ)音采集和放送_第4頁(yè)
基于TMS320VC5509定點(diǎn)的語(yǔ)音信號(hào)采集處理系統(tǒng)設(shè)計(jì)-語(yǔ)音采集和放送_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論