Skip to main content

ISI; duobinary with precoder for 0010110

Short answer

ISI is the interference from overlapping neighboring pulses at sampling instants. Duobinary coding (a_k + a_{k-1}) transmits at Nyquist rate with half-cosine spectrum. Precoder d_k = b_k XOR d_{k-1} prevents error propagation; decode: |c_k| < 1 -> 1, else 0. Input 0010110 yields c_k = +2, +2, 0, -2, 0, 0, -2 and recovers the original bits.

What do you understand by intersymbol interference? Explain Duobinary coding technique with precoder and illustrate it using binary input sequence 0010110.

Intersymbol interference

Intersymbol interference (ISI) is the overlap of the tails of neighbouring pulses at the sampling instant of the present pulse. It arises because a band-limited channel spreads each pulse beyond its own bit interval. The sample at t=kTbt = kT_b becomes

y(kTb)=μak+μ∑n≠kan p((k−n)Tb)+n(kTb)y(kT_b) = \mu a_k + \mu\sum_{n\ne k} a_n\,p\big((k-n)T_b\big) + n(kT_b)

where the middle term is ISI. ISI closes the eye pattern and causes errors even without noise.

Duobinary coding with precoder

Duobinary (class I partial response) signalling deliberately adds a known amount of ISI from the previous bit so that data at rate RbR_b can be sent in the minimum bandwidth Rb/2R_b/2 with a realizable filter.

ck=ak+ak−1,ak=±1c_k = a_k + a_{k-1}, \qquad a_k = \pm 1 H(f)=1+e−j2πfTb=2cos⁡(πfTb) e−jπfTb,∣f∣≤12TbH(f) = 1 + e^{-j2\pi fT_b} = 2\cos(\pi fT_b)\,e^{-j\pi fT_b}, \quad |f| \le \frac{1}{2T_b}

The output has three levels (−2, 0, +2).

Need for precoder: without it, the receiver decodes a^k=ck−a^k−1\hat a_k = c_k - \hat a_{k-1}, so one wrong decision spreads to all later bits (error propagation).

Precoder: dk=bk⊕dk−1d_k = b_k \oplus d_{k-1}; level map dk=1→+1d_k = 1 \to +1, dk=0→−1d_k = 0 \to -1. Then ck=0c_k = 0 when bk=1b_k = 1 and ck=±2c_k = \pm 2 when bk=0b_k = 0.

Decision rule: ∣ck∣<1⇒b^k=1|c_k| < 1 \Rightarrow \hat b_k = 1; ∣ck∣>1⇒b^k=0|c_k| > 1 \Rightarrow \hat b_k = 0.

b_k -->(XOR)---+--> level map --> a_k --+------------>(+)--> [LPF, B = Rb/2] --> c_k
         ^     | d_k                    |              ^
         |     v                        |              |
         +--[Tb delay]                  +--[Tb delay]--+

Illustration for 0010110

Initial precoder bit assumed d0=1d_0 = 1 (a0=+1a_0 = +1).

k1234567
bkb_k0010110
dk−1d_{k-1}1110010
dk=bk⊕dk−1d_k = b_k \oplus d_{k-1}1100100
aka_k+1+1−1−1+1−1−1
ak−1a_{k-1}+1+1+1−1−1+1−1
ck=ak+ak−1c_k = a_k + a_{k-1}+2+20−200−2
Decoded b^k\hat b_k0010110

The decoded sequence 0010110 equals the input, and each bit is decided from its own sample only.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Communication Systems chapter 6 questions →