周曉波 王 洪* 周郭飛
①(北京交通大學(xué)電子信息工程學(xué)院 北京 100044)
②(公安部第一研究所 北京 100048)
激光在投射到被測物體上時,物體的振動使激光產(chǎn)生多普勒效應(yīng),這是激光測振技術(shù)的理論基礎(chǔ)。在實際應(yīng)用中,多普勒激光測振系統(tǒng)往往工作在非理想環(huán)境下,例如粗糙的物體表面、激光光學(xué)元器件的非理想性以及環(huán)境噪聲等,多普勒激光信號會產(chǎn)生散斑效應(yīng),信號出現(xiàn)失真,給解調(diào)系統(tǒng)帶來了不確定性。這種不確定性會導(dǎo)致解調(diào)信號中出現(xiàn)脈沖噪聲等問題。這種情況下,線性系統(tǒng)和2階統(tǒng)計特性對于這種非高斯非平穩(wěn)信號的處理存在著局限性,需要更高階的統(tǒng)計特性來描述。高階統(tǒng)計特性,意味著更復(fù)雜的數(shù)學(xué)運算。隨著計算機技術(shù)的技術(shù)革新,復(fù)雜的數(shù)學(xué)運算不再是高階統(tǒng)計量在工程中應(yīng)用的桎梏[1],高階統(tǒng)計量的應(yīng)用范圍越來越廣泛。
高階統(tǒng)計特性作為一種特征參數(shù)應(yīng)用在信號分類器中,能夠提高系統(tǒng)的抗噪性能[2]。近年來,基于高階累積量的峰度檢測則廣泛應(yīng)用于各個領(lǐng)域:激光系統(tǒng)中微弱脈沖檢測[3]、機械系統(tǒng)故障檢測[4–6]、電磁應(yīng)用[7]、醫(yī)學(xué)腦電圖特征診斷[8]、語音信號增強[9–12]等方面。國內(nèi)外利用高階累積量對語音信號進行研究,主要應(yīng)用在靜音檢測[9]、功率譜峰度檢測[10]、語音端點檢測[11]、音樂質(zhì)量評估[12,13]等方面。本文對基于高階累積量的峰度檢測算法檢測脈沖噪聲的可行性進行了理論研究,推導(dǎo)了峰度系數(shù)的精確數(shù)學(xué)迭代公式。為了在FPGA中實現(xiàn)脈沖噪聲的實時檢測,進一步簡化了迭代公式,并提出了一種動態(tài)閾值的判決方法,合理地對計算量進行了優(yōu)化。本文的結(jié)構(gòu)如下:第2節(jié)理論闡述高階累積量的峰度檢測算法;第3節(jié)對語音的4階累積量進行研究;第4節(jié)推導(dǎo)迭代算法的精確公式;第5節(jié)利用MATLAB對算法進行仿真驗證;第6節(jié)詳述FPGA的優(yōu)化和實現(xiàn)過程;第7節(jié)為結(jié)論。
高階累積量可以自動抑制加性高斯噪聲。因此,非高斯的信號,如脈沖噪聲,可以利用高階累積量來對它的統(tǒng)計特性進行描述。
將ψ(ω)展開成泰勒級數(shù)
對于0均值的高斯隨機過程,其高階(3階及以上)累積量等于0,換言之,高階累積量對0均值高斯信號是“盲”的。即對于0均值的隨機過程,可以將4階累積量的計算進行簡化,近似估計為
式(7)由4階矩和2階矩計算而來,反映了隨機變量在其均值附近的尖銳程度,定義為隨機信號的峰度。其歸一化的4階累積量為
在語音信號處理中,一般是應(yīng)用高階統(tǒng)計量固有的高斯抑制和相位保持特性對信號進行處理[14,15]。
根據(jù)語音的正弦模型,語音信號是由若干正弦波的疊加,通過帶狀的對角切片部分可以表達(dá)語音的振幅和頻率。使用連續(xù)時間序列表示成
使用該模型對語音信號的4階累積量進行研究,其峰度系數(shù)為
理論上可以確定語音信號的歸一化的峰度系數(shù)為–1.5~–0.75。若存在脈沖噪聲,其非高斯的特性會使得歸一化峰度系數(shù)高于0。因此,通過閾值判定的方法,能實現(xiàn)在語音信號中將脈沖噪聲檢測出來。
高階累積量的計算復(fù)雜,運算量極大。在工程應(yīng)用中,為了能夠在FPGA中實現(xiàn)峰度系數(shù)的計算,需要利用合理的數(shù)學(xué)推導(dǎo)和優(yōu)化對計算公式進行簡化。采用數(shù)學(xué)迭代[16]的方式,能夠降低計算復(fù)雜度。以下推導(dǎo)了精確的迭代公式,并根據(jù)語音信號的特性,進行了一些簡化,得到改進的峰度系數(shù)迭代公式
2階累積量可以用作信號的能量檢測
歸一化峰度系數(shù)
當(dāng)k足夠大時,k+2≈k,化簡后
4階累積量的迭代公式化簡為
Δ為4階累積量的迭代運算的更新因子。
對于語音信號,可以近似認(rèn)為:p ≈x2(k),則有
同4階累積量的推導(dǎo)過程,推導(dǎo)出改進的歸一化4階累積量的迭代公式為
改進的歸一化更新因子(近似)
利用MATLAB對峰度系數(shù)迭代算法進行仿真,仿真數(shù)據(jù)為真實采集的帶有脈沖噪聲的低信噪比語音信號。仿真對比了改進的峰度系數(shù)迭代公式和初始迭代公式的檢測性能以及不同參數(shù)下的歸一化峰度系數(shù)的檢測性能。由圖1可看出,在語音脈沖噪聲檢測的應(yīng)用下,改進的峰度系數(shù)迭代算法具有更大的峰度值,而且在脈沖噪聲幅度較小時,表現(xiàn)出了更敏感的特性,有利于語音脈沖噪聲的檢測。
圖1 改進的峰度系數(shù)迭代算法與初始迭代算法的性能比較(μ=0.9, λ=0.9)
通過調(diào)整迭代公式中的遺忘因子μ,對歸一化峰度系數(shù)進行仿真對比。由圖2,遺忘因子μ越小,對于脈沖噪聲就會越敏感。而對于正常的語音信號來說,歸一化峰度系數(shù)值總是小于0的。
圖2 μ值對峰度系數(shù)的影響
使用FPGA進行數(shù)字電路設(shè)計,F(xiàn)PGA是定點數(shù)的運算方式,其并行運算的特點能夠以更少的硬件資源實現(xiàn)更快速的運算,從而滿足實時性的需求。以MATLAB的浮點數(shù)的模型作為參考,改進的峰度系數(shù)的迭代公式和動態(tài)閾值的判決方法在FPGA里的結(jié)構(gòu)圖由圖3所示,包含峰度系數(shù)計算和動態(tài)閾值計算兩個模塊。系統(tǒng)時鐘采用49.152 MHz,輸入解調(diào)語音信號的采樣頻率為32 kHz。
圖3 基于FPGA的改進峰度系數(shù)迭代方法結(jié)構(gòu)圖
從MATLAB的仿真結(jié)果來看,歸一化峰度的迭代計算能夠有效且直觀地檢測到脈沖噪聲,而且可以以固定的閾值進行判決。然而,歸一化峰度計算中包含了FPGA所不擅長的除法運算,為了節(jié)省硬件資源,通過結(jié)合峰度系數(shù)和歸一化峰度系數(shù)的檢測方法,提出改進的動態(tài)閾值判決方法。通過2階累積量對判決閾值進行實時更新,同時計算信號的峰度系數(shù),通過動態(tài)閾值進行判決,對脈沖噪聲進行實時檢測。
經(jīng)過第4節(jié)的推導(dǎo),對初始迭代式(17)和改進的迭代式(18)的計算量進行估算,如表1??梢钥闯?,改進的峰度系數(shù)方法減少了25%的加減法運算和乘法運算,降低了硬件電路的實現(xiàn)成本。
表1 4種峰度系數(shù)迭代算法計算量對比
由第5節(jié)的分析結(jié)果,如果使用歸一化的峰度系數(shù)對脈沖噪聲進行檢測,在閾值為0時,可以對脈沖噪聲和正常語音信號進行區(qū)分,根據(jù)式(21),將閾值設(shè)置為–0.1,完成動態(tài)閾值的計算。FPGA仿真結(jié)果如圖4所示,波形從上至下分別是語音信號、峰度系數(shù)和動態(tài)閾值。仿真結(jié)果可以看出,脈沖噪聲的峰度系數(shù)幅度明顯高于正常的語音信號,動態(tài)閾值則設(shè)定了一個范圍,將脈沖噪聲與語音信號區(qū)分開來。
圖4 FPGA仿真結(jié)果
截取部分仿真數(shù)據(jù),在MATLAB中進行分析,圖5中,當(dāng)語音信號產(chǎn)生突發(fā)的脈沖尖峰時,峰度系數(shù)會大于動態(tài)閾值,通過判決,可以認(rèn)為該部分?jǐn)?shù)據(jù)為脈沖噪聲。通過置0或者其他抑制方法,可以對脈沖噪聲進行抑制。
圖5 峰度系數(shù)與動態(tài)閾值分析
本文研究了基于高階累積量的峰度檢測算法,從理論層面探討了該算法在語音脈沖噪聲檢測中的可行性,根據(jù)理論的峰度系數(shù)計算公式,推導(dǎo)了峰度系數(shù)和歸一化峰度系數(shù)的數(shù)學(xué)迭代公式,并進行優(yōu)化,在降低了25%的計算復(fù)雜度的同時,對于較小幅度的脈沖噪聲具有更加敏感的檢測性能。在FPGA的實現(xiàn)中,提出了動態(tài)閾值的判決方法,避免了FPGA所不擅長的除法運算,節(jié)省了硬件資源。本文的研究對激光測振系統(tǒng),語音脈沖噪聲檢測等方面具有一定的參考價值。