```
```

## Analysis of Interleaver

Consider a block interleaver. The interleaver will just reorganize the input symbols at the output. It will neither repeat not delete any of the message symbols. For a channel which produces a burst of errors, interleavers will definitely help improving the error rate at the receiver. At the transmitter, the random interleaver will reposition the bits of the codewords. This will happen before two adjacent codewords are each corrupted by say 3 errors. Now, Hamming code cannot correct 3 errors. But, when interleaver is used along with Hamming code, the original message can be successfully recovered although there is burst error of length 6. The reason this is possible is that interleaver distributes the bits in error randomly such that the number of errors in each codeword comes within error correction capacity.

We can support above claim using the standard tools such as Matlab (from Mathworks).Following was the simulation that I ran using the Random Block Interleaver example code provided by Matlab by tweaking it. The matlab version used was Matlab R2008a.

Simulation: (The below steps depict the Random Block Interleaver code algorithm):
1. Select apt values for random number generator state
2. Select Hamming code parameters (n=7, k=4)
3. Run a loop for particular values of loop invariant
4. Generate message depending on loop invariant
5. Encode message without interleaver
6. Introduce burst errors to corrupt two adjacent codewords
7. Decode without using interleaver
8. Encoded message using random block interleaver
9. Introduce burst errors to corrupt two adjacent codewords
10. Decode using random block interleaver
11. Plot graphs for the bit error rate vs corresponding message (represented by loop invariant)

The script of this simulation is available here.

Following graph represents the result of the simulation. Observations :
We can see from the above that for all the test messages, the bit error rate with interleaver model is always less that the bit error rate that we get without interleaver for all the test messages. Also, the bit error rate is ideal (i.e 0) for more than 66.66% of the cases which strongly supports the user of interleaver for burst error correction. However, without using interleaver, the bit error rate never reaches the ideal value of 0 for the experimented samples

Other Interleaver Implementations : Apart from random block interleaver, Matlab provides various other types of block interleavers such as algebraic interleaver, helical scal interleaver, matrix interleaver which use different interleaving techniques internally.