filters x using a linear recurrence equation with coefficients α and β.


uses a discrete-time filter defined by the TransferFunctionModel tf.


uses a specified list {y0,y-1,} as the initial condition.


filters image.


filters sampled sound object.

Details and Options

  • RecurrenceFilter[{α,β},x] gives the response y to the causal input x by solving the recurrence equation for n from 1 to Length[x], where i is Length[α] and j is Length[β].
  • RecurrenceFilter[{α,β},x] uses an initial condition .
  • RecurrenceFilter[{α,β},x] pads the input x so that . The values can be changed with the Padding option. »With Padding->None, the response y effectively starts at yj, and the output dimensions are normally smaller than the input.
  • The specified coefficients α and β are respectively the denominator and numerator polynomial coefficients of the desired transfer function model.
  • In RecurrenceFilter[tf,], tf should be a single-input single-output (SISO) system.
  • RecurrenceFilter works with arbitrary-rank numerical arrays, 2D and 3D images, and sampled sound objects, operating separately on each channel.
  • Possible sound objects include:
  • SampledSoundList[{a1,a2,},r]amplitude levels given in a list
    SampledSoundFunction[f,n,r]amplitude levels generated by a function
    Sound[prims,]excluding SoundNote objects in prims
  • When applied to images and multidimensional arrays, the specified filter is applied successively to each dimension, starting at level 1.
  • For multichannel image and sound objects, RecurrenceFilter is applied to each channel separately.


open allclose all

Basic Examples  (2)

Filtering of a unit impulse sequence:

Filtering of an image:

Scope  (5)

Use symbolic values for filter coefficients:

Filter a symbolic sequence:

Apply a filter specified using a transfer function model:

Specify an initial condition:

Filter a TimeSeries:

Options  (1)

Padding  (1)

By default, RecurrenceFilter uses zero padding:

Use nonzero constant padding:

Use periodic padding:

With Padding->None, a shorter sequence is returned:

Applications  (3)

Filtering a noisy sinusoid signal with a recursive smoothing filter:

Filter an audio signal:

Filter an image using a lowpass Butterworth filter:

Properties & Relations  (5)

Impulse response of first-order recursive filter:

Step response of a non-recursive filter:

In 2D, the filter is applied successively to rows and columns:

Use Map to apply the filter to rows only:

For 1D arrays, OutputResponse is equivalent to RecurrenceFilter:

Use RecurrenceTable when describing the filter using a difference equation:

ListConvolve and RecurrenceFilter return equivalent results for non-recursive digital filters:

Wolfram Research (2012), RecurrenceFilter, Wolfram Language function, (updated 2014).


Wolfram Research (2012), RecurrenceFilter, Wolfram Language function, (updated 2014).


@misc{reference.wolfram_2020_recurrencefilter, author="Wolfram Research", title="{RecurrenceFilter}", year="2014", howpublished="\url{}", note=[Accessed: 26-January-2021 ]}


@online{reference.wolfram_2020_recurrencefilter, organization={Wolfram Research}, title={RecurrenceFilter}, year={2014}, url={}, note=[Accessed: 26-January-2021 ]}


Wolfram Language. 2012. "RecurrenceFilter." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014.


Wolfram Language. (2012). RecurrenceFilter. Wolfram Language & System Documentation Center. Retrieved from