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

SampleAndHoldFilter example on a sine. 

 

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

    procedure TForm1.Button1Click(Sender: TObject);
    var b,c: Vector;
        n,i: integer;
        State: TSampleAndHoldState;
    begin
        Tone(b,300,5.0/300,0,1);
        c.Copy(b);
        n := 10;
        for i := 0 to b.Length div n-1 do
        begin
            b.SetSubRange(i*n,n);
            SampleAndHoldFilter(b,State,7);
        end;
        b.SetFullRange;
        DrawIt([c,b],['Unfiltered','Filtered']);
    end;

 

    #include "MtxExpr.hpp"
    #include "MtxVecEdit.hpp"
    #include "MtxVecTee.hpp"
    #include "SignalUtils.hpp"

    void __fastcall TForm1::BitBtn1Click(TObject *Sender)
    {
        sVector b,c;
        int n,i;
        TSampleAndHoldState State;

        Tone(b,300,5.0/300,0,1); //generate sine with 5 periods in 300 samples

        c = b;
        n = 10;
        for (i = 0; i < (b.Length/n); i++)  //Streaming test 1
        {
          SampleAndHoldFilter(b(i*n,i*n+n-1),State,7);
        }

        DrawIt(OPENARRAY(TVec*,(c,b)),OPENARRAY(AnsiString,("Unfiltered","Filtered")));
    }
Copyright (c) 1999-2025 by Dew Research. All rights reserved.