Lcrypto / trapping-sets-enumeration

Importance Sampling and Linear Programming based Enumerating and Weighing of Trapping sets in LDPC codes, ISING models and related DNN Arch( Transformer, RBM, BM, SPN und etc),
20 stars 7 forks source link

create H matrix with small trapping sets #4

Closed jacowp357 closed 9 months ago

jacowp357 commented 10 months ago

Hi,

Do you have code available that creates H matrices with small trapping sets? I am looking for small code length H matrices that are badly designed LDPC codes to test.

Jaco

Lcrypto commented 10 months ago

Hi Jaco, yes https://github.com/Lcrypto/Guess-and-Test-For-CPM-weight-more-1 and you can use from codes from https://github.com/Lcrypto/trapping-sets-enumeration/tree/master/Article%20An%20Modified%20Cole's%20Importance%20Sampling%20Method%20For%20Low%20Error%20Floor%20QC-LDPC%20Codes%20Construction

for example https://github.com/Lcrypto/trapping-sets-enumeration/blob/master/Article%20An%20Modified%20Cole's%20Importance%20Sampling%20Method%20For%20Low%20Error%20Floor%20QC-LDPC%20Codes%20Construction/code_1_parity_check_matrix_20_4_128girth4emd2.txt

and compare with https://github.com/Lcrypto/trapping-sets-enumeration/blob/master/Article%20An%20Modified%20Cole's%20Importance%20Sampling%20Method%20For%20Low%20Error%20Floor%20QC-LDPC%20Codes%20Construction/code_5_parity_check_matrix_20_4_128girth6emd5.txt

jacowp357 commented 10 months ago

Thank you.

My understanding is that the trapping sets play a large role in the LDPC code error floor performance on the BSC and AWGN channel. I am looking for H matrices that have a quick error floor between $10^{-3}$ to $10^{-6}$

How do I create the binary H matrix from these text files:

20 4 128
75 36 12 58 127 53 114 1 18 48 116 120 15 51 63 95 68 109 103 -1 20 0 0 0 8 54 0 44 111 28 99 75 81 81 42 30 119 34 1 81 18 113 59 29 58 123 38 3 91 113 1 0 89 72 44 78 90 -1 85 36 71 10 85 110 66 99 77 109 100 0 43 33 124 26 98 74 28 122 -1 41

Lcrypto commented 10 months ago

Use https://github.com/Lcrypto/trapping-sets-enumeration/blob/master/qc2sparse.m function

jacowp357 commented 10 months ago

These codes have a length = 2560, do you perhaps have a smaller code you can generate? 200 to 1000 bits long?