Difference between Block Interleaver and Convolutional Interleaver

This page compares Block Interleaver vs Convolutional Interleaver and mentions difference between Block Interleaver and Convolutional Interleaver used in digital communication.

Introduction: In wireless system, there are three parts viz. transmitter, receiver and channel. A communication channel that has memory is the one which exhibits mutually dependent signal transmission impairments. Example of channel with memory is channel which exhibit multipath fading.

Errors in bursts are results of channel distortion, channel fading, lightening, switching etc. In memory channel with burst errors, re-arranging symbols can cause bursts of channel errros to be spread in time. The idea behind use of interleaving techniques is to separate codeword symbols in time, such that interleaving times are filled with symbols of other codewords. This codeword symbol separation in time effectively transforms channel with memory into memoryless channel. Hence the system can combat random independent errors.

What is Interleaving ?

It separates the codeword symbols in time. It transforms channel with memory to memoryless channel. It enables random error correcting codes in a burst noise channel.

Interleaving is applied to coded message before transmission and deinterleaving after reception. The burst of errors is spread out in time and are handled by decoder.

Interleaving

Interleaver which shuffles code symbols over span of several block lengths is known as block interleaver and one which shuffles over several constraint lengths is known as convolutional interleaver. The span required in determined by burst duration. Figure depicts codewords without and with interleaving.

There are three types of interleavers used in communications viz. Block, Convolutional and Pseudorandom.

Block Interleaver

A block interleaver accepts coded symbols in blocks from encoder, shuffles the symbols and then feeds the rearranged symbols to the data modulator.

The shuffling of block is accomplished by filling the columns of an M- row by N - column ( M X N) array with encoded sequence.

After the array is filled, these symbols are fed to the modulator one row at a time and transmitted over the channel.

At the receiver, the deinterleaver performs inverse operation, the symbols are entered by rows and removed one column at a time.

Block Interleaver

Example : As shown, 24 code symbols are place into the interleaver input. The output sequence to the transmitter consists of code symbols removed from array by rows.

Block interleaver is further categorized into various subtypes such as Matrix Interleaver, Helical Interleaver, Random Interleaver and Odd-Even Interleaver.

Convolutional Interleaver

• The code symbols are sequentially shifted into bank of "N" registers.
• Each successive register provides "J" symbols more storage than preceding one.
• The zeroth register provides no storage.
• The new code symbol is shifted in while the oldest symbol is shifted out to the modulator or transmitter.

Convolutional Interleaver

The performance of convolutional interleaver is similar to block interleaver.

Following table mentions difference between block interleaver and convolutional interleaver in terms of delay and memory size. As per table, convolutional encoder offers reduction of one half in delay and memory.

Parameters Block Interleaver Convolutional Interleaver
• Delay 2MxN-2M+2 M(N-1) /2
• Memory M x N (In Theory), 2M x N (In Practice) M (N-1) / 2 (In theory)

Also refer benefits or advantages of interleaving in data communication.



MATLAB code of Interleaver and Deinterleaver

Following is the MATLAB code of interleaving equations mentioned above. This is as per IEEE 802.16 WiMAX OFDM physical layer specifications. For de-interleaver code, visit MATLAB Source code >>.

% Interleaver PART

s=ceil(ncpc/2);

k=0:ncbps-1;

%First permutation of interleaver

m=(ncbps/12)*mod(k,12)+floor(k/12);

%Second permutation of interleaver

n=s*floor(m/s)+mod(m+ncbps-floor(12*m/ncbps),s);

interleaved_data_out(n+1)=interleaver_input(k+1) % OUTPUT of interleaver


Line coding techniques

Difference between Unipolar Polar and Bipolar coding    RZ vs NRZ vs Manchester coding    RZ vs NRZ pulse shapes    Advantages and disadvantages of NRZ encoding    RZ encoding    2B1Q coding    8B6T coding    4D PAM5 coding    MLT-3 coding    4B/5B encoding    8B/10B encoding    R8ZS scrambling    HDB3 scrambling   


Advantages and Disadvantages of other wireless technologies

IrDA    HomeRF    Bluetooth    Radar    RF    Wireless    Internet    Mobile Phone    IoT    Solar Energy    Fiber Optic    Satellite    GPS    RFID    AM and FM    LTE   

What is Difference between

difference between OFDM and OFDMA
Difference between SC-FDMA and OFDM
Difference between SISO and MIMO
Difference between TDD and FDD
FDMA vs TDMA vs CDMA
FDM vs TDM
CDMA vs GSM

RF and Wireless Terminologies