我接手这个课题的时候实验室正在为一台二级减速齿轮箱的振动超标发愁。转速升到某个区间箱体表面就嗡嗡响加速度频谱上几条边频带不忍直视轴承换了两次也没用。问题恰恰就出在“振动测到了但不知道是哪个激励源、经过哪条结构路径传出来的”——这正是齿轮系统传递路径分析TPA最典型、也最能出价值的地方。这篇文章就从故障诊断的实操角度把TPA的原理、Matlab落地、以及我踩过的坑完整梳理一遍供做设备状态监测、齿轮箱故障排除和结构减振的朋友参考。1. 为什么齿轮箱故障诊断需要拆开“传递路径”1.1 齿轮箱振动问题的本质激励源与路径混叠一台齿轮箱的正常振动至少包含三部分贡献齿轮啮合激励啮合刚度周期变化产生的啮合频率及谐波、轴承滚动体通过激励BPFO/BPFI及其谐波、轴系不平衡与不对中激励。这些激励源在齿轮-轴-轴承-箱体-测点传感器这条链路上层层传递最终在加速度传感器上形成一个“混合体征”。传统频谱分析和包络谱分析有个天然盲区测点响应的幅值等于所有激励源幅值乘以各自路径传递函数后的叠加结果频率域上看起来某个峰很高但没办法回答它是源本身就强还是某条路径对这段频率特别“通透”。遇到过类似现场情况的人都知道故障源在高速轴但低速轴轴承座附近的传感器读数反而更大如果直接按测点振动绝对值去拆箱检查多半会白拆一次。传递路径分析要解决的正是这个边界问题它把整个系统拆解成“激励源-传递路径-接收响应”三个环节并通过试验数据同时估计出源的强度和各路径的贡献比例。放在齿轮箱故障诊断里这相当于给频谱多开了一个“定位”的维度。1.2 齿轮系统传递路径分析的适用场景TPA并不是万金油它的阿喀琉斯之踵在于试验条件要求高、时间消耗大。但从实际效果看下面几类齿轮箱诊断场景特别适合上TPA故障源定位有争议时比如箱体表面有多个测点都显示振动超标但不知道主导路径是通过哪个轴承座传出来的用TPA可以量化路径贡献量。齿轮啮合频率及其谐波异常放大时需要判断啮合频率的放大量到底是齿轮故障导致的源特性变化还是结构共振被激励起来导致的路径放大两者的维修策略完全不同。结构改版优化前想评估加筋板、阻尼处理或更换轴承类型对箱体振动辐射的实际收益TPA可以把路径贡献拆分出来逐条路径做优化预算。1.3 为什么本案例用Matlab而不是专用声学软件商业声学软件里的TPA模块确实很成熟操作界面友好功能闭环但价格不菲而且调试流程像个黑盒矩阵怎么求逆的、是否做了正则化、互谱估计用了什么窗函数往往不透明。对于一个以故障诊断验证为目的的工程师来说用Matlab写TPA的价值在于每一步计算都可以监控、验证和回溯排查问题时心里有底而且写完一次以后下次换设备直接改参数就能复用。2. TPA的数学内核从“测得的振动”反推“路径贡献量”2.1 基本方程与路径假设经典的TPA假设系统满足线性时不变LTI特性。对于齿轮箱而言若结构上有 个传递路径每个路径的激励力为 路径到响应点的频率响应函数为 则响应点最终振动可表示为这就是TPA的总方程。注意这里的 是指路径上的广义力力或力矩 是标准频响函数FRF在故障诊断中常见的是加速度频响或位移频响。多数情况下齿轮箱各路径视为独立互不干扰这是TPA最重要的简化假设也是误差来源之一。把这条公式用生活场景类比一下一个饭堂里几个人同时说话你坐在门口位置听到的声音等于每个人说话的声音分别经过空气衰减、桌子反射、墙壁反射等路径传到你的耳膜的总和。每个人都像“激励源”空气距离和反射条件就是传递路径你的耳膜是测点。TPA要做的是根据你耳朵听到的总声压和测量出的各条“传递函数”反推谁说得最大声、谁坐得离你最近、谁那条传播路径隔音差。2.2 传递路径分解流程以结构声为主的一般流程分四步工作工况数据采集在设备实际运转状态下同步采集所有参考点通常放在各轴承座或可能传递路径的中间环节的振动响应。这一步拿到了“工况响应”。频响函数测量停机状态下用锤击法或激振器法在激励源处激励、在响应点测量FRF矩阵。也可以反过来测得路径中间点到响应点的传递率。载荷识别要得到传递路径中的 就需要测出力或反推出力。工程中常见做法是直接安装力传感器但在齿轮箱内部位置很难或采用“矩阵求逆法”以多个响应点的工作工况响应为已知量用FRF矩阵求逆反推等效激励力。这一步是整个TPA中数值稳定性风险最高的环节。贡献合成与排序用识别出的 乘以各路径 得到每条路径对响应点的贡献再按幅值和相位叠加成总响应并与实测响应对比验证。2.3 频响函数估计器H1/H2的选用估计FRF是TPA的核心步骤。假设激励信号为 响应信号为 其自功率谱、互功率谱分别为 、 则H1估计器定义为H1估计器假设噪声主要存在于响应端通过互谱与自谱比值能有效抑制响应端随机噪声的影响输出的是交流平均的结果适合本案例这种响应信噪比偏低的场景。H2估计器反之适合激励端噪声大的情况实际用的不多。本节计算层面的一句话总结矩阵求逆法识别载荷时如果只用单点响应来求很容易出现病态矩阵工程上应该同时用多个独立测点组成过定方程组用最小二乘或奇异值分解来求解。后面在Matlab落地部分会具体呈现。3. Matlab逐步落地数据流与核心计算3.1 数据准备与预处理拿到数据之后不要立刻算TPA先花时间做三件基础工作否则后面全是脏数据统一时间基准工作工况响应和停机FRF测量虽然可以分开做但两套数据的采样率必须统一否则频点对不上后续频域相乘全是错的。去除趋势项并滤波齿轮箱振动信号里常混有低频漂移和直流成分使用detrend函数去均值再用滤波滤除超出分析频带的成分。时间同步平均如果采集到了转速脉冲或键相脉冲信号建议先做角域重采样再傅里叶变换能极大抑制与转速不同步的随机干扰和背景噪声。预处理阶段Matlab代码要点如下% 假设已有加速度数据acc、采样率fs、转速脉冲tacho acc_detrended detrend(acc, constant); % 去均值 acc_filtered lowpass(acc_detrended, 0.4*fs, fs, Steepness, 0.85); % 抗混叠与带限制 % 若需要角度域同步平均先根据tacho脉冲计算每转采样点再重采样 [acc_angle, rpm] resampleTacho(acc_filtered, tacho, fs);重采样之后建议做一次频谱对比确认角域信号中啮合频率的边带结构是否更清晰这一步能直观判断预处理是否有效。3.2 频响函数矩阵估计用tfestimate还是互谱法Matlab中估计FRF可以先调用tfestimate它本质就是H1估计器。但如果想要更好的稳定性我建议直接手写互谱法因为可以灵活控制谱窗参数和平均段数% acc_path [path1, path2, ..., pathN] 各路径参考点响应 % force_ref [ref1, ref2, ..., refM] 激励力参考信号 Nfft 4096; w hanning(Nfft, periodic); noverlap round(Nfft * 0.75); Spp cpsd(force_ref, force_ref, w, noverlap, Nfft, fs, twosided); Srp cpsd(acc_path, force_ref, w, noverlap, Nfft, fs, twosided); FRF Srp ./ Spp; % H1估计矩阵点除每一个元素对应一条FRF需要特别强调的是频谱窗、平均次数和重叠率直接决定FRF的频域分辨率与噪声抑制效果。齿轮箱振动往往伴有大量离散谐波谱窗泄漏很明显选择周期汉宁窗并叠加75%重叠是实测中比较稳的一个配置。如果分析对象有很强的转速波动建议在时域先做角域重采样否则FRF相位会因转速微变而劈叉。3.3 载荷识别矩阵求逆与正则化策略识别轴承座等效激励力是TPA最重要也是最脆弱的一环。假设我们已经测了 个响应参考点、需要识别 条路径上的力则频域每个频率点上的关系为当 小于等于 时通常让 大于 形成超定用伪逆识别激励力% FRF_mat(m x n) 矩阵m为目标响应点数量n为路径数量 % Y_op(m x nf) 工作工况响应谱矩阵nf为频点数 F_identified zeros(size(FRF_mat,2), size(Y_op,2)); for fi 1:size(Y_op,2) FRF_f squeeze(FRF_mat_freq(:, :, fi)); % 频率点fi处的FRF矩阵 Y_f Y_op(:, fi); [U, S, V] svd(FRF_f, econ); S_inv diag(1 ./ (diag(S) 1e-6)); % 简单正则化防止病态放大 F_identified(:, fi) V * S_inv * U * Y_f; end这段代码里的 1e-6 就是一个简易Tikhonov正则项。实际使用中正则化系数不宜过大否则会过度平滑、把真实激励力压小也不宜过小否则矩阵奇异值很小时噪声会被放大数百倍。我的经验是先查看SVD奇异值分布曲线如果最小的几个奇异值比最大值小了三个数量级以上再逐级增大正则化系数直到合成响应与实测响应残差最小。正则化是TPA里面“艺术成分”最高的一步没有之一。常规做法是用L曲线法确定最优系数但要快速排查问题直接对比不同正则化系数下的路径贡献变化趋势也是个可行策略——如果某条路径的贡献对正则化系数极其敏感那基本可以断定该路径识别结果不可信需要从简化模型角度重新考虑。3.4 响应合成与误差评价识别出力之后就可以按频率点逐条合成各路径贡献Y_contribution zeros(nPath, Nfft/21); for fi 1:Nfft/21 Y_contribution(:, fi) FRF_mat_freq(:, :, fi) * F_identified(:, fi); end Y_pred sum(Y_contribution, 1); % 总预测响应然后用预测总响应和实测响应的频谱做对比计算误差error 1 - abs(sum(Y_pred .* conj(Y_op_ref))) / (sum(abs(Y_pred).^2) * sum(abs(Y_op_ref).^2))^0.5;这里用的是多重相干系数的变形能从全局角度判断整个TPA模型的解释能力。误差在20%以内说明建模基本成功误差超过30%就说明有重要路径被遗漏了需要回头查测点布置或者路径划分绝不要急着进入故障定位阶段。4. 实操阶段最容易翻车的三个环节与对策4.1 频响函数测量中的“双击”与撬棒效应锤击法测FRF看起来很轻松一个力锤一个加速度计就能干但齿轮箱这类质量大、结构紧凑的部件敲击点稍微偏一点就会激发不同的模态敲击时锤头“弹跳”产生双击还会让力谱形成明显的陷波导致FRF估算值偏低。对策很简单每测一个FRF时监控激励通道的力谱如果力谱有明显凹陷就重新敲。批量采集FRF矩阵时每个路径点至少敲击5次且相关不大于0.9时重试这也是做多次平均的目的所在。4.2 矩阵求逆时过拟合奇异值截断的艺术在3.3小节提到过载荷识别用到的矩阵求逆在病态模型下容易出现“高方差估计”——识别出的力谱全是毛刺合成响应虽然能贴合测试值但这是典型的过拟合现象路径贡献的物理含义早被破坏了。真正有效的应对手段有这样几个增加参考测点数目参考测点应尽量分散布置在不同的结构特征位置避免两个测点布置在同一个刚体运动分量上否则矩阵接近奇异。奇异值截断把奇异值从小到大排列截掉小于最大奇异值1%的分量。这个策略比正则化更干脆在工程故障诊断中更好解释。频带限制只对故障关心的频带范围比如啮合频率及其3倍频以内做载荷识别高频区间的矩阵奇异值通常更大容易出现假贡献。4.3 工况响应中的噪声与转速波动污染齿轮箱工作现场的工况响应数据混有来自电机、冷却风扇、外部基础振动等大量环境噪声。如果直接用这些数据加入TPA计算即使FRF测得很准力识别结果也会被污染。处理办法是分频段处理对啮合频率及谐波附近的离散频点用谱平均后的数据对远离离散谱的随机噪声频段直接抑制或丢弃。千万不要把整个频带直接参与矩阵求逆。另外如果要严格分析边带成分最好配合阶次跟踪先把转速波动修正掉否则边带频率附近相位抖动非常明显。我在实测中最深的一次教训是用未经转速同步平均的数据算出来的TPA路径贡献三条路径比例差不太多看着“挺合理”但合成响应误差高达40%。后来发现是转速每分钟波动了6转左右导致啮合频率边带的相位在多次平均时抵消了。重采样之后再做误差立刻降到15%以内。4.4 路径划分粒度与典型贡献排序TPA路径怎么数、怎么划分是直接影响“故障定位”效果的关键。如果路径划太粗比如把整个箱体轴承座当成一条路径那只能告诉你“振动是从这个轴承座传出来的”对维修指导帮助有限。划太细又会大幅增加FRF矩阵测量工作量且矩阵病态程度直线上升。折中方案是三级路径划分第一级按轴承座位置划分比如高速轴前轴承、高速轴后轴承、低速轴前轴承等不做方向拆分。第二级在关键轴承座处补充轴向、径向两个方向的测点形成两通道路径这样可以判断力作用方向。第三级仅对已经确认的主导路径深入研究比如增加中间弹性支撑测点或螺栓连接附近的测点用于分析减振措施的传播损耗。在我的项目实践里第一级划分足以解决80%的故障源定位问题第二级用于精确评估方向性第三级属于锦上添花。5. 案例实测低速轴齿面点蚀的路径贡献排序5.1 实验台配置与故障注入为了验证这套Matlab TPA流程的有效性我在实验室搭建了一张两级圆柱齿轮传动平台电机功率11 kW驱动高速轴转速1450 rpm高速轴-中间轴减速比1:2中间轴-低速轴减速比1:3低速轴上替换一对带有轻度齿面点蚀的齿轮副作为模拟故障源测点布置为高速轴前轴承座、中间轴前轴承座、低速轴前轴承座和低速轴后轴承座四个位置每个位置同步采集一个加速度信号。工作工况下以3200 Hz采样分析频带到1000 Hz覆盖啮合频率基频到第5阶谐波。5.2 路径贡献计算与排序结果停机状态下用锤击法依次激励四个轴承座位置测量到四个响应点的FRF矩阵。在Matlab里完成3.2至3.4小节的流程后输出各路径在啮合频率及其边带频带内的贡献量。结果整理如下表所示表中数值为频带内RMS贡献占比传递路径啮合频率基频贡献占比边带特征结论高速轴前轴承座路径12%无明显边带非主导路径贡献较低中间轴前轴承座路径14%较强边带次主导路径可能与中间轴啮合传递相关低速轴前轴承座路径57%边带明显且呈齿面点蚀特征频率主导路径故障源大概率位于低速轴低速轴后轴承座路径17%与低速轴前轴承座方向性差异明显辅助路径故障信息通过后轴承座同步传出从贡献排序看低速轴前轴承座路径在该频带内贡献了超过一半的能量且边带结构与齿面点蚀对应的故障特征频率吻合。结合时域波形分析确认低速轴齿轮齿面点蚀严重度已经达到需要更换的程度。5.3 为什么这套流程得出的结论可信度高单纯的频谱分析也能看出低速轴附近的振动能量上升但测点越靠近低速轴频谱幅度越高本身是物理常识很难直接作为故障源定位的证据。而TPA给出的结论是“贡献占比”它把所有路径的影响都折算到统一度量下并且通过合成响应对比验证了模型误差在10%以内这就给了维修决策一个可以量化的依据。后期的拆检结果也验证了TPA的判断低速轴主动齿轮齿面有约三成齿面出现点蚀与轻微剥落其余轴齿面基本完好。这说明在齿轮箱故障诊断中TPA并不是花架子它是真正能把“振动在哪”推进到“故障源在哪”的技术路径。5.4 经验沉淀从一次项目到一套方法把整个项目代码整理后我把采样率、测点名称、路径编号、频带范围等做了参数化封装后续遇到类似的齿轮箱诊断需求只要输入数据格式一致几十分钟就能跑完一轮TPA。这也算这次工作带来的一个额外收益任何故障诊断方法只有当它从“一次性脚本”变成“可复用工具”后才谈得上真正的工程价值。另外针对齿轮系统的TPA结果建议一定要和阶次跟踪瀑布图、包络解调结果做交叉验证不要单靠一个方法下结论。TPA解决好的是“结构传播”问题而故障源本身的调制特征还需要包络分析来确认两个工具配合使用故障定位的综合准确率会明显高于任何一个单独使用。