11.4 Hogenauer Filter
The CIC filter is used in both up sampling and down sampling applications. The CIC contains two subfilters, the comb and the integrator, which can be applied in either order. If the filter is applied to an upsampling task, the comb filter is placed at the input to the CIC filter. On the other hand, if the CIC is applied to a downsampling task, the comb filter is placed at the output of the CIC filter. This ordering is established to permit the application of the noble identity and thus enable the reordering of the resampling switch and the comb filter. This reordering is illustrated in Figure 11.13 for the two cases of up sampling and of down sampling. Note that the comb filter becomes a differentiator at the low data rate after it is reordered with the resampling switch. When the CIC absorbs the resampling switch the filter structure is known as a Hogenauer filter. Remember that when ordering the three components in a resampling mode, the integrator always operates at the higher of the two rates, the differentiator operates at the lower rate, and the resampler resides between the pair.
Figure 11.13 Order and Reordering of Resampling Switch and Subfilters of CIC Filter for Up Sampling and for Down Sampling
A CIC filter with any number of stages can be similarly converted to a Hogenauer filter by first ordering all the integrators on one side of the filter and the comb filters on the other side, then applying the noble identity to interchange the resampling switch and the multiple comb filters. This reordering for a threestage downsampling CIC filter is shown in Figure 11.14. The upsampling version of this same process is similar except that the derivatives are at the input and the integrators are at the output.
Figure 11.14 Downsampled Threestage CIC Filter, Rearranged and Converted to a Hogenauer Filter
11.4.1 Accumulator Bit Width
We observed earlier that in spite of overflowing accumulators the composite CIC filter would compute correct filter outputs provided the additions were performed with 2'scomplement arithmetic and provided the bit field width of the accumulator exceeded the word width required by the output sequence. The required bit width is the number of bits in the input data words plus the number of bits required to accommodate the maximum filter gain. This is shown in (11.17). The gain of a Kstage filter with lengthM comb filters is the product of the DC gains of each prototype boxcar filter as shown in (11.18). Substituting (11.18) in (11.17) we determine the bit width required of the CIC accumulators as indicated in (11.19).
As an example, suppose we have a 2stage CIC with length20 comb filters processing 7bit input. The gain of the filter is 20*20 or 400 for which we require 9bits to provide for the signal growth through the filter. The required accumulator width is 9bits of growth added to the 7bits of input data or 16 bits. Figure 11.15 presents the time series at the outputs of a CICs two 16bit integrators and two comb filters. The input to the CIC is a cosine of amplitude 63 with period equal to 1,000 samples. Note the overflow of the second integrator and the recovery from the overflow by the two comb filters.
Figure 11.15 Twostage CIC Filter, 20tap Comb, 16bit Accumulator, 7bit Input
For comparison with a properly operating CIC we examine the performance of an improperly operating filter. Figure 11.16 presents the time series from a similar twostage CIC filter operating on the same input signal except that the accumulator bit width of this CIC filter is 15bits. As in the previous example, the second accumulator overflows, and the two comb filters attempt to reverse the overflow. We observe that the output of the second comb filter has not successfully recovered from the overflow and that there is a residual overflow of a single bit at its output. When the input signal level is reduced by a factor of two, the filter successfully recovers from the internal overflow since the reduced input level results in a reduced output level supportable by the 15bit accumulator width.
Figure 11.16 Twostage CIC Filter, 20tap Comb, 15bit Accumulator, 7bit Input
11.4.2 Pruning Accumulator Width
In the previous section we identified the bit growth required in a CIC to successfully recover from internal accumulator overflow. The bit growth reflects the filter gain between input and output of the filter. In an upsampling filter, this growth occurs in successive integrator stages, and the integrators at the beginning of the chain do not require the same bit width as does the final integrator. We can prune the most significant bits of accumulators to the level corresponding to the maximum gain of each integrator. In a downsampling filter the growth appears immediately in the first integrator stage, and all subsequent integrators and comb filters must honor the most significant bit of the first integrator stage. Scaling applied at the output of the CIC to remove the filter processing gain discards the lower order bits of the CIC process. We can prune lower order bits early in the filtering chain to the bit position in any stage that cannot grow beyond the least significant bit of the output word. We now examine the two cases of most significant bit (MSB) pruning for upsampling CIC filters and of least significant bit (LSB) pruning for downsampling CIC filters.
11.4.2.1 Upsampling CIC
Figure 11.17 is a block diagram of a 4stage CIC upsampling filter. The output of each integrator in the chain is identified and is available at the indicated tap points.
Figure 11.17 Fourstage Upsampling CIC Filter with Integrator Outputs Identified
The transfer functions from the input to each integrator output are identified in (11.20) . Here, at each position, the included integrators are coupled with a matching comb filter with the unmatched or excess comb filters listed separately as a preprocessor to the equivalent boxcar filters.
Figure 11.18 presents the impulse response from the input to the four integrator positions when there are 20 delays in each comb filter. Note the successively larger output levels at the outputs of the successive integrators.
Figure 11.18 Impulse Responses at Integrators of Fourstage CIC Filter with 20tap Comb
To determine the maximum signal gain from the input to y_{k}(n) the output of integrator k we apply the input sequences x_{k}(n) satisfying (11.21).
The sequences that maximize the output levels at each of the integrator stages are shown in Figure 11.19.
Figure 11.19 Input Sequences to Maximize Output from Integrators in FourStage CIC
The sequence that maximizes the output at a selected integrator lead to nonmaximum output levels at the remaining integrators. This can be seen in Table 114 which lists the maximum level obtained at each integrator for the four input sequences identified in Figure 11.19. The bold entries in the table correspond to the maximum level that integrator can exhibit for sequences that result in stable responses at the final output stage. Figure 11.20 presents the integrator responses for the input sequences shown in Figure 11.19 designed to maximize the amplitude response for the selected integrator.
Figure 11.20 Integrator Responses for Input Sequence Selected to Maximize Output Level
Table 114. Maximum Integrator Response Levels for Sequences that Maximize Selected Integrator Response
Sequence Int1 
Sequence Int2 
Sequence Int3 
Sequence Int4 


Integrator 1 
–160 
109 
80 
40 
Integrator 2 
858 
–1068 
640 
267 
Integrator 3 
–6,821 
9,848 
–10,680 
5,340 
Integrator 4 
73,725 
113,496 
141,626 
160,000 
Each comb filter in the processing sequence, with one addition per stage, has a gain of 2 with a cumulative gain at the kth stage of 2^{k}. The impulse weights of a comb filter cascade are the terms of Pascal's triangle with alternating signs. These terms are shown in Figure 11.21. To maximize the sum at the output of each comb filter, as we did for the integrators, we set the input sequence to the sign of the comb filter impulse response. To also probe the response of the integrator chain while probing the comb filters, we extend the samples for the Msample interval between samples of the comb filter response. The probe signals to test both the comb and the integrator segments of the CIC are shown in Figure 11.22. We note that the successive sequences use the previous sequence as a prefix and simply add one more segment. Consequently, we will find that the sequence that maximizes the output for comb filter k also maximizes the output for comb filter k–1.
Figure 11.21 Impulse Responses at Comb Filters of Fourstage CIC Filter with 20tap Comb
Figure 11.22 Input Sequences to Maximize Output from Comb Filters in Fourstage CIC
Table 115 lists the maximum level obtained at each comb filter and at each integrator output for the four input sequences identified in Figure 11.21. The bold entries in the table correspond to the predicted maximum levels that comb filter can exhibit; we also see the peak values of the integrators obtained while maximizing the output of the comb filters. For ease of comparison, we also list from Table 114, the maximum values of the integrator outputs.
Table 115. Maximum Comb Response Levels for Sequences that Maximize Selected Comb Response
Sequence Comb1 
Sequence Comb2 
Sequence Comb3 
Sequence Comb4 
Maximum Level 


Comb1 
2 
2 
2 
2 
2 
Comb2 
3 
4 
4 
4 
4 
Comb3 
6 
7 
8 
8 
8 
Comb4 
10 
14 
15 
16 
16 
Integrator1 
120 
140 
–160 
160 
160 
Integrator2 
720 
900 
855 
855 
1068 
Integrator3 
8,020 
6,821 
–6,821 
6,821 
10,680 
Integrator4 
73,710 
73,725 
73,725 
73,725 
160,000 
The bitwidth results determined from the two sets of probes applied to the upsampling CIC filter of Figure 11.17 are tabulated in Table 116.
Table 116. Maximum Comb and Integrator Response and Required Bit Field Width
Maximum Gain 
Growth Bits 


Comb1 
2 
1 
Comb2 
4 
2 
Comb3 
8 
3 
Comb4 
16 
4 
Integrator1 
160 
9 
Integrator2 
1068 
10 
Integrator3 
10,680 
14 
Integrator4 
160,000 
18 
The bit growth per processing stage can be visualized by the graph of bitfield width shown in Figure 11.23. Each stripe in the graph indicates the number of bits entering and the number of bits leaving the indicated process. For the example just concluded we can see how the total of 18bit growth from input to output is distributed between the comb filters and the integrators.
Figure 11.23 Graphs Showing Required Bit Field at Input and Output of Each Process in CIC
11.4.2.2 DownSampling CIC
Figure 11.24 is a block diagram of a 4stage CIC downsampling filter. Pruning of this process will by performed be discarding lowerorder bits in each accumulator. The discarded bits will be treated as additive noise to each integrator. Our interest here is the noise gain from each integrator and from each comb filter to the output port. The input of each integrator in the chain is identified and is available at the indicated input points from which we will determine the noise gains.
Figure 11.24 Fourstage Downsampling CIC Filter with Integrator Inputs Identified
The transfer functions from the input of each integrator to the CIC output are identical to the transfer functions identified in (11.20) and repeated here as (11.22) to reflect the change of input and output variables. Here, at each position, the integrators included in the signal path are coupled with a matching comb filter, with the unmatched or excess comb filters listed separately as post processor to the equivalent boxcar filters.
Figure 11.25 presents the impulse response from the fourintegrator input positions to the output when there are 20 delays in each comb filter. Note the successively reduced output levels at the output when there are a reduced number of integrators between the selected input and the CIC output.
Figure 11.25 Impulse Responses from Integrators of 4Stage CIC Filter with 20Tap Comb
The noise power measured at the output due to noise inserted at the input to integrator k is shown in (11.23).
The standard deviation of the output noise due to the gain from each integrator is listed in Table 117. In a similar manner, noise inserted at the input to the comb filters can be formed using the comb filter impulse response. The comb filter impulse responses are the same as those shown in Figure 11.21. Table 117 shows the noise gain for each of the integrator and comb filter stages in the CIC.
Table 117. Noise Gain from Each CIC Stage to Output
SQRT(Noise Gain) 
Noise Bit Growth 


Integrator1 
24,785 
14.6 
Integrator2 
1,462.4 
10.5 
Integrator3 
146.3 
7.2 
Integrator4 
20 
4.3 
Comb1 
8.4 
3.1 
Comb2 
4.5 
2.2 
Comb3 
2.5 
1.3 
Comb4 
1.4 
0.5 
The total noise contributed to the output by the separate noise sources injected at each stage due to pruning the least significant bits (LSB) in each of the 2K filter segment is shown in (11.24).
It is reasonable to assign equal levels of noise contribution from each noise source. For this condition, the noise contributed by each source must satisfy (11.25).
The acceptable noise level that can be inserted at each noise source must account for the 1/2K of (11.25). Since the least significant bit level defines the additive noise level at each insertion point, we convert the 1/2K to bits as is done in (11.26).
Our 4stage example, with 8noise terms, requires the noise terms to drop an additional 3bits for the overall noise to be below the specified output LSB. When we incorporate the additional attenuation of the scaled noise in our example, we obtain the parameters listed in Table 118.
Table 118. Bit Locations Below Output LSB for Register Pruning
Bits Below Output LSB 
Integer Number of Bits 


Integrator1 
14.6 + 3 = 17.6 
18 
Integrator2 
10.5 + 3 = 13.5 
14 
Integrator3 
7.2 + 3 = 10.2 
11 
Integrator4 
4.3 + 3 = 7.3 
8 
Comb1 
3.1 + 3 = 6.1 
7 
Comb2 
2.2 + 3 = 5.2 
6 
Comb3 
1.3 + 3 = 4.3 
5 
Comb4 
0.5 + 3 = 3.5 
4 
The LSB bit pruning per processing stage can be visualized by the graph of bitfield width shown in Figure 11.26. Each stripe in the graph indicates the number of bits entering and the number of bits leaving the indicated process. For the example just concluded we can see how the total of 18bit growth occurring at the input stage permits the LSB pruning as we progress from input to output through the integrators and the comb filters.
Figure 11.26 Graph Showing Required Bit Field at Input and Output of Each Process in CIC