<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 線性預(yù)測及其Matlab實現(xiàn)

          線性預(yù)測及其Matlab實現(xiàn)

          作者: 時間:2012-12-01 來源:網(wǎng)絡(luò) 收藏

            3在上實現(xiàn)

            3.1加窗和自相關(guān)函數(shù)計算

            G.729語音編碼算法大多是用C語言編程實現(xiàn)的,程序顯得格外冗長,有一定的局限性。由于在數(shù)據(jù)分析、自動控制、數(shù)字信號處理、繪圖等方面具有強大的功能,為了直觀的表述,就運用來實現(xiàn)分析這一部分的算法。

            圖1給出了混合窗的示意圖,它由兩部分構(gòu)成,前半部分是1/2個哈明窗;后半部分是1/4余弦函數(shù):

            

            式中:有5 ms(40個樣點)來自下一幀,15 ms(120個樣點)來自上一幀,當(dāng)前幀10 ms(80個樣點)加窗過程如圖1所示。

            

            得到加窗如圖2所示。

            


            3.2LP系數(shù)的求取

            求解濾波器系數(shù)ai,將使用到最經(jīng)典的Levinson-Durbin算法。該算法的步驟為:

            


            上面各式中括號內(nèi)的上標表示預(yù)測器的除數(shù)。步驟(1)~(4)可對I=1,2,…,P進行遞推求解,其中:E為最小均方預(yù)測誤差;R為自相關(guān)系數(shù);k表示反射系數(shù),取值范圍為[-1,1];aij表示i階預(yù)測器的第j個系數(shù)。通過運算發(fā)現(xiàn),其實在計算過程中,雖然目標是計算一個p階線性預(yù)測器的全部系數(shù),但實際上在遞推過程中僅算出了所有除數(shù)低于p階線性預(yù)測器的全部系數(shù),同時計算出了最小預(yù)測誤差能量(遞推式中反射系數(shù)的取值范圍是保證系統(tǒng)H(z)穩(wěn)定性的充分必要條件,即多項式A(z)的全部根都落在單位圓內(nèi))。

            從推導(dǎo)中得知,φn(j,i)的物理意義可以理解為sn的短時自相關(guān)函數(shù)。因此,它反映了語音波形的實際情況,即波形不同,值也不同。然而ai的取值由φn(j,i)決定,并隨φn(j,i)的改變而改變,因此也可以說ai反映了語音波形的實際情況。

            其Matlab描述如下:

            

            4結(jié)語

            線性預(yù)測在語音處理方面的應(yīng)用很廣泛,而用Matlab來實現(xiàn)可以很直觀地知道分析結(jié)果,為下一步將算法在上的實現(xiàn)奠定基礎(chǔ)。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 線性預(yù)測 DSP Matlab

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();