And excerpt from the Savitzky-Golay demo for a single block filter:
uses MtxExpr, Math387, MtxVec, SignalUtils, MtxVecTee, MtxVecEdit; procedure TForm1.Button1Click(Sender: TObject); var H,D: Matrix; Data, Data1: Vector; Frs,Ord: integer; begin Data.Size(100); Data.RandGauss; Data1.Copy(Data); Frs := 10; if not Odd(Frs) then Inc(Frs); Ord := 5; SavGolayImpulse(H,D,Frs,Ord,nil); //single block processing SavGolayFilter(Data,H); DrawIt([Data,Data1],['Filtered data','Original data']); end;
#include "MtxExpr.hpp" #include "MtxVecEdit.hpp" #include "MtxVecTee.hpp" #include "SignalUtils.hpp" void __fastcall TForm1::BitBtn1Click(TObject *Sender) { sMatrix H,D; sVector Data, Data1; Data.Size(100); Data.RandGauss(); Data1.Copy(Data); int Frs = 10; if ((Frs%2) == 0) Frs++; int Ord = 5; SavGolayImpulse(H,D,Frs,Ord,NULL); //single block processing SavGolayFilter(Data,H); DrawIt(OPENARRAY(TVec*,(Data,Data1)),OPENARRAY(AnsiString,("Filtered data","Original data"))); }
Copyright (c) 1999-2025 by Dew Research. All rights reserved.
|