You are here: Symbol Reference > SignalUtils Namespace > Functions > SignalUtils.MovingAverageFilter Function
DSP Master VCL
ContentsIndex
PreviousUpNext
SignalUtils.MovingAverageFilter Function

Filter data with a moving average filter.

Pascal
procedure MovingAverageFilter(Data: TVec; MaskSize: integer; DataIndex: integer = 0; Len: integer = -1); overload;

Applies moving average filter to Data from DataIndex to DataIndex+Len. Set Len to -1 to use the full Data length. MaskSize defines the length of the filter in samples. This MovingAverageFilter routine can be used to filter a block of data (not for streaming).

Moving average filter applied to a sine signal. 

 

  uses MtxExpr, Math387, MtxVec, SignalUtils, MtxVecTee, MtxVecEdit,OptimalFir;

  procedure TForm1.Button1Click(Sender: TObject);
  var b,c: Vector;
  begin
      Tone(b,300,5/300,0,1);
      c.Copy(b);
      MovingAverageFilter(b,20);
      DrawIt([c,b],['Unfiltered','Filtered']);
  end;

 

  void __fastcall TForm1::BitBtn1Click(TObject *Sender)
  {
      Vector b,c;

      Tone(b,300,5.0/300,0,1);
      c->Copy(b);
      MovingAverageFilter(b,20);
      DrawIt(OPENARRAY(TVec*,(c,b)),OPENARRAY(AnsiString,("Unfiltered","Filtered")));
  }
Copyright (c) 1999-2025 by Dew Research. All rights reserved.
What do you think about this topic? Send feedback!