Skip to main content

ISI; modified duobinary for 10110011

Short answer

ISI is overlapping of pulses causing errors. Modified duobinary uses c_k = a_k - a_{k-2} with three levels; no DC. For input 10110011, precoded output yields c_k: +2,0,-2,+2,0,0,+2,-2, decoded to 10110011.

What do you understand by Inter Symbol Interference (ISI)? Explain modified Duobinary coding technique and illustrate it using binary input sequence 10110011.

Inter Symbol Interference (ISI)

ISI is the overlapping of neighbouring pulses in a digital signal, so that at the sampling instant of one symbol the received value also contains the tails of other symbols. It appears because a band-limited channel spreads each pulse in time (a pulse limited in bandwidth cannot be limited in time).

The receiver output at the sampling instant ti=iTbt_i = iT_b is

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

The first term is the wanted symbol, the second is ISI, the third is noise.

Causes: limited channel bandwidth, non-ideal filters, multipath and dispersion in cables or fibres, timing errors at the receiver.

Effects: wrong decisions even without noise; higher bit error rate; reduced eye opening and noise margin; sensitivity to timing jitter.

 pulse k-1     pulse k     pulse k+1
     /\         /\          /\
 ___/  \_     _/  \_      _/  \___
         \___/      \____/
        tail of k-1 adds to k

Remedies: Nyquist pulse shaping (raised cosine), correlative coding (duobinary, modified duobinary), and equalization.

Modified duobinary coding

Modified duobinary introduces a controlled ISI between a symbol and the one two bit intervals before it:

ck=ak−ak−2,H(f)=2jsin⁡(2πfTb) e−j2πfTb, ∣f∣≤12Tbc_k = a_k - a_{k-2}, \qquad H(f) = 2j\sin(2\pi fT_b)\,e^{-j2\pi fT_b},\ |f| \le \frac{1}{2T_b}

H(0)=0H(0) = 0, so the spectrum has no DC component. The output takes three levels (−2, 0, +2). A precoder dk=bk⊕dk−2d_k = b_k \oplus d_{k-2} is used so that each bit is decoded from one sample: ∣ck∣=2⇒1|c_k| = 2 \Rightarrow 1, ck=0⇒0c_k = 0 \Rightarrow 0.

Illustration for 10110011

Assume d−1=d0=0d_{-1} = d_0 = 0; level mapping d=1→+1d = 1 \to +1, d=0→−1d = 0 \to -1.

k12345678
bkb_k10110011
dk−2d_{k-2}00100101
dkd_k10010110
aka_k+1−1−1+1−1+1+1−1
ak−2a_{k-2}−1−1+1−1−1+1−1+1
ckc_k+20−2+200+2−2
b^k\hat b_k10110011

The decoded output 10110011 matches the input.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Communication Systems chapter 6 questions →