Sinc filter


In signal processing, a sinc filter is an idealized filter that removes all frequency components above a given cutoff frequency, without affecting lower frequencies, and has linear phase response. The filter's impulse response is a sinc function in the time domain, and its frequency response is a rectangular function.
It is an "ideal" low-pass filter in the frequency sense, perfectly passing low frequencies, perfectly cutting high frequencies; and thus may be considered to be a brick-wall filter.
Real-time filters can only approximate this ideal, since an ideal sinc filter is non-causal and has an infinite delay, but it is commonly found in conceptual demonstrations or proofs, such as the sampling theorem and the Whittaker–Shannon interpolation formula.
In mathematical terms, the desired frequency response is the rectangular function:
where is an arbitrary cutoff frequency. The impulse response of such a filter is given by the inverse Fourier transform of the frequency response:
where sinc is the normalized sinc function.
As the sinc filter has infinite impulse response in both positive and negative time directions, it must be approximated for real-world applications; a windowed sinc filter is often used instead. Windowing and truncating a sinc filter kernel in order to use it on any practical real world data set reduces its ideal properties.

Brick-wall filters

An idealized electronic filter, one that has full transmission in the pass band, and complete attenuation in the stop band, with abrupt transitions, is known colloquially as a "brick-wall filter", in reference to the shape of the transfer function. The sinc filter is a brick-wall low-pass filter, from which brick-wall band-pass filters and high-pass filters are easily constructed.
The lowpass filter with brick-wall cutoff at frequency BL has impulse response and transfer function given by:
The band-pass filter with lower band edge BL and upper band edge BH is just the difference of two such sinc filters :
The high-pass filter with lower band edge BH is just a transparent filter minus a sinc filter, which makes it clear that the Dirac delta function is the limit of a narrow-in-time sinc filter:
Brick-wall filters that run in realtime are not physically realizable as they have infinite latency and infinite order, but approximate implementations are sometimes used and they are frequently called brick-wall filters.

Frequency-domain sinc

The name "sinc filter" is applied also to the filter shape that is rectangular in time and a sinc function in frequency, as opposed to the ideal low-pass sinc filter, which is sinc in time and rectangular in frequency. In case of confusion, one may refer to these as sinc-in-frequency and sinc-in-time, according to which domain the filter is sinc in.
Sinc-in-frequency CIC filters, among many other applications, are almost universally used for decimating delta-sigma ADCs, as they are easy to implement and nearly optimal for this use.
The simplest implementation of a Sinc-in-frequency filter is a group-averaging filter, also known as accumulate-and-dump filter.
This filter also performs a data rate reduction.
It collects N data samples, accumulates them and provides
the accumulator value as output. Thus, the decimation factor of this filter is N.
It can be modelled as a FIR filter with all N coefficients equal, followed by a N-time downsampling
block.
The simplicity of the filter, requiring just an accumulator as central data processing block,
is foiled with strong aliasing effects: an N sample filter aliases all attenuated and unattenuated signal components lying above
to the baseband ranging from 0 to .
A group averaging filter processing N samples has N/2 transmission zeroes.

The picture "transmission function of a 16sample group averaging filter" shows how the transmission function looks like above the
Nyquist frequency.

Stability

The sinc filter is not bounded-input–bounded-output stable. That is, a bounded input can produce an unbounded output, because the integral of the absolute value of the sinc function is infinite. A bounded input that produces an unbounded output is sgn. Another is sinu, a sine wave starting at time 0, at the cutoff frequency.