基于FPGA的語(yǔ)音信號(hào)LPC參數(shù)提取算法的實(shí)現(xiàn)(精)_第1頁(yè)
基于FPGA的語(yǔ)音信號(hào)LPC參數(shù)提取算法的實(shí)現(xiàn)(精)_第2頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余4頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于FPGA勺語(yǔ)音信號(hào)LPC參數(shù)提取算 法的實(shí)現(xiàn) 劉宇紅 劉 橋 時(shí)間:2009 年 01 月 13 日 關(guān)鍵詞 : 語(yǔ)音信號(hào) 乘法器 除法器 并行處理技術(shù) 累加器 摘?要:介紹 語(yǔ)音信號(hào) LPC 分析中部分相關(guān)系數(shù)的舒爾遞推算法的 FPGA 實(shí)現(xiàn),給出了電路設(shè)計(jì)思想及具體電路結(jié)構(gòu),并對(duì)其工作過(guò)程進(jìn)行了詳細(xì)分析 說(shuō)明,為嵌入式系統(tǒng)設(shè)計(jì)提供了一種有效手段。 關(guān)鍵詞:部分相關(guān)系數(shù)?舒爾遞推算法?FPGA 并行處理技術(shù) 隨著語(yǔ)音技術(shù)應(yīng)用的發(fā)展,越來(lái)越多的語(yǔ)音信號(hào)數(shù)字處理系統(tǒng)需要按照實(shí) 時(shí)方式或在線方式工作,特別在嵌入式系統(tǒng)設(shè)計(jì)中,對(duì)系統(tǒng)的硬件環(huán)境要求更 高。隨著語(yǔ)音處理算法的日益復(fù)雜,用普通處理器對(duì)

2、語(yǔ)音信號(hào)進(jìn)行實(shí)時(shí)處理, 已顯得力不從心。本文將采用新一代現(xiàn)場(chǎng)可編程門陣列 FLEX10K系列的FPGA芯 片實(shí)現(xiàn)語(yǔ)音信號(hào)的 LPC 分析,并通過(guò)舒爾(Schur)遞推算法,提取語(yǔ)音信號(hào)處理 中的重要參數(shù)部分相關(guān)系數(shù),即 PARCO 系數(shù)。 1? LPC 分析及舒爾遞推算法 1.1 LPC 分析基本原理 線性預(yù)測(cè)分析(LPC)是對(duì)一給定的時(shí)域離散線性系統(tǒng)用輸出信號(hào)的過(guò)去值的 線性組合來(lái)估計(jì)即將到來(lái)的輸出值。即某一時(shí)刻 n 的語(yǔ)音信號(hào)的估計(jì)值為: 按均方誤差最小準(zhǔn)則,即 LMS 算法,可求得預(yù)測(cè)器最佳預(yù)測(cè)系數(shù) a 應(yīng)滿足 ?這組方程稱為 LPC 正則方程,其中 R(l)稱為自關(guān)函數(shù),它們是進(jìn)行 L

3、PC 分 析的基礎(chǔ)。 1.2 舒爾遞推算法 ?將正則方程作適當(dāng)變換,定義一個(gè)變量 Q(m)如下: ? 其中 r(l)=R(l)/R(0) 為歸一化自關(guān)函數(shù)。 根據(jù) Ql(m)的性質(zhì)和正交定理1可證明部分相關(guān)系數(shù) Km與 Q(m)有下列關(guān)系: ?団 由于部分相關(guān)系數(shù) K1)KP)與最佳預(yù)測(cè)系數(shù) aLaP(P)間存在簡(jiǎn)單對(duì)應(yīng)關(guān) 系,因而部分相關(guān)系數(shù) Km)被廣泛應(yīng)用于語(yǔ)音識(shí)別、語(yǔ)音合成和低速語(yǔ)音編譯器 中。 2 系統(tǒng)設(shè)計(jì) 2.1 系統(tǒng)總體設(shè)計(jì) 由于語(yǔ)音信號(hào)具有短時(shí)平穩(wěn)性,因此在進(jìn)行處理時(shí)需進(jìn)行分幀處理,然后 逐幀對(duì)語(yǔ)音信號(hào)進(jìn)行 LPC 分析。本系統(tǒng)中,語(yǔ)音信號(hào) S(n)的精度為 12 位,采 樣率

4、為 20k,幀長(zhǎng)為 10ms 相應(yīng)于每幀有 200 個(gè)采樣點(diǎn),每幀提取的部分相關(guān) 系數(shù) K(m)的階數(shù)取為12。 對(duì)取出的每幀語(yǔ)音 S(n)還需進(jìn)行加窗處理,即用窗函數(shù) W(n)乘 S(n),形 成加窗語(yǔ)音信號(hào) S(n)。為減小 Gibbs 效應(yīng)的影響,本系統(tǒng)采用的窗函數(shù)為哈明 窗。 為實(shí)現(xiàn)語(yǔ)音信號(hào)的 LPC 分析過(guò)程,選擇 FLEX10 係列中的 EPF10K10C 器件 作為目標(biāo)芯片進(jìn)行設(shè)計(jì),因其具有獨(dú)特的嵌入式陣列塊 EAB 而特別適合于對(duì)數(shù) 字信號(hào)進(jìn)行處理2-4。系統(tǒng)設(shè)計(jì)中,采用自頂向下的設(shè)計(jì)思想,在頂層采用電路 原理圖的設(shè)計(jì)方法將系統(tǒng)分為幾個(gè)功能模塊,在底層則采用 VHDL 語(yǔ)言來(lái)實(shí)

5、現(xiàn)各 功能模塊的設(shè)計(jì)。為保證系統(tǒng)整體的處理速度,電路設(shè)計(jì)采用了流水線作業(yè)方 式,以數(shù)據(jù)流驅(qū)動(dòng)各模塊協(xié)調(diào)工作,同時(shí)在一些影響系統(tǒng)整體速度的環(huán)節(jié)采用 了 并行處理技術(shù),很好地解決了制約系統(tǒng)速度的“瓶頸”。 系統(tǒng)的原理框圖如圖 1 所示。圖中 U3 U10 分別為由 EAB 構(gòu)成的 200X 12bit 和 12X 12bit 的雙口 RAM 車列為由 EAB 構(gòu)成的 200X 12bit 的 ROh 查找表,內(nèi)置 n=0199 的窗函數(shù)值 W(n););匕匕、U4、U 為數(shù)據(jù)緩沖器;5、U8 分 別為自關(guān)函數(shù)模塊和舒爾遞推算法模塊;5 為多路轉(zhuǎn)換開(kāi)關(guān);5 是 12 位 乘法器。 系統(tǒng)工作原理如下:

6、將一幀語(yǔ)音信號(hào) S(n)經(jīng) U1 送入 U,同時(shí)啟動(dòng)加窗過(guò) 程,窗函數(shù)值 W(n)通過(guò)查找 ROM 表 U9獲得,將取出的 W 和 S 送入乘法器 U5相 乘,乘積經(jīng) U2 和 U1 又送回 U3,得到加窗語(yǔ)音信號(hào) Sn),然后將 S(n)送入自 關(guān)函數(shù)模塊U7 算出歸一化自關(guān)函數(shù) r(n),再將 r(n)送入舒爾遞推模塊求出部 分相關(guān)系數(shù) Km),存入 U。至此,一幀數(shù)據(jù)的 LPC 分析即告結(jié)束。 2.2 自關(guān)函數(shù)模塊 自關(guān)函數(shù)的計(jì)算是影響系統(tǒng)速度的關(guān)鍵環(huán)節(jié),它要進(jìn)行大量的乘積累加操 作。為提高系統(tǒng)運(yùn)行速度,將加窗語(yǔ)音信號(hào) Sn)同時(shí)存入兩組 RAM 采用并行 取數(shù)的方式, 同時(shí)取出參與運(yùn)算

7、的兩個(gè)量, 進(jìn)行乘法運(yùn)算, 運(yùn)算結(jié)果立即送入 累 加器進(jìn)行累加。而此時(shí)乘法器又可進(jìn)行下一對(duì)數(shù)據(jù)的乘積運(yùn)算。整個(gè)過(guò)程中, 乘法器和累加器一直在并行工作,從而保證了系統(tǒng)的流水線操作持續(xù)進(jìn)行,最 大限度地保證了系統(tǒng)的運(yùn)行速度。 自關(guān)函數(shù)模塊的原理框圖如圖 2 所示。圖中 U、U2為 EAB 勾成的 200X12bit 的雙口 RAM 車列 U 是帶清零功能的數(shù)據(jù)寄存器,U 為加法器,它們 二者共同構(gòu)成累加器,為保證中間運(yùn)算結(jié)果的精度,累加器的寬度為 32 位;5、 U、 d、U9、U10為數(shù)據(jù)寄存器;5為12位乘法器, 乘積為24位;Uii為32 位 除法器,商取 16 位。 該模塊的工作過(guò)程是:將

8、前面得到的加窗語(yǔ)音信號(hào) S(n)同時(shí)存入 U 和 U2, 然后按要求從中同時(shí)取出兩乘數(shù) S 和S+I送入乘法器 U5 進(jìn)行乘運(yùn)算,將乘積作 為一個(gè)操作數(shù)同 U8 中的數(shù)進(jìn)行累加。U8 起始值被置為零,以后的值就是各次 累加的和,最后一次累加的結(jié)果就是自關(guān)函數(shù) R(l)的值。然后再將它的值送入 Uw,將它同 U9 中的 R(0)相除即得歸一化的自關(guān)函數(shù)值 r(l)。整個(gè)過(guò)程中,由 于采用了并行處理技術(shù),乘法器 U5和累加器 U 與 U8一直處于工作狀態(tài),從而保 證了系統(tǒng)的高速運(yùn)行。 2.3 舒爾遞推模塊 舒爾遞推算法一個(gè)很重要的特點(diǎn)是在整個(gè)遞推過(guò)程中全部參與運(yùn)算的量的 初值、中間值和最終值皆小于

9、 1,因此特別適宜于采用定點(diǎn)運(yùn)算的硬件系統(tǒng)來(lái) 實(shí)現(xiàn)。該模塊的設(shè)計(jì)也采用雙 RAM 吉構(gòu)和同時(shí)取數(shù)同時(shí)運(yùn)算的并行處理技術(shù), 所有運(yùn)算單元的精度都是 16 位,每處理一次遞推過(guò)程,就輸出一個(gè) K(m)值。 舒爾遞推模塊的原理框圖如圖 3 所示。圖中 12、U3 為 12X 16bit 的雙口 RAM;U、d、U、U8、U9、5、U13為數(shù)據(jù)寄存器;5、U。、出分別為 16 位的除法 器、乘法器和加法器;5 為多路轉(zhuǎn)換開(kāi)關(guān)。該模塊的工作過(guò)程是:當(dāng)歸一化自關(guān) 函數(shù) r(l)通過(guò) U 送入 U2和 U 后,立即從中取出 Qmffi Q0 送入除法器 U5 進(jìn)行除 運(yùn)算,除得的結(jié)果送入 U8;與此同時(shí)又分

10、別從 U2和UB中同時(shí)取出 Ql 和Q-I,將 Q-I與 Km 在 U10相乘后,送入 5,接著與 Q 在 U12 進(jìn)行相加,將結(jié)果經(jīng)UB、U 重 新送回U2和U,接著又進(jìn)行下一輪遞推,該過(guò)程一直要進(jìn)行到遞推階數(shù)完成。 在每一次遞推過(guò)程中,當(dāng)U12 在進(jìn)行當(dāng)前數(shù)據(jù)的加運(yùn)算時(shí),U。就可進(jìn)行下一個(gè) 數(shù)據(jù)的乘運(yùn)算。這樣整個(gè)過(guò)程就可在連續(xù)的流水線方式不間斷地進(jìn)行。 2.4 算術(shù)運(yùn)算單元 本系統(tǒng)所用到的算術(shù)運(yùn)算單元有加法器、乘法器和除法器三種。加法器采 用標(biāo)準(zhǔn)的全加器來(lái)構(gòu)成,而乘法器則采用 2 的補(bǔ)碼的 BOOT 乘法器。下面介紹 除法器的設(shè)計(jì)思想和工作原理。 由于本系統(tǒng)所使用的除法運(yùn)算都是商小于 1

11、的除法,而且除法運(yùn)算又比乘 法運(yùn)算少得多,因此對(duì)速度的影響也較小。綜合考慮速度和資源占用兩方面因 素后,設(shè)計(jì)了下面的算法來(lái)實(shí)現(xiàn)除法器。設(shè)有兩個(gè)數(shù) A 和 B,A 是被除數(shù),B 是 除數(shù),現(xiàn)在求它們的商 Q=A/B Q B,貝 U輸出“ T,否則輸出“ 0” ;U3 為數(shù)據(jù)寄存器;U1 為多路轉(zhuǎn) 換器;U4為加法器。該電路按下述原理工作:被除數(shù) A 經(jīng) U1 送入 U3 并加到比較 器 U6 的 A 端,除數(shù) B 送入 U后右移一位再加到 U6的 B 端。經(jīng) U6比較后,若輸 出“ 1”,貝 U 先將 U6 的輸出移入移位寄存器 U7,再將 A 與 B 送入由 U4和 U 組成 的減法器進(jìn)行減法

12、運(yùn)算,所得差值再經(jīng) U 送入 U;若輸出為“0”,則僅將 U6 的輸出移入 U7 即可。該步完成后,又將12右移一位,再重復(fù)上述過(guò)程。整個(gè) 操作一共要進(jìn)行 K 次,最后 U7 中的數(shù)即為 A/B的商。 在本系統(tǒng)中, 將 LPC 分析與 FPGA 技術(shù)結(jié)合, 充分利用了 FPGA 乍為一種快 速、高效的硬件平臺(tái)在數(shù)字信號(hào)處理領(lǐng)域所具有的獨(dú)特優(yōu)勢(shì),實(shí)現(xiàn)了語(yǔ)音信號(hào) 特征參數(shù)的快速提取,為語(yǔ)音信號(hào)的進(jìn)一步處理打下基礎(chǔ)。本系統(tǒng)采用 50MHz 的時(shí)鐘頻率進(jìn)行工作。為考察其工作性能,對(duì)其整體性能指標(biāo)進(jìn)行了評(píng)估。由 于影響整個(gè)系統(tǒng)速度的是乘法累加運(yùn)算,因此它的工作性能也就決定了系統(tǒng)的 性能。在求歸一化自關(guān)函

13、數(shù) r(l)過(guò)程中,涉及到近 200 次的乘積累加,采用并 行處理技術(shù)和流水線操作方式的 FPGA 則可以用接近 50M Hz 的數(shù)據(jù)速率進(jìn)行工 作,整個(gè)系統(tǒng)的性能同其他芯片相比約提高 40%-60%因此用 FPGA 技術(shù)來(lái)處 理語(yǔ)音信號(hào)具有得天獨(dú)厚的優(yōu)點(diǎn)。 ?本系統(tǒng)除具有處理速度快的特點(diǎn)外,還具有獨(dú)立靈活的輸入輸出接口及一 組檢測(cè)和控制信號(hào)線,可以方便地同任何一種處理器直接連接。由于 FPGAI 身 所具有的抗干擾能力強(qiáng)、可靠性高的優(yōu)點(diǎn),本系統(tǒng)可廣泛應(yīng)用于自動(dòng)控制、工 業(yè)機(jī)器人、語(yǔ)音合成和語(yǔ)音編譯碼等領(lǐng)域,特別對(duì)嵌入式系統(tǒng)的設(shè)計(jì)具有重要 意義。 參考文獻(xiàn) 1 楊行峻,遲惠生 .語(yǔ)音信號(hào)數(shù)字處理 . 北京: 電子工

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論