新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的語音信號LPC參數(shù)提取算法的實(shí)現(xiàn)

基于FPGA的語音信號LPC參數(shù)提取算法的實(shí)現(xiàn)

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

2 系統(tǒng)設(shè)計(jì)

2.1 系統(tǒng)總體設(shè)計(jì)

  由于具有短時(shí)平穩(wěn)性,因此在進(jìn)行處理時(shí)需進(jìn)行分幀處理,然后逐幀對進(jìn)行分析。本系統(tǒng)中,S(n)的精度為12位,采樣率為20k,幀長為10ms,相應(yīng)于每幀有200個(gè)采樣點(diǎn),每幀提取的部分相關(guān)系數(shù)K(m)的階數(shù)取為12。

  對取出的每幀語音S(n)還需進(jìn)行加窗處理,即用窗函數(shù)W(n)乘S(n),形成加窗語音信號SW(n)。為減小Gibbs效應(yīng)的影響,本系統(tǒng)采用的窗函數(shù)為哈明窗。

  為實(shí)現(xiàn)語音信號的分析過程,選擇FLEX10K系列中的EPF10K100器件作為目標(biāo)芯片進(jìn)行設(shè)計(jì),因其具有獨(dú)特的嵌入式陣列塊EAB而特別適合于對數(shù)字信號進(jìn)行處理[2-4]。系統(tǒng)設(shè)計(jì)中,采用自頂向下的設(shè)計(jì)思想,在頂層采用電路原理圖的設(shè)計(jì)方法將系統(tǒng)分為幾個(gè)功能模塊,在底層則采用VHDL語言來實(shí)現(xiàn)各功能模塊的設(shè)計(jì)。為保證系統(tǒng)整體的處理速度,電路設(shè)計(jì)采用了流水線作業(yè)方式,以數(shù)據(jù)流驅(qū)動各模塊協(xié)調(diào)工作,同時(shí)在一些影響系統(tǒng)整體速度的環(huán)節(jié)采用了并行處理技術(shù),很好地解決了制約系統(tǒng)速度的“瓶頸”。

  系統(tǒng)的原理框圖如圖1所示。圖中U3、U10分別為由EAB構(gòu)成的200×12bit和12×12bit的雙口RAM陣列;U9為由EAB構(gòu)成的200×12bit的ROM查找表,內(nèi)置n=0~199的窗函數(shù)值W(n);U2、U4、U6為數(shù)據(jù)緩沖器;U7、U8分別為自關(guān)函數(shù)模塊和舒爾遞推算法模塊;U1為多路轉(zhuǎn)換開關(guān);U5是12位乘法器。

  系統(tǒng)工作原理如下:將一幀語音信號S(n)經(jīng)U1送入U(xiǎn)3,同時(shí)啟動加窗過程,窗函數(shù)值W(n)通過查找ROM表U9獲得,將取出的Wn和Sn送入乘法器U5相乘,乘積經(jīng)U2和U1又送回U3,得到加窗語音信號SW(n),然后將SW(n)送入自關(guān)函數(shù)模塊U7算出歸一化自關(guān)函數(shù)r(n),再將r(n)送入舒爾遞推模塊求出部分相關(guān)系數(shù)K(m),存入U(xiǎn)10。至此,一幀數(shù)據(jù)的分析即告結(jié)束。

2.2 自關(guān)函數(shù)模塊

  自關(guān)函數(shù)的計(jì)算是影響系統(tǒng)速度的關(guān)鍵環(huán)節(jié),它要進(jìn)行大量的乘積累加操作。為提高系統(tǒng)運(yùn)行速度,將加窗語音信號SW(n)同時(shí)存入兩組RAM,采用并行取數(shù)的方式,同時(shí)取出參與運(yùn)算的兩個(gè)量,進(jìn)行乘法運(yùn)算,運(yùn)算結(jié)果立即送入累加器進(jìn)行累加。而此時(shí)乘法器又可進(jìn)行下一對數(shù)據(jù)的乘積運(yùn)算。整個(gè)過程中,乘法器和累加器一直在并行工作,從而保證了系統(tǒng)的流水線操作持續(xù)進(jìn)行,最大限度地保證了系統(tǒng)的運(yùn)行速度。

  自關(guān)函數(shù)模塊的原理框圖如圖2所示。圖中U1、U2為EAB構(gòu)成的200×12bit的雙口RAM陣列;U8是帶清零功能的數(shù)據(jù)寄存器,U7為加法器,它們二者共同構(gòu)成累加器,為保證中間運(yùn)算結(jié)果的精度,累加器的寬度為32位;U3、U4、U6、U9、U10為數(shù)據(jù)寄存器;U5為12位乘法器,乘積為24位;U11為32位除法器,商取16位。

  該模塊的工作過程是:將前面得到的加窗語音信號SW(n)同時(shí)存入U(xiǎn)1和U2,然后按要求從中同時(shí)取出兩乘數(shù)Sn和Sn+l送入乘法器U5進(jìn)行乘運(yùn)算,將乘積作為一個(gè)操作數(shù)同U8中的數(shù)進(jìn)行累加。U8起始值被置為零,以后的值就是各次累加的和,最后一次累加的結(jié)果就是自關(guān)函數(shù)R(l)的值。然后再將它的值送入U(xiǎn)10,將它同U9中的R(0)相除即得歸一化的自關(guān)函數(shù)值r(l)。整個(gè)過程中,由于采用了并行處理技術(shù),乘法器U5和累加器U7與U8一直處于工作狀態(tài),從而保證了系統(tǒng)的高速運(yùn)行。



評論


相關(guān)推薦

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

關(guān)閉