DewDSPMasterNET
Differentiate Routine
Summary
Differentiate the signal.

Unit
SignalUtils

Declaration
Function Differentiate(Src, Dst: TVec; var State: TDiffState; Dt: TSample): TVec;

Description
Differentiate the signal Src and place the result in Dst, The routine can also be used for streaming data, if the value of the State parameter is preserved between consecutive calls. dT defines the sampling period. Src can be complex or real. For setting the initial conditions to other then 0 see the TDiffState description.

The following formula is used for numeric differentiation:

y[i] = (x[i] - x[i-2]) / (2 * dT) dT ... sampling period x - input y - output
The filter does not preserve linear phase, but it is more accurate then:
y[i] = (x[i]-x[i-1])/dT
which can be rewriten as:
y[i] = ((x[i] - x[i-1]) + (x[i-1] - x[i-2]))/2 * 1/dT
To apply a differentiator preserving linear phase see the RemezImpulse and KaiserImpulse routines.

Important: Record types as well as all other variables are automatically initialized to zero, if they are declared as fields of an object. The state variable of the Differentiate routine has to be initialized before it can be used, if declared within a routine.

Categories
IIR Filters
 See Also 
Integrate 
RemezImpulse 
KaiserImpulse 
FIRImpulse 

Copyright 2008 Dew Research
http://www.dewresearch.com