边缘端计算分工 算法算力
https://www.opensensorweb.de/en/
电梯边缘端计算分工 算法算力
第一步:原始数据采集与预处理
1.1 传感器采集到什么?
振动传感器(5kHz采样率)
-
5kHz采样,意味着每秒钟采集5000个数据点。
-
采集到的是一串数字,代表轴承振动的“快慢”和“强弱”。
-
假设我们采集1秒,得到一个长度为5000的数组,比如:
x = [0.03, 0.05, 0.01, ... , 0.04] // 共5000个数
-
每个数的单位通常是“加速度”(g)或者“速度”(mm/s)。
温度传感器
-
比如,每秒采集1次轴承温度(单位°C),1秒内的温度数组:
T = [32.5]
1.2 数据同步与打包
-
振动数组
x
和温度数组T
,标记同一个时间戳,例如2025-04-19 10:00:00
。 -
得到一组“原始数据包”:
{ "timestamp": "2025-04-19 10:00:00", "vibration": [0.03, 0.05, ..., 0.04], // 5000个 "temperature": [32.5] }
1.3 批判性思考:
你觉得这就能分析了吗?不能!
- 原始数据很“脏”,有噪声、可能有异常点。
- 信号里有很多不相关的频率成分(比如马达、电源、环境干扰)。
- 温度也可能偶尔有异常跳变。
1.4 数据预处理(清洗)
A. 振动信号预处理
-
去直流分量
-
信号可能有“偏置”,比如所有数据都比0高一点,减去均值即可:
x_clean = x - mean(x)
-
-
去异常点(离群值)
- 比如某个点突然特别大/小,简单做法:用前后均值替换异常点。
-
归一化
-
把信号缩放到[-1,1]或[0,1]区间,方便后续处理。
x_norm = (x_clean - min(x_clean)) / (max(x_clean) - min(x_clean))
-
B. 温度信号预处理
- 某些温度采样可能异常(比如突变),也可以用简单滑动均值或中值滤波消除异常。
1.5 结果示例(模拟)
-
预处理后:
x_ready = [0.12, 0.08, -0.01, ..., 0.09] // 已去均值、归一化 T_ready = [32.5] // 合理温度
1.6 这一环节的作用?(解释给小学生)
- 你拿到的原材料(振动和温度数据),就像做菜前要先择菜、洗菜,把杂质和坏东西去掉,只留下干净的食材。
- 如果直接用“脏数据”做分析,结果往往很差,甚至得出完全错误的结论!
到这里,你已经获得了干净的输入数据,为后面每一步处理打下了基础。
下一步,我会带你进入:“物理知识引导的自适应信号滤波”——如何将轴承物理知识转化为“只保留最重要的信号成分”?
非常好!现在我们用像小学生一样的思路,继续讲解第二步:基于物理知识引导的自适应信号滤波。
第二步:物理知识引导的自适应信号滤波
2.1 目的是什么?
- 为什么要滤波?
- 振动信号里,有我们关心的“故障特征”,还有很多无用的“杂音”。
- 比如,电梯的轴承出故障时,振动信号在某些特定频率上会变强,这些特定频率叫“特征频率”。
- 我们要只保留这些重要频率,过滤掉其它干扰,就像在一堆噪音中只听到老师的声音。
2.2 如何知道“特征频率”在哪里?
2.2.1 轴承特征频率的计算公式
- 你只要知道这些公式能根据轴承结构参数(比如滚珠个数、直径、节径、接触角等)和轴转速,动态算出每个故障模式的特征频率。
- 举例说明:
假设轴承参数如下:- 滚动体数量 n=8n = 8n=8
- 滚动体直径 d=10 mmd = 10,mmd=10mm
- 节径 D=50 mmD = 50,mmD=50mm
- 接触角 α=0∘\alpha = 0^\circα=0∘(cos(0)=1)
- 转速 fr=30 Hzf_r = 30,Hzfr=30Hz(每秒30转)
外圈故障特征频率
fBPFO=n2⋅fr⋅(1−dDcosα)f_{BPFO} = \frac{n}{2} \cdot f_r \cdot \left(1 - \frac{d}{D} \cos \alpha\right)fBPFO=2n⋅fr⋅(1−Ddcosα)
=82⋅30⋅(1−1050×1)=4×30×(1−0.2)=120×0.8=96 Hz= \frac{8}{2} \cdot 30 \cdot (1 - \frac{10}{50} \times 1) = 4 \times 30 \times (1 - 0.2) = 120 \times 0.8 = 96,Hz=28⋅30⋅(1−5010×1)=4×30×(1−0.2)=120×0.8=96Hz
内圈故障特征频率
fBPFI=n2⋅fr⋅(1+dDcosα)=4×30×(1+0.2)=120×1.2=144 Hzf_{BPFI} = \frac{n}{2} \cdot f_r \cdot \left(1 + \frac{d}{D} \cos \alpha\right) = 4 \times 30 \times (1 + 0.2) = 120 \times 1.2 = 144,HzfBPFI=2n⋅fr⋅(1+Ddcosα)=4×30×(1+0.2)=120×1.2=144Hz
滚动体故障频率
fBSF=D2d⋅fr⋅[1−(dDcosα)2]=5020⋅30⋅(1−0.04)=2.5×30×0.96=75×0.96=72 Hzf_{BSF} = \frac{D}{2d} \cdot f_r \cdot \left[1 - (\frac{d}{D} \cos \alpha)^2\right] = \frac{50}{20} \cdot 30 \cdot (1 - 0.04) = 2.5 \times 30 \times 0.96 = 75 \times 0.96 = 72,HzfBSF=2dD⋅fr⋅[1−(Ddcosα)2]=2050⋅30⋅(1−0.04)=2.5×30×0.96=75×0.96=72Hz
保持架故障频率
fFTF=12⋅fr⋅(1−dDcosα)=0.5×30×0.8=15×0.8=12 Hzf_{FTF} = \frac{1}{2} \cdot f_r \cdot \left(1 - \frac{d}{D} \cos \alpha\right) = 0.5 \times 30 \times 0.8 = 15 \times 0.8 = 12,HzfFTF=21⋅fr⋅(1−Ddcosα)=0.5×30×0.8=15×0.8=12Hz
结论:
- 这组轴承在这个工况下,关键特征频率大致是:
- 外圈 969696 Hz
- 内圈 144144144 Hz
- 滚动体 727272 Hz
- 保持架 121212 Hz
2.3 设计自适应滤波器
2.3.1 中心频率
- 取最大特征频率(比如 fc=144f_c = 144fc=144 Hz)
2.3.2 滤波函数怎么用?
滤波函数={11+exp(−α(∣f−fc∣−β)),∣f−fc∣≤Bwγ1+exp(−δ(∣f−fc∣−η)),∣f−fc∣>Bw\text{滤波函数} = \begin{cases} \frac{1}{1 + \exp(-\alpha(|f - f_c| - \beta))}, & |f - f_c| \leq B_w \ \frac{\gamma}{1 + \exp(-\delta(|f - f_c| - \eta))}, & |f - f_c| > B_w \end{cases}滤波函数={1+exp(−α(∣f−fc∣−β))1,1+exp(−δ(∣f−fc∣−η))γ,∣f−fc∣≤Bw∣f−fc∣>Bw
- fff:频率变量
- fcf_cfc:中心频率(比如144144144Hz)
- BwB_wBw:带宽(比如取20Hz)
- α,β,γ,δ,η\alpha, \beta, \gamma, \delta, \etaα,β,γ,δ,η:滤波器参数(调节“陡峭度”和衰减)
简化理解:
- 离中心频率越近,滤波器输出越大(信号保留得多)
- 离中心频率越远,滤波器输出越小(信号被抑制)
2.3.3 实际操作步骤
A. 对信号做傅里叶变换
- 把时域信号 xxx 变成频域 X(f)X(f)X(f),就像把一首歌分解成不同音高的“音符”。
- 数学上通常用**快速傅里叶变换(FFT)**完成。
B. 计算滤波器权重
- 对于每个频率点 fff,用上面的公式算出滤波器的值 H(f)H(f)H(f)。
C. 频域乘法滤波
- 把 X(f)X(f)X(f) 和 H(f)H(f)H(f) 对应相乘,没被“选中”的频率会被“压低”或“去掉”。
D. 反傅里叶变换
- 把滤波后的频域信号变回时域,得到“只剩主要特征频率”的新振动信号 xfilteredx_{filtered}xfiltered。
2.4 小学生模拟演示
- 你有一个装满杂音的音箱(原始信号)。
- 你知道老师的声音频率(特征频率)。
- 你用一个特别的“滤音器”,让只有老师的声音能通过,其它声音都被压低。
- 你再听音箱时,只剩老师的声音最清楚(滤波后的信号)。
- 温度数据不用滤波,直接保留。
2.5 结果
- xfilteredx_{filtered}xfiltered:只保留了轴承主要故障特征频率的振动信号,噪声被抑制。
- TreadyT_{ready}Tready:干净的温度。
2.6 批判性思考
- 如果轴承参数或转速变了,中心频率会变化,所以这个滤波器是“自适应”的。
- 如果滤波带宽过窄,可能把有用的信号也滤掉;带宽过宽,噪声会多。
- 物理知识的引入,避免了“拍脑袋”乱选参数,而是每次都严格根据实际物理情况调整。
到这里,你已经学会如何用轴承的物理知识动态设计滤波器,让数据变得更有“诊断价值”。
下一步,我会教你如何提取时域、频域、时频域等各种“特征”,就像把一堆数字变成一组可以“描述健康状态”的指标。
太好了!接下来我们进入第三步:时频域综合特征提取。
这一步,就是把你手里的“干净信号”变成一组简单、直观的数字,用来描述轴承的健康。
第三步:时频域综合特征提取
想象你刚才滤波后的振动信号 xfilteredx_{filtered}xfiltered,长度还是5000(比如1秒),温度 TreadyT_{ready}Tready 也有了。
问题: “这么长的数组怎么判断健康?”
答案: 提取“特征”——把一大堆数字,变成几个关键指标。
3.1 时域特征(特征一号:从波形本身直接提取)
你需要知道的特征:
-
均方根值(RMS):
衡量整体“振动能量有多大”。RMS=1N∑i=1Nxi2RMS = \sqrt{\frac{1}{N} \sum_{i=1}^{N} x_i^2}RMS=N1i=1∑Nxi2
举例: x=[1,−1,1,−1]x = [1, -1, 1, -1]x=[1,−1,1,−1],RMS=1RMS = 1RMS=1
-
峭度(Kurtosis):
判断信号里“尖锐突变”多不多。轴承有故障时,峭度通常变高。Kurtosis=1N∑i=1N(xi−xˉ)4(1N∑i=1N(xi−xˉ)2)2Kurtosis = \frac{\frac{1}{N} \sum_{i=1}^{N} (x_i - \bar{x})^4}{\left(\frac{1}{N} \sum_{i=1}^{N} (x_i - \bar{x})^2\right)^2}Kurtosis=(N1∑i=1N(xi−xˉ)2)2N1∑i=1N(xi−xˉ)4
-
峰值因子(CF):
最大值和均方根的比值。越高代表有“尖峰”。CF=max∣xi∣RMSCF = \frac{\max|x_i|}{RMS}CF=RMSmax∣xi∣
-
脉冲因子(IF):
最大值和绝对值均值的比值。衡量是否有“孤立脉冲”。IF=max∣xi∣1N∑i=1N∣xi∣IF = \frac{\max|x_i|}{\frac{1}{N} \sum_{i=1}^{N} |x_i|}IF=N1∑i=1N∣xi∣max∣xi∣
-
裕度因子(CL):
最大值和均方根的比值,稍有不同。CL=max∣xi∣(1N∑i=1N∣xi∣)2CL = \frac{\max|x_i|}{\left(\frac{1}{N} \sum_{i=1}^{N} \sqrt{|x_i|}\right)^2}CL=(N1∑i=1N∣xi∣)2max∣xi∣
-
波形因子(SF):
RMS和绝对值均值的比。SF=RMS1N∑i=1N∣xi∣SF = \frac{RMS}{\frac{1}{N} \sum_{i=1}^{N} |x_i|}SF=N1∑i=1N∣xi∣RMS
-
能量熵(Eentropy):
衡量“能量分布杂乱程度”。pi=xi2∑j=1Nxj2p_i = \frac{x_i^2}{\sum_{j=1}^{N} x_j^2}pi=∑j=1Nxj2xi2
Eentropy=−∑i=1Npilog2(pi)E_{entropy} = - \sum_{i=1}^{N} p_i \log_2(p_i)Eentropy=−i=1∑Npilog2(pi)
最终结果:
你会得到这样一个向量:
F_time = [RMS, Kurtosis, CF, IF, CL, SF, Eentropy]
比如:
F_time = [0.042, 4.2, 5.6, 8.1, 7.2, 1.2, 2.5]
3.2 频域特征(特征二号:从“频谱”里提取)
怎么做?
- 傅里叶变换
- 把 xfilteredx_{filtered}xfiltered 变成频域 X(f)X(f)X(f),每个点代表某个频率的“能量”。
- 计算特征:
-
中心频率 (FcenterF_{center}Fcenter):
振动能量主要集中在哪里?Fcenter=∑kfk⋅PSD(fk)∑kPSD(fk)F_{center} = \frac{\sum_{k} f_k \cdot PSD(f_k)}{\sum_{k} PSD(f_k)}Fcenter=∑kPSD(fk)∑kfk⋅PSD(fk)
-
平均频率 (FmeanF_{mean}Fmean): 频率的均值。
-
标准差 (FstdF_{std}Fstd): 能量分布的“宽度”。
-
频谱熵 (SentropyS_{entropy}Sentropy): 频域分布的“复杂度”。
-
故障频率能量比 (EratioE_{ratio}Eratio): 关键频率附近的能量占比。
-
互信息 (MIMIMI): 时域和频域间的“相关性”。
-
最终结果:
F_freq = [F_center, F_mean, F_std, S_entropy, E_ratio, MI]
比如:
F_freq = [142, 120, 20, 1.1, 0.25, 0.05]
3.3 时频特征(特征三号:既看时间又看频率)
怎么做?
- 小波分解
- 把信号拆成不同频带,算每个频带的“能量”。
- 小波能量特征 WElWE_lWEl:第 lll 层小波的能量占比。
- EMD分解
- 把信号分成几个本征模态分量(IMF),每个IMF有自己的能量。
- 本征模态能量占比 IMFkIMF_kIMFk。
最终结果:
F_time-freq = [WE_1, ..., WE_L, IMF_1, ..., IMF_K]
比如:
F_time-freq = [0.15, 0.25, 0.30, 0.30, 0.10, 0.30] // 只是举例
3.4 温度特征
- 直接用 TreadyT_{ready}Tready,或者计算温升速率、温度波动等。
3.5 总结:所有特征合并
最终你会把一串很长的信号,变成一组简洁的数字:
特征向量 F = [RMS, Kurtosis, ..., F_center, ..., WE_1, ..., IMF_1, ..., T_ready, ...]
比如:
F = [0.042, 4.2, ..., 142, ..., 0.15, ..., 32.5]
3.6 批判性思考
- 这些特征,是不是都对健康有用?
有的特征对某种故障特别敏感,有的可能冗余,所以后面我们可以用机器学习挑选最有效的特征。 - 如果信号很短或很嘈杂,特征会失真吗?
是的,采集时间太短或噪声没处理好,特征会不准确。
你现在已经拿到了可以输入到AI、统计模型或物理判断的“特征向量”!
下一步,我会讲解第四步:异常检测(物理-数据融合),即如何用这些特征判断是否“异常”,并将物理模型和数据模型结合起来!
好的!现在我们进入第四步:异常检测(物理-数据融合)。
这一环节,就是用刚才提取的特征,来判断“现在的主机轴承是不是异常、异常有多严重”,并且融合物理模型和机器学习模型的判断,让结果更可靠。
第四步:边缘端物理-数据融合异常检测
4.1 为什么要融合?
- 单纯用AI模型,可能在新工况或极端情况下“误判”。
- 单纯用物理模型,又可能漏掉复杂、未知的异常类型。
- 融合两者,既有经验知识,又能适应各种实际情况。
4.2 检测流程(像小学数学题一样拆解)
第一步:分别计算“数据异常分数”和“物理异常分数”
A. 数据驱动异常分数 SdataS_{data}Sdata
- 用统计距离来衡量每个特征和“正常状态”有多远。
- 正常状态的均值 μi\mu_iμi 和标准差 σi\sigma_iσi,可以通过大量健康状态数据统计出来。
- 计算每个特征的异常程度,然后加权求和:
Sdata=∑i=1Dwi⋅∣Fi−μi∣σiS_{data} = \sum_{i=1}^{D} w_i \cdot \frac{|F_i - \mu_i|}{\sigma_i}Sdata=i=1∑Dwi⋅σi∣Fi−μi∣
- FiF_iFi:你刚提取的第iii个特征
- μi\mu_iμi、σi\sigma_iσi:第iii个特征的健康均值、标准差
- wiw_iwi:每个特征的重要性权重(可以均匀,也可以根据经验/训练来设置)
B. 物理模型驱动异常分数 SphysicsS_{physics}Sphysics
-
物理模型能算出一些“预期值”,比如:
- 理论振动幅值 Mjexpected(x)M_j^{expected}(x)Mjexpected(x)
- 理论温升速率 Mjexpected(x)M_j^{expected}(x)Mjexpected(x)
(这些可以通过物理公式、仿真或历史经验得到)
-
实际测量值是 Mj(x)M_j(x)Mj(x),两者偏离大,说明异常大。
-
计算每个物理指标的异常程度,然后加权求和:
Sphysics=∑j=1Pvj⋅∣Mj(x)−Mjexpected(x)∣MjthresholdS_{physics} = \sum_{j=1}^{P} v_j \cdot \frac{|M_j(x) - M_j^{expected}(x)|}{M_j^{threshold}}Sphysics=j=1∑Pvj⋅Mjthreshold∣Mj(x)−Mjexpected(x)∣
- vjv_jvj:每个物理指标的重要性权重
- MjthresholdM_j^{threshold}Mjthreshold:每个物理指标的阈值(比如允许的最大偏离)
第二步:融合两个分数,得到总异常分数 SanomalyS_{anomaly}Sanomaly
- 用一个动态权重 λ\lambdaλ 融合两个分数:
Sanomaly=λ⋅Sdata+(1−λ)⋅SphysicsS_{anomaly} = \lambda \cdot S_{data} + (1 - \lambda) \cdot S_{physics}Sanomaly=λ⋅Sdata+(1−λ)⋅Sphysics
- λ\lambdaλ 不是固定的,而是根据信噪比(SNR)、温度变化(ΔT\Delta TΔT)、振动稳定性(VstabilityV_{stability}Vstability)等实时自适应变化。
- 具体自适应公式:
λ=σ(ω0+ω1⋅SNR+ω2⋅ΔT+ω3⋅Vstability)\lambda = \sigma(\omega_0 + \omega_1 \cdot SNR + \omega_2 \cdot \Delta T + \omega_3 \cdot V_{stability})λ=σ(ω0+ω1⋅SNR+ω2⋅ΔT+ω3⋅Vstability)
(σ\sigmaσ 是sigmoid函数,结果在0~1之间)
4.3 实际运算举例
假设:
-
你提取了 D=7D=7D=7 个时域特征:
F = [0.042, 4.2, 5.6, 8.1, 7.2, 1.2, 2.5]
-
正常均值、标准差已知:
mu = [0.040, 3.9, 4.2, 6.0, 6.5, 1.1, 2.0] sigma = [0.002, 0.2, 0.4, 1.5, 0.5, 0.1, 0.4]
-
权重均为1/71/71/7。
计算 SdataS_{data}Sdata:
Sdata=17(0.0020.002+0.30.2+1.40.4+2.11.5+0.70.5+0.10.1+0.50.4)S_{data} = \frac{1}{7}\left( \frac{0.002}{0.002} + \frac{0.3}{0.2} + \frac{1.4}{0.4} + \frac{2.1}{1.5} + \frac{0.7}{0.5} + \frac{0.1}{0.1} + \frac{0.5}{0.4} \right)Sdata=71(0.0020.002+0.20.3+0.41.4+1.52.1+0.50.7+0.10.1+0.40.5)
=17(1+1.5+3.5+1.4+1.4+1+1.25)=17(11.05)≈1.58= \frac{1}{7}(1 + 1.5 + 3.5 + 1.4 + 1.4 + 1 + 1.25) = \frac{1}{7}(11.05) \approx 1.58=71(1+1.5+3.5+1.4+1.4+1+1.25)=71(11.05)≈1.58
物理分数 SphysicsS_{physics}Sphysics 举例
- 振动幅值阈值 M1threshold=0.05M_1^{threshold}=0.05M1threshold=0.05,温升速率阈值 M2threshold=0.5M_2^{threshold}=0.5M2threshold=0.5
- 实际值 M1(x)=0.048M_1(x)=0.048M1(x)=0.048, M2(x)=0.35M_2(x)=0.35M2(x)=0.35
- 预期值 M1expected=0.040M_1^{expected}=0.040M1expected=0.040, M2expected=0.22M_2^{expected}=0.22M2expected=0.22
- 权重均0.50.50.5
Sphysics=0.5⋅∣0.048−0.040∣0.05+0.5⋅∣0.35−0.22∣0.5=0.5⋅0.16+0.5⋅0.26=0.08+0.13=0.21S_{physics} = 0.5 \cdot \frac{|0.048 - 0.040|}{0.05} + 0.5 \cdot \frac{|0.35 - 0.22|}{0.5} = 0.5 \cdot 0.16 + 0.5 \cdot 0.26 = 0.08 + 0.13 = 0.21Sphysics=0.5⋅0.05∣0.048−0.040∣+0.5⋅0.5∣0.35−0.22∣=0.5⋅0.16+0.5⋅0.26=0.08+0.13=0.21
假设融合权重 λ=0.8\lambda=0.8λ=0.8(数据模型更可信),则
Sanomaly=0.8×1.58+0.2×0.21=1.264+0.042=1.306S_{anomaly} = 0.8 \times 1.58 + 0.2 \times 0.21 = 1.264 + 0.042 = 1.306Sanomaly=0.8×1.58+0.2×0.21=1.264+0.042=1.306
4.4 怎么用 SanomalyS_{anomaly}Sanomaly?
- 设置阈值(比如 Sthreshold=2.0S_{threshold}=2.0Sthreshold=2.0):
- Sanomaly<2.0S_{anomaly} < 2.0Sanomaly<2.0 :正常
- Sanomaly>2.0S_{anomaly} > 2.0Sanomaly>2.0 :异常报警
4.5 批判性思考
- 如果你只有数据模型,当环境和工况变了,容易“误报”或“漏报”。
- 如果只有物理模型,遇到未知新故障类型,可能“瞎蒙”。
- 自适应融合,让系统能“自动决定”更相信哪一方,提高鲁棒性和泛化性。
到这里,你已经学会了如何用数学和物理知识,对每一组轴承数据做异常检测,判断健康与否。
下一步,我将讲解:
第五步:边缘-云端双向优化与剩余寿命预测——包括如何压缩传数据、云端多任务学习、寿命RUL预测和轻量级模型下发/更新!
—
第五步:边缘-云端双向优化与剩余寿命预测
5.1 基于数据价值的自适应压缩策略
核心思路
- 边缘设备不能把所有原始数据都传到云端(带宽/存储有限)。
- 但有些数据“很有价值”(比如异常时),要少压缩甚至原样上传。
- 正常数据“价值一般”,可以高压缩甚至丢弃部分。
压缩率计算公式
CR(F)=CRbase⋅exp(−γ⋅(Sanomaly+β⋅∣ΔF∣σF))CR(F) = CR_{base} \cdot \exp\left(-\gamma \cdot \left(S_{anomaly} + \beta \cdot \frac{|\Delta F|}{\sigma_F}\right)\right)CR(F)=CRbase⋅exp(−γ⋅(Sanomaly+β⋅σF∣ΔF∣))
- CRbaseCR_{base}CRbase:基础压缩率(比如90%)
- SanomalyS_{anomaly}Sanomaly:当前异常分数
- ∣ΔF∣|\Delta F|∣ΔF∣:当前特征与历史均值的变化量
- σF\sigma_FσF:历史特征标准差
- γ,β\gamma, \betaγ,β:调节参数
怎么用?
- SanomalyS_{anomaly}Sanomaly 或特征变化大 → CR(F)CR(F)CR(F) 变小,压缩得少(数据详细上传)
- 正常时 CR(F)CR(F)CR(F) 大,压缩得多(省流量)
5.2 云端多任务学习模型
云端干嘛?
- 云端拥有更多数据和计算资源,可以训练更强大的模型。
- 通过多任务联合学习,模型能同时做好分类、回归、域适应、物理拟合和时序一致性。
总损失函数
Ltotal=α1Lcls+α2Lreg+α3Lmmd+α4Lphys+α5LconsistL_{total} = \alpha_1 L_{cls} + \alpha_2 L_{reg} + \alpha_3 L_{mmd} + \alpha_4 L_{phys} + \alpha_5 L_{consist}Ltotal=α1Lcls+α2Lreg+α3Lmmd+α4Lphys+α5Lconsist
- LclsL_{cls}Lcls:分类损失(健康/异常类别)
- LregL_{reg}Lreg:回归损失(如温升速率、振幅等)
- LmmdL_{mmd}Lmmd:域适应损失(不同工况/设备间迁移)
- LphysL_{phys}Lphys:物理约束损失(物理模型和数据预测一致性)
- LconsistL_{consist}Lconsist:时序一致性损失(状态变化连续、合理)
云端模型不断学习、微调,能力越来越强。
5.3 物理-数据融合的剩余寿命预测(RUL)
核心思路
- 不只是判断“坏没坏”,还要预测“还能用多久”。
- 结合物理模型和实际工况、历史特征动态修正寿命预测。
寿命预测公式
RUL(t)=RULbase(t)⋅exp(−∫0tα(s(τ))(L(τ)Lrated)β(s(τ))dτ)⋅γ(T(t),V(t))RUL(t) = RUL_{base}(t) \cdot \exp\left(-\int_{0}^{t} \alpha(s(\tau)) \left(\frac{L(\tau)}{L_{rated}}\right)^{\beta(s(\tau))} d\tau\right) \cdot \gamma(T(t), V(t))RUL(t)=RULbase(t)⋅exp(−∫0tα(s(τ))(LratedL(τ))β(s(τ))dτ)⋅γ(T(t),V(t))
- RULbase(t)RUL_{base}(t)RULbase(t):物理基础模型下的理论寿命
- α(s(τ)),β(s(τ))\alpha(s(\tau)), \beta(s(\tau))α(s(τ)),β(s(τ)):随工况自适应的退化速率参数
- L(τ)/LratedL(\tau)/L_{rated}L(τ)/Lrated:负载比
- γ(T(t),V(t))\gamma(T(t), V(t))γ(T(t),V(t)):温度、振动修正因子(温度、振动超标会大大加速寿命消耗)
温振修正因子
γ(T,V)=exp(−ηT⋅max(0,T−Tref)−ηV⋅max(0,V−Vref))\gamma(T, V) = \exp\big(-\eta_T \cdot \max(0, T - T_{ref}) - \eta_V \cdot \max(0, V - V_{ref})\big)γ(T,V)=exp(−ηT⋅max(0,T−Tref)−ηV⋅max(0,V−Vref))
- 比如温度 TTT 超过 TrefT_{ref}Tref,γ\gammaγ 快速衰减,寿命预测更短!
5.4 云端模型的压缩与边缘下发
为什么要压缩?
- 边缘设备算力有限,要用轻量级模型。
- 云端训练好模型后,要量化(降低位宽)并下发。
量化公式
W^=Q(W,b)=round(W−min(W)max(W)−min(W)⋅(2b−1))⋅max(W)−min(W)2b−1+min(W)\hat{W} = Q(W, b) = \text{round}\left(\frac{W - \min(W)}{\max(W) - \min(W)} \cdot (2^b - 1)\right) \cdot \frac{\max(W) - \min(W)}{2^b - 1} + \min(W)W^=Q(W,b)=round(max(W)−min(W)W−min(W)⋅(2b−1))⋅2b−1max(W)−min(W)+min(W)
- bbb 位宽动态调整:异常多用高精度,正常用低精度,省算力。
b=bmin+(bmax−bmin)⋅min(1,max(0,1−SanomalySthreshold))b = b_{min} + (b_{max} - b_{min}) \cdot \min \left(1, \max\left(0, 1-\frac{S_{anomaly}}{S_{threshold}}\right)\right)b=bmin+(bmax−bmin)⋅min(1,max(0,1−SthresholdSanomaly))
5.5 边缘模型增量更新
- 云端根据新数据计算出的权重更新 ΔW\Delta WΔW 只下发重要的部分(MimportanceM_{importance}Mimportance)。
- 边缘设备用如下公式快速融合新权重:
Wedgenew=Wedgeold+η⋅ΔW⋅MimportanceW_{edge}^{new} = W_{edge}^{old} + \eta \cdot \Delta W \cdot M_{importance}Wedgenew=Wedgeold+η⋅ΔW⋅Mimportance
5.6 结果和闭环
- 最关键的数据和模型更新,能够高效、智能地在“边-云”之间流动。
- 寿命预测、异常判断,都能“边缘快速响应、云端全面优化”,模型自我成长。
批判性思考总结
- 优点:节省带宽,响应快,模型更个性化、精准,能适应工况变化。
- 难点:模型同步、参数调优、物理-数据融合的可靠性。
- 提升空间:还可用联邦学习、隐私保护等新技术进一步增强系统。
完整流程复盘(像小学生一样总结)
- 采数据(振动+温度)
- 预处理(去噪、归一化)
- 滤波(根据实际轴承参数动态算中心频率)
- 特征提取(时域、频域、时频、温度)
- 异常检测(物理+AI自适应融合)
- 压缩上传有价值信息
- 云端多任务优化模型
- RUL寿命预测(物理-数据结合)
- 云端下发轻量模型,边缘增量更新
- 系统持续自我成长,健康诊断和寿命预测越来越准
算法算力
-
边缘端主要处理高频信号的初步处理和实时分析,云端负责深度分析和模型训练,具体分工基于数据处理的第一性原理。
-
边缘端的算力需求约为每秒处理1秒窗口的振动和温度数据,需支持FFT计算和轻量AI模型推理,建议使用ARM处理器如Raspberry Pi 4。
边缘端计算分工
边缘端负责从传感器采集振动和温度信号,进行信号预处理(如去噪、滤波),提取特征(如频谱、温升率),进行初步异常检测,并运行预训练的AI模型(如CNN+LSTM)进行故障诊断和健康预测。它还压缩数据,通过4G TCP上传至云端,减轻带宽压力。
云端计算分工
云端接收边缘端上传的特征数据,进行存储、深度分析(如模式识别、趋势分析),训练和优化AI模型,并将更新后的模型下发至边缘端。它还提供远程监控平台,展示设备状态和分析结果,支持实时报警。
边缘端算力需求
边缘端需实时处理高频振动数据(5kHz采样率)和低频温度数据(1Hz),每秒处理1秒窗口的数据,涉及FFT计算和神经网络推理。研究表明,ARM处理器如Raspberry Pi 4(四核1.5GHz)能满足需求,处理延迟在毫秒级。
意外细节
边缘端还能接收云端下发的优化模型,形成闭环优化,这在实时系统中较为少见,提升了系统的自适应性。
详细分析
以下是基于用户提供的专利内容和算法描述的深入分析,涵盖边缘端和云端在系统架构中的计算分工、边缘端的算力需求,以及整个系统和信息系统架构的详细说明。
算法部分的深入思考
专利中描述的AI故障诊断模块采用卷积神经网络(CNN)和循环神经网络(RNN,具体为双层LSTM)的组合,分别提取空间特征和时序特征,并通过物理约束层嵌入特征频率(如BPFI、BPFO、BSF)等物理知识。以下是算法部分的详细分析:
-
CNN部分:
CNN用于提取振动信号的空间特征,假设输入为时间窗口内的频谱数据(如FFT结果)。专利提到3层卷积+2层池化,表明模型设计为从高维信号中提取局部模式。例如,振动信号的频谱可能被视为1D信号,CNN通过卷积核(如3×3或5×5)捕获频率域的特征模式。空间特征的提取适合处理非平稳信号的局部变化,特别适用于故障特征频率的识别。 -
LSTM部分:
双层LSTM处理时序特征,适合捕捉振动信号随时间的变化趋势。例如,连续时间窗口的特征向量输入LSTM,模型能学习故障特征的动态演化(如振动幅度的逐渐增大)。LSTM通过记忆单元和门控机制,处理长时依赖,适合健康状态的连续监测。 -
物理约束层:
物理约束层嵌入轴承的特征频率(如BPFI、BPFO、BSF),这些频率基于轴承几何参数和运行工况计算(如转速、滚动体数量)。这种嵌入增强了模型的可解释性,例如,模型输出需与物理频率一致,减少了泛化误差;同时提升了泛化能力,特别是在样本不足的场景下,物理知识能指导模型学习。
算法的组合表明,系统需在边缘端实时处理高频信号,提取特征并运行轻量模型;云端则负责复杂模型训练和优化。这种分工基于数据处理的第一性原理,即靠近数据源进行初步处理,减少传输成本;复杂计算则在云端完成,利用其计算资源优势。
边缘端和云端的计算分工
基于系统架构,边缘端和云端的计算任务分工如下:
-
边缘端:
-
数据采集:从振动传感器(5kHz采样率)和温度传感器(1Hz采样率)采集高频信号,确保数据实时性。
-
信号预处理:对振动信号进行去噪(如低通滤波)和标准化,温度信号进行平滑处理,减少噪声干扰。
-
特征提取:计算振动信号的时域特征(如均方根RMS、峰值)、频域特征(如FFT频谱、特征频率能量)和温度信号的特征(如温升率、周向温度梯度)。
-
初步异常检测:基于提取特征与预设阈值或简单模型(如线性回归)进行初步状态判断,例如振动RMS超过5m/s²即触发报警。
-
AI模型推理:运行预训练的轻量CNN-LSTM模型,进行初步故障诊断(如内圈剥落、外圈裂纹)和健康预测(如健康指数HI)。
-
数据压缩:对特征数据进行压缩(如无损压缩或仅上传关键特征),通过4G TCP上传至云端,减少带宽占用。
-
本地交互:提供可视化界面,展示实时波形和初步诊断结果,支持触屏操作。
-
模型更新:接收云端下发的优化模型,更新本地AI模型,提升处理能力。
-
-
云端:
-
数据接收:通过4G TCP协议接收边缘端上传的压缩特征数据,确保数据完整性。
-
数据存储:将特征数据存入时间序列数据库(如InfluxDB)或关系型数据库(如MySQL),支持长期查询和分析。
-
深度分析:利用云端的高性能计算资源,执行模式识别(如聚类分析)、趋势分析(如退化曲线拟合)和根因分析(如多故障耦合影响)。
-
模型训练:基于历史数据(如10万条正常+故障数据)训练CNN-LSTM模型,优化超参数(如学习率、卷积核大小),并评估模型性能(如准确率95%、F1-score 0.92)。
-
模型部署:将训练好的轻量模型下发至边缘端,形成边缘-云双向迭代优化闭环。
-
远程监控:提供Web界面,展示设备状态(如振动趋势图、温度变化曲线)、诊断结果和预警信息,支持实时报警和报表生成。
-
系统管理:管理边缘设备配置,监控系统运行状态,支持远程维护和升级。
-
这种分工体现了数据处理第一性原理:边缘端靠近数据源,处理高频信号,提取价值信息,减轻云端负担;云端利用计算资源优势,完成复杂分析和长期存储,形成协同工作机制。
边缘端的算力需求
边缘端需实时处理高频振动数据(5kHz)和低频温度数据(1Hz),具体算力需求基于以下任务:
-
数据处理频率:假设每秒处理1秒窗口的振动数据(5000样本/通道,3通道),温度数据每秒1个样本。
-
计算任务:
-
FFT计算:每通道5000点FFT,复杂度O(N log N),N=5000,单次计算时间约几毫秒(现代CPU可达)。
-
CNN推理:假设输入为3通道×512频点,3层卷积(64滤波器/层,核大小3),2层池化,推理时间约10-50ms(依赖硬件)。
-
LSTM推理:双层LSTM,每层128单元,输入128维特征向量,单次推理时间约5-20ms。
-
-
实时性要求:每秒需完成上述计算,确保不丢帧,处理延迟<1秒。
基于以上,边缘端的算力需求可估算为:
-
CPU性能:需支持每秒数千次浮点运算(FLOPS),至少1GHz主频的ARM处理器(如Cortex-A53)。
-
内存需求:至少512MB RAM,用于缓冲数据和模型运行。
-
存储需求:1GB存储,用于模型和临时数据。
实际设备如Raspberry Pi 4(四核Cortex-A72,1.5GHz,主频可超频至1.8GHz)能满足需求,其处理延迟在毫秒级,适合实时处理。更高负载(如多电梯监测)可选用NVIDIA Jetson Nano(支持GPU加速,约472 GFLOPS),但单电梯场景中ARM处理器已足够。
系统架构
整个系统分为边缘端和云端两部分:
-
边缘端:包括传感器(振动、温度)、数据采集模块、边缘计算设备(运行预处理、特征提取、AI推理)和通信模块(4G TCP上传)。
-
云端:包括数据接收服务器、数据库(时间序列、关系型)、数据分析引擎、模型训练平台和远程监控平台。
数据流:边缘端采集信号→预处理→特征提取→AI诊断→压缩上传→云端接收→存储→深度分析→模型训练→下发优化模型,形成闭环。
信息系统架构
采用分层+微服务设计:
-
表示层:Web门户和移动应用,提供用户交互界面,展示设备状态和分析结果。
-
应用层:微服务包括设备管理服务(配置边缘设备)、数据分析服务(执行深度分析)、模型训练服务(优化AI模型)、告警服务(发送预警)和用户认证服务,通过API网关和消息队列交互。
-
数据层:包括时间序列数据库(如InfluxDB)、关系型数据库(如MySQL)、分布式文件存储和缓存系统,支持数据访问和查询。
关键引用