




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、DSP課程實驗報告基于DSP的語音鑰匙目 錄1.設計任務書22.設計內容33.方案的設計、原理33.1語音鑰匙的概述33.2語音信號的預處理33.2.1 語音信號的采集3語音信號的分幀4語音信號的預加重4語音信號的加窗4語音信號的端點檢測5語音信號的短時能量5語音信號的短時過零6語音信號的雙門限斷點檢測73.3 相關法93.4 特征參數的提取93.4.1 LPC和LPCC系數93.4.1 MFCC系數93.5 DTW算法114 程序設計、調試與結果分析134.1 語音信號相關法的MATLAB的實現134.2 語音信號相關法的C語言的實現134.3 語音信號DTW算法的MATLAB及C語言的實現
2、135.實驗總結及個人體會136、參考文獻131. 設計任務書 語音信號處理是利用數字信號處理技術對語音信號進行處理的一門學科,其核心技術包括語音合成、語音識別、語音測評等,是現代人機交互的重要方式之一,具有廣泛的應用前景。近年來隨著互聯網和通信的發展,信息檢索也呈現多樣化,如文字檢索、語音檢索和基于內容的圖像檢索,其中語音檢索將成為跨領域資源整合的紐帶,而語音檢索的關鍵在于進行語音匹配與識別。 本實驗設計一個基于DSP處理系統的語音鑰匙,實驗內容如圖1-1所示。圖1-1 設計的任務要求分為基礎要求和發揮部分。基本部分:利用Matlab將采集到的一段語音進行仿真處理,實現基于語音相關匹配的較為
3、簡單的語音鑰匙的功能。在CCS編譯環境下利用C語言編寫語音鑰匙程序,并在BJTUDSP5502實驗系統平臺上實現。若語音鑰匙開啟,將指示燈D1進行1Hz閃爍(慢閃),并進行相應的語音提示。未開啟,將指示燈D1進行3Hz閃爍(快閃),并進行相應的語音提示。發揮部分:利用Matlab將采集到的一段語音進行仿真處理,實現基于語音特征值匹配的較為復雜的語音鑰匙的功能。此語音鑰匙安全性更高。在CCS編譯環境下利用C語言編寫語音鑰匙程序,并在BJTUDSP5502實驗系統平臺上實現。若語音鑰匙開啟,將指示燈D1進行1Hz閃爍(慢閃),并進行相應的語音提示。未開啟,將指示燈D1進行3Hz閃爍(快閃),并進行
4、相應的語音提示。2. 設計內容1、理解語音信號的基本特征,學會利用Matlab對語音信號進行處理的基本方法與流程2、學會利用Matlab對語音信號的預處理的方法和去噪的方法、信號相關算法仿真;3、掌握利用CCS編程環境編寫語音信號處理算法(C代碼),并在BJTUDSP5502實驗系統上實現。4、設計合理的結果測試方式和方法,驗證所設計系統的正確性;5、按照給定的模板撰寫實驗報告,并參加統一的驗收答辯。如參加爭優環節需另外提前報名,通過公開答辯方式通過驗收。3.方案的設計、原理3.1語音鑰匙的概述語音技術,包括語音識別、語音合成、關鍵詞檢出、說話人識別與確認、口語對話系統等,是現代人機交互的重要
5、方式之一,具有廣泛的應用前景。其中語音識別技術,尤其是連續語音識別技術,是最基礎、最重要的部分,而且已經逐步走向成熟與實用。語音識別(Speech Recognition)是指讓機器聽懂人說的話,即在各種情況下,準確的識別語音的內容,從而根據其信息,執行人的各種意圖或執行特定的任務,其最終目標是實現人與機器進行自然語言通信。利用DSP可以對語音信號進行實時采集、提取語音特征向量、進行語音識別。語音識別系統對語音特征參量的提取可以采用FFT等算法,不同的參數表示不同的頻譜包絡。利用DSP技術來實現語音識別其實就是要利用DSP處理器強大的數據處理功能對表征語音的各種形式的信息進行處理和分析,以對語
6、音進行描述、辨認、分類和解釋。無論是早期的孤立詞識別系統還是當代的連續語音和非特定人識別系統,它們的系統基本結構框圖都可以用下圖來進行簡單描述。其主要過程包括語音信號的預處理(端點檢測等)、特征提取、建立參考模板庫、相似性度量和識別決策等幾個功能模塊,其流程如圖3-1所示。圖3-1從圖3-1可以看出語音識別系統的本質就是一種模式識別系統,它也包括特征提取、模式匹配、參考模式庫等基本單元。由于語音信號是一種典型的非平穩信號,加之呼吸氣流、外部噪音、電流干擾等使得語音信號不能直接用于提取特征,而要進行前期的預處理。預處理過程包括預濾波、采樣和量化、分幀、加窗、預加重、端點檢測等。經過預處理的語音數
7、據就可以進行特征參數提取。在訓練階段,將特征參數進行一定的處理之后,為每個詞條得到一個模型,保存為模板庫。在識別階段,語音信號經過相同的通道得到語音參數,生成測試模板,與參考模板進行匹配,如果匹配分數大于臨界值,燈1Hz閃爍,播放“正確”;否則,燈3Hz閃爍,播放“錯誤”。其中語音端點檢測是語音分析、合成和識別中的一個重要環節,其算法的優劣在某種程度上也直接決定了整個語音識別系統的優劣,在端點檢測技術中,比較常用的是方法是:1.基于短時幅值和短時平均過零率的端點檢測 2.基于倒譜特征的端點檢測 3.基于熵的端點檢測。在語音識別的過程中,其實質就是解決一個語音輸入與一個語音模版之間的正確匹配的問
8、題,常見的語音識別方法有:1.動態時間歸整技術(DTW) 2.矢量量化技術(VQ) 3. 隱馬爾可夫模型(HMM) 4. 基于段長分布的非齊次隱馬爾可夫模型(DDBHMM) 5. 人工神經元網絡(ANN) 6.相關法 此次試驗中,我們使用的是DTW和相關法。3.2語音信號的預處理語音信號的預處理模塊一般包括預濾波、采樣和量化、分幀、加窗、預加重、端點檢測等。在不同的系統中對各子模塊會有不同的要求,如在嵌入式語音識別系統中一般要求有防混疊濾波電路、A/D轉換電路和采樣濾波電路等,而在計算機上實驗時則可由音頻采集卡完成,無需實驗者親自動手。3.2.1 語音信號的采集在Matlab環境中語音信號的采
9、集可使用wavrecord(n,fs,ch,dtype)函數錄制,也可使用Windows的“錄音機”程序錄制成.wav文件然后使用wavread(file) 函數讀入。為了進行批量的的訓練和識別處理,本系統的訓練語音和識別語音全部使用“錄音機”程序預先錄制。如圖3-2所示為數字0的訓練語音00.wav的信號波形圖,第(I)幅圖為完整的語音波形,第(II)、(III)幅圖分別為語音的起始部分和結束部分的放大波形圖。圖3-2 語音00.wav的信號波形圖語音信號的分幀語音信號是一種典型的非平穩信號,它的均值函數u(x)和自相關函數R(xl,x2)都隨時間而發生較大的變化。但研究發現,語音信號在短時
10、間內頻譜特性保持平穩,即具有短時平穩特性。因此,在實際處理時可以將語音信號分成很小的時間段(約1030ms),稱之為“幀”,作為語音信號處理的最小單位,幀與幀的非重疊部分稱為幀移,而將語音信號分成若干幀的過程稱為分幀。分幀小能清楚地描繪語音信號的時變特征但計算量大;分幀大能減少計算量但相鄰幀間變化不大,容易丟失信號特征。一般取幀長20ms,幀移為幀長的1/31/2。在Matlab環境中的分幀最常用的方法是使用函數enframe(x,len,inc),其中x為語音信號,len為幀長,inc為幀移。在本系統中幀長取240,幀移取80語音信號的預加重對于語音信號的頻譜,通常是頻率越高幅值越小,在語音
11、信號的頻率增加兩倍時,其功率譜的幅度下降6dB。因此必須對高頻進行加重處理,一般是將語音信號通過一個一階高通濾波器1-0.9375z-1,即為預加重濾波器。其目的是濾除低頻干擾,特別是50Hz到60Hz的工頻干擾,將對語音識別更為有用的高頻部分進行頻譜提升。在計算短時能量之前將語音信號通過預加重濾波器還可起到消除直流漂移、抑制隨機噪聲和提升清音部分能量的效果。預加重濾波器在Matlab中可由語句x=filter(1-0.9375,1,x)實現。語音信號的加窗為了保持語音信號的短時平穩性,利用窗函數來減少由截斷處理導致的Gibbs效應。用的最多的三種為矩形窗、漢明窗(Hamming)和漢寧窗(H
12、anning)。其窗函數如下,式中的N為窗長,一般等于幀長。矩形窗: 漢明窗(Hamming):漢寧窗(Hanning):WR =1 (0nN-1)0 (Other)WHM =0.5-0.46cos(2n/(N-1) (0nN-1)0 (Other) WHN =0.5-0.5cos(2n/(N-1) (0nN-1)0 (Other)(3-1)(3-2)(3-3)窗口的選擇非常重要,不同的窗口將使能量的平均結果不同。矩形窗的譜平滑,但波形細節丟失;而漢明窗則剛好相反,可以有效克服泄漏現象,具有平滑的低通特性。因此,在語音的時域處理方法中,一般選擇矩形窗,而在語音的頻域處理方法中,一般選擇漢明窗或
13、漢寧窗。在Matlab中要實現加窗即將分幀后的語音信號乘上窗函數,如加漢明窗即為x=x.*hamming(N)。本系統中的端點檢測采用時域方法故加矩形窗,計算MFCC系數時加漢明窗。語音信號的端點檢測語音端點檢測是指用計算機數字處理技術從包含語音的一段信號中找出字、詞的起始點及結束點,從而只存儲和處理有效語音信號。對漢語來說,還可進一步找出其中的聲母段和韻母段所處的位置。語音端點檢測是語音分析、合成和識別中的一個重要環節,其算法的優劣在某種程度上也直接決定了整個語音識別系統的優劣。進行端點檢測的基本參數主要有短時能量、幅度、過零率和相關函數等。端點檢測最常見的方法是短時能量短時過零率雙門限端點
14、檢測,近年來在此基礎上發展出的動態窗長短時雙門限端點檢測方法也被廣泛使用。 語音信號的短時能量語音和噪聲的主要區別在它們的能量上,如圖3-3(III) 和圖3-4(III)所示。語音段的能量比噪聲段的大,語音段的能量是噪聲段能量疊加語音聲波能量的和。對第n幀語音信號的短時能量En的定義為: (3-4)xn為原樣本序列在窗函數所切取出的第n段短時語音,N為幀長。因為在計算時使用的是信號的平方,故將En作為一個度量語音幅度值變化的函數有一個缺陷,即對高電平非常敏感。因此在許多場合會將En用下式來代替: (3-5)這樣就不會因為取平方而造成信號的小取樣值的大取樣值出現較大差異。本系統中窗函數為WR(
15、見式3-1),N為240。圖3-3(I)和圖3-4(I)分別為數字0的訓練語音00.wav和數字4的訓練語音40.wav的波形,圖3-3(III)和圖3-4(III)分別為它們的短時能量。圖3-3 語音00.wav的時域分析參數圖3-4 語音40.wav的時域分析參數.2語音信號的短時過零短時過零表示一幀語音信號波形穿過橫軸(零電平)的次數。對于連續語音信號,過零意味著時域波形通過時間軸;而對于離散信號,如果相鄰的取樣值的改變符號則稱為過零。過零率就是樣本改變符號次數,定義語音信號壽(m)的短時過零率Zn為: (3-6)1 (x0)-1 (x0)sgnx= (3-7)清音的能量多集中在較高的頻
16、率上,它的平均過零率要高于濁音,故短時過零率可以用來區分清音、濁音以及無聲。圖3-3(II)和圖3-4(II)分別為數字0的訓練語音00.wav和數字4的訓練語音40.wav的短時過零率。從圖中可以看到清音s的過零率明顯高于其后的i音,有聲段過零率明顯高于無聲段,但在鼻音階段過零率迅速滑落到無聲水平而能量值則是緩慢下滑。在實際應用時并不能通過式3-6直接計算過零率,因為在無聲段噪聲使語音波形在0值附近來回擺動,導致計算出的過零率和有聲段的區別并不十分明顯。比較簡單的解決方法是設定一個差的閾值,使不僅xn(m)*xn(m-1)<0,還要|xn(m) - xn(m-1)| > 。在本系
17、統中經多次試驗取定=0.01。3.2.5.2語音信號的雙門限斷點檢測雙門限端點檢測顧名思義需要兩級檢測,即短時能量檢測和短時過零率檢測。在開始檢測之前需要設定4個門限,即分別為短時能量和短時過零率各設置一個高門限和一個低門限:EHigh、ELow和ZHigh、ZLow。整個語音端點檢測分為四部分:靜音段、過度段、語音段、結束段。在靜音段中如果能量或過零率有一個超過了其低門限,則認為進入了過度段。在過度段中,由于參數數值較小,還不能確定是否真的進入語音段,只有兩個參數的其中一個超越了高門限才被認為是進入語音段。當參數降至低門限則認為進入結束。此外,還有兩種可能會引起端點檢測的誤判:一是短時噪音引
18、起的誤判,此時則需要引入最小語音長度門限進行噪聲判定,即語音段時間小于一定數值則認定為是噪聲,重新回到靜音段,本系統設為20ms;二是語音中字與字的時間空隙引起的誤判,此時需要設定最大靜音長度門限來降低識別的錯誤率,本系統所訓練和識別的都為單字,故無需設置此門限。在雙門限端點檢測中4個門限的設定至關重要,門限設定的好壞將直接影響端點檢測的結果。門限值的設置還沒有一個通用可靠的方法,需要根據經驗和特定環境進行調整。常見的方法有最大值乘上某個比率、中位值乘上某個比率、最小值乘上某個常數、前三幀平均值乘上某個常數等。本系統中EHigh,ELow,ZHigh,ZLow的取值分別為:EHigh=max(
19、min(amp)*10,mean(amp)*0.2,max(amp)*0.1); ZHigh=max(round(max(zcr)*0.1),5);ELow=min(min(amp)*10,mean(amp)*0.2,max(amp)*0.1); ZLow=max(round(mean(zcr)*0.1),3);圖3-5和圖3-6分別是數字0的訓練語音00.wav和數字4的訓練語音40.wav的端點檢測結果,紅線之間的部分為檢測出的語音有聲段。圖3-5 語音00.wav的端點檢測結果圖3-6 語音40.wav的端點檢測結果3.3 相關法 經過處理的語音信號都有相應的臨界帶特征矢量,通過相關法計
20、算前后兩次聲音的特征矢量的相關性,由相關性來判斷兩次語音信號的相似性。 (3-13)衡量X與Y的相關程度,(3-13)被稱為相關系數。顯然,當的值越大,說明X和Y越相關(相似),當的值越小(越接近于零),說明X和Y越不相關(不相似)。尤其是,當時,與(是各分量為1的列向量,常稱為1向量,表示為)線性相關,當時,與正交,即最不相關。3.4 特征參數的提取經過預處理的語音數據就可以進行特征參數提取,特征參數的好壞將直接影響系統的性能和效率,對特征參數的要求包括:(1) 提取的特征參數能有效地代表語音特征,具有很好的區分性;(2) 各階參數之間有良好的獨立性;(3) 特征參數要計算方便,最好有高效的
21、計算方法,以保證語音識別的實時實現。3.4.1 LPC和LPCC系數LPC(Linear Prediction Coefficient,線性預測系數)模擬人發音器官的聲管模型,是一種基于語音合成的參數模型。在語音識別系統中很少直接使用LPC系統,而是由LPC系數推出的另一種參數LPCC。LPCC(Linear Prediction Cepstrum Coefficient,線性預測倒譜系數)是LPC在倒譜域中的表示。該特征是基于語音信號為自回歸信號的假設,利用線性預測分析獲得倒譜系數。LPCC的優點是計算量小,易于實現,對元音有較好的描述能力,缺點是對輔音描述能力較差。3.4.1 MFCC系數
22、LPC模型是基于發音模型建立的,LPCC系數也是一種基于合成的系數,這種參數沒有充分利用人耳的聽覺特性。實際上,人的聽覺系統是一個特殊的非線性系統,它響應不同頻率信號的靈敏度是不同的,基本上是一個對數的關系。近年來,一種能夠比較充分利用人耳的這種特殊感知特性的系數得到了廣泛應用,這就是Mel尺度倒譜系數(Mel-scaled Cepstrum Coefficients,簡稱MFCC)。大量研究表明,MFCC系數能夠比LPCC參數更好地提高系統的識別性能。MFCC系數的計算是以“bark”為其頻率基準的,它和線性頻率的轉換關系是: (3-8)MFCC系數也是按幀計算的,首先要通過FFT得到該幀信
23、號的功率譜S(n),轉換為Mel頻率下的功率譜。這需要在計算之前先在語音的頻譜范圍內設置若干個帶通濾波器:Hm(n) m=0,1,M-1; n=0,1,N/2-1 (3-9)M為濾波器的個數,通常取24,與臨界帶的個數一樣;N為一幀語音信號的點數,為了計算FFT的方便,通常取256。濾波器在頻域上為簡單的三角形,其中心頻率fm在Mel頻率軸上是均勻分布的。如圖3-7所示為Mel尺度濾波器組,包含24個濾波器,語音信號幀長取為256個點,語音信號的采樣頻率為8KHz,。圖3-7 Mel 尺度濾波器組帶通濾波器的系數事先計算好,在計算MFCC系數是直接使用。MFCC系數的計算過程如下:(1) 預處
24、理:確定每一幀語音采樣序列的長度(如N=256),并對每幀序列s(n)進行預加重、分幀和加窗處理;(2) 計算離散功率譜:對預處理的每幀進行離散FFT變換得到其頻譜,再取模的平方作為離散功率譜S(n);(3) 將功率譜通過濾波器組:計算S(n)通過M個Hm(n)后所得的功率值,即計算S(n)和Hm(n)在各離散頻率點上的乘積之和,得到M個參數Pm,m=0,1,M-1;(4) 取對數:計算Pm的自然對數,得到Lm,m=0,1,M-1;(5) 離散余弦變換:對Lm計算其離散余弦變換,得到D m,m=0,1,M-1,舍去代表直流成份的D0,取D1,D2,Dk作為MFCC參數。具體流程可以用框圖3-8
25、表示為:圖3-8 MFCC系數計算流程圖在Matlab環境中計算M個濾波器的系數可以調用語音工具箱voicebox中的函數melbankm(m,n,fs)來實現,其中m為濾波器的個數,n為語音幀長,fs為采樣頻率。計算mfcc系數的函數為melcepst(s,fs),s為語音信號。3.5 DTW算法在孤立詞語音識別中,最為簡單有效的方法是采用DTW動態時間規整算法,設參考模板特征矢量序列為A=a1,a2,aj),輸入語音特征矢量序列為B=b1,b2,bk),jk。DTW算法就是要尋找一個最佳的時間規整函數,使得語音輸入B的時間軸k映射到參考模板A的時間軸j上總的累計失真最小。 將己經存入模板庫
26、的各個詞條稱為參考模板,一個參考模板可以表示為R(1),R(2),R(M),m為訓練語音幀的時序標號,m=1為起點語音幀,m=M為終點語音幀,因此M為該模式包含的語音幀總數,R(m)為第m幀語音的特征矢量。所要識別的一個輸入詞條語音稱為測試模板,可表示為T(1),T(2),T(N),n為測試語音幀標號,模板中共包含N幀音,T(n)為第n幀音的特征矢量。為了比較它們的相似度,可以計算它們之間的失真DT,R,這里采用歐氏距離中的中的絕對平均誤差: (3-10)此失真度的主要優點是計算簡單、硬件容易實現。失真越小相似度越高。為了計算這一失真,應從T和R中各個對應幀之間的失真算起。將各個對應幀之間的失
27、真累計起來就可以得到兩模式間的總失真。很容易想到的辦法是當兩模式長度相等時,直接以相等的幀號相匹配后累加計算總失真,而當兩個模式長度不等時則利用線性擴張或線性壓縮的方法使兩模式具有相等長度,隨后進行匹配計算失真度。但由于人類發音具有隨機的非線性變化,這種方法效果不可能是最佳的。為了達到最佳效果,可以采用動態時間規整的方法。圖3- 9如圖所示,橫坐標對應“1”這個字音的一次較短的發音,經過分幀和特征矢量計算后共得到一個長度為43幀的語音序列,而縱坐標對應“1”這個字音的一次較長的發音,該語音特征序列共有56幀。為了找到兩個序列的最佳匹配路徑,現把測試模式的各個幀號n=1N(N=43)在一個二維直
28、角坐標系中的橫軸上標出,把參考模式的各幀號m=1M(M=56)在縱軸上標出。 通過這些表示幀號的整數坐標畫一些縱橫線即可形成一個網格,網格中何一個節點(n,m)表示測試模式中的某一幀和參考模式中的某一幀的交匯點。動態時間規整算法可以歸結為尋找一條通過此網格中若干交叉點的路徑,路徑通過的交叉點即為參考模式和測試模式中進行失真計算的幀號。路徑不是隨意選擇的,首先任何一種語音的發音快慢可能有變化,但是各部分的先后順序不可能改變,因此所選的路徑必定從左下角出發,在右上角結束。其次為了防止漫無目的的搜索,可以刪去那些向n軸方向或者m軸方向過分傾斜的路徑(例如,過分向n軸傾斜意味著R(m)壓縮很大而T(n
29、)擴張很大,而實際語音中這種壓、擴總是有限的)。為了引入這個限制,可以對路徑中各通過點的路徑平均斜率的最大值和最小值予以限制。通常最大斜率定為2,最小平均斜率定為12。路徑的出發點可以選擇(n,m)=(1,1)點,也可以選擇(n,m)=(1,2)或(1,3)或(2,1)或(3,1)點出發。前者稱為固定起點,后者稱為松弛起點。同樣,路徑可在(n,m)=(N,M)點結束,也可以在(n,m)=(N,M-1)或(N,M-2)或(N-1,M)或(N-2,M)點結束。前者稱為固定終點,后者稱為松弛終點。 D=min(i)i=1MdTi,R(i) (3-11)式中,dTi,R(i) 是第i幀測試矢量Ti和第
30、j幀模板矢量Rj之間的距離測度,D則是處于最有時間規整情況下兩矢量之間的匹配路徑。實際中采用動態規劃技術來加以具體實現的。動態規劃是一種最優化算法。總代價函數的計算式為Dc(k)=dc(k)+min Dc(k-1) (3-12)式中,dc(k)為匹配點c(k) 本身的代價,min Dc(k-1)是在c(k)以前所有允許值(由路徑限制而定)中的最小的一個。一次總代價函數是該點本身的代價與達到改點的最佳路徑的代價之和。由于DTW不斷地計算兩矢量的距離以尋找最優的匹配路徑,所以得到的是兩矢量匹配時積累距離最小的規整函數,這就保證了它們之間存在最大的聲學相似特性。使用DTW算法為核心直接構造識別系統十
31、分簡單,首先通過訓練得到詞匯表中各參考語音的特征序列,直接將這些序列存儲為模板。在進行識別時,將待識語音的特征序列依次與各參考語音特征序列進行DTW匹配,最后得到的總失真度最小且小于識別閾值的就認為是識別結果。該方法最顯著的優點是識別率極高,大大超過目前多數的HMM語音識別系統和VQ語音識別系統。但其最明顯的缺點是由于需要對大量路徑及這些路徑中的所有節點進行匹配計算,導致計算量極大,隨著詞匯量的增大其識別過程甚至將達到難以接受的程度,因此無法直接應用于大、中詞匯量識別系統。4 程序設計、調試與結果分析4.1 語音信號相關法的MATLAB的實現Matlab仿真效果如下圖,圖中上部分為模板信號的時
32、域波形,下部分為測試信號的時域波形,相關系數為0.1441,代碼如下 圖3-10recorder01(0);fname=sprintf('train0%d.wav',0); x,fs,bits=wavread(fname,20000);M=240;L=length(x);LL=length(x)/M;Em=zeros(1,(LL-1)*240); for ii=1:(LL-1)*240, temp=x(ii:ii+240); Em(ii)=sum(temp.*temp); endMn=zeros(1,(LL-1)*240); for ii=1:(LL-1)*240, temp=
33、x(ii:ii+240); Mn(ii)=sum(abs(temp)/M; endZn=zeros(1,(LL-1)*240); for ii=2:(LL-1)*240,temp1=sign(x(ii:ii+240); temp=sign(x(ii-1:ii+240-1); Zn(ii)=sum(abs(temp1-temp); end inc =90;amp1 = 0.5; amp2 = 0.0005; zcr1 = 10; zcr2 = 2; minsilence = 10000; minlen = 10;status = 0;count = 0; silence = 0; amp=Em;
34、 zcr=Zn;amp1 = min(amp1, max(amp)/4); amp2 = min(amp2, max(amp)/8); for n=1:length(zcr) goto = 0; switch status case 0,1if amp(n) > amp1 x1 = max(n-count-1,1); status = 2; silence = 0; count = count + 1;elseif amp(n) > amp2 | zcr(n) > zcr2 status = 1; count = count + 1; else status = 0; cou
35、nt = 0;endcase 2,if amp(n) > amp2 |zcr(n) > zcr2count = count + 1; else silence = silence+1; if silence < minsilence %時間小于此不算噪聲count = count + 1; elseif count < minlenstatus = 0; silence = 0; count = 0;else status = 3; end end case 3,break; end endcount = count-silence/2; x2 = x1 + count
36、 -1; y=x(x1:x2);fb=1000;fc=1200;As=100;Ap=1;Fs=8000;wc=2*pi*fc/Fs;wb=2*pi*fb/Fs;wdel=wc-wb;beta=0.112*(As-8.7);N=ceil(As-8)/2.285/wdel);wn=kaiser(N+1,beta);ws=(wb+wc)/2/pi;b=fir1(N,ws,wn);z=fftfilt(b,y);subplot(211);plot(y);axis(0 20000 -2 2);title('模板信號');recorder01(1);fname=sprintf('tr
37、ain0%d.wav',1);w,fs,bits=wavread(fname,20000);M=240;L1=length(w);LL1=length(w)/M;Em=zeros(1,(LL1-1)*240); for ii=1:(LL1-1)*240, temp=w(ii:ii+240); Em(ii)=sum(temp.*temp); endMn=zeros(1,(LL1-1)*240); for ii=1:(LL1-1)*240, temp=w(ii:ii+240); Mn(ii)=sum(abs(temp)/M; endZn=zeros(1,(LL1-1)*240); for
38、ii=2:(LL1-1)*240,temp1=sign(w(ii:ii+240); temp=sign(w(ii-1:ii+240-1); Zn(ii)=sum(abs(temp1-temp); end inc =90;amp1 = 0.5; amp2 = 0.0005; zcr1 = 10; zcr2 = 2; minsilence = 10000; minlen = 10;status = 0;count = 0; silence = 0; amp=Em; zcr=Zn;amp1 = min(amp1, max(amp)/4); amp2 = min(amp2, max(amp)/8);
39、for n=1:length(zcr) goto = 0; switch status case 0,1if amp(n) > amp1 x1 = max(n-count-1,1); status = 2; silence = 0; count = count + 1;elseif amp(n) > amp2 | zcr(n) > zcr2 status = 1; count = count + 1; else status = 0; count = 0;endcase 2,if amp(n) > amp2 |zcr(n) > zcr2count = count + 1; else silence = silence+1; if silence < minsilence %時間小于此不算噪聲count = count + 1; elseif count < minlenstatus = 0; silence = 0; count = 0;else sta
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國三足式袋卸料離心機數據監測研究報告
- 深度解析教育科技行業未來發展方向
- 教育機構如何利用游戲化平臺提高教學效果
- 企業培訓中多媒體技術的應用與創新-以智慧教室為例
- 新版培訓課件模板圖片
- 碧桂園張家港拓客內部培訓89
- 全民健身設施補短板工程實施方案在城市老舊小區健身設施改造中的應用研究
- 全球鈾礦資源市場前景與2025年核能產業綠色低碳發展戰略報告
- 公交優先戰略在2025年城市交通擁堵治理中的可持續發展報告
- Carpetimycin-B-生命科學試劑-MCE
- 板式換熱器、半容積式換熱器換熱器面積計算表(自動計算)
- 直流屏檢修作業指導書
- 冷鐓機 質量要求技術條件
- 《全國統一安裝工程預算定額》工程量計算規則
- translated-NCCN臨床實踐指南:非小細胞肺癌(中文版2022.V5)
- GB/T 8312-2002茶咖啡堿測定
- 通信線路工程施工組織設計方案【實用文檔】doc
- 護士注冊健康體檢表下載【可直接打印版本】
- 預計財務報表編制及分析課件
- Q∕SY 1347-2010 石油化工蒸汽透平式壓縮機組節能監測方法
- 西門子順序功能圖語言S7-Graph的應用
評論
0/150
提交評論