边缘端计算分工 算法算力

https://www.opensensorweb.de/en/

电梯边缘端计算分工 算法算力

第一步:原始数据采集与预处理

1.1 传感器采集到什么?

振动传感器(5kHz采样率)

温度传感器


1.2 数据同步与打包


1.3 批判性思考:

你觉得这就能分析了吗?不能!


1.4 数据预处理(清洗)

A. 振动信号预处理

  1. 去直流分量

    • 信号可能有“偏置”,比如所有数据都比0高一点,减去均值即可:

      x_clean = x - mean(x)
      
  2. 去异常点(离群值)

    • 比如某个点突然特别大/小,简单做法:用前后均值替换异常点。
  3. 归一化

    • 把信号缩放到[-1,1]或[0,1]区间,方便后续处理。

      x_norm = (x_clean - min(x_clean)) / (max(x_clean) - min(x_clean))
      

B. 温度信号预处理


1.5 结果示例(模拟)


1.6 这一环节的作用?(解释给小学生)


到这里,你已经获得了干净的输入数据,为后面每一步处理打下了基础。
下一步,我会带你进入:“物理知识引导的自适应信号滤波”——如何将轴承物理知识转化为“只保留最重要的信号成分”?


非常好!现在我们用像小学生一样的思路,继续讲解第二步:基于物理知识引导的自适应信号滤波


第二步:物理知识引导的自适应信号滤波

2.1 目的是什么?


2.2 如何知道“特征频率”在哪里?

2.2.1 轴承特征频率的计算公式

外圈故障特征频率

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−Dd​cosα)

=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+Dd​cosα)=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−(Dd​cosα)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−Dd​cosα)=0.5×30×0.8=15×0.8=12Hz

结论:


2.3 设计自适应滤波器

2.3.1 中心频率

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​​

简化理解:


2.3.3 实际操作步骤

A. 对信号做傅里叶变换

B. 计算滤波器权重

C. 频域乘法滤波

D. 反傅里叶变换


2.4 小学生模拟演示

  1. 你有一个装满杂音的音箱(原始信号)。
  2. 你知道老师的声音频率(特征频率)。
  3. 你用一个特别的“滤音器”,让只有老师的声音能通过,其它声音都被压低。
  4. 你再听音箱时,只剩老师的声音最清楚(滤波后的信号)。
  5. 温度数据不用滤波,直接保留。

2.5 结果


2.6 批判性思考


到这里,你已经学会如何用轴承的物理知识动态设计滤波器,让数据变得更有“诊断价值”。
下一步,我会教你如何提取时域、频域、时频域等各种“特征”,就像把一堆数字变成一组可以“描述健康状态”的指标。


太好了!接下来我们进入第三步:时频域综合特征提取
这一步,就是把你手里的“干净信号”变成一组简单、直观的数字,用来描述轴承的健康。


第三步:时频域综合特征提取

想象你刚才滤波后的振动信号 xfilteredx_{filtered}xfiltered​,长度还是5000(比如1秒),温度 TreadyT_{ready}Tready​ 也有了。
问题: “这么长的数组怎么判断健康?”
答案: 提取“特征”——把一大堆数字,变成几个关键指标。


3.1 时域特征(特征一号:从波形本身直接提取)

你需要知道的特征:

  1. 均方根值(RMS):
    衡量整体“振动能量有多大”。

    RMS=1N∑i=1Nxi2RMS = \sqrt{\frac{1}{N} \sum_{i=1}^{N} x_i^2}RMS=N1​i=1∑N​xi2​​

    举例: x=[1,−1,1,−1]x = [1, -1, 1, -1]x=[1,−1,1,−1],RMS=1RMS = 1RMS=1

  2. 峭度(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​

  3. 峰值因子(CF):
    最大值和均方根的比值。越高代表有“尖峰”。

    CF=max⁡∣xi∣RMSCF = \frac{\max|x_i|}{RMS}CF=RMSmax∣xi​∣​

  4. 脉冲因子(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​∣​

  5. 裕度因子(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​∣​

  6. 波形因子(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​

  7. 能量熵(Eentropy):
    衡量“能量分布杂乱程度”。

    pi=xi2∑j=1Nxj2p_i = \frac{x_i^2}{\sum_{j=1}^{N} x_j^2}pi​=∑j=1N​xj2​xi2​​

    Eentropy=−∑i=1Npilog⁡2(pi)E_{entropy} = - \sum_{i=1}^{N} p_i \log_2(p_i)Eentropy​=−i=1∑N​pi​log2​(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 频域特征(特征二号:从“频谱”里提取)

怎么做?

  1. 傅里叶变换
    • 把 xfilteredx_{filtered}xfiltered​ 变成频域 X(f)X(f)X(f),每个点代表某个频率的“能量”。
  2. 计算特征:
    • 中心频率 (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​=∑k​PSD(fk​)∑k​fk​⋅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 时频特征(特征三号:既看时间又看频率)

怎么做?

  1. 小波分解
    • 把信号拆成不同频带,算每个频带的“能量”。
    • 小波能量特征 WElWE_lWEl​:第 lll 层小波的能量占比。
  2. 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 温度特征


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 为什么要融合?


4.2 检测流程(像小学数学题一样拆解)

第一步:分别计算“数据异常分数”和“物理异常分数”

A. 数据驱动异常分数 SdataS_{data}Sdata​

Sdata=∑i=1Dwi⋅∣Fi−μi∣σiS_{data} = \sum_{i=1}^{D} w_i \cdot \frac{|F_i - \mu_i|}{\sigma_i}Sdata​=i=1∑D​wi​⋅σi​∣Fi​−μi​∣​


B. 物理模型驱动异常分数 SphysicsS_{physics}Sphysics​

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∑P​vj​⋅Mjthreshold​∣Mj​(x)−Mjexpected​(x)∣​


第二步:融合两个分数,得到总异常分数 SanomalyS_{anomaly}Sanomaly​

Sanomaly=λ⋅Sdata+(1−λ)⋅SphysicsS_{anomaly} = \lambda \cdot S_{data} + (1 - \lambda) \cdot S_{physics}Sanomaly​=λ⋅Sdata​+(1−λ)⋅Sphysics​

λ=σ(ω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 实际运算举例

假设:

计算 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​ 举例

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​?


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∣​))

怎么用?


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​=α1​Lcls​+α2​Lreg​+α3​Lmmd​+α4​Lphys​+α5​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(τ))(Lrated​L(τ)​)β(s(τ))dτ)⋅γ(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​))


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)

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−Sthreshold​Sanomaly​​))


5.5 边缘模型增量更新

Wedgenew=Wedgeold+η⋅ΔW⋅MimportanceW_{edge}^{new} = W_{edge}^{old} + \eta \cdot \Delta W \cdot M_{importance}Wedgenew​=Wedgeold​+η⋅ΔW⋅Mimportance​


5.6 结果和闭环


批判性思考总结


完整流程复盘(像小学生一样总结)

  1. 采数据(振动+温度)
  2. 预处理(去噪、归一化)
  3. 滤波(根据实际轴承参数动态算中心频率)
  4. 特征提取(时域、频域、时频、温度)
  5. 异常检测(物理+AI自适应融合)
  6. 压缩上传有价值信息
  7. 云端多任务优化模型
  8. RUL寿命预测(物理-数据结合)
  9. 云端下发轻量模型,边缘增量更新
  10. 系统持续自我成长,健康诊断和寿命预测越来越准

算法算力

边缘端计算分工

边缘端负责从传感器采集振动和温度信号,进行信号预处理(如去噪、滤波),提取特征(如频谱、温升率),进行初步异常检测,并运行预训练的AI模型(如CNN+LSTM)进行故障诊断和健康预测。它还压缩数据,通过4G TCP上传至云端,减轻带宽压力。

云端计算分工

云端接收边缘端上传的特征数据,进行存储、深度分析(如模式识别、趋势分析),训练和优化AI模型,并将更新后的模型下发至边缘端。它还提供远程监控平台,展示设备状态和分析结果,支持实时报警。

边缘端算力需求

边缘端需实时处理高频振动数据(5kHz采样率)和低频温度数据(1Hz),每秒处理1秒窗口的数据,涉及FFT计算和神经网络推理。研究表明,ARM处理器如Raspberry Pi 4(四核1.5GHz)能满足需求,处理延迟在毫秒级。

意外细节

边缘端还能接收云端下发的优化模型,形成闭环优化,这在实时系统中较为少见,提升了系统的自适应性。



详细分析

以下是基于用户提供的专利内容和算法描述的深入分析,涵盖边缘端和云端在系统架构中的计算分工、边缘端的算力需求,以及整个系统和信息系统架构的详细说明。

算法部分的深入思考

专利中描述的AI故障诊断模块采用卷积神经网络(CNN)和循环神经网络(RNN,具体为双层LSTM)的组合,分别提取空间特征和时序特征,并通过物理约束层嵌入特征频率(如BPFI、BPFO、BSF)等物理知识。以下是算法部分的详细分析:

算法的组合表明,系统需在边缘端实时处理高频信号,提取特征并运行轻量模型;云端则负责复杂模型训练和优化。这种分工基于数据处理的第一性原理,即靠近数据源进行初步处理,减少传输成本;复杂计算则在云端完成,利用其计算资源优势。

边缘端和云端的计算分工

基于系统架构,边缘端和云端的计算任务分工如下:

这种分工体现了数据处理第一性原理:边缘端靠近数据源,处理高频信号,提取价值信息,减轻云端负担;云端利用计算资源优势,完成复杂分析和长期存储,形成协同工作机制。

边缘端的算力需求

边缘端需实时处理高频振动数据(5kHz)和低频温度数据(1Hz),具体算力需求基于以下任务:

基于以上,边缘端的算力需求可估算为:

实际设备如Raspberry Pi 4(四核Cortex-A72,1.5GHz,主频可超频至1.8GHz)能满足需求,其处理延迟在毫秒级,适合实时处理。更高负载(如多电梯监测)可选用NVIDIA Jetson Nano(支持GPU加速,约472 GFLOPS),但单电梯场景中ARM处理器已足够。

系统架构

整个系统分为边缘端和云端两部分:

数据流:边缘端采集信号→预处理→特征提取→AI诊断→压缩上传→云端接收→存储→深度分析→模型训练→下发优化模型,形成闭环。

信息系统架构

采用分层+微服务设计:


关键引用