Skip to main content

ISI; Nyquist criteria; duobinary with example

Short answer

Intersymbol interference (ISI) is pulse overlap distorting samples. Nyquist criterion for zero ISI: p(nTb)=1 if n=0 else 0; spectrum copies sum to constant. Duobinary adds controlled ISI via c_k = a_k + a_{k-1}. Precoding d_k = b_k XOR d_{k-1} prevents error propagation; decode |c_k|=0→1, else→0. Example: input 1011001 yields output 1011001.

What is ISI? State Nyquist pulse shaping criteria for zero ISI. Explain duo-binary encoding with example.

ISI

Intersymbol interference (ISI) is the overlap of a pulse with the neighbouring symbol intervals. A band-limited channel (or filter) spreads each pulse in time, so the tails of nearby pulses add to the sample of the current symbol:

y(iTb)=μai+μ∑k≠iak p((i−k)Tb)+n(iTb)y(iT_b) = \mu a_i + \mu \sum_{k \ne i} a_k\, p\big((i-k)T_b\big) + n(iT_b)

The summation term is the ISI. It closes the eye diagram and raises the bit error rate.

Nyquist criterion for zero ISI

If p(t)p(t) is the overall pulse (transmit filter, channel and receive filter), ISI is zero when

p(nTb)={1,n=00,n≠0p(nT_b) = \begin{cases} 1, & n = 0 \\ 0, & n \ne 0 \end{cases}

In the frequency domain this is

∑k=−∞∞P ⁣(f−kTb)=Tb(constant)\sum_{k=-\infty}^{\infty} P\!\left(f - \frac{k}{T_b}\right) = T_b \quad \text{(constant)}

That is, copies of the pulse spectrum shifted by multiples of Rb=1/TbR_b = 1/T_b must add up to a flat spectrum.

  • Ideal Nyquist pulse: p(t)=sinc(Rbt)p(t) = \text{sinc}(R_b t) with bandwidth B0=Rb/2B_0 = R_b/2 (the minimum possible). It cannot be built, and its slow tails are sensitive to timing error.
  • Raised-cosine pulse: bandwidth BT=Rb2(1+α)B_T = \frac{R_b}{2}(1+\alpha), 0≤α≤10 \le \alpha \le 1. It still gives zero ISI, its tails decay fast, and it can be built.

Duobinary encoding

Duobinary signalling (a correlative-level coding scheme) adds each binary symbol to the one before it. This brings in a controlled amount of ISI that the receiver knows and can remove, and in return the data can be sent at RbR_b b/s in the minimum Nyquist bandwidth Rb/2R_b/2 with realisable filters.

Encoder: with ak=±1a_k = \pm 1,

ck=ak+ak−1,ck∈{−2,0,+2}c_k = a_k + a_{k-1}, \qquad c_k \in \{-2, 0, +2\}

This is equal to passing aka_k through H(f)=1+e−j2πfTbH(f) = 1 + e^{-j2\pi f T_b}. With the ideal Nyquist filter, the overall response becomes

HI(f)=2cos⁡(πfTb) e−jπfTb,∣f∣≤12TbH_I(f) = 2\cos(\pi f T_b)\, e^{-j\pi f T_b}, \quad |f| \le \frac{1}{2T_b}

This is a smooth half-cosine, which is easy to approximate with a real filter.

 b_k->[Precoder]->[2d-1]-a_k-+---->(+)-c_k->[LPF]-> out
      d_k=b_k XOR d_k-1     |      ^
                            +-[Tb]-+

Decoder (without precoding): a^k=ck−a^k−1\hat a_k = c_k - \hat a_{k-1}. One wrong decision then spreads to the bits that follow (error propagation).

Precoding removes this. Use dk=bk⊕dk−1d_k = b_k \oplus d_{k-1} and send ak=2dk−1a_k = 2d_k - 1. Then the receiver decides each bit on its own: ∣ck∣=0⇒bk=1|c_k| = 0 \Rightarrow b_k = 1, and ∣ck∣=2⇒bk=0|c_k| = 2 \Rightarrow b_k = 0.

Example: input bkb_k = 1011001, with initial reference d−1=0d_{-1} = 0 (so a−1=−1a_{-1} = -1).

kk0123456
bkb_k1011001
dk=bk⊕dk−1d_k = b_k \oplus d_{k-1}1101110
aka_k+1+1−1+1+1+1−1
ck=ak+ak−1c_k = a_k + a_{k-1}0+200+2+20
Decision (ck=0→1c_k = 0 \to 1, else 0)1011001

The decoded sequence 1011001 equals the input. Each bit is decided on its own, so there is no error propagation.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Communication Systems chapter 6 questions →