尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
深入浅出TinyML 15:时域特征能够描述信号的哪些属性?
时域特征把一段波形压缩成少量数字。均值描述基线RMS描述总体能量峰峰值描述幅度范围峭度对尖锐冲击更敏感。特征名称熟悉并不代表它一定适合当前任务。有效特征应在类别之间形成稳定差异并在设备、温度和时间变化下保持可重复。计算量、数值稳定性和PC/MCU一致性也要进入选择。特征的价值由区分度、稳定性和计算成本共同决定公式本身不能证明它有用。完成本篇后你应该能够解释均值、方差、RMS、峰峰值、偏度、峰度和相关系数描述的信号属性。识别对毛刺、量程和窗口长度敏感的特征。一次遍历提取多项特征并用合成窗口检查每个特征的方向是否符合预期。时域特征直接在采样值上计算不需要FFT。它们适合幅值、能量、冲击和通道关系能够区分类别的任务。一、位置、离散程度与能量均值反映窗口的平均水平适合观察零偏或直流分量方差和标准差反映数据围绕均值的离散程度RMS不先去均值能够反映含直流分量的整体能量。是否去均值取决于任务。姿态识别需要利用重力方向时盲目中心化会删除有效信息纯振动分析可能更关心交流分量。均值 μ (1/N)ΣxᵢRMS √[(1/N)Σxᵢ²]方差 σ² (1/N)Σ(xᵢ − μ)²图1不同统计特征强调波形的不同属性二、极值与高阶特征对异常更敏感最大值、最小值和峰峰值能够捕捉幅值范围但容易被单个毛刺影响。偏度描述分布不对称峭度反映尾部和尖峰程度适合冲击类任务也对噪声和样本长度敏感。高阶矩计算前要检查数值范围。定点实现需要避免累加溢出浮点实现也应处理方差接近零的窗口。表1常见时域特征的含义与风险特征主要含义注意事项均值基线或直流分量去均值会删除该信息RMS总体能量受直流偏置影响峰峰值幅值范围对毛刺敏感峭度尖峰与重尾短窗口和噪声下波动大过零率符号变化频率阈值和偏置会改变结果三、相关性与跨通道特征补充方向信息六轴IMU各通道并非独立。轴间相关系数、合加速度和角速度模长能够描述方向耦合与整体运动强度但也会增加计算和输入维度。特征数量增加会扩大模型参数并提高过拟合风险。可以用相关矩阵、单特征分布和消融实验删除重复或不稳定特征。四、板端实现要保证一次遍历和可验证均值、平方和、极值和过零次数可以在一次遍历中累计减少内存访问。统计结果应与Python参考实现使用相同分母、数据类型和边界约定。对每个特征设置单元测试包含全零、常数、正弦、冲击和极值输入。这样能够在模型调试前排除特征实现错误。C一次遍历计算均值、RMS和峰峰值void basic_features(const float *x, size_t n,float *mean, float *rms, float *ptp){double sum 0.0, sum_sq 0.0;float min_v x[0], max_v x[0];for (size_t i 0; i n; i) {sum x[i];sum_sq (double)x[i] * x[i];if (x[i] min_v) min_v x[i];if (x[i] max_v) max_v x[i];}*mean (float)(sum / n);*rms sqrtf((float)(sum_sq / n));*ptp max_v - min_v;}同一段数据可以从位置、能量和形状三个层面描述均值描述基线位置标准差描述围绕均值的波动RMS描述相对零点的能量。信号存在直流偏置时RMS同时包含偏置和变化若只关心交流振动可先去均值再计算标准差或交流RMS。峰值和峰峰值关注极端幅度对冲击敏感也容易被单个毛刺影响。峰度用于描述分布尖锐程度冲击信号常出现较高峰度但样本少时估计不稳定。每个特征都要和数据质量规则一起使用。过零率描述符号变化频繁程度粗略反映频率与噪声。若信号有较大零偏它可能几乎不穿过零点。可以先去均值或使用相对局部基线的过零但训练与部署必须一致。RMS sqrt(sum(x²)/N)方差 sum((x-mean)²)/N峰峰值 max(x)-min(x)多通道任务还需要描述轴之间的关系两轴相关系数接近1表示同向变化接近-1表示反向变化接近0表示线性关系弱。六轴IMU中的轴间关系可以表达旋转方向和机械耦合。相关系数计算前要去均值并处理某一轴方差接近0的情况。模长 sqrt(x²y²z²) 对坐标旋转更稳定却失去方向。固定安装的故障诊断可能需要方向信息穿戴式任意姿态可能受益于模长。可以同时保留每轴特征与模长特征再通过消融实验判断贡献。MCU实现应复用一次遍历中的累加量sum、sum_sq、min和max。累加位宽要根据最大输入和窗口长度计算INT16平方后至少需要更宽类型。浮点实现简单定点实现要明确缩放和溢出。常用时域特征与敏感因素特征主要描述容易受影响均值基线与零偏漂移、安装方向RMS/方差能量与波动量程、窗口长度峰峰值/峰度冲击与极端毛刺、样本数相关系数通道协同低方差与时间错位动手让四类信号在时域特征上显形脚本生成静止偏置、平稳正弦、强随机噪声和带冲击正弦四类窗口计算均值、RMS、标准差、峰峰值、过零率和峰度。目标是先根据物理含义预测方向再用数字验证。实验环境与输入Python 3标准库。保存为 time_features.py 并运行。随机数种子固定输出可重复。按顺序完成实验运行前先预测哪类均值最高、哪类峰峰值最大、哪类峰度最高。运行代码并逐项核对预测。向所有信号增加0.5偏置观察RMS、均值和过零率变化。删除冲击点验证峰度和峰峰值为何明显下降。可直接运行六个时域特征的完整实现import mathimport randomrandom.seed(15)N 200signals {bias: [0.6 random.gauss(0, 0.01) for _ in range(N)],sine: [0.4*math.sin(2*math.pi*8*n/200) for n in range(N)],noise: [random.gauss(0, 0.4) for _ in range(N)],impact: [0.3*math.sin(2*math.pi*8*n/200) (2.5 if n 90 else 0.0) for n in range(N)],}def extract(x):mean sum(x) / len(x)centered [v - mean for v in x]variance sum(v*v for v in centered) / len(x)rms math.sqrt(sum(v*v for v in x) / len(x))p2p max(x) - min(x)zcr sum((a 0) ! (b 0) for a, b in zip(x, x[1:]))/(len(x)-1)fourth sum(v**4 for v in centered) / len(x)kurtosis fourth / (variance*variance) if variance 1e-12 else 0.0return mean, rms, math.sqrt(variance), p2p, zcr, kurtosisprint(name mean rms std p2p zcr kurtosis)for name, values in signals.items():f extract(values)print(f{name:8s} .join(f{v:7.3f} for v in f))先读懂代码中的关键路径均值与RMS使用原值标准差和峰度使用去均值值两者回答不同问题。峰度分母是方差平方方差接近0时必须保护避免NaN进入模型。过零率按相邻点符号变化计数加入直流偏置会明显改变它。固定信号类型帮助先预测特征方向再用输出检查公式实现。你应该观察到什么bias信号均值接近0.6但标准差很小说明RMS大不一定代表强振动。impact信号的峰峰值与峰度明显上升反映少量极端点。noise信号过零率通常高于低频正弦但具体数字受随机样本影响。成功标准你能从任务的物理差异出发选择特征而非机械收集所有统计量。每个特征在PC与MCU上使用相同定义、除数和边界处理。板端实现检查累加位宽、除零、NaN和异常输入。失败时从哪里查起时域特征异常值的来源现象可能原因处理RMS远大于预期存在直流偏置或单位错误同时查看均值和物理范围峰度非常不稳定窗口太短或毛刺未处理扩大样本并保留质量标志相关系数出现NaN某轴方差接近0设置最小方差保护特征测试应包含容易手算的常量、正弦和单脉冲输入这比只拿真实复杂波形更容易发现实现错误。把实验迁移到真实MCU项目一次遍历可以累加sum、sum_sq、min、max和过零数减少内存访问。峰度需要更高阶累加先确认任务是否真的受益。INT16平方和可能溢出32位。用窗口长度和最大码推导上界选择int64或缩放最后与Python黄金结果比较。特征量纲也要记录。均值和RMS继承输入单位方差是单位平方相关系数无量纲。把不同量纲特征直接送入Dense前通常需要基于训练集的缩放并在MCU复现。特征定义改变后应提升预处理版本即使模型shape不变旧权重也需要重新验证。把结果再向前推进一步为INT16输入、N1024计算sum_sq所需的最小安全累加位宽。构造两个相关系数接近1和-1的轴信号并验证实现。挑选不超过8个特征形成最小基线记录每个特征的物理含义。收束时域特征是带有物理含义的数据压缩。通过类别区分度、跨设备稳定性和MCU成本验证后再保留避免堆叠无效统计量。
RELATED

相关推荐

CIMPro孪大师|智慧路桥数字孪生管理平台建设方案

CIMPro孪大师|智慧路桥数字孪生管理平台建设方案

摘要:本文系统介绍了智慧路桥数字孪生平台的构建与应用。针对路桥管养行业存在的资产台账与空间位置脱节、隐蔽病害难发现、数据分散等痛点,提出基于数字孪生技术的解决方案。文章详细阐述了平台的四层架构(感知采集层、传输网关层、孪生底座…

📅 2026/10/25 3:41:52
爱心代码-表白专属(CV可用)

爱心代码-表白专属(CV可用)

一.简介这是一个 tkinter 桌面弹窗小程序(表白):先在屏幕上用 100 个小弹窗拼出一个爱心,然后满屏随机弹窗轰炸,最后自动收场。运行中按空格或 Esc 可随时退出。二.核心原理爱心参数方程x 16sin(θ) y 13cos(θ) − …

📅 2026/10/26 13:04:33
健身预约类毕业设计:内容匹配+协同过滤的混合推荐怎么设计权重

健身预约类毕业设计:内容匹配+协同过滤的混合推荐怎么设计权重

健身预约类毕业设计:内容匹配协同过滤的混合推荐怎么设计权重 健身课程预约类选题属于生活服务预约的大方向,场景接地气、功能链条完整。这篇聊聊一个设计得比较细致的混合推荐算法,以及一类值得复用的AI功能设计模式。 一、健身方向值得选&a…

📅 2026/9/7 23:07:20
MORE NEWS

更多资讯

📰

ADB 1.0.39 Windows版:固定版本安全自查与排错

简介:adb 1.0.39 Windows 版是一份面向 Android 应用开发者、测试与安全研究人员的命令行工具包,用于在电脑与真机或模拟器之间建立调试通道,解决设备连接、应用安装卸载、日志抓取与进程控制等日常需求。压缩包共 1716 个文件,主…

📰

展讯改串号工具环境搭建与避坑:驱动、pac包、备份与闭环验证

简介:展讯改串号工具是一套面向展讯芯片手机维修与调试人员、嵌入式开发学习者的IMEI写入工具包,主要解决设备识别信息修改与相关写入流程研究的问题,适用于有合法理由且了解风险的专业场景。压缩包共80个文件,约3.55MB&#xff0…

📰

MPP大规模并行处理架构解析:从原理到选型

1. MPP到底是什么?先从一个查询说起先明确一点:MPP(Massively Parallel Processing)是“大规模并行处理”的意思。它不是某一个具体的数据库软件,而是一类架构思想——把一个大任务拆成很多小任务,交给一堆…

📰

MinGW下SDL2开发包使用全解析:解压、配置与编译实战

简介:这是面向VScode中搭建LVGL模拟器的SDL2 MinGW开发依赖包,适合嵌入式GUI开发者或正在学习LVGL的初学者使用,用于解决SDL2图形后端缺失导致模拟器无法编译运行的难题。压缩包共包含414个文件,涵盖160个h头文件、99个c源码文件、…

📰

VoiceStudio 本地语音工作台:从环境搭建到音色克隆的完整实操指南

1. 从零搭建一个本地语音工作台:VoiceStudio 到底解决了什么问题第一次看到 VoiceStudio 这个名字,我脑子里蹦出来的第一个念头是:又是一个套壳的在线配音工具?毕竟这两年打着“AI 语音”旗号的项目太多了,十个里有八个…

📰

nmon单机性能采样:从指标采集到故障复盘

1. 一台机器卡成幻灯片,我才想起它 先说个很典型的场景。半夜收到告警,一台业务机器的负载从平时的 0.8 一路飙到 40 多,SSH 还能连上,但 top 敲下去光标闪半天不出结果, ps aux 也要卡十几秒。这种时候你其实特别…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬