Signal Processing

CIC Filter

/see-eye-see/
A Cascaded Integrator-Comb filter is a multiplierless digital filter that achieves efficient sample rate conversion using only additions, subtractions, and delays. CIC filters are the universal first-stage decimator in FPGA-based digital receivers, SDR platforms, and sigma-delta ADC output chains because they consume minimal logic resources while providing high decimation ratios (10x to 1000x) with adequate alias rejection.
Category: Signal Processing
Abbreviation: Cascaded Integrator-Comb
Operations: Add/subtract only (no multiply)

Understanding the CIC Filter

A CIC filter consists of N integrator stages operating at the high sample rate, followed by a rate change (downsampler for decimation, upsampler for interpolation), followed by N comb stages at the low sample rate. Each integrator is a running accumulator: y[n] = y[n−1] + x[n]. Each comb computes the difference: y[n] = x[n] − x[n−RM], where R is the rate change and M is the differential delay (usually 1 or 2).

The cascade of integrators and combs produces a frequency response equivalent to an R×M-tap moving-average filter raised to the N-th power. The response is sinc-shaped with nulls at multiples of fs,out/M, which naturally suppresses aliased frequency bands during decimation. No multiplications are needed because the coefficients are all unity.

CIC Filter Equations
Transfer function:
H(z) = [(1 − z−RM) / (1 − z−1)]N

Frequency response:
|H(f)| = |sin(πRMf/fs) / sin(πf/fs)|N

Alias rejection:
≈ N × 20log10(R) dB (approximate)

Bit growth:
Bout = Bin + N × ⌈log2(RM)⌉

Example: R=10, M=1, N=4, Bin=14 → Bout = 14 + 4×4 = 30 bits. Alias rejection ≈ 80 dB.

Decimation Filter Chain Architecture

StageFilter TypeRatePurposeResources
1stCIC (N=3-5)High (fs)Bulk decimation (10-100x)N adders, N delays
2ndHalf-band FIRMedium2x decimation~15 multipliers
3rdCompensation FIRLow (fout)Passband droop correction~31 multipliers
4th (optional)Channel FIRLowFinal shaping~64 multipliers
Common Questions

Frequently Asked Questions

Why CIC instead of FIR for decimation?

A 100-tap FIR at 1 GSa/s needs 100 billion multiplications/second. A 5-stage CIC uses ~5 adders and 5 delays with zero multiplications. The FPGA savings are enormous. CIC does the bulk decimation; a small FIR at the output rate corrects passband droop.

What is passband droop?

CIC has a sinc-shaped response causing 2-6 dB droop at the passband edge. A 15-31 tap inverse-sinc FIR at the decimated rate flattens it. This CIC + compensation FIR is the standard digital receiver architecture.

How many stages should you use?

More stages = better stopband rejection but more bit growth and passband droop. N=3 gives ~60 dB rejection for R=10. N=5 gives ~100 dB. Bit growth is N×log2(RM) bits. Typical designs use N=3-5.

RF Engineering Resources

Request a Quote

Need FPGA development boards, digital receiver modules, or SDR platforms? Contact our engineering team.

Get in Touch