《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 基于短時能量和短時過零率的VAD算法及其FPGA實現

基于短時能量和短時過零率的VAD算法及其FPGA實現

2008-04-01
作者:李 昱, 林志謀, 黃云鷹,

  摘 要: 介紹了一種基于短時能量和短時過零率的VAD算法,并對該算法進行了硬件實現。對其中主要的運算模塊——濾波器和平方器模塊,在硬件實現方法上進行了優化和改進,取得了較好效果使其在保證實時性" title="實時性">實時性要求的同時節省了資源,為進一步向低成本器件上移植或系統中作為IP模塊應用提供了可能性。
  關鍵詞: 語音激活檢測" title="語音激活檢測">語音激活檢測 短時能量 短時過零率 現場可編程門陣列


  語音激活檢測VAD(Voice Activity Detection)是一種通過特定的判決準則判斷語音中出現的停頓和靜默間隔,檢測出有效語音部分的技術。運用這種技術可以在確保語音質量的前提下,對不同類別的語音段采用不同的比特數進行編碼,從而降低語音的編碼速率。由于在雙工移動通信系統中,一方只有35%的時間處于激活狀態[1],如何降低靜音期的編碼速率對于減少傳輸帶寬、功率以及容量具有積極的作用,因此VAD技術在語音通信領域具有重要的使用價值。隨著適合于變比特率語音編碼的CDMA和PRMA等多址技術的出現,應用于蜂窩的語音激活檢測的重要性也隨之提高[2]
  由于語音通信的特殊性,要求檢測過程能達到實時性的要求。而目前主流DSP芯片的并行度并不高,因此在實時處理的要求下,保證語音質量和降低語音的編碼速率兩者難以兼顧。而現場可編程門陣列(FPGA)由于其硬件具有可編程的靈活性,可以實現較高的并行度,從而可以在滿足實時性要求的前提下,很好地保證語音質量并降低語音的編碼速率。
1算法及檢測流程
1.1 算法簡述
  語音激活檢測算法可以基于時域或頻域。本文采用的算法是時域分析的方法。算法對于輸入信號的檢測過程可分為短時能量檢測和短時過零率檢測兩個部分。算法以短時能量檢測為主,短時過零率檢測為輔。根據語音的統計特性,可以把語音段分為清音、濁音以及靜音(包括背景噪聲)三種。在本算法中,短時能量檢測可以較好地區分出濁音和靜音。對于清音,由于其能量較小,在短時能量檢測中會因為低于能量門限而被誤判為靜音;短時過零率則可以從語音中區分出靜音和清音。將兩種檢測結合起來,就可以檢測出語音段(清音和濁音)及靜音段。
1.2 檢測流程
  檢測流程:對輸入信號先進行高通" title="高通">高通濾波,減弱以噪聲為主的信號能量。接著進行窗長為80個數據的加窗處理,然后計算該幀的平均能量,再利用短時能量進行VAD初判。若平均能量大于門限則判為語音幀,若平均能量小于門限則判為靜音幀。對于初判為靜音幀的幀再進行VAD平滑,即參考前三幀的情況:如果前三幀中至少包含一幀非平滑過的語音幀,則將該幀平滑為語音幀,同時記錄下該幀為平滑所得的語音幀;反之,則判斷為靜音幀。如果平滑結果仍為靜音幀,且當前幀的過零率介于30~70之間時,則改判為語音幀;反之則仍判為靜音幀[3]。VAD算法的檢測流程圖如圖1所示。


  此外,由于人耳的聽覺具有掩蔽效應,因此有必要對短時能量門限進行更新[3]。本算法所采用的門限更新方式是:如果連續檢測到三幀語音,為了更好地檢測到靜音,將短時能量門限提高3dB,但如果提高后的門限超過當前幀的平均能量減12dB,則不提高門限;如果連續檢測到三幀靜音,為了更好地檢測到語音,將短時能量門限降低3dB,但如果降低后的門限小于當前幀的平均能量加12dB,則不降低門限。此外,為了防止門限變得太高或降得太低, 還應把門限限制在GATE_MIN、GATE_MAX范圍內。
2 系統實現及優化
  本設計采用QuartusII以及ModelSim進行開發(ModelSim是Mentor Graphics公司的仿真軟件)。QuartusII是Altera公司的一套開發FPGA/CPLD的EDA軟件,可以完成從設計輸入、功能仿真、綜合優化、后仿真、引腳配置、布局布線到配置芯片的一系列FPGA/CPLD的開發流程,并提供調用其他EDA工具,如ModelSim、Synplify/Synplify Pro、FPGA Complier的接口。
  本設計的輸入為16位PCM編碼的數字語音信號,輸出是每80個數據為一幀的語音信號的檢測結果,其中高電平表示語音,低電平表示靜音。根據所用算法的特點,將本設計劃分成五個模塊:FIFO模塊、高通濾波模塊、平均能量模塊、判決模塊以及控制模塊。系統結構框圖如圖2所示。


2.1 FIFO模塊
  輸入的語音信號的采樣率為8kHz,如果將8kHz作為系統的時鐘頻率,極大地削弱了FPGA芯片的速度優勢。因此系統需要兩個時鐘,一個是頻率為8kHz的采樣時鐘,另一個為系統主時鐘。
  在FPGA設計中,多時鐘設計會帶來不穩定的隱患。為了提高系統的穩定性,本設計采用一個雙口的FIFO作時鐘隔離。FIFO模塊具有16位的數據輸入口及16位的數據輸出口、8kHz時鐘輸入口以及系統主時鐘輸入口。此外,由于FIFO的讀速度大于寫速度,因此當FIFO為空時,需要輸出一個empty信號。
  在高通濾波、平均能量計算、判決、控制這四個模塊中均可采用單時鐘設計,而且所使用的時鐘均為系統主時鐘。
2.2 濾波器模塊
  濾波器對輸入信號進行高通濾波的預處理。高通濾波器的傳輸函數采用CS-ACELP算法所使用的傳輸函數[4]
  
  FPGA中IIR濾波器的設計一般采用如圖3所示的流水線結構(圖中以2階IIR濾波器為例)。這種結構的濾波器可在一個時鐘周期" title="時鐘周期">時鐘周期內完成一次濾波計算[5~6], 并行度較高,但硬件上需要5個乘法器" title="乘法器">乘法器、4個加法器和若干個寄存器,占用了較多的資源。采用非流水線結構的濾波器(仍以2階IIR濾波器為例)的結構如圖4所示。其中:fifo_out為FIFO模塊輸出的數據,empty為FIFO是否為空的標志信號,ready_out信號為完成一次濾波計算的標志信號。此結構的濾波器每5個時鐘周期完成一次濾波計算,并行度較低,但在硬件上只需要1個乘法器、1個累加器、1個計數器以及若干個寄存器。

?

?


  由于本文的算法其信號的采樣率只有8kHz,非流水線結構濾波器的處理速度已可以滿足要求。因此,為了合理利用資源,本設計采用了基于非流水線結構的濾波器。同時考慮到系統的同步性和穩定性,所設計的濾波器每8個時鐘周期完成一次濾波運算并將結果鎖存。表1為兩種不同結構的濾波器(系數采用18位量化,即2位整數加16位小數)在同一器件上實現的結果比較,所用器件為Altera公司CycloneII系列的EP2C5T144C7,綜合工具為QuartusII 5.0,優化選項均為balanced。由表1的比較結果可以看出,雖然非流水線結構的濾波器速度比流水線的慢,但所使用的資源卻大大減少,并且能在101.61ns內完成一次濾波計算,可滿足實時性的要求。此模塊的處理延遲為8個時鐘周期。
2.3 加窗、平均能量計算模塊
  (1)相關公式
  將通過高通濾波器的信號進行加Hamming窗處理,窗長為80個數據。處理所使用的計算公式如下:
  
  其中,x(i)為通過高通濾波器后的信號,y(i)為經過加窗處理后的信號。
  對經過加窗處理過的信號,計算其平均能量的計算公式如下:
  
  其中,y(0)、y(1)、……、y(79)為經過加窗處理的信號,E_average為該幀的平均能量。


  在加窗的計算中涉及到余弦的運算,為了節省資源及提高處理速度,采用查表法來得到0.54-0.46×cos(e×i/79)部分的數值。
  (2)平方器的實現
  由于平方運算與普通的乘法器相比具有一定的特殊性,因此在平方器的硬件實現上采用如下的算法來減少硬件資源并提高運算速度:
  設X的二進制表示為 In In-1……I1I0,Iij為第i位和第j位的乘積。由于在平方運算中Iij=Iji,故 Iij+Iji=2Iij。因此以4bit數的平方運算為例,參考圖5,可以通過合并相同項后,左移一位(相當于乘2運算)來減少部分積的位數[7]。對所得到的部分積使用Wallace壓縮樹將部分積壓縮至兩組,然后再使用超前進位加法器來得到最后結果。


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


2.4 語音判決模塊
  根據計算出的當前幀的平均能量以及之前幀的情況,判斷該幀是否為語音幀。通過使用四個標志位:frame_attribute[2:0]和smooth來決定是否需要進行平滑,其中,frame_attribute[2:0]記錄前三幀的屬性,smooth記錄前三幀中是否存在非平滑過的語音。此模塊的處理延遲為1個時鐘周期。
2.5 控制模塊
  控制模塊控制高通濾波、加窗、平均能量計算以及語音判決模塊的運行,并且根據實際情況對門限進行更新。
2.6 系統綜合結果
  表2為本設計在兩款FPGA芯片上的綜合結果。


  綜合結果顯示,本設計在硬件上占用的資源較少,并可在低成本的FPGA(考慮到成本,選用CycloneII系列的EP2C5T144C7)上實現。因此本設計也可以與其他數字語音處理模塊一起構成完整的語音處理芯片。
2.7 仿真結果及分析
  圖7為ModelSim仿真結果。圖中最后一行信號為檢測結果,高電平表示語音,低電平表示靜音。由仿真結果可以看到,所設計的FPGA可以滿足準確性及實時性的要求。


  由前面各個模塊的分析結果可以推算出,本設計在采集完一幀數據、在14個時鐘周期后可將判決結果輸出。
  本文介紹了基于短時能量和短時過零率的VAD算法的FPGA實現。整個系統采用VHDL進行描述,并進行了仿真,驗證了設計的正確性。系統的時鐘頻率可達46.22MHz,可在采集完一幀數據后的302.90ns內輸出檢測結果,符合實時性的要求。由于本設計采用VHDL進行描述,因此具有可移植性,同時由于設計所使用的硬件資源并不多,因此也可以作為一個模塊應用到其他系統中。
參考文獻
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的研究與實現.碩士論文.南開大學, 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. 北京:機械工業出版社,2003
6 Kuo S M, Lee B H著,盧伯英譯.實時數字信號處理.北京:中國鐵道出版社,2004
7 韓雁,姚慶棟.數字專用集成電路中平方運算的硬件實現.電子科學學刊,1996;18(6)

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一区亚洲| 亚洲视频大全| 亚洲视频综合在线| 亚洲精品美女| 在线看视频不卡| 国内免费精品永久在线视频| 国产亚洲二区| 国产亚洲观看| 国产又爽又黄的激情精品视频| 国产精品热久久久久夜色精品三区| 欧美日韩麻豆| 欧美日本在线观看| 欧美日韩精品一本二本三本| 欧美激情黄色片| 欧美极品一区| 欧美区亚洲区| 欧美日韩一级视频| 欧美色网在线| 国产精品久久久久久亚洲毛片| 国产精品多人| 国产精品视频久久| 国产精品一区二区男女羞羞无遮挡| 国产精品久久久久7777婷婷| 国产精品久久婷婷六月丁香| 国产精品日韩一区二区| 国产精品一区=区| 国产日本欧美一区二区三区在线 | 欧美综合国产精品久久丁香| 久久都是精品| 亚洲国产精品一区| 亚洲精品久久久久久久久| 99re6这里只有精品视频在线观看| 国产精品99久久久久久久女警| 亚洲先锋成人| 欧美在线关看| 久久婷婷一区| 欧美人成在线| 国产精品美女主播| 国产中文一区| 91久久精品国产91久久性色| 夜夜精品视频一区二区| 亚洲欧美久久| 亚洲日韩欧美视频| 亚洲性xxxx| 久久久精品性| 欧美啪啪成人vr| 国产农村妇女精品一二区| 揄拍成人国产精品视频| 亚洲美女视频在线观看| 亚洲欧美日韩综合一区| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲久久一区二区| 午夜精品一区二区三区在线播放| 久久久久久久综合日本| 欧美人与禽猛交乱配| 国产欧美视频在线观看| 亚洲缚视频在线观看| 中日韩高清电影网| 久久国产精品网站| 亚洲特黄一级片| 另类天堂av| 国产精品国产三级国产专区53 | 亚洲人成在线影院| 亚洲欧美在线aaa| 免费日韩成人| 国产精品婷婷| 亚洲肉体裸体xxxx137| 性做久久久久久久免费看| 亚洲免费av片| 久久久www成人免费毛片麻豆| 欧美日韩美女| 韩日欧美一区二区| 在线亚洲美日韩| 亚洲欧洲日产国码二区| 午夜日韩av| 欧美极品一区| 极品少妇一区二区三区精品视频| 亚洲深夜福利视频| 亚洲精品中文字幕在线观看| 欧美在线在线| 国产精品成人一区二区网站软件 | 亚洲国产精品成人久久综合一区| 亚洲欧美日韩国产综合精品二区| 亚洲三级免费电影| 久久久精品一区二区三区| 国产精品国产三级国产aⅴ入口| 一区在线影院| 翔田千里一区二区| 亚洲欧美一区二区三区极速播放 | 亚洲一区在线看| 欧美1区2区视频| 国产午夜亚洲精品不卡| 亚洲午夜一区二区三区| 一区二区三区四区精品| 欧美成人小视频| 国产亚洲成av人片在线观看桃| 在线视频欧美日韩| 日韩午夜激情电影| 麻豆久久久9性大片| 国产欧美综合一区二区三区| 中文在线资源观看网站视频免费不卡 | 亚洲国产精品精华液网站| 欧美在线观看视频一区二区三区| 亚洲在线观看视频| 欧美日韩国产在线| 亚洲精品久久久久久久久久久久| 亚洲高清不卡一区| 久久大香伊蕉在人线观看热2| 国产精品久久7| 99成人在线| 夜夜爽夜夜爽精品视频| 欧美精品免费视频| 亚洲精品国产精品国自产观看| 91久久精品国产91性色| 六月丁香综合| 亚洲第一精品在线| 亚洲欧洲一区二区三区久久| 美女性感视频久久久| 在线免费观看视频一区| 亚洲国产精品成人精品| 免费观看亚洲视频大全| 在线观看精品| 亚洲品质自拍| 欧美激情四色| 亚洲精品在线观看免费| 亚洲视频在线免费观看| 欧美日韩一区三区四区| 99热免费精品| 亚洲一区二区在线免费观看| 国产精品v日韩精品| 亚洲在线免费| 欧美在线不卡| 狠久久av成人天堂| 亚洲国产婷婷| 欧美激情综合五月色丁香小说| 亚洲精品视频免费| 亚洲永久免费精品| 国产精品视频导航| 久久超碰97人人做人人爱| 免费h精品视频在线播放| 91久久国产综合久久91精品网站| 一本久久综合亚洲鲁鲁五月天| 欧美三日本三级少妇三99| 亚洲性色视频| 久久精品欧美日韩| 亚洲国产成人精品久久| 亚洲少妇中出一区| 国产精品揄拍500视频| 欧美专区在线观看| 欧美激情精品久久久久久久变态| 亚洲精品美女91| 亚洲欧美综合网| 伊人色综合久久天天| 99re66热这里只有精品3直播| 欧美色图麻豆| 欧美一区二区三区四区在线观看| 麻豆国产精品va在线观看不卡| 亚洲精选大片| 久久精品99国产精品日本| 亚洲国产专区校园欧美| 亚洲欧美日韩一区二区三区在线观看| 国产午夜精品一区二区三区视频 | 亚洲精品久久久久中文字幕欢迎你| 欧美日韩精品一区二区在线播放 | 91久久综合| 欧美视频一区二区在线观看 | 一本色道久久综合亚洲精品按摩 | 噜噜噜91成人网| 一区二区三区国产在线| 久久久久一区二区三区| 亚洲日韩中文字幕在线播放| 欧美一级大片在线观看| 亚洲国产一区二区三区a毛片| 亚洲一区中文| 精品av久久707| 亚洲综合精品| 1024成人网色www| 亚洲欧美另类国产| 亚洲大胆av| 欧美一区观看| 亚洲伦理网站| 久久久亚洲影院你懂的| 一本一道久久综合狠狠老精东影业| 久久久久久综合| 一区二区三区久久久| 狼人社综合社区| 亚洲综合色网站| 欧美日韩国产区| 久久精品一区二区国产| 国产精品久久久久一区| 日韩亚洲一区二区| 国产午夜久久| 亚洲欧美日韩爽爽影院| 亚洲人成网站777色婷婷| 久久久久青草大香线综合精品| 亚洲私人影吧| 欧美精品一区二区三区蜜臀 | 欧美福利视频在线| 欧美在线免费观看| 国产精品久久久久一区二区三区|