SimFil
can output filtered, DFT, or raw (optionally subsampled) signals in
any of the three relevant signal domains. SimFil preserves signal
tail values in all three domains and is formulated to provide a smoothed
approximation in all three domains.
Default
frequencies, final times and output file names are provided by the
program. The frequencies are based on current NHTSA standards for
various sensor attachments (see below).
SimFil
supports template/hitlist and batch processing with the standard command
line arguments plus the additional INI_VAL argument. Use the INI_VAL
command line argument for control over the initial values in the computed
signal domains.
Optional
tail smoothing can be applied to any of the three signal domains to
avoid preserving "noisy" tail values. The tail smoothing
frequency is the effective cutoff frequency of a filter applied to
select the smoothed tail values. Extended data (before time-zero and
after the DFT time span) is used in this tail smoothing, if available.
For filter
and DFT processes there are "Stop" and "Max" frequency
modes. The stop frequency is the stopband frequency of any previous
filtering and the max frequency is the Nyquist limit frequency. For
filtering, these modes use a square frequency response. Filtering
with these modes can be used, for example, to change the time step
of the data without removing any significant frequency content. Subsampling
is used instead of actual filtering in "Max" frequency mode
if the output time step is a multiple of the input time step.
The DFT's
can be output in signed or magnitude form. The signed DFT's contains
all the spectral information since the signal transformations used
by SimFil result in pure imaginary and pure real DFT's.
There
is also a raw output process that can be used to output unfiltered
signals in any of the three domain signals, including data before
time-zero, with a specified time-step. This allows SimFil to be used
for unfiltered integration/differentiation output.
Currently
SimFil can handle input of the following signal types with standard
NHTSA units: ACCELERATION, VELOCITY, REL. VELOCITY, DISPLACEMENT,
POSITION, DEFLECTION, LENGTH, ANGULAR ACCELERATION, ANGULAR VELOCITY,
ANGULAR DISPLACEMENT, FORCE, STATIC FORCE, IMPULSE, TORQUE, and ANGULAR
IMPULSE.
The default
cutoff frequencies used by SimFil for different sensor attachments
are:
Whenever
the specified filter overlaps earlier filtering windows or exceeds
the maximum data frequency, a warning is produced and the UDS output
file STATUS field is set to DISTORTED.
If the
filtered data time step and the DFT time span do not have a sufficiently
large greatest common divisor, a much slower data reconstruction algorithm
must be used by SimFil. This should not occur in typical filtering
applications.
The DFT
method used does not perform padding to allow standard FFT methods.
A semi-fast method is used but the CPU time can be significant for
higher frequencies. Since integral distortion is not significant for
typical filters at high cutoff frequencies, SimFil is primarily intended
for low frequency applications.
Overall,
SimFil is not an SAE J211 filter, although the DFT is windowed to
J211 standards with a response of 1 below 1/2 the cutoff, a modified
cosine window between 1/2 and 5/2 cutoff achieving -3 db at cutoff,
and a response of 0 above 5/2 cutoff.