• 沒有找到結果。

結合基因演算法及經驗模態分解進行強健性語音辨識與FPGA晶片實現

N/A
N/A
Protected

Academic year: 2021

Share "結合基因演算法及經驗模態分解進行強健性語音辨識與FPGA晶片實現"

Copied!
69
0
0

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

全文

(1)國立高雄大學資訊工程學系 碩士論文. 結合基因演算法及經驗模態分解進行強健性語音辨識 與 FPGA 晶片實現 The FPGA Implementation of Robust Speech Recognition System by Combining Genetic Algorithm and Empirical Mode Decomposition. 研究生:李胥瑜 撰 指導教授:潘欣泰 博士 中華民國 98 年 12 月.

(2) 結合基因演算法及經驗模態分解進行強健性語音辨識 與 FPGA 晶片實現 指導教授:潘欣泰 博士 國立高雄大學資訊工程學系. 學生:李胥瑜 國立高雄大學資訊工程學系. 摘要. 本論文以實現一個強健性的語音辨識系統於 FPGA 平台上為主要目標。為了 加快語音辨識處理的速度,以適合於速度較慢的嵌入式平台上,採用了整數快速 傅立葉轉換取代浮點數快速傅立葉轉換,在辨識率些微下降下,大幅提高了快速 傅立葉轉換的運算速度。對於含雜訊的語音,採用了黃鍔院士所提出的經驗模態 分解法(Empirical Mode Decomposition, EMD)將含雜訊的語音訊號分離成多組本 質模態函式(Intrinsic Mode Function, IMF),針對不同本質模態函式做語音辨識上 之實驗,以期能找出本質模態函式與語音雜訊間之關係,並以實數型基因演算法 找出本質模態函式之權重,將分離出之本質模態函式依權重還原成語音後,能降 低雜訊之干擾,提升語音辨識系統抗雜訊之能力。 關鍵字:經驗模態分解、基因演算法、整數傅立葉轉換、語音辨識、隱藏式馬可 夫模型、FPGA。. I.

(3) The FPGA Implementation of Robust Speech Recognition System by Using Genetic Algorithm and Empirical Mode Decomposition Advisor: Dr. Shing-Tai Pan Department of Computer Science and Information Engineering, National University of Kaohsiung. Student: Xu-Yu Li Department of Computer Science and Information Engineering, National University of Kaohsiung ABSTRACT In this thesis, we propose a robust speech recognition system constructed by utilizing HMM; the system utilizes Integer FFT to improve the computing performance and had been implemented in the FPGA embedded system. In the embedded system, the computing speed is not as fast as personal computer which would cause the speech recognition to consume more computing and power; in further, the requirement of real-time recognition would not be met. In the proposed method, we utilize Integer FFT to replace Float FFT and the experimental result shows that much computing time could be reduced while only a little recognition accuracy is lost. In addition, we also utilize Empirical Mode Decomposition to divide speech signals into multiple Intrinsic Mode Functions, and analyze the correlation between speech signal and noise in each Intrinsic Mode Function. Finally, we utilize Genetic Algorithm to find the optimal composing weight, and then, use it to reassemble the multiple Intrinsic Mode Functions to the speech signal for speech recognition. Keywords: EMD, FPGA, GA, integer fast Fourier transform, speech recognition, HMM. II.

(4) 致謝 經過了兩年多的努力,終於完成這篇論文,首先感謝我的指導老師潘欣泰教 授,指導我如何做研究以及教導我諸多的最佳化演算法,讓我對於論文的實驗方 法有很多的嘗試方向,最後選擇了基因演算法當作實驗的方法。在論文最後完稿 這幾個月,耐心的指導論文的寫作和校正,令學生感激不盡。 在兩年的求學過程中,感謝授課的教授們傳授了大學時沒接觸過的領域,包 含類神經網路、圖形識別等等。特別感謝中山大學陳嘉平教授同意讓我旁聽語音 信號處理課程,對我在語音辨識的研究方面有莫大的幫助。在最後論文修改階 段,承蒙賴智錦教授對基因演算法的諸多建議,使論文能更加完整,獲益良多。 在研究的過程中,學長蔡博宇是除了老師以外另一個請教的對象,特別在信 號處理方面給了我很大的幫助,除了感謝學長外,也感謝這兩年來同學和朋友的 鼓勵與陪伴,以及學弟曾建弘對於平時實驗室業務的幫助,讓我減輕不少負擔。 最後感謝我父母在經濟壓力下支持我繼續攻讀碩士學位,其無怨無悔的付出 讓我相當感動。. 李胥瑜 於高雄大學資訊工程學系 中華民國九十八年十二月 III.

(5) 目錄 第一章 緒論..................................................................................................................1 1.1 研究動機.......................................................................................................1 1.2 研究方法.......................................................................................................2 第二章 語音的前置處理..............................................................................................3 2.1 語音取樣.......................................................................................................3 2.2 音框...............................................................................................................4 2.3 端點偵測.......................................................................................................5 2.4 預強調...........................................................................................................6 2.5 漢明窗...........................................................................................................6 2.6 整數快速傅立葉轉換...................................................................................7 2.7 梅爾頻率倒頻譜參數.................................................................................11 第三章 隱藏式馬可夫模型........................................................................................14 3.1 向量量化.....................................................................................................14 3.2 隱藏式馬可夫模型.....................................................................................15 3.3 計算模型機率.............................................................................................16 3.4 訓練模型參數.............................................................................................18 3.5 辨識.............................................................................................................20 第四章 EMD訊號分解與語音辨識...........................................................................21 4.1 瞬時頻率.....................................................................................................21 4.2 本質模態函式.............................................................................................22 4.3 三次仿樣函式.............................................................................................23 4.4 經驗模態分解法.........................................................................................26 4.5 經驗模態分解法與語音辨識.....................................................................28 第五章 基因演算法....................................................................................................33 5.1 決定變數和計價函式.................................................................................34 5.2 實數型和離散型參數.................................................................................35 5.3 天擇.............................................................................................................37 5.4 選擇.............................................................................................................38 5.5 交配.............................................................................................................39 5.6 突變.............................................................................................................40 第六章 實驗環境與結果............................................................................................41 6.1 實驗參數設定與硬體.................................................................................41 6.2 實驗方法.....................................................................................................44 6.3 實驗結果.....................................................................................................47 第七章 結論與展望....................................................................................................53 7.1 結論.............................................................................................................53 IV.

(6) 7.2 未來與展望.................................................................................................53 參考文獻......................................................................................................................55. V.

(7) 圖目錄 圖 2.1 圖 2.2 圖 2.3 圖 2.4 圖 2.5 圖 2.6 圖 2.7 圖 2.8 圖 2.9 圖 2.10 圖 3.1 圖 3.2. 取樣..................................................................................................................3 取音框..............................................................................................................4 端點偵測..........................................................................................................5 漢明窗..............................................................................................................7 256 點的時間分解演算法...............................................................................8 N點時間分解FFT............................................................................................9 浮點數轉成整數與建表..................................................................................9 複數乘法的蝴蝶圖........................................................................................10 Mel-Frequency 與一般頻率的比較.............................................................12 語音前置處理流程......................................................................................13 音框和HMM隱藏狀態對應圖......................................................................16 HMM狀態跳躍圖..........................................................................................16. 圖 3.3 HMM語音模型訓練流程圖..........................................................................19 圖 3.4 語音辨識流程圖............................................................................................20 圖 4.1 本質模態函式................................................................................................23 圖 4.2 乾淨語音所分解出的IMF ............................................................................30 圖 4.3 15db語音所分解出的IMF ............................................................................31 圖 4.4 加入EMD分解的語音辨識流程...................................................................32 圖 5.1 實數型染色體................................................................................................35 圖 5.2 離散型染色體................................................................................................35 圖 5.3 3bits編碼情形................................................................................................36 圖 5.4 單點交配........................................................................................................39 圖 6.1 不同選擇法的收斂過程................................................................................42 圖 6.2 不同突變率的收斂過程................................................................................43 圖 6.3 不同db值的語音波形....................................................................................46 圖 6.4 針對SNR 20db到clear最佳化之基因演算法收斂圖 ...................................49 圖 6.5 針對SNR 0db到 15db最佳化之基因演算法收斂圖....................................50. VI.

(8) 表目錄 表 6-1 表 6-2 表 6-3 表 6-4 表 6-5 表 6-6 表 6-7 表 6-8 表 6-9 表 6-10. 不同選擇法之演化結果 ...............................................................................41 不同突變率之演化結果 ...............................................................................42 浮點數FFT於PC上之辨識率 .......................................................................47 整數FFT於PC上之辨識率 ...........................................................................47 開發板上語音辨識各階段運算時間表 .......................................................48 各本質模態函式之辨識率 ...........................................................................49 最佳辨識率比較 ...........................................................................................50 各SNR最佳化權重分布 ...............................................................................51 開發板乾淨語音最佳化EMD權重分佈 ......................................................51 實際開發板辨識率 .....................................................................................52. VII.

(9) 符號表 E[n] :音框的能量 Threshold:端點偵測之門檻值. W (n) :漢明窗函式 X [k ] :頻域信號 x[n] :時域信號 f [n] : x[n] 的偶數取樣點 g[n] : x[n] 的奇數取樣點 F [k ] : f [n] 的 DFT G[k ] : g[n] 的 DFT SF:整數 FFT 中將小數放大所要乘的值 WNk : cos(−. 2πk 2πk ) + j sin(− ) N N. mel ( f ) :普通頻率轉梅爾頻率函式. Bm (k ) :梅爾三角慮波器. f m :梅爾三角慮波器的中心頻率 Y (m) :通過第 m 個三角慮波器的能量總和. c x (n) :梅爾頻率倒頻譜係數. d k (v) :向量 v 和向量 Vk 間的距離 VIII.

(10) Vk :新中心點向量. λ :HMM 模型 S :HMM 隱藏狀態集合. V :HMM 模型輸出的集合 A :狀態轉移機率矩陣 B :HMM 中各狀態的輸出機率矩陣. π :HMM 初始狀態的機率向量 O :HMM 的觀察結果序列. Q : HMM 的狀態序列. α t (i) :向前變數 u ij :標示由狀態 si 到狀態 s j 的事件. u i• :標示由狀態 si 跳出的事件 u • j :標示進入狀態 s j 的事件 n(uij ) :由狀態 si 出來,然後進入狀態 s j 的次數. n(ui• ) :由狀態 si 跳出的次數. n(u• j ) :進入狀態 s j 的次數 n(u • j , o = v k ) :進入狀態 s j 時產生觀察結果符號 vk 的次數. y (t ) :希爾伯特轉換公式 z (t ) :解析訊號 a (t ) :振幅. IX.

(11) θ (t ) :相角 f (t ) :瞬時頻率 S (x) :包絡線函式 S j ( x ) :第 j 段包絡線函式 h j :兩相鄰極值間的水平距離 M j :線段 S j 的二次微分 a j :線段 S j 的常數項 b j :線段 S j 的一次項係數 c j :線段 S j 的二次項係數 d j :線段 S j 的三次項係數 mij :上下包絡線的平均值 hij :訊號減去上下包絡線的平均值所剩餘的訊號. imf i (t ) :本質模態函式. ri (t ) :訊號分解出本質模態函式後所剩餘的訊號. SDik :判斷是否達到本質模態函式的門檻條件. X en (t ) :經 EMD 分解重組後的語音訊號. pn :要編碼的參數. phi :參數可能的最大值 X.

(12) plo :參數可能的最小值. pnorm :將 pn 正規化後的數值 gene[] :編碼後的二進位值 pquant :將二進位的 gene[] 參數轉成正規化的值. qn :二進位之參數轉成的實數. cn :交配池所有染色體之代價. c Nkeep +1 :淘汰染色體中最低之代價. Cn :交配池染色體之代價( cn )減去被淘汰染色體中最低之代價. pn :染色體被選擇之機率 n(t ) :噪音訊號. nor (t ) :原始未調整的噪音訊號 SNR :訊噪比 a :調整訊噪比的參數. x noise (t ) :加入噪音的語音信號. XI.

(13) 第一章 緒論 隨著科技的進步,人類對於電子產品的依賴性越來越高,相對的使得人與機 器間的溝通越來越重要,如何使人可以直覺並方便的操作機器一直是被探討的重 點,也因此開發出許多人機介面,像市面上的滑鼠剛推出時可說是帶動了一波滑 鼠產業的興盛,其直覺式的移動和按鈕馬上成為個人電腦輸入的主流,而最近可 觸控式螢幕大行其道,在特殊應用上也頗受使用者歡迎,而這些成功的產品都有 兩個特點,一是使用簡單直觀,二是穩固可靠不易出錯。 相對於語音辨識而言,因不同人說話特性不同、錄音環境不同等等因素,導 致語音辨識還沒那麼普及被應用在 3C 產品上,但對於語音辨識的研究也一直在 進行[6-13],從最初的動態時軸校正(Dynamic Time Warping, DTW)[1],它靠的是 將輸入的語音以動態規劃演算法[14]校準時間找出樣板裡最接近之語音當作辨 識的結果;接著發展到類神經網路[2][15-16],利用倒傳遞演算法訓練好神經網路 後,語音輸入網路便可由網路計算出辨識結果,有辨識迅速的優點,缺點是其輸 入數目是固定的,對於不同長度的語音需另外處理成固定數目的資料數,此動作 會影響到辨識率的表現;最後被公認最適合用於語音辨識的隱藏式馬可夫模型 [3][17]被廣泛的應用在語音辨識上,其利用機率統計的原理,理論上可克服說話 快慢的問題,並且可層層建構,達到自動語意辨識的功能。. 1.1 研究動機 由於實驗室乾淨語音辨識技術已相當成熟,不管是特定語者或非特定語者其 辨識率皆已超過 9 成,現今的語音辨識已朝向改進噪音環境下辨識率下降的問題 和加速語音辨識速度。由於現今的消費電子產品如手機、PDA 等等其運算能力 並不如個人電腦那麼快,對於需要語音即時辨識的需求將是一個考驗,太過冗長 的辨識時間將使使用者無法接受,且對於電力的消耗也是一個不可忽視的問題。 1.

(14) 另外由於在生活上無法像實驗室環境下做錄音的動作,ㄧ定會存在著許多背景噪 音,不管是馬路邊、捷運上等等,對於辨識率有ㄧ定的影響。而語音辨識抗噪音 干擾的研究也是一直被當作極需解決的問題被提出來討論[4-5][18-19],各種分離 噪音的方法也被提出來,畢竟良好的辨識率是語音辨識產品必要的條件。. 1.2 研究方法 本論文朝著加速語音辨識速度和提升抗雜訊能力兩方面著手,並將其實現於 嵌入式系統上。在語音辨識方面,採用根據人耳特性所定義之 MFCC 特徵値擷 取方法[1],並以離散的隱藏式馬可夫模型為辨識平台,在 MFCC 特徵値擷取過 程中,將傳統的快速傅立葉轉換內的浮點數運算以整數運算替代,將耗時的快速 傅立葉轉換所需的時間大幅減少,有效的提高快速傅立葉轉換速度。 在抗雜訊語音辨識部分,一般由處理的方法可分為三類,分別為語音強化、 強健式特徵值、聲學模型調適。語音強化法為直接對含噪音之語音做濾除雜訊的 動作,以期能還原出乾淨語音提高辨識率。而強健式特徵値為找出不易受雜訊干 擾之特徵値作為語音特徵値,因特徵値不易受雜訊干擾,其含噪音之語音所求出 之特徵値和乾淨語音差異不大,藉此提高語音辨識系統抗噪音干擾的能力。聲學 模型調適法則是針對目標背景雜訊調整聲學模型,使該模型在同噪音環境下能夠 有效辨識。本篇論文採用黃鍔院士於 1998 年所提出的經驗模態分解(Empirical Mode Decomposition, EMD)[20],屬於上述語音強化法的一種,該方法的特性是 可將訊號分解成多組本質模態函式 (Intrinsic Mode Function, IMF)[20] ,去除含 雜訊較多的 IMF 後還原成語音訊號[4],而與[4]不同的是,本論文決定 IMF 去留 的權重值採用基因演算法來決定,並非以實驗經驗決定,以期能達到 EMD 方法 下最佳的抗噪音的效果。由於科技已漸漸進入日常生活之中,如行車控制、手機、 PDA 等,語音輸入的方便性也越來越受到重視,為使語音辨識技術可以廣泛應 用在民生家電上,將系統實現於嵌入式硬體上。. 2.

(15) 第二章 語音的前置處理 由於語音信號是一個連續的時變信號,經由麥克風輸入後要經過取樣處理來 得到離散的語音信號,其取樣的點數視取樣頻率以及語音長度來決定,一般來講 一個正常速度中文音節長度約 0.32 秒,若以 8kHz 為取樣頻率換算的話,將會有 2560 個資料量,對於電腦而言將是一個巨大又複雜的資料量。由於語音屬於一 個時變的信號,即使同一個人發出相同的音,其聲音的訊號也都不盡相同,因此 須先對語音做處理,去除不必要的資料並根據人類實際辨識聲音和講話的特性, 計算出最接近人類實際辨識特性之特徵値,如此相同的音其特徵值計算的結果將 不會相差太大,而電腦可藉由特徵值做出準確又迅速的辨識。. 2.1. 語音取樣 受限於電腦只能計算離散的資料,經由麥克風所錄製的類比聲音訊號必須轉. 成數位訊號才可以做處理。固定一段時間紀錄一次信號值,經由各個時間點取得 的値即可描述原來訊號的波形。圖 2.1 以 48 點紀錄一段 sin 波形。. 圖 2.1. 取樣. 3.

(16) 取樣頻率關係著訊號由類比訊號轉成數位訊號所造成的失真,取樣頻率越 高,數位信號越接近原始訊號,但訊號資料量越大,語音辨識時間成本越高。由 於人聲的頻率不會超過 4kHz,根據取樣定理[21],取樣頻率不能小於原信號頻率 的兩倍,我們以 8kHz 為取樣頻率。另外信號中實數的値須量化為離散的資料, 本論文採用的量化方法為均勻量化(uniform quantization)[1],資料長度 16 bits。. 2.2 音框 由於聲音的頻率隨著時間變化,不同的聲音其頻率和變化的方式是不相同 的,對聲音訊號做快速傅立葉轉換,我們可以得到整段聲音的頻率分布,但就無 法看出頻率隨時間的變化情形,所以我們要將聲音切成多段,每段稱為一個音 框,再對每一音框作 MFCC 特徵値參數的計算,如此可以看出頻率隨時間變化 的情形。另外音框並不是一段的結束緊接著另ㄧ段的開始,而是會交相重疊,此 作法是爲了更容易看出音框特徵値改變的連續性。對於特徵値隨時間變化迅速的 聲音,採用較高的重疊率可以更細膩的看出特徵値變化的情形,而較低的重疊率 則可因音框數降低而降低語音前置處理所耗的時間,但對特徵値變化的解析度會 降低,可能影響到語音辨識的準確率。由於本篇論文採用 HMM 當作辨識平台, 對於音框數不須要求固定,採用較常見的 50%音框重疊率(如圖 2.2),若是使用 類神經為辨識平台,則需調整重疊率讓音框的數目固定,由於這個限制,使得類 神經網路對於不同說話速度的語音辨識其表現不如隱藏式馬可夫模型。. 圖 2.2. 取音框. 4.

(17) 2.3 端點偵測 ㄧ般錄音的語音,並不是整段都是語音的部分,其中包含著一開始靜音的部 分,接著是語音的開始,語音結束後還接著一段靜音部分。而將聲音訊號去除靜 音部分的動作稱為端點偵測,其目的有減少資料量,並防止靜音部分影響到整個 辨識的過程(如圖 2.3)。. 圖 2.3. 端點偵測. 本論文採用的方法為能量偵測法,其做法是先求出每個音框的能量,其數學 式子如下. E ( m) =. m*L + L −1. ∑. x ( n). 2. (2-1). n = m*L. E (m) 為第 m 個音框的能量値, L 代表音框的長度, n 為語音信號的索引值, x(n) 為原始的聲音信號,求出所有音框能量後,取最大能量値的 7.5%加上前 K 個 音框能量値的平均當做門檻值,其數學式子如下. Threshold = 7.5% × max[E (n)] +. 1 K. K −1. ∑ E (i), i =0. 5. 0 ≤ n ≤ N −1. (2-2).

(18) 計算出門檻值之後,我們從第一個音框依序向後比較,若連續多個音框超過 門檻値,則可判定語音的開始;同理由尾端方向比照 2-2 式可算出尾端之門檻値, 接著從最後一個音框依序向前比較,連續多個音框大於門檻値則判定為語音的尾 端,經判斷非語音的部分即捨棄不用。. 2.4 預強調 實際上,人耳對高頻聲會有自動增益效果,另外人在發高頻的聲音時,會因發 聲的過程降低高頻聲音的強度,為了彌補高頻聲強度,須對語音信號做預強調處 理,因此我們將語音信號 x(n) 乘上一個 FIR 的高通慮波器如下:. s ( n) = x ( n) − 0.95 x( n − 1),. 1≤ n ≤ L. (2.3). 式(2.3)中,s(n)為強波後的信號, x(n) 為原始信號,L 為信號長度。. 2.5 漢明窗 由於我們將音框取重疊以獲得特徵値隨時間變化的連續性,故兩個連續音框 頭尾的値將可能不同,如此將造成頻譜上的破壞,為了避免相鄰音框邊界値的不 連續,並突顯音框中間數值的特性,我們替每個音框乘上一個漢明窗。. 2nπ ⎧ ⎪0.54 − 0.46 cos( L − 1), W ( n) = ⎨ ⎪0, otherwise; ⎩. 0 ≤ n ≤ L − 1; (2.4). 式(2.4)為漢明窗的數學函式,其中 L 為音框長度,n 為音框中訊號的索引值, 此函式在中心的部分値最高,漸漸的朝兩端變小接近於 0,圖 2.4 為漢明窗在時 6.

(19) 域上的波形,L 為 256 個取樣點。. 圖 2.4 漢明窗. 2.6 整數快速傅立葉轉換 經過漢明窗處理後所得到的音框,其資料量也是相當大,在此我們必須對每 個音框取出代表該音框特性的特徵値,用來取代完整的音框資料。一般語音辨識 裡的特徵値採用頻域分析的方法,音框的時域信號需經過傅立葉轉換[22]轉成頻 域信號,因每個音框都要做一次,所需的運算多又複雜,相對的也提高不少時間 成本。. N −1. X [k ] = ∑ x[n]WN , kn. 0 ≤ k ≤ N −1. n=0. WN = e. (2.5). − j 2π N. 式(2.5)為傳統傅立葉轉換, N 為資料數,由式子可看出該演算法時間複雜度為. N 2 ,以中文單音節的聲音來看,其音框長度取 256 點,ㄧ個音框要做ㄧ次傅立 葉轉換,整段聲音總資料量可高達 2000 以上,再加上 50%音框重疊率,音框數 大約坐落在 20 個左右,另外再包含大量浮點數運算,所耗的時間相當可觀。由 於傅立葉轉換時間複雜度太高,因此快速傅立葉轉換(FFT)被提出來 [22]。假設. 7.

(20) N 為偶數,定義:. f [n] = x[2n]. 為 x[n] 的偶數取樣點. g[n] = x[2n + 1]. 為 x[n] 的奇數取樣點. 則我們可以將式(2.5)改寫成. X [k ] =. N −1 2. ∑ f [n]W n=0. nk N 2. + WN. k. N −1 2. ∑ g[n]W n=0. nk N 2. k. = F [k ] + WN G[k ]. 式(2.6)中 F (k ) 和 G (k ) 為 f [n] 和 g[n] 的. (2.6). N 個取樣點DFT,而 0 ≤ k < N 。如果 N 也是 2 2 2. 偶數, f [n] 和 g[n] 可以分為偶數與奇數部分,然後可以用一樣的方法計算各別 的DFT。由於每階段分割後的 N 皆需為偶數,故原來資料的長度 N 必須為 2 的 次方,藉由此方法可將時間複雜度降為. N log 2 N ,圖 2.5 為256個輸入的時間分解 2. 演算法,而圖 2.6 為N點的時間分解蝴蝶圖。. 圖 2.5 256 點的時間分解演算法. 8.

(21) 圖 2.6 N 點時間分解 FFT. 雖然快速傅立葉轉換大大加快了傳統傅立葉轉換的速度,但鑑於要將語音辨 識系統實作在速度較慢的嵌入式系統上,本論文使用整數快速傅立葉轉換[23]來 更進ㄧ步的加快其運算速度,使其能更符合 real time 的要求。 在二進位表示法上,浮點數位元長度關係著精確度的高低,但現實中不可能 給予浮點數無限的長度來表示,所以將其縮減成可接受精確度之位元數,當位元 數確定後即可對其做整數化之動作。. 圖 2.7 浮點數轉成整數與建表. 圖 2.7 說明對 FFT 運算中第一次遇到之 cos 和 sin 函式時先將它們左移 10 位元, 9.

(22) 接著捨棄小數位元轉成整數後建表,爾後遇到相同 cos 或 sin 則可直接查表。 k. 首先將式(2.6)中 G[K ] 和 WN 分解如下. G[ K ] = Re[G[ K ]] + j Im[G[ K ]]. (2.7). 2πk 2πk ) + j sin(− ); N N. (2.8). k. WN = cos(−. 則我們可將式(2.6)改寫如下,. F[k ] + G[K ] × WNk = F[k ] + (cRe[G[K]] - sIm[G[K]]) × SF. + j{(sRe[G[K]] + cIm[G[K]]) × SF}. (2.9). 其中 SF 為我們將小數放大所要乘得值,cos 和 sin 先乘以 SF 放大成整數,做完 乘法與加法後再除以 SF,並且刪除小數點以下部分,圖 2.8 表示運算流程。. 圖 2.8 複數乘法的蝴蝶圖. 10.

(23) 在複數的計算中,每次加法最多只會增加一個位元,而乘法最多會增加. N c − 1 個位元數,其中 N c 為 cos θ 或 sin θ 放大之後的位元數。在 FFT 的計算中, 為了儲存每階段的結果,我們必須有足夠大的暫存器,預防每次運算後的位元增 長,避免產生溢位。. 2.7 梅爾頻率倒頻譜參數 一般常用的特徵値有線性預估編碼、倒頻譜參數、梅爾倒頻譜參數等[17]。 人耳對聲音的區別性在各不同頻率是不同的,在 1000Hz 下呈現線性遞增,但超 過 1000Hz 後呈現對數關係(如圖 2.9),而梅爾頻率即是根據人類聽覺特性所定義 出來的。Mel 為人耳聽覺感知的頻率單位,式(2.10)為一般頻率 f 與 Mel 之間的 轉換公式。. f ⎞ ⎛ mel ( f ) = 2595 × log10 ⎜1 + ⎟ ⎝ 700 ⎠. (2.10). 11.

(24) 圖 2.9 Mel-Frequency 與一般頻率的比較. 由於梅爾頻率的特性比較符合人類聽覺上的效果,我們採用梅爾倒頻譜參數 作為特徵値計算方法。音框經傅立葉轉換後,將所得的各頻率能量值 | X (n) | 乘上 梅爾頻率三角帶通濾波器如下:. ⎧0, k < f m−1 ⎪ k− f m −1 ⎪ , f m−1 ≤ k ≤ f m ⎪ f m − f m−1 Bm (k ) = ⎨ ⎪ f m+1 − k , f ≤ k ≤ f m +1 ⎪ f m+1 − f m m ⎪ ⎩0, f m+1 < k. 1≤ m ≤ M. (2.11). M 為濾波器數目, f m 為梅爾三角慮波器的中心頻率,累加之後取對數得到:. ⎧ f m +1 ⎫ Y ( m ) = log ⎨ ∑ X ( k ) B m ( k ) ⎬ ⎩ k = f m −1 ⎭. (2.12). Y (m) 為第 m 的三角濾波器輸出的能量和,對 M 個 Y (m) 做離散餘弦轉換:. c x (n) =. 1 M. 1 2 ). M. πn(m − ). m =1. M. ∑ Y (m) cos(. (2.13). cx (n) 就是訊號 x(n) 的梅爾倒頻譜參數,參數取越多則越接近原始訊號的轉換, 但相對的運算量會增加,包含後面所要提到的隱藏式馬可夫模型的計算量也會增 加,在此採用前 10 個當作特徵參數,於後的捨棄不用,圖 2.10 為整個語音前置 處理流程。. 12.

(25) 圖 2.10 語音前置處理流程. 13.

(26) 第三章 隱藏式馬可夫模型. 經過前面的語音前置處理,ㄧ個音框產生一個 10 維的特徵向量,所有音框 的向量組成了該語音用來辨識的特徵値,接下來就是將特徵値輸入語音辨識平台 做最後的辨識。在此我們採用離散的隱藏式馬可夫模型(DHMM)[3][17],相較於 另一種技術類神經網路(ANN)[2][15-16],HMM 機率統計的原理比 ANN 更適合 用於變動長度的語音辨識,辨識率較不受說話快慢的影響,而 ANN 因為其架構 一決定即無法改變,需要對語音再做另外的處理以獲得相同數目的輸入,因此容 易被說話速度影響其辨識率。利用訓練的語音資料,我們可以對每個中文音節產 生一個對應的 HMM 語音模型,辨識時計算每個語音模型產生該語音的機率,機 率最高之模型為辨識的結果。. 3.1 向量量化 在 DHMM 中,其觀察結果為一個有限的集合,而語音一連串音框的特徵向 量剛好可以對應到 DHMM 中的觀察序列,由於特徵向量為 10 維的實數向量, 其 10 維的實數向量空間為無窮大,為了將 10 維的向量對應到觀察結果集合中的 一類,我們需對向量做量化[1]的動作。 首先算出所有語音訓練樣本中每個音框的特徵向量,並計算出所有維度的最 大最小值,接著根據要分類的數目,隨機產生相同數目的特徵向量當作初始碼 簿,隨機產生的數值範圍則根據該維度的最大最小值為邊界,碼簿中的各向量代 表著不同的類別。取得初始碼簿後,將每個音框的特徵向量根據碼簿做分類,藉 由式(3.1),可以計算出該特徵向量和碼簿中第 k 個向量的距離 d k ,. d k (v ) =. 9. ∑ (v − V i =0. i. ki. )2. (3.1). 14.

(27) 其中 k 表示碼簿中向量的編號,而 i 表示該向量中維度的索引,若要加快運算則 開根號可以省略,並不影響分類結果。算出碼簿中所有 d k 後,即可將 v 歸類為 d k 最小的那一類,重複上述步驟可將所有音框的特徵向量做出分類的動作。 將所有音框分類後,根據每ㄧ類別內所有的特徵向量計算新的中心點,所有 新計算出來的中心點則取代舊的碼簿成為更新後的碼簿,式(3.2)為中心點的計算 公式,. Vk =. 1 x × ∑ vn x n =1. (3.2). 其中 Vk 為第 k 類新的中心點向量,v 為屬於第 k 類的特徵向量,x 為歸類為第 k 類 的特徵向量數。藉由重複上述兩個分類和計算中心點的疊代動作,可對碼簿做訓 練,當碼簿不再變動時則代表碼簿已訓練完成。完成碼簿後即可根據碼簿對音框 的向量做量化,而語音的特徵値將從一連串的向量變成一連串的觀察代號以利後 續 HMM 的辨識。. 3.2 隱藏式馬可夫模型 隱藏式馬可夫模型(以下簡稱 HMM)為一種雙重隨機過程,一串觀察結果, 其背後也有一串的隱藏的狀態轉移,此結構剛好可以用於描述語音的特性,一連 串的音框代表著一連串的觀察結果(如圖 3.1),而發聲的器官狀態變化對應到隱 藏的狀態轉移。. 15.

(28) 圖 3.1 音框和 HMM 隱藏狀態對應圖. 對於每個語音模型,我們需要訓練的參數為每個狀態下產生各觀察結果之機 率和各狀態間轉移之機率,由於設定模型皆由第一個狀態開始,故初始狀態機率 不需要訓練。說明訓練方式前,須先對 HMM 做一個定義和介紹:. λ :HMM 模型 S :HMM 隱藏狀態集合. V :HMM 模型輸出的集合 A :狀態轉移機率矩陣 B :HMM 中各狀態的輸出機率矩陣. π :HMM 初始狀態的機率向量 O :HMM 的觀察結果序列. Q : HMM 的狀態序列 在語音模型方面,本文採用 7 個隱藏狀態,觀察結果為 64 個,狀態的跳躍 只限於跳回本身、跳下 1 個或跳 2 個狀態如圖 3.2,設定每個語音皆從狀態 0 開 始。. 圖 3.2 HMM 狀態跳躍圖. 3.3 計算模型機率 根據定義的 A 、 B 、 π 三個機率集合,我們可以算出一個模型 λ 產生一個觀 16.

(29) 察結果序列 O 的機率 P(O | λ ) 如式(3.3), P(O | λ ) = ∑ P(O, Q | λ ) = allQ. ∑π. q1 q1,q 2,...,qT. ⋅ bq1 (o1 ) ⋅ aq1q 2 ⋅ bq 2 (o2 ) ⋅ aq 2q3 ⋅ ⋅ ⋅ aqT −1qT ⋅ bqT (oT ). (3.3). 以語音來說,ㄧ連串音框的値代表著觀察結果序列 O ,假設已經完成 HMM 的語 音模型訓練,則可由 P(O | λ ) 得知該模型 λ 產生該語音 O 的機率,由機率的觀點 來看,最高機率者之模型代表著最有可能產生該語音,我們將該模型視為辨識的 結果。 雖然可藉由式(3.3)計算出 P(O | λ ) ,但還存在一個問題必須解決,式(3.3)雖 可正確的算出 P(O | λ ) ,但其時間複雜度太高,共 N T 個浮點數乘法和 N T − 1 個浮 點數加法,此方法不太可行因此另外定義向前變數(Forward variable)如下:. α t (i ) = P (o1 , o2 ,......, ot , qt = si | λ ). (3.4). 起始. α1 (i ) = π i ⋅ bi (o1 ), 1 ≤ i ≤ N. 為 N × 1 矩陣. (3.5). 遞迴運算 N. α t +1 ( j ) = [∑ α t (i ) ⋅ aij ] ⋅ b j (ot +1 ), 1 ≤ j ≤ N ,. t = 1,2,..., T − 1. (3.6). i =1. 結束 N. P(O | λ ) = ∑αT (i). (3.7). i =1. 此演算法所需乘法數為 (T − 1) N 2 + N 個,加法為 T ⋅ N 個,大幅降低運算複雜度, 為一個較可行的辦法。 17.

(30) 3.4 訓練模型參數 在說明訓練方法前,我們再定義一些代號以利說明:. uij. 標示由狀態 si 跳到狀態 s j 的事件. u i•. 標示由狀態 si 跳出的事件. u• j. 標示進入狀態 s j 的事件. n(uij ) 由狀態 si 跳出,然後進入狀態 s j 的次數. n(ui• ) 由狀態 si 跳出的次數 n(u• j ) 進入狀態 s j 的次數. n(u• j , o = vk ) 進入狀態 s j 時產生觀察結果符號 vk 的次數 訓練前先隨機產生 HMM 的機率參數,產生的機率參數必須是合理的,例如 初始機率參數 π 向量其第一個值一定是 1 其後為 0,B 矩陣每列機率和必須為 1, 而 A 陣列下 3 角形的機率全為 0,僅對角線和往右兩個值不為 0,其列機率和也 為 1。假設我們要訓練聲音”0”的語音模型,收集”0”的聲音集合,將語音一筆一 筆代入隨機初始的 HMM 模型找出每筆語音的最佳狀態序列,最佳狀態序列可由 向前變數 α 來計算:. statet = arg maxα t (i). (3.8). 0≤ i ≤ 6. 對於在時間 t 時,取使 α t (i) 機率最大的 i 為猜測狀態的結果,根據猜測的狀態序 列和觀測序列,我們可以統計出 n(uij ) 、 n(ui • ) 、 n(u• j ) 、 n(u• j , o = vk ) ,當統計 完所有筆數的語音後,即可更新參數: 18.

(31) aij =. n(uij ) n(ui • ). b j (k ) =. (3.9). n(u• j , o = vk ) n(u• j ). (3.10). 然後再以新的參數之模型重複做上述猜測狀態序列和統計更新的動作,直到模型 參數沒變化時即可結束而得到該聲音的模型參數,圖 3.3 HMM 語音模型訓練流 程圖。. 圖 3.3 HMM 語音模型訓練流程圖. 19.

(32) 3.5 辨識 本論文語音辨識的範圍為數字 0 到 9 共 10 個中文音節,故需對每個數字各 別訓練一個語音模型,以產生一個語音模型的集合,當 10 個語音模型完成訓練 後,方可進行語音的辨識。當要辨識的聲音經過語音前置處理和向量量化後,將 語音的特徵値送入所有的語音模型,利用式(3.7)算出模型集合中各個模型產生該 語音的機率 P(O | λ ),經比較所有模型的機率後,機率最高者為語音辨識的結果。 若需新加入其他辨識目標的語音模型,則只要再訓練該目標的語音模型後將其加 入語音模型集合中即可,圖 3.4 為語音辨識流程圖。. 圖 3.4 語音辨識流程圖. 20.

(33) 第四章 EMD 訊號分解與語音辨識 黃鍔院士於 1998 年發表了經驗模態分解法(Empirical Mode Decomposition,. EMD)[20],此方法利用訊號內部本身的時間尺度,將訊號分解成多組本質模態 函式(Intrinsic Mode Function, IMF)[20],可以分析非線性或非穩定信號,而不同 的 IMF 則代表著一定的物理特性。求出所有 IMF 後再利用希爾伯特轉換即可求 出訊號的瞬時頻率和振幅,結合 EMD 再利用希爾伯特轉換求得瞬時頻率和振幅 的方法稱之為希爾伯特-黃轉換(Hilbert Huang Transform, HHT)[20]。本論文利用. HHT 中分離 IMF 的方法來將語音做分解和重組的動作,以期能降低語音中雜訊 干擾的影響,進而提高辨識率。. 4.1 瞬時頻率 在傳統的頻率分析上,傅立葉分析可計算出整個訊號頻率能量的分布狀 況,其假定訊號為線性且穩定的,但實際上訊號大多為非線性且非穩定狀態,以 傅立葉轉換分析此訊號並非符合實際狀況。而在瞬時頻率上,傅立葉分析只能看 出整體頻率分布狀況,並不能計算出頻率隨時間變化的情形,自然也無法計算出 瞬時頻率。 在直觀上,瞬時頻率是指在某一時間點訊號的頻率,但在該時間點上,訊 號值也僅有一點,不過頻率確實會隨時間而改變,由此可知瞬時頻率是確實存 在,如何定義出有意義的瞬時頻率是一個必須解決的問題。式(4.1)為希爾伯特轉 換公式,. y (t ) = H {x(t )} = x(t ) ∗. 1 1 ⎛ ∞ x(τ ) ⎞ = CPV ⎜ ∫ dτ ⎟ πt π ⎝ −∞ t − τ ⎠ 21. (4.1).

(34) 其中 CPV 為柯西主値(Cauchy principle value),利用 x(t ) 和 y (t ) 可組成一個解析 訊號 z (t ) :. z (t ) = x(t ) + jy (t ). (4.2). 由式(4.2)可計算出振幅、相角和瞬時頻率:. 振幅. a(t ) = z (t ) = x 2 (t ) + y 2 (t ). (4.3). 相角. θ (t ) = arg( z (t )) = tan −1 (. y (t ) ) x(t ). (4.4). 瞬時頻率. f (t ) =. 1 1 d ω (t ) = θ (t ) 2π 2π dt. (4.5). 其中瞬時頻率的定義為訊號轉成相對應的複數訊號後,計算出相角和振幅,由於 相角為時間函數,因此可對時間做微分而得到瞬時頻率,由式(4.3)和(4.5),可畫 出包含頻率、時間和振幅的時頻圖,供時頻分析使用。. 4.2 本質模態函式 在物理上瞬時頻率要有意義須要滿足兩個條件[20],第一是信號的局部平均 值須等於 0,第二是信號的極值總數和過零數相等或僅能差 1。直接使用 Hilbert. Transform 來求瞬時頻率,則可能因直流偏移量(dc-offset)與多重頻率成分的影 響造成誤判的情況,以致得到和原訊號的瞬時頻率、瞬時相位、瞬時封包相差甚 大的結果。爲了得到有效的瞬時頻率,根據瞬時頻率的特性,定義了本質模態函. 22.

(35) 式的條件:. 1. 在整個訊號資料中,過 0 點的數目和局部極值的數目相等或僅能相差 1。 2. 在任何時間點中,由信號內所有局部極大値所形成的上包絡線和局部極小値 所形成的下包絡線,兩包絡線之平均值為 0。 圖 4.1 為本質模態函式的一個例子,可看出極大值皆大於 0,極小值皆小於 0 的 特性,此特性可確保條件一的達成,可作為實作上判斷條件一的方法。. 圖 4.1 本質模態函式. 4.3 三次仿樣函式 在正式介紹經驗模態分解法前,需先介紹三次仿樣函式(Cubic Spline)[28]。 三次仿樣函式其目的是以一個三次方程式連接相鄰的兩點( x j , y j )、( x j +1 , y j +1 ), 若點不只兩個,則每個相鄰兩點的區間就需要ㄧ個三次方程式 S j (x ) 來連接,並 且必須使相鄰的兩線段是連續和平滑的,所有段落函式連接後組成一個 S (x) 函 式, S (x) 即為連接這些點的三次仿樣函式,ㄧ般工業上是用在產生物體的外型 使其平滑。由上述條件,我們可以歸納出兩個條件, 條件一: S j (x ) = S ( x) = S ( x) |x∈[ x j , x j +1 ] 條件二: S ( x),. S ' ( x),. S ' ' ( x). 全部都為連續函式。. 23.

(36) 定義: 給定目標點座標 (x0 , y0 ),....., ( xn , yn ). 令 h j = x j +1 − x j. (4.6). M j = S ' ' ( x j ) 為 S (x) 在 x j 上的二次微分. (4.7). 則. M j +1 − M j (x − x j ) x j +1 − x j M −Mj = M j + j +1 (x − x j ) hj. S j ' ' ( x) = M j +. (4.8). 由式(4.8)則 S ' ' ( x) 為連續的條件將會自動成立。 根據使用三次函數來描述線段,我們可以假設函式的形式為. S j ( x) = a j + b j ( x − x j ) + c j ( x − x j ) 2 + d j ( x − x j )3. (4.9). 將式(4.8)做二次積分可得到 S j (x ) 的形式. S j ( x) = a j + b j ( x − x j ) +. Mj M −Mj ( x − x j ) 2 + j +1 ( x − x j )3 2 6h j. 根據式(4.9)、式(4.10). 24. (4.10).

(37) S j (x j ) = y j ⇒ a j = y j. (4.11). 又 S j ( x j +1 ) = y j +1. 由式(4.11)和式(4.10) ⇒ y j +1 = S j ( x j +1 ) = y j + b j ⋅ h j +. b j = (( y j +1 − y j ) − (. cj =. dj =. Mj 2. h 2j +. M j +1 − M j. 2M j + M j +1 2 y − y j 2M j + M j +1 − hj )h j ) / h j = j +1 6 6 hj. Mj. 6. h 2j. (4.12). (4.13). 2. M j +1 − M j 6h j. (4.14). 式(4.11)到式(4.14)我們將三次函數的係數 a j , b j , c j , d j 整理成 M j 和 h j 的函式,則 式(4.10)可改寫成:. S j ( x) = y j + (. y j +1 − y j hj. −. M M −Mj 2M j + M j +1 h j )( x − x j ) + j ( x − x j ) 2 + j +1 ( x − x j )3 6 2 6h j. (4.15) 其中 h j 為已知,則只要求出 M j 即可得到三次函式。由三次仿樣函式的條件二,. S ' ( x) 為連續函式,代表著. S 'j −1 ( x j ) = S 'j ( x j ). (4.16). 25.

(38) 由式(4.15) 做ㄧ次微分代入式(4.16)得. 2M j −1 + M j 2 M j + M j +1 y j − y j −1 M − M j −1 y − yj )−( )h j −1 + M j −1h j −1 + ( j )h j −1 = ( j +1 )−( )h j 6 2 6 h j −1 hj h h + hj h y − yj y − y j −1 ⇔ j −1 M j −1 + 2( j −1 ) M j + ( j ) M j +1 = ( j +1 )−( j ), j = 1, ⋅ ⋅⋅, n − 1 6 6 6 h h j −1. (. (4.17). 由式(4.17)可得到 n − 1 個式子,但要解 M 0 ~ M n 共 n + 1 個未知數還差兩個式子, 我們代入邊界條件, M 0 = M n = 0 ,即可順利解出所有的 M 得到整個 S (x) 。. 4.4 經驗模態分解法 經驗模態分解法利用三次仿樣函式將訊號所有極大値連接而成上包絡線,所 有極小値連接成下包絡線,再利用上下兩包絡線求出均值包絡線 m10 (t ) ,將原訊 號 X (t ) 減去 m10 (t ) 後得到第一分量 h10 (t ) ,如式(4.18)。. X (t ) − m10 (t ) = h10 (t ). (4.18). 理想上, h10 (t ) 應該就是本質模態函式,因經過減去均値後,直觀上極大値 皆會大於 0 極小値皆小於 0,符合本質模態函式第一個條件,另外也會造成均値 包絡線其值為 0 符合第二條件,但實際上會因為三次仿樣函式的特性造成的擺盪 導致 h10 (t ) 往往並非是本質模態函式,此時須對訊號繼續做轉移分解直到 hij (t ) 為 本質模態函式為止。 將求出的 h10 (t ) 當成新的訊號,找出 h10 (t ) 的上包絡線和下包絡線,求出其均 26.

(39) 値包絡線 m11 (t ) ,再將 h10 (t ) 減去 m11 (t ) 得到 h11 (t ) ,不斷重複上述動作 k 次直到. h1k (t ) 為本質模態函式,. h11 (t ) = h10 (t ) − m11 (t ) M h1k (t ) = h1( k −1) (t ) − m1k (t ). 則可得到第一個本質模態函式. imf1 (t ) = h1k (t ). (4.19). 求出第一個本質模態函式後,可將該函式從原來訊號 X (t ) 裡分離出來,. X (t ) − imf1 (t ) = r1 (t ). (4.20). 其中 r1 (t ) 為分離出第一個本質模態函式後所剩餘的信號,接著可對 r1 (t ) 繼續做. EMD,得到其餘的本質模態函式。. r1 (t ) − imf 2 (t ) = r2 (t ) M. rn −1 (t ) − imf n (t ) = rn (t ). 最後當 rn (t ) 信號為常數或單調函式時,整個經驗模態分解過程就算結束。則原訊. 27.

(40) 號 X (t ) 可表示成:. X (t ) = ∑ i =1 imf i (t ) n. + rn (t ). (4.21). 在實際的運作中,理論上要讓 hij (t ) 完全符合本質模態函式的條件才能算分 離出一個本質模態函式,條件一極值數目只能跟過 0 點數目相等或差 1 很容易達 成,但條件二其均値為 0 的條件實際上很難達到,必須經過很多次的轉換後才能 達成,造成運算時間過長,因此針對條件二設立一個新的規則[20],先定義一變 數如下. ∑ =. T. SDik. t =0. hi ( k −1) (t ) − hi ( k ) (t ). 2. (4.22). ∑t =0 hi2( k −1) (t ) T. 其中分子部分即為 mi (k ) 的平方和,若 SDik 等於 0 則代表均値包絡線為 0,符合本 質模態函式的第二個條件,但爲了節省運算時間,若 SDik 値低於預先給定的値, 一般訂為 0.2 到 0.3 之間[20],即視達到條件二而獲得一個本質模態函式。. 4.5 經驗模態分解法與語音辨識 當初經驗模態分解法被提出後,大多被應用於地球科學上的信號分析,黃鍔 院士將其用在分析每天時間長度不同所代表的意義,分離出來不同的本質模態函 式,可找到其對應的物理意義,如半月潮週期、地球自轉週期等[20],漸漸的也 被應用時材料結構強度分析,金融股票分析等等,最近才開始有語音信號加強等 相關研究[24-27],其理想的目的為假定經驗模態分解法可分離出以雜訊為主的本 質模態函式,藉由扣除該函數而還原到乾淨的語音,達到語音增強的目標,其中 28.

(41) [25]為在雜訊環境下利用 HHT 來改善語音偵測,而另三篇著重於找出雜訊和先 後分離出來之 IMF 的關係並以實際觀察結果將含雜訊比例較高的 IMF 去除後重 組以改進 SNR 值為目標,而本論文以語音辨識率為改進目標並輔以基因演算法 找出組合權重 wi 。式(4.23)中, X en (t)為經 EMD 處理後按照組合權重 wi 重組後的 語音信號。. X en (t ) = ∑i =1 wi ⋅ imf i (t ) n. (4.23). 圖 4.2 為中文音 ”4” 的原始聲音波形及依序所分解出來的前 6 個本質模態 函式,經研究,較早分離出的本質模態函式,其訊號的頻率較高,越後面頻率越 低,由圖 4.3 可看出原來中文音 ”4” 的原始聲音加上 15db 的白噪音後的分解情 形,IMF1 的成分大部分為白噪音成分,IMF2 和 IMF3 的波形和圖 4.2 之 IMF2 和 IMF3 相當類似。. 29.

(42) 圖 4.2 乾淨語音所分解出的 IMF. 30.

(43) 圖 4.3 15db 語音所分解出的 IMF. 乾淨的語音信號經過分解後,其語音大多集中在前面的本質模態函式,後段 的本質模態函式所含之低頻信號可能為說話者特性,若語音含有高頻雜訊,則第 一個本質模態函式將含有較多的雜訊成分,而語音成分比例將會減少,此特性也 可看出經驗模態分解法可針對不同的語音信號而改變分離出的本質模態函式之 內容,本論文希望能找出最佳本質模態函式重組的權重,以期能提升語音辨識系 統抗噪音的效果,圖 4.4 為加入 EMD 分解的語音辨識處理流程。 31.

(44) 圖 4.4. 加入 EMD 分解的語音辨識流程. 32.

(45) 第五章 基因演算法 本論文以找出最佳本質模態函式組合權重來提高語音辨識系統抗噪音之能 力為主要目標,找出權重變成一個最佳化的問題,而最佳化問題的演算法很多, 常見的有最陡梯度法、螞蟻演算法、退火演算法、基因演算法[29]等,各演算法 皆有其優缺點,例如最陡梯度法收歛快速,但有掉入區域最佳化的問題,而基因 演算法收斂較慢,但可避開區域最佳化,找到全域最佳解的機率較高。 基因演算法源於由達爾文所提出的「物競天擇,適者生存」的生物進化法則, 經過生存競爭後,存活下來的物種代表適合於該環境生存,得以繁衍下一代,其 下一代繼承父母混合之基因,理論上其基因組合成更優良的物種的機率比成為較 差的機率高,若萬一變差也無妨,其將無法在生存競爭中存活下來而被淘汰,若 變成更優良的物種,則可通過生存競爭存活下來繼續繁衍下一代,如此反覆篩選 組合基因,物種適應環境的能力將會越來越強,另外還有突變的機制,有機會跳 出有限的基因組合,創造出更有利的物種。 基因演算法雖然收斂速度較慢,但不同於一般最佳化演算法大都以隨機一個 初始點,照著該演算法特有數學式子去疊代來找出解,並可能因初始點不佳而只 找到區域最佳解,基因演算法可同時產生多種初始值,以平行搜尋的方式來找出 最佳解,落入區域最佳化的機率相對較低,在程式設計上也較適合用於平行運 算,以彌補其收斂速度較慢的缺點,而其突變的機制,將確保其必定能找到最佳 解,只是時間上無法確定需運算多久,以及無法確定是否為最佳解,一般以定立 一個演化次數或可接受的解來當停止條件。 基因演算法運用範圍廣泛,凡事只要能將需解決的問題轉成找出最佳解問 題,則都可以套用基因演算法來求解,不過針對不同的問題,基因演算法形式上 也有些不同,例如染色體編碼方式不同、交配方式不同、突變機率不同等等,可 說是千變萬化沒有ㄧ定的準則,不過其原理皆相同,利用機率的原理來找出最佳. 33.

(46) 解。. 5.1 決定變數和計價函式 在基因演算法中,每個物種稱為一個染色體(chromosome),而一個染色體裡 有多個基因(gene),基因數目由問題的參數個數決定,以本論文所探討的本質模 態函式有五個,則我們決定其基因個數就是五個,而染色體數目可自行設定,一 但選定後就固定不變,若每代染色體數目很高,則同ㄧ時間內其演化的代數會比 較少,但其搜尋的方向較多元,較易找到最佳解,相反的若染色體數目低,則同 時間內演化的代數會較多,不過其搜尋的範圍較小,比較容易陷入區域最佳解, 上述的特性是以機率來推斷,機率較低不代表不會發生,機率較高不代表ㄧ定發 生,故基因演算法的收斂速度和初始的染色體有關的,只不過它能保證最後可找 到近似於或全域最佳解。 基因演算法的計價函式(cost function),為決定染色體去留的因素,計價顧名 思義就是計算代價,我們希望代價越低越好,另一種相反的函式稱適應函式. (fitness function),代表著染色體適應的情況,越高代表越適應環境,我們希望它 越高越好,不管是計價函式還是適應函式,皆為一種決定染色體去留的因素,兩 者間的變換也相當容易,計價函式乘上 − 1 則可轉換為適應函式,同理適應函式 乘上 − 1 則轉變成計價函式,本論文採用計價函式。 計價函式可以是一個數學函式,也可以是一個實驗或一個實際的運作,一般 來說,若一個問題找出一組解後,代入該解以計算出實際結果若花費很高的時 間,則基因演算法的速度將被嚴重拖累,比如說規劃公車路線,找出最短路徑最 多乘客的路線,當基因演算法產生一個路線後,路徑長度可由電腦算出但乘客數 需請公車實際跑ㄧ遍才可知道數目多寡,此問題對基因演算法來說相當窒礙難 行,須想辦法將實際的環境在電腦上模擬出來才能有效的執行。本論文的計價函 式相當明確,即語音辨識之辨識率乘上 − 1 來代表。. 34.

(47) 5.2 實數型和離散型參數 在問題的參數上,基因演算法有兩種常見的處理方法,一種是直接將實數值 當作基因組成染色體(如圖 5.1),此方法稱為實數型基因演算法,另一種則是將 參數轉換成二進位數値,再將所有參數組成染色體(如圖 5.2),其精確度視基因 的位元數而定,位元數越高精確度越高但搜尋的範圍較大,收斂較慢,較接近最 佳解;位元數越低,則精確度低,搜尋的範圍較小,收斂較快,不過因精確度低, 可能無法表示最佳解,此方法稱為離散型基因演算法。兩者的比較中實數型的基 因演算法需要搜尋整個實數空間,其搜尋的範圍可說是趨近無限大,相較於離散 型的基因演算法,其染色體位元數是固定的,也就是說搜尋範圍有限,其染色體 位元組合數是 2 的位元數次方,意味著只要找過所有位元組合即可得到其中的最 佳解。. 圖 5.1 實數型染色體. 圖 5.2 離散型染色體. 35.

(48) 離散型基因演算法對於問題的參數需做編解碼的動作,初始的參數要經過編 碼的動作後才可進行交配突變等動作,而代入計價函式前須將以二進位表示的參 數轉成實數才可代入求値,編解碼的方法可因問題而有所不同,以格雷碼(Gray. code)[29]所編的參數,其交配或突變後變化程度比較低,不會跳離太遠,在某些 問題上會收斂比較迅速,而一般常用的編碼方式類似類比轉數位的方法,假設參 數值為 0 到 1,以 3 位元來編的話,可將 0 到 1 切割成 8 等份如圖 5.3,. 圖 5.3 3bits 編碼情形 若參數值為 0.4,落於 0.375 到 0.5 之間,則其編碼後的二進位值為 011,下面為 一個比較系統化的編解碼方法:. Pnorm =. pn − plo phi − plo. (5.1). 式(5.1)中, pn 為要編碼的參數, phi 為參數可能的最大值, plo 為參數可能的最小 值,則 pnorm 為將 pn 正規化後的數值,其值介於 0 到 1 之間, 編碼:. m −1 ⎧ ⎫ gene[m] = round ⎨ pnorm − 2− m − ∑ gene[ p ]2− p ⎬ p =1 ⎩ ⎭. 36. (5.2).

(49) 式(5.2)中, gene[] 為編碼後的二進位值, round { } 為計算最接近括號內的整數值 解碼:. pquant =. N gene. ∑ gene[m]2. −p. + 2− ( M +1). (5.3). m =1. qn = pquant ( phi − plo ) + plo. (5.4). 式(5.3)中, pquant 將二進位的 gene[] 參數轉成正規化的值,其值因為誤差的關係可 能會與原來正歸化的值 pnorm 有些不同,而透過式(5.4)可將二進位之參數轉成實數. qn ,當然轉換出來的 qn 與原來的 pn 可能會有些誤差。本論文爲求得較佳的辨識 率,採用實數型基因演算法。. 5.3 天擇 在自然界中,生物面臨環境的種種挑戰,例如在沙漠中,闊葉植物無法在水 份稀少的環境中生活,而被環境淘汰,在草原中,獅子會專挑體弱多病的動物為 主要目標,無法在環境中生存下來之物種代表其基因是較差的,無法有機會將其 基因遺傳給下ㄧ代。在基因演算法中,天擇(Natural Selection)就是模擬自然界的 淘汰機置,將表現較差的物種直接移除,使其沒有機會參與交配產生下一代。 自然界中,淘汰的條件是存活與否,若無法存活就算是淘汰,在基因演算法 裡,淘汰的條件可以由我們自定,一般是以存活率多少來決定。假設每代染色體 有 16 個,設定存活率為 0.5,則每代存活的染色體數目為 16 的二分之一,為 8 個染色體,淘汰的方法是將 16 個染色體的代價求出並排序,直接剔除後半段的 染色體,保留前半段的染色體,由於需保持每代染色體數目一致,剔除後的染色 體空出的空間由保留的染色體交配產生,直到將染色體補足為每代染色體數目。. 37.

(50) 另一個決定淘汰的方法是設定門檻值(Threshold),只要代價高於門檻值的染色體 即算淘汰,但門檻值如何定義較佳沒有ㄧ定的標準,本論文採用存活率的條件來 實做基因演算法。. 5.4 選擇 從淘汰後存活下來的染色體集合我們稱為交配池,在交配池中挑選染色體對 交配來產生下ㄧ代,此挑選的動作稱為選擇(Selection)。如同自然界一般,生 物不僅須受環境的考驗,也必須面臨同類的競爭,此一過程也是一個篩選的程 序,物種會找基因優良的另一半來交配產生下ㄧ代,而爲了爭取優良的另一半, 同類間的爭奪競爭也司空見慣,最終使優良的基因更有機會獲得交配的機會,在 基因演算法中,選擇的方式有很多種,常見的有由上而下配對、隨機配對、輪盤 法、競爭法等等。 由上而下配對是將存活的染色體依照代價由低到高排序,將奇數項染色體當 作母親,偶數項染色體當作父親,然後依序配對,如 0 配 1、2 配 3、…n-1 配 n, 此方法並沒有將同類競爭模擬出來,不過是個簡單的方法容易實作出來,另ㄧ個 簡單的方法是隨機配對,每次交配的父親和母親都是由交配池中隨機挑選出來, 但也沒有模擬同類競爭的效果,並需注意避免挑選到ㄧ樣的染色體。 競爭法和輪盤法為加入模擬同類競爭的選擇方法,競爭法是隨機挑選三個染 色體,比較適應函式計算結果後取出最佳的染色體成為一個父代,每挑選一個父 代就要做一次競爭法,而輪盤法為以交配池裡各染色體之代價給予被選擇的機 率,代價越低者,被選擇到的機率越高,所有染色體被選擇的機率和為 1,其詳 細做法如下:. 1. 將交配池所有染色體之代價( cn )減去被淘汰染色體中最低之代價(c Nkeep +1 ),由 於交配池染色體之代價皆比被淘汰者之代價低,所減出的結果( Cn )將為負值。. Cn = cn − cNkeep+1. (5.5) 38.

(51) 2. 由式(5.6)計算出各個交配池中染色體被選擇之機率 pn 。 pn =. C. ∑. n Nkeep m =1. (5.6) Cm. 其中選擇之機率 pn 每代皆需重新計算一次,本論文經實驗後採用較簡單的隨機 配對當作選擇的方法。. 5.5 交配 由交配池挑選出一對交配之染色體後,我們將由該對染色體交配產生新的 子代以彌補天擇所淘汰的染色體,每交配ㄧ次後將由交配池重新選擇新的交配對 來交配,直到填滿被淘汰染色體所空出的來空間。交配之方式也很多種,大致上 可跟據染色體型式分為實數型和離散型,接下來分別為實數型交配和離散型交配 方式稍做介紹。 最常見的離散型交配為單點交配,隨機選擇出染色體要交配的分界點,將兩 染色體該分界點後的二進位值互相交換,如此將產生兩個新的相同長度染色體, 分界點的選擇應避免選到染色體的第一個位元,以免造成無效的交配,變成複製 染色體。. 圖 5.4 單點交配 39.

(52) 實數型的交配方法比離散型的稍微複雜一點,其作法是隨機產生一個大於 0 且小於 1 的亂數 α ,將選出來的ㄧ對染色體中每個實數參數,一個乘上 α ,另ㄧ 個染色體參數乘上 1 − α ,然後再相加,產生一個新的染色體,與離散型單點交 配不同的是此方法一次只產生一個子代。本論文由於採用實數型參數,故交配法 採用實數型的交配方法。. 5.6 突變 相較於傳統的最佳化演算法,基因演算法的最大優勢為可突破陷入區域最佳 化的問題,待交配動作完成後,加入了突變的機制,使得即使初始的參數不佳, 最終也能找到逼近於全域的最佳解,這也是自然界中演化的ㄧ個方法,每ㄧ次突 變可能代表ㄧ個新物種的誕生,雖然突變不一定會變得更好,但由於演算法的淘 汰機制終將會更正錯誤的突變,使得參數朝向最佳解演化。 離散型和實數型基因演算法在突變上有點不太ㄧ樣,離散型針對的是每個位 元的突變,假設某染色體中某位元被隨機選定要突變,則只是將該染色體作 0 與 1 的變換,而實數型的參數突變的對象是參數,假設某染色體中某參數被隨機 選定要突變,則隨機產生一個參數範圍內的實數值取代原來的參數。 突變的動作上有個限制,為了保留最佳的染色體,一般不會對最佳的染色體 做突變,以免破壞原來最優良的染色體,而突變率的選擇對演算法收斂的速度有 ㄧ定的影響,高突變率可能會破壞優良染色體交配的效果,原因是將良好基因變 差的機會變高了,而低的突變率較可突顯染色體交配進化的效果,不過當染色體 收斂到某程度不再進化後,高突變率有助於跳出區域最佳化。由於上述原因,若 希望改善基因演算法找到最佳解的時間,變動突變率的方法是可以考慮的,其作 法是一開始使用較小的突變率,若出現持續演化 N 代而無法產生更佳的解時, 再增加突變率,增加的速度可採線性增加,其中 N 代和突變率也沒有ㄧ定的値, 視問題需求而決定。. 40.

(53) 第六章 實驗環境與結果 本論文著重於整合經驗模態分解法與語音辨識系統,實現可濾除語音雜訊並 且做出辨識的系統,各本質模態函式之權值 wi 由基因演算法計算得到,最終將 本系統實作於嵌入式系統上。本章將依序對整個硬體環境、軟體環境、整體參數 設定等一些實驗細節做說明,並針對整數 FFT 以及浮點數 FFT 對辨識率之比較、 乾淨及含噪音下各本質模態函式之辨識率比較、基因演算法訓練效果、最終實作 於板子上之辨識率等等做詳細的實驗分析。. 6.1 實驗參數設定與硬體 在語音前置處理部分,個人電腦上採用 8kHz、16bits、單聲道的 wav 錄音 格式,音框長度 256 點,使用整數快速傅立葉轉換,取十維的梅爾倒頻譜特徵參 數。在隱藏式馬可夫模型方面,採用離散的隱藏式馬可夫模型,觀察結果數為. 64 個,隱藏的狀態數 7 個,狀態跳躍可跳至本身、下一個、下兩個狀態,每個 模型皆從狀態 0 開始。 在基因演算法方面,每代染色體數 16,每個染色體有 5 個實數基因,分別 對應至 IMF1 到 IMF5 重組的權重 wi,在染色體存活率為 0.5 和突變率為 0.05 下, 測試了隨機配對、輪盤法、競爭法這三種選擇方法,針對的目標噪音為 20db 的 語音做訓練,演化代數 1000 代,其訓練結果如表 6-1,收斂過程如圖 6.1。. 表 6-1 不同選擇法之演化結果 選擇方法. 隨機選擇. 輪盤法. 競爭法. 20db 辨識率. 0.96. 0.944. 0.942. 41.

(54) 圖 6.1 不同選擇法的收斂過程. 表 6-1 中以隨機選擇的效果最佳,因此我們採用了隨機配對法,其後在其它設定 不變下針對不同的突變率(0.04、0.05、0.06、0.07、0.1)做測試,其結果如表 6-2, 收斂過程如圖 6.2。. 表 6-2 不同突變率之演化結果 突變率. 0.04. 0.05. 0.06. 0.07. 0.1. 20db 辨識率. 0.956. 0.96. 0.946. 0.942. 0.95. 42.

(55) 圖 6.2 不同突變率的收斂過程. 在表 6-2 中,最高和最低辨識率相差 0.018,差距並不大,不過突變率還是決定 採用辨識率較佳的 0.04 和 0.05 來演化,取兩者中較佳的作為實驗結果。另外由 於懷疑上面之演化結果可能僅是區域最佳解,並非全域解,將染色體個數由 16 個變成 64 個,為原來的四倍大,增加其搜尋的廣度,而演化代數減為原來的四 分之一,使新的設定和原來的設定所搜尋的染色體數相等。兩者相比較,染色體. 64 個演化 250 代其搜尋的廣度較大但深度較淺,染色體 16 個演化 1000 代其搜 尋的廣度較窄但深度較深,經實驗染色體 64 個演化 250 代其演化結果辨識率為. 0.942,並沒有比原來 16 個染色體演化 1000 代的 0.96 佳,因此在同演化時間下 每代染色體數量採用 16 個。另外基因演算法可以不斷的演化來搜尋最佳解,但 實際上我們不可能讓它無限期的演化下去,由於本實驗計算量相當龐大,16 個 染色體數量演化 1000 代需要 3 天到 4 天才能完成,採用 1000 代和 16 個染色體 數量的設定在時間上較能接受,其演化結果也達到不錯的效果。 語音資料方面,在電腦上,採用電腦單人錄音,目標聲音為 0 到 9 共 10 個 中文音節,每個音錄 100 次,50 次當訓練,另 50 次當測試用,板子上則使用廠 43.

(56) 商提供的軟體從板子錄音傳輸到個人電腦,在板子訓練好參數後再將參數下載到 板子上,辨識測試則在板子上直接辨識和統計辨識率。 在嵌入式硬體部分,採用友晶科技 DE2-70 開發板,此硬體以 Altera CycloneII. FPGA 為核心連接許多基本 IO 介面包括聲音輸出輸入、JTAG、7 段顯示器、指 撥開關、按鈕等等,另外還連接一片小型 LCD 面板。本論文採用 SOPC 系統整 合方法,將系統所需硬體如 CPU、記憶體控制器、硬體控制電路,皆將它們下 載到 FPGA 上,這些電路廠商皆有提供現成 IP 供呼叫整合,當硬體建立完成後, 透過 Altera 公司所提供的 Nios II EDS 開發軟體,可針對使用者建構之硬體,將 使用者欲執行之程式碼編譯成硬體可接受之機械碼,並將該碼轉成 ELF 檔供下 載到板子記憶體上執行。由於版權關係,目前使用的開發軟體版本為免費版,僅 提供將程式碼下載到記憶體上,無法下載到板子 flash ram 上,不過其它資料如. HMM 的參數等等是可下載到 flash ram,此問題造成當板子開機後要執行程式時 ㄧ定要透過電腦將程式碼下載到記憶體上,雖有些不便但不影響實驗的進行。. 6.2 實驗方法 噪音測試方面,採用白噪音當作背景噪音,噪音大小以訊噪比表示. (Signal-to-Noise Ratio, SNR)[4],其計算公式如下,. SNR = 10 ⋅ log10. ∑ ( ∑. N t =1 N. x 2 (t ). n 2 (t ) t =1. (6.1). ). 其中, x(t ) 為聲音訊號, n(t ) 為噪音訊號,N 為資料長度,SNR 越高代表著聲音 品質越佳。爲了實驗需要,我們指定一個變數 a 用以調整噪音大小,. n(t ) = a ⋅ nor (t ). 1≤ t ≤ N. (6.2). 44.

(57) 其中 nor (t ) 為原始未調整的噪音,將式(6.2)帶入式(6.1)得到. ∑ x (t ) ) ( ∑ a n (t ) N. SNR = 10 ⋅ log10. 2. t =1. N. t =1. (6.3). 2. 2. or. 在調整噪音的動作中,式(6.3)中唯一需要變動的變數為 a, SNR 為我們想要調整 的値,移項整理後我們可以獲得達到目標 SNR 所需的 a 值,. ∑. a=. N. t =1. 10. SNR 10. x 2 (t ). (6.4). ⋅ ∑t =1 nor (t ) N. 2. 由式(6.4)得到參數 a 後即可根據 a 將適當大小的噪音加入原始聲音訊號. x noise (t ) = x(t ) + a ⋅ nor (t ). (6.5). 圖 6.3 為語音”4”加入白噪音後的語音波形,本論文將噪音量分成乾淨語音、. 25db、20db、15db、10db、5db、0db,7 個噪音層級來測試經 EMD 分解後再依 權重 wi 重組回來之語音辨識率,訓練的語音為乾淨的語音經分解重組後的語 音,若是用乾淨未分解的語音當作訓練資料,則因測試音為分解重組後的聲音, 其特徵值量化的結果將會和原始語音特徵値量化結果有些差異,甚至整個碼簿分 布都改變,此差異對辨識率是不利的,故訓練和測試其聲音分解重組的權重是統 一的。在基因演算法方面,假設以 15db 為測試的目標語音,首先乾淨語音按照 權重分解重組後用來訓練 HMM 的參數,當訓練完成,再以含 15db 噪音的語音 當作測試資料,測得的整體平均辨識率乘上 − 1 即為代價,設定演化完 1000 代後 45.

(58) 停止。. 圖 6.3. 不同 db 值的語音波形 46.

(59) 6.3 實驗結果 首先對整數 FFT 和浮點數 FFT 做辨識率上的比較,以確定其對辨識率影響 的情況。. 表 6-3. 浮點數 FFT 於 PC 上之辨識率. 辨識正. 辨識失. 確(次). 敗(次). 辨識率. 率. 語音0. 98. 2. 0.98. 語音1. 96. 4. 0.96. 語音2. 99. 1. 0.99. 語音3. 100. 0. 1. 語音4. 100. 0. 1. 語音5. 100. 0. 1. 語音6. 94. 6. 0.94. 語音7. 85. 15. 0.85. 語音8. 100. 0. 1. 語音9. 100. 0. 1. 表 6-4. 總辨識. 0.972. 整數 FFT 於 PC 上之辨識率. 辨識正. 辨識失. 確(次). 敗(次). 辨識率. 總辨識 率. 語音0. 98. 2. 0.98. 語音1. 92. 8. 0.92. 語音2. 97. 3. 0.97. 語音3. 99. 1. 0.98. 語音4. 89. 11. 0.89. 語音5. 100. 0. 1. 語音6. 100. 0. 1. 語音7. 79. 21. 0.79. 語音8. 100. 0. 1. 語音9. 100. 0. 1. 0.954. 由表 6-3 和表 6-4 比較,浮點數 FFT 其辨識率高於整數 FFT 為可以理解的情況, 47.

(60) 不過整數 FFT 辨識率僅小幅下滑 1.8%屬於可接受的範圍內。接著對整數 FFT 於 嵌入式系統上運算時間的比較,. 表 6-5. 開發板上語音辨識各階段運算時間表 平均時間(秒) 浮點數 FFT. 整數 FFT. 端點偵測. 0.047. 經驗模態分解. 3.5272. 高頻強波. 0.049. 漢明窗. 0.013. FFT. 2.756. 0.314. 特徵値擷取. 0.15. 辨識. 0.747. 總和. 7.2892. 4.8472. 由表 6-5 可看出整數 FFT 確實可大幅增加傳統 FFT 的運算速度,不過 EMD 確是 相當的慢。在確定整數 FFT 可運作無誤後,將對 EMD 應用於語音辨識上做初步 的實驗,以探討各個本質模態函式用於語音辨識的效果。 表 6-6 中,紅色字體代表該 SNR 下最高之辨識率,整體來看無分解所訓練 出來的模型其辨識率較高,而單一 IMF 下訓練出來的模型其辨識率隨著分解出 的順序而遞減,印證了語音資料集中在較早分解出的 IMF 上,而後段的 IMF 跟 語音特徵可能沒什麼關係,在此我們假設語音集中在第 2 個和第 3 個 IMF 而第 1 個 IMF 為雜訊,分別做了 IMF2+IMF3 和 IMF2+IMF3+IMF4+IMF5 兩種組合, 似乎印證了第一個 IMF 含較多雜訊的傳統觀念,在 SNR 為 10db 以下時辨識率 開始高於無分解訓練出來的語音模型,不過在乾淨語音部分,未分解所訓練出來 的語音模型其辨識率遠高於以個別 IMF 所訓練出來的語音模型,而另外包含. IMF1 的組合在乾淨語音部分的表現較接近原始未分解的效果,這表示在乾淨語 音下 IMF1 包含不少的語音成分,接著我們嘗試以基因演算法找出 IMF 組合權重. wi ,驗證是否有效提高含雜訊語音的辨識率,圖 6-4 和圖 6-5 為 GA 針對各 SNR 48.

(61) 值所做的最佳化收斂情形,可看出經基因演化後,各 SNR 之語音辨識率皆有提 升。. 表 6-6. 各本質模態函式之辨識率. clear. 25db. 20db. 15db. 10db. 5db. 0db. 無分解. 0.966. 0.948. 0.836. 0.586. 0.326. 0.148. 0.102. IMF1. 0.88. 0.816. 0.684. 0.512. 0.326. 0.186. 0.128. IMF2. 0.746. 0.678. 0.614. 0.56. 0.396. 0.322. 0.19. IMF3. 0.404. 0.372. 0.32. 0.282. 0.246. 0.21. 0.146. IMF4. 0.208. 0.208. 0.198. 0.23. 0.224. 0.136. 0.108. IMF5. 0.09. 0.088. 0.088. 0.098. 0.098. 0.098. 0.1. IMF1+2. 0.952. 0.922. 0.818. 0.562. 0.394. 0.146. 0.1. IMF1+2+3. 0.966. 0.942. 0.846. 0.62. 0.354. 0.168. 0.106. IMF2+3. 0.698. 0.712. 0.612. 0.556. 0.39. 0.378. 0.256. IMF2+..+5. 0.712. 0.698. 0.586. 0.552. 0.388. 0.326. 0.24. 圖 6.4 針對 SNR 20db 到 clear 最佳化之基因演算法收斂圖 49.

(62) 圖 6.5 針對 SNR 0db 到 15db 最佳化之基因演算法收斂圖. 表 6-7 為各 SNR 值經基因演算法最佳化後之辨識率與表 6-6 各 SNR 最佳辨識率 所做的比較,平均辨識率提升約一成三,較沒分解的提升約兩成。. 表 6-7. 最佳辨識率比較. clear. 25db. 20db. 15db. 10db. 5db. 0db. 平均. 無分解. 0.966. 0.948. 0.836. 0.586. 0.326. 0.148. 0.102. 0.558. 表 6-6 最佳. 0.966. 0.948. 0.846. 0.586. 0.396. 0.378. 0.256. 0.625. 透過 GA 訓練後. 0.988. 0.988. 0.96. 0.82. 0.664. 0.496. 0.368. 0.754. 表 6-8 為針對各 SNR 的情況下基因演算法搜尋出來的權重結果,大概可看出 SNR 越高則越早分離出來之 IMF 其權重較高,當 SNR 變小時,較晚分離出來的 IMF 其權重有變大趨勢。. 50.

參考文獻

相關文件

• In Shutter-speed priority mode, photographers sets the shutter speed and the camera deduces the aperture. • In Program mode, the camera

• In Shutter-speed priority mode, photographers sets the shutter speed and the camera deduces the aperture. • In Program mode, the camera decides both exposure and shutter

• In Shutter-speed priority mode, photographers sets the shutter speed and the camera deduces the aperture. • In Program mode, the camera decides both exposure and shutter

• In Shutter-speed priority mode, photographers sets the shutter speed and the camera deduces the aperture. • In Program mode, the camera decides both exposure and shutter

So, we develop a tool of collaborative learning in this research, utilize the structure of server / client, and combine the functions of text and voice communication via

Failure Mode and Effects Analysis (Failure Modes and Effects Analysis, FMEA) is used to analyze the product / system, the potential failure modes, identify potential trouble spots

本章將對 WDPA 演算法進行實驗與結果分析,藉由改變實驗的支持度或資料 量來驗證我們所提出演算法的效率。實驗資料是以 IBM synthetic data generator

Rivers dredge and gravel extraction through result of study, level divide into for being public construction mode, open bidding mode, joint management mode, and permission mode