# Why an does an integrate-and-dump stage in a CIC filter provide the same functionality as the integrator and comb in series?

I have a hard time understanding why the combination of integrator and comb (integrate-and-dump) is the same as a separate integrator and comb in series like in this picture:

Please explain why these two structures are equivalent.

I have read that this is the same as this:

The last integrator is with reset signal. I don't understand why we can add a reset to an integrator while removing a differentiator and get the same result.

• Just saying that you had a hard time understanding something and asking for explanation seems strange to me. Could you elaborate what exactly is hard for your to understand? Which literature have you read so far? Have you read "Understanding cascaded integrator-comb filters" by Richard G. Lyons? Sep 29, 2021 at 11:32
• Yes, I have read this article , but there is nothing about the structure on picture b above. I understand how CIC filters work, but I don't understand why those two structures are equivalent. Sep 29, 2021 at 11:40
• Have you checked noble identities? E.g. also described in this answer: dsp.stackexchange.com/questions/38377/… Sep 29, 2021 at 11:47
• No, I am checking it, thank you Sep 29, 2021 at 11:49
• As you elaborated that you have problems understanding integrate-and-dump, the first question would be: have you tried to simulate a 1st order CIC on paper by hand and compare it to a integrate-and-dump structure? It directly gets obvious once you do it. Sep 30, 2021 at 5:34

As you already now a 1st order CIC filter is identical to a moving average filter.

Lets consider the decimation factor to be 2 and having the following time series:

input = 10 11 12 13 14 15


Lets have a look at the convolution with the fir filter h=[1 1]

0 10 11 12 13 14 15
1 1  0  0  0  0  0


The first output sample will be 10

0 10 11 12 13 14 15
0 1  1  0  0  0  0


The second will be 21. And so on

The result of a moving average filter without decimation would be obviously:

output = 10 21 23 25 27 29


After Decimation the output will be

output = 10    23    27


Nothing special so far, however, if you think about the effort to do the calculations it becomes obvious that every second calculation is wasted, as it is thrown away later. Nevertheless, the input sample is important. So lets have a look on the value of the register of the integrator in the case of the moving average filter:

input  10 11 12 13 14 15
reg    0  10 11 12 13 14
output 10 21 23 25 27 29


Now lets have a look at integrate-and-dump approach:

The first input sample 10comes in, the register will have the default value of 0 in it so the put is 10.

input   10
reg     0
output  10


One would now assume that the register value is also updated, but as the decimation factor is to, this entry is dumped and the register holds the value of zero. When the second sample comes in the situation looks like this:

input   10 11
reg     0  0
output  10 11


Now the register will be updated and the new value is 11 So for the third sample the situation is the following:

input   10 11 12
reg     0  0  11
output  10 11 23


The register value will be dumped again and we get:

input   10 11 12 13
reg     0  0  11 0
output  10 11 23 13


After all we have:

input   10 11 12 13 14 15
reg     0  0  11 0  13 0
output  10 11 23 13 27 15


Taking the decimation into consideration we get again:

output  10    23    27


Summarizing, the idea behind integrate-and-dump is to take into consideration that not every output sample needs to be stored as after decimation it is thrown away. So you restart the integration only when necessary.