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

Sample and delay filter example on a sine. 

 

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

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);
        SampleAndDecayFilter(b,State,0.95);
    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 num,den,b,c,Response;
        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
        {
          SampleAndDecayFilter(b(i*n,i*n+n-1),State,0.95);
        }

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