Channel and Coding Implementation » History » Version 14

Version 13 (Gimenez Silva, Adriana, 12/15/2015 10:50 AM) → Version 14/17 (Gimenez Silva, Adriana, 12/15/2015 11:38 AM)

{{toc}}

h1. *Channel and Coding Implementation*

h2. *AWGN Channel*

After establishing a basic channel, AWGN was then added as shown on Figure 5.5. The AWGN function has an Eb/No input, which is the target Eb/No of the signal (the Eb/No received).

p=. !{width: 60%}https://sourceforge.isae.fr/attachments/download/1503/withAWGN.png(AWGN Implementation)!
_Figure 5.5 Communication Diagram_

h2. *Coding*

In order to further improve the communication chain, coding is applied to this channel, a illustrated in figure 6. The BER function in LabVIEW compares the received bit stream to the Galois generated PN sequence. At this point, as mentioned in the limitations, synchronization between the two USRP was an issue. From the time the Vi was ran, there was a delay of 3 seconds on the receiving side, plotting noise, before correcting plotting the constellation. The received bits did not maintain a fixed value (since the transmitter and receiver were continuously transmitting and receiving) but rather kept changing (between 0 and 1) throughout the test, giving a BER of 1. For this reason, it was necessary to calculate the BER without the use of USRPs.

p=. !{width: 60%}https://sourceforge.isae.fr/attachments/download/1505/withCoding.png(Channel and Coding)!
_Figure 5.6 AWGN and Coding_

h2. *BCH and LDPC Implementation*

Reed-Solomon and convolutional coding was considered, but given the new standard DVB-S2 and the desire to follow it BCH and LDPC coding is used. it Knowing the complexity of implementing LDPC codes, especially since it had not been covered in class, this code is first evaluated on a separate LabVIEW GVI. Then the concatenated scheme of BCH-LDPC is also evaluated, effectively showing that they improve the BER for a communication noise when noise is present. This was done by generating bits, then using a function of LabVIEW that creates noise (not AWGN, since no modulation is done), and changes some bits of the bits stream then calculates the BER on the un-coded bit stream, and on the coded bit stream. In this particular VI, there is no Eb/No, but a bit-flip probability (with values of 0.0001), like 10-5), as this bit-flip-probability increases, so does the BER. Effectively, the BER is minimized when both BCH and LDPC codes are used.
The parameters used in BCH and LDPC were very low (not compliant with DVB-S2 standard) given the limitations of LabVIEW low values for K and N were used for BCH and LDPC codes (not compliant with DVB-S2 standard), given the limitations of LabVIEW (as formerly explained). Parameters for BCH used was n=7, k=4 and t=1 and for LDPC, with an irregular parity matrix (as is the most used) where the maximum number of columns (n) is set to 100, the number of rows (m) set to 50, the number of ones in the columns set to 3 and iteration of 100. This would create a parity matrix with a low percentage of ones

p=. !{width: 60%}https://sourceforge.isae.fr/attachments/download/1556/BCH%20and%20LDPC.png(BCH and LDPC)!
_Figure 5.7 Front Panel BCH LDPC_

Implementing this coding on the chain is done after generating the bits, before the preamble (PN header) fir coding with BCH, then LDPC. The bits are fed to the QPSK function, which modulates the signal, and after the filters, the signal is demodulated and the bits are decoded with LDPC, then BCH, and the BER is calculated.