  We present a novel error correcting code and decoding algorithm which have
construction similar to expander codes. The code is based on a bipartite graph
derived from the subsumption relations of finite projective geometry, and
Reed-Solomon codes as component codes. We use a modified version of well-known
Zemor's decoding algorithm for expander codes, for decoding our codes. By
derivation of geometric bounds rather than eigenvalue bounds, it has been
proved that for practical values of the code rate, the random error correction
capability of our codes is much better than those derived for previously
studied graph codes, including Zemor's bound. MATLAB simulations further reveal
that the average case performance of this code is 10 times better than these
geometric bounds obtained, in almost 99% of the test cases. By exploiting the
symmetry of projective space lattices, we have designed a corresponding decoder
that has optimal throughput. The decoder design has been prototyped on Xilinx
Virtex 5 FPGA. The codes are designed for potential applications in secondary
storage media. As an application, we also discuss usage of these codes to
improve the burst error correction capability of CD-ROM decoder.
