電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>DSP>多制式語音編解碼算法的DSP設(shè)計(jì)

多制式語音編解碼算法的DSP設(shè)計(jì)

2017-11-06 | rar | 0.3 MB | 次下載 | 1積分

資料介紹

 近二十年來,全球半導(dǎo)體產(chǎn)業(yè)的飛速發(fā)展帶動(dòng)相關(guān)的軟件、硬件設(shè)計(jì)水平迅速提高,這些發(fā)展使得一大批性能優(yōu)良的復(fù)雜的數(shù)字信號(hào)處理算法可以實(shí)時(shí)實(shí)現(xiàn)并在日常通信系統(tǒng)中得到廣泛應(yīng)用,極大地提高了現(xiàn)有通信系統(tǒng)的可靠性和效率。因此,研究語音處理技術(shù)并將其用基于DSP芯片硬件系統(tǒng)實(shí)現(xiàn)有著非常重要的現(xiàn)實(shí)意義和廣闊的市場前景。本文介紹了語音編解碼硬件平臺(tái)的設(shè)計(jì)思路和編解碼算法在硬件平臺(tái)上的實(shí)現(xiàn)和優(yōu)化過程,同時(shí)給出了硬件平臺(tái)結(jié)構(gòu)和低功耗設(shè)計(jì)思路。
  1 平臺(tái)中語音編解碼算法簡述
  本文在TI C55x系列DSP上實(shí)現(xiàn)了0.3kbps至16kbps的多種不同速率的語音編解碼算法。其中16kps速率采用連續(xù)可變?cè)隽空{(diào)制(CVSD)的波形編碼算法,8kps速率采用了ITU-T公布的G.729a標(biāo)準(zhǔn)算法。而低速率編解碼采用了正弦激勵(lì)線性預(yù)測(SELP)算法。SELP算法是建立在傳統(tǒng)的線性預(yù)測模型的基礎(chǔ)上,其中清音成分用白噪聲擬合,濁音成分在每個(gè)諧波處用一個(gè)頻率變化的正弦信號(hào)合成,整個(gè)激勵(lì)的濁音部分由一組不同幅度的正弦疊加而成,這也是SELP模型不同于傳統(tǒng)的線性預(yù)測的一個(gè)非常的重要方面,即激勵(lì)信號(hào)采用分帶混合正弦激勵(lì)。
  2 語音編解碼算法在DSP數(shù)字處理芯片上的實(shí)現(xiàn)和優(yōu)化
  由于在DSP上運(yùn)行的聲碼器必須要達(dá)到實(shí)時(shí)化的要求,而直接編譯的C程序遠(yuǎn)無法達(dá)到。因此需要編寫和優(yōu)化C55x的匯編代碼來提高聲碼器的運(yùn)行效率。下面介紹幾點(diǎn)在算法硬件實(shí)現(xiàn)過程中的關(guān)鍵技術(shù):
  2.1 C程序和匯編程序的混編,函數(shù)的調(diào)用和參數(shù)傳遞
  把一個(gè)模塊改寫為匯編函數(shù),然后在C程序或者匯編程序中調(diào)用它。在C55x的開發(fā)中,函數(shù)的調(diào)用機(jī)制是這樣的:首先記錄下函數(shù)傳遞來的參數(shù),和返回地址SP向低位移。然后再在堆棧中開出本地變量常量所需要的空間,SP再次向低位移。
 ?。?)匯編函數(shù)的聲明:在匯編函數(shù)中定義的函數(shù)如果要想在C代碼中被調(diào)用,必須用.global語句加以聲明,這樣,對(duì)象或函數(shù)被定義為外部的(external)。比如:
  .global _Rem_Dc
  _Rem_Dc:
  ……
 ?。?)參數(shù)傳遞:在函數(shù)調(diào)用的過程中,C代碼傳來的參數(shù)按照以下規(guī)則存放在特定的寄存器中:即16或23位的數(shù)據(jù)指針,先后存放在(X)AR0-(X)AR4中。16位的數(shù)據(jù),先后存放在T0,T1,AR0-AR4中,32位的數(shù)據(jù),先后存放在AC0,AC1和AC2中。如果參數(shù)個(gè)數(shù)超過寄存器個(gè)數(shù),則存放在堆棧中。同時(shí),函數(shù)的返回值如果是短整型(short)則存放在T0中,如果是長整型(long)則存放在AC0中,如果是指針則存放在(X)AR0中。
  例如:
  ①int fn(int i1, long l2, int *p3);
  則fn-》T0; il-》T0, l2-》AC0, p3-》AR0
 ?、趌ong fn(int *p1, int i2, int i3, int i4);
  則fn-》AC0, p1-》AR0, i2-》T0, i3-》T1, i4-》AR1
 ?、踲oid fn(long l1, long l2, long l3, long l4, int i5);
  則l1-》AC0, l2-》AC1, l3-》AC2, l4-》堆棧, i5-》T0
  ④void fn(long l1, long l2, long l3, int *p4, int *p5, int *p6, int *p7, int *p8, int i9, int i10);
  則l1-》AC0,l2-》AC1,l3-》AC2,p4-》AR0,p5-》AR1, p6-》AR2, p7-》AR3, p8-》AR4, i9-》T0,i10-》T1
  2.2 標(biāo)志位的設(shè)置
  標(biāo)志位是DSP芯片在計(jì)算時(shí)設(shè)置一些位置。它們存放在ST0_55~ST3_55中,在運(yùn)算中主要用到的幾個(gè)有:
  FRCT,當(dāng)其值等于1時(shí),乘法運(yùn)算的結(jié)果將左移一位。等于零時(shí),運(yùn)算結(jié)果不變。
  SATD,當(dāng)其值等于1時(shí),運(yùn)算發(fā)生溢出時(shí)作飽和處理
  SXMD,當(dāng)其值等于1時(shí),輸入操作數(shù)有符號(hào)擴(kuò)展
  SMUL,當(dāng)其值等于1時(shí),飽和模式開
  他們分別存儲(chǔ)在ST1_55和ST3_55寄存器的位置如圖1所示:
  
  
  圖1 C55x DSP關(guān)鍵標(biāo)志位在寄存器中的位置
  這幾個(gè)操作位的設(shè)置不對(duì)的話,會(huì)出現(xiàn)運(yùn)算結(jié)果的錯(cuò)誤。所以要根據(jù)程序的需要正確設(shè)置操作位,同時(shí)要在程序的前后保護(hù)和還原其初值。
  psh *(ST1_55)
  psh *(ST3_55)
  ……
  pop *(ST3_55)
  pop *(ST1_55)
  3 語音編解碼硬件平臺(tái)簡述
  本文設(shè)計(jì)的多模式語音編解碼系統(tǒng)基于C55x系列DSP和MCU的雙處理器設(shè)計(jì),主芯片采用了TI公司的TMS320VC5510A數(shù)字信號(hào)處理器。其時(shí)鐘周期最高為200MHz。擁有160KWord片上RAM(其中包括8塊4KWord的DARAM和32塊4KWord的SARAM)、16KWord片上ROM、8MWord的最大擴(kuò)展尋址能力。微控制器(MCU)選用TI公司的MSP430F149,主要完成系統(tǒng)啟動(dòng),電源管理,狀態(tài)監(jiān)控,DSP程序加載,聲碼器二進(jìn)制碼流位置重排等功能,并和DSP配合實(shí)現(xiàn)系統(tǒng)級(jí)加密機(jī)制。另外,硬件平臺(tái)的音頻編解碼芯片選用TLV320AIC10,而程序存儲(chǔ)部分采用的是SST39VF160 Flash,容量為1MWord,用來儲(chǔ)存程序和數(shù)據(jù)。本硬件平臺(tái)的框架結(jié)構(gòu)圖如圖2所示。
  
  圖2 多速率語音編解碼系統(tǒng)硬件平臺(tái)框架結(jié)構(gòu)圖
  4 低功耗設(shè)計(jì)
  在數(shù)字集成電路設(shè)計(jì)中,CMOS電路的靜態(tài)功耗很低,與其動(dòng)態(tài)功耗相比基本可以忽略不計(jì),故暫不考慮。其動(dòng)態(tài)功耗計(jì)算公式為:
  ? ?。?)
  式中Pd為CMOS芯片的動(dòng)態(tài)功耗;CT為CMOS芯片的負(fù)載電容;V為CMOS芯片的工作電壓;f為CMOS芯片的工作頻率。本硬件平臺(tái)的低功耗設(shè)計(jì)從選用有可變電壓和多電壓的器件、動(dòng)態(tài)功耗管理、動(dòng)態(tài)頻率控制三個(gè)方面入手。
  4.1 選用有可變電壓和多電壓的器件
  首先在文中的系統(tǒng)中,選用的單片機(jī)芯片TI公司的MSP430系列MCU是一款功耗相當(dāng)?shù)偷钠骷?a target='_blank' class='arckwlink_none'>供電電壓1.8V~3.6V,運(yùn)行模式下功耗280μA/MHz,待機(jī)模式下功耗1.6μA/MHz,禁用模式下功耗0.1μA/MHz。其次選用的DSP芯片TI的C5510 DSP采用兩種驅(qū)動(dòng)電壓,內(nèi)核電壓1.6V,I/O電壓3.3V,根據(jù)(1)式,IC器件的功耗和供電電壓的平方成正比,1.6V供電的器件比3.3V供電器件能降低一半以上的功耗。IC設(shè)計(jì)中通常都將降低電壓作為控制功耗的最直接的手段,通過采用低電壓供電的DSP,既能有效地降低內(nèi)核動(dòng)態(tài)功耗,還能兼顧I/O的電平兼容性。
  4.2動(dòng)態(tài)功耗管理
  PCM編解碼芯片TLV320AIC11可以單獨(dú)將A/D或D/A部分禁用。當(dāng)話筒PTT沒有按下時(shí),表示沒有話音輸入,此時(shí)可以將A/D部分置為IDLE狀態(tài)。同樣的,當(dāng)MODEM的CD信號(hào)為高時(shí),表示沒有有效的數(shù)字碼流輸入聲碼器,故在此時(shí)可以將D/A部分設(shè)為IDLE狀態(tài)。通過將該芯片配置成低功耗模式,降低了系統(tǒng)的功耗。另外,C5510 DSP芯片內(nèi)部劃出了五個(gè)獨(dú)立的IDLE域,分別負(fù)責(zé)CPU、DMA、CACHE、外設(shè)、時(shí)鐘生成器、EMIF接口的配置。每個(gè)域可以獨(dú)立地將該域管轄的多個(gè)部件設(shè)置成活動(dòng)模式或IDLE模式以此降低DSP的功耗。針對(duì)本文設(shè)計(jì),由于沒有使用到DMA、CACHE、時(shí)鐘生成器三個(gè)域中的外設(shè),故將這三個(gè)域設(shè)置成了IDLE模式。EMIF域在DSP和MSP交換數(shù)據(jù)(為了調(diào)整發(fā)送和接收的比特流)時(shí)才被置為活動(dòng),其他時(shí)候被置為IDLE。通過這樣的設(shè)置,更加有效地控制了整個(gè)系統(tǒng)的運(yùn)算功耗。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費(fèi)下載
  2. 0.00 MB  |  1489次下載  |  免費(fèi)
  3. 2單片機(jī)典型實(shí)例介紹
  4. 18.19 MB  |  91次下載  |  1 積分
  5. 3S7-200PLC編程實(shí)例詳細(xì)資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識(shí)別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關(guān)電源原理及各功能電路詳解
  10. 0.38 MB  |  9次下載  |  免費(fèi)
  11. 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
  12. 0.11 MB  |  4次下載  |  免費(fèi)
  13. 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計(jì)
  14. 0.23 MB  |  3次下載  |  免費(fèi)
  15. 8基于單片機(jī)的紅外風(fēng)扇遙控
  16. 0.23 MB  |  3次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費(fèi)
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費(fèi)
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費(fèi)
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費(fèi)
  9. 5555集成電路應(yīng)用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費(fèi)
  11. 6接口電路圖大全
  12. 未知  |  30319次下載  |  免費(fèi)
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費(fèi)
  15. 8開關(guān)電源設(shè)計(jì)實(shí)例指南
  16. 未知  |  21539次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537791次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233045次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191183次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183277次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138039次下載  |  免費(fèi)