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

Design a DC filter.

Pascal
procedure DcFilter(TransitionBandwidth: double; FS: double; num: TVec; den: TVec); overload;

Design a DC filter with TransitionBandwidth and place the transfer function in Num (numerator) and Den (denominator). You can then use this transfer function to initialize an IIR filter with a call to IirInit. 

A DC filtered signal will be centered around zero. This DC filter is a simple differentiator/integrator pair. Transition bandwidth is the width of the frequency band where the amplitude is not yet completely attenuated. With DC filters, the transition band starts at 0 Hz. Narrow transition band (TransitionBandwidth/FS ratio is small) will result in filters with longer delays. FS is the sampling frequency. The filter implements the following difference equation: 

 

y[i] = x[i] - x[i-1] + alpha*y[i-1]

x.. input signal
y.. output signal
alpha.. parameter

 

Alpha paremeter can control the 3dB frequency of the transition bandwidth: 

 

alpha := 1-(TransitionBandwidth/FS)*Pi;

FS.. sampling frequency
TransitionBandwidth.. frequency up to which will the filter have more
                      then 3dB attenuation. Must be less then FS/2.
Copyright (c) 1999-2025 by Dew Research. All rights reserved.
What do you think about this topic? Send feedback!