信號(hào)故障診斷:從信號(hào)處理到智能算法的完整實(shí)踐)
1. 項(xiàng)目概述從振動(dòng)信號(hào)到故障診斷的完整鏈路在工業(yè)設(shè)備運(yùn)維領(lǐng)域齒輪箱作為旋轉(zhuǎn)機(jī)械的核心傳動(dòng)部件其健康狀態(tài)直接關(guān)系到整條生產(chǎn)線的穩(wěn)定與安全。傳統(tǒng)的定期檢修或事后維修模式不僅成本高昂還可能因突發(fā)故障導(dǎo)致非計(jì)劃停機(jī)造成巨大經(jīng)濟(jì)損失。因此基于狀態(tài)的預(yù)測(cè)性維護(hù)CBM成為了主流趨勢(shì)而振動(dòng)信號(hào)分析則是實(shí)現(xiàn)這一目標(biāo)最成熟、最有效的手段之一。這個(gè)項(xiàng)目就是圍繞“齒輪箱振動(dòng)信號(hào)分析和故障診斷”展開(kāi)的一次深度實(shí)踐。簡(jiǎn)單來(lái)說(shuō)我們的目標(biāo)是通過(guò)采集齒輪箱運(yùn)行時(shí)的振動(dòng)信號(hào)利用信號(hào)處理技術(shù)“翻譯”這些看似雜亂的波形從中提取出能夠表征設(shè)備健康狀況的特征并最終通過(guò)智能算法判斷是否存在故障、以及是何種故障。整個(gè)過(guò)程就像一位經(jīng)驗(yàn)豐富的“設(shè)備醫(yī)生”通過(guò)聽(tīng)診器傳感器獲取心跳振動(dòng)信號(hào)再結(jié)合專業(yè)知識(shí)分析算法做出診斷。本次分享將結(jié)合我實(shí)際處理過(guò)的案例和附帶的Matlab源碼為你拆解從數(shù)據(jù)到結(jié)論的每一個(gè)關(guān)鍵環(huán)節(jié)讓你不僅能跑通代碼更能理解背后的“為什么”。2. 齒輪箱振動(dòng)信號(hào)的物理本質(zhì)與采集要點(diǎn)要分析信號(hào)首先得理解信號(hào)的來(lái)源。齒輪箱的振動(dòng)并非憑空產(chǎn)生它本質(zhì)上是內(nèi)部動(dòng)力學(xué)行為的對(duì)外表現(xiàn)。2.1 振動(dòng)信號(hào)的產(chǎn)生機(jī)理當(dāng)一對(duì)齒輪嚙合時(shí)齒面間的相互作用力是周期性變化的。理想情況下如果齒輪絕對(duì)完美、安裝絕對(duì)對(duì)中、負(fù)載絕對(duì)平穩(wěn)那么產(chǎn)生的振動(dòng)信號(hào)將是一個(gè)純凈的、與齒輪嚙合頻率及其倍頻相關(guān)的周期信號(hào)。然而現(xiàn)實(shí)世界不存在“絕對(duì)”。任何微小的缺陷如齒面磨損、點(diǎn)蝕、斷齒或者安裝問(wèn)題如同軸度誤差、軸承游隙都會(huì)在嚙合力上疊加一個(gè)“調(diào)制”效應(yīng)。例如一個(gè)齒輪的齒面上有一個(gè)局部剝落點(diǎn)蝕。每當(dāng)這個(gè)有缺陷的齒參與嚙合時(shí)就會(huì)產(chǎn)生一個(gè)額外的沖擊。這個(gè)沖擊會(huì)激發(fā)齒輪箱結(jié)構(gòu)軸、軸承、箱體的固有頻率產(chǎn)生一個(gè)衰減振蕩。因此我們最終采集到的振動(dòng)信號(hào)實(shí)際上是嚙合頻率的載波信號(hào)被軸的旋轉(zhuǎn)頻率故障特征頻率所調(diào)制并疊加了各種結(jié)構(gòu)共振響應(yīng)和背景噪聲的復(fù)雜混合體。理解這個(gè)“調(diào)制-載波”模型是后續(xù)所有分析的基礎(chǔ)。2.2 數(shù)據(jù)采集的關(guān)鍵參數(shù)設(shè)置采集是第一步也是最容易埋下坑的一步。很多人拿到數(shù)據(jù)就直接開(kāi)分析結(jié)果可能從一開(kāi)始就錯(cuò)了。這里有幾個(gè)必須死磕的參數(shù)采樣頻率Fs根據(jù)奈奎斯特采樣定理要無(wú)失真地還原信號(hào)采樣頻率必須大于信號(hào)最高頻率成分的2倍。齒輪箱振動(dòng)的高頻成分通常與軸承故障或結(jié)構(gòu)共振相關(guān)可能高達(dá)數(shù)千Hz。一般經(jīng)驗(yàn)是采樣頻率至少設(shè)置為分析感興趣的最高頻率的2.56倍以上。例如若關(guān)心10kHz的成分Fs至少設(shè)為25.6kHz。在Matlab源碼中這個(gè)參數(shù)通常以Fs 25600;的形式在開(kāi)頭定義務(wù)必根據(jù)你的傳感器和數(shù)采設(shè)備能力進(jìn)行匹配設(shè)置。采樣時(shí)長(zhǎng)與數(shù)據(jù)長(zhǎng)度采樣時(shí)長(zhǎng)決定了頻率分辨率Δf Fs / N N為采樣點(diǎn)數(shù)。對(duì)于低頻的故障特征如軸的轉(zhuǎn)頻可能只有十幾Hz需要足夠長(zhǎng)的數(shù)據(jù)才能將其與鄰近的譜線區(qū)分開(kāi)。例如若要分辨0.1Hz的差異理論上需要至少10秒的數(shù)據(jù)Δf 0.1Hz。在實(shí)際項(xiàng)目中我通常會(huì)采集多段、每段不少于10秒的數(shù)據(jù)以兼顧頻率分辨率和統(tǒng)計(jì)分析的需求。傳感器安裝與測(cè)點(diǎn)選擇安裝位置直接影響信號(hào)質(zhì)量。通常傳感器應(yīng)安裝在軸承座附近并盡量靠近負(fù)載側(cè)。方向也很關(guān)鍵徑向水平和垂直對(duì)齒輪嚙合和軸承故障敏感軸向?qū)Σ粚?duì)中故障更敏感。在源碼的數(shù)據(jù)加載部分你需要明確知道每個(gè)通道數(shù)據(jù)對(duì)應(yīng)的測(cè)點(diǎn)位置和方向。注意源碼中通常直接加載load(‘vibration_data.mat’)。在你自己操作時(shí)務(wù)必先檢查數(shù)據(jù)的采樣頻率、單位和物理意義。一個(gè)常見(jiàn)的錯(cuò)誤是數(shù)據(jù)是加速度信號(hào)單位 m/s2但誤以為是速度或位移導(dǎo)致后續(xù)特征量綱錯(cuò)誤。3. 信號(hào)預(yù)處理從原始波形到可分析信號(hào)原始振動(dòng)信號(hào)幾乎總是包含大量無(wú)關(guān)噪聲和干擾直接分析就像在喧鬧的菜市場(chǎng)里聽(tīng)心跳。預(yù)處理的目的就是“降噪”和“提純”。3.1 趨勢(shì)項(xiàng)去除與直流分量消除設(shè)備緩慢的溫度漂移或傳感器的零漂會(huì)在信號(hào)中引入非常低頻的趨勢(shì)項(xiàng)。這本身不是故障信息但會(huì)嚴(yán)重影響后續(xù)的時(shí)域統(tǒng)計(jì)特征如均方根值和頻域分析。在Matlab中最簡(jiǎn)單的去除方法是直接減去信號(hào)的均值消除直流并用detrend函數(shù)去除線性或高階趨勢(shì)項(xiàng)。% 假設(shè)原始信號(hào)為 x_raw x_detrended detrend(x_raw - mean(x_raw)); % 先去直流再去趨勢(shì)3.2 數(shù)字濾波器的選擇與應(yīng)用濾波是預(yù)處理的核心。我們需要根據(jù)故障特征頻率的大致范圍設(shè)計(jì)合適的帶通濾波器只保留感興趣的頻段。高通濾波用于去除低頻的軸頻振動(dòng)和干擾突出齒輪嚙合及其調(diào)制的高頻成分。截止頻率通常設(shè)置在幾倍軸頻以上。低通濾波用于防止高頻噪聲干擾并滿足采樣定理的抗混疊要求。截止頻率應(yīng)略低于你關(guān)心的最高分析頻率。帶通濾波最常用。直接保留以齒輪嚙合頻率為中心的一個(gè)頻帶。在Matlab中我強(qiáng)烈推薦使用designfilt函數(shù)來(lái)設(shè)計(jì)FIR或IIR濾波器因?yàn)樗峁┝烁庇^和穩(wěn)定的設(shè)計(jì)流程。相比于舊的butter、cheby1等函數(shù)designfilt能更好地控制通帶紋波和阻帶衰減。% 設(shè)計(jì)一個(gè)通帶為1000Hz到5000Hz的帶通濾波器 bpFilt designfilt(‘bandpassiir’, ‘FilterOrder’, 8, … ‘HalfPowerFrequency1’, 1000, ‘HalfPowerFrequency2’, 5000, … ‘SampleRate’, Fs); % 應(yīng)用濾波器 x_filtered filtfilt(bpFilt, x_detrended); % 使用零相位濾波filtfilt避免相位失真這里的關(guān)鍵是使用filtfilt進(jìn)行零相位濾波。普通的filter函數(shù)會(huì)引入相位延遲扭曲信號(hào)的時(shí)域形狀這對(duì)于后續(xù)需要精確時(shí)間定位的分析如包絡(luò)分析是致命的。filtfilt通過(guò)前向和反向兩次濾波抵消了相位失真是振動(dòng)信號(hào)處理的標(biāo)配操作。3.3 信號(hào)分割與樣本生成對(duì)于長(zhǎng)期監(jiān)測(cè)數(shù)據(jù)或需要訓(xùn)練診斷模型的情況我們需要將連續(xù)的長(zhǎng)信號(hào)分割成一個(gè)個(gè)等長(zhǎng)的樣本。這里有一個(gè)細(xì)節(jié)分割時(shí)不要使用簡(jiǎn)單的非重疊分段。這會(huì)導(dǎo)致每個(gè)樣本的起始相位是隨機(jī)的可能恰好把一個(gè)完整的故障沖擊周期切碎破壞樣本的一致性。更好的做法是使用重疊分段。例如樣本長(zhǎng)度2秒重疊率50%。這樣能生成更多樣本提高后續(xù)統(tǒng)計(jì)或機(jī)器學(xué)習(xí)的穩(wěn)定性也減少了因分割不當(dāng)丟失關(guān)鍵信息的風(fēng)險(xiǎn)。在源碼中這個(gè)步驟可能被封裝成一個(gè)函數(shù)你需要關(guān)注其window_length和overlap_ratio這兩個(gè)參數(shù)。4. 時(shí)域與頻域特征提取量化設(shè)備狀態(tài)特征是從信號(hào)中提煉出的、能夠濃縮狀態(tài)信息的數(shù)字指標(biāo)。它們是連接原始數(shù)據(jù)和智能診斷模型的橋梁。4.1 時(shí)域統(tǒng)計(jì)特征最直觀的健康指標(biāo)時(shí)域特征計(jì)算簡(jiǎn)單物理意義明確常用于初步判斷和趨勢(shì)監(jiān)測(cè)。有量綱指標(biāo)峰值Peak對(duì)瞬時(shí)沖擊敏感但易受隨機(jī)噪聲干擾。均方根值RMS反映信號(hào)的平均能量是衡量振動(dòng)烈度的最常用指標(biāo)。RMS值緩慢上升通常意味著均勻磨損。峭度Kurtosis衡量信號(hào)分布形狀的“尖銳”程度。對(duì)于正態(tài)分布的背景振動(dòng)峭度值接近3。當(dāng)出現(xiàn)周期性沖擊故障如點(diǎn)蝕、剝落時(shí)峭度值會(huì)顯著增大遠(yuǎn)大于3因此它對(duì)早期沖擊型故障非常敏感。無(wú)量綱指標(biāo)這類指標(biāo)的優(yōu)勢(shì)在于它們對(duì)載荷和轉(zhuǎn)速的變化相對(duì)不敏感更純粹地反映設(shè)備狀態(tài)。波形指標(biāo)Shape Factor RMS / 絕對(duì)平均值。平穩(wěn)信號(hào)該值穩(wěn)定。峰值指標(biāo)Crest Factor 峰值 / RMS。是診斷局部故障如點(diǎn)蝕、斷齒的經(jīng)典指標(biāo)。故障初期峰值增大而RMS變化不大導(dǎo)致峰值指標(biāo)升高故障嚴(yán)重后RMS大幅上升峰值指標(biāo)反而可能下降。因此它是一個(gè)早期預(yù)警指標(biāo)而非嚴(yán)重程度指標(biāo)。脈沖指標(biāo)Impulse Factor 峰值 / 絕對(duì)平均值。與峰值指標(biāo)類似但對(duì)沖擊更敏感。在Matlab中計(jì)算這些特征非常直接。但要注意計(jì)算前信號(hào)必須經(jīng)過(guò)預(yù)處理去趨勢(shì)、濾波否則結(jié)果毫無(wú)意義。x x_filtered; % 使用預(yù)處理后的信號(hào) rms_val rms(x); peak_val max(abs(x)); kurtosis_val kurtosis(x); crest_factor peak_val / rms_val;4.2 頻域特征定位故障源當(dāng)設(shè)備出現(xiàn)故障時(shí)振動(dòng)能量的分布會(huì)從正常頻段轉(zhuǎn)移到與故障特征頻率相關(guān)的頻段。頻域分析頻譜分析是定位故障類型的“顯微鏡”。幅值譜與功率譜通過(guò)快速傅里葉變換FFT將信號(hào)從時(shí)域轉(zhuǎn)換到頻域。在Matlab中使用pwelch函數(shù)計(jì)算功率譜密度PSD比直接使用fft更佳因?yàn)樗ㄟ^(guò)分段平均減少了隨機(jī)噪聲的影響得到的頻譜更平滑、穩(wěn)定。[pxx, f] pwelch(x, window, noverlap, nfft, Fs); plot(f, 10*log10(pxx)); % 常用分貝(dB)坐標(biāo)顯示 xlabel(‘Frequency (Hz)’); ylabel(‘Power Spectral Density (dB/Hz)’);故障特征頻率計(jì)算這是診斷的核心。你需要知道齒輪箱的幾何參數(shù)軸頻Shaft Frequency FSFS RPM / 60齒輪嚙合頻率Gear Mesh Frequency GMFGMF 齒數(shù) * FS軸承故障頻率如外圈故障頻率BPFO內(nèi)圈故障頻率BPFI與軸承的滾珠數(shù)、接觸角等有關(guān)有固定公式。故障發(fā)生時(shí)在頻譜圖上你通常會(huì)看到 1.GMF及其諧波2×GMF 3×GMF…的幅值顯著增高表明齒輪嚙合狀態(tài)惡化。 2. 在GMF譜線兩側(cè)出現(xiàn)以軸頻FS為間隔的邊頻帶。這表示故障齒輪的轉(zhuǎn)速對(duì)嚙合振動(dòng)產(chǎn)生了調(diào)制。邊頻帶的出現(xiàn)是診斷齒輪局部故障如斷齒的強(qiáng)有力證據(jù)。 3. 出現(xiàn)軸承的故障特征頻率及其諧波。在實(shí)際分析時(shí)我習(xí)慣先計(jì)算所有理論特征頻率然后在頻譜圖上用豎線line函數(shù)標(biāo)記出來(lái)直觀地對(duì)比哪些頻率成分被“激活”了。5. 進(jìn)階分析技術(shù)解調(diào)分析與時(shí)頻分析對(duì)于早期故障或復(fù)雜調(diào)制信號(hào)簡(jiǎn)單的頻譜分析可能力不從心。這時(shí)需要更強(qiáng)大的工具。5.1 包絡(luò)分析解調(diào)分析這是診斷軸承和齒輪早期局部故障的“殺手锏”。故障產(chǎn)生的周期性沖擊能量往往集中在高頻共振頻帶內(nèi)并被低頻的故障特征頻率所調(diào)制。包絡(luò)分析的目的就是提取出這個(gè)調(diào)制信號(hào)即包絡(luò)線然后對(duì)其做頻譜分析從而在強(qiáng)烈的背景噪聲中凸顯出微弱的故障特征頻率。步驟通常如下帶通濾波圍繞一個(gè)結(jié)構(gòu)共振頻帶進(jìn)行濾波放大沖擊響應(yīng)。希爾伯特變換Hilbert Transform計(jì)算解析信號(hào)并取其模值得到包絡(luò)線信號(hào)。對(duì)包絡(luò)線信號(hào)做頻譜分析此時(shí)得到的頻譜稱為“包絡(luò)譜”其中突出的頻率成分就是故障特征頻率。% 1. 帶通濾波假設(shè)已設(shè)計(jì)好濾波器bpFilt_resonance x_band filtfilt(bpFilt_resonance, x); % 2. 希爾伯特變換求包絡(luò) x_analytic hilbert(x_band); x_envelope abs(x_analytic); % 3. 對(duì)包絡(luò)信號(hào)做頻譜分析可再次用pwelch [penv, fenv] pwelch(x_envelope, window, noverlap, nfft, Fs); % 在包絡(luò)譜中尋找故障特征頻率如軸承的BPFI5.2 時(shí)頻分析觀察非平穩(wěn)信號(hào)當(dāng)設(shè)備轉(zhuǎn)速變化如啟動(dòng)、停機(jī)或負(fù)載波動(dòng)時(shí)信號(hào)的頻率成分會(huì)隨時(shí)間變化這時(shí)傳統(tǒng)的FFT認(rèn)為信號(hào)是平穩(wěn)的就失效了。時(shí)頻分析能同時(shí)展示頻率和時(shí)間的關(guān)系。短時(shí)傅里葉變換STFT最直觀的時(shí)頻方法。Matlab中的spectrogram函數(shù)可以方便實(shí)現(xiàn)。你需要選擇合適的時(shí)間窗如漢寧窗和窗長(zhǎng)。窗長(zhǎng)越長(zhǎng)頻率分辨率越高但時(shí)間定位越模糊反之亦然。這是一個(gè)需要權(quán)衡的參數(shù)。小波變換Wavelet Transform比STFT更靈活能自適應(yīng)地調(diào)整時(shí)頻分辨率低頻處頻率分辨率高高頻處時(shí)間分辨率高。對(duì)于捕捉瞬態(tài)沖擊非常有效。Matlab的Wavelet Toolbox提供了cwt連續(xù)小波變換等函數(shù)。在診斷變速運(yùn)行下的齒輪箱故障時(shí)我通常會(huì)先用STFT做一個(gè)全局觀察如果發(fā)現(xiàn)頻率成分隨時(shí)間有規(guī)律地變化再用更精細(xì)的小波變換去分析特定時(shí)刻的沖擊特征。6. 基于機(jī)器學(xué)習(xí)的智能診斷模型構(gòu)建當(dāng)提取了大量特征后如何自動(dòng)、準(zhǔn)確地判斷故障類型這就需要機(jī)器學(xué)習(xí)模型。本項(xiàng)目源碼很可能包含了這一部分。6.1 特征數(shù)據(jù)集構(gòu)建首先你需要一個(gè)帶標(biāo)簽的數(shù)據(jù)集。假設(shè)你有四種狀態(tài)的數(shù)據(jù)正常、齒輪磨損、齒根裂紋、軸承外圈故障。對(duì)每一段振動(dòng)數(shù)據(jù)你都按照第4節(jié)的方法提取一組特征例如包括時(shí)域的RMS、峭度、峰值指標(biāo)頻域在GMF、FS等處的幅值等形成一個(gè)特征向量。所有樣本的特征向量堆疊起來(lái)就構(gòu)成了特征矩陣X對(duì)應(yīng)的標(biāo)簽構(gòu)成向量Y。6.2 特征選擇與降維不是所有特征都是有用的。有些特征可能彼此高度相關(guān)共線性有些可能與故障類型無(wú)關(guān)。直接使用所有特征可能會(huì)拖累模型性能。常用方法有過(guò)濾法計(jì)算每個(gè)特征與標(biāo)簽的相關(guān)性如方差分析ANOVA選擇相關(guān)性最高的。包裹法如遞歸特征消除RFE直接以模型性能為評(píng)價(jià)標(biāo)準(zhǔn)來(lái)篩選特征。降維主成分分析PCA可以將高維特征映射到低維空間同時(shí)保留大部分信息。在Matlab中pca函數(shù)可以輕松實(shí)現(xiàn)。[coeff, score, latent] pca(X_normalized); % X_normalized是標(biāo)準(zhǔn)化后的特征矩陣 explained 100 * latent / sum(latent); % 選擇累積貢獻(xiàn)率超過(guò)95%的前幾個(gè)主成分作為新特征 cumsum_explained cumsum(explained); num_components find(cumsum_explained 95, 1); X_pca score(:, 1:num_components);6.3 分類模型訓(xùn)練與評(píng)估將處理后的數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集通常73或82。然后選擇合適的分類器進(jìn)行訓(xùn)練。支持向量機(jī)SVM在小樣本、高維特征下表現(xiàn)優(yōu)異是故障診斷領(lǐng)域的常客。關(guān)鍵是核函數(shù)線性、高斯核等和懲罰參數(shù)C的選擇。隨機(jī)森林Random Forest集成學(xué)習(xí)算法抗過(guò)擬合能力強(qiáng)能給出特征重要性排序解釋性較好。淺層神經(jīng)網(wǎng)絡(luò)如多層感知機(jī)MLP具有強(qiáng)大的非線性擬合能力。在Matlab中可以使用Classification Learner App進(jìn)行快速模型嘗試和比較也可以直接用代碼調(diào)用fitcsvmTreeBagger隨機(jī)森林等函數(shù)。% 以SVM為例 svmModel fitcsvm(X_train, Y_train, ‘KernelFunction’, ‘rbf’, ‘Standardize’, true); Y_pred predict(svmModel, X_test); accuracy sum(Y_pred Y_test) / numel(Y_test);一個(gè)至關(guān)重要的實(shí)操心得務(wù)必進(jìn)行交叉驗(yàn)證。不要只在一個(gè)固定的訓(xùn)練/測(cè)試集上評(píng)估模型。使用cvpartition和crossval函數(shù)進(jìn)行k折交叉驗(yàn)證得到的性能評(píng)估才更可靠。此外要關(guān)注混淆矩陣而不僅僅是準(zhǔn)確率。混淆矩陣能告訴你模型具體在哪些類別上容易混淆這對(duì)于改進(jìn)特征或模型至關(guān)重要。7. 源碼導(dǎo)讀與實(shí)戰(zhàn)中的關(guān)鍵調(diào)試技巧拿到“含Matlab源碼 4417期”這樣的資源如何最高效地利用它我的建議是不要直接運(yùn)行了事而要把它當(dāng)作一個(gè)“活”的教程。7.1 源碼結(jié)構(gòu)解析一個(gè)完整的故障診斷項(xiàng)目源碼通常包含以下模塊你可以按圖索驥主腳本main.m 或 run_diagnosis.m程序的入口控制整個(gè)流程。數(shù)據(jù)加載與預(yù)處理模塊loadData.m preprocess.m負(fù)責(zé)讀取數(shù)據(jù)文件進(jìn)行去趨勢(shì)、濾波等操作。這是你第一個(gè)要檢查的地方確認(rèn)數(shù)據(jù)路徑和格式。特征提取模塊extractFeatures.m封裝了時(shí)域、頻域、時(shí)頻域特征的計(jì)算函數(shù)。仔細(xì)閱讀理解每個(gè)特征的計(jì)算公式和物理意義。診斷模型模塊trainModel.m testModel.m包含模型訓(xùn)練、評(píng)估的代碼。關(guān)注模型類型、參數(shù)設(shè)置和評(píng)估指標(biāo)。可視化模塊plotResults.m繪制時(shí)域波形、頻譜圖、包絡(luò)譜、混淆矩陣等。好的可視化是理解結(jié)果的關(guān)鍵。7.2 常見(jiàn)問(wèn)題與調(diào)試策略即使有了源碼在你的環(huán)境和數(shù)據(jù)上運(yùn)行也大概率不會(huì)一帆風(fēng)順。以下是我踩過(guò)的一些坑問(wèn)題一數(shù)據(jù)加載失敗提示“文件未找到”或“變量不存在”。解決檢查load語(yǔ)句中的文件路徑是絕對(duì)路徑還是相對(duì)路徑。最好將數(shù)據(jù)文件放在與腳本相同的目錄下并使用fullfile函數(shù)構(gòu)建路徑增強(qiáng)代碼可移植性。dataPath fullfile(pwd, ‘data’, ‘gear_vibration.mat’); % pwd代表當(dāng)前文件夾 load(dataPath);問(wèn)題二運(yùn)行到FFT或?yàn)V波時(shí)數(shù)組維度報(bào)錯(cuò)。解決使用size和whos命令仔細(xì)檢查每一步處理后數(shù)據(jù)的維度。確保傳遞給fftfilter等函數(shù)的是向量如Nx1而不是矩陣如1xN或其他形狀。必要時(shí)使用轉(zhuǎn)置’或squeeze函數(shù)調(diào)整維度。問(wèn)題三頻譜圖看起來(lái)不對(duì)全是噪聲或沒(méi)有明顯譜線。排查檢查采樣頻率Fs是否設(shè)置正確如果Fs設(shè)得太大頻譜會(huì)集中在左側(cè)低頻區(qū)。檢查信號(hào)幅值原始信號(hào)幅值是否過(guò)小可能是傳感器靈敏度或采集量程設(shè)置問(wèn)題。檢查預(yù)處理是否做了正確的帶通濾波也許有用的信號(hào)頻帶被你濾掉了。嘗試先不做濾波直接看全頻段頻譜找到能量集中的頻帶。檢查繪圖代碼是否用了plot(f, abs(X))而不是plot(f, abs(X).^2/N)或plot(f, 10*log10(pxx))前者是幅度譜后者是功率譜或功率譜密度后者更能突出周期性成分。問(wèn)題四機(jī)器學(xué)習(xí)模型準(zhǔn)確率始終很低~50% 相當(dāng)于隨機(jī)猜。排查特征是否有效回到第4步手動(dòng)檢查一下不同故障狀態(tài)下的特征如峭度、RMS是否有顯著差異。如果特征本身沒(méi)有區(qū)分度再好的模型也無(wú)能為力。數(shù)據(jù)標(biāo)簽是否正確確認(rèn)你的Y向量中的標(biāo)簽與X矩陣中的樣本是否一一對(duì)應(yīng)沒(méi)有錯(cuò)位。特征是否需要標(biāo)準(zhǔn)化如果特征量綱差異巨大如RMS是0.1量級(jí)頻域某幅值是1000量級(jí)必須先進(jìn)行標(biāo)準(zhǔn)化zscore或歸一化否則模型會(huì)被大數(shù)值特征主導(dǎo)。模型是否過(guò)擬合或欠擬合繪制學(xué)習(xí)曲線。如果訓(xùn)練集準(zhǔn)確率高而測(cè)試集低是過(guò)擬合需要增加數(shù)據(jù)、簡(jiǎn)化模型或加強(qiáng)正則化。如果兩者都低是欠擬合需要增加特征復(fù)雜度或換用更強(qiáng)模型。7.3 從“跑通”到“精通”改造與優(yōu)化源碼當(dāng)你成功運(yùn)行源碼后可以嘗試以下步驟深化理解更換數(shù)據(jù)找一些公開(kāi)的軸承或齒輪箱故障數(shù)據(jù)集如凱斯西儲(chǔ)大學(xué)CWRU數(shù)據(jù)集代入代碼看是否依然有效。修改參數(shù)嘗試調(diào)整濾波器的截止頻率、FFT的點(diǎn)數(shù)nfft、機(jī)器學(xué)習(xí)模型的超參數(shù)如SVM的核函數(shù)和C值觀察結(jié)果如何變化理解每個(gè)參數(shù)的作用。增加新特征根據(jù)你對(duì)故障機(jī)理的理解在特征提取模塊中加入新的特征比如計(jì)算包絡(luò)譜的熵值作為新特征看看能否提升模型性能。嘗試新模型把源碼中的SVM換成隨機(jī)森林或簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)比較性能差異。這個(gè)過(guò)程就是從“會(huì)用工具”到“創(chuàng)造工具”的進(jìn)階之路。齒輪箱故障診斷是一個(gè)理論與實(shí)踐緊密結(jié)合的領(lǐng)域每一個(gè)參數(shù)背后都有其物理和數(shù)學(xué)含義。希望這份結(jié)合了原理、步驟和實(shí)戰(zhàn)心得的指南能幫助你不僅運(yùn)行起那4417期源碼更能真正掌握從振動(dòng)信號(hào)中“聽(tīng)”出故障這門手藝建立起一套屬于自己的分析診斷體系。