Home
 
User Manual
 
Testimonials
 
Purchase Form

Libraries
    LeastSqX   
    FFTX  
    SigProcX     
    KalmanFtX   
    SortX  
    RootX  
    EncryptX

Newcastle Scientific
7920 139th Ave SE
Newcastle, WA 98059

                     



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


Home   User Manual   Purchase   Testimonials
LeastSqX    FFTX    SigProcX   KalmanFtX   SortX   RootX  EncryptX