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
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
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
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
bf382cfe77
improved some names
2023-12-14 10:23:21 +01:00
Ahmet Inan
9a4fc65d1e
reduced buffering
2023-12-14 08:25:33 +01:00
Ahmet Inan
4706f00281
relaxed dc blocker
2023-12-14 08:23:24 +01:00
Ahmet Inan
e27c8e1e06
added extended length constant
2023-12-14 08:21:34 +01:00
Ahmet Inan
31a28e3de7
lowered lowest allowed volume by an order of magnitude
2023-12-14 07:41:31 +01:00
Ahmet Inan
859b64ef0e
keep limits symmetric
2023-12-13 20:38:45 +01:00
Ahmet Inan
9c75c4f3e2
removed redundant buffers
2023-12-13 20:35:28 +01:00
Ahmet Inan
12c11b84c9
erase weak subcarriers
2023-12-13 17:15:21 +01:00
Ahmet Inan
c9ce52c45c
set data_len to zero on payload error
2023-02-03 11:31:13 +01:00
Ahmet Inan
6f58e93018
added support for modes 0, 15 and 16
2023-01-04 15:37:23 +01:00
Ahmet Inan
91ba106dc6
use int8_t for a larger list
2022-05-19 12:21:09 +02:00
Ahmet Inan
41795780cb
added mode 14 for short messages
...
using SPC(2048, 1392), QPSK, 1600 Hz BW and about 1 second long
2022-05-18 23:14:26 +02:00
Ahmet Inan
16e495ab9c
show number of bit flips
2022-05-18 16:38:41 +02:00
Ahmet Inan
8a9c7f29a2
use precision estimate from each OFDM symbol
2022-05-18 12:29:48 +02:00
Ahmet Inan
44fae606fd
simplified precision estimation
2022-05-18 12:05:47 +02:00
Ahmet Inan
0fac5fc62b
added prepare()
2021-10-08 11:30:20 +02:00
Ahmet Inan
2c72572e27
Revert "estimate SFO by cross-correlating S&C symbols"
...
This reverts commit 96ea292b0c .
2021-09-17 22:52:53 +02:00
Ahmet Inan
da855f6510
replace "-" with "/dev/stdin" or "/dev/stdout"
2021-09-12 10:15:47 +02:00
Ahmet Inan
96ea292b0c
estimate SFO by cross-correlating S&C symbols
2021-09-07 00:19:06 +02:00
Ahmet Inan
56bd51012c
show a dot for each symbol demodulated
2021-09-06 16:11:15 +02:00
Ahmet Inan
ba102a5799
added next_sample()
2021-09-06 12:12:13 +02:00
Ahmet Inan
daa47615d3
do the demodulation online using the first preamble
2021-09-06 00:06:33 +02:00
Ahmet Inan
7b45ee894d
use the Theil-Sen estimator on each symbol
2021-09-03 20:52:47 +02:00
Ahmet Inan
8d62a3c90b
estimate SFO and CFO via simple linear regression
...
and compensate by correcting constellation points
2021-09-03 20:52:47 +02:00
Ahmet Inan
5c2743f5e7
do not resample
2021-09-03 20:52:47 +02:00
Ahmet Inan
99b6a4e963
use a shortened systematic polar code and CA-SCL decoding
...
using SPC(64800, 43072):
mode 6: 8PSK, 2700 Hz BW and about 10 seconds long
mode 7: 8PSK, 2500 Hz BW and about 11 seconds long
mode 8: QPSK, 2500 Hz BW and about 16 seconds long
mode 9: QPSK, 2250 Hz BW and about 18 seconds long
using SPC(64512, 43072):
mode 10: 8PSK, 3200 Hz BW and about 9 seconds long
mode 11: 8PSK, 2400 Hz BW and about 11 seconds long
mode 12: QPSK, 2400 Hz BW and about 16 seconds long
mode 13: QPSK, 1600 Hz BW and about 24 seconds long
2021-09-03 20:52:09 +02:00