Low Density Parity-Check, or LDPC, codes have been a popular error correction choice in the recent years. Its use of soft-decision decoding through a message-passing algorithm and its channel-capacity approaching performance has made LDPC codes a strong alternative to that of Turbo codes. However, its disadvantages, such as encoding complexity, discourages designers from implementing these codes. This thesis will present a type of error correction code which can be considered as a subset of LDPC codes. These codes are called Repeat-Accumulate codes and are named such because of their encoder structure. These codes is seen as a type of LDPC codes that has a simple encoding method similar to Turbo codes. What makes these codes special is that they can have a simple encoding process and work well with a soft-decision decoder. At the same time, RA codes have been proven to be codes that will work well at short to medium lengths if they are systematic. Therefore, this thesis will argue that LDPC codes can avoid some of its encoding disadvantage by becoming LDPC codes with systematic RA codes. This thesis will also show in detail how RA codes are good LDPC codes by comparing its bit error performance against other LDPC simulation results tested at short to medium code lengths and with different LDPC parity-check matrix constructions. With an RA parity-check matrix describing our LDPC code, we will see how changing the interleaver structure from a random construction to that of a structured can lead to improved performance. Therefore, this thesis will experiment using three different types of interleavers which still maintain the simplicity of encoding complexity of the encoder but at the same time show potential improvement of bit error performance compared to what has been previously seen with regular LDPC codes.