当LabVIEW遇上Python:打造信号处理流水线
Labview信号采集与多功能分析系统含报告 系统可作为自己的基础框架然后进行二次开发。 系统功能 1可采集传感器的真实信号。 若采集实际信号则需要NI的采集卡哦。 2可采集labview产生的模拟信号。 3可分析信号的时域特征包括均值方差最大值最小值峰度等特征。 4可对信号进行算数运算例如放大或者缩小。 5可对信号进行去噪滤波。 6可对信号进行互关和自关分析。 7可对信号设置报警阈值超过阈值时报警灯亮。 8可实时显示采集信号的时域、频域、功率谱和时频域信息 9可实时显示当前和历史采集的数据。 10可设置任意时长的采样时间不可超内存 11可同时采集多个通道的数据 12可设置不同的采样频率 13可自动采集并保存数据 送读取采集数据的python代码与数据预处理代码方便后续开展信号处理工作。这个LabVIEW系统像瑞士军刀一样集成了信号采集、运算、分析和可视化功能。底层架构用LabVIEW的Producer/Consumer模式保证实时性前端面板塞满了波形图和参数控件看起来像是飞机驾驶舱的操作台。采集真实信号时DAQ助手配置向导自动生成硬件参数模板。比如配置NI-9234采集卡时顺手把采样率设为10kHz触发模式改成边沿触发DAQmx Create Channel (AI Voltage) -- DAQmx Timing (Sample Clock: 10k Samples/sec) -- DAQmx Trigger (Digital Edge: PFI0)模拟信号生成倒是简单用Simulate Signal VI就能伪造正弦波白噪声。最近发现个骚操作——在公式节点里写sin(2pi50*t)rand()/10比自带控件更灵活。滤波模块里巴特沃斯滤波器是常客。下图代码实现实时滑动滤波时循环缓冲区大小要跟着截止频率动态调整Butterworth Filter.vi (Lowpass) -- Shift Register维护数据窗口 -- 每次处理时取缓冲区尾部200个点时域分析直接调用统计VI但峰度计算要注意数据长度。某次处理ECG信号时发现当窗口小于100个采样点时峰度值会抽风似的乱跳后来加了个数据长度校验才稳定。Labview信号采集与多功能分析系统含报告 系统可作为自己的基础框架然后进行二次开发。 系统功能 1可采集传感器的真实信号。 若采集实际信号则需要NI的采集卡哦。 2可采集labview产生的模拟信号。 3可分析信号的时域特征包括均值方差最大值最小值峰度等特征。 4可对信号进行算数运算例如放大或者缩小。 5可对信号进行去噪滤波。 6可对信号进行互关和自关分析。 7可对信号设置报警阈值超过阈值时报警灯亮。 8可实时显示采集信号的时域、频域、功率谱和时频域信息 9可实时显示当前和历史采集的数据。 10可设置任意时长的采样时间不可超内存 11可同时采集多个通道的数据 12可设置不同的采样频率 13可自动采集并保存数据 送读取采集数据的python代码与数据预处理代码方便后续开展信号处理工作。Python处理部分用pandas加载.tdms文件时nptdms库比LabVIEW自带的导出工具更香。读取多通道数据时用这个套路from nptdms import TdmsFile with TdmsFile.open(data.tdms) as tdms: group tdms[Measured Data] df pd.DataFrame() for channel in group.channels(): df[channel.name] channel[:]预处理流水线一般包含标准化降噪。小波阈值去噪用pywt库三行搞定import pywt coeffs pywt.wavedec(signal, db4, level5) coeffs[1:] [pywt.threshold(c, 0.1*np.max(c)) for c in coeffs[1:]] denoised pywt.waverec(coeffs, db4)报警阈值功能在LabVIEW里实现为并行循环当RMS值超过设定值时不仅布尔指示灯会变红还会触发事件记录时间戳。这个日志文件后来被集成到Python的异常检测模型里成为特征工程的一部分。二次开发时建议先把保存策略从.tdms改成HDF5格式。实测500MB以上数据文件时HDF5的读写速度比TDMS快3倍配合h5py库还能直接做分块处理。多线程采集时注意设置内存映射否则连续采集两小时可能内存爆炸。系统里藏着几个彩蛋功能按住CtrlShift点击停止按钮会弹出隐藏的调试面板在采样率输入框输入3141自动切换为π采样模式——虽然至今没想明白这种模式的实际用途但工程师的恶趣味不正是如此么
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2449470.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!