Most of the communication channels (data storage devices,optical,wireless channels etc..) can be considered as band-limited linear filters. The channels can be modeled as having the following frequency response (over a given bandwidth W).

$$ H(f)=A(f)e^{j\theta(f)} $$

Here A(f) is amplitude response and θ(f) is the phase response of the channel over the given bandwidth W.The envelope or group delay is defined as,

$$ \tau (f)=-\frac{1}{2\pi}\frac{d\theta(f)}{df} $$

A channel is considered non-distorting (within the given bandwidth W occupied by the transmitted signal), when the amplitude response is constant and the phase response is a linear function frequency (within the given bandwidth W) (or the group delay is a constant).

Amplitude distortion occurs when the amplitude response is no longer constant.Delay/phase distortion occurs when the phase response is not a linear function of frequency or the envelope/group delay is not a constant.

A non-ideal channel frequency response is caused by amplitude and phase distortion. When a succession of pulses transferred through a non-ideal channel, at a rate 2W symbols/second (R=1/T=2W –**‘Nyquist Rate’**), gets distorted to a point that they are no longer distinguishable from each other. This is called Inter Symbol Interference (ISI), meaning that a symbol transmitted across a non-ideal channel will be affected by the other symbols. Pulse shaping filters are generally employed at the transmitter and receiver to match the spectral characteristics of the signal with that of the channel.

Generally following strategies may be employed to mitigate ISI as far as signalling schemes are concerned.

### 1) Use ideal rectangular pulse shaping filters to achieve zero ISI:

Maximum transferable data rate that is possible with zero ISI is R=1/T=2W symbols/second, **provided ideal rectangular transmit and receiver pulse shaping filters are used**. Ideal rectangular transmit and receive filters are practically unrealizable. So this option is not viable to achieve zero ISI.

See also: Implementation of rectangular pulse shaping filters

### 2) Relax the condition of transmitting at maximum rate R=1/T=2W, to achieve zero ISI:

If the transmission rate is reduced below 2W (i.e R=1/T<2W), then it is possible to implement practically realizable filters. Raised Cosine and Square Root Raised cosine filters are generally used to achieve zero ISI, if the transmission data rate is reduced below 2W. The signals generated using this method are called full response signals.

See also: Implementation of Square Root Raised Cosine pulse shaping filters

Implementation of Raised Cosine pulse shaping filters

### 3) Relax the condition of zero ISI and transfer at Nyquist Rate (R=1/T=2W):

In this method, we relax the condition of achieving zero ISI , so that the data can be transferred at maximum possible rate ( R=1/T=2W).Instead of achieving zero ISI, this method introduces controlled amount of ISI in the transmitted signal and counteracts it upon receiving it. The transmit filter is designed to introduce ‘deterministic’ or ‘controlled’ amount of ISI and is counteracted in the receiver side. Methods like duobinary signaling, modified duobinary signaling are employed under this category. The resulting signals are called partial response signals which are transmitted at Nyquist rate of 2W symbols/second. This method is also called “Correlative Coding”.

See also: Implementation of duobinary signaling

Implementation of modified duobinary signaling

### See also :

[1] Correlative Coding – Modified Duobinary Signaling

[2] Correlative Coding – Duobinary signaling

[3] Derivation of expression for a Gaussian Filter with 3 dB bandwidth

[4] Nyquist and Shannon Theorem

[5] Correlative coding – Duobinary Signaling

[6] Square Root Raised Cosine Filter (Matched/split filter implementation)

### External Resources:

[1] The care and feeding of digital, pulse-shaping filters – By Ken Gentile

[2] Inter Symbol Interference and Root Raised Cosine Filtering – Complex2real

Pingback: Correlative Coding – Modified Duobinary Signaling | GaussianWaves()

Pingback: Correlative coding – Duobinary Signaling | GaussianWaves()

Pingback: Oversampling, ADC – DAC Conversion,pulse shaping and Matched Filter | GaussianWaves()

Pingback: Square Root Raised Cosine Filter (Matched/split filter implementation) | GaussianWaves()

Pingback: Derivation of expression for a Gaussian Filter with 3 dB bandwidth | GaussianWaves()

Pingback: Types of Channel Codes | GaussianWaves()

Pingback: Symbol Timing Recovery for QPSK (digital modulations) | GaussianWaves()

Pingback: Channel Capacity | GaussianWaves()