主要内容

测量流信号统计信息

移动统计系统对象在MATLAB中测量流信号的统计量®.您还可以使用诸如movmeanmovmedianmovstd,movvar测量移动的统计数据。这些函数更适合于对批处理中可用的数据进行一次性计算。与System对象不同,这些函数不是为处理大型数据流而设计的。

仅使用MATLAB函数计算移动平均

函数计算信号的移动平均movmean函数。

movmean函数计算来自加速度计的噪声数据的10点移动平均值。数据中的三列表示加速度计的线性加速度X设在,Y设在,Z分别设在。所有数据都在一个MAT文件中可用。的移动平均值X设在数据。

winLen = 10;加速度=负载(“LSM9DS1accelData73.mat”);movAvg = movmean(加速。数据,winLen,“端点”“填满”);情节([accel.data (: 1), movAvg (: 1)));传奇(“输入”“X数据移动平均”);

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象表示输入,沿X数据的移动平均。

数据不是很大(每列7140个样本),完全可以进行处理。的movmean函数被设计来处理这样的一次性计算。但是,如果数据非常大,例如以GB为单位,或者数据是需要实时处理的实时流,则使用System对象。System对象将数据划分为称为帧的段,并在迭代循环中无缝地处理每个帧。这种方法是内存效率高的,因为在任何给定时间只处理一帧数据。此外,System对象也被优化为在内部处理状态。

使用系统对象计算移动平均线

创建一个dsp。MovingAverage系统对象用于计算流信号的10点移动平均值。使用一个dsp。MatFileReader系统对象从加速度计MAT文件中读取数据。在时间范围内查看移动平均线输出。

System对象自动将数据索引到帧中。选择714个样本的框架大小。MAT文件的每列中有7140个样本或10帧数据。每个迭代循环计算1帧数据的移动平均值。

frameSize = 714;Reader = dsp。MatFileReader (“SamplesPerFrame”frameSize,...“文件名”“LSM9DS1accelData73.mat”“VariableName”“数据”);movAvg = dsp.MovingAverage(10);Scope = timescope(“NumInputPorts”2,“SampleRate”, 119,...“YLimits”(-2500 2500),...“TimeSpanSource”“属性”“时间间隔”现年60岁的...“ChannelNames”, {“输入”“X数据移动平均”},...“ShowLegend”,真正的);~isDone(reader) accel = reader();avgData = movAvg(accel);范围(accel (: 1), avgData (: 1));结束

处理循环非常简单。系统对象自动处理数据索引和状态。

相关的话题