Commit graph

122 commits

Author SHA1 Message Date
Ahmet Inan
c4bcf6de1b precompute weights 2025-06-27 14:11:23 +02:00
Ahmet Inan
ab5a0ed683 replaced synchronization symbol with two longer symbols 2025-06-27 14:11:23 +02:00
Ahmet Inan
02c7e6d3f2 added clamp lambda 2025-06-27 10:21:30 +02:00
Ahmet Inan
68e0e81593 decoder depends on Schmidl & Cox header 2025-06-27 08:03:02 +02:00
Ahmet Inan
77719cc63b added more shuffles 2025-06-25 16:39:28 +02:00
Ahmet Inan
8cb6f44085 added more codes with hand-picked erasure probabilities 2025-06-25 15:43:44 +02:00
Ahmet Inan
4cb15194aa replaced Fisher-Yates shuffle with XorShiftMask mapping 2025-06-25 12:35:32 +02:00
Ahmet Inan
f92a24eb5a use non-systematic polar codes 2025-06-25 11:54:53 +02:00
Ahmet Inan
1076bb953b replaced deprecated -Ofast with -O3 -ffast-math 2025-06-12 12:41:19 +02:00
Ahmet Inan
6282c0af33 avoid variable length arrays 2024-11-07 11:07:43 +01:00
Ahmet Inan
d5a0b5c2f2 moved Schmidl & Cox correlator to own header 2024-03-17 11:55:25 +01:00
Ahmet Inan
2ec2af1ec9 algorithm header not needed anymore 2024-03-09 19:32:53 +01:00
Ahmet Inan
cd03049294 oops 2024-03-09 18:13:25 +01:00
Ahmet Inan
ad3cf75925 avoid oversaturation decoder errors at high SNR 2024-02-21 11:28:35 +01:00
Ahmet Inan
359a38ad6e candidates are sorted now 2024-02-09 13:42:40 +01:00
Ahmet Inan
a56466c08f added support for multiple input and output files 2024-01-25 17:26:36 +01:00
Ahmet Inan
6523f6f701 added scale parameter 2024-01-24 14:55:47 +01:00
Ahmet Inan
2d765a78fd start parity bits early, as we use a crc at the end 2024-01-21 11:01:18 +01:00
Ahmet Inan
d69dd7aa03 use parity aided polar codes 2024-01-20 23:13:58 +01:00
Ahmet Inan
ad5f0e04ea removed rattlegram modes 2024-01-20 18:16:30 +01:00
Ahmet Inan
390a11e5dc revised modes to better amortize the preamble cost
.. and to have a larger minimum size payload of 256 bytes
2024-01-05 13:24:49 +01:00
Ahmet Inan
c597ac3398 added rattlegram modes 2024-01-03 18:12:48 +01:00
Ahmet Inan
88e8a3ad94 replaced frequency offset paramter with operation mode 2024-01-03 17:22:12 +01:00
Ahmet Inan
41472f6f77 allow up to 10% of constellation point distance 2023-12-26 13:48:49 +01:00
Ahmet Inan
bce8a6ee56 erase remaining bits 2023-12-26 11:28:56 +01:00
Ahmet Inan
fff6c60bbe added six new modes
Mode 23: DQPSK, 1/2-rate code, 1600 Hz bandwidth and 1.08 seconds
Mode 24: DQPSK, 3/4-rate code, 1600 Hz bandwidth and 1.08 seconds
Mode 25: QAM16, 1/2-rate code, 1700 Hz bandwidth and 1.08 seconds
Mode 26: QAM16, 3/4-rate code, 1700 Hz bandwidth and 1.08 seconds
Mode 27: QAM64, 2/3-rate code, 1900 Hz bandwidth and 1.26 seconds
Mode 28: QAM64, 3/4-rate code, 1900 Hz bandwidth and 1.26 seconds
2023-12-26 11:28:56 +01:00
Ahmet Inan
d98abc99cd do finer compensation using data-driven estimation 2023-12-18 19:07:47 +01:00
Ahmet Inan
b93079de81 compensate using comb type pilots 2023-12-18 13:23:13 +01:00
Ahmet Inan
71cc33e481 do unlimited clipping before the PCM writer does it 2023-12-18 10:13:32 +01:00
Ahmet Inan
d978bb0be6 base modulation order from mod_bits 2023-12-17 11:45:01 +01:00
Ahmet Inan
513664a0e3 shuffle the code bits 2023-12-16 08:30:47 +01:00
Ahmet Inan
dc1a5b2ef7 removed the extra pilot block 2023-12-16 08:05:17 +01:00
Ahmet Inan
8a54b59d1e compensate using data driven estimation 2023-12-15 23:47:55 +01:00
Ahmet Inan
7a87215eb3 doubled symbols and payload size 2023-12-15 20:17:38 +01:00
Ahmet Inan
cd9d912711 changed four QPSK symbols to two QAM16 symbols 2023-12-15 19:14:58 +01:00
Ahmet Inan
d1a2ec19f0 added three new, non-differential modes 2023-12-15 18:38:54 +01:00
Ahmet Inan
4649221a62 disabled compensation 2023-12-15 18:22:33 +01:00
Ahmet Inan
a37246b7a0 limit the amount of damage clipping can do 2023-12-15 12:51:54 +01:00
Ahmet Inan
4d63fc5df0 keep it simple 2023-12-15 11:54:11 +01:00
Ahmet Inan
ae4d601e96 added reserved tones parameter 2023-12-15 11:44:47 +01:00
Ahmet Inan
5eb0e100a7 let's seem them both work together 2023-12-15 10:50:29 +01:00
Ahmet Inan
ace307de9c increased amplitude to see PAPR reduction work 2023-12-15 10:45:50 +01:00
Ahmet Inan
c8f1096474 allow up to a hundred iterations 2023-12-15 10:35:16 +01:00
Ahmet Inan
0b99170d62 eight reserved tones are enough 2023-12-14 16:56:34 +01:00
Ahmet Inan
d32860f7af derive from number of reserved tones 2023-12-14 16:56:34 +01:00
Ahmet Inan
c851ed2a5a stop papr reduction if goal is reached 2023-12-14 16:56:27 +01:00
Ahmet Inan
d3a37c9e83 use the tone reservation technique to improve PAPR 2023-12-14 10:51:43 +01:00
Ahmet Inan
bf382cfe77 improved some names 2023-12-14 10:23:21 +01:00
Ahmet Inan
b2c0e56c4f compute the complex PAPR
even though we only use the real part
2023-12-14 09:14:58 +01:00
Ahmet Inan
0cf139ddaf we already are oversampled 2023-12-14 08:51:25 +01:00