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
Comb 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|Signal processing filter}} [[Image:Comb filter feedforward.svg|thumb|right|400px|Feedforward comb filter structure]] In [[signal processing]], a '''comb filter''' is a [[Filter (signal processing)|filter]] implemented by adding a delayed version of a [[signal processing|signal]] to itself, causing constructive and destructive [[Interference (wave propagation)|interference]]. The [[frequency response]] of a comb filter consists of a series of regularly spaced notches in between regularly spaced ''peaks'' (sometimes called ''teeth'') giving the appearance of a [[comb]]. Comb filters exist in two forms, ''feedforward'' and ''[[feedback]]''; which refer to the direction in which signals are delayed before they are added to the input. Comb filters may be implemented in [[discrete time]] or [[continuous time]] forms which are very similar. ==Applications== [[File:Sony VPL-HS1 - EP-GW 1-682-352-12 - Motorola MC141627FT-1.jpg|thumb|Advanced PAL Comb Filter-II (APCF-II, Motorola MC141627FT)]] Comb filters are employed in a variety of signal processing applications, including: * [[Cascaded integrator–comb filter|Cascaded integrator–comb]] (CIC) filters, commonly used for [[anti-aliasing filter|anti-aliasing]] during [[interpolation]] and [[decimation (signal processing)|decimation]] operations that change the [[sample rate]] of a discrete-time system. * 2D and 3D comb filters implemented in hardware (and occasionally software) in [[PAL]] and [[NTSC]] analog television decoders reduce artifacts such as [[dot crawl]]. * [[Audio signal processing]], including [[Delay (audio effect)|delay]], [[flanging]], [[physical modelling synthesis]] and [[digital waveguide synthesis]]. If the delay is set to a few milliseconds, a comb filter can model the effect of [[Acoustics|acoustic]] [[standing waves]] in a cylindrical cavity or [[Karplus-Strong string synthesis|in a vibrating string]]. * In astronomy the [[astro-comb]] promises to increase the precision of existing [[spectrograph]]s by nearly a hundredfold. In [[acoustics]], comb filtering can arise as an unwanted artifact. For instance, two [[loudspeakers]] playing the same signal at different distances from the listener create a comb filtering effect on the audio.<ref>{{cite web |url=http://www.roger-russell.com/columns/combfilter2.htm |title=Hearing, Columns and Comb Filtering |author=Roger Russell |accessdate=2010-04-22}}</ref> In any enclosed space, listeners hear a mixture of direct sound and reflected sound. The reflected sound takes a longer, delayed path compared to the direct sound, and a comb filter is created where the two mix at the listener.<ref>{{cite web|url=http://www.asc-hifi.com/acoustic_basics.htm#2 |title=Acoustic Basics |publisher=Acoustic Sciences Corporation|archivedate=2010-05-07 |archiveurl=https://web.archive.org/web/20100507124237/http://www.asc-hifi.com/acoustic_basics.htm |url-status=dead }}</ref> Similarly, comb filtering may result from mono mixing of multiple mics, hence the 3:1 [[rule of thumb]] that neighboring mics should be separated at least three times the distance from its source to the mic.<ref>{{Cite book |last=Burroughs |first=Lou |title=Microphones: Design and Application |publisher=Sagamore Publishing Company |year=1974 |language=English}}</ref> ==Discrete time implementation== ===Feedforward form=== [[Image:Comb filter feedforward.svg|thumb|right|400px|Feedforward comb filter structure in discrete time]] The general structure of a feedforward comb filter is described by the [[difference equation]]: :<math>y[n] = x[n] + \alpha x[n-K] </math> where <math>K</math> is the delay length (measured in samples), and {{math|''α''}} is a scaling factor applied to the delayed signal. The [[Z transform|{{math|''z''}} transform]] of both sides of the equation yields: :<math>Y(z) = \left(1 + \alpha z^{-K}\right) X(z) </math> The [[Z transform#Transfer function|transfer function]] is defined as: :<math>H(z) = \frac{Y(z)}{X(z)} = 1 + \alpha z^{-K} = \frac{z^K + \alpha}{z^K} </math> ====Frequency response==== [[Image:Comb filter response ff pos.svg|thumb|Feedforward magnitude response for various ''positive'' values of {{math|''α''}} and {{math|''K'' {{=}} 1}} in discrete time]] [[Image:Comb filter response ff neg.svg|thumb|Feedforward magnitude response for various ''negative'' values of {{math|''α''}} and {{math|''K'' {{=}} 1}} in discrete time]] The frequency response of a discrete-time system expressed in the {{math|''z''}}-domain is obtained by substitution <math>z = e^{j\omega},</math> where <math>j </math> is the [[imaginary unit]] and <math>\omega </math> is [[angular frequency]]. Therefore, for the feedforward comb filter: :<math>H\left(e^{j \omega}\right) = 1 + \alpha e^{-j \omega K} </math> Using [[Euler's formula]], the frequency response is also given by :<math>H\left(e^{j \omega}\right) = \bigl[1 + \alpha \cos(\omega K)\bigr] - j \alpha \sin(\omega K) </math> Often of interest is the ''magnitude'' response, which ignores phase. This is defined as: :<math>\left| H\left(e^{j \omega}\right) \right| = \sqrt{\text{Re}\left\{H\left(e^{j \omega}\right)\right\}^2 + \text{Im}\left\{H\left(e^{j \omega}\right)\right\}^2} </math> In the case of the feedforward comb filter, this is: :<math>\begin{align} \left| H(e^{j \omega}) \right| &= \sqrt{(1 + \alpha \cos(\omega K) )^2 + (\alpha \sin(\omega K))^2} \\ &= \sqrt{(1 + \alpha^2) + 2 \alpha \cos(\omega K)} \end{align} </math> The <math>(1 + \alpha^2) </math> term is constant, whereas the <math>2 \alpha \cos( \omega K) </math> term varies [[periodic function|periodically]]. Hence the magnitude response of the comb filter is periodic. The graphs show the periodic magnitude response for various values of <math>\alpha .</math> Some important properties: *The response periodically drops to a [[local minimum]] (sometimes known as a ''notch''), and periodically rises to a [[local maximum]] (sometimes known as a ''peak'' or a ''tooth''). *For positive values of <math>\alpha,</math> the first minimum occurs at half the delay period and repeats at even multiples of the delay frequency thereafter: ::<math display="block">\begin{align} f &= \frac{1}{2 K}, \frac{3}{2 K}, \frac{5}{2 K} \cdots \\ \omega &= \frac{\pi}{K}, \frac{3\pi}{K}, \frac{5\pi}{K} \cdots \, \end{align}</math> *The levels of the maxima and minima are always equidistant from 1. *When <math>\alpha = \pm 1 , </math> the minima have zero amplitude. In this case, the minima are sometimes known as ''nulls''. *The maxima for positive values of <math>\alpha </math> coincide with the minima for negative values of <math>\alpha</math>, and vice versa. ====Impulse response==== The feedforward comb filter is one of the simplest [[finite impulse response]] filters.<ref>{{cite web|url=https://ccrma.stanford.edu/~jos/waveguide/Feedforward_Comb_Filters.html |first=J. O. |last=Smith |title=Feedforward Comb Filters |archivedate=2011-06-06 |archiveurl=https://web.archive.org/web/20110606210608/https://ccrma.stanford.edu/~jos/waveguide/Feedforward_Comb_Filters.html |url-status=dead }}</ref> Its response is simply the initial impulse with a second impulse after the delay. ====Pole–zero interpretation==== Looking again at the {{math|''z''}}-domain transfer function of the feedforward comb filter: :<math>H(z) = \frac{z^K + \alpha}{z^K} </math> the numerator is equal to zero whenever {{math|''z<sup>K</sup>'' {{=}} −''α''}}. This has {{math|''K''}} solutions, equally spaced around a circle in the [[complex plane]]; these are the [[zero (complex analysis)|zeros]] of the transfer function. The denominator is zero at {{math|''z<sup>K</sup>'' {{=}} 0}}, giving {{math|''K''}} [[pole (complex analysis)|poles]] at {{math|''z'' {{=}} 0}}. This leads to a [[pole–zero plot]] like the ones shown. {| | [[Image:Comb filter pz ff pos.svg|left|thumb|200px|Pole–zero plot of feedforward comb filter with {{math|''K'' {{=}} 8}} and {{math|''α'' {{=}} 0.5}} in discrete time]] | [[Image:Comb filter pz ff neg.svg|left|thumb|200px|Pole–zero plot of feedforward comb filter with {{math|''K'' {{=}} 8}} and {{math|''α'' {{=}} −0.5}} in discrete time]] |} ===Feedback form=== [[Image:Comb filter feedback.svg|thumb|right|400px|Feedback comb filter structure in discrete time]] Similarly, the general structure of a feedback comb filter is described by the [[difference equation]]: :<math>y[n] = x[n] + \alpha y[n-K] </math> This equation can be rearranged so that all terms in <math>y</math> are on the left-hand side, and then taking the {{math|''z''}} transform: :<math>\left(1 - \alpha z^{-K}\right) Y(z) = X(z) </math> The transfer function is therefore: :<math>H(z) = \frac{Y(z)}{X(z)} = \frac{1}{1 - \alpha z^{-K}} = \frac{z^K}{z^K - \alpha} </math> ====Frequency response==== [[Image:Comb filter response fb pos.svg|thumb|right|400px|Feedback magnitude response for various ''positive'' values of {{math|''α''}} and {{math|''K'' {{=}} 2}} in discrete time]] [[Image:Comb filter response fb neg.svg|thumb|right|400px|Feedback magnitude response for various ''negative'' values of {{math|''α''}} and {{math|''K'' {{=}} 2}} in discrete time]] By substituting <math>z = e^{j\omega}</math> into the feedback comb filter's {{math|''z''}}-domain expression: :<math>H\left(e^{j \omega}\right) = \frac{1}{1 - \alpha e^{-j \omega K}} \, , </math> the magnitude response becomes: :<math>\left| H\left(e^{j \omega}\right) \right| = \frac{1}{\sqrt{\left(1 + \alpha^2\right) - 2 \alpha \cos(\omega K)}} \, . </math> Again, the response is periodic, as the graphs demonstrate. The feedback comb filter has some properties in common with the feedforward form: *The response periodically drops to a local minimum and rises to a local maximum. *The maxima for positive values of <math>\alpha</math> coincide with the minima for negative values of <math>\alpha,</math> and vice versa. *For positive values of <math>\alpha,</math> the first maximum occurs at 0 and repeats at even multiples of the delay frequency thereafter: ::<math>\begin{align} f &= 0, \frac{1}{K}, \frac{2}{K}, \frac{3}{K} \cdots \\ \omega &= 0, \frac{2\pi}{K}, \frac{4\pi}{K}, \frac{6\pi}{K} \cdots \end{align}</math> However, there are also some important differences because the magnitude response has a term in the [[denominator]]: *The levels of the maxima and minima are no longer equidistant from 1. The maxima have an amplitude of {{math|{{sfrac|1|1 − ''α''}}}}. *The filter is only [[BIBO stability|stable]] if {{math|{{abs|''α''}}}} is strictly less than 1. As can be seen from the graphs, as {{math|{{abs|''α''}}}} increases, the amplitude of the maxima rises increasingly rapidly. ====Impulse response==== The feedback comb filter is a simple type of [[infinite impulse response]] filter.<ref>{{cite web|url=https://ccrma.stanford.edu/~jos/waveguide/Feedback_Comb_Filters.html |first=J.O. |last=Smith |title=Feedback Comb Filters |archivedate=2011-06-06 |archiveurl=https://web.archive.org/web/20110606203008/https://ccrma.stanford.edu/~jos/waveguide/Feedback_Comb_Filters.html |url-status=dead }}</ref> If stable, the response simply consists of a repeating series of impulses decreasing in amplitude over time. ====Pole–zero interpretation==== Looking again at the {{math|''z''}}-domain transfer function of the feedback comb filter: :<math>H(z) = \frac{z^K}{z^K - \alpha} </math> This time, the numerator is zero at {{math|''z<sup>K</sup>'' {{=}} 0}}, giving {{math|''K''}} zeros at {{math|''z'' {{=}} 0}}. The denominator is equal to zero whenever {{math|''z<sup>K</sup>'' {{=}} ''α''}}. This has {{math|''K''}} solutions, equally spaced around a circle in the [[complex plane]]; these are the poles of the transfer function. This leads to a pole–zero plot like the ones shown below. {| | [[Image:Comb filter pz fb pos.svg|left|thumb|Pole–zero plot of feedback comb filter with {{math|''K'' {{=}} 8}} and {{math|''α'' {{=}} 0.5}} in discrete time]] | [[Image:Comb filter pz fb neg.svg|left|thumb|Pole–zero plot of feedback comb filter with {{math|''K'' {{=}} 8}} and {{math|''α'' {{=}} −0.5}} in discrete time]] |} == Continuous time implementation == Comb filters may also be implemented in [[continuous time]] which can be expressed in the [[Laplace domain]] as a function of the [[Complex number|complex]] frequency domain parameter <math>s = \sigma + j \omega</math> analogous to the z domain. [[Analog circuits]] use some form of [[analog delay line]] for the delay element. Continuous-time implementations share all the properties of the respective discrete-time implementations. === Feedforward form === The feedforward form may be described by the equation: :<math>y(t) = x(t) + \alpha x(t - \tau) </math> where {{math|''τ''}} is the delay (measured in seconds). This has the following transfer function: :<math>H(s) = 1 + \alpha e^{-s \tau} </math> The feedforward form consists of an infinite number of zeros spaced along the jω axis ([[Laplace transform#Fourier transform|which corresponds to the Fourier domain]]). === Feedback form === The feedback form has the equation: :<math>y(t) = x(t) + \alpha y(t - \tau) </math> and the following transfer function: :<math>H(s) = \frac{1}{1 - \alpha e^{-s \tau}} </math> The feedback form consists of an infinite number of poles spaced along the jω axis. ==See also== *[[Dirac comb]] *[[Fabry–Pérot interferometer]] == References== {{Reflist}} ==External links== *{{Commons category-inline}} {{Authority control}} {{DEFAULTSORT:Comb Filter}} [[Category:Signal processing]] [[Category:Filter theory]]
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:Authority control
(
edit
)
Template:Cite book
(
edit
)
Template:Cite web
(
edit
)
Template:Commons category-inline
(
edit
)
Template:Math
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)