新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > G.723.1編譯碼算法的DSP實(shí)現(xiàn)

        G.723.1編譯碼算法的DSP實(shí)現(xiàn)

        作者: 時(shí)間:2011-07-05 來源:網(wǎng)絡(luò) 收藏

        【摘 要】 介紹了ITU-TG.723.1標(biāo)準(zhǔn)語音碼器的及其在A-2181芯片上的 。軟硬件結(jié)合了語音信號的采樣和實(shí)時(shí)碼,完全符合ITU-TG.723.1標(biāo)準(zhǔn)的定點(diǎn),通過了ITU-T的所有測試向量。
        關(guān)鍵詞:語音碼,,ITU┐TG.723.1

        1 引 言
          當(dāng)前,Voice over IP(VoIP)技術(shù)正在不斷普及,其中使用的低碼率語音壓縮標(biāo)準(zhǔn)主要有G.723 .1和G.729兩種。隨著VoIP技術(shù)的不斷發(fā)展,要求產(chǎn)品的集成度與性能進(jìn)一步提高,利用新一代高性能芯片,單片DSP處理多路語音信號,是今后的發(fā)展趨勢。
          G.723.1標(biāo)準(zhǔn)是ITU組織于1996年推出的一種低碼率編碼。主要用于對語音及其它多媒體聲音信號的壓縮,如可視電話系統(tǒng)、數(shù)字傳輸系統(tǒng)和高質(zhì)語音壓縮系統(tǒng)等。G.723.1標(biāo)準(zhǔn)可在6.3kbps和5.3kbps兩種碼率下工作。其中,高碼率算法具有較高的重建語音質(zhì)量,而低碼率算法的計(jì)算復(fù)雜度則較低。與一般的低碼率語音編碼算法一樣,G.723.1標(biāo)準(zhǔn)采用線性預(yù)測的合成分析法。對激勵信號進(jìn)行量化時(shí),高碼率算法采用多脈沖最大似然量化(MP-MLQ),而低碼率算法則采用算術(shù)碼本激勵線性預(yù)測(ACELP)。
        2 算法介紹
          語音信號的參數(shù)模型是用激勵信號激勵一個(gè)系統(tǒng)模型來模仿氣流沖激聲道產(chǎn)生的聲音。線性預(yù)測法基于全極點(diǎn)模型假定,采用時(shí)域均方誤差最小準(zhǔn)則來估計(jì)模型參數(shù)。分析過程中要提取的參數(shù)包括聲道系統(tǒng)的LSP參數(shù)、自適應(yīng)碼本的延遲和增益,
        以及固定碼本中脈沖的位置和符號。
          G.723.1編碼器能對以8kHz采樣的話帶語音信號進(jìn)行壓縮。為了降低碼率,G.723.1采用了較長的幀尺寸,每幀240個(gè)樣值,即30毫秒幀長。每幀輸入信號首先通過一階高通濾波器濾除直流分量,然后將之分成四個(gè)60個(gè)樣值的子幀,每個(gè)子幀獨(dú)立進(jìn)行LPC分析。為了提高LPC系數(shù)的連續(xù)性,采用了長度為180個(gè)樣值的重疊窗,即同時(shí)包含前后兩個(gè)子幀,這使算法引入60個(gè)樣值的超前時(shí)延,因此算法的總時(shí)延為37.5毫秒。LPC系數(shù)用線性譜頻率(LSF)表示,LSF參數(shù)采用預(yù)測分裂矢量量化,只對第四子幀進(jìn)行。為了提高量化感知質(zhì)量,高通濾波后的語音信號需通過共振峰感知加權(quán)濾波器和諧振峰噪聲整形濾波器以生成初始目標(biāo)信號。前者參數(shù)由各子幀的未量化LPC系數(shù)構(gòu)成,后者通過對每兩子幀進(jìn)行開環(huán)基音周期估計(jì)得到,其中基音周期的范圍為18到142個(gè)樣值。LPC合成濾波器、共振峰感知加權(quán)濾波器和諧振峰噪聲整形濾波器用于系統(tǒng)零輸入響應(yīng)計(jì)算和最佳激勵估計(jì)。G.723.1編碼器還包括一個(gè)五階基音預(yù)測器,其參數(shù)根據(jù)開環(huán)基音估計(jì)值和脈沖響應(yīng)進(jìn)行閉環(huán)基音搜尋得到。在進(jìn)行最佳激勵估計(jì)時(shí),需從初始目標(biāo)信號中減去系統(tǒng)零輸入響應(yīng)和基音預(yù)測器貢獻(xiàn)以得到最終目標(biāo)信號,然后針對高低碼率分別采用MP-MLQ和ACELP方法進(jìn)行量化。其中,LSF參數(shù)、基音值和激勵參數(shù)需傳送給解碼器。
          解碼器首先根據(jù)得到的LSF參數(shù)重建LPC合成濾波器,然后根據(jù)基音值和激勵參數(shù)得到自適應(yīng)碼本激勵信號和固定碼本激勵信號。
        2.1 聲道模型參數(shù)的提取
        十階全極點(diǎn)模型系統(tǒng)的傳遞函數(shù)為:
          
          其中,S(z)和U(z)分別是輸出信號s(n)和輸入信號u(n)的Z變換。因此誤差信號為:

        要使均方誤差最小,{ak}必定滿足=1,2,...10),由此可得到以k為變量的方程組:

        其中,R(n)為S(n)的自相關(guān)函數(shù)值。對于這個(gè)Toeplitz矩陣,用Durbin遞推算法可方便求解。
          因?yàn)榫€譜對參數(shù)(LSP)良好的量化特性和內(nèi)插特性,LPC參數(shù)要轉(zhuǎn)換為LSP參數(shù)進(jìn)行傳輸。
        設(shè)線性濾波器的逆濾波器為

        ωi和θi分別是P(z)和Q(z)的第i個(gè)零點(diǎn)。ωi和θi成對出現(xiàn),反映信號的頻譜特性,因此稱為線譜對。對P(z)和Q(z)的系數(shù)做離散傅立葉變換得到zk=e-jπk/N(k=0,1,2...N)各點(diǎn)的值,搜索極小值點(diǎn)的位置,就是可能的零點(diǎn)位置。
        2.2 自適應(yīng)碼本的搜索
          開環(huán)搜索是基于整幀的整數(shù)基音估計(jì)。為了提高可靠性,對原始信號進(jìn)行預(yù)處理,用中心削波函數(shù)對原始信號進(jìn)行削波。然后用自相關(guān)基音檢測法估
        計(jì)基音Top。閉環(huán)搜索是基于子幀的基音細(xì)搜索。將LPC合成濾波器、共振峰感知加權(quán)濾波器和諧波噪聲濾波器一起構(gòu)成綜合濾波器,計(jì)算出該綜合濾波器的沖激響應(yīng)。用估算出的開環(huán)基音周期和計(jì)算所得綜合濾波器的沖激響應(yīng),通過一個(gè)五階的基音預(yù)測器,可計(jì)算出閉環(huán)基音周期。
        2.3 固定碼本的搜索
          對自適應(yīng)碼本搜索后得到的殘差余量信號進(jìn)行固定碼本搜索。
          對高碼率(6.3kbps)的固定碼本搜索采用脈沖最大似然量化法(MP-MLQ)。激勵信號可表示為
        其中,G為增益因子,δ(n)為單位脈沖響應(yīng),{ak}和{mk}分別是單位脈沖響應(yīng)的符號和位置。M為脈沖的數(shù)目,偶數(shù)幀取6,奇數(shù)幀取5。
          編碼算法的任務(wù)是估計(jì)G、{ak}和{mk},使誤差信號e〔n〕的均方值最小。

        其中,r〔n〕表示目標(biāo)矢量,自適應(yīng)碼本搜索后得到的殘差信號,h〔n〕表示加權(quán)合成濾波器的沖激響應(yīng)。
          對低碼率(5.3kbps)編碼器固定碼本搜索采用代數(shù)碼本激勵線性預(yù)測法(ACELP)。每一子幀中有4個(gè)脈沖,它們可能的位置如表1所示。
        表1

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

          碼本搜索同樣是使加權(quán)語音信號r〔n〕與加權(quán)合成語音信號之間均方誤差最小。即:

        其中,r表示目標(biāo)矢量,自適應(yīng)碼本搜索后得到的殘差信號,G是碼本增益,vξ是代數(shù)碼本中索引ξ對應(yīng)的碼本,H是加權(quán)合成濾波器的截?cái)鄾_激響應(yīng)。
        要求最佳碼本,即要搜索使τξ最大的ξ,


        上一頁 1 2 下一頁

        關(guān)鍵詞: 實(shí)現(xiàn) DSP 算法 編譯

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 恩施市| 泰顺县| 崇义县| 旬邑县| 仁化县| 庆城县| 英德市| 加查县| 张掖市| 五台县| 鸡泽县| 江西省| 尤溪县| 松阳县| 东阳市| 盱眙县| 肥西县| 河北省| 灵武市| 崇州市| 深圳市| 桦甸市| 新宾| 香格里拉县| 忻城县| 大连市| 江孜县| 龙南县| 师宗县| 涟水县| 贵阳市| 旌德县| 当雄县| 邢台市| 洛宁县| 正安县| 广汉市| 万源市| 雅江县| 思茅市| 名山县|