BandpassFilter

BandpassFilter[data,{ω1,ω2}]

applies a bandpass filter with cutoff frequencies ω1 and ω2 to an array of data.

BandpassFilter[data,{{ω,q}}]

uses center frequency ω and quality factor q.

BandpassFilter[data,spec,n]

uses a filter kernel of length n.

BandpassFilter[data,spec,n,wfun]

applies a smoothing window wfun to the filter kernel.

Details and Options

  • Bandpass filtering is commonly used in audio equalizers and audio receivers to attenuate low and high frequencies in a signal while leaving the mid-range frequencies unchanged.
  • BandpassFilter convolves a digital signal with a finite impulse response (FIR) kernel created using the window method.
  • Longer kernels result in a better frequency discrimination.
  • 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
  • The range of frequencies that are attenuated is dependent on the values of the cutoff frequencies ω1 and ω2, with ω2>ω1.
  • When applied to images and multidimensional arrays, filtering is applied successively to each dimension starting at level 1. BandpassFilter[data,{{ω11,ω21},}] uses the frequencies {ω1i,ω2i} for the i^(th) dimension.
  • BandpassFilter[data,{ω1,ω2}] uses a filter kernel length and smoothing window suitable for the cutoff frequencies {ω1,ω2} and the input data.
  • Typical smoothing windows wfun include:
  • BlackmanWindowsmoothing with a Blackman window
    DirichletWindowno smoothing
    HammingWindowsmoothing with a Hamming window
    {v1,v2,}use a window with values vi
    fcreate a window by sampling f between and
  • 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 data. 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 sr.

Examples

open allclose all

Basic Examples  (3)

Bandpass filtering of a sum of cosines:

Bandpass filtering of audio:

Bandpass filtering of an image:

Scope  (13)

Data  (7)

Filter a 1D pulse sequence:

Filter a 2D pulse sequence:

Filter a TimeSeries:

Bandpass filtering of a Sound object of a tri-tone signal:

Eliminate the outer tones using a bandpass filter with a Blackman window of length 101:

Bandpass filtering of a halftone image:

Bandpass filtering of a 3D image:

Filter using exact precision:

Parameters  (6)

With an audio signal of sample rate s, a numeric frequency will be interpreted as a rad/s quantity:

Filter a white noise signal using a bandpass filter with cutoff frequencies of 8000 Hz and 12000 Hz:

Use center frequency of 9798 Hz and a quality factor q of 2:

Make the passband narrower by increasing the quality factor:

Use a filter of length 33:

Increase frequency discrimination by using a longer kernel:

Vary the amount of attenuation by using different window functions:

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

Specify the window function as a numeric list:

Bandpass filtering using different center frequencies:

Use the same center frequency and different quality factors:

Use different center frequencies in each dimension:

Options  (3)

Padding  (1)

Different padding methods result in different edge effects:

SampleRate  (2)

Use a filter centered on the frequency π/2 assuming a sample rate of sr=1:

Assume a sample rate of sr=3:

Apply a bandpass filter centered on the half-band frequency to audio sampled at a rate of 44100 Hz:

Applications  (1)

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

Use a narrow filter (Q=3) of length 63 centered on the fundamental frequency (523 Hz):

Compare the frequency spectra of the two audio clips:

Properties & Relations  (6)

Using cutoff frequencies of 0 and π returns the original sequence:

Create a bandpass filter using LeastSquaresFilterKernel and a Hamming window:

Compare with the result of BandpassFilter:

Impulse response of a bandpass filter of length 21:

Magnitude spectrum of the filter:

Impulse response of a bandpass filter of length 21 without a smoothing window:

Magnitude spectrum of the filter:

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

The length of the impulse response increases as the filter's quality factor is increased:

Possible Issues  (1)

With PaddingNone, the returned output will be shorter than the input:

Interactive Examples  (1)

Bandpass filtering an image using different center frequencies and quality factors:

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

Text

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

@online{reference.wolfram_2024_bandpassfilter, organization={Wolfram Research}, title={BandpassFilter}, year={2017}, url={https://reference.wolfram.com/language/ref/BandpassFilter.html}, note=[Accessed: 22-November-2024 ]}