當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]介紹了一種基于短時(shí)能量和短時(shí)過零率的VAD算法,并對該算法進(jìn)行了硬件實(shí)現(xiàn)。對其中主要的運(yùn)算模塊——濾波器和平方器模塊,在硬件實(shí)現(xiàn)方法上進(jìn)行了優(yōu)化和改進(jìn),取得了較好效果使其在保證實(shí)時(shí)性要求的同時(shí)節(jié)省了資源,為進(jìn)一步向低成本器件上移植或系統(tǒng)中作為IP模塊應(yīng)用提供了可能性。

  語音激活檢測VAD(Voice Activity Detection)是一種通過特定的判決準(zhǔn)則判斷語音中出現(xiàn)的停頓和靜默間隔,檢測出有效語音部分的技術(shù)。運(yùn)用這種技術(shù)可以在確保語音質(zhì)量的前提下,對不同類別的語音段采用不同的比特?cái)?shù)進(jìn)行編碼,從而降低語音的編碼速率。由于在雙工移動(dòng)通信系統(tǒng)中,一方只有35%的時(shí)間處于激活狀態(tài)[1],如何降低靜音期的編碼速率對于減少傳輸帶寬、功率以及容量具有積極的作用,因此VAD技術(shù)在語音通信領(lǐng)域具有重要的使用價(jià)值。隨著適合于變比特率語音編碼的CDMA和PRMA等多址技術(shù)的出現(xiàn),應(yīng)用于蜂窩的語音激活檢測的重要性也隨之提高[2]

  由于語音通信的特殊性,要求檢測過程能達(dá)到實(shí)時(shí)性的要求。而目前主流DSP芯片的并行度并不高,因此在實(shí)時(shí)處理的要求下,保證語音質(zhì)量和降低語音的編碼速率兩者難以兼顧。而現(xiàn)場可編程門陣列(FPGA)由于其硬件具有可編程的靈活性,可以實(shí)現(xiàn)較高的并行度,從而可以在滿足實(shí)時(shí)性要求的前提下,很好地保證語音質(zhì)量并降低語音的編碼速率。


1算法及檢測流程

1.1 算法簡述

  語音激活檢測算法可以基于時(shí)域或頻域。本文采用的算法是時(shí)域分析的方法。算法對于輸入信號(hào)的檢測過程可分為短時(shí)能量檢測和短時(shí)過零率檢測兩個(gè)部分。算法以短時(shí)能量檢測為主,短時(shí)過零率檢測為輔。根據(jù)語音的統(tǒng)計(jì)特性,可以把語音段分為清音、濁音以及靜音(包括背景噪聲)三種。在本算法中,短時(shí)能量檢測可以較好地區(qū)分出濁音和靜音。對于清音,由于其能量較小,在短時(shí)能量檢測中會(huì)因?yàn)榈陀谀芰块T限而被誤判為靜音;短時(shí)過零率則可以從語音中區(qū)分出靜音和清音。將兩種檢測結(jié)合起來,就可以檢測出語音段(清音和濁音)及靜音段。

1.2 檢測流程


  檢測流程:對輸入信號(hào)先進(jìn)行高通濾波,減弱以噪聲為主的信號(hào)能量。接著進(jìn)行窗長為80個(gè)數(shù)據(jù)的加窗處理,然后計(jì)算該幀的平均能量,再利用短時(shí)能量進(jìn)行VAD初判。若平均能量大于門限則判為語音幀,若平均能量小于門限則判為靜音幀。對于初判為靜音幀的幀再進(jìn)行VAD平滑,即參考前三幀的情況:如果前三幀中至少包含一幀非平滑過的語音幀,則將該幀平滑為語音幀,同時(shí)記錄下該幀為平滑所得的語音幀;反之,則判斷為靜音幀。如果平滑結(jié)果仍為靜音幀,且當(dāng)前幀的過零率介于30~70之間時(shí),則改判為語音幀;反之則仍判為靜音幀[3]。VAD算法的檢測流程圖如圖1所示。


  此外,由于人耳的聽覺具有掩蔽效應(yīng),因此有必要對短時(shí)能量門限進(jìn)行更新[3]。本算法所采用的門限更新方式是:如果連續(xù)檢測到三幀語音,為了更好地檢測到靜音,將短時(shí)能量門限提高3dB,但如果提高后的門限超過當(dāng)前幀的平均能量減12dB,則不提高門限;如果連續(xù)檢測到三幀靜音,為了更好地檢測到語音,將短時(shí)能量門限降低3dB,但如果降低后的門限小于當(dāng)前幀的平均能量加12dB,則不降低門限。此外,為了防止門限變得太高或降得太低, 還應(yīng)把門限限制在GATE_MIN、GATE_MAX范圍內(nèi)。

2 系統(tǒng)實(shí)現(xiàn)及優(yōu)化

  本設(shè)計(jì)采用QuartusII以及ModelSim進(jìn)行開發(fā)(ModelSim是Mentor Graphics公司的仿真軟件)。QuartusII是Altera公司的一套開發(fā)FPGA/CPLD的EDA軟件,可以完成從設(shè)計(jì)輸入、功能仿真、綜合優(yōu)化、后仿真、引腳配置、布局布線到配置芯片的一系列FPGA/CPLD的開發(fā)流程,并提供調(diào)用其他EDA工具,如ModelSim、Synplify/Synplify Pro、FPGA Complier的接口。

  本設(shè)計(jì)的輸入為16位PCM編碼的數(shù)字語音信號(hào),輸出是每80個(gè)數(shù)據(jù)為一幀的語音信號(hào)的檢測結(jié)果,其中高電平表示語音,低電平表示靜音。根據(jù)所用算法的特點(diǎn),將本設(shè)計(jì)劃分成五個(gè)模塊:FIFO模塊、高通濾波模塊、平均能量模塊、判決模塊以及控制模塊。系統(tǒng)結(jié)構(gòu)框圖如圖2所示。


2.1 FIFO模塊

  輸入的語音信號(hào)的采樣率為8kHz,如果將8kHz作為系統(tǒng)的時(shí)鐘頻率,極大地削弱了FPGA芯片的速度優(yōu)勢。因此系統(tǒng)需要兩個(gè)時(shí)鐘,一個(gè)是頻率為8kHz的采樣時(shí)鐘,另一個(gè)為系統(tǒng)主時(shí)鐘。

  在FPGA設(shè)計(jì)中,多時(shí)鐘設(shè)計(jì)會(huì)帶來不穩(wěn)定的隱患。為了提高系統(tǒng)的穩(wěn)定性,本設(shè)計(jì)采用一個(gè)雙口的FIFO作時(shí)鐘隔離。FIFO模塊具有16位的數(shù)據(jù)輸入口及16位的數(shù)據(jù)輸出口、8kHz時(shí)鐘輸入口以及系統(tǒng)主時(shí)鐘輸入口。此外,由于FIFO的讀速度大于寫速度,因此當(dāng)FIFO為空時(shí),需要輸出一個(gè)empty信號(hào)。

  在高通濾波、平均能量計(jì)算、判決、控制這四個(gè)模塊中均可采用單時(shí)鐘設(shè)計(jì),而且所使用的時(shí)鐘均為系統(tǒng)主時(shí)鐘。

2.2 濾波器模塊

  濾波器對輸入信號(hào)進(jìn)行高通濾波的預(yù)處理。高通濾波器的傳輸函數(shù)采用CS-ACELP算法所使用的傳輸函數(shù)[4]
  
  FPGA中IIR濾波器的設(shè)計(jì)一般采用如圖3所示的流水線結(jié)構(gòu)(圖中以2階IIR濾波器為例)。這種結(jié)構(gòu)的濾波器可在一個(gè)時(shí)鐘周期內(nèi)完成一次濾波計(jì)算[5~6], 并行度較高,但硬件上需要5個(gè)乘法器、4個(gè)加法器和若干個(gè)寄存器,占用了較多的資源。采用非流水線結(jié)構(gòu)的濾波器(仍以2階IIR濾波器為例)的結(jié)構(gòu)如圖4所示。其中:fifo_out為FIFO模塊輸出的數(shù)據(jù),empty為FIFO是否為空的標(biāo)志信號(hào),ready_out信號(hào)為完成一次濾波計(jì)算的標(biāo)志信號(hào)。此結(jié)構(gòu)的濾波器每5個(gè)時(shí)鐘周期完成一次濾波計(jì)算,并行度較低,但在硬件上只需要1個(gè)乘法器、1個(gè)累加器、1個(gè)計(jì)數(shù)器以及若干個(gè)寄存器。

 

 


  由于本文的算法其信號(hào)的采樣率只有8kHz,非流水線結(jié)構(gòu)濾波器的處理速度已可以滿足要求。因此,為了合理利用資源,本設(shè)計(jì)采用了基于非流水線結(jié)構(gòu)的濾波器。同時(shí)考慮到系統(tǒng)的同步性和穩(wěn)定性,所設(shè)計(jì)的濾波器每8個(gè)時(shí)鐘周期完成一次濾波運(yùn)算并將結(jié)果鎖存。表1為兩種不同結(jié)構(gòu)的濾波器(系數(shù)采用18位量化,即2位整數(shù)加16位小數(shù))在同一器件上實(shí)現(xiàn)的結(jié)果比較,所用器件為Altera公司CycloneII系列的EP2C5T144C7,綜合工具為QuartusII 5.0,優(yōu)化選項(xiàng)均為balanced。由表1的比較結(jié)果可以看出,雖然非流水線結(jié)構(gòu)的濾波器速度比流水線的慢,但所使用的資源卻大大減少,并且能在101.61ns內(nèi)完成一次濾波計(jì)算,可滿足實(shí)時(shí)性的要求。此模塊的處理延遲為8個(gè)時(shí)鐘周期。

2.3 加窗、平均能量計(jì)算模塊

  (1)相關(guān)公式
  將通過高通濾波器的信號(hào)進(jìn)行加Hamming窗處理,窗長為80個(gè)數(shù)據(jù)。處理所使用的計(jì)算公式如下:
  
  其中,x(i)為通過高通濾波器后的信號(hào),y(i)為經(jīng)過加窗處理后的信號(hào)。
  對經(jīng)過加窗處理過的信號(hào),計(jì)算其平均能量的計(jì)算公式如下:
  
  其中,y(0)、y(1)、……、y(79)為經(jīng)過加窗處理的信號(hào),E_average為該幀的平均能量。


  在加窗的計(jì)算中涉及到余弦的運(yùn)算,為了節(jié)省資源及提高處理速度,采用查表法來得到0.54-0.46×cos(e×i/79)部分的數(shù)值。

  (2)平方器的實(shí)現(xiàn)

  由于平方運(yùn)算與普通的乘法器相比具有一定的特殊性,因此在平方器的硬件實(shí)現(xiàn)上采用如下的算法來減少硬件資源并提高運(yùn)算速度:

  設(shè)X的二進(jìn)制表示為 In In-1……I1I0,Iij為第i位和第j位的乘積。由于在平方運(yùn)算中Iij=Iji,故 Iij+I(xiàn)ji=2Iij。因此以4bit數(shù)的平方運(yùn)算為例,參考圖5,可以通過合并相同項(xiàng)后,左移一位(相當(dāng)于乘2運(yùn)算)來減少部分積的位數(shù)[7]。對所得到的部分積使用Wallace壓縮樹將部分積壓縮至兩組,然后再使用超前進(jìn)位加法器來得到最后結(jié)果。


  由于本模塊計(jì)算得到的平均能量僅用于同語音判決模塊中的門限比較,出于節(jié)省硬件資源的考慮,該平均能量和語音判決模塊中的門限均不化成dB單位。通過Matlab仿真驗(yàn)證,這種做法并不會(huì)影響到最后的判決結(jié)果。加窗、平均能量計(jì)算模塊的處理延遲為5個(gè)時(shí)鐘周期,圖6為本模塊的結(jié)構(gòu)框圖。圖中的ready_out信號(hào)為高通濾波模塊完成一次濾波計(jì)算后輸出的數(shù)據(jù)可讀信號(hào),acc_clken信號(hào)為累加器的時(shí)鐘使能信號(hào)。


2.4 語音判決模塊

  根據(jù)計(jì)算出的當(dāng)前幀的平均能量以及之前幀的情況,判斷該幀是否為語音幀。通過使用四個(gè)標(biāo)志位:frame_attribute[2:0]和smooth來決定是否需要進(jìn)行平滑,其中,frame_attribute[2:0]記錄前三幀的屬性,smooth記錄前三幀中是否存在非平滑過的語音。此模塊的處理延遲為1個(gè)時(shí)鐘周期。

2.5 控制模塊

  控制模塊控制高通濾波、加窗、平均能量計(jì)算以及語音判決模塊的運(yùn)行,并且根據(jù)實(shí)際情況對門限進(jìn)行更新。

2.6 系統(tǒng)綜合結(jié)果

  表2為本設(shè)計(jì)在兩款FPGA芯片上的綜合結(jié)果。


  綜合結(jié)果顯示,本設(shè)計(jì)在硬件上占用的資源較少,并可在低成本的FPGA(考慮到成本,選用CycloneII系列的EP2C5T144C7)上實(shí)現(xiàn)。因此本設(shè)計(jì)也可以與其他數(shù)字語音處理模塊一起構(gòu)成完整的語音處理芯片。

2.7 仿真結(jié)果及分析

  圖7為ModelSim仿真結(jié)果。圖中最后一行信號(hào)為檢測結(jié)果,高電平表示語音,低電平表示靜音。由仿真結(jié)果可以看到,所設(shè)計(jì)的FPGA可以滿足準(zhǔn)確性及實(shí)時(shí)性的要求。


  由前面各個(gè)模塊的分析結(jié)果可以推算出,本設(shè)計(jì)在采集完一幀數(shù)據(jù)、在14個(gè)時(shí)鐘周期后可將判決結(jié)果輸出。

  本文介紹了基于短時(shí)能量和短時(shí)過零率的VAD算法的FPGA實(shí)現(xiàn)。整個(gè)系統(tǒng)采用VHDL進(jìn)行描述,并進(jìn)行了仿真,驗(yàn)證了設(shè)計(jì)的正確性。系統(tǒng)的時(shí)鐘頻率可達(dá)46.22MHz,可在采集完一幀數(shù)據(jù)后的302.90ns內(nèi)輸出檢測結(jié)果,符合實(shí)時(shí)性的要求。由于本設(shè)計(jì)采用VHDL進(jìn)行描述,因此具有可移植性,同時(shí)由于設(shè)計(jì)所使用的硬件資源并不多,因此也可以作為一個(gè)模塊應(yīng)用到其他系統(tǒng)中。

參考文獻(xiàn)

1 BRADY P T. A technique for investigating on-off patterns of speech[J]. Bell Syst Tech J, 1965;(44):1~22
2 GERSHO A,PAKSOY E. An overview of variable rate speech coding for cellular networks[A]. IEEE Conf Selected on Topics Wireless Commun[C]. Vancouver, 1992;172~175
3 吳智勇.VoIP中語音壓縮Codec的研究與實(shí)現(xiàn).碩士論文.南開大學(xué), 2003
4 ITU-T Rec.G.729,Coding of speech at 8 Kbit/s using conjugate-structure algebraic-code-excited linearprediction(CS ACELP) [S]. 1996
5 Parhi K K.VLSI digital signal processing systems: Design and Implementation. 北京:機(jī)械工業(yè)出版社,2003
6 Kuo S M, Lee B H著,盧伯英譯.實(shí)時(shí)數(shù)字信號(hào)處理.北京:中國鐵道出版社,2004
7 韓雁,姚慶棟.數(shù)字專用集成電路中平方運(yùn)算的硬件實(shí)現(xiàn).電子科學(xué)學(xué)刊,1996;18(6)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉