Skip to content

komp/SparseMatrix2D

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SparseMatrix2D

This repository is a study. It will operate explicitly on the 1024 rate 1/2 LDPC (using min-sum). It does not intend to do long SNR studies, etc. I have verified that the original implementation matches Erik's matlab implementation exactly to the level of floating point accuracy for bit estimates at each iteration. So, the work here is to find how quickly we can perform the decode with the data structure(s) described below.

In the early state, at least, this codes does NOT rely on the actual H matrix. It reads a number of parameters and matrices that contain the information needed for this algorithm from a Matlab generated input file. (These never change for the given encoding, so it did not seem necessary to recode existing Matlab work into C.)

ALSO, this does not include an encoder section. Read the noisy received signal, also generated with Matlab.

If the study shows promise, we start over, generalize, and do complete testing.

=================== Key Idea ============================= the H Matrix for LDPC is very sparse. For the case: InfoLength = 1024, Rate 1/2 H is 1536 rows by 2560 columns No row has more than 6 non-zero values; and no col has more than 6 non-zero values.

We iteratively perform operations on non-zero values first along the rows (node processing); then along the cols (bit esitamation). The indexes themselves are not relevant.

the row operations are independent; and the the col operations are independent. This allows for very simple parallelization. BUT, for the row ops we want the Sparse Matrix in row-order; while for the col ops we wnat the Sparse Matrix in col-order.

So, wth a row-order copy of H, we perform the node processing in parallel.

Then we encounter the ONE problem, how to efficiently transform this H matrix in row-order to one in col-order, so that we can parallelize the bit estimates step. (and then, transform this output back to row-order for the next iteration).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published