在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于TMS320C6203 DSP芯片實現G.729ab聲碼器的應用方案

電子設計 ? 來源:現代電子技術 ? 作者:廖延娜 ? 2021-03-17 14:23 ? 次閱讀

在VoIP媒體網關設備中,語音壓縮編碼是其關鍵技術之一。在ITU-T發布的應用于VoIP的語音壓縮編解碼標準中,G.729是應用較為廣泛的一種。G.729采用“共軛結構代數碼本激勵線性預測編碼” (CS-ACELP)算法,算法幀長為lO ms,編碼后速率為8 Kb/s。G.729有兩個附件:附件A給出一種低復雜度的算法,可應用于多媒體同步語音和數據;附件B在標準算法的基礎上增加了靜音檢測壓縮算法以降低平均傳輸率,包括靜音檢測(VAD)和舒適噪音產生(CNG)。文獻對G.729語音壓縮編碼算法的具體原理中有詳盡的描述,本文的論述重點在算法的匯語言優化、聲碼器的DSP硬件接口設計,以及其在媒體網關中的應用。

1 G.729ab編解碼核心算法優化

本文選擇TI公司的TMS320C6203芯片為核心,實現G.729ab聲碼器設計。TMS320C62xx系列DSP的集成開發環境Code Composer Studio(簡稱CCS)支持標準C語言匯編混合編程的方式編程,為了提高編解碼算法的效率,本文對ITU_T的標準G.729ab的C語言原碼進行匯編指令優化設計。同時,對于上層編解碼器控制函數,采用C語言開發,以提高聲碼器的可維護性。

C62xx采用6級流水線結構,提供了A,B兩組(共32個)通用寄存器,8個功能單元(.L1,.L2,.S1,.S2,.M1,.M2,.D1 和.D2),最多同時可以有8條指令處在不同的執行階段并行。流水線結構是DSP實現高速運算的重要技術。由于不同指令的指令周期不同,需要在多周期指令后插入足夠的NOP(空操作)指令,以避免流水線沖突。

在G.729ab的標準C代碼中,有大量的循環體。循環控制的關鍵跳轉指令B,需要等待5個指令周期,大量的NOP操作將降低代碼的效率。為了提高循環效率,可以合理安排指令順序,在一個匯編循環體內完成多個C循環的運算的流水線操作。用匯編指令實現如下簡單的for循環求信號能量的程序段為例:

上述示例可使用如下匯編程序段實現:

基于TMS320C6203 DSP芯片實現G.729ab聲碼器的應用方案

如上優化后,循環體LOOP僅為一個周期,在這一個周期中有6條并行運行的指令。其中,內存讀取指令LDFI需4個周期,故乘法指令SMPY是將向前追溯 4個循環周期的內存讀取結果相乘。同理,SMPY指令需2個周期,故SADD指令是將2個循環周期之前的相乘結果相加。B0和A1配合用于循環控制,在等待跳轉指令B有效的5個延時周期內,依次進行隨后的后一循環的取數,前第3個循環的相乘,前一個循環的求和、循環控制和跳轉指令,依次類推。上述優化實現了最優循環效率。

本設計優化后核心編解碼算法代碼完全符合ITUT G.729ab標準,并通過了ITU-T的所有測試矢量。使用300 MHz主頻的TMS320C6203實現聲碼器,單片可支持31路G.729ab算法。

2 聲碼器的DSP硬件接口設計

在媒體網關中,聲碼器的功能是實現PSTN的E1語音信號和數據網分組語音壓縮信號之間的編解碼轉化。利用TMS320C6203片內固化設置的 McBSP接口(多通道緩存串行接口)與HPI接口(主處理器接口),可以實現DSP與E1總線、以及數據網上層處理器的連接。結構示意圖如圖1所示。

TM320C6203通過內置McBSP與EDMA(Enhanced Directory Memory Access,增強型直接內存訪問)控制器配合,可實現與E1標準接口的鏈接。設置McBSP的接收/發送控制寄存器(R/XCR),使串口按照標準E1 數據格式進行數據收發;設置串口管腳控制寄存器(PCR),控制串口采用外部E1總線的時鐘和幀同步信號;設置串口控制寄存器(SPCR),控制串口的 R/XINT(收/發中斷)由EDMA響應。

TMS320C6203支持16個EDMA通道,其12~15通道可用于響應串口收、發中斷。以串口接收數據為例:本設計中設計了乒、乓兩個串口數據接收緩存區。

串口寄存器中的數據通過EDMA模式緩存到乒緩存區,當乒緩存區滿時,EDMA參數重載,控制切換,將數據緩存至乓緩存區,同時給出EDMA中斷,通知CPU讀取一幀數據。通過McBSP接口發送數據的過程完全類似。

聲碼器通過DSP的HPI接口與上層處理器連接,實現數據網分組語音壓縮信號的收發。在HPI接口中,設計了以太網數據發送/接收緩存區,并為每個緩存區設計了RP(Read Pointer,讀指針)和WP(Write Pointer,寫指針),用于控制上層處理器和DSP之間的編碼數據交互。同時上層處理器通過HPI接口向聲碼器發送指令,控制通道的打開或關閉。

3 在媒體網關中的應用設計

聲碼器內部的主控程序采用定時中斷方式訪問HPI接口,根據上層處理器的指令打開或關閉通道。同時主程序使用輪詢方式處理從E1接口來的PCM話音信號;根據相應的通道工作狀態設置編解碼算法參數,將話音信號壓縮編碼;編碼后的語音數據,通過HPI接口輸出到上層處理器,進入數字網絡。使用完全類似的輪詢處理方式,逆向處理從來自數字網絡的編碼數據。

由于數字網絡屬于分組通信,必須有合適的多媒體實時流網絡傳輸協議以保證語音的連貫性。在聲碼器的HPI接口控制程序中,設計了一個提供給上層處理器的 RTP(Real-TIme Transport Protocol,實時傳輸協議)接口,用于完成編碼和解碼數據包的輸出和輸入及相應的RTP成幀、解幀功能,具體功能設計如下:

RTP打包和發送:RTP包由具有固定格式的包頭和數據部分組成。將編碼后的語音數據,按照RTP打包參數的要求組織RTP頭和RTP凈荷。 RTP包頭中的關鍵字段為SN(Sequence Number,序列號)和TS(Time Stamp,時間戳)。SN用于對RTP包進行排序。每發送一個RTP數據包,SN加1。TS用于標識RTP數據包中第一個字節采樣時的時刻,以語音樣本為單位遞增;對于語音包和靜音壓縮包,TS增值一致。另外,RTP包頭中的PT(Payload Type,負載類型)字段用于指示RTP凈荷的數據編碼格式。在RFC3550中規定了標準音頻載荷類型:G.729編碼對應的PT為18。

由于RTP包頭中沒有長度字段,故對RTP包進行了外部擴展:將打好的RTP包作為凈荷,附加上RTP包數據長度、通道號,組成“以太網數據包”。針對C6203的32位尋址的HPI總線接口,設計以太網數據包格式如圖2所示。

RTP包發送:即寫“以太網數據包”至“以太網數據發送緩存區”。首先根據該緩存區的讀寫指針判斷剩余空間;如寫空間不夠,則放棄此次寫操作,該數據包同時被丟棄。如寫空間足夠,則將數據包寫入發送緩存區,并更新寫指針。上層處理器根據該緩存區的讀寫指針判斷該緩存區內是否有新數據,并進行讀操作,以及更新讀指針。

RTP包接收、排序和緩存:分組通信需要考慮語音的防抖動處理。本文通過設置靜態抖動緩沖區實現去抖動。首先根據“以太網數據接收緩存區”的讀寫指針判斷是否有新的數據包到來,如果有,則將該數據包根據RTP的SN和TS排列在相應通道的RTP緩存隊列中。重復上述過程直至將“以太網數據接收緩存區”中所有的數據包讀完,然后更新該緩存區的DSP讀指針。對于每個通道的RTP緩存隊列,當緩存語音數據到達預先定義的閾值K時,給出標志允許該通道開始進行語音數據解碼。如果數據分組有抖動延遲,則解碼語音可繼續保持K時間單位不被打斷。

4 結語

在純匯編并行優化的基礎上設計了高效的G.729ab聲碼器;利用TMS320C6203的在片外設McBSP實現了連接PSTN的標準E1接口;設計了用于分組數據收發的RTP協議接口,利用TMS320C6203的HPI接口方式與上層處理器連接,使聲碼器可靈活應用于媒體網關。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • dsp
    dsp
    +關注

    關注

    555

    文章

    8111

    瀏覽量

    353848
  • 芯片
    +關注

    關注

    459

    文章

    51839

    瀏覽量

    432475
  • 接口
    +關注

    關注

    33

    文章

    8861

    瀏覽量

    152840
收藏 人收藏

    評論

    相關推薦

    怎么將G.729A移到TMS320C6748?

    本帖最后由 淺唱_22214142 于 2021-5-10 22:30 編輯 使用TMS320C6748用采集語音,要將G.729A移到里面,要如何改寫代碼呢?
    發表于 04-08 21:18

    怎么實現高速G.729ab聲碼的設計?

    在純匯編并行優化的基礎上設計了高效的G.729ab聲碼;利用TMS320C6203的在片外設McBSP實現了連接PSTN的標準E1接口;設
    發表于 06-03 07:04

    如何采用通用法實現MELP聲碼算法?

    本文采用通用法實現MELP聲碼算法,選擇TI公司的TMS320VC5416 DSP芯片作為主處
    發表于 06-07 07:02

    TMS320C6203B pdf datasheet

    The TMS320C6203B device is part of the TMS320C62x™ fixed-point DSP generation
    發表于 08-07 22:32 ?12次下載

    TMS320C6203B-300,pdf(Fixed-Poi

    The TMS320C6203B device is part of the TMS320C62x™ fixed-point DSP generation
    發表于 12-09 21:53 ?20次下載

    TMS320C6203B-250,pdf(Fixed-Poi

    The TMS320C6203B device is part of the TMS320C62x™ fixed-point DSP generation
    發表于 12-09 22:01 ?12次下載

    采用DSP芯片的MELP聲碼的算法設計方案

    采用DSP芯片的MELP聲碼的算法設計方案 摘要:論文對MELP編解碼算法的原理進行了簡要分析,討論了如何在定點
    發表于 03-06 14:20 ?1533次閱讀
    采用<b class='flag-5'>DSP</b><b class='flag-5'>芯片</b>的MELP<b class='flag-5'>聲碼</b><b class='flag-5'>器</b>的算法設計<b class='flag-5'>方案</b>

    如何依靠TMS320C54X來實現G.729聲碼詳細概述

    該項目的主要目標是實現ITU-U G.729 8kB/s聲碼(Voice Coover)。ANSI C代碼可從ITU獲得,但由于編碼
    發表于 04-28 11:14 ?2次下載
    如何依靠<b class='flag-5'>TMS320C</b>54X來<b class='flag-5'>實現</b><b class='flag-5'>G.729</b><b class='flag-5'>聲碼</b><b class='flag-5'>器</b>詳細概述

    TMS320C6203B 定點數字信號處理

    電子發燒友網為你提供TI(ti)TMS320C6203B相關產品參數、數據手冊,更有TMS320C6203B的引腳圖、接線圖、封裝手冊、中文資料、英文資料,TMS320C6203B真值表,TM
    發表于 10-09 11:12
    <b class='flag-5'>TMS320C6203</b>B 定點數字信號處理<b class='flag-5'>器</b>

    高速G.729ab聲碼設計及其在媒體網關中的應用

    關鍵詞:媒體網關 , 聲碼 在VoIP媒體網關設備中,語音壓縮編碼是其關鍵技術之一。在ITU-T發布的應用于VoIP的語音壓縮編解碼標準中,G.729是應用較為廣泛的一種。G.729
    發表于 12-02 18:30 ?439次閱讀

    基于32位浮點DSP芯片TMS320C6713實現語音編解碼系統的設計

    本系統使用TI公司浮點型DSP TMS320C6713實現G.723.1等語音編解碼,為G.723.1、
    發表于 09-21 09:58 ?4709次閱讀
    基于32位浮點<b class='flag-5'>DSP</b><b class='flag-5'>芯片</b><b class='flag-5'>TMS320C</b>6713<b class='flag-5'>實現</b>語音編解碼系統的設計

    G.729AB語音編解碼-下載生產代碼

    G.729AB語音編解碼-下載生產代碼
    發表于 04-12 17:27 ?7次下載
    <b class='flag-5'>G.729AB</b>語音編解碼<b class='flag-5'>器</b>-下載生產代碼

    G.729AB語音編解碼-下載生產代碼

    G.729AB語音編解碼-下載生產代碼
    發表于 06-16 14:43 ?2次下載
    <b class='flag-5'>G.729AB</b>語音編解碼<b class='flag-5'>器</b>-下載生產代碼

    TMS320VC5505、TMS320C5505和TMS320C5515 DSP上的FFT實現

    電子發燒友網站提供《TMS320VC5505、TMS320C5505和TMS320C5515 DSP上的FFT實現.pdf》資料免費下載
    發表于 10-12 09:21 ?0次下載
    <b class='flag-5'>TMS320</b>VC5505、<b class='flag-5'>TMS320C</b>5505和<b class='flag-5'>TMS320C</b>5515 <b class='flag-5'>DSP</b>上的FFT<b class='flag-5'>實現</b>

    TMS320C31 DSP實現聲碼和短波調制解調算法

    電子發燒友網站提供《用TMS320C31 DSP實現聲碼和短波調制解調算法.pdf》資料免費
    發表于 10-28 10:10 ?0次下載
    用<b class='flag-5'>TMS320C</b>31 <b class='flag-5'>DSP</b><b class='flag-5'>實現</b><b class='flag-5'>聲碼</b><b class='flag-5'>器</b>和短波調制解調<b class='flag-5'>器</b>算法
    主站蜘蛛池模板: ssswww日本免费网站片 | 婷婷亚洲综合五月天小说在线 | 国产一二三区在线 | 靓装爱神12丝袜在线播放 | 日韩在线视频免费观看 | 国产成人毛片视频不卡在线 | 婷婷激情综合五月天 | 国产精品japanese人妖 | 国产va在线 | 黄视频网站免费观看 | 亚洲欧美一区二区三区在线播放 | 三级毛片在线播放 | 深爱激情五月婷婷 | 国产黄色三级三级三级 | 人人艹人人草 | 久久久网站亚洲第一 | 操操操操网| 四虎影永久在线观看网址 | 四虎永久免费地ww4hu57 | 男男失禁play 把尿bl | 在线播放视频网站 | 深夜动态福利gif进出粗暴 | 免费在线看黄色 | 精品国产污网站在线观看15 | 欧美性久久久久 | 久久这里只精品热在线8 | 黄色在线网站视频 | 色3344| 在线观看免费国产 | 新版天堂中文资源8在线 | 激情五月综合综合久久69 | 老司机深夜影院入口aaaa | 欧美人与动性xxxxbbbb | 亚洲美女爱爱 | 欧美sese| 午夜精品久久久久 | 美女被猛男躁免费视频网站 | 奇米777me| 欧美三级小视频 | 91大神精品在线观看 | 欧洲妇女成人淫片aaa视频 |