Novel Algorithm to Construct QC-LDPC Codes for High Data Rate Applications

,


Introduction
Businesses employ cloud computing to gain access to premium IT solutions without the need to invest in expensive and space-consuming hardware.Such large businesses constantly deal with massive amounts of data, referred to as Big Data.With the integration of 5G technology, Cloud Service Providers (CSPs) have the potential to offer more efficient solutions for managing Big Data challenges.Employing a 5G network combined with cloud computing helps to deal with transferring such large quantities of data faster in real-time.Both cloud storage systems and 5G technology are high-data-rate applications that require an efficient coding mechanism capable of adapting to these high data rates while providing robust error correction capabilities and improved storage performance.
Traditional replication techniques [1][2] enhances data availability in cloud data storage systems by reducing latency and ensuring fast data recovery.However, it comes with the drawback of high storage overhead, which subsequently increases the overall storage costs.
Erasure coding techniques can achieve both high data reliability and low storage costs, as they do not generate multiple copies of data.Consequently, the storage overhead with erasure codes is much lower compared to traditional replication techniques.Erasure codes have therefore been employed to store data in cloud storage systems such as Google Cloud [3], Microsoft Azure [4], and Facebook [5].Typical examples of erasure coding techniques employed in cloud and distributed storage systems are Reed Solomon codes (RS) [6][7][8], Cauchy Reed Solomon Codes (CRS) [10], Local reconstruction codes (LRC) [4,11] and Low-density parity check (LDPC) codes [12].Despite their advantages, current erasure codes possess certain drawbacks in data storage systems, particularly in the cloud, which has led to ongoing research in search of improved coding schemes.
Reed Solomon (RS) codes are the most commonly employed erasure codes in Cloud data storage systems [8].RS codes perform encoding in Galois Field GF(2  ), which involves the usage of a complex Vandermonde matrix that acts as the generator matrix.In the encoding process, log and antilog tables are used to convert multiplication into addition, and then addition into XOR operations over GF (2 w ).Since, the complexity of Vandermonde matrix inversion is very high, which is of the order of O( 3 ), the computational overhead is considerably very high.The high recovery and storage costs of RS-based cloud data storage systems motivate many researchers to propose new techniques.And still research is going on.
Cauchy Reed Solomon (CRS) codes are a variation of Reed-Solomon codes, which convert the Galois Field multiplications into simple XOR operations.With an (n,k) CRS code, k data blocks are encoded into m parity blocks and it can tolerate any m block lost without any data loss.However, the challenge arises when the requirement specifies that the k data blocks and m parity blocks must be stored on separate nodes within cloud storage servers.Otherwise, the failure of one node can result in multiple failures.Further, Cauchy Reed Solomon (CRS) Code [10], uses simple Cauchy matrix in place of the complex Vandermonde matrix.This helped in the reduction of computation complexity from O(n 3 ) to O(n 2 ).The inverse matrix computation of the Cauchy matrix over Galois Field is of the order of O(n 2 ), which incurs increased computational overhead.
The Minimal Storage Regenerating (MSR) code [13] falls within the category of regenerating codes designed to minimize repair bandwidth and enhance storage efficiency.While it has proven effective in reducing recovery overhead, it comes with a significantly higher computational cost compared to traditional RS-based erasure codes.To address these drawbacks, simpler XOR-based erasure codes with lower computational overhead, known as Low-density parity check (LDPC) codes, have been introduced.Some major applications of LDPC codes in the field of data storage systems are Wide Area Storage Network [14], Cloud running [15], P2P distributed storage systems [16], and distributed storage systems [17][18][19].
Conventional LDPC codes [20] designed by R.Gallager, are randomly constructed codes which show high error correction capabilities and are applied to many digital communication standards.Mackay constructed LDPC codes, whose error performances reached the Shannon's channel capacity limits for long codelengths [21].Hence, LDPC codes were adopted in a wide range of applications such as satellite broadcasting, optical communications, wireless communications and high density storage systems.However, conventional LDPC codes are non-systematic unstructured codes due to which they have higher computational complexity and slower encoding-decoding speeds.Randomly constructed LDPC code structures increases the complexity of the decoder implementation [33].It is because a random interconnection pattern between the variable nodes and the check nodes in the tanner graph of the code will introduce a more complex wire routing circuit on the hardware.Consequently, to mitigate the complexity associated with decoding and enhance the iterative decoding performance, structured LDPC codes, referred to as Quasi Cyclic-LDPC codes, have been introduced.
Kim et al. [22] presented a novel design of Quasi-Cyclic LDPC codes employing cyclic shift matrices, which were faster in terms of encoding and decoding processes and required less memory for storage.Such QC-LDPC codes are being considered for cloud data storage systems.
Well-designed QC-LDPC codes with high level of sparsity and large girth (girth 6) combined together have the potential to address the primary challenges faced by cloud data storage systems.Furthermore, applications with high data rates like cloud computing and 5G technologies necessitate the use of high code rate codes to accommodate their speeds.Thus, a novel algorithm to construct high code rate Quasi Cyclic LDPC codes with a girth of atleast six from a low code rate and highly sparse base matrix is proposed.The girth six sparse base matrix along with an efficient exponent matrix that can eliminate the short cycles or girth four improves the decoding performance of QC-LDPC codes.Therefore, a difference exponent matrix derived from a basic exponent matrix built based on the powers of a primitive element in a finite field Fq is proposed in this paper, which can directly eliminate the girth 4 in parity check matrix.Simulation results show that the proposed high code rate QC-LDPC codes possess better error correction capabilities compared to conventional QC-LDPC codes and conventional LDPC codes using BPSK modulation scheme over AWGN channel.Table 1.presents the summary of the related woks and their contributions.The proposed high code rate QC-LDPC code exhibits reduced storage overhead, increased storage efficiency, and increased speed of encoding and decoding operations, making it most suitable for application in cloud data storage systems and high data rate wireless communication systems as well.
The rest of the paper is organized as follows: An introduction to Quasi-cyclic codes is provided in Section 2. Section 3. presents a novel algorithm for constructing high rate QC-LDPC codes using a girth six base matrix of low code rate and a difference exponent matrix, constructed based on the powers of a primitive element in a finite field Fq.Section 4 focuses on the application of the proposed QC-LDPC codes in S3 Cloud storage system.Section 5. presents the simulation results which includes the speed of encoding-decoding operations of the proposed codes as well as key metrics related to storage performance, including storage overhead, storage efficiency, and decoding overhead.In Section 6, the application of proposed codes in wireless communication system and their comparative BER performance analysis with conventional LDPC and QC-LDPC codes over AWGN channel is presented.Section 6.Also presents the hardware implementation of proposed QC-LDPC codes in Software Defined Radio, employing the NI USRP 2920 hardware device, and includes comparisons of their BER performance.Section 7. provides the conclusion.
, where ( , ) represents the (PxP) cyclic permutation matrix (CPM) obtained after cyclically shifting each row of an identity matrix to the right and I (0) represent an all zero matrix of size (PxP).
The parameter P is known as the lift factor or the expansion factor.If P=3, then I (0), I (1) and I (2) is given by The position of one's in H matrix of QC-LDPC code is determined by an exponent matrix or a shift permutation matrix.
The exponent matrix E(H) or the shift permutation matrix is constructed based on new algorithms.
The code rate of an (n,k) QC-LDPC code in general is computed by R  =   (5) , where n represent the total number of blocks and k represent the number of data blocks.
Although high data rate applications demand high code rate codes, it is not necessary to construct high code rate QC-LDPC codes directly.Instead, following specific puncturing procedures, a base matrix with a low code rate can generate high code rate QC-LDPC codes.

Tanner graph
The parity check matrix, H of LDPC codes, is usually represented using a Tanner graph [25].A tanner graph, also known as a bipartite graph, which is composed of variable nodes and check nodes connected via an edge.An edge appears if and only if there exists a 1 in the corresponding location in the H matrix.A cycle in a Tanner graph is defined as the sequence of check nodes and variable nodes connected in a cyclic manner, which starts and ends at the same node in the tanner graph.The girth of a Tanner graph, or an LDPC code, is defined as the length of the shortest cycle within it.In this context, the shortest cycle in a Tanner graph is referred to as a Cycle 4 or Girth 4, as illustrated in Fig .1.
Figure 1: Tanner graph of H matrix given in (6) It is well known that short cycles or girth four, affects the decoding performance of LDPC codes using the message passing-iterative decoding algorithm.Hence, QC-LDPC codes with girth six are required to be constructed for iterative decoding MP algorithm to perform well [25,31,33].Furthermore, there exist both systematic and non-systematic QC-LDPC codes.In nonsystematic codes, the parity blocks are integrated within the codeword.In contrast, systematic QC-LDPC codes separate the data blocks and parity blocks, making it easier to extract data directly from the codeword.Systematic QC-LDPC codes are particularly advantageous in cloud storage systems because they enable data retrieval without the need for decoding.This leads to reduced computational complexity and enhances the speed of coding and decoding operations.In this paper, a novel algorithm to construct the parity check matrix 'H' of QC-LDPC code with high code rate {R ≥ 0.9} and a girth of at least six for cloud data storage systems is proposed.The upcoming section provides a comprehensive explanation of the proposed algorithm.

Proposed algorithm to construct high code rate QC-LDPC codes for cloud storage systems
This paper proposes a novel algorithm to construct the parity check matrix, H matrix of QC-LDPC codes with a high code rate and a girth of atleast six.The proposed algorithm comprises of two main steps: a) Construction of highly sparse low code rate base matrix Hb with girth six.b) Construction of an improved difference exponent matrix Pde that helps to build large sized QC-LDPC codes with high code rate, R ≥ 0.9 and girth six.The exponent matrices are constructed only once and can be stored in local machine unlike the conventional LDPC code, which requires to store the entire H matrix.
The proposed QC-LDPC code with size (M x N) is takes the following form: , where   is the circular permutation matrix constructed using the proposed algorithm and   is the dual diagonal identity parity matrix of (M x M) size, where M is the number of rows and N is the number of columns of the parity check matrix.
In order to construct Hi, the information part of the proposed parity check matrix, H of QC-LDPC codes, a sparse base matrix, Hb with girth six and an improved exponent matrix, called as difference exponent matrix Pd derived from E(H) constructed based on the powers of a primitive element in a finite field Fq are proposed.

Proposed algorithm for constructing sparse base matrix Hb with girth six
The core of QC-LDPC encoding lies in the generation of a sparse base matrix, Hb with a girth of at least six.The elimination of girth 4 from the base matrix decreases the encoding and decoding complexity to a large extent and improves the BER performance.In this section, sparse base matrix Hb with girth of atleast six is generated using the proposed algorithm and explained in the following steps: Step 1: Define the code rate Rb of the random binary matrix to be low, Rb= 0.5.
Step 2: Specify the required number of columns, n such that n is always less than 100 (i.e  < 100 ) and the required number of rows 'm' of a small random binary matrix (B) , such that  >  (8) Step 3: Set the column weight (  ) of the B matrix as 3 or more.
The condition   ≥ 3 must be satisfied so that later puncturing can be performed to increase the code rate and sparsity level of the PCM.
Step 4: Perform puncturing on the rows of the random binary matrix (B) by searching for rows with large weights (  ) and remove the rows with row weight (  ) having an odd value starting from 9…..∞.
This step increases the code rate and sparsity levels of the random binary matrix B Step 5: Test for the presence of short cycles (cycle 4) in the B matrix obtained from step 4. If cycle 4 exists, flip the one's which forms the cycle 4 in such a way that, the resultant matrix contains zero cycle 4 or otherwise known as girth six base matrix, Hb.Fig. 2 shows how to flip one's that forms the cycle 4.

Improved method of constructing the exponent matrix E(H) and the proposed difference exponent matrix 𝑷 𝒅𝒆
This section provides a method of constructing an exponent matrix based on powers of an element of finite field Fq as mentioned in [26].The combination of the proposed base matrix and the exponent matrix generated produces a large number of cycle 4's.To combat this negative effect, a difference exponent matrix is proposed that can reduce the large number of cycle 4''s (in 1000's) to single digits, that can be easily flipped to obtain girth six QC-LDPC codes and is explained as follows: Step 1.Let Fq be a finite field with q as a prime power [26].Assume 'α' as the primitive element of the finite field Fq and 'r' is the largest prime factor of q-1, where q-1 is cr.If β=α c , the order of β is r and this set forms a cyclic subgroup of the multiplicative group of Fq, subgroup,   = {1, β, β 2 , . . .β r−1 } [26].
Step 2. Construct the cyclic permutation matrices based on the cyclic subgroup   of the multiplicative group of Fq, where powers of β is taken in modulo r [26].
For each of the given values in P matrix, the cyclic permuted copies of the base matrix 'Hb' are substituted.And check for presence of girth 4 is conducted after substitution.The results showed a large number of cycle 4's present.Hence, a new approach to get rid of all the cycle 4's by computing the difference exponent matrix Pde is presented in this paper.
The proposed difference matrix Pde, is obtained by finding the difference between the 1st row and 2nd row of the exponent matrix P, excluding the first column and row values.
Step 5. Find the difference between the first and second rows of P matrix from step (4) in section 3.2 and exclude the first column and rows to get the difference exponent matrix, Pd which is of the form The proposed exponent matrix, Pde reduces the formation of girth 4 to a large extent (in single digits).
Several exponent matrices can be built using the proposed algorithm which can be applied for various applications.

Construct the proposed QC-LDPC code using the proposed base matrix, CPM matrices and difference exponent matrix
Step 8. Substitute each integer value in the proposed exponent matrix, Pde with it's corresponding (nxm) CPM matrices (right shifted permutation base matrices) and substitute the zero value with (nxm) zero matrix of the same size as that of the base matrix.
Step 9. Check for the presence of cycle 4's after substituting the (m x n) CPM matrices obtained from base matrix.Very few cycle 4's will be present which can be eliminated by flipping the ones that forms the short cycle.The resultant matrix obtained is the required (K x M) Hi matrix (information part of the H matrix).
Step 10.Append a (M x M) dual diagonal identity parity check matrix, Hp to the Hi matrix to obtain the proposed final PCM, (M x N) H matrix of the proposed QC-LDPC code.

Structure of the proposed QC-LDPC code
The proposed QC-LDPC code has a defined structure with size (N, K, M), which is shown in Fig. 4. From Fig. 4, it can be seen that the base matrix Hb of size (m x n) is circularly right shifted to obtain the circulant permutation matrices (CPM) of same size and an all zero matrix of (m x n) size is constructed.These sub-matrices are then substituted in the difference exponent matrix Pde to obtain the Hi matrix of size (M x K).A dual diagonal identity parity check matrix Hp is constructed with size (M x M), which is appended to Hi matrix to finally get the required QC-LDPC code H matrix of size (M x N).

XOR based Encoding
An illustration of a systematic LDPC code with 4 data nodes and 3 parity nodes is presented in Fig. 5.The systematic LDPC encoding process uses simple XOR operations [12], in which the data blocks (denoted by D on the left side of the graph) are computed by XOR'ing the parity blocks to which they are linked and the parity blocks (denoted by P on the right side of the graph) are computed by XOR'ing the data blocks to which they are linked.Both the data and parity blocks are then sent across the internet to be stored in different cloud servers.

Recovery based iterative message passing decoding
The QC-LDPC code decoding is performed using a recovery equation-based iterative decoding algorithm [27].The recovery equations are derived using the same Tanner graph (H matrix) which was used for the encoding process.For example, if the (7, 4) LDPC code with H matrix Fig ( 5) is used for decoding then there are a total of 7 blocks with 3 parity blocks, and 4 data blocks (k=n-m=7-3=4).All the operations performed in decoding to recover the lost data clocks are simple XOR operations.
Suppose the first data block is lost, then the decoder will find the recovery equations concerning the first data block.After several iterations, the decoder will find the correct recovery equation which has all the blocks including the parity blocks needed to retrieve the lost data block.The decoder contacts the cloud server in which the required parity blocks are stored and successfully reconstructs the original data block.Once the lost data block is retrieved, the decoder downloads the rest of the blocks and concatenates them to obtain the original user data.If the decoder has run the maximum number of iterations and still unable to retrieve the original data block, then the decoder returns the message as 'failed to retrieve the original data block'.

Application of proposed QC-LDPC code for cloud storage system
The proposed QC-LDPC coded cloud system model is shown in Fig. 6.A user data file {image, text, and video} is split into several parts and based on each data size, the corresponding QC-LDPC code is chosen to encode the data files.The QC-LDPC encoder is responsible for encoding each data segment, and the encoded segments are distributed across various cloud servers for storage.When a user requests the data, the decoder retrieves all the necessary files, including data blocks and the required number of parity blocks, to reconstruct the original user data.In cases of data loss, the QC-LDPC decoder employs a recovery-based decoding algorithm to recover the original user data.In this paper, S3 cloud storage system has been used to store the proposed QC-LDPC encoded files and the performance in terms of encoding-decoding speeds and storage overhead has been analyzed.The subsequent section provides an explanation of the S3 cloud storage architecture.

Architecture of S3 cloud storage
The cloud storage architecture comprises a front-end system and a back-end system.The front-end includes the user device and the necessary applications for system access.Meanwhile, the back-end is composed of various components, including the LB (Load Balancer), API server, file servers, and partition server.Figures 7 and 8. depict the high-level architecture [28] and the back-end system of the S3 Cloud storage system, respectively.
The S3 Gateway plays a vital role in managing input and output communications, encompassing the transfer of input data to S3 buckets through the meta-data management module.Additionally, there is a dedicated management gateway that supports tasks like instance creation, setup, configuration, and more, in coordination with the S3 gateway.The metadata management layer comprises a set of distributed service engines that enable users to upload data based on policies and permissions while efficiently managing the stored data.Once a user creates an account with S3, CM allocates the user account by obtaining the necessary permissions from the Authentication Server or the DB.User creates new buckets through the S3 Console once the required permissions are granted.CM updates the bucket's domain name in the DNS.User uploads the encoded files in the buckets and these operations are taken care of by the LB.When a file is uploaded, the API server assigns a unique UUID to facilitate easy file identification.The API server then transmits the file to the partition server, which communicates with the streaming layer.The Streaming Layer comprises numerous file servers, each with storage capacities ranging from 20 to 30 TB.The partition server writes the file into a designated stream file server, for example, "Stream Server 1."The Stream Layer retrieves the files, writes them to the hard disk, and creates replicas.All UUIDs are stored in the DB.Consequently, when a file is requested, CM retrieves the file from the HDD to the buckets, enabling users to promptly download the files.
In the event of a region experiencing downtime, the DNS will redirect to the LB of another region, and ensures that full data availability is maintained.CM monitors the available space in the file server and determines which resources can be utilized to store new files.This paper explores the utilization of the S3 cloud data storage system for storing proposed QC-LDPC encoded user data.

Advantages of the proposed algorithm
The proposed algorithm's main benefit is that it generates high code rate QC-LDPC code {0.8, 0.9} from a low code rate (0.5) base matrix Hb.The exponent matrix is derived as a difference of the rows of the original exponent matrix, and the base matrix is devoid of short cycles.Figure 9a.Shows the H matrix before girth 4 (64x1216) was eliminated i.e by applying CPM matrices of proposed Hb matrix in generalized exponent matrix E(H). Figure 9b.Shows the proposed H matrix (1216x32) after girth 6 is eliminated by applying CPM matrices of the proposed Hb matrix in the proposed difference exponent matrix Pde.The proposed QC-LDPC code constructed using the proposed algorithm achieves highly sparse codes, which reduces the complexity of the codes and hence, increases the speed of operations.This is attributed to the fact that the complexity of the proposed code is determined by the number of one's present in the code.Figure 10a illustrates an example of a QC-LDPC code with low sparsity level, while Figure 10b.demonstrates an example of a highly sparse QC-LDPC code achieved through the proposed technique..
The proposed high-rate QC-LDPC code of size (1248,1216, R=0.9) have been utilized to encode user data files of varying sizes {100 KB, 256KB, 500KB, 1MB, 10MB} to test the performance of the proposed algorithmic code in terms of encoding speeds.
In S3 cloud storage buckets, the encoded files composed of both the data and parity blocks are uploaded via the S3 console from a local machine.The local machine is equipped with both the encoder and decoder functionalities, implemented using MATLAB software.
He local machine is a Windows 11 Pro system with the following specifications: Intel(R) Core(TM) i9-10900K CPU @ 3.70GHz 3.70 GHz and 64-bit operating system, x64-based processor, 64.0 GB RAM.
When the client needs the original data file, they simply download the necessary data blocks, and then concatenate them together to reconstruct the original file.However, in case of data loss, the decoder's role comes into play.It decodes the available data blocks and attempts to reconstruct the lost data, ultimately leading to the recovery of the original data.

Comparison of encoding and decoding speeds of proposed QC-LDPC codes.
Table 2. shows the comparison between the encoding speeds of proposed QC-LDPC, conventional LDPC codes, conventional QC-LDPC codes and RS codes.Table 2 reveals that the proposed QC-LDPC code with a high code rate of 0.9 and N=1248 takes only 2.128 seconds to encode a 10MB file.In contrast, conventional QC-LDPC codes and conventional LDPC codes encode the same file in 8.42 seconds and 94.36 seconds, respectively.This demonstrates that the proposed QC-LDPC code exhibits significantly faster encoding speeds compared to its counterparts.This speed advantage is primarily attributed to the high level of sparsity and the girth six property of the proposed code.Furthermore, it's worth noting that the shorter length proposed QC-LDPC code takes less time for encoding compared to the longer codelength proposed code with high-rate codes.3 demonstrates that the proposed QC-LDPC code achieves faster decoding times, taking only 1.43 seconds to decode a 10 MB file.In contrast, conventional QC-LDPC codes and conventional LDPC codes decode the same file in 6.85 seconds and 85.6 seconds, respectively.Notably, the shorter length proposed QC-LDPC code outperforms RS codes of similar size and rate, as it takes only 192.45 milliseconds to decode the file using the proposed code, which is significantly faster than the 2.12 seconds required by traditional RS codes.
The proposed codes exhibit high sparsity and possess the girth six property, resulting in higher decoding speeds compared to conventional LDPC, conventional QC-LDPC codes, and traditional RS codes.

Storage metrics
The key storage performance metrics [27]

Application of proposed QC-LDPC codes in wireless communication system
A basic wireless communication system has been designed in LABVIEW software to analyze the error correction performance of the proposed high rate QC-LDPC codes, as depicted in Fig. 11.The user data is transmitted to the proposed QC-LDPC encoder, where it is encoded using the proposed QC-LDPC code (H matrix) constructed using the proposed algorithm.The encoded data is sent to the modulator with binary phase shift keying BPSK modulation scheme and sent across the additive white Gaussian noise AWGN channel [25,31].On the receiver end, the received data is demodulated using BPSK demodulation scheme and decoded by the proposed QC-LDPC decoder, which is then finally received at the sink.The proposed parity check matrix H is constructed in MATLAB software and then inserted into the LABVIEW code in .IVM format to the encoder and decoder respectively.
, where σ 2 is the noise variance which is the energy per transmitted bit Es.BER for BPSK modulated system [32] can be calculated by  = (26) This section presents the BER performance of the proposed high code rate (0.9) QC-LDPC code using BPSK modulation scheme over AWGN channel.They are also compared with the results of conventional LDPC codes.Figure 12. displays the performance of a high code rate proposed QC-LDPC code (1248,1216,R=0.9)over AWGN channel.Fig. 12. BER performance of high code rate proposed QC-LDPC codes (1248,1216,R=0.9)on AWGN channel using BPSK modulation scheme.
In terms of BER, the simulation results show that the proposed QC-LDPC code outperforms the conventional QC-LDPC code and conventional LDPC code with BPSK modulation scheme on the AWGN channel.This is due to the fact that cycle 4 is absent from both the base matrix and the newly constructed proposed QC-LDPC code.When compared to a conventional LDPC code of the same size and rate, the newly constructed proposed QC-LDPC code with a high code rate of R=0.9 performs quite well.The proposed QC-LDPC code has a very low BER of 10 -9 at 3 dB Eb/No, whereas the conventional QC-LDPC code only has a BER of 10 -7 at 3.2 dB Eb/No and S. Vafi [30] LDPC code only has a BER of 10 -8 at 4 dB Eb/No.As a result, we find that the proposed high code rate QC-LDPC code with girth outperforms the conventional QC-LDPC codes and other algorithmic codes in terms of error performance.
6.2 Hardware Implementation of the proposed QC-LDPC code (N=1248, R=0.9) in software defined radio using NI USRP 2920.
Software Defined Radio (SDR) is a radio device that can be reprogrammed to transmit and receive on every frequency within a certain range.SDR used in this work is National Instruments Universal Software Radio Peripheral (USRP) 2920.The USRP 2920 offers an integrated hardware and software solution, enabling rapid prototyping of high-performance wireless communication systems and facilitating the evaluation of newly designed algorithms.This SDR operates in the frequency range of 50 MHz to 2.2 GHz and connects to the host PC via Gigabit Ethernet.Gain range of USRP 2920 is 0 dB to 31 dB.By integrating the USRP 2920 with the LABVIEW communication suite, a complete wireless communication system is designed.This section presents the error performance evaluation of proposed QC-LDPC code (N=1248, K=1216, R=0.9) using USRP 2920 hardware device.
Figure 13.shows the experimental set-up used to conduct the tests and parameters for both the transmitter and receiver codes are set as given in Table 5.For a message block size of K=1216 and higher code rate of R=0.9, there were no issues and the results are provided in Fig .13.The error correction performance of the proposed QC-LDPC code is analyzed using the Bit Error Rate (BER) vs Eb/No as given in Fig. 14.
To construct girth six QC-LDPC codes using Chinese Remainder Theorem (CRT) method and short codes that can achieve high error correction capability.
Girth-6 QC-LDPC codes constructed using this method show better decoding performance using the iterative decoding with sum-product algorithm (SPA) in about 50 iterations Large girth six QC-LDPC codes with high code rates (R=0.86)an girth six shows better decoding performance using SPA decoding with 50 iterations over AWGN channel.

Sheng
Huang (2016) To construct high rate QC-LDPC codes with good distance property that can be applied to high speed applications Achieved good error correction capability in about 30 iterations with SPA decoding algorithm

Proposed work
To construct high rate QC-LDPC codes with girth six property by combining the proposed sparse base matrix of girth six and exponent matrix based on finite fields.
Achieved good error correction capability in about 15-20 iterations with SPA decoding algorithm.The proposed QC-LDPC codes are highly sparse code with high decoding performance due to their girth six property.

Discussion
Table .6presents the comparison between the existing works and the proposed work in terms of BER performance.It is clear that, mainly due to the girth six property obtained by combining the proposed girth six base matrix, it's corresponding CPM matrices and the proposed difference exponent matrix (Pde), the newly constructed proposed QC-LDPC codes show better decoding performance than the already existing codes given in literature as given in Table 6.. Furthermore, the high sparsity level of the proposed codes reduces the computations involved in encoding and decoding operations, which help in achieving high speeds.

Conclusion
In this paper, we have analyzed the performance of the highly sparse proposed QC-LDPC with high code rate (0.9) and girth six in terms of encoding decoding speeds and storage overhead produced.These codes have been constructed using the sparse girth six base matrix and a proposed difference exponent matrix which shows low storage overhead and high-speed encoding decoding computations with high storage efficiency.We evaluated the performance of our proposed QC-LDPC codes over the AWGN channel.Simulation results demonstrate superior performance compared to conventional LDPC codes, conventional QC-LDPC codes, and other algorithmic codes of similar size and rates.Software implementation of the proposed QC-LDPC code (N=1248) has been carried out using a hardware device NI USRP 2920(SDR) and a low BER of 10^-6 at 4.2dB Eb/N0 is achieved for a high code rate of R=0.9.Hence, we conclude that QC-LDPC codes with zero short cycles and high sparsity constructed using the proposed algorithm are suitable for both cloud data storage systems and wireless communication systems.

Figure 2 :
Figure 2: Removal of cycle 4 by flipping one's that forms the short cycleThe base matrix with girth six constructed using steps 1 to 5 is known as the proposed base matrix, Hb with (nxm) size, where n represent the number of columns of Hb matrix and m represent the number of rows of the Hb matrix.The generated Hb base matrix from section 3.1 is combined with the novel difference exponent matrix Pde with a lift factor, P given in section 3.2 to construct Hi matrix and the required H matrix.

Step 6 .Step 7 .Step 8 .
, 1) − p(m − 1,1) . .p(m, n) − p(m − 1, n − 1) ] (15) Example: Eqn.(13) after performing step 5. becomes If the rows are identical, then any one of the rows is removed.Example: The eqn (16) has two identical rows, hence one of them must be cancelled to get the new difference matrix as shown in (16) Replace the negative integer values by zero.If no negative values are present, insert new zero matrices in between to increase the good distance property.If two similar integer values are present in close locations, interchange the values such that the they are separated by large distance to obtain the proposed exponent matrix,   .Example: Interchanging the values in the first and the second rows of Pd matrix, as shown in Fig 3., gives the required difference exponent matrix Pde.

Figure 4 :
Figure 4: Structure of the proposed QC-LDPC code.

Figure 5 :
Figure 5: Systematic LDPC code with 4 data nodes and 3 parity nodes.

Figure 6 :
Figure 6: System model of QC-LDPC coded cloud storage system

Figure 7 .
Figure 7. High level architecture of S3 cloud storage system.

Figure 8 :
Figure 8: Backend system of the cloud data storage infrastructure.The backend systems, including CM, LB, API server, DB, and SL, operate synchronously to deliver an effective data storage solution with high data reliability and availability for users.The key terms are described as follows: -Cluster Manager (CM) -Manages all servers, handles account allocation, oversees account management, controls bucket creation, and grants or removes permissions.Load Balancer (LB) -Performs various operations such as uploads, downloads, and archiving.API Server (API) -Acts as the central application server responsible for handling all user requests.Database Server (DB) -Stores user file information, encryption keys, and authentication data.Streaming Layer (SL) -Performs replication and keeps another copy of the data in region 2 in other data centers.Once a user creates an account with S3, CM allocates the user account by obtaining the necessary permissions from the Authentication Server or the DB.User creates new buckets through the S3 Console once the required permissions are granted.CM updates the bucket's

Figure 9 :
Figure 9: a) H matrix -Before removal of girth 4 (64x1216) by applying CPM matrices in generalized exponent matrix E (H)

Figure 10 :
Figure 10: a) H matrix -Less sparse QC-LDPC code before applying algorithm b) H matrix with more sparsity after applying algorithm.
for an (N, K, M) QC-LDPC code, where N represents the code length, K denotes the number of information blocks, and M signifies the number of parity blocks, are elucidated as follows: a) Erasure correction capability '' of QC-LDPC code is computed by  = ( + ) −  (20) where 'f' is the storage overhead factor It is well known that LDPC codes [29,27] requires  blocks out of K + M encoded blocks to recover the original K data blocks.b) Storage overhead (Sovh) is determined by the ratio of the number of parity blocks to the number of data blocks [32].c) Storage efficiency '' can be calculated by determining the percentage of the code rate of the QC-LDPC code.Decoding Overhead   [32]: It is defined as the number of blocks required for decoding - e) Decoding Overhead Ratio   Ratio: It is defined as the number of blocks needed to decode by the actual number of data blocks minus 1. [32]   Ratio = Number of blocks needed to decode Actual number of data blocks − 1 (22) Table.4. shows the comparative analysis of the proposed QC-LDPC codes with conventional LDPC, QC-LDPC codes, and traditional RS codes based on storage performance metrics.Novel Algorithm to Construct QC-LDPC Codes for High Data… Informatica 47 (2023) 125-140 135

Figure 13 :
Figure 13: Experimental setup On the transmitter end, the parameters are set such as USRP's IP address, carrier frequency, IQ rate, active antenna and gain.The proposed QC-LDPC code is inserted into the program along with the source data bits and it is run.The user data bits are encoded and mapped into symbols, which are BPSK modulated and converted to analog signals.

Fig 14 .
Fig 14.BER performance of proposed QC-LDPC vs Conv.LDPC and QC-LDPC codes Figure.13.shows a very low BER of 10 -8 in 2.5 dB Eb/No compared to conventional LDPC and conventional QC-LDPC codes of similar rate and lengths.It is due to the high level of sparsity of the proposed base matrix with code rate 0.5, which is expanded to obtain a high code rate QC-LDPC code of 0.9 and with girth of atleast six.

2 S
.Noor (2010) To construct short length QC-LDPC codes with girth six based on multiplicative group in the finite field and to improve BER performance by applying masking technique .Short length QC-LDPC codes achieved a BER of 10 -6 at about 4 dB Eb/No and no error floor is seen 3 LAN et al.(2007)To construct RC-constrained arrays of circulant permutation matrices (CPM) based on the multiplicative groups of finite fields.The CPM matrices and zero matrices are combined to obtain QC-LDPC codes without cycle 4.While decoding short QC-LDPC codes with medium code rate 0.75,and iterative decoding using SPA technique in AWGN channel with BPSK modulation shows good BER performance of 10 -6 at about 3.8dB.The number of decoding iterations is set to either 50 or 100. 4 SONG et al. (2009) To construct a base matrix over some finite field and which satisfies RC constraint.The elements in base matrix are replaced by binary circulants to form QC-LDPC codes with girth six over GF(q)

Table 1 :
Summary of related works and contributions

Table 2 :
Encoding speeds of the proposed QC-LDPC code vs Conv.LDPC or QC-LDPC codes vz RS code

Table 3 :
Decoding speeds of the proposed QC-LDPC code vs Conv.LDPC or QC-LDPC codes vz RS code

Table 4 :
Storage performance analysis

High code rate proposed QC-LDPC code of 0.9 and above produces lesser storage overhead than medium-high code rate proposed QC- LDPC code of 0.8. Further, proposed QC-LDPC codes were found to have much better storage performance than the conventional LDPC codes and traditional RS codes.
Due to the highly sparse girth six property of proposed QC-LDPC codes, it can be seen that they have less decoding overhead compared to conventional codes and RS codes.Thus, we conclude that the proposed QC-LDPC codes are the best among the three candidates for cloud data storage systems based on their faster encoding decoding speeds, high storage efficiency and reduced storage overhead..

Table 6 :
Comparison of the existing work with the proposed work.