File Exchange

image thumbnail

Sinc filter

version 1.1 (715 KB) by

Apply a near-ideal low- or band-pass filter.



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.

Comments and Ratings (1)

Fan D.Chen

This program is perfect, I have to say, thank you



Migrated to GitHub.


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

MATLAB Release
MATLAB 8.0 (R2012b)
Tags Add Tags

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video