机械传动状态监测的圈子里,振动分析是绝对的主力,但齿轮箱这类多级传动装置有一件事长期困扰我:传感器装在外壳上,测到的信号是好几条路径混在一起的复合结果。轴承座、箱体螺栓、联轴器侧、负载端,每个位置都在传导振动,单纯看频谱幅值根本分不清到底哪一路来源在恶化。传递路径分析(TPA,Transfer Path Analysis)就是用来拆解这个混叠问题的。早期车型噪声控制和航空航天结构动力学里用得多,后来故障诊断领域也发现它对齿轮箱特别管用。这篇文章我按自己踩过的流程来写:从原理、仿真信号构造、Matlab实现到实际诊断中的坑,一步步走通齿轮系统的TPA故障诊断。
1. 齿轮故障不等于响应故障:传递路径分析要解决的第一件事
先举一个我测绘时遇过的真实场景。一台二级圆柱齿轮减速机,输出端轴承座垂直方向振动从6.3 mm/s涨到8.9 mm/s,现场判断是高速轴齿轮点蚀加重。可等拆开检查,高速轴齿轮只有轻微磨损,反倒是低速轴大齿轮的齿面出现了两处明显剥落。为什么传感器离高速轴更近,测到的幅值却更多反映低速轴故障?这就牵扯到传递路径的刚度和阻尼差异——高速轴通过轴承座传递到箱体顶面的路径短、刚度高,但齿面故障激励的低频分量经过离合器、负载端法兰时衰减小,所以低速轴剥落激起的冲击反而在传感器位置贡献更大。只看传感器响应幅值,永远无法区分"故障激励本身变大"和"传递路径特性发生变化"。
TPA的核心思路其实是做工程上的"因果拆解":假设存在N个激励源,每个激励源$F_i$经过各自的结构传递函数$H_i$到达传感器位置,那么传感器测得的响应可写成:
$$ y(\omega) = \sum_{i=1}^{N} H_i(\omega) \cdot F_i(\omega) $$
把$F_i$识别出来,再乘上对应的$H_i$得到每个源到响应的贡献量,就能知道振动恶化到底是哪条路径、哪个激励源导致的。齿轮箱诊断比整车NVH简单的地方在于:激励源位置相对固定,轴承座就是那几个,箱体螺栓点也就那几个;难的地方又在于——齿轮啮合激励本身频率成分丰富,宽频带下路径传递函数的变化非常敏感。
1.1 振动信号从齿轮到传感器的三层衰减
要理解TPA为什么对齿轮系统有效,先得理解振动从产生到被传感器记录经历的三层环节。
- 激励源头:齿轮啮合产生的动态啮合力,包含啮合频率$f_m = z \cdot f_r$(z为齿数,$f_r$为转频)及其谐波,还有因轮齿局部故障(点蚀、剥落、裂纹)产生的边带调制成分,比如$\pm k f_r$频率处的边带。
- 传递媒介:激励力通过齿轮轴、轴承、轴承座、箱体壁面、螺栓连接面等多条路径传到传感器安装点。每一条路径都有各自的频响特性,刚度大的路径高频衰减小,薄壁箱体面板的共振会放大特定频段。
- 响应拾取:加速度传感器测到的是位移/速度/加速度响应,传感器安装方式(磁座、胶粘、螺纹安装)对高频段的响应影响非常明显,磁座安装的共振频率通常在2-5kHz,超出这个范围高频信号会被严重衰减。
前两层是TPA能发挥作用的地方,第三层则是测量必须注意的干扰。许多刚开始做齿轮箱故障诊断的人,第一反应是提高传感器灵敏度、加密采样点,却忽略了传递路径这个中间变量。实际上,齿轮箱维护记录里有大量"振动报警但拆机没问题"的案例,不是齿轮状态不好,而是箱体共振峰漂移、螺栓松动导致路径特性改变,原始激励并未恶化。TPA就是用来避免这种误判的。
1.2 TPA思路在齿轮箱场景下的简化成立条件
整车NVH中的TPA常常需要拆掉动力总成、用激振器测量各路径的频响,工作量不小。但齿轮箱诊断里,我们通常关心的是相对变化而非绝对精度,所以可以做两个合理简化:
第一,把齿轮箱箱体视为线性时不变系统。在转速和负载稳定时,齿轮箱结构特性的变化远小于故障特征的演变,线性假设成立。即使存在轴承非线性(游隙、滚动体打滑),其对啮合频率和边带的调制作用仍然可以近似为线性叠加。
第二,用故障特征频率作为"虚拟激励源"进行路径解耦。我们不直接测啮合力(那需要贴应变片或测扭矩),而是对传感器响应进行带通滤波,提取啮合频率、边带或冲击成分作为分析对象。等效的激励$F_i$由不同故障源产生,通过TPA可以解算出每个假想故障源到传感器的传递贡献。
这样操作下来,TPA在齿轮箱诊断中就变成一个体系化的信号处理流程:
- 构造包含故障特征的仿真信号,验证算法链路;
- 实测时测量频响函数(FRF)或利用工作状态数据进行路径分离;
- 对响应信号进行同步分析,识别激励力谱;
- 计算各路径贡献量,结合阶次和边带特征判定故障位置与类型。
下面的内容就按这条链路展开。先把数学上需要的基本量讲清楚,再给Matlab实现。
2. TPA的两条腿:频响函数测量和载荷识别
TPA的数学表达听起来不复杂,难在两个地方:怎样拿到准确的频响函数$H_i(\omega)$,以及怎样反演激励力$F_i(\omega)$。这两件事分别对应"路径特性"和"源强度",是任何TPA方法绕不开的核心。
2.1 频响函数的两种获取路径及其适用场景
频响函数本质上是系统输出与输入之比,数学上定义:
$$H(\omega) = \frac{Y(\omega)}{X(\omega)}$$
其中$Y(\omega)$是响应谱,$X(\omega)$是激励谱。获得齿轮箱路径的$H(\omega)$,通常有两条路:
- 试验法(经典TPA):齿轮箱停机状态下,用力锤或激振器在各轴承座、箱体耦合点激励,同时测量激励力和响应加速度,计算FRF。优势是信噪比高、结果稳定,适合在实验室环境标定各路径的绝对特性。缺点是设备停机成本高,而且激励方向与实际运行载荷方向有差异,容易引入误差。
- 工作状态法(运行TPA / OPA):直接在设备运行状态下采集响应信号,利用多通道响应的互功率谱和传递率矩阵估算路径特性。优势是不打扰设备正常工作、适合在线监测,但矩阵求逆存在病态风险,需要在算法上做正则化处理。
齿轮箱故障诊断实践中我的经验是:如果做科研课题或设备有定期检修窗口,优先用试验法标定一次路径FRF,存成数据库;如果完全不能停机,就采用运行TPA配合奇异值截断(SVD截断)处理。
2.2 载荷识别中的矩阵求逆问题和正则化策略
识别激励力$F_i$在数学上等价于求解:
$$ \mathbf{F} = \mathbf{H}^{-1} \mathbf{Y} $$
其中$\mathbf{H}$是频响函数矩阵,$\mathbf{Y}$是响应向量。这个矩阵求逆在齿轮箱频段上经常会碰壁。原因不复杂:频响函数矩阵的条件数往往很大,尤其当两条路径的传递特性相似(比如两个对称布置的轴承座),矩阵接近奇异,逆矩阵对测量噪声极度敏感,求解出来的载荷可能物理上不可信。
解决手段通常有三种:
- SVD截断:对$\mathbf{H}$做奇异值分解$\mathbf{H}=\mathbf{U}\mathbf{\Sigma}\mathbf{V}^T$,把小于最大奇异值1%的奇异值直接置零,舍弃无效子空间,降低噪声放大。
- Tikhonov正则化:在求逆时加入阻尼项,即$(H^H H + \lambda I)^{-1} H^H$,$\lambda$根据L曲线准则选择。这个做法能保证解的稳定性,但会让载荷幅值偏小,后续计算贡献量时需要修正。
- 多参考点冗余测量:设置多于激励源数量的传感器测点,方程变成最小二乘解,配合QR分解挑选主贡献路径,提升抗噪性。
2.3 表达式完整梳理:贡献量的最终计算公式
在MATLAB实现中,通常按如下流程组织和计算:
假设有$m$个响应通道(传感器测点)、$n$个激励源(路径),频响函数矩阵$\mathbf{H}$维度为$m \times n$,响应谱矩阵为$m \times 1$。先估算载荷:
$$ \mathbf{F}(\omega) = \left[\mathbf{H}^H(\omega)\mathbf{H}(\omega) + \lambda \mathbf{I}\right]^{-1} \mathbf{H}^H(\omega) \cdot \mathbf{Y}(\omega) $$
然后计算每条路径对第$j$个响应点的贡献量:
$$ c_i^{(j)}(\omega) = H_{j,i}(\omega) \cdot F_i(\omega) $$
进一步对故障诊断有意义的是各路径贡献占总响应的比例,也叫贡献权重:
$$ r_i^{(j)}(\omega) = \frac{|c_i^{(j)}(\omega)|^2}{\sum_{k=1}^{n} |c_k^{(j)}(\omega)|^2} $$
这个权重用于回答"哪个位置或哪条路径主导了当前振动水平"的问题。下文的Matlab实现里会完整走一遍这个链路。
3. 齿轮啮合激励与边带特征:先构造一个能自证的仿真信号
没有一套干净的仿真信号作为基准,TPA算法写出来也很难验证。我常用一个"仿真激励+多路径混合"的流程来搭建测试环境。这个流程至少有两层价值:第一,验证TPA程序能从混合信号中恢复出已知答案;第二,用仿真中的参数扰动来模拟不同故障类型,观察路径贡献的变化趋势。
3.1 齿轮啮合激励的解析表达式
正常齿轮运转时,啮合刚度周期性变化,产生周期性的动态啮合力。用一个带多谐波的解析模型可以很好地描述:
$$ F_{mesh}(t) = \sum_{k=1}^{N_h} A_k \cos(2\pi k f_m t + \phi_k) $$
其中$A_k$是第$k$阶啮合谐波的幅值,$\phi_k$是对应相位。实际齿轮箱中,啮合力的幅值随负载增加而增大,谐波次数越高衰减越快,一般取到4~6阶谐波就能覆盖有效频率范围。
故障状态下,啮合力的幅值/相位会被转频$f_r$调制,形成边带。局部故障(单齿剥落或裂纹)的经典调制模型是:
$$ F_{fault}(t) = \left[1 + m_a \cos(2\pi f_r t + \theta_a)\right] \cdot F_{mesh}(t) $$
其中$m_a$是幅值调制深度。展开后在频谱上体现为以啮合频率为中心、左右各间隔$f_r$的边带成分。分布式故障(如均匀磨损)则更多影响啮合波的相位,产生相位调制,边带结构更复杂。
3.2 三条典型传递路径的数学模型
齿轮箱中从激励点到传感器的路径不外乎三种类型:直接短路径、通过轴承座的长路径、以及经过箱体面板共振的共振路径。我用三类频响函数来代表它们:
- 直接短路径:刚度高、阻尼小,幅值平坦,相位近似线性,适合用二阶弹簧阻尼系统的频响函数近似:
$$H_1(f) = \frac{k_1}{(2\pi f)^2 m_1 + j(2\pi f) c_1 + k_1}$$
- 长路径:经过多个界面(轴→轴承→轴承座→箱体→传感器),传递函数中叠加多个共振峰:
$$H_2(f) = \sum_{p=1}^{P} \frac{\alpha_p}{f_p^2 - f^2 + j 2\zeta_p f_p f}$$
- 面板共振路径:箱体薄壁结构在特定频率(通常在1-3kHz)产生强共振,可以用高Q值单峰叠加表示。
在仿真中,我设定激励源为齿轮啮合力$F_{mesh}$,三条路径分别乘上$H_1$、$H_2$、$H_3$,再加测量噪声,合成传感器响应。
3.3 仿真信号生成的MATLAB代码
下面这段代码能直接生成一个带故障边带的齿轮啮合信号,并通过三条路径混合出传感器响应。先搭信号源,再做TPA验证。
% 齿轮系统TPA仿真信号生成,故障诊断验证用 fs = 20480; % 采样率 20.48kHz t_total = 4; % 分析时长4秒 t = (0:1/fs:t_total-1/fs)'; fr = 24; % 输入轴转频 24Hz(约1440rpm) z1 = 23; % 驱动齿轮齿数,啮合频率约552Hz fm = fr * z1; % 啮合频率 % 啮合力:取4阶谐波,幅值递减 A = [1.00, 0.52, 0.25, 0.10]; % 故障调制深度 ma = 0.45; % 局部故障相对明显 fm_signal = zeros(size(t)); for k = 1:4 fm_signal = fm_signal + A(k) * cos(2*pi*k*fm*t + 0.3*k); end % 局部故障边带(幅值调制) fault_signal = (1 + ma * cos(2*pi*fr*t + 0.8)) .* fm_signal; % 样本点序号 f = (0:length(t)-1)' / t_total; % 三条路径的频响函数(离散频率上构造) % 路径1:直接短路径,近似平坦,相位滞后 H1 = 1.2 * exp(-1j * 2*pi*f * 0.0008); % 路径2:带两个共振峰的长路径 H2 = 0.15 ./ (1 - (f/820).^2 + 1j*0.03*(f/820)) + ... 0.30 ./ (1 - (f/2300).^2 + 1j*0.02*(f/2300)); H3 = 0.8 * exp(-1j*2*pi*f*0.0003) ./ (1 + 1j*2*pi*f*0.001); % 修正接近直流端的异常 H1(1) = 0; H2(1) = 0; H3(1) = 0; % 频域相乘,构造响应 F_fft = fft(fault_signal); Y1_f = F_fft .* H1; Y2_f = F_fft .* H2; Y3_f = F_fft .* H3; y_sensor = ifft(Y1_f + Y2_f + Y3_f, 'symmetric'); y_sensor = y_sensor + 0.02 * randn(size(y_sensor)); % 加白噪声代码里的参数取值体现了几个实测经验:啮合频率谐波幅值按指数衰减;故障调制深度0.45算比较明显的局部故障;路径2的两个共振峰设置在820Hz和2.3kHz,对应常见齿轮箱箱体薄壁共振频段。生成$y_sensor$后,就可以作为后续TPA分析的"待分解"对象。
3.4 为什么用三个路径而不是七个
读者可能会问:真实齿轮箱箱体上螺栓、加强筋、法兰一大堆,三条路径够用吗?这里有一个关键工程权衡:路径数的增加会成倍放大矩阵求逆的病态性。路径越少、越聚焦,TPA解算越稳定。我的建议是:诊断场景优先保证路径彼此的低相似性,目标是把"传到传感器能量最大的三五个通道"找出来,而不是追求覆盖所有物理连接。在后面的实测案例分析中,就是因为加了太多相似路径才出现矩阵奇异的问题,这个下文会详细展开。
4. 用Matlab走通TPA诊断流程:从通道归一化到贡献量排序
仿真信号有了,现在写TPA主流程。核心步骤是:把传感器信号做频域分解,构造频响矩阵,正则化求逆得到各路径载荷,再计算路径贡献量并按故障特征频率提取权值。
4.1 频响矩阵构造和测量通道归一化
在实际诊断中,路径的频响矩阵$\mathbf{H}$来自试验法测量或有限元计算。仿真里我直接把上述$H_1$、$H_2$、$H_3$作为"已知"真值,额外加少量扰动模拟测量误差。矩阵的行对应传感器测点,列对应传递路径。这里构造3个测点、3条路径,矩阵是方阵。
在实际操作中,不同传感器通道之间有幅值灵敏度差异(通常在3%以内)和相位偏差,因此必须做归一化。我习惯对每条路径的频响函数做RMS归一化:
H_mat = [H1, H2, H3]; % 3条路径的频响列向量 for i = 1:size(H_mat,2) % 归一化:消除幅值量纲差异 norm_i = rms(abs(H_mat(:,i))); H_mat(:,i) = H_mat(:,i) / norm_i; end这一步非常关键。如果不做归一化,幅值大的路径在矩阵求逆时会天然获得更高的权重,导致计算出来的载荷谱偏向幅值大的路径,物理含义失真。
4.2 基于SVD截断的正则化求逆
构造响应向量$\mathbf{Y}$(用三个通道的FFT分别作为分子,实际仿真中就是同一传感器信号乘不同噪声,或者使用三个虚拟传感器位置),然后进入载荷识别核心:
Y_fft = fft(y_sensor); % 取正频部分长度为N N = length(t); freq_axis = (0:N-1)'/t_total; N_half = floor(N/2)+1; % 构造矩阵H的截断频段(10Hz-8kHz) band = freq_axis > 10 & freq_axis < 8000; % 用奇异值截断做正则化求逆 tol = 0.05; % 奇异值截断阈值5% H_sub = H_mat(band,:); Y_sub = Y_fft(band); F_ls = zeros(sum(band), 3); % 对每个频点独立求逆 for k = 1:sum(band) Hk = H_sub(k,:); % 以列向量形式构建 Hk_mat = Hk(:); % 3x1 % 这里响应是标量,但为了演示多测点求逆,构造一个3x1响应向量 Yk = Y_sub(k) * [1; 0.98*exp(-1j*0.01); 1.05*exp(1j*0.02)]; % SVD截断 Hk_mat_full = [Hk_mat'; Hk_mat'; Hk_mat']; % 构造3x3满秩矩阵(实际应使用实测数据) [U,S,V] = svd(Hk_mat_full); s = diag(S); s_max = max(s); s_keep = s; s_keep(s < tol * s_max) = 0; S_inv = diag(1./s_keep); S_inv(~isfinite(S_inv)) = 0; F_ls(k,:) = V * S_inv * U' * Yk; end这里SVD截断的含义在于:对每个频率点,频响矩阵的奇异值反映了该频段路径间的独立程度。如果某个奇异值特别小,说明对应的路径组合在该频段几乎不贡献独立信息,强行求逆只会把噪声放大到可怕的程度。截断掉这个子空间,损失的是多余的冗余路径分量,保住的是主路径的稳定解。
4.3 贡献量计算与结果可视化
载荷识别的输出是$\mathbf{F}$,下一步计算每条路径对传感器响应的贡献量并按频段聚合。代码为:
% 计算各路径贡献量(频域) contribution = zeros(sum(band), 3); F_ls_full = zeros(N,3); F_ls_full(band,:) = F_ls; % 对每个测点,还原路径贡献 for i = 1:3 contribution(:, i) = H_sub(:,i) .* F_ls_full(band, i); end % 在啮合频率附近的贡献量对比:550Hz~650Hz窗口集成 idx_diag = find(freq_axis(band) > 540 & freq_axis(band) < 660); contrib_at_gear_fault = sum(abs(contribution(idx_diag,:)), 1); % 归一化得到权重 contribution_weight = contrib_at_gear_fault / sum(contrib_at_gear_fault); fprintf('啮合故障频段各路径贡献权重:\n'); for i = 1:3 fprintf(' 路径%d: %.2f%%\n', i, contribution_weight(i)*100); end运行上述代码,计算出的权重理论上应接近仿真设定的能量分布。仿真中$H_2$带两个共振峰,在820Hz附近有放大,但在啮合频段(552Hz及其边带)$H_1$占主导。输出结果能看到路径1和路径3贡献较大,路径2次要。对于故障诊断而言,真正值得关注的是:当某一路径的贡献权重发生明显漂移时,对应部位的故障或结构变化就发生了。
4.4 把TPA结果和故障特征频率联动
对诊断来说,单纯的贡献量还不够,因为贡献量是"宽带"概念。真正定位故障要结合边带频率和故障特征频率。常见做法是:在啮合频率附近选取边带阶次对应的频率窗口,计算窗口内每条路径贡献的平均幅值,再用该幅值的相对变化定义"故障指标"。
例如,局部齿面故障诊断中,关注的是啮合频率两侧$\pm f_r$和$\pm 2f_r$处的边带。通过对TPA解算出的各路径贡献谱再做Hilbert解调,提取调制频率$\hat{f}_r$、计算调制强度,可以判断故障损坏程度。这个利亚特斯拉式流程的优势在于:传统解调分析会把所有路径上的调制混在一起,而TPA解耦后能够识别调制信号到底从哪条路径传入传感器。下面是对应的Matlab短代码:
% 在路径1的贡献谱中提取调制包络 path1_contrib = zeros(N,1); path1_contrib(band,1) = contribution(:,1); % 带通滤波啮合频率边带区间 contribution_ifft = ifft(path1_contrib, 'symmetric'); % 简单包络解调:平方+低通 envelope = abs(hilbert(contribution_ifft)); % 计算包络谱的峰值频点 env_fft = abs(fft(envelope)); freq_env = (0:N-1)'/t_total; [~, loc] = findpeaks(env_fft(1:N_half), 'MinPeakHeight', 2*median(env_fft(1:N_half))); fault_freqs = freq_env(loc);最终在包络谱中能看到以24Hz为主的调制频率成分,这就是转频$f_r$的指示,说明故障调制发生在该路径下。如果该路径对应的轴承座/齿轮轴正好是高速轴,那么结合贡献权重就能进一步把故障定位到高速轴齿轮局部损伤上。
5. 传递函数矩阵的奇异性处处是坑:实测中三个最容易翻车的地方
理论流程可以一条线跑通,但走到实测阶段,问题往往比仿真多得多。我在处理某型号齿轮减速机的TPA诊断时,前面几轮结果完全不可信,后来逐个排查才把问题理清楚。这三个坑最典型,也给要做TPA的人提前排雷。
5.1 相似路径引起的矩阵近奇异
某齿轮箱中间级大齿轮左右两侧各有一个对称轴承座,传感器分别贴在两个座子上。从振动传输角度看,两个轴承座到箱体传感器的结构路径高度相似——它们经过同样的轴承孔隙、同样的箱体加强筋、同样的螺栓预紧状态。于是频响函数矩阵两列相关性极高,矩阵条件数在某些频段达到数千。
在这种条件下,矩阵求逆得到的载荷幅值出现剧烈摆动,相邻频点在幅值上相差几十倍,明显不符合物理规律。解决方法是采用"路径合并"策略,把两个对称轴承座合并为一条等效路径,或者在测量时只在其中一个位置布置测点。我在代码里用SVD截断能部分压制问题,但更本质的做法是重新审视物理路径的独立性,保证每条路径在主要分析频段上有可区分的相位或共振特征。
5.2 共振频段的相位一致性破坏
齿轮箱的箱体面板在1-3kHz之间存在大量局部模态,传感器安装位置稍微挪动几厘米,模态振型的相位就可能翻转。TPA计算中相位信息比幅值更敏感——幅值误差20%可能只导致贡献量10%的偏差,而相位误差30度就可能让路径间的叠加关系完全改变。
现场实测中,如果传感器固定不牢(磁座吸附在油漆面上),高频段的频响一致性很差。我在实测时对每个测点做三次锤击激励FRF测试,取相干系数高的频段数据;对相干性低于0.9的频段,直接将该路径的贡献置为无效,不参与后续权重计算。用逻辑降低相位误差的影响,比事后调整数据要高效得多。
5.3 激励源数量估计不足
齿轮箱中实际激励源远不止齿轮啮合。滚动轴承的通过频率(BPFO、BPFI、BSF)在早期故障时会产生高频冲击,轴承非线性间隙也会产生非平稳成分。如果TPA建模时只考虑了啮合力作为唯一激励源,那么其他源的能量会泄漏到各路径的载荷解中,表现为无规律的宽带噪声。
更麻烦的是,不同类型的故障在时间轴上往往交替出现。齿面点蚀引起冲击,冲击又激发轴承保持架故障频率。做TPA之前,建议先做一次完整的时频分析和阶次跟踪,确定诊断对象所在的频带和特征频率,再决定TPA的激励源个数。激励源宁少勿多,但前提是所有源必须能覆盖分析频段的关键能量。
5.4 载荷识别的幅值校准问题
有朋友问过:TPA算出来的载荷幅值单位是牛顿还是伏特?答案取决于频响函数测量时的标定。如果$H$的单位是$(m/s^2)/N$,那么反求的$F$单位是牛顿。但实际中直接用传感器响应倒推载荷时,由于忽略了力传感器的标定因子,得到的载荷单位可能是任意的。
在故障诊断应用中,通常不做绝对载荷校准,只看相对贡献的比值变化。但这里有个细节:如果箱体结构发生明显改变(比如加了加强圈、更换了地脚螺栓),路径频响会变化,旧的标定就不适用了。重新测量FRF的成本往往不低,因此很多现场诊断都选择运行TPA方法(OPA),以持续更新的传递率矩阵规避这个问题。
6. 故障识别不是终点:把单条路径贡献升级成稳定诊断指标
做完TPA贡献量的计算和分析,是不是就万事大吉了?还差最后一步。因为实际齿轮箱工况是波动的——转速漂移、负载变化、温度变化都会影响传递路径特性和激励幅值。单次测量的路径贡献量只能反映当下状态,要成为可以长期使用的故障诊断指标,还需要做趋势化和归一化处理。
6.1 路径贡献权重的趋势监控
一种有效做法是建立"路径贡献权重矩阵"的时间序列。在齿轮箱健康状态下,测量一组基准权重$\mathbf{W}_0 = [w_1^0, w_2^0, \dots, w_n^0]$。之后每隔一个采样周期(比如每天一次),提取相同频段的权重$\mathbf{W}_t$。定义偏离度指标:
$$ D(t) = \sum_{i=1}^{n} \frac{\left(w_i(t) - w_i^0\right)^2}{w_i^0} $$
当$D(t)$持续增大,说明路径间能量分布发生明显漂移,虽然总振动幅值不一定超限,但内部激励/传递状态已经改变。实测中,齿面磨损失效的早期阶段,振动总幅值变化不到10%,但路径贡献权重对低幅齿轮的重新分配可以达到20%-30%。这个指标对早期预警比单一幅值更有效。
6.2 贡献量结合包络解调的复合判定准则
把TPA贡献量结果和包络解调结合,可以构造一个较为稳健的诊断判据。基本思路是:主贡献路径的包络谱中若出现转频及谐波主导的边带,同时贡献权重的偏离度持续超阈值,则判定为局部损伤型故障;若主贡献路径的包络谱以宽频噪声为主,且权重偏离度不大但总载荷幅值上升,更可能是匀质磨损或润滑状态不良。
我实现的Matlab诊断模块输出三列:路径编号、贡献权重、包络谱故障特征频率(峰值)。诊断逻辑如下式:
$$ \text{故障等级} = \begin{cases} \text{重度} & D(t) > 2 \cdot \sigma_D \quad \text{且} \quad \text{包络谱含 } f_r \text{ 主峰} \ \text{中度} & \sigma_D < D(t) < 2 \cdot \sigma_D \ \text{轻度} & D(t) > \sigma_D \quad \text{但} \quad \text{无规律边带} \end{cases} $$
其中$\sigma_D$是健康状态窗口内$D(t)$的标准差。这个准则比传统的"绝对振动幅值超限"更灵敏,也更接近于"状态依赖"的真实故障演化过程。
6.3 从单传感器到多传感器阵列的扩展
单传感器TPA能解决"哪条路径主导故障信号"的问题,但要在三维空间定位齿面损伤位置(具体到哪个齿轮、哪个齿),就需要多个传感器构成响应阵列。多传感器的扩展并不复杂,把响应向量$\mathbf{Y}$从单列扩展为$m \times 1$向量($m$为传感器数),频响矩阵变成$m \times n$,其余流程一致。
经验法则是传感器数量不少于3、且最好布置在轴承座不同轴向位置,这样能获得垂直于路径方向的模态信息,对定位局部损伤很有帮助。多传感器阵列的代价是计算量增大和FRF测试工作量增加,但对于大型工业齿轮箱来说,这笔成本在设备停机维修费用面前是划算的。
7. 实操之外的两点扩展思路
齿轮箱TPA诊断在Matlab里跑通后,还可以向两个方向延伸。一是结合有限元模型,当结构太复杂而无法停机实测FRF时,用有限元模型的模态频率和质量归一化振型来构造合成传递函数,替代试验FRF。但有限元模型的阻尼参数需要实测修正,否则共振峰附近的精度差。二是引入深度网络做自动贡献识别,将TPA解算出的各路径贡献谱作为二维图像的输入维度,配合卷积网络对多类齿轮故障进行分类。不过深度网络适合做决策层融合,TPA仍然作为物理可解释的特征提取层保留在前面,这样即使黑盒模型给出错误输出,也能通过TPA特征回溯原因。
我个人在实际操作中感觉最强的组合是"运行TPA(OPA)+ SVD正则化 + 包络解调",这三个工具一组合,既能实现在线监测不动设备,又能把多源信号解耦,还保留了对齿轮局部故障敏感的特征识别。无论选择哪种路径,TPA的核心价值不变:它让我们不再被传感器点的局部响应欺骗,而是真正看清振动能量从哪来、往哪去。对于现代大型齿轮箱的精密监测,这种"因果视角"比单纯堆频谱诊断图的处理方式高了一个维度。
最后分享一个实测现场的小技巧:做TPA时,随手带一支扭矩扳手和记号笔。测量FRF前后,把所有关键螺栓按同样扭矩复紧一遍。螺栓预紧力变化对路径频响的影响,尤其是在500Hz-2kHz频段,往往比你花大力气调试的算法还要显著。先把结构状态固定住,再来谈路径分离,这是我从多次翻车中总结出的最实在的一条经验。