---
title: "Limit cycle effect in recursive systems"
subject: "Digital Signal Analysis and Processing"
chapter: 4
key: "semester_7/digital_signal_analysis_and_processing:limit-cycle-recursive"
source: https://www.bctengineer.com/q/semester_7/digital_signal_analysis_and_processing/limit-cycle-recursive
site: BCT Engineering
---

# Limit cycle effect in recursive systems

Digital Signal Analysis and Processing · Chapter 4: Discrete Filter Structures

- Asked in: 2071 Chaitra, 3 marks; 2070 Asar, 1+3 marks (asked 2 times)
- Video: [Problem Solved in Limit Cycle Oscillation - Finite Word Length Effects - DTSP](https://www.youtube.com/watch?v=gk2Q51nr9s4) — Padmasri Naban
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_7/digital_signal_analysis_and_processing/limit-cycle-recursive
- Whole chapter: https://www.bctengineer.com/md/semester_7/digital_signal_analysis_and_processing/chapter-4

## Question

What is limit cycle effect in recursive system? Describe with one example showing how it occurs.

## Short answer

Limit cycle is a persistent oscillation in recursive filters caused by quantization, even with zero input. Example: y(n)=0.9y(n-1)+x(n) with rounding to integers; after an impulse, output remains at 5 because 0.9×5=4.5 rounds to 5, a DC limit cycle.

## Answer

**Limit cycle:** in a recursive (IIR) digital filter, finite word-length arithmetic (rounding or truncation of products, or overflow of sums) can keep the output non-zero, or make it oscillate with a constant amplitude, even after the input becomes zero (or constant). The output then does not decay to zero as it would in the ideal filter. Such a persistent oscillation is called a **limit cycle**.

#### Types
- **Granular (zero-input) limit cycles:** caused by rounding/truncation of the product in the feedback path. The amplitude stays within a small "dead band", of the order of the quantisation step.
- **Overflow limit cycles:** caused by adder overflow (two's-complement wrap-around); these are large-amplitude oscillations. They can be avoided by scaling or by saturation arithmetic.

#### Example: first-order filter y(n) = 0.9y(n−1) + x(n), rounding to integers
Let the input be x(n) = 7δ(n), then zero. The ideal output 7(0.9)ⁿ decays to zero. With the product 0.9y(n−1) rounded to the nearest integer (0.5 rounds up):

| n | 0 | 1 | 2 | 3 | 4 | 5 | … |
|---|---|---|---|---|---|---|---|
| exact 0.9y(n−1) | – | 6.3 | 5.4 | 4.5 | 4.5 | 4.5 | … |
| y(n) quantised | 7 | 6 | 5 | 5 | 5 | 5 | … |

At n = 3, 0.9 × 5 = 4.5 is rounded back to 5, so y(n) = 5 forever even though the input is zero: a limit cycle of period 1 (a dc offset). The output can get stuck at any value inside the **dead band**

|y| ≤ (Δ/2)/(1 − |a|) = 0.5/(1 − 0.9) = 5

(Δ = 1 is the quantisation step). For a second-order section with complex poles, the limit cycle is an oscillation, e.g. a sustained ±1 sequence, with dead band (Δ/2)/(1 − |a₂|).

#### Remedies
Use more bits (smaller Δ), magnitude truncation (which drives the output to zero), scaling to avoid overflow, saturation arithmetic, or structures with lower sensitivity (cascade/parallel, lattice, wave digital filters).

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. What is a limit cycle in a recursive filter?
   A. A persistent nonzero or oscillating output with zero input, caused by finite word-length effects
   B. A decaying output due to poles inside the unit circle
   C. An output oscillation caused only by the input frequency
   D. Instability due to poles outside the unit circle
   Answer: A. Quantization or overflow stops the output decaying to zero. (Key point: Definition)

2. Which type of limit cycle is caused by adder overflow?
   A. Granular limit cycle, within the dead band
   B. Overflow limit cycle, with large amplitude
   C. Zero-input limit cycle from rounding only
   D. Coefficient limit cycle
   Answer: B. Overflow wrap-around produces large oscillations; scaling or saturation prevents it. (Key point: Types)

3. In y(n) = 0.9y(n-1) + x(n) with rounding, why does y(n) stay at 5?
   A. Because 0.9 x 5 = 5 exactly
   B. Because the input is still non-zero
   C. 0.9 x 5 = 4.5 rounds back to 5, so the output never decays
   D. Because the filter is unstable
   Answer: C. Rounding 4.5 up to 5 repeats forever, giving a dc offset. (Key point: Example mechanism)

## Related in Digital Signal Analysis and Processing

- [Quantization, rounding vs truncation, dead band](https://www.bctengineer.com/question.md?key=semester_7%2Fdigital_signal_analysis_and_processing%3Aquantization-rounding-limit-dead-band) — Digital Signal Analysis and Processing, chapter 4
- [Stability and causality of LTI systems](https://www.bctengineer.com/question.md?key=semester_7%2Fdigital_signal_analysis_and_processing%3Astability-causality-lti) — Digital Signal Analysis and Processing, chapter 1

## Related in other subjects

- [Recursive/nonrecursive systems; stability](https://www.bctengineer.com/question.md?key=semester_5%2Fdata_communication%3Arecursive-nonrecursive-stability) — Data Communication, chapter 2
- [One cycle of water hammer pressure wave](https://www.bctengineer.com/question.md?key=semester_4%2Fhydraulics%3Awater-hammer-one-cycle-wave-sketch) — Hydraulics, chapter 4, asked 2×
- [Compare AM systems; one method of DSB-FC generation](https://www.bctengineer.com/question.md?key=semester_6%2Fcommunication_systems%3Aam-types-compare-dsbfc-method) — Communication Systems, chapter 2
- [Ferranti effect and measures to limit it](https://www.bctengineer.com/question.md?key=semester_4%2Fpower_system_analysis_i%3Aferranti-effect-measures) — Power System Analysis I, chapter 6, asked 2×
