HighpassFilter

HighpassFilter[data,ωc]

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

HighpassFilter[data,ωc,n]

uses a filter kernel of length n.

HighpassFilter[data,ωc,n,wfun]

applies a smoothing window wfun to the filter kernel.

Details and Options

  • HighpassFilter is a finite impulse response (FIR) discrete-time filter used to attenuate low frequencies in a signal while leaving the high-frequency components unchanged. The range of frequencies that is attenuated is dependent on the value of the cutoff frequency ωc.
  • 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
  • When applied to images and multidimensional arrays, filtering is applied successively to each dimension, starting at level 1. HighpassFilter[data,{ωc1,ωc2,}] uses the frequency ωci for the ^(th) dimension.
  • HighpassFilter[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
    {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
    SampleRateAutomaticsample 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 sr×.

Examples

open allclose all

Basic Examples  (3)

Highpass filtering of a sinusoidal sequence:

Highpass filtering of an Audio object:

Highpass filtering of an image:

Scope  (13)

Data  (8)

Filter a 1D pulse sequence:

Filter a 2D pulse sequence:

Filter a TimeSeries:

Highpass filtering of a swept-sine audio signal:

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

Use a cutoff frequency midway between two dial tones and a Blackman window of length 100:

Highpass filtering of a halftone image:

Highpass filtering of a 3D image:

Filter using exact precision:

Parameters  (5)

With an audio signal, a numeric cutoff frequency is interpreted as radians per second:

Filter a white noise signal using a cutoff frequency of 10000 Hz:

Use a higher-frequency value:

Use a kernel of length 21:

Increase frequency discrimination by using a longer kernel:

Vary the amount of stopband 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:

Use different cutoff frequencies in each dimension:

Options  (3)

Padding  (1)

Different padding methods result in different edge effects:

SampleRate  (2)

Use a highpass half-band filter, assuming a normalized sample rate of sr=1:

Assume a sample rate of sr=3:

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

Applications  (1)

Use HighpassFilter to make an Audio object sound "thinner":

Properties & Relations  (8)

Using a cutoff frequency of 0 returns the original sequence:

Using cutoff frequency of π or greater returns a zero sequence:

Create a highpass filter using LeastSquaresFilterKernel and HammingWindow:

Compare with the result of HighpassFilter:

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

Magnitude spectrum of filter:

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

Magnitude spectrum of the filter:

Impulse response of an even-length filter:

Magnitude spectrum of the filter:

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

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

Possible Issues  (1)

Filtering a short list using PaddingNone may return an empty list:

Introduced in 2012
 (9.0)
 |
Updated in 2015
 (10.2)
2016
 (11.0)