如何将传感器信号居中至零附近及均值减法对数据的影响
去直流偏置操作对传感器数据的影响说明
你使用的「信号减去自身均值」是工业信号处理领域非常常用的去直流偏置标准操作,不会对你的有效数据造成负面影响:
- 传感器输出不围绕零点,本质是硬件本身存在固定的直流偏移量,这个偏移是恒定的、不属于你需要采集的动态变化信号。减去均值仅会将信号整体沿Y轴平移到零点附近,信号的波动幅度、变化趋势、所有交流频率特征都和原始数据完全一致,没有改变任何有效信息。
- 如果你后续需要做傅里叶变换、滤波、特征提取等操作,提前做去直流反而会提升处理精度:直流分量对应频域0Hz的强信号,未去除时会压制其他低频有效信号的幅值,还会导致频域分析结果出现异常的0Hz高峰,干扰后续判断。
- 如果你的应用场景需要用到信号的绝对幅值(比如通过电压值换算实际物理量的绝对大小),只需要提前记录每路信号减掉的均值,后续需要还原时加回处理后的信号即可,完全不影响原始数据的可复原性。
代码优化建议
你现有代码中重复对同一段数据做了多次np.array()转换,可以做小幅优化减少冗余计算:
for fp in DataPathList: k += 1 print('Opened file number: {}'.format(fp)) dataset = np.loadtxt(fname=fp) y_arr = np.array(dataset[:, column_no]) # 去直流偏置,同时记录原始均值方便后续还原 y_mean = y_arr.mean() y_signal[k] = y_arr - y_mean y_S1_max_signal[k] = np.max(dataset[:, 0]) S_F = 1000 N = y_signal[k].shape[0] S_T = 1 / S_F t_n = S_T * N # seconds of sampling x_time = np.linspace(0, t_n, N)
内容的提问来源于stack exchange,提问作者WDpad159
相关产品推荐
相关产品推荐

