<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.formulasearchengine.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=129.69.36.36</id>
	<title>formulasearchengine - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://en.formulasearchengine.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=129.69.36.36"/>
	<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/wiki/Special:Contributions/129.69.36.36"/>
	<updated>2026-08-06T04:16:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.47.0-wmf.7</generator>
	<entry>
		<id>https://en.formulasearchengine.com/w/index.php?title=Kirkwood_approximation&amp;diff=15009</id>
		<title>Kirkwood approximation</title>
		<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/w/index.php?title=Kirkwood_approximation&amp;diff=15009"/>
		<updated>2014-01-08T08:49:26Z</updated>

		<summary type="html">&lt;p&gt;129.69.36.36: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In [[digital signal processing]], a &#039;&#039;&#039;cascaded integrator-comb (CIC)&#039;&#039;&#039; is an optimized class of [[finite impulse response]] (FIR) filter combined with an [[interpolation|interpolator]] or [[Decimation (signal processing)|decimator]].&amp;lt;ref&amp;gt;&lt;br /&gt;
Donadio, Matthew (2000) [http://dspguru.com/dsp/tutorials/cic-filter-introduction &#039;&#039;CIC Filter Introduction&#039;&#039;] &amp;quot;Hogenauer introduced an important class of digital filters called &#039;Cascaded Integrator-Comb&#039;, or &#039;CIC&#039; for short (also sometimes called &#039;Hogenauer filters&#039;).&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Hogenauer&amp;quot;&amp;gt;{{cite journal|first=Eugene B.|last=Hogenauer|title=An economical class of digital filters for decimation and interpolation|journal=IEEE Transactions on Acoustics, Speech and Signal Processing|volume=29|issue=2|pages=155–162|date=April 1981|url=http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1163535|doi=10.1109/TASSP.1981.1163535}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A CIC filter consists of one or more [[integrator]] and [[comb filter]] pairs.  In the case of a decimating CIC, the input signal is fed through one or more cascaded integrators, then a down-sampler, followed by one or more comb sections (equal in number to the number of integrators).  An interpolating CIC is simply the reverse of this architecture, with the down-sampler replaced with a zero-stuffer (up-sampler).&amp;lt;ref name=Hogenauer/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The CIC filter==&lt;br /&gt;
[[Image:CIC interpolator.svg|thumb|500px|CIC Interpolator by factor R, Hogenauer Non-Pipelined]]&lt;br /&gt;
&lt;br /&gt;
CIC filters were invented by [[Eugene B. Hogenauer]], and are a class of FIR filters used in [[Multi-rate digital signal processing|multi-rate processing]].  The CIC filter finds applications in interpolation and decimation.  Unlike most FIR filters, it has a decimator or interpolator built into the architecture.  The figure at the right shows the Hogenauer architecture for a CIC Interpolator.&amp;lt;ref name=Hogenauer/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The system function for the composite CIC filter referenced to the high sampling rate, f&amp;lt;sub&amp;gt;s&amp;lt;/sub&amp;gt; is:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align}&lt;br /&gt;
  H(z) &amp;amp;=\left [ \sum_{k=0}^{RM-1}z^{-k} \right ] ^N \\&lt;br /&gt;
       &amp;amp;= \left ( \frac{1-z^{-RM}}{1-z^{-1}} \right ) ^N&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
:&#039;&#039;R&#039;&#039; = decimation or interpolation ratio&lt;br /&gt;
:&#039;&#039;M&#039;&#039;  = number of samples per stage (usually 1 but sometimes 2)&lt;br /&gt;
:&#039;&#039;N&#039;&#039; = number of stages in filter&lt;br /&gt;
&lt;br /&gt;
Characteristics of CIC Filters&lt;br /&gt;
# Linear phase response;&lt;br /&gt;
# Utilize only delay and addition and subtraction; that is, it requires no multiplication operations;&lt;br /&gt;
&lt;br /&gt;
== CIC as a moving average filter ==&lt;br /&gt;
&lt;br /&gt;
A CIC filter is an efficient implementation of a [[Finite_impulse_response#Moving_average_example|moving average]] filter.  To see this, consider how a moving average filter can be implemented recursively by adding the newest sample &amp;lt;math&amp;gt;x[n]&amp;lt;/math&amp;gt; to the previous result &amp;lt;math&amp;gt;y[n-1]&amp;lt;/math&amp;gt; and subtracting the oldest sample.  Omitting the division by &amp;lt;math&amp;gt;RM&amp;lt;/math&amp;gt;, we have:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align}&lt;br /&gt;
  y[n] &amp;amp;= \sum_{k=0}^{RM-1} x[n-k] \\&lt;br /&gt;
       &amp;amp;= y[n-1] + x[n] - x[n-RM].&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The second equality corresponds to a comb (&amp;lt;math&amp;gt;c[n] = x[n] - x[n-RM]&amp;lt;/math&amp;gt;) followed by an integrator (&amp;lt;math&amp;gt;y[n] = y[n-1] + c[n]&amp;lt;/math&amp;gt;).  The conventional CIC structure is obtained by cascading &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; identical moving average filters, then rearranging the sections to place all integrators first (decimator) or combs first (interpolator).  Such rearrangement is possible because both combs and integrators are [[LTI_system_theory|LTI]].  For an interpolator, the upsampler which normally precedes the interpolation filter can be passed through the comb sections using a [[Multi-rate digital signal processing#Noble_identities|Noble identity]], reducing the number of delay elements needed by a factor of &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;.  Similarly, for a decimator, the downsampler which normally follows the decimation filter can be moved before the comb sections.&lt;br /&gt;
&lt;br /&gt;
The equivalence of a CIC to moving average filter allows us to trivially calculate its bit growth as &amp;lt;math&amp;gt;N \log_2(RM)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Comparison with other filters ==&lt;br /&gt;
&lt;br /&gt;
CIC filters are used in multi-rate processing.  An [[FIR filter]] is used in a wide array of applications, and can be used in multi-rate processing in conjunction with an interpolator or decimator.  CIC filters have low pass frequency characteristics,&amp;lt;ref name=Hogenauer/&amp;gt; while FIR filters can have [[low-pass]], [[high-pass]], or [[band-pass]] frequency characteristics.  CIC filters use only addition and subtraction.&amp;lt;ref name=Hogenauer/&amp;gt; FIR filters use addition, subtraction, but most FIR filters also require multiplication.  CIC filters have a specific frequency [[roll-off]],&amp;lt;ref name=Hogenauer/&amp;gt; while low pass FIR filters can have an arbitrarily sharp frequency roll-off.&lt;br /&gt;
&lt;br /&gt;
CIC filters are in general much more economical than general FIR filters,&amp;lt;ref name=Hogenauer/&amp;gt; but tradeoffs are involved.  In cases where only a small amount of interpolation or decimation are needed, FIR filters generally have the advantage.  However, when rates change by a factor of 10 or more, achieving a useful FIR filter anti-aliasing stop band requires many FIR taps.  &lt;br /&gt;
&lt;br /&gt;
For large rate changes, a CIC has a significant advantage over a FIR filter with respect to architectural and [[Computational complexity theory|computational efficiency]].&amp;lt;ref name=Hogenauer/&amp;gt; Additionally, CIC filters can typically be reconfigured for different rates by changing nothing more than the decimation/interpolation section assuming the bit width of the integrators and comb sections meets certain mathematical criteria based on the maximum possible rate change.&lt;br /&gt;
&lt;br /&gt;
Whereas a FIR filter can use [[Fixed-point arithmetic|fixed]] or [[floating point]] math, a CIC filter uses only fixed point math.&amp;lt;ref name=Hogenauer/&amp;gt; This is necessary because, as a recursively implemented FIR filter, a CIC filter relies on exact cancellation of poles from the integrator sections by zeros from the comb sections.  While the reasons are less than intuitive, an inherent characteristic of the CIC architecture is that if fixed bit length [[arithmetic overflow|overflow]]s occur in the integrators, they are corrected in the comb sections.&amp;lt;ref name=Hogenauer/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The range of filter shapes and responses available from a CIC filter is somewhat limited.  Larger amounts of [[stopband]] rejection can be achieved by increasing the number of poles.&amp;lt;ref name=Hogenauer/&amp;gt; However, doing so requires an increase in [[Word (computer architecture)|bit width]] in the integrator and comb sections which increases filter [[complexity]].  The shape of the filter response provides even fewer degrees of design freedom.&amp;lt;ref name=Hogenauer/&amp;gt; For this reason, many real-world filtering requirements cannot be met by a CIC filter alone.  However, a CIC filter followed by a short to moderate length FIR or IIR proves highly applicable.  Additionally, the FIR filter shape is [[normalized frequency (digital signal processing)|normalized]] relative to the CIC&#039;s sampling rate at the FIR/CIC interface so one set of FIR coefficients can be used over a range of CIC interpolation and decimation rates.&amp;lt;ref name=Hogenauer/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://dspguru.com/dsp/tutorials/cic-filter-introduction CIC Filter Introduction]&lt;br /&gt;
* [http://www.embedded.com/columns/showArticle.jhtml?articleID=160400592 Understanding cascaded integrator-comb filters]&lt;br /&gt;
&lt;br /&gt;
[[Category:Digital signal processing]]&lt;/div&gt;</summary>
		<author><name>129.69.36.36</name></author>
	</entry>
</feed>