
Home
User
Manual
Testimonials
Purchase Form
|
|
SigProcX
The SigProcX control
offers a variety of time domain filtering functions, including an IIR
(Infinite Impulse Response) filter, FIR (Finite Impulse Response) filter,
Exponential Running Average filter, and an Alpha Beta filter. All of
these functions are very easy to use, and should benefit anyone analyzing, e.g.,
time series data for trends, whether historical or real-time in nature.
The user only has to select
the filter type, set several weighting constants, and then call the
desired filtering method with each new unfiltered data point.
The filters allow the user to create lowpass,
midpass, highpass, bandpass, notch, and other custom designs.
The SigProcX control also
contains functions for performing interpolation/extrapolations, including Cubic
Spline
and 2nd Order Polynomial methods. Simply call one of the interpolate
functions, passing an array of independent data, an array of dependent
data, and the desired X, and the function returns the corresponding Y.
|
A
simple filter example:
Private Sub Perform_filtering( )
Dim lowfilter As Double, midfilter As Double, highfilter
As Double
Dim i as long, number_of_data as long
Static dataY(2000) as double
' example data
number_of_data=2000
for i=0 to number_of_data-1
dataY(i)=100.0*sin(.1*i) + 100.0*cos(.05*i)
+200*rnd;
next i
' init filter
SigProcX1.High_pass_kernal = 10
SigProcX1.Low_pass_kernal = 30
SigProcX1.Init_Filter = True
'filter data
For i = 0 To number_of_data - 1
call SigProcX1.Data(dataY(i),
lowfilter, midfilter, highfilter)
print #1,
dataY(i), lowfilterm midfilter,highfilter
next i
end sub |
 |
| A simple
Cubic Spline Interpolation/Extrapolation example:
Private Sub Perform_interpolation( )
ReDim xd(10) As Double, yd(10) As Double
Dim num As Long
Dim i As Long
' example data
num = 11
For i = 0 To 10
xd(i) = i
yd(i) = rnd * sin(0.2
* i *rnd)
Next i
‘ interpolate at 5.4
MsgBox SigProcX1.Spline_interpolate
(True, num, xd(0), yd(0), 5.4)
‘ interpolate at 7.4
MsgBox SigProcX1.Spline_interpolate
(False, num, xd(0), yd(0), 7.4)
‘ extrapolate at 12.7
MsgBox SigProcX1.Spline_interpolate
(False, num, xd(0), yd(0), 12.7)
end sub |
 |
|
|
|