LowpassFilter

LowpassFilter[data,ωc]

applies a lowpass filter with a cutoff frequency ωc to an array of data.

LowpassFilter[data,ωc,n]

uses a filter kernel of length n.

LowpassFilter[data,ωc,n,wfun]

applies a smoothing window wfun to the filter kernel.

Details and Options

  • Lowpass filtering is typically used for smoothing or denoising data, which works by diminishing high-frequency content from the data.
  • LowpassFilter convolves a digital signal with a finite impulse response (FIR) kernel created using the window method.
  • The data can be any of the following:
  • listarbitrary-rank numerical array
    tseriestemporal data such as TimeSeries and TemporalData
    imagearbitrary Image or Image3D object
    audioan Audio or Sound object
  • Smaller cutoff frequencies typically result in greater smoothing. Longer kernels result in a better frequency discrimination. »
  • LowpassFilter[data,ωc] uses a filter kernel length and smoothing window suitable for the cutoff frequency ωc and the input data.
  • Typical smoothing windows wfun include:
  • BlackmanWindowsmoothing with a Blackman window
    DirichletWindowno smoothing
    HammingWindowsmoothing with a Hamming window (default)
    {v1,v2,}use a window with values vi
    fcreate a window by sampling f between and
  • When applied to images and multidimensional arrays, filtering is applied successively to each dimension, starting at level 1. LowpassFilter[data,{ωc1,ωc2,}] uses the frequency ωci for the ^(th) dimension.
  • The following options can be given:
  • Padding "Fixed"the padding value to use
    SampleRate Automaticsample rate assumed for the input
  • By default, SampleRate->1 is assumed for images as well as lists. For audio signals and time series, the sample rate is either extracted or computed from the input data.
  • With SampleRatesr, the cutoff frequency ωc should be between 0 and . »

Examples

open allclose all

Basic Examples  (3)

Lowpass filtering of a noisy square wave:

Lowpass filtering of audio:

Lowpass filtering of an image:

Scope  (13)

Data  (8)

Filter a 1D pulse sequence:

Filter a 2D pulse sequence:

Filter a TimeSeries:

Smoothing of an Audio object of a triangle wave:

Use a low cutoff frequency to remove most of the signal harmonics:

Lowpass filtering of a Sound object of a dual-tone multi-frequency (DTMF) signal:

Use a cutoff frequency midway between two dial tones, a filter length of 99 and a Blackman window:

Lowpass filtering of a color halftone image:

Lowpass filtering of a 3D image:

Filter using exact precision:

Parameters  (5)

A numeric cutoff frequency is interpreted as a quantity in units of radians per second:

Filter a white noise signal using a cutoff frequency of :

Use a higher-frequency value:

By default, the length of the filter and its frequency discrimination depend on the cutoff frequency:

Higher cutoff frequencies result in shorter filter kernels, a wider transition band and poorer frequency discrimination:

Increase frequency discrimination by using a longer kernel:

Vary the amount of stopband attenuation by using different window functions:

Increase filter length to improve frequency discrimination:

Vary the amount of attenuation by using the adjustable Kaiser window:

Specify the window function as a numeric list:

Use different cutoff frequencies in each dimension:

Options  (4)

Padding  (2)

Use no padding to eliminate border artifacts:

Different padding methods result in different edge effects:

SampleRate  (2)

Use a lowpass half-band filter of length 5, assuming a normalized sample rate of :

Assume a sample rate of :

Apply a half-band lowpass filter to audio sampled at a rate of TemplateBox[{44100, "Hz", hertz, "Hertz"}, QuantityTF]:

Applications  (6)

Reduce audio noise by using a cutoff frequency of 1000 Hz:

Use LowpassFilter to make an audio object sound less harsh:

On a modern 88-key piano, key 55 (note C5) has a fundamental frequency of approximately 523 Hz. Use LowpassFilter to effectively remove all the harmonics of this key while retaining the fundamental in the following audio clip:

Use a filter of length 59 with a cutoff frequency midway between the fundamental (523 Hz) and its first harmonic at 1046 Hz:

Compare the frequency spectra of the two audio clips:

Blur an image:

Remove moiré patterns and high spatial frequencies:

Unsharp masking of an image:

Properties & Relations  (8)

Using a cutoff frequency of 0 returns a zero sequence:

Use a cutoff frequency of π or greater to create an all-pass filter:

Create a lowpass filter using LeastSquaresFilterKernel and a Hamming window:

Compare with the result of LowpassFilter:

Impulse response of a half-band lowpass filter of length 21:

Magnitude spectrum of the filter:

Impulse response of a half-band lowpass filter of length 21 without a smoothing window:

Magnitude spectrum of the filter:

Impulse response of an even-length filter without a smoothing window:

Magnitude spectrum of the filter:

The frequency discrimination of the lowpass filter improves as its length is increased:

The length of the impulse response increases as the bandwidth of the filter is decreased:

Possible Issues  (1)

Using PaddingNone will result in an output that is shorter in length than the input:

Using kernels longer than the input will result in an empty list:

Interactive Examples  (1)

Eliminate image rings by varying the cutoff frequency ωc:

Wolfram Research (2012), LowpassFilter, Wolfram Language function, https://reference.wolfram.com/language/ref/LowpassFilter.html (updated 2016).

Text

Wolfram Research (2012), LowpassFilter, Wolfram Language function, https://reference.wolfram.com/language/ref/LowpassFilter.html (updated 2016).

CMS

Wolfram Language. 2012. "LowpassFilter." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2016. https://reference.wolfram.com/language/ref/LowpassFilter.html.

APA

Wolfram Language. (2012). LowpassFilter. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/LowpassFilter.html

BibTeX

@misc{reference.wolfram_2024_lowpassfilter, author="Wolfram Research", title="{LowpassFilter}", year="2016", howpublished="\url{https://reference.wolfram.com/language/ref/LowpassFilter.html}", note=[Accessed: 15-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_lowpassfilter, organization={Wolfram Research}, title={LowpassFilter}, year={2016}, url={https://reference.wolfram.com/language/ref/LowpassFilter.html}, note=[Accessed: 15-November-2024 ]}