主要内容

流信号测量统计

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

仅用MATLAB函数计算移动平均

这个例子展示了如何计算信号的移动平均movmean函数。

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

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

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

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

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

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

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

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

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

相关的话题

Baidu
map