汪思冒,陸格格,郝廣凱,魏 祎,雷 鳴
(上海航天電子技術研究所,上海 201109)
由于航天領域對航天器機械磨損自動化糾正和航天員心率監測識別等技術的需求增加,對信號分類的精準性要求也逐漸提高。與大功率有序信號相比,該類信號無明顯標記或為微小信號,其特征不明顯且受噪聲影響大,難以在未經處理的情況下進行判別。目前,隨著分類算法的高速發展,已有許多分類器得到應用,如神經網絡(Neural Network,NN)、隨機森林、K 最近鄰(K-Nearest Neighbor,KNN)等。這些分類算法性能良好,但在高精度需求和縮短模擬時間方面仍可進一步優化。例如:隨機森林系統的精度足以達到航天標準,但計算時間較長,無法實時傳輸數據;與隨機森林系統相反,卷積神經網絡系統由于其特殊的非線性擬合能力,可以快速得出結果,但當數據庫不夠大時,模型無法正常工作。通過比較,小波分析和支持向量機(Support Vector Machine,SVM)算法分別在預處理和分類方面具有優異的性能,可較好解決常見的微小信號分類問題。
該背景下,文章提出一種基于小波處理的SVM數據分類算法。該算法可以通過小波變換預處理信號,為樣本信號建立數據庫和濾波,再根據信號特性選取相應的窗口并提取特征值,去噪后的信號可以在高信噪比狀態下保持原始特征。完成預處理后,使用SVM 對數據庫進行機械學習,建立分類模型。此外,在SVM 算法基礎上加入主成分分析(Principal Components Analysis,PCA)技術可以提高模型精度。該組合算法可以增強分類的可靠性,并且分類速度快,靈活性高,適用于各種場景。
算法方案構建步驟如下:步驟一,建立本地樣本數據庫,分離出1/2 數據作為算法模型學習依據,剩余樣本作為后期驗證數據;步驟二,使用小波對學習樣本進行時域和頻域處理,將有效信號與噪聲分離;步驟三,對分離后數據使用軟閾值進行標記,同時進行濾波去噪與特征向量提??;步驟四,使用不同大小窗口提取特征向量,不斷循環直到找出最優窗口;步驟五,使用主成分分析-支持向量機(Principal components Analysis-Support Vector Machine,PCASVM)分類器對信號與提取向量值進行機械學習,建立完整的算法模型;步驟六,算法模型建立完成后,使用模型對驗證樣本進行分類且與已知結果進行比對,得到算法準確度;步驟七,若準確度不滿足要求,則對步驟4 ~步驟6 進行迭代,直至得到最優準確度。
傳統的信號分析通常以傅里葉變換為基礎,然而該方法會導致時域信息出現丟失,且傅里葉分析采用全局變換,得到的結果具有信號統計特征,無法精準表達信號在特定時刻的時頻特性。使用小波函數可以較好地解決該問題。小波函數可以在時域和頻域上同時對信號進行局部化分析,經過小波變換后,信號在低頻時具有較高的頻率分辨率和較低的時間分辨率,在高頻時具有較高的時間分辨率和較低的頻率分辨率[1]。通過伸縮平移運算對信號逐步進行多尺度細化,最終能夠自動適應時頻信號的分析要求。
小波變換分為連續小波變換和離散小波變換,早期通常使用連續小波變換處理數據,但連續小波算法存在計算量大且占用時間長的問題。為解決該問題,利用多分辨率分析的特點構造了一種二進制離散小波變換算法,即Mallat 算法[2]。Mallat 算法先分離高頻與低頻信號,然后提取分離后的高頻信號并進行下一級分離,不斷迭代,直至目標信號達到理想狀態。大多數微小信號中,數據的有效分量在低頻處,高頻分量為混入的噪聲信號?;谠撎匦?,通過設置閾值,對每一級高頻信號進行濾波,可以有效去除大部分噪聲[3]。
小波的選取原則包括自相性原則、判別函數原則、支級長度原則。文章以航天員心電信號為自相性原則選取基礎,對sym、coif、dB5 小波進行了判別,根據支級長度5 ~9 最優原則,最終選擇了dB5 離散小波對微小信號進行去噪處理。使用MATLAB 對樣本數據庫(采用麻省理工提供心電失常信號庫MIT-BIH為數據庫)內隨機選取的20 組信號進行仿真,對不同小波濾波后的樣本數據信噪比進行比較,仿真結果如表1 所示。

表1 不同小波濾波后信噪比對比
經比對可知,濾波后dB5 小波信噪比最高,濾波效果好,可有效預防航天空間惡劣環境帶來的接收信號質量下降情況。
小波的濾波閾值設置包含“硬閾值”和“軟閾值”2種方式。
硬閾值計算公式為
式中:λ1表示硬閾值時小波系數;ω1表示硬閾值。
軟閾值計算公式為
式中:λ2表示軟閾值時小波系數;ω2表示軟閾值。
硬閾值中,閾值ω1為確定值,由前期根據信號特性分析直接給出。而軟閾值中,小波系數參與濾波閾值設置,每級信號閾值不同,濾波更為精準。
針對不同類型樣本數據特征,2 種閾值設置方式各有優點。文章中的微小信號在不同層級中閾值相差較大,且通過MATLAB 仿真比較軟閾值和硬閾值的設置結果得出,軟閾值濾波效果更優,因此本模型采用軟閾值進行預處理。濾波后的小波去噪效果圖如圖1 所示。

圖1 小波去噪效果圖
特征提取旨在提供信息和非冗余的派生值,該步驟直接決定了后續信號分類的準確度。目前,常用的特征提取方法包括短時傅里葉變換、小波變換、自相關檢測法等。因為航天員心電信號是動態實時變化的信號,單一頻域提取方法不適用,所以根據樣本數據特性,本模型繼續采用小波算法進行特征提取。對比幾種不同小波算法,最終選擇墨西哥帽小波作為特征向量提取函數。
墨西哥帽小波對獲勝節點有最大權值調整量,可根據節點距離動態調整權值,有助于突出信號的特征,微小信號可以通過墨西哥帽函數實時調整閾值迅速找到特征點[4]。同時,為防止樣本信號與額外的脈沖混合導致誤判,算法中添加了輔助篩選條件,如2 個峰值位置小于1 個周期距離,則較小的峰值將被刪除。
文章建立的模型核心是分類器,由于微小信號波形種類繁多,不通類型的信號可能包含多個相同的特征向量導致難以判別,且分類器需要在正確分類的同時盡可能減少計算量。為滿足該條件,本模型使用了SVM 算法解決該類問題。
SVM 是一種耗時短且精度高的機械學習模型。根據結構風險最小化理論,SVM 在特征空間中建立一個最優超平面,使學習者能夠得到全局優化。SVM可以同時應用于線性和非線性情況,當特征向量不可分時,非線性映射算法將樣本從低維轉移到高維,形成線性空間。當特征向量可分離時,SVM 算法可以通過訓練2 組數據建立模型,并在它們之間找到最優分類超平面[5]。SVM 分類中包含多種函數,核函數是常用的函數之一。文章模型選擇了RBF 核函數,該函數對參數修改量較少,且計算質量優異。
通常的SVM 是針對二進制分類,若為多特征值信號則需要進一步轉化為多類分類器[6]。本模型采用一對一(One Vs One,OVO)方法解決多類分類問題,該方法設置了多個二進制分類器,使用投票機制得到多類分類結果[7]。
在高標準情況下,僅使用SVM 算法一般無法達到預估值,可加入PCA 算法優化結果。PCA 算法的基本原理是將矩陣中的樣本數據投影到一個新的空間。投影過程以標準正交基為基礎,將特征根和特征向量對角化。特征值對應于特征向量方向上的投影長度,該方向包含了更多的原始數據信息[8]。使用PCA 算法將樣本重新構建矩陣后,可在原特征向量提取結果上突出分類所需要的主要數據,從而使SVM 學習更加簡單和準確。
使用去噪前后信噪比(Signal-Noise Ratio,SNR)衡量去噪結果。通常情況下,未經處理的航天員心電信號受宇航服、四肢運動、呼吸等干擾,SNR 遠低于識別的最低要求70 dB。使用MATLAB對MIT-BIH 數據庫中隨機抽取的機組信號仿真可知,使用小波去噪后,樣本數據信噪比均在139 ~167 dB范圍內,且使用均方誤差對仿真結果進行評估,計算值在0.001 3 ~0.002 0 范圍內。具體結果如表2 所示。

表2 小波去噪后信噪比與均方差

表3 小波提取特征值結果
結果表明,使用dB5 小波處理數據能夠有效濾除噪聲,信噪比良好且效果穩定。
特征值提取的準確度可通過與實際樣本庫提供的特征標記進行比對得出。對樣本數據內的R 波提取進行仿真,仿真結果如表2 所示,提取的特征向量匹配度均在99.8%以上。因此,墨西哥帽小波提取特征值正確率高,可較好地建立目標標記點。
分類模型完成后,使用平臺對驗證數據進行訓練,SVM、PCA-SVM、Hopfield 神經網絡(Hopfield Neural Network,HNN)以及反向傳播神經網絡(Back Propagation Neural Network,BPNN)的分類結果精度與訓練耗時如表4 所示,其中神經網絡模型分類結果由已有成熟平臺訓練得出[10]。

表4 分類結果精度與耗時
通過對比表4 數據可以得出,針對航天員產生的微小信號,使用小波去噪后,PCA-SVM 組合算法精度更高,耗時更短,適用于高標準的未知信號分類。
使用小波算法進行預處理后,SNR得到明顯提升,且特征向量提取準度高,為后續的機械學習及樣本訓練提供了堅實的基礎。PCA 算法在特征矩陣中進一步突出特征值,保留原始信號的同時降低非噪聲不明顯特征數據的權值,使得分類平面構建更加簡便準確。
文章提出了一種基于小波處理的SVM 數據分類算法,通過小波進行預處理,去噪后信噪比與特征提取正確率明顯改善。同時,加入主成分分析的SVM算法也將分類正確率從97.8%提高至99%以上,分類時間控制在5 s內,滿足對心電信號實時分類的要求。綜上所述,該組合算法性能優越,是一種精度高、耗時短的綜合性算法。