---
title: "Correlative coding; minimizing error in duobinary"
subject: "Communication Systems"
chapter: 6
key: "semester_6/communication_systems:correlative-coding-duobinary-error"
source: https://www.bctengineer.com/q/semester_6/communication_systems/correlative-coding-duobinary-error
site: BCT Engineering
---

# Correlative coding; minimizing error in duobinary

Communication Systems · Chapter 6: Baseband Digital Data Transmission

- Asked in: 2073 Chaitra (CS II), 6+2 marks
- Video: [DC#53 Duobinary signalling for controlled ISI || EC Academy](https://www.youtube.com/watch?v=bL3lmoH9a-c) — EC Academy
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_6/communication_systems/correlative-coding-duobinary-error
- Whole chapter: https://www.bctengineer.com/md/semester_6/communication_systems/chapter-6

## Question

Explain any one type of correlative coding technique with its impulse response and transfer function. Mention how can we minimize error in duo-binary coding.

## Short answer

Duobinary signaling uses c_k = a_k + a_{k-1}. Transfer function H(f)=2cos(πfTb)e^{-jπfTb} for |f|≤1/(2Tb); impulse response is sum of two sinc pulses. Error propagation is minimized by precoding d_k = b_k XOR d_{k-1}, enabling independent bit decisions using threshold |c_k|=1.

## Answer

**Correlative (partial response) coding** introduces a controlled, known amount of ISI between successive symbols so that the data can be sent at rate $R_b$ through the minimum Nyquist bandwidth $R_b/2$ using realizable filters. The receiver removes the known ISI. The most common type is **duobinary signalling**.

#### Duobinary signalling

"Duobinary" means doubling the transmission capacity of a straight binary system. The binary input $b_k$ is mapped to $a_k = \pm 1$ and passed through a delay-and-add circuit followed by an ideal low-pass filter:

$$
c_k = a_k + a_{k-1}
$$

```text
a_k ---+------------>(+)--> [ideal LPF  ] --> c(t)
       |              ^     [|f|<1/2Tb  ]
       +--> [delay Tb]+
```

**Transfer function:** the delay-and-add has $1 + e^{-j2\pi fT_b}$; with the ideal Nyquist filter $H_N(f) = 1$ for $|f| \le 1/(2T_b)$:

$$
\begin{aligned}
H_I(f) &= \left(1 + e^{-j2\pi fT_b}\right)H_N(f) \\
&= \left(e^{j\pi fT_b} + e^{-j\pi fT_b}\right)e^{-j\pi fT_b} \\
&= 2\cos(\pi fT_b)\,e^{-j\pi fT_b}, \quad |f| \le \frac{1}{2T_b}
\end{aligned}
$$

and zero elsewhere. The magnitude is a half cosine that falls smoothly to zero at $f = 1/(2T_b)$, so it is much easier to approximate than the brick-wall filter.

**Impulse response:** sum of two sinc pulses one bit apart:

$$
h_I(t) = \frac{\sin(\pi t/T_b)}{\pi t/T_b} + \frac{\sin[\pi(t-T_b)/T_b]}{\pi(t-T_b)/T_b} = \frac{T_b^2\,\sin(\pi t/T_b)}{\pi t\,(T_b - t)}
$$

$h_I(t)$ equals 1 at $t = 0$ and $t = T_b$ and is zero at all other sampling instants; its tails decay as $1/t^2$, so it is less sensitive to timing errors.

**Output levels:** $c_k \in \{-2, 0, +2\}$. Detection without precoding: $\hat a_k = c_k - \hat a_{k-1}$.

```text
 |H(f)|
  2 +---.
    |     '.
    |       '.
    |         '.
  0 +-----------+----> f
    0        1/(2Tb)
```

#### Minimizing error in duobinary coding

The main error source is **error propagation**: since each decision uses the previous decision, one error causes further errors. It is minimized by **precoding**: $d_k = b_k \oplus d_{k-1}$ at the transmitter. Then $c_k = 0$ means $b_k = 1$ and $c_k = \pm 2$ means $b_k = 0$, so each bit is decoded from its own sample (threshold $|c_k| = 1$) and an error does not spread. Proper thresholds and noise filtering also help.

## Check yourself

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

1. What is the aim of correlative (partial response) coding?
   A. To eliminate all ISI by making tails zero
   B. To introduce a controlled, known ISI so data at Rb can be sent in bandwidth Rb/2 with realizable filters
   C. To add error-correcting parity bits
   D. To increase bandwidth for better noise immunity
   Answer: B. The known ISI is removed at the receiver, allowing minimum Nyquist bandwidth Rb/2 with a gradual (cosine) filter. (Key point: Purpose of correlative coding)

2. What is the magnitude of the duobinary transfer function for |f| <= 1/(2Tb)?
   A. 2 cos(pi f Tb)
   B. 2 sin(pi f Tb)
   C. 1 (flat)
   D. 2 sin(2 pi f Tb)
   Answer: A. H(f) = (1 + e^(-j2 pi f Tb)) H_N(f) = 2 cos(pi f Tb) e^(-j pi f Tb), a half cosine. (Key point: Duobinary transfer function)

3. The duobinary impulse response is the sum of two sinc pulses. How are they placed?
   A. Both at t = 0
   B. One bit period Tb apart
   C. Two bit periods apart
   D. One at 0 and one at Tb/2
   Answer: B. h(t) = sinc(t/Tb) + sinc((t-Tb)/Tb); it equals 1 at t = 0 and t = Tb and tails decay as 1/t^2. (Key point: Duobinary impulse response)

4. How is error propagation in duobinary minimized?
   A. Using a wider channel
   B. Precoding the data at the transmitter with d_k = b_k XOR d_(k-1)
   C. Increasing the number of levels
   D. Removing the low-pass filter
   Answer: B. Precoding lets each bit be decoded from its own sample, so a wrong decision does not carry forward. (Key point: Minimizing error)

## Related in Communication Systems

- [Duobinary error; entropy; capacity as B → ∞](https://www.bctengineer.com/question.md?key=semester_6%2Fcommunication_systems%3Aduobinary-entropy-capacity-infinite-b) — Communication Systems, chapter 6
- [Impulse response, transfer function and distortionless transmission](https://www.bctengineer.com/question.md?key=semester_6%2Fcommunication_systems%3Adistortionless-transfer-function) — Communication Systems, chapter 1
- [Impulse response and transfer function significance](https://www.bctengineer.com/question.md?key=semester_6%2Fcommunication_systems%3Aimpulse-response-transfer-significance) — Communication Systems, chapter 1
- [ISI; modified duobinary for 10110011](https://www.bctengineer.com/question.md?key=semester_6%2Fcommunication_systems%3Aisi-modified-duobinary-10110011) — Communication Systems, chapter 6
- [ISI; duobinary with precoder for 0010110](https://www.bctengineer.com/question.md?key=semester_6%2Fcommunication_systems%3Aisi-duobinary-precoder-0010110) — Communication Systems, chapter 6
- [Coding efficiency: binary, Shannon-Fano and Huffman](https://www.bctengineer.com/question.md?key=semester_6%2Fcommunication_systems%3Acoding-efficiency-binary-sf-huffman) — Communication Systems, chapter 6

## Related in other subjects

- [Binary operator member function one argument](https://www.bctengineer.com/question.md?key=semester_3%2Fobject_oriented_programming%3Abinary-member-one-argument) — Object Oriented Programming, chapter 5
- [Line coding in PCM and the right technique](https://www.bctengineer.com/question.md?key=semester_8%2Ftelecommunications%3Aline-coding-pcm-solution) — Telecommunications, chapter 3
- [One election technique; consensus steps](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Aelection-technique-consensus) — Distributed System, chapter 6
- [Transfer function of y[n] = 0.4y[n−1] + x[n]](https://www.bctengineer.com/question.md?key=semester_4%2Fsignals_and_systems%3Adifference-equation-0-4) — Signals and Systems, chapter 6, asked 9×
