Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Sinc filter
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Ideal low-pass filter or averaging filter}} [[File:Sinc function (normalized).svg|thumb|The normalized [[sinc function]], the [[impulse response]] of a sinc-in-time filter and the frequency response of a sinc-in-frequency filter.]] [[File:Rectangular function.svg|thumb|The [[rectangular function]], the [[frequency response]] of a sinc-in-time filter and the impulse response of a sinc-in-frequency filter.]] In [[signal processing]], a '''sinc filter''' can refer to either a '''sinc-in-time''' [[Filter (signal processing)|filter]] whose [[impulse response]] is a [[sinc function]] and whose [[frequency response]] is rectangular, or to a '''sinc-in-frequency''' filter whose impulse response is rectangular and whose frequency response is a sinc function. Calling them according to which domain the filter resembles a sinc avoids confusion. If the domain is unspecified, sinc-in-time is often assumed, or context hopefully can infer the correct domain. == Sinc-in-time == Sinc-in-time is an ideal [[Filter (signal processing)|filter]] that removes all frequency components above a given [[cutoff frequency]], without attenuating lower frequencies, and has [[linear phase]] response. It may thus be considered a ''brick-wall filter'' or ''rectangular filter.'' Its [[impulse response]] is a [[sinc function]] in the [[time domain]]: <math display="block">\frac{\sin(\pi t)}{\pi t}</math> while its [[frequency response]] is a [[rectangular function]]: :<math>H(f) = \operatorname{rect} \left( \frac{f}{2B} \right) = \begin{cases} 0, & \text{if } |f| > B, \\ \frac{1}{2}, & \text{if } |f| = B, \\ 1, & \text{if } |f| < B, \end{cases} </math> where <math>B</math> (representing its [[Bandwidth (signal processing)|bandwidth]]) is an arbitrary cutoff frequency. Its impulse response is given by the [[Continuous Fourier transform#Tables of important Fourier transforms|inverse Fourier transform]] of its frequency response: : <math> \begin{align} h(t) = \mathcal{F}^{-1} \{ H (f)\} &= \int_{-B}^B \exp(2\pi i f t) \, df \\ &= 2B \operatorname{sinc}(2 B t) \end{align} </math> where ''sinc'' is the normalized [[sinc function]]. === Brick-wall filters === An idealized [[electronic filter]] with full transmission in the pass band, complete attenuation in the stop band, and abrupt transitions is known colloquially as a "brick-wall filter" (in reference to the shape of the [[transfer function]]). The sinc-in-time filter is a brick-wall [[low-pass filter]], from which brick-wall [[band-pass filter]]s and [[high-pass filter]]s are easily constructed. The lowpass filter with brick-wall cutoff at frequency ''B''<sub>''L''</sub> has impulse response and transfer function given by: :<math> h_{LPF}(t) = 2B_L \operatorname{sinc}\left(2B_L t\right)</math> :<math> H_{LPF}(f) = \operatorname{rect}\left( \frac{f}{2B_L} \right).</math> The band-pass filter with lower band edge ''B''<sub>''L''</sub> and upper band edge ''B''<sub>''H''</sub> is just the difference of two such sinc-in-time filters (since the filters are zero phase, their magnitude responses subtract directly):<ref>{{cite book | title = Practical signal processing | author = Mark Owen | publisher = Cambridge University Press | year = 2007 | isbn = 978-0-521-85478-8 | page = 81 | url = https://books.google.com/books?id=lx-tqq-MkK0C&q=sinc-function%20high-pass%20band-pass%20difference&pg=RA1-PA81 }}</ref> :<math> h_{BPF}(t) = 2B_H \operatorname{sinc}\left(2B_H t\right) - 2B_L \operatorname{sinc}\left(2B_L t\right)</math> :<math> H_{BPF}(f) = \operatorname{rect}\left( \frac{f}{2B_H} \right) - \operatorname{rect}\left( \frac{f}{2B_L} \right).</math> The high-pass filter with lower band edge ''B''<sub>''H''</sub> is just a transparent filter minus a sinc-in-time filter, which makes it clear that the [[Dirac delta function]] is the limit of a narrow-in-time sinc-in-time filter: :<math> h_{HPF}(t) = \delta(t) - 2B_H \operatorname{sinc}\left(2B_H t\right)</math> :<math> H_{HPF}(f) = 1 - \operatorname{rect}\left( \frac{f}{2B_H} \right).</math> === Unrealizable === As the sinc-in-time filter has infinite impulse response in both positive and negative time directions, it is [[causal filter|non-causal]] and has an infinite delay (i.e., its [[compact support]] in the [[frequency domain]] 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 [[linear differential equation]] with a finite sum). However, it is used in conceptual demonstrations or proofs, such as the [[Nyquist–Shannon sampling theorem|sampling theorem]] and the [[Whittaker–Shannon interpolation formula]]. Sinc-in-time filters must be approximated for real-world (non-abstract) applications, typically by [[Window function|windowing]] and truncating an ideal sinc-in-time filter [[Convolution kernel|kernel]], but doing so reduces its ideal properties.<ref>{{Cite book |last=Smith |first=Steven W. |url=https://www.analog.com/en/resources/technical-books/scientist_engineers_guide.html |title=The Scientist & Engineer's Guide to Digital Signal Processing |publisher=California Technical Publishing |year=1999 |isbn=0-9660176-7-6 |edition=2nd |pages=285-296 |chapter=Windowed-Sinc Filters |chapter-url=https://www.analog.com/media/en/technical-documentation/dsp-book/dsp_book_Ch16.pdf}}</ref> This applies to other brick-wall filters built using sinc-in-time filters. === Stability === The sinc filter is not [[BIBO stability|bounded-input–bounded-output (BIBO) 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(sinc(''t'')). Another is sin(2{{pi}}''Bt'')''u''(''t''), a sine wave starting at time 0, at the cutoff frequency. ==Frequency-domain sinc== [[File:Moving-avereage-freq-responses-2-to-16-samples-normalized.svg|thumb|Frequency response in dB of moving average filters. Frequency plotted relative to sampling frequency <math>f_S</math>.]] [[File:Group averaging 16samples periodic.png|thumb|Frequency response of a 16-sample sum using 1000 Hz sampling frequency, extended to 4x the Nyquist frequency. Because the transfer function is periodic, this repeated pattern continues forever.]] The simplest implementation of a '''sinc-in-frequency''' filter uses a [[Boxcar function|boxcar]] impulse response to produce a [[simple moving average]] (specifically if divide by the number of samples), also known as accumulate-and-dump filter (specifically if simply sum without a division). It can be modeled as a FIR filter with all <math>N</math> coefficients equal. It is sometimes cascaded to produce higher-order moving averages (see {{Slink|Finite impulse response|Moving average example}} and [[cascaded integrator–comb filter]]). This filter can be used for crude but fast and easy [[downsampling]] (a.k.a. decimation) by a factor of ''<math>N.</math>'' The simplicity of the filter is foiled by its mediocre low-pass capabilities. The stop-band contains periodic lobes with gradually decreasing height in between the nulls at multiples of <math display="inline">\frac{f_S}{N}</math>. The first lobe is -11.3 [[Decibel|dB]] for a 4-sample moving average, or -12.8 dB for an 8-sample moving average, and -13.1 dB for a 16-sample moving average. An <math>N</math>-sample filter sampled at <math>f_S</math> will alias all non-fully attenuated signal components lying above <math display="inline">\frac{f_S}{2N}</math> to the [[baseband]] ranging from [[DC bias|DC]] to <math display="inline">\frac{f_S}{2N}.</math> A group averaging filter processing <math>N</math> samples has <math>\tfrac{N}{2}</math> [[transmission zeroes]] evenly-spaced by <math>\tfrac{f_S}{N},</math> with the lowest zero at <math>\tfrac{f_S}{N}</math> and the highest zero at <math>\tfrac{f_S}{2}</math> (the [[Nyquist frequency]]). Above the Nyquist frequency, the frequency response is mirrored and then is repeated periodically above <math>f_S</math> forever. The [[Absolute value|magnitude]] of the frequency response (plotted in these graphs) is useful when one wants to know how much frequencies are attenuated. Though the sinc function really oscillates between negative and positive values, negative values of the frequency response simply correspond to a 180-degree [[phase shift]]. An ''inverse sinc filter'' may be used for [[Equalization (audio)|equalization]] in the digital domain (e.g. a [[FIR filter]]) or analog domain (e.g. [[Operational amplifier applications|opamp filter]]) to counteract undesired attenuation in the frequency band of interest to provide a flat frequency response.<ref>{{Cite web |date=2012-08-20 |title=APPLICATION NOTE 3853: Equalizing Techniques Flatten DAC Frequency Response |url=https://www.analog.com/en/technical-articles/equalizing-techniques-flatten-dac-frequency-response.html |url-status=live |archive-url=https://web.archive.org/web/20230918175026/https://www.analog.com/en/technical-articles/equalizing-techniques-flatten-dac-frequency-response.html |archive-date=2023-09-18 |access-date=2024-01-02 |website=[[Analog Devices]]}}</ref> See {{Slink|Window function|Rectangular window}} for application of the sinc kernel as the simplest windowing function. ==See also== * [[Lanczos resampling]] * [[Aliasing]] * [[Anti-aliasing filter]] ==References== {{reflist}} ==External links== * [http://www.audioholics.com/education/audio-formats-technology/brick-wall-digital-filters-and-phase-deviations Brick Wall Digital Filters and Phase Deviations] * [http://www.sweetwater.com/expert-center/glossary/t--BrickwallFilter Brick-wall filters] {{DEFAULTSORT:Sinc Filter}} [[Category:Signal processing]] [[Category:Digital signal processing]] [[Category:Filter theory]] [[Category:Filter frequency response]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite book
(
edit
)
Template:Cite web
(
edit
)
Template:Pi
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Slink
(
edit
)