2 Overview: Codes From Other Codes

So far in the course, we have seen three types of codes, summarized as follows: 1. Algebraic Codes • Work for worst-case errors. • Have polynomial time encoding and decoding algorithms 2. LDPCs • Work for worst-case errors as well, but a less many errors (smaller distance) compared to the Algebraic Codes. • Have linear time encoding and decoding algorithms and are simpler. 3. Polar Codes • Work for random errors. when viewed in the context of worst-case errors, these codes do not have good distance. • Have O(n log n) encoding and decoding algorithms. Note that this bounds sits somewhere in between the time complexities of the Algebraic Codes and LDPCs. In today’s lecture, we will look into the question of “how can we combine codes to get new codes?”. In this regard, we will consider five types of operations: • Puncturing • Restriction • Tensor • Concatenation

[1]  Noga Alon,et al.  Linear time erasure codes with nearly optimal recovery , 1995, Proceedings of IEEE 36th Annual Foundations of Computer Science.

[2]  Venkatesan Guruswami,et al.  Expander-based constructions of efficiently decodable codes , 2001, Proceedings 2001 IEEE International Conference on Cluster Computing.

[3]  Noga Alon,et al.  Construction of asymptotically good low-rate error-correcting codes through pseudo-random graphs , 1992, IEEE Trans. Inf. Theory.