SignalProcessing.Compute.Filter.Resample

This node resamples the input signal by a given rational factor $L/M$. This is achieved by an upsampling by the factor $L$ and afterwards a downsampling by the factor $M$. These factors can be set with the upsample and downsample input slot.

resample
Low-pass
Low-pass
Low-pass
$f_c =1/L$
$f_c = \operatorname{min}(1/L,1/M)$
$f_c =1/M$
Upsampling by $L$
Downsampling by $M$
Upsampling by $L$
Downsampling by $M$

The interpolating low-pass filter after the upsampling step has a cut-off frequency of $1/L$. The band-limiting low-pass filter before the downsampling step has a cut-off frequency of $1/M$. These two can be combined into a single low-pass for which the cut-off frequency is set to the minimum of both original ones, as illustrated in the figure above.

The low-pass filtering is implemented by windowed-sinc FIR-filters. The filter input slot selects which windowing function is used:

  • Filter = 0: None (no low-pass is applied)
  • Filter = 1: Hamming
  • Filter = 2: Blackmann (default)
  • Filter = 3: BlackmanNuttal
  • Filter = 4: Lanczos

The quality input slot selects how many zero-crossings of the sinc-function are included into the window. A larger value generates a filter of higher quality but increases the computation time.

After upsampling many signal values are zero. After downsampling many intermediate signal values are not used any more. The special implementation of low-pass filtering that is used in this node takes this into account to reduce the computation time.