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
d28adaeb13
added aarch64 example
2023-12-13 20:31:39 +01:00
Ahmet Inan
30e34dfef5
keep limits symmetric so it doesn't interfere with scrambling
2023-12-13 20:27:44 +01:00
Ahmet Inan
12c11b84c9
erase weak subcarriers
2023-12-13 17:15:21 +01:00
Ahmet Inan
7c693b1075
set default CFO to 1500 Hz
2023-03-08 08:32:39 +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
Ahmet Inan
d1adc5c5ca
erase constellation points outside of radius two
2021-08-28 18:00:19 +02:00
Ahmet Inan
1d02d34e8c
Revert "increased guard interval to 1/4"
...
This reverts commit 7c7ed0ffd7 .
2021-08-25 11:41:02 +02:00
Ahmet Inan
5270c7d38f
increase power of S&C symbol by two
2021-08-20 21:12:58 +02:00
Ahmet Inan
c81f3a15f9
skip PAPR reduction on S&C symbol
2021-08-20 21:09:00 +02:00
Ahmet Inan
7c7ed0ffd7
increased guard interval to 1/4
...
to reduce ISI and support sample rates 11025 Hz and 22050 Hz
2021-07-27 13:14:00 +02:00
Ahmet Inan
8d5d7fc0c2
use the DVB recommended T=10 BCH code
2021-07-21 17:15:47 +02:00
Ahmet Inan
6f99db1444
improve CFO estimation using hard decision
2021-07-21 00:12:59 +02:00
Ahmet Inan
357a90805c
use a simpler estimation for finer CFO
2021-07-20 21:47:49 +02:00
Ahmet Inan
ef152cc53f
scramble user data only using Xorshift32
2021-07-18 04:48:32 +02:00
Ahmet Inan
2645f96056
added support for various operation modes:
...
mode 2: 8PSK, 2700 Hz bandwidth and about 10 seconds long
mode 3: 8PSK, 2500 Hz bandwidth and about 11 seconds long
mode 4: QPSK, 2500 Hz bandwidth and about 16 seconds long
mode 5: QPSK, 2250 Hz bandwidth and about 18 seconds long
2021-06-16 19:54:55 +02:00
Ahmet Inan
fa1cc128be
use BPSK for the pilot blocks
2021-06-16 19:53:28 +02:00
Ahmet Inan
463836c41f
made number of active carriers a constructor argument
2021-06-16 15:16:01 +02:00
Ahmet Inan
07682ac19f
added cross-compilation and testing for ARMv7 with NEON
2021-06-15 07:55:08 +02:00