Sinc filter

Apply a near-ideal low- or band-pass filter.
Updated 5 May 2018

NOTE: this function is now available from the IoSR Matlab Toolbox as iosr.dsp.sincFilter.
y = sinc_filter(x,Wn)
y = sinc_filter(x,Wn,N)
y = sinc_filter(x,Wn,N,dim)
y = sinc_filter(x,Wn,[],dim)
y = sinc_filter(x,Wn) applies a near-ideal low-pass or band-pass brickwall filter to the array x, operating along the first non-singleton dimension (e.g. down the columns of a matrix). The cutoff frequency/frequencies are specified in Wn. If Wn is a scalar, then Wn specifies the low-pass cutoff frequency. If Wn is a two-element vector, then Wn specifies the band-pass interval. Wn must be 0.0 < Wn < 1.0, with 1.0 corresponding to half the sample rate.

The filtering is performed by FFT-based convolution of x with the sinc kernel.

y = sinc_filter(x,Wn,N) allows the filter length to be specified. The default value is N=1025. The filter length is doubled in the band-pass case. In either case, if N is even the final filter length will be N+1.

y = sinc_filter(x,Wn,N,dim) applies the specified filter along the dimension dim.

y = sinc_filter(x,Wn,[],dim) applies the specified filter along the dimension dim using the default filter length.

Cite As

Christopher Hummersone (2024). Sinc filter (, GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes

File now accepts an arbitrarily-sized array input x, and a corresponding input argument for specifying the dimension to operate along.
Migrated to GitHub.

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.