<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">32565</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2023.032565</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Analysis of LDPC Code in Hybrid Communication Systems</article-title>
<alt-title alt-title-type="left-running-head">Analysis of LDPC Code in Hybrid Communication Systems</alt-title>
<alt-title alt-title-type="right-running-head">Analysis of LDPC Code in Hybrid Communication Systems</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Kashif</surname><given-names>Hasnain</given-names>
</name><xref ref-type="aff" rid="aff-1">1</xref><email>dee01153001@student.uol.edu.pk</email></contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Khan</surname><given-names>Muhammad Nasir</given-names>
</name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Nawaz</surname><given-names>Zubair</given-names>
</name><xref ref-type="aff" rid="aff-2">2</xref></contrib>
<aff id="aff-1"><label>1</label><institution>Department of Electrical Engineering, The University of Lahore</institution>, <addr-line>Lahore, 54000</addr-line>, <country>Pakistan</country></aff>
<aff id="aff-2"><label>2</label><institution>Department of Data Science, University of Punjab</institution>, <addr-line>Lahore, 54000</addr-line>, <country>Pakistan</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Hasnain Kashif. Email: <email>dee01153001@student.uol.edu.pk</email></corresp>
</author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2022-08-16"><day>16</day>
<month>08</month>
<year>2022</year></pub-date>
<volume>74</volume>
<issue>1</issue>
<fpage>769</fpage>
<lpage>781</lpage>
<history>
<date date-type="received">
<day>22</day>
<month>5</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>22</day>
<month>6</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2023 Kashif, Khan and Nawaz</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Kashif, Khan and Nawaz</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMC_32565.pdf"></self-uri>
<abstract>
<p>Free-space optical (FSO) communication is of supreme importance for designing next-generation networks. Over the past decades, the radio frequency (RF) spectrum has been the main topic of interest for wireless technology. The RF spectrum is becoming denser and more employed, making its availability tough for additional channels. Optical communication, exploited for messages or indications in historical times, is now becoming famous and useful in combination with error-correcting codes (ECC) to mitigate the effects of fading caused by atmospheric turbulence. A free-space communication system (FSCS) in which the hybrid technology is based on FSO and RF. FSCS is a capable solution to overcome the downsides of current schemes and enhance the overall link reliability and availability. The proposed FSCS with regular low-density parity-check (LDPC) for coding techniques is deliberated and evaluated in terms of signal-to-noise ratio (SNR) in this paper. The extrinsic information transfer (EXIT) methodology is an incredible technique employed to investigate the sum-product decoding algorithm of LDPC codes and optimize the EXIT chart by applying curve fitting. In this research work, we also analyze the behavior of the EXIT chart of regular/irregular LDPC for the FSCS. We also investigate the error performance of LDPC code for the proposed FSCS.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Free-space communication system</kwd>
<kwd>low-density parity-check</kwd>
<kwd>error-correcting codes</kwd>
<kwd>extrinsic information transfer</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>With the global demand for higher bandwidth and speed, FSO has become a promising field to fulfill this necessity. Optical communication is becoming more popular as a potential opportunity to satisfy the bottleneck&#x2019;s reliability issue and complement extra traditional RF/microwave links. However, the simple FSO system has the downside of information loss while transmitted via a turbulent atmosphere. The loss may be extreme, resulting in a complete communication channel blackout [<xref ref-type="bibr" rid="ref-1">1</xref>]. To overwhelm this issue, the hybrid FSO/RF is developing gradually as a communication field, which will act as a potential backhaul if the FSO goes down. When the core link degrades by cause of fog, haze, rain, snow, catastrophe, or anthropomorphic, a mmWave RF link that is a hybrid FSO/RF is employed to produce the data to the receiver. This method offers high bandwidth, license-free frequencies, and high-speed data communication [<xref ref-type="bibr" rid="ref-1">1</xref>]. Coding techniques can be considered to improve the data rate of such links.</p>
<p>Error control coding has maximized the error correction capability of the optical link by using various forward error correction (FEC) methods consisting of convolutional codes, Reed-Solomon (RS) codes, Turbo codes, Trellis coded modulation (TCM), and LDPC. The study of error behavior using error correction codes within the fading channel has been a research topic for several years [<xref ref-type="bibr" rid="ref-2">2</xref>]. LDPC codes are preferable to turbo codes for terribly high-rate transmission due to their lower decoding complexity and computation time. The variable rate of LDPC codes can maximize the link capability and offer accurate coding gain [<xref ref-type="bibr" rid="ref-3">3</xref>]. Different assessments have been made for using LDPC codes in systems [<xref ref-type="bibr" rid="ref-4">4</xref>,<xref ref-type="bibr" rid="ref-5">5</xref>]. A complete list of acronyms is provided in <xref ref-type="table" rid="table-1">Tab. 1</xref>.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>List of acronyms</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Acronyms</th>
<th>Abbreviations</th>
</tr>
</thead>
<tbody>
<tr>
<td>AWGN</td>
<td>Additive white gaussian noise</td>
</tr>
<tr>
<td>BPSK</td>
<td>Binary phase shift keying</td>
</tr>
<tr>
<td>BER</td>
<td>Bit error rate</td>
</tr>
<tr>
<td>BF</td>
<td>Bit flipping</td>
</tr>
<tr>
<td>BP</td>
<td>Belief propagation</td>
</tr>
<tr>
<td>CN</td>
<td>Check Nodes</td>
</tr>
<tr>
<td>CND</td>
<td>Check node decoder</td>
</tr>
<tr>
<td>DEC</td>
<td>Decoder</td>
</tr>
<tr>
<td>ECC</td>
<td>Error correcting code</td>
</tr>
<tr>
<td>EXIT</td>
<td>Extrinsic information transfer</td>
</tr>
<tr>
<td>E/O</td>
<td>Electrical to optical</td>
</tr>
<tr>
<td>FEC</td>
<td>Forward Error Correction</td>
</tr>
<tr>
<td>FSO</td>
<td>Free space optical</td>
</tr>
<tr>
<td>FSCS</td>
<td>Free space communication system</td>
</tr>
<tr>
<td>GA</td>
<td>Gaussian approximation</td>
</tr>
<tr>
<td>LDPC</td>
<td>Low density parity check</td>
</tr>
<tr>
<td>LED</td>
<td>Light-emitting diodes</td>
</tr>
<tr>
<td>LLR</td>
<td>Log-likelihood ratio</td>
</tr>
<tr>
<td>MI</td>
<td>Mutual information</td>
</tr>
<tr>
<td>OOK</td>
<td>On-off keying</td>
</tr>
<tr>
<td>PD</td>
<td>Photo Diode</td>
</tr>
<tr>
<td>PDF</td>
<td>Probability density function</td>
</tr>
<tr>
<td>RS</td>
<td>Reed-solomon</td>
</tr>
<tr>
<td>RF</td>
<td>Radio frequency</td>
</tr>
<tr>
<td>SNR</td>
<td>Signal-to-noise ratio</td>
</tr>
<tr>
<td>SP</td>
<td>Sum-Product</td>
</tr>
<tr>
<td>TCM</td>
<td>Trellis coded modulation</td>
</tr>
<tr>
<td>VN</td>
<td>Variable Nodes</td>
</tr>
<tr>
<td>VND</td>
<td>Variable node decoder</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Gallager developed LDPC codes in 1960 [<xref ref-type="bibr" rid="ref-4">4</xref>]. These codes belong to a specific class of Shannon-capacity approaching codes. Gallager&#x2019;s work was overlooked for twenty years. In 1981, Tanner worked on LDPC codes and used graphs to represent LDPC codes. Later in the 1990s, David Mackay relieved Tanner&#x2019;s work [<xref ref-type="bibr" rid="ref-5">5</xref>]. Long LDPC codes decoded by belief propagation are closer to Shannon&#x2019;s theoretical limit. Due to this advantage, LDPC codes are strong competitors over other codes used in a communication system, such as turbo codes. LDPC is the basic example of ECC, which has become very famous as it achieves near Shannon capacity in the additive white Gaussian noise (AWGN) [<xref ref-type="bibr" rid="ref-6">6</xref>]. LDPC codes have parallelism features supporting various speeds, performances, and memory consumption [<xref ref-type="bibr" rid="ref-7">7</xref>]. LDPC codes are easy to design with code rate and block length, and also, the rate adaptability can be easily achieved in LDPC codes. Extrinsic information transfer (EXIT) is a simple technique to show LDPC code convergence behavior. EXIT analysis is an efficient tool for designing the iterative decoding system [<xref ref-type="bibr" rid="ref-8">8</xref>]. EXIT chart comprises two components decoder, which is variable node decoder (VND) and Check node decoder (CND) [<xref ref-type="bibr" rid="ref-9">9</xref>].</p>
<p>In this paper, we first consider a regular binary code, and then an irregular LDPC code is evaluated. Evaluation of the LDPC code threshold with a certain degree distribution is vital for designing a coding system approaching the Shannon limit. But it is complicated to optimize degree distribution direct using density evolution due to its exhaustive calculations. Alternatively, using Gaussian approximation (GA) of the message densities for both regular and irregular LDPC codes is very simple. For LDPC, EXIT charts are used to evaluate the sum-product Algorithm. This paper optimized the codes by applying curve-fitting on EXIT charts. Thus, the analysis of EXIT charts predicts an optimistic value for the convergence threshold. LDPC code gives exceptional BER performance nearly close to the Shannon limit. We also computed the BER by soft decision and compared it to the proposed FSCS.</p>
<p>The paper outline is as follows. In Section 2, we develop a system model under consideration. We formalize the LDPC code with factor graph and decoding algorithms in Section 3. In Section 4, we also introduce the LDPC code notations. Section 5 also introduces the code convergence measuring tools useful for following analysis and EXIT chart behavior in the proposed system. In Section 6, we present some numerical results. Section 7 concludes the proposed research work.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>System Model</title>
<p>The proposed free-space communication system (FSCS) in which optical and radio channels are considered parallel is given in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>. It comprises two parallel RF and FSO channels with a transmitter (encoder) pair and a receiver (decoder). The modulating data is encoded into the codeword of <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mi>n</mml:mi></mml:math></inline-formula>-bits. It is divided into two ways, namely optical channel bits <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>n</mml:mi><mml:mi>F</mml:mi></mml:math></inline-formula> and RF channel bits <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>n</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi>F</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, where <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mi>F</mml:mi></mml:math></inline-formula> is used to divide the bits over the optical and radio channel.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Block diagram of a proposed Free-Space Communication System (FSCS)</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_32565-fig-1.png"/>
</fig>
<p>Binary mapping schemes are used on each link to map the channel bits. The mapped symbols of each channel are transmitted over the respective link. Thus, each stream from the encoder is mapped to create consistent RF and FSO symbols sent respectively on the particular link. The signal is modulated by RF link to a mmWave carrier frequency of RF, even though FSO link. The single encoder aims to minimize the computational complexity and the communication cost using a single pair of encoder and decoder having slow varying channels.</p>
<sec id="s2_1">
<label>2.1</label>
<title>FSO Channel Model</title>
<p>At the transmit side, codewords are mapped to channel symbols employing binary modulation schemes. The on-off keying (OOK) modulated optical signal comes from the transmitter. A simple signal model from the FSCS communication system over an optical link is given by, See <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref></p>
<p><disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:mrow><mml:mtext>y</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mtext>&#xA0;TX</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mtext>z</mml:mtext></mml:mrow></mml:math></disp-formula>where <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mrow><mml:mtext>y</mml:mtext></mml:mrow></mml:math></inline-formula> called the received FSO symbols, <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x03B7;</mml:mi></mml:mrow><mml:mrow><mml:mtext>Ph</mml:mtext></mml:mrow></mml:math></inline-formula>, where <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mrow><mml:mtext>X</mml:mtext></mml:mrow></mml:math></inline-formula> is the optical symbols, <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mrow><mml:mi mathvariant="normal">&#x03B7;</mml:mi></mml:mrow></mml:math></inline-formula> represents the conversion detectors efficiency, <italic>P</italic> represents the transmitted optical power, and <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:mrow><mml:mtext>h</mml:mtext></mml:mrow></mml:math></inline-formula> denotes the FSO channel fading. In the presented work, we exploit the additive white Gaussian noise (AWGN) model, where <italic>z</italic> denotes an independent and identically distributed (i.i.d) random variable (zero mean and unit variance).</p>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>RF Channel Model</title>
<p>Considering the RF power <italic>P</italic>, the received RF signal is expressed by</p>
<p><disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:mrow><mml:mover><mml:mrow><mml:mtext>y</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mover><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:msqrt><mml:mrow><mml:mover><mml:mrow><mml:mtext>X</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext>z</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></disp-formula>where <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:mrow><mml:mover><mml:mrow><mml:mtext>y</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> is the received RF signal <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mrow><mml:mover><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext>P</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mover><mml:mrow><mml:mtext>h</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mrow><mml:mover><mml:mrow><mml:mtext>X</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> represents the radio channel symbols transmitted by employing the binary phase-shift keying (BPSK), <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:mrow><mml:mover><mml:mrow><mml:mtext>P</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> represent the RF receive power. <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mrow><mml:mover><mml:mrow><mml:mtext>z</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> denotes a Gaussian random variable (zero mean and unit variance).</p>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>LDPC Code</title>
<p>The Initial letter of each notional word in all headings is capitalized. LDPC code is most efficiently employed linear code along with a sparse parity check matrix (<inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:mi>H</mml:mi></mml:math></inline-formula>). LDPC code may be signified through a Tanner graph. LDPC code can be regular type as well as irregular type LDPC code. For regular LDPC code, hamming weight (i.e., <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:msub><mml:mrow><mml:mtext>w</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>c</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>) of every column are the same as well as the same hamming weight (i.e., <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:msub><mml:mrow><mml:mtext>w</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>) of every row of <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:mi>H</mml:mi></mml:math></inline-formula>. While for the irregular LDPC code <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:msub><mml:mrow><mml:mtext>w</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2260;</mml:mo><mml:msub><mml:mrow><mml:mtext>w</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>c</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> [<xref ref-type="bibr" rid="ref-10">10</xref>]. In the presented work, the focus is on the regular codes. LDPC codes can be decoded using bit flipping, minimal decoding, and belief propagation (BP) [<xref ref-type="bibr" rid="ref-11">11</xref>]. LDPC code represented by <italic>H</italic> is preferred for hardware implementation, giving an endless number of edges of the variable and check nodes. LDPC code <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mo stretchy="false">(</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> such as <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>N</mml:mtext></mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> where <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:msub><mml:mrow><mml:mtext>w</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> denotes the range of 1&#x2019;s in rows as well as <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:msub><mml:mrow><mml:mtext>w</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>c</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> represents the range of 1&#x2019;s in columns. These conditions are related to the LDPC matrix, which are <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:msub><mml:mrow><mml:mtext>w</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>c</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>&quot;</mml:mo><mml:mrow><mml:mtext>N</mml:mtext></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:msub><mml:mrow><mml:mtext>w</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>&quot;</mml:mo><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow></mml:math></inline-formula>. The LDPC code <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mi>H</mml:mi></mml:math></inline-formula> may be represented graphically using Tanner graph; see <xref ref-type="fig" rid="fig-2">Fig. 2</xref> below.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Parity check matrix factor graph</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_32565-fig-2.png"/>
</fig>
<p>In LDPC code, Optical and RF channels are considered with various mapping schemes. In this case, the codeword is divided into two ways, which are optical and RF links.</p>
<p><disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:mrow><mml:mtext>n</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mtext>n</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>o</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mtext>n</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></disp-formula>where <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:msub><mml:mrow><mml:mtext>n</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>o</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mtext>nF</mml:mtext></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:msub><mml:mrow><mml:mtext>n</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mtext>n</mml:mtext></mml:mrow><mml:mrow><mml:mover><mml:mrow><mml:mtext>F</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:mrow><mml:mover><mml:mrow><mml:mtext>F</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mtext>F</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mrow><mml:mtext>F</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext>F</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> are the bit dividing factors for the FSO and RF channels. The more precise and general system is considered, and it might be impartial on real block length, i.e., <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:mi>n</mml:mi></mml:math></inline-formula> of encoded bits, to simplify the system simulation. For practical measurements, <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mrow><mml:mtext>F</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext>F</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> that is mentioned above. After mapping implement, the bits of the optical channel are specified as,</p>
<p><disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:msub><mml:mrow><mml:mtext>n</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>o</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mtext>nF</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mtext>Ns</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mtext>p</mml:mtext></mml:mrow></mml:mrow></mml:mfrac></mml:math></disp-formula>where <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mi>N</mml:mi></mml:math></inline-formula> is the number of FSO channel symbols sent over the optical channel, <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mi>p</mml:mi></mml:math></inline-formula> is the optical channel symbols fraction, and <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mi>s</mml:mi></mml:math></inline-formula> optical bits per symbol, i.e., <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mrow><mml:mtext>s</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>log</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo></mml:math></inline-formula>M<inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. Now for RF channel bits are specified as</p>
<p><disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:msub><mml:mrow><mml:mtext>n</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mtext>n</mml:mtext></mml:mrow><mml:mrow><mml:mover><mml:mrow><mml:mtext>F</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mover><mml:mrow><mml:mtext>N</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mover><mml:mrow><mml:mtext>s</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext>p</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:mrow></mml:mfrac></mml:math></disp-formula>where <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mrow><mml:mover><mml:mrow><mml:mtext>N</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> is that the range of transmitted RF channel symbols, <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:mrow><mml:mover><mml:mrow><mml:mtext>p</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> denotes RF channel symbols fraction and <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:mrow><mml:mover><mml:mrow><mml:mtext>s</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> optical bits per symbol, i.e., <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:mrow><mml:mover><mml:mrow><mml:mtext>s</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>log</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p>
<sec id="s3_1">
<label>3.1</label>
<title>Bit Flipping (BF) Algorithm</title>
<p>Gallager developed the Bit Flipping (BF) along with all the LDPC codes [<xref ref-type="bibr" rid="ref-12">12</xref>]. The Algorithm belongs to the group of iterative decoding algorithms and is primarily based upon a calculation of the syndrome vector in the parity matrix <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:mi>H</mml:mi></mml:math></inline-formula>. The channel symbols are converted into <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:mn>1</mml:mn><mml:mi>s</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:mn>0</mml:mn><mml:mi>s</mml:mi></mml:math></inline-formula> based on hard decoding a. At each iteration, it calculates full check-sums, in addition to a range of unsuccessful parity checks regarding every <inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:mi>n</mml:mi></mml:math></inline-formula> bit of the codeword. Subsequently, the inverted bits are if they result in the most important content of unsuccessful parity checks. The technique must be repeated till check-sums are satisfied or until it reaches a defined range of iterations.</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Sum-Product (SP) Decoding Algorithm</title>
<p>The sum-product (SP) decoding is identical to the bit flipping decoding. The SP decoding algorithm is based on a soft decision [<xref ref-type="bibr" rid="ref-12">12</xref>]. However, in this case, the messages are now represented as soft values. In such a way, we can call the bit flipping decoding hard decision decoding; moreover, the SP decoding is denoted as soft-decision decoding [<xref ref-type="bibr" rid="ref-13">13</xref>]. The received probabilities are referred to as received bit prior probabilities.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>LDPC Code Definitions and Notations</title>
<p>Recently LDPC codes have gained much attention in coding theory owing to their near Shannon capacity performance for many data transmission and storage channels. LDPC codes provide many other benefits, such as less computational complexity, and its decoding can be counted, so that correct decoding is detectable [<xref ref-type="bibr" rid="ref-13">13</xref>]. Variable nodes (VN) are designated by <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:msub><mml:mrow><mml:mtext>d</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>v</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> while the check nodes (CN) are represented by <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:msub><mml:mrow><mml:mtext>d</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>c</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>. The check and variables nodes degree for an irregular LDPC code profiles are expressed as two polynomials,</p>
<p><disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:mi>&#x03BB;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>x</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mrow><mml:mtext>i</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>d</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>v</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:munderover><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mrow><mml:mtext>i</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mtext>x</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>i</mml:mtext></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></disp-formula></p>
<p><disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:mrow><mml:mi mathvariant="normal">&#x03C1;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>x</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mrow><mml:mtext>j</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>d</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>c</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03C1;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mtext>j</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mtext>x</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>j</mml:mtext></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></disp-formula>where <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mrow><mml:mtext>i</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03C1;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mtext>j</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> are the fraction of the edges that is related to the degree of VN and CN with <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:mi>i</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:mi>j</mml:mi></mml:math></inline-formula> indexes respectively. We are considering the both the BPSK and OOK, the log-likelihood ratio (LLR) value of <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:mi>X</mml:mi></mml:math></inline-formula> conditioned on the matched filtered outputs and considered as,</p>
<p><disp-formula id="eqn-8"><label>(8)</label><mml:math id="mml-eqn-8" display="block"><mml:mrow><mml:mtext>L</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mfrac><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>y</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>y</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:math></disp-formula></p>
<p><disp-formula id="eqn-9"><label>(9)</label><mml:math id="mml-eqn-9" display="block"><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>X</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>y</mml:mtext></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>X</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>X</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>y</mml:mtext></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mtext>X</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:math></disp-formula>where <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>y</mml:mtext></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>X</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is specified as</p>
<p><disp-formula id="eqn-10"><label>(10)</label><mml:math id="mml-eqn-10" display="block"><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>y</mml:mtext></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>X</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msubsup><mml:mo>&#x222B;</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x221E;</mml:mi></mml:mrow></mml:msubsup><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>y</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>X</mml:mi><mml:mo>,</mml:mo><mml:mi>r</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>r</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi>d</mml:mi><mml:mi>r</mml:mi></mml:math></disp-formula></p>
<p><disp-formula id="eqn-11"><label>(11)</label><mml:math id="mml-eqn-11" display="block"><mml:mo>=</mml:mo><mml:msubsup><mml:mo>&#x222B;</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x221E;</mml:mi></mml:mrow></mml:msubsup><mml:mfrac><mml:mn>1</mml:mn><mml:msqrt><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi><mml:msup><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:msqrt></mml:mfrac><mml:mspace width="thickmathspace" /><mml:mi>e</mml:mi><mml:mi>x</mml:mi><mml:mi>p</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>y</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>r</mml:mi><mml:mi>X</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:msup><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x00D7;</mml:mo><mml:mn>2</mml:mn><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>x</mml:mi><mml:mi>p</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mi>d</mml:mi><mml:mi>r</mml:mi></mml:math></disp-formula></p>
<p>For BPSK</p>
<p><disp-formula id="eqn-12"><label>(12)</label><mml:math id="mml-eqn-12" display="block"><mml:mo>=</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mfrac><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x03C8;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>y</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msqrt><mml:mn>2</mml:mn><mml:mrow><mml:mover><mml:mi>&#x03C3;</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow></mml:msqrt><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x03C8;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>y</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msqrt><mml:mn>2</mml:mn><mml:mrow><mml:mover><mml:mi>&#x03C3;</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow></mml:msqrt><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:math></disp-formula>where <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:mrow><mml:mover><mml:mi>&#x03C3;</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:msup><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:mrow><mml:mi mathvariant="normal">&#x03C8;</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:msqrt><mml:mi>&#x03C0;</mml:mi></mml:msqrt><mml:mi>x</mml:mi><mml:mi>e</mml:mi><mml:mi>x</mml:mi><mml:mi>p</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>X</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mi>f</mml:mi><mml:mi>c</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:math></inline-formula> The calculation of <xref ref-type="disp-formula" rid="eqn-8">Eqs. (8)</xref> and <xref ref-type="disp-formula" rid="eqn-9">(9)</xref> is so complicated that several works have tried to reduce the computational by approximation. The channel transition probability <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>y</mml:mtext></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>X</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is,</p>
<p><disp-formula id="eqn-13"><label>(13)</label><mml:math id="mml-eqn-13" display="block"><mml:mi>p</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>y</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p>
<p><disp-formula id="eqn-14"><label>(14)</label><mml:math id="mml-eqn-14" display="block"><mml:mi>p</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>y</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p>
<p><disp-formula id="eqn-15"><label>(15)</label><mml:math id="mml-eqn-15" display="block"><mml:mi>p</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>y</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mrow><mml:mo>[</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>y</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>y</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>]</mml:mo></mml:mrow></mml:math></disp-formula>where <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:mi>p</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>y</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>y</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>0.5</mml:mn></mml:math></inline-formula> is assumed. Now it is calculated in the LLR equation as</p>
<p><disp-formula id="eqn-16"><label>(16)</label><mml:math id="mml-eqn-16" display="block"><mml:mi>L</mml:mi><mml:mo>=</mml:mo><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mfrac><mml:mrow><mml:mi>p</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>y</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>y</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:math></disp-formula></p>
<p>Subsequently, the channel is symmetric by supposing the entirely zero codewords are transmitted when analyzing the decoding algorithm. The channel information&#x2019;s probability density function (PDF) is Gaussian sufficient for the following symmetry situation.</p>
<p><disp-formula id="eqn-17"><label>(17)</label><mml:math id="mml-eqn-17" display="block"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>x</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mtext>e</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>x</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mtext>f</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mtext>x</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p>
<p>The researchers evidenced that the situation is gratified for channel messages after symmetry. For all of the values, the identity is preserved in following iterations within the sum-product interpreting set of rules [<xref ref-type="bibr" rid="ref-14">14</xref>]. Let <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:mi>L</mml:mi></mml:math></inline-formula> as an intermittent data within the decoder, which can either be from a CN to a VN or a soft value from a VN to a CN. To represent the mutual information (MI) among <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:mi>L</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:mi>X</mml:mi></mml:math></inline-formula>, the operator of the mutual fact <inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:mi>T</mml:mi></mml:math></inline-formula> on <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is given by,</p>
<p><disp-formula id="eqn-18"><label>(18)</label><mml:math id="mml-eqn-18" display="block"><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mtext>I</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>L</mml:mi><mml:mo>;</mml:mo><mml:mrow><mml:mtext>X</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p>
<p>The PDF is symmetrical, and it is supposed that all zero codewords are transmitted [<xref ref-type="bibr" rid="ref-14">14</xref>],</p>
<p><disp-formula id="eqn-19"><label>(19)</label><mml:math id="mml-eqn-19" display="block"><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi>E</mml:mi><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>log</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mtext>e</mml:mtext></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>L</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>]</mml:mo></mml:mrow></mml:math></disp-formula>where <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:mi>E</mml:mi></mml:math></inline-formula> represents the expectation operator. We describe the feature <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:mi>J</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> because of the mutual information, which is the PDF is symmetric Gaussian density that implies <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:msup><mml:mrow><mml:mi mathvariant="normal">&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:math></inline-formula> and the variance <inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:msup><mml:mrow><mml:mi mathvariant="normal">&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> as in [<xref ref-type="bibr" rid="ref-15">15</xref>].</p>
<p><disp-formula id="eqn-20"><label>(20)</label><mml:math id="mml-eqn-20" display="block"><mml:mi>J</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi mathvariant="script">N</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="normal">&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="normal">&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msqrt><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x03C0;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x03C3;</mml:mi></mml:mrow></mml:mrow></mml:msqrt></mml:mfrac><mml:msubsup><mml:mo>&#x222B;</mml:mo><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x221E;</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x221E;</mml:mi></mml:mrow></mml:mrow></mml:msubsup><mml:msup><mml:mrow><mml:mtext>e</mml:mtext></mml:mrow><mml:mrow><mml:mfrac><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>x</mml:mtext></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="normal">&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:msup><mml:mrow><mml:mi mathvariant="normal">&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:msup><mml:msub><mml:mi>log</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mtext>e</mml:mtext></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mtext>x</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mtext>dx</mml:mtext></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="s5">
<label>5</label>
<title>Behavior of EXIT Chart</title>
<p>EXIT chart was made-up to investigate the code convergence behavior [<xref ref-type="bibr" rid="ref-9">9</xref>]. The convergence behavior of the LDPC code is analyzed by employing the EXIT chart. A much-detailed analysis of the EXIT charts and the EXIT functions&#x2019; evaluation over each CV and VN is given in [<xref ref-type="bibr" rid="ref-16">16</xref>]. The EXIT function is designed by modeling the soft values over each node are also provided in [<xref ref-type="bibr" rid="ref-16">16</xref>]. This paper presents two techniques such as curve fitting and regular LDPC code.</p>
<sec id="s5_1">
<label>5.1</label>
<title>Curve-Fitting Technique</title>
<p>In the curve-fitting technique, analysis is applied by the fitting optimization functions <inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mi>V</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:msubsup><mml:mi>I</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula> for a certain error (noise with a standard deviation <inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>) despite the fact of observing the convergence criterion. It was developed for the BEC channel based on the surface property tested for a particular channel [<xref ref-type="bibr" rid="ref-17">17</xref>]. The space between the EXIT chart curves is dependent on the loss as per the area property. Therefore, the transfer curves must match to reduce the speed loss. The optimization approach has been prolonged to additional channels such as AWGN. Though area possession has not been retained. Now, we describe a curve-fitting design that leads to smart performance codes. The function <inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mi>V</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is a noise standard deviation dependent function, while <inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:msubsup><mml:mi>I</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula> independent. Supposing the code grade profiles are selected by fitting the graphs with a given <italic>&#x03C3;</italic><sub>0</sub> satisfying the convergence criterion. For the value above the <inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, the <inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mi>V</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> curve moves down and cuts off <inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:msubsup><mml:mi>I</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula>. The curves match at that <inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. The code does now no longer converge for a value larger than the <inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. The best converging value for the specified design parameters can lead to the adaptation of the curves to the smart performance of the codes.</p>
<p>By optimizing, we can design better codes for the projected threshold. The look-up table (curve fitting) has created two codes with the same parameters. In <xref ref-type="table" rid="table-2">Tab. 2</xref>, the code parameters are specified. The transfer curves are very intently similar. Therefore, the projected convergence threshold is <inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:mn>0.94</mml:mn></mml:math></inline-formula>, see <xref ref-type="fig" rid="fig-3">Fig. 3</xref>. We simulate the performance of those two codes for iterations of different lengths. Codes are made employing a random edge interleaved. The simulation results (in terms of bit error rate (BER)) are presented in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>. Therefore, the code with a higher projected convergence threshold performs better.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>LDPC code parameter, Rate &#x003D; 1/2</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th></th>
<th>Curve fitting</th>
<th>Optimized</th>
</tr>
</thead>
<tbody>
<tr>
<td><italic>&#x03BB;</italic>2</td>
<td>0.12</td>
<td>0.23</td>
</tr>
<tr>
<td><italic>&#x03BB;</italic>5</td>
<td>0.45</td>
<td>0.27</td>
</tr>
<tr>
<td><italic>&#x03BB;</italic>7</td>
<td>0.17</td>
<td>0.23</td>
</tr>
<tr>
<td><italic>&#x03BB;</italic>18</td>
<td>0.25</td>
<td>0.28</td>
</tr>
<tr>
<td><italic>&#x03C3;</italic>18</td>
<td>0.1</td>
<td>0.1</td>
</tr>
<tr>
<td>Projected threshold</td>
<td>0.94</td>
<td>0.97</td>
</tr>
</tbody>
</table>
</table-wrap><fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>EXIT chart by using curve fitting technique</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_32565-fig-3.png"/>
</fig><fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>BER comparison between curve fitting technique and convergence threshold</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_32565-fig-4.png"/>
</fig>
</sec>
<sec id="s5_2">
<label>5.2</label>
<title>Regular LDPC Codes</title>
<p>The division of the output messages of CNs is not always assumed to be a Gaussian symmetry [<xref ref-type="bibr" rid="ref-6">6</xref>]. The VN detector of the EXIT function is evaluated to analyze the CNs information using a normal histogram. The failure of the VN detector optimization function owing to the defined approximation can be ignored. Assuming <inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>A</mml:mi><mml:mi>V</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> extrinsic MI of CN messages and the channel message variance is <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:msub><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, then the optimized <inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mrow><mml:mtext>EV</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> is expressed as</p>
<p><disp-formula id="eqn-21"><label>(21)</label><mml:math id="mml-eqn-21" display="block"><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mrow><mml:mtext>EV</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msqrt><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mtext>d</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>v</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:msup><mml:mrow><mml:mo>[</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="script">J</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>A</mml:mi><mml:mi>V</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:msqrt><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The decoding operation of a CN is comparable to it of one single parity check code. The distribution of messages from VNs to test nodes but independent and identically distributed (i.i.d) inputs are transmitted to the VNs [<xref ref-type="bibr" rid="ref-6">6</xref>]. If <inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>A</mml:mi><mml:mi>C</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> are the output messages of the VNs, then the VN detector of the EXIT function is evaluated by using the same method as in [<xref ref-type="bibr" rid="ref-14">14</xref>]. <xref ref-type="table" rid="table-3">Tab. 3</xref> suggests the values obtained during the convergence by exploiting the EXIT charts and Gaussian approximation (GA). According to the table, the expected convergence threshold error for the EXIT charts is far lower to <inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:mn>0.01</mml:mn><mml:mi>d</mml:mi><mml:mi>B</mml:mi></mml:math></inline-formula>. It is also far smaller than the convergence threshold error expected use of GA mainly based on the mean.</p>
<table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>Projected error for regular LDPC codes</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th><inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>v</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><italic>Code rate</italic></th>
<th><italic>EXIT (dB)</italic></th>
<th><italic>GA based</italic> (<italic>dB</italic>)</th>
</tr>
</thead>
<tbody>
<tr>
<td>3</td>
<td>6</td>
<td>1/2</td>
<td>0.0006</td>
<td>0.0892</td>
</tr>
<tr>
<td>4</td>
<td>8</td>
<td>1/2</td>
<td>0.0080</td>
<td>0.0834</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
<td>1/4</td>
<td>0.0058</td>
<td>0.1203</td>
</tr>
<tr>
<td>4</td>
<td>10</td>
<td>0.61</td>
<td>0.0052</td>
<td>0.0747</td>
</tr>
<tr>
<td>3</td>
<td>9</td>
<td>0.66</td>
<td>0.0026</td>
<td>0.0618</td>
</tr>
<tr>
<td>4</td>
<td>12</td>
<td>0.74</td>
<td>0.0051</td>
<td>0.0475</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s5_3">
<label>5.3</label>
<title>Irregular LDPC Codes</title>
<p>For regular LDPC codes, <italic>&#x03C3;</italic><sub><italic>i</italic>2</sub> the output messages are evaluated by,</p>
<p><disp-formula id="eqn-22"><label>(22)</label><mml:math id="mml-eqn-22" display="block"><mml:msubsup><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="script">J</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>A</mml:mi><mml:mi>V</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:msup><mml:mo stretchy="false">]</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:math></disp-formula></p>
<p>In [<xref ref-type="bibr" rid="ref-6">6</xref>], due to the variable nodes of numerous degrees, the distribution of variable nodes is a symmetric Gaussian mixture for the output messages.</p>
<p><disp-formula id="eqn-23"><label>(23)</label><mml:math id="mml-eqn-23" display="block"><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>v</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>v</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:munderover><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>.</mml:mo><mml:mi>N</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mfrac><mml:msubsup><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mn>2</mml:mn></mml:mfrac><mml:mo>,</mml:mo><mml:msubsup><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The variable node detector of the EXIT function is given as</p>
<p><disp-formula id="eqn-24"><label>(24)</label><mml:math id="mml-eqn-24" display="block"><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mi>V</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>v</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:munderover><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mi mathvariant="script">J</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The CN decoder EXIT function is [<xref ref-type="bibr" rid="ref-14">14</xref>],</p>
<p><disp-formula id="eqn-25"><label>(25)</label><mml:math id="mml-eqn-25" display="block"><mml:msubsup><mml:mi>I</mml:mi><mml:mrow><mml:mrow><mml:mtext>EC</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mtext>i</mml:mtext></mml:mrow></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi>J</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msqrt><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:msqrt><mml:msup><mml:mrow><mml:mi mathvariant="script">J</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>A</mml:mi><mml:mi>C</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p><disp-formula id="eqn-26"><label>(26)</label><mml:math id="mml-eqn-26" display="block"><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mi>C</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>A</mml:mi><mml:mi>C</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03C1;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mi>I</mml:mi><mml:mrow><mml:mrow><mml:mtext>EC</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mtext>i</mml:mtext></mml:mrow></mml:mrow></mml:msubsup></mml:math></disp-formula></p>
<p>We display that this calculation results in a better EXIT curve for the check node detector than the actual function. As an anticipated result, the thresholds for convergence are improved than the actual values.</p>
</sec>
</sec>
<sec id="s6">
<label>6</label>
<title>Simulation Results</title>
<p>In <xref ref-type="fig" rid="fig-5">Figs. 5</xref> and <xref ref-type="fig" rid="fig-6">6</xref>, it shows the simulation results obtained using the EXIT technique considering the regular and irregular LDPC code with <inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0.5</mml:mn></mml:math></inline-formula>. It is seen that the distance in simulation curves obtained for both the CN and VNs of the irregular code is very less compared to the ones obtained for VN and CN of the regular code. It is also noted that the computational complexity in the case of the irregular LDPC code is greater because it needs a greater number of iterations to reach the desired solution. <xref ref-type="fig" rid="fig-5">Figs. 5</xref> and <xref ref-type="fig" rid="fig-6">6</xref> show that the converging values of the SNR in the case of the regular and irregular LDPC code are calculated as <inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:mo>&#x2212;</mml:mo><mml:mn>1.70</mml:mn><mml:mi>d</mml:mi><mml:mi>B</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:mo>&#x2212;</mml:mo><mml:mn>2.50</mml:mn><mml:mi>d</mml:mi><mml:mi>B</mml:mi><mml:mo>,</mml:mo></mml:math></inline-formula> respectively. The smaller value of the SNR in the case of the irregular code proves that the irregular LDPC codes can get better performance gain under the waterfall region than the regular codes.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>EXIT chart for regular LDPC codes</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_32565-fig-5.png"/>
</fig><fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>EXIT chart for irregular LDPC codes</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_32565-fig-6.png"/>
</fig><p>In <xref ref-type="fig" rid="fig-7">Fig. 7</xref>, it is shown that we conduct the number of iterations to analyze the bit error rate (BER) performance based on <inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:mi>M</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:mi>N</mml:mi></mml:math></inline-formula> that is check nodes and variable nodes, respectively. We are calculating the LLRs for OOK and BPSK, making the soft decision, and counting the number of bit errors. The results are performed on our proposed system and calculated the <inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. The simulation results are conducted over <inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>5</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> with different numbers of check nodes <inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:mi>M</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mn>3</mml:mn><mml:mi>K</mml:mi></mml:math></inline-formula> concerning variable nodes <inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mn>4</mml:mn><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mn>6</mml:mn></mml:math></inline-formula><italic>K</italic>, and the codes are <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:mn>0.9</mml:mn><mml:mi>d</mml:mi><mml:mi>B</mml:mi></mml:math></inline-formula> away. These codes are <inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:mn>2.9</mml:mn><mml:mi>d</mml:mi><mml:mi>B</mml:mi></mml:math></inline-formula> to <inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:mn>5.3</mml:mn><mml:mi>d</mml:mi><mml:mi>B</mml:mi></mml:math></inline-formula> away from the Shannon limit for the binary AWGN channel considering a BER equivalent to <inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>5</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>. We can also see that the LDPC code is <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:mn>3</mml:mn><mml:mi>d</mml:mi><mml:mi>B</mml:mi></mml:math></inline-formula> better at <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>5</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>. According to the simulation conclusion, increasing the <inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:mi>M</mml:mi></mml:math></inline-formula> can dramatically reduce the Shannon limit to the same BER. In <xref ref-type="fig" rid="fig-8">Fig. 8</xref>, it is also seen that it is near the Shannon limit with respect to FSO and RF. Hence, the comparison of simulation results is better in the FSCS case.</p>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>BER performance at different M</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_32565-fig-7.png"/>
</fig><fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>Comparison of our proposed FSCS at the same M</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_32565-fig-8.png"/>
</fig>
</sec>
<sec id="s7">
<label>7</label>
<title>Conclusion</title>
<p>The proposed research work analyzes the curve-fitting approach to developing the LDPC codes. The optimization technique is also developed and is solely based on a convergence criterion that gives better results. The primitive principles of code design tools and the EXIT chart for FSCS are outlined. This work provides a vision of the performance of the proposed system for regular LDPC code and shows how the BER performance of FSCS links may be improved. It is observed that the presented work is well adapted to a range of decoding algorithms. The simulation results for the LDPC code indicate that the SP algorithm is optimal since its BER is stable and low for the bit flipping over given iterations. We also analyze the BER and investigate the performance of OOK and BPSK modulation schemes. We computed the LLR mapping, OOK and BPSK have been derived. From the simulation results, it is seen that our proposed FSCS is better than FSO and RF.</p>
</sec>
</body>
<back>
<fn-group>
<fn fn-type="other"><p><bold>Funding Statement:</bold> The authors received no specific funding for this study.</p>
</fn>
<fn fn-type="conflict"><p><bold>Conflicts of Interest:</bold> The authors declare they have no conflicts of interest to report regarding the present study.</p>
</fn>
</fn-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Ghassemlooy</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Popoola</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Rajbhandari</surname></string-name></person-group>, <source>Optical Wireless Communications: System and Channel Modelling with Matlab</source>. Boca Raton, Florida, USA: <publisher-name>CRC press</publisher-name>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Hagenauer</surname></string-name> and <string-name><given-names>E.</given-names> <surname>Lutz</surname></string-name></person-group>, &#x201C;<article-title>Forward error correction coding for fading compensation in mobile satellite channels</article-title>,&#x201D; <source>IEEE Journal on Selected Areas in Communications</source>, vol. <volume>5</volume>, no. <issue>2</issue>, pp. <fpage>215</fpage>&#x2013;<lpage>225</lpage>, <year>1987</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Fewer</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Flanagan</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Fagan</surname></string-name></person-group>, &#x201C;<article-title>A versatile variable rate LDPC codec architecture</article-title>,&#x201D; <source>IEEE Transactions on Circuits and Systems I: Regular Papers</source>, vol. <volume>54</volume>, no. <issue>10</issue>, pp. <fpage>2240</fpage>&#x2013;<lpage>2251</lpage>, <year>2007</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>R. G.</given-names> <surname>Gallager</surname></string-name></person-group>, &#x201C;<article-title>Low density parity check codes</article-title>,&#x201D; <source>IEEE Transactions on Information Theory</source>, vol. <volume>10</volume>, no. <issue>2</issue>, pp. <fpage>172</fpage>, <year>1964</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D. J. C.</given-names> <surname>MacKay</surname></string-name> and <string-name><given-names>R. M.</given-names> <surname>Neal</surname></string-name></person-group>, &#x201C;<article-title>Near shannon limit performance of low density parity check codes</article-title>,&#x201D; <source>Electronics Letters</source>, vol. <volume>33</volume>, no. <issue>6</issue>, pp. <fpage>457</fpage>&#x2013;<lpage>458</lpage>, <year>1997</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Garg</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Dixit</surname></string-name> and <string-name><given-names>V.</given-names> <surname>Jain</surname></string-name></person-group>, &#x201C;<article-title>Analysis of LDPC codes in FSO communication system under fast fading channel conditions</article-title>,&#x201D; <source>IEEE Open Journal of Communications Society</source>, vol. <volume>2</volume>, pp. <fpage>1663</fpage>&#x2013;<lpage>1673</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Zhou</surname></string-name> and <string-name><given-names>Z. H.</given-names> <surname>Zhou</surname></string-name></person-group>, &#x201C;<article-title>Design of a parallel decoding method for LDPC code generated via primitive polynomial</article-title>,&#x201D; <source>Electronics MDPI</source>, vol. <volume>10</volume>, no. <issue>4</issue>, pp. <fpage>425</fpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Bao</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Zhang</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Gao</surname></string-name></person-group>, &#x201C;<article-title>Design and analysis of joint source-channel code system with fixed-length code</article-title>,&#x201D; <source>Information MDPI</source>, vol. <volume>13</volume>, no. <issue>6</issue>, pp. <fpage>281</fpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Kashif</surname></string-name> and <string-name><given-names>M. N.</given-names> <surname>Khan</surname></string-name></person-group>, &#x201C;<article-title>Future of free space communication systems (FSCS): An overview</article-title>,&#x201D; in <conf-name>Intermountain Engineering, Technology and Computing (IETC)</conf-name>, <publisher-loc>Utah Valley University Orem, USA</publisher-loc>, pp. <fpage>1</fpage>&#x2013;<lpage>5</lpage>, <year>2020</year>. </mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>R. G.</given-names> <surname>Gallager</surname></string-name></person-group>, &#x201C;<article-title>Low-density parity-check codes</article-title>,&#x201D; <source>IEEE Transaction on Information Theory</source>, vol. <volume>8</volume>, no. <issue>1</issue>, pp. <fpage>21</fpage>&#x2013;<lpage>28</lpage>, <year>1962</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Richardson</surname></string-name> and <string-name><given-names>R. L.</given-names> <surname>Urbanke</surname></string-name></person-group>, &#x201C;<article-title>The capacity of low-density parity check codes under message-passing decoding</article-title>,&#x201D; <source>IEEE Transactions on Information Theory</source>, vol. <volume>47</volume>, no. <issue>2</issue>, pp. <fpage>599</fpage>&#x2013;<lpage>618</lpage>, <year>2001</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>F. R.</given-names> <surname>Kschischang</surname></string-name>, <string-name><given-names>B. J.</given-names> <surname>Frey</surname></string-name> and <string-name><given-names>H. A.</given-names> <surname>Loeliger</surname></string-name></person-group>, &#x201C;<article-title>Factor graphs and the sum-product algorithm</article-title>,&#x201D; <source>IEEE Transactions on Information Theory</source>, vol. <volume>47</volume>, no. <issue>2</issue>, pp. <fpage>498</fpage>&#x2013;<lpage>519</lpage>, <year>2001</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M. N.</given-names> <surname>Khan</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Jamil</surname></string-name></person-group>, &#x201C;<article-title>EXIT chart behaviour for the hybrid FSO/RF communication system</article-title>,&#x201D; in <conf-name>Int. Conf. on Information, Communications and Signal Processing (ICICS)</conf-name>, <publisher-loc>Singapore</publisher-loc>, <year>2015</year>. </mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>T. J.</given-names> <surname>Richardson</surname></string-name>, <string-name><given-names>M. A.</given-names> <surname>Shokrollahi</surname></string-name> and <string-name><given-names>R. L.</given-names> <surname>Urbanke</surname></string-name></person-group>, &#x201C;<article-title>Design of capacity approaching irregular low-density parity-check codes</article-title>,&#x201D; <source>IEEE Transactions on Information Theory</source>, vol. <volume>47</volume>, no. <issue>2</issue>, pp. <fpage>619</fpage>&#x2013;<lpage>637</lpage>, <year>2001</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M. N.</given-names> <surname>Khan</surname></string-name>, <string-name><given-names>S. O.</given-names> <surname>Gilani</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Jamil</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Rafay</surname></string-name>, <string-name><given-names>Q.</given-names> <surname>Awais</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Maximizing throughput of hybrid FSO-RF communication system: An algorithm</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>6</volume>, pp. <fpage>30039</fpage>&#x2013;<lpage>30048</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M. N.</given-names> <surname>Khan</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Jamil</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Hussain</surname></string-name></person-group>, &#x201C;<article-title>Adaptation of hybrid FSO/RF communication system using puncturing technique</article-title>,&#x201D; <source>Radio Engineering</source>, vol. <volume>25</volume>, no. <issue>4</issue>, pp. <fpage>12</fpage>&#x2013;<lpage>19</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Ashikhmin</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Kramer</surname></string-name> and <string-name><given-names>S. T.</given-names> <surname>Brink</surname></string-name></person-group>, &#x201C;<article-title>Extrinsic information transfer functions: model and erasure channel properties</article-title>,&#x201D; <source>IEEE Transactions on Information Theory</source>, vol. <volume>50</volume>, no. <issue>11</issue>, pp. <fpage>2657</fpage>&#x2013;<lpage>2673</lpage>, <year>2004</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>
