基于16位單片機的語(yǔ)音電子門(mén)鎖系統 作者: 時(shí)間:2007-03-09 來(lái)源:網(wǎng)絡(luò ) 加入技術(shù)交流群 掃碼加入和技術(shù)大咖面對面交流海量資料庫查詢(xún) 收藏 摘要:介紹采用聲紋識別技術(shù)、在凌陽(yáng)SPCE061A單片機上實(shí)現的一種語(yǔ)音電子門(mén)鎖身份認證系統。實(shí)驗結果表明,系統性能穩定,識別效果好,可以推廣使用。關(guān)鍵詞:聲紋識別 基于周期 線(xiàn)性預測 模式匹配 DTW 生物識別技術(shù)是利用人體生物特征進(jìn)行身份認證的一種技術(shù),是目前公認的最為方便與安全的識別技術(shù)。由于每個(gè)人的生物特征具有與其他人不同的唯一和在一定時(shí)期內不變的穩定性,不易偽造和假冒,所以利用牲識別和技術(shù)進(jìn)行身份認證,安全、準確、可靠。 在生物識別領(lǐng)域中,聲紋識別,也稱(chēng)為說(shuō)話(huà)人識別,以其獨特的方便性、經(jīng)濟性和準確性等優(yōu)勢受到世人矚目,并且益成為人們日常生活和工作中重要且普遍的安全認證方式。聲紋識別是一種根據說(shuō)話(huà)人語(yǔ)音波形中反映說(shuō)話(huà)人生理和行為特征的語(yǔ)音參數,自動(dòng)識別說(shuō)明人身份的技術(shù)。 聲紋識技術(shù)可分為兩類(lèi),即說(shuō)話(huà)人辨認和說(shuō)話(huà)人確認。前者用以判斷某段語(yǔ)音是若干人中的哪一個(gè)所說(shuō)的,是多選一的問(wèn)題;而后者用以確認某段語(yǔ)音是若干人中的哪一個(gè)所說(shuō)的,是多選一的問(wèn)題;而后者用以確認某段語(yǔ)音是否是指定的某個(gè)人所說(shuō)的,是一對一判別的問(wèn)題。從另一方面,聲紋識別又有與文本有關(guān)和與文本無(wú)關(guān)兩種,根據特定的任務(wù)和應用,應用范圍不同。與文本有關(guān)的聲紋識別系統要求用戶(hù)按照規定的內容發(fā)音,每個(gè)人的聲紋模型逐個(gè)被精確地建立,而識別時(shí)也必須按規定的內容發(fā)音,因此可以達到較好的識別效果;而與文本無(wú)關(guān)的識別系統則不規定說(shuō)話(huà)人的發(fā)音內容,模型建立相對困難,但用戶(hù)使用方便,應用范圍較寬。 本文介紹的語(yǔ)音電子門(mén)鎖是一種在凌陽(yáng)16位單片機SPCE061A上實(shí)現的與文本有關(guān)的說(shuō)話(huà)人確認系統。該系統主要由說(shuō)話(huà)人識別模塊、門(mén)鎖控制電機以及門(mén)鎖等部分組成。在訓練時(shí),說(shuō)話(huà)人的聲音通過(guò)麥克風(fēng)進(jìn)入說(shuō)話(huà)人語(yǔ)音信號采集前端電路,由語(yǔ)音信號處理電路對采集的語(yǔ)音信號進(jìn)行特征化和語(yǔ)音處理,提取說(shuō)話(huà)人的個(gè)性特征參數并進(jìn)行存儲,形成說(shuō)話(huà)人特征參數數據庫。在識別時(shí),將待識別語(yǔ)音與說(shuō)話(huà)人特征參數數據庫進(jìn)行匹配,通過(guò)輸出電路控制門(mén)鎖電機,最終實(shí)現對門(mén)鎖的控制。1 算法原理 說(shuō)話(huà)人識別算法原理框圖如圖1所示。 1.1 預處理 (1)去噪 對麥克風(fēng)輸入的模擬語(yǔ)音信號進(jìn)行量化和采樣,獲得數字化的語(yǔ)音信號;再將含噪的語(yǔ)音信號通過(guò)去噪處理,得到干凈的語(yǔ)音信號后并通過(guò)預加重技術(shù)濾除低頻干擾,尤其是50Hz或60Hz的工頻干擾,提升語(yǔ)音信號的高頻部分,而且它還可以起到消除直流漂移、抑制隨機噪聲和提升清音部分能量的作用。 (2)端點(diǎn)檢測 本系統采用語(yǔ)音信號的短時(shí)能量和短時(shí)過(guò)零率進(jìn)行端點(diǎn)檢測。語(yǔ)音信號的采樣頻率為8kHz,每幀數據為20ms,共計160個(gè)采樣點(diǎn)。每隔20ms計算一次短時(shí)能量和短時(shí)過(guò)零率。通過(guò)對語(yǔ)音信號的短時(shí)能量和短時(shí)過(guò)零率檢測可以剔除掉靜默幀、白噪聲幀和清音幀,最后保留對求取基音、LPCC等特征參數非常有用的濁音信號。 1.2 特征提取 在語(yǔ)音信號預處理后,接著(zhù)是特征參數的提取。特征提取的任務(wù)就是提取語(yǔ)音信號中表征人的基本特征。 1.2.1 特征參數的選取 選取的特征必須能夠有效地區分不同的說(shuō)話(huà)人,且對同一說(shuō)話(huà)人的變化保持相對穩定,同時(shí)要求特征參數計算簡(jiǎn)便,最好有高效快速算法,以保證識別的實(shí)時(shí)性。 說(shuō)話(huà)人特征大體可歸為下述幾類(lèi): (1)基于發(fā)聲器官如聲門(mén)、聲道和鼻腔的生理結構而提取的參數。如譜包絡(luò )、基音、共振峰等。其中基音能夠很好地刻畫(huà)說(shuō)話(huà)人的聲帶特征,在很大程度上反映了人的個(gè)性特征。 (2)基于聲道特征模型,通過(guò)線(xiàn)性預測分析得到的參數。包括線(xiàn)性預測系數(LPC)以及由線(xiàn)性預測導出的各種參數,如線(xiàn)性預測倒譜系數(LPCC)、部分相關(guān)系數、反射系數、對數面積比、LSP線(xiàn)譜對、線(xiàn)性預測殘差等。根據前人的工作成果和實(shí)際測試比較,LPCC參數不但能較好地反饋聲道的共振峰特性,具有較好地識別效果,而且可以用比較簡(jiǎn)單的運算和較快的速度求得。 (3)基于人耳的聽(tīng)覺(jué)機理,反映聽(tīng)覺(jué)特性,模擬人耳對聲音頻率感知的特征參數。如美國爾倒譜系數(MFCC)等。MFCC參數與基于線(xiàn)性預測的倒譜分析相比,突出的優(yōu)點(diǎn)是不依賴(lài)全極點(diǎn)語(yǔ)音產(chǎn)生模型的假定,在與廣西無(wú)關(guān)的說(shuō)話(huà)人識別系統中MFCC參數能夠比LPCC參數更好地提高系統的識別性能。 此外,人們還通過(guò)對不同特征參數量的組合來(lái)提高實(shí)際系統的性能。當各組合參量間相關(guān)性不大時(shí),會(huì )有較好的效果,因為它們分別反映了語(yǔ)音信號的不同特征。 在計算機平臺的仿真實(shí)驗中,通過(guò)各種參數的實(shí)際比較,采用MFCC參數比采用LPCC參數有更好的識別效果。但在SPCE061A平臺上做實(shí)時(shí)處理時(shí),與LPCC系統相比,MFCC系數計算有兩個(gè)缺點(diǎn):一是計算時(shí)間長(cháng);二是精度難以保證。由于MFCC系統的計算需要FFT變換和對數操作,影響了計算的動(dòng)態(tài)范圍;要保證系統識別的實(shí)時(shí)性,就只有犧牲參數精度。而LPCC參數的計算有遞推公式,速度和精度都可以保證,識別效果也滿(mǎn)足實(shí)際需要。 本系統采用了基音周期和線(xiàn)性預測倒譜系數(LPCC)共同作為說(shuō)話(huà)人識別的特征參數。 1.2.2 LPCC參數的提取 基于線(xiàn)性預測分析的倒譜參數LPCC可以通過(guò)簡(jiǎn)單的遞推公式由線(xiàn)性預測系數求得。遞推公式如下: 其中p為L(cháng)PC模型的階數,也是模型的極點(diǎn)個(gè)數。 (1)LPC模型階數p的確定 為使模型假定更好地符合語(yǔ)音產(chǎn)生模型,應該使LPC模型的階數p與共振峰個(gè)數相吻合,其次是考慮聲門(mén)脈沖形狀和口唇輻射影響的補償。通常一對極點(diǎn)對應一個(gè)共振峰,10kHz采樣的語(yǔ)音信號通常有5個(gè)共振峰,取p=10,對于8kHz采樣的語(yǔ)音信號可取p=8。此外為了彌補鼻音中存在的零點(diǎn)以及其他因素引起的偏差,通常在上述階數的基礎上再增加兩個(gè)極點(diǎn),即分別是p=12和p10。實(shí)驗表明,選擇LPC分析階數p=12,對絕大多數語(yǔ)音信號的聲道模型可以足夠近似地逼近。P值選得過(guò)大雖然可以略微改善逼近效果,但也帶來(lái)一些負作用,一方面是加大了計算量,另一方面有可能增添一些不必要的細節。 (2)線(xiàn)性預測系數的求取 自相關(guān)解法主要有杜賓(Durbin)算法、格型(Lattice)算法和舒爾(Schur)算法等幾種遞推算法。其中在杜賓算法是目前最常用的算法,而且在求取LPC系數時(shí)計算量也量小,本系統采用該遞推算法。圖21.2.3 基音參數的提取 基音估計的方法很多,主要有基于短時(shí)自相關(guān)函數和基于短時(shí)平均幅度差函數(AMDF)等基音估計方法。 (1)基于短時(shí)自相關(guān)函數的基音估計 短時(shí)自相關(guān)函數在基音周期的整數倍位置存在較大的峰值,只要找出第一最大峰值的位置就可以估計出基音周期。 (2)基于短時(shí)平均幅度差函數(AMDF)的基音估計 基于短時(shí)平均幅度差函數(AMDF)在基音周期的整數倍位置存在較大的谷值,找到第一最大谷值的位置就可以估計出基音周期。這種方法的缺點(diǎn)是當語(yǔ)音信號的幅度快速變化時(shí),AMFD函數的谷值深度會(huì )減小,從而影響基音估計的精度。 實(shí)際上第一最大峰(谷)值點(diǎn)的位置有時(shí)并不能與基音周期吻合,第一最大峰(谷)值點(diǎn)的位置與短時(shí)窗的長(cháng)度有關(guān)且會(huì )受到共振峰的干擾。一般窗長(cháng)至少應大于兩個(gè)基音周期,才可能獲得較好的估計效果。語(yǔ)音中最長(cháng)基音周期值約為20ms,本系統在估計基音周期時(shí)窗長(cháng)選擇40ms。為了減小共振峰的影響,首先對語(yǔ)音進(jìn)行頻率范圍為[60,900]Hz的帶通濾波。因為最高基音頻率為450Hz,所以將上限頻率設為900Hz可以保留語(yǔ)音的一、二次諧波,下降頻率為60Hz是為了濾除50Hz的電源干擾。 以上兩種方法都是對語(yǔ)音信號本身求相應的函數。本系統采用的基音估計方法是:首先對帶通濾波后的短時(shí)語(yǔ)音信號進(jìn)行線(xiàn)性預測,求取預測殘差;再對殘差信號求自相關(guān)函數,找出第一最大峰值點(diǎn)的位置,即得到該段語(yǔ)音的基音估計值。實(shí)驗表明,通過(guò)殘差求取的基音軌跡比直接通過(guò)語(yǔ)音求取的基音軌跡效果更好,如圖2所示。圖2中橫坐標為語(yǔ)音幀數,縱坐標為8000/f,其中f為基音頻率。1.3 模式匹配 目前針對各種特征參數提出的模式匹配方法的研究越來(lái)越深入。典型的方法有:矢量量化方法、高斯混合模型方法、隱馬爾可夫模型方法、動(dòng)態(tài)時(shí)間規整(DTW)方法和人工神經(jīng)網(wǎng)絡(luò )方法。 這些方法都有各自的優(yōu)點(diǎn)和缺點(diǎn)。其中DTW算法對于較長(cháng)語(yǔ)音的識別,模板匹配運算量太大,但對短語(yǔ)音(有效語(yǔ)音長(cháng)度低于3s)的識別既簡(jiǎn)單又有效,而且并不比其他方法識別率低,特別適用于短語(yǔ)音、與文本有關(guān)的說(shuō)話(huà)人識別系統。本系統采用端點(diǎn)松馳兩點(diǎn)的(DTW)算法,端點(diǎn)松馳引起的計算量增加并不大,還可以放松對端點(diǎn)檢測的精度要求。 動(dòng)態(tài)時(shí)間規整(DTW)算法基于動(dòng)態(tài)規劃的思想,解決了說(shuō)話(huà)人不同時(shí)期發(fā)音長(cháng)短、語(yǔ)速不一樣的匹配問(wèn)題。DTW算法用于計算兩個(gè)長(cháng)度不同的模板之間的相似程度,用失真距離表示。假設測試模板和參考模板分別用T和R表示,按時(shí)間順序含有N幀和M幀的語(yǔ)音參數(本系統為12維LPCC參數),失真距離越小,表示T、R越接近。把測試模板的各個(gè)幀號n=1~N在一個(gè)二維直角坐標系中的橫軸上標出,把參考模板的各幀號m=1~M在縱軸上標出,如圖3所示。通過(guò)這些表示幀號的整數坐標畫(huà)出縱橫線(xiàn)即形成網(wǎng)絡(luò ),網(wǎng)格中的每一個(gè)交叉點(diǎn)(n,m)表示測試模板中某一幀與參考模式中某一幀的交會(huì )點(diǎn),對應兩個(gè)向量的歐氏距離。DTW算法可以歸結為尋找一條通過(guò)此網(wǎng)格中若干交叉點(diǎn)的路徑,使得該路徑上節點(diǎn)的距離和(即失真距離)為最小。對于端點(diǎn)松弛的情況,路徑搜索原理相同,只是增加了搜索路徑。 2 硬件系統 語(yǔ)音電子門(mén)鎖系統的核心是說(shuō)話(huà)人識別模塊。包括按鍵輸入、語(yǔ)音信號采集、語(yǔ)音信號處理、FLASH存儲擴展、揚聲器輸出、控制輸出以及LCD模組等。說(shuō)話(huà)人識別模型的原理框圖如圖4所示。其核心為語(yǔ)音信號處理,本系統選用特別適用于數字語(yǔ)音識別領(lǐng)域的凌陽(yáng)16位單片機SPCE061A,并通過(guò)SPCE061A實(shí)現對其他各組成部分的編程控制。 SPCE061A是凌陽(yáng)公司開(kāi)發(fā)的一種性?xún)r(jià)比非常高的16位單片機。在2.6V~3.6V工作電壓范圍內,工作頻率范圍為0.32MHz~49.152Mhz,較高的處理速度使其能夠非常容易、快速地處理復雜的數字信號;中斷系統支持10個(gè)中斷向量以及14個(gè)可來(lái)自系統時(shí)鐘、定時(shí)器/計數器、時(shí)間基準發(fā)生器、外部中斷、鍵喚醒、通用異步串行通信及軟件中斷的中斷源,非常適合實(shí)時(shí)應用領(lǐng)域;內嵌2K字的SRAM和32K字的FLASH,具有32位可編程的多功能I/O端口;包含有7通道10位通用A/D轉換器和內置麥克風(fēng)放大器與自動(dòng)增益控制AGC功能的單通道聲音A/D轉換器,以及具有音頻輸出功能的雙通道10位D/A轉換器;SPCE061A采用CMOS制造工藝,同時(shí)增加了軟件激發(fā)的弱振方式、空閑方式和掉電方式,系統處于備用狀態(tài)下(時(shí)鐘處于停止狀態(tài)),耗電僅為2μA3.6V,極大地降低了其功耗;另外,μ’nSPTM的指令系統還提供具有較高運算速度的16位%26;#215;16位的乘法運算指令和內積運算指令,為其應用增添了DSP功能,在復雜的數字信號處理方面既非常便利,又比專(zhuān)用的DSP芯片便宜得多. 說(shuō)話(huà)人識別模塊各組成部分完成的功能如下: (1)按鍵輸入部分:共有數字鍵、訓練鍵、刪除鍵、確認鍵和取消鍵等16個(gè)按鍵,用于密碼輸入和工作模式選擇。采用4%26;#215;4矩陣式鍵盤(pán)輸入,只使用具有鍵喚醒功能IOA的低8位,可以合理利用硬件資源,且編程靈活。 (2)語(yǔ)音信號采集部分:通過(guò)SPCE061A內置麥克風(fēng)放大器與自動(dòng)增益控制AGC功能的單通道聲音A/D轉換器完成8kHz語(yǔ)音信號采集。 (3)FLASH存儲擴展部分:用于存儲說(shuō)話(huà)人的個(gè)性特征參數參考模板。 (4)揚聲器輸出部分:通過(guò)SPCE061A具有音頻輸出功能的雙通道10位D/A轉換器完成用戶(hù)訓練、識別等各種操作的語(yǔ)音提示。 (5)控制輸出部分:通過(guò)SPCE061A的可編程I/O口控制門(mén)鎖控制電機。 (6)LCD模組部分:用以顯示系統的工作狀態(tài),該部分根據成本和實(shí)際需要可選。(7)SPCE061A:說(shuō)話(huà)人的語(yǔ)音信號處理以及各部分的編程控制均由SPCE061A完成。 說(shuō)話(huà)人識別模塊有三種工作模式:訓練模式、認證模式和密碼模式,這三種模式都可通過(guò)工作模式按鍵選擇。 (1)訓練模式,說(shuō)話(huà)人的聲音通過(guò)麥克風(fēng)進(jìn)入語(yǔ)音信號采集前端電路。第一次語(yǔ)音輸入時(shí),由16位單片機SPCE061A對采集的語(yǔ)音信號進(jìn)行處理,提取說(shuō)話(huà)人的個(gè)性特征參數,并存儲到外擴的FLASH內,形成說(shuō)話(huà)人特征參數模板??梢赃M(jìn)行三次訓練,第二語(yǔ)音輸入時(shí),提取的個(gè)數特征參數與由第一次語(yǔ)音輸入形成的特征參數模板進(jìn)行匹配,在匹配距離小于模板更新閾值時(shí),將說(shuō)話(huà)人特征參數模板更新為兩次特征參數的平均值。第三次語(yǔ)音輸入時(shí),提取的個(gè)性特征參數與由第一、二次語(yǔ)音輸入形成的特征參數模板進(jìn)行匹配,在匹配距離小于模板更新閾值時(shí),將說(shuō)話(huà)人特征參數模板更新為三次特征參數的平均值,形成最后的該說(shuō)話(huà)人的特征參數模板。 (2)認證模式,同樣通過(guò)麥克風(fēng)錄入說(shuō)話(huà)人的聲音,再由SPCE061A對采集的語(yǔ)音信號進(jìn)行處理,將提取的說(shuō)話(huà)人特征參數與存儲在外擴FLASH內的特征參數模板進(jìn)行匹配,匹配距離小于認證閾值時(shí),通過(guò)認證;然后再判斷匹配距離是否小于認證模式下的模板更新閾值,決定是否對模板進(jìn)行更新。 (3)密碼工作模式,在說(shuō)話(huà)人感冒或其他使其聲音發(fā)生暫時(shí)改變的情況下,可以采用長(cháng)密碼方式進(jìn)行認證,以免因為非常原因被拒之門(mén)外。 另外,每個(gè)用戶(hù)都有一個(gè)短密碼(用戶(hù)可自行修改),無(wú)論在訓練模式還是認證模式都要輸入此密碼,以形成或找到與該用戶(hù)相對應的特征參數模板。系統還設置一個(gè)具有長(cháng)密碼的超級管理員用戶(hù),可以通過(guò)鍵盤(pán)對用戶(hù)模板進(jìn)行添加或刪除。 3 實(shí)驗結果 對于說(shuō)話(huà)人確認系統,表征其性能的最重要的兩個(gè)參量是拒識率和誤識率。前者是拒絕真實(shí)的說(shuō)話(huà)人而造成的錯誤,后者是接受假冒者而造成的錯誤,二者與匹配閾值的設定相關(guān)。匹配閾值的設定與語(yǔ)音鎖系統的應用場(chǎng)合、功能側重有關(guān),對于家庭、賓館等門(mén)鎖用戶(hù),要求誤識率盡可能低,甚至為零;若用于公司員工考勤等同類(lèi)功能,就不能有太高的拒識率。表1是對以下每種情況各進(jìn)行100次實(shí)時(shí)匹配的結果,其中設定的閾值適合門(mén)鎖用戶(hù)。表1 100次實(shí)時(shí)匹配結果 發(fā)音分類(lèi)次數同一個(gè)人相同發(fā)音同一個(gè)人相似發(fā)音同一個(gè)人不同發(fā)音不同人相同發(fā)音不同人相似發(fā)音不同人不同發(fā)音拒絕次數885100100100100接受次數92150000由以上實(shí)驗結果可知,對于同一個(gè)人相同發(fā)送的拒識率為8%;對于同一個(gè)人相似發(fā)音情況,因為系統是對說(shuō)話(huà)的人進(jìn)行判別,對于這種情況,無(wú)論拒絕或接受都是合理的;對于同一個(gè)人不同發(fā)音和不同人發(fā)音的情況,誤識率為零。使用錄音機進(jìn)行多次實(shí)驗,通過(guò)認證的次數為零。對于門(mén)鎖用戶(hù),這個(gè)結果十分理想的。若用于考勤等同類(lèi)功能,可通過(guò)修改匹配閾值值實(shí)現。 聲紋識別與其他生物識別技術(shù)相比,除具有不會(huì )遺失和忘記、不需記憶、使用方便等優(yōu)點(diǎn)外,還具有以下特性:用戶(hù)接受程度高,由于不涉及隱私問(wèn)題,用戶(hù)無(wú)任何心理障礙;聲音輸入設備造價(jià)低廉,而其他生特識別技術(shù)的輸入設備通常造價(jià)昂貴。與利用虹膜、指紋和人臉等技術(shù)的門(mén)鎖相比,基于SPCE061A構建的語(yǔ)音電子門(mén)鎖系統具有成本低、使用方便、保密性好等優(yōu)點(diǎn)。經(jīng)大量實(shí)驗測試表明,該系統性能穩定、識別效果好。下一步將進(jìn)行小批量的試用,以發(fā)現問(wèn)題并加以完善。但是,在環(huán)境噪聲或干擾信號高于語(yǔ)音信號時(shí),該系統將無(wú)法進(jìn)行正確的語(yǔ)音識別,在背景噪聲處理及其工程實(shí)際上還要進(jìn)一步改進(jìn)。 矢量控制相關(guān)文章:矢量控制原理
評論