Commit graph

14 commits

Author SHA1 Message Date
Thomas Kolb de0f3620e6 Move hexdump() function to utils 2024-06-01 16:04:17 +02:00
Thomas Kolb f6404dd0ea Move payload CRC to layer 2
Layer 1 only does decoding of the FEC, but the CRC check for data integrity is
done in layer 2 now.
2024-05-31 17:25:50 +02:00
Thomas Kolb 65daa182ef Use the new logging system everywhere 2024-05-30 10:49:43 +02:00
Thomas Kolb d6eaef91cd Switch to new logging system
The new system supports:

- time-tagging of log messages
- message priority levels with a threshold below which they are not printed
- colored output of the message priority for easy identification
- compile-time disabling of all logging per C module

So far, it is integrated in the main and rx modules which generate most
messages. Other modules will be migrated in the future.
2024-05-28 23:53:11 +02:00
Simon Ruderich 657ac4faa3 test_rx_file: add JSON logging (controllable via JSONLOGGER define) 2024-05-28 08:51:56 +02:00
Thomas Kolb a42d795002 Dump debug info from the RX via jsonlogger 2024-05-07 21:40:29 +02:00
Simon Ruderich a3928d0ad0 Fix compiler warnings
- passing argument 2 of 'crc_generate_key' discards ‘const’ qualifier;
  a bit ugly but signature of crc_generate_key() is wrong
- variable 'linearized_history' set but not used
- typedef is unused
- superfluous arguments to DEBUG_LOG() and fprintf()
- implicit declaration of function 'memset'
- unused arguments
2024-04-27 12:22:33 +02:00
Simon Ruderich 2768e21849 test_rx_file: set nco frequency 2024-04-20 01:14:17 +02:00
Thomas Kolb bbf7bcf2f0 test/freq_est: add channel simulation 2024-03-30 22:05:02 +01:00
Thomas Kolb d9707ac4a9 test: add test_rx_file 2024-03-30 21:56:00 +01:00
Thomas Kolb f5a367464f Optimized one-shot frequency synchronization
- Ramp-up length increased to 128 symbols (here is room for
  improvement!)
- Try to detect the frequency once during ramp-up. To do so, every
  second symbol is inverted (to remove the +/-1 symbol toggling) and the
  phase difference between neigboring resulting symbols is checked. When
  it is low enough for all symbols, the frequency is estimated and
  corrected. When frequency estimation was done, it is not retried for a
  number of incoming symbols in order to allow the timing estimator to
  converge again.
- This approach was verified in a simulated loopback test with frequency
  offset and AWGN.
2023-05-17 22:28:18 +02:00
Thomas Kolb a7db93ab9e Added test for frequency estimator 2023-05-17 22:26:46 +02:00
Thomas Kolb 7d5b67a257 Add layer 1 software loopback test 2023-05-12 13:46:02 +02:00
Thomas Kolb 513a399ae4 Refactoring: moved layer1-related stuff to subdirectory 2022-02-13 20:05:47 +01:00