主要内容

去除测量数据中的高频噪声

这个例子展示了如何设计一个低通滤波器,并用它来去除测量数据中的高频噪声。高频噪声是由于信号成分的变化速度快于感兴趣的信号。去除高频噪声可以使感兴趣的信号更紧凑地表示,并能够更准确地分析。低通滤波器是去除信号中高频噪声的常用技术。

读取数据

ThingSpeak™频道12397包含来自马萨诸塞州纳蒂克MathWorks®气象站的数据。这些数据每分钟被收集一次并发布到ThingSpeak上。通道的第3字段包含相对湿度数据。读取数据使用thingSpeakRead函数。

(湿度、时间)= thingSpeakRead (12397“NumPoints”, 8000,“字段”3);

设计滤波器

滤波器是从信号中去除不需要的成分的过程。低通滤波器的设计是为了让信号中较低的频率成分通过并阻塞较高的频率成分。DSP System Toolbox™提供了多种技术来定义低通滤波器。本实例设计了一个三阶有限脉冲响应(FIR)滤波器。采样频率为60秒1次(Fs=1/60),通道12397的数据每分钟上传1次。低通滤波器保持低频分量,衰减高频分量,衰减周期小于24小时。

过滤器类型=“杉”;Fs = 1/60;N = 3;成就= 1 / (24 * 60 * 60);Fstop = 1 / (2 * 60 * 60);Rp = 0.5;Astop = 50;LPF = dsp。LowpassFilter (“SampleRate”Fs,...“FilterType”filtertype,...“PassbandFrequency”成就,...“StopbandFrequency”Fstop,...“PassbandRipple”,Rp,...“StopbandAttenuation”, Astop);

处理并发送数据到ThingSpeak

使用低通滤波器处理相对湿度数据,并将过滤后的湿度数据通过ThingSpeak通道发送thingSpeakWrite函数。

输出=步长(LPF,湿度);

使用MATLAB分析应用程序,您可以将数据写入一个通道。如果您正在使用MATLAB可视化应用程序,您还可以添加数据的图。改变channelIDwriteAPIKey将数据发送到您的通道。

channelID = 17504;writeAPIKey =“23 zlgobbu9twhg2h”;thingSpeakWrite (channelID、输出“时间戳”时间“WriteKey”, writeAPIKey);情节(时间、湿度、时间、输出);ylabel (相对湿度的);传奇(“原始数据”过滤数据的);

该图显示高频噪声显著降低。

另请参阅

功能

相关话题