aboutsummaryrefslogtreecommitdiff
path: root/unittest/raw_data_curves/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'unittest/raw_data_curves/Makefile')
-rw-r--r--unittest/raw_data_curves/Makefile132
1 files changed, 0 insertions, 132 deletions
diff --git a/unittest/raw_data_curves/Makefile b/unittest/raw_data_curves/Makefile
deleted file mode 100644
index 9f13d1f..0000000
--- a/unittest/raw_data_curves/Makefile
+++ /dev/null
@@ -1,132 +0,0 @@
-# Makefile
-# Dec 2022
-#
-# Automates PER/BER curve generation for raw data mode:
-#
-# 1. Compare "ch" noise injection/SNR measurement against reference Octave Tx
-# 2. Compare C Tx against Octave Tx (with and without compression)
-# 3. Plot curves for SNR estimated from C Rx against actual SNR
-# 4. Plot AWGN/PER C Tx curves for end user documentation
-
-SHELL := /bin/bash
-CODEC2 := $(HOME)/codec2
-
-all: test \
- octave_ch_noise_awgn.png octave_c_tx_awgn.png octave_c_tx_comp_awgn.png \
- octave_ch_noise_mpp.png octave_c_tx_mpp.png octave_c_tx_comp_mpp.png \
- snrest_snr_ctx.png snrest_snr_ctxc.png \
- c_tx_comp.png c_tx_comp_thruput.png
-
-clean:
- rm -f *.txt *.png *.raw
-
-# run this first, traps common CML setup error
-test:
- source snr_curves.sh; test_ldpc
-
-# subset of files generated, but enough to set up Makefile dependencies
-snr_oct = snr_oct_datac0_awgn.txt snr_oct_datac1_awgn.txt snr_oct_datac3_awgn.txt
-snr_ch = snr_ch_datac0_awgn.txt snr_ch_datac1_awgn.txt snr_ch_datac3_awgn.txt
-snr_ctx = snr_ctx_datac0_awgn.txt snr_ctx_datac1_awgn.txt snr_ctx_datac3_awgn.txt
-snr_ctxc = snr_ctxc_datac0_awgn.txt snr_ctxc_datac3_awgn.txt
-
-snr_oct_mpp = snr_oct_datac0_mpp.txt snr_oct_datac1_mpp.txt snr_oct_datac3_mpp.txt
-snr_ch_mpp = snr_ch_datac0_mpp.txt snr_ch_datac1_mpp.txt snr_ch_datac3_mpp.txt
-snr_ctx_mpp = snr_ctx_datac0_mpp.txt snr_ctx_datac1_mpp.txt snr_ctx_datac3_mpp.txt
-snr_ctxc_mpp = snr_ctxc_datac0_mpp.txt snr_ctxc_datac3_mpp.txt
-
-$(snr_oct):
- source snr_curves.sh; generate_octave_tx_data datac0 awgn
- source snr_curves.sh; generate_octave_tx_data datac1 awgn
- source snr_curves.sh; generate_octave_tx_data datac3 awgn
-
-$(snr_oct_mpp):
- source snr_curves.sh; generate_octave_tx_data datac0 mpp
- source snr_curves.sh; generate_octave_tx_data datac1 mpp
- source snr_curves.sh; generate_octave_tx_data datac3 mpp
-
-$(snr_ch):
- source snr_curves.sh; generate_ch_data datac0 awgn
- source snr_curves.sh; generate_ch_data datac1 awgn
- source snr_curves.sh; generate_ch_data datac3 awgn
-
-$(snr_ch_mpp):
- source snr_curves.sh; generate_ch_data datac0 mpp
- source snr_curves.sh; generate_ch_data datac1 mpp
- source snr_curves.sh; generate_ch_data datac3 mpp
-
-# C without compression
-
-$(snr_ctx):
- source snr_curves.sh; generate_snrest_v_snr_data datac0 awgn
- source snr_curves.sh; generate_snrest_v_snr_data datac1 awgn
- source snr_curves.sh; generate_snrest_v_snr_data datac3 awgn
- source snr_curves.sh; generate_snrest_v_snr_data datac4 awgn
- source snr_curves.sh; generate_snrest_v_snr_data datac13 awgn
-
-$(snr_ctx_mpp):
- source snr_curves.sh; generate_snrest_v_snr_data datac0 mpp
- source snr_curves.sh; generate_snrest_v_snr_data datac1 mpp
- source snr_curves.sh; generate_snrest_v_snr_data datac3 mpp
- source snr_curves.sh; generate_snrest_v_snr_data datac4 mpp
- source snr_curves.sh; generate_snrest_v_snr_data datac13 mpp
-
-# C with compression
-
-$(snr_ctxc):
- source snr_curves.sh; generate_snrest_v_snr_data datac0 awgn 1
- source snr_curves.sh; generate_snrest_v_snr_data datac1 awgn 1
- source snr_curves.sh; generate_snrest_v_snr_data datac3 awgn 1
- source snr_curves.sh; generate_snrest_v_snr_data datac4 awgn 1
- source snr_curves.sh; generate_snrest_v_snr_data datac13 awgn 1
-
-$(snr_ctxc_mpp):
- source snr_curves.sh; generate_snrest_v_snr_data datac0 mpp 1
- source snr_curves.sh; generate_snrest_v_snr_data datac1 mpp 1
- source snr_curves.sh; generate_snrest_v_snr_data datac3 mpp 1
- source snr_curves.sh; generate_snrest_v_snr_data datac4 mpp 1
- source snr_curves.sh; generate_snrest_v_snr_data datac13 mpp 1
-
-# Octave and C curves should be on top of each other, indicating Octave
-# and ch noise injection/SNR measurement are equivalent
-octave_ch_noise_awgn.png: $(snr_oct) $(snr_ch)
- echo "snr_curves_plot; octave_ch_noise_print('awgn'); quit" | \
- octave-cli -p $(CODEC2)/octave
-octave_ch_noise_mpp.png: $(snr_oct_mpp) $(snr_ch_mpp)
- echo "snr_curves_plot; octave_ch_noise_print('mpp'); quit" | \
- octave-cli -p $(CODEC2)/octave
-
-# Octave Tx and C Tx curves should be on top of each other
-octave_c_tx_awgn.png: $(snr_oct) $(snr_ctx)
- echo "snr_curves_plot; octave_c_tx_print('awgn'); quit" | \
- octave-cli -p $(CODEC2)/octave
-octave_c_tx_mpp.png: $(snr_oct_mpp) $(snr_ctx_mpp)
- echo "snr_curves_plot; octave_c_tx_print('mpp'); quit" | \
- octave-cli -p $(CODEC2)/octave
-
-# Octave Tx and C Tx (compressed) curves should be close, but C may be 1dB
-# poorer
-octave_c_tx_comp_awgn.png: $(snr_oc) $(snr_ctxc)
- echo "snr_curves_plot; octave_c_tx_comp_print('awgn'); quit" | \
- octave-cli -p $(CODEC2)/octave
-octave_c_tx_comp_mpp.png: $(snr_oct_mpp) $(snr_ctxc_mpp)
- echo "snr_curves_plot; octave_c_tx_comp_print('mpp'); quit" | \
- octave-cli -p $(CODEC2)/octave
-
-# combined AWGN and MPP from C Tx (compressed) - what end users would run
-c_tx_comp.png: $(snr_ctxc) $(snr_ctxc_mpp)
- echo "snr_curves_plot; c_tx_comp_print; quit" | \
- octave-cli -p $(CODEC2)/octave
-
-# Curves of SNR estimates from C Rx compared to actual SNR, useful for "gear shifting"
-snrest_snr_ctx.png: $(snr_ctx)
- echo "snr_curves_plot; snrest_snr_print('ctx', 'awgn'); quit" | \
- octave-cli -p $(CODEC2)/octave
-snrest_snr_ctxc.png: $(snr_ctxc)
- echo "snr_curves_plot; snrest_snr_print('ctxc', 'awgn'); quit" | \
- octave-cli -p $(CODEC2)/octave
-
-# Throughput of payload data in bits/s of modes against SNR
-c_tx_comp_thruput.png: $(snr_ctxc) $(snr_ctxc_mpp)
- echo "snr_curves_plot; c_tx_comp_thruput_print; quit" | \
- octave-cli -p $(CODEC2)/octave