www.gusucode.com > dsp 案例源码程序 matlab代码 > dsp/ComputeMovingAverageUsingSystemObjectsExample.m
%% Compute Moving Average Using System Objects % Create a |dsp.MovingAverage| System object(TM) to compute the 10-point % moving average of the streaming signal. Use a |dsp.MatFileReader| System % object to read data from the accelerometer MAT file. View the moving average output % in the time scope. %% % The System objects automatically index the data into frames. Choose a % frame size of 714 samples. There are 7140 samples or 10 frames % of data in each column of the MAT file. Each iteration loop computes the % moving average of 1 frame of data. frameSize = 714; reader = dsp.MatFileReader('SamplesPerFrame',frameSize,... 'Filename','LSM9DS1accelData73.mat','VariableName','data'); movAvg = dsp.MovingAverage(10); scope = dsp.TimeScope('NumInputPorts',2,'SampleRate',119,'YLimits',[-2500 2500],... 'ChannelNames',{'Input','Moving Average along X data'},'TimeSpan',60,'ShowLegend',true); while ~isDone(reader) accel = reader(); avgData = movAvg(accel); scope(accel(:,1),avgData(:,1)); end %% % The processing loop is very simple. The System Objects handle data % indexing and states automatically.