Commit graph

84 commits

Author SHA1 Message Date
Ahmet Inan
a9e221adf1 added bpsk and qpsk types to reduce code 2023-05-12 09:42:19 +02:00
Ahmet Inan
532394d359 keep limits symmetric so it doesn't interfere with scrambling 2023-05-12 09:29:01 +02:00
Ahmet Inan
0698e22d57 use a horizontally modulated simplex code for the preamble 2023-05-11 13:06:45 +02:00
Ahmet Inan
5afd9fa8d6 shuffle bits to improve decoding with burst errors 2023-05-11 09:07:02 +02:00
Ahmet Inan
9c2cebe202 added aarch64 example 2023-05-11 09:06:40 +02:00
Ahmet Inan
752b155b7a corrected test 2023-05-11 09:05:48 +02:00
Ahmet Inan
c844a3a181 center subcarriers at DC for decoding 2023-03-08 08:28:53 +01:00
Ahmet Inan
03da985dd0 scramble preamble 2023-03-05 08:33:08 +01:00
Ahmet Inan
0e6b41a9c5 added comment for debugging 2023-02-16 10:29:51 +01:00
Ahmet Inan
0c2404519d added half a second of leading noise 2023-02-12 11:43:19 +01:00
Ahmet Inan
ad1dc32e7f lowered lowest allowed volume by an order of magnitude 2023-02-12 11:10:33 +01:00
Ahmet Inan
13dd3481c7 added 8 bit operation mode symbol 2023-02-11 21:18:14 +01:00
Ahmet Inan
c305cc7862 corrected simulation example 2023-02-11 19:29:51 +01:00
Ahmet Inan
2763a9c2e8 renamed delay to align 2023-02-10 12:32:38 +01:00
Ahmet Inan
826992a2d0 use only 50% of the suffix for windowing 2023-02-10 12:08:01 +01:00
Ahmet Inan
1987562651 reduced size of buffering 2023-02-10 11:53:47 +01:00
Ahmet Inan
a9d4249ea5 removed redundant buffers 2023-02-10 11:43:04 +01:00
Ahmet Inan
b1d704513b frequency shifted sync symbol not worth the trouble 2023-02-10 11:28:59 +01:00
Ahmet Inan
cca0199d63 omit guard between synchronization symbols 2023-02-10 11:25:39 +01:00
Ahmet Inan
964c3f0ea3 the distance needs to include the guard now 2023-02-10 10:02:15 +01:00
Ahmet Inan
e57afffecf need to align the rotation 2023-02-10 09:15:52 +01:00
Ahmet Inan
b857741d9d experimenting with a scheme for Ribbit 2023-02-09 23:50:43 +01:00
Ahmet Inan
c9ce52c45c set data_len to zero on payload error 2023-02-03 11:31:13 +01:00
Ahmet Inan
80eefcdeea only report, don't show diff 2023-01-04 15:39:06 +01:00
Ahmet Inan
6f58e93018 added support for modes 0, 15 and 16 2023-01-04 15:37:23 +01:00
Ahmet Inan
ee81124c4b added 1/2 and 1/3 rate codes 2023-01-04 12:13:04 +01:00
Ahmet Inan
d3075d33c9 replace EOF with null terminator 2022-12-25 16:24:05 +01:00
Ahmet Inan
34fd021161 use only 50% of the suffix for windowing 2022-12-23 13:35:09 +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
c1253cd299 only allow statistics on c++ language v1.0 2021-10-22 12:26:01 +02:00
Ahmet Inan
0fac5fc62b added prepare() 2021-10-08 11:30:20 +02:00
Ahmet Inan
d22e18bb91 omit postamble 2021-10-06 17:26:30 +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
b7c5393b09 stream instead of playing ping pong 2021-09-12 10:16:00 +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
b7855e2c2c use operation mode zero to signal end of transmission 2021-09-06 08:22:56 +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
Ahmet Inan
a3a56bc830 freq offset needs to be divisible by 50.
use disorders/cfo if you need finer control
2021-09-03 20:50:33 +02:00
Ahmet Inan
3665d495b7 added demod_or_erase() helper function 2021-08-29 17:47:20 +02:00