• 沒有找到結果。

在可規劃系統晶片硬體平台實現利用麥克風陣列進行真人語音純化與活動偵測

N/A
N/A
Protected

Academic year: 2021

Share "在可規劃系統晶片硬體平台實現利用麥克風陣列進行真人語音純化與活動偵測"

Copied!
103
0
0

加載中.... (立即查看全文)

全文

(1)國 立 交 通 大 學 電機與控制工程研究所 碩 士 論 文. 在可規劃系統晶片硬體平台實現利用麥克風 陣列進行真人語音純化與活動偵測 SOPC Implementation of Speech Purification and Voice Activity Detection System Using Microphone Array 研 究 生:. 許. 晏. 榮. 指導教授:. 胡. 竹. 生. 博士. 中 華 民 國 九 十 四 年 十 月.

(2) 在可規劃系統晶片硬體平台實現利用麥克風陣列進行真 人語音純化與活動偵測 SOPC Implementation of Speech Purification and Voice Activity Detection System Using Microphone Array 研 究 生:許 晏 榮 指導教授:胡 竹 生 博士. Student:Yan-Jung Hsuei Advisor:Jwu-Sheng Hu. 國立交通大學 電機與控制工程學系 碩 士 論 文. A Thesis Submitted to Institute of Electrical and Control Engineering College of Electrical Engineering and Computer Science National Chiao Tung University in partial Fulfillment of the Requirements for the Degree of Master in Electrical and Control Engineering June 2005 Hsinchu, Taiwan, Republic of China. 中 華 民 國 九 十 四 年 十 月.

(3) 在可規劃系統晶片硬體平台實現利用麥克風陣 列進行真人語音純化與活動偵測. 研究生:許. 晏. 榮. 指導教授:胡. 竹. 生. 博士. 國立交通大學電機與控制工程研究所碩士班. 摘. 要. 本論文針對室內吵雜環境提出一即時抑制噪音源與真人語音活動偵測系統。並 提出一個符合實驗室規模、8 通道之即時性麥克風陣列訊號處理實驗平臺,且已實 作完成。為了讓系統能適應於噪音源的變化與環境的特徵,論文中設計出一適應性 空間濾波器並實做完成,其中適應性空間濾波器的啟動由真人語音活動偵測結果決 定。論文中之演算法皆實現於可規劃系統晶片硬體平台上。其中真人語音偵測由 Nios 微處理器完成,而適應性空間濾波器由自行設計的硬體進行加速並透過 Avalon Bus 和 Nios 微處理器進行溝通。由於此適應性空間濾波器的階數為彈性化設計,可 以根據不冋的環境狀況做調整,以達到較好的語音純化效果,由實驗證明,此系統 能抑制干擾源的影響,有效提高訊號雜訊比。. I.

(4) SOPC Implementation of Speech Purification and Voice Activity Detection System Using Microphone Array Student: Yang-Rong Hsuei. Advisor: Prof. Jwu-Sheng Hu. Institute of Electrical and Control Engineering. ABSTRACT. A real-time speech purification and voice activity detection (VAD) system for noisy indoor environment is proposed in this thesis. The system contains a real-time eight channel microphone array signal processing platform. An adaptive spatial filter is also designed on the platform to provide the system with the ability of environmental characteristic and noise adaptation. All the algorithms are realized on a Nios embedded system-on-programmable-chip (SOPC) platform. The VAD algorithm is executed by the Nios processor and the adaptive filter is accelerated by a self-designed hardware, which is a customized peripheral. The communication between the Nios and processor and the customized peripheral is achieved by the Avalon Bus. Since the order of the spatial filter is flexible, the system can be adjusted for superior speech puirificaiton result. The experimental results verify that the system can suppress the effect of environmental noise and improve the SNR effectively.. II.

(5) 誌 謝. 對於本論文的完成,首先,感謝指導老師胡竹生教授兩年多來的辛勤指 導。在這段日子裡,老師不僅教導我在學術上的知識,更教導我一個研究生 應有的研究態度,解決問題的方法,讓我了解到研究生就是應該對自己的研 究負責。 而在這些日子,必須感謝實驗室眾多學長、同學和學弟妹的陪伴與協助。 感謝价呈與維瀚兩位語音者博班學長的協助,在理論及實務上都提供我很多 的幫助。更謝謝立偉及宗敏學長給我許多寶貴的意見與鼓勵。也非常感謝語 音組同伴佳興兄幫了我許多忙,一起在車上做實驗與參加比賽的甘苦日子。 還有幾位一起奮鬥的同學,士奇、群棋、岑思和鏗元,有了你們的陪伴,讓 研究生活添加了許多歡樂。另外也謝謝學弟妹們,朱木、螞蟻、鳥蕙、佩靜、 耀賢和恆嘉,謝謝你們的陪伴。 另外,還有眾多好友們。謝謝欣瑋,有了妳在研究所生活最後那一段的 陪伴,讓我在交大的日子劃下一個完美的句點。也謝謝跟我同系在專科時的 摯友們,逸軒、阿德及恒展,有了你們的陪伴,在我的研究生活以外的世界 更添色彩。 最感謝的就是我的家人,父親許明堂先生、母親張素越女士以及妹妹瓊 文和淑琄,真摯的感謝你們給我一個無憂無慮的生活與溫暖的家,讓我能夠 專心於學業上而無後顧之憂,真的最謝謝你們。謹以本論文向家人獻上最誠 摯的謝意。. III.

(6) 目 摘. 錄. 要 ..............................................................................................................................I. ABSTRACT................................................................................................................... II 誌 謝..............................................................................................................................III 目. 錄 ...........................................................................................................................IV. 表. 列 ......................................................................................................................... VII. 圖. 列 ........................................................................................................................VIII. 第一章 緒論 ................................................................................................................... 1 1.1 研究動機 ............................................................................................................... 1 1.2 研究目標 ............................................................................................................... 2 1.3 文獻回顧................................................................................................................ 3 1.4 論文貢獻 ............................................................................................................... 5 1.5 論文架構 ............................................................................................................... 5 第二章 適應性陣列訊號處理 ....................................................................................... 6 2.1 陣列訊號處理 ....................................................................................................... 6. 2.1.1 陣列式訊號處理簡介 ...........................................................................6 2.1.2 陣列型態:均勻線性陣列(Uniform Linear Array) ............................. 8 2.1.3 均勻線性陣列空間響應............................................................................. 9 2.1.4 均勻線性陣列特性................................................................................... 10 2.2 語音活動偵測(VOICE ACTIVITY DETECTION,VAD) ................................... 12. 2.2.1 VAD 模擬 ............................................................................................16 2.3 適應性訊號處理 ................................................................................................. 18. 2.3.1 適應性濾波器簡介 .............................................................................18 2.3.2 適應性濾波器處理架構 .....................................................................18 2.3.3 Least-Mean-Square(LMS)Algorithm.............................................19 2.3.4 Normalize LMS Algorithm..................................................................21 2.4 適應性陣列訊號處理 ......................................................................................... 22. 2.4.1 適應性陣列訊號處理簡介 ................................................................22 2.4.2 適應性空間濾波器:Dahl,s Algorithm ...........................................22 2.5 結合真人語音偵測與適應性陣列訊號處理 ..................................................... 25. 2.5.1 結合真人語音偵測與適應性陣列訊號處理架構簡介 .....................25 2.5.2 結合真人語音偵測與適應性陣列訊號處理模擬 .............................26 第三章 實驗平台與軟硬體設計實現 ......................................................................... 28. IV.

(7) 3.1 實驗平台架構簡介.............................................................................................. 28 3.2 前端麥克風陣列訊號擷取平台.......................................................................... 29. 3.2.1 聲音訊號放大及濾波電路 .................................................................29 3.2.2 類比訊號擷取及轉換電路 .................................................................31 3.2.3 陣列訊號擷取電路板 .........................................................................32 3.3 NIOS 嵌入式 SOPC 發展平台 ............................................................................ 33 3.3.1 SOPC 系統概述與 NIOS 嵌入式 SOPC 發展平台簡介 ................................. 33. 3.3.2 Nios CPU[22] ......................................................................................35 3.3.3 Avalon Bus 介面及使用者自訂之客製化周邊模組..........................37 3.3.4 DMA 控制器[22,23] ..........................................................................41 3.4 SOPC 單晶片系統軟硬體設計........................................................................... 42. 3.4.1 系統功能描述及系統方塊圖 ............................................................42 3.4.2 系統運算量估測及軟硬體配置 ........................................................44 3.4.3 系統硬體架構 .....................................................................................47 3.4.4 匯流排介面及暫存器檔案模組 ........................................................51 3.4.4.1 匯流排介面模組.................................................................................... 51 3.4.4.2 暫存器檔案模組.................................................................................... 52. 3.4.5 資料擷取及流程控制模組 ................................................................53 3.4.5.1 資料擷取模組........................................................................................ 53 3.4.5.2 流程控制模組........................................................................................ 56. 3.4.6 按鈕開關偵測與濾波器階數設定模組 .............................................57 3.4.7 適應性空間濾波器模組 ....................................................................59 3.4.7.1 八個頻道之 FIR 空間濾波器模組 ....................................................... 60 3.4.7.2 訊號能量計算模組................................................................................ 62 3.4.7.3 濾波器係數更新模組............................................................................ 64 3.4.7.4 適應性空間濾波器模組在 MATLAB 模擬 ......................................... 66. 3.4.8 記憶體模組 ........................................................................................70 3.4.8.1 欲純化語音記憶體模組(欲消除雜訊記憶體模組)............................. 71 3.4.8.2 資料記憶體模組.................................................................................... 72 3.4.8.3 濾波器係數記憶體模組........................................................................ 73. 3.4.9 Nios 微處理器系統軟體架構.............................................................74 3.5 實驗平台實際照片.............................................................................................. 75 第四章 實驗結果與分析 ............................................................................................. 76 4.1 麥克風陣列於室內環境 ..................................................................................... 76. 4.1.1 空間濾波器結合真人語音活動偵測與訊號雜訊比關係 .................77 第五章 結論 ................................................................................................................. 87 5.1 總結 ..................................................................................................................... 87 V.

(8) 5.2 未來展望 ............................................................................................................. 88 REFERENCE............................................................................................................... 89. VI.

(9) 表. 列. 表 3-1:不同 Nios 軟核的比較-------------------------------------------------------36 表 3-2:不同誤差值放大倍率的誤差值收斂情況對照表(256 階濾波器、16 位元動態訊號範圍、32 位元濾波器係數)-----------------------------67 表 3-3:不同誤差值放大倍率的誤差值收斂情況對照表(32 階濾波器、10 位元動態訊號範圍、32 位元濾波器係數)-----------------------------68 表 3-4:不同濾波器係數位元數的誤差值收斂情況對照表(256 階濾波器、 16 位元動態訊號範圍、2^36 誤差值放大倍率)----------------------69. VII.

(10) 圖. 列. 圖 1-1:系統架構簡圖-------------------------------------------------------------------2 圖 2-1:陣列模型-------------------------------------------------------------------------7 圖 2-2:均勻線性陣列-------------------------------------------------------------------8 圖 2-3:均勻線性陣列之空間響應---------------------------------------------------10 圖 2-4:Grating Lobe 示意圖----------------------------------------------------------11 圖 2-5:VAD 演算法流程圖-----------------------------------------------------------14 圖 2-6:VAD 模擬結果 N=6,有 Hangover---------------------------------------16 圖 2-7:VAD 模擬結果 N=6,無 Hangover---------------------------------------17 圖 2-8:VAD 模擬結果 N=0,無 Hangover---------------------------------------17 圖 2-9:適應性濾波器處理架構圖---------------------------------------------------18 圖 2-10:LMS 演算法方塊圖----------------------------------------------------------20 圖 2-11:Dahl,s Algorithm 訊號擷取架構圖-------------------------------------23 圖 2-12:Dahl,s Algorithm 架構圖-------------------------------------------------24 圖 2-13:結合真人語音偵測與適應性陣列訊號處理架構圖--------------------25 圖 2-14:人聲摻雜音樂聲--------------------------------------------------------------26 圖 2-15:真人語音與音樂混和訊號通過 Lower Beamformer 結果------------27 圖 2-16:真人語音與音樂混和訊號通過 VAD 與 Lower Beamformer 結果--27 圖 3-1:語音純化系統架構圖---------------------------------------------------------28 圖 3-2:聲音訊號放大及濾波電路架構圖------------------------------------------29 圖 3-3:聲音訊號放大及濾波電路圖------------------------------------------------30 圖 3-4:頻率響應圖---------------------------------------------------------------------30 圖 3-5:類比訊號擷取及轉換電路架構圖------------------------------------------31 圖 3-6:麥克風系統電路板------------------------------------------------------------31 圖 3-7:SOPC 概念圖-------------------------------------------------------------------33 圖 3-8:嵌入式 SOPC 發展平台------------------------------------------------------35 圖 3-9:SOPC Builder 的使用者介---------------------------------------------------36 圖 3-10:具可變動等待時序之從架構讀取傳輸-----------------------------------38 圖 3-11:固定間隔(latyency=2)時序之從架構讀取傳輸------------------------38 圖 3-12:串流時序之從架構讀取傳輸-----------------------------------------------39 圖 3-13:資料匯流排較小之從裝置客製化周邊-----------------------------------40 圖 3-14:資料匯流排較 Nios 大之從裝置客製化周邊----------------------------41 圖 3-15:搭配 DMA 控制器與客製化周邊之 SOPC 系統單晶片範示---------42 圖 3-16:SOPC 單晶片系統方塊圖---------------------------------------------------45 圖 3-17:SOPC 單晶片系統硬體架構圖---------------------------------------------47 圖 3-18:客製化周邊連結 Avalon Bus 之訊號示意圖-----------------------------50 圖 3-19:客製化周邊硬體加速架構圖-----------------------------------------------51 VIII.

(11) 圖 3-20:資料擷取控制器方溾圖----------------------------------------------------54 圖 3-21:資料擷取控制模組之狀態流程圖----------------------------------------56 圖 3-22:流程控制器模組之狀態流程圖-------------------------------------------57 圖 3-23:按鈕開關偵測模組之狀態流程圖----------------------------------------58 圖 3-24:濾波器階數設定模組之狀態流程圖-------------------------------------58 圖 3-25:適應性空間濾波器模組方塊圖-------------------------------------------59 圖 3-26:單一麥克風頻道濾波器運算單元----------------------------------------60 圖 3-27:8 頻道空間濾波器運算單元-----------------------------------------------61 圖 3-28:訊號能量計算模組運算單元----------------------------------------------63 圖 3-29:濾波器係數更新模組運算單元 ----------------------------------------65 圖 3-30:記憶體模組單元方塊圖----------------------------------------------------70 圖 3-31:欲純化語音或雜訊記憶體模組單元 ----------------------------------71 圖 3-32:資料記憶體模組單元-------------------------------------------------------72 圖 3-33:濾波器係數記憶體模組單元----------------------------------------------73 圖 3-34:Nios 微處理器系統軟體流程----------------------------------------------74 圖 3-35:系統軟體之時序分析圖-----------------------------------------------------75 圖 3-36:實驗平台實際照片-----------------------------------------------------------75 圖 4-1:實驗環境實際照片------------------------------------------------------------76 圖 4-2:實驗環境平面關係圖---------------------------------------------------------77 圖 4-3:空間濾波器處理前,音樂雜訊---------------------------------------------78 圖 4-4:空間濾波器處理後,音樂雜訊,階數=64-------------------------------79 圖 4-5:空間濾波器處理前,音樂雜訊---------------------------------------------79 圖 4-6:空間濾波器處理後,音樂雜訊,階數=128-------------------------------80 圖 4-7:空間濾波器處理前,音樂雜訊---------------------------------------------80 圖 4-8:空間濾波器處理後,音樂雜訊,階數=256-------------------------------81 圖 4-9:空間濾波器處理前,音樂雜訊無預先錄製-------------------------------82 圖 4-10:空間濾波器處理後,音樂雜訊無預先錄製,階數為 128--------------82 圖 4-11:空間濾波器處理前,音樂雜訊無預先錄製-----------------------------83 圖 4-12:空間濾波器處理後,音樂雜訊無預先錄製,階數為 256------------83 圖 4-13:空間濾波器處理前,白色雜訊--------------------------------------------84 圖 4-14:空間濾波器處理後,白色雜訊,階數為 128----------------------------85 圖 4-15:空間濾波器處理前,白色雜訊---------------------------------------------85 圖 4-16:空間濾波器處理後,白色雜訊,階數為 256----------------------------86. IX.

(12) 第一章 緒論 1.1 研究動機 環境中的語音訊號干擾源總是存在,例如冷氣機、電腦風扇、喇叭、密 閉空間反射等等。當語音訊號遭到干擾時,若用於語音辨識中,辨識率會大 為將低,若用於通訊中,通話品質也大受影響。因此若能設計出一語音輸入 介面,降低環境中干擾源的影響,達到語音純化的效果,則在生活中將會有 很大的應用面。 以往要消除干擾源的影響,往往要知道干擾源的特性,一般的處理方式 是由時域、頻域去分析干擾源的特性,如果目前的干擾源在時域、頻域上沒 有什麼固定的特徵,如電腦不斷的播放不同的音樂,那麼藉由時域、頻域去 消除干擾源的影響,效能往往不理想。. 在論文中,我們利用麥克風陣列頡. 取訊號在空間上的特徵來做處理,只要能對當時的環境訊號作適應性空間濾 波(Spatial Filter) ,則可對不同角度入射的訊號有不同的增益,以降低干擾源 對語音訊號的影響,達到提升訊噪比(SNR)的作用。除了適應性空間濾波 的功能外,我們額外加入真人語音偵測(Voice Activity Detection,VAD)的 功能,讓系統能依據真人語音的存在與否自動地適應性調整空間濾波器係 數。另一方面,由於陣列訊號處理需要大量的乘累加矩陣運算,在 PC 上要實現如 此高階且架構特殊的空間濾波器顯得沒有效率。此外,某些應用因空間限制不允許 使用體積龐大的 PC(如車內環境) ,故必需設計一個體積小而有效率的嵌入式系統。 對於將來更希望此語音純化系統可以適用於各種吵雜環境之語音純化,作為語音輸 入介面之前端處理,並結合語音辨識器作語者辨識的工作。適用範圍包括 1.. 室內吵雜環境之語音辨識前處理. 2.. 車用語音介面導航系統之語音辨識前處理(車上所處噪音環境尤其複雜). 1.

(13) 1.2 研究目標. 本系統依目標區分為以下部分(如圖 1-1) 1. 選定真人語音偵測及適應性空間濾波器演算法。 2. 自行研製之麥克風陣列平台,包括八個通道之麥克風陣列及八個通道 A/D 擷取 電路模組。透過它將八個通道之語音訊號傳輸至 Nios 嵌入式 SOPC(System On Programmable Chip)開發系統平台做語音純化之動作。 3. 實現可調階數之適應性空間濾波器及真人語音活動偵測於 Nios 嵌入式 SOPC 開 發系統平台上,進行語音即時性純化處理,並期望輸出之語音資訊達到 16bit 的 精準度,未來可做為語音辨識的前處理。. 8CH 麥克風陣 噪音源 語者音源 儲存純化後語音. 資料擷取 控制訊號. 8-CH A/D 擷取電路. Debug Mode 傳送純化語音. 真人語音偵測及適應性空間濾波器演. 流程控制相關按鍵. LED 顯示系統狀態 圖 1-1:系統架構簡圖. 2.

(14) 1.3 文獻回顧 陣列訊號處理技術早於第一次世界大戰時被提出並加以利用[1],當時法 國人 Sergent Jean Perrinm 用了兩組感測器,每組感測器由六組次感測器所組 成,此發明是用來偵測敵機。之後,陣列訊號處理技術也被用於聲納[2],陣 列望遠鏡(如美國新墨西哥洲沙漠中的特大天線陣列(Very Large Array) ,它 由 27 個碟形天線以Y字形分佈)等等。而早年的陣列訊號處理技術皆用於軍 事或大型儀器上,直到最近,在電子元件普及與運算能力越來越強大的趨勢 下,陣列訊號處理技術也慢慢走向消費性產品話,如麥克風陣列。 麥克風陣列可達到空間濾波的功能,一般而言稱之為 Beamformer[1], Beamformer 用於麥克風陣列早用於第二次世界大戰[3],接著慢慢衍生出諸如 Fourier Beamformer[4] 、 MVDR(Minimum Variance Distortionless Response Beamformer)[5][6]、Robust MVDR[7]、MCMV(Multiply Constrained Minimum Variance Beamformer)[8]、MMSE(Minimum Mean Square Error Beamformer) [9]、MSNR(Maximum SNR)[7]、ML(Maximum Likelihood Beamformer)[7]等。 在各種 Beamformer 中最簡單實現的技術為 Fourier Beamformer,它具有較高 的 SNR,但是它需要較大的麥克風陣列才可以達到較好的效果,這是因為越 多的麥克風可以形成較尖銳的 beam pattern,進而減少其他非聲源角度之干擾 源影響。這樣的缺點會造成為了增加效果而必須一直擴大麥克風陣列的體 積,因而提出了一種可以自動消除干擾源的 beamformer—MVDR,它除了可 以將所量測出之聲源角度作完整聲音之接收,並且還可讓非聲源角度之聲音 接收達到最低。此法跟 Fourier Beamformer 有相同之 SNR,然而卻增加了抑 制干擾源的效果。然而,如果接收到的訊號是 coherence 或者是作聲源判斷時 產生錯誤(pointing error),MVDR 這方法所形成的效果將大打折扣,甚至會使 得原本要接收之聲源變成完全沒有接收。接下來所提出之 Robust MVDR 便是 加入 pseudo noise 以減少 pointing error 的影響。另外還有 MCMV 的方法,這. 3.

(15) 個方法需先計算出想要接收的角度以及干擾源的角度,Beamformer 的技術針 對此聲源收音並且濾除其他方向之雜訊,則此系統將會變得更為實用,而這 方面的系統複雜程度以及運算量相當的龐大,如何去利用 Beamformer 和 DOA 定義出想接收度,或者是不想接收的角度,然後產生一個 beam 於想要接收之 角度,並且產生 null 於不想接收之角度,此法便可將不想接收的聲源消除, 只是此法還需計算其他之角度,如此增加之計算量將是整體系統的負擔。 在國內,麥克風陣列的製作廠商幾乎沒有,而本實驗室 1999 年時,曾經 以 Fourier beamformer 為基礎,設計一組 real-time spatial filter and DOA estimation system[10][11],此系統包含一個 16 channel 的 microphone array 以 及對應的 signal conditioner module、sampler module 以及 DSP Module,並能 即時估測空間之聲源方向。並在 2004 年設計出以 USB1.1 為介面之語音純化 系統[12]。 近年來,己有文獻探討麥克風陣列為基礎的聲音定位 IC[28]以及許多探 討適應性濾波器各種電路架構的文獻[29-39],其不外乎著重於低耗電、小面 積或達到高速度的電路架構探討。但尚末發現以麥克風陣列為基礎做適應性 空間濾波器結合真人語音偵測之語音純化 IC 相關文獻。而為了因應不同的實 際噪音環境並提升陣列訊號處理之效果,往往需要更高階數且具階數彈性之 適應性空間濾波器,故本論文將麥克風陣列為基礎之語音純化系統以客製化 硬體方式實現於嵌入式發展平台,達到高效能、高擴充性之優勢。. 4.

(16) 1.4 論文貢獻 本論文已實作完成八通道麥克風陣列訊號擷取平台。在演算法上,將真 人語音活動偵測(VAD)與空間濾波器(Beamformer)做結合,達到自動適 應性調整空間濾波器功能。在硬體實現上,真人語音活動偵測(VAD)利用 Altera 所研製之 32-bit Nios CPU 進行運算;而運算量較大之可調階數空間濾 波器則是利用客製化硬體方式進行加速並透過 Avalon Bus 和 Nios CPU 溝 通。另外,此空間濾波器只需做小部分修改,即能和其他 32-bit CPU 之 Bus 相容,如 ARM 之 AMBA Bus。由實驗證明,麥克風陣列平台能夠在不同噪 音環境下(音樂、人聲或白色雜訊...等等)純化語音,增加訊號雜訊比, 將來可做為語音辨識之前處理,以增加語音辨識率。. 1.5 論文架構 本篇論文包含了三個主要的部分,分別是即時性演算法的理論、實驗平 臺的架構與實現與即時性演算法的驗證。底下將大致描述三個主要部分的內 容: 第二章:將介紹陣列訊號處理概念、適應性訊號處理簡介、語音活動偵測演 算法及適應性陣列訊號處理-Dahl,s Algorithm。 第三章:介紹實驗平台架構以及演算法之軟硬體架構實現。 第四章:演算法在實驗平台的驗證 第五章:結論. 5.

(17) 第二章 適應性陣列訊號處理 2.1 陣列訊號處理 2.1.1 陣列式訊號處理簡介 在傳統數位訊號處理研究中,大多著重於時域訊號的處理技巧,通常先 將連續訊號進行取樣,接著通過濾波器以區分訊號中不同的成分,但當原始 訊號與雜訊在頻譜上極相似時,一般的時域濾波器很難將原始訊號與雜訊分 開,以單一麥克風為例子,若同時接收到兩人說話的聲音,因為兩人聲音頻 帶重疊性很高的原因,時域訊號的處理方式很難將兩人聲音分開 ,因此若需要還原原始訊號,則需要對訊號進行空間取樣以獲得空間資訊[1]。 數個感應器排成特定的形狀,接收來自空間中所傳遞的訊號,並經過訊 號處理,此技術稱為陣列訊號處理[1]。在陣列訊號處理領域中,依照其目的 不同,大致可以將其研究領域分為兩大類,第一種類的研究著重於估測訊號 的數量或在空間中的方位,此類研究一般來說稱為到達角估測(Direction of arrival estimation) 。而另一種類的研究則是利用訊號的空間關係,希望能夠對 不同方向的訊號作出不同的增益,以達到空間濾波的效果,藉以分離空間中 不同方向聲源的訊號, 這一類的研究一般稱之為波束形成(Beamforming), 也就是一種空間濾波器(Spatial Filter)。 在陣列訊號處理理論中,基於兩個假設 „. 窄頻訊號(Narrowband signal). „. 遠場平面波(Far field plane wave). 假設一陣列感應器排置如圖一所示,s(t)為原始訊號,n(t)為雜訊. 6.

(18) 圖 2-1:陣列模型. 則 M 個感應器輸出可寫成下列向量形式 r. r. x ⋅r jw c 1 ⎡ c ⎡ x1 (t ) ⎤ ⎢ s (t )e ⎥ = ⎢ M M r r x ( t ) = ⎢⎢ ⎥ ⎢ ⋅r x jw c M ⎢⎣ x M ( t ) ⎥⎦ c ⎢ s (t )e ⎣⎢. r r jk c x1 ⋅ r. ⎡e ⎤ ⎢ ⎥ = ⎢ M ⎥ s (t ) + r r ⎢ e jk c x M ⋅ r ⎥ ⎣ ⎦. ⎤ ⎡ n1 (t ) ⎤ ⎥ ⎥ ⎥ + ⎢ M ⎥ ⎢ ⎥ ⎥⎦ ⎢ n ( t ) ⎥ ⎣ M ⎦⎥. ⎡ n1 ( t ) ⎤ ⎢ M ⎥ = a ( rr ) s ( t ) + n ( t ) ⎢ ⎥ ⎢⎣ n M ( t ) ⎥⎦ (2-1). kc =. wc 2π = c λc. k c 稱為 wavenumber 而 λc 為波長,c 為波速. r a (r ) 稱為 array manifold vector 包含了訊號傳遞到感應器之間時間關係. 7.

(19) 2.1.2 陣列型態:均勻線性陣列(Uniform Linear Array). 不同的陣列型態會造成不同的空間響應,並會決定陣列的空間解析度, 舉例來說,一維的陣列只能解析一維的空間維度,而二維的陣列就可解析二 維的空間維度,論文中所實現的陣列型態屬於一維陣列的一部分,因此本章 節將介紹屬一維陣列的均勻線性陣列。 均勻線性陣列(Uniform Linear Array) ,是指一組陣列感應器以線性方式 排列,並且感應器之間的距離相等,其架構圖如圖 2-2 所示。. 圖 2-2:均勻線性陣列. 若以第一個感應器當作參考點,每個感應器對於訊號源相對角度皆為θ,則 第 M 個感應器收到的時間為訊號到達第一個感應器後延遲. (M − 1) ⋅ d ⋅ sin θ , c. 因此均勻線性陣列的 Array manifold vector 可寫成如(2-2)式,均勻線性陣 列的優點是容易實現且公式容易推導,運算量較其它多維陣列型態低,但缺 點為只能對一維空間作解析。. 8.

(20) 1 ⎡ ⎤ ⎢ e jkc d sin θ ⎥ ⎥ a(θ ) = ⎢ ⎢ ⎥ M ⎢ jkc ( M −1)d sin θ ⎥ ⎣e ⎦. (2-2). 2.1.3 均勻線性陣列空間響應. 均勻線性陣列的架構如圖 2-2 所示,其中 W 指的是每個感應器輸出乘上 的加權,而空間濾波器(Spatial Filter)指的就是將感應器輸出乘上各自加權 值的線性組合,因此均勻線性陣列的總輸出可寫成如下形式: M. p (θ ) = ∑ Wi ⋅ e jkc (i −1)d sin θ. (2-3). i =1. 此種線性組合的空間濾波器可稱為波束形成(beamforming),若將(2-3)式 中的加權值都設為 1,則 p(θ ) 可化簡成如下所示: M. p(θ ) = ∑ e. jkc (i −1)d sin θ. i =1. =e. k ( M −1)d j c sin θ 2. e jkc Md sin θ − 1 = jkcd sin θ e −1. ⎛ k Md ⎞ sin ⎜ c sin θ ⎟ ⎝ 2 ⎠ ⎛k d ⎞ sin ⎜ c sin θ ⎟ ⎝ 2 ⎠. (2-4). 若將 p(θ ) 取 Magnitude 可得其 beampattern,如圖 2-3 所示。 從圖 2-3 可看出,不同角度入射的訊號會有不同的增益,而角度和增益的關 係是由陣列的加權值所決定,因此波束形成(beamforming)就可達到空間率 波的效果,而在波束形成理論中,就是用適當的方法去計算出加權值,將訊. 9.

(21) 號作空間濾波,就可得到想要的訊號。. 圖 2-3:均勻線性陣列之空間響應(M=8,frequency=100Hz,d=10). 2.1.4 均勻線性陣列特性. 和時域濾波器一樣,空間濾波器也會有一些基本的特性,本章節將針對 均勻線性陣列,介紹其基本特性[13]。 „. Grating Lobe 問題 將(2-4)式取絕對值可得. ⎛ k Md ⎞ sin ⎜ c sin θ ⎟ ⎝ 2 ⎠ p (θ ) = ⎛k d ⎞ sin ⎜ c sin θ ⎟ ⎝ 2 ⎠. (2-5). 由(2-5)式可看出 p(θ ) 對 sinθ是一週期為 λc d 的週期性的函式,關係圖如 圖 2-4 所示。. 10.

(22) 圖 2-4:Grating Lobe 示意圖. 在均勻線性陣列中,預期訊號的角度在 ± 90 o 間,而在這角度之間我們希 望 Mainlobe 只會出現一次,如果 Mainlobe 出現兩次以上,則會照成不預期的 訊號被接收近來。從圖 2-4 得知,Grating Lobe 發生在 sinθ= λc d 的時候,因 此若讓 λc d > 1,則可避免在 ± 90 o 間出現兩個以上的 Mainlobe。而通常我們 都會選取 d = λc 2 ,以避免 Grating Lobe 的問題。此現象類似於 Nyquist Sampling Theorem,取樣頻率必須是訊號頻率的兩倍以上。. 11.

(23) 2.2 語音活動偵測(Voice Activity Detection,VAD). 語音活動偵測是用來判定是否有真人語音,近年來已廣泛用於通訊上達 到節省能量耗損的目的。若用於語音辨識方面是屬於語音辨識的前處理 ,對辨識結果的影響很大,精確的語音活動偵測可降低噪音影響並提高辨識 率。傳統的語音活動偵測大多使用語音能量或過零率(zero-crossing rate)等 資訊來判別,本節將介紹的語音活動偵測演算法是使用長時間語音資訊 (long-term speech information)來判別是否有真人語音[14]。 最常見的判定真人語音資訊為語音能量和過零率,雜訊及氣音的過零率 都很高,語音能量都較低。例如,由歐洲電信標準協會(ETSI)所制定用於 GSM(Global System for Mobile Communications)系統中的 AMR(Adaptive Multi Rate)VAD 判定方法就採用了能量、週期、頻譜失真等三種參數來判定 [15][16]。另外由國際電信聯盟(ITU)所制定的 G.729-VAD 採用了全頻帶能 量差、低頻帶能量差、頻譜失真和過零率四種參數來判定[17][18]。論文中使 用的 VAD 演算法是使用長時間語音的資訊而非傳統瞬間音框(instantaneous frame)資訊,針對長時間語音資訊,定義出下列定義。. „. Long-Trem Spectrum Envelope(LTSE) 若 x(n)為一段包含有雜訊的語音訊號,而 X(k,l)代表著 x(n)中第. l 個音框第 k 個頻率的值,那麼 N 階的 LTSE 定義為:. LTSE N (k , l ) = max{X (k , l + j )} jj ==+− NN. (2-6). 其 LTSE N (k , l ) 代表的意義為,從第 l-N 個音框到第 l+N 個音框,這 2N+1 個音 框分別對其取頻譜絕對值(Amplitude Spectrum)後,在第 k 個頻率下,這 2N+1 個頻域絕對值內的最大值。而 LTSE 則代表了長時間語音資訊的意義,因為. 12.

(24) LTSE 不只是對單一音框取值,而是針對 2N+1 個音框取最大值,這樣的好處 是不容易忽略某些字頭的子音或是摩擦音。除了 LTSE 外,為了判定是否為 真人語音,必須定義另一項定義 LTSD。. „ Long-Term Spectral Divergence(LTSD) LTSD 的定義如(2-7)式:. ⎛ 1 LTSD N (l ) = 10 log10 ⎜⎜ ⎝ NFFT. NFFT −1. ∑ k =0. LTSE 2 (k , l ) ⎞ ⎟ N 2 (k ) ⎟⎠. (2-7). 其中 NFFT 代表了做 FFT(Fast Fourier Transform)的點數,而 N (k ) 代表了 雜訊的頻譜絕對值平均,定義如(2-8)式: j=K 1 N K (k ) = ∑ X (k , l + j ) 2K + 1 j =− K. (2-8). 從(2-8)式可看出, N K (k ) 代表在第 k 個頻率下,第 l 個音框及前後 K 個音框的頻譜絕對值平均,X(k,l)和先前定義一樣,代表現階段語音的頻 譜絕對值。因此 LTSD 的意義為:現階段長時間語音的頻譜能量與雜訊頻譜 能量的比例關係,換句話說判定是否為真人語音是用了現階段語音能量的大 小來判定,而此能量大小包含了長時間語音資訊,並非只有單一音框資訊。 當 LTSD 大於某個臨界值則判定為真人語音,反之則非真人語音,而此臨界 值γ定義如下:. ⎧ γ0 ⎪⎪ γ −γ γ = ⎨γ 0 + 1 0 (E − E0 ) E1 − E0 ⎪ ⎪⎩ γ1. E ≤ E0 E0 < E < E1 E ≥ E1. (2-9). 其中 E 0 和 E1 代表了在最乾淨和最吵雜的情況下,雜訊的能量,而 E 是指現階. 13.

(25) 段雜訊的能量。 γ 0 和 γ 1 代表在最乾淨和最吵雜的情況下與 LTSD 比較的 臨界值,因此 E 0 , E1 , γ 0 和 γ 1 是先設定好的初始值。從(2-9)式可觀察出當 In itia liz a tio n -N o is e S p e c tru m e s tim a tio n -O p tim a l th re s h o ld c a lc u la tio n. S ig n a l s e g m e n ta tio n. E s tim a tio n o f th e L T S E. C o m p u ta tio n o f th e L T S D. VAD=1. LTSD > γ VAD=1. D e c is io n ru le. LTSD < γ H an g -o v er schem e. N o is e s p e c tru m u p d a te. 圖 2-5:VAD 演算法流程圖. 14.

(26) 現階段雜訊能量介於 E 0 和 E1 時,則 γ 會依 E - E0 在 E1 - E 0 所佔的比例,作出 γ 0 的 線性調整。而 VAD 演算法的流程如圖 2-5 所示:. „ VAD 演算法流程解說 1.. 選定初始值 E 0 , E1 , γ 0 和 γ 1 並進行環境雜訊初始化估測。. 2.. 將語音作切割,一個音框為 30ms,而音框和音框之間的交疊為 20ms。也就是每 10ms,就做一次 VAD 判斷。. 3.. 計算 LTSE 和 LTSD。. 4.. 將 LTSD 與 γ 作比較,若 LTSD > γ 則判定為真人語音,若 LTSD < γ ,則經過 Hang-Over 機制。. 5.. 經過 Hang-Over 機制,若為非真人語音,則更新雜訊頻譜絕對值平均 N (k ) 。. Hang-Over 機制是為了延長字母尾音判定為真人語音的機制,因為字母 尾音部分通常能量較小,容易被判定為非真人尾音,因此系統中加入 HangOver 機制,彌補字母尾音能量小的問題,而當雜訊能量越大時,所需要的延 長時間就越多,補償原訊號被雜訊蓋過的部份。另外在更新雜訊頻譜絕對值 平均 N (k ) 方面,並非完全的更新,而是利用了適應性訊號處理的觀念,定義 如下:. N (k , l ) = αN (k , l − 1) + (1 − α )N (k ). (2-10). 其中,k 代表頻率,l 代表音框,從(2-10)式可看出, N (k ) 的更新,除 了有現階段 N (k ) 的資訊外,也包含了上一個音框的 N (k ) 資訊,而此權重α 可依照環境的雜訊變化速度自行調整。. 15.

(27) 2.2.1 VAD 模擬. 本章節將上述 VAD 演算法,用 Matlab 模擬,先以取樣頻率為 16k Hz, 用單一麥克風錄製 12 s 的語音,並對其作 VAD 的判定。圖 2-6 展示出有做長 時間語音資訊以及 Hangover 的 VAD 結果,也就是(2-6)式取 N=6。圖 2-7 展示出有做長時間語音資訊但沒做 Hangover 的 VAD 結果,同樣的 N=6。而 圖 2-8 展示出沒做長時間語音資訊及 Hangover 的 VAD 結果,其中 N=0。 圖 2-6、圖 2-7 及圖 2-8 的上半部分展示出 LTSD 與γ的關係,變動較大的為 LTSD,從圖中可觀察出,沒做長時間語音資訊(N=0)的 LTSD 變動率較大, 這是因為每前進一個音框,LTSD 只由最近的一個音框決定值的大小,而不是 由長時間的平均值來決定。比較三張圖可發現,沒做長時間語音資訊(N=0) 的 VAD 結果(如圖 2-8)很容易將語音的字頭字尾部分忽略,並判定為非真 人語音,而有做長時間語音資訊(N=6)的 VAD 就不容易忽略字頭字尾部分 (如圖 6) 。另外,即使有做長時間語音資訊(N=6)的 VAD,但沒有 Hangover 的機制,則會忽略字尾的部份(如圖 2-7)。. 圖 2-6:VAD 模擬結果 N=6,有 Hangover 16.

(28) 圖 2-7:VAD 模擬結果 N=6,無 Hangover. 圖 2-8:VAD 模擬結果 N=0,無 Hangover. 17.

(29) 2.3 適應性訊號處理 2.3.1 適應性濾波器簡介 通常而言,濾波器的係數通常設計出來後皆為固定的,並不會自動的變 動。而適應性濾波器指的是能根據輸入信號,用訊號處理的技巧來適應性地 調整濾波器係數,讓濾波效果更能適應現在環境,以完成某些特定的需要。. 2.3.2 適應性濾波器處理架構. Input Signal. Output Signal Filter. Desired Signal. -. Error. Adaptive Algorithm. 圖 2-9 適應性濾波器處理架構圖. 適應性濾波器處理架構圖如圖 2-9 示,當訊號輸入適應性濾波器處理之 後,輸出訊號與希望達成的訊號不同,產生誤差訊號,將誤差訊號代入適應 性演算法,即可調整適應性濾波器的係數,如此經由誤差訊號及適應性演算 法不斷的調整適應性濾波器的係數,係數會不斷的變動,最後達到某個穩定 的值,此時系統輸出訊號與希望達成的訊號就會非常接近。. 18.

(30) 2.3.3 Least-Mean-Square(LMS)Algorithm. LMS 演算法指的是,找出一組權重 W 以達到誤差平方項最小[19]。其基 本架構如圖 2-8 所示。假設希望達成的訊號為 zero-mean,其變異量為 σ d2. E{d } = 0 , σ d2 = E d. 2. 而輸入訊號 x 為一組 M × 1 向量,並定義其共異量矩陣和互共異量矩陣. { }. { }. R x = E x ∗ x , Rdx = E dx ∗ 因此目標函數如 2-11 式所示. J (w ) ≡ min E {d − xw} = E (d − xw)(d − xw ) 2. *. w. (2-11). 2-11 式的意義就是找出一組 W 使誤差平方項最小,而 W 的找法則需用 Steepest-Descend Method,其標準式如下: (new guess)=(old guess) + (a correction term) 也就是. wi = wi −1 + µp,. i≥0. (2-12). 其中 2-12 式意義為從 wi −1 出發,並前進 µp 的距離,μ為一個比重稱為 stepsize。 而 p 的選取必須從 2-11 式開始推導,將 2-11 式展開可得. J (w) = σ d2 − Rdx∗ w − w∗ Rdx + w∗ Rx w. (2-13). 為了找一組 W 使 J (w) 最小,對 2-13 式取 ∇ w 得. ∇ w J (w) = w∗ Rx − Rdx∗. (2-14). 因此,為了讓 w 往 J (w) 最低處的方向與強度前進,我們取. p = −[∇ w J (wi−1 )] = Rdx − Rx wi −1 ∗. (2-15). 19.

(31) 2-12 式可寫為. wi = wi −1 + µ [Rdx − Rx wi −1 ]. i≥0. (2-16). 在實做上, Rdx 和 R x 可用離散形式近似於瞬間值:. Rdx = d (i )x ∗ (i ). R x = x ∗ (i )x(i ). (2-17). 所以 2-16 是可寫為:. w(i ) = w(i − 1) + µx ∗ (i )[d (i ) − x(i )w(i − 1)]. i≥0. (2-18) 因此,LMS Algorithm 可整理如下: Filter out. : y(i ) = x(i )w(i ). (2-18). Error function: e(i ) = d (i ) − y (i ) Update weight: w(i ) =. (2-19). w(i − 1) + µx ∗ (i )e(i ). i≥0. (2-20). 其方塊圖如下所示。. x ( i). d ( i). y ( i). x ( i) w ( i). e ( i) µ. x. + w ( i). w ( i- 1 ) Z. −1. 圖 2-10MS 演算法方塊圖. 20.

(32) 2.3.4 Normalize LMS Algorithm. 在 LMS 演算法中,為了確保其收斂,μ的範圍必須為 0 < µ <. 2. λmax. , λ max. 為 Rx 的最大特徵值,若所需濾波器階數愈高,則解 R x 的特徵值就愈複雜,以 實作方面來講,如此大的運算量會造成龐大的負擔,因此為了簡化其運算量, 衍生出另一種演算法,Normalize LMS Algorithm: Filter out. : y (i ) = x(i )w(i ). (2-21). Error function: e(i ) = d (i ) − y (i ) Update weight: w(i ) =. w(i − 1) +. (2-22). αx(i )w(i ). γ + x ∗ (i )x(i ). i≥0. (2-23). 與 LMS 演算法比較,Normalize LMS 演算法只有在更新權重的部分不一樣, 原有的μ被. α. γ + x ∗ (i )x(i ). 所取代,其中,0<α<2,γ為一個微小的數,目的只. 是確保分母項不為零,如此即可確保 Normalize LMS 演算法收斂,而且如此 的運算即不用解 R x 的特徵值,讓運算量降低許多,但在硬體實現上,除法仍 會消耗較大的硬體資源。. 21.

(33) 2.4 適應性陣列訊號處理 2.4.1 適應性陣列訊號處理簡介 在作陣列訊號處理時,會假設兩條件: „. 窄頻訊號(Narrowband signal). „. 遠場平面波(Far field plane wave) 當此兩條件成立時,系統數學式子會簡化許多,空間濾波器的設計也較. 為簡單,但若感應器陣列所收到的訊號並非遠場平面波,則空間濾波器的設 計會變的非常複雜,因此為了簡化空間濾波器的設計方法,則將陣列訊號處 理結合了適應性訊號處理的觀念。因為適應性訊號處理只須知道希望達到訊 號在空間上的特徵,則可利用演算法去調整適應性濾波器;若將此觀念用於 陣列訊號處理,則只須先用感應器陣列得知希望達到訊號的空間特徵,在利 用適應性訊號處理演算法來設計「適應性空間濾波器的係數」 ,於是將適應性 觀念用於空間濾波器中。如此,就算感應陣列所收到的訊號並非遠場平面波, 但只要知道訊號在空間的特徵,那麼即可利用適應性空間濾波器來專門接收 某方向的訊號,並且不斷地作適應性調適,使誤差訊號愈來愈小。. ,. 2.4.2 適應性空間濾波器:Dahl s Algorithm. 本章節將介紹用於麥克風陣列的適應性空間濾波器設計方法,稱作 Dahl, s Algorithm。依據適應性訊號處理的觀念,必須先得到希望達到訊號的特性, 而 Dahl,s Algorithm 的訊號擷取架構圖如圖 2-11 示。 Dahl,s Algorithm 的訊號擷取架構圖分兩部分來操作,首先利用 M 個麥克風, 在安靜的環境下錄製希望達到的訊號,也就是特定方向的語音訊號,再將此 訊號儲存至記憶體。第二步驟就是錄製固定干擾源,也就是希望. 22.

(34) 圖 2-11 Dahl’s Algorithm 訊號擷取架構圖. 空間濾波器濾掉的訊號,並將此固定干擾源儲存至記憶體。舉例來說,若環 境中有人的講話聲和喇叭所撥放的音樂聲,則 Dahl,s Algorithm 的操作方式為 先用麥克風陣列在安靜環境下錄製幾秒鐘人講話的聲音,秒數可自己設定, 接下來也在安靜環境下錄製幾秒鐘喇叭所撥放的音樂聲,這樣則完成 Dahl,s Algorithm 的預錄部分。 而 Dahl,s Algorithm 架構圖如圖 2-12 示,此架構用虛線分為兩部分,上 半部分為將麥克風陣列收到的訊號乘上空間濾波器的係數作為輸出 ,而下半部分則為空間濾波器係數的更新。更新空間濾波器係數方式為,將 麥克風陣列即時錄製到的訊號與希望達到的訊號和固定干擾源作相加,相加 的結果當作 LMS Algorithm 的輸入,再利用 LMS Algorithm 去調變空間濾波 器係數,係數會不斷變動,最後收斂到某一範圍,如此適應性空間濾波器的 輸出訊號會和希望達到的訊號誤差最小,也就是說空間濾波器在希望達到訊 號的方向增益最高,而固定干擾源的方向增益會被壓低,達到濾除干擾源的. 23.

(35) 效果。. 空間濾波器輸出. 適應性空間濾 波器係數調整. 圖 2-12Dahl,s Algorithm 架構圖. 在 Dahl,s Algorithm 中,適應性空間濾波器調適和空間濾波器輸出這兩部 分不可同時進行,這部份由 Speech Detector 判斷進行適應性空間濾波器調適 或是空間濾波器輸出。當判斷為語音時則進行空間濾波器輸出進行空間濾波 器輸出時;反之若判斷為非語音則進行適應性空間濾波器調適。而當干擾源 方向改變或有新的干擾源發生,則必須重新啟動適應性空間濾波器係數調整 的功能並關閉空間濾波器輸出,調整出適合新干擾源方向的空間濾波器係數。. 24.

(36) 2.5 結合真人語音偵測與適應性陣列訊號處理 2.5.1 結合真人語音偵測與適應性陣列訊號處理架構簡介 本章節將介紹結合真人語音偵測與適應性陣列訊號處理架構,其架構圖 如圖 2-13 示:. e (n ). Adaptive Algorithms. Memory Speaker Reference Singal. s1 ( n ). x1 ( n ). s2 (n). x2 ( n ). M. M. y b (n ). Upper Beamformer. x M (n ). s M (n ). -. r (n ). Silent Stage. Transfer New Training Weight n1 ( n ) n2 ( n ). K. n M (n ) y1 ( n ) y 2 (n). y1 ( n ) y 2 (n). Voice Activity Detection. M. y M (n ). M. Lower Beamformer. yˆ ( n ). y M (n ). Speech Stage. 圖 2-13 結合真人語音偵測與適應性陣列訊號處理架構圖. 圖 2-13 結合 VAD 與 Dahl,s Algorithm 架構圖,此架構可由 VAD 的判定 來分為兩部分。第一部分稱為 Silent Stage,第二部分稱為 Speech Stage。當聲 音訊號經過 VAD 的判定,若為非真人語音,此時系統會進入 Silent Stage,此 時透過 Normalize LMS 的方法適應性地調整 Upper Beamformer 係數。若聲音 訊號經過 VAD 的判定為真人語音,此時系統會進入 Speech Stage,Silent Stage 中的適應性訊號調整將會被關閉,並將 Upper Beamformer 係數傳遞給 Lower Beamformer,讓真人語音通過空間濾波器的處理,為純化後之語音。 另外,在系統剛啓動的前 12 個語音訊框,也就是前 140ms,必須先進行 外部雜訊環境之初使化估測,此時欲純化之真人語音不能出現,否則將會使 25.

(37) 雜訊能量誤判,造成往後的 VAD 判斷錯誤的情形。. 2.5.2 結合真人語音偵測與適應性陣列訊號處理模擬 本章節將展示將聲音訊號於 2.5.1 節所敘述架構中的模擬結果,圖 2-14 為一 真人語音與音樂混合之訊號,圖 2-15 為將此混合訊號通過 Lower Beamformer(濾波. 器階數為 128)後的結果。圖 2-16 為將此音訊通過 VAD 與 Lower Beamformer 的 結果。原混合訊號如圖 2-14 的 SNR 約為 8db,而通過 Lower Beamformer 後之訊 號如圖 2-15 約為 17db,故 Lower Beamformer 將混合訊號 SNR 比提高了約 9db。. 圖 2-14:真人語音與音樂混合之訊號. 26.

(38) 圖 2-15:真人語音與音樂混和訊號通過 Lower Beamformer 結果. 圖 2-16:真人語音與音樂混和訊號通過 VAD 與 Lower Beamformer 結果. 27.

(39) 第三章 實驗平台與軟硬體設計實現 本章節將針對系統所用到的軟、硬體部份,先簡略介紹實驗平台架構,接著依 序由系統硬體架構的設計及運作方式作說明,最後針對 Nios 處理器的系統軟體部分 作說明。. 3.1 實驗平台架構簡介 8 Microphones. Pre-Amplifier Pre-Amplifier. Pre-Amplifier Pre-Amplifier Pre-Amplifier. Data Acquisition Circuit and A/DConverter. Nios Embedded EZ-USB PC SOPC FX Dev-board. Speaker PC. Pre-Amplifier Pre-Amplifier Pre-Amplifier Audio. Pre-Amplifier. 圖 3-1:語音純化系統架構圖 以下介紹實現語音純化系統所需之實驗平台,平台架構方去塊圖如圖 3-1 所 示。首先,聲音訊號經由 8 通道麥克風陣列所擷取,接著通過訊號放大電路與濾波 器並依序將八個頻道之聲音訊號透過 A/D(Analog to Digital)轉換器轉換為數位形 式,數位形式的資料經由 Nios 嵌入式 SOPC 發展平台進行擷取並進行語音純化演 算法即時處理,最後經由平台上的 debug 介面傳輸至 PC。 以下分為二大部分介紹實驗平台: „. 前端麥克風陣列訊號擷取平台. „. Nios 嵌入式 SOPC 發展平台. 28.

(40) 3.2 前端麥克風陣列訊號擷取平台 3.2.1 聲音訊號放大及濾波電路 聲音訊號放大及濾波電路的目的是用來放大麥克風所收到的訊號並濾調 高頻及低頻的雜訊,每顆麥克風都有各自的放大及濾波電路,8 組放大及濾 波電路構造及功能皆相同,放大及濾波電路架構圖如圖 3-2 所示:. 聲音訊號放大及濾波電路 聲音訊號. 高通濾波器. 放大電路及 低通濾波器. 類比訊號擷取 及轉換電路. 圖 3-2:聲音訊號放大及濾波電路架構圖. 聲音訊號經由電容式麥克風轉為電壓訊號後,必須先經過高通濾波器, 以濾掉低頻雜訊及直流訊號,而高通濾波器的 3 dB 點設於 80Hz 的地方。訊 號經過高通濾波器後還是一個非常小的電壓,因此必須經過一放大電路來放 大電壓訊號,以供後端的 A./D 來取樣,而本電路的取樣頻率為 16 k Hz,所 以必須將訊號通過低通濾波器來避免 Aliasing 問題,而電路中低通濾波器的 3 dB 點設定於 6 k Hz。聲音訊號放大及濾波電路圖展示於圖 3-3,本放大電路 為一兩級的 OP 放大器,工作電壓介於 5V 和-5V 之間,並採用負回授的形式, 圖 3-3 的放大倍率為 60dB。而電路的頻率響應圖由 P-SPICE 所模擬如圖 3-4 所示。. 29.

(41) 圖 3-3:聲音訊號放大及濾波電路圖. 圖 3-4:頻率響應圖. 30.

(42) 3.2.2 類比訊號擷取及轉換電路 類比訊號擷取及轉換電路的目的是將放大倍率後的類比聲音訊號,轉換 為數位訊號(16 位元) ,電路架構圖如圖 3-5 所示,為了節省功率消耗,電路 只用了一個類比數位轉換器(A/D Converter)轉換器,因此,8 通道的類比聲音 訊號和類比數位轉換器之間需要一個切換器(Switch),將 8 通道的類比聲音訊 號輪流切換給類比數位轉換器做轉換。. S /H. S /H. S /H. S /H. A dder. S w itc h. A /D. S /H. S /H. S /H. S /H. 16 kH Z. Data Access Control E ZModule - U S B inside F X Nios Dev-Board. 圖 3-5:類比訊號擷取及轉換電路架構圖(S/H:Sample and Hold). 其中類比數位轉換器只能供給正電壓,但取樣/保持電路(S/H Circuit) 輸出會含有負電壓,因此切換器和類比數位轉換器之間必須加一個加法器, 讓類比數位轉換器的輸入皆在 0 伏以上。 而取樣/保持電路、切換器和類比數位轉換器的時序,由 Nios 嵌入式發 展平台的資料存取控制電路所控制,本系統的取樣頻率為 16 kHz,因此取樣 /保持電路的工作頻率為 16 kHz,最後類比數位轉換器所轉換出來的 16 位元 資料,由 Nios 嵌入式 SOPC 發展平台的資料存取控制模組接收。. 31.

(43) 3.2.3 陣列訊號擷取電路板 電路實作設計時,將聲音訊號放大及濾波電路和類比訊號擷取及轉換電 路結合在一起,用 Protel 軟體佈局出其電路圖,其印刷電路板實際照片如圖 3-6 所示:. 圖 3-6:麥克風陣列訊號擷取電路板. 此印刷板電路為一四層板架構,長×寬為 27 公分×10 公分,工作電壓為 5 伏特,其麥克風放大倍率和 A/D 取樣範圍皆為可調。. 32.

(44) 3.3 Nios 嵌入式 SOPC 發展平台 3.3.1 SOPC 系統概述與 Nios 嵌入式 SOPC 發展平台簡介 SOPC 系統概述 SOPC(System-On-a-Programmable-Chip)系統是一套由美商 Altera 開發的 「可規劃邏輯單晶片系統」。其開發套件中的 SOPC Builder 軟體,可以讓使 用者在圖形介面下定義自己所需的 Nios 微處器,並可將該微處理器透過 Avalon Bus 的機制,結合使用者以 VHDL、Verilog、AHDL 等硬體描述語言 所撰寫完成的數位邏輯電路。使得高整合性的系統可在單顆 FPGA 上完成。 如圖 3-7 所示,一個複雜的系統如 System A 所示,可能由微控器 (CPU) 、數位訊號處理器(DSP) 、可規劃邏輯陣列(FPGA)、常用的 I/O(例 如 GPIO、UART、SPI..等等) 、及外部記憶體等等組成。若系統經過適當 的規劃,微控器、數位訊號處理器、及常用的 I/O 皆可以整合於單顆 SOPC 如 System B,無形中降低了許多成本、複雜度及耗電量。. Flash. CPU. SDRAM FPGA. Flash SOPC. DSP. SDRAM. I/O System B System A 圖 3-7:SOPC 概念圖. 33.

(45) Nios 嵌入式 SOPC 發展平台簡介[27] 這是一套由 Altera 公司針對其產品 Stratix1S40 晶片所計的 SOP 發展電路 平台,圖 3-8 為發展平台的外觀圖,除了 Stratix 晶片以外,該發展平台具有 以下幾個特點: ¾. 1Mbyte 的 SRAM 記憶體及 16Mbyte 的 SDRAM 記憶體可供 Nios 處 理器運用. ¾. 8Mbytes 的 Flash 記憶體供 Nios 處理器存放硬體規劃程式、C、 Assemble 開發的軟體. ¾. Type I CompactFlash cards 接頭. ¾. 10/100 網路實體層及媒體存取控制器(PHY/MAC)及網路接頭 (RJ-45). ¾. 兩組 RS-232 連接頭. ¾. 3.3V、5V 可規劃接腳各 1 組(每組 40 根接腳),以及 3.3V、5V 電源 提供周邊電路使用. ¾. USB Blaster(用於 debug)連結的 JTAG 插糟. ¾. 50 MHz 石英振盪器及外部 CLOCK 輸入接腳. ¾. 用於 debug 的 Mictor 插糟. ¾. 4 個使用者可定義的 push 開關. ¾. 兩組七段顥示器及 8 個使用者定可定義的 LED. 而 Stratix1S40 晶片包含下列幾項重要資源 ¾. 41250 Logic Elements. ¾. 428Kbyte On-Chip-Memory. ¾. 9. 384 個 M512 RAM Blocks(32 * 18 bits(max.)). 9. 183 個 M4K RAM Blocks(128 * 36 bits(max.)). 9. 4 個 M-RAM Blocks(4k * 144 bits(max.)). 14 個 DSP Blocks 可規劃為乘累加器、乘法器、加法器等等使用. 34.

(46) ¾. 12 個 PLL(Phase Lock Loop)可供使用 Serial RS-232 Connectors. Download /JTAG Debug Connector. Power Connector. 10/100 Ethernet MAC/PHY & RJ-45 Connector Expansion Prototype Connectors (40 I/O pins each). CPU Reset. 8 MB Flash 16 MB SDRAM 1MB SRAM. Compact Flash Buttons (Connector Mounted on Back). LEDs. 7 Segment. Configuration Controller (MAX 7128AE). 圖 3-8:嵌入式 SOPC 發展平台. 3.3.2 Nios CPU[22] Nios 微處理器是由美商 Altera 公司所開發的軟核(SoftCore)微處理器,使 用者可以依據系統的運算需求,透過如圖 3-9 所示的 SOPC Builder GNU 開發 工具,規劃使用者所需的處理器。其中可以設定成 16 或 32bit 的處理器,另 外可以透過 AVALON Bus 的機制,擴充其他週邊如 DMA 控制器、外部記憶 體控制器、SPI/UART 通訊控制器、網路通訊模組控制器及使用者自定之週邊 等等。 另外,Nios 的軟核可以分為三種如表 3-1 所示,可以根據需求規劃一適 合自己系統的微處理器,使用上頗具有彈性。若系統有大量的算術邏輯運算 或對於速度上非常要求,則可以規劃為快速(Fast)版本。若系統只需很低的 算術邏輯運算量,則可以規劃為經濟(Economy)版本,節省硬體成本。否. 35.

(47) 則可以選擇介於兩者的標準版(Standard)。此外,資料或指令快取記憶體容 量以及是否以除法電路加速都可以自由選擇。. 圖 3-9:SOPC Builder 的使用者介面 Nios II /f Fast. Nios II /s Standard. Nios II /e Economy. 6 Stage. 5 Stage. None. H/W Multiplier & 1 Cycle Barrel Shifter. 3 Cycle. Emulated In Software. Branch Prediction Dynamic. Static. None. Instruction Cache Configurable. Configurable. None. Data Cache. Configurable. None. None. Logic Usage (Logic Elements). 1400 - 1800. 1200 – 1400. 600 – 700. Pipeline. 表 3-1:不同 Nios 軟核的比較. 36.

(48) 3.3.3 Avalon Bus 介面及使用者自訂之客製化周邊模組 Avalon Bus 介面[26] 在 SOPC 嵌入式系統單晶片內,Nios 微處理器利用 Avalon Bus 連結其 所有周邊裝置,其支援多樣的主從周邊架構,可以同時將二個以上的主裝置 (Master)及從裝置(Slave)掛在 Avalon Bus 上進行任意方向之資料交換或控 制交握。只要事先定義好此裝置為主裝置或從裝置,以及相關特定傳輸所需 的控制訊號線,利用 SOPC. Builder. GNU 軟體,就可以自動產生如下所需. 的匯流排架構,包括以下幾個重要項目: ¾. 滙流排仲裁器. ¾. 周邊或記憶體裝置之位址解碼. ¾. 資料路徑多工. ¾. 匯流排寛度自動估算. ¾. 等待狀態的產生. ¾. 中斷控制訊號. 而 Avalon Bus 的傳輸區分為 ¾. ¾. 主(Master)裝置傳輸 9. 用來向匯流排啓動傳輸的裝置. 9. 傳輸時必須遵遁從架構的等待(waitrequest)訊號. 從(Slave)裝置傳輸 9. 用來被動回應匯流排的傳輸要求. 以傳輸特性區分則有: ¾. 等待(wait state)傳輸:適用於某些速度較慢之周邊,包括固定或變 動性等待,如圖 3-10 所示為具可變動等待時序之從架構讀取傳輸,當 clk 上緣而 waitreqest 訊號為 1 時,才代表從裝置己送出有效資料,主裝置. 37.

(49) 可以開始讀取資料。. 圖 3-10 具可變動等待時序之從架構讀取傳輸. ¾. 間隔(latency)傳輸:適用於某些需要固定或變動性等待且連續資料 傳輸的周邊,而周邊也必須支援連續資料的傳輸。與等待傳輸不同的 是,間隔傳輸在啓動一次連續資料的傳輸後只需做一次的等待,不會 影響傳輸效能;而等待傳輸則是啓動傳輸後,每筆資料皆需要等待一 次,會大大影響系統傳輸效能。如圖 3-11 所示為固定間隔(latyency=2) 時序之從架構讀取傳輸,當 clk 上緣且 waitrequest 為 0 時,則代表有效 資料會在兩個 cycle 後出現;與等待傳輸不同的是,間隔傳輸在往後的 每個 cycle 資料皆會持續出現,如圖 3-11 的 data2 至 data3。. 圖 3-11 固定間隔(latyency=2)時序之從架構讀取傳輸. ¾. 串流(streaming)傳輸:適用於需大量而連續的資料傳輸,但周邊必 須支援連續資料串流的傳輸。如圖 3-12 為串流時序之從架構讀取傳輸, 當 clk 上緣且 dataavailable 為 1 時,則代表有效資料已經由周邊送出;. 當周邊己無資料時,可送 dataavailable=0 告訴主裝置停止擷取資料。 另外 endpacket 則為一使用者自訂的控制訊號,方便其他特殊之用途。. 38.

(50) 圖 3-12 串流時序之從架構讀取傳輸. 使用者自訂之客製化周邊模組 當使用者需要用到某些特殊或相當費時的運算,而 Nios 的運算效能又無 法符合系統需求。此時我們可以自行設計一個客製化周邊,專門處理這些複 雜運算。進行設計時,周邊不論是從裝置或主裝置,或是任何一種傳輸特性, 皆需符合 Avalon Bus 之協定。在完成客製化週邊設計並定義好所需和 Avalon Bus 溝通的所有訊號線後,利用 SOPC Builder GNU 裡的 Component Generation 圖形化介面程式,自動幫你產生所需的元件,最後經過編譯,會自動產生符 合系統需求的 Avalon Bus 架構。 另外,客製化周邊和 Nios CPU 若資料寛度不一致,會造成位址對應的錯 誤,位址對應方式有以下兩種: ¾. 動態位址對應(Dynamic-Address-Alignment). ¾. 自然位址對應 (Negtive-Address-Alignment) 如圖 3-13 所示為從裝置的客置化周邊(8 bit)的資料匯流排較 Nios(32 bit). 為小之示意圖,Nios 在動態位址對應與自然位址對應的結果分別如下 ¾. Dynamic Address Alignment 9. Load from Base + 0x0:. dd cc bb aa. 9. Load from Base + 0x4:. uu uu uu ee. ¾. Native Address Alignment 9. Load from Base + 0x0:. uu uu uu aa. 39.

(51) 9. Load from Base + 0x4:. uu uu uu bb. 9. Load from Base + 0x8:. uu uu uu cc. Peripheral Registers. 32 Avalon. 32-Bit Nios II Processor. 8. Base Base + 0x1 8 Bit Base + 0x2 Peripheral Base + 0x3 Base + 0x4. aa bb cc dd ee. 圖 3-13 資料匯流排較小之從裝置客製化周邊. 如圖 3-14 所示為從裝置客製化周邊的資料匯流排較 Nios 為大之示意 圖,Nios 在動態位址對應與自然位址對應的結果如下,其中自然位址對應 (Native Address Alignment)在裝置客製化周邊的資料匯流排較小的情形 下,客製化周邊資料最高的4個位元組會有資料遺失的情況。. ¾. Dynamic Address Alignment 9. Load from Base + 0x0:. 33 22 11 00. 9. Load from Base + 0x4:. 77 66 55 44. 9. Load from Base + 0x8:. bb aa 99 88. ¾. Native Address Alignment 9. Load from Base + 0x0:. 33 22 11 00. 9. Load from Base + 0x4:. bb aa 99 88. 9. Load from Base + 0x8:. ?? ?? ?? ??. 40.

(52) Peripheral Registers. 32 Avalon. 32-Bit Nios II Processor. Base Base + 0x8 Base + 0x16. 64. 77 66 55 44 33 22 11 00 ff ee dd cc bb aa 99 88 ?? ?? ?? ?? ?? ?? ?? ??. 64 Bit Peripheral. 圖 3-14 資料匯流排較 Nios 大之從裝置客製化周邊. 3.3.4 DMA 控制器[22,23] 當 Nios 微處理器對外面的周邊裝置或記憶體需要時常大量資料的搬移 時,可以藉由 Altera 所提供的 DMA 控制器來進行大量連續資料的搬移,而 此 DMA 控制器根據目的地及來源地的不同,區分為三種不同傳輸 ¾. 由記憶體至周邊裝置的傳輸. ¾. 由周邊裝置至記憶體的傳輸. ¾. 兩塊記憶體之間的傳輸. 此外,若 SOPC 系統單晶片中使用 DMA 控制器並搭配客製化周邊進行 加速,可以使系統的效能提升不少,本論所實現之語音純化系統就是以如此 的架構為基礎來設計。如圖 3-15 所示,Nios 微處理器和客製化周邊加速器同時都 在工作。當中 Nios 可以呼叫 DMA 控制器並使用其串流的傳輸方式,將客製化周邊 (Accelator)處理完的資料送到 On-Chip 或 Off-Chip 的資料記憶體以進行下一步資 料的處理。. 41.

(53) Program Memory. DMA DMA. Avalon Switch Fabric. DMA DMA. Processor. Arbiter Arbiter. Arbiter Arbiter. Data Memory. Data Memory. Accelerator. 圖 3-15 搭配 DMA 控制器與客製化周邊之 SOPC 系統單晶片範示意圖. 3.4 SOPC 單晶片系統軟硬體設計 3.4.1 系統功能描述及系統方塊圖 ¾. 系統功能 9. 純化特定方向語者之語音,並消除其他方向之噪音源(包括己知及未 知噪音源). 9. 利用發展平台按鍵可以更改欲純化語者之語音,以及欲消除已知之噪 音源. 9. 利用發展平台按鍵可以更改空間濾波器之階數,以適應不同噪音環境 特性. 9. 透過 debug mode 將純化之語音傳送至 PC. 此系統使用適應性空間濾波器,搭配真人語音活動偵測(Voice Activity Detection,VAD)以決定是否更新環境雜訊,或者直接將語音通過空間濾波 器以去除雜訊效應,達到特定方向之語音純化的效果。最後純化之訊號透過. 42.

(54) debug mode 傳送至 PC,如圖 3-16 所示。 ¾. 系統執行步驟如下. 1. 此系統工作前,先將欲純化之語音、欲消除噪音兩種聲源儲存起來(利用 B1 按鍵) ,用以做為適應性陣列訊號處理所需之參考訊號。 2. 選擇此系統中,適應性空間濾波之階數。利用 B2 按鍵增加階數,而 B3 按鍵則減少階數,可選擇階數為 32、64、96、128、160、192、224、256 等八種選擇 。當環境變動快時,適合較少階數以利於環境更新速度;當 環境變動慢時,則適合較高階數以達到較好的濾波效果。而不同的空間頻 道效應,可嘗試選擇不同階數,以達到較好的語音純化效果。 3. 按下 B4 按鍵系統開始運做。 4. 初使化語音活動偵測(Voice Activity Detection,VAD)內所需之雜訊環境 參數,並用它來判斷目前是否為有效語音(VAD Block),以決定是否更新空 間濾波器之係數。故開始的 140ms 系統會進行雜訊環始估測初始化,此時 真人語音不能出現。往後的時間, i.. 若進入之訊號判斷為語音時,則將目前訊號通過最後更新的一組空間 濾波器係數,此係數可以將預錄雜訊及新進雜訊增益降至最低。. ii.. 若進入之訊號判斷為非語音時,則進行空間濾波器係數更新的動作, 使得新係數可以適應新的環境雜訊。. 5. 純化後之語音,透過 debug mode 傳回 PC。 6. 若在系統開始運作後又欲更改空間濾波器階數,則按 B2 回至 2. 。 7. 若在系統開始運作後欲更改預錄欲純化之語音、及欲消除噪音兩種聲 源,則按 RESET 鍵回至 1.。 如圖 3-16 所示為語音純化 SOPC 單晶片系統方塊圖,以下簡略說明各區 塊功能: ¾. 資料擷取控制器:負責與 8CH A/D 擷取電路板做交握,以求能抓取到正. 43.

(55) 的資料並送至記憶體及暫存器模組。 ¾. 系統流程控制器:在正確的時間將資料從記憶體模組送至執行單元(包 括適應性空間濾波器及真人語音活動偵測)以及在正確的時間將運算結 果搬運至所屬暫存器模組,其中也包括和 Nios 的交握控制訊號,為整個 系統之控制核心。. ¾. 匯流排介面及資料、控制相關暫存器檔案模組:負責產生客製化周邊連 接 Avalon Bus 所需的資料、位址及相關控制訊號線。而資料控制相關暫 存器檔案模組則用來存放 Avalon Bus 所需存取的資料。. ¾. 按鈕偵測及濾波階數設定控制器:用來偵測平台按鈕是否被按下,以及濾波器 階數設定的控制器。. ¾. ,. 適應性空間濾波器:包括 Dahl s Algorithm 適應性訊號處理所有的運算單. 元,分為濾波器輸出與適應性濾波器係數更新等區塊。 ¾. 記憶體模組:用來儲存麥克風陣列 8 個頻道的資料、空間濾波器係數、以及欲 純化語音和欲消除環境噪音等資料。. ¾. 真人語音活動偵測器(VAD) :判斷目前訊號是否為真人語音訊號,以選擇要 進行空間濾波器輸出或空間濾波器係數更新的動作。. ¾. LED 顯示系統狀態:用來顯系統操作時的系統狀態。. 3.4.2 系統運算量估測及軟硬體配置 運算量估測 本系統需要做適應性空間訊號處理以及語音活動偵測,其中語音為八個 通道且皆為 16KHz 取樣頻率,以下為各個主要區塊運算量估計,共需約 170MIPS 運算量。 ¾. 適應性空間訊號處理部分:每一個取樣資料進來皆需進行以下運算. 44.

(56) 8CH 麥克風陣. 儲存純化後語音. 資料擷取 控制訊號. Debug mode 傳送純化語音. 8CHA/D 擷取電路 SOPC 單晶片系統 匯流排介面及資料、控制相關暫存器模組 資料擷取控制器. 按鈕偵測及濾波 階數設定控制器 B1:預錄語者音源 及噪音源 B2:增加 FIR 階數 B3:減少 FIR 階數 B4:系統啓始. 系統流程控制器. 適應性空間濾波器. B1 B2 B3 B4. 記憶體模組 流程控制按鍵 真人語音活動偵測器. LED 顯示系統狀態. 圖 3-16 SOPC 單晶片系統方塊圖. 9. 濾波器區塊:系統中,FIR 濾波器最多為 256 階,八個頻道。所以 在(1/16K)sec 內需執行 2048 個乘累加運算,也就是需要約 66MIPS 的運算量(規劃使用 NIOS 外部硬體的乘累加器進行加速,且用 pipeline 架構,故乘累加運算平均只需一個 cycle 即可完成) 。. 9. 係數更新區塊:系統中,係數更新需要在(1/16K)sec 內,執行 2049 45.

(57) 個乘累加以及 2048 個加法與一個除法,這部份約需 100MIPS 的運 算量(規劃使用 NIOS 外部加法器及乘累加器和除法器進行加速, 且用 pipeline 架構,故乘累加及加法運算平均只需一個 cycle 即可 完成,而除法用 pipeline 大約需 15 個 cycle)。. ¾. 語音活動偵測部份:系統中,一個語音訊框(frame)為 30msec,而每 10msec 就有一個新的語音訊框產生。故每 10msec 的間隔就需要判斷一 次 VAD 的結果,時間上的緊迫性及運算量皆少於適應性空間訊號處理 部分。這部份需作 512 點 Real FFT、13 個語音 frame 中每個頻率最大 值並求其平方和、雜訊更新、及二個 log 等等…運算,共約 5MIPS 的 運算量。若以 NIOS 處理器(使用 FAST 版本的軟核心架構且頻率為 50Mhz)實現,模擬上平均約使用百分之四十的效能。. 演算法的運算配置 在適應性空間訊號處理及語音活動偵測兩個部分在硬體資源的配置如下: 適應性空間訊號處理部分的性能需求,必需在每個(1/16K)sec 需要作大量 乘累加運算和加法運算,另外資料為八個通道同時進來(Avalon BUS 頻寛只 有 32bit) ,若以單顆 NIOS 來實現比較沒有效率且來不及,故此部份以外部客 製化週邊進行硬體平行運算來加速。 語音活動偵測部份的性能需求,只需在每隔 10msec 做出一次結果,時間 上不如適應性空間濾波器急迫,且運算中包含很多複雜的資料交換及初使化 條件判斷和流程控制,用 NIOS 來做處理顯得較符合硬體經濟效益且整個系 統比較有彈性(如演算法需做小部份調整)。. 46.

(58) 3.4.3 系統硬體架構 本論文在 Nios 嵌入式 SOPC 發展平台實現即時語音純化系統,其系統硬 體架構圖如圖 3-17 所示,整個系統硬體皆在 50MHz 的速度下動作,以下針對 各個區塊做介紹. 圖 3-17 SOPC 單晶片系統硬體架構圖. ¾. NIOS 微處理器:規劃為一個 32bit 並為 Fast 版本的微處理器以達到較好 的運算效能,負責真人語音活動偵測演算法(VAD)的運算,以及取得由客 製化周邊運算之純化語音結果。. 47.

參考文獻

相關文件

Matrix Factorization is an effective method for recommender systems (e.g., Netflix Prize and KDD Cup 2011).. But training

Matrix factorization (MF) and its extensions are now widely used in recommender systems.. In this talk I will briefly discuss three research works related to

BAL 1000 Brown almost-linear func, nonconvex, dense Hessian1. BT 1000 Broyden tridiagonal func, nonconvex,

Tsung-Min Hwang, Wei-Cheng Wang and Weichung Wang, Numerical schemes for three dimensional irregular shape quantum dots over curvilinear coordinate systems, accepted for publication

These are quite light states with masses in the 10 GeV to 20 GeV range and they have very small Yukawa couplings (implying that higgs to higgs pair chain decays are probable)..

In this paper, we illustrate a new concept regarding unitary elements defined on Lorentz cone, and establish some basic properties under the so-called unitary transformation associ-

We will give a quasi-spectral characterization of a connected bipartite weighted 2-punctually distance-regular graph whose halved graphs are distance-regular.. In the case the

“Ad-Hoc On Demand Distance Vector Routing”, Proceedings of the IEEE Workshop on Mobile Computing Systems and Applications (WMCSA), pages 90-100, 1999.. “Ad-Hoc On Demand