Ahmet Inan
|
03ac76c7d8
|
added reciprocal from index to index type
|
2023-04-15 20:17:31 +02:00 |
|
Ahmet Inan
|
e55c2bc083
|
added a simple reversible block wise shuffle
|
2023-03-28 11:44:15 +02:00 |
|
Ahmet Inan
|
346245c4cc
|
added simple interleavers
|
2023-03-27 11:07:04 +02:00 |
|
Ahmet Inan
|
3a860b9c73
|
use compile time constant for size
|
2023-03-27 10:09:18 +02:00 |
|
Ahmet Inan
|
f6170cc923
|
added bit-reversal permutation
|
2023-03-25 10:52:39 +01:00 |
|
Ahmet Inan
|
e0857552bb
|
added reversible Fisher-Yates shuffle
|
2023-03-25 09:56:27 +01:00 |
|
Ahmet Inan
|
476a346295
|
use -O2 with -ffast-math and -ftree-vectorize
|
2022-04-07 21:36:38 +02:00 |
|
Ahmet Inan
|
0e1a5a45e4
|
the 2/3 LDPC code uses T=10 BCH code in DVB
v1.0
|
2021-07-22 09:24:45 +02:00 |
|
Ahmet Inan
|
d9b98653dd
|
use short code and a larger list with fixed-point
|
2021-07-13 13:45:06 +02:00 |
|
Ahmet Inan
|
a1764d4d83
|
added CRC aided SCL example
|
2021-07-13 12:15:57 +02:00 |
|
Ahmet Inan
|
9662bf9609
|
simplified branches with only information bits
|
2021-07-13 10:50:06 +02:00 |
|
Ahmet Inan
|
d87ce6e81e
|
simplified branches with only frozen bits
|
2021-07-13 10:50:06 +02:00 |
|
Ahmet Inan
|
631ec8beef
|
use uint32_t for the frozen bits
|
2021-07-13 10:50:06 +02:00 |
|
Ahmet Inan
|
687ae706d7
|
double needs __m128d
|
2021-07-13 10:50:06 +02:00 |
|
Ahmet Inan
|
cc1f412f5d
|
added polar bit freezers, encoders and decoders
|
2021-07-11 10:30:22 +02:00 |
|
Ahmet Inan
|
024ffa1d25
|
use C++17 for new alignment support
|
2021-07-10 23:34:09 +02:00 |
|
Ahmet Inan
|
6cddcef660
|
added vcopysign()
|
2021-07-10 23:34:09 +02:00 |
|
Ahmet Inan
|
778d51ac0f
|
added vshuf()
|
2021-06-21 10:17:46 +02:00 |
|
Ahmet Inan
|
369decd8c3
|
added and used DVB 2/3 code as default
|
2021-06-08 14:58:19 +02:00 |
|
Ahmet Inan
|
912c89a0b9
|
added more examples and references
|
2021-06-08 13:37:29 +02:00 |
|
Ahmet Inan
|
6bfbc4ed66
|
CRC is in CODE namespace
|
2021-04-13 14:58:12 +02:00 |
|
Ahmet Inan
|
189715364e
|
faster to xor the rows with machine word size
|
2020-08-10 10:56:20 +02:00 |
|
Ahmet Inan
|
671b2f22ce
|
relax range requirement for soft inputs to full range
|
2020-08-07 08:13:08 +02:00 |
|
Ahmet Inan
|
811024f128
|
added BCH(15, 5) T=3 example
|
2020-08-06 20:39:01 +02:00 |
|
Ahmet Inan
|
304a7c8045
|
pad horizontally to next size of machine word
|
2020-08-06 20:02:38 +02:00 |
|
Ahmet Inan
|
34a21139c7
|
added ordered statistics decoding
|
2020-08-06 13:39:09 +02:00 |
|
Ahmet Inan
|
2944a44b28
|
time to embrace #pragma once
|
2020-08-05 10:43:49 +02:00 |
|
Ahmet Inan
|
d196187187
|
use const on args to improve readability
|
2020-08-05 10:08:02 +02:00 |
|
Ahmet Inan
|
ea07a593d7
|
added BCH(127, 64) T=10 example
|
2020-07-31 10:10:38 +02:00 |
|
Ahmet Inan
|
451bc4e5cc
|
added BCH(255, 131) T=18 example
|
2020-07-28 15:41:45 +02:00 |
|
Ahmet Inan
|
48303e7f58
|
added vmul() and vsignum()
|
2020-07-13 10:21:19 +02:00 |
|
Ahmet Inan
|
0797171e03
|
don't rely on err[] being signed
|
2020-07-08 13:46:07 +02:00 |
|
Ahmet Inan
|
14967f8841
|
lowered ML-decoding threshold to K <= 4
|
2020-07-08 11:25:11 +02:00 |
|
Ahmet Inan
|
af5160efd3
|
return -1 for more than T errors
|
2020-07-08 11:15:29 +02:00 |
|
Ahmet Inan
|
21a44acf4b
|
added result_type, min() and max() methods
|
2020-07-04 18:53:47 +02:00 |
|
Ahmet Inan
|
6045870288
|
added BCH(31, 16) T=3 for testing
|
2020-06-15 07:33:21 +02:00 |
|
Ahmet Inan
|
945da60cbd
|
introduced L constant to play with the number
|
2020-06-14 23:13:10 +02:00 |
|
Ahmet Inan
|
eccb5ea436
|
removed T=4 as it is unrealistic for short codes
|
2020-06-14 21:10:11 +02:00 |
|
Ahmet Inan
|
b54be1c997
|
moved constructor generator argument to template parameter
|
2020-06-14 20:43:45 +02:00 |
|
Ahmet Inan
|
538950ca88
|
improved unrolled K = 2 .. 4 and removed 5 and 6
the generic divide and conquer method produces now better code than the
manually unrolled versions for K > 4
|
2020-06-14 00:48:11 +02:00 |
|
Ahmet Inan
|
9b4998a3c5
|
use in-place fast Walsh–Hadamard transform
|
2020-06-14 00:23:11 +02:00 |
|
Ahmet Inan
|
c0ab2902e8
|
minor cleanup
|
2020-06-14 00:01:37 +02:00 |
|
Ahmet Inan
|
a0f710f9b7
|
improved unrolled K = 2 .. 4 and removed 5 and 6
the generic divide and conquer method produces now better code than the
manually unrolled versions for K > 4
|
2020-06-13 22:42:29 +02:00 |
|
Ahmet Inan
|
3596f2943b
|
use in-place fast Walsh–Hadamard transform
|
2020-06-13 21:37:31 +02:00 |
|
Ahmet Inan
|
759ca4b896
|
added tests for Simplex and Hadamard encoders
|
2020-06-13 13:28:42 +02:00 |
|
Ahmet Inan
|
003d3bbd4f
|
divide and conquer decoders for K = 2 .. 6
|
2020-06-12 12:08:47 +02:00 |
|
Ahmet Inan
|
ae13fc7acc
|
doubled loops
|
2020-06-12 12:06:41 +02:00 |
|
Ahmet Inan
|
43c5d6a91a
|
encoder and soft decoder for augmented Hadamard codes
|
2020-06-11 23:11:31 +02:00 |
|
Ahmet Inan
|
619d8bd3b4
|
reduced code duplication with lambda update()
|
2020-06-11 12:29:22 +02:00 |
|
Ahmet Inan
|
8c2e824b4e
|
moved runtime assert for radius T to compile time
|
2020-06-11 08:26:15 +02:00 |
|