Performs 100 Hz finite impulse response filtering of a digitized time series.


fir100(vector1, vector2, 0|1, [on|off])


Time vector of data to analyze (seconds).
The dependent vector of data to analyze.
Remove bias option.
  • 0 = off
  • 1 = on
Flag to turn on debug mode and print to the message log (optional).
  • 0 = off (default)
  • 1 = on


x = c1.x
y = fir100(c1.x, c1.y, 1)


fir100 is general purpose in nature, but is used primarily to filter side impacted thoracic and pelvic signals.

The program filters a signal using a four step process:
  1. fir100 uses a four-pole, zero-phase Butterworth filter with a 300 Hz cutoff to prevent aliasing in the next step.
  2. The signal is subsampled to exactly 1600 Hz (time between data samples = .000625 seconds). This is the required sampling rate for fir100 to filter to the correct frequencies.
  3. If the third option is 1, bias in the signal is removed.
  4. The finite impulse response filter is applied to the signal.

The resulting passband frequency is 100 Hz, the cutoff frequency is 136 Hz, the stopband frequency is 189 Hz, the passband ripple is 0.0225 dB, and the stopband gain is -50 dB.