Sinc filter

In, a sinc filter is an idealized that removes all frequency components above a given , without affecting lower frequencies, and has  response. The filter's is a  in the time domain, and its  is a.

It is an "ideal" 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 (a.k.a. rectangular filter) is and has an infinite delay, but it is commonly found in conceptual demonstrations or proofs, such as the  and the.

In mathematical terms, the desired frequency response is the :


 * $$H(f) = \mathrm{rect} \left( \frac{f}{2B} \right)$$

where $$B\,$$ is an arbitrary cutoff frequency (a.k.a. bandwidth). The impulse response of such a filter is given by the of the frequency response:



\begin{align} h(t) = \mathcal{F}^{-1} \{ H (f)\} & = 2B \frac{\sin(2\pi Bt)}{2\pi Bt} \\ & = 2B \, \mathrm{sinc}(2 B t) \end{align} $$

where sinc is the normalized.

As the sinc filter has infinite impulse response in both positive and negative time directions, it must be approximated for real-world (non-abstract) applications; a sinc filter is often used instead. Windowing and truncating a sinc filter in order to use it on any practical real world data set reduces its ideal properties.

Brick-wall filters
An idealized, 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. The sinc filter is a brick-wall, from which brick-wall s and s are easily constructed.

The lowpass filter with brick-wall cutoff at frequency BL has impulse response and transfer function given by:


 * $$ h_{LPF}(t) = 2B_L \, \mathrm{sinc}\left(2B_L t\right)$$


 * $$ H_{LPF}(f) = \mathrm{rect}\left( \frac{f}{2B_L} \right).$$

The band-pass filter with lower band edge BL and upper band edge BH is just the difference of two such sinc filters (since the filters are zero phase, their magnitude responses subtract directly):


 * $$ h_{BPF}(t) = 2B_H \, \mathrm{sinc}\left(2B_H t\right) - 2B_L \, \mathrm{sinc}\left(2B_L t\right)$$


 * $$ H_{BPF}(f) = \mathrm{rect}\left( \frac{f}{2B_H} \right) - \mathrm{rect}\left( \frac{f}{2B_L} \right).$$

The high-pass filter with lower band edge BH is just a transparent filter minus a sinc filter, which makes it clear that the is the limit of a narrow-in-time sinc filter:


 * $$ h_{HPF}(t) = \delta(t) - 2B_H \, \mathrm{sinc}\left(2B_H t\right)$$


 * $$ H_{HPF}(f) = 1 - \mathrm{rect}\left( \frac{f}{2B_H} \right).$$

Brick-wall filters that run in realtime are not physically realizable as they have infinite latency (i.e., its in the  forces its time response not to have compact support meaning that it is ever-lasting) and infinite order (i.e., the response cannot be expressed as a  with a finite sum), 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 filters, among many other applications, are almost universally used for  , 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 $$\frac{f_S}{2*N}$$ to the baseband ranging from 0 to $$\frac{f_S}{2*N}$$ ( fS is the input sample rate).

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. 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(sinc(t)). Another is sin(2$\pi$Bt)u(t), a sine wave starting at time 0, at the cutoff frequency.