新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于DSP的G.729語音編解碼器設計

        基于DSP的G.729語音編解碼器設計

        作者: 時間:2011-05-31 來源:網絡 收藏


        3 系統軟件
        系統軟件部分主要包括音頻接口模塊、數字接口模塊、CPLD控制模塊及處理模塊等。音頻接口模塊主要完成對TMS320VC5416的多通道緩沖串口McBSP0、McBSP1的配置及對音頻接口芯片的初始化等;數字接口模塊作為與外部信道的接口,在輸出碼流的同時提供幀同步與位同步信號,的重點在于McBSP2的配置,尤其是其內部采樣率發生器的配置;CPLD控制模塊完成TMS320VC5416各個控制信號和地址線的邏輯組合,以擴展外圍存儲器SRAM和FLASH,開發環境為QuartusⅡ。處理模塊是本的核心,將在下面重點介紹。
        3.1 語音處理模塊軟件設計
        語音處理模塊由完成,軟件流程圖如圖2所示。

        本文引用地址:http://www.104case.com/article/150672.htm

        b.jpg


        系統上電后,首先完成內部寄存器、變量、外圍設備、音頻編解碼芯片的初始化,當McBSP有數據輸入時,McBSP產生一個事件報告DMA控制器,觸發DMA通道以后臺形式將數據傳輸到接收緩沖區;接收緩沖區每收到一定單元的數據,觸發DMA中斷,CPU響應該中斷進入中斷服務程序,提取數據,完成數據的編碼或解碼處理;然后再將處理后的數據送至發送緩沖區,由DMA傳送給多通道緩沖串口。
        編解碼算法采用G.729算法,ITU為G.729算法提供了標準C源代碼,并采用模塊化設計,具有可讀性強、便于維護等優點,但該算法復雜度較高,而芯片資源有限,處理延時很大。在實際應用中,語音編對算法實時性要求非常高,因此必須對原始代碼進行算法精簡和代碼優化,這也是本文的重要工作之一。

        3.2 編解碼算法優化
        G.729算法是經過長時間不斷的研究與討論,最終制定出的一個標準算法,對算法本身再進行大幅度優化是很困難的。不過,可以在算法的細節和具體實現方法上進行精簡。
        3.2.1 碼本搜索算法精簡
        在10維LSP量化碼本搜索中,需要找到一個碼矢量,使得它與輸入矢量的均方誤差最小,如式(1)所示。
        c.jpg

        在ITU提供的標準算法中,程序每次搜索時,先計算完本次的均方誤差,然后再與之前的最小值進行比較。實際上,如果本次未計算完的均方誤差已經大于之前保存的最小值時,可以直接停止本次計算進入到下一次計算中,這樣能節省大量乘和累加運算。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平泉县| 瑞丽市| 大港区| 射阳县| 开远市| 苏州市| 华宁县| 庆安县| 宁明县| 威远县| 托克逊县| 崇州市| 历史| 碌曲县| 马公市| 兴海县| 高台县| 神木县| 天等县| 龙南县| 杭锦旗| 唐海县| 宣汉县| 建宁县| 安庆市| 长武县| 九江县| 谢通门县| 丰城市| 兴和县| 田东县| 天津市| 资溪县| 岗巴县| 右玉县| 响水县| 苍山县| 梁平县| 石屏县| 双柏县| 白河县|