aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt22
-rw-r--r--README_data.md1
2 files changed, 23 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cd45f4f..dbd2eca 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -669,6 +669,13 @@ endif()
cd ${CMAKE_CURRENT_BINARY_DIR}/src;
cat test.raw | ./ofdm_demod --mode datac14 --out /dev/null --testframes --ldpc --verbose 2 --packetsperburst 1")
+ # QAM16C2 Octave Tx, C Rx, burst mode
+ add_test(NAME test_OFDM_modem_qam16c2_octave
+ COMMAND sh -c "cd ${CMAKE_CURRENT_SOURCE_DIR}/octave;
+ DISPLAY=\"\" octave-cli -qf --eval 'ofdm_ldpc_tx(\"${CMAKE_CURRENT_BINARY_DIR}/src/test.raw\",\"qam16c2\",1,10,\"awgn\",\"bursts\",2)';
+ cd ${CMAKE_CURRENT_BINARY_DIR}/src;
+ cat test.raw | ./ofdm_demod --mode qam16c2 --out /dev/null --testframes --ldpc --verbose 2 --packetsperburst 1")
+
# DATAC4 C Tx, C Rx, burst mode
add_test(NAME test_OFDM_modem_datac4_ldpc_burst
COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src;
@@ -690,6 +697,13 @@ endif()
./ch - - --No -17 |
./ofdm_demod --mode datac14 --out /dev/null --testframes --ldpc --verbose 2 --packetsperburst 1")
+ # QAM16C2 C Tx, C Rx, burst mode
+ add_test(NAME test_OFDM_modem_qam16c2_ldpc_burst
+ COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src;
+ ./ofdm_mod --mode qam16c2 --in /dev/zero --testframes 1 --verbose 1 --ldpc --bursts 10 |
+ ./ch - - --No -30 |
+ ./ofdm_demod --mode qam16c2 --out /dev/null --testframes --ldpc --verbose 2 --packetsperburst 1")
+
# -------------------------------------------------------------------------
# LDPC
# -------------------------------------------------------------------------
@@ -1340,6 +1354,13 @@ endif(NOT APPLE)
./freedv_data_raw_rx DATAC14 - binaryOut.bin -v;
diff binaryIn.bin binaryOut.bin")
+ add_test(NAME test_freedv_data_raw_ofdm_qam16c2_burst_file
+ COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src;
+ head -c $((1213*10)) </dev/urandom > binaryIn.bin;
+ ./freedv_data_raw_tx qam16c2 binaryIn.bin - --bursts 10 |
+ ./freedv_data_raw_rx qam16c2 - binaryOut.bin -v;
+ diff binaryIn.bin binaryOut.bin")
+
# FSK LDPC default 100 bit/s 2FSK, enough noise for several % raw BER to give
# FEC/acquisition a work out, bursts of 1 frame as that stresses acquisition
add_test(NAME test_freedv_data_raw_fsk_ldpc_100
@@ -1426,6 +1447,7 @@ endif(NOT APPLE)
test_OFDM_modem_datac4_octave
test_OFDM_modem_datac13_octave
test_OFDM_modem_datac14_octave
+ test_OFDM_modem_qam16c2_octave
test_fsk_lib_4fsk_ldpc
test_OFDM_modem_datac0_compression
PROPERTIES
diff --git a/README_data.md b/README_data.md
index 3ceccb4..1656469 100644
--- a/README_data.md
+++ b/README_data.md
@@ -147,6 +147,7 @@ These modes use an OFDM modem with powerful LDPC codes and are designed for send
| DATAC4 | 250 | 87 | 56 | (1472,448) | 5.17 | 90/100 at -4dB | Forward link data (low SNR) |
| DATAC13 | 200 | 64 | 14 | (384,128) | 2.0 | 90/100 at -4dB | Reverse link ACK packets (low SNR) |
| DATAC14 | 250 | 58 | 3 | (112,56) | 0.69 | 90/100 at -4dB | Reverse link ACK packets (low SNR) |
+| QAM16C2 | 2100 | 3100 | 1213 | (16200,9720) | 3.2 | 90/100 at 15dB | Forward link data (high SNR) |
Notes:
1. 16 bits (2 bytes) per frame are reserved for a 16 bit CRC, e.g. for `datac3` we have 128 byte frames, and 128-2=126 bytes/frame of payload data.