From d6ce89cbeb349a531194a29f959b28faba0fe60d Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Thu, 24 Nov 2022 12:48:32 +0100 Subject: [PATCH 01/54] Added iteration limit --- sw/utility/simulation.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sw/utility/simulation.py b/sw/utility/simulation.py index ac6b1e2..896dce6 100644 --- a/sw/utility/simulation.py +++ b/sw/utility/simulation.py @@ -42,7 +42,8 @@ class Simulator: def __init__(self, n: int, k: int, decoders: typing.Sequence[typing.Any], SNRs: typing.Sequence[float], - target_frame_errors: int): + target_frame_errors: int, + max_num_iterations: int): """Construct and object of type simulator. :param n: Number of bits in a codeword @@ -59,6 +60,7 @@ class Simulator: self._decoders = decoders self._SNRs = SNRs self._target_frame_errors = target_frame_errors + self._max_num_iterations = max_num_iterations self._x = np.zeros(self._n) self._x_bpsk = 1 - 2 * self._x # Map x from [0, 1]^n to [-1, 1]^n @@ -90,7 +92,7 @@ class Simulator: decoder = self._decoders[self._current_decoder_index] self._decoder_pbar = tqdm(total=len(self._SNRs), - desc=f"Calculatin" + desc=f"Calculating" f"g BERs" f" for {decoder.__class__.__name__}", leave=False, @@ -165,7 +167,9 @@ class Simulator: This function also appends a new BER value to the self._BERs array if the number of target frame errors has been reached """ - if self._curr_num_frame_errors >= self._target_frame_errors: + if (self._curr_num_frame_errors >= self._target_frame_errors) or ( + self._curr_num_iterations > self._max_num_iterations): + self._BERs[self._current_decoder_index] \ .append(self._curr_num_bit_errors / ( self._curr_num_iterations * self._n)) From 86de1638b5d6c8f33e6af6f7fb6f827f1a9e764a Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Wed, 23 Nov 2022 17:45:17 +0100 Subject: [PATCH 02/54] Now proximaldecoder is returning 'None' on decoding failure --- sw/decoders/proximal.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sw/decoders/proximal.py b/sw/decoders/proximal.py index 85bf4f9..f0aeb81 100644 --- a/sw/decoders/proximal.py +++ b/sw/decoders/proximal.py @@ -7,7 +7,7 @@ class ProximalDecoder: by Tadashi Wadayama, and Satoshi Takabe. """ - def __init__(self, H: np.array, K: int = 100, omega: float = 0.1, + def __init__(self, H: np.array, K: int = 1000, omega: float = 0.0002, gamma: float = 0.05, eta: float = 1.5): """Construct a new ProximalDecoder Object. @@ -75,7 +75,8 @@ class ProximalDecoder: :param y: Vector of received values. (y = x + w, where 'x' is element of [-1, 1]^n and 'w' is noise) - :return: Most probably sent codeword (element of [0, 1]^n) + :return: Most probably sent codeword (element of [0, 1]^n). If + decoding fails, the returned value is 'None' """ s = np.zeros(self._n) x_hat = np.zeros(self._n) @@ -86,11 +87,11 @@ class ProximalDecoder: s = self._projection(s) # Equation (15) x_hat = np.sign(s) - + # Map the codeword from [ -1, 1]^n to [0, 1]^n x_hat = (x_hat == -1) * 1 if self._check_parity(x_hat): - break + return x_hat - return x_hat + return None From 47482b55e44d151661b4bc540714e1f7dff5bd4f Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Thu, 24 Nov 2022 12:40:15 +0100 Subject: [PATCH 03/54] Formatting --- sw/test/test_proximal.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sw/test/test_proximal.py b/sw/test/test_proximal.py index 7319389..355efc6 100644 --- a/sw/test/test_proximal.py +++ b/sw/test/test_proximal.py @@ -5,6 +5,7 @@ from decoders import proximal class CheckParityTestCase(unittest.TestCase): """Test case for the check_parity function.""" + def test_check_parity(self): # Hamming(7,4) code G = np.array([[1, 1, 1, 0, 0, 0, 0], @@ -39,7 +40,9 @@ class CheckParityTestCase(unittest.TestCase): class GradientTestCase(unittest.TestCase): - """Test case for the calculation of the gradient of the code-constraint-polynomial.""" + """Test case for the calculation of the gradient of the + code-constraint-polynomial.""" + def test_grad_h(self): """Test the gradient of the code-constraint polynomial.""" # Hamming(7,4) code @@ -56,7 +59,8 @@ class GradientTestCase(unittest.TestCase): [0, 0, 0, 0, 0, 0, 1]]) x = np.array([1, 2, -1, -2, 2, 1, -1]) # Some randomly chosen vector - expected_grad_h = np.array([4, 26, -8, -36, 38, 28, -32]) # Manually calculated result + expected_grad_h = np.array( + [4, 26, -8, -36, 38, 28, -32]) # Manually calculated result decoder = proximal.ProximalDecoder(H, R) grad_h = decoder._grad_h(x) From 68751c50cde2b3e8ca9311978f5f1fc88cf714b7 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Thu, 24 Nov 2022 12:40:49 +0100 Subject: [PATCH 04/54] Don't count decoding failures as bit errors --- sw/utility/simulation.py | 74 ++++++++++++++++++++++------------------ 1 file changed, 40 insertions(+), 34 deletions(-) diff --git a/sw/utility/simulation.py b/sw/utility/simulation.py index 896dce6..1a4450a 100644 --- a/sw/utility/simulation.py +++ b/sw/utility/simulation.py @@ -67,16 +67,18 @@ class Simulator: # Simulation state - self._current_decoder_index = 0 - self._current_SNRs_index = 0 + self._curr_decoder_index = 0 + self._curr_SNRs_index = 0 self._curr_num_frame_errors = 0 self._curr_num_bit_errors = 0 self._curr_num_iterations = 0 + self._curr_num_dec_fails = 0 # Results & Miscellaneous - self._BERs = [[]] + self._BERs = [np.zeros(len(SNRs)) for i in range(len(decoders))] + self._dec_fails = [np.zeros(len(SNRs)) for i in range(len(decoders))] self._create_pbars() @@ -90,7 +92,7 @@ class Simulator: bar_format="{l_bar}{bar}| {n_fmt}/{" "total_fmt}") - decoder = self._decoders[self._current_decoder_index] + decoder = self._decoders[self._curr_decoder_index] self._decoder_pbar = tqdm(total=len(self._SNRs), desc=f"Calculating" f"g BERs" @@ -126,8 +128,8 @@ class Simulator: self._create_pbars() - self._overall_pbar.update(self._current_decoder_index) - self._decoder_pbar.update(self._current_SNRs_index) + self._overall_pbar.update(self._curr_decoder_index) + self._decoder_pbar.update(self._curr_SNRs_index) self._snr_pbar.update(self._curr_num_frame_errors) self._overall_pbar.refresh() @@ -139,13 +141,18 @@ class Simulator: :return: Number of bit errors that occurred """ - SNR = self._SNRs[self._current_SNRs_index] - decoder = self._decoders[self._current_decoder_index] + SNR = self._SNRs[self._curr_SNRs_index] + decoder = self._decoders[self._curr_decoder_index] y = noise.add_awgn(self._x_bpsk, SNR, self._n, self._k) x_hat = decoder.decode(y) - return count_bit_errors(self._x, x_hat) + # Handle decoding failure + if x_hat is not None: + return count_bit_errors(self._x, x_hat) + else: + self._curr_num_dec_fails += 1 + return 0 def _update_statistics(self, bit_errors: int) -> None: """Update the statistics of the simulator. @@ -164,36 +171,42 @@ class Simulator: def _advance_state(self) -> None: """Advance the state of the simulator. - This function also appends a new BER value to the self._BERs array - if the number of target frame errors has been reached + This function also handles setting the result arrays and progress bars. """ if (self._curr_num_frame_errors >= self._target_frame_errors) or ( self._curr_num_iterations > self._max_num_iterations): - self._BERs[self._current_decoder_index] \ - .append(self._curr_num_bit_errors / ( - self._curr_num_iterations * self._n)) + # Adjust the number of iterations to ignore decoding failures + adj_num_iterations = self._curr_num_iterations - \ + self._curr_num_dec_fails + + self._BERs[self._curr_decoder_index][self._curr_SNRs_index] \ + = self._curr_num_bit_errors / ( + adj_num_iterations * self._n) + + self._dec_fails[self._curr_decoder_index][self._curr_SNRs_index] \ + = self._curr_num_dec_fails self._curr_num_frame_errors = 0 self._curr_num_bit_errors = 0 self._curr_num_iterations = 0 + self._curr_num_dec_fails = 0 - if self._current_SNRs_index < len(self._SNRs) - 1: - self._current_SNRs_index += 1 + if self._curr_SNRs_index < len(self._SNRs) - 1: + self._curr_SNRs_index += 1 self._snr_pbar.reset() self._snr_pbar.set_description( f"Simulating for SNR = " - f"{self._SNRs[self._current_SNRs_index]} dB") + f"{self._SNRs[self._curr_SNRs_index]} dB") self._decoder_pbar.update(1) else: - if self._current_decoder_index < len(self._decoders) - 1: - self._current_decoder_index += 1 - self._current_SNRs_index = 0 - self._BERs.append([]) + if self._curr_decoder_index < len(self._decoders) - 1: + self._curr_decoder_index += 1 + self._curr_SNRs_index = 0 self._decoder_pbar.reset() - decoder = self._decoders[self._current_decoder_index] + decoder = self._decoders[self._curr_decoder_index] self._decoder_pbar.set_description( f"Calculating BERs for {decoder.__class__.__name__}") self._overall_pbar.update(1) @@ -228,22 +241,15 @@ class Simulator: been calculated are set to 0. :return: pandas Dataframe with the columns ["SNR", "BER_1", "BER_2", - ...] + ..., "DecFails_1", "DecFails_2", ...] """ data = {"SNR": np.array(self._SNRs)} - # If the BERs of a decoder have not been calculated for all SNRs, - # fill the rest up with zeros to match the length of the 'SNRs' array - for i, decoder_BER_list in enumerate(self._BERs): - padded = np.pad(decoder_BER_list, - (0, len(self._SNRs) - len(decoder_BER_list))) - data[f"BER_{i}"] = padded + for i, decoder_BERs in enumerate(self._BERs): + data[f"BER_{i}"] = decoder_BERs - # If the BERs have not been calculated for all decoders, fill up the - # BERs list - # with zero-vectors to match the length of the 'decoders' list - for i in range(len(self._decoders), len(self._BERs)): - data[f"BER_{i}"] = np.zeros(len(self._SNRs)) + for i, decoder_dec_fails in enumerate(self._dec_fails): + data[f"DecFails_{i}"] = decoder_dec_fails return pd.DataFrame(data) From daf9cc6071dcc78c8be1f538e78d7822693651ed Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Thu, 24 Nov 2022 16:02:29 +0100 Subject: [PATCH 05/54] Handle the case of all dec-failures --- sw/utility/simulation.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sw/utility/simulation.py b/sw/utility/simulation.py index 1a4450a..6f64d57 100644 --- a/sw/utility/simulation.py +++ b/sw/utility/simulation.py @@ -180,9 +180,12 @@ class Simulator: adj_num_iterations = self._curr_num_iterations - \ self._curr_num_dec_fails - self._BERs[self._curr_decoder_index][self._curr_SNRs_index] \ - = self._curr_num_bit_errors / ( - adj_num_iterations * self._n) + if adj_num_iterations == 0: + self._BERs[self._curr_decoder_index][self._curr_SNRs_index] = 1 + else: + self._BERs[self._curr_decoder_index][self._curr_SNRs_index] \ + = self._curr_num_bit_errors / ( + adj_num_iterations * self._n) self._dec_fails[self._curr_decoder_index][self._curr_SNRs_index] \ = self._curr_num_dec_fails From 3777bcba026ae55664b66a6200aa0173355829ff Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Fri, 25 Nov 2022 10:42:47 +0100 Subject: [PATCH 06/54] Added test simulation results for different omegas --- sw/sim_results/test_e_10.csv | 11 +++++++++++ sw/sim_results/test_e_12.csv | 11 +++++++++++ sw/sim_results/test_e_3.csv | 11 +++++++++++ sw/sim_results/test_e_4.csv | 11 +++++++++++ sw/sim_results/test_e_4_2.csv | 11 +++++++++++ sw/sim_results/test_e_4_2_metadata.json | 11 +++++++++++ sw/sim_results/test_e_5.csv | 11 +++++++++++ sw/sim_results/test_e_5_2.csv | 11 +++++++++++ sw/sim_results/test_omega_1.csv | 11 +++++++++++ 9 files changed, 99 insertions(+) create mode 100644 sw/sim_results/test_e_10.csv create mode 100644 sw/sim_results/test_e_12.csv create mode 100644 sw/sim_results/test_e_3.csv create mode 100644 sw/sim_results/test_e_4.csv create mode 100644 sw/sim_results/test_e_4_2.csv create mode 100644 sw/sim_results/test_e_4_2_metadata.json create mode 100644 sw/sim_results/test_e_5.csv create mode 100644 sw/sim_results/test_e_5_2.csv create mode 100644 sw/sim_results/test_omega_1.csv diff --git a/sw/sim_results/test_e_10.csv b/sw/sim_results/test_e_10.csv new file mode 100644 index 0000000..7eaaada --- /dev/null +++ b/sw/sim_results/test_e_10.csv @@ -0,0 +1,11 @@ +,SNR,BER_0,BER_1,BER_2,DecFails_0,DecFails_1,DecFails_2 +0,1.0,1.0,0.0,0.0,3001.0,0.0,0.0 +1,1.5,1.0,0.0,0.0,3001.0,0.0,0.0 +2,2.0,1.0,0.0,0.0,3001.0,0.0,0.0 +3,2.5,1.0,0.0,0.0,3001.0,0.0,0.0 +4,3.0,0.0,0.0,0.0,2999.0,0.0,0.0 +5,3.5,0.0,0.0,0.0,2997.0,0.0,0.0 +6,4.0,0.0,0.0,0.0,2989.0,0.0,0.0 +7,4.5,0.0,0.0,0.0,2970.0,0.0,0.0 +8,5.0,0.0,0.0,0.0,2924.0,0.0,0.0 +9,5.5,0.0,0.0,0.0,2848.0,0.0,0.0 diff --git a/sw/sim_results/test_e_12.csv b/sw/sim_results/test_e_12.csv new file mode 100644 index 0000000..fa0f411 --- /dev/null +++ b/sw/sim_results/test_e_12.csv @@ -0,0 +1,11 @@ +,SNR,BER_0,BER_1,BER_2,DecFails_0,DecFails_1,DecFails_2 +0,1.0,1.0,0.0,0.0,3001.0,0.0,0.0 +1,1.5,1.0,0.0,0.0,3001.0,0.0,0.0 +2,2.0,1.0,0.0,0.0,3001.0,0.0,0.0 +3,2.5,1.0,0.0,0.0,3001.0,0.0,0.0 +4,3.0,0.0,0.0,0.0,2999.0,0.0,0.0 +5,3.5,0.0,0.0,0.0,2993.0,0.0,0.0 +6,4.0,0.0,0.0,0.0,2986.0,0.0,0.0 +7,4.5,0.0,0.0,0.0,2963.0,0.0,0.0 +8,5.0,0.0,0.0,0.0,2922.0,0.0,0.0 +9,5.5,0.0,0.0,0.0,2835.0,0.0,0.0 diff --git a/sw/sim_results/test_e_3.csv b/sw/sim_results/test_e_3.csv new file mode 100644 index 0000000..fc6e9da --- /dev/null +++ b/sw/sim_results/test_e_3.csv @@ -0,0 +1,11 @@ +,SNR,BER_0,BER_1,BER_2,DecFails_0,DecFails_1,DecFails_2 +0,1.0,0.005113636363636364,0.0,0.0,2561.0,0.0,0.0 +1,1.5,0.0034599528857479386,0.0,0.0,1606.0,0.0,0.0 +2,2.0,0.0,0.0,0.0,0.0,0.0,0.0 +3,2.5,0.0,0.0,0.0,0.0,0.0,0.0 +4,3.0,0.0,0.0,0.0,0.0,0.0,0.0 +5,3.5,0.0,0.0,0.0,0.0,0.0,0.0 +6,4.0,0.0,0.0,0.0,0.0,0.0,0.0 +7,4.5,0.0,0.0,0.0,0.0,0.0,0.0 +8,5.0,0.0,0.0,0.0,0.0,0.0,0.0 +9,5.5,0.0,0.0,0.0,0.0,0.0,0.0 diff --git a/sw/sim_results/test_e_4.csv b/sw/sim_results/test_e_4.csv new file mode 100644 index 0000000..763242c --- /dev/null +++ b/sw/sim_results/test_e_4.csv @@ -0,0 +1,11 @@ +,SNR,BER_0,BER_1,BER_2,DecFails_0,DecFails_1,DecFails_2 +0,1.0,0.005835380835380835,0.0,0.0,2255.0,0.0,0.0 +1,1.5,0.0,0.0,0.0,0.0,0.0,0.0 +2,2.0,0.0,0.0,0.0,0.0,0.0,0.0 +3,2.5,0.0,0.0,0.0,0.0,0.0,0.0 +4,3.0,0.0,0.0,0.0,0.0,0.0,0.0 +5,3.5,0.0,0.0,0.0,0.0,0.0,0.0 +6,4.0,0.0,0.0,0.0,0.0,0.0,0.0 +7,4.5,0.0,0.0,0.0,0.0,0.0,0.0 +8,5.0,0.0,0.0,0.0,0.0,0.0,0.0 +9,5.5,0.0,0.0,0.0,0.0,0.0,0.0 diff --git a/sw/sim_results/test_e_4_2.csv b/sw/sim_results/test_e_4_2.csv new file mode 100644 index 0000000..876339a --- /dev/null +++ b/sw/sim_results/test_e_4_2.csv @@ -0,0 +1,11 @@ +,SNR,BER_0,BER_1,BER_2,DecFails_0,DecFails_1,DecFails_2 +0,1.0,0.005421686746987952,0.005918560606060606,0.0,2249.0,2048.0,0.0 +1,1.5,0.003781138790035587,0.0026421282798833818,0.0,1682.0,2113.0,0.0 +2,2.0,0.0018388296152602652,0.0016522333637192343,0.0,1737.0,1764.0,0.0 +3,2.5,0.0003548895899053628,0.0011985869290941206,0.0,1416.0,1166.0,0.0 +4,3.0,0.0002896391923204237,0.0002669672520170859,0.0,987.0,894.0,0.0 +5,3.5,0.00018390079865489702,0.00016638643687824016,0.0,622.0,622.0,0.0 +6,4.0,6.179705846001731e-05,0.00015687751004016064,0.0,304.0,345.0,0.0 +7,4.5,0.0,0.00010259115957322077,0.0,144.0,158.0,0.0 +8,5.0,1.419164396003633e-05,2.8509522180408255e-05,0.0,65.0,78.0,0.0 +9,5.5,1.3996193035494346e-05,0.0,0.0,24.0,21.0,0.0 diff --git a/sw/sim_results/test_e_4_2_metadata.json b/sw/sim_results/test_e_4_2_metadata.json new file mode 100644 index 0000000..80e9d43 --- /dev/null +++ b/sw/sim_results/test_e_4_2_metadata.json @@ -0,0 +1,11 @@ +{ + "duration": 1649.4282404629994, + "name": "test", + "labels": [ + "proximal $\\gamma = 0.01$", + "proximal $\\gamma = 0.05$", + "proximal $\\gamma = 0.15$" + ], + "platform": "Linux-6.0.9-arch1-1-x86_64-with-glibc2.36", + "end_time": "2022-11-24 17:22:14.337214" +} \ No newline at end of file diff --git a/sw/sim_results/test_e_5.csv b/sw/sim_results/test_e_5.csv new file mode 100644 index 0000000..b75d8a5 --- /dev/null +++ b/sw/sim_results/test_e_5.csv @@ -0,0 +1,11 @@ +,SNR,BER_0,BER_1,BER_2,DecFails_0,DecFails_1,DecFails_2 +0,1.0,0.008734655335221907,0.0,0.0,2178.0,0.0,0.0 +1,1.5,0.0,0.0,0.0,0.0,0.0,0.0 +2,2.0,0.0,0.0,0.0,0.0,0.0,0.0 +3,2.5,0.0,0.0,0.0,0.0,0.0,0.0 +4,3.0,0.0,0.0,0.0,0.0,0.0,0.0 +5,3.5,0.0,0.0,0.0,0.0,0.0,0.0 +6,4.0,0.0,0.0,0.0,0.0,0.0,0.0 +7,4.5,0.0,0.0,0.0,0.0,0.0,0.0 +8,5.0,0.0,0.0,0.0,0.0,0.0,0.0 +9,5.5,0.0,0.0,0.0,0.0,0.0,0.0 diff --git a/sw/sim_results/test_e_5_2.csv b/sw/sim_results/test_e_5_2.csv new file mode 100644 index 0000000..4b1c1a6 --- /dev/null +++ b/sw/sim_results/test_e_5_2.csv @@ -0,0 +1,11 @@ +,SNR,BER_0,BER_1,BER_2,DecFails_0,DecFails_1,DecFails_2 +0,1.0,0.005713996763754045,0.0,0.0,2484.0,0.0,0.0 +1,1.5,0.0,0.0,0.0,0.0,0.0,0.0 +2,2.0,0.0,0.0,0.0,0.0,0.0,0.0 +3,2.5,0.0,0.0,0.0,0.0,0.0,0.0 +4,3.0,0.0,0.0,0.0,0.0,0.0,0.0 +5,3.5,0.0,0.0,0.0,0.0,0.0,0.0 +6,4.0,0.0,0.0,0.0,0.0,0.0,0.0 +7,4.5,0.0,0.0,0.0,0.0,0.0,0.0 +8,5.0,0.0,0.0,0.0,0.0,0.0,0.0 +9,5.5,0.0,0.0,0.0,0.0,0.0,0.0 diff --git a/sw/sim_results/test_omega_1.csv b/sw/sim_results/test_omega_1.csv new file mode 100644 index 0000000..bb0b2d9 --- /dev/null +++ b/sw/sim_results/test_omega_1.csv @@ -0,0 +1,11 @@ +,SNR,BER_0,BER_1,BER_2,DecFails_0,DecFails_1,DecFails_2 +0,1.0,1.0,1.0,0.0,3001.0,3001.0,0.0 +1,1.5,1.0,1.0,0.0,3001.0,3001.0,0.0 +2,2.0,1.0,1.0,0.0,3001.0,3001.0,0.0 +3,2.5,0.0,1.0,0.0,3000.0,3001.0,0.0 +4,3.0,1.0,1.0,0.0,3001.0,3001.0,0.0 +5,3.5,0.0,1.0,0.0,3000.0,3001.0,0.0 +6,4.0,0.0,1.0,0.0,2995.0,3001.0,0.0 +7,4.5,0.0,1.0,0.0,2986.0,3001.0,0.0 +8,5.0,0.0,0.0,0.0,2949.0,2996.0,0.0 +9,5.5,0.0,0.0,0.0,2912.0,2994.0,0.0 From 516a67795f43388016aa03caebe5e3a0cccac78b Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Fri, 25 Nov 2022 10:45:14 +0100 Subject: [PATCH 07/54] Changed progressbar to show number of iterations istead of frame errors --- sw/utility/simulation.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/sw/utility/simulation.py b/sw/utility/simulation.py index 6f64d57..d27605f 100644 --- a/sw/utility/simulation.py +++ b/sw/utility/simulation.py @@ -90,7 +90,7 @@ class Simulator: "the universe and everything", leave=False, bar_format="{l_bar}{bar}| {n_fmt}/{" - "total_fmt}") + "total_fmt} [{elapsed}]") decoder = self._decoders[self._curr_decoder_index] self._decoder_pbar = tqdm(total=len(self._SNRs), @@ -101,11 +101,10 @@ class Simulator: bar_format="{l_bar}{bar}| {n_fmt}/{" "total_fmt}") - self._snr_pbar = tqdm(total=self._target_frame_errors, + self._snr_pbar = tqdm(total=self._max_num_iterations, desc=f"Simulating for SNR = {self._SNRs[0]} dB", leave=False, - bar_format="{l_bar}{bar}| {n_fmt}/{total_fmt} " - "[{elapsed}<{remaining}]") + ) def __getstate__(self) -> typing.Dict: """Custom serialization function called by the 'pickle' module @@ -161,13 +160,12 @@ class Simulator: last transmission """ self._curr_num_iterations += 1 + self._snr_pbar.update(1) if bit_errors > 0: self._curr_num_frame_errors += 1 self._curr_num_bit_errors += bit_errors - self._snr_pbar.update(1) - def _advance_state(self) -> None: """Advance the state of the simulator. @@ -199,6 +197,7 @@ class Simulator: self._curr_SNRs_index += 1 self._snr_pbar.reset() + self._overall_pbar.refresh() self._snr_pbar.set_description( f"Simulating for SNR = " f"{self._SNRs[self._curr_SNRs_index]} dB") From 8469e50a19e9804b3b5e2446844b12bf19fdf82a Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Fri, 25 Nov 2022 10:48:33 +0100 Subject: [PATCH 08/54] Added first cpp proximal decoder implementation --- .gitignore | 2 + sw/cpp/.clang-format | 28 +++++++ sw/cpp/CMakeLists.txt | 18 +++++ sw/cpp/src/cpp_decoders.cpp | 156 ++++++++++++++++++++++++++++++++++++ 4 files changed, 204 insertions(+) create mode 100644 sw/cpp/.clang-format create mode 100644 sw/cpp/CMakeLists.txt create mode 100644 sw/cpp/src/cpp_decoders.cpp diff --git a/.gitignore b/.gitignore index fec6447..987729f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ latex/build/ latex/tmp/ +sw/cpp_modules +sw/cpp/build sw/sim_saves/ .idea __pycache__ diff --git a/sw/cpp/.clang-format b/sw/cpp/.clang-format new file mode 100644 index 0000000..4b9f225 --- /dev/null +++ b/sw/cpp/.clang-format @@ -0,0 +1,28 @@ +BasedOnStyle: LLVM +Language: Cpp + +IndentWidth: 4 +UseTab: Never +#NamespaceIndentation: All + +PointerAlignment: Left +AccessModifierOffset: -4 +AlwaysBreakTemplateDeclarations: true +LambdaBodyIndentation: Signature + +MaxEmptyLinesToKeep: 3 +# ColumnLimit: 128 + +CompactNamespaces: true +FixNamespaceComments: true + +AllowShortFunctionsOnASingleLine: false +AllowShortIfStatementsOnASingleLine: true + +AlignConsecutiveAssignments: true +AlignConsecutiveBitFields: true +AlignConsecutiveDeclarations: true +AlignConsecutiveMacros: true + +#BraceWrapping: +# BeforeElse: true diff --git a/sw/cpp/CMakeLists.txt b/sw/cpp/CMakeLists.txt new file mode 100644 index 0000000..95869fc --- /dev/null +++ b/sw/cpp/CMakeLists.txt @@ -0,0 +1,18 @@ +cmake_minimum_required (VERSION 3.0) +project(cpp_decoders) + +find_package(Eigen3 3.3 REQUIRED NO_MODULE) +find_package(pybind11 CONFIG REQUIRED) + +include_directories(${pybind11_INCLUDE_DIRS}) + + +pybind11_add_module(cpp_decoders src/cpp_decoders.cpp) +target_link_libraries(cpp_decoders PRIVATE Eigen3::Eigen) + +set(INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../cpp_modules) + +install(TARGETS cpp_decoders ARCHIVE DESTINATION ${INSTALL_DIR} + LIBRARY DESTINATION ${INSTALL_DIR} + RUNTIME DESTINATION ${INSTALL_DIR}) + diff --git a/sw/cpp/src/cpp_decoders.cpp b/sw/cpp/src/cpp_decoders.cpp new file mode 100644 index 0000000..4a50b2d --- /dev/null +++ b/sw/cpp/src/cpp_decoders.cpp @@ -0,0 +1,156 @@ +#include +#include +#include +#include + +#include + + +/* + + import numpy as np + + +class ProximalDecoder: + """Class implementing the Proximal Decoding algorithm. See "Proximal + Decoding for LDPC Codes" + by Tadashi Wadayama, and Satoshi Takabe. + """ + + def decode(self, y: np.array) -> np.array: + """Decode a received signal. The algorithm is detailed in 3.2, p.3. + + This function assumes a BPSK modulated signal and an AWGN channel. + + :param y: Vector of received values. (y = x + w, where 'x' is + element of [-1, 1]^n and 'w' is noise) + :return: Most probably sent codeword (element of [0, 1]^n). If + decoding fails, the returned value is 'None' + """ + s = np.zeros(self._n) + x_hat = np.zeros(self._n) + for k in range(self._K): + r = s - self._step_size * self._L_awgn(s, y) + + s = r - self._gamma * self._grad_h(r) + s = self._projection(s) # Equation (15) + + x_hat = np.sign(s) + + # Map the codeword from [ -1, 1]^n to [0, 1]^n + x_hat = (x_hat == -1) * 1 + + if self._check_parity(x_hat): + return x_hat + + return None + + + * */ + +namespace py11 = pybind11; +using namespace pybind11::literals; + + +using MatrixXiR = + Eigen::Matrix; + +using MatrixXdR = + Eigen::Matrix; + + +class ProximalDecoder { +public: + ProximalDecoder(const Eigen::Ref& H, int K, double omega, + double gamma, double eta) + : mN(H.cols()), mK(K), mOmega(omega), mGamma(gamma), mEta(eta), mH(H), + mH_zero_indices(find_zero(H)) { + } + + const Eigen::RowVectorXi + decode(const Eigen::Ref& y) { + Eigen::RowVectorXd s = Eigen::RowVectorXd::Zero(mH.cols()); + Eigen::RowVectorXi x_hat; + Eigen::RowVectorXd r; + + for (std::size_t i = 0; i < mK; ++i) { + r = s - mOmega * L_awgn(s, y); + s = projection(r - mGamma * grad_H(r)); + + x_hat = s.cast().cwiseSign(); + x_hat = (x_hat.array() - 1).matrix() / (-2); + + if (check_parity(x_hat)) { + return x_hat; + } + } + + return x_hat; + // TODO: Return 'None' + } + +private: + const int mN; + const int mK; + const double mOmega; + const double mGamma; + const double mEta; + + const MatrixXiR mH; + + const std::vector mH_zero_indices; + + + static Eigen::RowVectorXd L_awgn(const Eigen::RowVectorXd& s, + const Eigen::RowVectorXd& y) { + return s.array() - y.array(); + } + + static std::vector find_zero(MatrixXiR mat) { + std::vector indices; + + for (Eigen::Index i = 0; i < mat.size(); ++i) + if (mat(i) == 0) indices.push_back(i); + + return indices; + } + + Eigen::RowVectorXd grad_H(const Eigen::RowVectorXd& x) { + MatrixXdR A_prod_matrix = x.replicate(mH.rows(), 1); + + for (const auto& index : mH_zero_indices) + A_prod_matrix(index) = 1; + MatrixXdR A_prods = A_prod_matrix.rowwise().prod(); + + + Eigen::RowVectorXd B_sums = + (A_prods.array().pow(2) - A_prods.array()).matrix().transpose(); + B_sums = B_sums * mH.cast(); + + Eigen::RowVectorXd result = 4 * (x.array().pow(2) - 1) * x.array() + + (2 * x.array().inverse()) * B_sums.array(); + + return result; + } + + bool check_parity(const Eigen::RowVectorXi& x_hat) { + Eigen::RowVectorXi syndrome = + (mH * x_hat.transpose()).unaryExpr([](int i) { return i % 2; }); + + return !(syndrome.count() > 0); + } + + Eigen::RowVectorXd projection(const Eigen::RowVectorXd& v) { + return v.cwiseMin(mEta).cwiseMax(-mEta); + } +}; + + +PYBIND11_MODULE(cpp_decoders, proximal) { + proximal.doc() = "Proximal decoder"; + + pybind11::class_(proximal, "ProximalDecoder") + .def(pybind11::init(), + "H"_a.noconvert(), "K"_a, "omega"_a, "gamma"_a, "eta"_a) + .def("decode", &ProximalDecoder::decode, "x"_a.noconvert()); +} \ No newline at end of file From c9a4b1b61ee0fdddc0eeea21a5d0cab56a509a84 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Fri, 25 Nov 2022 11:30:55 +0100 Subject: [PATCH 09/54] Fixed proximal unit tests --- sw/test/test_proximal.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sw/test/test_proximal.py b/sw/test/test_proximal.py index 355efc6..650b0e6 100644 --- a/sw/test/test_proximal.py +++ b/sw/test/test_proximal.py @@ -20,7 +20,7 @@ class CheckParityTestCase(unittest.TestCase): [0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 1]]) - decoder = proximal.ProximalDecoder(H, R) + decoder = proximal.ProximalDecoder(H) d1 = np.array([0, 1, 0, 1]) c1 = np.dot(np.transpose(G), d1) % 2 @@ -62,7 +62,7 @@ class GradientTestCase(unittest.TestCase): expected_grad_h = np.array( [4, 26, -8, -36, 38, 28, -32]) # Manually calculated result - decoder = proximal.ProximalDecoder(H, R) + decoder = proximal.ProximalDecoder(H) grad_h = decoder._grad_h(x) self.assertEqual(np.array_equal(grad_h, expected_grad_h), True) From 98181933861614e80be1f8be1c82b48caf9d831a Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Fri, 25 Nov 2022 11:36:57 +0100 Subject: [PATCH 10/54] Return nullopt on decoding failure --- sw/cpp/src/cpp_decoders.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sw/cpp/src/cpp_decoders.cpp b/sw/cpp/src/cpp_decoders.cpp index 4a50b2d..e7f102e 100644 --- a/sw/cpp/src/cpp_decoders.cpp +++ b/sw/cpp/src/cpp_decoders.cpp @@ -2,6 +2,7 @@ #include #include #include +#include #include @@ -67,7 +68,7 @@ public: mH_zero_indices(find_zero(H)) { } - const Eigen::RowVectorXi + const std::optional decode(const Eigen::Ref& y) { Eigen::RowVectorXd s = Eigen::RowVectorXd::Zero(mH.cols()); Eigen::RowVectorXi x_hat; @@ -85,8 +86,7 @@ public: } } - return x_hat; - // TODO: Return 'None' + return std::nullopt; } private: @@ -128,7 +128,7 @@ private: B_sums = B_sums * mH.cast(); Eigen::RowVectorXd result = 4 * (x.array().pow(2) - 1) * x.array() + - (2 * x.array().inverse()) * B_sums.array(); + (2 * x.array().inverse()) * B_sums.array(); return result; } @@ -151,6 +151,7 @@ PYBIND11_MODULE(cpp_decoders, proximal) { pybind11::class_(proximal, "ProximalDecoder") .def(pybind11::init(), - "H"_a.noconvert(), "K"_a, "omega"_a, "gamma"_a, "eta"_a) + "H"_a.noconvert(), "K"_a = 100, "omega"_a = 0.0002, + "gamma"_a = .05, "eta"_a = 1.5) .def("decode", &ProximalDecoder::decode, "x"_a.noconvert()); } \ No newline at end of file From 066d9d85d2e315235312296580f3c9ad64d404eb Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Fri, 25 Nov 2022 14:00:19 +0100 Subject: [PATCH 11/54] Finished cpp proximal decoder implementation --- .gitignore | 2 ++ sw/cpp/CMakeLists.txt | 21 ++++++++++++-- sw/cpp/src/cpp_decoders.cpp | 58 ++++++++----------------------------- 3 files changed, 33 insertions(+), 48 deletions(-) diff --git a/.gitignore b/.gitignore index 987729f..29c1db1 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,8 @@ latex/build/ latex/tmp/ sw/cpp_modules sw/cpp/build +sw/cpp/cmake-build-debug +sw/cpp/cmake-build-release sw/sim_saves/ .idea __pycache__ diff --git a/sw/cpp/CMakeLists.txt b/sw/cpp/CMakeLists.txt index 95869fc..f1ef167 100644 --- a/sw/cpp/CMakeLists.txt +++ b/sw/cpp/CMakeLists.txt @@ -1,14 +1,31 @@ cmake_minimum_required (VERSION 3.0) project(cpp_decoders) - + + +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + message(STATUS "Setting build type to 'Release' as none was specified.") + set(CMAKE_BUILD_TYPE + Release + CACHE STRING "Choose the type of build." FORCE) + set_property( + CACHE CMAKE_BUILD_TYPE + PROPERTY STRINGS + "Debug" + "Release") +endif() + +set(CMAKE_CXX_STANDARD 23) + find_package(Eigen3 3.3 REQUIRED NO_MODULE) find_package(pybind11 CONFIG REQUIRED) include_directories(${pybind11_INCLUDE_DIRS}) +find_package(OpenMP REQUIRED) + pybind11_add_module(cpp_decoders src/cpp_decoders.cpp) -target_link_libraries(cpp_decoders PRIVATE Eigen3::Eigen) +target_link_libraries(cpp_decoders PRIVATE Eigen3::Eigen OpenMP::OpenMP_CXX) set(INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../cpp_modules) diff --git a/sw/cpp/src/cpp_decoders.cpp b/sw/cpp/src/cpp_decoders.cpp index e7f102e..bb519bf 100644 --- a/sw/cpp/src/cpp_decoders.cpp +++ b/sw/cpp/src/cpp_decoders.cpp @@ -1,53 +1,14 @@ -#include +#include #include + #include #include #include #include +#include -/* - - import numpy as np - - -class ProximalDecoder: - """Class implementing the Proximal Decoding algorithm. See "Proximal - Decoding for LDPC Codes" - by Tadashi Wadayama, and Satoshi Takabe. - """ - - def decode(self, y: np.array) -> np.array: - """Decode a received signal. The algorithm is detailed in 3.2, p.3. - - This function assumes a BPSK modulated signal and an AWGN channel. - - :param y: Vector of received values. (y = x + w, where 'x' is - element of [-1, 1]^n and 'w' is noise) - :return: Most probably sent codeword (element of [0, 1]^n). If - decoding fails, the returned value is 'None' - """ - s = np.zeros(self._n) - x_hat = np.zeros(self._n) - for k in range(self._K): - r = s - self._step_size * self._L_awgn(s, y) - - s = r - self._gamma * self._grad_h(r) - s = self._projection(s) # Equation (15) - - x_hat = np.sign(s) - - # Map the codeword from [ -1, 1]^n to [0, 1]^n - x_hat = (x_hat == -1) * 1 - - if self._check_parity(x_hat): - return x_hat - - return None - - - * */ namespace py11 = pybind11; using namespace pybind11::literals; @@ -66,6 +27,8 @@ public: double gamma, double eta) : mN(H.cols()), mK(K), mOmega(omega), mGamma(gamma), mEta(eta), mH(H), mH_zero_indices(find_zero(H)) { + + Eigen::setNbThreads(8); } const std::optional @@ -76,10 +39,14 @@ public: for (std::size_t i = 0; i < mK; ++i) { r = s - mOmega * L_awgn(s, y); + s = projection(r - mGamma * grad_H(r)); - x_hat = s.cast().cwiseSign(); - x_hat = (x_hat.array() - 1).matrix() / (-2); + x_hat = s.unaryExpr([](double d) { + uint64_t bits = std::bit_cast(d); + // Return the sign bit: 1 for negative, 0 for positive + return (bits >> 63); + }).cast(); if (check_parity(x_hat)) { return x_hat; @@ -96,8 +63,7 @@ private: const double mGamma; const double mEta; - const MatrixXiR mH; - + const MatrixXiR mH; const std::vector mH_zero_indices; From 5fc8435cb4f02d6d1e43b00de6ca1e648b7360d6 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Fri, 25 Nov 2022 15:39:41 +0100 Subject: [PATCH 12/54] Return number of iterations after decoding --- sw/cpp/CMakeLists.txt | 2 ++ sw/cpp/src/cpp_decoders.cpp | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/sw/cpp/CMakeLists.txt b/sw/cpp/CMakeLists.txt index f1ef167..3833598 100644 --- a/sw/cpp/CMakeLists.txt +++ b/sw/cpp/CMakeLists.txt @@ -24,6 +24,8 @@ include_directories(${pybind11_INCLUDE_DIRS}) find_package(OpenMP REQUIRED) +add_compile_options(-ffast-math) + pybind11_add_module(cpp_decoders src/cpp_decoders.cpp) target_link_libraries(cpp_decoders PRIVATE Eigen3::Eigen OpenMP::OpenMP_CXX) diff --git a/sw/cpp/src/cpp_decoders.cpp b/sw/cpp/src/cpp_decoders.cpp index bb519bf..4d3259d 100644 --- a/sw/cpp/src/cpp_decoders.cpp +++ b/sw/cpp/src/cpp_decoders.cpp @@ -31,7 +31,7 @@ public: Eigen::setNbThreads(8); } - const std::optional + std::pair, int> decode(const Eigen::Ref& y) { Eigen::RowVectorXd s = Eigen::RowVectorXd::Zero(mH.cols()); Eigen::RowVectorXi x_hat; @@ -49,11 +49,11 @@ public: }).cast(); if (check_parity(x_hat)) { - return x_hat; + return {x_hat, i + 1}; } } - return std::nullopt; + return {std::nullopt, mK}; } private: From eb32d83ed0018ddd8cbf9d6d1c99537e5fc0857d Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Fri, 25 Nov 2022 15:42:12 +0100 Subject: [PATCH 13/54] Modified main.py to work with the newly implemented cpp proximal decoder --- sw/main.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/sw/main.py b/sw/main.py index 14ec9c7..3b0ebc9 100644 --- a/sw/main.py +++ b/sw/main.py @@ -1,12 +1,14 @@ import numpy as np from decoders import proximal, maximum_likelihood +from cpp_modules import cpp_decoders from utility import simulation, codes def start_new_simulation(sim_mgr: simulation.SimulationManager): sim_name = "test" + # H = codes.Gs["Hamming_7_4"] # H = codes.read_alist_file("res/204.3.486.alist") # H = codes.read_alist_file("res/204.55.187.alist") H = codes.read_alist_file("res/96.3.965.alist") @@ -15,12 +17,16 @@ def start_new_simulation(sim_mgr: simulation.SimulationManager): # H = codes.read_alist_file("res/999.111.3.5543.alist") # H = codes.read_alist_file("res/999.111.3.5565.alist") # H = codes.read_alist_file("res/816.1A4.845.alist") - k, n = H.shape + n_min_k, n = H.shape + k = n - n_min_k decoders = [ - proximal.ProximalDecoder(H, gamma=0.01), - proximal.ProximalDecoder(H, gamma=0.05), - proximal.ProximalDecoder(H, gamma=0.15) + cpp_decoders.ProximalDecoder(H.astype('int32'), gamma=0.01, K=1000, + omega=1e-4, eta=1.5), + cpp_decoders.ProximalDecoder(H.astype('int32'), gamma=0.05, K=1000, + omega=5*1e-5, eta=1.5), + cpp_decoders.ProximalDecoder(H.astype('int32'), gamma=0.15, K=1000, + omega=1e-4, eta=1.5) ] labels = [ @@ -31,7 +37,8 @@ def start_new_simulation(sim_mgr: simulation.SimulationManager): sim = simulation.Simulator(n=n, k=k, decoders=decoders, target_frame_errors=100, - SNRs=np.arange(1, 6, 0.5)) + SNRs=np.arange(1, 6, 0.5), + max_num_iterations=3000) sim_mgr.configure_simulation(simulator=sim, name=sim_name, column_labels=labels) From 5662ba841af173373fe9e4627c87e9b4b358a4b9 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Fri, 25 Nov 2022 18:47:23 +0100 Subject: [PATCH 14/54] Made cpp ProximalDecoder picklable --- sw/cpp/src/cpp_decoders.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/sw/cpp/src/cpp_decoders.cpp b/sw/cpp/src/cpp_decoders.cpp index 4d3259d..a00422f 100644 --- a/sw/cpp/src/cpp_decoders.cpp +++ b/sw/cpp/src/cpp_decoders.cpp @@ -25,7 +25,7 @@ class ProximalDecoder { public: ProximalDecoder(const Eigen::Ref& H, int K, double omega, double gamma, double eta) - : mN(H.cols()), mK(K), mOmega(omega), mGamma(gamma), mEta(eta), mH(H), + : mK(K), mOmega(omega), mGamma(gamma), mEta(eta), mH(H), mH_zero_indices(find_zero(H)) { Eigen::setNbThreads(8); @@ -56,8 +56,7 @@ public: return {std::nullopt, mK}; } -private: - const int mN; + // private: const int mK; const double mOmega; const double mGamma; @@ -119,5 +118,15 @@ PYBIND11_MODULE(cpp_decoders, proximal) { .def(pybind11::init(), "H"_a.noconvert(), "K"_a = 100, "omega"_a = 0.0002, "gamma"_a = .05, "eta"_a = 1.5) - .def("decode", &ProximalDecoder::decode, "x"_a.noconvert()); + .def("decode", &ProximalDecoder::decode, "x"_a.noconvert()) + .def(pybind11::pickle( + [](const ProximalDecoder& a) { // dump + return pybind11::make_tuple(a.mH, a.mK, a.mOmega, a.mGamma, + a.mEta); + }, + [](pybind11::tuple t) { // load + return ProximalDecoder{t[0].cast(), t[1].cast(), + t[2].cast(), t[3].cast(), + t[4].cast()}; + })); } \ No newline at end of file From ec03f9f5f12d8bccc81a6c4527f7e2b8aafb04ee Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Fri, 25 Nov 2022 18:52:46 +0100 Subject: [PATCH 15/54] Renamed Simulator to ProximalDecoderSimulator and added ProximalDecoder specific functionality --- sw/main.py | 8 ++++---- sw/utility/simulation.py | 13 +++++++++++-- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/sw/main.py b/sw/main.py index 3b0ebc9..b2583ff 100644 --- a/sw/main.py +++ b/sw/main.py @@ -35,10 +35,10 @@ def start_new_simulation(sim_mgr: simulation.SimulationManager): "proximal $\\gamma = 0.15$" ] - sim = simulation.Simulator(n=n, k=k, decoders=decoders, - target_frame_errors=100, - SNRs=np.arange(1, 6, 0.5), - max_num_iterations=3000) + sim = simulation.ProximalDecoderSimulator(n=n, k=k, decoders=decoders, + target_frame_errors=100, + SNRs=np.arange(1, 6, 0.5), + max_num_iterations=3000) sim_mgr.configure_simulation(simulator=sim, name=sim_name, column_labels=labels) diff --git a/sw/utility/simulation.py b/sw/utility/simulation.py index d27605f..ddb6ab1 100644 --- a/sw/utility/simulation.py +++ b/sw/utility/simulation.py @@ -27,7 +27,7 @@ def count_bit_errors(d: np.array, d_hat: np.array) -> int: # TODO: Write unit tests -class Simulator: +class ProximalDecoderSimulator: """Class allowing for saving of simulations state. Given a list of decoders, this class allows for simulating the @@ -79,6 +79,7 @@ class Simulator: self._BERs = [np.zeros(len(SNRs)) for i in range(len(decoders))] self._dec_fails = [np.zeros(len(SNRs)) for i in range(len(decoders))] + self._avg_K = [np.zeros(len(SNRs)) for i in range(len(decoders))] self._create_pbars() @@ -144,10 +145,11 @@ class Simulator: decoder = self._decoders[self._curr_decoder_index] y = noise.add_awgn(self._x_bpsk, SNR, self._n, self._k) - x_hat = decoder.decode(y) + x_hat, K = decoder.decode(y) # Handle decoding failure if x_hat is not None: + self._avg_K[self._curr_decoder_index][self._curr_SNRs_index] += K return count_bit_errors(self._x, x_hat) else: self._curr_num_dec_fails += 1 @@ -184,6 +186,10 @@ class Simulator: self._BERs[self._curr_decoder_index][self._curr_SNRs_index] \ = self._curr_num_bit_errors / ( adj_num_iterations * self._n) + self._avg_K[self._curr_decoder_index][self._curr_SNRs_index]\ + = \ + self._avg_K[self._curr_decoder_index][ + self._curr_SNRs_index] / adj_num_iterations self._dec_fails[self._curr_decoder_index][self._curr_SNRs_index] \ = self._curr_num_dec_fails @@ -253,6 +259,9 @@ class Simulator: for i, decoder_dec_fails in enumerate(self._dec_fails): data[f"DecFails_{i}"] = decoder_dec_fails + for i, avg_K in enumerate(self._avg_K): + data[f"AvgK_{i}"] = avg_K + return pd.DataFrame(data) From b33a0735f00f0c86884c394fe5118e6fac895e20 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Fri, 25 Nov 2022 19:34:19 +0100 Subject: [PATCH 16/54] Put simulation code into separate module --- sw/main.py | 14 +- sw/plot_results.py | 5 +- sw/test/test_utility.py | 20 +- sw/utility/simulation/__init__.py | 2 + sw/utility/simulation/management.py | 236 +++++++++++++++++ .../simulators.py} | 238 +----------------- 6 files changed, 252 insertions(+), 263 deletions(-) create mode 100644 sw/utility/simulation/__init__.py create mode 100644 sw/utility/simulation/management.py rename sw/utility/{simulation.py => simulation/simulators.py} (51%) diff --git a/sw/main.py b/sw/main.py index b2583ff..1ba512f 100644 --- a/sw/main.py +++ b/sw/main.py @@ -2,10 +2,12 @@ import numpy as np from decoders import proximal, maximum_likelihood from cpp_modules import cpp_decoders -from utility import simulation, codes +from utility import codes +from utility.simulation import SimulationManager +from utility.simulation.simulators import ProximalDecoderSimulator -def start_new_simulation(sim_mgr: simulation.SimulationManager): +def start_new_simulation(sim_mgr: SimulationManager): sim_name = "test" # H = codes.Gs["Hamming_7_4"] @@ -24,7 +26,7 @@ def start_new_simulation(sim_mgr: simulation.SimulationManager): cpp_decoders.ProximalDecoder(H.astype('int32'), gamma=0.01, K=1000, omega=1e-4, eta=1.5), cpp_decoders.ProximalDecoder(H.astype('int32'), gamma=0.05, K=1000, - omega=5*1e-5, eta=1.5), + omega=5 * 1e-5, eta=1.5), cpp_decoders.ProximalDecoder(H.astype('int32'), gamma=0.15, K=1000, omega=1e-4, eta=1.5) ] @@ -35,7 +37,7 @@ def start_new_simulation(sim_mgr: simulation.SimulationManager): "proximal $\\gamma = 0.15$" ] - sim = simulation.ProximalDecoderSimulator(n=n, k=k, decoders=decoders, + sim = ProximalDecoderSimulator(n=n, k=k, decoders=decoders, target_frame_errors=100, SNRs=np.arange(1, 6, 0.5), max_num_iterations=3000) @@ -51,8 +53,8 @@ def main(): results_dir = "sim_results" saves_dir = "sim_saves" - sim_mgr = simulation.SimulationManager(results_dir=results_dir, - saves_dir=saves_dir) + sim_mgr = SimulationManager(results_dir=results_dir, + saves_dir=saves_dir) # Calculate BERs diff --git a/sw/plot_results.py b/sw/plot_results.py index a894aef..b43f28c 100644 --- a/sw/plot_results.py +++ b/sw/plot_results.py @@ -3,7 +3,8 @@ import typing import matplotlib.pyplot as plt import seaborn as sns import os -from utility import visualization, simulation +from utility import visualization +from utility.simulation import SimulationDeSerializer # TODO: This should be the responsibility of the DeSerializer @@ -26,7 +27,7 @@ def plot_results() -> None: slugs = get_sim_slugs(results_dir) - deserializer = simulation.SimulationDeSerializer(save_dir=saves_dir, + deserializer = SimulationDeSerializer(save_dir=saves_dir, results_dir=results_dir) # Read data diff --git a/sw/test/test_utility.py b/sw/test/test_utility.py index 0cd4cd1..2a589ed 100644 --- a/sw/test/test_utility.py +++ b/sw/test/test_utility.py @@ -1,25 +1,7 @@ import unittest import numpy as np -from utility import simulation, noise, codes - - -class CountBitErrorsTestCase(unittest.TestCase): - """Test case for bit error counting.""" - - def test_count_bit_errors(self): - d1 = np.array([0, 0, 0, 0]) - y_hat1 = np.array([0, 1, 0, 1]) - - d2 = np.array([0, 0, 0, 0]) - y_hat2 = np.array([0, 0, 0, 0]) - - d3 = np.array([0, 0, 0, 0]) - y_hat3 = np.array([1, 1, 1, 1]) - - self.assertEqual(simulation.count_bit_errors(d1, y_hat1), 2) - self.assertEqual(simulation.count_bit_errors(d2, y_hat2), 0) - self.assertEqual(simulation.count_bit_errors(d3, y_hat3), 4) +from utility import noise, codes # TODO: Rewrite tests for new SNR calculation diff --git a/sw/utility/simulation/__init__.py b/sw/utility/simulation/__init__.py new file mode 100644 index 0000000..f3d224e --- /dev/null +++ b/sw/utility/simulation/__init__.py @@ -0,0 +1,2 @@ +from utility.simulation.management import SimulationManager, \ + SimulationDeSerializer diff --git a/sw/utility/simulation/management.py b/sw/utility/simulation/management.py new file mode 100644 index 0000000..15b9008 --- /dev/null +++ b/sw/utility/simulation/management.py @@ -0,0 +1,236 @@ +import json +import pandas as pd +import typing +import signal +import pickle +import os +from pathlib import Path +import platform +from datetime import datetime +import timeit + +from utility import misc + + +class SimulationDeSerializer: + """Class responsible for file management, de- and serialization of + Simulator objects.""" + + def __init__(self, save_dir: str, results_dir: str): + self._saves_dir = save_dir + self._results_dir = results_dir + + Path(self._saves_dir).mkdir(parents=True, exist_ok=True) + Path(self._results_dir).mkdir(parents=True, exist_ok=True) + + def _get_savefile_path(self, sim_name): + return f"{self._saves_dir}/{misc.slugify(sim_name)}_state.pickle" + + def _get_metadata_path(self, sim_name): + return f"{self._results_dir}/{misc.slugify(sim_name)}_metadata.json" + + def _get_results_path(self, sim_name): + return f"{self._results_dir}/{misc.slugify(sim_name)}.csv" + + def _read_metadata(self, sim_name) -> typing.Dict: + with open(self._get_metadata_path(sim_name), 'r', + encoding='utf-8') as f: + return json.load(f) + + def _save_metadata(self, sim_name, metadata) -> None: + with open(self._get_metadata_path(sim_name), 'w+', + encoding='utf-8') as f: + json.dump(metadata, f, ensure_ascii=False, indent=4) + + def unfinished_sim_present(self, sim_name: str): + """Check if the savefile of a previously paused simulation is + present. + + :param sim_name: Name + :return: True if a paused simulation with the given name is found + """ + return os.path.isfile( + self._get_savefile_path(sim_name)) and os.path.isfile( + self._get_metadata_path(sim_name)) + + # TODO: Make the directories configurable in the init function + def get_unfinished_sims(self) -> typing.List[str]: + """Get a list unfinished simulations.""" + save_files = [f for f in os.listdir(self._saves_dir) if + os.path.isfile(os.path.join(self._saves_dir, f))] + + state_files = [f for f in save_files if f.endswith("_state.pickle")] + sim_slugs = [f.removesuffix("_state.pickle") for f in state_files] + + sim_names = [self._read_metadata(slug)["name"] for slug in sim_slugs] + + return sim_names + + def remove_unfinished_sim(self, sim_name: str): + """Remove the savefile of a previously paused simulation. + + :param sim_name: Name of the simulation + """ + os.remove(self._get_savefile_path(sim_name)) + # os.remove(self._get_metadata_path(sim_name)) + + def save_state(self, simulator: typing.Any, sim_name: str, + metadata: typing.Dict) -> None: + """Save the state of a currently running simulation. + + :param simulator: Simulator object + :param sim_name: Name of the simulation + :param metadata: Metadata to be saved besides the actual state + """ + # Save metadata + self._save_metadata(sim_name, metadata) + + # Save simulation state + with open(self._get_savefile_path(sim_name), "wb") as file: + pickle.dump(simulator, file) + + def read_state(self, sim_name: str) -> typing.Tuple[ + typing.Any, typing.Dict]: + """Read the saved state of a paused simulation. + + :param sim_name: Name of the simulation + :return: Tuple of the form (simulator, metadata) + """ + # Read metadata + metadata = self._read_metadata(sim_name) + + # Read simulation state + simulator = None + with open(self._get_savefile_path(sim_name), "rb") as file: + simulator = pickle.load(file) + + return simulator, metadata + + # TODO: Is the simulator object actually necessary here? + def save_results(self, simulator: typing.Any, sim_name: str, + metadata: typing.Dict) -> None: + """Save simulation results to file. + + :param simulator: Simulator object. Used to obtain the data + :param sim_name: Name of the simulation. Determines the filename + :param metadata: Metadata to be saved besides the actual simulation + results + """ + # Save metadata + self._save_metadata(sim_name, metadata) + + # Save results + df = simulator.get_current_results() + df.to_csv(self._get_results_path(sim_name)) + + def read_results(self, sim_name: str) -> typing.Tuple[ + pd.DataFrame, typing.Dict]: + """Read simulation results from file. + + :param sim_name: Name of the simulation. + :return: Tuple of the form (data, metadata), where data is a pandas + dataframe and metadata is a dict + """ + # Read metadata + metadata = self._read_metadata(sim_name) + + # Read results + results = pd.read_csv(self._get_results_path(sim_name)) + + return results, metadata + + +# TODO: Autosave simulation every so often +# TODO: Comment explaining what a Simulator class is +class SimulationManager: + """This class only contains functions relating to stopping and + restarting of simulations (and storing of the simulation state in a + file, to be resumed at a later date). + + All actual work is outsourced to a provided simulator class. + """ + + def __init__(self, saves_dir: str, results_dir: str): + """Construct a SimulationManager object. + + :param saves_dir: Directory in which the simulation state of a paused + simulation should be stored + :param results_dir: Directory in which the results of the simulation + should be stored + """ + self._de_serializer = SimulationDeSerializer(saves_dir, results_dir) + + self._simulator = None + self._sim_name = None + self._metadata = {"duration": 0} + self._sim_start_time = None + + signal.signal(signal.SIGINT, self._exit_gracefully) + signal.signal(signal.SIGTERM, self._exit_gracefully) + signal.signal(signal.SIGHUP, self._exit_gracefully) + + def _sim_configured(self) -> bool: + """Check whether 'configure_simulation()' has been called.""" + return (self._simulator is not None) and ( + self._sim_name is not None) and ( + self._metadata is not None) + + def configure_simulation(self, simulator: typing.Any, name: str, + column_labels: typing.Sequence[str]) -> None: + """Configure a new simulation.""" + self._simulator = simulator + self._sim_name = name + self._metadata["name"] = name + self._metadata["labels"] = column_labels + self._metadata["platform"] = platform.platform() + + def get_unfinished(self) -> typing.List[str]: + """Get a list of names of all present unfinished simulations.""" + return self._de_serializer.get_unfinished_sims() + + def load_unfinished(self, sim_name: str) -> None: + """Load the state of an unfinished simulation form its savefile. + + Warning: This function deletes the savefile after loading. + """ + assert self._de_serializer.unfinished_sim_present(sim_name) + + self._sim_name = sim_name + self._simulator, self._metadata = self._de_serializer.read_state( + sim_name) + + self._de_serializer.remove_unfinished_sim(sim_name) + + # TODO: Metadata is being written twice here. Should save_results() also + # save the metadata? + def _exit_gracefully(self, *args) -> None: + """Handler called when the program is interrupted. Pauses and saves + the currently running simulation.""" + if self._sim_configured(): + self._simulator.stop() + + self._metadata["end_time"] = f"{datetime.now(tz=None)}" + self._metadata["duration"] \ + += timeit.default_timer() - self._sim_start_time + + self._de_serializer.save_state(self._simulator, self._sim_name, + self._metadata) + self._de_serializer.save_results(self._simulator, self._sim_name, + self._metadata) + + exit() + + def simulate(self) -> None: + """Start the simulation. This is a blocking call.""" + assert self._sim_configured() + + self._sim_start_time = timeit.default_timer() + + self._simulator.start() + + self._metadata["end_time"] = f"{datetime.now(tz=None)}" + self._metadata["duration"] \ + += timeit.default_timer() - self._sim_start_time + + self._de_serializer.save_results(self._simulator, self._sim_name, + self._metadata) diff --git a/sw/utility/simulation.py b/sw/utility/simulation/simulators.py similarity index 51% rename from sw/utility/simulation.py rename to sw/utility/simulation/simulators.py index ddb6ab1..a8f69a6 100644 --- a/sw/utility/simulation.py +++ b/sw/utility/simulation/simulators.py @@ -1,19 +1,9 @@ -"""This file contains utility functions relating to tests and simulations of -the decoders.""" -import json import pandas as pd import numpy as np import typing from tqdm import tqdm -import signal -import pickle -import os -from pathlib import Path -import platform -from datetime import datetime -import timeit -from utility import noise, misc +from utility import noise def count_bit_errors(d: np.array, d_hat: np.array) -> int: @@ -262,228 +252,4 @@ class ProximalDecoderSimulator: for i, avg_K in enumerate(self._avg_K): data[f"AvgK_{i}"] = avg_K - return pd.DataFrame(data) - - -class SimulationDeSerializer: - """Class responsible for file management, de- and serialization of - Simulator objects.""" - - def __init__(self, save_dir: str, results_dir: str): - self._saves_dir = save_dir - self._results_dir = results_dir - - Path(self._saves_dir).mkdir(parents=True, exist_ok=True) - Path(self._results_dir).mkdir(parents=True, exist_ok=True) - - def _get_savefile_path(self, sim_name): - return f"{self._saves_dir}/{misc.slugify(sim_name)}_state.pickle" - - def _get_metadata_path(self, sim_name): - return f"{self._results_dir}/{misc.slugify(sim_name)}_metadata.json" - - def _get_results_path(self, sim_name): - return f"{self._results_dir}/{misc.slugify(sim_name)}.csv" - - def _read_metadata(self, sim_name) -> typing.Dict: - with open(self._get_metadata_path(sim_name), 'r', - encoding='utf-8') as f: - return json.load(f) - - def _save_metadata(self, sim_name, metadata) -> None: - with open(self._get_metadata_path(sim_name), 'w+', - encoding='utf-8') as f: - json.dump(metadata, f, ensure_ascii=False, indent=4) - - def unfinished_sim_present(self, sim_name: str): - """Check if the savefile of a previously paused simulation is - present. - - :param sim_name: Name - :return: True if a paused simulation with the given name is found - """ - return os.path.isfile( - self._get_savefile_path(sim_name)) and os.path.isfile( - self._get_metadata_path(sim_name)) - - # TODO: Make the directories configurable in the init function - def get_unfinished_sims(self) -> typing.List[str]: - """Get a list unfinished simulations.""" - save_files = [f for f in os.listdir(self._saves_dir) if - os.path.isfile(os.path.join(self._saves_dir, f))] - - state_files = [f for f in save_files if f.endswith("_state.pickle")] - sim_slugs = [f.removesuffix("_state.pickle") for f in state_files] - - sim_names = [self._read_metadata(slug)["name"] for slug in sim_slugs] - - return sim_names - - def remove_unfinished_sim(self, sim_name: str): - """Remove the savefile of a previously paused simulation. - - :param sim_name: Name of the simulation - """ - os.remove(self._get_savefile_path(sim_name)) - # os.remove(self._get_metadata_path(sim_name)) - - def save_state(self, simulator: typing.Any, sim_name: str, - metadata: typing.Dict) -> None: - """Save the state of a currently running simulation. - - :param simulator: Simulator object - :param sim_name: Name of the simulation - :param metadata: Metadata to be saved besides the actual state - """ - # Save metadata - self._save_metadata(sim_name, metadata) - - # Save simulation state - with open(self._get_savefile_path(sim_name), "wb") as file: - pickle.dump(simulator, file) - - def read_state(self, sim_name: str) -> typing.Tuple[ - typing.Any, typing.Dict]: - """Read the saved state of a paused simulation. - - :param sim_name: Name of the simulation - :return: Tuple of the form (simulator, metadata) - """ - # Read metadata - metadata = self._read_metadata(sim_name) - - # Read simulation state - simulator = None - with open(self._get_savefile_path(sim_name), "rb") as file: - simulator = pickle.load(file) - - return simulator, metadata - - # TODO: Is the simulator object actually necessary here? - def save_results(self, simulator: typing.Any, sim_name: str, - metadata: typing.Dict) -> None: - """Save simulation results to file. - - :param simulator: Simulator object. Used to obtain the data - :param sim_name: Name of the simulation. Determines the filename - :param metadata: Metadata to be saved besides the actual simulation - results - """ - # Save metadata - self._save_metadata(sim_name, metadata) - - # Save results - df = simulator.get_current_results() - df.to_csv(self._get_results_path(sim_name)) - - def read_results(self, sim_name: str) -> typing.Tuple[ - pd.DataFrame, typing.Dict]: - """Read simulation results from file. - - :param sim_name: Name of the simulation. - :return: Tuple of the form (data, metadata), where data is a pandas - dataframe and metadata is a dict - """ - # Read metadata - metadata = self._read_metadata(sim_name) - - # Read results - results = pd.read_csv(self._get_results_path(sim_name)) - - return results, metadata - - -# TODO: Autosave simulation every so often -# TODO: Comment explaining what a Simulator class is -class SimulationManager: - """This class only contains functions relating to stopping and - restarting of simulations (and storing of the simulation state in a - file, to be resumed at a later date). - - All actual work is outsourced to a provided simulator class. - """ - - def __init__(self, saves_dir: str, results_dir: str): - """Construct a SimulationManager object. - - :param saves_dir: Directory in which the simulation state of a paused - simulation should be stored - :param results_dir: Directory in which the results of the simulation - should be stored - """ - self._de_serializer = SimulationDeSerializer(saves_dir, results_dir) - - self._simulator = None - self._sim_name = None - self._metadata = {"duration": 0} - self._sim_start_time = None - - signal.signal(signal.SIGINT, self._exit_gracefully) - signal.signal(signal.SIGTERM, self._exit_gracefully) - signal.signal(signal.SIGHUP, self._exit_gracefully) - - def _sim_configured(self) -> bool: - """Check whether 'configure_simulation()' has been called.""" - return (self._simulator is not None) and ( - self._sim_name is not None) and ( - self._metadata is not None) - - def configure_simulation(self, simulator: typing.Any, name: str, - column_labels: typing.Sequence[str]) -> None: - """Configure a new simulation.""" - self._simulator = simulator - self._sim_name = name - self._metadata["name"] = name - self._metadata["labels"] = column_labels - self._metadata["platform"] = platform.platform() - - def get_unfinished(self) -> typing.List[str]: - """Get a list of names of all present unfinished simulations.""" - return self._de_serializer.get_unfinished_sims() - - def load_unfinished(self, sim_name: str) -> None: - """Load the state of an unfinished simulation form its savefile. - - Warning: This function deletes the savefile after loading. - """ - assert self._de_serializer.unfinished_sim_present(sim_name) - - self._sim_name = sim_name - self._simulator, self._metadata = self._de_serializer.read_state( - sim_name) - - self._de_serializer.remove_unfinished_sim(sim_name) - - # TODO: Metadata is being written twice here. Should save_results() also - # save the metadata? - def _exit_gracefully(self, *args) -> None: - """Handler called when the program is interrupted. Pauses and saves - the currently running simulation.""" - if self._sim_configured(): - self._simulator.stop() - - self._metadata["end_time"] = f"{datetime.now(tz=None)}" - self._metadata["duration"] \ - += timeit.default_timer() - self._sim_start_time - - self._de_serializer.save_state(self._simulator, self._sim_name, - self._metadata) - self._de_serializer.save_results(self._simulator, self._sim_name, - self._metadata) - - exit() - - def simulate(self) -> None: - """Start the simulation. This is a blocking call.""" - assert self._sim_configured() - - self._sim_start_time = timeit.default_timer() - - self._simulator.start() - - self._metadata["end_time"] = f"{datetime.now(tz=None)}" - self._metadata["duration"] \ - += timeit.default_timer() - self._sim_start_time - - self._de_serializer.save_results(self._simulator, self._sim_name, - self._metadata) + return pd.DataFrame(data) \ No newline at end of file From 31f137067ca337d24a476f1abae9c9333a77f0de Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Sun, 27 Nov 2022 02:40:11 +0100 Subject: [PATCH 17/54] Added check for vector dimensions to cpp proximal decoder --- sw/cpp/CMakeLists.txt | 2 +- sw/cpp/src/cpp_decoders.cpp | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/sw/cpp/CMakeLists.txt b/sw/cpp/CMakeLists.txt index 3833598..4014e74 100644 --- a/sw/cpp/CMakeLists.txt +++ b/sw/cpp/CMakeLists.txt @@ -24,7 +24,7 @@ include_directories(${pybind11_INCLUDE_DIRS}) find_package(OpenMP REQUIRED) -add_compile_options(-ffast-math) +#add_compile_options(-ffast-math) pybind11_add_module(cpp_decoders src/cpp_decoders.cpp) target_link_libraries(cpp_decoders PRIVATE Eigen3::Eigen OpenMP::OpenMP_CXX) diff --git a/sw/cpp/src/cpp_decoders.cpp b/sw/cpp/src/cpp_decoders.cpp index a00422f..39a5c27 100644 --- a/sw/cpp/src/cpp_decoders.cpp +++ b/sw/cpp/src/cpp_decoders.cpp @@ -1,14 +1,13 @@ #include +#include #include +#include +#include #include #include #include -#include - -#include - namespace py11 = pybind11; using namespace pybind11::literals; @@ -33,6 +32,9 @@ public: std::pair, int> decode(const Eigen::Ref& y) { + if (y.size() != mH.cols()) + throw std::runtime_error("Length of vector must match H matrix"); + Eigen::RowVectorXd s = Eigen::RowVectorXd::Zero(mH.cols()); Eigen::RowVectorXi x_hat; Eigen::RowVectorXd r; @@ -129,4 +131,6 @@ PYBIND11_MODULE(cpp_decoders, proximal) { t[2].cast(), t[3].cast(), t[4].cast()}; })); + + pybind11::register_exception(proximal, "CppException"); } \ No newline at end of file From cee9c90c23017f81cf57507bb93fc9d064f08dd3 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Sun, 27 Nov 2022 02:43:57 +0100 Subject: [PATCH 18/54] Added doc to simulation __init__ --- sw/utility/simulation/__init__.py | 75 +++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/sw/utility/simulation/__init__.py b/sw/utility/simulation/__init__.py index f3d224e..27197a0 100644 --- a/sw/utility/simulation/__init__.py +++ b/sw/utility/simulation/__init__.py @@ -1,2 +1,77 @@ +"""Simulation package. + +This package provides a way to easily define simulations in such a way that +they can be paused and resumed. + +General Structure +================= +The package consists of 3 main components: + - The 'SimulationDeSerializer': Responsible for file IO + - The 'Simulator': Responsible for the actual simulating + - The 'SimulationManager': Delegates work to the DeSerializer and the + Simulator + +The Simulator Class +=================== +For each new simulating task, a new 'Simulator' must be defined. The +requirements for this class are the following: + - Must define the 'start_or_continue()', 'stop()' and + 'get_current_results()' functions + - Must be picklable in order to store the simulation state + +An example simulator could look as follows: +---------------------------------------------------------------- +class SomeSimulator: + def __init__(self, num_iterations): + self._num_iterations = num_iterations + self._current_iter = 0 + + self._simulation_running = False + + self._results = pd.DataFrame() + + def _perform_iteration(self): + # Perform iteration and append results + ... + + def start_or_continue(self) -> None: + self._simulation_running = True + + while self._simulation_running and ( + self._current_iter < self._num_iterations): + self._perform_iteration() + + def stop(self) -> None: + self._simulation_running = False + + def get_current_results(self) -> pd.DataFrame: + return self._results +---------------------------------------------------------------- + +Usage +===== +To start a new simulation: +---------------------------------------------------------------- +sim_mgr = SimulationManager(results_dir="results", saves_dir="saves") + +sim = SomeSimulator(num_iterations=100) +sim_mgr.configure_simulation(simulator=sim, name='Some Simulation', \ + column_labels=['label1', 'label2']) +sim_mgr.start() +---------------------------------------------------------------- + +To check for a previously interrupted simulation and continue: +---------------------------------------------------------------- +sim_mgr = SimulationManager(results_dir="results", saves_dir="saves") + +unfinished_sims = sim_mgr.get_unfinished() + +if len(unfinished_sims) > 0: + sim_mgr.load_unfinished(unfinished_sims[0]) + sim_mgr.simulate() +---------------------------------------------------------------- +""" + + from utility.simulation.management import SimulationManager, \ SimulationDeSerializer From c276ad456c4a35441106e0323a2534edddbd0c0b Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Sun, 27 Nov 2022 02:49:13 +0100 Subject: [PATCH 19/54] Implemented GenericMultithreadedSimulator --- sw/utility/simulation/simulators.py | 82 +++++++++++++++++++++++++++-- 1 file changed, 77 insertions(+), 5 deletions(-) diff --git a/sw/utility/simulation/simulators.py b/sw/utility/simulation/simulators.py index a8f69a6..35443d3 100644 --- a/sw/utility/simulation/simulators.py +++ b/sw/utility/simulation/simulators.py @@ -2,8 +2,12 @@ import pandas as pd import numpy as np import typing from tqdm import tqdm +from concurrent.futures import ProcessPoolExecutor, process, wait +from functools import partial +from multiprocessing import Lock from utility import noise +from cpp_modules.cpp_decoders import ProximalDecoder def count_bit_errors(d: np.array, d_hat: np.array) -> int: @@ -176,10 +180,10 @@ class ProximalDecoderSimulator: self._BERs[self._curr_decoder_index][self._curr_SNRs_index] \ = self._curr_num_bit_errors / ( adj_num_iterations * self._n) - self._avg_K[self._curr_decoder_index][self._curr_SNRs_index]\ + self._avg_K[self._curr_decoder_index][self._curr_SNRs_index] \ = \ - self._avg_K[self._curr_decoder_index][ - self._curr_SNRs_index] / adj_num_iterations + self._avg_K[self._curr_decoder_index][ + self._curr_SNRs_index] / adj_num_iterations self._dec_fails[self._curr_decoder_index][self._curr_SNRs_index] \ = self._curr_num_dec_fails @@ -215,7 +219,7 @@ class ProximalDecoderSimulator: self._decoder_pbar.close() self._overall_pbar.close() - def start(self) -> None: + def start_or_continue(self) -> None: """Start the simulation. This is a blocking call. A call to the stop() function @@ -252,4 +256,72 @@ class ProximalDecoderSimulator: for i, avg_K in enumerate(self._avg_K): data[f"AvgK_{i}"] = avg_K - return pd.DataFrame(data) \ No newline at end of file + return pd.DataFrame(data) + + +class GenericMultithreadedSimulator: + def __init__(self, max_workers=8): + self._task_func = None + self._task_params = None + self._max_workers = max_workers + + self._results = {} + self._executor = None + + @property + def task_params(self): + return self._task_params + + @task_params.setter + def task_params(self, params): + assert isinstance(params, dict) + self._task_params = params + + @property + def task_func(self): + return self._task_func + + @task_func.setter + def task_func(self, func): + self._task_func = func + + def start_or_continue(self): + self._executor = ProcessPoolExecutor(max_workers=self._max_workers) + + with tqdm(total=(len(self._task_params)), leave=False) as pbar: + def done_callback(key, f): + try: + pbar.update(1) + self._results[key] = f.result() + del self._task_params[key] + except process.BrokenProcessPool: + # This exception is thrown when the program is + # prematurely stopped with a KeyboardInterrupt + # TODO: Make sure task_params have not been removed + pass + + futures = [] + + for key, params in self._task_params.items(): + future = self._executor.submit(self._task_func, params) + future.add_done_callback(partial(done_callback, key)) + futures.append(future) + + self._executor.shutdown(wait=True, cancel_futures=False) + + def stop(self): + assert self._executor is not None, "The simulation has to be started" \ + " before it can be stopped" + self._executor.shutdown(wait=False, cancel_futures=True) + + def get_current_results(self): + return self._results + + def __getstate__(self): + state = self.__dict__.copy() + state["_executor"] = None + return state + + def __setstate__(self, state): + self.__dict__.update(state) + self._executor = ProcessPoolExecutor() From c3c036839984552bbb8ecd4e0399b8ede96d4335 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 28 Nov 2022 15:56:26 +0100 Subject: [PATCH 20/54] Fixed bug where dictionary was changed during operation --- sw/utility/simulation/simulators.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sw/utility/simulation/simulators.py b/sw/utility/simulation/simulators.py index 35443d3..0478f9b 100644 --- a/sw/utility/simulation/simulators.py +++ b/sw/utility/simulation/simulators.py @@ -302,7 +302,7 @@ class GenericMultithreadedSimulator: futures = [] - for key, params in self._task_params.items(): + for key, params in list(self._task_params.items()): future = self._executor.submit(self._task_func, params) future.add_done_callback(partial(done_callback, key)) futures.append(future) From fff31ce6ad50b9fe798b6fa247936d6e7573ebdf Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 28 Nov 2022 16:00:03 +0100 Subject: [PATCH 21/54] WARNING: Non-multithreaded simulators broken: Adapted serialization to multithreaded simulator --- sw/utility/simulation/management.py | 31 ++++++++++++++++++----------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/sw/utility/simulation/management.py b/sw/utility/simulation/management.py index 15b9008..4fc5992 100644 --- a/sw/utility/simulation/management.py +++ b/sw/utility/simulation/management.py @@ -8,6 +8,7 @@ from pathlib import Path import platform from datetime import datetime import timeit +import collections.abc from utility import misc @@ -120,7 +121,14 @@ class SimulationDeSerializer: self._save_metadata(sim_name, metadata) # Save results - df = simulator.get_current_results() + data = {} + for key, value in simulator.get_current_results().items(): + if not isinstance(value, collections.abc.Sequence): + value = [value] + + data[misc.slugify(key)] = value + + df = pd.DataFrame(data) df.to_csv(self._get_results_path(sim_name)) def read_results(self, sim_name: str) -> typing.Tuple[ @@ -165,10 +173,6 @@ class SimulationManager: self._metadata = {"duration": 0} self._sim_start_time = None - signal.signal(signal.SIGINT, self._exit_gracefully) - signal.signal(signal.SIGTERM, self._exit_gracefully) - signal.signal(signal.SIGHUP, self._exit_gracefully) - def _sim_configured(self) -> bool: """Check whether 'configure_simulation()' has been called.""" return (self._simulator is not None) and ( @@ -224,13 +228,16 @@ class SimulationManager: """Start the simulation. This is a blocking call.""" assert self._sim_configured() - self._sim_start_time = timeit.default_timer() + try: + self._sim_start_time = timeit.default_timer() - self._simulator.start() + self._simulator.start_or_continue() - self._metadata["end_time"] = f"{datetime.now(tz=None)}" - self._metadata["duration"] \ - += timeit.default_timer() - self._sim_start_time + self._metadata["end_time"] = f"{datetime.now(tz=None)}" + self._metadata["duration"] \ + += timeit.default_timer() - self._sim_start_time - self._de_serializer.save_results(self._simulator, self._sim_name, - self._metadata) + self._de_serializer.save_results(self._simulator, self._sim_name, + self._metadata) + except KeyboardInterrupt: + self._exit_gracefully() From 4f20acb412b98222c5747a9bff319541520e9e7f Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 28 Nov 2022 16:00:18 +0100 Subject: [PATCH 22/54] Added note to readme about python version --- sw/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sw/README.md b/sw/README.md index 3f2111b..bd6f18e 100644 --- a/sw/README.md +++ b/sw/README.md @@ -2,6 +2,9 @@ ## Software +Warning: At least a `Python 3.9` or higher is required to properly run the +scripts in this project + ### Create a python virtual environment In the root directory of this repository run From 27c36855298273290a3e7c3658a249442055cb0c Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 28 Nov 2022 16:01:11 +0100 Subject: [PATCH 23/54] Added simulate_2d_dec_fails.py --- sw/simulate_2d_dec_fails.py | 101 ++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 sw/simulate_2d_dec_fails.py diff --git a/sw/simulate_2d_dec_fails.py b/sw/simulate_2d_dec_fails.py new file mode 100644 index 0000000..e237a8a --- /dev/null +++ b/sw/simulate_2d_dec_fails.py @@ -0,0 +1,101 @@ +import numpy as np +import pandas as pd +import seaborn as sns +import matplotlib.pyplot as plt +import signal +from timeit import default_timer + +from utility import codes, noise, misc +from utility.simulation.simulators import GenericMultithreadedSimulator + +from cpp_modules.cpp_decoders import ProximalDecoder + + +def task_func(params): + signal.signal(signal.SIGINT, signal.SIG_IGN) + + decoder, num_iterations, x_bpsk, SNR, n, k = params + + dec_fails = 0 + for i in range(num_iterations): + x = noise.add_awgn(x_bpsk, SNR, n, k) + x_hat, num_iter = decoder.decode(x) + + if x_hat is None: + dec_fails += 1 + + return dec_fails / num_iterations + + +def simulate(H_file, SNR, num_iterations, omegas, Ks): + sim = GenericMultithreadedSimulator() + + # Define fixed simulation params + + H = codes.read_alist_file(f"res/{H_file}") + n_min_k, n = H.shape + k = n - n_min_k + + x_bpsk = np.zeros(n) + 1 + + # Define params different for each task + + params = {} + for i, omega in enumerate(omegas): + for j, K in enumerate(Ks): + decoder = ProximalDecoder(H=H.astype('int32'), K=K.astype('int32'), + omega=omega) + params[f"{i}_{j}"] = (decoder, num_iterations, x_bpsk, SNR, n, k) + + # Set up simulation + + sim.task_params = params + sim.task_func = task_func + + sim.start_or_continue() + + return sim.get_current_results() + + +def reformat_data(results, omegas, Ks): + data = np.zeros(1600).reshape(40, 40) + + for key, value in results.items(): + i_w, i_k = key.split('_') + data[int(i_w), int(i_k)] = value + + return pd.DataFrame(data, columns=Ks, index=omegas) + + +def main(): + # Set up simulation params + + sim_name = "w_log_k_lin_zoomed_in" + + H_file = "96.3.965.alist" + SNR = 3 + + num_iterations = 1000 + omegas = np.logspace(-0.3, -2.82, 40) + Ks = np.ceil(np.linspace(10 ** 1.3, 10 ** 2.3, 40)).astype('int32') + + # Run simulation + + start_time = default_timer() + results = simulate(H_file, SNR, num_iterations, omegas, Ks) + end_time = default_timer() + + print(f"duration: {end_time - start_time}") + + df = reformat_data(results, omegas, Ks) + + df.to_csv( + f"sim_results/2d_dec_fails_{sim_name}_{misc.slugify(H_file)}.csv") + + sns.set_theme() + sns.heatmap(df) + plt.show() + + +if __name__ == "__main__": + main() From 523e1a41430ecd24c437c862c2fdac50cbe4e9da Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 28 Nov 2022 16:06:47 +0100 Subject: [PATCH 24/54] Added 2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv --- ...ails_w_log_k_lin_zoomed_in_963965alist.csv | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv new file mode 100644 index 0000000..cdc3c5f --- /dev/null +++ b/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv @@ -0,0 +1,41 @@ +,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 +0.5011872336272722,0.938,0.938,0.938,0.937,0.937,0.936,0.935,0.935,0.95,0.95,0.95,0.949,0.949,0.949,0.949,0.949,0.954,0.954,0.954,0.954,0.954,0.954,0.954,0.954,0.941,0.941,0.941,0.941,0.941,0.941,0.941,0.941,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94 +0.4319014035579926,0.919,0.92,0.914,0.912,0.918,0.919,0.911,0.917,0.924,0.918,0.911,0.917,0.91,0.918,0.91,0.919,0.923,0.91,0.916,0.917,0.916,0.923,0.916,0.916,0.919,0.916,0.916,0.923,0.916,0.919,0.916,0.906,0.916,0.916,0.923,0.919,0.923,0.916,0.923,0.921 +0.37219388260414266,0.886,0.896,0.897,0.874,0.875,0.871,0.891,0.891,0.891,0.89,0.867,0.875,0.875,0.875,0.882,0.89,0.875,0.866,0.874,0.896,0.896,0.896,0.879,0.875,0.896,0.89,0.891,0.874,0.874,0.874,0.888,0.895,0.874,0.875,0.882,0.891,0.891,0.891,0.885,0.874 +0.32074053269277175,0.865,0.862,0.846,0.84,0.826,0.837,0.826,0.838,0.834,0.837,0.821,0.827,0.834,0.836,0.836,0.798,0.834,0.825,0.831,0.797,0.819,0.834,0.834,0.822,0.818,0.797,0.835,0.822,0.825,0.818,0.818,0.838,0.825,0.822,0.834,0.837,0.797,0.825,0.825,0.835 +0.276400269107749,0.788,0.811,0.784,0.776,0.782,0.76,0.763,0.736,0.758,0.752,0.736,0.728,0.731,0.761,0.727,0.744,0.726,0.726,0.726,0.757,0.746,0.744,0.756,0.75,0.746,0.746,0.756,0.741,0.74,0.751,0.74,0.725,0.738,0.738,0.739,0.751,0.749,0.745,0.75,0.755 +0.23818975457029212,0.786,0.759,0.705,0.689,0.71,0.7,0.677,0.682,0.652,0.658,0.658,0.674,0.674,0.648,0.665,0.647,0.647,0.668,0.641,0.631,0.63,0.641,0.636,0.659,0.637,0.626,0.64,0.628,0.628,0.632,0.637,0.623,0.654,0.624,0.628,0.629,0.629,0.653,0.626,0.621 +0.20526159169598815,0.731,0.695,0.656,0.669,0.668,0.61,0.64,0.588,0.629,0.573,0.612,0.564,0.562,0.55,0.557,0.58,0.53,0.554,0.55,0.535,0.524,0.553,0.522,0.536,0.542,0.582,0.514,0.548,0.54,0.578,0.539,0.525,0.536,0.54,0.537,0.574,0.536,0.538,0.536,0.545 +0.1768855302008251,0.741,0.663,0.601,0.599,0.546,0.554,0.544,0.547,0.534,0.515,0.487,0.499,0.477,0.507,0.49,0.484,0.506,0.501,0.478,0.486,0.471,0.471,0.454,0.454,0.473,0.475,0.465,0.462,0.463,0.448,0.464,0.462,0.442,0.465,0.456,0.444,0.465,0.459,0.473,0.473 +0.15243227208706556,0.697,0.641,0.587,0.537,0.528,0.485,0.504,0.489,0.478,0.474,0.461,0.462,0.444,0.421,0.454,0.421,0.443,0.44,0.432,0.427,0.414,0.403,0.414,0.423,0.41,0.409,0.405,0.408,0.423,0.421,0.389,0.417,0.387,0.386,0.401,0.385,0.415,0.379,0.415,0.396 +0.13135951565537832,0.688,0.619,0.54,0.51,0.504,0.468,0.458,0.448,0.452,0.395,0.404,0.412,0.387,0.42,0.379,0.389,0.387,0.362,0.389,0.401,0.384,0.358,0.379,0.363,0.363,0.371,0.392,0.35,0.39,0.339,0.387,0.375,0.374,0.373,0.345,0.335,0.344,0.34,0.344,0.346 +0.11319992884026403,0.654,0.609,0.524,0.486,0.472,0.486,0.405,0.444,0.39,0.403,0.397,0.379,0.351,0.378,0.344,0.346,0.363,0.367,0.363,0.328,0.328,0.367,0.346,0.322,0.349,0.347,0.346,0.317,0.334,0.324,0.339,0.317,0.343,0.35,0.349,0.337,0.336,0.31,0.327,0.338 +0.09755078515254997,0.664,0.568,0.517,0.508,0.45,0.407,0.419,0.377,0.376,0.357,0.352,0.343,0.363,0.376,0.371,0.323,0.348,0.347,0.318,0.337,0.329,0.329,0.327,0.332,0.324,0.329,0.328,0.319,0.332,0.303,0.301,0.315,0.321,0.299,0.315,0.283,0.316,0.291,0.291,0.28 +0.08406503238449185,0.663,0.567,0.483,0.473,0.44,0.42,0.402,0.369,0.362,0.363,0.355,0.35,0.31,0.347,0.337,0.308,0.304,0.322,0.32,0.297,0.307,0.318,0.292,0.318,0.317,0.273,0.272,0.298,0.29,0.285,0.295,0.308,0.308,0.314,0.313,0.302,0.29,0.293,0.302,0.262 +0.07244359600749903,0.649,0.571,0.502,0.46,0.416,0.404,0.393,0.367,0.366,0.348,0.342,0.33,0.302,0.326,0.338,0.31,0.296,0.286,0.29,0.297,0.31,0.303,0.303,0.306,0.292,0.292,0.285,0.282,0.271,0.286,0.278,0.269,0.297,0.277,0.289,0.283,0.285,0.247,0.282,0.282 +0.06242874657437091,0.655,0.563,0.524,0.466,0.441,0.418,0.369,0.363,0.338,0.35,0.341,0.33,0.325,0.302,0.297,0.307,0.293,0.296,0.278,0.302,0.3,0.293,0.283,0.307,0.291,0.246,0.284,0.282,0.281,0.301,0.287,0.324,0.299,0.268,0.273,0.244,0.244,0.287,0.299,0.289 +0.05379838403443687,0.705,0.582,0.494,0.45,0.421,0.406,0.377,0.342,0.35,0.332,0.33,0.33,0.35,0.311,0.311,0.282,0.308,0.26,0.311,0.284,0.296,0.306,0.284,0.297,0.29,0.269,0.325,0.246,0.291,0.323,0.269,0.299,0.292,0.276,0.265,0.289,0.274,0.289,0.309,0.319 +0.04636111220443666,0.713,0.561,0.516,0.483,0.46,0.399,0.363,0.364,0.357,0.338,0.32,0.323,0.315,0.341,0.338,0.303,0.292,0.302,0.276,0.306,0.303,0.288,0.291,0.292,0.267,0.278,0.321,0.321,0.275,0.296,0.286,0.274,0.318,0.264,0.278,0.285,0.286,0.27,0.272,0.262 +0.03995199416132174,0.714,0.578,0.533,0.487,0.437,0.393,0.401,0.355,0.341,0.328,0.347,0.301,0.294,0.336,0.298,0.3,0.3,0.272,0.283,0.324,0.301,0.288,0.267,0.264,0.263,0.272,0.292,0.282,0.275,0.298,0.317,0.27,0.27,0.293,0.262,0.296,0.301,0.272,0.278,0.293 +0.034428894424011175,0.727,0.595,0.512,0.47,0.447,0.418,0.369,0.381,0.363,0.334,0.347,0.321,0.297,0.301,0.324,0.292,0.285,0.274,0.282,0.268,0.309,0.307,0.323,0.305,0.304,0.272,0.294,0.272,0.32,0.275,0.302,0.275,0.32,0.293,0.263,0.291,0.301,0.293,0.291,0.288 +0.02966932680439932,0.755,0.624,0.518,0.491,0.436,0.418,0.394,0.37,0.337,0.375,0.339,0.325,0.35,0.312,0.295,0.304,0.32,0.315,0.284,0.271,0.268,0.31,0.307,0.265,0.326,0.29,0.297,0.286,0.286,0.289,0.276,0.284,0.304,0.284,0.323,0.27,0.27,0.283,0.291,0.27 +0.02556773802217524,0.793,0.625,0.544,0.498,0.443,0.41,0.409,0.349,0.345,0.345,0.313,0.365,0.302,0.32,0.291,0.305,0.3,0.297,0.302,0.314,0.301,0.277,0.293,0.278,0.29,0.264,0.276,0.291,0.275,0.287,0.287,0.297,0.304,0.284,0.297,0.286,0.284,0.286,0.304,0.274 +0.022033166841980884,0.833,0.645,0.524,0.508,0.465,0.413,0.398,0.397,0.351,0.35,0.357,0.309,0.319,0.308,0.322,0.331,0.303,0.312,0.297,0.295,0.285,0.298,0.317,0.292,0.306,0.281,0.302,0.291,0.301,0.305,0.289,0.301,0.312,0.263,0.3,0.305,0.275,0.312,0.301,0.299 +0.018987226819420607,0.86,0.644,0.558,0.5,0.45,0.441,0.394,0.38,0.34,0.343,0.343,0.34,0.313,0.318,0.298,0.294,0.288,0.308,0.313,0.286,0.306,0.31,0.273,0.272,0.279,0.305,0.31,0.269,0.302,0.317,0.277,0.277,0.285,0.279,0.303,0.277,0.279,0.29,0.278,0.278 +0.01636236791913265,0.868,0.681,0.558,0.5,0.456,0.418,0.392,0.399,0.343,0.36,0.329,0.335,0.331,0.304,0.313,0.285,0.295,0.315,0.301,0.312,0.307,0.288,0.31,0.283,0.296,0.314,0.308,0.313,0.288,0.28,0.313,0.285,0.306,0.303,0.312,0.303,0.305,0.27,0.303,0.289 +0.01410037845269871,0.898,0.708,0.587,0.541,0.453,0.423,0.377,0.389,0.358,0.332,0.321,0.311,0.314,0.332,0.304,0.319,0.302,0.293,0.29,0.293,0.302,0.299,0.29,0.28,0.27,0.289,0.289,0.293,0.308,0.311,0.301,0.283,0.316,0.291,0.291,0.308,0.315,0.28,0.288,0.287 +0.012151094113758885,0.925,0.738,0.604,0.562,0.467,0.435,0.416,0.382,0.388,0.37,0.333,0.329,0.333,0.327,0.326,0.32,0.289,0.302,0.281,0.316,0.299,0.299,0.3,0.296,0.285,0.297,0.323,0.285,0.296,0.296,0.323,0.296,0.294,0.271,0.301,0.301,0.271,0.271,0.298,0.271 +0.010471285480508996,0.954,0.771,0.637,0.535,0.483,0.475,0.408,0.417,0.364,0.354,0.344,0.343,0.334,0.332,0.342,0.317,0.318,0.287,0.3,0.309,0.311,0.318,0.304,0.305,0.295,0.323,0.309,0.291,0.302,0.294,0.304,0.29,0.298,0.301,0.299,0.308,0.328,0.304,0.29,0.308 +0.009023699313641428,0.97,0.811,0.643,0.576,0.479,0.465,0.442,0.393,0.383,0.376,0.358,0.355,0.345,0.319,0.318,0.325,0.321,0.308,0.317,0.308,0.305,0.33,0.312,0.318,0.317,0.329,0.294,0.309,0.329,0.304,0.285,0.294,0.294,0.304,0.312,0.316,0.303,0.308,0.329,0.304 +0.007776232388523782,0.984,0.824,0.684,0.56,0.519,0.47,0.425,0.39,0.409,0.374,0.355,0.353,0.33,0.345,0.335,0.327,0.316,0.308,0.326,0.309,0.315,0.301,0.31,0.294,0.312,0.31,0.307,0.324,0.32,0.309,0.312,0.33,0.318,0.32,0.31,0.297,0.305,0.32,0.29,0.305 +0.006701219539630716,0.988,0.839,0.657,0.571,0.513,0.474,0.422,0.401,0.4,0.38,0.368,0.343,0.325,0.331,0.329,0.307,0.316,0.321,0.32,0.32,0.336,0.33,0.296,0.335,0.316,0.303,0.303,0.318,0.309,0.301,0.334,0.308,0.291,0.327,0.327,0.296,0.3,0.323,0.307,0.3 +0.0057748201281383514,0.995,0.895,0.694,0.602,0.529,0.474,0.469,0.417,0.386,0.371,0.339,0.347,0.337,0.352,0.323,0.344,0.323,0.33,0.34,0.327,0.333,0.31,0.329,0.308,0.318,0.319,0.285,0.319,0.306,0.326,0.304,0.326,0.318,0.302,0.306,0.302,0.326,0.304,0.318,0.304 +0.004976489326327849,0.996,0.908,0.723,0.603,0.517,0.503,0.447,0.401,0.388,0.379,0.376,0.367,0.319,0.344,0.342,0.343,0.332,0.331,0.312,0.294,0.338,0.324,0.323,0.29,0.291,0.303,0.311,0.311,0.287,0.302,0.302,0.31,0.322,0.309,0.292,0.307,0.309,0.309,0.309,0.307 +0.004288522493433697,0.999,0.934,0.75,0.636,0.527,0.496,0.453,0.388,0.418,0.363,0.346,0.353,0.324,0.336,0.328,0.325,0.319,0.34,0.34,0.303,0.317,0.329,0.328,0.314,0.311,0.29,0.29,0.325,0.311,0.295,0.295,0.309,0.313,0.313,0.313,0.32,0.308,0.325,0.325,0.327 +0.0036956625385264927,0.999,0.96,0.773,0.638,0.534,0.521,0.472,0.409,0.392,0.382,0.366,0.358,0.372,0.327,0.323,0.313,0.332,0.341,0.341,0.305,0.317,0.33,0.329,0.307,0.299,0.343,0.343,0.325,0.31,0.319,0.319,0.314,0.325,0.315,0.315,0.319,0.313,0.337,0.337,0.314 +0.003184761562887965,0.999,0.972,0.821,0.671,0.578,0.532,0.45,0.441,0.413,0.402,0.371,0.382,0.376,0.325,0.331,0.325,0.333,0.317,0.318,0.317,0.317,0.328,0.313,0.314,0.312,0.313,0.31,0.312,0.312,0.317,0.3,0.314,0.31,0.313,0.3,0.313,0.313,0.305,0.306,0.312 +0.002744489278096427,1.0,0.989,0.838,0.681,0.548,0.508,0.454,0.441,0.399,0.378,0.364,0.357,0.335,0.342,0.333,0.321,0.33,0.327,0.324,0.314,0.306,0.313,0.313,0.335,0.307,0.306,0.305,0.302,0.307,0.301,0.301,0.33,0.328,0.328,0.328,0.307,0.316,0.307,0.307,0.306 +0.0023650817333891625,0.999,0.994,0.871,0.72,0.581,0.512,0.49,0.445,0.406,0.385,0.368,0.362,0.372,0.387,0.329,0.319,0.33,0.347,0.327,0.311,0.316,0.316,0.336,0.329,0.31,0.315,0.31,0.328,0.334,0.328,0.333,0.324,0.328,0.334,0.328,0.324,0.332,0.318,0.307,0.307 +0.0020381247798099637,0.999,0.998,0.905,0.752,0.621,0.519,0.497,0.451,0.416,0.383,0.418,0.407,0.375,0.363,0.331,0.371,0.351,0.337,0.326,0.32,0.316,0.316,0.339,0.315,0.315,0.317,0.329,0.329,0.337,0.337,0.333,0.327,0.337,0.328,0.318,0.318,0.333,0.333,0.308,0.318 +0.0017563674690103848,0.999,1.0,0.914,0.778,0.623,0.533,0.484,0.461,0.431,0.434,0.418,0.399,0.365,0.346,0.342,0.371,0.369,0.327,0.326,0.321,0.32,0.33,0.334,0.315,0.315,0.332,0.329,0.348,0.33,0.318,0.324,0.327,0.327,0.318,0.318,0.313,0.323,0.328,0.306,0.318 +0.0015135612484362087,1.0,0.997,0.944,0.769,0.654,0.563,0.516,0.47,0.423,0.401,0.382,0.401,0.361,0.376,0.341,0.326,0.333,0.328,0.332,0.321,0.336,0.318,0.331,0.341,0.333,0.333,0.323,0.347,0.324,0.347,0.319,0.314,0.324,0.324,0.306,0.312,0.307,0.312,0.33,0.347 From e218fb1e2db36c19da3c3c46a322b8439b0e8a09 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 28 Nov 2022 16:29:51 +0100 Subject: [PATCH 25/54] Added 2d_dec_fails_w_log_k_lin_963965alist.csv --- .../2d_dec_fails_w_log_k_lin_963965alist.csv | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_963965alist.csv diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_963965alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_963965alist.csv new file mode 100644 index 0000000..5b1a490 --- /dev/null +++ b/sw/sim_results/2d_dec_fails_w_log_k_lin_963965alist.csv @@ -0,0 +1,41 @@ +,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.5541020330009492,0.961,0.96,0.961,0.958,0.96,0.958,0.96,0.964,0.958,0.956,0.959,0.957,0.959,0.966,0.955,0.959,0.963,0.959,0.957,0.955,0.957,0.972,0.962,0.957,0.964,0.957,0.955,0.962,0.955,0.956,0.964,0.955,0.972,0.955,0.962,0.964,0.962,0.955,0.972,0.962 +0.30702906297578497,0.843,0.842,0.824,0.82,0.819,0.803,0.801,0.801,0.801,0.814,0.817,0.8,0.797,0.799,0.799,0.821,0.797,0.798,0.816,0.8,0.811,0.8,0.8,0.788,0.797,0.799,0.796,0.794,0.818,0.794,0.794,0.811,0.799,0.794,0.797,0.809,0.788,0.809,0.809,0.797 +0.17012542798525893,0.733,0.659,0.622,0.569,0.547,0.533,0.516,0.546,0.526,0.518,0.496,0.509,0.465,0.491,0.484,0.48,0.456,0.456,0.467,0.479,0.439,0.45,0.443,0.442,0.473,0.435,0.44,0.454,0.449,0.47,0.429,0.428,0.452,0.441,0.427,0.429,0.435,0.45,0.44,0.439 +0.09426684551178854,0.66,0.571,0.513,0.485,0.438,0.412,0.4,0.405,0.384,0.367,0.345,0.345,0.351,0.348,0.348,0.327,0.338,0.343,0.323,0.321,0.337,0.335,0.314,0.337,0.332,0.319,0.306,0.328,0.318,0.318,0.328,0.317,0.317,0.309,0.292,0.313,0.308,0.308,0.315,0.291 +0.052233450742668434,0.689,0.597,0.507,0.493,0.421,0.399,0.392,0.377,0.347,0.353,0.326,0.317,0.33,0.32,0.315,0.309,0.291,0.303,0.308,0.305,0.298,0.275,0.297,0.279,0.299,0.279,0.269,0.269,0.276,0.279,0.287,0.293,0.269,0.293,0.278,0.278,0.293,0.299,0.274,0.269 +0.028942661247167517,0.775,0.64,0.555,0.504,0.453,0.404,0.391,0.391,0.381,0.364,0.332,0.34,0.324,0.299,0.297,0.29,0.287,0.284,0.282,0.28,0.303,0.303,0.302,0.287,0.287,0.287,0.281,0.287,0.271,0.296,0.296,0.291,0.29,0.29,0.297,0.29,0.284,0.268,0.279,0.268 +0.016037187437513308,0.883,0.684,0.577,0.528,0.474,0.441,0.4,0.368,0.35,0.337,0.347,0.309,0.318,0.322,0.318,0.314,0.3,0.306,0.283,0.297,0.306,0.281,0.306,0.293,0.293,0.303,0.291,0.291,0.291,0.291,0.273,0.299,0.3,0.29,0.289,0.3,0.299,0.289,0.289,0.273 +0.008886238162743407,0.98,0.82,0.624,0.574,0.499,0.434,0.424,0.419,0.408,0.335,0.344,0.33,0.321,0.317,0.311,0.29,0.312,0.3,0.323,0.298,0.326,0.297,0.296,0.294,0.293,0.324,0.278,0.317,0.297,0.316,0.315,0.323,0.323,0.297,0.29,0.275,0.287,0.275,0.275,0.297 +0.004923882631706742,0.996,0.909,0.74,0.599,0.513,0.505,0.429,0.431,0.408,0.365,0.384,0.381,0.353,0.328,0.351,0.335,0.308,0.336,0.356,0.32,0.318,0.33,0.316,0.314,0.328,0.314,0.309,0.3,0.319,0.317,0.298,0.318,0.315,0.298,0.332,0.327,0.346,0.313,0.327,0.346 +0.0027283333764867696,1.0,0.994,0.842,0.711,0.572,0.558,0.482,0.426,0.435,0.408,0.395,0.368,0.348,0.341,0.343,0.358,0.366,0.328,0.329,0.33,0.345,0.345,0.327,0.316,0.315,0.325,0.325,0.355,0.314,0.313,0.354,0.334,0.325,0.299,0.315,0.352,0.325,0.325,0.313,0.312 +0.001511775070615663,0.999,0.999,0.951,0.822,0.645,0.548,0.482,0.455,0.431,0.403,0.413,0.379,0.364,0.33,0.367,0.335,0.344,0.335,0.328,0.311,0.326,0.321,0.348,0.316,0.324,0.303,0.334,0.315,0.328,0.333,0.354,0.305,0.325,0.315,0.322,0.31,0.301,0.328,0.322,0.344 +0.0008376776400682924,1.0,0.999,0.996,0.93,0.717,0.613,0.55,0.484,0.448,0.429,0.383,0.401,0.385,0.384,0.345,0.325,0.316,0.332,0.37,0.315,0.365,0.309,0.345,0.351,0.331,0.318,0.329,0.318,0.329,0.348,0.316,0.357,0.321,0.307,0.321,0.313,0.321,0.357,0.338,0.304 +0.0004641588833612782,1.0,1.0,1.0,0.987,0.873,0.727,0.583,0.539,0.484,0.461,0.399,0.384,0.391,0.386,0.371,0.34,0.359,0.339,0.37,0.334,0.324,0.338,0.321,0.343,0.321,0.305,0.331,0.305,0.331,0.338,0.338,0.336,0.338,0.343,0.325,0.343,0.337,0.336,0.336,0.333 +0.0002571913809059347,0.999,0.999,1.0,0.999,0.97,0.812,0.631,0.563,0.513,0.483,0.428,0.407,0.385,0.378,0.375,0.37,0.361,0.334,0.338,0.342,0.339,0.347,0.337,0.287,0.344,0.336,0.292,0.331,0.286,0.341,0.341,0.329,0.336,0.33,0.328,0.339,0.328,0.285,0.285,0.325 +0.00014251026703029993,1.0,0.998,1.0,0.999,0.998,0.954,0.774,0.6,0.549,0.495,0.457,0.416,0.398,0.357,0.316,0.355,0.334,0.319,0.34,0.338,0.335,0.339,0.337,0.322,0.294,0.331,0.293,0.292,0.292,0.317,0.327,0.348,0.329,0.328,0.316,0.328,0.328,0.32,0.29,0.316 +7.896522868499733e-05,0.999,1.0,1.0,0.999,0.999,0.993,0.883,0.666,0.578,0.532,0.481,0.465,0.423,0.442,0.36,0.349,0.342,0.334,0.347,0.327,0.325,0.34,0.359,0.358,0.357,0.323,0.323,0.321,0.323,0.352,0.317,0.317,0.317,0.348,0.347,0.317,0.347,0.319,0.358,0.358 +4.375479375074189e-05,1.0,1.0,0.999,0.999,1.0,0.997,0.979,0.83,0.684,0.554,0.497,0.476,0.47,0.441,0.394,0.377,0.369,0.362,0.334,0.368,0.346,0.358,0.323,0.355,0.354,0.319,0.331,0.322,0.352,0.322,0.36,0.321,0.335,0.32,0.317,0.313,0.312,0.319,0.333,0.312 +2.424462017082331e-05,0.999,1.0,1.0,1.0,1.0,1.0,0.999,0.944,0.803,0.631,0.558,0.489,0.495,0.432,0.406,0.363,0.386,0.373,0.362,0.33,0.338,0.334,0.337,0.342,0.336,0.334,0.319,0.338,0.302,0.314,0.331,0.313,0.313,0.313,0.334,0.327,0.3,0.329,0.3,0.313 +1.3433993325989015e-05,0.998,0.999,0.998,1.0,1.0,0.999,1.0,0.996,0.926,0.723,0.592,0.515,0.478,0.434,0.409,0.396,0.396,0.376,0.356,0.351,0.316,0.322,0.317,0.325,0.337,0.315,0.33,0.329,0.338,0.302,0.302,0.317,0.313,0.301,0.302,0.315,0.315,0.325,0.299,0.339 +7.443803013251696e-06,0.998,0.999,1.0,1.0,1.0,0.998,0.999,0.998,0.986,0.846,0.693,0.579,0.514,0.491,0.425,0.421,0.398,0.376,0.361,0.355,0.346,0.36,0.353,0.338,0.326,0.323,0.33,0.319,0.345,0.315,0.329,0.34,0.342,0.317,0.315,0.317,0.313,0.331,0.34,0.313 +4.124626382901356e-06,1.0,1.0,1.0,0.999,1.0,1.0,0.998,1.0,1.0,0.959,0.84,0.619,0.562,0.511,0.472,0.463,0.42,0.418,0.398,0.365,0.344,0.37,0.342,0.361,0.36,0.322,0.333,0.358,0.335,0.353,0.345,0.33,0.332,0.33,0.325,0.329,0.348,0.351,0.313,0.325 +2.285463864134993e-06,0.999,1.0,1.0,1.0,1.0,1.0,1.0,0.999,0.999,0.998,0.931,0.751,0.583,0.518,0.47,0.463,0.432,0.394,0.387,0.393,0.331,0.325,0.312,0.341,0.338,0.331,0.303,0.339,0.357,0.331,0.337,0.298,0.298,0.328,0.333,0.3,0.329,0.329,0.3,0.334 +1.2663801734674047e-06,1.0,0.999,1.0,1.0,1.0,0.999,1.0,1.0,1.0,1.0,0.998,0.868,0.686,0.601,0.506,0.482,0.426,0.415,0.397,0.398,0.352,0.36,0.354,0.337,0.31,0.361,0.33,0.311,0.342,0.334,0.351,0.333,0.337,0.304,0.35,0.337,0.318,0.322,0.302,0.322 +7.017038286703837e-07,0.999,0.999,1.0,1.0,1.0,0.999,1.0,0.999,1.0,1.0,0.999,0.972,0.817,0.667,0.572,0.504,0.461,0.42,0.409,0.393,0.376,0.366,0.339,0.339,0.354,0.342,0.361,0.322,0.323,0.341,0.319,0.322,0.318,0.317,0.304,0.317,0.315,0.318,0.317,0.335 +3.8881551803080935e-07,1.0,1.0,1.0,0.999,0.999,0.999,1.0,1.0,0.999,0.999,1.0,0.997,0.929,0.785,0.653,0.535,0.508,0.468,0.456,0.411,0.396,0.389,0.364,0.342,0.363,0.344,0.347,0.322,0.328,0.339,0.319,0.319,0.337,0.322,0.323,0.317,0.338,0.321,0.317,0.33 +2.1544346900318867e-07,0.999,0.999,1.0,1.0,1.0,1.0,0.999,1.0,0.999,1.0,0.999,1.0,0.996,0.902,0.691,0.622,0.52,0.483,0.445,0.405,0.412,0.391,0.363,0.359,0.355,0.344,0.337,0.34,0.332,0.341,0.347,0.347,0.325,0.321,0.347,0.313,0.338,0.322,0.331,0.331 +1.193776641714438e-07,1.0,1.0,0.999,1.0,1.0,0.999,1.0,1.0,0.999,1.0,1.0,1.0,0.999,0.985,0.836,0.647,0.561,0.505,0.472,0.441,0.395,0.411,0.36,0.363,0.356,0.35,0.34,0.338,0.339,0.336,0.337,0.317,0.347,0.314,0.32,0.342,0.313,0.332,0.313,0.319 +6.614740641230159e-08,1.0,0.999,1.0,1.0,0.999,1.0,1.0,1.0,1.0,1.0,1.0,0.999,1.0,1.0,0.958,0.757,0.631,0.555,0.502,0.453,0.418,0.403,0.377,0.372,0.377,0.35,0.345,0.334,0.321,0.318,0.33,0.322,0.327,0.321,0.343,0.328,0.325,0.335,0.342,0.311 +3.665241237079634e-08,1.0,1.0,1.0,1.0,1.0,0.999,1.0,1.0,1.0,0.999,0.999,1.0,1.0,0.999,0.994,0.908,0.722,0.571,0.543,0.519,0.485,0.431,0.418,0.403,0.335,0.335,0.356,0.35,0.347,0.354,0.33,0.341,0.328,0.321,0.353,0.316,0.315,0.324,0.365,0.375 +2.030917620904739e-08,1.0,1.0,0.999,0.999,0.999,1.0,0.999,0.999,0.999,1.0,1.0,0.999,1.0,1.0,1.0,0.985,0.874,0.677,0.569,0.543,0.511,0.416,0.418,0.429,0.408,0.387,0.326,0.346,0.349,0.338,0.361,0.361,0.358,0.341,0.327,0.359,0.316,0.32,0.337,0.345 +1.125335582600767e-08,1.0,0.999,1.0,1.0,1.0,0.999,1.0,1.0,0.999,0.999,1.0,1.0,0.999,1.0,1.0,0.998,0.97,0.8,0.647,0.542,0.49,0.463,0.45,0.428,0.391,0.392,0.37,0.329,0.382,0.362,0.387,0.316,0.359,0.325,0.377,0.323,0.357,0.312,0.329,0.311 +6.235507341273925e-09,0.999,0.999,0.999,1.0,1.0,1.0,1.0,1.0,0.999,0.999,0.999,0.999,0.999,1.0,1.0,0.999,0.997,0.928,0.771,0.589,0.558,0.525,0.467,0.432,0.392,0.406,0.392,0.345,0.373,0.333,0.318,0.311,0.308,0.325,0.324,0.305,0.324,0.354,0.311,0.343 +3.4551072945922323e-09,1.0,1.0,0.999,0.999,0.999,1.0,1.0,1.0,0.999,1.0,0.999,1.0,1.0,0.999,1.0,1.0,1.0,0.991,0.892,0.68,0.546,0.544,0.463,0.428,0.399,0.371,0.364,0.355,0.38,0.322,0.332,0.364,0.319,0.326,0.305,0.306,0.329,0.344,0.305,0.326 +1.9144819761699614e-09,1.0,1.0,1.0,1.0,1.0,1.0,0.999,1.0,1.0,1.0,1.0,0.999,1.0,0.999,1.0,1.0,0.999,1.0,0.978,0.819,0.637,0.57,0.485,0.48,0.433,0.393,0.408,0.375,0.396,0.355,0.373,0.336,0.364,0.312,0.33,0.306,0.311,0.356,0.328,0.319 +1.0608183551394483e-09,1.0,0.999,1.0,1.0,1.0,1.0,1.0,0.999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.998,0.947,0.737,0.623,0.532,0.536,0.475,0.447,0.432,0.393,0.373,0.394,0.334,0.319,0.342,0.328,0.324,0.327,0.344,0.304,0.353,0.329 +5.878016072274924e-10,1.0,0.998,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.993,0.882,0.716,0.605,0.542,0.503,0.477,0.43,0.397,0.394,0.4,0.371,0.315,0.345,0.357,0.333,0.332,0.317,0.305,0.325,0.34 +3.2570206556597964e-10,1.0,1.0,0.998,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.998,1.0,1.0,0.998,1.0,1.0,1.0,1.0,1.0,0.982,0.863,0.676,0.552,0.496,0.457,0.452,0.397,0.402,0.387,0.345,0.366,0.358,0.358,0.339,0.336,0.296,0.353,0.332,0.35 +1.8047217668271738e-10,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.998,1.0,1.0,0.999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.998,0.953,0.77,0.633,0.562,0.469,0.487,0.429,0.427,0.396,0.384,0.371,0.371,0.348,0.326,0.303,0.324,0.353,0.339,0.352 +1e-10,1.0,1.0,1.0,1.0,0.999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.997,0.913,0.759,0.593,0.543,0.52,0.456,0.469,0.425,0.398,0.352,0.371,0.346,0.345,0.352,0.332,0.328,0.315,0.323 From 392fc839352a4aa7627a042b19a09e4230f08fcd Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 28 Nov 2022 17:26:09 +0100 Subject: [PATCH 26/54] =?UTF-8?q?Made=20c=C3=83pp=20ProximalDecoder=20impl?= =?UTF-8?q?ementation=20template=20on=20m=20and=20n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sw/cpp/CMakeLists.txt | 2 +- sw/cpp/src/cpp_decoders.cpp | 136 ------------------------ sw/cpp/src/proximal.h | 181 ++++++++++++++++++++++++++++++++ sw/cpp/src/python_interface.cpp | 38 +++++++ 4 files changed, 220 insertions(+), 137 deletions(-) delete mode 100644 sw/cpp/src/cpp_decoders.cpp create mode 100644 sw/cpp/src/proximal.h create mode 100644 sw/cpp/src/python_interface.cpp diff --git a/sw/cpp/CMakeLists.txt b/sw/cpp/CMakeLists.txt index 4014e74..d7d8baa 100644 --- a/sw/cpp/CMakeLists.txt +++ b/sw/cpp/CMakeLists.txt @@ -26,7 +26,7 @@ find_package(OpenMP REQUIRED) #add_compile_options(-ffast-math) -pybind11_add_module(cpp_decoders src/cpp_decoders.cpp) +pybind11_add_module(cpp_decoders src/python_interface.cpp) target_link_libraries(cpp_decoders PRIVATE Eigen3::Eigen OpenMP::OpenMP_CXX) set(INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../cpp_modules) diff --git a/sw/cpp/src/cpp_decoders.cpp b/sw/cpp/src/cpp_decoders.cpp deleted file mode 100644 index 39a5c27..0000000 --- a/sw/cpp/src/cpp_decoders.cpp +++ /dev/null @@ -1,136 +0,0 @@ -#include -#include -#include -#include - -#include -#include -#include -#include - - -namespace py11 = pybind11; -using namespace pybind11::literals; - - -using MatrixXiR = - Eigen::Matrix; - -using MatrixXdR = - Eigen::Matrix; - - -class ProximalDecoder { -public: - ProximalDecoder(const Eigen::Ref& H, int K, double omega, - double gamma, double eta) - : mK(K), mOmega(omega), mGamma(gamma), mEta(eta), mH(H), - mH_zero_indices(find_zero(H)) { - - Eigen::setNbThreads(8); - } - - std::pair, int> - decode(const Eigen::Ref& y) { - if (y.size() != mH.cols()) - throw std::runtime_error("Length of vector must match H matrix"); - - Eigen::RowVectorXd s = Eigen::RowVectorXd::Zero(mH.cols()); - Eigen::RowVectorXi x_hat; - Eigen::RowVectorXd r; - - for (std::size_t i = 0; i < mK; ++i) { - r = s - mOmega * L_awgn(s, y); - - s = projection(r - mGamma * grad_H(r)); - - x_hat = s.unaryExpr([](double d) { - uint64_t bits = std::bit_cast(d); - // Return the sign bit: 1 for negative, 0 for positive - return (bits >> 63); - }).cast(); - - if (check_parity(x_hat)) { - return {x_hat, i + 1}; - } - } - - return {std::nullopt, mK}; - } - - // private: - const int mK; - const double mOmega; - const double mGamma; - const double mEta; - - const MatrixXiR mH; - const std::vector mH_zero_indices; - - - static Eigen::RowVectorXd L_awgn(const Eigen::RowVectorXd& s, - const Eigen::RowVectorXd& y) { - return s.array() - y.array(); - } - - static std::vector find_zero(MatrixXiR mat) { - std::vector indices; - - for (Eigen::Index i = 0; i < mat.size(); ++i) - if (mat(i) == 0) indices.push_back(i); - - return indices; - } - - Eigen::RowVectorXd grad_H(const Eigen::RowVectorXd& x) { - MatrixXdR A_prod_matrix = x.replicate(mH.rows(), 1); - - for (const auto& index : mH_zero_indices) - A_prod_matrix(index) = 1; - MatrixXdR A_prods = A_prod_matrix.rowwise().prod(); - - - Eigen::RowVectorXd B_sums = - (A_prods.array().pow(2) - A_prods.array()).matrix().transpose(); - B_sums = B_sums * mH.cast(); - - Eigen::RowVectorXd result = 4 * (x.array().pow(2) - 1) * x.array() + - (2 * x.array().inverse()) * B_sums.array(); - - return result; - } - - bool check_parity(const Eigen::RowVectorXi& x_hat) { - Eigen::RowVectorXi syndrome = - (mH * x_hat.transpose()).unaryExpr([](int i) { return i % 2; }); - - return !(syndrome.count() > 0); - } - - Eigen::RowVectorXd projection(const Eigen::RowVectorXd& v) { - return v.cwiseMin(mEta).cwiseMax(-mEta); - } -}; - - -PYBIND11_MODULE(cpp_decoders, proximal) { - proximal.doc() = "Proximal decoder"; - - pybind11::class_(proximal, "ProximalDecoder") - .def(pybind11::init(), - "H"_a.noconvert(), "K"_a = 100, "omega"_a = 0.0002, - "gamma"_a = .05, "eta"_a = 1.5) - .def("decode", &ProximalDecoder::decode, "x"_a.noconvert()) - .def(pybind11::pickle( - [](const ProximalDecoder& a) { // dump - return pybind11::make_tuple(a.mH, a.mK, a.mOmega, a.mGamma, - a.mEta); - }, - [](pybind11::tuple t) { // load - return ProximalDecoder{t[0].cast(), t[1].cast(), - t[2].cast(), t[3].cast(), - t[4].cast()}; - })); - - pybind11::register_exception(proximal, "CppException"); -} \ No newline at end of file diff --git a/sw/cpp/src/proximal.h b/sw/cpp/src/proximal.h new file mode 100644 index 0000000..809c4da --- /dev/null +++ b/sw/cpp/src/proximal.h @@ -0,0 +1,181 @@ +#pragma once + +#define EIGEN_STACK_ALLOCATION_LIMIT 524288 + +#include +#include +#include +#include + +#include +#include + + +/* + * + * Using declarations + * + */ + + +template +using MatrixiR = Eigen::Matrix; + +template +using MatrixdR = Eigen::Matrix; + +template +using RowVectori = Eigen::RowVector; + +template +using RowVectord = Eigen::RowVector; + + +/* + * + * Proximal decoder implementation + * + */ + + +/** + * @brief Class implementing the Proximal Decoding algorithm. See "Proximal + * Decoding for LDPC Codes" by Tadashi Wadayama, and Satoshi Takabe. + * @tparam t_m Number of rows of the H Matrix + * @tparam t_n Number of columns of the H Matrix + */ +template +class ProximalDecoder { +public: + /** + * @brief Constructor + * @param H Parity-Check Matrix + * @param K Number of iterations to run while decoding + * @param omega Step size + * @param gamma Positive constant. Arises in the approximation of the prior + * PDF + * @param eta Positive constant slightly larger than one. See 3.2, p. 3 + */ + ProximalDecoder(const Eigen::Ref>& H, int K, + double omega, double gamma, double eta) + : mK(K), mOmega(omega), mGamma(gamma), mEta(eta), mH(H), + mH_zero_indices(find_zero(H)) { + + Eigen::setNbThreads(8); + } + + /** + * @brief Decode a received signal. The algorithm is detailed in 3.2, p.3. + * This function assumes a BPSK modulated signal and an AWGN channel. + * @param y Vector of received values. (y = x + w, where 'x' is element of + * [-1, 1]^n and 'w' is noise) + * @return Most probably sent codeword (element of [0, 1]^n). If decoding + * fails, the returned value is 'None' + */ + std::pair>, int> + decode(const Eigen::Ref>& y) { + if (y.size() != mH.cols()) + throw std::runtime_error("Length of vector must match H matrix"); + + RowVectord s = RowVectord::Zero(t_n); + RowVectori x_hat; + RowVectord r; + + for (std::size_t i = 0; i < mK; ++i) { + r = s - mOmega * L_awgn(s, y); + + s = projection(r - mGamma * grad_H(r)); + + x_hat = s.unaryExpr([](double d) { + uint64_t bits = std::bit_cast(d); + // Return the sign bit: 1 for negative, 0 for positive + return (bits >> 63); + }).template cast(); + + if (check_parity(x_hat)) { + return {x_hat, i + 1}; + } + } + + return {std::nullopt, mK}; + } + + /// Private members are not private in order to make the class easily + /// picklable + // private: + const int mK; + const double mOmega; + const double mGamma; + const double mEta; + + const MatrixiR mH; + const std::vector mH_zero_indices; + + + /** + * Variation of the negative log-likelihood for the special case of AWGN + * noise. See 4.1, p. 4. + */ + static Eigen::RowVectorXd L_awgn(const RowVectord& s, + const RowVectord& y) { + return s.array() - y.array(); + } + + /** + * @brief Find all indices of a matrix, where the corresponding value is + * zero + * @return \b std::vector of indices + */ + static std::vector find_zero(MatrixiR mat) { + std::vector indices; + + for (Eigen::Index i = 0; i < mat.size(); ++i) + if (mat(i) == 0) indices.push_back(i); + + return indices; + } + + /** + * Gradient of the code-constraint polynomial. See 2.3, p. 2. + */ + RowVectord grad_H(const RowVectord& x) { + MatrixdR A_prod_matrix = x.replicate(t_m, 1); + + for (const auto& index : mH_zero_indices) + A_prod_matrix(index) = 1; + RowVectord A_prods = A_prod_matrix.rowwise().prod(); + + RowVectord B_terms = + (A_prods.array().pow(2) - A_prods.array()).matrix().transpose(); + + RowVectord B_sums = B_terms * mH.template cast(); + + RowVectord result = 4 * (x.array().pow(2) - 1) * x.array() + + (2 * x.array().inverse()) * B_sums.array(); + + return result; + } + + /** + * Perform a parity check for a given codeword. + * @param x_hat: codeword to be checked (element of [0, 1]^n) + * @return \b True if the parity check passes, i.e. the codeword is valid. + * False otherwise + */ + bool check_parity(const RowVectori& x_hat) { + RowVectori syndrome = + (mH * x_hat.transpose()).unaryExpr([](int i) { return i % 2; }); + + return !(syndrome.count() > 0); + } + + /** + * Project a vector onto [-eta, eta]^n in order to avoid numerical + * instability. Detailed in 3.2, p. 3 (Equation (15)). + * @param v Vector to project + * @return v clipped to [-eta, eta]^n + */ + RowVectord projection(const RowVectord& v) { + return v.cwiseMin(mEta).cwiseMax(-mEta); + } +}; diff --git a/sw/cpp/src/python_interface.cpp b/sw/cpp/src/python_interface.cpp new file mode 100644 index 0000000..a9654af --- /dev/null +++ b/sw/cpp/src/python_interface.cpp @@ -0,0 +1,38 @@ +#include "proximal.h" + +#include + + +namespace py = pybind11; +using namespace pybind11::literals; + + +#define DEF_PROXIMAL_DECODER(name, m, n) \ + py::class_>(proximal, name) \ + .def(py::init, int, double, double, double>(), \ + "H"_a.noconvert(), "K"_a = 100, "omega"_a = 0.0002, \ + "gamma"_a = .05, "eta"_a = 1.5) \ + .def("decode", &ProximalDecoder::decode, "x"_a.noconvert()) \ + .def(py::pickle( \ + [](const ProximalDecoder& a) { \ + return py::make_tuple(a.mH, a.mK, a.mOmega, a.mGamma, a.mEta); \ + }, \ + [](py::tuple t) { \ + return ProximalDecoder{ \ + t[0].cast>(), t[1].cast(), \ + t[2].cast(), t[3].cast(), \ + t[4].cast()}; \ + })); + + +PYBIND11_MODULE(cpp_decoders, proximal) { + proximal.doc() = "Proximal decoder"; + + DEF_PROXIMAL_DECODER("ProximalDecoder_7_4", 4, 7) + DEF_PROXIMAL_DECODER("ProximalDecoder_96_48", 48, 96) + DEF_PROXIMAL_DECODER("ProximalDecoder_204_102", 102, 204) + DEF_PROXIMAL_DECODER("ProximalDecoder_Dynamic", Eigen::Dynamic, + Eigen::Dynamic) + + py::register_exception(proximal, "CppException"); +} \ No newline at end of file From f99d6431244006802b0e8e10b84a390ad44132d4 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 28 Nov 2022 17:31:12 +0100 Subject: [PATCH 27/54] Added 2d_dec_fails_w_log_k_lin_2043486alist.csv --- .../2d_dec_fails_w_log_k_lin_2043486alist.csv | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_2043486alist.csv diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_2043486alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_2043486alist.csv new file mode 100644 index 0000000..7ea8fde --- /dev/null +++ b/sw/sim_results/2d_dec_fails_w_log_k_lin_2043486alist.csv @@ -0,0 +1,41 @@ +,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.5541020330009492,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,1.0,0.999,0.999,0.999,0.999,1.0,0.999,0.999,0.999,0.999,0.999,1.0,0.999,0.999 +0.30702906297578497,0.978,0.966,0.975,0.965,0.967,0.972,0.971,0.969,0.969,0.961,0.964,0.973,0.971,0.971,0.971,0.962,0.967,0.968,0.96,0.972,0.96,0.96,0.96,0.967,0.973,0.971,0.966,0.971,0.966,0.966,0.966,0.97,0.972,0.959,0.973,0.969,0.973,0.973,0.973,0.959 +0.17012542798525893,0.925,0.879,0.878,0.849,0.823,0.802,0.789,0.781,0.785,0.752,0.744,0.743,0.729,0.754,0.738,0.747,0.695,0.698,0.737,0.685,0.687,0.718,0.7,0.715,0.717,0.724,0.71,0.7,0.712,0.685,0.68,0.683,0.716,0.698,0.681,0.673,0.714,0.674,0.663,0.673 +0.09426684551178854,0.905,0.824,0.771,0.733,0.692,0.702,0.66,0.601,0.612,0.567,0.629,0.541,0.585,0.572,0.563,0.535,0.548,0.495,0.504,0.532,0.549,0.539,0.534,0.506,0.524,0.511,0.469,0.514,0.487,0.484,0.48,0.492,0.478,0.502,0.444,0.474,0.466,0.466,0.466,0.502 +0.052233450742668434,0.915,0.829,0.778,0.734,0.685,0.654,0.658,0.573,0.591,0.544,0.525,0.513,0.509,0.498,0.488,0.5,0.478,0.462,0.458,0.451,0.431,0.438,0.42,0.437,0.417,0.441,0.435,0.428,0.425,0.423,0.419,0.406,0.398,0.418,0.415,0.415,0.406,0.413,0.425,0.389 +0.028942661247167517,0.956,0.857,0.801,0.739,0.684,0.653,0.626,0.614,0.557,0.526,0.538,0.499,0.498,0.486,0.468,0.484,0.459,0.442,0.429,0.434,0.408,0.439,0.4,0.408,0.394,0.421,0.414,0.39,0.414,0.393,0.41,0.394,0.409,0.387,0.418,0.408,0.418,0.401,0.418,0.413 +0.016037187437513308,0.988,0.915,0.831,0.773,0.733,0.695,0.653,0.619,0.582,0.571,0.535,0.525,0.509,0.491,0.454,0.458,0.458,0.444,0.425,0.427,0.421,0.454,0.431,0.435,0.407,0.43,0.427,0.428,0.427,0.403,0.432,0.435,0.4,0.433,0.412,0.433,0.433,0.42,0.421,0.398 +0.008886238162743407,0.999,0.948,0.872,0.816,0.772,0.719,0.681,0.621,0.592,0.57,0.55,0.536,0.519,0.489,0.501,0.482,0.458,0.45,0.444,0.464,0.449,0.442,0.438,0.434,0.465,0.43,0.429,0.454,0.421,0.401,0.42,0.419,0.437,0.417,0.417,0.415,0.423,0.429,0.423,0.422 +0.004923882631706742,1.0,0.991,0.937,0.852,0.789,0.763,0.706,0.644,0.639,0.601,0.563,0.528,0.522,0.52,0.521,0.481,0.467,0.468,0.492,0.486,0.453,0.454,0.462,0.477,0.443,0.429,0.44,0.455,0.436,0.457,0.418,0.451,0.419,0.444,0.416,0.416,0.429,0.436,0.436,0.416 +0.0027283333764867696,1.0,1.0,0.977,0.914,0.829,0.802,0.736,0.703,0.667,0.617,0.589,0.552,0.522,0.519,0.503,0.508,0.511,0.467,0.488,0.48,0.476,0.439,0.446,0.445,0.436,0.462,0.451,0.451,0.45,0.458,0.46,0.447,0.481,0.445,0.476,0.459,0.459,0.445,0.445,0.434 +0.001511775070615663,1.0,1.0,0.999,0.971,0.88,0.827,0.798,0.751,0.68,0.667,0.62,0.584,0.564,0.557,0.54,0.505,0.5,0.482,0.485,0.48,0.484,0.469,0.462,0.473,0.47,0.489,0.469,0.433,0.455,0.462,0.472,0.451,0.475,0.448,0.475,0.46,0.483,0.475,0.453,0.482 +0.0008376776400682924,1.0,1.0,1.0,0.993,0.94,0.871,0.803,0.752,0.719,0.66,0.646,0.599,0.606,0.556,0.535,0.544,0.515,0.511,0.49,0.493,0.469,0.476,0.504,0.462,0.466,0.467,0.488,0.457,0.487,0.474,0.457,0.469,0.479,0.466,0.458,0.485,0.452,0.464,0.467,0.48 +0.0004641588833612782,1.0,1.0,1.0,1.0,0.986,0.921,0.846,0.782,0.743,0.702,0.664,0.633,0.605,0.57,0.549,0.542,0.538,0.536,0.518,0.488,0.492,0.502,0.496,0.471,0.473,0.472,0.471,0.473,0.459,0.467,0.467,0.463,0.457,0.483,0.491,0.485,0.462,0.49,0.49,0.479 +0.0002571913809059347,1.0,1.0,1.0,1.0,0.999,0.98,0.877,0.827,0.76,0.714,0.705,0.659,0.626,0.591,0.582,0.546,0.54,0.518,0.51,0.494,0.492,0.5,0.502,0.493,0.486,0.48,0.495,0.488,0.489,0.468,0.467,0.464,0.464,0.486,0.486,0.462,0.47,0.469,0.485,0.455 +0.00014251026703029993,1.0,1.0,1.0,1.0,1.0,1.0,0.954,0.866,0.813,0.764,0.734,0.686,0.622,0.617,0.573,0.588,0.541,0.522,0.508,0.512,0.51,0.516,0.486,0.463,0.495,0.495,0.494,0.478,0.47,0.49,0.466,0.443,0.469,0.499,0.499,0.464,0.463,0.461,0.484,0.472 +7.896522868499733e-05,1.0,1.0,1.0,1.0,1.0,1.0,0.989,0.93,0.859,0.794,0.758,0.701,0.68,0.646,0.606,0.597,0.57,0.534,0.529,0.541,0.514,0.516,0.52,0.482,0.48,0.475,0.474,0.455,0.505,0.471,0.45,0.455,0.46,0.47,0.464,0.44,0.448,0.457,0.438,0.453 +4.375479375074189e-05,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.979,0.909,0.834,0.813,0.762,0.702,0.681,0.634,0.611,0.585,0.536,0.529,0.539,0.52,0.517,0.512,0.468,0.497,0.469,0.476,0.506,0.505,0.497,0.466,0.464,0.442,0.454,0.486,0.449,0.448,0.467,0.455,0.455 +2.424462017082331e-05,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.997,0.957,0.884,0.819,0.767,0.725,0.663,0.635,0.58,0.58,0.576,0.524,0.545,0.538,0.526,0.479,0.513,0.479,0.496,0.5,0.472,0.468,0.485,0.483,0.477,0.475,0.463,0.48,0.502,0.456,0.491,0.491,0.477 +1.3433993325989015e-05,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.996,0.921,0.857,0.818,0.767,0.713,0.654,0.622,0.617,0.615,0.53,0.551,0.531,0.531,0.493,0.494,0.512,0.499,0.495,0.479,0.473,0.477,0.465,0.457,0.469,0.494,0.458,0.475,0.473,0.456,0.502,0.486 +7.443803013251696e-06,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.982,0.913,0.846,0.795,0.753,0.705,0.648,0.635,0.586,0.556,0.549,0.533,0.516,0.493,0.532,0.516,0.497,0.505,0.47,0.469,0.484,0.488,0.457,0.47,0.466,0.449,0.475,0.474,0.464,0.456,0.443 +4.124626382901356e-06,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.998,0.969,0.886,0.823,0.782,0.724,0.672,0.65,0.624,0.552,0.565,0.534,0.527,0.485,0.539,0.473,0.478,0.509,0.493,0.475,0.484,0.495,0.493,0.48,0.484,0.451,0.43,0.495,0.464,0.449,0.447 +2.285463864134993e-06,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.958,0.851,0.82,0.755,0.727,0.694,0.636,0.628,0.597,0.519,0.572,0.557,0.494,0.487,0.496,0.488,0.503,0.503,0.46,0.486,0.493,0.49,0.499,0.496,0.464,0.449,0.485,0.456,0.479 +1.2663801734674047e-06,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.983,0.91,0.852,0.777,0.757,0.706,0.69,0.617,0.592,0.593,0.574,0.543,0.56,0.508,0.5,0.527,0.491,0.488,0.494,0.471,0.503,0.473,0.481,0.48,0.485,0.455,0.482,0.462,0.469 +7.017038286703837e-07,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.972,0.916,0.834,0.767,0.734,0.65,0.686,0.585,0.584,0.559,0.562,0.553,0.527,0.515,0.499,0.502,0.532,0.495,0.492,0.476,0.492,0.481,0.481,0.474,0.462,0.483,0.455,0.458 +3.8881551803080935e-07,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.998,0.955,0.848,0.835,0.751,0.741,0.674,0.648,0.602,0.553,0.557,0.547,0.525,0.509,0.55,0.474,0.502,0.497,0.486,0.474,0.502,0.486,0.462,0.483,0.473,0.52,0.485,0.486 +2.1544346900318867e-07,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.988,0.926,0.832,0.808,0.742,0.69,0.649,0.649,0.6,0.571,0.553,0.538,0.554,0.522,0.499,0.497,0.492,0.494,0.49,0.486,0.475,0.461,0.489,0.48,0.486,0.519,0.454 +1.193776641714438e-07,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.999,0.978,0.878,0.831,0.788,0.728,0.702,0.64,0.611,0.588,0.571,0.551,0.53,0.524,0.518,0.514,0.52,0.51,0.508,0.483,0.493,0.494,0.522,0.471,0.458,0.481,0.47 +6.614740641230159e-08,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.999,0.935,0.87,0.816,0.779,0.742,0.701,0.645,0.608,0.607,0.559,0.541,0.528,0.532,0.509,0.506,0.498,0.478,0.479,0.474,0.493,0.491,0.481,0.475,0.475,0.469 +3.665241237079634e-08,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.991,0.937,0.852,0.812,0.767,0.704,0.671,0.664,0.6,0.577,0.554,0.542,0.526,0.518,0.519,0.502,0.513,0.503,0.501,0.503,0.491,0.479,0.482,0.49,0.467 +2.030917620904739e-08,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.983,0.908,0.823,0.785,0.744,0.723,0.638,0.628,0.611,0.57,0.583,0.531,0.557,0.522,0.516,0.501,0.491,0.489,0.475,0.452,0.499,0.483,0.479,0.475 +1.125335582600767e-08,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.953,0.896,0.792,0.783,0.735,0.662,0.682,0.615,0.6,0.589,0.574,0.539,0.528,0.52,0.504,0.495,0.506,0.484,0.475,0.486,0.473,0.486,0.488 +6.235507341273925e-09,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.994,0.957,0.872,0.767,0.778,0.724,0.69,0.649,0.588,0.567,0.553,0.571,0.535,0.52,0.503,0.507,0.518,0.499,0.495,0.475,0.484,0.487,0.482 +3.4551072945922323e-09,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.988,0.922,0.82,0.81,0.752,0.705,0.652,0.641,0.628,0.6,0.586,0.516,0.501,0.525,0.5,0.473,0.497,0.482,0.477,0.452,0.482,0.473 +1.9144819761699614e-09,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.999,0.969,0.908,0.849,0.763,0.748,0.7,0.654,0.638,0.627,0.557,0.563,0.538,0.499,0.504,0.484,0.512,0.506,0.498,0.486,0.477,0.473 +1.0608183551394483e-09,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.997,0.935,0.851,0.812,0.776,0.74,0.687,0.611,0.6,0.594,0.592,0.512,0.534,0.502,0.516,0.508,0.475,0.487,0.5,0.491,0.46 +5.878016072274924e-10,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.989,0.929,0.846,0.811,0.725,0.679,0.671,0.615,0.597,0.59,0.573,0.547,0.531,0.526,0.507,0.509,0.474,0.499,0.466,0.477 +3.2570206556597964e-10,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.999,0.982,0.891,0.842,0.778,0.741,0.666,0.655,0.597,0.612,0.571,0.551,0.529,0.526,0.539,0.504,0.525,0.506,0.512,0.477 +1.8047217668271738e-10,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.964,0.887,0.824,0.754,0.721,0.681,0.642,0.591,0.583,0.546,0.558,0.553,0.509,0.524,0.504,0.505,0.488,0.492 +1e-10,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.989,0.936,0.868,0.79,0.736,0.696,0.663,0.63,0.595,0.595,0.556,0.525,0.538,0.525,0.524,0.485,0.498,0.519 From 7d0e4abfae3e1f69ec3c36287c9d4cccc5aabcde Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 28 Nov 2022 18:20:59 +0100 Subject: [PATCH 28/54] Added simulation results for various codes --- sw/res/BCH_31_11.alist | 0 sw/res/BCH_31_26.alist | 0 sw/res/BCH_7_4.alist | 0 ...2d_dec_fails_w_log_k_lin_40833844alist.csv | 41 +++++++++++++++++++ ...d_dec_fails_w_log_k_lin_bch_31_11alist.csv | 41 +++++++++++++++++++ ...d_dec_fails_w_log_k_lin_bch_31_26alist.csv | 41 +++++++++++++++++++ .../2d_dec_fails_w_log_k_lin_bch_7_4alist.csv | 41 +++++++++++++++++++ 7 files changed, 164 insertions(+) create mode 100644 sw/res/BCH_31_11.alist create mode 100644 sw/res/BCH_31_26.alist create mode 100644 sw/res/BCH_7_4.alist create mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_40833844alist.csv create mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_bch_31_11alist.csv create mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_bch_31_26alist.csv create mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_bch_7_4alist.csv diff --git a/sw/res/BCH_31_11.alist b/sw/res/BCH_31_11.alist new file mode 100644 index 0000000..e69de29 diff --git a/sw/res/BCH_31_26.alist b/sw/res/BCH_31_26.alist new file mode 100644 index 0000000..e69de29 diff --git a/sw/res/BCH_7_4.alist b/sw/res/BCH_7_4.alist new file mode 100644 index 0000000..e69de29 diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_40833844alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_40833844alist.csv new file mode 100644 index 0000000..c5c9b8f --- /dev/null +++ b/sw/sim_results/2d_dec_fails_w_log_k_lin_40833844alist.csv @@ -0,0 +1,41 @@ +,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.5541020330009492,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.30702906297578497,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.17012542798525893,0.99,0.97,0.98,0.97,0.98,0.95,0.98,0.98,0.95,0.94,0.92,0.92,0.94,0.94,0.97,0.93,0.92,0.92,0.97,0.89,0.97,0.97,0.89,0.92,0.95,0.91,0.9,0.9,0.88,0.88,0.94,0.95,0.89,0.94,0.97,0.91,0.94,0.94,0.92,0.88 +0.09426684551178854,1.0,0.96,0.96,0.96,0.94,0.91,0.84,0.96,0.84,0.85,0.76,0.82,0.79,0.78,0.75,0.79,0.84,0.76,0.75,0.76,0.74,0.79,0.75,0.74,0.72,0.74,0.73,0.72,0.73,0.71,0.71,0.71,0.74,0.72,0.7,0.72,0.69,0.71,0.72,0.7 +0.052233450742668434,1.0,0.96,0.94,0.92,0.94,0.9,0.87,0.83,0.8,0.79,0.76,0.78,0.73,0.76,0.72,0.71,0.73,0.68,0.69,0.62,0.65,0.64,0.61,0.61,0.65,0.65,0.62,0.7,0.59,0.64,0.57,0.57,0.57,0.58,0.56,0.6,0.55,0.68,0.6,0.57 +0.028942661247167517,1.0,0.98,0.95,0.96,0.95,0.87,0.81,0.8,0.85,0.83,0.75,0.75,0.72,0.75,0.73,0.72,0.65,0.6,0.57,0.54,0.62,0.64,0.54,0.54,0.61,0.63,0.62,0.62,0.56,0.51,0.6,0.6,0.45,0.57,0.57,0.57,0.54,0.6,0.44,0.56 +0.016037187437513308,1.0,0.99,0.99,0.99,0.94,0.96,0.86,0.82,0.88,0.84,0.76,0.75,0.69,0.72,0.7,0.67,0.62,0.69,0.6,0.61,0.65,0.59,0.59,0.57,0.52,0.58,0.54,0.56,0.58,0.51,0.51,0.61,0.56,0.56,0.61,0.57,0.52,0.56,0.56,0.57 +0.008886238162743407,1.0,0.99,0.98,0.95,0.93,0.92,0.9,0.86,0.86,0.86,0.76,0.8,0.72,0.7,0.65,0.63,0.73,0.63,0.66,0.7,0.65,0.6,0.63,0.62,0.68,0.52,0.62,0.66,0.62,0.63,0.59,0.59,0.64,0.57,0.63,0.64,0.63,0.61,0.61,0.58 +0.004923882631706742,1.0,1.0,1.0,0.95,0.95,0.93,0.9,0.91,0.84,0.84,0.83,0.8,0.81,0.74,0.68,0.74,0.73,0.73,0.67,0.68,0.64,0.59,0.65,0.67,0.69,0.65,0.53,0.69,0.62,0.72,0.61,0.69,0.69,0.61,0.54,0.69,0.62,0.6,0.63,0.69 +0.0027283333764867696,1.0,1.0,1.0,1.0,0.96,0.97,0.92,0.9,0.81,0.77,0.77,0.83,0.8,0.77,0.73,0.72,0.72,0.72,0.66,0.67,0.66,0.68,0.74,0.62,0.64,0.62,0.64,0.53,0.53,0.7,0.62,0.66,0.62,0.73,0.53,0.65,0.65,0.68,0.62,0.64 +0.001511775070615663,1.0,1.0,1.0,1.0,0.99,0.95,0.92,0.89,0.87,0.87,0.87,0.84,0.81,0.8,0.76,0.73,0.74,0.58,0.72,0.6,0.6,0.59,0.54,0.63,0.62,0.66,0.7,0.67,0.67,0.67,0.65,0.72,0.64,0.63,0.59,0.59,0.59,0.59,0.63,0.63 +0.0008376776400682924,1.0,1.0,1.0,1.0,1.0,0.97,0.96,0.95,0.9,0.89,0.82,0.87,0.8,0.73,0.8,0.77,0.68,0.71,0.62,0.72,0.73,0.72,0.6,0.72,0.67,0.65,0.66,0.7,0.62,0.69,0.67,0.61,0.57,0.53,0.58,0.61,0.65,0.69,0.59,0.65 +0.0004641588833612782,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.92,0.95,0.91,0.86,0.87,0.85,0.82,0.79,0.66,0.68,0.72,0.73,0.76,0.72,0.66,0.71,0.7,0.67,0.64,0.67,0.74,0.7,0.67,0.61,0.6,0.58,0.67,0.65,0.61,0.61,0.56,0.61,0.67 +0.0002571913809059347,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.98,0.92,0.88,0.84,0.84,0.8,0.82,0.74,0.79,0.74,0.74,0.64,0.73,0.64,0.68,0.69,0.72,0.64,0.63,0.67,0.67,0.59,0.68,0.66,0.61,0.67,0.65,0.65,0.65,0.62,0.66,0.65,0.65 +0.00014251026703029993,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99,0.96,0.94,0.91,0.96,0.81,0.81,0.89,0.77,0.75,0.74,0.69,0.81,0.64,0.63,0.74,0.69,0.69,0.64,0.68,0.62,0.67,0.67,0.61,0.65,0.65,0.67,0.65,0.57,0.65,0.65,0.57,0.65 +7.896522868499733e-05,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.95,0.98,0.9,0.86,0.92,0.87,0.83,0.81,0.74,0.77,0.83,0.76,0.72,0.7,0.68,0.73,0.68,0.71,0.62,0.65,0.7,0.7,0.68,0.61,0.66,0.72,0.58,0.67,0.61,0.64,0.66,0.65 +4.375479375074189e-05,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.96,0.95,0.93,0.89,0.81,0.81,0.8,0.82,0.81,0.71,0.68,0.78,0.64,0.63,0.72,0.72,0.66,0.7,0.55,0.72,0.67,0.67,0.68,0.63,0.67,0.66,0.65,0.6,0.65,0.65,0.71 +2.424462017082331e-05,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99,0.99,0.93,0.94,0.92,0.93,0.89,0.89,0.82,0.7,0.8,0.61,0.79,0.72,0.71,0.7,0.72,0.73,0.73,0.73,0.81,0.7,0.71,0.69,0.63,0.64,0.6,0.64,0.6,0.61,0.64,0.62 +1.3433993325989015e-05,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99,0.98,0.93,0.96,0.9,0.9,0.84,0.82,0.72,0.78,0.77,0.83,0.67,0.71,0.72,0.74,0.73,0.67,0.7,0.65,0.55,0.71,0.55,0.63,0.64,0.67,0.68,0.69,0.65,0.7,0.64 +7.443803013251696e-06,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.95,0.95,0.91,0.84,0.85,0.82,0.8,0.76,0.73,0.76,0.75,0.65,0.7,0.74,0.7,0.73,0.7,0.65,0.65,0.54,0.64,0.63,0.55,0.8,0.63,0.64,0.64,0.65 +4.124626382901356e-06,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.97,0.95,0.93,0.91,0.82,0.87,0.83,0.78,0.75,0.77,0.76,0.72,0.76,0.65,0.69,0.65,0.67,0.65,0.66,0.72,0.64,0.7,0.65,0.62,0.62,0.63,0.67,0.8 +2.285463864134993e-06,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.96,0.97,0.9,0.89,0.79,0.83,0.81,0.77,0.78,0.72,0.79,0.77,0.69,0.78,0.73,0.65,0.65,0.74,0.67,0.65,0.71,0.64,0.63,0.68,0.62,0.62,0.64 +1.2663801734674047e-06,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.96,0.93,0.87,0.9,0.9,0.81,0.79,0.79,0.75,0.74,0.76,0.7,0.7,0.82,0.73,0.71,0.63,0.65,0.67,0.68,0.74,0.63,0.64,0.65,0.63,0.67 +7.017038286703837e-07,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99,1.0,0.94,0.94,0.92,0.85,0.88,0.82,0.83,0.86,0.81,0.75,0.72,0.71,0.76,0.79,0.68,0.67,0.66,0.65,0.63,0.71,0.65,0.67,0.71,0.6,0.65,0.67 +3.8881551803080935e-07,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.96,0.95,0.88,0.86,0.83,0.82,0.91,0.84,0.81,0.73,0.72,0.7,0.7,0.75,0.68,0.68,0.71,0.7,0.72,0.63,0.67,0.63,0.65,0.65,0.61 +2.1544346900318867e-07,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.96,0.95,0.92,0.95,0.9,0.85,0.84,0.8,0.74,0.76,0.75,0.84,0.7,0.69,0.68,0.65,0.67,0.71,0.67,0.65,0.72,0.72,0.62,0.67,0.72 +1.193776641714438e-07,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.97,0.97,0.94,0.92,0.86,0.82,0.83,0.81,0.76,0.82,0.73,0.71,0.8,0.63,0.68,0.75,0.63,0.61,0.72,0.59,0.67,0.59,0.62,0.66 +6.614740641230159e-08,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99,0.97,0.97,0.95,0.88,0.89,0.89,0.88,0.89,0.79,0.7,0.74,0.75,0.76,0.69,0.69,0.72,0.65,0.62,0.7,0.67,0.68,0.72,0.59,0.64 +3.665241237079634e-08,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.96,0.94,0.93,0.87,0.86,0.82,0.73,0.84,0.77,0.73,0.68,0.66,0.69,0.73,0.65,0.69,0.72,0.65,0.6,0.62,0.72,0.74 +2.030917620904739e-08,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99,0.98,0.96,0.96,0.93,0.93,0.82,0.8,0.79,0.77,0.76,0.82,0.77,0.66,0.7,0.67,0.68,0.71,0.7,0.6,0.66,0.59,0.65 +1.125335582600767e-08,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.96,0.99,0.96,0.89,0.87,0.82,0.88,0.72,0.83,0.7,0.79,0.68,0.73,0.65,0.7,0.65,0.62,0.72,0.66,0.68,0.66 +6.235507341273925e-09,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.97,0.92,0.94,0.94,0.82,0.8,0.87,0.81,0.77,0.81,0.74,0.77,0.77,0.68,0.67,0.75,0.66,0.65,0.69,0.66 +3.4551072945922323e-09,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99,0.94,0.95,0.91,0.83,0.83,0.77,0.8,0.77,0.82,0.74,0.73,0.64,0.74,0.76,0.67,0.67,0.7,0.66,0.72 +1.9144819761699614e-09,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.93,0.89,0.93,0.86,0.84,0.83,0.74,0.8,0.76,0.78,0.74,0.75,0.68,0.65,0.73,0.6,0.68 +1.0608183551394483e-09,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.97,0.96,0.91,0.91,0.84,0.88,0.87,0.82,0.67,0.75,0.81,0.65,0.75,0.69,0.67,0.74,0.82,0.66 +5.878016072274924e-10,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99,0.94,0.94,0.92,0.86,0.91,0.85,0.79,0.8,0.73,0.75,0.79,0.7,0.73,0.77,0.71,0.68,0.58 +3.2570206556597964e-10,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.99,0.95,0.94,0.89,0.86,0.85,0.79,0.8,0.83,0.8,0.75,0.78,0.74,0.66,0.73,0.67,0.66 +1.8047217668271738e-10,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.93,0.97,0.9,0.87,0.92,0.89,0.87,0.81,0.78,0.82,0.76,0.81,0.73,0.69,0.67,0.61 +1e-10,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.97,0.97,0.93,0.9,0.88,0.82,0.86,0.84,0.82,0.71,0.66,0.78,0.73,0.73,0.74 diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_bch_31_11alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_bch_31_11alist.csv new file mode 100644 index 0000000..3ae97aa --- /dev/null +++ b/sw/sim_results/2d_dec_fails_w_log_k_lin_bch_31_11alist.csv @@ -0,0 +1,41 @@ +,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 +1.0,0.9982,0.9982,0.9982,0.9982,0.9982,0.9982,0.9982,0.9982,0.9976,0.9976,0.9976,0.9976,0.9976,0.9976,0.9976,0.9976,0.9978,0.9978,0.9978,0.9978,0.9978,0.9978,0.9978,0.9978,0.9971,0.9971,0.9971,0.9971,0.9971,0.9971,0.9971,0.9971,0.9978,0.9978,0.9978,0.9978,0.9978,0.9978,0.9978,0.9978 +0.5541020330009492,0.8391,0.8381,0.8316,0.837,0.8302,0.8341,0.8363,0.8294,0.8332,0.8354,0.8355,0.835,0.8288,0.8318,0.8347,0.8347,0.8284,0.8342,0.8368,0.8284,0.8307,0.8344,0.8283,0.8366,0.8302,0.8282,0.8353,0.8302,0.834,0.8361,0.8301,0.8352,0.8338,0.83,0.8432,0.8336,0.8356,0.8347,0.8335,0.8431 +0.30702906297578497,0.7377,0.7246,0.7251,0.7187,0.7116,0.7101,0.7159,0.7105,0.715,0.7141,0.7137,0.7061,0.7108,0.6972,0.7031,0.71,0.7099,0.7043,0.7094,0.7055,0.7029,0.7128,0.711,0.7024,0.7024,0.7047,0.7023,0.7031,0.6947,0.7043,0.7085,0.7041,0.704,0.694,0.7039,0.6967,0.6937,0.7116,0.7017,0.6937 +0.17012542798525893,0.6492,0.6389,0.6209,0.5981,0.592,0.5853,0.5831,0.5841,0.5668,0.5781,0.5619,0.5701,0.5617,0.5589,0.5584,0.5619,0.5662,0.5559,0.5599,0.5529,0.5491,0.5565,0.5472,0.5511,0.5514,0.546,0.5504,0.5593,0.5552,0.5532,0.5549,0.5523,0.5439,0.5543,0.5518,0.549,0.5483,0.5591,0.5482,0.5505 +0.09426684551178854,0.6366,0.59,0.5657,0.5584,0.5385,0.5273,0.529,0.5232,0.514,0.5193,0.5081,0.5083,0.5071,0.5,0.5082,0.4968,0.5045,0.4948,0.4953,0.4929,0.4904,0.5006,0.4905,0.4993,0.4894,0.4902,0.4865,0.4926,0.4968,0.4884,0.4893,0.4879,0.4887,0.4843,0.4872,0.4852,0.4865,0.4878,0.4831,0.4872 +0.052233450742668434,0.6398,0.5945,0.5576,0.5447,0.5234,0.5205,0.5111,0.4962,0.4947,0.4887,0.4921,0.4793,0.483,0.4878,0.4813,0.4738,0.4727,0.4737,0.4803,0.4685,0.4655,0.4771,0.4776,0.4688,0.4681,0.4623,0.4737,0.4629,0.4685,0.4697,0.4724,0.4601,0.4597,0.4671,0.4641,0.4626,0.4684,0.4724,0.4682,0.4659 +0.028942661247167517,0.6841,0.6171,0.5737,0.5439,0.5277,0.5232,0.5035,0.5043,0.4987,0.4927,0.483,0.481,0.4697,0.4764,0.4737,0.4642,0.4656,0.4696,0.4593,0.4594,0.4677,0.4665,0.4658,0.4601,0.4559,0.4557,0.4596,0.4579,0.4635,0.4583,0.4582,0.4622,0.4539,0.457,0.4613,0.4526,0.4614,0.4523,0.4562,0.452 +0.016037187437513308,0.7523,0.652,0.5902,0.5571,0.5326,0.5214,0.5121,0.506,0.5004,0.4847,0.4772,0.4716,0.4715,0.461,0.4632,0.4728,0.461,0.4701,0.4694,0.4569,0.4593,0.4614,0.4579,0.4554,0.4572,0.4652,0.4673,0.4591,0.4666,0.4491,0.449,0.4555,0.4583,0.4654,0.454,0.4487,0.4536,0.4511,0.4515,0.4484 +0.008886238162743407,0.854,0.6995,0.6139,0.582,0.5509,0.5345,0.5169,0.5052,0.5046,0.4963,0.4793,0.4751,0.4697,0.4672,0.4739,0.4599,0.4717,0.4704,0.4609,0.4591,0.4586,0.4583,0.4668,0.4681,0.4577,0.4572,0.457,0.4579,0.4579,0.4579,0.4671,0.4558,0.4504,0.4502,0.4527,0.4552,0.4552,0.4551,0.4545,0.4498 +0.004923882631706742,0.9377,0.7805,0.6566,0.6092,0.5684,0.5462,0.5293,0.5151,0.5047,0.4959,0.4836,0.4812,0.4733,0.4751,0.4709,0.4645,0.4646,0.4625,0.4644,0.4614,0.464,0.4601,0.4597,0.4585,0.4624,0.4645,0.4591,0.4558,0.4589,0.4512,0.4636,0.4613,0.458,0.4581,0.463,0.4601,0.4536,0.4491,0.4576,0.4574 +0.0027283333764867696,0.9725,0.8807,0.7299,0.6499,0.5888,0.5705,0.5444,0.5245,0.5177,0.5042,0.4842,0.4829,0.4826,0.4667,0.47,0.4711,0.4698,0.4678,0.4543,0.4654,0.461,0.4527,0.4657,0.4597,0.4715,0.4712,0.4655,0.4601,0.4523,0.465,0.4583,0.4516,0.4723,0.4721,0.463,0.463,0.4502,0.4626,0.4499,0.4498 +0.001511775070615663,0.9799,0.9585,0.8239,0.7127,0.6269,0.5909,0.5651,0.5426,0.5262,0.5041,0.4901,0.4865,0.4739,0.4835,0.4757,0.4799,0.4781,0.4735,0.4564,0.4718,0.4673,0.4729,0.4654,0.4602,0.472,0.465,0.4657,0.4645,0.4645,0.4736,0.4717,0.4566,0.4637,0.4588,0.4714,0.4632,0.4697,0.4632,0.4672,0.473 +0.0008376776400682924,0.9799,0.9756,0.9253,0.8025,0.6774,0.6201,0.5799,0.5505,0.531,0.5224,0.5144,0.4976,0.4888,0.4833,0.4811,0.4821,0.4654,0.4758,0.4765,0.4621,0.4677,0.467,0.4645,0.4602,0.4584,0.4649,0.4595,0.4612,0.4633,0.4632,0.4573,0.4595,0.4687,0.4643,0.4571,0.4667,0.4575,0.4571,0.4679,0.4579 +0.0004641588833612782,0.9798,0.9795,0.9709,0.9108,0.7457,0.6511,0.6036,0.567,0.5507,0.528,0.5081,0.502,0.4949,0.4847,0.4845,0.4801,0.468,0.4717,0.4642,0.4692,0.4755,0.4716,0.4653,0.4648,0.462,0.4656,0.4643,0.465,0.4659,0.4637,0.4588,0.4588,0.4687,0.4584,0.4725,0.4581,0.4593,0.4582,0.4591,0.4589 +0.0002571913809059347,0.9787,0.9768,0.9776,0.9665,0.8423,0.7242,0.6242,0.5846,0.5629,0.5349,0.5234,0.5103,0.501,0.4937,0.4871,0.4718,0.4742,0.4737,0.4661,0.4776,0.4667,0.4758,0.475,0.4739,0.4578,0.474,0.4598,0.467,0.4596,0.4667,0.4666,0.4616,0.4712,0.4662,0.464,0.4599,0.458,0.4598,0.465,0.4592 +0.00014251026703029993,0.9794,0.9799,0.979,0.9795,0.9392,0.8202,0.6908,0.6068,0.5845,0.549,0.5373,0.5132,0.5053,0.5094,0.4854,0.4874,0.4788,0.4811,0.464,0.4767,0.4705,0.4704,0.4591,0.4706,0.4615,0.4616,0.4729,0.4614,0.4684,0.4601,0.4719,0.4615,0.4561,0.4641,0.4604,0.4638,0.4605,0.4589,0.4603,0.46 +7.896522868499733e-05,0.979,0.9789,0.9792,0.979,0.9697,0.9249,0.7607,0.6489,0.6006,0.5668,0.55,0.5332,0.5142,0.5076,0.4978,0.4945,0.4864,0.4784,0.475,0.465,0.4673,0.4719,0.4617,0.4635,0.4701,0.4683,0.4681,0.4668,0.4617,0.4615,0.4657,0.4647,0.4611,0.4679,0.4678,0.4664,0.4648,0.4612,0.4659,0.4656 +4.375479375074189e-05,0.9793,0.9783,0.9783,0.9791,0.9786,0.9691,0.8684,0.7118,0.6403,0.5937,0.5672,0.5568,0.5174,0.5148,0.5023,0.4942,0.4891,0.4747,0.4706,0.4759,0.4789,0.4739,0.4625,0.4685,0.4679,0.4676,0.4671,0.4593,0.4677,0.4625,0.4661,0.4583,0.4581,0.4662,0.4661,0.4661,0.458,0.4603,0.4658,0.4724 +2.424462017082331e-05,0.9783,0.9793,0.9792,0.9793,0.9782,0.9757,0.95,0.8117,0.7026,0.6214,0.5842,0.5493,0.5387,0.5229,0.5123,0.4997,0.4947,0.4787,0.4734,0.4851,0.4653,0.4642,0.4747,0.462,0.4698,0.4679,0.4677,0.4685,0.4617,0.4667,0.4683,0.4663,0.4585,0.466,0.4699,0.4593,0.4665,0.4693,0.4579,0.4692 +1.3433993325989015e-05,0.9788,0.9793,0.9789,0.9811,0.9787,0.9781,0.9764,0.912,0.786,0.6647,0.6158,0.5729,0.5491,0.536,0.5222,0.5026,0.5009,0.4912,0.4753,0.4713,0.4775,0.4647,0.4721,0.4723,0.4696,0.4599,0.463,0.4687,0.4752,0.4617,0.4604,0.4745,0.46,0.461,0.4681,0.4689,0.4689,0.4677,0.4639,0.4688 +7.443803013251696e-06,0.98,0.9811,0.9768,0.9809,0.9789,0.9808,0.9768,0.9667,0.8934,0.7384,0.6436,0.6021,0.5631,0.5477,0.532,0.509,0.5065,0.4974,0.4864,0.4854,0.4783,0.4768,0.4668,0.4691,0.464,0.4705,0.4696,0.4619,0.4647,0.4635,0.4649,0.4672,0.4645,0.4601,0.4738,0.464,0.4669,0.4697,0.4659,0.4655 +4.124626382901356e-06,0.9768,0.98,0.9774,0.9773,0.9768,0.9768,0.9804,0.9764,0.96,0.8257,0.7161,0.6318,0.5898,0.5634,0.5414,0.5315,0.5074,0.5017,0.4911,0.4826,0.4778,0.4793,0.4704,0.4652,0.4691,0.4649,0.4705,0.47,0.4699,0.4644,0.4722,0.4644,0.4663,0.4648,0.4629,0.4629,0.4628,0.471,0.4577,0.4603 +2.285463864134993e-06,0.9774,0.9786,0.9805,0.9787,0.9787,0.9793,0.979,0.9783,0.9728,0.9283,0.7996,0.6729,0.6136,0.5776,0.556,0.5258,0.5232,0.5081,0.5003,0.4908,0.4799,0.4887,0.4846,0.4719,0.466,0.4648,0.464,0.4608,0.4666,0.4595,0.4656,0.4616,0.4652,0.465,0.4648,0.4665,0.4733,0.4631,0.4629,0.464 +1.2663801734674047e-06,0.9786,0.9786,0.9793,0.9786,0.9793,0.9789,0.9799,0.9793,0.9789,0.9732,0.911,0.7469,0.6523,0.6035,0.5714,0.5421,0.5286,0.5154,0.5049,0.4978,0.4834,0.484,0.471,0.4734,0.4695,0.4795,0.4619,0.4683,0.4684,0.4649,0.4676,0.4595,0.4592,0.4647,0.4667,0.4616,0.4592,0.4615,0.459,0.4662 +7.017038286703837e-07,0.9762,0.9799,0.9789,0.9789,0.9771,0.9783,0.9777,0.9777,0.977,0.9757,0.9641,0.8545,0.7031,0.6406,0.5882,0.5633,0.5438,0.5292,0.5148,0.5048,0.4909,0.4906,0.4821,0.4808,0.4676,0.4724,0.4633,0.4691,0.4704,0.4643,0.4672,0.463,0.4665,0.4625,0.4662,0.4621,0.4654,0.461,0.4656,0.461 +3.8881551803080935e-07,0.9814,0.9783,0.9776,0.9814,0.9783,0.9789,0.9791,0.9776,0.9785,0.9786,0.9766,0.9441,0.7953,0.6897,0.6146,0.5789,0.5571,0.5341,0.5197,0.5117,0.4962,0.4949,0.482,0.4762,0.4776,0.4759,0.4742,0.4687,0.4704,0.4623,0.4691,0.47,0.4629,0.4651,0.465,0.4637,0.4607,0.468,0.4602,0.4605 +2.1544346900318867e-07,0.9779,0.9785,0.9785,0.9785,0.9789,0.9789,0.9789,0.9779,0.9789,0.9784,0.9769,0.973,0.9076,0.7713,0.6549,0.5953,0.5753,0.5452,0.5342,0.5145,0.5006,0.4987,0.4956,0.4815,0.4748,0.4714,0.47,0.4662,0.4649,0.4665,0.4659,0.4684,0.4615,0.4618,0.4628,0.4626,0.4601,0.4619,0.4607,0.4611 +1.193776641714438e-07,0.9784,0.9778,0.9775,0.9784,0.9775,0.9806,0.9775,0.9793,0.9778,0.9806,0.9774,0.9764,0.9641,0.8779,0.7256,0.6322,0.5894,0.5561,0.5397,0.5239,0.5091,0.5037,0.4879,0.4946,0.4758,0.4764,0.4683,0.4675,0.4774,0.4638,0.4652,0.4608,0.4645,0.4608,0.471,0.4636,0.4627,0.4597,0.463,0.47 +6.614740641230159e-08,0.9774,0.9778,0.9782,0.9774,0.9783,0.9775,0.9802,0.9783,0.9778,0.9783,0.9782,0.978,0.9784,0.9589,0.818,0.6837,0.6209,0.5789,0.5649,0.5454,0.5147,0.5042,0.504,0.4966,0.4811,0.4858,0.476,0.4726,0.4689,0.4747,0.4611,0.4605,0.4711,0.4662,0.4692,0.4689,0.459,0.4638,0.47,0.4695 +3.665241237079634e-08,0.9802,0.9809,0.9809,0.9794,0.9794,0.9794,0.9782,0.9794,0.9786,0.9786,0.9794,0.9813,0.9786,0.9748,0.9239,0.765,0.6747,0.6114,0.5657,0.5561,0.5331,0.5151,0.5066,0.5046,0.4975,0.489,0.4796,0.4656,0.4769,0.4724,0.4729,0.4594,0.4584,0.4579,0.474,0.4662,0.457,0.4586,0.4565,0.465 +2.030917620904739e-08,0.9793,0.9793,0.9766,0.9776,0.9766,0.9766,0.9776,0.9793,0.9783,0.9786,0.9776,0.9776,0.9791,0.9778,0.9675,0.8732,0.7363,0.6489,0.5969,0.5643,0.5517,0.5299,0.5227,0.5125,0.4965,0.4943,0.4821,0.4774,0.4853,0.4721,0.4627,0.4618,0.4691,0.4579,0.4675,0.4672,0.4593,0.4679,0.4641,0.4639 +1.125335582600767e-08,0.9788,0.9793,0.9781,0.9794,0.9766,0.9794,0.9775,0.9771,0.9788,0.9776,0.9788,0.9788,0.9794,0.9817,0.9783,0.9536,0.8401,0.6952,0.6277,0.5798,0.5564,0.5421,0.5225,0.5124,0.5097,0.4922,0.4934,0.4878,0.4768,0.4673,0.4716,0.4702,0.4682,0.4689,0.4666,0.4661,0.46,0.4645,0.4596,0.4594 +6.235507341273925e-09,0.9802,0.9779,0.9794,0.9802,0.9791,0.9788,0.9802,0.9775,0.9779,0.9802,0.9802,0.9781,0.9775,0.9779,0.9773,0.9773,0.9387,0.7874,0.6831,0.6229,0.5755,0.5523,0.5353,0.5216,0.5185,0.5012,0.4952,0.487,0.4804,0.488,0.4727,0.4649,0.4684,0.4624,0.4612,0.4675,0.4611,0.4653,0.4608,0.465 +3.4551072945922323e-09,0.9774,0.9796,0.9787,0.9796,0.9788,0.9779,0.9796,0.9788,0.9791,0.9774,0.9787,0.9791,0.9791,0.9788,0.9802,0.9779,0.9744,0.8963,0.767,0.6588,0.6039,0.5692,0.544,0.5372,0.5151,0.5051,0.4911,0.4889,0.4835,0.4856,0.4772,0.4685,0.4732,0.4707,0.4577,0.4704,0.4698,0.4616,0.4603,0.4558 +1.9144819761699614e-09,0.9787,0.9796,0.9787,0.9784,0.9788,0.9776,0.9787,0.9787,0.9779,0.9787,0.9778,0.9811,0.9796,0.9796,0.9784,0.9795,0.9771,0.9605,0.868,0.7094,0.6282,0.5903,0.5643,0.5452,0.5248,0.505,0.5024,0.4974,0.4859,0.4791,0.4751,0.4708,0.4691,0.4606,0.4675,0.467,0.4748,0.4747,0.4682,0.4741 +1.0608183551394483e-09,0.9776,0.9784,0.9778,0.9791,0.9779,0.9776,0.9782,0.9811,0.9795,0.9776,0.9811,0.9795,0.9791,0.9816,0.9778,0.9811,0.9775,0.9766,0.9539,0.8159,0.6827,0.6167,0.5809,0.5535,0.5314,0.5196,0.5133,0.49,0.4907,0.491,0.4796,0.4803,0.4693,0.4691,0.4687,0.4653,0.4556,0.4791,0.4665,0.4655 +5.878016072274924e-10,0.9816,0.9789,0.9778,0.9776,0.9795,0.9782,0.9816,0.9791,0.9782,0.9803,0.9794,0.9816,0.9789,0.9791,0.9795,0.9816,0.9776,0.9793,0.9775,0.9154,0.7579,0.6692,0.6022,0.5723,0.55,0.5272,0.5182,0.51,0.5088,0.4884,0.4728,0.4844,0.4732,0.4758,0.4652,0.4808,0.4631,0.4557,0.4641,0.479 +3.2570206556597964e-10,0.9776,0.9778,0.975,0.9777,0.9782,0.9777,0.9794,0.9814,0.9805,0.9782,0.9816,0.9805,0.9816,0.9814,0.976,0.9792,0.9793,0.9816,0.9782,0.966,0.8589,0.7332,0.6343,0.6003,0.5634,0.5396,0.5312,0.5133,0.5081,0.488,0.4906,0.4867,0.4806,0.4793,0.4835,0.4725,0.481,0.4701,0.4691,0.4671 +1.8047217668271738e-10,0.975,0.9803,0.9777,0.9794,0.9794,0.9805,0.9774,0.9814,0.9794,0.9805,0.9814,0.9792,0.9792,0.9795,0.976,0.9795,0.9814,0.9792,0.976,0.9793,0.9501,0.8415,0.688,0.6367,0.5835,0.5589,0.5341,0.5275,0.5157,0.4953,0.4961,0.4817,0.4753,0.4803,0.4759,0.4705,0.4693,0.4652,0.4686,0.4639 +1e-10,0.9777,0.9774,0.9805,0.9805,0.9795,0.9795,0.9792,0.9792,0.9795,0.9794,0.9765,0.9794,0.9814,0.9792,0.9814,0.9794,0.9765,0.9778,0.9792,0.9771,0.971,0.9372,0.7775,0.6718,0.6127,0.5754,0.5499,0.5307,0.5222,0.5117,0.498,0.489,0.4834,0.4724,0.4801,0.4663,0.4666,0.4681,0.4647,0.4616 diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_bch_31_26alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_bch_31_26alist.csv new file mode 100644 index 0000000..ded6cb2 --- /dev/null +++ b/sw/sim_results/2d_dec_fails_w_log_k_lin_bch_31_26alist.csv @@ -0,0 +1,41 @@ +,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 +1.0,0.6953,0.6953,0.6953,0.6953,0.6953,0.6953,0.6953,0.6953,0.7073,0.7073,0.7073,0.7073,0.7073,0.7073,0.7073,0.7073,0.6952,0.6952,0.6952,0.6952,0.6952,0.6952,0.6952,0.6952,0.6933,0.6933,0.6933,0.6933,0.6933,0.6933,0.6933,0.6933,0.695,0.695,0.695,0.695,0.695,0.695,0.695,0.695 +0.5541020330009492,0.4815,0.4806,0.4798,0.4752,0.4791,0.4741,0.4784,0.4738,0.4916,0.4779,0.4732,0.4777,0.4911,0.4775,0.473,0.4908,0.4758,0.4728,0.4906,0.4726,0.4753,0.4726,0.4904,0.4751,0.4777,0.4902,0.475,0.4902,0.4773,0.49,0.475,0.4771,0.4837,0.4747,0.4771,0.4744,0.4835,0.4744,0.477,0.4835 +0.30702906297578497,0.4121,0.3917,0.3922,0.3851,0.3765,0.382,0.3819,0.3808,0.3696,0.3757,0.3773,0.3767,0.3778,0.3776,0.3716,0.3715,0.3754,0.3632,0.3762,0.376,0.3705,0.3705,0.3728,0.3726,0.3756,0.3689,0.37,0.3699,0.3723,0.3723,0.3618,0.3617,0.3697,0.3745,0.3722,0.3722,0.3613,0.3611,0.3676,0.3676 +0.17012542798525893,0.364,0.3221,0.3044,0.2913,0.2795,0.278,0.2714,0.2673,0.2669,0.2599,0.2582,0.2558,0.2582,0.2566,0.2552,0.2474,0.2471,0.2512,0.2501,0.2496,0.2433,0.2428,0.2421,0.2404,0.2439,0.2404,0.2402,0.2398,0.2422,0.2418,0.2413,0.2379,0.238,0.2407,0.2407,0.2405,0.237,0.2369,0.2369,0.2401 +0.09426684551178854,0.3698,0.3265,0.3003,0.286,0.2702,0.2678,0.2551,0.2508,0.2476,0.2434,0.2414,0.2423,0.2367,0.2407,0.2341,0.233,0.2319,0.2314,0.2307,0.2297,0.2345,0.231,0.2336,0.2333,0.2332,0.233,0.2329,0.2278,0.2286,0.2265,0.2281,0.228,0.228,0.2278,0.2278,0.2266,0.2258,0.2265,0.2257,0.2256 +0.052233450742668434,0.4034,0.3463,0.3169,0.3079,0.2892,0.2785,0.2703,0.2667,0.2564,0.2523,0.2492,0.2506,0.2467,0.2436,0.2418,0.2401,0.2398,0.2388,0.2385,0.2332,0.2353,0.235,0.2345,0.2389,0.2335,0.2334,0.233,0.2265,0.2374,0.2372,0.2369,0.2291,0.2364,0.2362,0.236,0.2255,0.228,0.2279,0.2279,0.224 +0.028942661247167517,0.4735,0.3866,0.3454,0.3285,0.3078,0.2959,0.2845,0.2746,0.2687,0.2609,0.2631,0.2528,0.2492,0.246,0.2439,0.2418,0.2404,0.2392,0.2378,0.2412,0.2399,0.2392,0.2389,0.2387,0.2378,0.2371,0.2341,0.24,0.2396,0.2392,0.2385,0.2382,0.2376,0.2374,0.2417,0.2305,0.2305,0.2305,0.2304,0.2303 +0.016037187437513308,0.5672,0.4393,0.3819,0.355,0.336,0.3253,0.3128,0.3013,0.2941,0.2875,0.2877,0.2748,0.2778,0.2736,0.2694,0.2662,0.2639,0.2604,0.2618,0.2586,0.258,0.2563,0.2554,0.2543,0.2532,0.2492,0.2433,0.2513,0.2426,0.2423,0.2419,0.2418,0.2416,0.2433,0.2478,0.2411,0.2473,0.2471,0.2469,0.2467 +0.008886238162743407,0.6392,0.5108,0.4162,0.3852,0.3581,0.3433,0.3316,0.3203,0.3159,0.3038,0.2974,0.2921,0.2868,0.2825,0.2748,0.2773,0.2796,0.273,0.271,0.2693,0.2736,0.2721,0.2602,0.2701,0.2636,0.2681,0.2674,0.266,0.2607,0.26,0.2483,0.2589,0.2524,0.2578,0.2572,0.2567,0.2508,0.2504,0.247,0.2498 +0.004923882631706742,0.6443,0.5891,0.4549,0.4008,0.3682,0.3554,0.3415,0.3313,0.3239,0.312,0.3098,0.3006,0.2863,0.2825,0.2778,0.2755,0.2748,0.2866,0.273,0.2721,0.2738,0.2717,0.2715,0.2707,0.2704,0.274,0.2696,0.269,0.2811,0.2706,0.2701,0.2699,0.2695,0.2707,0.2685,0.2681,0.2708,0.278,0.2777,0.2775 +0.0027283333764867696,0.6518,0.6339,0.5512,0.4587,0.3913,0.3713,0.3488,0.3408,0.333,0.3242,0.3166,0.3089,0.2991,0.2914,0.2922,0.2835,0.2811,0.2796,0.2788,0.2781,0.2782,0.2782,0.2775,0.2773,0.2772,0.2768,0.2768,0.2767,0.2768,0.2807,0.2841,0.2766,0.2766,0.2766,0.2764,0.2764,0.2804,0.2764,0.272,0.2804 +0.001511775070615663,0.6517,0.6515,0.6262,0.5148,0.4229,0.3911,0.3674,0.3527,0.3453,0.3395,0.3283,0.3189,0.3141,0.3071,0.3003,0.2953,0.2817,0.2867,0.2885,0.2877,0.2768,0.2759,0.2755,0.2753,0.2877,0.2809,0.2749,0.2749,0.2876,0.2876,0.2874,0.2873,0.2766,0.2811,0.2872,0.2872,0.2809,0.2809,0.2809,0.2808 +0.0008376776400682924,0.644,0.6493,0.6536,0.6155,0.4731,0.4157,0.3732,0.3629,0.3513,0.3426,0.3366,0.3301,0.3194,0.3096,0.3081,0.2939,0.2893,0.2842,0.2821,0.2803,0.2818,0.2877,0.2868,0.2871,0.2869,0.2868,0.2866,0.2866,0.2794,0.2857,0.2817,0.2857,0.2857,0.2857,0.2854,0.2854,0.2808,0.2787,0.2777,0.2808 +0.0004641588833612782,0.6452,0.6452,0.6452,0.6446,0.5567,0.4557,0.3957,0.3696,0.3554,0.3418,0.3371,0.328,0.3209,0.3154,0.3126,0.3017,0.2965,0.2914,0.2874,0.2844,0.2823,0.2818,0.2909,0.2801,0.2809,0.2835,0.2805,0.2833,0.2832,0.2832,0.2834,0.2803,0.283,0.283,0.2822,0.282,0.282,0.282,0.2847,0.2823 +0.0002571913809059347,0.6449,0.6449,0.6523,0.6523,0.6383,0.5356,0.4347,0.386,0.3739,0.3558,0.3449,0.337,0.3317,0.3258,0.3197,0.3143,0.3062,0.3075,0.2982,0.2929,0.2902,0.2885,0.2873,0.2842,0.2859,0.2848,0.2838,0.2837,0.285,0.2835,0.2834,0.2852,0.285,0.285,0.2833,0.2847,0.2955,0.2846,0.2846,0.2838 +0.00014251026703029993,0.6482,0.642,0.6424,0.6424,0.6456,0.6179,0.4867,0.4093,0.3912,0.3645,0.3632,0.3438,0.3451,0.3308,0.3332,0.3267,0.3049,0.3166,0.2947,0.3046,0.2844,0.3006,0.2804,0.2793,0.2885,0.2781,0.288,0.2828,0.2876,0.2775,0.2876,0.2875,0.2935,0.2875,0.2932,0.2816,0.293,0.2871,0.2928,0.2928 +7.896522868499733e-05,0.6488,0.6447,0.6488,0.6543,0.6464,0.6473,0.5778,0.4422,0.4091,0.3788,0.3591,0.3461,0.3387,0.3322,0.3245,0.3265,0.3133,0.3078,0.3005,0.2965,0.298,0.2945,0.2925,0.2862,0.2829,0.29,0.289,0.2887,0.2873,0.2833,0.2833,0.2888,0.2883,0.2867,0.2829,0.2829,0.285,0.2881,0.2881,0.2866 +4.375479375074189e-05,0.6468,0.6461,0.649,0.649,0.649,0.6469,0.6386,0.5258,0.4407,0.3931,0.3706,0.3584,0.3484,0.3424,0.3333,0.3278,0.3222,0.3158,0.3092,0.3051,0.2996,0.2956,0.2927,0.2892,0.2883,0.2871,0.2876,0.2861,0.2858,0.2827,0.2865,0.2824,0.2864,0.2864,0.2837,0.2863,0.2787,0.286,0.2837,0.2786 +2.424462017082331e-05,0.6504,0.6504,0.6342,0.6504,0.6342,0.6342,0.6441,0.6207,0.4898,0.4124,0.382,0.3563,0.3548,0.3376,0.3329,0.3299,0.3191,0.3199,0.3063,0.3109,0.3004,0.3009,0.2819,0.2856,0.2903,0.2862,0.2876,0.2845,0.2727,0.2838,0.2908,0.286,0.2835,0.272,0.2832,0.272,0.2901,0.2719,0.2846,0.2827 +1.3433993325989015e-05,0.6321,0.6508,0.6321,0.6508,0.6508,0.6368,0.6368,0.649,0.6027,0.4582,0.4083,0.3799,0.3477,0.3555,0.3451,0.3341,0.3299,0.3266,0.3205,0.3155,0.311,0.3062,0.3013,0.2965,0.2939,0.2918,0.2915,0.29,0.2855,0.2895,0.2885,0.2893,0.2884,0.2889,0.2768,0.2888,0.2878,0.2767,0.2884,0.2767 +7.443803013251696e-06,0.6463,0.641,0.6493,0.641,0.641,0.642,0.6493,0.6493,0.6449,0.5354,0.4455,0.3937,0.3681,0.3619,0.3411,0.332,0.3262,0.3263,0.3264,0.3079,0.3033,0.2955,0.3023,0.2986,0.2942,0.2816,0.2877,0.287,0.2858,0.2888,0.285,0.2846,0.2845,0.2844,0.2783,0.2844,0.2843,0.2753,0.2779,0.2778 +4.124626382901356e-06,0.6474,0.6484,0.6417,0.6474,0.6417,0.6474,0.6474,0.6442,0.6489,0.6231,0.5176,0.4281,0.3793,0.3618,0.348,0.3411,0.3353,0.3359,0.3317,0.3161,0.3196,0.3156,0.3109,0.295,0.2995,0.2876,0.2844,0.2929,0.2807,0.2802,0.2794,0.2795,0.2858,0.2888,0.2886,0.2855,0.2886,0.2885,0.2885,0.2911 +2.285463864134993e-06,0.6451,0.6518,0.6518,0.6417,0.6451,0.6451,0.6518,0.6518,0.6518,0.6443,0.6067,0.4721,0.4052,0.3708,0.3602,0.3468,0.34,0.3289,0.3298,0.3177,0.3224,0.3066,0.2974,0.2935,0.2892,0.2889,0.295,0.2882,0.2884,0.2855,0.2805,0.2803,0.2798,0.2836,0.2882,0.2884,0.2791,0.2883,0.2833,0.2833 +1.2663801734674047e-06,0.653,0.6408,0.6511,0.6342,0.6408,0.6417,0.6342,0.6342,0.6408,0.6403,0.649,0.5605,0.4433,0.3956,0.3782,0.3616,0.3467,0.3404,0.3344,0.3326,0.321,0.3143,0.311,0.3065,0.308,0.2928,0.2965,0.2927,0.2965,0.29,0.29,0.2897,0.2865,0.281,0.2821,0.2889,0.2857,0.2878,0.2816,0.2816 +7.017038286703837e-07,0.6517,0.6476,0.6398,0.6475,0.6475,0.6453,0.6517,0.6511,0.6476,0.6398,0.6398,0.6286,0.5001,0.4322,0.3833,0.3672,0.3576,0.3497,0.343,0.3352,0.3207,0.3231,0.3159,0.312,0.2933,0.2991,0.2969,0.2932,0.2908,0.2913,0.2841,0.2837,0.2753,0.2871,0.2746,0.2744,0.2744,0.2856,0.2873,0.2812 +3.8881551803080935e-07,0.647,0.647,0.6439,0.647,0.6439,0.6439,0.6477,0.647,0.6439,0.6376,0.6477,0.6447,0.6094,0.499,0.4119,0.374,0.369,0.3506,0.349,0.336,0.3303,0.3241,0.3137,0.3161,0.3075,0.2986,0.2952,0.2984,0.281,0.2866,0.2921,0.2872,0.2833,0.2894,0.2884,0.283,0.2861,0.2884,0.2824,0.2884 +2.1544346900318867e-07,0.6497,0.6497,0.6351,0.645,0.6351,0.6439,0.6497,0.6351,0.6405,0.6476,0.6405,0.6485,0.6473,0.5907,0.4462,0.3939,0.3765,0.3627,0.3531,0.3425,0.3248,0.3286,0.3169,0.3188,0.3039,0.2992,0.3006,0.287,0.2876,0.288,0.2923,0.2808,0.2868,0.2861,0.2781,0.2753,0.2878,0.2885,0.2776,0.2849 +1.193776641714438e-07,0.6486,0.6486,0.6486,0.6564,0.6405,0.6354,0.6564,0.6354,0.6377,0.6497,0.6456,0.6486,0.6486,0.6329,0.5373,0.4256,0.4014,0.3592,0.3668,0.3515,0.331,0.341,0.3322,0.3289,0.3192,0.3027,0.3006,0.2997,0.2962,0.2988,0.2862,0.2948,0.2878,0.29,0.2886,0.2909,0.2936,0.2851,0.2874,0.2845 +6.614740641230159e-08,0.6456,0.6354,0.6468,0.6464,0.6464,0.6564,0.6377,0.6488,0.6456,0.6477,0.6477,0.6468,0.6456,0.6456,0.6236,0.4874,0.416,0.3807,0.3653,0.3587,0.3531,0.3328,0.3358,0.3315,0.3202,0.315,0.3094,0.3017,0.2941,0.2978,0.2922,0.2945,0.2881,0.2872,0.2857,0.2894,0.2883,0.285,0.2903,0.2888 +3.665241237079634e-08,0.6488,0.6412,0.6472,0.6412,0.652,0.6468,0.652,0.6488,0.6464,0.6412,0.652,0.6539,0.6455,0.6488,0.6532,0.5823,0.4665,0.4084,0.3829,0.3601,0.3465,0.3433,0.3343,0.3354,0.3217,0.319,0.3116,0.3054,0.2993,0.3005,0.2938,0.2971,0.2911,0.2876,0.2877,0.2833,0.2885,0.2902,0.2828,0.2889 +2.030917620904739e-08,0.6472,0.6437,0.6496,0.6412,0.6459,0.6496,0.6505,0.6459,0.6539,0.6459,0.652,0.6455,0.6505,0.6459,0.6416,0.6433,0.5565,0.4387,0.4022,0.3693,0.3523,0.3501,0.339,0.3308,0.3253,0.3167,0.3154,0.3079,0.305,0.2959,0.2929,0.295,0.2871,0.289,0.288,0.2895,0.2816,0.2856,0.288,0.2806 +1.125335582600767e-08,0.6459,0.6396,0.6496,0.6505,0.6505,0.648,0.648,0.6396,0.6459,0.6478,0.6416,0.6416,0.648,0.6478,0.6478,0.6477,0.6347,0.5004,0.4304,0.3882,0.3679,0.3537,0.3428,0.3396,0.3286,0.3246,0.3149,0.3092,0.3044,0.3043,0.3009,0.2909,0.2936,0.2919,0.2912,0.29,0.2861,0.287,0.2867,0.2851 +6.235507341273925e-09,0.6396,0.6501,0.6478,0.648,0.6478,0.6433,0.6461,0.6501,0.6501,0.6439,0.6478,0.6439,0.6461,0.6414,0.6501,0.6433,0.6427,0.6037,0.4828,0.4112,0.3852,0.36,0.3534,0.3476,0.3388,0.3313,0.3233,0.3187,0.3138,0.3126,0.3054,0.2957,0.2918,0.3021,0.2906,0.2972,0.2928,0.2857,0.2821,0.2907 +3.4551072945922323e-09,0.6484,0.6433,0.6501,0.6433,0.6469,0.6517,0.6414,0.6458,0.6433,0.6484,0.6414,0.6458,0.6484,0.6517,0.6469,0.6458,0.6414,0.6425,0.5836,0.4499,0.3964,0.3762,0.3504,0.3461,0.336,0.3235,0.3328,0.3201,0.3076,0.3084,0.3119,0.2909,0.3026,0.2989,0.2893,0.2774,0.2933,0.2773,0.2832,0.2902 +1.9144819761699614e-09,0.6469,0.6437,0.6458,0.6458,0.6506,0.6511,0.6437,0.6458,0.6458,0.6458,0.6511,0.6494,0.6494,0.6506,0.6511,0.6437,0.6437,0.6436,0.6442,0.5271,0.4311,0.392,0.3709,0.3512,0.34,0.3328,0.3314,0.3246,0.3193,0.3212,0.3079,0.3092,0.305,0.3014,0.3001,0.3002,0.2986,0.2858,0.2936,0.2818 +1.0608183551394483e-09,0.6494,0.6494,0.6473,0.649,0.6444,0.6444,0.649,0.6504,0.6504,0.6473,0.6568,0.6473,0.6473,0.6444,0.6568,0.649,0.649,0.6504,0.6462,0.621,0.4891,0.4162,0.3825,0.3695,0.357,0.3456,0.3435,0.3311,0.3262,0.327,0.3175,0.3082,0.3028,0.3031,0.2959,0.2954,0.2938,0.2903,0.2878,0.2938 +5.878016072274924e-10,0.6456,0.6462,0.6451,0.6557,0.6462,0.6456,0.6462,0.6568,0.6465,0.6451,0.6451,0.6456,0.6557,0.6557,0.6456,0.6462,0.6532,0.6465,0.6465,0.6543,0.5684,0.4626,0.4062,0.3831,0.3582,0.3481,0.3408,0.3328,0.329,0.3219,0.3124,0.313,0.3126,0.3014,0.2973,0.2955,0.2847,0.2826,0.2896,0.2819 +3.2570206556597964e-10,0.6476,0.6401,0.6401,0.6511,0.6476,0.6532,0.6367,0.6476,0.6367,0.6453,0.6532,0.6511,0.6465,0.6367,0.6401,0.6511,0.6401,0.6506,0.6367,0.6453,0.6443,0.5455,0.4378,0.3941,0.3728,0.364,0.3536,0.3395,0.3319,0.3276,0.3171,0.3146,0.3065,0.2998,0.3021,0.3049,0.2997,0.2893,0.2844,0.2966 +1.8047217668271738e-10,0.6453,0.6412,0.6511,0.6506,0.6395,0.6452,0.6476,0.6453,0.6453,0.6425,0.6506,0.6412,0.6395,0.6532,0.6511,0.6506,0.6506,0.6395,0.6425,0.6452,0.641,0.6262,0.4936,0.4297,0.392,0.3604,0.3501,0.3464,0.337,0.3375,0.3242,0.3148,0.3074,0.3064,0.2983,0.3027,0.3013,0.2947,0.2994,0.2835 +1e-10,0.6412,0.6532,0.6452,0.6452,0.6542,0.647,0.647,0.6408,0.6532,0.6532,0.6395,0.6458,0.6452,0.6542,0.6542,0.6458,0.647,0.647,0.6412,0.6408,0.6532,0.6449,0.5893,0.4842,0.4145,0.3831,0.361,0.353,0.3489,0.3297,0.3241,0.322,0.3222,0.3157,0.3127,0.3053,0.3051,0.2939,0.2914,0.2931 diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_bch_7_4alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_bch_7_4alist.csv new file mode 100644 index 0000000..7838cd3 --- /dev/null +++ b/sw/sim_results/2d_dec_fails_w_log_k_lin_bch_7_4alist.csv @@ -0,0 +1,41 @@ +,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 +1.0,0.4282,0.4282,0.4282,0.4282,0.4282,0.4282,0.4282,0.4282,0.4394,0.4394,0.4394,0.4394,0.4394,0.4394,0.4394,0.4394,0.4386,0.4386,0.4386,0.4386,0.4386,0.4386,0.4386,0.4386,0.4389,0.4389,0.4389,0.4389,0.4389,0.4389,0.4389,0.4389,0.4379,0.4379,0.4379,0.4379,0.4379,0.4379,0.4379,0.4379 +0.5541020330009492,0.1987,0.1987,0.1987,0.1987,0.1987,0.1987,0.1987,0.1955,0.1987,0.1955,0.1955,0.1955,0.1955,0.1955,0.1955,0.1898,0.1955,0.1898,0.1898,0.1898,0.1898,0.1898,0.1898,0.1965,0.1898,0.1965,0.1965,0.1965,0.1965,0.1965,0.1965,0.1858,0.1965,0.1858,0.1858,0.1858,0.1858,0.1858,0.1858,0.2003 +0.30702906297578497,0.1296,0.142,0.1403,0.1396,0.1392,0.1385,0.138,0.1375,0.131,0.1308,0.1307,0.1307,0.1306,0.1306,0.1306,0.1305,0.1286,0.1282,0.1282,0.128,0.128,0.1279,0.1279,0.1279,0.1343,0.1343,0.1343,0.1343,0.1343,0.1343,0.1343,0.1343,0.131,0.1309,0.1309,0.1309,0.1309,0.1309,0.1309,0.1309 +0.17012542798525893,0.1015,0.0914,0.0858,0.081,0.0784,0.0769,0.0757,0.0764,0.0741,0.0747,0.0742,0.0735,0.0731,0.0727,0.0725,0.0711,0.072,0.0706,0.0705,0.0702,0.0701,0.0701,0.0701,0.0696,0.0699,0.0694,0.0691,0.0691,0.0691,0.0691,0.0689,0.0739,0.0688,0.0737,0.0737,0.0737,0.0737,0.0737,0.0735,0.0648 +0.09426684551178854,0.0994,0.0745,0.0687,0.065,0.0626,0.0612,0.0603,0.0591,0.0609,0.0599,0.0592,0.0583,0.0578,0.0574,0.0569,0.0566,0.0608,0.0606,0.0605,0.0604,0.0601,0.0601,0.0601,0.06,0.0595,0.0594,0.0593,0.0592,0.0592,0.0592,0.0591,0.059,0.0622,0.0621,0.0619,0.0619,0.0617,0.0617,0.0617,0.0617 +0.052233450742668434,0.0936,0.0765,0.0678,0.0638,0.0602,0.0593,0.0569,0.0617,0.0549,0.06,0.0594,0.0586,0.0577,0.0573,0.0565,0.0548,0.0557,0.0542,0.0542,0.0538,0.0534,0.0534,0.0532,0.0507,0.0531,0.0507,0.0505,0.0504,0.0504,0.0502,0.0499,0.0499,0.0548,0.0548,0.0548,0.0547,0.0547,0.0545,0.0545,0.0545 +0.028942661247167517,0.1036,0.0789,0.0694,0.0646,0.06,0.0581,0.0561,0.0565,0.0525,0.0542,0.0538,0.0527,0.0519,0.0515,0.0507,0.0528,0.0499,0.052,0.0518,0.0517,0.0513,0.0509,0.0508,0.0497,0.0502,0.0497,0.0495,0.0493,0.049,0.0488,0.0486,0.0494,0.0485,0.0493,0.0493,0.0491,0.0491,0.0491,0.049,0.049 +0.016037187437513308,0.1348,0.0951,0.0775,0.0718,0.066,0.0604,0.0629,0.0577,0.0605,0.0566,0.0585,0.0544,0.0529,0.0541,0.0529,0.0504,0.0518,0.0489,0.0485,0.0502,0.0459,0.0494,0.0456,0.049,0.0489,0.0451,0.0483,0.0447,0.0447,0.0445,0.0461,0.0441,0.046,0.0459,0.0437,0.0458,0.0457,0.0456,0.0405,0.0454 +0.008886238162743407,0.1782,0.1068,0.0843,0.0655,0.0594,0.0572,0.0613,0.0591,0.0512,0.0562,0.0495,0.0543,0.0529,0.0527,0.0495,0.0492,0.0476,0.048,0.0454,0.0463,0.0453,0.0429,0.0442,0.0425,0.0435,0.0421,0.0428,0.0413,0.0412,0.0421,0.041,0.0416,0.0405,0.0415,0.0403,0.0414,0.0414,0.041,0.0414,0.041 +0.004923882631706742,0.2446,0.1451,0.0944,0.0793,0.0682,0.0655,0.0599,0.0576,0.0591,0.0578,0.0537,0.0569,0.0556,0.0514,0.0533,0.0522,0.0465,0.0449,0.0466,0.0426,0.0419,0.0432,0.0413,0.0407,0.0424,0.0421,0.04,0.0417,0.0417,0.0396,0.0413,0.0412,0.0392,0.0391,0.0409,0.0389,0.0388,0.0378,0.0386,0.0386 +0.0027283333764867696,0.313,0.2033,0.1162,0.0866,0.071,0.0694,0.0592,0.0571,0.06,0.0587,0.0541,0.0568,0.0553,0.0567,0.0534,0.0514,0.0533,0.0511,0.0462,0.0488,0.0447,0.0459,0.0445,0.0435,0.0411,0.0408,0.0416,0.04,0.0396,0.0394,0.039,0.0389,0.0389,0.0385,0.0383,0.0379,0.0344,0.0378,0.0375,0.0375 +0.001511775070615663,0.3381,0.271,0.1582,0.1056,0.0825,0.0689,0.0624,0.0579,0.0612,0.0539,0.0573,0.0558,0.0557,0.0538,0.0523,0.0511,0.0504,0.0484,0.0454,0.0435,0.0434,0.0416,0.0406,0.0398,0.0395,0.038,0.0384,0.0379,0.0381,0.0376,0.0376,0.0375,0.0377,0.0375,0.0375,0.0375,0.0347,0.0373,0.0373,0.0373 +0.0008376776400682924,0.3664,0.3295,0.2355,0.1455,0.0952,0.0773,0.067,0.0624,0.0599,0.0568,0.0571,0.0563,0.0554,0.0542,0.0527,0.0525,0.0505,0.0483,0.046,0.0431,0.0457,0.039,0.0375,0.0415,0.0351,0.0343,0.0394,0.0388,0.0389,0.0388,0.0387,0.0387,0.0385,0.0385,0.0386,0.0386,0.0375,0.0386,0.0386,0.0375 +0.0004641588833612782,0.3659,0.3546,0.2982,0.2107,0.1236,0.0941,0.0768,0.0687,0.0618,0.0631,0.0566,0.0557,0.0548,0.0542,0.0531,0.0523,0.05,0.0496,0.0461,0.0436,0.0412,0.0398,0.0384,0.0375,0.0373,0.0361,0.0367,0.036,0.0364,0.0357,0.0357,0.0357,0.036,0.0356,0.0359,0.0359,0.0381,0.0358,0.0358,0.0358 +0.0002571913809059347,0.369,0.3678,0.3429,0.2884,0.1709,0.1195,0.0808,0.0731,0.0683,0.0639,0.0582,0.0564,0.0617,0.0542,0.0591,0.0525,0.0514,0.0504,0.0548,0.0527,0.047,0.0474,0.0445,0.0407,0.0422,0.0417,0.0381,0.0376,0.0369,0.0371,0.0368,0.0365,0.0364,0.0364,0.0363,0.0363,0.0373,0.0363,0.0363,0.0373 +0.00014251026703029993,0.3616,0.3606,0.3591,0.3321,0.2423,0.1587,0.1028,0.079,0.0683,0.0638,0.0609,0.0584,0.0538,0.0559,0.0551,0.0541,0.0484,0.052,0.046,0.0446,0.043,0.039,0.0371,0.0355,0.0362,0.0336,0.035,0.0343,0.0386,0.0336,0.0334,0.0334,0.0377,0.0334,0.0377,0.0377,0.0388,0.0377,0.0377,0.0377 +7.896522868499733e-05,0.3697,0.3684,0.3663,0.3563,0.3139,0.2306,0.1347,0.0924,0.0799,0.0713,0.0657,0.0629,0.0554,0.0595,0.058,0.052,0.0556,0.0544,0.0497,0.0484,0.0494,0.0434,0.0409,0.0433,0.039,0.0378,0.0408,0.0405,0.038,0.0403,0.0403,0.0375,0.0399,0.0398,0.0373,0.0373,0.0381,0.037,0.037,0.038 +4.375479375074189e-05,0.366,0.3659,0.3725,0.3695,0.3406,0.2988,0.183,0.1154,0.0888,0.0701,0.0643,0.0604,0.062,0.0576,0.0558,0.0546,0.0541,0.0551,0.0546,0.0529,0.0533,0.049,0.0473,0.0453,0.0432,0.0426,0.0419,0.0413,0.0372,0.0404,0.0401,0.04,0.0399,0.0364,0.0364,0.0364,0.0371,0.0364,0.0363,0.0362 +2.424462017082331e-05,0.3705,0.3675,0.3672,0.3657,0.3667,0.3382,0.2612,0.1577,0.1048,0.0797,0.0705,0.0639,0.0612,0.0584,0.0572,0.0567,0.0556,0.0549,0.0543,0.0529,0.0489,0.0495,0.0466,0.0415,0.0414,0.0399,0.0376,0.0365,0.0372,0.0361,0.0358,0.0365,0.0357,0.0356,0.036,0.0359,0.0382,0.0357,0.0381,0.0357 +1.3433993325989015e-05,0.3816,0.3816,0.372,0.3716,0.3644,0.362,0.323,0.2209,0.1408,0.0949,0.0782,0.0674,0.0627,0.0602,0.0583,0.057,0.0565,0.055,0.0549,0.0538,0.051,0.0509,0.0491,0.0463,0.0424,0.0409,0.0393,0.0384,0.0382,0.0373,0.0369,0.0365,0.0371,0.0364,0.0368,0.0367,0.0374,0.0366,0.0366,0.0366 +7.443803013251696e-06,0.3711,0.3715,0.3711,0.3709,0.3568,0.3552,0.3523,0.2935,0.204,0.1178,0.0899,0.0735,0.0663,0.0631,0.0587,0.0562,0.0554,0.054,0.056,0.054,0.0542,0.0525,0.0518,0.0495,0.0466,0.0431,0.0417,0.0431,0.0393,0.042,0.0383,0.0378,0.0377,0.0376,0.041,0.0359,0.041,0.0357,0.0408,0.0408 +4.124626382901356e-06,0.3753,0.3753,0.3731,0.3643,0.3729,0.372,0.3591,0.3393,0.2802,0.1705,0.1105,0.0841,0.0671,0.0626,0.062,0.0567,0.0555,0.0541,0.0566,0.0556,0.0549,0.054,0.0517,0.0503,0.0477,0.0449,0.0439,0.0411,0.0419,0.0413,0.0383,0.0405,0.0401,0.04,0.0377,0.039,0.0375,0.0375,0.0389,0.0375 +2.285463864134993e-06,0.3664,0.3664,0.3642,0.3713,0.3641,0.3638,0.362,0.3532,0.3327,0.2397,0.1529,0.0997,0.0757,0.0689,0.063,0.0595,0.0609,0.0569,0.0579,0.0542,0.0552,0.0536,0.0518,0.05,0.0471,0.0456,0.0422,0.0424,0.0391,0.0377,0.0367,0.0364,0.0386,0.0359,0.038,0.0339,0.0375,0.0375,0.0375,0.0375 +1.2663801734674047e-06,0.3656,0.3733,0.3656,0.3655,0.3656,0.3654,0.3648,0.3618,0.3498,0.3003,0.2177,0.1272,0.088,0.074,0.0664,0.0626,0.0597,0.0579,0.0561,0.0616,0.0545,0.06,0.0519,0.0505,0.0492,0.0464,0.0498,0.0452,0.0453,0.0416,0.0425,0.0416,0.0412,0.0408,0.0381,0.0342,0.0378,0.0339,0.0377,0.0376 +7.017038286703837e-07,0.3719,0.3719,0.3696,0.364,0.3696,0.364,0.3696,0.3689,0.3653,0.3437,0.285,0.1801,0.1077,0.0864,0.0692,0.0618,0.0596,0.0569,0.0595,0.0554,0.058,0.0538,0.0569,0.055,0.0533,0.0523,0.0448,0.0446,0.0391,0.0401,0.0361,0.0353,0.035,0.0344,0.036,0.0362,0.0357,0.0358,0.0355,0.0355 +3.8881551803080935e-07,0.3675,0.3675,0.3628,0.3563,0.3563,0.3563,0.3628,0.356,0.3545,0.3475,0.3357,0.2498,0.149,0.0995,0.0824,0.0683,0.0639,0.0608,0.0617,0.0593,0.0582,0.0575,0.0561,0.0555,0.0542,0.0523,0.0495,0.0469,0.0444,0.0417,0.0408,0.0388,0.0378,0.0373,0.0367,0.0375,0.0373,0.0373,0.0361,0.037 +2.1544346900318867e-07,0.3636,0.3636,0.3685,0.3703,0.3703,0.3703,0.3703,0.3702,0.3682,0.3673,0.3524,0.314,0.2129,0.136,0.0911,0.073,0.0674,0.0613,0.0617,0.0579,0.0564,0.0553,0.0543,0.0538,0.054,0.0515,0.0467,0.048,0.0454,0.0426,0.0412,0.0396,0.0352,0.0383,0.0384,0.0339,0.0338,0.0336,0.0336,0.0335 +1.193776641714438e-07,0.3645,0.369,0.3728,0.3645,0.3645,0.3645,0.3728,0.3645,0.3644,0.3638,0.3684,0.3516,0.2888,0.1994,0.1236,0.0863,0.0751,0.0695,0.0665,0.0666,0.0648,0.0638,0.0601,0.0609,0.0598,0.0591,0.0546,0.0526,0.0507,0.0472,0.0448,0.0423,0.041,0.0403,0.036,0.0391,0.0387,0.0383,0.0353,0.0382 +6.614740641230159e-08,0.3604,0.3604,0.3805,0.3579,0.3579,0.3579,0.3579,0.3579,0.3805,0.3696,0.3571,0.3742,0.3464,0.2819,0.1711,0.1073,0.0847,0.0683,0.0675,0.0647,0.0609,0.0602,0.0588,0.0581,0.0521,0.049,0.0543,0.0496,0.0471,0.044,0.0411,0.04,0.0374,0.0423,0.0368,0.035,0.0346,0.0341,0.0339,0.0339 +3.665241237079634e-08,0.3704,0.3696,0.3703,0.3704,0.3696,0.3659,0.3704,0.3704,0.3703,0.37,0.3696,0.3671,0.3531,0.3211,0.2317,0.1346,0.0997,0.0779,0.0706,0.0642,0.0614,0.0597,0.059,0.0571,0.056,0.0547,0.0538,0.0536,0.0523,0.0496,0.0472,0.0444,0.0424,0.0412,0.0404,0.0394,0.0395,0.0393,0.0381,0.0379 +2.030917620904739e-08,0.3754,0.3754,0.3754,0.375,0.375,0.3745,0.3725,0.375,0.375,0.375,0.375,0.374,0.37,0.3565,0.2969,0.1882,0.1231,0.0885,0.076,0.0647,0.0601,0.0636,0.0578,0.0552,0.0539,0.0528,0.0526,0.0573,0.0562,0.0504,0.0492,0.0493,0.047,0.045,0.044,0.0377,0.0373,0.0377,0.0333,0.0361 +1.125335582600767e-08,0.362,0.362,0.362,0.3696,0.3696,0.3696,0.3627,0.3677,0.3696,0.3696,0.3696,0.3627,0.3618,0.3586,0.3381,0.2682,0.1667,0.1002,0.0778,0.0656,0.0589,0.0564,0.0625,0.0585,0.0524,0.0513,0.0508,0.0578,0.0563,0.0544,0.0489,0.0489,0.0453,0.0438,0.0421,0.0378,0.0368,0.036,0.0362,0.0384 +6.235507341273925e-09,0.3652,0.3652,0.3652,0.3705,0.3705,0.3705,0.3705,0.3705,0.372,0.3748,0.3705,0.372,0.3717,0.3698,0.3615,0.3229,0.2541,0.1506,0.1033,0.0756,0.0668,0.0626,0.0598,0.0581,0.0624,0.0608,0.0553,0.0585,0.0576,0.056,0.0544,0.0529,0.0459,0.0479,0.0451,0.0434,0.0425,0.0417,0.0413,0.041 +3.4551072945922323e-09,0.3706,0.3613,0.3729,0.3613,0.3613,0.3592,0.3613,0.3706,0.3613,0.3613,0.3613,0.3706,0.3705,0.3576,0.3681,0.3426,0.3134,0.2134,0.1403,0.0901,0.0729,0.0694,0.0613,0.0591,0.0578,0.0566,0.0559,0.0533,0.0529,0.0564,0.0511,0.0498,0.0478,0.0448,0.0414,0.0398,0.0385,0.0372,0.0368,0.0402 +1.9144819761699614e-09,0.3662,0.3662,0.3662,0.3722,0.3722,0.3722,0.3694,0.3722,0.3722,0.3722,0.3757,0.3757,0.3757,0.3757,0.3578,0.3706,0.3516,0.2844,0.1876,0.1143,0.0829,0.07,0.068,0.0601,0.0572,0.0552,0.06,0.0588,0.0578,0.0568,0.053,0.0546,0.0528,0.0505,0.047,0.0451,0.0436,0.0428,0.0396,0.0417 +1.0608183551394483e-09,0.3691,0.3691,0.3596,0.3596,0.3596,0.3596,0.3606,0.3596,0.3596,0.3596,0.3772,0.3772,0.3772,0.3771,0.3659,0.3752,0.3692,0.3375,0.2604,0.147,0.0977,0.0792,0.0675,0.0641,0.0612,0.0594,0.0606,0.0591,0.0584,0.0572,0.0528,0.0549,0.0527,0.0508,0.0434,0.0407,0.0383,0.0367,0.0395,0.0348 +5.878016072274924e-10,0.3783,0.3783,0.3678,0.3678,0.3678,0.3678,0.3678,0.3678,0.376,0.3616,0.3678,0.376,0.376,0.3759,0.3759,0.3756,0.3587,0.3559,0.327,0.2175,0.1291,0.0935,0.0743,0.0678,0.0661,0.0608,0.059,0.0591,0.0575,0.0565,0.0552,0.0539,0.053,0.0538,0.049,0.0472,0.0446,0.0422,0.0405,0.0398 +3.2570206556597964e-10,0.3699,0.3739,0.3713,0.3699,0.3739,0.3699,0.3699,0.3655,0.3699,0.3699,0.3699,0.3739,0.3655,0.3739,0.3738,0.3691,0.373,0.37,0.3553,0.2837,0.1864,0.1188,0.0854,0.0722,0.0672,0.0629,0.0611,0.0635,0.0549,0.0611,0.0595,0.0543,0.0579,0.0565,0.0545,0.0449,0.0442,0.0409,0.0393,0.0391 +1.8047217668271738e-10,0.3678,0.3678,0.3678,0.3702,0.3702,0.3718,0.3702,0.3702,0.3702,0.3596,0.3702,0.3718,0.3718,0.3596,0.3717,0.3717,0.3717,0.3692,0.3654,0.328,0.2519,0.1676,0.1009,0.0816,0.0677,0.0663,0.0591,0.0593,0.0577,0.0585,0.0555,0.055,0.0538,0.0499,0.0513,0.0505,0.0485,0.0424,0.0427,0.0415 +1e-10,0.37,0.368,0.37,0.368,0.368,0.368,0.3687,0.368,0.368,0.368,0.368,0.368,0.368,0.368,0.3637,0.3687,0.368,0.3677,0.366,0.3578,0.3153,0.2395,0.138,0.0926,0.0746,0.0664,0.062,0.0554,0.0534,0.0516,0.0535,0.054,0.0487,0.0479,0.0469,0.0484,0.0463,0.0436,0.0455,0.0385 From f76728a3d92cd64ccc1f6ab65a33763574f55a04 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 28 Nov 2022 19:22:23 +0100 Subject: [PATCH 29/54] Added more Proximal Decoder template specializations --- sw/cpp/src/proximal.h | 2 -- sw/cpp/src/python_interface.cpp | 12 ++++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/sw/cpp/src/proximal.h b/sw/cpp/src/proximal.h index 809c4da..65d6994 100644 --- a/sw/cpp/src/proximal.h +++ b/sw/cpp/src/proximal.h @@ -1,7 +1,5 @@ #pragma once -#define EIGEN_STACK_ALLOCATION_LIMIT 524288 - #include #include #include diff --git a/sw/cpp/src/python_interface.cpp b/sw/cpp/src/python_interface.cpp index a9654af..df20027 100644 --- a/sw/cpp/src/python_interface.cpp +++ b/sw/cpp/src/python_interface.cpp @@ -1,3 +1,5 @@ +#define EIGEN_STACK_ALLOCATION_LIMIT 1048576 + #include "proximal.h" #include @@ -28,11 +30,17 @@ using namespace pybind11::literals; PYBIND11_MODULE(cpp_decoders, proximal) { proximal.doc() = "Proximal decoder"; - DEF_PROXIMAL_DECODER("ProximalDecoder_7_4", 4, 7) + DEF_PROXIMAL_DECODER("ProximalDecoder_7_3", 3, 7) + DEF_PROXIMAL_DECODER("ProximalDecoder_31_20", 20, 31) + DEF_PROXIMAL_DECODER("ProximalDecoder_31_6", 6, 31) DEF_PROXIMAL_DECODER("ProximalDecoder_96_48", 48, 96) DEF_PROXIMAL_DECODER("ProximalDecoder_204_102", 102, 204) + DEF_PROXIMAL_DECODER("ProximalDecoder_408_204", 204, 408) DEF_PROXIMAL_DECODER("ProximalDecoder_Dynamic", Eigen::Dynamic, Eigen::Dynamic) - py::register_exception(proximal, "CppException"); + py::register_exception( + proximal, "CppException: std::runtime_error"); + py::register_exception(proximal, + "CppException: std::bad_alloc"); } \ No newline at end of file From 82c1c5b540db3107ea6d076ca535bbd0dca94f51 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 28 Nov 2022 19:23:14 +0100 Subject: [PATCH 30/54] Added alist files for more BCH codes --- sw/res/BCH_31_11.alist | 55 ++++++++++++++++++++++++++++++++++++++++++ sw/res/BCH_31_26.alist | 40 ++++++++++++++++++++++++++++++ sw/res/BCH_7_4.alist | 14 +++++++++++ 3 files changed, 109 insertions(+) diff --git a/sw/res/BCH_31_11.alist b/sw/res/BCH_31_11.alist index e69de29..206145c 100644 --- a/sw/res/BCH_31_11.alist +++ b/sw/res/BCH_31_11.alist @@ -0,0 +1,55 @@ +31 20 +6 6 +1 1 2 3 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 5 5 4 3 2 2 2 2 2 1 1 +6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 +1 0 0 0 0 0 +2 0 0 0 0 0 +1 3 0 0 0 0 +1 2 4 0 0 0 +1 2 3 5 0 0 +2 3 4 6 0 0 +3 4 5 7 0 0 +4 5 6 8 0 0 +5 6 7 9 0 0 +1 6 7 8 10 0 +2 7 8 9 11 0 +1 3 8 9 10 12 +2 4 9 10 11 13 +3 5 10 11 12 14 +4 6 11 12 13 15 +5 7 12 13 14 16 +6 8 13 14 15 17 +7 9 14 15 16 18 +8 10 15 16 17 19 +9 11 16 17 18 20 +10 12 17 18 19 0 +11 13 18 19 20 0 +12 14 19 20 0 0 +13 15 20 0 0 0 +14 16 0 0 0 0 +15 17 0 0 0 0 +16 18 0 0 0 0 +17 19 0 0 0 0 +18 20 0 0 0 0 +19 0 0 0 0 0 +20 0 0 0 0 0 +1 3 4 5 10 12 +2 4 5 6 11 13 +3 5 6 7 12 14 +4 6 7 8 13 15 +5 7 8 9 14 16 +6 8 9 10 15 17 +7 9 10 11 16 18 +8 10 11 12 17 19 +9 11 12 13 18 20 +10 12 13 14 19 21 +11 13 14 15 20 22 +12 14 15 16 21 23 +13 15 16 17 22 24 +14 16 17 18 23 25 +15 17 18 19 24 26 +16 18 19 20 25 27 +17 19 20 21 26 28 +18 20 21 22 27 29 +19 21 22 23 28 30 +20 22 23 24 29 31 diff --git a/sw/res/BCH_31_26.alist b/sw/res/BCH_31_26.alist index e69de29..7a22846 100644 --- a/sw/res/BCH_31_26.alist +++ b/sw/res/BCH_31_26.alist @@ -0,0 +1,40 @@ +31 5 +5 16 +1 1 1 2 2 2 3 3 2 3 3 3 4 5 4 3 2 2 2 2 3 4 4 3 4 3 3 2 2 1 1 +16 16 16 16 16 +1 0 0 0 0 +2 0 0 0 0 +3 0 0 0 0 +1 4 0 0 0 +2 5 0 0 0 +1 3 0 0 0 +1 2 4 0 0 +2 3 5 0 0 +3 4 0 0 0 +1 4 5 0 0 +1 2 5 0 0 +1 2 3 0 0 +1 2 3 4 0 +1 2 3 4 5 +2 3 4 5 0 +3 4 5 0 0 +4 5 0 0 0 +1 5 0 0 0 +1 2 0 0 0 +2 3 0 0 0 +1 3 4 0 0 +1 2 4 5 0 +1 2 3 5 0 +2 3 4 0 0 +1 3 4 5 0 +2 4 5 0 0 +1 3 5 0 0 +2 4 0 0 0 +3 5 0 0 0 +4 0 0 0 0 +5 0 0 0 0 +1 4 6 7 10 11 12 13 14 18 19 21 22 23 25 27 +2 5 7 8 11 12 13 14 15 19 20 22 23 24 26 28 +3 6 8 9 12 13 14 15 16 20 21 23 24 25 27 29 +4 7 9 10 13 14 15 16 17 21 22 24 25 26 28 30 +5 8 10 11 14 15 16 17 18 22 23 25 26 27 29 31 diff --git a/sw/res/BCH_7_4.alist b/sw/res/BCH_7_4.alist index e69de29..3ec087e 100644 --- a/sw/res/BCH_7_4.alist +++ b/sw/res/BCH_7_4.alist @@ -0,0 +1,14 @@ +7 3 +3 4 +1 1 2 2 3 2 1 +4 4 4 +1 0 0 +2 0 0 +1 3 0 +1 2 0 +1 2 3 +2 3 0 +3 0 0 +1 3 4 5 +2 4 5 6 +3 5 6 7 From fd4259e95c4c9a16e8d7da3f04a792951a1037f4 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 28 Nov 2022 20:12:58 +0100 Subject: [PATCH 31/54] Added zoomed in simulation results --- ...ails_w_log_k_lin_zoomed_in_963965alist.csv | 80 +++++++++---------- ...s_w_log_k_lin_zoomed_in_bch_31_11alist.csv | 41 ++++++++++ ...s_w_log_k_lin_zoomed_in_bch_31_26alist.csv | 41 ++++++++++ ...ils_w_log_k_lin_zoomed_in_bch_7_4alist.csv | 41 ++++++++++ 4 files changed, 163 insertions(+), 40 deletions(-) create mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_11alist.csv create mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv create mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_7_4alist.csv diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv index cdc3c5f..7458054 100644 --- a/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv +++ b/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv @@ -1,41 +1,41 @@ ,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 -0.5011872336272722,0.938,0.938,0.938,0.937,0.937,0.936,0.935,0.935,0.95,0.95,0.95,0.949,0.949,0.949,0.949,0.949,0.954,0.954,0.954,0.954,0.954,0.954,0.954,0.954,0.941,0.941,0.941,0.941,0.941,0.941,0.941,0.941,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94 -0.4319014035579926,0.919,0.92,0.914,0.912,0.918,0.919,0.911,0.917,0.924,0.918,0.911,0.917,0.91,0.918,0.91,0.919,0.923,0.91,0.916,0.917,0.916,0.923,0.916,0.916,0.919,0.916,0.916,0.923,0.916,0.919,0.916,0.906,0.916,0.916,0.923,0.919,0.923,0.916,0.923,0.921 -0.37219388260414266,0.886,0.896,0.897,0.874,0.875,0.871,0.891,0.891,0.891,0.89,0.867,0.875,0.875,0.875,0.882,0.89,0.875,0.866,0.874,0.896,0.896,0.896,0.879,0.875,0.896,0.89,0.891,0.874,0.874,0.874,0.888,0.895,0.874,0.875,0.882,0.891,0.891,0.891,0.885,0.874 -0.32074053269277175,0.865,0.862,0.846,0.84,0.826,0.837,0.826,0.838,0.834,0.837,0.821,0.827,0.834,0.836,0.836,0.798,0.834,0.825,0.831,0.797,0.819,0.834,0.834,0.822,0.818,0.797,0.835,0.822,0.825,0.818,0.818,0.838,0.825,0.822,0.834,0.837,0.797,0.825,0.825,0.835 -0.276400269107749,0.788,0.811,0.784,0.776,0.782,0.76,0.763,0.736,0.758,0.752,0.736,0.728,0.731,0.761,0.727,0.744,0.726,0.726,0.726,0.757,0.746,0.744,0.756,0.75,0.746,0.746,0.756,0.741,0.74,0.751,0.74,0.725,0.738,0.738,0.739,0.751,0.749,0.745,0.75,0.755 -0.23818975457029212,0.786,0.759,0.705,0.689,0.71,0.7,0.677,0.682,0.652,0.658,0.658,0.674,0.674,0.648,0.665,0.647,0.647,0.668,0.641,0.631,0.63,0.641,0.636,0.659,0.637,0.626,0.64,0.628,0.628,0.632,0.637,0.623,0.654,0.624,0.628,0.629,0.629,0.653,0.626,0.621 -0.20526159169598815,0.731,0.695,0.656,0.669,0.668,0.61,0.64,0.588,0.629,0.573,0.612,0.564,0.562,0.55,0.557,0.58,0.53,0.554,0.55,0.535,0.524,0.553,0.522,0.536,0.542,0.582,0.514,0.548,0.54,0.578,0.539,0.525,0.536,0.54,0.537,0.574,0.536,0.538,0.536,0.545 -0.1768855302008251,0.741,0.663,0.601,0.599,0.546,0.554,0.544,0.547,0.534,0.515,0.487,0.499,0.477,0.507,0.49,0.484,0.506,0.501,0.478,0.486,0.471,0.471,0.454,0.454,0.473,0.475,0.465,0.462,0.463,0.448,0.464,0.462,0.442,0.465,0.456,0.444,0.465,0.459,0.473,0.473 -0.15243227208706556,0.697,0.641,0.587,0.537,0.528,0.485,0.504,0.489,0.478,0.474,0.461,0.462,0.444,0.421,0.454,0.421,0.443,0.44,0.432,0.427,0.414,0.403,0.414,0.423,0.41,0.409,0.405,0.408,0.423,0.421,0.389,0.417,0.387,0.386,0.401,0.385,0.415,0.379,0.415,0.396 -0.13135951565537832,0.688,0.619,0.54,0.51,0.504,0.468,0.458,0.448,0.452,0.395,0.404,0.412,0.387,0.42,0.379,0.389,0.387,0.362,0.389,0.401,0.384,0.358,0.379,0.363,0.363,0.371,0.392,0.35,0.39,0.339,0.387,0.375,0.374,0.373,0.345,0.335,0.344,0.34,0.344,0.346 -0.11319992884026403,0.654,0.609,0.524,0.486,0.472,0.486,0.405,0.444,0.39,0.403,0.397,0.379,0.351,0.378,0.344,0.346,0.363,0.367,0.363,0.328,0.328,0.367,0.346,0.322,0.349,0.347,0.346,0.317,0.334,0.324,0.339,0.317,0.343,0.35,0.349,0.337,0.336,0.31,0.327,0.338 -0.09755078515254997,0.664,0.568,0.517,0.508,0.45,0.407,0.419,0.377,0.376,0.357,0.352,0.343,0.363,0.376,0.371,0.323,0.348,0.347,0.318,0.337,0.329,0.329,0.327,0.332,0.324,0.329,0.328,0.319,0.332,0.303,0.301,0.315,0.321,0.299,0.315,0.283,0.316,0.291,0.291,0.28 -0.08406503238449185,0.663,0.567,0.483,0.473,0.44,0.42,0.402,0.369,0.362,0.363,0.355,0.35,0.31,0.347,0.337,0.308,0.304,0.322,0.32,0.297,0.307,0.318,0.292,0.318,0.317,0.273,0.272,0.298,0.29,0.285,0.295,0.308,0.308,0.314,0.313,0.302,0.29,0.293,0.302,0.262 -0.07244359600749903,0.649,0.571,0.502,0.46,0.416,0.404,0.393,0.367,0.366,0.348,0.342,0.33,0.302,0.326,0.338,0.31,0.296,0.286,0.29,0.297,0.31,0.303,0.303,0.306,0.292,0.292,0.285,0.282,0.271,0.286,0.278,0.269,0.297,0.277,0.289,0.283,0.285,0.247,0.282,0.282 -0.06242874657437091,0.655,0.563,0.524,0.466,0.441,0.418,0.369,0.363,0.338,0.35,0.341,0.33,0.325,0.302,0.297,0.307,0.293,0.296,0.278,0.302,0.3,0.293,0.283,0.307,0.291,0.246,0.284,0.282,0.281,0.301,0.287,0.324,0.299,0.268,0.273,0.244,0.244,0.287,0.299,0.289 -0.05379838403443687,0.705,0.582,0.494,0.45,0.421,0.406,0.377,0.342,0.35,0.332,0.33,0.33,0.35,0.311,0.311,0.282,0.308,0.26,0.311,0.284,0.296,0.306,0.284,0.297,0.29,0.269,0.325,0.246,0.291,0.323,0.269,0.299,0.292,0.276,0.265,0.289,0.274,0.289,0.309,0.319 -0.04636111220443666,0.713,0.561,0.516,0.483,0.46,0.399,0.363,0.364,0.357,0.338,0.32,0.323,0.315,0.341,0.338,0.303,0.292,0.302,0.276,0.306,0.303,0.288,0.291,0.292,0.267,0.278,0.321,0.321,0.275,0.296,0.286,0.274,0.318,0.264,0.278,0.285,0.286,0.27,0.272,0.262 -0.03995199416132174,0.714,0.578,0.533,0.487,0.437,0.393,0.401,0.355,0.341,0.328,0.347,0.301,0.294,0.336,0.298,0.3,0.3,0.272,0.283,0.324,0.301,0.288,0.267,0.264,0.263,0.272,0.292,0.282,0.275,0.298,0.317,0.27,0.27,0.293,0.262,0.296,0.301,0.272,0.278,0.293 -0.034428894424011175,0.727,0.595,0.512,0.47,0.447,0.418,0.369,0.381,0.363,0.334,0.347,0.321,0.297,0.301,0.324,0.292,0.285,0.274,0.282,0.268,0.309,0.307,0.323,0.305,0.304,0.272,0.294,0.272,0.32,0.275,0.302,0.275,0.32,0.293,0.263,0.291,0.301,0.293,0.291,0.288 -0.02966932680439932,0.755,0.624,0.518,0.491,0.436,0.418,0.394,0.37,0.337,0.375,0.339,0.325,0.35,0.312,0.295,0.304,0.32,0.315,0.284,0.271,0.268,0.31,0.307,0.265,0.326,0.29,0.297,0.286,0.286,0.289,0.276,0.284,0.304,0.284,0.323,0.27,0.27,0.283,0.291,0.27 -0.02556773802217524,0.793,0.625,0.544,0.498,0.443,0.41,0.409,0.349,0.345,0.345,0.313,0.365,0.302,0.32,0.291,0.305,0.3,0.297,0.302,0.314,0.301,0.277,0.293,0.278,0.29,0.264,0.276,0.291,0.275,0.287,0.287,0.297,0.304,0.284,0.297,0.286,0.284,0.286,0.304,0.274 -0.022033166841980884,0.833,0.645,0.524,0.508,0.465,0.413,0.398,0.397,0.351,0.35,0.357,0.309,0.319,0.308,0.322,0.331,0.303,0.312,0.297,0.295,0.285,0.298,0.317,0.292,0.306,0.281,0.302,0.291,0.301,0.305,0.289,0.301,0.312,0.263,0.3,0.305,0.275,0.312,0.301,0.299 -0.018987226819420607,0.86,0.644,0.558,0.5,0.45,0.441,0.394,0.38,0.34,0.343,0.343,0.34,0.313,0.318,0.298,0.294,0.288,0.308,0.313,0.286,0.306,0.31,0.273,0.272,0.279,0.305,0.31,0.269,0.302,0.317,0.277,0.277,0.285,0.279,0.303,0.277,0.279,0.29,0.278,0.278 -0.01636236791913265,0.868,0.681,0.558,0.5,0.456,0.418,0.392,0.399,0.343,0.36,0.329,0.335,0.331,0.304,0.313,0.285,0.295,0.315,0.301,0.312,0.307,0.288,0.31,0.283,0.296,0.314,0.308,0.313,0.288,0.28,0.313,0.285,0.306,0.303,0.312,0.303,0.305,0.27,0.303,0.289 -0.01410037845269871,0.898,0.708,0.587,0.541,0.453,0.423,0.377,0.389,0.358,0.332,0.321,0.311,0.314,0.332,0.304,0.319,0.302,0.293,0.29,0.293,0.302,0.299,0.29,0.28,0.27,0.289,0.289,0.293,0.308,0.311,0.301,0.283,0.316,0.291,0.291,0.308,0.315,0.28,0.288,0.287 -0.012151094113758885,0.925,0.738,0.604,0.562,0.467,0.435,0.416,0.382,0.388,0.37,0.333,0.329,0.333,0.327,0.326,0.32,0.289,0.302,0.281,0.316,0.299,0.299,0.3,0.296,0.285,0.297,0.323,0.285,0.296,0.296,0.323,0.296,0.294,0.271,0.301,0.301,0.271,0.271,0.298,0.271 -0.010471285480508996,0.954,0.771,0.637,0.535,0.483,0.475,0.408,0.417,0.364,0.354,0.344,0.343,0.334,0.332,0.342,0.317,0.318,0.287,0.3,0.309,0.311,0.318,0.304,0.305,0.295,0.323,0.309,0.291,0.302,0.294,0.304,0.29,0.298,0.301,0.299,0.308,0.328,0.304,0.29,0.308 -0.009023699313641428,0.97,0.811,0.643,0.576,0.479,0.465,0.442,0.393,0.383,0.376,0.358,0.355,0.345,0.319,0.318,0.325,0.321,0.308,0.317,0.308,0.305,0.33,0.312,0.318,0.317,0.329,0.294,0.309,0.329,0.304,0.285,0.294,0.294,0.304,0.312,0.316,0.303,0.308,0.329,0.304 -0.007776232388523782,0.984,0.824,0.684,0.56,0.519,0.47,0.425,0.39,0.409,0.374,0.355,0.353,0.33,0.345,0.335,0.327,0.316,0.308,0.326,0.309,0.315,0.301,0.31,0.294,0.312,0.31,0.307,0.324,0.32,0.309,0.312,0.33,0.318,0.32,0.31,0.297,0.305,0.32,0.29,0.305 -0.006701219539630716,0.988,0.839,0.657,0.571,0.513,0.474,0.422,0.401,0.4,0.38,0.368,0.343,0.325,0.331,0.329,0.307,0.316,0.321,0.32,0.32,0.336,0.33,0.296,0.335,0.316,0.303,0.303,0.318,0.309,0.301,0.334,0.308,0.291,0.327,0.327,0.296,0.3,0.323,0.307,0.3 -0.0057748201281383514,0.995,0.895,0.694,0.602,0.529,0.474,0.469,0.417,0.386,0.371,0.339,0.347,0.337,0.352,0.323,0.344,0.323,0.33,0.34,0.327,0.333,0.31,0.329,0.308,0.318,0.319,0.285,0.319,0.306,0.326,0.304,0.326,0.318,0.302,0.306,0.302,0.326,0.304,0.318,0.304 -0.004976489326327849,0.996,0.908,0.723,0.603,0.517,0.503,0.447,0.401,0.388,0.379,0.376,0.367,0.319,0.344,0.342,0.343,0.332,0.331,0.312,0.294,0.338,0.324,0.323,0.29,0.291,0.303,0.311,0.311,0.287,0.302,0.302,0.31,0.322,0.309,0.292,0.307,0.309,0.309,0.309,0.307 -0.004288522493433697,0.999,0.934,0.75,0.636,0.527,0.496,0.453,0.388,0.418,0.363,0.346,0.353,0.324,0.336,0.328,0.325,0.319,0.34,0.34,0.303,0.317,0.329,0.328,0.314,0.311,0.29,0.29,0.325,0.311,0.295,0.295,0.309,0.313,0.313,0.313,0.32,0.308,0.325,0.325,0.327 -0.0036956625385264927,0.999,0.96,0.773,0.638,0.534,0.521,0.472,0.409,0.392,0.382,0.366,0.358,0.372,0.327,0.323,0.313,0.332,0.341,0.341,0.305,0.317,0.33,0.329,0.307,0.299,0.343,0.343,0.325,0.31,0.319,0.319,0.314,0.325,0.315,0.315,0.319,0.313,0.337,0.337,0.314 -0.003184761562887965,0.999,0.972,0.821,0.671,0.578,0.532,0.45,0.441,0.413,0.402,0.371,0.382,0.376,0.325,0.331,0.325,0.333,0.317,0.318,0.317,0.317,0.328,0.313,0.314,0.312,0.313,0.31,0.312,0.312,0.317,0.3,0.314,0.31,0.313,0.3,0.313,0.313,0.305,0.306,0.312 -0.002744489278096427,1.0,0.989,0.838,0.681,0.548,0.508,0.454,0.441,0.399,0.378,0.364,0.357,0.335,0.342,0.333,0.321,0.33,0.327,0.324,0.314,0.306,0.313,0.313,0.335,0.307,0.306,0.305,0.302,0.307,0.301,0.301,0.33,0.328,0.328,0.328,0.307,0.316,0.307,0.307,0.306 -0.0023650817333891625,0.999,0.994,0.871,0.72,0.581,0.512,0.49,0.445,0.406,0.385,0.368,0.362,0.372,0.387,0.329,0.319,0.33,0.347,0.327,0.311,0.316,0.316,0.336,0.329,0.31,0.315,0.31,0.328,0.334,0.328,0.333,0.324,0.328,0.334,0.328,0.324,0.332,0.318,0.307,0.307 -0.0020381247798099637,0.999,0.998,0.905,0.752,0.621,0.519,0.497,0.451,0.416,0.383,0.418,0.407,0.375,0.363,0.331,0.371,0.351,0.337,0.326,0.32,0.316,0.316,0.339,0.315,0.315,0.317,0.329,0.329,0.337,0.337,0.333,0.327,0.337,0.328,0.318,0.318,0.333,0.333,0.308,0.318 -0.0017563674690103848,0.999,1.0,0.914,0.778,0.623,0.533,0.484,0.461,0.431,0.434,0.418,0.399,0.365,0.346,0.342,0.371,0.369,0.327,0.326,0.321,0.32,0.33,0.334,0.315,0.315,0.332,0.329,0.348,0.33,0.318,0.324,0.327,0.327,0.318,0.318,0.313,0.323,0.328,0.306,0.318 -0.0015135612484362087,1.0,0.997,0.944,0.769,0.654,0.563,0.516,0.47,0.423,0.401,0.382,0.401,0.361,0.376,0.341,0.326,0.333,0.328,0.332,0.321,0.336,0.318,0.331,0.341,0.333,0.333,0.323,0.347,0.324,0.347,0.319,0.314,0.324,0.324,0.306,0.312,0.307,0.312,0.33,0.347 +0.5011872336272722,0.952,0.952,0.95,0.95,0.949,0.949,0.949,0.949,0.944,0.944,0.944,0.944,0.944,0.944,0.944,0.944,0.943,0.943,0.943,0.943,0.942,0.942,0.942,0.942,0.95,0.95,0.95,0.95,0.95,0.95,0.95,0.95,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94 +0.4319014035579926,0.918,0.926,0.917,0.906,0.916,0.925,0.916,0.923,0.916,0.925,0.905,0.925,0.905,0.915,0.925,0.915,0.905,0.923,0.915,0.905,0.929,0.925,0.905,0.925,0.923,0.905,0.925,0.923,0.923,0.905,0.923,0.905,0.905,0.929,0.905,0.905,0.92,0.923,0.905,0.923 +0.37219388260414266,0.902,0.897,0.896,0.881,0.897,0.879,0.892,0.882,0.877,0.882,0.882,0.89,0.902,0.891,0.877,0.891,0.877,0.902,0.902,0.878,0.889,0.891,0.884,0.889,0.891,0.884,0.884,0.882,0.878,0.889,0.887,0.878,0.889,0.887,0.887,0.901,0.878,0.882,0.891,0.878 +0.32074053269277175,0.854,0.852,0.858,0.841,0.828,0.846,0.824,0.842,0.842,0.845,0.811,0.841,0.811,0.826,0.844,0.82,0.834,0.839,0.825,0.844,0.843,0.834,0.827,0.838,0.82,0.809,0.827,0.842,0.82,0.839,0.811,0.844,0.811,0.834,0.838,0.839,0.838,0.809,0.837,0.827 +0.276400269107749,0.835,0.787,0.777,0.785,0.751,0.767,0.762,0.747,0.742,0.756,0.755,0.745,0.756,0.743,0.74,0.727,0.737,0.737,0.737,0.728,0.747,0.726,0.726,0.728,0.765,0.765,0.757,0.765,0.735,0.757,0.726,0.74,0.72,0.72,0.75,0.72,0.764,0.75,0.737,0.71 +0.23818975457029212,0.76,0.723,0.721,0.717,0.675,0.68,0.659,0.684,0.656,0.665,0.656,0.665,0.633,0.632,0.685,0.627,0.638,0.636,0.65,0.624,0.636,0.634,0.628,0.634,0.675,0.638,0.62,0.632,0.644,0.625,0.616,0.624,0.623,0.625,0.628,0.622,0.619,0.631,0.625,0.631 +0.20526159169598815,0.722,0.699,0.669,0.66,0.612,0.634,0.598,0.587,0.579,0.582,0.565,0.575,0.57,0.57,0.551,0.552,0.56,0.567,0.553,0.54,0.533,0.531,0.538,0.534,0.528,0.523,0.525,0.545,0.544,0.536,0.545,0.533,0.543,0.523,0.541,0.55,0.549,0.52,0.518,0.544 +0.1768855302008251,0.722,0.687,0.642,0.602,0.573,0.556,0.54,0.546,0.508,0.511,0.496,0.511,0.508,0.482,0.488,0.471,0.469,0.483,0.491,0.461,0.459,0.462,0.488,0.478,0.455,0.46,0.455,0.452,0.452,0.485,0.449,0.456,0.47,0.444,0.448,0.482,0.48,0.463,0.468,0.432 +0.15243227208706556,0.716,0.631,0.589,0.567,0.552,0.524,0.515,0.489,0.46,0.472,0.434,0.426,0.436,0.432,0.429,0.412,0.409,0.411,0.399,0.396,0.405,0.403,0.442,0.385,0.383,0.424,0.408,0.405,0.43,0.429,0.403,0.414,0.402,0.403,0.392,0.392,0.41,0.408,0.389,0.386 +0.13135951565537832,0.69,0.603,0.565,0.518,0.492,0.472,0.448,0.43,0.424,0.412,0.438,0.415,0.387,0.369,0.412,0.382,0.361,0.4,0.375,0.351,0.378,0.364,0.369,0.354,0.362,0.364,0.344,0.359,0.379,0.35,0.341,0.37,0.349,0.338,0.357,0.348,0.322,0.358,0.352,0.356 +0.11319992884026403,0.659,0.593,0.534,0.492,0.467,0.466,0.42,0.409,0.413,0.384,0.397,0.383,0.383,0.344,0.347,0.372,0.338,0.37,0.364,0.33,0.348,0.359,0.352,0.296,0.336,0.338,0.294,0.332,0.349,0.335,0.333,0.325,0.342,0.309,0.325,0.341,0.288,0.304,0.309,0.312 +0.09755078515254997,0.686,0.583,0.53,0.476,0.453,0.403,0.428,0.382,0.406,0.373,0.375,0.355,0.368,0.336,0.358,0.316,0.334,0.345,0.35,0.328,0.327,0.297,0.284,0.331,0.297,0.319,0.283,0.311,0.292,0.33,0.313,0.316,0.321,0.329,0.309,0.31,0.318,0.313,0.28,0.288 +0.08406503238449185,0.677,0.54,0.492,0.466,0.431,0.43,0.406,0.383,0.393,0.344,0.372,0.321,0.326,0.339,0.343,0.32,0.322,0.322,0.317,0.326,0.293,0.304,0.297,0.307,0.283,0.297,0.282,0.3,0.329,0.296,0.284,0.301,0.311,0.293,0.311,0.279,0.28,0.295,0.324,0.288 +0.07244359600749903,0.682,0.558,0.515,0.45,0.43,0.422,0.368,0.362,0.362,0.356,0.341,0.311,0.316,0.31,0.334,0.319,0.323,0.297,0.302,0.292,0.288,0.327,0.307,0.304,0.291,0.285,0.292,0.319,0.3,0.28,0.291,0.285,0.277,0.315,0.295,0.279,0.303,0.28,0.264,0.274 +0.06242874657437091,0.702,0.575,0.496,0.455,0.407,0.384,0.369,0.387,0.332,0.325,0.32,0.344,0.351,0.334,0.288,0.318,0.32,0.333,0.302,0.31,0.277,0.306,0.273,0.288,0.302,0.275,0.285,0.286,0.278,0.292,0.285,0.261,0.284,0.277,0.293,0.259,0.294,0.259,0.28,0.266 +0.05379838403443687,0.662,0.593,0.494,0.46,0.427,0.421,0.399,0.372,0.34,0.347,0.341,0.335,0.334,0.307,0.296,0.305,0.305,0.288,0.29,0.284,0.292,0.266,0.302,0.277,0.281,0.295,0.259,0.295,0.27,0.288,0.283,0.288,0.29,0.28,0.268,0.28,0.29,0.287,0.284,0.293 +0.04636111220443666,0.725,0.593,0.521,0.475,0.436,0.396,0.375,0.355,0.34,0.335,0.324,0.338,0.305,0.31,0.317,0.301,0.287,0.282,0.28,0.291,0.295,0.277,0.287,0.299,0.278,0.289,0.286,0.286,0.297,0.286,0.284,0.271,0.279,0.294,0.294,0.29,0.293,0.268,0.288,0.275 +0.03995199416132174,0.707,0.579,0.52,0.474,0.422,0.406,0.367,0.35,0.346,0.323,0.322,0.314,0.306,0.308,0.33,0.296,0.285,0.291,0.296,0.284,0.284,0.301,0.294,0.281,0.282,0.278,0.298,0.294,0.294,0.271,0.286,0.292,0.274,0.29,0.268,0.281,0.281,0.273,0.292,0.28 +0.034428894424011175,0.751,0.601,0.509,0.47,0.442,0.422,0.394,0.373,0.339,0.325,0.344,0.334,0.332,0.306,0.314,0.312,0.285,0.284,0.3,0.298,0.298,0.276,0.295,0.295,0.299,0.299,0.3,0.3,0.29,0.283,0.297,0.297,0.281,0.28,0.272,0.272,0.296,0.291,0.271,0.271 +0.02966932680439932,0.789,0.631,0.558,0.466,0.46,0.403,0.387,0.37,0.347,0.33,0.327,0.325,0.299,0.303,0.294,0.32,0.285,0.29,0.312,0.308,0.288,0.309,0.287,0.278,0.286,0.304,0.293,0.274,0.299,0.291,0.297,0.27,0.293,0.29,0.27,0.27,0.29,0.27,0.29,0.284 +0.02556773802217524,0.789,0.625,0.52,0.48,0.425,0.414,0.39,0.357,0.366,0.344,0.311,0.325,0.329,0.324,0.332,0.303,0.312,0.302,0.296,0.319,0.296,0.295,0.275,0.299,0.323,0.316,0.297,0.269,0.271,0.271,0.29,0.313,0.275,0.266,0.311,0.288,0.282,0.282,0.291,0.266 +0.022033166841980884,0.813,0.631,0.526,0.521,0.436,0.449,0.395,0.374,0.357,0.379,0.348,0.364,0.355,0.323,0.332,0.317,0.327,0.296,0.303,0.293,0.293,0.302,0.277,0.326,0.275,0.297,0.26,0.295,0.294,0.324,0.291,0.282,0.291,0.302,0.275,0.275,0.275,0.282,0.292,0.294 +0.018987226819420607,0.871,0.666,0.559,0.537,0.474,0.452,0.401,0.38,0.369,0.362,0.375,0.334,0.287,0.301,0.314,0.308,0.31,0.288,0.296,0.264,0.313,0.302,0.264,0.296,0.282,0.3,0.296,0.308,0.286,0.299,0.307,0.291,0.297,0.299,0.279,0.284,0.298,0.259,0.284,0.311 +0.01636236791913265,0.894,0.672,0.573,0.496,0.478,0.441,0.42,0.383,0.363,0.351,0.342,0.333,0.313,0.308,0.275,0.316,0.294,0.292,0.306,0.304,0.3,0.309,0.31,0.298,0.307,0.306,0.295,0.298,0.313,0.299,0.283,0.313,0.297,0.296,0.312,0.291,0.29,0.297,0.302,0.29 +0.01410037845269871,0.9,0.716,0.58,0.515,0.492,0.433,0.425,0.387,0.376,0.351,0.346,0.321,0.322,0.336,0.313,0.332,0.329,0.319,0.309,0.302,0.316,0.28,0.297,0.298,0.296,0.296,0.3,0.315,0.295,0.298,0.315,0.293,0.293,0.298,0.318,0.298,0.293,0.312,0.293,0.314 +0.012151094113758885,0.931,0.734,0.599,0.521,0.486,0.465,0.402,0.376,0.371,0.374,0.347,0.333,0.309,0.341,0.315,0.332,0.321,0.291,0.327,0.326,0.307,0.283,0.304,0.281,0.297,0.323,0.279,0.318,0.316,0.3,0.316,0.3,0.303,0.308,0.3,0.282,0.318,0.315,0.278,0.315 +0.010471285480508996,0.951,0.76,0.615,0.548,0.474,0.471,0.423,0.375,0.392,0.377,0.347,0.334,0.316,0.348,0.345,0.336,0.298,0.295,0.333,0.302,0.31,0.29,0.325,0.314,0.324,0.324,0.342,0.322,0.295,0.323,0.289,0.301,0.311,0.311,0.291,0.288,0.303,0.311,0.323,0.34 +0.009023699313641428,0.966,0.787,0.644,0.577,0.483,0.458,0.444,0.383,0.368,0.339,0.347,0.338,0.321,0.317,0.282,0.355,0.319,0.31,0.306,0.305,0.312,0.31,0.292,0.294,0.297,0.297,0.343,0.343,0.296,0.296,0.327,0.305,0.305,0.263,0.292,0.292,0.304,0.304,0.302,0.296 +0.007776232388523782,0.984,0.806,0.62,0.588,0.522,0.484,0.435,0.379,0.388,0.342,0.341,0.325,0.331,0.33,0.284,0.341,0.279,0.312,0.327,0.311,0.3,0.274,0.294,0.307,0.293,0.298,0.335,0.298,0.266,0.322,0.327,0.272,0.327,0.265,0.323,0.265,0.291,0.332,0.305,0.322 +0.006701219539630716,0.986,0.844,0.63,0.596,0.517,0.49,0.456,0.434,0.396,0.379,0.377,0.325,0.336,0.352,0.327,0.322,0.328,0.328,0.338,0.328,0.279,0.328,0.277,0.276,0.33,0.343,0.327,0.334,0.323,0.322,0.31,0.322,0.319,0.277,0.31,0.326,0.332,0.332,0.328,0.332 +0.0057748201281383514,0.997,0.886,0.724,0.603,0.548,0.449,0.445,0.415,0.368,0.386,0.37,0.357,0.337,0.344,0.344,0.355,0.356,0.33,0.349,0.324,0.303,0.334,0.319,0.285,0.287,0.331,0.284,0.342,0.291,0.322,0.329,0.303,0.315,0.303,0.321,0.282,0.338,0.34,0.321,0.3 +0.004976489326327849,0.998,0.919,0.717,0.597,0.53,0.474,0.414,0.379,0.411,0.34,0.356,0.385,0.374,0.314,0.332,0.321,0.318,0.32,0.298,0.289,0.287,0.351,0.332,0.303,0.302,0.322,0.343,0.306,0.316,0.286,0.292,0.305,0.292,0.311,0.286,0.302,0.329,0.316,0.341,0.33 +0.004288522493433697,0.998,0.939,0.732,0.629,0.531,0.487,0.441,0.425,0.404,0.383,0.392,0.331,0.313,0.337,0.353,0.346,0.321,0.314,0.29,0.337,0.323,0.333,0.317,0.307,0.334,0.334,0.322,0.304,0.333,0.314,0.327,0.333,0.315,0.315,0.332,0.334,0.305,0.317,0.314,0.315 +0.0036956625385264927,0.999,0.962,0.788,0.638,0.572,0.485,0.476,0.427,0.421,0.376,0.371,0.342,0.357,0.342,0.332,0.325,0.325,0.291,0.32,0.325,0.32,0.319,0.335,0.287,0.332,0.331,0.286,0.328,0.319,0.285,0.314,0.33,0.314,0.306,0.33,0.302,0.315,0.329,0.319,0.306 +0.003184761562887965,0.999,0.979,0.817,0.668,0.568,0.53,0.435,0.401,0.399,0.408,0.366,0.381,0.37,0.355,0.323,0.342,0.349,0.357,0.292,0.327,0.351,0.313,0.321,0.31,0.348,0.304,0.332,0.34,0.303,0.34,0.329,0.34,0.303,0.318,0.308,0.318,0.302,0.346,0.301,0.318 +0.002744489278096427,0.999,0.988,0.816,0.711,0.537,0.522,0.485,0.452,0.39,0.421,0.387,0.371,0.36,0.323,0.348,0.35,0.331,0.309,0.343,0.341,0.306,0.332,0.306,0.336,0.335,0.323,0.324,0.324,0.33,0.335,0.33,0.31,0.301,0.331,0.341,0.341,0.334,0.323,0.334,0.33 +0.0023650817333891625,0.999,0.99,0.873,0.735,0.59,0.54,0.48,0.44,0.439,0.418,0.38,0.371,0.373,0.334,0.359,0.341,0.322,0.332,0.348,0.34,0.329,0.343,0.311,0.335,0.324,0.343,0.307,0.335,0.342,0.321,0.322,0.333,0.331,0.305,0.321,0.31,0.304,0.347,0.33,0.31 +0.0020381247798099637,0.999,0.993,0.906,0.733,0.618,0.537,0.513,0.455,0.437,0.407,0.389,0.354,0.362,0.362,0.354,0.335,0.33,0.327,0.319,0.343,0.322,0.32,0.338,0.315,0.319,0.319,0.309,0.314,0.314,0.318,0.311,0.309,0.315,0.315,0.342,0.316,0.309,0.315,0.318,0.342 +0.0017563674690103848,1.0,1.0,0.942,0.786,0.639,0.545,0.517,0.462,0.451,0.4,0.387,0.373,0.377,0.376,0.331,0.341,0.337,0.316,0.356,0.318,0.328,0.315,0.343,0.351,0.351,0.314,0.33,0.31,0.35,0.339,0.323,0.313,0.313,0.339,0.304,0.342,0.313,0.312,0.349,0.339 +0.0015135612484362087,1.0,0.999,0.951,0.813,0.634,0.587,0.545,0.472,0.406,0.417,0.402,0.385,0.35,0.347,0.358,0.334,0.337,0.341,0.322,0.316,0.344,0.324,0.311,0.321,0.326,0.308,0.339,0.308,0.316,0.333,0.308,0.333,0.329,0.308,0.314,0.329,0.317,0.306,0.328,0.306 diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_11alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_11alist.csv new file mode 100644 index 0000000..8d5ed5d --- /dev/null +++ b/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_11alist.csv @@ -0,0 +1,41 @@ +,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 +0.5011872336272722,0.822,0.82,0.8196,0.8186,0.8183,0.8181,0.8177,0.8173,0.8227,0.8225,0.8223,0.8218,0.8218,0.8218,0.8216,0.8215,0.8249,0.8247,0.8247,0.8245,0.8244,0.8244,0.8243,0.8243,0.8185,0.8182,0.8181,0.818,0.818,0.8179,0.8178,0.8178,0.8244,0.8244,0.8243,0.8243,0.8243,0.8243,0.8242,0.8242 +0.4319014035579926,0.7997,0.7969,0.7968,0.7944,0.7952,0.7914,0.7932,0.7937,0.7923,0.7903,0.7917,0.7914,0.7929,0.791,0.7892,0.7925,0.7907,0.7905,0.7922,0.7981,0.7889,0.7919,0.7905,0.7888,0.7917,0.7973,0.7887,0.7919,0.7902,0.7887,0.7972,0.7901,0.7886,0.7915,0.7899,0.7948,0.7968,0.7897,0.7913,0.7967 +0.37219388260414266,0.7714,0.7726,0.7732,0.7718,0.7667,0.7599,0.7651,0.7582,0.7577,0.7552,0.7618,0.7543,0.7664,0.761,0.7609,0.7608,0.7653,0.7556,0.7612,0.7651,0.755,0.761,0.761,0.7609,0.7562,0.7602,0.7522,0.7559,0.7602,0.752,0.7519,0.7519,0.7534,0.7601,0.7641,0.7532,0.7601,0.7637,0.7637,0.7637 +0.32074053269277175,0.7453,0.7313,0.7297,0.7265,0.7299,0.7271,0.7186,0.7174,0.7136,0.719,0.7196,0.7191,0.7178,0.7139,0.717,0.7228,0.712,0.7163,0.716,0.7201,0.7114,0.7164,0.7107,0.7155,0.7115,0.7102,0.7151,0.7157,0.7111,0.7191,0.7111,0.7098,0.7158,0.711,0.7147,0.7141,0.7155,0.7148,0.7153,0.7106 +0.276400269107749,0.722,0.7056,0.6965,0.6864,0.6905,0.6831,0.6859,0.6732,0.6826,0.6761,0.6806,0.6743,0.6774,0.6782,0.6686,0.6719,0.6712,0.6735,0.675,0.6766,0.6669,0.6703,0.6754,0.67,0.6758,0.6738,0.6656,0.6722,0.6654,0.6692,0.6739,0.675,0.6718,0.6689,0.665,0.6648,0.6645,0.6745,0.6645,0.6716 +0.23818975457029212,0.6886,0.6777,0.6607,0.654,0.6576,0.6434,0.6428,0.6458,0.6437,0.6409,0.6391,0.6399,0.6294,0.6478,0.6347,0.6341,0.6248,0.624,0.6236,0.632,0.6342,0.6268,0.6211,0.6209,0.6288,0.6286,0.6284,0.6199,0.6304,0.6247,0.6417,0.6417,0.6225,0.6223,0.6223,0.6409,0.6193,0.6238,0.6243,0.6243 +0.20526159169598815,0.6808,0.6586,0.6415,0.6352,0.6255,0.612,0.6101,0.6112,0.6198,0.5965,0.6018,0.613,0.5998,0.5984,0.5909,0.5942,0.5965,0.606,0.5932,0.5929,0.591,0.5906,0.6037,0.5934,0.5894,0.5907,0.5862,0.5919,0.5911,0.5908,0.5894,0.588,0.59,0.5907,0.5882,0.5873,0.5879,0.5878,0.59,0.5893 +0.1768855302008251,0.656,0.6313,0.6123,0.6105,0.5995,0.5945,0.5887,0.5827,0.5747,0.5782,0.5696,0.5745,0.5741,0.5635,0.5661,0.5662,0.5668,0.5599,0.5641,0.5579,0.5627,0.5741,0.5646,0.5653,0.5554,0.5647,0.5596,0.5592,0.5543,0.5557,0.5604,0.5595,0.558,0.5592,0.5632,0.5632,0.5692,0.5682,0.5516,0.5516 +0.15243227208706556,0.6518,0.6123,0.5984,0.5877,0.5895,0.5715,0.5613,0.5585,0.5542,0.5535,0.5559,0.5456,0.5508,0.5585,0.5543,0.5549,0.5541,0.5517,0.5441,0.5515,0.543,0.5353,0.5411,0.5344,0.5337,0.5396,0.5351,0.5327,0.537,0.5454,0.5387,0.5448,0.5445,0.5381,0.5283,0.5441,0.5296,0.5353,0.5317,0.5351 +0.13135951565537832,0.6433,0.6047,0.5915,0.5862,0.5678,0.552,0.5479,0.554,0.5515,0.5431,0.541,0.5419,0.525,0.5235,0.533,0.5297,0.5228,0.5237,0.5224,0.5307,0.5323,0.5318,0.5206,0.5105,0.5279,0.5139,0.5136,0.5218,0.5265,0.526,0.5125,0.5183,0.5165,0.5277,0.5275,0.5071,0.5192,0.519,0.5268,0.5229 +0.11319992884026403,0.6353,0.5971,0.5838,0.5716,0.5559,0.5387,0.5397,0.525,0.5306,0.5165,0.5285,0.5304,0.5082,0.5221,0.5145,0.5146,0.5004,0.5131,0.5105,0.5148,0.5105,0.5106,0.5079,0.5137,0.5079,0.5125,0.5063,0.5077,0.5114,0.4918,0.5012,0.5044,0.5105,0.5042,0.5006,0.4905,0.5037,0.5044,0.5011,0.504 +0.09755078515254997,0.635,0.5981,0.5709,0.5534,0.5476,0.5375,0.529,0.522,0.5208,0.5216,0.5201,0.5081,0.5043,0.5043,0.5004,0.5009,0.4974,0.5028,0.5019,0.495,0.4951,0.4944,0.4934,0.4934,0.4923,0.4938,0.4935,0.492,0.4911,0.4918,0.4911,0.4974,0.4908,0.4883,0.488,0.4894,0.4961,0.489,0.4905,0.4853 +0.08406503238449185,0.6321,0.5829,0.5648,0.5469,0.5358,0.5378,0.5284,0.51,0.5086,0.5124,0.5024,0.4948,0.4961,0.4939,0.489,0.4901,0.4912,0.485,0.4876,0.4864,0.4924,0.4892,0.4842,0.4884,0.4838,0.4828,0.4887,0.4868,0.4793,0.4833,0.4854,0.4828,0.4871,0.4847,0.4778,0.4821,0.4799,0.4805,0.4816,0.4802 +0.07244359600749903,0.6317,0.5913,0.562,0.5456,0.5364,0.5271,0.5184,0.5115,0.5074,0.4998,0.4973,0.4937,0.4915,0.4888,0.4866,0.4843,0.4827,0.4974,0.4961,0.4951,0.4804,0.4786,0.4928,0.4778,0.4775,0.4794,0.4787,0.4784,0.4907,0.4752,0.4774,0.4745,0.4741,0.4765,0.4761,0.4758,0.4764,0.4881,0.4752,0.4879 +0.06242874657437091,0.6438,0.586,0.5635,0.5445,0.5335,0.5223,0.5131,0.5065,0.5041,0.4958,0.4878,0.4915,0.4908,0.4841,0.4845,0.4822,0.4719,0.4773,0.4712,0.4818,0.4681,0.4733,0.4802,0.4798,0.4664,0.4741,0.4698,0.4647,0.465,0.472,0.4639,0.4635,0.4682,0.4769,0.4678,0.4629,0.4677,0.4764,0.4624,0.462 +0.05379838403443687,0.6464,0.5891,0.5638,0.5467,0.5275,0.5173,0.5129,0.5034,0.5026,0.4879,0.4876,0.4858,0.4812,0.4744,0.4846,0.4755,0.4694,0.4688,0.4729,0.4797,0.4709,0.4684,0.4771,0.4686,0.4669,0.4661,0.4761,0.4752,0.4751,0.4761,0.4608,0.4739,0.4756,0.4644,0.4736,0.4601,0.4733,0.4669,0.4626,0.4728 +0.04636111220443666,0.6522,0.5972,0.5563,0.5336,0.5313,0.518,0.5091,0.4987,0.4882,0.4786,0.4791,0.4918,0.4897,0.4711,0.4849,0.4707,0.4714,0.4703,0.4689,0.4699,0.469,0.4658,0.4682,0.4688,0.4741,0.4614,0.4727,0.4511,0.4509,0.4714,0.45,0.4649,0.4638,0.4647,0.4635,0.4608,0.4603,0.4628,0.46,0.4479 +0.03995199416132174,0.6477,0.5998,0.5599,0.5338,0.5235,0.5059,0.5016,0.4945,0.4927,0.4923,0.4719,0.4766,0.4756,0.4731,0.4752,0.474,0.4662,0.4705,0.4658,0.4693,0.4677,0.4672,0.4656,0.4654,0.4653,0.4501,0.4573,0.4639,0.4634,0.4629,0.4492,0.449,0.4628,0.4591,0.4626,0.4483,0.4602,0.4599,0.4578,0.4576 +0.034428894424011175,0.6588,0.6064,0.5665,0.551,0.5284,0.521,0.5055,0.503,0.4817,0.4873,0.4859,0.4789,0.4797,0.4783,0.4748,0.4722,0.4671,0.4697,0.4673,0.4647,0.4659,0.4602,0.4647,0.4612,0.4642,0.4577,0.4595,0.4632,0.459,0.4621,0.4583,0.4597,0.4621,0.4614,0.4587,0.4546,0.4581,0.4562,0.4579,0.4606 +0.02966932680439932,0.6801,0.6048,0.5705,0.5501,0.5312,0.5216,0.5104,0.4943,0.4889,0.4925,0.4887,0.4794,0.473,0.4689,0.4662,0.4709,0.4671,0.4623,0.4618,0.4557,0.4577,0.4645,0.4639,0.4593,0.4517,0.4622,0.4618,0.4579,0.4599,0.4569,0.4567,0.4537,0.4566,0.4562,0.456,0.4611,0.449,0.4529,0.4529,0.4575 +0.02556773802217524,0.6945,0.6166,0.5785,0.5542,0.5348,0.5206,0.5079,0.4945,0.4937,0.4888,0.4786,0.4794,0.4656,0.4745,0.4619,0.4678,0.458,0.4571,0.4653,0.4552,0.46,0.4644,0.459,0.4665,0.4583,0.4578,0.4656,0.4568,0.4618,0.4544,0.4616,0.4582,0.4609,0.4608,0.4576,0.4605,0.461,0.4592,0.4608,0.4579 +0.022033166841980884,0.7179,0.6334,0.5784,0.5614,0.5351,0.5246,0.5121,0.495,0.4897,0.4911,0.4832,0.4741,0.4704,0.4669,0.4723,0.4674,0.4669,0.4638,0.4684,0.4644,0.4637,0.4637,0.46,0.4648,0.4564,0.4623,0.4587,0.4638,0.4635,0.4545,0.4604,0.4569,0.4549,0.4545,0.4599,0.4562,0.4559,0.4543,0.454,0.4587 +0.018987226819420607,0.7331,0.6325,0.5761,0.5568,0.5417,0.5219,0.5065,0.5051,0.4928,0.4721,0.4796,0.4738,0.4713,0.4658,0.4642,0.4628,0.4612,0.4569,0.4651,0.447,0.4574,0.4577,0.4635,0.4631,0.4574,0.4587,0.4542,0.452,0.4562,0.4613,0.4533,0.4533,0.4434,0.4538,0.4549,0.4566,0.4426,0.4547,0.4543,0.4543 +0.01636236791913265,0.7465,0.6413,0.5897,0.5562,0.5443,0.5318,0.502,0.4991,0.4854,0.4829,0.4786,0.4756,0.4575,0.4688,0.4527,0.4624,0.462,0.4646,0.4662,0.4577,0.4535,0.4575,0.4527,0.4635,0.4563,0.466,0.4583,0.4598,0.4558,0.4544,0.4556,0.4574,0.4542,0.4573,0.4521,0.4643,0.4546,0.4601,0.4541,0.4514 +0.01410037845269871,0.7705,0.6592,0.5983,0.5682,0.5476,0.53,0.509,0.4976,0.5036,0.4891,0.4836,0.4738,0.4755,0.4694,0.4676,0.4697,0.4652,0.4591,0.461,0.4657,0.4567,0.4684,0.4677,0.4598,0.4578,0.4589,0.4625,0.4588,0.4572,0.4561,0.4555,0.4532,0.455,0.4653,0.4534,0.4527,0.4535,0.4548,0.4546,0.4568 +0.012151094113758885,0.7925,0.6697,0.6053,0.5715,0.5473,0.536,0.5148,0.5105,0.4944,0.4845,0.4799,0.485,0.4701,0.4656,0.4745,0.4689,0.4686,0.469,0.4668,0.4616,0.4648,0.4667,0.4595,0.4589,0.4564,0.4642,0.4561,0.4574,0.4557,0.4634,0.4564,0.459,0.4572,0.4569,0.4568,0.4549,0.4566,0.456,0.4547,0.4597 +0.010471285480508996,0.8198,0.6891,0.6084,0.5817,0.5513,0.5362,0.5136,0.5118,0.5027,0.492,0.4886,0.481,0.4691,0.4756,0.4731,0.4687,0.4638,0.4662,0.4681,0.4583,0.4613,0.4658,0.4656,0.4603,0.4599,0.4648,0.4607,0.4589,0.4553,0.46,0.4585,0.4583,0.4607,0.4631,0.4596,0.4543,0.4639,0.4591,0.4575,0.4604 +0.009023699313641428,0.8467,0.6969,0.623,0.5743,0.5564,0.5429,0.5263,0.5033,0.4886,0.4853,0.4763,0.4821,0.4758,0.4756,0.4677,0.4686,0.4582,0.4539,0.456,0.462,0.4667,0.4672,0.4601,0.4522,0.4503,0.458,0.4499,0.4592,0.4654,0.4596,0.4616,0.4511,0.4567,0.4617,0.4566,0.4609,0.4589,0.4607,0.4629,0.448 +0.007776232388523782,0.8728,0.7196,0.6276,0.5935,0.5616,0.5442,0.5284,0.5089,0.501,0.4814,0.4813,0.4856,0.4699,0.4763,0.4645,0.4568,0.4704,0.4571,0.4697,0.4637,0.4654,0.4629,0.4676,0.454,0.4575,0.4508,0.4603,0.4628,0.4614,0.4625,0.4594,0.4496,0.4645,0.4568,0.4659,0.4495,0.465,0.4493,0.4656,0.4561 +0.006701219539630716,0.8977,0.7391,0.6375,0.5896,0.5672,0.5376,0.5233,0.5061,0.4977,0.4881,0.4939,0.4749,0.4657,0.4767,0.4719,0.4623,0.4605,0.455,0.4616,0.4591,0.4615,0.4625,0.4633,0.4564,0.4586,0.4603,0.467,0.4554,0.4641,0.4665,0.4668,0.4575,0.4558,0.463,0.4594,0.457,0.4611,0.4502,0.4565,0.4551 +0.0057748201281383514,0.9172,0.762,0.6503,0.5992,0.5701,0.5478,0.5312,0.5194,0.499,0.4879,0.4838,0.4718,0.4805,0.4634,0.4638,0.4654,0.4622,0.4601,0.4713,0.4685,0.4627,0.4678,0.4591,0.4691,0.4568,0.4596,0.4615,0.4648,0.4678,0.4642,0.465,0.4606,0.4587,0.4566,0.4672,0.4527,0.4501,0.4526,0.4546,0.467 +0.004976489326327849,0.9387,0.78,0.6595,0.604,0.5694,0.5545,0.5285,0.5202,0.5007,0.4895,0.4938,0.4833,0.4802,0.4707,0.4631,0.4707,0.4716,0.4611,0.4606,0.4626,0.4572,0.461,0.4583,0.4562,0.458,0.4603,0.4649,0.4585,0.4568,0.4563,0.457,0.4565,0.4639,0.4558,0.4584,0.46,0.4653,0.4516,0.4587,0.4649 +0.004288522493433697,0.9527,0.8056,0.6754,0.6154,0.5789,0.5443,0.5324,0.5179,0.5075,0.5021,0.4936,0.4902,0.4739,0.4752,0.4668,0.4604,0.4599,0.4682,0.4595,0.4627,0.4548,0.4629,0.4661,0.4713,0.4709,0.4562,0.4578,0.4517,0.4666,0.4591,0.4601,0.4602,0.46,0.4568,0.4648,0.4622,0.4634,0.4602,0.4579,0.4507 +0.0036956625385264927,0.9605,0.8349,0.6917,0.6222,0.5763,0.5568,0.535,0.5177,0.5095,0.4926,0.4908,0.4754,0.4801,0.4737,0.4669,0.4609,0.4664,0.4736,0.4588,0.4555,0.4629,0.4643,0.4678,0.4543,0.4607,0.4624,0.4705,0.4638,0.4595,0.4532,0.4587,0.4633,0.461,0.452,0.4611,0.4658,0.4605,0.4509,0.4635,0.4656 +0.003184761562887965,0.9676,0.8665,0.6957,0.6423,0.5819,0.564,0.5326,0.5257,0.5072,0.4994,0.4837,0.4822,0.4796,0.4732,0.4794,0.4691,0.4568,0.4714,0.4558,0.4631,0.4624,0.4625,0.4634,0.4556,0.4635,0.4604,0.4651,0.47,0.4628,0.4595,0.4521,0.4516,0.4623,0.4608,0.4664,0.4646,0.4546,0.4691,0.4619,0.4631 +0.002744489278096427,0.9695,0.8838,0.7205,0.6487,0.5967,0.5695,0.5433,0.5314,0.51,0.5048,0.4966,0.4864,0.48,0.4804,0.4757,0.4688,0.4663,0.4683,0.467,0.4567,0.4668,0.4622,0.4618,0.4538,0.4711,0.4638,0.4635,0.4537,0.4753,0.4612,0.4611,0.4627,0.4654,0.4647,0.4646,0.4637,0.4637,0.4601,0.4599,0.4607 +0.0023650817333891625,0.9733,0.9185,0.7479,0.673,0.6031,0.5773,0.5494,0.5234,0.5175,0.51,0.4944,0.4801,0.4879,0.4691,0.4867,0.4715,0.4617,0.47,0.4649,0.4676,0.4681,0.4553,0.4676,0.4591,0.4666,0.4657,0.4613,0.4581,0.4654,0.4648,0.4557,0.4576,0.457,0.4626,0.4691,0.457,0.4626,0.4672,0.4647,0.4518 +0.0020381247798099637,0.9749,0.9329,0.7648,0.6804,0.6179,0.5702,0.554,0.5381,0.52,0.5038,0.4983,0.4965,0.4791,0.4865,0.4866,0.4679,0.4685,0.4661,0.4593,0.4628,0.4611,0.462,0.4681,0.4657,0.4657,0.4621,0.4657,0.4647,0.4538,0.4646,0.4557,0.468,0.4757,0.4702,0.4573,0.4676,0.4702,0.4673,0.464,0.4581 +0.0017563674690103848,0.9745,0.9473,0.7938,0.6856,0.6093,0.583,0.558,0.5291,0.5225,0.5036,0.4997,0.4865,0.4836,0.4789,0.477,0.4796,0.4653,0.469,0.4669,0.4608,0.4711,0.4668,0.4647,0.4617,0.4591,0.4638,0.4557,0.4545,0.4586,0.4764,0.4551,0.4644,0.4541,0.4549,0.4576,0.4715,0.4644,0.4644,0.4574,0.4679 +0.0015135612484362087,0.98,0.9562,0.831,0.7115,0.6225,0.5897,0.5584,0.5374,0.526,0.5017,0.5024,0.4935,0.485,0.4761,0.4677,0.4777,0.4675,0.4694,0.4651,0.4678,0.4714,0.4668,0.4599,0.4594,0.4621,0.4587,0.4619,0.462,0.4585,0.4637,0.4649,0.4647,0.4689,0.458,0.4685,0.4607,0.4642,0.4538,0.4638,0.462 diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv new file mode 100644 index 0000000..228afb7 --- /dev/null +++ b/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv @@ -0,0 +1,41 @@ +,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 +0.5011872336272722,0.472,0.4707,0.4703,0.4697,0.4693,0.4689,0.4687,0.4684,0.4691,0.469,0.4689,0.4688,0.4687,0.4687,0.4687,0.4685,0.4714,0.4714,0.4714,0.4714,0.4713,0.4712,0.4712,0.4711,0.4683,0.4683,0.4682,0.4682,0.4681,0.4681,0.4681,0.468,0.4657,0.4657,0.4657,0.4657,0.4657,0.4656,0.4656,0.4656 +0.4319014035579926,0.4465,0.4432,0.4415,0.4412,0.4519,0.4401,0.4398,0.4506,0.4506,0.4392,0.4502,0.4498,0.4387,0.4495,0.4493,0.4491,0.4491,0.4491,0.4489,0.4496,0.4488,0.4486,0.4486,0.4494,0.4493,0.4486,0.4493,0.4454,0.4486,0.4493,0.4493,0.4453,0.4453,0.4493,0.4453,0.4487,0.4491,0.445,0.4448,0.4487 +0.37219388260414266,0.4364,0.4287,0.4272,0.4194,0.4184,0.4227,0.421,0.4211,0.4164,0.4215,0.4205,0.4214,0.4151,0.4151,0.4199,0.4151,0.4208,0.4121,0.4151,0.412,0.4208,0.4208,0.4148,0.4208,0.4116,0.4138,0.4207,0.4136,0.4116,0.4115,0.4205,0.4114,0.4133,0.4148,0.4112,0.4147,0.4131,0.4131,0.411,0.413 +0.32074053269277175,0.4103,0.4049,0.3926,0.395,0.3917,0.3861,0.3847,0.3827,0.3829,0.3813,0.3806,0.3801,0.3807,0.3848,0.3847,0.3904,0.3839,0.3899,0.3792,0.3897,0.3831,0.3777,0.3776,0.3812,0.3775,0.3811,0.3828,0.3808,0.3768,0.3888,0.3888,0.3794,0.3886,0.3792,0.3762,0.3789,0.3886,0.38,0.38,0.3906 +0.276400269107749,0.3945,0.385,0.3734,0.3682,0.3545,0.3526,0.3485,0.3482,0.348,0.3443,0.3447,0.3523,0.341,0.3423,0.351,0.3471,0.3397,0.3498,0.3462,0.3396,0.3486,0.3451,0.3388,0.3369,0.3474,0.3387,0.3365,0.3445,0.3383,0.3359,0.3442,0.3309,0.3379,0.3439,0.3305,0.335,0.3438,0.3301,0.3348,0.3439 +0.23818975457029212,0.3849,0.3504,0.3472,0.3278,0.3231,0.318,0.3222,0.3084,0.3111,0.3039,0.312,0.3063,0.2976,0.2962,0.303,0.3046,0.3057,0.3033,0.2992,0.3043,0.302,0.3016,0.3032,0.2958,0.2915,0.295,0.3024,0.2912,0.2943,0.2942,0.2902,0.3013,0.2965,0.301,0.2893,0.296,0.3004,0.2956,0.3002,0.3011 +0.20526159169598815,0.3581,0.3426,0.3166,0.3194,0.3049,0.2931,0.2992,0.2892,0.2902,0.2741,0.2739,0.2691,0.2817,0.2763,0.2635,0.2623,0.2741,0.275,0.2723,0.2594,0.2695,0.2708,0.2723,0.27,0.2532,0.256,0.2523,0.2689,0.27,0.2521,0.2542,0.2512,0.2592,0.2675,0.259,0.2505,0.253,0.2583,0.2661,0.2581 +0.1768855302008251,0.3606,0.3195,0.3104,0.2932,0.2891,0.2858,0.2787,0.2672,0.2562,0.2652,0.2642,0.2617,0.2552,0.2442,0.2542,0.2548,0.2493,0.2476,0.2498,0.2492,0.2521,0.2453,0.2438,0.2464,0.2493,0.2495,0.2416,0.2414,0.2483,0.2479,0.2479,0.24,0.2434,0.2472,0.2473,0.247,0.2337,0.2425,0.2459,0.2463 +0.15243227208706556,0.3571,0.3176,0.3054,0.2939,0.2854,0.2747,0.2683,0.2587,0.2485,0.2452,0.2424,0.2536,0.2511,0.2437,0.2418,0.2471,0.2438,0.2429,0.2425,0.2327,0.2322,0.2313,0.2307,0.2408,0.2326,0.2322,0.2319,0.2369,0.2368,0.2332,0.233,0.229,0.2277,0.2276,0.2275,0.2296,0.2295,0.2287,0.2285,0.2343 +0.13135951565537832,0.3542,0.318,0.2958,0.2825,0.2697,0.264,0.256,0.2625,0.2488,0.2565,0.2451,0.2413,0.2401,0.2465,0.2444,0.237,0.2422,0.2346,0.229,0.2291,0.2276,0.2321,0.2316,0.2308,0.2308,0.2306,0.2371,0.2297,0.2366,0.2297,0.2297,0.224,0.2292,0.2233,0.2295,0.2239,0.2293,0.2227,0.2227,0.2266 +0.11319992884026403,0.3488,0.3145,0.2973,0.2933,0.2674,0.2658,0.2615,0.2494,0.2462,0.2406,0.2443,0.2426,0.2393,0.2319,0.2267,0.2353,0.2344,0.2299,0.2235,0.2312,0.2224,0.2278,0.2271,0.2214,0.2207,0.2301,0.2253,0.2232,0.2245,0.2292,0.2303,0.2236,0.2234,0.2189,0.2293,0.2249,0.2289,0.2187,0.227,0.2287 +0.09755078515254997,0.3742,0.3187,0.3001,0.289,0.2734,0.2648,0.2601,0.2508,0.2471,0.2435,0.2416,0.2327,0.237,0.2358,0.234,0.236,0.2448,0.2438,0.2309,0.2267,0.2418,0.2415,0.2286,0.2287,0.2291,0.229,0.2397,0.2305,0.2283,0.2281,0.2388,0.2262,0.2272,0.227,0.2273,0.2262,0.2267,0.2266,0.2267,0.238 +0.08406503238449185,0.3739,0.3276,0.3033,0.2854,0.2763,0.2688,0.2615,0.2555,0.2507,0.2478,0.2553,0.2412,0.2453,0.239,0.2421,0.2364,0.2356,0.2335,0.2338,0.2321,0.2275,0.2379,0.2269,0.2373,0.2369,0.2301,0.2295,0.2292,0.2269,0.2248,0.2265,0.2243,0.2243,0.2356,0.2281,0.2279,0.2336,0.2254,0.2334,0.2253 +0.07244359600749903,0.3816,0.3302,0.3088,0.2989,0.2835,0.2708,0.2677,0.2553,0.259,0.2477,0.2507,0.2385,0.2395,0.2369,0.2366,0.2437,0.2308,0.2325,0.2322,0.232,0.2307,0.2358,0.2295,0.2295,0.2295,0.2343,0.2279,0.2366,0.2336,0.2253,0.2331,0.2267,0.2356,0.2249,0.2325,0.2272,0.2244,0.2276,0.2243,0.2322 +0.06242874657437091,0.3938,0.3386,0.3074,0.293,0.2841,0.2722,0.2651,0.2579,0.2544,0.2496,0.2495,0.2399,0.2413,0.2435,0.2444,0.2434,0.2371,0.2357,0.2306,0.2331,0.2387,0.2292,0.2307,0.2303,0.2367,0.2366,0.2302,0.2313,0.2292,0.2297,0.2359,0.2359,0.2284,0.2282,0.2304,0.2341,0.2355,0.23,0.2342,0.2339 +0.05379838403443687,0.4186,0.363,0.3296,0.3044,0.2886,0.2778,0.2696,0.2689,0.2571,0.2518,0.2487,0.2552,0.2421,0.241,0.2396,0.2389,0.246,0.2372,0.2366,0.24,0.2354,0.2351,0.2345,0.2416,0.2377,0.2305,0.2302,0.2309,0.2295,0.2294,0.229,0.236,0.2297,0.2335,0.2333,0.2309,0.2333,0.2333,0.2332,0.2286 +0.04636111220443666,0.4212,0.3595,0.33,0.3087,0.3013,0.2824,0.2812,0.2744,0.2693,0.2617,0.2515,0.2511,0.2534,0.2472,0.249,0.236,0.2351,0.2452,0.2364,0.2434,0.2321,0.2428,0.2314,0.2329,0.2324,0.2301,0.2371,0.2389,0.2308,0.2386,0.2302,0.2313,0.2311,0.2298,0.2389,0.2273,0.2305,0.2271,0.2302,0.2328 +0.03995199416132174,0.4374,0.3657,0.3347,0.3148,0.3018,0.2917,0.2811,0.267,0.2652,0.2536,0.2562,0.2483,0.2477,0.2467,0.2447,0.2404,0.242,0.236,0.2401,0.2404,0.25,0.2384,0.2373,0.2387,0.2365,0.2341,0.2473,0.2355,0.2378,0.2465,0.2463,0.2333,0.2459,0.2362,0.2367,0.2336,0.2349,0.2362,0.2359,0.2333 +0.034428894424011175,0.456,0.3763,0.338,0.3373,0.3033,0.3003,0.2832,0.2734,0.2734,0.2628,0.261,0.2643,0.2534,0.2509,0.2496,0.2565,0.2446,0.2433,0.2431,0.2424,0.2414,0.2351,0.2407,0.2406,0.2337,0.2396,0.2383,0.237,0.2322,0.2357,0.2316,0.2361,0.2348,0.2312,0.2371,0.2351,0.2339,0.2399,0.2336,0.2346 +0.02966932680439932,0.4711,0.3894,0.3406,0.3304,0.3143,0.3005,0.2882,0.2853,0.28,0.2667,0.2642,0.2499,0.2522,0.2552,0.2527,0.2464,0.2454,0.251,0.2378,0.2423,0.2465,0.2427,0.2418,0.2447,0.2439,0.2386,0.2383,0.2428,0.2389,0.2354,0.2351,0.2384,0.2382,0.2412,0.2415,0.2355,0.2341,0.2365,0.2362,0.2332 +0.02556773802217524,0.4983,0.3951,0.3581,0.3395,0.317,0.307,0.2964,0.2851,0.2811,0.2745,0.2656,0.2633,0.2607,0.2579,0.2514,0.2467,0.2482,0.2488,0.2496,0.2416,0.2436,0.2431,0.2359,0.2446,0.2343,0.2374,0.2397,0.2365,0.2322,0.2317,0.2389,0.2383,0.2384,0.2357,0.2305,0.241,0.238,0.2379,0.2416,0.2301 +0.022033166841980884,0.5136,0.4106,0.3602,0.3397,0.3199,0.3144,0.3016,0.2898,0.2855,0.2729,0.274,0.2605,0.2618,0.2537,0.25,0.248,0.2459,0.2493,0.2514,0.2476,0.2383,0.2449,0.2442,0.2435,0.2427,0.2349,0.2373,0.2452,0.2356,0.2335,0.2332,0.2441,0.2329,0.2341,0.2397,0.2346,0.2381,0.2332,0.2328,0.2345 +0.018987226819420607,0.5271,0.4201,0.3629,0.3478,0.3272,0.3093,0.3031,0.2883,0.2873,0.2772,0.2752,0.2627,0.258,0.2658,0.2506,0.2608,0.2439,0.2519,0.2439,0.2449,0.2521,0.2383,0.2509,0.2369,0.2496,0.2353,0.2393,0.243,0.234,0.242,0.2336,0.2417,0.2327,0.2462,0.2408,0.2319,0.2401,0.2427,0.2397,0.2423 +0.01636236791913265,0.5598,0.4245,0.3693,0.3585,0.3386,0.3277,0.3093,0.3015,0.2978,0.2895,0.2775,0.2644,0.268,0.2638,0.2623,0.2659,0.255,0.247,0.2544,0.252,0.2514,0.2502,0.2496,0.2458,0.2477,0.2462,0.2467,0.2484,0.2449,0.2441,0.2488,0.2434,0.2432,0.2466,0.2477,0.2398,0.2472,0.247,0.2426,0.2413 +0.01410037845269871,0.5871,0.452,0.3847,0.3561,0.3412,0.3273,0.3188,0.3071,0.2971,0.2896,0.2883,0.2778,0.275,0.2707,0.2682,0.2636,0.2644,0.262,0.2574,0.2576,0.2578,0.2543,0.2562,0.2528,0.2487,0.2476,0.2493,0.2465,0.2468,0.2455,0.2459,0.2446,0.24,0.2397,0.247,0.2392,0.2466,0.2389,0.2463,0.2388 +0.012151094113758885,0.6036,0.4608,0.3922,0.3579,0.3445,0.3347,0.3198,0.3034,0.3043,0.2883,0.2823,0.2828,0.2748,0.2735,0.2687,0.2694,0.2656,0.2566,0.263,0.2561,0.2587,0.2514,0.2563,0.2515,0.2477,0.2537,0.2488,0.2522,0.2493,0.2453,0.2484,0.2497,0.2437,0.2456,0.2488,0.2462,0.2442,0.248,0.2433,0.2448 +0.010471285480508996,0.6173,0.4835,0.3976,0.3652,0.3499,0.3365,0.3244,0.3162,0.3032,0.2999,0.2878,0.2884,0.2899,0.2781,0.2716,0.2713,0.2718,0.2759,0.2676,0.2723,0.2472,0.2591,0.2604,0.257,0.2653,0.2423,0.2644,0.2411,0.2531,0.2511,0.2616,0.25,0.2387,0.2515,0.2379,0.2505,0.2452,0.2519,0.237,0.2511 +0.009023699313641428,0.6323,0.4971,0.4122,0.3759,0.3512,0.3368,0.3236,0.3246,0.3109,0.3053,0.2927,0.2972,0.2815,0.2815,0.2778,0.2611,0.2702,0.2668,0.2697,0.2528,0.2664,0.2657,0.2646,0.2612,0.2621,0.2585,0.2598,0.2582,0.2585,0.2487,0.248,0.2503,0.2557,0.2545,0.2468,0.2483,0.2457,0.252,0.252,0.2511 +0.007776232388523782,0.6325,0.5212,0.4171,0.3767,0.3535,0.3387,0.3281,0.3217,0.3128,0.3018,0.2985,0.2879,0.2866,0.2807,0.278,0.2791,0.2775,0.2762,0.2748,0.2732,0.2717,0.2707,0.2659,0.2689,0.2678,0.2668,0.2555,0.2653,0.2541,0.2639,0.2646,0.26,0.2593,0.2586,0.258,0.2581,0.2566,0.257,0.2605,0.2639 +0.006701219539630716,0.6468,0.5507,0.4315,0.3997,0.3612,0.348,0.3363,0.3334,0.3224,0.3069,0.3009,0.2931,0.2878,0.2865,0.2807,0.2777,0.2796,0.2757,0.2749,0.2829,0.2662,0.2657,0.2705,0.2729,0.2703,0.2629,0.2621,0.2727,0.2648,0.2712,0.2587,0.2647,0.2722,0.2696,0.2559,0.262,0.2682,0.2555,0.2675,0.259 +0.0057748201281383514,0.6489,0.5677,0.4491,0.382,0.3615,0.3528,0.3428,0.331,0.3162,0.316,0.3113,0.2953,0.2928,0.2858,0.2857,0.2827,0.2813,0.2805,0.2687,0.2689,0.2774,0.2675,0.2761,0.2756,0.2753,0.2759,0.2732,0.2771,0.273,0.2761,0.2733,0.2731,0.2711,0.2728,0.2693,0.2594,0.2713,0.2588,0.2701,0.2699 +0.004976489326327849,0.6453,0.5927,0.4608,0.4096,0.3759,0.3603,0.351,0.3349,0.3206,0.3187,0.3035,0.3028,0.2892,0.2866,0.2931,0.2842,0.2887,0.2828,0.2863,0.2801,0.2855,0.2847,0.2667,0.2784,0.2843,0.2728,0.2832,0.2778,0.2822,0.2819,0.2754,0.2765,0.2627,0.2801,0.2622,0.2753,0.2618,0.2613,0.2648,0.2744 +0.004288522493433697,0.6436,0.6159,0.4758,0.4112,0.3756,0.3588,0.334,0.3326,0.325,0.3256,0.3194,0.2981,0.3042,0.2871,0.2876,0.2786,0.2902,0.2813,0.2884,0.2863,0.28,0.2871,0.273,0.2868,0.2796,0.282,0.2686,0.2851,0.2817,0.278,0.2852,0.2777,0.2812,0.2685,0.277,0.2679,0.2667,0.2804,0.2761,0.2799 +0.0036956625385264927,0.6458,0.6308,0.4949,0.4228,0.3802,0.3623,0.3429,0.3288,0.332,0.3284,0.3088,0.3002,0.2913,0.2895,0.295,0.2859,0.2765,0.283,0.2825,0.2864,0.2862,0.2889,0.277,0.2733,0.2801,0.2833,0.2731,0.2757,0.2756,0.2798,0.2833,0.2843,0.2727,0.2711,0.2839,0.2828,0.2828,0.2824,0.2832,0.2741 +0.003184761562887965,0.6421,0.6392,0.5163,0.442,0.3894,0.3729,0.3458,0.3317,0.3349,0.3215,0.3158,0.3142,0.3055,0.2925,0.2975,0.2869,0.2901,0.285,0.2841,0.2876,0.2869,0.282,0.278,0.2744,0.2787,0.2766,0.2764,0.2779,0.2779,0.276,0.2843,0.285,0.28,0.2782,0.278,0.2797,0.2797,0.278,0.2848,0.2763 +0.002744489278096427,0.6458,0.6454,0.5489,0.4394,0.3873,0.3644,0.3485,0.3414,0.329,0.3247,0.3174,0.3156,0.3051,0.2962,0.2991,0.2836,0.2929,0.2867,0.2824,0.2885,0.2763,0.2808,0.2879,0.2892,0.2874,0.2774,0.2746,0.2801,0.2883,0.2745,0.2843,0.2869,0.2842,0.2788,0.2881,0.2815,0.2867,0.288,0.2801,0.2842 +0.0023650817333891625,0.6493,0.6487,0.5662,0.4553,0.3968,0.3771,0.3657,0.3387,0.3374,0.3318,0.3198,0.3138,0.3103,0.3005,0.2998,0.2959,0.2856,0.2846,0.2834,0.2828,0.2778,0.2821,0.2823,0.2891,0.277,0.2811,0.2754,0.2799,0.2741,0.2799,0.2808,0.285,0.2738,0.2795,0.2888,0.2756,0.276,0.2756,0.2793,0.2815 +0.0020381247798099637,0.6531,0.645,0.5884,0.4691,0.4123,0.3842,0.3496,0.3385,0.3352,0.3334,0.3257,0.3157,0.3151,0.3076,0.2933,0.2869,0.2803,0.2858,0.2835,0.2894,0.2827,0.2824,0.2882,0.2881,0.2776,0.282,0.2774,0.2865,0.2775,0.2774,0.2861,0.2861,0.2872,0.28,0.2741,0.2809,0.2836,0.2836,0.2809,0.2809 +0.0017563674690103848,0.6517,0.6453,0.6136,0.494,0.41,0.3835,0.3619,0.3409,0.3483,0.3304,0.3252,0.3177,0.3116,0.3108,0.304,0.2885,0.2949,0.2879,0.2872,0.2863,0.2871,0.2823,0.2822,0.2888,0.2817,0.2855,0.2855,0.2853,0.2873,0.2847,0.2844,0.2867,0.2782,0.2871,0.287,0.287,0.2813,0.2846,0.2846,0.2805 +0.0015135612484362087,0.6549,0.6362,0.6136,0.5085,0.4259,0.3921,0.3687,0.3449,0.3467,0.3292,0.3299,0.3195,0.3185,0.3077,0.3012,0.2873,0.2933,0.2804,0.289,0.287,0.2841,0.2773,0.2771,0.2823,0.2765,0.2821,0.2762,0.2858,0.285,0.2751,0.2749,0.2845,0.2746,0.2845,0.2745,0.2866,0.2853,0.2811,0.2811,0.2802 diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_7_4alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_7_4alist.csv new file mode 100644 index 0000000..f75d1d7 --- /dev/null +++ b/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_7_4alist.csv @@ -0,0 +1,41 @@ +,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 +0.5011872336272722,0.18777,0.18771,0.1877,0.18769,0.18769,0.18769,0.18769,0.18769,0.18732,0.18732,0.18732,0.18731,0.18731,0.18731,0.18731,0.18731,0.18554,0.18554,0.18554,0.18554,0.18554,0.18554,0.18554,0.18554,0.18689,0.18689,0.18689,0.18689,0.18689,0.18689,0.18689,0.18689,0.1844,0.1844,0.1844,0.1844,0.1844,0.1844,0.1844,0.1844 +0.4319014035579926,0.17317,0.17271,0.17259,0.17256,0.17251,0.17248,0.17246,0.17245,0.17275,0.17274,0.17274,0.17273,0.17272,0.17272,0.17272,0.17272,0.17096,0.17096,0.17096,0.17096,0.17096,0.17096,0.17096,0.17096,0.17083,0.17083,0.17083,0.17083,0.17083,0.17083,0.17083,0.17083,0.17169,0.17169,0.17169,0.17169,0.17169,0.17169,0.17169,0.17169 +0.37219388260414266,0.15729,0.15584,0.15513,0.15483,0.15457,0.15443,0.15439,0.15434,0.15476,0.15474,0.15472,0.15468,0.15463,0.15462,0.15462,0.15461,0.15358,0.15358,0.15358,0.15358,0.15357,0.15357,0.15357,0.15357,0.15404,0.15403,0.15403,0.15403,0.15403,0.15403,0.15402,0.15402,0.15446,0.15446,0.15446,0.15446,0.15446,0.15446,0.15446,0.15446 +0.32074053269277175,0.14177,0.13869,0.13712,0.13635,0.13573,0.13532,0.13497,0.1348,0.13492,0.13476,0.13468,0.13463,0.13456,0.13452,0.13451,0.13448,0.13378,0.13377,0.13373,0.13373,0.13371,0.1337,0.13369,0.13366,0.135,0.135,0.135,0.13499,0.13499,0.13497,0.13497,0.13497,0.13373,0.13373,0.13373,0.13373,0.13373,0.13373,0.13373,0.13373 +0.276400269107749,0.12945,0.12441,0.12122,0.11969,0.11824,0.11743,0.11668,0.11503,0.11573,0.11443,0.1142,0.11396,0.11372,0.11358,0.11345,0.11565,0.11327,0.11549,0.11543,0.11536,0.11529,0.11522,0.11518,0.1141,0.11508,0.11408,0.11406,0.11404,0.11402,0.114,0.11399,0.11224,0.11396,0.11221,0.1122,0.1122,0.11219,0.11218,0.11218,0.11369 +0.23818975457029212,0.11718,0.11177,0.10731,0.10508,0.10281,0.1015,0.10015,0.09933,0.09843,0.09779,0.09724,0.09682,0.09646,0.09627,0.09599,0.09582,0.09568,0.09545,0.09539,0.09528,0.09523,0.09519,0.09517,0.09509,0.09719,0.09714,0.0971,0.09704,0.09699,0.09696,0.09692,0.09717,0.09682,0.09713,0.09713,0.09711,0.09709,0.09703,0.09702,0.09515 +0.20526159169598815,0.11297,0.10286,0.09766,0.09452,0.09176,0.09012,0.08867,0.08737,0.08493,0.0841,0.08352,0.08294,0.08241,0.08214,0.08178,0.08151,0.0827,0.08245,0.08224,0.08212,0.08193,0.08183,0.08172,0.08163,0.08216,0.08205,0.08199,0.08193,0.08186,0.08177,0.08167,0.08164,0.0819,0.08185,0.0818,0.08177,0.08176,0.0817,0.08167,0.08161 +0.1768855302008251,0.10371,0.09439,0.08884,0.08565,0.08288,0.08138,0.07974,0.07883,0.07797,0.0768,0.07648,0.07588,0.07538,0.07501,0.07459,0.07456,0.07436,0.07377,0.07394,0.07376,0.07365,0.07347,0.07334,0.07227,0.07214,0.07297,0.07192,0.07183,0.07176,0.07165,0.07161,0.07167,0.07161,0.07139,0.07147,0.07138,0.07137,0.07132,0.0713,0.07197 +0.15243227208706556,0.09987,0.09024,0.08293,0.08058,0.07796,0.07624,0.07491,0.07344,0.07282,0.07195,0.07137,0.07072,0.07025,0.06987,0.06828,0.06906,0.06774,0.06753,0.06838,0.06727,0.0671,0.06695,0.06724,0.06666,0.06696,0.06692,0.06636,0.06681,0.06677,0.06672,0.06828,0.06665,0.06817,0.06812,0.0665,0.06799,0.06794,0.06791,0.06612,0.06788 +0.13135951565537832,0.09651,0.08611,0.08115,0.07646,0.0735,0.07176,0.06979,0.06863,0.0678,0.06757,0.06698,0.06582,0.06537,0.06516,0.06513,0.06484,0.06467,0.06384,0.06371,0.06406,0.06385,0.06377,0.06395,0.06383,0.06365,0.06337,0.06333,0.06344,0.06338,0.06336,0.06366,0.06361,0.06359,0.06315,0.06309,0.0635,0.06345,0.06337,0.06325,0.06325 +0.11319992884026403,0.09489,0.08442,0.07748,0.07384,0.07111,0.06941,0.0679,0.06665,0.06597,0.06511,0.06482,0.06413,0.06367,0.06338,0.06347,0.06326,0.06252,0.0628,0.06212,0.06253,0.06236,0.06226,0.06099,0.06093,0.06198,0.06074,0.06181,0.06057,0.06052,0.06047,0.06131,0.06127,0.0603,0.06117,0.06019,0.06112,0.06108,0.06104,0.06029,0.06023 +0.09755078515254997,0.09426,0.08131,0.0756,0.07195,0.0689,0.06727,0.06659,0.06453,0.06467,0.06384,0.06252,0.06293,0.06245,0.06204,0.06263,0.06141,0.06199,0.06178,0.06073,0.06144,0.0613,0.06122,0.05941,0.06094,0.05916,0.05905,0.06064,0.05891,0.05886,0.05879,0.05896,0.05865,0.05889,0.05885,0.05847,0.0588,0.05876,0.05875,0.05905,0.0587 +0.08406503238449185,0.09377,0.08114,0.07361,0.07086,0.06792,0.06628,0.06452,0.06327,0.06256,0.06185,0.06134,0.06067,0.06015,0.05979,0.05874,0.05839,0.05822,0.05855,0.05838,0.05747,0.05734,0.05723,0.05844,0.05831,0.05817,0.0567,0.05659,0.05793,0.05788,0.05778,0.05714,0.05708,0.057,0.05763,0.05757,0.05683,0.05682,0.05679,0.05741,0.05739 +0.07244359600749903,0.09473,0.08033,0.07356,0.06993,0.06736,0.06582,0.0639,0.0625,0.06171,0.06119,0.06024,0.05995,0.05916,0.05883,0.05789,0.05763,0.05748,0.05761,0.05702,0.05689,0.05708,0.0565,0.05621,0.05615,0.05603,0.05598,0.0559,0.0558,0.05575,0.05563,0.0556,0.05556,0.05545,0.05538,0.05532,0.05525,0.05527,0.05519,0.05389,0.05386 +0.06242874657437091,0.09167,0.07956,0.07033,0.06663,0.06482,0.06178,0.06184,0.06062,0.05839,0.05888,0.05826,0.05763,0.05578,0.05657,0.05699,0.05665,0.05645,0.0553,0.05596,0.05571,0.05463,0.05544,0.05639,0.05628,0.05615,0.05494,0.05593,0.05584,0.05463,0.05572,0.05431,0.05426,0.05422,0.05541,0.05416,0.05413,0.05527,0.05406,0.05309,0.05305 +0.05379838403443687,0.094,0.07977,0.07071,0.06664,0.06471,0.06216,0.06155,0.06017,0.05834,0.05838,0.05771,0.05715,0.05561,0.05598,0.05553,0.05519,0.05475,0.05469,0.05451,0.05428,0.05376,0.05397,0.05367,0.05353,0.0535,0.05327,0.05321,0.05312,0.05319,0.05294,0.05291,0.05285,0.05275,0.05278,0.05268,0.05263,0.05257,0.0526,0.05272,0.05267 +0.04636111220443666,0.09754,0.08071,0.07178,0.06785,0.06417,0.06294,0.06193,0.06045,0.05894,0.05864,0.05785,0.05714,0.05605,0.05595,0.05484,0.05436,0.05467,0.05363,0.05337,0.05313,0.05345,0.05273,0.05207,0.05245,0.05173,0.05166,0.05158,0.05139,0.052,0.05127,0.05189,0.05184,0.05108,0.05165,0.05161,0.05153,0.05086,0.05134,0.05137,0.05135 +0.03995199416132174,0.10068,0.08159,0.07213,0.06763,0.06456,0.0622,0.06,0.0589,0.05773,0.05659,0.05578,0.05508,0.05468,0.05378,0.05313,0.05278,0.05246,0.05219,0.05192,0.05162,0.05134,0.05119,0.05268,0.05082,0.05238,0.0523,0.05221,0.05215,0.05037,0.05199,0.05105,0.05185,0.05093,0.05087,0.05079,0.05071,0.05154,0.05064,0.05199,0.05055 +0.034428894424011175,0.10787,0.08483,0.07484,0.07012,0.06383,0.06452,0.06156,0.05989,0.06026,0.05779,0.05701,0.05601,0.05648,0.05484,0.05312,0.0527,0.05313,0.05204,0.05173,0.05139,0.05184,0.05098,0.05065,0.0505,0.05037,0.05019,0.05004,0.04991,0.04989,0.04973,0.04991,0.04987,0.04947,0.0497,0.04966,0.04961,0.04929,0.04954,0.0492,0.04919 +0.02966932680439932,0.10809,0.08402,0.07267,0.06767,0.0644,0.06195,0.06041,0.05914,0.05739,0.05723,0.05639,0.05535,0.05373,0.05406,0.05273,0.05194,0.05233,0.05121,0.05079,0.05034,0.0508,0.0498,0.05108,0.05096,0.04929,0.05065,0.05052,0.05044,0.04883,0.05025,0.04969,0.04964,0.05004,0.04954,0.04949,0.04944,0.04986,0.04935,0.04668,0.04667 +0.02556773802217524,0.11362,0.08415,0.07164,0.06681,0.0642,0.06084,0.0605,0.05902,0.05619,0.05671,0.05577,0.05455,0.05214,0.05206,0.05215,0.05053,0.05095,0.04973,0.04932,0.04891,0.04946,0.04914,0.04789,0.04872,0.04761,0.04834,0.04827,0.04812,0.0471,0.04824,0.04785,0.04809,0.04778,0.04789,0.04782,0.04774,0.04757,0.04625,0.04761,0.04618 +0.022033166841980884,0.11889,0.08607,0.07278,0.06744,0.06414,0.0626,0.05883,0.0594,0.0565,0.05712,0.05627,0.05534,0.05255,0.05226,0.05131,0.05161,0.05117,0.04954,0.04919,0.04868,0.04944,0.04768,0.04741,0.0476,0.04746,0.04693,0.04684,0.04674,0.04698,0.04723,0.04716,0.04648,0.0464,0.04698,0.04693,0.0469,0.04611,0.04604,0.04601,0.04673 +0.018987226819420607,0.12437,0.08974,0.07454,0.06877,0.06422,0.06029,0.05834,0.0581,0.0569,0.05484,0.05381,0.05288,0.05263,0.05225,0.05143,0.04982,0.04912,0.04965,0.04922,0.04877,0.04732,0.04886,0.04852,0.04747,0.04724,0.04778,0.04763,0.04747,0.0467,0.04643,0.04633,0.04715,0.04706,0.04608,0.04605,0.046,0.0468,0.04493,0.04489,0.04583 +0.01636236791913265,0.13245,0.09076,0.07427,0.06811,0.06461,0.0618,0.05961,0.05731,0.05633,0.05571,0.0549,0.05364,0.05343,0.05137,0.05149,0.04974,0.04908,0.04897,0.04861,0.04802,0.04726,0.04673,0.04671,0.04673,0.04648,0.04593,0.04589,0.04574,0.04565,0.04564,0.04536,0.04519,0.04507,0.04509,0.04504,0.04496,0.04494,0.04483,0.04479,0.04474 +0.01410037845269871,0.14121,0.09597,0.0773,0.06955,0.06418,0.06218,0.05926,0.05821,0.05718,0.05547,0.05464,0.05381,0.05283,0.0519,0.05089,0.04959,0.0488,0.0486,0.04792,0.04729,0.04633,0.04623,0.04565,0.04586,0.04562,0.04479,0.04466,0.04446,0.04538,0.04492,0.04506,0.044,0.04391,0.04479,0.04472,0.04461,0.04407,0.04366,0.04397,0.04443 +0.012151094113758885,0.15345,0.10049,0.07832,0.07055,0.06474,0.06309,0.05944,0.05832,0.05715,0.05579,0.0549,0.05364,0.0532,0.05178,0.05096,0.049,0.04823,0.04799,0.04748,0.04695,0.04489,0.04578,0.0443,0.04556,0.04524,0.04374,0.04359,0.04344,0.0452,0.04451,0.04494,0.04312,0.04305,0.04472,0.04464,0.0446,0.04377,0.04276,0.0437,0.04436 +0.010471285480508996,0.16627,0.10404,0.0808,0.0719,0.06689,0.06394,0.06076,0.05856,0.05759,0.05667,0.0558,0.05464,0.05446,0.05212,0.0521,0.0499,0.04903,0.04902,0.04834,0.04762,0.04565,0.0459,0.04497,0.0459,0.04551,0.04434,0.04417,0.04397,0.04345,0.04452,0.04303,0.0435,0.04334,0.0427,0.04267,0.0426,0.04273,0.04304,0.04253,0.04235 +0.009023699313641428,0.17882,0.10975,0.08237,0.07216,0.06565,0.06271,0.06003,0.0578,0.05669,0.0558,0.05498,0.05399,0.05341,0.05147,0.05111,0.049,0.04812,0.04816,0.04738,0.04654,0.04575,0.04434,0.04478,0.04482,0.04455,0.04395,0.04372,0.04349,0.04212,0.0437,0.04177,0.04285,0.04273,0.04151,0.04144,0.04134,0.04229,0.04238,0.04217,0.04113 +0.007776232388523782,0.19465,0.11723,0.08555,0.07426,0.0663,0.06276,0.06044,0.05894,0.05761,0.05663,0.0556,0.05451,0.05265,0.05235,0.05023,0.04958,0.0478,0.04728,0.04583,0.04498,0.04476,0.0446,0.04372,0.04294,0.04301,0.04244,0.04246,0.04225,0.04185,0.04175,0.04155,0.04163,0.04134,0.04144,0.04116,0.04108,0.04164,0.0412,0.04152,0.04084 +0.006701219539630716,0.2114,0.1232,0.08742,0.07452,0.06799,0.06244,0.06133,0.05933,0.0571,0.0561,0.05588,0.0547,0.05263,0.05193,0.05036,0.0491,0.04831,0.04706,0.04566,0.04465,0.04409,0.04381,0.04319,0.04292,0.04227,0.04192,0.04215,0.0419,0.04251,0.04114,0.04215,0.04205,0.04115,0.04109,0.04171,0.04164,0.04129,0.04083,0.04113,0.04111 +0.0057748201281383514,0.22909,0.13354,0.0911,0.07659,0.06985,0.0646,0.06313,0.06087,0.05778,0.05674,0.05742,0.05544,0.05519,0.05277,0.05225,0.05069,0.04955,0.04831,0.04696,0.04564,0.04505,0.04506,0.044,0.04358,0.04329,0.0428,0.04256,0.04093,0.04211,0.04061,0.04171,0.04162,0.04012,0.04142,0.03993,0.04126,0.0398,0.04107,0.04106,0.03963 +0.004976489326327849,0.24742,0.14319,0.09591,0.07856,0.06947,0.06405,0.06165,0.05881,0.05876,0.05741,0.05511,0.0553,0.05299,0.05317,0.05215,0.04999,0.04746,0.04589,0.04634,0.04488,0.04419,0.04349,0.04159,0.04236,0.04205,0.0417,0.04125,0.04184,0.04069,0.04138,0.04047,0.04107,0.03991,0.03978,0.04071,0.04011,0.04056,0.03994,0.0392,0.03973 +0.004288522493433697,0.26443,0.15564,0.10126,0.08061,0.07091,0.06494,0.06284,0.06014,0.05797,0.05764,0.05588,0.05384,0.0538,0.0518,0.05185,0.04984,0.04779,0.04668,0.04514,0.04508,0.04312,0.0436,0.04202,0.04133,0.04188,0.04034,0.0412,0.04079,0.04069,0.04032,0.03928,0.04009,0.03986,0.0399,0.03964,0.0382,0.03947,0.03803,0.0396,0.03922 +0.0036956625385264927,0.2779,0.16833,0.10291,0.08372,0.07077,0.06587,0.06225,0.06011,0.05787,0.05638,0.05625,0.05407,0.05384,0.05187,0.05058,0.04973,0.0485,0.04635,0.04462,0.04437,0.04229,0.043,0.04237,0.04053,0.04012,0.03958,0.04055,0.03974,0.04002,0.03925,0.03908,0.03933,0.03803,0.03914,0.03851,0.03866,0.03835,0.03853,0.03848,0.03817 +0.003184761562887965,0.29386,0.18289,0.11267,0.08525,0.07298,0.06544,0.06173,0.05954,0.05857,0.0572,0.0554,0.05591,0.05335,0.054,0.05286,0.04983,0.04824,0.04628,0.0462,0.04364,0.04366,0.04176,0.04106,0.04031,0.04108,0.04069,0.03915,0.03986,0.03842,0.03935,0.03916,0.03928,0.03767,0.03759,0.03866,0.03915,0.03846,0.03895,0.03892,0.03711 +0.002744489278096427,0.3094,0.20271,0.12028,0.09103,0.0756,0.06809,0.06458,0.06059,0.05994,0.05885,0.05659,0.05615,0.05482,0.05415,0.05247,0.05137,0.05035,0.04728,0.04644,0.04432,0.04354,0.04203,0.04208,0.04057,0.04014,0.04036,0.039,0.03969,0.03848,0.03909,0.03797,0.0388,0.03847,0.03757,0.03841,0.03608,0.03827,0.03599,0.03813,0.03589 +0.0023650817333891625,0.31972,0.21931,0.12787,0.09409,0.07536,0.06812,0.06276,0.06118,0.05901,0.05746,0.05593,0.05531,0.05444,0.05337,0.05221,0.04991,0.04937,0.04707,0.0457,0.04429,0.04219,0.042,0.04046,0.04047,0.0395,0.03916,0.03828,0.0385,0.03813,0.03804,0.03764,0.03765,0.037,0.03745,0.03729,0.03807,0.03732,0.03798,0.03716,0.0379 +0.0020381247798099637,0.33033,0.23823,0.13739,0.09922,0.07708,0.06983,0.06387,0.06102,0.05955,0.05773,0.05752,0.05593,0.05467,0.05433,0.05288,0.05174,0.04932,0.04726,0.04655,0.04354,0.04303,0.04144,0.04001,0.03966,0.03935,0.03832,0.03812,0.03802,0.03754,0.0371,0.0374,0.03678,0.03685,0.03634,0.03646,0.03662,0.03637,0.03613,0.03612,0.03653 +0.0017563674690103848,0.33813,0.25608,0.14956,0.10483,0.07941,0.07042,0.06403,0.06189,0.05901,0.05733,0.05637,0.05567,0.05419,0.0533,0.05264,0.05132,0.04978,0.04761,0.04539,0.04388,0.04221,0.04122,0.04001,0.039,0.03858,0.03806,0.03736,0.03795,0.03727,0.03706,0.03654,0.03605,0.03634,0.03629,0.0372,0.03644,0.03618,0.03612,0.03713,0.03577 +0.0015135612484362087,0.3426,0.27163,0.16327,0.11145,0.0806,0.07302,0.06367,0.06262,0.0608,0.05953,0.05711,0.0546,0.05582,0.05539,0.05393,0.05269,0.04938,0.04908,0.04497,0.0451,0.0428,0.04051,0.03982,0.03956,0.03794,0.03857,0.03692,0.03772,0.03626,0.03688,0.03753,0.03588,0.03661,0.03658,0.03693,0.03562,0.03648,0.03708,0.03629,0.03644 From f924396f0297b7bd57f1717a56745a1ee1d0d124 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 28 Nov 2022 20:13:29 +0100 Subject: [PATCH 32/54] Changed ProximalDecoder_31_5 to 31_5 --- sw/cpp/src/python_interface.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sw/cpp/src/python_interface.cpp b/sw/cpp/src/python_interface.cpp index df20027..f374bcf 100644 --- a/sw/cpp/src/python_interface.cpp +++ b/sw/cpp/src/python_interface.cpp @@ -32,7 +32,7 @@ PYBIND11_MODULE(cpp_decoders, proximal) { DEF_PROXIMAL_DECODER("ProximalDecoder_7_3", 3, 7) DEF_PROXIMAL_DECODER("ProximalDecoder_31_20", 20, 31) - DEF_PROXIMAL_DECODER("ProximalDecoder_31_6", 6, 31) + DEF_PROXIMAL_DECODER("ProximalDecoder_31_5", 5, 31) DEF_PROXIMAL_DECODER("ProximalDecoder_96_48", 48, 96) DEF_PROXIMAL_DECODER("ProximalDecoder_204_102", 102, 204) DEF_PROXIMAL_DECODER("ProximalDecoder_408_204", 204, 408) From 36de645cc42cb06b1ae225f07cd0df9c1b446c43 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 28 Nov 2022 20:14:21 +0100 Subject: [PATCH 33/54] Changed simulate_2d_dec_fails to work with template ProximalDecoder --- sw/simulate_2d_dec_fails.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sw/simulate_2d_dec_fails.py b/sw/simulate_2d_dec_fails.py index e237a8a..c38d501 100644 --- a/sw/simulate_2d_dec_fails.py +++ b/sw/simulate_2d_dec_fails.py @@ -8,7 +8,8 @@ from timeit import default_timer from utility import codes, noise, misc from utility.simulation.simulators import GenericMultithreadedSimulator -from cpp_modules.cpp_decoders import ProximalDecoder +# from cpp_modules.cpp_decoders import ProximalDecoder +from cpp_modules.cpp_decoders import ProximalDecoder_31_5 as ProximalDecoder def task_func(params): @@ -17,6 +18,7 @@ def task_func(params): decoder, num_iterations, x_bpsk, SNR, n, k = params dec_fails = 0 + for i in range(num_iterations): x = noise.add_awgn(x_bpsk, SNR, n, k) x_hat, num_iter = decoder.decode(x) @@ -72,10 +74,13 @@ def main(): sim_name = "w_log_k_lin_zoomed_in" - H_file = "96.3.965.alist" + # H_file = "96.3.965.alist" + # H_file = "204.3.486.alist" + # H_file = "408.33.844.alist" + H_file = "BCH_31_26.alist" SNR = 3 - num_iterations = 1000 + num_iterations = 10000 omegas = np.logspace(-0.3, -2.82, 40) Ks = np.ceil(np.linspace(10 ** 1.3, 10 ** 2.3, 40)).astype('int32') From 8c90932b161f6adab17feb8d46b7949737982686 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 28 Nov 2022 21:51:59 +0100 Subject: [PATCH 34/54] Added plot_heatmaps.py --- sw/plot_heatmaps.py | 78 ++++++++++++++++++++++++++++++++++++++++ sw/simulate_BER_curve.py | 0 2 files changed, 78 insertions(+) create mode 100644 sw/plot_heatmaps.py create mode 100644 sw/simulate_BER_curve.py diff --git a/sw/plot_heatmaps.py b/sw/plot_heatmaps.py new file mode 100644 index 0000000..5919a60 --- /dev/null +++ b/sw/plot_heatmaps.py @@ -0,0 +1,78 @@ +from itertools import chain +import seaborn as sns +import matplotlib.pyplot as plt +import pandas as pd +import numpy as np +from matplotlib.ticker import FormatStrFormatter + + +def format_yticks(previous_yticks): + result = [] + + for tick in previous_yticks: + result.append(f"{float(tick.get_text()):.2e}") + + return result + + +def main(): + sns.set_theme() + + # titles = [ + # "$n=7$, $m=4$", + # "$n=31$, $m=20$", + # "$n=31$, $m=5$", + # "$n=96$, $m=48$", + # "$n=204$, $m=102$", + # "$n=408$, $m=204$", + # ] + # + # filenames = [ + # "sim_results/2d_dec_fails_w_log_k_lin_bch_7_4alist.csv", + # "sim_results/2d_dec_fails_w_log_k_lin_bch_31_11alist.csv", + # "sim_results/2d_dec_fails_w_log_k_lin_bch_31_26alist.csv", + # "sim_results/2d_dec_fails_w_log_k_lin_963965alist.csv", + # "sim_results/2d_dec_fails_w_log_k_lin_2043486alist.csv", + # "sim_results/2d_dec_fails_w_log_k_lin_40833844alist.csv", + # ] + + titles = [ + "$n=7$, $m=4$", + "$n=31$, $m=20$", + "$n=31$, $m=5$", + "$n=96$, $m=48$" + ] + + filenames = [ + "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_7_4alist.csv", + "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_11alist.csv", + "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv", + "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv", + ] + + fig, axes = plt.subplots(2, 2, squeeze=False) + + fig.suptitle("SNR = 3dB") + + fig.subplots_adjust(left=0.1, + bottom=0.1, + right=0.9, + top=0.9, + wspace=0.3, + hspace=0.4) + + axes = list(chain.from_iterable(axes))[ + :len(filenames)] # Flatten the 2d axes array + + for axis, title, filename in zip(axes, titles, filenames): + df = pd.read_csv(filename, index_col=0) + + sns.heatmap(ax=axis, data=df) + axis.set_yticklabels(format_yticks(axis.get_yticklabels())) + axis.set_title(title) + + plt.show() + + +if __name__ == "__main__": + main() diff --git a/sw/simulate_BER_curve.py b/sw/simulate_BER_curve.py new file mode 100644 index 0000000..e69de29 From 80964ebb9126ac71e99117216827a40a43ecfdb8 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 28 Nov 2022 21:52:29 +0100 Subject: [PATCH 35/54] Resimulated 31 26 zoomed in with N=10000 --- ...s_w_log_k_lin_zoomed_in_bch_31_26alist.csv | 80 +++++++++---------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv index 228afb7..fcbf93d 100644 --- a/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv +++ b/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv @@ -1,41 +1,41 @@ ,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 -0.5011872336272722,0.472,0.4707,0.4703,0.4697,0.4693,0.4689,0.4687,0.4684,0.4691,0.469,0.4689,0.4688,0.4687,0.4687,0.4687,0.4685,0.4714,0.4714,0.4714,0.4714,0.4713,0.4712,0.4712,0.4711,0.4683,0.4683,0.4682,0.4682,0.4681,0.4681,0.4681,0.468,0.4657,0.4657,0.4657,0.4657,0.4657,0.4656,0.4656,0.4656 -0.4319014035579926,0.4465,0.4432,0.4415,0.4412,0.4519,0.4401,0.4398,0.4506,0.4506,0.4392,0.4502,0.4498,0.4387,0.4495,0.4493,0.4491,0.4491,0.4491,0.4489,0.4496,0.4488,0.4486,0.4486,0.4494,0.4493,0.4486,0.4493,0.4454,0.4486,0.4493,0.4493,0.4453,0.4453,0.4493,0.4453,0.4487,0.4491,0.445,0.4448,0.4487 -0.37219388260414266,0.4364,0.4287,0.4272,0.4194,0.4184,0.4227,0.421,0.4211,0.4164,0.4215,0.4205,0.4214,0.4151,0.4151,0.4199,0.4151,0.4208,0.4121,0.4151,0.412,0.4208,0.4208,0.4148,0.4208,0.4116,0.4138,0.4207,0.4136,0.4116,0.4115,0.4205,0.4114,0.4133,0.4148,0.4112,0.4147,0.4131,0.4131,0.411,0.413 -0.32074053269277175,0.4103,0.4049,0.3926,0.395,0.3917,0.3861,0.3847,0.3827,0.3829,0.3813,0.3806,0.3801,0.3807,0.3848,0.3847,0.3904,0.3839,0.3899,0.3792,0.3897,0.3831,0.3777,0.3776,0.3812,0.3775,0.3811,0.3828,0.3808,0.3768,0.3888,0.3888,0.3794,0.3886,0.3792,0.3762,0.3789,0.3886,0.38,0.38,0.3906 -0.276400269107749,0.3945,0.385,0.3734,0.3682,0.3545,0.3526,0.3485,0.3482,0.348,0.3443,0.3447,0.3523,0.341,0.3423,0.351,0.3471,0.3397,0.3498,0.3462,0.3396,0.3486,0.3451,0.3388,0.3369,0.3474,0.3387,0.3365,0.3445,0.3383,0.3359,0.3442,0.3309,0.3379,0.3439,0.3305,0.335,0.3438,0.3301,0.3348,0.3439 -0.23818975457029212,0.3849,0.3504,0.3472,0.3278,0.3231,0.318,0.3222,0.3084,0.3111,0.3039,0.312,0.3063,0.2976,0.2962,0.303,0.3046,0.3057,0.3033,0.2992,0.3043,0.302,0.3016,0.3032,0.2958,0.2915,0.295,0.3024,0.2912,0.2943,0.2942,0.2902,0.3013,0.2965,0.301,0.2893,0.296,0.3004,0.2956,0.3002,0.3011 -0.20526159169598815,0.3581,0.3426,0.3166,0.3194,0.3049,0.2931,0.2992,0.2892,0.2902,0.2741,0.2739,0.2691,0.2817,0.2763,0.2635,0.2623,0.2741,0.275,0.2723,0.2594,0.2695,0.2708,0.2723,0.27,0.2532,0.256,0.2523,0.2689,0.27,0.2521,0.2542,0.2512,0.2592,0.2675,0.259,0.2505,0.253,0.2583,0.2661,0.2581 -0.1768855302008251,0.3606,0.3195,0.3104,0.2932,0.2891,0.2858,0.2787,0.2672,0.2562,0.2652,0.2642,0.2617,0.2552,0.2442,0.2542,0.2548,0.2493,0.2476,0.2498,0.2492,0.2521,0.2453,0.2438,0.2464,0.2493,0.2495,0.2416,0.2414,0.2483,0.2479,0.2479,0.24,0.2434,0.2472,0.2473,0.247,0.2337,0.2425,0.2459,0.2463 -0.15243227208706556,0.3571,0.3176,0.3054,0.2939,0.2854,0.2747,0.2683,0.2587,0.2485,0.2452,0.2424,0.2536,0.2511,0.2437,0.2418,0.2471,0.2438,0.2429,0.2425,0.2327,0.2322,0.2313,0.2307,0.2408,0.2326,0.2322,0.2319,0.2369,0.2368,0.2332,0.233,0.229,0.2277,0.2276,0.2275,0.2296,0.2295,0.2287,0.2285,0.2343 -0.13135951565537832,0.3542,0.318,0.2958,0.2825,0.2697,0.264,0.256,0.2625,0.2488,0.2565,0.2451,0.2413,0.2401,0.2465,0.2444,0.237,0.2422,0.2346,0.229,0.2291,0.2276,0.2321,0.2316,0.2308,0.2308,0.2306,0.2371,0.2297,0.2366,0.2297,0.2297,0.224,0.2292,0.2233,0.2295,0.2239,0.2293,0.2227,0.2227,0.2266 -0.11319992884026403,0.3488,0.3145,0.2973,0.2933,0.2674,0.2658,0.2615,0.2494,0.2462,0.2406,0.2443,0.2426,0.2393,0.2319,0.2267,0.2353,0.2344,0.2299,0.2235,0.2312,0.2224,0.2278,0.2271,0.2214,0.2207,0.2301,0.2253,0.2232,0.2245,0.2292,0.2303,0.2236,0.2234,0.2189,0.2293,0.2249,0.2289,0.2187,0.227,0.2287 -0.09755078515254997,0.3742,0.3187,0.3001,0.289,0.2734,0.2648,0.2601,0.2508,0.2471,0.2435,0.2416,0.2327,0.237,0.2358,0.234,0.236,0.2448,0.2438,0.2309,0.2267,0.2418,0.2415,0.2286,0.2287,0.2291,0.229,0.2397,0.2305,0.2283,0.2281,0.2388,0.2262,0.2272,0.227,0.2273,0.2262,0.2267,0.2266,0.2267,0.238 -0.08406503238449185,0.3739,0.3276,0.3033,0.2854,0.2763,0.2688,0.2615,0.2555,0.2507,0.2478,0.2553,0.2412,0.2453,0.239,0.2421,0.2364,0.2356,0.2335,0.2338,0.2321,0.2275,0.2379,0.2269,0.2373,0.2369,0.2301,0.2295,0.2292,0.2269,0.2248,0.2265,0.2243,0.2243,0.2356,0.2281,0.2279,0.2336,0.2254,0.2334,0.2253 -0.07244359600749903,0.3816,0.3302,0.3088,0.2989,0.2835,0.2708,0.2677,0.2553,0.259,0.2477,0.2507,0.2385,0.2395,0.2369,0.2366,0.2437,0.2308,0.2325,0.2322,0.232,0.2307,0.2358,0.2295,0.2295,0.2295,0.2343,0.2279,0.2366,0.2336,0.2253,0.2331,0.2267,0.2356,0.2249,0.2325,0.2272,0.2244,0.2276,0.2243,0.2322 -0.06242874657437091,0.3938,0.3386,0.3074,0.293,0.2841,0.2722,0.2651,0.2579,0.2544,0.2496,0.2495,0.2399,0.2413,0.2435,0.2444,0.2434,0.2371,0.2357,0.2306,0.2331,0.2387,0.2292,0.2307,0.2303,0.2367,0.2366,0.2302,0.2313,0.2292,0.2297,0.2359,0.2359,0.2284,0.2282,0.2304,0.2341,0.2355,0.23,0.2342,0.2339 -0.05379838403443687,0.4186,0.363,0.3296,0.3044,0.2886,0.2778,0.2696,0.2689,0.2571,0.2518,0.2487,0.2552,0.2421,0.241,0.2396,0.2389,0.246,0.2372,0.2366,0.24,0.2354,0.2351,0.2345,0.2416,0.2377,0.2305,0.2302,0.2309,0.2295,0.2294,0.229,0.236,0.2297,0.2335,0.2333,0.2309,0.2333,0.2333,0.2332,0.2286 -0.04636111220443666,0.4212,0.3595,0.33,0.3087,0.3013,0.2824,0.2812,0.2744,0.2693,0.2617,0.2515,0.2511,0.2534,0.2472,0.249,0.236,0.2351,0.2452,0.2364,0.2434,0.2321,0.2428,0.2314,0.2329,0.2324,0.2301,0.2371,0.2389,0.2308,0.2386,0.2302,0.2313,0.2311,0.2298,0.2389,0.2273,0.2305,0.2271,0.2302,0.2328 -0.03995199416132174,0.4374,0.3657,0.3347,0.3148,0.3018,0.2917,0.2811,0.267,0.2652,0.2536,0.2562,0.2483,0.2477,0.2467,0.2447,0.2404,0.242,0.236,0.2401,0.2404,0.25,0.2384,0.2373,0.2387,0.2365,0.2341,0.2473,0.2355,0.2378,0.2465,0.2463,0.2333,0.2459,0.2362,0.2367,0.2336,0.2349,0.2362,0.2359,0.2333 -0.034428894424011175,0.456,0.3763,0.338,0.3373,0.3033,0.3003,0.2832,0.2734,0.2734,0.2628,0.261,0.2643,0.2534,0.2509,0.2496,0.2565,0.2446,0.2433,0.2431,0.2424,0.2414,0.2351,0.2407,0.2406,0.2337,0.2396,0.2383,0.237,0.2322,0.2357,0.2316,0.2361,0.2348,0.2312,0.2371,0.2351,0.2339,0.2399,0.2336,0.2346 -0.02966932680439932,0.4711,0.3894,0.3406,0.3304,0.3143,0.3005,0.2882,0.2853,0.28,0.2667,0.2642,0.2499,0.2522,0.2552,0.2527,0.2464,0.2454,0.251,0.2378,0.2423,0.2465,0.2427,0.2418,0.2447,0.2439,0.2386,0.2383,0.2428,0.2389,0.2354,0.2351,0.2384,0.2382,0.2412,0.2415,0.2355,0.2341,0.2365,0.2362,0.2332 -0.02556773802217524,0.4983,0.3951,0.3581,0.3395,0.317,0.307,0.2964,0.2851,0.2811,0.2745,0.2656,0.2633,0.2607,0.2579,0.2514,0.2467,0.2482,0.2488,0.2496,0.2416,0.2436,0.2431,0.2359,0.2446,0.2343,0.2374,0.2397,0.2365,0.2322,0.2317,0.2389,0.2383,0.2384,0.2357,0.2305,0.241,0.238,0.2379,0.2416,0.2301 -0.022033166841980884,0.5136,0.4106,0.3602,0.3397,0.3199,0.3144,0.3016,0.2898,0.2855,0.2729,0.274,0.2605,0.2618,0.2537,0.25,0.248,0.2459,0.2493,0.2514,0.2476,0.2383,0.2449,0.2442,0.2435,0.2427,0.2349,0.2373,0.2452,0.2356,0.2335,0.2332,0.2441,0.2329,0.2341,0.2397,0.2346,0.2381,0.2332,0.2328,0.2345 -0.018987226819420607,0.5271,0.4201,0.3629,0.3478,0.3272,0.3093,0.3031,0.2883,0.2873,0.2772,0.2752,0.2627,0.258,0.2658,0.2506,0.2608,0.2439,0.2519,0.2439,0.2449,0.2521,0.2383,0.2509,0.2369,0.2496,0.2353,0.2393,0.243,0.234,0.242,0.2336,0.2417,0.2327,0.2462,0.2408,0.2319,0.2401,0.2427,0.2397,0.2423 -0.01636236791913265,0.5598,0.4245,0.3693,0.3585,0.3386,0.3277,0.3093,0.3015,0.2978,0.2895,0.2775,0.2644,0.268,0.2638,0.2623,0.2659,0.255,0.247,0.2544,0.252,0.2514,0.2502,0.2496,0.2458,0.2477,0.2462,0.2467,0.2484,0.2449,0.2441,0.2488,0.2434,0.2432,0.2466,0.2477,0.2398,0.2472,0.247,0.2426,0.2413 -0.01410037845269871,0.5871,0.452,0.3847,0.3561,0.3412,0.3273,0.3188,0.3071,0.2971,0.2896,0.2883,0.2778,0.275,0.2707,0.2682,0.2636,0.2644,0.262,0.2574,0.2576,0.2578,0.2543,0.2562,0.2528,0.2487,0.2476,0.2493,0.2465,0.2468,0.2455,0.2459,0.2446,0.24,0.2397,0.247,0.2392,0.2466,0.2389,0.2463,0.2388 -0.012151094113758885,0.6036,0.4608,0.3922,0.3579,0.3445,0.3347,0.3198,0.3034,0.3043,0.2883,0.2823,0.2828,0.2748,0.2735,0.2687,0.2694,0.2656,0.2566,0.263,0.2561,0.2587,0.2514,0.2563,0.2515,0.2477,0.2537,0.2488,0.2522,0.2493,0.2453,0.2484,0.2497,0.2437,0.2456,0.2488,0.2462,0.2442,0.248,0.2433,0.2448 -0.010471285480508996,0.6173,0.4835,0.3976,0.3652,0.3499,0.3365,0.3244,0.3162,0.3032,0.2999,0.2878,0.2884,0.2899,0.2781,0.2716,0.2713,0.2718,0.2759,0.2676,0.2723,0.2472,0.2591,0.2604,0.257,0.2653,0.2423,0.2644,0.2411,0.2531,0.2511,0.2616,0.25,0.2387,0.2515,0.2379,0.2505,0.2452,0.2519,0.237,0.2511 -0.009023699313641428,0.6323,0.4971,0.4122,0.3759,0.3512,0.3368,0.3236,0.3246,0.3109,0.3053,0.2927,0.2972,0.2815,0.2815,0.2778,0.2611,0.2702,0.2668,0.2697,0.2528,0.2664,0.2657,0.2646,0.2612,0.2621,0.2585,0.2598,0.2582,0.2585,0.2487,0.248,0.2503,0.2557,0.2545,0.2468,0.2483,0.2457,0.252,0.252,0.2511 -0.007776232388523782,0.6325,0.5212,0.4171,0.3767,0.3535,0.3387,0.3281,0.3217,0.3128,0.3018,0.2985,0.2879,0.2866,0.2807,0.278,0.2791,0.2775,0.2762,0.2748,0.2732,0.2717,0.2707,0.2659,0.2689,0.2678,0.2668,0.2555,0.2653,0.2541,0.2639,0.2646,0.26,0.2593,0.2586,0.258,0.2581,0.2566,0.257,0.2605,0.2639 -0.006701219539630716,0.6468,0.5507,0.4315,0.3997,0.3612,0.348,0.3363,0.3334,0.3224,0.3069,0.3009,0.2931,0.2878,0.2865,0.2807,0.2777,0.2796,0.2757,0.2749,0.2829,0.2662,0.2657,0.2705,0.2729,0.2703,0.2629,0.2621,0.2727,0.2648,0.2712,0.2587,0.2647,0.2722,0.2696,0.2559,0.262,0.2682,0.2555,0.2675,0.259 -0.0057748201281383514,0.6489,0.5677,0.4491,0.382,0.3615,0.3528,0.3428,0.331,0.3162,0.316,0.3113,0.2953,0.2928,0.2858,0.2857,0.2827,0.2813,0.2805,0.2687,0.2689,0.2774,0.2675,0.2761,0.2756,0.2753,0.2759,0.2732,0.2771,0.273,0.2761,0.2733,0.2731,0.2711,0.2728,0.2693,0.2594,0.2713,0.2588,0.2701,0.2699 -0.004976489326327849,0.6453,0.5927,0.4608,0.4096,0.3759,0.3603,0.351,0.3349,0.3206,0.3187,0.3035,0.3028,0.2892,0.2866,0.2931,0.2842,0.2887,0.2828,0.2863,0.2801,0.2855,0.2847,0.2667,0.2784,0.2843,0.2728,0.2832,0.2778,0.2822,0.2819,0.2754,0.2765,0.2627,0.2801,0.2622,0.2753,0.2618,0.2613,0.2648,0.2744 -0.004288522493433697,0.6436,0.6159,0.4758,0.4112,0.3756,0.3588,0.334,0.3326,0.325,0.3256,0.3194,0.2981,0.3042,0.2871,0.2876,0.2786,0.2902,0.2813,0.2884,0.2863,0.28,0.2871,0.273,0.2868,0.2796,0.282,0.2686,0.2851,0.2817,0.278,0.2852,0.2777,0.2812,0.2685,0.277,0.2679,0.2667,0.2804,0.2761,0.2799 -0.0036956625385264927,0.6458,0.6308,0.4949,0.4228,0.3802,0.3623,0.3429,0.3288,0.332,0.3284,0.3088,0.3002,0.2913,0.2895,0.295,0.2859,0.2765,0.283,0.2825,0.2864,0.2862,0.2889,0.277,0.2733,0.2801,0.2833,0.2731,0.2757,0.2756,0.2798,0.2833,0.2843,0.2727,0.2711,0.2839,0.2828,0.2828,0.2824,0.2832,0.2741 -0.003184761562887965,0.6421,0.6392,0.5163,0.442,0.3894,0.3729,0.3458,0.3317,0.3349,0.3215,0.3158,0.3142,0.3055,0.2925,0.2975,0.2869,0.2901,0.285,0.2841,0.2876,0.2869,0.282,0.278,0.2744,0.2787,0.2766,0.2764,0.2779,0.2779,0.276,0.2843,0.285,0.28,0.2782,0.278,0.2797,0.2797,0.278,0.2848,0.2763 -0.002744489278096427,0.6458,0.6454,0.5489,0.4394,0.3873,0.3644,0.3485,0.3414,0.329,0.3247,0.3174,0.3156,0.3051,0.2962,0.2991,0.2836,0.2929,0.2867,0.2824,0.2885,0.2763,0.2808,0.2879,0.2892,0.2874,0.2774,0.2746,0.2801,0.2883,0.2745,0.2843,0.2869,0.2842,0.2788,0.2881,0.2815,0.2867,0.288,0.2801,0.2842 -0.0023650817333891625,0.6493,0.6487,0.5662,0.4553,0.3968,0.3771,0.3657,0.3387,0.3374,0.3318,0.3198,0.3138,0.3103,0.3005,0.2998,0.2959,0.2856,0.2846,0.2834,0.2828,0.2778,0.2821,0.2823,0.2891,0.277,0.2811,0.2754,0.2799,0.2741,0.2799,0.2808,0.285,0.2738,0.2795,0.2888,0.2756,0.276,0.2756,0.2793,0.2815 -0.0020381247798099637,0.6531,0.645,0.5884,0.4691,0.4123,0.3842,0.3496,0.3385,0.3352,0.3334,0.3257,0.3157,0.3151,0.3076,0.2933,0.2869,0.2803,0.2858,0.2835,0.2894,0.2827,0.2824,0.2882,0.2881,0.2776,0.282,0.2774,0.2865,0.2775,0.2774,0.2861,0.2861,0.2872,0.28,0.2741,0.2809,0.2836,0.2836,0.2809,0.2809 -0.0017563674690103848,0.6517,0.6453,0.6136,0.494,0.41,0.3835,0.3619,0.3409,0.3483,0.3304,0.3252,0.3177,0.3116,0.3108,0.304,0.2885,0.2949,0.2879,0.2872,0.2863,0.2871,0.2823,0.2822,0.2888,0.2817,0.2855,0.2855,0.2853,0.2873,0.2847,0.2844,0.2867,0.2782,0.2871,0.287,0.287,0.2813,0.2846,0.2846,0.2805 -0.0015135612484362087,0.6549,0.6362,0.6136,0.5085,0.4259,0.3921,0.3687,0.3449,0.3467,0.3292,0.3299,0.3195,0.3185,0.3077,0.3012,0.2873,0.2933,0.2804,0.289,0.287,0.2841,0.2773,0.2771,0.2823,0.2765,0.2821,0.2762,0.2858,0.285,0.2751,0.2749,0.2845,0.2746,0.2845,0.2745,0.2866,0.2853,0.2811,0.2811,0.2802 +0.5011872336272722,0.4767,0.4753,0.4742,0.4739,0.4738,0.4733,0.4726,0.4725,0.4796,0.4795,0.4795,0.4791,0.4789,0.4789,0.4788,0.4788,0.4745,0.4745,0.4745,0.4742,0.4742,0.4742,0.4742,0.474,0.4681,0.4681,0.468,0.468,0.4679,0.4679,0.4678,0.4678,0.4653,0.465,0.4649,0.4648,0.4647,0.4646,0.4646,0.4646 +0.4319014035579926,0.4579,0.4548,0.4533,0.4527,0.447,0.451,0.4459,0.4502,0.4454,0.4497,0.4452,0.4497,0.4372,0.4447,0.437,0.4445,0.4369,0.4441,0.4366,0.4438,0.4484,0.4363,0.4482,0.4362,0.4482,0.4362,0.4481,0.436,0.448,0.4478,0.4479,0.4477,0.4479,0.4476,0.4478,0.4475,0.4445,0.4476,0.4444,0.4475 +0.37219388260414266,0.4312,0.4256,0.424,0.4254,0.4189,0.423,0.4191,0.4186,0.4223,0.4335,0.4174,0.422,0.4171,0.4327,0.4215,0.4214,0.4325,0.4223,0.4211,0.4322,0.4211,0.4222,0.4321,0.4321,0.4222,0.4155,0.432,0.4219,0.432,0.4218,0.4152,0.4218,0.4151,0.4198,0.4217,0.415,0.4217,0.4149,0.4194,0.4149 +0.32074053269277175,0.4133,0.3999,0.3936,0.3899,0.39,0.386,0.3894,0.3863,0.3851,0.3834,0.3833,0.3871,0.3836,0.3833,0.3753,0.3817,0.3815,0.3851,0.3741,0.381,0.3851,0.3808,0.3863,0.3847,0.3736,0.3845,0.3844,0.3856,0.3735,0.3843,0.3735,0.3768,0.3855,0.3734,0.3734,0.3766,0.3855,0.3734,0.3854,0.3764 +0.276400269107749,0.393,0.3822,0.3714,0.3584,0.3585,0.3488,0.346,0.3485,0.342,0.3408,0.3399,0.349,0.3445,0.3439,0.3435,0.3389,0.3431,0.3429,0.3428,0.3383,0.3371,0.3369,0.3366,0.3442,0.3364,0.3362,0.3362,0.3452,0.343,0.3429,0.3429,0.3357,0.3426,0.3426,0.3424,0.3355,0.3353,0.3353,0.3351,0.3439 +0.23818975457029212,0.38,0.3539,0.3402,0.3406,0.3295,0.3295,0.3239,0.3199,0.3177,0.316,0.3068,0.305,0.3006,0.3027,0.3021,0.3017,0.3008,0.3002,0.3009,0.3001,0.2946,0.2989,0.2981,0.298,0.2979,0.2976,0.2934,0.293,0.2915,0.2926,0.2925,0.2924,0.2922,0.2922,0.2917,0.2916,0.2947,0.2914,0.2914,0.291 +0.20526159169598815,0.3626,0.3371,0.3216,0.3102,0.299,0.2938,0.2885,0.284,0.2804,0.2771,0.2759,0.2741,0.2696,0.2673,0.2703,0.2686,0.2682,0.2669,0.2659,0.2656,0.2641,0.257,0.2639,0.2584,0.2627,0.2621,0.2575,0.2573,0.2613,0.261,0.2568,0.2527,0.2561,0.2557,0.2521,0.2519,0.2551,0.2653,0.2517,0.2589 +0.1768855302008251,0.3513,0.3273,0.2995,0.2976,0.2777,0.2804,0.2761,0.2752,0.2648,0.262,0.2652,0.2631,0.2614,0.2536,0.2552,0.2517,0.2564,0.2553,0.2485,0.2473,0.2465,0.252,0.2486,0.2483,0.245,0.2446,0.2472,0.247,0.2468,0.2436,0.2501,0.2452,0.2457,0.2455,0.2444,0.2443,0.2441,0.2447,0.245,0.2487 +0.15243227208706556,0.3625,0.3289,0.3051,0.2947,0.285,0.2786,0.2726,0.2627,0.2593,0.2424,0.2532,0.2512,0.2488,0.2476,0.2463,0.2491,0.2316,0.2331,0.2293,0.2282,0.2276,0.2273,0.2269,0.2392,0.2282,0.2415,0.2276,0.2275,0.2274,0.2271,0.227,0.2236,0.2399,0.2306,0.2394,0.2394,0.2393,0.2392,0.239,0.226 +0.13135951565537832,0.3568,0.3197,0.2971,0.285,0.2724,0.2644,0.2579,0.2583,0.2511,0.2444,0.2504,0.2437,0.2418,0.2409,0.2388,0.2344,0.2364,0.2354,0.2321,0.2344,0.2336,0.2307,0.2322,0.2315,0.2296,0.2313,0.2307,0.2291,0.229,0.2301,0.2288,0.2282,0.2296,0.2285,0.2296,0.2294,0.2293,0.2275,0.2292,0.2301 +0.11319992884026403,0.3614,0.3179,0.2952,0.2831,0.2721,0.2658,0.2586,0.2559,0.2487,0.2446,0.2452,0.2385,0.2366,0.2381,0.2364,0.2333,0.2321,0.2338,0.231,0.2282,0.2275,0.2292,0.229,0.2264,0.2314,0.2276,0.225,0.2255,0.2254,0.224,0.224,0.2246,0.2262,0.2235,0.2245,0.2212,0.221,0.2243,0.2241,0.221 +0.09755078515254997,0.3625,0.3219,0.2962,0.2822,0.2692,0.264,0.2525,0.2467,0.2447,0.24,0.2379,0.2395,0.2374,0.2316,0.2304,0.2292,0.2326,0.227,0.2305,0.2338,0.2334,0.2247,0.2288,0.2283,0.2322,0.2275,0.2318,0.2346,0.2346,0.227,0.2307,0.2307,0.234,0.2302,0.2337,0.2332,0.2331,0.2299,0.2329,0.2327 +0.08406503238449185,0.3796,0.3266,0.3074,0.293,0.2794,0.27,0.2652,0.2601,0.2534,0.2534,0.2506,0.2403,0.2378,0.2359,0.2428,0.2384,0.2334,0.2366,0.2365,0.2346,0.2343,0.2342,0.2336,0.2294,0.2333,0.2283,0.2283,0.2274,0.2271,0.227,0.2279,0.2323,0.2265,0.2319,0.2317,0.224,0.224,0.2238,0.2307,0.226 +0.07244359600749903,0.3865,0.3319,0.3046,0.2901,0.2762,0.268,0.2626,0.2522,0.2509,0.2473,0.2433,0.2377,0.2359,0.2348,0.2352,0.231,0.2321,0.2323,0.2315,0.2333,0.2331,0.2331,0.225,0.232,0.2287,0.2239,0.2238,0.2283,0.2282,0.2282,0.2304,0.2275,0.222,0.2302,0.2301,0.2292,0.2292,0.2288,0.2266,0.2288 +0.06242874657437091,0.4027,0.3392,0.3105,0.2952,0.2814,0.2733,0.2666,0.2573,0.2557,0.2505,0.2458,0.2474,0.2425,0.2439,0.2369,0.2399,0.2343,0.2333,0.2377,0.2449,0.2301,0.2438,0.2353,0.2429,0.2343,0.2337,0.2411,0.2323,0.2331,0.232,0.2398,0.2316,0.2393,0.2392,0.2312,0.2285,0.2389,0.2285,0.2307,0.2281 +0.05379838403443687,0.407,0.351,0.3177,0.3026,0.2862,0.281,0.2699,0.2601,0.2553,0.2529,0.2468,0.24,0.2411,0.2419,0.2373,0.2321,0.2312,0.2337,0.2291,0.2335,0.2278,0.2321,0.226,0.2314,0.2313,0.2251,0.2307,0.2365,0.2299,0.2243,0.2292,0.2355,0.2351,0.2288,0.2347,0.2318,0.2344,0.2277,0.2343,0.2314 +0.04636111220443666,0.4216,0.358,0.3285,0.3111,0.296,0.2866,0.2791,0.2688,0.2639,0.2552,0.2504,0.2477,0.2457,0.2429,0.244,0.2395,0.2386,0.2377,0.2369,0.2433,0.235,0.2419,0.2359,0.2344,0.2338,0.2403,0.2399,0.2271,0.2396,0.2261,0.233,0.2385,0.2384,0.2256,0.2256,0.2345,0.2254,0.234,0.2379,0.2251 +0.03995199416132174,0.4317,0.3716,0.3356,0.3178,0.3005,0.2917,0.2772,0.2697,0.2642,0.2533,0.2571,0.2493,0.2466,0.2454,0.2424,0.2403,0.2395,0.2429,0.2388,0.2367,0.2419,0.235,0.2412,0.2406,0.2404,0.2341,0.2329,0.2394,0.2365,0.2389,0.236,0.2357,0.2356,0.2314,0.2377,0.2353,0.2325,0.2344,0.2324,0.2322 +0.034428894424011175,0.4472,0.3766,0.3446,0.3204,0.2985,0.2877,0.2853,0.2759,0.2699,0.2566,0.2523,0.2481,0.249,0.2468,0.2463,0.2381,0.237,0.2412,0.24,0.2389,0.2437,0.243,0.2317,0.2358,0.2355,0.2406,0.2402,0.2397,0.2342,0.234,0.2335,0.2386,0.2384,0.2332,0.2329,0.2329,0.2359,0.2356,0.2377,0.2325 +0.02966932680439932,0.4764,0.3903,0.3491,0.3307,0.3118,0.2971,0.287,0.2766,0.2714,0.2647,0.2602,0.2603,0.2497,0.2512,0.2489,0.2471,0.2489,0.2443,0.2432,0.2394,0.2417,0.234,0.2333,0.2331,0.2367,0.2317,0.2314,0.2398,0.2308,0.2354,0.2351,0.2346,0.2392,0.2341,0.2341,0.2283,0.2338,0.2401,0.2399,0.2398 +0.02556773802217524,0.4794,0.3981,0.3563,0.341,0.3235,0.3058,0.2964,0.2849,0.2789,0.2722,0.2694,0.2613,0.2603,0.2547,0.2595,0.257,0.2559,0.2533,0.2434,0.2509,0.2414,0.2491,0.2411,0.2401,0.239,0.2384,0.2459,0.2372,0.2451,0.2361,0.2346,0.2344,0.2343,0.2342,0.2353,0.2339,0.2346,0.2336,0.2433,0.243 +0.022033166841980884,0.5191,0.4191,0.3574,0.3468,0.3198,0.3075,0.3055,0.2881,0.2883,0.2754,0.2703,0.2643,0.2606,0.2658,0.2534,0.2522,0.2485,0.2484,0.2468,0.2457,0.2366,0.2433,0.2434,0.235,0.2424,0.2339,0.2335,0.233,0.235,0.2404,0.2321,0.234,0.2313,0.2338,0.2337,0.2335,0.2426,0.2299,0.2328,0.2422 +0.018987226819420607,0.5333,0.4211,0.373,0.3513,0.3228,0.3221,0.3032,0.2918,0.2863,0.2869,0.2727,0.2672,0.2627,0.2602,0.2547,0.2637,0.2511,0.2502,0.2459,0.245,0.2397,0.2426,0.237,0.2447,0.236,0.24,0.2353,0.2347,0.2363,0.234,0.2354,0.2381,0.235,0.2321,0.2348,0.2347,0.2335,0.2345,0.2326,0.2307 +0.01636236791913265,0.5579,0.4252,0.37,0.3466,0.3352,0.3221,0.3043,0.2953,0.2928,0.2849,0.2742,0.2727,0.2601,0.2571,0.2625,0.26,0.2491,0.2464,0.2461,0.2431,0.2483,0.2474,0.2397,0.2385,0.2457,0.2449,0.2476,0.2434,0.2389,0.2386,0.2417,0.2411,0.2378,0.2375,0.2339,0.2413,0.2367,0.2411,0.2364,0.2361 +0.01410037845269871,0.5838,0.4473,0.3829,0.3565,0.3386,0.3251,0.3147,0.3042,0.2958,0.2867,0.2887,0.2698,0.2791,0.2695,0.2727,0.2637,0.2619,0.2646,0.256,0.2527,0.253,0.2586,0.2516,0.257,0.2563,0.2499,0.2567,0.2481,0.2487,0.2554,0.2548,0.2475,0.2473,0.2543,0.245,0.2503,0.2532,0.2443,0.2441,0.2525 +0.012151094113758885,0.6092,0.4576,0.3874,0.3596,0.3406,0.3308,0.3182,0.3038,0.2986,0.2908,0.2876,0.2802,0.2852,0.2719,0.2654,0.2669,0.2611,0.2587,0.2595,0.2555,0.2572,0.2531,0.2545,0.2468,0.252,0.2506,0.2487,0.249,0.25,0.2476,0.2423,0.246,0.2419,0.2415,0.2458,0.2408,0.2438,0.2401,0.2433,0.2399 +0.010471285480508996,0.6114,0.4771,0.3943,0.3655,0.3437,0.331,0.3247,0.3104,0.3007,0.2913,0.2856,0.2815,0.2749,0.2719,0.2714,0.2662,0.2655,0.2624,0.2607,0.2606,0.2564,0.2555,0.2572,0.2528,0.2502,0.2533,0.2523,0.2482,0.2515,0.2508,0.247,0.2496,0.2485,0.2454,0.2449,0.2477,0.2444,0.2443,0.2443,0.2454 +0.009023699313641428,0.6449,0.4965,0.4039,0.3873,0.3474,0.344,0.341,0.3153,0.3063,0.3117,0.2981,0.298,0.2809,0.2751,0.2791,0.2846,0.2827,0.2736,0.263,0.2695,0.2603,0.2691,0.2576,0.2644,0.2634,0.2541,0.2651,0.2524,0.2543,0.2474,0.2623,0.2498,0.2491,0.2609,0.2448,0.2601,0.2652,0.2565,0.244,0.2589 +0.007776232388523782,0.6407,0.5151,0.4277,0.3755,0.3612,0.3377,0.3358,0.3226,0.3136,0.3069,0.2896,0.2936,0.2798,0.2845,0.2755,0.2777,0.2718,0.2739,0.2742,0.2702,0.2736,0.2673,0.269,0.264,0.267,0.2624,0.2627,0.2612,0.2547,0.2594,0.2584,0.2604,0.2576,0.2593,0.2564,0.2584,0.2611,0.2579,0.2579,0.2546 +0.006701219539630716,0.6421,0.5353,0.4377,0.385,0.355,0.3522,0.3312,0.3205,0.3172,0.3053,0.3018,0.2939,0.2884,0.2817,0.2815,0.2799,0.2733,0.2777,0.2711,0.2703,0.2686,0.2748,0.2677,0.265,0.269,0.2649,0.2678,0.2672,0.2674,0.2638,0.2657,0.2646,0.2596,0.2642,0.2588,0.2583,0.2573,0.2636,0.2565,0.2564 +0.0057748201281383514,0.644,0.5696,0.4475,0.3952,0.3697,0.3559,0.3366,0.3235,0.325,0.308,0.3048,0.2987,0.2834,0.279,0.2861,0.2821,0.2722,0.2799,0.2802,0.2797,0.2769,0.2757,0.2802,0.2706,0.2737,0.2767,0.2781,0.2775,0.2747,0.2743,0.2651,0.2706,0.2728,0.2748,0.2639,0.2635,0.2736,0.2735,0.2644,0.2596 +0.004976489326327849,0.6494,0.5915,0.4625,0.4068,0.3666,0.35,0.3376,0.3313,0.3224,0.313,0.3074,0.2967,0.2909,0.2859,0.282,0.2822,0.2797,0.2781,0.2813,0.2766,0.2774,0.277,0.2761,0.2731,0.2819,0.2816,0.2814,0.2811,0.271,0.2709,0.2704,0.2798,0.2784,0.2781,0.2686,0.2775,0.2786,0.2782,0.278,0.276 +0.004288522493433697,0.6464,0.6124,0.4783,0.4108,0.3775,0.3651,0.3415,0.3425,0.3359,0.3162,0.3212,0.3004,0.2917,0.2988,0.2847,0.2912,0.2895,0.2797,0.2752,0.2792,0.2769,0.274,0.278,0.2738,0.2737,0.2824,0.2751,0.2782,0.2767,0.2741,0.2775,0.2738,0.2734,0.2834,0.275,0.2715,0.2764,0.2745,0.2711,0.2741 +0.0036956625385264927,0.6547,0.6278,0.4916,0.415,0.3814,0.3588,0.3442,0.3364,0.324,0.3172,0.3138,0.3033,0.2927,0.2856,0.2866,0.28,0.2818,0.2746,0.2761,0.2805,0.272,0.2779,0.2795,0.2714,0.2789,0.2771,0.271,0.2782,0.2766,0.2783,0.2787,0.2762,0.2773,0.2778,0.2758,0.2781,0.2775,0.277,0.2727,0.2772 +0.003184761562887965,0.6499,0.634,0.5176,0.4266,0.3779,0.3634,0.3536,0.342,0.3309,0.3173,0.3149,0.3032,0.2955,0.2956,0.288,0.2846,0.2852,0.2812,0.2824,0.2854,0.2849,0.2793,0.2752,0.2751,0.2788,0.2793,0.2785,0.2815,0.2814,0.2744,0.2831,0.2831,0.2742,0.2791,0.2742,0.2763,0.2763,0.2828,0.281,0.281 +0.002744489278096427,0.6483,0.6448,0.5467,0.4482,0.3923,0.3725,0.355,0.3391,0.339,0.3271,0.3188,0.3118,0.3027,0.2967,0.2909,0.2828,0.2838,0.2862,0.2868,0.2864,0.2843,0.284,0.284,0.2849,0.2839,0.2794,0.2771,0.2769,0.2792,0.279,0.279,0.2819,0.2789,0.2836,0.2838,0.2837,0.2836,0.2836,0.2836,0.2769 +0.0023650817333891625,0.642,0.6484,0.5628,0.4617,0.3982,0.3737,0.3555,0.3478,0.3414,0.3286,0.3241,0.3183,0.3102,0.3045,0.296,0.2903,0.2797,0.2877,0.2829,0.2845,0.2749,0.2842,0.2839,0.2845,0.276,0.2835,0.285,0.2834,0.2758,0.2832,0.2828,0.2738,0.2828,0.2827,0.2777,0.2738,0.2828,0.2737,0.2737,0.2751 +0.0020381247798099637,0.6466,0.644,0.5903,0.473,0.4027,0.3774,0.3552,0.3436,0.3392,0.3268,0.33,0.3218,0.3043,0.2989,0.2986,0.2933,0.292,0.2877,0.2801,0.2793,0.2863,0.2775,0.2782,0.2779,0.2748,0.2771,0.2774,0.2771,0.2833,0.2849,0.2768,0.2767,0.2752,0.2767,0.2767,0.2765,0.2767,0.2828,0.2764,0.2764 +0.0017563674690103848,0.6509,0.645,0.6075,0.4926,0.415,0.3839,0.3637,0.3444,0.342,0.3339,0.3234,0.3203,0.313,0.3016,0.2995,0.294,0.2849,0.2869,0.2806,0.2796,0.2833,0.2845,0.2784,0.2785,0.2856,0.2779,0.2849,0.2851,0.2756,0.2774,0.2848,0.2813,0.2773,0.2847,0.283,0.2768,0.2812,0.2847,0.2768,0.2754 +0.0015135612484362087,0.6495,0.6417,0.6237,0.5118,0.4258,0.3896,0.3649,0.3495,0.3447,0.344,0.3304,0.3279,0.3054,0.2992,0.3025,0.2933,0.2824,0.2877,0.2823,0.2857,0.2846,0.2843,0.2816,0.2765,0.283,0.2853,0.2824,0.2849,0.2834,0.2832,0.2836,0.2818,0.2829,0.2799,0.2755,0.2797,0.2845,0.2845,0.2862,0.2828 From 56fd0513852cf503e48cb9fbe7cb9c0b5bb8c0ce Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Tue, 29 Nov 2022 01:04:06 +0100 Subject: [PATCH 36/54] Changed cpp ProximalDecoder implementation to always return x_hat --- sw/cpp/src/proximal.h | 23 +++-- sw/cpp/src/python_interface.cpp | 8 +- sw/plot_heatmaps.py | 48 +++++------ sw/simulate_2d_dec_fails.py | 4 +- sw/simulate_BER_curve.py | 145 ++++++++++++++++++++++++++++++++ 5 files changed, 194 insertions(+), 34 deletions(-) diff --git a/sw/cpp/src/proximal.h b/sw/cpp/src/proximal.h index 65d6994..7676905 100644 --- a/sw/cpp/src/proximal.h +++ b/sw/cpp/src/proximal.h @@ -67,10 +67,12 @@ public: * This function assumes a BPSK modulated signal and an AWGN channel. * @param y Vector of received values. (y = x + w, where 'x' is element of * [-1, 1]^n and 'w' is noise) - * @return Most probably sent codeword (element of [0, 1]^n). If decoding - * fails, the returned value is 'None' + * @return \b std::pair of the form (x_hat, num_iter), x_hat is the most + * probably sent codeword and num_iter is the number of iterations that were + * performed. If the parity check fails and no valid codeword is reached, + * num_iter is -1 */ - std::pair>, int> + std::pair, int> decode(const Eigen::Ref>& y) { if (y.size() != mH.cols()) throw std::runtime_error("Length of vector must match H matrix"); @@ -95,12 +97,19 @@ public: } } - return {std::nullopt, mK}; + return {x_hat, -1}; } - /// Private members are not private in order to make the class easily - /// picklable - // private: + /** + * @brief Get the values of all member variables necessary to recreate an + * exact copy of this class. Used for pickling + * @return \b std::tuple + */ + auto get_decoder_state() const { + return std::tuple(mK, mOmega, mGamma, mEta, mH); + } + +private: const int mK; const double mOmega; const double mGamma; diff --git a/sw/cpp/src/python_interface.cpp b/sw/cpp/src/python_interface.cpp index f374bcf..d46040b 100644 --- a/sw/cpp/src/python_interface.cpp +++ b/sw/cpp/src/python_interface.cpp @@ -17,7 +17,13 @@ using namespace pybind11::literals; .def("decode", &ProximalDecoder::decode, "x"_a.noconvert()) \ .def(py::pickle( \ [](const ProximalDecoder& a) { \ - return py::make_tuple(a.mH, a.mK, a.mOmega, a.mGamma, a.mEta); \ + MatrixiR H; \ + int K; \ + double omega; \ + double gamma; \ + double eta; \ + std::tie(H, K, omega, gamma, eta) = a.get_decoder_state(); \ + return py::make_tuple(H, K, omega, gamma, eta); \ }, \ [](py::tuple t) { \ return ProximalDecoder{ \ diff --git a/sw/plot_heatmaps.py b/sw/plot_heatmaps.py index 5919a60..c596b35 100644 --- a/sw/plot_heatmaps.py +++ b/sw/plot_heatmaps.py @@ -18,39 +18,39 @@ def format_yticks(previous_yticks): def main(): sns.set_theme() - # titles = [ - # "$n=7$, $m=4$", - # "$n=31$, $m=20$", - # "$n=31$, $m=5$", - # "$n=96$, $m=48$", - # "$n=204$, $m=102$", - # "$n=408$, $m=204$", - # ] - # - # filenames = [ - # "sim_results/2d_dec_fails_w_log_k_lin_bch_7_4alist.csv", - # "sim_results/2d_dec_fails_w_log_k_lin_bch_31_11alist.csv", - # "sim_results/2d_dec_fails_w_log_k_lin_bch_31_26alist.csv", - # "sim_results/2d_dec_fails_w_log_k_lin_963965alist.csv", - # "sim_results/2d_dec_fails_w_log_k_lin_2043486alist.csv", - # "sim_results/2d_dec_fails_w_log_k_lin_40833844alist.csv", - # ] - titles = [ "$n=7$, $m=4$", "$n=31$, $m=20$", "$n=31$, $m=5$", - "$n=96$, $m=48$" + "$n=96$, $m=48$", + "$n=204$, $m=102$", + "$n=408$, $m=204$", ] filenames = [ - "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_7_4alist.csv", - "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_11alist.csv", - "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv", - "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv", + "sim_results/2d_dec_fails_w_log_k_lin_bch_7_4alist.csv", + "sim_results/2d_dec_fails_w_log_k_lin_bch_31_11alist.csv", + "sim_results/2d_dec_fails_w_log_k_lin_bch_31_26alist.csv", + "sim_results/2d_dec_fails_w_log_k_lin_963965alist.csv", + "sim_results/2d_dec_fails_w_log_k_lin_2043486alist.csv", + "sim_results/2d_dec_fails_w_log_k_lin_40833844alist.csv", ] - fig, axes = plt.subplots(2, 2, squeeze=False) + # titles = [ + # "$n=7$, $m=4$", + # "$n=31$, $m=20$", + # "$n=31$, $m=5$", + # "$n=96$, $m=48$" + # ] + # + # filenames = [ + # "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_7_4alist.csv", + # "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_11alist.csv", + # "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv", + # "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv", + # ] + + fig, axes = plt.subplots(2, 3, squeeze=False) fig.suptitle("SNR = 3dB") diff --git a/sw/simulate_2d_dec_fails.py b/sw/simulate_2d_dec_fails.py index c38d501..7b26e8d 100644 --- a/sw/simulate_2d_dec_fails.py +++ b/sw/simulate_2d_dec_fails.py @@ -23,7 +23,7 @@ def task_func(params): x = noise.add_awgn(x_bpsk, SNR, n, k) x_hat, num_iter = decoder.decode(x) - if x_hat is None: + if num_iter == -1: dec_fails += 1 return dec_fails / num_iterations @@ -80,7 +80,7 @@ def main(): H_file = "BCH_31_26.alist" SNR = 3 - num_iterations = 10000 + num_iterations = 1000 omegas = np.logspace(-0.3, -2.82, 40) Ks = np.ceil(np.linspace(10 ** 1.3, 10 ** 2.3, 40)).astype('int32') diff --git a/sw/simulate_BER_curve.py b/sw/simulate_BER_curve.py index e69de29..6816d09 100644 --- a/sw/simulate_BER_curve.py +++ b/sw/simulate_BER_curve.py @@ -0,0 +1,145 @@ +import numpy as np +import pandas as pd +import seaborn as sns +import matplotlib.pyplot as plt +import signal +from timeit import default_timer +from tqdm import tqdm + +from utility import codes, noise, misc +from utility.simulation.simulators import GenericMultithreadedSimulator + +# from cpp_modules.cpp_decoders import ProximalDecoder +from cpp_modules.cpp_decoders import ProximalDecoder_7_3 as ProximalDecoder + + +def count_bit_errors(d: np.array, d_hat: np.array) -> int: + return np.sum(d != d_hat) + + +def task_func(params): + signal.signal(signal.SIGINT, signal.SIG_IGN) + + decoder, max_iterations, SNR, n, k = params + c = np.zeros(n) + x_bpsk = c + 1 + + total_bit_errors = 0 + total_frame_errors = 0 + dec_fails = 0 + + num_iterations = 0 + + for i in range(max_iterations): + x = noise.add_awgn(x_bpsk, SNR, n, k) + x_hat, k_max = decoder.decode(x) + + bit_errors = count_bit_errors(x_hat, c) + if bit_errors > 0: + total_bit_errors += bit_errors + total_frame_errors += 1 + + num_iterations += 1 + + if k_max == -1: + dec_fails += 1 + + if total_frame_errors > 4000: + break + + BER = total_bit_errors / (num_iterations * n) + FER = total_frame_errors / num_iterations + DFR = dec_fails / (num_iterations + dec_fails) + + return BER, FER, DFR, num_iterations + + +def simulate(H_file, SNRs, max_iterations, omega, K, gammas): + sim = GenericMultithreadedSimulator() + + # Define fixed simulation params + + H = codes.read_alist_file(f"res/{H_file}") + n_min_k, n = H.shape + k = n - n_min_k + + # Define params different for each task + + params = {} + for i, SNR in enumerate(SNRs): + for j, gamma in enumerate(gammas): + decoder = ProximalDecoder(H=H.astype('int32'), K=K, omega=omega, + gamma=gamma) + params[f"{i}_{j}"] = (decoder, max_iterations, SNR, n, k) + + # Set up simulation + + sim.task_params = params + sim.task_func = task_func + + sim.start_or_continue() + + return sim.get_current_results() + + +def reformat_data(results, SNRs, gammas): + data = {"BER": np.zeros(3 * 10), "FER": np.zeros(3 * 10), + "DFR": np.zeros(3 * 10), "gamma": np.zeros(3 * 10), + "SNR": np.zeros(3 * 10), "num_iter": np.zeros(3 * 10)} + + for i, (key, (BER, FER, DFR, num_iter)) in enumerate(results.items()): + i_SNR, i_gamma = key.split('_') + data["BER"][i] = BER + data["FER"][i] = FER + data["DFR"][i] = DFR + data["num_iter"][i] = num_iter + data["SNR"][i] = SNRs[int(i_SNR)] + data["gamma"][i] = gammas[int(i_gamma)] + + print(pd.DataFrame(data)) + return pd.DataFrame(data) + + +def main(): + # Set up simulation params + + sim_name = "BER_FER_DFR" + + # H_file = "96.3.965.alist" + # H_file = "204.3.486.alist" + # H_file = "204.55.187.alist" + # H_file = "408.33.844.alist" + H_file = "BCH_7_4.alist" + # H_file = "BCH_31_11.alist" + # H_file = "BCH_31_26.alist" + SNRs = np.arange(1, 6, 0.5) + + max_iterations = 10000 + # omega = 0.005 + # K = 60 + omega = 0.05 + K = 60 + gammas = [0.15, 0.01, 0.05] + + # Run simulation + + start_time = default_timer() + results = simulate(H_file, SNRs, max_iterations, omega, K, gammas) + end_time = default_timer() + + print(f"duration: {end_time - start_time}") + + df = reformat_data(results, SNRs, gammas) + + df.to_csv( + f"sim_results/2d_dec_fails_{sim_name}_{misc.slugify(H_file)}.csv") + + sns.set_theme() + ax = sns.lineplot(data=df, x="SNR", y="BER", hue="gamma") + ax.set_yscale('log') + ax.set_ylim((5e-5, 2e-0)) + plt.show() + + +if __name__ == "__main__": + main() From ed371cb70097196ca8c6162dde274c691c525f81 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Tue, 29 Nov 2022 01:09:52 +0100 Subject: [PATCH 37/54] Modified plot_heatmaps.py --- sw/plot_heatmaps.py | 46 ++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/sw/plot_heatmaps.py b/sw/plot_heatmaps.py index c596b35..08c0959 100644 --- a/sw/plot_heatmaps.py +++ b/sw/plot_heatmaps.py @@ -18,38 +18,38 @@ def format_yticks(previous_yticks): def main(): sns.set_theme() - titles = [ - "$n=7$, $m=4$", - "$n=31$, $m=20$", - "$n=31$, $m=5$", - "$n=96$, $m=48$", - "$n=204$, $m=102$", - "$n=408$, $m=204$", - ] - - filenames = [ - "sim_results/2d_dec_fails_w_log_k_lin_bch_7_4alist.csv", - "sim_results/2d_dec_fails_w_log_k_lin_bch_31_11alist.csv", - "sim_results/2d_dec_fails_w_log_k_lin_bch_31_26alist.csv", - "sim_results/2d_dec_fails_w_log_k_lin_963965alist.csv", - "sim_results/2d_dec_fails_w_log_k_lin_2043486alist.csv", - "sim_results/2d_dec_fails_w_log_k_lin_40833844alist.csv", - ] - # titles = [ # "$n=7$, $m=4$", # "$n=31$, $m=20$", # "$n=31$, $m=5$", - # "$n=96$, $m=48$" + # "$n=96$, $m=48$", + # "$n=204$, $m=102$", + # "$n=408$, $m=204$", # ] # # filenames = [ - # "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_7_4alist.csv", - # "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_11alist.csv", - # "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv", - # "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv", + # "sim_results/2d_dec_fails_w_log_k_lin_bch_7_4alist.csv", + # "sim_results/2d_dec_fails_w_log_k_lin_bch_31_11alist.csv", + # "sim_results/2d_dec_fails_w_log_k_lin_bch_31_26alist.csv", + # "sim_results/2d_dec_fails_w_log_k_lin_963965alist.csv", + # "sim_results/2d_dec_fails_w_log_k_lin_2043486alist.csv", + # "sim_results/2d_dec_fails_w_log_k_lin_40833844alist.csv", # ] + titles = [ + "$n=7$, $m=4$", + "$n=31$, $m=20$", + "$n=31$, $m=5$", + "$n=96$, $m=48$" + ] + + filenames = [ + "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_7_4alist.csv", + "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_11alist.csv", + "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv", + "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv", + ] + fig, axes = plt.subplots(2, 3, squeeze=False) fig.suptitle("SNR = 3dB") From 1c1e86c16345544a31f2f93a1209ce49c11806ed Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Tue, 29 Nov 2022 01:12:03 +0100 Subject: [PATCH 38/54] Added BER & FER & DFR simulation results for various codes --- sw/plot_heatmaps.py | 3 +- .../2d_dec_fails_BER_FER_DFR_2043486alist.csv | 31 +++++++ ...2d_dec_fails_BER_FER_DFR_20455187alist.csv | 31 +++++++ ...2d_dec_fails_BER_FER_DFR_40833844alist.csv | 31 +++++++ .../2d_dec_fails_BER_FER_DFR_963965alist.csv | 31 +++++++ ...d_dec_fails_BER_FER_DFR_bch_31_11alist.csv | 31 +++++++ ...d_dec_fails_BER_FER_DFR_bch_31_26alist.csv | 31 +++++++ .../2d_dec_fails_BER_FER_DFR_bch_7_4alist.csv | 31 +++++++ ...s_w_log_k_lin_zoomed_in_bch_31_26alist.csv | 80 +++++++++---------- 9 files changed, 259 insertions(+), 41 deletions(-) create mode 100644 sw/sim_results/2d_dec_fails_BER_FER_DFR_2043486alist.csv create mode 100644 sw/sim_results/2d_dec_fails_BER_FER_DFR_20455187alist.csv create mode 100644 sw/sim_results/2d_dec_fails_BER_FER_DFR_40833844alist.csv create mode 100644 sw/sim_results/2d_dec_fails_BER_FER_DFR_963965alist.csv create mode 100644 sw/sim_results/2d_dec_fails_BER_FER_DFR_bch_31_11alist.csv create mode 100644 sw/sim_results/2d_dec_fails_BER_FER_DFR_bch_31_26alist.csv create mode 100644 sw/sim_results/2d_dec_fails_BER_FER_DFR_bch_7_4alist.csv diff --git a/sw/plot_heatmaps.py b/sw/plot_heatmaps.py index 08c0959..bd365aa 100644 --- a/sw/plot_heatmaps.py +++ b/sw/plot_heatmaps.py @@ -50,7 +50,8 @@ def main(): "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv", ] - fig, axes = plt.subplots(2, 3, squeeze=False) + + fig, axes = plt.subplots(2, 2, squeeze=False) fig.suptitle("SNR = 3dB") diff --git a/sw/sim_results/2d_dec_fails_BER_FER_DFR_2043486alist.csv b/sw/sim_results/2d_dec_fails_BER_FER_DFR_2043486alist.csv new file mode 100644 index 0000000..834705c --- /dev/null +++ b/sw/sim_results/2d_dec_fails_BER_FER_DFR_2043486alist.csv @@ -0,0 +1,31 @@ +,BER,FER,DFR,gamma,SNR,num_iter +0,0.08174344200448795,1.0,0.5,0.01,1.5,2001.0 +1,0.2660973434851202,1.0,0.5,0.15,1.0,2001.0 +2,0.06425682160976279,0.9995004995004995,0.4998750936797402,0.01,2.0,2002.0 +3,0.07071558327246849,0.9555873925501432,0.48864468864468863,0.05,1.5,2094.0 +4,0.09996227376507824,1.0,0.5,0.01,1.0,2001.0 +5,0.245548344150441,0.99900149775337,0.49975024975024973,0.15,2.0,2003.0 +6,0.0946627412114499,0.9915758176412289,0.4978850460313511,0.05,1.0,2018.0 +7,0.2544610047917218,1.0,0.5,0.15,1.5,2001.0 +8,0.23792312945078528,0.9955223880597015,0.4988780852655198,0.15,2.5,2010.0 +9,0.049097610202708634,0.9950273495773247,0.49875373878364904,0.01,2.5,2011.0 +10,0.22988037372296766,0.9901039089559623,0.4975136747886624,0.15,3.0,2021.0 +11,0.05005723323197372,0.8917112299465241,0.4713780918727915,0.05,2.0,2244.0 +12,0.035658277049779676,0.9818449460255152,0.4954196583312701,0.01,3.0,2038.0 +13,0.2198147409980449,0.9685382381413359,0.4920088517334645,0.15,3.5,2066.0 +14,0.03203344168856036,0.7573807721423165,0.4308487720809996,0.05,2.5,2642.0 +15,0.017614104465315538,0.5605042016806723,0.35895133776261445,0.05,3.0,3570.0 +16,0.2157615084403066,0.9597122302158273,0.48959608323133413,0.15,4.0,2085.0 +17,0.023731311563268097,0.9429783223374175,0.4853262187727383,0.01,3.5,2122.0 +18,0.21058536675642414,0.9443133553563001,0.48567961165048545,0.15,4.5,2119.0 +19,0.015513436868114811,0.8562259306803595,0.4612724757952974,0.01,4.0,2337.0 +20,0.00951910897884957,0.722121977625406,0.41932103939647947,0.01,4.5,2771.0 +21,0.008626035494981768,0.34393262289446547,0.2551529893739598,0.05,3.5,5818.0 +22,0.21070831433348533,0.9124487004103967,0.4771101573676681,0.15,5.0,2193.0 +23,0.20226007069494464,0.8507653061224489,0.4596829772570641,0.15,5.5,2352.0 +24,0.0037926470588235295,0.1818,0.1527577734474286,0.05,4.0,10000.0 +25,0.0014333333333333333,0.0823,0.07561471621371788,0.05,4.5,10000.0 +26,0.005523989898989899,0.5413961038961039,0.3512374934175882,0.01,5.0,3696.0 +27,0.0004470588235294118,0.0277,0.0267639902676399,0.05,5.0,10000.0 +28,0.00014754901960784315,0.0097,0.009410599306587419,0.05,5.5,10000.0 +29,0.0029390389876880986,0.36355377906976744,0.2666222518321119,0.01,5.5,5504.0 diff --git a/sw/sim_results/2d_dec_fails_BER_FER_DFR_20455187alist.csv b/sw/sim_results/2d_dec_fails_BER_FER_DFR_20455187alist.csv new file mode 100644 index 0000000..95400ab --- /dev/null +++ b/sw/sim_results/2d_dec_fails_BER_FER_DFR_20455187alist.csv @@ -0,0 +1,31 @@ +,BER,FER,DFR,gamma,SNR,num_iter +0,0.1046110751993105,0.9995004995004995,0.4998750936797402,0.01,1.5,2002.0 +1,0.4422862098362583,1.0,0.5,0.15,1.5,2001.0 +2,0.1084222616382193,0.9891250617894216,0.49726640159045726,0.05,1.5,2023.0 +3,0.12337213746068143,1.0,0.5,0.01,1.0,2001.0 +4,0.44165907242457203,1.0,0.5,0.15,2.0,2001.0 +5,0.4484179478888007,1.0,0.5,0.15,1.0,2001.0 +6,0.12869541831695272,0.9980049875311721,0.499500748876685,0.05,1.0,2005.0 +7,0.08553236663927048,0.9985029940119761,0.49962546816479403,0.01,2.0,2004.0 +8,0.4430211364905782,1.0,0.5,0.15,2.5,2001.0 +9,0.06725889560990815,0.9940387481371088,0.49850523168908817,0.01,2.5,2013.0 +10,0.08653809686350362,0.9676015473887815,0.49176701892356844,0.05,2.0,2068.0 +11,0.4309244676891736,0.9995004995004995,0.4998750936797402,0.15,3.5,2002.0 +12,0.4358286543003008,1.0,0.5,0.15,3.0,2001.0 +13,0.04875567456546985,0.9794419970631424,0.4948071216617211,0.01,3.0,2043.0 +14,0.06279312254469308,0.883053839364519,0.46894773845793297,0.05,2.5,2266.0 +15,0.04026713174288749,0.7324304538799414,0.42277625184872175,0.05,3.0,2732.0 +16,0.41346313862539524,0.99900149775337,0.49975024975024973,0.15,4.0,2003.0 +17,0.03254116185150668,0.9324324324324325,0.4825174825174825,0.01,3.5,2146.0 +18,0.3944734424178445,0.9975074775672981,0.4993760918392813,0.15,4.5,2006.0 +19,0.019327675114810112,0.7997601918465228,0.44437041972018654,0.01,4.0,2502.0 +20,0.02119180576784354,0.514792899408284,0.33984375,0.05,3.5,3887.0 +21,0.010354498609869017,0.6208501396214707,0.38303981623277183,0.01,4.5,3223.0 +22,0.36320109439124487,0.9901039089559623,0.4975136747886624,0.15,5.0,2021.0 +23,0.31656233922140287,0.9723032069970845,0.49297856614929786,0.15,5.5,2058.0 +24,0.009139405661199933,0.2696402102142568,0.21237529187009127,0.05,4.0,7421.0 +25,0.0030401960784313727,0.1096,0.09877433309300648,0.05,4.5,10000.0 +26,0.0008284313725490197,0.0355,0.034282955094157415,0.05,5.0,10000.0 +27,0.00017598039215686273,0.0083,0.008231677080234057,0.05,5.5,10000.0 +28,0.004761766639594694,0.3946745562130177,0.28298684768773863,0.01,5.0,5070.0 +29,0.0019259189875525582,0.2124203821656051,0.17520357236669293,0.01,5.5,9420.0 diff --git a/sw/sim_results/2d_dec_fails_BER_FER_DFR_40833844alist.csv b/sw/sim_results/2d_dec_fails_BER_FER_DFR_40833844alist.csv new file mode 100644 index 0000000..39cb42a --- /dev/null +++ b/sw/sim_results/2d_dec_fails_BER_FER_DFR_40833844alist.csv @@ -0,0 +1,31 @@ +,BER,FER,DFR,gamma,SNR,num_iter +0,0.09318128448984384,1.0,0.5,0.05,1.0,501.0 +1,0.06388203984188486,1.0,0.5,0.01,2.0,501.0 +2,0.07005515924063463,0.9960238568588469,0.499003984063745,0.05,1.5,503.0 +3,0.22394916050252436,1.0,0.5,0.15,1.5,501.0 +4,0.2406265899573402,1.0,0.5,0.15,1.0,501.0 +5,0.08067198935462408,1.0,0.5,0.01,1.5,501.0 +6,0.20949277914758718,1.0,0.5,0.15,2.0,501.0 +7,0.09878282650385503,1.0,0.5,0.01,1.0,501.0 +8,0.04721928691636335,1.0,0.5,0.01,2.5,501.0 +9,0.04742887351018839,0.9823529411764705,0.49554896142433236,0.05,2.0,510.0 +10,0.19048178153496928,1.0,0.5,0.15,3.0,501.0 +11,0.19724766153966578,1.0,0.5,0.15,2.5,501.0 +12,0.03396638096356307,1.0,0.5,0.01,3.0,501.0 +13,0.028793377387787526,0.9226519337016574,0.47988505747126436,0.05,2.5,543.0 +14,0.18215529724863996,1.0,0.5,0.15,3.5,501.0 +15,0.01631975867269985,0.7707692307692308,0.43527367506516074,0.05,3.0,650.0 +16,0.024121529800038826,0.9920792079207921,0.49801192842942343,0.01,3.5,505.0 +17,0.17944013932918476,1.0,0.5,0.15,4.0,501.0 +18,0.015578507667658503,0.9747081712062257,0.4935960591133005,0.01,4.0,514.0 +19,0.17756913522381065,0.99800796812749,0.4995014955134596,0.15,4.5,502.0 +20,0.009686994063680518,0.9192660550458716,0.4789674952198853,0.01,4.5,545.0 +21,0.007932944170034427,0.5463467829880043,0.3533145275035261,0.05,3.5,917.0 +22,0.18440453870791346,0.99800796812749,0.4995014955134596,0.15,5.0,502.0 +23,0.19678423637699655,0.9881656804733728,0.49702380952380953,0.15,5.5,507.0 +24,0.005830422056463035,0.8041733547351525,0.445729537366548,0.01,5.0,623.0 +25,0.003240451026746396,0.29609929078014185,0.22845417236662108,0.05,4.0,1692.0 +26,0.003136526887982916,0.620049504950495,0.3827349121466769,0.01,5.5,808.0 +27,0.0011037773714489586,0.12661106899166036,0.11238223418573351,0.05,4.5,3957.0 +28,8.995098039215687e-05,0.0142,0.014001183198580161,0.05,5.5,10000.0 +29,0.0003431372549019608,0.0479,0.04571046855615994,0.05,5.0,10000.0 diff --git a/sw/sim_results/2d_dec_fails_BER_FER_DFR_963965alist.csv b/sw/sim_results/2d_dec_fails_BER_FER_DFR_963965alist.csv new file mode 100644 index 0000000..796a53f --- /dev/null +++ b/sw/sim_results/2d_dec_fails_BER_FER_DFR_963965alist.csv @@ -0,0 +1,31 @@ +,BER,FER,DFR,gamma,SNR,num_iter +0,0.31744393790044356,0.9862000985707245,0.4964010920824026,0.15,1.0,2029.0 +1,0.3071726624534111,0.9727758872143899,0.4928500986193294,0.15,1.5,2057.0 +2,0.0995416253716551,0.9915758176412289,0.4978850460313511,0.01,1.0,2018.0 +3,0.2865282276723739,0.9259602036094401,0.48040394325559027,0.15,2.0,2161.0 +4,0.08183361802505287,0.9765739385065886,0.49407407407407405,0.01,1.5,2049.0 +5,0.06459232182806009,0.9592521572387345,0.48960117445559087,0.01,2.0,2086.0 +6,0.0935109591056193,0.883053839364519,0.4686987104337632,0.05,1.0,2266.0 +7,0.07177798605630098,0.7896606156274665,0.44049459041731065,0.05,1.5,2534.0 +8,0.27319285923324554,0.8784021071115014,0.4671345029239766,0.15,2.5,2278.0 +9,0.04929341156619113,0.9208467556373677,0.47939626257786294,0.01,2.5,2173.0 +10,0.2392782944202612,0.7918480411555204,0.4411764705882353,0.15,3.0,2527.0 +11,0.03559614301801802,0.8450168918918919,0.4579995422293431,0.01,3.0,2368.0 +12,0.22126012990108448,0.7154093671791205,0.4164406426037972,0.15,3.5,2797.0 +13,0.05033922697368421,0.6582236842105263,0.39646615048640066,0.05,2.0,3040.0 +14,0.03327426975945017,0.5157216494845361,0.3393495658096373,0.05,2.5,3880.0 +15,0.019196118443904134,0.34751649878430013,0.2568404749612803,0.05,3.0,5758.0 +16,0.19385954554995802,0.6300377833753149,0.38521099496709255,0.15,4.0,3176.0 +17,0.02454385801317916,0.7463632972771354,0.42738146091413926,0.01,3.5,2681.0 +18,0.16325028561385008,0.5275507513841287,0.3444521258209471,0.15,4.5,3793.0 +19,0.01573297764227642,0.6100609756097561,0.3789055103200151,0.01,4.0,3280.0 +20,0.00959308745583039,0.441916961130742,0.30647878695052844,0.01,4.5,4528.0 +21,0.14340237543453072,0.46373117033603706,0.31573104979384714,0.15,5.0,4315.0 +22,0.004886458333333333,0.1121,0.10007199424046076,0.05,4.0,10000.0 +23,0.01051071741032371,0.21007874015748032,0.17274622199062012,0.05,3.5,9525.0 +24,0.002128125,0.054,0.05060286717934112,0.05,4.5,10000.0 +25,0.12758979077216656,0.40911878961357595,0.2898214026426601,0.15,5.5,4891.0 +26,0.0008333333333333334,0.0229,0.022004889975550123,0.05,5.0,10000.0 +27,0.005603177099716892,0.31472161056936143,0.23938270128005742,0.01,5.0,6358.0 +28,0.0003,0.0083,0.00813330688355485,0.05,5.5,10000.0 +29,0.0030947916666666667,0.1986,0.16569330886033706,0.01,5.5,10000.0 diff --git a/sw/sim_results/2d_dec_fails_BER_FER_DFR_bch_31_11alist.csv b/sw/sim_results/2d_dec_fails_BER_FER_DFR_bch_31_11alist.csv new file mode 100644 index 0000000..027b145 --- /dev/null +++ b/sw/sim_results/2d_dec_fails_BER_FER_DFR_bch_31_11alist.csv @@ -0,0 +1,31 @@ +,BER,FER,DFR,gamma,SNR,num_iter +0,0.4593252986364363,0.9443002124144442,0.48480058365758755,0.15,1.0,4237.0 +1,0.4441881918819188,0.922739852398524,0.47897140110550346,0.15,1.5,4336.0 +2,0.4327428010848866,0.8946779964221825,0.47126980373610783,0.15,2.0,4472.0 +3,0.15057000702236698,0.9265863825845299,0.48094722923428296,0.01,1.0,4318.0 +4,0.13133021158515434,0.8962813620071685,0.47265209686946247,0.01,1.5,4464.0 +5,0.11177136389360498,0.8560119811724433,0.46121037463976944,0.01,2.0,4674.0 +6,0.14590133604683433,0.8195411716509627,0.45034902049088044,0.05,1.0,4882.0 +7,0.1241766593480831,0.7481301421091997,0.4278990158322636,0.05,1.5,5348.0 +8,0.4083740977662231,0.8485683987274656,0.45792136123246724,0.15,2.5,4715.0 +9,0.3883602795183208,0.799560351718625,0.44288577154308617,0.15,3.0,5004.0 +10,0.09025286773559794,0.7860510805500982,0.4401055989440106,0.01,2.5,5090.0 +11,0.35774570380959786,0.7418876321157055,0.42462391976955083,0.15,3.5,5393.0 +12,0.0997422998001618,0.6645075568842385,0.3992217122330872,0.05,2.0,6021.0 +13,0.07331588819674409,0.7180545585068198,0.41794630732267835,0.01,3.0,5572.0 +14,0.07996614205454478,0.576845444059977,0.3658224375971473,0.05,2.5,6936.0 +15,0.06217961599230881,0.4887016000977159,0.3282737118477191,0.05,3.0,8187.0 +16,0.3186328497017871,0.6599043377865743,0.3959350403507024,0.15,4.0,6063.0 +17,0.059244221875825356,0.6423181891154278,0.3911045943304008,0.01,3.5,6229.0 +18,0.2824240010619939,0.5880364491475603,0.3684796732875441,0.15,4.5,6804.0 +19,0.044922341696535244,0.5488340192043896,0.35435302453281375,0.01,4.0,7290.0 +20,0.03274193548387097,0.3019,0.23189185037253246,0.05,4.0,10000.0 +21,0.04605806451612903,0.391,0.28109273903666426,0.05,3.5,10000.0 +22,0.021712903225806452,0.2209,0.18093209927102957,0.05,4.5,10000.0 +23,0.032901167875700986,0.45579858737753476,0.3130917912199703,0.01,4.5,8778.0 +24,0.24905991265197377,0.5228698379508625,0.34153687290250406,0.15,5.0,7652.0 +25,0.013851612903225806,0.1559,0.1348732589324336,0.05,5.0,10000.0 +26,0.008290322580645161,0.1028,0.09321726514327167,0.05,5.5,10000.0 +27,0.20425865835295115,0.4384177076484769,0.3025068786303883,0.15,5.5,9126.0 +28,0.023106451612903225,0.3677,0.26884550705564086,0.01,5.0,10000.0 +29,0.015467741935483871,0.2789,0.21807803581202595,0.01,5.5,10000.0 diff --git a/sw/sim_results/2d_dec_fails_BER_FER_DFR_bch_31_26alist.csv b/sw/sim_results/2d_dec_fails_BER_FER_DFR_bch_31_26alist.csv new file mode 100644 index 0000000..0f7ba29 --- /dev/null +++ b/sw/sim_results/2d_dec_fails_BER_FER_DFR_bch_31_26alist.csv @@ -0,0 +1,31 @@ +,BER,FER,DFR,gamma,SNR,num_iter +0,0.39489685336240515,0.8048682357674513,0.32339730502245817,0.15,1.0,4971.0 +1,0.3577840112201964,0.7248188405797101,0.2980671414038657,0.15,1.5,5520.0 +2,0.06933562585073888,0.8077932566121543,0.43179993116898013,0.01,1.0,4953.0 +3,0.31694436294569095,0.6384234881123344,0.26770273428371116,0.15,2.0,6267.0 +4,0.06956611357312172,0.710152644657437,0.36281384302194075,0.05,1.0,5634.0 +5,0.05689667449975076,0.736019131714496,0.4106678230702515,0.01,1.5,5436.0 +6,0.04561304895439736,0.6455308163923846,0.37858431922999797,0.01,2.0,6198.0 +7,0.0559084198600205,0.6083320662916223,0.3304489463504021,0.05,1.5,6577.0 +8,0.26507824305505584,0.5249967195906049,0.23476252635806807,0.15,2.5,7621.0 +9,0.04437619545695105,0.5168582870430177,0.3002802133236916,0.05,2.0,7741.0 +10,0.035212899660394516,0.5527770102238188,0.34657398212512414,0.01,2.5,7238.0 +11,0.22174276888321046,0.42713782427671615,0.1983053748716193,0.15,3.0,9367.0 +12,0.16953548387096773,0.333,0.15789473684210525,0.15,3.5,10000.0 +13,0.03293853117819351,0.40772444716192807,0.2540478905359179,0.05,2.5,9813.0 +14,0.02592082923778036,0.4433240997229917,0.2989746776448656,0.01,3.0,9025.0 +15,0.023109677419354838,0.3018,0.20178799489144317,0.05,3.0,10000.0 +16,0.12961290322580646,0.2454,0.11559211108163085,0.15,4.0,10000.0 +17,0.015158064516129032,0.2093,0.150237933378654,0.05,3.5,10000.0 +18,0.01874193548387097,0.3567,0.25556465420978186,0.01,3.5,10000.0 +19,0.0938741935483871,0.1724,0.07638311628336567,0.15,4.5,10000.0 +20,0.009425806451612903,0.1357,0.10418346322673117,0.05,4.0,10000.0 +21,0.01248709677419355,0.2566,0.1986537382803109,0.01,4.0,10000.0 +22,0.005474193548387097,0.0823,0.06489620347858613,0.05,4.5,10000.0 +23,0.00797741935483871,0.1781,0.14624775890036712,0.01,4.5,10000.0 +24,0.062477419354838706,0.1123,0.04561939301393396,0.15,5.0,10000.0 +25,0.0026064516129032256,0.0651,0.059089198343996986,0.01,5.5,10000.0 +26,0.002893548387096774,0.0442,0.035214664737095995,0.05,5.0,10000.0 +27,0.004806451612903226,0.1126,0.09763580581122541,0.01,5.0,10000.0 +28,0.0367,0.0671,0.0249609984399376,0.15,5.5,10000.0 +29,0.0014096774193548386,0.0223,0.017102417928051897,0.05,5.5,10000.0 diff --git a/sw/sim_results/2d_dec_fails_BER_FER_DFR_bch_7_4alist.csv b/sw/sim_results/2d_dec_fails_BER_FER_DFR_bch_7_4alist.csv new file mode 100644 index 0000000..3ca210d --- /dev/null +++ b/sw/sim_results/2d_dec_fails_BER_FER_DFR_bch_7_4alist.csv @@ -0,0 +1,31 @@ +,BER,FER,DFR,gamma,SNR,num_iter +0,0.05765714285714286,0.1862,0.09181727363545546,0.15,1.5,10000.0 +1,0.046,0.1496,0.0741598000185168,0.15,2.0,10000.0 +2,0.07122857142857143,0.2265,0.11260981453545124,0.15,1.0,10000.0 +3,0.06861428571428571,0.2885,0.19198448610213317,0.01,1.5,10000.0 +4,0.08325714285714286,0.3364,0.21562475488273591,0.01,1.0,10000.0 +5,0.07385714285714286,0.2451,0.13262208344175558,0.05,1.0,10000.0 +6,0.06,0.2024,0.10976586842339535,0.05,1.5,10000.0 +7,0.055971428571428575,0.2421,0.16652775462577096,0.01,2.0,10000.0 +8,0.035442857142857144,0.1157,0.06015037593984962,0.15,2.5,10000.0 +9,0.026214285714285714,0.0868,0.0447989301748018,0.15,3.0,10000.0 +10,0.019185714285714285,0.0643,0.03316252537948371,0.15,3.5,10000.0 +11,0.03702857142857143,0.1268,0.07261430028748957,0.05,2.5,10000.0 +12,0.04687142857142857,0.1591,0.09090909090909091,0.05,2.0,10000.0 +13,0.04367142857142857,0.1955,0.1409672708530195,0.01,2.5,10000.0 +14,0.03451428571428571,0.1611,0.12072452299305372,0.01,3.0,10000.0 +15,0.027357142857142858,0.0953,0.054373522458628844,0.05,3.0,10000.0 +16,0.021057142857142858,0.0739,0.04269576871529772,0.05,3.5,10000.0 +17,0.013957142857142857,0.0469,0.0249609984399376,0.15,4.0,10000.0 +18,0.027785714285714285,0.1316,0.10088113648624349,0.01,3.5,10000.0 +19,0.020271428571428572,0.0996,0.07927446828100543,0.01,4.0,10000.0 +20,0.014685714285714286,0.0522,0.030725986236309004,0.05,4.0,10000.0 +21,0.013985714285714285,0.0708,0.05793688177107866,0.01,4.5,10000.0 +22,0.009257142857142858,0.0313,0.01603857128800551,0.15,4.5,10000.0 +23,0.0098,0.0351,0.0199921599372795,0.05,4.5,10000.0 +24,0.004957142857142857,0.0276,0.023055881203595155,0.01,5.5,10000.0 +25,0.004714285714285714,0.0171,0.007542675664946407,0.05,5.0,10000.0 +26,0.004714285714285714,0.0163,0.0065567256109676135,0.15,5.0,10000.0 +27,0.008071428571428571,0.0439,0.03651604200790057,0.01,5.0,10000.0 +28,0.0026714285714285716,0.0093,0.003686360466274783,0.15,5.5,10000.0 +29,0.0027285714285714287,0.0099,0.004380724810832338,0.05,5.5,10000.0 diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv index fcbf93d..539778e 100644 --- a/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv +++ b/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv @@ -1,41 +1,41 @@ ,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 -0.5011872336272722,0.4767,0.4753,0.4742,0.4739,0.4738,0.4733,0.4726,0.4725,0.4796,0.4795,0.4795,0.4791,0.4789,0.4789,0.4788,0.4788,0.4745,0.4745,0.4745,0.4742,0.4742,0.4742,0.4742,0.474,0.4681,0.4681,0.468,0.468,0.4679,0.4679,0.4678,0.4678,0.4653,0.465,0.4649,0.4648,0.4647,0.4646,0.4646,0.4646 -0.4319014035579926,0.4579,0.4548,0.4533,0.4527,0.447,0.451,0.4459,0.4502,0.4454,0.4497,0.4452,0.4497,0.4372,0.4447,0.437,0.4445,0.4369,0.4441,0.4366,0.4438,0.4484,0.4363,0.4482,0.4362,0.4482,0.4362,0.4481,0.436,0.448,0.4478,0.4479,0.4477,0.4479,0.4476,0.4478,0.4475,0.4445,0.4476,0.4444,0.4475 -0.37219388260414266,0.4312,0.4256,0.424,0.4254,0.4189,0.423,0.4191,0.4186,0.4223,0.4335,0.4174,0.422,0.4171,0.4327,0.4215,0.4214,0.4325,0.4223,0.4211,0.4322,0.4211,0.4222,0.4321,0.4321,0.4222,0.4155,0.432,0.4219,0.432,0.4218,0.4152,0.4218,0.4151,0.4198,0.4217,0.415,0.4217,0.4149,0.4194,0.4149 -0.32074053269277175,0.4133,0.3999,0.3936,0.3899,0.39,0.386,0.3894,0.3863,0.3851,0.3834,0.3833,0.3871,0.3836,0.3833,0.3753,0.3817,0.3815,0.3851,0.3741,0.381,0.3851,0.3808,0.3863,0.3847,0.3736,0.3845,0.3844,0.3856,0.3735,0.3843,0.3735,0.3768,0.3855,0.3734,0.3734,0.3766,0.3855,0.3734,0.3854,0.3764 -0.276400269107749,0.393,0.3822,0.3714,0.3584,0.3585,0.3488,0.346,0.3485,0.342,0.3408,0.3399,0.349,0.3445,0.3439,0.3435,0.3389,0.3431,0.3429,0.3428,0.3383,0.3371,0.3369,0.3366,0.3442,0.3364,0.3362,0.3362,0.3452,0.343,0.3429,0.3429,0.3357,0.3426,0.3426,0.3424,0.3355,0.3353,0.3353,0.3351,0.3439 -0.23818975457029212,0.38,0.3539,0.3402,0.3406,0.3295,0.3295,0.3239,0.3199,0.3177,0.316,0.3068,0.305,0.3006,0.3027,0.3021,0.3017,0.3008,0.3002,0.3009,0.3001,0.2946,0.2989,0.2981,0.298,0.2979,0.2976,0.2934,0.293,0.2915,0.2926,0.2925,0.2924,0.2922,0.2922,0.2917,0.2916,0.2947,0.2914,0.2914,0.291 -0.20526159169598815,0.3626,0.3371,0.3216,0.3102,0.299,0.2938,0.2885,0.284,0.2804,0.2771,0.2759,0.2741,0.2696,0.2673,0.2703,0.2686,0.2682,0.2669,0.2659,0.2656,0.2641,0.257,0.2639,0.2584,0.2627,0.2621,0.2575,0.2573,0.2613,0.261,0.2568,0.2527,0.2561,0.2557,0.2521,0.2519,0.2551,0.2653,0.2517,0.2589 -0.1768855302008251,0.3513,0.3273,0.2995,0.2976,0.2777,0.2804,0.2761,0.2752,0.2648,0.262,0.2652,0.2631,0.2614,0.2536,0.2552,0.2517,0.2564,0.2553,0.2485,0.2473,0.2465,0.252,0.2486,0.2483,0.245,0.2446,0.2472,0.247,0.2468,0.2436,0.2501,0.2452,0.2457,0.2455,0.2444,0.2443,0.2441,0.2447,0.245,0.2487 -0.15243227208706556,0.3625,0.3289,0.3051,0.2947,0.285,0.2786,0.2726,0.2627,0.2593,0.2424,0.2532,0.2512,0.2488,0.2476,0.2463,0.2491,0.2316,0.2331,0.2293,0.2282,0.2276,0.2273,0.2269,0.2392,0.2282,0.2415,0.2276,0.2275,0.2274,0.2271,0.227,0.2236,0.2399,0.2306,0.2394,0.2394,0.2393,0.2392,0.239,0.226 -0.13135951565537832,0.3568,0.3197,0.2971,0.285,0.2724,0.2644,0.2579,0.2583,0.2511,0.2444,0.2504,0.2437,0.2418,0.2409,0.2388,0.2344,0.2364,0.2354,0.2321,0.2344,0.2336,0.2307,0.2322,0.2315,0.2296,0.2313,0.2307,0.2291,0.229,0.2301,0.2288,0.2282,0.2296,0.2285,0.2296,0.2294,0.2293,0.2275,0.2292,0.2301 -0.11319992884026403,0.3614,0.3179,0.2952,0.2831,0.2721,0.2658,0.2586,0.2559,0.2487,0.2446,0.2452,0.2385,0.2366,0.2381,0.2364,0.2333,0.2321,0.2338,0.231,0.2282,0.2275,0.2292,0.229,0.2264,0.2314,0.2276,0.225,0.2255,0.2254,0.224,0.224,0.2246,0.2262,0.2235,0.2245,0.2212,0.221,0.2243,0.2241,0.221 -0.09755078515254997,0.3625,0.3219,0.2962,0.2822,0.2692,0.264,0.2525,0.2467,0.2447,0.24,0.2379,0.2395,0.2374,0.2316,0.2304,0.2292,0.2326,0.227,0.2305,0.2338,0.2334,0.2247,0.2288,0.2283,0.2322,0.2275,0.2318,0.2346,0.2346,0.227,0.2307,0.2307,0.234,0.2302,0.2337,0.2332,0.2331,0.2299,0.2329,0.2327 -0.08406503238449185,0.3796,0.3266,0.3074,0.293,0.2794,0.27,0.2652,0.2601,0.2534,0.2534,0.2506,0.2403,0.2378,0.2359,0.2428,0.2384,0.2334,0.2366,0.2365,0.2346,0.2343,0.2342,0.2336,0.2294,0.2333,0.2283,0.2283,0.2274,0.2271,0.227,0.2279,0.2323,0.2265,0.2319,0.2317,0.224,0.224,0.2238,0.2307,0.226 -0.07244359600749903,0.3865,0.3319,0.3046,0.2901,0.2762,0.268,0.2626,0.2522,0.2509,0.2473,0.2433,0.2377,0.2359,0.2348,0.2352,0.231,0.2321,0.2323,0.2315,0.2333,0.2331,0.2331,0.225,0.232,0.2287,0.2239,0.2238,0.2283,0.2282,0.2282,0.2304,0.2275,0.222,0.2302,0.2301,0.2292,0.2292,0.2288,0.2266,0.2288 -0.06242874657437091,0.4027,0.3392,0.3105,0.2952,0.2814,0.2733,0.2666,0.2573,0.2557,0.2505,0.2458,0.2474,0.2425,0.2439,0.2369,0.2399,0.2343,0.2333,0.2377,0.2449,0.2301,0.2438,0.2353,0.2429,0.2343,0.2337,0.2411,0.2323,0.2331,0.232,0.2398,0.2316,0.2393,0.2392,0.2312,0.2285,0.2389,0.2285,0.2307,0.2281 -0.05379838403443687,0.407,0.351,0.3177,0.3026,0.2862,0.281,0.2699,0.2601,0.2553,0.2529,0.2468,0.24,0.2411,0.2419,0.2373,0.2321,0.2312,0.2337,0.2291,0.2335,0.2278,0.2321,0.226,0.2314,0.2313,0.2251,0.2307,0.2365,0.2299,0.2243,0.2292,0.2355,0.2351,0.2288,0.2347,0.2318,0.2344,0.2277,0.2343,0.2314 -0.04636111220443666,0.4216,0.358,0.3285,0.3111,0.296,0.2866,0.2791,0.2688,0.2639,0.2552,0.2504,0.2477,0.2457,0.2429,0.244,0.2395,0.2386,0.2377,0.2369,0.2433,0.235,0.2419,0.2359,0.2344,0.2338,0.2403,0.2399,0.2271,0.2396,0.2261,0.233,0.2385,0.2384,0.2256,0.2256,0.2345,0.2254,0.234,0.2379,0.2251 -0.03995199416132174,0.4317,0.3716,0.3356,0.3178,0.3005,0.2917,0.2772,0.2697,0.2642,0.2533,0.2571,0.2493,0.2466,0.2454,0.2424,0.2403,0.2395,0.2429,0.2388,0.2367,0.2419,0.235,0.2412,0.2406,0.2404,0.2341,0.2329,0.2394,0.2365,0.2389,0.236,0.2357,0.2356,0.2314,0.2377,0.2353,0.2325,0.2344,0.2324,0.2322 -0.034428894424011175,0.4472,0.3766,0.3446,0.3204,0.2985,0.2877,0.2853,0.2759,0.2699,0.2566,0.2523,0.2481,0.249,0.2468,0.2463,0.2381,0.237,0.2412,0.24,0.2389,0.2437,0.243,0.2317,0.2358,0.2355,0.2406,0.2402,0.2397,0.2342,0.234,0.2335,0.2386,0.2384,0.2332,0.2329,0.2329,0.2359,0.2356,0.2377,0.2325 -0.02966932680439932,0.4764,0.3903,0.3491,0.3307,0.3118,0.2971,0.287,0.2766,0.2714,0.2647,0.2602,0.2603,0.2497,0.2512,0.2489,0.2471,0.2489,0.2443,0.2432,0.2394,0.2417,0.234,0.2333,0.2331,0.2367,0.2317,0.2314,0.2398,0.2308,0.2354,0.2351,0.2346,0.2392,0.2341,0.2341,0.2283,0.2338,0.2401,0.2399,0.2398 -0.02556773802217524,0.4794,0.3981,0.3563,0.341,0.3235,0.3058,0.2964,0.2849,0.2789,0.2722,0.2694,0.2613,0.2603,0.2547,0.2595,0.257,0.2559,0.2533,0.2434,0.2509,0.2414,0.2491,0.2411,0.2401,0.239,0.2384,0.2459,0.2372,0.2451,0.2361,0.2346,0.2344,0.2343,0.2342,0.2353,0.2339,0.2346,0.2336,0.2433,0.243 -0.022033166841980884,0.5191,0.4191,0.3574,0.3468,0.3198,0.3075,0.3055,0.2881,0.2883,0.2754,0.2703,0.2643,0.2606,0.2658,0.2534,0.2522,0.2485,0.2484,0.2468,0.2457,0.2366,0.2433,0.2434,0.235,0.2424,0.2339,0.2335,0.233,0.235,0.2404,0.2321,0.234,0.2313,0.2338,0.2337,0.2335,0.2426,0.2299,0.2328,0.2422 -0.018987226819420607,0.5333,0.4211,0.373,0.3513,0.3228,0.3221,0.3032,0.2918,0.2863,0.2869,0.2727,0.2672,0.2627,0.2602,0.2547,0.2637,0.2511,0.2502,0.2459,0.245,0.2397,0.2426,0.237,0.2447,0.236,0.24,0.2353,0.2347,0.2363,0.234,0.2354,0.2381,0.235,0.2321,0.2348,0.2347,0.2335,0.2345,0.2326,0.2307 -0.01636236791913265,0.5579,0.4252,0.37,0.3466,0.3352,0.3221,0.3043,0.2953,0.2928,0.2849,0.2742,0.2727,0.2601,0.2571,0.2625,0.26,0.2491,0.2464,0.2461,0.2431,0.2483,0.2474,0.2397,0.2385,0.2457,0.2449,0.2476,0.2434,0.2389,0.2386,0.2417,0.2411,0.2378,0.2375,0.2339,0.2413,0.2367,0.2411,0.2364,0.2361 -0.01410037845269871,0.5838,0.4473,0.3829,0.3565,0.3386,0.3251,0.3147,0.3042,0.2958,0.2867,0.2887,0.2698,0.2791,0.2695,0.2727,0.2637,0.2619,0.2646,0.256,0.2527,0.253,0.2586,0.2516,0.257,0.2563,0.2499,0.2567,0.2481,0.2487,0.2554,0.2548,0.2475,0.2473,0.2543,0.245,0.2503,0.2532,0.2443,0.2441,0.2525 -0.012151094113758885,0.6092,0.4576,0.3874,0.3596,0.3406,0.3308,0.3182,0.3038,0.2986,0.2908,0.2876,0.2802,0.2852,0.2719,0.2654,0.2669,0.2611,0.2587,0.2595,0.2555,0.2572,0.2531,0.2545,0.2468,0.252,0.2506,0.2487,0.249,0.25,0.2476,0.2423,0.246,0.2419,0.2415,0.2458,0.2408,0.2438,0.2401,0.2433,0.2399 -0.010471285480508996,0.6114,0.4771,0.3943,0.3655,0.3437,0.331,0.3247,0.3104,0.3007,0.2913,0.2856,0.2815,0.2749,0.2719,0.2714,0.2662,0.2655,0.2624,0.2607,0.2606,0.2564,0.2555,0.2572,0.2528,0.2502,0.2533,0.2523,0.2482,0.2515,0.2508,0.247,0.2496,0.2485,0.2454,0.2449,0.2477,0.2444,0.2443,0.2443,0.2454 -0.009023699313641428,0.6449,0.4965,0.4039,0.3873,0.3474,0.344,0.341,0.3153,0.3063,0.3117,0.2981,0.298,0.2809,0.2751,0.2791,0.2846,0.2827,0.2736,0.263,0.2695,0.2603,0.2691,0.2576,0.2644,0.2634,0.2541,0.2651,0.2524,0.2543,0.2474,0.2623,0.2498,0.2491,0.2609,0.2448,0.2601,0.2652,0.2565,0.244,0.2589 -0.007776232388523782,0.6407,0.5151,0.4277,0.3755,0.3612,0.3377,0.3358,0.3226,0.3136,0.3069,0.2896,0.2936,0.2798,0.2845,0.2755,0.2777,0.2718,0.2739,0.2742,0.2702,0.2736,0.2673,0.269,0.264,0.267,0.2624,0.2627,0.2612,0.2547,0.2594,0.2584,0.2604,0.2576,0.2593,0.2564,0.2584,0.2611,0.2579,0.2579,0.2546 -0.006701219539630716,0.6421,0.5353,0.4377,0.385,0.355,0.3522,0.3312,0.3205,0.3172,0.3053,0.3018,0.2939,0.2884,0.2817,0.2815,0.2799,0.2733,0.2777,0.2711,0.2703,0.2686,0.2748,0.2677,0.265,0.269,0.2649,0.2678,0.2672,0.2674,0.2638,0.2657,0.2646,0.2596,0.2642,0.2588,0.2583,0.2573,0.2636,0.2565,0.2564 -0.0057748201281383514,0.644,0.5696,0.4475,0.3952,0.3697,0.3559,0.3366,0.3235,0.325,0.308,0.3048,0.2987,0.2834,0.279,0.2861,0.2821,0.2722,0.2799,0.2802,0.2797,0.2769,0.2757,0.2802,0.2706,0.2737,0.2767,0.2781,0.2775,0.2747,0.2743,0.2651,0.2706,0.2728,0.2748,0.2639,0.2635,0.2736,0.2735,0.2644,0.2596 -0.004976489326327849,0.6494,0.5915,0.4625,0.4068,0.3666,0.35,0.3376,0.3313,0.3224,0.313,0.3074,0.2967,0.2909,0.2859,0.282,0.2822,0.2797,0.2781,0.2813,0.2766,0.2774,0.277,0.2761,0.2731,0.2819,0.2816,0.2814,0.2811,0.271,0.2709,0.2704,0.2798,0.2784,0.2781,0.2686,0.2775,0.2786,0.2782,0.278,0.276 -0.004288522493433697,0.6464,0.6124,0.4783,0.4108,0.3775,0.3651,0.3415,0.3425,0.3359,0.3162,0.3212,0.3004,0.2917,0.2988,0.2847,0.2912,0.2895,0.2797,0.2752,0.2792,0.2769,0.274,0.278,0.2738,0.2737,0.2824,0.2751,0.2782,0.2767,0.2741,0.2775,0.2738,0.2734,0.2834,0.275,0.2715,0.2764,0.2745,0.2711,0.2741 -0.0036956625385264927,0.6547,0.6278,0.4916,0.415,0.3814,0.3588,0.3442,0.3364,0.324,0.3172,0.3138,0.3033,0.2927,0.2856,0.2866,0.28,0.2818,0.2746,0.2761,0.2805,0.272,0.2779,0.2795,0.2714,0.2789,0.2771,0.271,0.2782,0.2766,0.2783,0.2787,0.2762,0.2773,0.2778,0.2758,0.2781,0.2775,0.277,0.2727,0.2772 -0.003184761562887965,0.6499,0.634,0.5176,0.4266,0.3779,0.3634,0.3536,0.342,0.3309,0.3173,0.3149,0.3032,0.2955,0.2956,0.288,0.2846,0.2852,0.2812,0.2824,0.2854,0.2849,0.2793,0.2752,0.2751,0.2788,0.2793,0.2785,0.2815,0.2814,0.2744,0.2831,0.2831,0.2742,0.2791,0.2742,0.2763,0.2763,0.2828,0.281,0.281 -0.002744489278096427,0.6483,0.6448,0.5467,0.4482,0.3923,0.3725,0.355,0.3391,0.339,0.3271,0.3188,0.3118,0.3027,0.2967,0.2909,0.2828,0.2838,0.2862,0.2868,0.2864,0.2843,0.284,0.284,0.2849,0.2839,0.2794,0.2771,0.2769,0.2792,0.279,0.279,0.2819,0.2789,0.2836,0.2838,0.2837,0.2836,0.2836,0.2836,0.2769 -0.0023650817333891625,0.642,0.6484,0.5628,0.4617,0.3982,0.3737,0.3555,0.3478,0.3414,0.3286,0.3241,0.3183,0.3102,0.3045,0.296,0.2903,0.2797,0.2877,0.2829,0.2845,0.2749,0.2842,0.2839,0.2845,0.276,0.2835,0.285,0.2834,0.2758,0.2832,0.2828,0.2738,0.2828,0.2827,0.2777,0.2738,0.2828,0.2737,0.2737,0.2751 -0.0020381247798099637,0.6466,0.644,0.5903,0.473,0.4027,0.3774,0.3552,0.3436,0.3392,0.3268,0.33,0.3218,0.3043,0.2989,0.2986,0.2933,0.292,0.2877,0.2801,0.2793,0.2863,0.2775,0.2782,0.2779,0.2748,0.2771,0.2774,0.2771,0.2833,0.2849,0.2768,0.2767,0.2752,0.2767,0.2767,0.2765,0.2767,0.2828,0.2764,0.2764 -0.0017563674690103848,0.6509,0.645,0.6075,0.4926,0.415,0.3839,0.3637,0.3444,0.342,0.3339,0.3234,0.3203,0.313,0.3016,0.2995,0.294,0.2849,0.2869,0.2806,0.2796,0.2833,0.2845,0.2784,0.2785,0.2856,0.2779,0.2849,0.2851,0.2756,0.2774,0.2848,0.2813,0.2773,0.2847,0.283,0.2768,0.2812,0.2847,0.2768,0.2754 -0.0015135612484362087,0.6495,0.6417,0.6237,0.5118,0.4258,0.3896,0.3649,0.3495,0.3447,0.344,0.3304,0.3279,0.3054,0.2992,0.3025,0.2933,0.2824,0.2877,0.2823,0.2857,0.2846,0.2843,0.2816,0.2765,0.283,0.2853,0.2824,0.2849,0.2834,0.2832,0.2836,0.2818,0.2829,0.2799,0.2755,0.2797,0.2845,0.2845,0.2862,0.2828 +0.5011872336272722,0.479,0.478,0.478,0.478,0.478,0.478,0.478,0.478,0.498,0.498,0.498,0.498,0.497,0.496,0.496,0.496,0.465,0.465,0.465,0.465,0.465,0.465,0.465,0.465,0.487,0.487,0.487,0.487,0.487,0.487,0.487,0.487,0.477,0.477,0.477,0.477,0.477,0.477,0.477,0.477 +0.4319014035579926,0.456,0.456,0.452,0.452,0.452,0.452,0.452,0.456,0.452,0.453,0.453,0.453,0.453,0.452,0.452,0.465,0.452,0.456,0.456,0.456,0.456,0.452,0.456,0.442,0.456,0.465,0.465,0.465,0.465,0.456,0.465,0.435,0.465,0.441,0.441,0.441,0.441,0.465,0.441,0.433 +0.37219388260414266,0.424,0.425,0.423,0.42,0.42,0.406,0.419,0.405,0.409,0.404,0.404,0.416,0.408,0.408,0.404,0.408,0.414,0.406,0.406,0.404,0.393,0.393,0.404,0.393,0.404,0.393,0.393,0.404,0.414,0.414,0.393,0.414,0.404,0.414,0.414,0.392,0.391,0.391,0.414,0.391 +0.32074053269277175,0.386,0.379,0.376,0.391,0.385,0.39,0.38,0.38,0.38,0.363,0.371,0.363,0.363,0.371,0.378,0.371,0.371,0.377,0.375,0.376,0.375,0.375,0.37,0.375,0.375,0.37,0.4,0.37,0.37,0.4,0.373,0.4,0.4,0.373,0.375,0.373,0.373,0.375,0.4,0.375 +0.276400269107749,0.39,0.39,0.338,0.378,0.327,0.371,0.339,0.319,0.351,0.333,0.318,0.33,0.346,0.327,0.318,0.346,0.345,0.318,0.343,0.318,0.344,0.317,0.342,0.344,0.337,0.342,0.343,0.342,0.337,0.342,0.343,0.335,0.34,0.343,0.335,0.343,0.34,0.343,0.335,0.34 +0.23818975457029212,0.395,0.347,0.346,0.333,0.308,0.34,0.316,0.317,0.312,0.33,0.328,0.311,0.307,0.294,0.323,0.303,0.32,0.288,0.286,0.308,0.318,0.299,0.285,0.317,0.284,0.298,0.298,0.297,0.284,0.304,0.297,0.283,0.295,0.303,0.303,0.32,0.295,0.296,0.302,0.295 +0.20526159169598815,0.382,0.345,0.329,0.319,0.29,0.328,0.302,0.317,0.312,0.288,0.307,0.266,0.279,0.264,0.277,0.259,0.276,0.258,0.258,0.274,0.294,0.252,0.294,0.251,0.293,0.251,0.251,0.266,0.271,0.253,0.253,0.27,0.251,0.27,0.269,0.259,0.265,0.249,0.249,0.264 +0.1768855302008251,0.359,0.344,0.326,0.279,0.281,0.285,0.277,0.275,0.266,0.265,0.258,0.255,0.228,0.26,0.259,0.258,0.226,0.224,0.224,0.241,0.245,0.247,0.245,0.245,0.242,0.241,0.241,0.234,0.235,0.221,0.219,0.219,0.235,0.234,0.234,0.256,0.234,0.236,0.236,0.235 +0.15243227208706556,0.355,0.317,0.289,0.273,0.287,0.279,0.278,0.251,0.269,0.243,0.24,0.246,0.229,0.228,0.226,0.227,0.221,0.226,0.226,0.226,0.236,0.235,0.234,0.247,0.234,0.247,0.246,0.226,0.222,0.221,0.221,0.216,0.22,0.216,0.216,0.241,0.224,0.224,0.224,0.23 +0.13135951565537832,0.338,0.315,0.29,0.325,0.281,0.274,0.264,0.243,0.25,0.24,0.233,0.234,0.282,0.281,0.28,0.23,0.277,0.228,0.261,0.226,0.219,0.219,0.219,0.244,0.244,0.218,0.25,0.253,0.243,0.252,0.252,0.269,0.269,0.252,0.225,0.268,0.249,0.249,0.249,0.214 +0.11319992884026403,0.372,0.314,0.292,0.272,0.261,0.255,0.29,0.247,0.237,0.244,0.274,0.23,0.268,0.228,0.253,0.226,0.247,0.226,0.251,0.223,0.223,0.25,0.227,0.222,0.237,0.221,0.226,0.242,0.242,0.225,0.242,0.22,0.217,0.241,0.219,0.233,0.233,0.218,0.233,0.216 +0.09755078515254997,0.352,0.325,0.277,0.274,0.275,0.254,0.245,0.247,0.258,0.237,0.254,0.226,0.241,0.226,0.246,0.223,0.243,0.221,0.242,0.221,0.236,0.221,0.24,0.22,0.216,0.219,0.216,0.232,0.252,0.232,0.215,0.232,0.216,0.232,0.216,0.234,0.239,0.234,0.216,0.234 +0.08406503238449185,0.372,0.347,0.315,0.309,0.277,0.252,0.285,0.281,0.243,0.247,0.267,0.255,0.242,0.226,0.249,0.247,0.238,0.239,0.244,0.22,0.261,0.238,0.22,0.22,0.236,0.258,0.217,0.22,0.241,0.227,0.217,0.217,0.255,0.241,0.236,0.216,0.22,0.233,0.236,0.236 +0.07244359600749903,0.4,0.31,0.313,0.313,0.268,0.252,0.286,0.248,0.253,0.248,0.246,0.244,0.25,0.224,0.246,0.246,0.239,0.238,0.249,0.236,0.233,0.242,0.236,0.233,0.246,0.245,0.242,0.244,0.231,0.232,0.225,0.231,0.241,0.241,0.235,0.241,0.243,0.231,0.251,0.242 +0.06242874657437091,0.414,0.353,0.321,0.3,0.308,0.27,0.272,0.262,0.271,0.242,0.249,0.246,0.246,0.243,0.259,0.258,0.23,0.242,0.255,0.24,0.24,0.231,0.229,0.229,0.239,0.224,0.229,0.228,0.226,0.25,0.238,0.237,0.224,0.22,0.237,0.249,0.248,0.228,0.224,0.217 +0.05379838403443687,0.395,0.332,0.308,0.299,0.287,0.295,0.277,0.257,0.241,0.233,0.235,0.228,0.254,0.226,0.233,0.252,0.222,0.242,0.219,0.239,0.227,0.212,0.218,0.227,0.238,0.238,0.218,0.217,0.217,0.241,0.216,0.217,0.216,0.211,0.215,0.211,0.214,0.232,0.236,0.213 +0.04636111220443666,0.415,0.375,0.305,0.331,0.309,0.305,0.263,0.267,0.279,0.241,0.25,0.258,0.23,0.245,0.218,0.23,0.24,0.215,0.226,0.221,0.214,0.225,0.223,0.209,0.225,0.245,0.209,0.211,0.245,0.209,0.24,0.221,0.207,0.235,0.221,0.244,0.233,0.221,0.225,0.238 +0.03995199416132174,0.417,0.361,0.352,0.324,0.293,0.276,0.29,0.247,0.266,0.238,0.248,0.245,0.237,0.224,0.239,0.229,0.243,0.214,0.213,0.213,0.213,0.228,0.211,0.246,0.233,0.239,0.239,0.239,0.225,0.242,0.239,0.23,0.225,0.23,0.23,0.229,0.239,0.227,0.229,0.209 +0.034428894424011175,0.467,0.387,0.359,0.334,0.307,0.308,0.258,0.284,0.276,0.269,0.257,0.262,0.227,0.244,0.247,0.256,0.249,0.256,0.238,0.254,0.241,0.226,0.236,0.229,0.25,0.229,0.231,0.229,0.236,0.224,0.229,0.223,0.227,0.223,0.243,0.223,0.227,0.264,0.242,0.224 +0.02966932680439932,0.462,0.376,0.359,0.313,0.303,0.308,0.313,0.288,0.258,0.281,0.288,0.285,0.279,0.262,0.259,0.249,0.237,0.236,0.254,0.253,0.253,0.233,0.244,0.241,0.227,0.226,0.241,0.241,0.241,0.225,0.238,0.225,0.265,0.225,0.238,0.238,0.238,0.225,0.223,0.253 +0.02556773802217524,0.503,0.425,0.341,0.329,0.319,0.318,0.319,0.292,0.284,0.281,0.253,0.272,0.27,0.255,0.26,0.255,0.24,0.238,0.233,0.236,0.235,0.237,0.245,0.239,0.225,0.225,0.255,0.223,0.223,0.256,0.232,0.237,0.252,0.252,0.223,0.252,0.252,0.231,0.256,0.229 +0.022033166841980884,0.518,0.391,0.347,0.321,0.3,0.292,0.292,0.265,0.291,0.264,0.278,0.269,0.254,0.245,0.265,0.27,0.239,0.236,0.239,0.232,0.259,0.257,0.229,0.233,0.242,0.256,0.227,0.241,0.227,0.226,0.239,0.228,0.248,0.227,0.253,0.247,0.238,0.238,0.247,0.252 +0.018987226819420607,0.532,0.425,0.352,0.328,0.346,0.325,0.319,0.321,0.272,0.273,0.264,0.286,0.243,0.258,0.246,0.24,0.272,0.256,0.264,0.244,0.267,0.221,0.249,0.265,0.242,0.252,0.23,0.217,0.241,0.23,0.25,0.239,0.214,0.225,0.24,0.228,0.214,0.21,0.225,0.214 +0.01636236791913265,0.563,0.433,0.389,0.319,0.301,0.319,0.285,0.296,0.303,0.272,0.262,0.265,0.252,0.236,0.254,0.238,0.253,0.272,0.244,0.22,0.239,0.234,0.249,0.232,0.221,0.243,0.247,0.228,0.231,0.246,0.222,0.211,0.23,0.215,0.221,0.229,0.243,0.22,0.243,0.225 +0.01410037845269871,0.539,0.442,0.398,0.371,0.318,0.322,0.326,0.276,0.291,0.282,0.273,0.269,0.262,0.268,0.262,0.247,0.252,0.249,0.259,0.26,0.258,0.246,0.24,0.238,0.259,0.259,0.243,0.227,0.227,0.238,0.257,0.252,0.258,0.258,0.235,0.251,0.25,0.252,0.257,0.224 +0.012151094113758885,0.588,0.469,0.386,0.366,0.372,0.329,0.324,0.314,0.29,0.295,0.301,0.281,0.285,0.268,0.256,0.255,0.275,0.26,0.273,0.265,0.275,0.264,0.265,0.265,0.268,0.245,0.268,0.263,0.231,0.262,0.264,0.263,0.265,0.257,0.24,0.228,0.238,0.238,0.264,0.264 +0.010471285480508996,0.616,0.495,0.426,0.359,0.32,0.321,0.313,0.341,0.316,0.286,0.266,0.274,0.296,0.256,0.286,0.277,0.286,0.256,0.276,0.25,0.232,0.27,0.27,0.275,0.24,0.234,0.23,0.23,0.243,0.229,0.269,0.232,0.265,0.24,0.242,0.263,0.239,0.241,0.23,0.237 +0.009023699313641428,0.621,0.481,0.406,0.349,0.363,0.356,0.326,0.313,0.3,0.301,0.286,0.266,0.269,0.247,0.267,0.272,0.254,0.259,0.258,0.277,0.242,0.259,0.26,0.253,0.27,0.236,0.258,0.23,0.261,0.249,0.247,0.235,0.228,0.259,0.246,0.245,0.263,0.249,0.233,0.256 +0.007776232388523782,0.641,0.547,0.409,0.382,0.358,0.301,0.291,0.307,0.329,0.317,0.301,0.296,0.282,0.275,0.273,0.25,0.282,0.259,0.279,0.239,0.255,0.272,0.276,0.27,0.231,0.241,0.23,0.262,0.236,0.27,0.271,0.269,0.261,0.26,0.266,0.261,0.266,0.247,0.226,0.247 +0.006701219539630716,0.652,0.554,0.434,0.401,0.358,0.344,0.331,0.325,0.278,0.304,0.289,0.299,0.278,0.255,0.284,0.271,0.268,0.285,0.281,0.273,0.281,0.263,0.258,0.276,0.28,0.269,0.277,0.253,0.263,0.271,0.281,0.275,0.261,0.248,0.253,0.28,0.245,0.271,0.263,0.25 +0.0057748201281383514,0.622,0.618,0.432,0.398,0.404,0.385,0.339,0.327,0.324,0.332,0.329,0.3,0.297,0.288,0.307,0.287,0.262,0.273,0.272,0.296,0.276,0.294,0.266,0.272,0.285,0.312,0.311,0.261,0.255,0.259,0.308,0.254,0.273,0.274,0.273,0.307,0.281,0.307,0.281,0.273 +0.004976489326327849,0.655,0.601,0.48,0.386,0.363,0.342,0.342,0.353,0.343,0.316,0.322,0.311,0.332,0.298,0.31,0.279,0.277,0.304,0.301,0.299,0.285,0.298,0.266,0.273,0.266,0.272,0.267,0.266,0.285,0.266,0.285,0.312,0.284,0.312,0.266,0.266,0.293,0.266,0.271,0.276 +0.004288522493433697,0.664,0.599,0.471,0.411,0.376,0.351,0.353,0.334,0.339,0.317,0.311,0.293,0.307,0.279,0.309,0.292,0.281,0.29,0.262,0.262,0.299,0.29,0.272,0.26,0.287,0.26,0.259,0.277,0.268,0.277,0.27,0.257,0.258,0.257,0.275,0.269,0.27,0.285,0.285,0.274 +0.0036956625385264927,0.646,0.637,0.51,0.416,0.388,0.368,0.343,0.334,0.326,0.32,0.301,0.311,0.29,0.293,0.29,0.265,0.285,0.289,0.285,0.283,0.285,0.289,0.28,0.28,0.281,0.264,0.28,0.296,0.28,0.264,0.281,0.271,0.294,0.26,0.281,0.291,0.281,0.259,0.29,0.281 +0.003184761562887965,0.64,0.641,0.517,0.432,0.376,0.392,0.359,0.335,0.345,0.339,0.336,0.313,0.32,0.309,0.286,0.287,0.267,0.267,0.269,0.283,0.268,0.267,0.284,0.302,0.283,0.301,0.274,0.297,0.274,0.301,0.282,0.264,0.281,0.263,0.269,0.293,0.269,0.263,0.281,0.274 +0.002744489278096427,0.648,0.644,0.531,0.448,0.384,0.371,0.354,0.337,0.362,0.343,0.347,0.306,0.321,0.286,0.279,0.299,0.277,0.298,0.276,0.293,0.27,0.303,0.291,0.303,0.274,0.267,0.274,0.303,0.275,0.269,0.303,0.274,0.278,0.301,0.277,0.273,0.271,0.275,0.273,0.274 +0.0023650817333891625,0.648,0.644,0.57,0.434,0.404,0.383,0.354,0.342,0.329,0.332,0.323,0.313,0.31,0.322,0.28,0.301,0.281,0.283,0.303,0.274,0.3,0.275,0.292,0.304,0.299,0.272,0.286,0.29,0.286,0.274,0.304,0.275,0.286,0.29,0.279,0.301,0.277,0.279,0.273,0.274 +0.0020381247798099637,0.648,0.668,0.582,0.503,0.404,0.4,0.371,0.345,0.342,0.324,0.334,0.325,0.312,0.31,0.298,0.297,0.31,0.28,0.279,0.304,0.301,0.279,0.284,0.302,0.298,0.299,0.28,0.287,0.298,0.279,0.273,0.298,0.294,0.286,0.273,0.282,0.293,0.272,0.291,0.293 +0.0017563674690103848,0.635,0.648,0.586,0.487,0.413,0.389,0.372,0.348,0.359,0.318,0.32,0.326,0.301,0.311,0.284,0.3,0.308,0.308,0.286,0.306,0.294,0.305,0.276,0.306,0.297,0.297,0.276,0.299,0.266,0.297,0.294,0.299,0.279,0.28,0.294,0.296,0.303,0.28,0.265,0.296 +0.0015135612484362087,0.667,0.623,0.607,0.519,0.418,0.415,0.359,0.327,0.366,0.359,0.321,0.332,0.32,0.3,0.291,0.274,0.308,0.305,0.286,0.27,0.276,0.269,0.294,0.274,0.283,0.282,0.276,0.305,0.294,0.265,0.306,0.293,0.268,0.268,0.294,0.297,0.266,0.274,0.257,0.306 From efee7c43133b5dc6e049f1c6c8080552f79bad59 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Tue, 29 Nov 2022 01:13:11 +0100 Subject: [PATCH 39/54] Deleted old simulation results --- sw/sim_results/2043486.csv | 11 ----------- sw/sim_results/2043486_metadata.json | 11 ----------- sw/sim_results/20455187.csv | 11 ----------- sw/sim_results/20455187_metadata.json | 11 ----------- sw/sim_results/40833844.csv | 11 ----------- sw/sim_results/40833844_metadata.json | 11 ----------- sw/sim_results/8161a4845.csv | 11 ----------- sw/sim_results/8161a4845_metadata.json | 11 ----------- sw/sim_results/963965.csv | 11 ----------- sw/sim_results/963965_metadata.json | 11 ----------- sw/sim_results/99911135543.csv | 11 ----------- sw/sim_results/99911135543_metadata.json | 11 ----------- sw/sim_results/99911135565.csv | 11 ----------- sw/sim_results/99911135565_metadata.json | 11 ----------- sw/sim_results/pegreg252x504.csv | 11 ----------- sw/sim_results/pegreg252x504_metadata.json | 11 ----------- sw/sim_results/test_e_10.csv | 11 ----------- sw/sim_results/test_e_12.csv | 11 ----------- sw/sim_results/test_e_3.csv | 11 ----------- sw/sim_results/test_e_4.csv | 11 ----------- sw/sim_results/test_e_4_2.csv | 11 ----------- sw/sim_results/test_e_4_2_metadata.json | 11 ----------- sw/sim_results/test_e_5.csv | 11 ----------- sw/sim_results/test_e_5_2.csv | 11 ----------- sw/sim_results/test_omega_1.csv | 11 ----------- 25 files changed, 275 deletions(-) delete mode 100644 sw/sim_results/2043486.csv delete mode 100644 sw/sim_results/2043486_metadata.json delete mode 100644 sw/sim_results/20455187.csv delete mode 100644 sw/sim_results/20455187_metadata.json delete mode 100644 sw/sim_results/40833844.csv delete mode 100644 sw/sim_results/40833844_metadata.json delete mode 100644 sw/sim_results/8161a4845.csv delete mode 100644 sw/sim_results/8161a4845_metadata.json delete mode 100644 sw/sim_results/963965.csv delete mode 100644 sw/sim_results/963965_metadata.json delete mode 100644 sw/sim_results/99911135543.csv delete mode 100644 sw/sim_results/99911135543_metadata.json delete mode 100644 sw/sim_results/99911135565.csv delete mode 100644 sw/sim_results/99911135565_metadata.json delete mode 100644 sw/sim_results/pegreg252x504.csv delete mode 100644 sw/sim_results/pegreg252x504_metadata.json delete mode 100644 sw/sim_results/test_e_10.csv delete mode 100644 sw/sim_results/test_e_12.csv delete mode 100644 sw/sim_results/test_e_3.csv delete mode 100644 sw/sim_results/test_e_4.csv delete mode 100644 sw/sim_results/test_e_4_2.csv delete mode 100644 sw/sim_results/test_e_4_2_metadata.json delete mode 100644 sw/sim_results/test_e_5.csv delete mode 100644 sw/sim_results/test_e_5_2.csv delete mode 100644 sw/sim_results/test_omega_1.csv diff --git a/sw/sim_results/2043486.csv b/sw/sim_results/2043486.csv deleted file mode 100644 index 4416af4..0000000 --- a/sw/sim_results/2043486.csv +++ /dev/null @@ -1,11 +0,0 @@ -,SNR,BER_0,BER_1,BER_2 -0,1.0,0.10563725490196078,0.09682585905649388,0.22583333333333333 -1,1.5,0.08,0.0683067619571193,0.20122549019607844 -2,2.0,0.06259803921568627,0.05018059855521156,0.18916666666666668 -3,2.5,0.05205882352941176,0.029125518820666954,0.18099181420140872 -4,3.0,0.039411764705882354,0.01665640078020737,0.16258169934640523 -5,3.5,0.029266161910308678,0.007462921065862243,0.14732620320855616 -6,4.0,0.022200226244343892,0.003201766930435059,0.12311618862421002 -7,4.5,0.013597612958226769,0.0014110192617440731,0.11709803921568628 -8,5.0,0.008648459383753502,0.00041590809215895537,0.10357142857142858 -9,5.5,0.004875886524822695,0.00014872398470788968,0.10611709472521402 diff --git a/sw/sim_results/2043486_metadata.json b/sw/sim_results/2043486_metadata.json deleted file mode 100644 index 7f877c2..0000000 --- a/sw/sim_results/2043486_metadata.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "duration": 0, - "name": "204.3.486", - "labels": [ - "proximal $\\gamma = 0.01$", - "proximal $\\gamma = 0.05$", - "proximal $\\gamma = 0.15$" - ], - "platform": "Linux-6.0.9-arch1-1-x86_64-with-glibc2.36", - "end_time": "2022-11-23 15:13:09.470306" -} \ No newline at end of file diff --git a/sw/sim_results/20455187.csv b/sw/sim_results/20455187.csv deleted file mode 100644 index 1a121b9..0000000 --- a/sw/sim_results/20455187.csv +++ /dev/null @@ -1,11 +0,0 @@ -,SNR,BER_0,BER_1,BER_2 -0,1.0,0.12745098039215685,0.1317156862745098,0.435343137254902 -1,1.5,0.1032843137254902,0.1073577946029897,0.4167647058823529 -2,2.0,0.0886764705882353,0.09187536400698894,0.4475 -3,2.5,0.06348039215686274,0.06462063086104007,0.4189705882352941 -4,3.0,0.055074971164936565,0.03978257969854609,0.44857843137254905 -5,3.5,0.035550256138491436,0.018195755668522554,0.41799019607843135 -6,4.0,0.023133814929480565,0.006259426847662142,0.4513235294117647 -7,4.5,0.011700300558179477,0.00220798701994459,0.4648378582202112 -8,5.0,0.005628177196804648,0.0005365073064232019,0.5115686274509804 -9,5.5,0.0020973563554775145,8.043597037287447e-05,0.5982224665567162 diff --git a/sw/sim_results/20455187_metadata.json b/sw/sim_results/20455187_metadata.json deleted file mode 100644 index bd033bf..0000000 --- a/sw/sim_results/20455187_metadata.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "duration": 0, - "name": "204.55.187", - "labels": [ - "proximal $\\gamma = 0.01$", - "proximal $\\gamma = 0.05$", - "proximal $\\gamma = 0.15$" - ], - "platform": "Linux-6.0.9-arch1-1-x86_64-with-glibc2.36", - "end_time": "2022-11-23 15:13:09.470306" -} \ No newline at end of file diff --git a/sw/sim_results/40833844.csv b/sw/sim_results/40833844.csv deleted file mode 100644 index e739bdc..0000000 --- a/sw/sim_results/40833844.csv +++ /dev/null @@ -1,11 +0,0 @@ -,SNR,BER_0,BER_1,BER_2 -0,1.0,0.10080882352941177,0.09544117647058824,0.1990686274509804 -1,1.5,0.0811764705882353,0.06887254901960785,0.18088235294117647 -2,2.0,0.06674019607843137,0.05043733179546328,0.15377450980392157 -3,2.5,0.05235294117647059,0.030307315233785822,0.13629901960784313 -4,3.0,0.03963235294117647,0.015560011883541296,0.11936274509803922 -5,3.5,0.02784313725490196,0.006988436400201106,0.10667831489031256 -6,4.0,0.019362745098039216,0.0030565167243367937,0.09600077654824306 -7,4.5,0.014438943894389438,0.001095362298945249,0.1011764705882353 -8,5.0,0.009734554199038107,0.0002930821517592325,0.0927732479130266 -9,5.5,0.005115935262994087,0.0001041452669542788,0.08391574451562803 diff --git a/sw/sim_results/40833844_metadata.json b/sw/sim_results/40833844_metadata.json deleted file mode 100644 index 641964c..0000000 --- a/sw/sim_results/40833844_metadata.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "duration": 0, - "name": "408.33.844", - "labels": [ - "proximal $\\gamma = 0.01$", - "proximal $\\gamma = 0.05$", - "proximal $\\gamma = 0.15$" - ], - "platform": "Linux-6.0.9-arch1-1-x86_64-with-glibc2.36", - "end_time": "2022-11-23 15:13:09.470306" -} \ No newline at end of file diff --git a/sw/sim_results/8161a4845.csv b/sw/sim_results/8161a4845.csv deleted file mode 100644 index ef36a5a..0000000 --- a/sw/sim_results/8161a4845.csv +++ /dev/null @@ -1,11 +0,0 @@ -,SNR,BER_0,BER_1,BER_2 -0,1.0,0.1615441176470588,0.16159313725490196,0.2829289215686275 -1,1.5,0.14033088235294117,0.13708333333333333,0.26653186274509805 -2,2.0,0.11881127450980392,0.10397058823529412,0.25346813725490197 -3,2.5,0.09993872549019608,0.08181372549019608,0.22971813725490195 -4,3.0,0.08060049019607843,0.05144607843137255,0.21645833333333334 -5,3.5,0.06575980392156863,0.0249069535221496,0.19486519607843136 -6,4.0,0.0488235294117647,0.009746588693957114,0.16463235294117648 -7,4.5,0.035134803921568626,0.0021558361564521095,0.15033088235294118 -8,5.0,0.022855392156862744,0.000351575056252009,0.137046568627451 -9,5.5,0.014522058823529412,5.58038513435561e-05,0.12879901960784312 diff --git a/sw/sim_results/8161a4845_metadata.json b/sw/sim_results/8161a4845_metadata.json deleted file mode 100644 index ac1e4ef..0000000 --- a/sw/sim_results/8161a4845_metadata.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "duration": 0, - "name": "816.1A4.845", - "labels": [ - "proximal $\\gamma = 0.01$", - "proximal $\\gamma = 0.05$", - "proximal $\\gamma = 0.15$" - ], - "platform": "Linux-6.0.9-arch1-1-x86_64-with-glibc2.36", - "end_time": "2022-11-23 15:13:09.470306" -} \ No newline at end of file diff --git a/sw/sim_results/963965.csv b/sw/sim_results/963965.csv deleted file mode 100644 index 41058e5..0000000 --- a/sw/sim_results/963965.csv +++ /dev/null @@ -1,11 +0,0 @@ -,SNR,BER_0,BER_1,BER_2 -0,1.0,0.0999795751633987,0.08963373655913978,0.24563492063492062 -1,1.5,0.08741830065359477,0.07678834808259587,0.2594246031746032 -2,2.0,0.07170307443365696,0.047135416666666666,0.24610591900311526 -3,2.5,0.056105610561056105,0.03345458553791887,0.2098731884057971 -4,3.0,0.04147376543209876,0.02209486735870819,0.16597222222222222 -5,3.5,0.028025793650793652,0.008191915011037528,0.13171296296296298 -6,4.0,0.017744252873563217,0.0045138888888888885,0.09421202956989247 -7,4.5,0.012328586497890296,0.0013146575646575647,0.08682983682983683 -8,5.0,0.008111702127659574,0.000641025641025641,0.06716008771929824 -9,5.5,0.005926089517078916,0.00029386036848723417,0.043951023391812866 diff --git a/sw/sim_results/963965_metadata.json b/sw/sim_results/963965_metadata.json deleted file mode 100644 index f02603d..0000000 --- a/sw/sim_results/963965_metadata.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "duration": 0, - "name":"96.3965", - "labels": [ - "proximal $\\gamma = 0.01$", - "proximal $\\gamma = 0.05$", - "proximal $\\gamma = 0.15$" - ], - "platform": "Linux-6.0.9-arch1-1-x86_64-with-glibc2.36", - "end_time": "2022-11-23 15:13:09.470306" -} \ No newline at end of file diff --git a/sw/sim_results/99911135543.csv b/sw/sim_results/99911135543.csv deleted file mode 100644 index 18e4195..0000000 --- a/sw/sim_results/99911135543.csv +++ /dev/null @@ -1,11 +0,0 @@ -,SNR,BER_0,BER_1,BER_2 -0,1.0,0.06862862862862863,0.0705005005005005,0.5143343343343343 -1,1.5,0.05656656656656656,0.057967967967967965,0.5056556556556556 -2,2.0,0.04464464464464465,0.04675675675675676,0.48372372372372374 -3,2.5,0.034694694694694696,0.037237237237237236,0.463013013013013 -4,3.0,0.024634634634634636,0.0277977977977978,0.42564564564564566 -5,3.5,0.018068068068068068,0.01872872872872873,0.37803803803803804 -6,4.0,0.012562562562562562,0.014474474474474475,0.31125125125125125 -7,4.5,0.007379928948556399,0.009704148593037481,0.27387387387387385 -8,5.0,0.0037327046672841063,0.008071063189173425,0.21937937937937937 -9,5.5,0.0017655450726316868,0.0038553404890038553,0.1765260406037105 diff --git a/sw/sim_results/99911135543_metadata.json b/sw/sim_results/99911135543_metadata.json deleted file mode 100644 index f910ea0..0000000 --- a/sw/sim_results/99911135543_metadata.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "duration": 0, - "name": "999.111.3.5543", - "labels": [ - "proximal $\\gamma = 0.01$", - "proximal $\\gamma = 0.05$", - "proximal $\\gamma = 0.15$" - ], - "platform": "Linux-6.0.9-arch1-1-x86_64-with-glibc2.36", - "end_time": "2022-11-23 15:13:09.470306" -} \ No newline at end of file diff --git a/sw/sim_results/99911135565.csv b/sw/sim_results/99911135565.csv deleted file mode 100644 index bba4bc6..0000000 --- a/sw/sim_results/99911135565.csv +++ /dev/null @@ -1,11 +0,0 @@ -,SNR,BER_0,BER_1,BER_2 -0,1.0,0.0679079079079079,0.07043043043043043,0.4982982982982983 -1,1.5,0.05665665665665666,0.05916916916916917,0.49123123123123125 -2,2.0,0.045395395395395395,0.04723723723723724,0.4886886886886887 -3,2.5,0.035115115115115114,0.03822822822822823,0.46526526526526524 -4,3.0,0.026556556556556556,0.026096096096096096,0.4365265265265265 -5,3.5,0.01785785785785786,0.02015015015015015,0.38725725725725724 -6,4.0,0.011111111111111112,0.013983983983983985,0.3212812812812813 -7,4.5,0.006565388918330094,0.012264601049647779,0.26955955955955957 -8,5.0,0.0035591146702257815,0.008438125625625625,0.20996996996996997 -9,5.5,0.0017769707692188313,0.004728132387706856,0.1771078008701771 diff --git a/sw/sim_results/99911135565_metadata.json b/sw/sim_results/99911135565_metadata.json deleted file mode 100644 index f06c662..0000000 --- a/sw/sim_results/99911135565_metadata.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "duration": 0, - "name": "999.111.3.5565", - "labels": [ - "proximal $\\gamma = 0.01$", - "proximal $\\gamma = 0.05$", - "proximal $\\gamma = 0.15$" - ], - "platform": "Linux-6.0.9-arch1-1-x86_64-with-glibc2.36", - "end_time": "2022-11-23 15:13:09.470306" -} \ No newline at end of file diff --git a/sw/sim_results/pegreg252x504.csv b/sw/sim_results/pegreg252x504.csv deleted file mode 100644 index 17ce9aa..0000000 --- a/sw/sim_results/pegreg252x504.csv +++ /dev/null @@ -1,11 +0,0 @@ -,SNR,BER_0,BER_1,BER_2 -0,1.0,0.10359126984126985,0.0946626984126984,0.18404761904761904 -1,1.5,0.08339285714285714,0.06678571428571428,0.16257936507936507 -2,2.0,0.06956349206349206,0.04954365079365079,0.13936507936507936 -3,2.5,0.05238095238095238,0.02796321020620086,0.1226984126984127 -4,3.0,0.03801587301587302,0.015180146132527085,0.1051984126984127 -5,3.5,0.028888888888888888,0.006950113378684807,0.08777777777777777 -6,4.0,0.020873015873015873,0.001969749252357948,0.07857142857142857 -7,4.5,0.013201320132013201,0.0008142205766395831,0.07563492063492064 -8,5.0,0.008584787050133585,0.00018992133497197202,0.0662030488763162 -9,5.5,0.004884004884004884,4.768522303060029e-05,0.07061157796451914 diff --git a/sw/sim_results/pegreg252x504_metadata.json b/sw/sim_results/pegreg252x504_metadata.json deleted file mode 100644 index c01b1c7..0000000 --- a/sw/sim_results/pegreg252x504_metadata.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "duration": 0, - "name": "PEGReg252x504", - "labels": [ - "proximal $\\gamma = 0.01$", - "proximal $\\gamma = 0.05$", - "proximal $\\gamma = 0.15$" - ], - "platform": "Linux-6.0.9-arch1-1-x86_64-with-glibc2.36", - "end_time": "2022-11-23 15:13:09.470306" -} \ No newline at end of file diff --git a/sw/sim_results/test_e_10.csv b/sw/sim_results/test_e_10.csv deleted file mode 100644 index 7eaaada..0000000 --- a/sw/sim_results/test_e_10.csv +++ /dev/null @@ -1,11 +0,0 @@ -,SNR,BER_0,BER_1,BER_2,DecFails_0,DecFails_1,DecFails_2 -0,1.0,1.0,0.0,0.0,3001.0,0.0,0.0 -1,1.5,1.0,0.0,0.0,3001.0,0.0,0.0 -2,2.0,1.0,0.0,0.0,3001.0,0.0,0.0 -3,2.5,1.0,0.0,0.0,3001.0,0.0,0.0 -4,3.0,0.0,0.0,0.0,2999.0,0.0,0.0 -5,3.5,0.0,0.0,0.0,2997.0,0.0,0.0 -6,4.0,0.0,0.0,0.0,2989.0,0.0,0.0 -7,4.5,0.0,0.0,0.0,2970.0,0.0,0.0 -8,5.0,0.0,0.0,0.0,2924.0,0.0,0.0 -9,5.5,0.0,0.0,0.0,2848.0,0.0,0.0 diff --git a/sw/sim_results/test_e_12.csv b/sw/sim_results/test_e_12.csv deleted file mode 100644 index fa0f411..0000000 --- a/sw/sim_results/test_e_12.csv +++ /dev/null @@ -1,11 +0,0 @@ -,SNR,BER_0,BER_1,BER_2,DecFails_0,DecFails_1,DecFails_2 -0,1.0,1.0,0.0,0.0,3001.0,0.0,0.0 -1,1.5,1.0,0.0,0.0,3001.0,0.0,0.0 -2,2.0,1.0,0.0,0.0,3001.0,0.0,0.0 -3,2.5,1.0,0.0,0.0,3001.0,0.0,0.0 -4,3.0,0.0,0.0,0.0,2999.0,0.0,0.0 -5,3.5,0.0,0.0,0.0,2993.0,0.0,0.0 -6,4.0,0.0,0.0,0.0,2986.0,0.0,0.0 -7,4.5,0.0,0.0,0.0,2963.0,0.0,0.0 -8,5.0,0.0,0.0,0.0,2922.0,0.0,0.0 -9,5.5,0.0,0.0,0.0,2835.0,0.0,0.0 diff --git a/sw/sim_results/test_e_3.csv b/sw/sim_results/test_e_3.csv deleted file mode 100644 index fc6e9da..0000000 --- a/sw/sim_results/test_e_3.csv +++ /dev/null @@ -1,11 +0,0 @@ -,SNR,BER_0,BER_1,BER_2,DecFails_0,DecFails_1,DecFails_2 -0,1.0,0.005113636363636364,0.0,0.0,2561.0,0.0,0.0 -1,1.5,0.0034599528857479386,0.0,0.0,1606.0,0.0,0.0 -2,2.0,0.0,0.0,0.0,0.0,0.0,0.0 -3,2.5,0.0,0.0,0.0,0.0,0.0,0.0 -4,3.0,0.0,0.0,0.0,0.0,0.0,0.0 -5,3.5,0.0,0.0,0.0,0.0,0.0,0.0 -6,4.0,0.0,0.0,0.0,0.0,0.0,0.0 -7,4.5,0.0,0.0,0.0,0.0,0.0,0.0 -8,5.0,0.0,0.0,0.0,0.0,0.0,0.0 -9,5.5,0.0,0.0,0.0,0.0,0.0,0.0 diff --git a/sw/sim_results/test_e_4.csv b/sw/sim_results/test_e_4.csv deleted file mode 100644 index 763242c..0000000 --- a/sw/sim_results/test_e_4.csv +++ /dev/null @@ -1,11 +0,0 @@ -,SNR,BER_0,BER_1,BER_2,DecFails_0,DecFails_1,DecFails_2 -0,1.0,0.005835380835380835,0.0,0.0,2255.0,0.0,0.0 -1,1.5,0.0,0.0,0.0,0.0,0.0,0.0 -2,2.0,0.0,0.0,0.0,0.0,0.0,0.0 -3,2.5,0.0,0.0,0.0,0.0,0.0,0.0 -4,3.0,0.0,0.0,0.0,0.0,0.0,0.0 -5,3.5,0.0,0.0,0.0,0.0,0.0,0.0 -6,4.0,0.0,0.0,0.0,0.0,0.0,0.0 -7,4.5,0.0,0.0,0.0,0.0,0.0,0.0 -8,5.0,0.0,0.0,0.0,0.0,0.0,0.0 -9,5.5,0.0,0.0,0.0,0.0,0.0,0.0 diff --git a/sw/sim_results/test_e_4_2.csv b/sw/sim_results/test_e_4_2.csv deleted file mode 100644 index 876339a..0000000 --- a/sw/sim_results/test_e_4_2.csv +++ /dev/null @@ -1,11 +0,0 @@ -,SNR,BER_0,BER_1,BER_2,DecFails_0,DecFails_1,DecFails_2 -0,1.0,0.005421686746987952,0.005918560606060606,0.0,2249.0,2048.0,0.0 -1,1.5,0.003781138790035587,0.0026421282798833818,0.0,1682.0,2113.0,0.0 -2,2.0,0.0018388296152602652,0.0016522333637192343,0.0,1737.0,1764.0,0.0 -3,2.5,0.0003548895899053628,0.0011985869290941206,0.0,1416.0,1166.0,0.0 -4,3.0,0.0002896391923204237,0.0002669672520170859,0.0,987.0,894.0,0.0 -5,3.5,0.00018390079865489702,0.00016638643687824016,0.0,622.0,622.0,0.0 -6,4.0,6.179705846001731e-05,0.00015687751004016064,0.0,304.0,345.0,0.0 -7,4.5,0.0,0.00010259115957322077,0.0,144.0,158.0,0.0 -8,5.0,1.419164396003633e-05,2.8509522180408255e-05,0.0,65.0,78.0,0.0 -9,5.5,1.3996193035494346e-05,0.0,0.0,24.0,21.0,0.0 diff --git a/sw/sim_results/test_e_4_2_metadata.json b/sw/sim_results/test_e_4_2_metadata.json deleted file mode 100644 index 80e9d43..0000000 --- a/sw/sim_results/test_e_4_2_metadata.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "duration": 1649.4282404629994, - "name": "test", - "labels": [ - "proximal $\\gamma = 0.01$", - "proximal $\\gamma = 0.05$", - "proximal $\\gamma = 0.15$" - ], - "platform": "Linux-6.0.9-arch1-1-x86_64-with-glibc2.36", - "end_time": "2022-11-24 17:22:14.337214" -} \ No newline at end of file diff --git a/sw/sim_results/test_e_5.csv b/sw/sim_results/test_e_5.csv deleted file mode 100644 index b75d8a5..0000000 --- a/sw/sim_results/test_e_5.csv +++ /dev/null @@ -1,11 +0,0 @@ -,SNR,BER_0,BER_1,BER_2,DecFails_0,DecFails_1,DecFails_2 -0,1.0,0.008734655335221907,0.0,0.0,2178.0,0.0,0.0 -1,1.5,0.0,0.0,0.0,0.0,0.0,0.0 -2,2.0,0.0,0.0,0.0,0.0,0.0,0.0 -3,2.5,0.0,0.0,0.0,0.0,0.0,0.0 -4,3.0,0.0,0.0,0.0,0.0,0.0,0.0 -5,3.5,0.0,0.0,0.0,0.0,0.0,0.0 -6,4.0,0.0,0.0,0.0,0.0,0.0,0.0 -7,4.5,0.0,0.0,0.0,0.0,0.0,0.0 -8,5.0,0.0,0.0,0.0,0.0,0.0,0.0 -9,5.5,0.0,0.0,0.0,0.0,0.0,0.0 diff --git a/sw/sim_results/test_e_5_2.csv b/sw/sim_results/test_e_5_2.csv deleted file mode 100644 index 4b1c1a6..0000000 --- a/sw/sim_results/test_e_5_2.csv +++ /dev/null @@ -1,11 +0,0 @@ -,SNR,BER_0,BER_1,BER_2,DecFails_0,DecFails_1,DecFails_2 -0,1.0,0.005713996763754045,0.0,0.0,2484.0,0.0,0.0 -1,1.5,0.0,0.0,0.0,0.0,0.0,0.0 -2,2.0,0.0,0.0,0.0,0.0,0.0,0.0 -3,2.5,0.0,0.0,0.0,0.0,0.0,0.0 -4,3.0,0.0,0.0,0.0,0.0,0.0,0.0 -5,3.5,0.0,0.0,0.0,0.0,0.0,0.0 -6,4.0,0.0,0.0,0.0,0.0,0.0,0.0 -7,4.5,0.0,0.0,0.0,0.0,0.0,0.0 -8,5.0,0.0,0.0,0.0,0.0,0.0,0.0 -9,5.5,0.0,0.0,0.0,0.0,0.0,0.0 diff --git a/sw/sim_results/test_omega_1.csv b/sw/sim_results/test_omega_1.csv deleted file mode 100644 index bb0b2d9..0000000 --- a/sw/sim_results/test_omega_1.csv +++ /dev/null @@ -1,11 +0,0 @@ -,SNR,BER_0,BER_1,BER_2,DecFails_0,DecFails_1,DecFails_2 -0,1.0,1.0,1.0,0.0,3001.0,3001.0,0.0 -1,1.5,1.0,1.0,0.0,3001.0,3001.0,0.0 -2,2.0,1.0,1.0,0.0,3001.0,3001.0,0.0 -3,2.5,0.0,1.0,0.0,3000.0,3001.0,0.0 -4,3.0,1.0,1.0,0.0,3001.0,3001.0,0.0 -5,3.5,0.0,1.0,0.0,3000.0,3001.0,0.0 -6,4.0,0.0,1.0,0.0,2995.0,3001.0,0.0 -7,4.5,0.0,1.0,0.0,2986.0,3001.0,0.0 -8,5.0,0.0,0.0,0.0,2949.0,2996.0,0.0 -9,5.5,0.0,0.0,0.0,2912.0,2994.0,0.0 From 7c6962bf65373bb5e1d33ce31c95015786f95ebb Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Tue, 29 Nov 2022 12:50:05 +0100 Subject: [PATCH 40/54] Added new alist file; Renamed files --- sw/plot_heatmaps.py | 2 +- sw/res/204.33.484.alist | 310 ++++++++++++++++++ sw/res/{204.3.486.alist => 204.33.486.alist} | 0 .../2d_dec_fails_BER_FER_DFR_2043486alist.csv | 31 -- ...2d_dec_fails_BER_FER_DFR_20455187alist.csv | 31 -- ...d_dec_fails_w_log_k_lin_20433486alist.csv} | 0 sw/sim_results/BER_FER_DFR_20433484alist.csv | 31 ++ sw/sim_results/BER_FER_DFR_20433486alist.csv | 31 ++ sw/sim_results/BER_FER_DFR_20455187alist.csv | 31 ++ ...list.csv => BER_FER_DFR_40833844alist.csv} | 0 ...5alist.csv => BER_FER_DFR_963965alist.csv} | 0 ...ist.csv => BER_FER_DFR_bch_31_11alist.csv} | 0 ...ist.csv => BER_FER_DFR_bch_31_26alist.csv} | 0 ...alist.csv => BER_FER_DFR_bch_7_4alist.csv} | 0 sw/simulate_2d_dec_fails.py | 2 +- sw/simulate_BER_curve.py | 13 +- 16 files changed, 412 insertions(+), 70 deletions(-) create mode 100644 sw/res/204.33.484.alist rename sw/res/{204.3.486.alist => 204.33.486.alist} (100%) delete mode 100644 sw/sim_results/2d_dec_fails_BER_FER_DFR_2043486alist.csv delete mode 100644 sw/sim_results/2d_dec_fails_BER_FER_DFR_20455187alist.csv rename sw/sim_results/{2d_dec_fails_w_log_k_lin_2043486alist.csv => 2d_dec_fails_w_log_k_lin_20433486alist.csv} (100%) create mode 100644 sw/sim_results/BER_FER_DFR_20433484alist.csv create mode 100644 sw/sim_results/BER_FER_DFR_20433486alist.csv create mode 100644 sw/sim_results/BER_FER_DFR_20455187alist.csv rename sw/sim_results/{2d_dec_fails_BER_FER_DFR_40833844alist.csv => BER_FER_DFR_40833844alist.csv} (100%) rename sw/sim_results/{2d_dec_fails_BER_FER_DFR_963965alist.csv => BER_FER_DFR_963965alist.csv} (100%) rename sw/sim_results/{2d_dec_fails_BER_FER_DFR_bch_31_11alist.csv => BER_FER_DFR_bch_31_11alist.csv} (100%) rename sw/sim_results/{2d_dec_fails_BER_FER_DFR_bch_31_26alist.csv => BER_FER_DFR_bch_31_26alist.csv} (100%) rename sw/sim_results/{2d_dec_fails_BER_FER_DFR_bch_7_4alist.csv => BER_FER_DFR_bch_7_4alist.csv} (100%) diff --git a/sw/plot_heatmaps.py b/sw/plot_heatmaps.py index bd365aa..ead72ea 100644 --- a/sw/plot_heatmaps.py +++ b/sw/plot_heatmaps.py @@ -32,7 +32,7 @@ def main(): # "sim_results/2d_dec_fails_w_log_k_lin_bch_31_11alist.csv", # "sim_results/2d_dec_fails_w_log_k_lin_bch_31_26alist.csv", # "sim_results/2d_dec_fails_w_log_k_lin_963965alist.csv", - # "sim_results/2d_dec_fails_w_log_k_lin_2043486alist.csv", + # "sim_results/2d_dec_fails_w_log_k_lin_20433486alist.csv", # "sim_results/2d_dec_fails_w_log_k_lin_40833844alist.csv", # ] diff --git a/sw/res/204.33.484.alist b/sw/res/204.33.484.alist new file mode 100644 index 0000000..c3871ba --- /dev/null +++ b/sw/res/204.33.484.alist @@ -0,0 +1,310 @@ +204 102 +3 6 +3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 +6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 +73 84 81 +63 45 26 +17 77 55 +74 47 24 +9 10 52 +62 63 44 +38 39 35 +60 4 100 +82 98 63 +40 80 68 +91 81 18 +86 88 99 +77 71 65 +29 9 33 +15 41 34 +75 11 22 +48 24 95 +22 44 60 +5 19 41 +31 22 43 +21 18 56 +83 51 49 +79 7 88 +36 67 5 +84 75 32 +1 79 38 +43 82 75 +2 1 23 +33 61 83 +69 3 30 +28 5 77 +8 56 4 +53 76 36 +96 28 102 +44 17 48 +92 26 74 +56 69 11 +18 68 50 +72 34 37 +25 37 76 +23 30 21 +7 29 40 +71 78 39 +13 2 96 +55 33 51 +49 64 16 +37 66 54 +50 36 89 +45 15 57 +88 35 15 +57 102 78 +98 27 71 +27 52 94 +68 20 87 +89 38 8 +24 94 53 +11 50 19 +14 83 98 +76 55 2 +41 70 62 +78 86 14 +3 21 59 +64 23 46 +47 43 45 +95 31 1 +85 59 84 +94 54 101 +93 6 31 +59 95 61 +58 73 47 +54 87 7 +52 97 79 +12 90 28 +30 99 97 +42 100 73 +101 62 20 +80 96 85 +100 58 91 +19 16 6 +99 49 72 +70 92 17 +90 93 69 +10 40 25 +39 72 82 +67 74 12 +4 65 27 +20 85 90 +102 13 92 +46 8 9 +35 46 10 +97 53 93 +66 48 42 +87 89 64 +26 25 58 +6 57 67 +65 12 3 +61 91 66 +81 101 29 +51 60 86 +16 14 80 +34 32 70 +32 42 13 +72 17 45 +52 14 22 +49 53 2 +95 76 60 +39 57 26 +32 60 48 +2 78 8 +92 3 54 +71 55 42 +23 5 62 +35 99 50 +37 31 18 +24 84 12 +14 97 56 +94 40 44 +22 74 63 +63 49 28 +42 96 78 +101 27 85 +55 75 99 +40 9 67 +61 28 97 +76 101 16 +88 95 33 +5 33 37 +68 61 27 +65 52 38 +20 42 15 +60 23 84 +67 73 52 +25 66 53 +51 77 21 +81 62 1 +66 21 96 +75 56 83 +8 13 19 +30 19 51 +102 90 58 +97 11 68 +89 15 98 +44 20 35 +74 35 5 +26 72 59 +10 88 94 +46 69 100 +16 54 77 +91 6 74 +13 64 101 +47 32 40 +50 24 90 +38 48 46 +86 85 47 +6 51 34 +7 68 36 +56 7 31 +69 92 61 +48 39 43 +31 71 64 +33 8 93 +79 4 17 +98 37 95 +77 87 25 +19 67 49 +87 2 69 +1 22 10 +64 29 88 +70 91 65 +84 25 102 +99 45 66 +58 18 57 +4 1 70 +12 30 72 +82 89 32 +15 47 55 +18 59 24 +21 81 13 +54 100 29 +57 50 4 +90 94 23 +34 10 79 +93 44 89 +73 102 41 +80 26 82 +11 65 92 +45 41 87 +28 83 71 +85 34 39 +9 82 14 +3 36 20 +83 86 76 +29 70 80 +43 12 9 +78 63 73 +27 46 30 +59 16 86 +62 58 6 +41 98 91 +96 93 11 +53 43 81 +36 79 75 +17 38 3 +100 80 7 +26 167 28 173 65 135 +28 109 44 166 59 105 +62 191 30 110 96 203 +86 173 8 162 32 180 +19 127 31 112 24 144 +95 155 68 149 79 198 +42 156 23 157 71 204 +32 138 89 161 55 109 +5 190 14 123 89 194 +83 146 5 182 90 167 +57 186 16 141 37 200 +73 174 96 194 85 115 +44 150 88 138 102 178 +58 116 100 104 61 190 +15 176 49 142 50 130 +100 148 79 197 46 125 +3 203 35 103 81 162 +38 177 21 172 11 114 +79 165 19 139 57 138 +87 130 54 143 76 191 +21 178 62 136 41 134 +18 118 20 167 16 104 +41 112 63 131 28 181 +56 115 17 152 4 177 +40 133 94 170 83 164 +94 145 36 185 2 107 +53 196 52 121 86 128 +31 188 34 124 73 119 +14 193 42 168 98 179 +74 139 41 174 30 196 +20 160 65 114 68 157 +102 108 101 151 25 175 +29 161 45 127 14 126 +101 182 39 189 15 155 +90 113 50 144 7 143 +24 202 48 191 33 156 +47 114 40 163 39 127 +7 153 55 203 26 129 +84 107 7 159 43 189 +10 123 83 117 42 151 +60 199 15 187 19 184 +75 120 102 130 92 111 +27 194 64 201 20 159 +35 143 18 183 6 117 +49 187 2 171 64 103 +89 147 90 196 63 153 +64 151 4 176 70 154 +17 159 92 153 35 108 +46 105 80 119 22 165 +48 152 57 180 38 113 +99 134 22 155 45 139 +72 104 53 129 5 132 +33 201 91 105 56 133 +71 179 67 148 47 110 +45 122 59 111 3 176 +37 157 32 137 21 116 +51 180 95 107 49 172 +70 172 78 198 94 140 +69 197 66 177 62 145 +8 131 99 108 18 106 +97 124 29 128 69 158 +6 198 76 135 60 112 +2 119 6 195 9 118 +63 168 46 150 93 160 +96 129 86 186 13 169 +92 136 47 133 97 171 +85 132 24 165 95 123 +54 128 38 156 10 141 +30 158 37 147 82 166 +81 169 60 193 101 173 +43 111 13 160 52 188 +39 103 84 145 80 174 +1 184 70 132 75 195 +4 144 85 118 36 149 +16 137 25 122 27 202 +59 125 33 106 40 192 +13 164 3 134 31 148 +61 195 43 109 51 120 +23 162 26 202 72 182 +77 185 10 204 100 193 +98 135 11 178 1 201 +9 175 27 190 84 185 +22 192 58 188 29 137 +25 170 1 115 66 131 +66 189 87 154 77 121 +12 154 61 192 99 197 +93 166 71 164 54 187 +50 126 12 146 23 168 +55 142 93 175 48 183 +82 181 73 140 87 152 +11 149 97 169 78 199 +36 110 81 158 88 186 +68 183 82 200 91 161 +67 117 56 181 53 146 +65 106 69 126 17 163 +34 200 77 120 44 136 +91 141 72 116 74 124 +52 163 9 199 58 142 +80 171 74 113 12 122 +78 204 75 179 8 147 +76 121 98 125 67 150 +88 140 51 184 34 170 diff --git a/sw/res/204.3.486.alist b/sw/res/204.33.486.alist similarity index 100% rename from sw/res/204.3.486.alist rename to sw/res/204.33.486.alist diff --git a/sw/sim_results/2d_dec_fails_BER_FER_DFR_2043486alist.csv b/sw/sim_results/2d_dec_fails_BER_FER_DFR_2043486alist.csv deleted file mode 100644 index 834705c..0000000 --- a/sw/sim_results/2d_dec_fails_BER_FER_DFR_2043486alist.csv +++ /dev/null @@ -1,31 +0,0 @@ -,BER,FER,DFR,gamma,SNR,num_iter -0,0.08174344200448795,1.0,0.5,0.01,1.5,2001.0 -1,0.2660973434851202,1.0,0.5,0.15,1.0,2001.0 -2,0.06425682160976279,0.9995004995004995,0.4998750936797402,0.01,2.0,2002.0 -3,0.07071558327246849,0.9555873925501432,0.48864468864468863,0.05,1.5,2094.0 -4,0.09996227376507824,1.0,0.5,0.01,1.0,2001.0 -5,0.245548344150441,0.99900149775337,0.49975024975024973,0.15,2.0,2003.0 -6,0.0946627412114499,0.9915758176412289,0.4978850460313511,0.05,1.0,2018.0 -7,0.2544610047917218,1.0,0.5,0.15,1.5,2001.0 -8,0.23792312945078528,0.9955223880597015,0.4988780852655198,0.15,2.5,2010.0 -9,0.049097610202708634,0.9950273495773247,0.49875373878364904,0.01,2.5,2011.0 -10,0.22988037372296766,0.9901039089559623,0.4975136747886624,0.15,3.0,2021.0 -11,0.05005723323197372,0.8917112299465241,0.4713780918727915,0.05,2.0,2244.0 -12,0.035658277049779676,0.9818449460255152,0.4954196583312701,0.01,3.0,2038.0 -13,0.2198147409980449,0.9685382381413359,0.4920088517334645,0.15,3.5,2066.0 -14,0.03203344168856036,0.7573807721423165,0.4308487720809996,0.05,2.5,2642.0 -15,0.017614104465315538,0.5605042016806723,0.35895133776261445,0.05,3.0,3570.0 -16,0.2157615084403066,0.9597122302158273,0.48959608323133413,0.15,4.0,2085.0 -17,0.023731311563268097,0.9429783223374175,0.4853262187727383,0.01,3.5,2122.0 -18,0.21058536675642414,0.9443133553563001,0.48567961165048545,0.15,4.5,2119.0 -19,0.015513436868114811,0.8562259306803595,0.4612724757952974,0.01,4.0,2337.0 -20,0.00951910897884957,0.722121977625406,0.41932103939647947,0.01,4.5,2771.0 -21,0.008626035494981768,0.34393262289446547,0.2551529893739598,0.05,3.5,5818.0 -22,0.21070831433348533,0.9124487004103967,0.4771101573676681,0.15,5.0,2193.0 -23,0.20226007069494464,0.8507653061224489,0.4596829772570641,0.15,5.5,2352.0 -24,0.0037926470588235295,0.1818,0.1527577734474286,0.05,4.0,10000.0 -25,0.0014333333333333333,0.0823,0.07561471621371788,0.05,4.5,10000.0 -26,0.005523989898989899,0.5413961038961039,0.3512374934175882,0.01,5.0,3696.0 -27,0.0004470588235294118,0.0277,0.0267639902676399,0.05,5.0,10000.0 -28,0.00014754901960784315,0.0097,0.009410599306587419,0.05,5.5,10000.0 -29,0.0029390389876880986,0.36355377906976744,0.2666222518321119,0.01,5.5,5504.0 diff --git a/sw/sim_results/2d_dec_fails_BER_FER_DFR_20455187alist.csv b/sw/sim_results/2d_dec_fails_BER_FER_DFR_20455187alist.csv deleted file mode 100644 index 95400ab..0000000 --- a/sw/sim_results/2d_dec_fails_BER_FER_DFR_20455187alist.csv +++ /dev/null @@ -1,31 +0,0 @@ -,BER,FER,DFR,gamma,SNR,num_iter -0,0.1046110751993105,0.9995004995004995,0.4998750936797402,0.01,1.5,2002.0 -1,0.4422862098362583,1.0,0.5,0.15,1.5,2001.0 -2,0.1084222616382193,0.9891250617894216,0.49726640159045726,0.05,1.5,2023.0 -3,0.12337213746068143,1.0,0.5,0.01,1.0,2001.0 -4,0.44165907242457203,1.0,0.5,0.15,2.0,2001.0 -5,0.4484179478888007,1.0,0.5,0.15,1.0,2001.0 -6,0.12869541831695272,0.9980049875311721,0.499500748876685,0.05,1.0,2005.0 -7,0.08553236663927048,0.9985029940119761,0.49962546816479403,0.01,2.0,2004.0 -8,0.4430211364905782,1.0,0.5,0.15,2.5,2001.0 -9,0.06725889560990815,0.9940387481371088,0.49850523168908817,0.01,2.5,2013.0 -10,0.08653809686350362,0.9676015473887815,0.49176701892356844,0.05,2.0,2068.0 -11,0.4309244676891736,0.9995004995004995,0.4998750936797402,0.15,3.5,2002.0 -12,0.4358286543003008,1.0,0.5,0.15,3.0,2001.0 -13,0.04875567456546985,0.9794419970631424,0.4948071216617211,0.01,3.0,2043.0 -14,0.06279312254469308,0.883053839364519,0.46894773845793297,0.05,2.5,2266.0 -15,0.04026713174288749,0.7324304538799414,0.42277625184872175,0.05,3.0,2732.0 -16,0.41346313862539524,0.99900149775337,0.49975024975024973,0.15,4.0,2003.0 -17,0.03254116185150668,0.9324324324324325,0.4825174825174825,0.01,3.5,2146.0 -18,0.3944734424178445,0.9975074775672981,0.4993760918392813,0.15,4.5,2006.0 -19,0.019327675114810112,0.7997601918465228,0.44437041972018654,0.01,4.0,2502.0 -20,0.02119180576784354,0.514792899408284,0.33984375,0.05,3.5,3887.0 -21,0.010354498609869017,0.6208501396214707,0.38303981623277183,0.01,4.5,3223.0 -22,0.36320109439124487,0.9901039089559623,0.4975136747886624,0.15,5.0,2021.0 -23,0.31656233922140287,0.9723032069970845,0.49297856614929786,0.15,5.5,2058.0 -24,0.009139405661199933,0.2696402102142568,0.21237529187009127,0.05,4.0,7421.0 -25,0.0030401960784313727,0.1096,0.09877433309300648,0.05,4.5,10000.0 -26,0.0008284313725490197,0.0355,0.034282955094157415,0.05,5.0,10000.0 -27,0.00017598039215686273,0.0083,0.008231677080234057,0.05,5.5,10000.0 -28,0.004761766639594694,0.3946745562130177,0.28298684768773863,0.01,5.0,5070.0 -29,0.0019259189875525582,0.2124203821656051,0.17520357236669293,0.01,5.5,9420.0 diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_2043486alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_20433486alist.csv similarity index 100% rename from sw/sim_results/2d_dec_fails_w_log_k_lin_2043486alist.csv rename to sw/sim_results/2d_dec_fails_w_log_k_lin_20433486alist.csv diff --git a/sw/sim_results/BER_FER_DFR_20433484alist.csv b/sw/sim_results/BER_FER_DFR_20433484alist.csv new file mode 100644 index 0000000..588d09c --- /dev/null +++ b/sw/sim_results/BER_FER_DFR_20433484alist.csv @@ -0,0 +1,31 @@ +,BER,FER,DFR,gamma,SNR,num_iter +0,0.24636747129130537,0.99800796812749,0.4995014955134596,0.15,2.0,502.0 +1,0.09884153262103244,1.0,0.5,0.01,1.0,501.0 +2,0.09242318974834028,0.9862204724409449,0.4965312190287413,0.05,1.0,508.0 +3,0.06423225353759794,0.9960238568588469,0.499003984063745,0.01,2.0,503.0 +4,0.2540231231935005,0.99800796812749,0.4995014955134596,0.15,1.5,502.0 +5,0.26389378106532035,1.0,0.5,0.15,1.0,501.0 +6,0.08077028027910965,0.9960238568588469,0.499003984063745,0.01,1.5,503.0 +7,0.07059382688436591,0.9524714828897338,0.4878286270691334,0.05,1.5,526.0 +8,0.23492452536570183,0.9940476190476191,0.49850746268656715,0.15,2.5,504.0 +9,0.22943307757885764,0.9901185770750988,0.49751737835153925,0.15,3.0,506.0 +10,0.049448407593653765,0.9960238568588469,0.499003984063745,0.01,2.5,503.0 +11,0.035986159169550176,0.9823529411764705,0.49554896142433236,0.01,3.0,510.0 +12,0.21934359681372548,0.978515625,0.4945705824284304,0.15,3.5,512.0 +13,0.05111670336583831,0.893048128342246,0.4717514124293785,0.05,2.0,561.0 +14,0.03348543718562694,0.7695852534562212,0.4348958333333333,0.05,2.5,651.0 +15,0.018473552211582308,0.5825581395348837,0.3681116825863336,0.05,3.0,860.0 +16,0.217842012522026,0.9579349904397706,0.4892578125,0.15,4.0,523.0 +17,0.025045234666371256,0.943502824858757,0.48546511627906974,0.01,3.5,531.0 +18,0.21451606958572902,0.9417293233082706,0.4849951597289448,0.15,4.5,532.0 +19,0.016050372448809167,0.8534923339011925,0.46047794117647056,0.01,4.0,587.0 +20,0.00958652416617577,0.7167381974248928,0.4175,0.01,4.5,699.0 +21,0.20750764844945072,0.8882978723404256,0.4704225352112676,0.15,5.0,564.0 +22,0.008160246970988659,0.3300395256916996,0.24777006937561943,0.05,3.5,1518.0 +23,0.20702979987175593,0.8623063683304647,0.4630314232902033,0.15,5.5,581.0 +24,0.005176015553900885,0.5284810126582279,0.34575569358178054,0.01,5.0,948.0 +25,0.0037574196050726896,0.17696926880960792,0.15010507355148603,0.05,4.0,2831.0 +26,0.0029004438451598405,0.35888252148997135,0.26410121244069584,0.01,5.5,1396.0 +27,0.0013667728237791931,0.07977707006369426,0.07388290812564519,0.05,4.5,6280.0 +28,0.00014901960784313725,0.0097,0.009606813905120333,0.05,5.5,10000.0 +29,0.00044901960784313725,0.0285,0.02771025765678172,0.05,5.0,10000.0 diff --git a/sw/sim_results/BER_FER_DFR_20433486alist.csv b/sw/sim_results/BER_FER_DFR_20433486alist.csv new file mode 100644 index 0000000..9bed480 --- /dev/null +++ b/sw/sim_results/BER_FER_DFR_20433486alist.csv @@ -0,0 +1,31 @@ +,BER,FER,DFR,gamma,SNR,num_iter +0,0.2656060428163281,1.0,0.5,0.15,1.0,501.0 +1,0.09933075026417752,1.0,0.5,0.01,1.0,501.0 +2,0.09285796833468161,0.9842829076620825,0.49603960396039604,0.05,1.0,509.0 +3,0.06336346914015108,1.0,0.5,0.01,2.0,501.0 +4,0.24230949864975931,1.0,0.5,0.15,2.0,501.0 +5,0.253788766502617,0.99800796812749,0.4995014955134596,0.15,1.5,502.0 +6,0.06868326078059307,0.9506641366223909,0.48735408560311283,0.05,1.5,527.0 +7,0.08034910571014833,1.0,0.5,0.01,1.5,501.0 +8,0.23234512928677448,0.99800796812749,0.4995014955134596,0.15,2.5,502.0 +9,0.048497505511080174,0.9881656804733728,0.49702380952380953,0.01,2.5,507.0 +10,0.04989744124600195,0.8882978723404256,0.4704225352112676,0.05,2.0,564.0 +11,0.03527321781425748,0.9709302325581395,0.49262536873156343,0.01,3.0,516.0 +12,0.22164139093137256,0.978515625,0.4945705824284304,0.15,3.5,512.0 +13,0.23182993669908908,0.9862204724409449,0.4965312190287413,0.15,3.0,508.0 +14,0.03180314679063115,0.7613981762917933,0.4317789291882556,0.05,2.5,658.0 +15,0.01802387621715353,0.5680272108843537,0.361794500723589,0.05,3.0,882.0 +16,0.02512139071129397,0.947069943289225,0.48640776699029126,0.01,3.5,529.0 +17,0.21508051889957505,0.9524714828897338,0.4878286270691334,0.15,4.0,526.0 +18,0.21364457491249858,0.9616122840690979,0.49021526418786693,0.15,4.5,521.0 +19,0.0165879615371454,0.8743455497382199,0.4664804469273743,0.01,4.0,573.0 +20,0.010068495164182614,0.7511244377811095,0.4289383561643836,0.01,4.5,667.0 +21,0.008609724082869863,0.34575569358178054,0.2569230769230769,0.05,3.5,1449.0 +22,0.21323977488618848,0.9159049360146252,0.4780534351145038,0.15,5.0,547.0 +23,0.20020204027556968,0.8462837837837838,0.4583714547118024,0.15,5.5,592.0 +24,0.0057733016870870485,0.5463467829880043,0.3533145275035261,0.01,5.0,917.0 +25,0.004002959674435812,0.1890566037735849,0.15873015873015872,0.05,4.0,2650.0 +26,0.0028677176922642256,0.36095100864553314,0.2652196929592377,0.01,5.5,1388.0 +27,0.0014134971257579337,0.08048192771084338,0.07379854188364826,0.05,4.5,6225.0 +28,0.00014019607843137255,0.00885,0.008526670632559984,0.05,5.5,20000.0 +29,0.00046364251378946394,0.028477235264025465,0.027312434345109746,0.05,5.0,17593.0 diff --git a/sw/sim_results/BER_FER_DFR_20455187alist.csv b/sw/sim_results/BER_FER_DFR_20455187alist.csv new file mode 100644 index 0000000..3386f50 --- /dev/null +++ b/sw/sim_results/BER_FER_DFR_20455187alist.csv @@ -0,0 +1,31 @@ +,BER,FER,DFR,gamma,SNR,num_iter +0,0.12672693828030215,1.0,0.5,0.01,1.0,501.0 +1,0.4496301514617823,1.0,0.5,0.15,2.0,501.0 +2,0.11118229470005823,0.9920792079207921,0.49801192842942343,0.05,1.5,505.0 +3,0.08747211459434073,1.0,0.5,0.01,2.0,501.0 +4,0.13200070447340612,1.0,0.5,0.05,1.0,501.0 +5,0.44625454972408124,1.0,0.5,0.15,1.0,501.0 +6,0.44436616962154124,1.0,0.5,0.15,1.5,501.0 +7,0.10764745019764393,1.0,0.5,0.01,1.5,501.0 +8,0.08641697596820755,0.9579349904397706,0.4892578125,0.05,2.0,523.0 +9,0.4383390082579938,1.0,0.5,0.15,2.5,501.0 +10,0.06696428571428571,0.9940476190476191,0.49850746268656715,0.01,2.5,504.0 +11,0.43306524206488983,1.0,0.5,0.15,3.0,501.0 +12,0.06321687888035357,0.8962432915921288,0.47264150943396227,0.05,2.5,559.0 +13,0.049638301922710834,0.9728155339805825,0.49311023622047245,0.01,3.0,515.0 +14,0.4251497005988024,1.0,0.5,0.15,3.5,501.0 +15,0.040927482103952695,0.7229437229437229,0.41959798994974873,0.05,3.0,693.0 +16,0.41951391334977106,1.0,0.5,0.15,4.0,501.0 +17,0.0338777979431337,0.9092558983666061,0.4762357414448669,0.01,3.5,551.0 +18,0.3925249941873983,0.9901185770750988,0.49751737835153925,0.15,4.5,506.0 +19,0.02079547266060896,0.8146341463414634,0.4489247311827957,0.01,4.0,615.0 +20,0.022373307775248593,0.5101832993890021,0.3378287255563048,0.05,3.5,982.0 +21,0.011007911936704506,0.6278195488721805,0.3856812933025404,0.01,4.5,798.0 +22,0.3600271791885071,0.9920792079207921,0.49801192842942343,0.15,5.0,505.0 +23,0.310473411154345,0.9747081712062257,0.4935960591133005,0.15,5.5,514.0 +24,0.0095717802539518,0.2758810572687225,0.21622788088044886,0.05,4.0,1816.0 +25,0.004614500121036069,0.38657407407407407,0.27879799666110183,0.01,5.0,1296.0 +26,0.0032538300058064227,0.11412300683371299,0.10243304027806174,0.05,4.5,4390.0 +27,0.001913352466858002,0.2054120541205412,0.1704081632653061,0.01,5.5,2439.0 +28,0.00015980392156862746,0.0085,0.00842835894893406,0.05,5.5,10000.0 +29,0.0008588235294117647,0.0355,0.034282955094157415,0.05,5.0,10000.0 diff --git a/sw/sim_results/2d_dec_fails_BER_FER_DFR_40833844alist.csv b/sw/sim_results/BER_FER_DFR_40833844alist.csv similarity index 100% rename from sw/sim_results/2d_dec_fails_BER_FER_DFR_40833844alist.csv rename to sw/sim_results/BER_FER_DFR_40833844alist.csv diff --git a/sw/sim_results/2d_dec_fails_BER_FER_DFR_963965alist.csv b/sw/sim_results/BER_FER_DFR_963965alist.csv similarity index 100% rename from sw/sim_results/2d_dec_fails_BER_FER_DFR_963965alist.csv rename to sw/sim_results/BER_FER_DFR_963965alist.csv diff --git a/sw/sim_results/2d_dec_fails_BER_FER_DFR_bch_31_11alist.csv b/sw/sim_results/BER_FER_DFR_bch_31_11alist.csv similarity index 100% rename from sw/sim_results/2d_dec_fails_BER_FER_DFR_bch_31_11alist.csv rename to sw/sim_results/BER_FER_DFR_bch_31_11alist.csv diff --git a/sw/sim_results/2d_dec_fails_BER_FER_DFR_bch_31_26alist.csv b/sw/sim_results/BER_FER_DFR_bch_31_26alist.csv similarity index 100% rename from sw/sim_results/2d_dec_fails_BER_FER_DFR_bch_31_26alist.csv rename to sw/sim_results/BER_FER_DFR_bch_31_26alist.csv diff --git a/sw/sim_results/2d_dec_fails_BER_FER_DFR_bch_7_4alist.csv b/sw/sim_results/BER_FER_DFR_bch_7_4alist.csv similarity index 100% rename from sw/sim_results/2d_dec_fails_BER_FER_DFR_bch_7_4alist.csv rename to sw/sim_results/BER_FER_DFR_bch_7_4alist.csv diff --git a/sw/simulate_2d_dec_fails.py b/sw/simulate_2d_dec_fails.py index 7b26e8d..651373f 100644 --- a/sw/simulate_2d_dec_fails.py +++ b/sw/simulate_2d_dec_fails.py @@ -75,7 +75,7 @@ def main(): sim_name = "w_log_k_lin_zoomed_in" # H_file = "96.3.965.alist" - # H_file = "204.3.486.alist" + # H_file = "204.33.486.alist" # H_file = "408.33.844.alist" H_file = "BCH_31_26.alist" SNR = 3 diff --git a/sw/simulate_BER_curve.py b/sw/simulate_BER_curve.py index 6816d09..257705c 100644 --- a/sw/simulate_BER_curve.py +++ b/sw/simulate_BER_curve.py @@ -10,7 +10,7 @@ from utility import codes, noise, misc from utility.simulation.simulators import GenericMultithreadedSimulator # from cpp_modules.cpp_decoders import ProximalDecoder -from cpp_modules.cpp_decoders import ProximalDecoder_7_3 as ProximalDecoder +from cpp_modules.cpp_decoders import ProximalDecoder_204_102 as ProximalDecoder def count_bit_errors(d: np.array, d_hat: np.array) -> int: @@ -44,7 +44,7 @@ def task_func(params): if k_max == -1: dec_fails += 1 - if total_frame_errors > 4000: + if total_frame_errors > 500: break BER = total_bit_errors / (num_iterations * n) @@ -106,15 +106,16 @@ def main(): sim_name = "BER_FER_DFR" # H_file = "96.3.965.alist" - # H_file = "204.3.486.alist" + H_file = "204.33.486.alist" + # H_file = "204.33.484.alist" # H_file = "204.55.187.alist" # H_file = "408.33.844.alist" - H_file = "BCH_7_4.alist" + # H_file = "BCH_7_4.alist" # H_file = "BCH_31_11.alist" # H_file = "BCH_31_26.alist" SNRs = np.arange(1, 6, 0.5) - max_iterations = 10000 + max_iterations = 20000 # omega = 0.005 # K = 60 omega = 0.05 @@ -132,7 +133,7 @@ def main(): df = reformat_data(results, SNRs, gammas) df.to_csv( - f"sim_results/2d_dec_fails_{sim_name}_{misc.slugify(H_file)}.csv") + f"sim_results/{sim_name}_{misc.slugify(H_file)}.csv") sns.set_theme() ax = sns.lineplot(data=df, x="SNR", y="BER", hue="gamma") From 0705fbbcaf8f35888b60d498cbd49e919ab84e5b Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Thu, 1 Dec 2022 01:26:26 +0100 Subject: [PATCH 41/54] Made cpp proximal decoder pickling compile --- sw/cpp/src/proximal.h | 2 +- sw/cpp/src/python_interface.cpp | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/sw/cpp/src/proximal.h b/sw/cpp/src/proximal.h index 7676905..b582285 100644 --- a/sw/cpp/src/proximal.h +++ b/sw/cpp/src/proximal.h @@ -106,7 +106,7 @@ public: * @return \b std::tuple */ auto get_decoder_state() const { - return std::tuple(mK, mOmega, mGamma, mEta, mH); + return std::tuple(mH, mK, mOmega, mGamma, mEta); } private: diff --git a/sw/cpp/src/python_interface.cpp b/sw/cpp/src/python_interface.cpp index d46040b..c650258 100644 --- a/sw/cpp/src/python_interface.cpp +++ b/sw/cpp/src/python_interface.cpp @@ -17,12 +17,14 @@ using namespace pybind11::literals; .def("decode", &ProximalDecoder::decode, "x"_a.noconvert()) \ .def(py::pickle( \ [](const ProximalDecoder& a) { \ - MatrixiR H; \ - int K; \ - double omega; \ - double gamma; \ - double eta; \ - std::tie(H, K, omega, gamma, eta) = a.get_decoder_state(); \ + auto state = a.get_decoder_state(); \ + \ + MatrixiR H = std::get<0>(state); \ + int K = std::get<1>(state); \ + double omega = std::get<2>(state); \ + double gamma = std::get<3>(state); \ + double eta = std::get<4>(state); \ + \ return py::make_tuple(H, K, omega, gamma, eta); \ }, \ [](py::tuple t) { \ From a82a7c0ca8d7b398cf632adfdc582162b8cdb9de Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 5 Dec 2022 14:49:06 +0100 Subject: [PATCH 42/54] Changed GenericMultithreadedSimulator interface to return results in a more usable form --- sw/utility/simulation/simulators.py | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/sw/utility/simulation/simulators.py b/sw/utility/simulation/simulators.py index 0478f9b..cc98501 100644 --- a/sw/utility/simulation/simulators.py +++ b/sw/utility/simulation/simulators.py @@ -7,7 +7,9 @@ from functools import partial from multiprocessing import Lock from utility import noise -from cpp_modules.cpp_decoders import ProximalDecoder + +# TODO: Fix ProximalDecoder_Dynamic +# from cpp_modules.cpp_decoders import ProximalDecoder_Dynamic as ProximalDecoder def count_bit_errors(d: np.array, d_hat: np.array) -> int: @@ -259,6 +261,22 @@ class ProximalDecoderSimulator: return pd.DataFrame(data) +class HashableDict: + """Class behaving like an immutable dict. More importantly it is + hashable and thus usable as a key type for another dict.""" + + def __init__(self, data_dict): + assert (isinstance(data_dict, dict)) + for key, val in data_dict.items(): + self.__dict__[key] = val + + def __getitem__(self, item): + return self.__dict__[item] + + def __str__(self): + return str(self.__dict__) + + class GenericMultithreadedSimulator: def __init__(self, max_workers=8): self._task_func = None @@ -273,9 +291,9 @@ class GenericMultithreadedSimulator: return self._task_params @task_params.setter - def task_params(self, params): - assert isinstance(params, dict) - self._task_params = params + def task_params(self, sim_params): + self._task_params = {HashableDict(iteration_params): iteration_params + for iteration_params in sim_params} @property def task_func(self): @@ -314,7 +332,8 @@ class GenericMultithreadedSimulator: " before it can be stopped" self._executor.shutdown(wait=False, cancel_futures=True) - def get_current_results(self): + @property + def current_results(self): return self._results def __getstate__(self): From 9b9eaa656615cd12c6b2278de51f7a07b25d01b3 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 5 Dec 2022 14:52:14 +0100 Subject: [PATCH 43/54] Implemented pgf_reformat_data_3d --- sw/utility/misc.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/sw/utility/misc.py b/sw/utility/misc.py index 93912e2..401c2d9 100644 --- a/sw/utility/misc.py +++ b/sw/utility/misc.py @@ -1,5 +1,8 @@ import unicodedata import re +import typing +import pandas as pd +import numpy as np def slugify(value, allow_unicode=False): @@ -20,3 +23,45 @@ def slugify(value, allow_unicode=False): 'ascii') value = re.sub(r'[^\w\s-]', '', value.lower()) return re.sub(r'[-\s]+', '-', value).strip('-_') + + +def pgf_reformat_data_3d(results: typing.Sequence, x_param_name: str, + y_param_name: str, + z_param_names: typing.Sequence[str]): + """Reformat the results obtained from the GenericMultithreadedSimulator + into a form usable by pgfplots. + + :param results: Results from GenericMultiThreadedSimulator + (dict of the form {params1: results1, params2: results2, ...}), + where resultsN and paramsN are themselves dicts: + paramsN = {param_name_1: val, param_name_2: val, ...} + resultsN = {result_name_1: val, result_name_2: val, ...} + :param x_param_name: + :param y_param_name: + :param z_param_names: + :return: pandas DataFrame of the following form: + {x_param_name: [x1, x1, x1, ..., x2, x2, x2, ...], + y_param_name: [y1, y2, y3, ..., y1, y2, y3, ...], + z_param_name: [z11, z21, z31, ..., z12, z22, z32, ...]} + """ + # Create result variables + x = np.zeros(len(results)) + y = np.zeros(len(results)) + zs = {name: np.zeros(len(results)) for name in z_param_names} + + # Populate result variables + for i, (params, result) in enumerate(results.items()): + x_val = params[x_param_name] + y_val = params[y_param_name] + for z_param_name in z_param_names: + zs[z_param_name][i] = result[z_param_name] + + x[i] = x_val + y[i] = y_val + + # Create and return pandas DataFrame + df = pd.DataFrame({x_param_name: x, y_param_name: y}) + for z_param_name in z_param_names: + df[z_param_name] = zs[z_param_name] + + return df.sort_values(by=[x_param_name, y_param_name]) From a32d5cb2c966a246c20894f862c60edb9c3ce32e Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 5 Dec 2022 14:53:14 +0100 Subject: [PATCH 44/54] Implemented cpp ProximalDecoder get_error_values() and get_gradient_values() --- sw/cpp/src/proximal.h | 89 +++++++++++++++++++++++++++++++++ sw/cpp/src/python_interface.cpp | 6 ++- 2 files changed, 94 insertions(+), 1 deletion(-) diff --git a/sw/cpp/src/proximal.h b/sw/cpp/src/proximal.h index b582285..42e47b9 100644 --- a/sw/cpp/src/proximal.h +++ b/sw/cpp/src/proximal.h @@ -2,6 +2,7 @@ #include #include +#include #include #include @@ -100,6 +101,94 @@ public: return {x_hat, -1}; } + /** + * @brief Decode a received signal an measure error value (x - sign(x_hat)) + * @param x Transmitted word + * @param y Received signal + * @return \b std::vector of error values. Each element corresponds to one + * iteration of the algorithm + */ + std::vector + get_error_values(const Eigen::Ref>& x, + const Eigen::Ref>& y) { + + if (y.size() != mH.cols()) + throw std::runtime_error("Length of vector must match H matrix"); + + std::vector error_values; + error_values.reserve(mK); + + RowVectord s = RowVectord::Zero(t_n); + RowVectori x_hat; + RowVectord r; + + for (std::size_t i = 0; i < mK; ++i) { + r = s - mOmega * L_awgn(s, y); + + s = projection(r - mGamma * grad_H(r)); + + x_hat = s.unaryExpr([](double d) { + uint64_t bits = std::bit_cast(d); + // Return the sign bit: 1 for negative, 0 for positive + return (bits >> 63); + }).template cast(); + + RowVectord x_hat_bpsk = + -1 * ((2 * x_hat.template cast()).array() - 1).matrix(); + error_values.push_back( + (x.template cast() - x_hat_bpsk).norm()); + + if (check_parity(x_hat)) { + break; + } + } + + return error_values; + } + + /** + * @brief Decode a received signal and measure the norm of the two gradients + * at each iteration + * @param y + * @return \b std::vector of \b std::pair of gradient values. Each element corresponds to + * one iteration. Result is of the form [(grad_H_1, grad_L_1), ...] + */ + std::vector> + get_gradient_values(const Eigen::Ref>& y) { + + if (y.size() != mH.cols()) + throw std::runtime_error("Length of vector must match H matrix"); + + std::vector> gradient_values; + gradient_values.reserve(mK); + + RowVectord s = RowVectord::Zero(t_n); + RowVectori x_hat; + RowVectord r; + + for (std::size_t i = 0; i < mK; ++i) { + RowVectord gradl = L_awgn(s, y); + r = s - mOmega * gradl; + + RowVectord gradh = grad_H(r); + s = projection(r - mGamma * gradh); + + gradient_values.push_back({gradh.norm(), gradl.norm()}); + + x_hat = s.unaryExpr([](double d) { + uint64_t bits = std::bit_cast(d); + // Return the sign bit: 1 for negative, 0 for positive + return (bits >> 63); + }).template cast(); + + if (check_parity(x_hat)) { + break; + } + } + + return gradient_values; + } + /** * @brief Get the values of all member variables necessary to recreate an * exact copy of this class. Used for pickling diff --git a/sw/cpp/src/python_interface.cpp b/sw/cpp/src/python_interface.cpp index c650258..4970e75 100644 --- a/sw/cpp/src/python_interface.cpp +++ b/sw/cpp/src/python_interface.cpp @@ -14,7 +14,11 @@ using namespace pybind11::literals; .def(py::init, int, double, double, double>(), \ "H"_a.noconvert(), "K"_a = 100, "omega"_a = 0.0002, \ "gamma"_a = .05, "eta"_a = 1.5) \ - .def("decode", &ProximalDecoder::decode, "x"_a.noconvert()) \ + .def("decode", &ProximalDecoder::decode, "y"_a.noconvert()) \ + .def("get_error_values", &ProximalDecoder::get_error_values, \ + "x"_a.noconvert(), "y"_a.noconvert()) \ + .def("get_gradient_values", \ + &ProximalDecoder::get_gradient_values, "y"_a.noconvert()) \ .def(py::pickle( \ [](const ProximalDecoder& a) { \ auto state = a.get_decoder_state(); \ From 05f153916f7cc155fe3d33022317983083469be3 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 5 Dec 2022 15:00:27 +0100 Subject: [PATCH 45/54] Added simulate_2d_BER.py --- ...mulate_BER_curve.py => simulate_2d_BER.py} | 75 +++++++++---------- 1 file changed, 37 insertions(+), 38 deletions(-) rename sw/{simulate_BER_curve.py => simulate_2d_BER.py} (67%) diff --git a/sw/simulate_BER_curve.py b/sw/simulate_2d_BER.py similarity index 67% rename from sw/simulate_BER_curve.py rename to sw/simulate_2d_BER.py index 257705c..f2f9682 100644 --- a/sw/simulate_BER_curve.py +++ b/sw/simulate_2d_BER.py @@ -1,3 +1,5 @@ +import typing + import numpy as np import pandas as pd import seaborn as sns @@ -5,11 +7,12 @@ import matplotlib.pyplot as plt import signal from timeit import default_timer from tqdm import tqdm +from dataclasses import dataclass +from types import MappingProxyType from utility import codes, noise, misc from utility.simulation.simulators import GenericMultithreadedSimulator -# from cpp_modules.cpp_decoders import ProximalDecoder from cpp_modules.cpp_decoders import ProximalDecoder_204_102 as ProximalDecoder @@ -18,9 +21,18 @@ def count_bit_errors(d: np.array, d_hat: np.array) -> int: def task_func(params): + """Function called by the GenericMultithreadedSimulator instance. + + Calculate the BER, FER, and DFR for a given SNR and gamma. + """ signal.signal(signal.SIGINT, signal.SIG_IGN) - decoder, max_iterations, SNR, n, k = params + decoder = params["decoder"] + max_iterations = params["max_iterations"] + SNR = params["SNR"] + n = params["n"] + k = params["k"] + c = np.zeros(n) x_bpsk = c + 1 @@ -44,14 +56,15 @@ def task_func(params): if k_max == -1: dec_fails += 1 - if total_frame_errors > 500: + if total_frame_errors > 100: break BER = total_bit_errors / (num_iterations * n) FER = total_frame_errors / num_iterations DFR = dec_fails / (num_iterations + dec_fails) - return BER, FER, DFR, num_iterations + return {"BER": BER, "FER": FER, "DFR": DFR, + "num_iterations": num_iterations} def simulate(H_file, SNRs, max_iterations, omega, K, gammas): @@ -65,62 +78,45 @@ def simulate(H_file, SNRs, max_iterations, omega, K, gammas): # Define params different for each task - params = {} + task_params = [] for i, SNR in enumerate(SNRs): for j, gamma in enumerate(gammas): decoder = ProximalDecoder(H=H.astype('int32'), K=K, omega=omega, gamma=gamma) - params[f"{i}_{j}"] = (decoder, max_iterations, SNR, n, k) + + task_params.append( + {"decoder": decoder, "max_iterations": max_iterations, + "SNR": SNR, "gamma": gamma, "n": n, "k": k}) # Set up simulation - sim.task_params = params + sim.task_params = task_params sim.task_func = task_func sim.start_or_continue() - return sim.get_current_results() - - -def reformat_data(results, SNRs, gammas): - data = {"BER": np.zeros(3 * 10), "FER": np.zeros(3 * 10), - "DFR": np.zeros(3 * 10), "gamma": np.zeros(3 * 10), - "SNR": np.zeros(3 * 10), "num_iter": np.zeros(3 * 10)} - - for i, (key, (BER, FER, DFR, num_iter)) in enumerate(results.items()): - i_SNR, i_gamma = key.split('_') - data["BER"][i] = BER - data["FER"][i] = FER - data["DFR"][i] = DFR - data["num_iter"][i] = num_iter - data["SNR"][i] = SNRs[int(i_SNR)] - data["gamma"][i] = gammas[int(i_gamma)] - - print(pd.DataFrame(data)) - return pd.DataFrame(data) + return sim.current_results def main(): # Set up simulation params - sim_name = "BER_FER_DFR" + sim_name = "2d_BER_FER_DFR" + # H_file = "BCH_7_4.alist" + # H_file = "BCH_31_11.alist" + # H_file = "BCH_31_26.alist" # H_file = "96.3.965.alist" H_file = "204.33.486.alist" # H_file = "204.33.484.alist" # H_file = "204.55.187.alist" # H_file = "408.33.844.alist" - # H_file = "BCH_7_4.alist" - # H_file = "BCH_31_11.alist" - # H_file = "BCH_31_26.alist" - SNRs = np.arange(1, 6, 0.5) + SNRs = np.arange(1, 6, 0.5) max_iterations = 20000 - # omega = 0.005 - # K = 60 omega = 0.05 - K = 60 - gammas = [0.15, 0.01, 0.05] + K = 100 + gammas = np.arange(0.0, 0.17, 0.01) # Run simulation @@ -130,10 +126,13 @@ def main(): print(f"duration: {end_time - start_time}") - df = reformat_data(results, SNRs, gammas) + df = misc.pgf_reformat_data_3d(results=results, x_param_name="SNR", + y_param_name="gamma", + z_param_names=["BER", "FER", "DFR", + "num_iterations"]) - df.to_csv( - f"sim_results/{sim_name}_{misc.slugify(H_file)}.csv") + # df.sort_values(by=["gamma", "SNR"]).to_csv( + # f"sim_results/{sim_name}_{misc.slugify(H_file)}.csv", index=False) sns.set_theme() ax = sns.lineplot(data=df, x="SNR", y="BER", hue="gamma") From e6606959f125ee0b33cce73b212d6351484599b4 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 5 Dec 2022 15:02:29 +0100 Subject: [PATCH 46/54] Deleted current simulation results --- ...2d_dec_fails_w_log_k_lin_20433486alist.csv | 41 ------------------- ...2d_dec_fails_w_log_k_lin_40833844alist.csv | 41 ------------------- .../2d_dec_fails_w_log_k_lin_963965alist.csv | 41 ------------------- ...d_dec_fails_w_log_k_lin_bch_31_11alist.csv | 41 ------------------- ...d_dec_fails_w_log_k_lin_bch_31_26alist.csv | 41 ------------------- .../2d_dec_fails_w_log_k_lin_bch_7_4alist.csv | 41 ------------------- ...ails_w_log_k_lin_zoomed_in_963965alist.csv | 41 ------------------- ...s_w_log_k_lin_zoomed_in_bch_31_11alist.csv | 41 ------------------- ...s_w_log_k_lin_zoomed_in_bch_31_26alist.csv | 41 ------------------- ...ils_w_log_k_lin_zoomed_in_bch_7_4alist.csv | 41 ------------------- sw/sim_results/BER_FER_DFR_20433484alist.csv | 31 -------------- sw/sim_results/BER_FER_DFR_20433486alist.csv | 31 -------------- sw/sim_results/BER_FER_DFR_20455187alist.csv | 31 -------------- sw/sim_results/BER_FER_DFR_40833844alist.csv | 31 -------------- sw/sim_results/BER_FER_DFR_963965alist.csv | 31 -------------- sw/sim_results/BER_FER_DFR_bch_31_11alist.csv | 31 -------------- sw/sim_results/BER_FER_DFR_bch_31_26alist.csv | 31 -------------- sw/sim_results/BER_FER_DFR_bch_7_4alist.csv | 31 -------------- 18 files changed, 658 deletions(-) delete mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_20433486alist.csv delete mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_40833844alist.csv delete mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_963965alist.csv delete mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_bch_31_11alist.csv delete mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_bch_31_26alist.csv delete mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_bch_7_4alist.csv delete mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv delete mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_11alist.csv delete mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv delete mode 100644 sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_7_4alist.csv delete mode 100644 sw/sim_results/BER_FER_DFR_20433484alist.csv delete mode 100644 sw/sim_results/BER_FER_DFR_20433486alist.csv delete mode 100644 sw/sim_results/BER_FER_DFR_20455187alist.csv delete mode 100644 sw/sim_results/BER_FER_DFR_40833844alist.csv delete mode 100644 sw/sim_results/BER_FER_DFR_963965alist.csv delete mode 100644 sw/sim_results/BER_FER_DFR_bch_31_11alist.csv delete mode 100644 sw/sim_results/BER_FER_DFR_bch_31_26alist.csv delete mode 100644 sw/sim_results/BER_FER_DFR_bch_7_4alist.csv diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_20433486alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_20433486alist.csv deleted file mode 100644 index 7ea8fde..0000000 --- a/sw/sim_results/2d_dec_fails_w_log_k_lin_20433486alist.csv +++ /dev/null @@ -1,41 +0,0 @@ -,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 -1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 -0.5541020330009492,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,1.0,0.999,0.999,0.999,0.999,1.0,0.999,0.999,0.999,0.999,0.999,1.0,0.999,0.999 -0.30702906297578497,0.978,0.966,0.975,0.965,0.967,0.972,0.971,0.969,0.969,0.961,0.964,0.973,0.971,0.971,0.971,0.962,0.967,0.968,0.96,0.972,0.96,0.96,0.96,0.967,0.973,0.971,0.966,0.971,0.966,0.966,0.966,0.97,0.972,0.959,0.973,0.969,0.973,0.973,0.973,0.959 -0.17012542798525893,0.925,0.879,0.878,0.849,0.823,0.802,0.789,0.781,0.785,0.752,0.744,0.743,0.729,0.754,0.738,0.747,0.695,0.698,0.737,0.685,0.687,0.718,0.7,0.715,0.717,0.724,0.71,0.7,0.712,0.685,0.68,0.683,0.716,0.698,0.681,0.673,0.714,0.674,0.663,0.673 -0.09426684551178854,0.905,0.824,0.771,0.733,0.692,0.702,0.66,0.601,0.612,0.567,0.629,0.541,0.585,0.572,0.563,0.535,0.548,0.495,0.504,0.532,0.549,0.539,0.534,0.506,0.524,0.511,0.469,0.514,0.487,0.484,0.48,0.492,0.478,0.502,0.444,0.474,0.466,0.466,0.466,0.502 -0.052233450742668434,0.915,0.829,0.778,0.734,0.685,0.654,0.658,0.573,0.591,0.544,0.525,0.513,0.509,0.498,0.488,0.5,0.478,0.462,0.458,0.451,0.431,0.438,0.42,0.437,0.417,0.441,0.435,0.428,0.425,0.423,0.419,0.406,0.398,0.418,0.415,0.415,0.406,0.413,0.425,0.389 -0.028942661247167517,0.956,0.857,0.801,0.739,0.684,0.653,0.626,0.614,0.557,0.526,0.538,0.499,0.498,0.486,0.468,0.484,0.459,0.442,0.429,0.434,0.408,0.439,0.4,0.408,0.394,0.421,0.414,0.39,0.414,0.393,0.41,0.394,0.409,0.387,0.418,0.408,0.418,0.401,0.418,0.413 -0.016037187437513308,0.988,0.915,0.831,0.773,0.733,0.695,0.653,0.619,0.582,0.571,0.535,0.525,0.509,0.491,0.454,0.458,0.458,0.444,0.425,0.427,0.421,0.454,0.431,0.435,0.407,0.43,0.427,0.428,0.427,0.403,0.432,0.435,0.4,0.433,0.412,0.433,0.433,0.42,0.421,0.398 -0.008886238162743407,0.999,0.948,0.872,0.816,0.772,0.719,0.681,0.621,0.592,0.57,0.55,0.536,0.519,0.489,0.501,0.482,0.458,0.45,0.444,0.464,0.449,0.442,0.438,0.434,0.465,0.43,0.429,0.454,0.421,0.401,0.42,0.419,0.437,0.417,0.417,0.415,0.423,0.429,0.423,0.422 -0.004923882631706742,1.0,0.991,0.937,0.852,0.789,0.763,0.706,0.644,0.639,0.601,0.563,0.528,0.522,0.52,0.521,0.481,0.467,0.468,0.492,0.486,0.453,0.454,0.462,0.477,0.443,0.429,0.44,0.455,0.436,0.457,0.418,0.451,0.419,0.444,0.416,0.416,0.429,0.436,0.436,0.416 -0.0027283333764867696,1.0,1.0,0.977,0.914,0.829,0.802,0.736,0.703,0.667,0.617,0.589,0.552,0.522,0.519,0.503,0.508,0.511,0.467,0.488,0.48,0.476,0.439,0.446,0.445,0.436,0.462,0.451,0.451,0.45,0.458,0.46,0.447,0.481,0.445,0.476,0.459,0.459,0.445,0.445,0.434 -0.001511775070615663,1.0,1.0,0.999,0.971,0.88,0.827,0.798,0.751,0.68,0.667,0.62,0.584,0.564,0.557,0.54,0.505,0.5,0.482,0.485,0.48,0.484,0.469,0.462,0.473,0.47,0.489,0.469,0.433,0.455,0.462,0.472,0.451,0.475,0.448,0.475,0.46,0.483,0.475,0.453,0.482 -0.0008376776400682924,1.0,1.0,1.0,0.993,0.94,0.871,0.803,0.752,0.719,0.66,0.646,0.599,0.606,0.556,0.535,0.544,0.515,0.511,0.49,0.493,0.469,0.476,0.504,0.462,0.466,0.467,0.488,0.457,0.487,0.474,0.457,0.469,0.479,0.466,0.458,0.485,0.452,0.464,0.467,0.48 -0.0004641588833612782,1.0,1.0,1.0,1.0,0.986,0.921,0.846,0.782,0.743,0.702,0.664,0.633,0.605,0.57,0.549,0.542,0.538,0.536,0.518,0.488,0.492,0.502,0.496,0.471,0.473,0.472,0.471,0.473,0.459,0.467,0.467,0.463,0.457,0.483,0.491,0.485,0.462,0.49,0.49,0.479 -0.0002571913809059347,1.0,1.0,1.0,1.0,0.999,0.98,0.877,0.827,0.76,0.714,0.705,0.659,0.626,0.591,0.582,0.546,0.54,0.518,0.51,0.494,0.492,0.5,0.502,0.493,0.486,0.48,0.495,0.488,0.489,0.468,0.467,0.464,0.464,0.486,0.486,0.462,0.47,0.469,0.485,0.455 -0.00014251026703029993,1.0,1.0,1.0,1.0,1.0,1.0,0.954,0.866,0.813,0.764,0.734,0.686,0.622,0.617,0.573,0.588,0.541,0.522,0.508,0.512,0.51,0.516,0.486,0.463,0.495,0.495,0.494,0.478,0.47,0.49,0.466,0.443,0.469,0.499,0.499,0.464,0.463,0.461,0.484,0.472 -7.896522868499733e-05,1.0,1.0,1.0,1.0,1.0,1.0,0.989,0.93,0.859,0.794,0.758,0.701,0.68,0.646,0.606,0.597,0.57,0.534,0.529,0.541,0.514,0.516,0.52,0.482,0.48,0.475,0.474,0.455,0.505,0.471,0.45,0.455,0.46,0.47,0.464,0.44,0.448,0.457,0.438,0.453 -4.375479375074189e-05,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.979,0.909,0.834,0.813,0.762,0.702,0.681,0.634,0.611,0.585,0.536,0.529,0.539,0.52,0.517,0.512,0.468,0.497,0.469,0.476,0.506,0.505,0.497,0.466,0.464,0.442,0.454,0.486,0.449,0.448,0.467,0.455,0.455 -2.424462017082331e-05,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.997,0.957,0.884,0.819,0.767,0.725,0.663,0.635,0.58,0.58,0.576,0.524,0.545,0.538,0.526,0.479,0.513,0.479,0.496,0.5,0.472,0.468,0.485,0.483,0.477,0.475,0.463,0.48,0.502,0.456,0.491,0.491,0.477 -1.3433993325989015e-05,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.996,0.921,0.857,0.818,0.767,0.713,0.654,0.622,0.617,0.615,0.53,0.551,0.531,0.531,0.493,0.494,0.512,0.499,0.495,0.479,0.473,0.477,0.465,0.457,0.469,0.494,0.458,0.475,0.473,0.456,0.502,0.486 -7.443803013251696e-06,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.982,0.913,0.846,0.795,0.753,0.705,0.648,0.635,0.586,0.556,0.549,0.533,0.516,0.493,0.532,0.516,0.497,0.505,0.47,0.469,0.484,0.488,0.457,0.47,0.466,0.449,0.475,0.474,0.464,0.456,0.443 -4.124626382901356e-06,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.998,0.969,0.886,0.823,0.782,0.724,0.672,0.65,0.624,0.552,0.565,0.534,0.527,0.485,0.539,0.473,0.478,0.509,0.493,0.475,0.484,0.495,0.493,0.48,0.484,0.451,0.43,0.495,0.464,0.449,0.447 -2.285463864134993e-06,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.958,0.851,0.82,0.755,0.727,0.694,0.636,0.628,0.597,0.519,0.572,0.557,0.494,0.487,0.496,0.488,0.503,0.503,0.46,0.486,0.493,0.49,0.499,0.496,0.464,0.449,0.485,0.456,0.479 -1.2663801734674047e-06,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.983,0.91,0.852,0.777,0.757,0.706,0.69,0.617,0.592,0.593,0.574,0.543,0.56,0.508,0.5,0.527,0.491,0.488,0.494,0.471,0.503,0.473,0.481,0.48,0.485,0.455,0.482,0.462,0.469 -7.017038286703837e-07,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.972,0.916,0.834,0.767,0.734,0.65,0.686,0.585,0.584,0.559,0.562,0.553,0.527,0.515,0.499,0.502,0.532,0.495,0.492,0.476,0.492,0.481,0.481,0.474,0.462,0.483,0.455,0.458 -3.8881551803080935e-07,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.998,0.955,0.848,0.835,0.751,0.741,0.674,0.648,0.602,0.553,0.557,0.547,0.525,0.509,0.55,0.474,0.502,0.497,0.486,0.474,0.502,0.486,0.462,0.483,0.473,0.52,0.485,0.486 -2.1544346900318867e-07,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.988,0.926,0.832,0.808,0.742,0.69,0.649,0.649,0.6,0.571,0.553,0.538,0.554,0.522,0.499,0.497,0.492,0.494,0.49,0.486,0.475,0.461,0.489,0.48,0.486,0.519,0.454 -1.193776641714438e-07,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.999,0.978,0.878,0.831,0.788,0.728,0.702,0.64,0.611,0.588,0.571,0.551,0.53,0.524,0.518,0.514,0.52,0.51,0.508,0.483,0.493,0.494,0.522,0.471,0.458,0.481,0.47 -6.614740641230159e-08,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.999,0.935,0.87,0.816,0.779,0.742,0.701,0.645,0.608,0.607,0.559,0.541,0.528,0.532,0.509,0.506,0.498,0.478,0.479,0.474,0.493,0.491,0.481,0.475,0.475,0.469 -3.665241237079634e-08,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.991,0.937,0.852,0.812,0.767,0.704,0.671,0.664,0.6,0.577,0.554,0.542,0.526,0.518,0.519,0.502,0.513,0.503,0.501,0.503,0.491,0.479,0.482,0.49,0.467 -2.030917620904739e-08,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.983,0.908,0.823,0.785,0.744,0.723,0.638,0.628,0.611,0.57,0.583,0.531,0.557,0.522,0.516,0.501,0.491,0.489,0.475,0.452,0.499,0.483,0.479,0.475 -1.125335582600767e-08,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.953,0.896,0.792,0.783,0.735,0.662,0.682,0.615,0.6,0.589,0.574,0.539,0.528,0.52,0.504,0.495,0.506,0.484,0.475,0.486,0.473,0.486,0.488 -6.235507341273925e-09,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.994,0.957,0.872,0.767,0.778,0.724,0.69,0.649,0.588,0.567,0.553,0.571,0.535,0.52,0.503,0.507,0.518,0.499,0.495,0.475,0.484,0.487,0.482 -3.4551072945922323e-09,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.988,0.922,0.82,0.81,0.752,0.705,0.652,0.641,0.628,0.6,0.586,0.516,0.501,0.525,0.5,0.473,0.497,0.482,0.477,0.452,0.482,0.473 -1.9144819761699614e-09,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.999,0.969,0.908,0.849,0.763,0.748,0.7,0.654,0.638,0.627,0.557,0.563,0.538,0.499,0.504,0.484,0.512,0.506,0.498,0.486,0.477,0.473 -1.0608183551394483e-09,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.997,0.935,0.851,0.812,0.776,0.74,0.687,0.611,0.6,0.594,0.592,0.512,0.534,0.502,0.516,0.508,0.475,0.487,0.5,0.491,0.46 -5.878016072274924e-10,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.989,0.929,0.846,0.811,0.725,0.679,0.671,0.615,0.597,0.59,0.573,0.547,0.531,0.526,0.507,0.509,0.474,0.499,0.466,0.477 -3.2570206556597964e-10,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.999,0.982,0.891,0.842,0.778,0.741,0.666,0.655,0.597,0.612,0.571,0.551,0.529,0.526,0.539,0.504,0.525,0.506,0.512,0.477 -1.8047217668271738e-10,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.964,0.887,0.824,0.754,0.721,0.681,0.642,0.591,0.583,0.546,0.558,0.553,0.509,0.524,0.504,0.505,0.488,0.492 -1e-10,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.989,0.936,0.868,0.79,0.736,0.696,0.663,0.63,0.595,0.595,0.556,0.525,0.538,0.525,0.524,0.485,0.498,0.519 diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_40833844alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_40833844alist.csv deleted file mode 100644 index c5c9b8f..0000000 --- a/sw/sim_results/2d_dec_fails_w_log_k_lin_40833844alist.csv +++ /dev/null @@ -1,41 +0,0 @@ -,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 -1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 -0.5541020330009492,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 -0.30702906297578497,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 -0.17012542798525893,0.99,0.97,0.98,0.97,0.98,0.95,0.98,0.98,0.95,0.94,0.92,0.92,0.94,0.94,0.97,0.93,0.92,0.92,0.97,0.89,0.97,0.97,0.89,0.92,0.95,0.91,0.9,0.9,0.88,0.88,0.94,0.95,0.89,0.94,0.97,0.91,0.94,0.94,0.92,0.88 -0.09426684551178854,1.0,0.96,0.96,0.96,0.94,0.91,0.84,0.96,0.84,0.85,0.76,0.82,0.79,0.78,0.75,0.79,0.84,0.76,0.75,0.76,0.74,0.79,0.75,0.74,0.72,0.74,0.73,0.72,0.73,0.71,0.71,0.71,0.74,0.72,0.7,0.72,0.69,0.71,0.72,0.7 -0.052233450742668434,1.0,0.96,0.94,0.92,0.94,0.9,0.87,0.83,0.8,0.79,0.76,0.78,0.73,0.76,0.72,0.71,0.73,0.68,0.69,0.62,0.65,0.64,0.61,0.61,0.65,0.65,0.62,0.7,0.59,0.64,0.57,0.57,0.57,0.58,0.56,0.6,0.55,0.68,0.6,0.57 -0.028942661247167517,1.0,0.98,0.95,0.96,0.95,0.87,0.81,0.8,0.85,0.83,0.75,0.75,0.72,0.75,0.73,0.72,0.65,0.6,0.57,0.54,0.62,0.64,0.54,0.54,0.61,0.63,0.62,0.62,0.56,0.51,0.6,0.6,0.45,0.57,0.57,0.57,0.54,0.6,0.44,0.56 -0.016037187437513308,1.0,0.99,0.99,0.99,0.94,0.96,0.86,0.82,0.88,0.84,0.76,0.75,0.69,0.72,0.7,0.67,0.62,0.69,0.6,0.61,0.65,0.59,0.59,0.57,0.52,0.58,0.54,0.56,0.58,0.51,0.51,0.61,0.56,0.56,0.61,0.57,0.52,0.56,0.56,0.57 -0.008886238162743407,1.0,0.99,0.98,0.95,0.93,0.92,0.9,0.86,0.86,0.86,0.76,0.8,0.72,0.7,0.65,0.63,0.73,0.63,0.66,0.7,0.65,0.6,0.63,0.62,0.68,0.52,0.62,0.66,0.62,0.63,0.59,0.59,0.64,0.57,0.63,0.64,0.63,0.61,0.61,0.58 -0.004923882631706742,1.0,1.0,1.0,0.95,0.95,0.93,0.9,0.91,0.84,0.84,0.83,0.8,0.81,0.74,0.68,0.74,0.73,0.73,0.67,0.68,0.64,0.59,0.65,0.67,0.69,0.65,0.53,0.69,0.62,0.72,0.61,0.69,0.69,0.61,0.54,0.69,0.62,0.6,0.63,0.69 -0.0027283333764867696,1.0,1.0,1.0,1.0,0.96,0.97,0.92,0.9,0.81,0.77,0.77,0.83,0.8,0.77,0.73,0.72,0.72,0.72,0.66,0.67,0.66,0.68,0.74,0.62,0.64,0.62,0.64,0.53,0.53,0.7,0.62,0.66,0.62,0.73,0.53,0.65,0.65,0.68,0.62,0.64 -0.001511775070615663,1.0,1.0,1.0,1.0,0.99,0.95,0.92,0.89,0.87,0.87,0.87,0.84,0.81,0.8,0.76,0.73,0.74,0.58,0.72,0.6,0.6,0.59,0.54,0.63,0.62,0.66,0.7,0.67,0.67,0.67,0.65,0.72,0.64,0.63,0.59,0.59,0.59,0.59,0.63,0.63 -0.0008376776400682924,1.0,1.0,1.0,1.0,1.0,0.97,0.96,0.95,0.9,0.89,0.82,0.87,0.8,0.73,0.8,0.77,0.68,0.71,0.62,0.72,0.73,0.72,0.6,0.72,0.67,0.65,0.66,0.7,0.62,0.69,0.67,0.61,0.57,0.53,0.58,0.61,0.65,0.69,0.59,0.65 -0.0004641588833612782,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.92,0.95,0.91,0.86,0.87,0.85,0.82,0.79,0.66,0.68,0.72,0.73,0.76,0.72,0.66,0.71,0.7,0.67,0.64,0.67,0.74,0.7,0.67,0.61,0.6,0.58,0.67,0.65,0.61,0.61,0.56,0.61,0.67 -0.0002571913809059347,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.98,0.92,0.88,0.84,0.84,0.8,0.82,0.74,0.79,0.74,0.74,0.64,0.73,0.64,0.68,0.69,0.72,0.64,0.63,0.67,0.67,0.59,0.68,0.66,0.61,0.67,0.65,0.65,0.65,0.62,0.66,0.65,0.65 -0.00014251026703029993,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99,0.96,0.94,0.91,0.96,0.81,0.81,0.89,0.77,0.75,0.74,0.69,0.81,0.64,0.63,0.74,0.69,0.69,0.64,0.68,0.62,0.67,0.67,0.61,0.65,0.65,0.67,0.65,0.57,0.65,0.65,0.57,0.65 -7.896522868499733e-05,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.95,0.98,0.9,0.86,0.92,0.87,0.83,0.81,0.74,0.77,0.83,0.76,0.72,0.7,0.68,0.73,0.68,0.71,0.62,0.65,0.7,0.7,0.68,0.61,0.66,0.72,0.58,0.67,0.61,0.64,0.66,0.65 -4.375479375074189e-05,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.96,0.95,0.93,0.89,0.81,0.81,0.8,0.82,0.81,0.71,0.68,0.78,0.64,0.63,0.72,0.72,0.66,0.7,0.55,0.72,0.67,0.67,0.68,0.63,0.67,0.66,0.65,0.6,0.65,0.65,0.71 -2.424462017082331e-05,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99,0.99,0.93,0.94,0.92,0.93,0.89,0.89,0.82,0.7,0.8,0.61,0.79,0.72,0.71,0.7,0.72,0.73,0.73,0.73,0.81,0.7,0.71,0.69,0.63,0.64,0.6,0.64,0.6,0.61,0.64,0.62 -1.3433993325989015e-05,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99,0.98,0.93,0.96,0.9,0.9,0.84,0.82,0.72,0.78,0.77,0.83,0.67,0.71,0.72,0.74,0.73,0.67,0.7,0.65,0.55,0.71,0.55,0.63,0.64,0.67,0.68,0.69,0.65,0.7,0.64 -7.443803013251696e-06,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.95,0.95,0.91,0.84,0.85,0.82,0.8,0.76,0.73,0.76,0.75,0.65,0.7,0.74,0.7,0.73,0.7,0.65,0.65,0.54,0.64,0.63,0.55,0.8,0.63,0.64,0.64,0.65 -4.124626382901356e-06,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.97,0.95,0.93,0.91,0.82,0.87,0.83,0.78,0.75,0.77,0.76,0.72,0.76,0.65,0.69,0.65,0.67,0.65,0.66,0.72,0.64,0.7,0.65,0.62,0.62,0.63,0.67,0.8 -2.285463864134993e-06,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.96,0.97,0.9,0.89,0.79,0.83,0.81,0.77,0.78,0.72,0.79,0.77,0.69,0.78,0.73,0.65,0.65,0.74,0.67,0.65,0.71,0.64,0.63,0.68,0.62,0.62,0.64 -1.2663801734674047e-06,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.96,0.93,0.87,0.9,0.9,0.81,0.79,0.79,0.75,0.74,0.76,0.7,0.7,0.82,0.73,0.71,0.63,0.65,0.67,0.68,0.74,0.63,0.64,0.65,0.63,0.67 -7.017038286703837e-07,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99,1.0,0.94,0.94,0.92,0.85,0.88,0.82,0.83,0.86,0.81,0.75,0.72,0.71,0.76,0.79,0.68,0.67,0.66,0.65,0.63,0.71,0.65,0.67,0.71,0.6,0.65,0.67 -3.8881551803080935e-07,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.96,0.95,0.88,0.86,0.83,0.82,0.91,0.84,0.81,0.73,0.72,0.7,0.7,0.75,0.68,0.68,0.71,0.7,0.72,0.63,0.67,0.63,0.65,0.65,0.61 -2.1544346900318867e-07,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.96,0.95,0.92,0.95,0.9,0.85,0.84,0.8,0.74,0.76,0.75,0.84,0.7,0.69,0.68,0.65,0.67,0.71,0.67,0.65,0.72,0.72,0.62,0.67,0.72 -1.193776641714438e-07,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.97,0.97,0.94,0.92,0.86,0.82,0.83,0.81,0.76,0.82,0.73,0.71,0.8,0.63,0.68,0.75,0.63,0.61,0.72,0.59,0.67,0.59,0.62,0.66 -6.614740641230159e-08,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99,0.97,0.97,0.95,0.88,0.89,0.89,0.88,0.89,0.79,0.7,0.74,0.75,0.76,0.69,0.69,0.72,0.65,0.62,0.7,0.67,0.68,0.72,0.59,0.64 -3.665241237079634e-08,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.96,0.94,0.93,0.87,0.86,0.82,0.73,0.84,0.77,0.73,0.68,0.66,0.69,0.73,0.65,0.69,0.72,0.65,0.6,0.62,0.72,0.74 -2.030917620904739e-08,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99,0.98,0.96,0.96,0.93,0.93,0.82,0.8,0.79,0.77,0.76,0.82,0.77,0.66,0.7,0.67,0.68,0.71,0.7,0.6,0.66,0.59,0.65 -1.125335582600767e-08,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.96,0.99,0.96,0.89,0.87,0.82,0.88,0.72,0.83,0.7,0.79,0.68,0.73,0.65,0.7,0.65,0.62,0.72,0.66,0.68,0.66 -6.235507341273925e-09,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.97,0.92,0.94,0.94,0.82,0.8,0.87,0.81,0.77,0.81,0.74,0.77,0.77,0.68,0.67,0.75,0.66,0.65,0.69,0.66 -3.4551072945922323e-09,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99,0.94,0.95,0.91,0.83,0.83,0.77,0.8,0.77,0.82,0.74,0.73,0.64,0.74,0.76,0.67,0.67,0.7,0.66,0.72 -1.9144819761699614e-09,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.93,0.89,0.93,0.86,0.84,0.83,0.74,0.8,0.76,0.78,0.74,0.75,0.68,0.65,0.73,0.6,0.68 -1.0608183551394483e-09,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.97,0.96,0.91,0.91,0.84,0.88,0.87,0.82,0.67,0.75,0.81,0.65,0.75,0.69,0.67,0.74,0.82,0.66 -5.878016072274924e-10,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.99,0.94,0.94,0.92,0.86,0.91,0.85,0.79,0.8,0.73,0.75,0.79,0.7,0.73,0.77,0.71,0.68,0.58 -3.2570206556597964e-10,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.99,0.95,0.94,0.89,0.86,0.85,0.79,0.8,0.83,0.8,0.75,0.78,0.74,0.66,0.73,0.67,0.66 -1.8047217668271738e-10,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.93,0.97,0.9,0.87,0.92,0.89,0.87,0.81,0.78,0.82,0.76,0.81,0.73,0.69,0.67,0.61 -1e-10,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.98,0.97,0.97,0.93,0.9,0.88,0.82,0.86,0.84,0.82,0.71,0.66,0.78,0.73,0.73,0.74 diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_963965alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_963965alist.csv deleted file mode 100644 index 5b1a490..0000000 --- a/sw/sim_results/2d_dec_fails_w_log_k_lin_963965alist.csv +++ /dev/null @@ -1,41 +0,0 @@ -,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 -1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 -0.5541020330009492,0.961,0.96,0.961,0.958,0.96,0.958,0.96,0.964,0.958,0.956,0.959,0.957,0.959,0.966,0.955,0.959,0.963,0.959,0.957,0.955,0.957,0.972,0.962,0.957,0.964,0.957,0.955,0.962,0.955,0.956,0.964,0.955,0.972,0.955,0.962,0.964,0.962,0.955,0.972,0.962 -0.30702906297578497,0.843,0.842,0.824,0.82,0.819,0.803,0.801,0.801,0.801,0.814,0.817,0.8,0.797,0.799,0.799,0.821,0.797,0.798,0.816,0.8,0.811,0.8,0.8,0.788,0.797,0.799,0.796,0.794,0.818,0.794,0.794,0.811,0.799,0.794,0.797,0.809,0.788,0.809,0.809,0.797 -0.17012542798525893,0.733,0.659,0.622,0.569,0.547,0.533,0.516,0.546,0.526,0.518,0.496,0.509,0.465,0.491,0.484,0.48,0.456,0.456,0.467,0.479,0.439,0.45,0.443,0.442,0.473,0.435,0.44,0.454,0.449,0.47,0.429,0.428,0.452,0.441,0.427,0.429,0.435,0.45,0.44,0.439 -0.09426684551178854,0.66,0.571,0.513,0.485,0.438,0.412,0.4,0.405,0.384,0.367,0.345,0.345,0.351,0.348,0.348,0.327,0.338,0.343,0.323,0.321,0.337,0.335,0.314,0.337,0.332,0.319,0.306,0.328,0.318,0.318,0.328,0.317,0.317,0.309,0.292,0.313,0.308,0.308,0.315,0.291 -0.052233450742668434,0.689,0.597,0.507,0.493,0.421,0.399,0.392,0.377,0.347,0.353,0.326,0.317,0.33,0.32,0.315,0.309,0.291,0.303,0.308,0.305,0.298,0.275,0.297,0.279,0.299,0.279,0.269,0.269,0.276,0.279,0.287,0.293,0.269,0.293,0.278,0.278,0.293,0.299,0.274,0.269 -0.028942661247167517,0.775,0.64,0.555,0.504,0.453,0.404,0.391,0.391,0.381,0.364,0.332,0.34,0.324,0.299,0.297,0.29,0.287,0.284,0.282,0.28,0.303,0.303,0.302,0.287,0.287,0.287,0.281,0.287,0.271,0.296,0.296,0.291,0.29,0.29,0.297,0.29,0.284,0.268,0.279,0.268 -0.016037187437513308,0.883,0.684,0.577,0.528,0.474,0.441,0.4,0.368,0.35,0.337,0.347,0.309,0.318,0.322,0.318,0.314,0.3,0.306,0.283,0.297,0.306,0.281,0.306,0.293,0.293,0.303,0.291,0.291,0.291,0.291,0.273,0.299,0.3,0.29,0.289,0.3,0.299,0.289,0.289,0.273 -0.008886238162743407,0.98,0.82,0.624,0.574,0.499,0.434,0.424,0.419,0.408,0.335,0.344,0.33,0.321,0.317,0.311,0.29,0.312,0.3,0.323,0.298,0.326,0.297,0.296,0.294,0.293,0.324,0.278,0.317,0.297,0.316,0.315,0.323,0.323,0.297,0.29,0.275,0.287,0.275,0.275,0.297 -0.004923882631706742,0.996,0.909,0.74,0.599,0.513,0.505,0.429,0.431,0.408,0.365,0.384,0.381,0.353,0.328,0.351,0.335,0.308,0.336,0.356,0.32,0.318,0.33,0.316,0.314,0.328,0.314,0.309,0.3,0.319,0.317,0.298,0.318,0.315,0.298,0.332,0.327,0.346,0.313,0.327,0.346 -0.0027283333764867696,1.0,0.994,0.842,0.711,0.572,0.558,0.482,0.426,0.435,0.408,0.395,0.368,0.348,0.341,0.343,0.358,0.366,0.328,0.329,0.33,0.345,0.345,0.327,0.316,0.315,0.325,0.325,0.355,0.314,0.313,0.354,0.334,0.325,0.299,0.315,0.352,0.325,0.325,0.313,0.312 -0.001511775070615663,0.999,0.999,0.951,0.822,0.645,0.548,0.482,0.455,0.431,0.403,0.413,0.379,0.364,0.33,0.367,0.335,0.344,0.335,0.328,0.311,0.326,0.321,0.348,0.316,0.324,0.303,0.334,0.315,0.328,0.333,0.354,0.305,0.325,0.315,0.322,0.31,0.301,0.328,0.322,0.344 -0.0008376776400682924,1.0,0.999,0.996,0.93,0.717,0.613,0.55,0.484,0.448,0.429,0.383,0.401,0.385,0.384,0.345,0.325,0.316,0.332,0.37,0.315,0.365,0.309,0.345,0.351,0.331,0.318,0.329,0.318,0.329,0.348,0.316,0.357,0.321,0.307,0.321,0.313,0.321,0.357,0.338,0.304 -0.0004641588833612782,1.0,1.0,1.0,0.987,0.873,0.727,0.583,0.539,0.484,0.461,0.399,0.384,0.391,0.386,0.371,0.34,0.359,0.339,0.37,0.334,0.324,0.338,0.321,0.343,0.321,0.305,0.331,0.305,0.331,0.338,0.338,0.336,0.338,0.343,0.325,0.343,0.337,0.336,0.336,0.333 -0.0002571913809059347,0.999,0.999,1.0,0.999,0.97,0.812,0.631,0.563,0.513,0.483,0.428,0.407,0.385,0.378,0.375,0.37,0.361,0.334,0.338,0.342,0.339,0.347,0.337,0.287,0.344,0.336,0.292,0.331,0.286,0.341,0.341,0.329,0.336,0.33,0.328,0.339,0.328,0.285,0.285,0.325 -0.00014251026703029993,1.0,0.998,1.0,0.999,0.998,0.954,0.774,0.6,0.549,0.495,0.457,0.416,0.398,0.357,0.316,0.355,0.334,0.319,0.34,0.338,0.335,0.339,0.337,0.322,0.294,0.331,0.293,0.292,0.292,0.317,0.327,0.348,0.329,0.328,0.316,0.328,0.328,0.32,0.29,0.316 -7.896522868499733e-05,0.999,1.0,1.0,0.999,0.999,0.993,0.883,0.666,0.578,0.532,0.481,0.465,0.423,0.442,0.36,0.349,0.342,0.334,0.347,0.327,0.325,0.34,0.359,0.358,0.357,0.323,0.323,0.321,0.323,0.352,0.317,0.317,0.317,0.348,0.347,0.317,0.347,0.319,0.358,0.358 -4.375479375074189e-05,1.0,1.0,0.999,0.999,1.0,0.997,0.979,0.83,0.684,0.554,0.497,0.476,0.47,0.441,0.394,0.377,0.369,0.362,0.334,0.368,0.346,0.358,0.323,0.355,0.354,0.319,0.331,0.322,0.352,0.322,0.36,0.321,0.335,0.32,0.317,0.313,0.312,0.319,0.333,0.312 -2.424462017082331e-05,0.999,1.0,1.0,1.0,1.0,1.0,0.999,0.944,0.803,0.631,0.558,0.489,0.495,0.432,0.406,0.363,0.386,0.373,0.362,0.33,0.338,0.334,0.337,0.342,0.336,0.334,0.319,0.338,0.302,0.314,0.331,0.313,0.313,0.313,0.334,0.327,0.3,0.329,0.3,0.313 -1.3433993325989015e-05,0.998,0.999,0.998,1.0,1.0,0.999,1.0,0.996,0.926,0.723,0.592,0.515,0.478,0.434,0.409,0.396,0.396,0.376,0.356,0.351,0.316,0.322,0.317,0.325,0.337,0.315,0.33,0.329,0.338,0.302,0.302,0.317,0.313,0.301,0.302,0.315,0.315,0.325,0.299,0.339 -7.443803013251696e-06,0.998,0.999,1.0,1.0,1.0,0.998,0.999,0.998,0.986,0.846,0.693,0.579,0.514,0.491,0.425,0.421,0.398,0.376,0.361,0.355,0.346,0.36,0.353,0.338,0.326,0.323,0.33,0.319,0.345,0.315,0.329,0.34,0.342,0.317,0.315,0.317,0.313,0.331,0.34,0.313 -4.124626382901356e-06,1.0,1.0,1.0,0.999,1.0,1.0,0.998,1.0,1.0,0.959,0.84,0.619,0.562,0.511,0.472,0.463,0.42,0.418,0.398,0.365,0.344,0.37,0.342,0.361,0.36,0.322,0.333,0.358,0.335,0.353,0.345,0.33,0.332,0.33,0.325,0.329,0.348,0.351,0.313,0.325 -2.285463864134993e-06,0.999,1.0,1.0,1.0,1.0,1.0,1.0,0.999,0.999,0.998,0.931,0.751,0.583,0.518,0.47,0.463,0.432,0.394,0.387,0.393,0.331,0.325,0.312,0.341,0.338,0.331,0.303,0.339,0.357,0.331,0.337,0.298,0.298,0.328,0.333,0.3,0.329,0.329,0.3,0.334 -1.2663801734674047e-06,1.0,0.999,1.0,1.0,1.0,0.999,1.0,1.0,1.0,1.0,0.998,0.868,0.686,0.601,0.506,0.482,0.426,0.415,0.397,0.398,0.352,0.36,0.354,0.337,0.31,0.361,0.33,0.311,0.342,0.334,0.351,0.333,0.337,0.304,0.35,0.337,0.318,0.322,0.302,0.322 -7.017038286703837e-07,0.999,0.999,1.0,1.0,1.0,0.999,1.0,0.999,1.0,1.0,0.999,0.972,0.817,0.667,0.572,0.504,0.461,0.42,0.409,0.393,0.376,0.366,0.339,0.339,0.354,0.342,0.361,0.322,0.323,0.341,0.319,0.322,0.318,0.317,0.304,0.317,0.315,0.318,0.317,0.335 -3.8881551803080935e-07,1.0,1.0,1.0,0.999,0.999,0.999,1.0,1.0,0.999,0.999,1.0,0.997,0.929,0.785,0.653,0.535,0.508,0.468,0.456,0.411,0.396,0.389,0.364,0.342,0.363,0.344,0.347,0.322,0.328,0.339,0.319,0.319,0.337,0.322,0.323,0.317,0.338,0.321,0.317,0.33 -2.1544346900318867e-07,0.999,0.999,1.0,1.0,1.0,1.0,0.999,1.0,0.999,1.0,0.999,1.0,0.996,0.902,0.691,0.622,0.52,0.483,0.445,0.405,0.412,0.391,0.363,0.359,0.355,0.344,0.337,0.34,0.332,0.341,0.347,0.347,0.325,0.321,0.347,0.313,0.338,0.322,0.331,0.331 -1.193776641714438e-07,1.0,1.0,0.999,1.0,1.0,0.999,1.0,1.0,0.999,1.0,1.0,1.0,0.999,0.985,0.836,0.647,0.561,0.505,0.472,0.441,0.395,0.411,0.36,0.363,0.356,0.35,0.34,0.338,0.339,0.336,0.337,0.317,0.347,0.314,0.32,0.342,0.313,0.332,0.313,0.319 -6.614740641230159e-08,1.0,0.999,1.0,1.0,0.999,1.0,1.0,1.0,1.0,1.0,1.0,0.999,1.0,1.0,0.958,0.757,0.631,0.555,0.502,0.453,0.418,0.403,0.377,0.372,0.377,0.35,0.345,0.334,0.321,0.318,0.33,0.322,0.327,0.321,0.343,0.328,0.325,0.335,0.342,0.311 -3.665241237079634e-08,1.0,1.0,1.0,1.0,1.0,0.999,1.0,1.0,1.0,0.999,0.999,1.0,1.0,0.999,0.994,0.908,0.722,0.571,0.543,0.519,0.485,0.431,0.418,0.403,0.335,0.335,0.356,0.35,0.347,0.354,0.33,0.341,0.328,0.321,0.353,0.316,0.315,0.324,0.365,0.375 -2.030917620904739e-08,1.0,1.0,0.999,0.999,0.999,1.0,0.999,0.999,0.999,1.0,1.0,0.999,1.0,1.0,1.0,0.985,0.874,0.677,0.569,0.543,0.511,0.416,0.418,0.429,0.408,0.387,0.326,0.346,0.349,0.338,0.361,0.361,0.358,0.341,0.327,0.359,0.316,0.32,0.337,0.345 -1.125335582600767e-08,1.0,0.999,1.0,1.0,1.0,0.999,1.0,1.0,0.999,0.999,1.0,1.0,0.999,1.0,1.0,0.998,0.97,0.8,0.647,0.542,0.49,0.463,0.45,0.428,0.391,0.392,0.37,0.329,0.382,0.362,0.387,0.316,0.359,0.325,0.377,0.323,0.357,0.312,0.329,0.311 -6.235507341273925e-09,0.999,0.999,0.999,1.0,1.0,1.0,1.0,1.0,0.999,0.999,0.999,0.999,0.999,1.0,1.0,0.999,0.997,0.928,0.771,0.589,0.558,0.525,0.467,0.432,0.392,0.406,0.392,0.345,0.373,0.333,0.318,0.311,0.308,0.325,0.324,0.305,0.324,0.354,0.311,0.343 -3.4551072945922323e-09,1.0,1.0,0.999,0.999,0.999,1.0,1.0,1.0,0.999,1.0,0.999,1.0,1.0,0.999,1.0,1.0,1.0,0.991,0.892,0.68,0.546,0.544,0.463,0.428,0.399,0.371,0.364,0.355,0.38,0.322,0.332,0.364,0.319,0.326,0.305,0.306,0.329,0.344,0.305,0.326 -1.9144819761699614e-09,1.0,1.0,1.0,1.0,1.0,1.0,0.999,1.0,1.0,1.0,1.0,0.999,1.0,0.999,1.0,1.0,0.999,1.0,0.978,0.819,0.637,0.57,0.485,0.48,0.433,0.393,0.408,0.375,0.396,0.355,0.373,0.336,0.364,0.312,0.33,0.306,0.311,0.356,0.328,0.319 -1.0608183551394483e-09,1.0,0.999,1.0,1.0,1.0,1.0,1.0,0.999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.998,0.947,0.737,0.623,0.532,0.536,0.475,0.447,0.432,0.393,0.373,0.394,0.334,0.319,0.342,0.328,0.324,0.327,0.344,0.304,0.353,0.329 -5.878016072274924e-10,1.0,0.998,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.993,0.882,0.716,0.605,0.542,0.503,0.477,0.43,0.397,0.394,0.4,0.371,0.315,0.345,0.357,0.333,0.332,0.317,0.305,0.325,0.34 -3.2570206556597964e-10,1.0,1.0,0.998,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.998,1.0,1.0,0.998,1.0,1.0,1.0,1.0,1.0,0.982,0.863,0.676,0.552,0.496,0.457,0.452,0.397,0.402,0.387,0.345,0.366,0.358,0.358,0.339,0.336,0.296,0.353,0.332,0.35 -1.8047217668271738e-10,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.998,1.0,1.0,0.999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.998,0.953,0.77,0.633,0.562,0.469,0.487,0.429,0.427,0.396,0.384,0.371,0.371,0.348,0.326,0.303,0.324,0.353,0.339,0.352 -1e-10,1.0,1.0,1.0,1.0,0.999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.997,0.913,0.759,0.593,0.543,0.52,0.456,0.469,0.425,0.398,0.352,0.371,0.346,0.345,0.352,0.332,0.328,0.315,0.323 diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_bch_31_11alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_bch_31_11alist.csv deleted file mode 100644 index 3ae97aa..0000000 --- a/sw/sim_results/2d_dec_fails_w_log_k_lin_bch_31_11alist.csv +++ /dev/null @@ -1,41 +0,0 @@ -,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 -1.0,0.9982,0.9982,0.9982,0.9982,0.9982,0.9982,0.9982,0.9982,0.9976,0.9976,0.9976,0.9976,0.9976,0.9976,0.9976,0.9976,0.9978,0.9978,0.9978,0.9978,0.9978,0.9978,0.9978,0.9978,0.9971,0.9971,0.9971,0.9971,0.9971,0.9971,0.9971,0.9971,0.9978,0.9978,0.9978,0.9978,0.9978,0.9978,0.9978,0.9978 -0.5541020330009492,0.8391,0.8381,0.8316,0.837,0.8302,0.8341,0.8363,0.8294,0.8332,0.8354,0.8355,0.835,0.8288,0.8318,0.8347,0.8347,0.8284,0.8342,0.8368,0.8284,0.8307,0.8344,0.8283,0.8366,0.8302,0.8282,0.8353,0.8302,0.834,0.8361,0.8301,0.8352,0.8338,0.83,0.8432,0.8336,0.8356,0.8347,0.8335,0.8431 -0.30702906297578497,0.7377,0.7246,0.7251,0.7187,0.7116,0.7101,0.7159,0.7105,0.715,0.7141,0.7137,0.7061,0.7108,0.6972,0.7031,0.71,0.7099,0.7043,0.7094,0.7055,0.7029,0.7128,0.711,0.7024,0.7024,0.7047,0.7023,0.7031,0.6947,0.7043,0.7085,0.7041,0.704,0.694,0.7039,0.6967,0.6937,0.7116,0.7017,0.6937 -0.17012542798525893,0.6492,0.6389,0.6209,0.5981,0.592,0.5853,0.5831,0.5841,0.5668,0.5781,0.5619,0.5701,0.5617,0.5589,0.5584,0.5619,0.5662,0.5559,0.5599,0.5529,0.5491,0.5565,0.5472,0.5511,0.5514,0.546,0.5504,0.5593,0.5552,0.5532,0.5549,0.5523,0.5439,0.5543,0.5518,0.549,0.5483,0.5591,0.5482,0.5505 -0.09426684551178854,0.6366,0.59,0.5657,0.5584,0.5385,0.5273,0.529,0.5232,0.514,0.5193,0.5081,0.5083,0.5071,0.5,0.5082,0.4968,0.5045,0.4948,0.4953,0.4929,0.4904,0.5006,0.4905,0.4993,0.4894,0.4902,0.4865,0.4926,0.4968,0.4884,0.4893,0.4879,0.4887,0.4843,0.4872,0.4852,0.4865,0.4878,0.4831,0.4872 -0.052233450742668434,0.6398,0.5945,0.5576,0.5447,0.5234,0.5205,0.5111,0.4962,0.4947,0.4887,0.4921,0.4793,0.483,0.4878,0.4813,0.4738,0.4727,0.4737,0.4803,0.4685,0.4655,0.4771,0.4776,0.4688,0.4681,0.4623,0.4737,0.4629,0.4685,0.4697,0.4724,0.4601,0.4597,0.4671,0.4641,0.4626,0.4684,0.4724,0.4682,0.4659 -0.028942661247167517,0.6841,0.6171,0.5737,0.5439,0.5277,0.5232,0.5035,0.5043,0.4987,0.4927,0.483,0.481,0.4697,0.4764,0.4737,0.4642,0.4656,0.4696,0.4593,0.4594,0.4677,0.4665,0.4658,0.4601,0.4559,0.4557,0.4596,0.4579,0.4635,0.4583,0.4582,0.4622,0.4539,0.457,0.4613,0.4526,0.4614,0.4523,0.4562,0.452 -0.016037187437513308,0.7523,0.652,0.5902,0.5571,0.5326,0.5214,0.5121,0.506,0.5004,0.4847,0.4772,0.4716,0.4715,0.461,0.4632,0.4728,0.461,0.4701,0.4694,0.4569,0.4593,0.4614,0.4579,0.4554,0.4572,0.4652,0.4673,0.4591,0.4666,0.4491,0.449,0.4555,0.4583,0.4654,0.454,0.4487,0.4536,0.4511,0.4515,0.4484 -0.008886238162743407,0.854,0.6995,0.6139,0.582,0.5509,0.5345,0.5169,0.5052,0.5046,0.4963,0.4793,0.4751,0.4697,0.4672,0.4739,0.4599,0.4717,0.4704,0.4609,0.4591,0.4586,0.4583,0.4668,0.4681,0.4577,0.4572,0.457,0.4579,0.4579,0.4579,0.4671,0.4558,0.4504,0.4502,0.4527,0.4552,0.4552,0.4551,0.4545,0.4498 -0.004923882631706742,0.9377,0.7805,0.6566,0.6092,0.5684,0.5462,0.5293,0.5151,0.5047,0.4959,0.4836,0.4812,0.4733,0.4751,0.4709,0.4645,0.4646,0.4625,0.4644,0.4614,0.464,0.4601,0.4597,0.4585,0.4624,0.4645,0.4591,0.4558,0.4589,0.4512,0.4636,0.4613,0.458,0.4581,0.463,0.4601,0.4536,0.4491,0.4576,0.4574 -0.0027283333764867696,0.9725,0.8807,0.7299,0.6499,0.5888,0.5705,0.5444,0.5245,0.5177,0.5042,0.4842,0.4829,0.4826,0.4667,0.47,0.4711,0.4698,0.4678,0.4543,0.4654,0.461,0.4527,0.4657,0.4597,0.4715,0.4712,0.4655,0.4601,0.4523,0.465,0.4583,0.4516,0.4723,0.4721,0.463,0.463,0.4502,0.4626,0.4499,0.4498 -0.001511775070615663,0.9799,0.9585,0.8239,0.7127,0.6269,0.5909,0.5651,0.5426,0.5262,0.5041,0.4901,0.4865,0.4739,0.4835,0.4757,0.4799,0.4781,0.4735,0.4564,0.4718,0.4673,0.4729,0.4654,0.4602,0.472,0.465,0.4657,0.4645,0.4645,0.4736,0.4717,0.4566,0.4637,0.4588,0.4714,0.4632,0.4697,0.4632,0.4672,0.473 -0.0008376776400682924,0.9799,0.9756,0.9253,0.8025,0.6774,0.6201,0.5799,0.5505,0.531,0.5224,0.5144,0.4976,0.4888,0.4833,0.4811,0.4821,0.4654,0.4758,0.4765,0.4621,0.4677,0.467,0.4645,0.4602,0.4584,0.4649,0.4595,0.4612,0.4633,0.4632,0.4573,0.4595,0.4687,0.4643,0.4571,0.4667,0.4575,0.4571,0.4679,0.4579 -0.0004641588833612782,0.9798,0.9795,0.9709,0.9108,0.7457,0.6511,0.6036,0.567,0.5507,0.528,0.5081,0.502,0.4949,0.4847,0.4845,0.4801,0.468,0.4717,0.4642,0.4692,0.4755,0.4716,0.4653,0.4648,0.462,0.4656,0.4643,0.465,0.4659,0.4637,0.4588,0.4588,0.4687,0.4584,0.4725,0.4581,0.4593,0.4582,0.4591,0.4589 -0.0002571913809059347,0.9787,0.9768,0.9776,0.9665,0.8423,0.7242,0.6242,0.5846,0.5629,0.5349,0.5234,0.5103,0.501,0.4937,0.4871,0.4718,0.4742,0.4737,0.4661,0.4776,0.4667,0.4758,0.475,0.4739,0.4578,0.474,0.4598,0.467,0.4596,0.4667,0.4666,0.4616,0.4712,0.4662,0.464,0.4599,0.458,0.4598,0.465,0.4592 -0.00014251026703029993,0.9794,0.9799,0.979,0.9795,0.9392,0.8202,0.6908,0.6068,0.5845,0.549,0.5373,0.5132,0.5053,0.5094,0.4854,0.4874,0.4788,0.4811,0.464,0.4767,0.4705,0.4704,0.4591,0.4706,0.4615,0.4616,0.4729,0.4614,0.4684,0.4601,0.4719,0.4615,0.4561,0.4641,0.4604,0.4638,0.4605,0.4589,0.4603,0.46 -7.896522868499733e-05,0.979,0.9789,0.9792,0.979,0.9697,0.9249,0.7607,0.6489,0.6006,0.5668,0.55,0.5332,0.5142,0.5076,0.4978,0.4945,0.4864,0.4784,0.475,0.465,0.4673,0.4719,0.4617,0.4635,0.4701,0.4683,0.4681,0.4668,0.4617,0.4615,0.4657,0.4647,0.4611,0.4679,0.4678,0.4664,0.4648,0.4612,0.4659,0.4656 -4.375479375074189e-05,0.9793,0.9783,0.9783,0.9791,0.9786,0.9691,0.8684,0.7118,0.6403,0.5937,0.5672,0.5568,0.5174,0.5148,0.5023,0.4942,0.4891,0.4747,0.4706,0.4759,0.4789,0.4739,0.4625,0.4685,0.4679,0.4676,0.4671,0.4593,0.4677,0.4625,0.4661,0.4583,0.4581,0.4662,0.4661,0.4661,0.458,0.4603,0.4658,0.4724 -2.424462017082331e-05,0.9783,0.9793,0.9792,0.9793,0.9782,0.9757,0.95,0.8117,0.7026,0.6214,0.5842,0.5493,0.5387,0.5229,0.5123,0.4997,0.4947,0.4787,0.4734,0.4851,0.4653,0.4642,0.4747,0.462,0.4698,0.4679,0.4677,0.4685,0.4617,0.4667,0.4683,0.4663,0.4585,0.466,0.4699,0.4593,0.4665,0.4693,0.4579,0.4692 -1.3433993325989015e-05,0.9788,0.9793,0.9789,0.9811,0.9787,0.9781,0.9764,0.912,0.786,0.6647,0.6158,0.5729,0.5491,0.536,0.5222,0.5026,0.5009,0.4912,0.4753,0.4713,0.4775,0.4647,0.4721,0.4723,0.4696,0.4599,0.463,0.4687,0.4752,0.4617,0.4604,0.4745,0.46,0.461,0.4681,0.4689,0.4689,0.4677,0.4639,0.4688 -7.443803013251696e-06,0.98,0.9811,0.9768,0.9809,0.9789,0.9808,0.9768,0.9667,0.8934,0.7384,0.6436,0.6021,0.5631,0.5477,0.532,0.509,0.5065,0.4974,0.4864,0.4854,0.4783,0.4768,0.4668,0.4691,0.464,0.4705,0.4696,0.4619,0.4647,0.4635,0.4649,0.4672,0.4645,0.4601,0.4738,0.464,0.4669,0.4697,0.4659,0.4655 -4.124626382901356e-06,0.9768,0.98,0.9774,0.9773,0.9768,0.9768,0.9804,0.9764,0.96,0.8257,0.7161,0.6318,0.5898,0.5634,0.5414,0.5315,0.5074,0.5017,0.4911,0.4826,0.4778,0.4793,0.4704,0.4652,0.4691,0.4649,0.4705,0.47,0.4699,0.4644,0.4722,0.4644,0.4663,0.4648,0.4629,0.4629,0.4628,0.471,0.4577,0.4603 -2.285463864134993e-06,0.9774,0.9786,0.9805,0.9787,0.9787,0.9793,0.979,0.9783,0.9728,0.9283,0.7996,0.6729,0.6136,0.5776,0.556,0.5258,0.5232,0.5081,0.5003,0.4908,0.4799,0.4887,0.4846,0.4719,0.466,0.4648,0.464,0.4608,0.4666,0.4595,0.4656,0.4616,0.4652,0.465,0.4648,0.4665,0.4733,0.4631,0.4629,0.464 -1.2663801734674047e-06,0.9786,0.9786,0.9793,0.9786,0.9793,0.9789,0.9799,0.9793,0.9789,0.9732,0.911,0.7469,0.6523,0.6035,0.5714,0.5421,0.5286,0.5154,0.5049,0.4978,0.4834,0.484,0.471,0.4734,0.4695,0.4795,0.4619,0.4683,0.4684,0.4649,0.4676,0.4595,0.4592,0.4647,0.4667,0.4616,0.4592,0.4615,0.459,0.4662 -7.017038286703837e-07,0.9762,0.9799,0.9789,0.9789,0.9771,0.9783,0.9777,0.9777,0.977,0.9757,0.9641,0.8545,0.7031,0.6406,0.5882,0.5633,0.5438,0.5292,0.5148,0.5048,0.4909,0.4906,0.4821,0.4808,0.4676,0.4724,0.4633,0.4691,0.4704,0.4643,0.4672,0.463,0.4665,0.4625,0.4662,0.4621,0.4654,0.461,0.4656,0.461 -3.8881551803080935e-07,0.9814,0.9783,0.9776,0.9814,0.9783,0.9789,0.9791,0.9776,0.9785,0.9786,0.9766,0.9441,0.7953,0.6897,0.6146,0.5789,0.5571,0.5341,0.5197,0.5117,0.4962,0.4949,0.482,0.4762,0.4776,0.4759,0.4742,0.4687,0.4704,0.4623,0.4691,0.47,0.4629,0.4651,0.465,0.4637,0.4607,0.468,0.4602,0.4605 -2.1544346900318867e-07,0.9779,0.9785,0.9785,0.9785,0.9789,0.9789,0.9789,0.9779,0.9789,0.9784,0.9769,0.973,0.9076,0.7713,0.6549,0.5953,0.5753,0.5452,0.5342,0.5145,0.5006,0.4987,0.4956,0.4815,0.4748,0.4714,0.47,0.4662,0.4649,0.4665,0.4659,0.4684,0.4615,0.4618,0.4628,0.4626,0.4601,0.4619,0.4607,0.4611 -1.193776641714438e-07,0.9784,0.9778,0.9775,0.9784,0.9775,0.9806,0.9775,0.9793,0.9778,0.9806,0.9774,0.9764,0.9641,0.8779,0.7256,0.6322,0.5894,0.5561,0.5397,0.5239,0.5091,0.5037,0.4879,0.4946,0.4758,0.4764,0.4683,0.4675,0.4774,0.4638,0.4652,0.4608,0.4645,0.4608,0.471,0.4636,0.4627,0.4597,0.463,0.47 -6.614740641230159e-08,0.9774,0.9778,0.9782,0.9774,0.9783,0.9775,0.9802,0.9783,0.9778,0.9783,0.9782,0.978,0.9784,0.9589,0.818,0.6837,0.6209,0.5789,0.5649,0.5454,0.5147,0.5042,0.504,0.4966,0.4811,0.4858,0.476,0.4726,0.4689,0.4747,0.4611,0.4605,0.4711,0.4662,0.4692,0.4689,0.459,0.4638,0.47,0.4695 -3.665241237079634e-08,0.9802,0.9809,0.9809,0.9794,0.9794,0.9794,0.9782,0.9794,0.9786,0.9786,0.9794,0.9813,0.9786,0.9748,0.9239,0.765,0.6747,0.6114,0.5657,0.5561,0.5331,0.5151,0.5066,0.5046,0.4975,0.489,0.4796,0.4656,0.4769,0.4724,0.4729,0.4594,0.4584,0.4579,0.474,0.4662,0.457,0.4586,0.4565,0.465 -2.030917620904739e-08,0.9793,0.9793,0.9766,0.9776,0.9766,0.9766,0.9776,0.9793,0.9783,0.9786,0.9776,0.9776,0.9791,0.9778,0.9675,0.8732,0.7363,0.6489,0.5969,0.5643,0.5517,0.5299,0.5227,0.5125,0.4965,0.4943,0.4821,0.4774,0.4853,0.4721,0.4627,0.4618,0.4691,0.4579,0.4675,0.4672,0.4593,0.4679,0.4641,0.4639 -1.125335582600767e-08,0.9788,0.9793,0.9781,0.9794,0.9766,0.9794,0.9775,0.9771,0.9788,0.9776,0.9788,0.9788,0.9794,0.9817,0.9783,0.9536,0.8401,0.6952,0.6277,0.5798,0.5564,0.5421,0.5225,0.5124,0.5097,0.4922,0.4934,0.4878,0.4768,0.4673,0.4716,0.4702,0.4682,0.4689,0.4666,0.4661,0.46,0.4645,0.4596,0.4594 -6.235507341273925e-09,0.9802,0.9779,0.9794,0.9802,0.9791,0.9788,0.9802,0.9775,0.9779,0.9802,0.9802,0.9781,0.9775,0.9779,0.9773,0.9773,0.9387,0.7874,0.6831,0.6229,0.5755,0.5523,0.5353,0.5216,0.5185,0.5012,0.4952,0.487,0.4804,0.488,0.4727,0.4649,0.4684,0.4624,0.4612,0.4675,0.4611,0.4653,0.4608,0.465 -3.4551072945922323e-09,0.9774,0.9796,0.9787,0.9796,0.9788,0.9779,0.9796,0.9788,0.9791,0.9774,0.9787,0.9791,0.9791,0.9788,0.9802,0.9779,0.9744,0.8963,0.767,0.6588,0.6039,0.5692,0.544,0.5372,0.5151,0.5051,0.4911,0.4889,0.4835,0.4856,0.4772,0.4685,0.4732,0.4707,0.4577,0.4704,0.4698,0.4616,0.4603,0.4558 -1.9144819761699614e-09,0.9787,0.9796,0.9787,0.9784,0.9788,0.9776,0.9787,0.9787,0.9779,0.9787,0.9778,0.9811,0.9796,0.9796,0.9784,0.9795,0.9771,0.9605,0.868,0.7094,0.6282,0.5903,0.5643,0.5452,0.5248,0.505,0.5024,0.4974,0.4859,0.4791,0.4751,0.4708,0.4691,0.4606,0.4675,0.467,0.4748,0.4747,0.4682,0.4741 -1.0608183551394483e-09,0.9776,0.9784,0.9778,0.9791,0.9779,0.9776,0.9782,0.9811,0.9795,0.9776,0.9811,0.9795,0.9791,0.9816,0.9778,0.9811,0.9775,0.9766,0.9539,0.8159,0.6827,0.6167,0.5809,0.5535,0.5314,0.5196,0.5133,0.49,0.4907,0.491,0.4796,0.4803,0.4693,0.4691,0.4687,0.4653,0.4556,0.4791,0.4665,0.4655 -5.878016072274924e-10,0.9816,0.9789,0.9778,0.9776,0.9795,0.9782,0.9816,0.9791,0.9782,0.9803,0.9794,0.9816,0.9789,0.9791,0.9795,0.9816,0.9776,0.9793,0.9775,0.9154,0.7579,0.6692,0.6022,0.5723,0.55,0.5272,0.5182,0.51,0.5088,0.4884,0.4728,0.4844,0.4732,0.4758,0.4652,0.4808,0.4631,0.4557,0.4641,0.479 -3.2570206556597964e-10,0.9776,0.9778,0.975,0.9777,0.9782,0.9777,0.9794,0.9814,0.9805,0.9782,0.9816,0.9805,0.9816,0.9814,0.976,0.9792,0.9793,0.9816,0.9782,0.966,0.8589,0.7332,0.6343,0.6003,0.5634,0.5396,0.5312,0.5133,0.5081,0.488,0.4906,0.4867,0.4806,0.4793,0.4835,0.4725,0.481,0.4701,0.4691,0.4671 -1.8047217668271738e-10,0.975,0.9803,0.9777,0.9794,0.9794,0.9805,0.9774,0.9814,0.9794,0.9805,0.9814,0.9792,0.9792,0.9795,0.976,0.9795,0.9814,0.9792,0.976,0.9793,0.9501,0.8415,0.688,0.6367,0.5835,0.5589,0.5341,0.5275,0.5157,0.4953,0.4961,0.4817,0.4753,0.4803,0.4759,0.4705,0.4693,0.4652,0.4686,0.4639 -1e-10,0.9777,0.9774,0.9805,0.9805,0.9795,0.9795,0.9792,0.9792,0.9795,0.9794,0.9765,0.9794,0.9814,0.9792,0.9814,0.9794,0.9765,0.9778,0.9792,0.9771,0.971,0.9372,0.7775,0.6718,0.6127,0.5754,0.5499,0.5307,0.5222,0.5117,0.498,0.489,0.4834,0.4724,0.4801,0.4663,0.4666,0.4681,0.4647,0.4616 diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_bch_31_26alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_bch_31_26alist.csv deleted file mode 100644 index ded6cb2..0000000 --- a/sw/sim_results/2d_dec_fails_w_log_k_lin_bch_31_26alist.csv +++ /dev/null @@ -1,41 +0,0 @@ -,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 -1.0,0.6953,0.6953,0.6953,0.6953,0.6953,0.6953,0.6953,0.6953,0.7073,0.7073,0.7073,0.7073,0.7073,0.7073,0.7073,0.7073,0.6952,0.6952,0.6952,0.6952,0.6952,0.6952,0.6952,0.6952,0.6933,0.6933,0.6933,0.6933,0.6933,0.6933,0.6933,0.6933,0.695,0.695,0.695,0.695,0.695,0.695,0.695,0.695 -0.5541020330009492,0.4815,0.4806,0.4798,0.4752,0.4791,0.4741,0.4784,0.4738,0.4916,0.4779,0.4732,0.4777,0.4911,0.4775,0.473,0.4908,0.4758,0.4728,0.4906,0.4726,0.4753,0.4726,0.4904,0.4751,0.4777,0.4902,0.475,0.4902,0.4773,0.49,0.475,0.4771,0.4837,0.4747,0.4771,0.4744,0.4835,0.4744,0.477,0.4835 -0.30702906297578497,0.4121,0.3917,0.3922,0.3851,0.3765,0.382,0.3819,0.3808,0.3696,0.3757,0.3773,0.3767,0.3778,0.3776,0.3716,0.3715,0.3754,0.3632,0.3762,0.376,0.3705,0.3705,0.3728,0.3726,0.3756,0.3689,0.37,0.3699,0.3723,0.3723,0.3618,0.3617,0.3697,0.3745,0.3722,0.3722,0.3613,0.3611,0.3676,0.3676 -0.17012542798525893,0.364,0.3221,0.3044,0.2913,0.2795,0.278,0.2714,0.2673,0.2669,0.2599,0.2582,0.2558,0.2582,0.2566,0.2552,0.2474,0.2471,0.2512,0.2501,0.2496,0.2433,0.2428,0.2421,0.2404,0.2439,0.2404,0.2402,0.2398,0.2422,0.2418,0.2413,0.2379,0.238,0.2407,0.2407,0.2405,0.237,0.2369,0.2369,0.2401 -0.09426684551178854,0.3698,0.3265,0.3003,0.286,0.2702,0.2678,0.2551,0.2508,0.2476,0.2434,0.2414,0.2423,0.2367,0.2407,0.2341,0.233,0.2319,0.2314,0.2307,0.2297,0.2345,0.231,0.2336,0.2333,0.2332,0.233,0.2329,0.2278,0.2286,0.2265,0.2281,0.228,0.228,0.2278,0.2278,0.2266,0.2258,0.2265,0.2257,0.2256 -0.052233450742668434,0.4034,0.3463,0.3169,0.3079,0.2892,0.2785,0.2703,0.2667,0.2564,0.2523,0.2492,0.2506,0.2467,0.2436,0.2418,0.2401,0.2398,0.2388,0.2385,0.2332,0.2353,0.235,0.2345,0.2389,0.2335,0.2334,0.233,0.2265,0.2374,0.2372,0.2369,0.2291,0.2364,0.2362,0.236,0.2255,0.228,0.2279,0.2279,0.224 -0.028942661247167517,0.4735,0.3866,0.3454,0.3285,0.3078,0.2959,0.2845,0.2746,0.2687,0.2609,0.2631,0.2528,0.2492,0.246,0.2439,0.2418,0.2404,0.2392,0.2378,0.2412,0.2399,0.2392,0.2389,0.2387,0.2378,0.2371,0.2341,0.24,0.2396,0.2392,0.2385,0.2382,0.2376,0.2374,0.2417,0.2305,0.2305,0.2305,0.2304,0.2303 -0.016037187437513308,0.5672,0.4393,0.3819,0.355,0.336,0.3253,0.3128,0.3013,0.2941,0.2875,0.2877,0.2748,0.2778,0.2736,0.2694,0.2662,0.2639,0.2604,0.2618,0.2586,0.258,0.2563,0.2554,0.2543,0.2532,0.2492,0.2433,0.2513,0.2426,0.2423,0.2419,0.2418,0.2416,0.2433,0.2478,0.2411,0.2473,0.2471,0.2469,0.2467 -0.008886238162743407,0.6392,0.5108,0.4162,0.3852,0.3581,0.3433,0.3316,0.3203,0.3159,0.3038,0.2974,0.2921,0.2868,0.2825,0.2748,0.2773,0.2796,0.273,0.271,0.2693,0.2736,0.2721,0.2602,0.2701,0.2636,0.2681,0.2674,0.266,0.2607,0.26,0.2483,0.2589,0.2524,0.2578,0.2572,0.2567,0.2508,0.2504,0.247,0.2498 -0.004923882631706742,0.6443,0.5891,0.4549,0.4008,0.3682,0.3554,0.3415,0.3313,0.3239,0.312,0.3098,0.3006,0.2863,0.2825,0.2778,0.2755,0.2748,0.2866,0.273,0.2721,0.2738,0.2717,0.2715,0.2707,0.2704,0.274,0.2696,0.269,0.2811,0.2706,0.2701,0.2699,0.2695,0.2707,0.2685,0.2681,0.2708,0.278,0.2777,0.2775 -0.0027283333764867696,0.6518,0.6339,0.5512,0.4587,0.3913,0.3713,0.3488,0.3408,0.333,0.3242,0.3166,0.3089,0.2991,0.2914,0.2922,0.2835,0.2811,0.2796,0.2788,0.2781,0.2782,0.2782,0.2775,0.2773,0.2772,0.2768,0.2768,0.2767,0.2768,0.2807,0.2841,0.2766,0.2766,0.2766,0.2764,0.2764,0.2804,0.2764,0.272,0.2804 -0.001511775070615663,0.6517,0.6515,0.6262,0.5148,0.4229,0.3911,0.3674,0.3527,0.3453,0.3395,0.3283,0.3189,0.3141,0.3071,0.3003,0.2953,0.2817,0.2867,0.2885,0.2877,0.2768,0.2759,0.2755,0.2753,0.2877,0.2809,0.2749,0.2749,0.2876,0.2876,0.2874,0.2873,0.2766,0.2811,0.2872,0.2872,0.2809,0.2809,0.2809,0.2808 -0.0008376776400682924,0.644,0.6493,0.6536,0.6155,0.4731,0.4157,0.3732,0.3629,0.3513,0.3426,0.3366,0.3301,0.3194,0.3096,0.3081,0.2939,0.2893,0.2842,0.2821,0.2803,0.2818,0.2877,0.2868,0.2871,0.2869,0.2868,0.2866,0.2866,0.2794,0.2857,0.2817,0.2857,0.2857,0.2857,0.2854,0.2854,0.2808,0.2787,0.2777,0.2808 -0.0004641588833612782,0.6452,0.6452,0.6452,0.6446,0.5567,0.4557,0.3957,0.3696,0.3554,0.3418,0.3371,0.328,0.3209,0.3154,0.3126,0.3017,0.2965,0.2914,0.2874,0.2844,0.2823,0.2818,0.2909,0.2801,0.2809,0.2835,0.2805,0.2833,0.2832,0.2832,0.2834,0.2803,0.283,0.283,0.2822,0.282,0.282,0.282,0.2847,0.2823 -0.0002571913809059347,0.6449,0.6449,0.6523,0.6523,0.6383,0.5356,0.4347,0.386,0.3739,0.3558,0.3449,0.337,0.3317,0.3258,0.3197,0.3143,0.3062,0.3075,0.2982,0.2929,0.2902,0.2885,0.2873,0.2842,0.2859,0.2848,0.2838,0.2837,0.285,0.2835,0.2834,0.2852,0.285,0.285,0.2833,0.2847,0.2955,0.2846,0.2846,0.2838 -0.00014251026703029993,0.6482,0.642,0.6424,0.6424,0.6456,0.6179,0.4867,0.4093,0.3912,0.3645,0.3632,0.3438,0.3451,0.3308,0.3332,0.3267,0.3049,0.3166,0.2947,0.3046,0.2844,0.3006,0.2804,0.2793,0.2885,0.2781,0.288,0.2828,0.2876,0.2775,0.2876,0.2875,0.2935,0.2875,0.2932,0.2816,0.293,0.2871,0.2928,0.2928 -7.896522868499733e-05,0.6488,0.6447,0.6488,0.6543,0.6464,0.6473,0.5778,0.4422,0.4091,0.3788,0.3591,0.3461,0.3387,0.3322,0.3245,0.3265,0.3133,0.3078,0.3005,0.2965,0.298,0.2945,0.2925,0.2862,0.2829,0.29,0.289,0.2887,0.2873,0.2833,0.2833,0.2888,0.2883,0.2867,0.2829,0.2829,0.285,0.2881,0.2881,0.2866 -4.375479375074189e-05,0.6468,0.6461,0.649,0.649,0.649,0.6469,0.6386,0.5258,0.4407,0.3931,0.3706,0.3584,0.3484,0.3424,0.3333,0.3278,0.3222,0.3158,0.3092,0.3051,0.2996,0.2956,0.2927,0.2892,0.2883,0.2871,0.2876,0.2861,0.2858,0.2827,0.2865,0.2824,0.2864,0.2864,0.2837,0.2863,0.2787,0.286,0.2837,0.2786 -2.424462017082331e-05,0.6504,0.6504,0.6342,0.6504,0.6342,0.6342,0.6441,0.6207,0.4898,0.4124,0.382,0.3563,0.3548,0.3376,0.3329,0.3299,0.3191,0.3199,0.3063,0.3109,0.3004,0.3009,0.2819,0.2856,0.2903,0.2862,0.2876,0.2845,0.2727,0.2838,0.2908,0.286,0.2835,0.272,0.2832,0.272,0.2901,0.2719,0.2846,0.2827 -1.3433993325989015e-05,0.6321,0.6508,0.6321,0.6508,0.6508,0.6368,0.6368,0.649,0.6027,0.4582,0.4083,0.3799,0.3477,0.3555,0.3451,0.3341,0.3299,0.3266,0.3205,0.3155,0.311,0.3062,0.3013,0.2965,0.2939,0.2918,0.2915,0.29,0.2855,0.2895,0.2885,0.2893,0.2884,0.2889,0.2768,0.2888,0.2878,0.2767,0.2884,0.2767 -7.443803013251696e-06,0.6463,0.641,0.6493,0.641,0.641,0.642,0.6493,0.6493,0.6449,0.5354,0.4455,0.3937,0.3681,0.3619,0.3411,0.332,0.3262,0.3263,0.3264,0.3079,0.3033,0.2955,0.3023,0.2986,0.2942,0.2816,0.2877,0.287,0.2858,0.2888,0.285,0.2846,0.2845,0.2844,0.2783,0.2844,0.2843,0.2753,0.2779,0.2778 -4.124626382901356e-06,0.6474,0.6484,0.6417,0.6474,0.6417,0.6474,0.6474,0.6442,0.6489,0.6231,0.5176,0.4281,0.3793,0.3618,0.348,0.3411,0.3353,0.3359,0.3317,0.3161,0.3196,0.3156,0.3109,0.295,0.2995,0.2876,0.2844,0.2929,0.2807,0.2802,0.2794,0.2795,0.2858,0.2888,0.2886,0.2855,0.2886,0.2885,0.2885,0.2911 -2.285463864134993e-06,0.6451,0.6518,0.6518,0.6417,0.6451,0.6451,0.6518,0.6518,0.6518,0.6443,0.6067,0.4721,0.4052,0.3708,0.3602,0.3468,0.34,0.3289,0.3298,0.3177,0.3224,0.3066,0.2974,0.2935,0.2892,0.2889,0.295,0.2882,0.2884,0.2855,0.2805,0.2803,0.2798,0.2836,0.2882,0.2884,0.2791,0.2883,0.2833,0.2833 -1.2663801734674047e-06,0.653,0.6408,0.6511,0.6342,0.6408,0.6417,0.6342,0.6342,0.6408,0.6403,0.649,0.5605,0.4433,0.3956,0.3782,0.3616,0.3467,0.3404,0.3344,0.3326,0.321,0.3143,0.311,0.3065,0.308,0.2928,0.2965,0.2927,0.2965,0.29,0.29,0.2897,0.2865,0.281,0.2821,0.2889,0.2857,0.2878,0.2816,0.2816 -7.017038286703837e-07,0.6517,0.6476,0.6398,0.6475,0.6475,0.6453,0.6517,0.6511,0.6476,0.6398,0.6398,0.6286,0.5001,0.4322,0.3833,0.3672,0.3576,0.3497,0.343,0.3352,0.3207,0.3231,0.3159,0.312,0.2933,0.2991,0.2969,0.2932,0.2908,0.2913,0.2841,0.2837,0.2753,0.2871,0.2746,0.2744,0.2744,0.2856,0.2873,0.2812 -3.8881551803080935e-07,0.647,0.647,0.6439,0.647,0.6439,0.6439,0.6477,0.647,0.6439,0.6376,0.6477,0.6447,0.6094,0.499,0.4119,0.374,0.369,0.3506,0.349,0.336,0.3303,0.3241,0.3137,0.3161,0.3075,0.2986,0.2952,0.2984,0.281,0.2866,0.2921,0.2872,0.2833,0.2894,0.2884,0.283,0.2861,0.2884,0.2824,0.2884 -2.1544346900318867e-07,0.6497,0.6497,0.6351,0.645,0.6351,0.6439,0.6497,0.6351,0.6405,0.6476,0.6405,0.6485,0.6473,0.5907,0.4462,0.3939,0.3765,0.3627,0.3531,0.3425,0.3248,0.3286,0.3169,0.3188,0.3039,0.2992,0.3006,0.287,0.2876,0.288,0.2923,0.2808,0.2868,0.2861,0.2781,0.2753,0.2878,0.2885,0.2776,0.2849 -1.193776641714438e-07,0.6486,0.6486,0.6486,0.6564,0.6405,0.6354,0.6564,0.6354,0.6377,0.6497,0.6456,0.6486,0.6486,0.6329,0.5373,0.4256,0.4014,0.3592,0.3668,0.3515,0.331,0.341,0.3322,0.3289,0.3192,0.3027,0.3006,0.2997,0.2962,0.2988,0.2862,0.2948,0.2878,0.29,0.2886,0.2909,0.2936,0.2851,0.2874,0.2845 -6.614740641230159e-08,0.6456,0.6354,0.6468,0.6464,0.6464,0.6564,0.6377,0.6488,0.6456,0.6477,0.6477,0.6468,0.6456,0.6456,0.6236,0.4874,0.416,0.3807,0.3653,0.3587,0.3531,0.3328,0.3358,0.3315,0.3202,0.315,0.3094,0.3017,0.2941,0.2978,0.2922,0.2945,0.2881,0.2872,0.2857,0.2894,0.2883,0.285,0.2903,0.2888 -3.665241237079634e-08,0.6488,0.6412,0.6472,0.6412,0.652,0.6468,0.652,0.6488,0.6464,0.6412,0.652,0.6539,0.6455,0.6488,0.6532,0.5823,0.4665,0.4084,0.3829,0.3601,0.3465,0.3433,0.3343,0.3354,0.3217,0.319,0.3116,0.3054,0.2993,0.3005,0.2938,0.2971,0.2911,0.2876,0.2877,0.2833,0.2885,0.2902,0.2828,0.2889 -2.030917620904739e-08,0.6472,0.6437,0.6496,0.6412,0.6459,0.6496,0.6505,0.6459,0.6539,0.6459,0.652,0.6455,0.6505,0.6459,0.6416,0.6433,0.5565,0.4387,0.4022,0.3693,0.3523,0.3501,0.339,0.3308,0.3253,0.3167,0.3154,0.3079,0.305,0.2959,0.2929,0.295,0.2871,0.289,0.288,0.2895,0.2816,0.2856,0.288,0.2806 -1.125335582600767e-08,0.6459,0.6396,0.6496,0.6505,0.6505,0.648,0.648,0.6396,0.6459,0.6478,0.6416,0.6416,0.648,0.6478,0.6478,0.6477,0.6347,0.5004,0.4304,0.3882,0.3679,0.3537,0.3428,0.3396,0.3286,0.3246,0.3149,0.3092,0.3044,0.3043,0.3009,0.2909,0.2936,0.2919,0.2912,0.29,0.2861,0.287,0.2867,0.2851 -6.235507341273925e-09,0.6396,0.6501,0.6478,0.648,0.6478,0.6433,0.6461,0.6501,0.6501,0.6439,0.6478,0.6439,0.6461,0.6414,0.6501,0.6433,0.6427,0.6037,0.4828,0.4112,0.3852,0.36,0.3534,0.3476,0.3388,0.3313,0.3233,0.3187,0.3138,0.3126,0.3054,0.2957,0.2918,0.3021,0.2906,0.2972,0.2928,0.2857,0.2821,0.2907 -3.4551072945922323e-09,0.6484,0.6433,0.6501,0.6433,0.6469,0.6517,0.6414,0.6458,0.6433,0.6484,0.6414,0.6458,0.6484,0.6517,0.6469,0.6458,0.6414,0.6425,0.5836,0.4499,0.3964,0.3762,0.3504,0.3461,0.336,0.3235,0.3328,0.3201,0.3076,0.3084,0.3119,0.2909,0.3026,0.2989,0.2893,0.2774,0.2933,0.2773,0.2832,0.2902 -1.9144819761699614e-09,0.6469,0.6437,0.6458,0.6458,0.6506,0.6511,0.6437,0.6458,0.6458,0.6458,0.6511,0.6494,0.6494,0.6506,0.6511,0.6437,0.6437,0.6436,0.6442,0.5271,0.4311,0.392,0.3709,0.3512,0.34,0.3328,0.3314,0.3246,0.3193,0.3212,0.3079,0.3092,0.305,0.3014,0.3001,0.3002,0.2986,0.2858,0.2936,0.2818 -1.0608183551394483e-09,0.6494,0.6494,0.6473,0.649,0.6444,0.6444,0.649,0.6504,0.6504,0.6473,0.6568,0.6473,0.6473,0.6444,0.6568,0.649,0.649,0.6504,0.6462,0.621,0.4891,0.4162,0.3825,0.3695,0.357,0.3456,0.3435,0.3311,0.3262,0.327,0.3175,0.3082,0.3028,0.3031,0.2959,0.2954,0.2938,0.2903,0.2878,0.2938 -5.878016072274924e-10,0.6456,0.6462,0.6451,0.6557,0.6462,0.6456,0.6462,0.6568,0.6465,0.6451,0.6451,0.6456,0.6557,0.6557,0.6456,0.6462,0.6532,0.6465,0.6465,0.6543,0.5684,0.4626,0.4062,0.3831,0.3582,0.3481,0.3408,0.3328,0.329,0.3219,0.3124,0.313,0.3126,0.3014,0.2973,0.2955,0.2847,0.2826,0.2896,0.2819 -3.2570206556597964e-10,0.6476,0.6401,0.6401,0.6511,0.6476,0.6532,0.6367,0.6476,0.6367,0.6453,0.6532,0.6511,0.6465,0.6367,0.6401,0.6511,0.6401,0.6506,0.6367,0.6453,0.6443,0.5455,0.4378,0.3941,0.3728,0.364,0.3536,0.3395,0.3319,0.3276,0.3171,0.3146,0.3065,0.2998,0.3021,0.3049,0.2997,0.2893,0.2844,0.2966 -1.8047217668271738e-10,0.6453,0.6412,0.6511,0.6506,0.6395,0.6452,0.6476,0.6453,0.6453,0.6425,0.6506,0.6412,0.6395,0.6532,0.6511,0.6506,0.6506,0.6395,0.6425,0.6452,0.641,0.6262,0.4936,0.4297,0.392,0.3604,0.3501,0.3464,0.337,0.3375,0.3242,0.3148,0.3074,0.3064,0.2983,0.3027,0.3013,0.2947,0.2994,0.2835 -1e-10,0.6412,0.6532,0.6452,0.6452,0.6542,0.647,0.647,0.6408,0.6532,0.6532,0.6395,0.6458,0.6452,0.6542,0.6542,0.6458,0.647,0.647,0.6412,0.6408,0.6532,0.6449,0.5893,0.4842,0.4145,0.3831,0.361,0.353,0.3489,0.3297,0.3241,0.322,0.3222,0.3157,0.3127,0.3053,0.3051,0.2939,0.2914,0.2931 diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_bch_7_4alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_bch_7_4alist.csv deleted file mode 100644 index 7838cd3..0000000 --- a/sw/sim_results/2d_dec_fails_w_log_k_lin_bch_7_4alist.csv +++ /dev/null @@ -1,41 +0,0 @@ -,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 -1.0,0.4282,0.4282,0.4282,0.4282,0.4282,0.4282,0.4282,0.4282,0.4394,0.4394,0.4394,0.4394,0.4394,0.4394,0.4394,0.4394,0.4386,0.4386,0.4386,0.4386,0.4386,0.4386,0.4386,0.4386,0.4389,0.4389,0.4389,0.4389,0.4389,0.4389,0.4389,0.4389,0.4379,0.4379,0.4379,0.4379,0.4379,0.4379,0.4379,0.4379 -0.5541020330009492,0.1987,0.1987,0.1987,0.1987,0.1987,0.1987,0.1987,0.1955,0.1987,0.1955,0.1955,0.1955,0.1955,0.1955,0.1955,0.1898,0.1955,0.1898,0.1898,0.1898,0.1898,0.1898,0.1898,0.1965,0.1898,0.1965,0.1965,0.1965,0.1965,0.1965,0.1965,0.1858,0.1965,0.1858,0.1858,0.1858,0.1858,0.1858,0.1858,0.2003 -0.30702906297578497,0.1296,0.142,0.1403,0.1396,0.1392,0.1385,0.138,0.1375,0.131,0.1308,0.1307,0.1307,0.1306,0.1306,0.1306,0.1305,0.1286,0.1282,0.1282,0.128,0.128,0.1279,0.1279,0.1279,0.1343,0.1343,0.1343,0.1343,0.1343,0.1343,0.1343,0.1343,0.131,0.1309,0.1309,0.1309,0.1309,0.1309,0.1309,0.1309 -0.17012542798525893,0.1015,0.0914,0.0858,0.081,0.0784,0.0769,0.0757,0.0764,0.0741,0.0747,0.0742,0.0735,0.0731,0.0727,0.0725,0.0711,0.072,0.0706,0.0705,0.0702,0.0701,0.0701,0.0701,0.0696,0.0699,0.0694,0.0691,0.0691,0.0691,0.0691,0.0689,0.0739,0.0688,0.0737,0.0737,0.0737,0.0737,0.0737,0.0735,0.0648 -0.09426684551178854,0.0994,0.0745,0.0687,0.065,0.0626,0.0612,0.0603,0.0591,0.0609,0.0599,0.0592,0.0583,0.0578,0.0574,0.0569,0.0566,0.0608,0.0606,0.0605,0.0604,0.0601,0.0601,0.0601,0.06,0.0595,0.0594,0.0593,0.0592,0.0592,0.0592,0.0591,0.059,0.0622,0.0621,0.0619,0.0619,0.0617,0.0617,0.0617,0.0617 -0.052233450742668434,0.0936,0.0765,0.0678,0.0638,0.0602,0.0593,0.0569,0.0617,0.0549,0.06,0.0594,0.0586,0.0577,0.0573,0.0565,0.0548,0.0557,0.0542,0.0542,0.0538,0.0534,0.0534,0.0532,0.0507,0.0531,0.0507,0.0505,0.0504,0.0504,0.0502,0.0499,0.0499,0.0548,0.0548,0.0548,0.0547,0.0547,0.0545,0.0545,0.0545 -0.028942661247167517,0.1036,0.0789,0.0694,0.0646,0.06,0.0581,0.0561,0.0565,0.0525,0.0542,0.0538,0.0527,0.0519,0.0515,0.0507,0.0528,0.0499,0.052,0.0518,0.0517,0.0513,0.0509,0.0508,0.0497,0.0502,0.0497,0.0495,0.0493,0.049,0.0488,0.0486,0.0494,0.0485,0.0493,0.0493,0.0491,0.0491,0.0491,0.049,0.049 -0.016037187437513308,0.1348,0.0951,0.0775,0.0718,0.066,0.0604,0.0629,0.0577,0.0605,0.0566,0.0585,0.0544,0.0529,0.0541,0.0529,0.0504,0.0518,0.0489,0.0485,0.0502,0.0459,0.0494,0.0456,0.049,0.0489,0.0451,0.0483,0.0447,0.0447,0.0445,0.0461,0.0441,0.046,0.0459,0.0437,0.0458,0.0457,0.0456,0.0405,0.0454 -0.008886238162743407,0.1782,0.1068,0.0843,0.0655,0.0594,0.0572,0.0613,0.0591,0.0512,0.0562,0.0495,0.0543,0.0529,0.0527,0.0495,0.0492,0.0476,0.048,0.0454,0.0463,0.0453,0.0429,0.0442,0.0425,0.0435,0.0421,0.0428,0.0413,0.0412,0.0421,0.041,0.0416,0.0405,0.0415,0.0403,0.0414,0.0414,0.041,0.0414,0.041 -0.004923882631706742,0.2446,0.1451,0.0944,0.0793,0.0682,0.0655,0.0599,0.0576,0.0591,0.0578,0.0537,0.0569,0.0556,0.0514,0.0533,0.0522,0.0465,0.0449,0.0466,0.0426,0.0419,0.0432,0.0413,0.0407,0.0424,0.0421,0.04,0.0417,0.0417,0.0396,0.0413,0.0412,0.0392,0.0391,0.0409,0.0389,0.0388,0.0378,0.0386,0.0386 -0.0027283333764867696,0.313,0.2033,0.1162,0.0866,0.071,0.0694,0.0592,0.0571,0.06,0.0587,0.0541,0.0568,0.0553,0.0567,0.0534,0.0514,0.0533,0.0511,0.0462,0.0488,0.0447,0.0459,0.0445,0.0435,0.0411,0.0408,0.0416,0.04,0.0396,0.0394,0.039,0.0389,0.0389,0.0385,0.0383,0.0379,0.0344,0.0378,0.0375,0.0375 -0.001511775070615663,0.3381,0.271,0.1582,0.1056,0.0825,0.0689,0.0624,0.0579,0.0612,0.0539,0.0573,0.0558,0.0557,0.0538,0.0523,0.0511,0.0504,0.0484,0.0454,0.0435,0.0434,0.0416,0.0406,0.0398,0.0395,0.038,0.0384,0.0379,0.0381,0.0376,0.0376,0.0375,0.0377,0.0375,0.0375,0.0375,0.0347,0.0373,0.0373,0.0373 -0.0008376776400682924,0.3664,0.3295,0.2355,0.1455,0.0952,0.0773,0.067,0.0624,0.0599,0.0568,0.0571,0.0563,0.0554,0.0542,0.0527,0.0525,0.0505,0.0483,0.046,0.0431,0.0457,0.039,0.0375,0.0415,0.0351,0.0343,0.0394,0.0388,0.0389,0.0388,0.0387,0.0387,0.0385,0.0385,0.0386,0.0386,0.0375,0.0386,0.0386,0.0375 -0.0004641588833612782,0.3659,0.3546,0.2982,0.2107,0.1236,0.0941,0.0768,0.0687,0.0618,0.0631,0.0566,0.0557,0.0548,0.0542,0.0531,0.0523,0.05,0.0496,0.0461,0.0436,0.0412,0.0398,0.0384,0.0375,0.0373,0.0361,0.0367,0.036,0.0364,0.0357,0.0357,0.0357,0.036,0.0356,0.0359,0.0359,0.0381,0.0358,0.0358,0.0358 -0.0002571913809059347,0.369,0.3678,0.3429,0.2884,0.1709,0.1195,0.0808,0.0731,0.0683,0.0639,0.0582,0.0564,0.0617,0.0542,0.0591,0.0525,0.0514,0.0504,0.0548,0.0527,0.047,0.0474,0.0445,0.0407,0.0422,0.0417,0.0381,0.0376,0.0369,0.0371,0.0368,0.0365,0.0364,0.0364,0.0363,0.0363,0.0373,0.0363,0.0363,0.0373 -0.00014251026703029993,0.3616,0.3606,0.3591,0.3321,0.2423,0.1587,0.1028,0.079,0.0683,0.0638,0.0609,0.0584,0.0538,0.0559,0.0551,0.0541,0.0484,0.052,0.046,0.0446,0.043,0.039,0.0371,0.0355,0.0362,0.0336,0.035,0.0343,0.0386,0.0336,0.0334,0.0334,0.0377,0.0334,0.0377,0.0377,0.0388,0.0377,0.0377,0.0377 -7.896522868499733e-05,0.3697,0.3684,0.3663,0.3563,0.3139,0.2306,0.1347,0.0924,0.0799,0.0713,0.0657,0.0629,0.0554,0.0595,0.058,0.052,0.0556,0.0544,0.0497,0.0484,0.0494,0.0434,0.0409,0.0433,0.039,0.0378,0.0408,0.0405,0.038,0.0403,0.0403,0.0375,0.0399,0.0398,0.0373,0.0373,0.0381,0.037,0.037,0.038 -4.375479375074189e-05,0.366,0.3659,0.3725,0.3695,0.3406,0.2988,0.183,0.1154,0.0888,0.0701,0.0643,0.0604,0.062,0.0576,0.0558,0.0546,0.0541,0.0551,0.0546,0.0529,0.0533,0.049,0.0473,0.0453,0.0432,0.0426,0.0419,0.0413,0.0372,0.0404,0.0401,0.04,0.0399,0.0364,0.0364,0.0364,0.0371,0.0364,0.0363,0.0362 -2.424462017082331e-05,0.3705,0.3675,0.3672,0.3657,0.3667,0.3382,0.2612,0.1577,0.1048,0.0797,0.0705,0.0639,0.0612,0.0584,0.0572,0.0567,0.0556,0.0549,0.0543,0.0529,0.0489,0.0495,0.0466,0.0415,0.0414,0.0399,0.0376,0.0365,0.0372,0.0361,0.0358,0.0365,0.0357,0.0356,0.036,0.0359,0.0382,0.0357,0.0381,0.0357 -1.3433993325989015e-05,0.3816,0.3816,0.372,0.3716,0.3644,0.362,0.323,0.2209,0.1408,0.0949,0.0782,0.0674,0.0627,0.0602,0.0583,0.057,0.0565,0.055,0.0549,0.0538,0.051,0.0509,0.0491,0.0463,0.0424,0.0409,0.0393,0.0384,0.0382,0.0373,0.0369,0.0365,0.0371,0.0364,0.0368,0.0367,0.0374,0.0366,0.0366,0.0366 -7.443803013251696e-06,0.3711,0.3715,0.3711,0.3709,0.3568,0.3552,0.3523,0.2935,0.204,0.1178,0.0899,0.0735,0.0663,0.0631,0.0587,0.0562,0.0554,0.054,0.056,0.054,0.0542,0.0525,0.0518,0.0495,0.0466,0.0431,0.0417,0.0431,0.0393,0.042,0.0383,0.0378,0.0377,0.0376,0.041,0.0359,0.041,0.0357,0.0408,0.0408 -4.124626382901356e-06,0.3753,0.3753,0.3731,0.3643,0.3729,0.372,0.3591,0.3393,0.2802,0.1705,0.1105,0.0841,0.0671,0.0626,0.062,0.0567,0.0555,0.0541,0.0566,0.0556,0.0549,0.054,0.0517,0.0503,0.0477,0.0449,0.0439,0.0411,0.0419,0.0413,0.0383,0.0405,0.0401,0.04,0.0377,0.039,0.0375,0.0375,0.0389,0.0375 -2.285463864134993e-06,0.3664,0.3664,0.3642,0.3713,0.3641,0.3638,0.362,0.3532,0.3327,0.2397,0.1529,0.0997,0.0757,0.0689,0.063,0.0595,0.0609,0.0569,0.0579,0.0542,0.0552,0.0536,0.0518,0.05,0.0471,0.0456,0.0422,0.0424,0.0391,0.0377,0.0367,0.0364,0.0386,0.0359,0.038,0.0339,0.0375,0.0375,0.0375,0.0375 -1.2663801734674047e-06,0.3656,0.3733,0.3656,0.3655,0.3656,0.3654,0.3648,0.3618,0.3498,0.3003,0.2177,0.1272,0.088,0.074,0.0664,0.0626,0.0597,0.0579,0.0561,0.0616,0.0545,0.06,0.0519,0.0505,0.0492,0.0464,0.0498,0.0452,0.0453,0.0416,0.0425,0.0416,0.0412,0.0408,0.0381,0.0342,0.0378,0.0339,0.0377,0.0376 -7.017038286703837e-07,0.3719,0.3719,0.3696,0.364,0.3696,0.364,0.3696,0.3689,0.3653,0.3437,0.285,0.1801,0.1077,0.0864,0.0692,0.0618,0.0596,0.0569,0.0595,0.0554,0.058,0.0538,0.0569,0.055,0.0533,0.0523,0.0448,0.0446,0.0391,0.0401,0.0361,0.0353,0.035,0.0344,0.036,0.0362,0.0357,0.0358,0.0355,0.0355 -3.8881551803080935e-07,0.3675,0.3675,0.3628,0.3563,0.3563,0.3563,0.3628,0.356,0.3545,0.3475,0.3357,0.2498,0.149,0.0995,0.0824,0.0683,0.0639,0.0608,0.0617,0.0593,0.0582,0.0575,0.0561,0.0555,0.0542,0.0523,0.0495,0.0469,0.0444,0.0417,0.0408,0.0388,0.0378,0.0373,0.0367,0.0375,0.0373,0.0373,0.0361,0.037 -2.1544346900318867e-07,0.3636,0.3636,0.3685,0.3703,0.3703,0.3703,0.3703,0.3702,0.3682,0.3673,0.3524,0.314,0.2129,0.136,0.0911,0.073,0.0674,0.0613,0.0617,0.0579,0.0564,0.0553,0.0543,0.0538,0.054,0.0515,0.0467,0.048,0.0454,0.0426,0.0412,0.0396,0.0352,0.0383,0.0384,0.0339,0.0338,0.0336,0.0336,0.0335 -1.193776641714438e-07,0.3645,0.369,0.3728,0.3645,0.3645,0.3645,0.3728,0.3645,0.3644,0.3638,0.3684,0.3516,0.2888,0.1994,0.1236,0.0863,0.0751,0.0695,0.0665,0.0666,0.0648,0.0638,0.0601,0.0609,0.0598,0.0591,0.0546,0.0526,0.0507,0.0472,0.0448,0.0423,0.041,0.0403,0.036,0.0391,0.0387,0.0383,0.0353,0.0382 -6.614740641230159e-08,0.3604,0.3604,0.3805,0.3579,0.3579,0.3579,0.3579,0.3579,0.3805,0.3696,0.3571,0.3742,0.3464,0.2819,0.1711,0.1073,0.0847,0.0683,0.0675,0.0647,0.0609,0.0602,0.0588,0.0581,0.0521,0.049,0.0543,0.0496,0.0471,0.044,0.0411,0.04,0.0374,0.0423,0.0368,0.035,0.0346,0.0341,0.0339,0.0339 -3.665241237079634e-08,0.3704,0.3696,0.3703,0.3704,0.3696,0.3659,0.3704,0.3704,0.3703,0.37,0.3696,0.3671,0.3531,0.3211,0.2317,0.1346,0.0997,0.0779,0.0706,0.0642,0.0614,0.0597,0.059,0.0571,0.056,0.0547,0.0538,0.0536,0.0523,0.0496,0.0472,0.0444,0.0424,0.0412,0.0404,0.0394,0.0395,0.0393,0.0381,0.0379 -2.030917620904739e-08,0.3754,0.3754,0.3754,0.375,0.375,0.3745,0.3725,0.375,0.375,0.375,0.375,0.374,0.37,0.3565,0.2969,0.1882,0.1231,0.0885,0.076,0.0647,0.0601,0.0636,0.0578,0.0552,0.0539,0.0528,0.0526,0.0573,0.0562,0.0504,0.0492,0.0493,0.047,0.045,0.044,0.0377,0.0373,0.0377,0.0333,0.0361 -1.125335582600767e-08,0.362,0.362,0.362,0.3696,0.3696,0.3696,0.3627,0.3677,0.3696,0.3696,0.3696,0.3627,0.3618,0.3586,0.3381,0.2682,0.1667,0.1002,0.0778,0.0656,0.0589,0.0564,0.0625,0.0585,0.0524,0.0513,0.0508,0.0578,0.0563,0.0544,0.0489,0.0489,0.0453,0.0438,0.0421,0.0378,0.0368,0.036,0.0362,0.0384 -6.235507341273925e-09,0.3652,0.3652,0.3652,0.3705,0.3705,0.3705,0.3705,0.3705,0.372,0.3748,0.3705,0.372,0.3717,0.3698,0.3615,0.3229,0.2541,0.1506,0.1033,0.0756,0.0668,0.0626,0.0598,0.0581,0.0624,0.0608,0.0553,0.0585,0.0576,0.056,0.0544,0.0529,0.0459,0.0479,0.0451,0.0434,0.0425,0.0417,0.0413,0.041 -3.4551072945922323e-09,0.3706,0.3613,0.3729,0.3613,0.3613,0.3592,0.3613,0.3706,0.3613,0.3613,0.3613,0.3706,0.3705,0.3576,0.3681,0.3426,0.3134,0.2134,0.1403,0.0901,0.0729,0.0694,0.0613,0.0591,0.0578,0.0566,0.0559,0.0533,0.0529,0.0564,0.0511,0.0498,0.0478,0.0448,0.0414,0.0398,0.0385,0.0372,0.0368,0.0402 -1.9144819761699614e-09,0.3662,0.3662,0.3662,0.3722,0.3722,0.3722,0.3694,0.3722,0.3722,0.3722,0.3757,0.3757,0.3757,0.3757,0.3578,0.3706,0.3516,0.2844,0.1876,0.1143,0.0829,0.07,0.068,0.0601,0.0572,0.0552,0.06,0.0588,0.0578,0.0568,0.053,0.0546,0.0528,0.0505,0.047,0.0451,0.0436,0.0428,0.0396,0.0417 -1.0608183551394483e-09,0.3691,0.3691,0.3596,0.3596,0.3596,0.3596,0.3606,0.3596,0.3596,0.3596,0.3772,0.3772,0.3772,0.3771,0.3659,0.3752,0.3692,0.3375,0.2604,0.147,0.0977,0.0792,0.0675,0.0641,0.0612,0.0594,0.0606,0.0591,0.0584,0.0572,0.0528,0.0549,0.0527,0.0508,0.0434,0.0407,0.0383,0.0367,0.0395,0.0348 -5.878016072274924e-10,0.3783,0.3783,0.3678,0.3678,0.3678,0.3678,0.3678,0.3678,0.376,0.3616,0.3678,0.376,0.376,0.3759,0.3759,0.3756,0.3587,0.3559,0.327,0.2175,0.1291,0.0935,0.0743,0.0678,0.0661,0.0608,0.059,0.0591,0.0575,0.0565,0.0552,0.0539,0.053,0.0538,0.049,0.0472,0.0446,0.0422,0.0405,0.0398 -3.2570206556597964e-10,0.3699,0.3739,0.3713,0.3699,0.3739,0.3699,0.3699,0.3655,0.3699,0.3699,0.3699,0.3739,0.3655,0.3739,0.3738,0.3691,0.373,0.37,0.3553,0.2837,0.1864,0.1188,0.0854,0.0722,0.0672,0.0629,0.0611,0.0635,0.0549,0.0611,0.0595,0.0543,0.0579,0.0565,0.0545,0.0449,0.0442,0.0409,0.0393,0.0391 -1.8047217668271738e-10,0.3678,0.3678,0.3678,0.3702,0.3702,0.3718,0.3702,0.3702,0.3702,0.3596,0.3702,0.3718,0.3718,0.3596,0.3717,0.3717,0.3717,0.3692,0.3654,0.328,0.2519,0.1676,0.1009,0.0816,0.0677,0.0663,0.0591,0.0593,0.0577,0.0585,0.0555,0.055,0.0538,0.0499,0.0513,0.0505,0.0485,0.0424,0.0427,0.0415 -1e-10,0.37,0.368,0.37,0.368,0.368,0.368,0.3687,0.368,0.368,0.368,0.368,0.368,0.368,0.368,0.3637,0.3687,0.368,0.3677,0.366,0.3578,0.3153,0.2395,0.138,0.0926,0.0746,0.0664,0.062,0.0554,0.0534,0.0516,0.0535,0.054,0.0487,0.0479,0.0469,0.0484,0.0463,0.0436,0.0455,0.0385 diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv deleted file mode 100644 index 7458054..0000000 --- a/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv +++ /dev/null @@ -1,41 +0,0 @@ -,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 -0.5011872336272722,0.952,0.952,0.95,0.95,0.949,0.949,0.949,0.949,0.944,0.944,0.944,0.944,0.944,0.944,0.944,0.944,0.943,0.943,0.943,0.943,0.942,0.942,0.942,0.942,0.95,0.95,0.95,0.95,0.95,0.95,0.95,0.95,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94 -0.4319014035579926,0.918,0.926,0.917,0.906,0.916,0.925,0.916,0.923,0.916,0.925,0.905,0.925,0.905,0.915,0.925,0.915,0.905,0.923,0.915,0.905,0.929,0.925,0.905,0.925,0.923,0.905,0.925,0.923,0.923,0.905,0.923,0.905,0.905,0.929,0.905,0.905,0.92,0.923,0.905,0.923 -0.37219388260414266,0.902,0.897,0.896,0.881,0.897,0.879,0.892,0.882,0.877,0.882,0.882,0.89,0.902,0.891,0.877,0.891,0.877,0.902,0.902,0.878,0.889,0.891,0.884,0.889,0.891,0.884,0.884,0.882,0.878,0.889,0.887,0.878,0.889,0.887,0.887,0.901,0.878,0.882,0.891,0.878 -0.32074053269277175,0.854,0.852,0.858,0.841,0.828,0.846,0.824,0.842,0.842,0.845,0.811,0.841,0.811,0.826,0.844,0.82,0.834,0.839,0.825,0.844,0.843,0.834,0.827,0.838,0.82,0.809,0.827,0.842,0.82,0.839,0.811,0.844,0.811,0.834,0.838,0.839,0.838,0.809,0.837,0.827 -0.276400269107749,0.835,0.787,0.777,0.785,0.751,0.767,0.762,0.747,0.742,0.756,0.755,0.745,0.756,0.743,0.74,0.727,0.737,0.737,0.737,0.728,0.747,0.726,0.726,0.728,0.765,0.765,0.757,0.765,0.735,0.757,0.726,0.74,0.72,0.72,0.75,0.72,0.764,0.75,0.737,0.71 -0.23818975457029212,0.76,0.723,0.721,0.717,0.675,0.68,0.659,0.684,0.656,0.665,0.656,0.665,0.633,0.632,0.685,0.627,0.638,0.636,0.65,0.624,0.636,0.634,0.628,0.634,0.675,0.638,0.62,0.632,0.644,0.625,0.616,0.624,0.623,0.625,0.628,0.622,0.619,0.631,0.625,0.631 -0.20526159169598815,0.722,0.699,0.669,0.66,0.612,0.634,0.598,0.587,0.579,0.582,0.565,0.575,0.57,0.57,0.551,0.552,0.56,0.567,0.553,0.54,0.533,0.531,0.538,0.534,0.528,0.523,0.525,0.545,0.544,0.536,0.545,0.533,0.543,0.523,0.541,0.55,0.549,0.52,0.518,0.544 -0.1768855302008251,0.722,0.687,0.642,0.602,0.573,0.556,0.54,0.546,0.508,0.511,0.496,0.511,0.508,0.482,0.488,0.471,0.469,0.483,0.491,0.461,0.459,0.462,0.488,0.478,0.455,0.46,0.455,0.452,0.452,0.485,0.449,0.456,0.47,0.444,0.448,0.482,0.48,0.463,0.468,0.432 -0.15243227208706556,0.716,0.631,0.589,0.567,0.552,0.524,0.515,0.489,0.46,0.472,0.434,0.426,0.436,0.432,0.429,0.412,0.409,0.411,0.399,0.396,0.405,0.403,0.442,0.385,0.383,0.424,0.408,0.405,0.43,0.429,0.403,0.414,0.402,0.403,0.392,0.392,0.41,0.408,0.389,0.386 -0.13135951565537832,0.69,0.603,0.565,0.518,0.492,0.472,0.448,0.43,0.424,0.412,0.438,0.415,0.387,0.369,0.412,0.382,0.361,0.4,0.375,0.351,0.378,0.364,0.369,0.354,0.362,0.364,0.344,0.359,0.379,0.35,0.341,0.37,0.349,0.338,0.357,0.348,0.322,0.358,0.352,0.356 -0.11319992884026403,0.659,0.593,0.534,0.492,0.467,0.466,0.42,0.409,0.413,0.384,0.397,0.383,0.383,0.344,0.347,0.372,0.338,0.37,0.364,0.33,0.348,0.359,0.352,0.296,0.336,0.338,0.294,0.332,0.349,0.335,0.333,0.325,0.342,0.309,0.325,0.341,0.288,0.304,0.309,0.312 -0.09755078515254997,0.686,0.583,0.53,0.476,0.453,0.403,0.428,0.382,0.406,0.373,0.375,0.355,0.368,0.336,0.358,0.316,0.334,0.345,0.35,0.328,0.327,0.297,0.284,0.331,0.297,0.319,0.283,0.311,0.292,0.33,0.313,0.316,0.321,0.329,0.309,0.31,0.318,0.313,0.28,0.288 -0.08406503238449185,0.677,0.54,0.492,0.466,0.431,0.43,0.406,0.383,0.393,0.344,0.372,0.321,0.326,0.339,0.343,0.32,0.322,0.322,0.317,0.326,0.293,0.304,0.297,0.307,0.283,0.297,0.282,0.3,0.329,0.296,0.284,0.301,0.311,0.293,0.311,0.279,0.28,0.295,0.324,0.288 -0.07244359600749903,0.682,0.558,0.515,0.45,0.43,0.422,0.368,0.362,0.362,0.356,0.341,0.311,0.316,0.31,0.334,0.319,0.323,0.297,0.302,0.292,0.288,0.327,0.307,0.304,0.291,0.285,0.292,0.319,0.3,0.28,0.291,0.285,0.277,0.315,0.295,0.279,0.303,0.28,0.264,0.274 -0.06242874657437091,0.702,0.575,0.496,0.455,0.407,0.384,0.369,0.387,0.332,0.325,0.32,0.344,0.351,0.334,0.288,0.318,0.32,0.333,0.302,0.31,0.277,0.306,0.273,0.288,0.302,0.275,0.285,0.286,0.278,0.292,0.285,0.261,0.284,0.277,0.293,0.259,0.294,0.259,0.28,0.266 -0.05379838403443687,0.662,0.593,0.494,0.46,0.427,0.421,0.399,0.372,0.34,0.347,0.341,0.335,0.334,0.307,0.296,0.305,0.305,0.288,0.29,0.284,0.292,0.266,0.302,0.277,0.281,0.295,0.259,0.295,0.27,0.288,0.283,0.288,0.29,0.28,0.268,0.28,0.29,0.287,0.284,0.293 -0.04636111220443666,0.725,0.593,0.521,0.475,0.436,0.396,0.375,0.355,0.34,0.335,0.324,0.338,0.305,0.31,0.317,0.301,0.287,0.282,0.28,0.291,0.295,0.277,0.287,0.299,0.278,0.289,0.286,0.286,0.297,0.286,0.284,0.271,0.279,0.294,0.294,0.29,0.293,0.268,0.288,0.275 -0.03995199416132174,0.707,0.579,0.52,0.474,0.422,0.406,0.367,0.35,0.346,0.323,0.322,0.314,0.306,0.308,0.33,0.296,0.285,0.291,0.296,0.284,0.284,0.301,0.294,0.281,0.282,0.278,0.298,0.294,0.294,0.271,0.286,0.292,0.274,0.29,0.268,0.281,0.281,0.273,0.292,0.28 -0.034428894424011175,0.751,0.601,0.509,0.47,0.442,0.422,0.394,0.373,0.339,0.325,0.344,0.334,0.332,0.306,0.314,0.312,0.285,0.284,0.3,0.298,0.298,0.276,0.295,0.295,0.299,0.299,0.3,0.3,0.29,0.283,0.297,0.297,0.281,0.28,0.272,0.272,0.296,0.291,0.271,0.271 -0.02966932680439932,0.789,0.631,0.558,0.466,0.46,0.403,0.387,0.37,0.347,0.33,0.327,0.325,0.299,0.303,0.294,0.32,0.285,0.29,0.312,0.308,0.288,0.309,0.287,0.278,0.286,0.304,0.293,0.274,0.299,0.291,0.297,0.27,0.293,0.29,0.27,0.27,0.29,0.27,0.29,0.284 -0.02556773802217524,0.789,0.625,0.52,0.48,0.425,0.414,0.39,0.357,0.366,0.344,0.311,0.325,0.329,0.324,0.332,0.303,0.312,0.302,0.296,0.319,0.296,0.295,0.275,0.299,0.323,0.316,0.297,0.269,0.271,0.271,0.29,0.313,0.275,0.266,0.311,0.288,0.282,0.282,0.291,0.266 -0.022033166841980884,0.813,0.631,0.526,0.521,0.436,0.449,0.395,0.374,0.357,0.379,0.348,0.364,0.355,0.323,0.332,0.317,0.327,0.296,0.303,0.293,0.293,0.302,0.277,0.326,0.275,0.297,0.26,0.295,0.294,0.324,0.291,0.282,0.291,0.302,0.275,0.275,0.275,0.282,0.292,0.294 -0.018987226819420607,0.871,0.666,0.559,0.537,0.474,0.452,0.401,0.38,0.369,0.362,0.375,0.334,0.287,0.301,0.314,0.308,0.31,0.288,0.296,0.264,0.313,0.302,0.264,0.296,0.282,0.3,0.296,0.308,0.286,0.299,0.307,0.291,0.297,0.299,0.279,0.284,0.298,0.259,0.284,0.311 -0.01636236791913265,0.894,0.672,0.573,0.496,0.478,0.441,0.42,0.383,0.363,0.351,0.342,0.333,0.313,0.308,0.275,0.316,0.294,0.292,0.306,0.304,0.3,0.309,0.31,0.298,0.307,0.306,0.295,0.298,0.313,0.299,0.283,0.313,0.297,0.296,0.312,0.291,0.29,0.297,0.302,0.29 -0.01410037845269871,0.9,0.716,0.58,0.515,0.492,0.433,0.425,0.387,0.376,0.351,0.346,0.321,0.322,0.336,0.313,0.332,0.329,0.319,0.309,0.302,0.316,0.28,0.297,0.298,0.296,0.296,0.3,0.315,0.295,0.298,0.315,0.293,0.293,0.298,0.318,0.298,0.293,0.312,0.293,0.314 -0.012151094113758885,0.931,0.734,0.599,0.521,0.486,0.465,0.402,0.376,0.371,0.374,0.347,0.333,0.309,0.341,0.315,0.332,0.321,0.291,0.327,0.326,0.307,0.283,0.304,0.281,0.297,0.323,0.279,0.318,0.316,0.3,0.316,0.3,0.303,0.308,0.3,0.282,0.318,0.315,0.278,0.315 -0.010471285480508996,0.951,0.76,0.615,0.548,0.474,0.471,0.423,0.375,0.392,0.377,0.347,0.334,0.316,0.348,0.345,0.336,0.298,0.295,0.333,0.302,0.31,0.29,0.325,0.314,0.324,0.324,0.342,0.322,0.295,0.323,0.289,0.301,0.311,0.311,0.291,0.288,0.303,0.311,0.323,0.34 -0.009023699313641428,0.966,0.787,0.644,0.577,0.483,0.458,0.444,0.383,0.368,0.339,0.347,0.338,0.321,0.317,0.282,0.355,0.319,0.31,0.306,0.305,0.312,0.31,0.292,0.294,0.297,0.297,0.343,0.343,0.296,0.296,0.327,0.305,0.305,0.263,0.292,0.292,0.304,0.304,0.302,0.296 -0.007776232388523782,0.984,0.806,0.62,0.588,0.522,0.484,0.435,0.379,0.388,0.342,0.341,0.325,0.331,0.33,0.284,0.341,0.279,0.312,0.327,0.311,0.3,0.274,0.294,0.307,0.293,0.298,0.335,0.298,0.266,0.322,0.327,0.272,0.327,0.265,0.323,0.265,0.291,0.332,0.305,0.322 -0.006701219539630716,0.986,0.844,0.63,0.596,0.517,0.49,0.456,0.434,0.396,0.379,0.377,0.325,0.336,0.352,0.327,0.322,0.328,0.328,0.338,0.328,0.279,0.328,0.277,0.276,0.33,0.343,0.327,0.334,0.323,0.322,0.31,0.322,0.319,0.277,0.31,0.326,0.332,0.332,0.328,0.332 -0.0057748201281383514,0.997,0.886,0.724,0.603,0.548,0.449,0.445,0.415,0.368,0.386,0.37,0.357,0.337,0.344,0.344,0.355,0.356,0.33,0.349,0.324,0.303,0.334,0.319,0.285,0.287,0.331,0.284,0.342,0.291,0.322,0.329,0.303,0.315,0.303,0.321,0.282,0.338,0.34,0.321,0.3 -0.004976489326327849,0.998,0.919,0.717,0.597,0.53,0.474,0.414,0.379,0.411,0.34,0.356,0.385,0.374,0.314,0.332,0.321,0.318,0.32,0.298,0.289,0.287,0.351,0.332,0.303,0.302,0.322,0.343,0.306,0.316,0.286,0.292,0.305,0.292,0.311,0.286,0.302,0.329,0.316,0.341,0.33 -0.004288522493433697,0.998,0.939,0.732,0.629,0.531,0.487,0.441,0.425,0.404,0.383,0.392,0.331,0.313,0.337,0.353,0.346,0.321,0.314,0.29,0.337,0.323,0.333,0.317,0.307,0.334,0.334,0.322,0.304,0.333,0.314,0.327,0.333,0.315,0.315,0.332,0.334,0.305,0.317,0.314,0.315 -0.0036956625385264927,0.999,0.962,0.788,0.638,0.572,0.485,0.476,0.427,0.421,0.376,0.371,0.342,0.357,0.342,0.332,0.325,0.325,0.291,0.32,0.325,0.32,0.319,0.335,0.287,0.332,0.331,0.286,0.328,0.319,0.285,0.314,0.33,0.314,0.306,0.33,0.302,0.315,0.329,0.319,0.306 -0.003184761562887965,0.999,0.979,0.817,0.668,0.568,0.53,0.435,0.401,0.399,0.408,0.366,0.381,0.37,0.355,0.323,0.342,0.349,0.357,0.292,0.327,0.351,0.313,0.321,0.31,0.348,0.304,0.332,0.34,0.303,0.34,0.329,0.34,0.303,0.318,0.308,0.318,0.302,0.346,0.301,0.318 -0.002744489278096427,0.999,0.988,0.816,0.711,0.537,0.522,0.485,0.452,0.39,0.421,0.387,0.371,0.36,0.323,0.348,0.35,0.331,0.309,0.343,0.341,0.306,0.332,0.306,0.336,0.335,0.323,0.324,0.324,0.33,0.335,0.33,0.31,0.301,0.331,0.341,0.341,0.334,0.323,0.334,0.33 -0.0023650817333891625,0.999,0.99,0.873,0.735,0.59,0.54,0.48,0.44,0.439,0.418,0.38,0.371,0.373,0.334,0.359,0.341,0.322,0.332,0.348,0.34,0.329,0.343,0.311,0.335,0.324,0.343,0.307,0.335,0.342,0.321,0.322,0.333,0.331,0.305,0.321,0.31,0.304,0.347,0.33,0.31 -0.0020381247798099637,0.999,0.993,0.906,0.733,0.618,0.537,0.513,0.455,0.437,0.407,0.389,0.354,0.362,0.362,0.354,0.335,0.33,0.327,0.319,0.343,0.322,0.32,0.338,0.315,0.319,0.319,0.309,0.314,0.314,0.318,0.311,0.309,0.315,0.315,0.342,0.316,0.309,0.315,0.318,0.342 -0.0017563674690103848,1.0,1.0,0.942,0.786,0.639,0.545,0.517,0.462,0.451,0.4,0.387,0.373,0.377,0.376,0.331,0.341,0.337,0.316,0.356,0.318,0.328,0.315,0.343,0.351,0.351,0.314,0.33,0.31,0.35,0.339,0.323,0.313,0.313,0.339,0.304,0.342,0.313,0.312,0.349,0.339 -0.0015135612484362087,1.0,0.999,0.951,0.813,0.634,0.587,0.545,0.472,0.406,0.417,0.402,0.385,0.35,0.347,0.358,0.334,0.337,0.341,0.322,0.316,0.344,0.324,0.311,0.321,0.326,0.308,0.339,0.308,0.316,0.333,0.308,0.333,0.329,0.308,0.314,0.329,0.317,0.306,0.328,0.306 diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_11alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_11alist.csv deleted file mode 100644 index 8d5ed5d..0000000 --- a/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_11alist.csv +++ /dev/null @@ -1,41 +0,0 @@ -,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 -0.5011872336272722,0.822,0.82,0.8196,0.8186,0.8183,0.8181,0.8177,0.8173,0.8227,0.8225,0.8223,0.8218,0.8218,0.8218,0.8216,0.8215,0.8249,0.8247,0.8247,0.8245,0.8244,0.8244,0.8243,0.8243,0.8185,0.8182,0.8181,0.818,0.818,0.8179,0.8178,0.8178,0.8244,0.8244,0.8243,0.8243,0.8243,0.8243,0.8242,0.8242 -0.4319014035579926,0.7997,0.7969,0.7968,0.7944,0.7952,0.7914,0.7932,0.7937,0.7923,0.7903,0.7917,0.7914,0.7929,0.791,0.7892,0.7925,0.7907,0.7905,0.7922,0.7981,0.7889,0.7919,0.7905,0.7888,0.7917,0.7973,0.7887,0.7919,0.7902,0.7887,0.7972,0.7901,0.7886,0.7915,0.7899,0.7948,0.7968,0.7897,0.7913,0.7967 -0.37219388260414266,0.7714,0.7726,0.7732,0.7718,0.7667,0.7599,0.7651,0.7582,0.7577,0.7552,0.7618,0.7543,0.7664,0.761,0.7609,0.7608,0.7653,0.7556,0.7612,0.7651,0.755,0.761,0.761,0.7609,0.7562,0.7602,0.7522,0.7559,0.7602,0.752,0.7519,0.7519,0.7534,0.7601,0.7641,0.7532,0.7601,0.7637,0.7637,0.7637 -0.32074053269277175,0.7453,0.7313,0.7297,0.7265,0.7299,0.7271,0.7186,0.7174,0.7136,0.719,0.7196,0.7191,0.7178,0.7139,0.717,0.7228,0.712,0.7163,0.716,0.7201,0.7114,0.7164,0.7107,0.7155,0.7115,0.7102,0.7151,0.7157,0.7111,0.7191,0.7111,0.7098,0.7158,0.711,0.7147,0.7141,0.7155,0.7148,0.7153,0.7106 -0.276400269107749,0.722,0.7056,0.6965,0.6864,0.6905,0.6831,0.6859,0.6732,0.6826,0.6761,0.6806,0.6743,0.6774,0.6782,0.6686,0.6719,0.6712,0.6735,0.675,0.6766,0.6669,0.6703,0.6754,0.67,0.6758,0.6738,0.6656,0.6722,0.6654,0.6692,0.6739,0.675,0.6718,0.6689,0.665,0.6648,0.6645,0.6745,0.6645,0.6716 -0.23818975457029212,0.6886,0.6777,0.6607,0.654,0.6576,0.6434,0.6428,0.6458,0.6437,0.6409,0.6391,0.6399,0.6294,0.6478,0.6347,0.6341,0.6248,0.624,0.6236,0.632,0.6342,0.6268,0.6211,0.6209,0.6288,0.6286,0.6284,0.6199,0.6304,0.6247,0.6417,0.6417,0.6225,0.6223,0.6223,0.6409,0.6193,0.6238,0.6243,0.6243 -0.20526159169598815,0.6808,0.6586,0.6415,0.6352,0.6255,0.612,0.6101,0.6112,0.6198,0.5965,0.6018,0.613,0.5998,0.5984,0.5909,0.5942,0.5965,0.606,0.5932,0.5929,0.591,0.5906,0.6037,0.5934,0.5894,0.5907,0.5862,0.5919,0.5911,0.5908,0.5894,0.588,0.59,0.5907,0.5882,0.5873,0.5879,0.5878,0.59,0.5893 -0.1768855302008251,0.656,0.6313,0.6123,0.6105,0.5995,0.5945,0.5887,0.5827,0.5747,0.5782,0.5696,0.5745,0.5741,0.5635,0.5661,0.5662,0.5668,0.5599,0.5641,0.5579,0.5627,0.5741,0.5646,0.5653,0.5554,0.5647,0.5596,0.5592,0.5543,0.5557,0.5604,0.5595,0.558,0.5592,0.5632,0.5632,0.5692,0.5682,0.5516,0.5516 -0.15243227208706556,0.6518,0.6123,0.5984,0.5877,0.5895,0.5715,0.5613,0.5585,0.5542,0.5535,0.5559,0.5456,0.5508,0.5585,0.5543,0.5549,0.5541,0.5517,0.5441,0.5515,0.543,0.5353,0.5411,0.5344,0.5337,0.5396,0.5351,0.5327,0.537,0.5454,0.5387,0.5448,0.5445,0.5381,0.5283,0.5441,0.5296,0.5353,0.5317,0.5351 -0.13135951565537832,0.6433,0.6047,0.5915,0.5862,0.5678,0.552,0.5479,0.554,0.5515,0.5431,0.541,0.5419,0.525,0.5235,0.533,0.5297,0.5228,0.5237,0.5224,0.5307,0.5323,0.5318,0.5206,0.5105,0.5279,0.5139,0.5136,0.5218,0.5265,0.526,0.5125,0.5183,0.5165,0.5277,0.5275,0.5071,0.5192,0.519,0.5268,0.5229 -0.11319992884026403,0.6353,0.5971,0.5838,0.5716,0.5559,0.5387,0.5397,0.525,0.5306,0.5165,0.5285,0.5304,0.5082,0.5221,0.5145,0.5146,0.5004,0.5131,0.5105,0.5148,0.5105,0.5106,0.5079,0.5137,0.5079,0.5125,0.5063,0.5077,0.5114,0.4918,0.5012,0.5044,0.5105,0.5042,0.5006,0.4905,0.5037,0.5044,0.5011,0.504 -0.09755078515254997,0.635,0.5981,0.5709,0.5534,0.5476,0.5375,0.529,0.522,0.5208,0.5216,0.5201,0.5081,0.5043,0.5043,0.5004,0.5009,0.4974,0.5028,0.5019,0.495,0.4951,0.4944,0.4934,0.4934,0.4923,0.4938,0.4935,0.492,0.4911,0.4918,0.4911,0.4974,0.4908,0.4883,0.488,0.4894,0.4961,0.489,0.4905,0.4853 -0.08406503238449185,0.6321,0.5829,0.5648,0.5469,0.5358,0.5378,0.5284,0.51,0.5086,0.5124,0.5024,0.4948,0.4961,0.4939,0.489,0.4901,0.4912,0.485,0.4876,0.4864,0.4924,0.4892,0.4842,0.4884,0.4838,0.4828,0.4887,0.4868,0.4793,0.4833,0.4854,0.4828,0.4871,0.4847,0.4778,0.4821,0.4799,0.4805,0.4816,0.4802 -0.07244359600749903,0.6317,0.5913,0.562,0.5456,0.5364,0.5271,0.5184,0.5115,0.5074,0.4998,0.4973,0.4937,0.4915,0.4888,0.4866,0.4843,0.4827,0.4974,0.4961,0.4951,0.4804,0.4786,0.4928,0.4778,0.4775,0.4794,0.4787,0.4784,0.4907,0.4752,0.4774,0.4745,0.4741,0.4765,0.4761,0.4758,0.4764,0.4881,0.4752,0.4879 -0.06242874657437091,0.6438,0.586,0.5635,0.5445,0.5335,0.5223,0.5131,0.5065,0.5041,0.4958,0.4878,0.4915,0.4908,0.4841,0.4845,0.4822,0.4719,0.4773,0.4712,0.4818,0.4681,0.4733,0.4802,0.4798,0.4664,0.4741,0.4698,0.4647,0.465,0.472,0.4639,0.4635,0.4682,0.4769,0.4678,0.4629,0.4677,0.4764,0.4624,0.462 -0.05379838403443687,0.6464,0.5891,0.5638,0.5467,0.5275,0.5173,0.5129,0.5034,0.5026,0.4879,0.4876,0.4858,0.4812,0.4744,0.4846,0.4755,0.4694,0.4688,0.4729,0.4797,0.4709,0.4684,0.4771,0.4686,0.4669,0.4661,0.4761,0.4752,0.4751,0.4761,0.4608,0.4739,0.4756,0.4644,0.4736,0.4601,0.4733,0.4669,0.4626,0.4728 -0.04636111220443666,0.6522,0.5972,0.5563,0.5336,0.5313,0.518,0.5091,0.4987,0.4882,0.4786,0.4791,0.4918,0.4897,0.4711,0.4849,0.4707,0.4714,0.4703,0.4689,0.4699,0.469,0.4658,0.4682,0.4688,0.4741,0.4614,0.4727,0.4511,0.4509,0.4714,0.45,0.4649,0.4638,0.4647,0.4635,0.4608,0.4603,0.4628,0.46,0.4479 -0.03995199416132174,0.6477,0.5998,0.5599,0.5338,0.5235,0.5059,0.5016,0.4945,0.4927,0.4923,0.4719,0.4766,0.4756,0.4731,0.4752,0.474,0.4662,0.4705,0.4658,0.4693,0.4677,0.4672,0.4656,0.4654,0.4653,0.4501,0.4573,0.4639,0.4634,0.4629,0.4492,0.449,0.4628,0.4591,0.4626,0.4483,0.4602,0.4599,0.4578,0.4576 -0.034428894424011175,0.6588,0.6064,0.5665,0.551,0.5284,0.521,0.5055,0.503,0.4817,0.4873,0.4859,0.4789,0.4797,0.4783,0.4748,0.4722,0.4671,0.4697,0.4673,0.4647,0.4659,0.4602,0.4647,0.4612,0.4642,0.4577,0.4595,0.4632,0.459,0.4621,0.4583,0.4597,0.4621,0.4614,0.4587,0.4546,0.4581,0.4562,0.4579,0.4606 -0.02966932680439932,0.6801,0.6048,0.5705,0.5501,0.5312,0.5216,0.5104,0.4943,0.4889,0.4925,0.4887,0.4794,0.473,0.4689,0.4662,0.4709,0.4671,0.4623,0.4618,0.4557,0.4577,0.4645,0.4639,0.4593,0.4517,0.4622,0.4618,0.4579,0.4599,0.4569,0.4567,0.4537,0.4566,0.4562,0.456,0.4611,0.449,0.4529,0.4529,0.4575 -0.02556773802217524,0.6945,0.6166,0.5785,0.5542,0.5348,0.5206,0.5079,0.4945,0.4937,0.4888,0.4786,0.4794,0.4656,0.4745,0.4619,0.4678,0.458,0.4571,0.4653,0.4552,0.46,0.4644,0.459,0.4665,0.4583,0.4578,0.4656,0.4568,0.4618,0.4544,0.4616,0.4582,0.4609,0.4608,0.4576,0.4605,0.461,0.4592,0.4608,0.4579 -0.022033166841980884,0.7179,0.6334,0.5784,0.5614,0.5351,0.5246,0.5121,0.495,0.4897,0.4911,0.4832,0.4741,0.4704,0.4669,0.4723,0.4674,0.4669,0.4638,0.4684,0.4644,0.4637,0.4637,0.46,0.4648,0.4564,0.4623,0.4587,0.4638,0.4635,0.4545,0.4604,0.4569,0.4549,0.4545,0.4599,0.4562,0.4559,0.4543,0.454,0.4587 -0.018987226819420607,0.7331,0.6325,0.5761,0.5568,0.5417,0.5219,0.5065,0.5051,0.4928,0.4721,0.4796,0.4738,0.4713,0.4658,0.4642,0.4628,0.4612,0.4569,0.4651,0.447,0.4574,0.4577,0.4635,0.4631,0.4574,0.4587,0.4542,0.452,0.4562,0.4613,0.4533,0.4533,0.4434,0.4538,0.4549,0.4566,0.4426,0.4547,0.4543,0.4543 -0.01636236791913265,0.7465,0.6413,0.5897,0.5562,0.5443,0.5318,0.502,0.4991,0.4854,0.4829,0.4786,0.4756,0.4575,0.4688,0.4527,0.4624,0.462,0.4646,0.4662,0.4577,0.4535,0.4575,0.4527,0.4635,0.4563,0.466,0.4583,0.4598,0.4558,0.4544,0.4556,0.4574,0.4542,0.4573,0.4521,0.4643,0.4546,0.4601,0.4541,0.4514 -0.01410037845269871,0.7705,0.6592,0.5983,0.5682,0.5476,0.53,0.509,0.4976,0.5036,0.4891,0.4836,0.4738,0.4755,0.4694,0.4676,0.4697,0.4652,0.4591,0.461,0.4657,0.4567,0.4684,0.4677,0.4598,0.4578,0.4589,0.4625,0.4588,0.4572,0.4561,0.4555,0.4532,0.455,0.4653,0.4534,0.4527,0.4535,0.4548,0.4546,0.4568 -0.012151094113758885,0.7925,0.6697,0.6053,0.5715,0.5473,0.536,0.5148,0.5105,0.4944,0.4845,0.4799,0.485,0.4701,0.4656,0.4745,0.4689,0.4686,0.469,0.4668,0.4616,0.4648,0.4667,0.4595,0.4589,0.4564,0.4642,0.4561,0.4574,0.4557,0.4634,0.4564,0.459,0.4572,0.4569,0.4568,0.4549,0.4566,0.456,0.4547,0.4597 -0.010471285480508996,0.8198,0.6891,0.6084,0.5817,0.5513,0.5362,0.5136,0.5118,0.5027,0.492,0.4886,0.481,0.4691,0.4756,0.4731,0.4687,0.4638,0.4662,0.4681,0.4583,0.4613,0.4658,0.4656,0.4603,0.4599,0.4648,0.4607,0.4589,0.4553,0.46,0.4585,0.4583,0.4607,0.4631,0.4596,0.4543,0.4639,0.4591,0.4575,0.4604 -0.009023699313641428,0.8467,0.6969,0.623,0.5743,0.5564,0.5429,0.5263,0.5033,0.4886,0.4853,0.4763,0.4821,0.4758,0.4756,0.4677,0.4686,0.4582,0.4539,0.456,0.462,0.4667,0.4672,0.4601,0.4522,0.4503,0.458,0.4499,0.4592,0.4654,0.4596,0.4616,0.4511,0.4567,0.4617,0.4566,0.4609,0.4589,0.4607,0.4629,0.448 -0.007776232388523782,0.8728,0.7196,0.6276,0.5935,0.5616,0.5442,0.5284,0.5089,0.501,0.4814,0.4813,0.4856,0.4699,0.4763,0.4645,0.4568,0.4704,0.4571,0.4697,0.4637,0.4654,0.4629,0.4676,0.454,0.4575,0.4508,0.4603,0.4628,0.4614,0.4625,0.4594,0.4496,0.4645,0.4568,0.4659,0.4495,0.465,0.4493,0.4656,0.4561 -0.006701219539630716,0.8977,0.7391,0.6375,0.5896,0.5672,0.5376,0.5233,0.5061,0.4977,0.4881,0.4939,0.4749,0.4657,0.4767,0.4719,0.4623,0.4605,0.455,0.4616,0.4591,0.4615,0.4625,0.4633,0.4564,0.4586,0.4603,0.467,0.4554,0.4641,0.4665,0.4668,0.4575,0.4558,0.463,0.4594,0.457,0.4611,0.4502,0.4565,0.4551 -0.0057748201281383514,0.9172,0.762,0.6503,0.5992,0.5701,0.5478,0.5312,0.5194,0.499,0.4879,0.4838,0.4718,0.4805,0.4634,0.4638,0.4654,0.4622,0.4601,0.4713,0.4685,0.4627,0.4678,0.4591,0.4691,0.4568,0.4596,0.4615,0.4648,0.4678,0.4642,0.465,0.4606,0.4587,0.4566,0.4672,0.4527,0.4501,0.4526,0.4546,0.467 -0.004976489326327849,0.9387,0.78,0.6595,0.604,0.5694,0.5545,0.5285,0.5202,0.5007,0.4895,0.4938,0.4833,0.4802,0.4707,0.4631,0.4707,0.4716,0.4611,0.4606,0.4626,0.4572,0.461,0.4583,0.4562,0.458,0.4603,0.4649,0.4585,0.4568,0.4563,0.457,0.4565,0.4639,0.4558,0.4584,0.46,0.4653,0.4516,0.4587,0.4649 -0.004288522493433697,0.9527,0.8056,0.6754,0.6154,0.5789,0.5443,0.5324,0.5179,0.5075,0.5021,0.4936,0.4902,0.4739,0.4752,0.4668,0.4604,0.4599,0.4682,0.4595,0.4627,0.4548,0.4629,0.4661,0.4713,0.4709,0.4562,0.4578,0.4517,0.4666,0.4591,0.4601,0.4602,0.46,0.4568,0.4648,0.4622,0.4634,0.4602,0.4579,0.4507 -0.0036956625385264927,0.9605,0.8349,0.6917,0.6222,0.5763,0.5568,0.535,0.5177,0.5095,0.4926,0.4908,0.4754,0.4801,0.4737,0.4669,0.4609,0.4664,0.4736,0.4588,0.4555,0.4629,0.4643,0.4678,0.4543,0.4607,0.4624,0.4705,0.4638,0.4595,0.4532,0.4587,0.4633,0.461,0.452,0.4611,0.4658,0.4605,0.4509,0.4635,0.4656 -0.003184761562887965,0.9676,0.8665,0.6957,0.6423,0.5819,0.564,0.5326,0.5257,0.5072,0.4994,0.4837,0.4822,0.4796,0.4732,0.4794,0.4691,0.4568,0.4714,0.4558,0.4631,0.4624,0.4625,0.4634,0.4556,0.4635,0.4604,0.4651,0.47,0.4628,0.4595,0.4521,0.4516,0.4623,0.4608,0.4664,0.4646,0.4546,0.4691,0.4619,0.4631 -0.002744489278096427,0.9695,0.8838,0.7205,0.6487,0.5967,0.5695,0.5433,0.5314,0.51,0.5048,0.4966,0.4864,0.48,0.4804,0.4757,0.4688,0.4663,0.4683,0.467,0.4567,0.4668,0.4622,0.4618,0.4538,0.4711,0.4638,0.4635,0.4537,0.4753,0.4612,0.4611,0.4627,0.4654,0.4647,0.4646,0.4637,0.4637,0.4601,0.4599,0.4607 -0.0023650817333891625,0.9733,0.9185,0.7479,0.673,0.6031,0.5773,0.5494,0.5234,0.5175,0.51,0.4944,0.4801,0.4879,0.4691,0.4867,0.4715,0.4617,0.47,0.4649,0.4676,0.4681,0.4553,0.4676,0.4591,0.4666,0.4657,0.4613,0.4581,0.4654,0.4648,0.4557,0.4576,0.457,0.4626,0.4691,0.457,0.4626,0.4672,0.4647,0.4518 -0.0020381247798099637,0.9749,0.9329,0.7648,0.6804,0.6179,0.5702,0.554,0.5381,0.52,0.5038,0.4983,0.4965,0.4791,0.4865,0.4866,0.4679,0.4685,0.4661,0.4593,0.4628,0.4611,0.462,0.4681,0.4657,0.4657,0.4621,0.4657,0.4647,0.4538,0.4646,0.4557,0.468,0.4757,0.4702,0.4573,0.4676,0.4702,0.4673,0.464,0.4581 -0.0017563674690103848,0.9745,0.9473,0.7938,0.6856,0.6093,0.583,0.558,0.5291,0.5225,0.5036,0.4997,0.4865,0.4836,0.4789,0.477,0.4796,0.4653,0.469,0.4669,0.4608,0.4711,0.4668,0.4647,0.4617,0.4591,0.4638,0.4557,0.4545,0.4586,0.4764,0.4551,0.4644,0.4541,0.4549,0.4576,0.4715,0.4644,0.4644,0.4574,0.4679 -0.0015135612484362087,0.98,0.9562,0.831,0.7115,0.6225,0.5897,0.5584,0.5374,0.526,0.5017,0.5024,0.4935,0.485,0.4761,0.4677,0.4777,0.4675,0.4694,0.4651,0.4678,0.4714,0.4668,0.4599,0.4594,0.4621,0.4587,0.4619,0.462,0.4585,0.4637,0.4649,0.4647,0.4689,0.458,0.4685,0.4607,0.4642,0.4538,0.4638,0.462 diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv deleted file mode 100644 index 539778e..0000000 --- a/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv +++ /dev/null @@ -1,41 +0,0 @@ -,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 -0.5011872336272722,0.479,0.478,0.478,0.478,0.478,0.478,0.478,0.478,0.498,0.498,0.498,0.498,0.497,0.496,0.496,0.496,0.465,0.465,0.465,0.465,0.465,0.465,0.465,0.465,0.487,0.487,0.487,0.487,0.487,0.487,0.487,0.487,0.477,0.477,0.477,0.477,0.477,0.477,0.477,0.477 -0.4319014035579926,0.456,0.456,0.452,0.452,0.452,0.452,0.452,0.456,0.452,0.453,0.453,0.453,0.453,0.452,0.452,0.465,0.452,0.456,0.456,0.456,0.456,0.452,0.456,0.442,0.456,0.465,0.465,0.465,0.465,0.456,0.465,0.435,0.465,0.441,0.441,0.441,0.441,0.465,0.441,0.433 -0.37219388260414266,0.424,0.425,0.423,0.42,0.42,0.406,0.419,0.405,0.409,0.404,0.404,0.416,0.408,0.408,0.404,0.408,0.414,0.406,0.406,0.404,0.393,0.393,0.404,0.393,0.404,0.393,0.393,0.404,0.414,0.414,0.393,0.414,0.404,0.414,0.414,0.392,0.391,0.391,0.414,0.391 -0.32074053269277175,0.386,0.379,0.376,0.391,0.385,0.39,0.38,0.38,0.38,0.363,0.371,0.363,0.363,0.371,0.378,0.371,0.371,0.377,0.375,0.376,0.375,0.375,0.37,0.375,0.375,0.37,0.4,0.37,0.37,0.4,0.373,0.4,0.4,0.373,0.375,0.373,0.373,0.375,0.4,0.375 -0.276400269107749,0.39,0.39,0.338,0.378,0.327,0.371,0.339,0.319,0.351,0.333,0.318,0.33,0.346,0.327,0.318,0.346,0.345,0.318,0.343,0.318,0.344,0.317,0.342,0.344,0.337,0.342,0.343,0.342,0.337,0.342,0.343,0.335,0.34,0.343,0.335,0.343,0.34,0.343,0.335,0.34 -0.23818975457029212,0.395,0.347,0.346,0.333,0.308,0.34,0.316,0.317,0.312,0.33,0.328,0.311,0.307,0.294,0.323,0.303,0.32,0.288,0.286,0.308,0.318,0.299,0.285,0.317,0.284,0.298,0.298,0.297,0.284,0.304,0.297,0.283,0.295,0.303,0.303,0.32,0.295,0.296,0.302,0.295 -0.20526159169598815,0.382,0.345,0.329,0.319,0.29,0.328,0.302,0.317,0.312,0.288,0.307,0.266,0.279,0.264,0.277,0.259,0.276,0.258,0.258,0.274,0.294,0.252,0.294,0.251,0.293,0.251,0.251,0.266,0.271,0.253,0.253,0.27,0.251,0.27,0.269,0.259,0.265,0.249,0.249,0.264 -0.1768855302008251,0.359,0.344,0.326,0.279,0.281,0.285,0.277,0.275,0.266,0.265,0.258,0.255,0.228,0.26,0.259,0.258,0.226,0.224,0.224,0.241,0.245,0.247,0.245,0.245,0.242,0.241,0.241,0.234,0.235,0.221,0.219,0.219,0.235,0.234,0.234,0.256,0.234,0.236,0.236,0.235 -0.15243227208706556,0.355,0.317,0.289,0.273,0.287,0.279,0.278,0.251,0.269,0.243,0.24,0.246,0.229,0.228,0.226,0.227,0.221,0.226,0.226,0.226,0.236,0.235,0.234,0.247,0.234,0.247,0.246,0.226,0.222,0.221,0.221,0.216,0.22,0.216,0.216,0.241,0.224,0.224,0.224,0.23 -0.13135951565537832,0.338,0.315,0.29,0.325,0.281,0.274,0.264,0.243,0.25,0.24,0.233,0.234,0.282,0.281,0.28,0.23,0.277,0.228,0.261,0.226,0.219,0.219,0.219,0.244,0.244,0.218,0.25,0.253,0.243,0.252,0.252,0.269,0.269,0.252,0.225,0.268,0.249,0.249,0.249,0.214 -0.11319992884026403,0.372,0.314,0.292,0.272,0.261,0.255,0.29,0.247,0.237,0.244,0.274,0.23,0.268,0.228,0.253,0.226,0.247,0.226,0.251,0.223,0.223,0.25,0.227,0.222,0.237,0.221,0.226,0.242,0.242,0.225,0.242,0.22,0.217,0.241,0.219,0.233,0.233,0.218,0.233,0.216 -0.09755078515254997,0.352,0.325,0.277,0.274,0.275,0.254,0.245,0.247,0.258,0.237,0.254,0.226,0.241,0.226,0.246,0.223,0.243,0.221,0.242,0.221,0.236,0.221,0.24,0.22,0.216,0.219,0.216,0.232,0.252,0.232,0.215,0.232,0.216,0.232,0.216,0.234,0.239,0.234,0.216,0.234 -0.08406503238449185,0.372,0.347,0.315,0.309,0.277,0.252,0.285,0.281,0.243,0.247,0.267,0.255,0.242,0.226,0.249,0.247,0.238,0.239,0.244,0.22,0.261,0.238,0.22,0.22,0.236,0.258,0.217,0.22,0.241,0.227,0.217,0.217,0.255,0.241,0.236,0.216,0.22,0.233,0.236,0.236 -0.07244359600749903,0.4,0.31,0.313,0.313,0.268,0.252,0.286,0.248,0.253,0.248,0.246,0.244,0.25,0.224,0.246,0.246,0.239,0.238,0.249,0.236,0.233,0.242,0.236,0.233,0.246,0.245,0.242,0.244,0.231,0.232,0.225,0.231,0.241,0.241,0.235,0.241,0.243,0.231,0.251,0.242 -0.06242874657437091,0.414,0.353,0.321,0.3,0.308,0.27,0.272,0.262,0.271,0.242,0.249,0.246,0.246,0.243,0.259,0.258,0.23,0.242,0.255,0.24,0.24,0.231,0.229,0.229,0.239,0.224,0.229,0.228,0.226,0.25,0.238,0.237,0.224,0.22,0.237,0.249,0.248,0.228,0.224,0.217 -0.05379838403443687,0.395,0.332,0.308,0.299,0.287,0.295,0.277,0.257,0.241,0.233,0.235,0.228,0.254,0.226,0.233,0.252,0.222,0.242,0.219,0.239,0.227,0.212,0.218,0.227,0.238,0.238,0.218,0.217,0.217,0.241,0.216,0.217,0.216,0.211,0.215,0.211,0.214,0.232,0.236,0.213 -0.04636111220443666,0.415,0.375,0.305,0.331,0.309,0.305,0.263,0.267,0.279,0.241,0.25,0.258,0.23,0.245,0.218,0.23,0.24,0.215,0.226,0.221,0.214,0.225,0.223,0.209,0.225,0.245,0.209,0.211,0.245,0.209,0.24,0.221,0.207,0.235,0.221,0.244,0.233,0.221,0.225,0.238 -0.03995199416132174,0.417,0.361,0.352,0.324,0.293,0.276,0.29,0.247,0.266,0.238,0.248,0.245,0.237,0.224,0.239,0.229,0.243,0.214,0.213,0.213,0.213,0.228,0.211,0.246,0.233,0.239,0.239,0.239,0.225,0.242,0.239,0.23,0.225,0.23,0.23,0.229,0.239,0.227,0.229,0.209 -0.034428894424011175,0.467,0.387,0.359,0.334,0.307,0.308,0.258,0.284,0.276,0.269,0.257,0.262,0.227,0.244,0.247,0.256,0.249,0.256,0.238,0.254,0.241,0.226,0.236,0.229,0.25,0.229,0.231,0.229,0.236,0.224,0.229,0.223,0.227,0.223,0.243,0.223,0.227,0.264,0.242,0.224 -0.02966932680439932,0.462,0.376,0.359,0.313,0.303,0.308,0.313,0.288,0.258,0.281,0.288,0.285,0.279,0.262,0.259,0.249,0.237,0.236,0.254,0.253,0.253,0.233,0.244,0.241,0.227,0.226,0.241,0.241,0.241,0.225,0.238,0.225,0.265,0.225,0.238,0.238,0.238,0.225,0.223,0.253 -0.02556773802217524,0.503,0.425,0.341,0.329,0.319,0.318,0.319,0.292,0.284,0.281,0.253,0.272,0.27,0.255,0.26,0.255,0.24,0.238,0.233,0.236,0.235,0.237,0.245,0.239,0.225,0.225,0.255,0.223,0.223,0.256,0.232,0.237,0.252,0.252,0.223,0.252,0.252,0.231,0.256,0.229 -0.022033166841980884,0.518,0.391,0.347,0.321,0.3,0.292,0.292,0.265,0.291,0.264,0.278,0.269,0.254,0.245,0.265,0.27,0.239,0.236,0.239,0.232,0.259,0.257,0.229,0.233,0.242,0.256,0.227,0.241,0.227,0.226,0.239,0.228,0.248,0.227,0.253,0.247,0.238,0.238,0.247,0.252 -0.018987226819420607,0.532,0.425,0.352,0.328,0.346,0.325,0.319,0.321,0.272,0.273,0.264,0.286,0.243,0.258,0.246,0.24,0.272,0.256,0.264,0.244,0.267,0.221,0.249,0.265,0.242,0.252,0.23,0.217,0.241,0.23,0.25,0.239,0.214,0.225,0.24,0.228,0.214,0.21,0.225,0.214 -0.01636236791913265,0.563,0.433,0.389,0.319,0.301,0.319,0.285,0.296,0.303,0.272,0.262,0.265,0.252,0.236,0.254,0.238,0.253,0.272,0.244,0.22,0.239,0.234,0.249,0.232,0.221,0.243,0.247,0.228,0.231,0.246,0.222,0.211,0.23,0.215,0.221,0.229,0.243,0.22,0.243,0.225 -0.01410037845269871,0.539,0.442,0.398,0.371,0.318,0.322,0.326,0.276,0.291,0.282,0.273,0.269,0.262,0.268,0.262,0.247,0.252,0.249,0.259,0.26,0.258,0.246,0.24,0.238,0.259,0.259,0.243,0.227,0.227,0.238,0.257,0.252,0.258,0.258,0.235,0.251,0.25,0.252,0.257,0.224 -0.012151094113758885,0.588,0.469,0.386,0.366,0.372,0.329,0.324,0.314,0.29,0.295,0.301,0.281,0.285,0.268,0.256,0.255,0.275,0.26,0.273,0.265,0.275,0.264,0.265,0.265,0.268,0.245,0.268,0.263,0.231,0.262,0.264,0.263,0.265,0.257,0.24,0.228,0.238,0.238,0.264,0.264 -0.010471285480508996,0.616,0.495,0.426,0.359,0.32,0.321,0.313,0.341,0.316,0.286,0.266,0.274,0.296,0.256,0.286,0.277,0.286,0.256,0.276,0.25,0.232,0.27,0.27,0.275,0.24,0.234,0.23,0.23,0.243,0.229,0.269,0.232,0.265,0.24,0.242,0.263,0.239,0.241,0.23,0.237 -0.009023699313641428,0.621,0.481,0.406,0.349,0.363,0.356,0.326,0.313,0.3,0.301,0.286,0.266,0.269,0.247,0.267,0.272,0.254,0.259,0.258,0.277,0.242,0.259,0.26,0.253,0.27,0.236,0.258,0.23,0.261,0.249,0.247,0.235,0.228,0.259,0.246,0.245,0.263,0.249,0.233,0.256 -0.007776232388523782,0.641,0.547,0.409,0.382,0.358,0.301,0.291,0.307,0.329,0.317,0.301,0.296,0.282,0.275,0.273,0.25,0.282,0.259,0.279,0.239,0.255,0.272,0.276,0.27,0.231,0.241,0.23,0.262,0.236,0.27,0.271,0.269,0.261,0.26,0.266,0.261,0.266,0.247,0.226,0.247 -0.006701219539630716,0.652,0.554,0.434,0.401,0.358,0.344,0.331,0.325,0.278,0.304,0.289,0.299,0.278,0.255,0.284,0.271,0.268,0.285,0.281,0.273,0.281,0.263,0.258,0.276,0.28,0.269,0.277,0.253,0.263,0.271,0.281,0.275,0.261,0.248,0.253,0.28,0.245,0.271,0.263,0.25 -0.0057748201281383514,0.622,0.618,0.432,0.398,0.404,0.385,0.339,0.327,0.324,0.332,0.329,0.3,0.297,0.288,0.307,0.287,0.262,0.273,0.272,0.296,0.276,0.294,0.266,0.272,0.285,0.312,0.311,0.261,0.255,0.259,0.308,0.254,0.273,0.274,0.273,0.307,0.281,0.307,0.281,0.273 -0.004976489326327849,0.655,0.601,0.48,0.386,0.363,0.342,0.342,0.353,0.343,0.316,0.322,0.311,0.332,0.298,0.31,0.279,0.277,0.304,0.301,0.299,0.285,0.298,0.266,0.273,0.266,0.272,0.267,0.266,0.285,0.266,0.285,0.312,0.284,0.312,0.266,0.266,0.293,0.266,0.271,0.276 -0.004288522493433697,0.664,0.599,0.471,0.411,0.376,0.351,0.353,0.334,0.339,0.317,0.311,0.293,0.307,0.279,0.309,0.292,0.281,0.29,0.262,0.262,0.299,0.29,0.272,0.26,0.287,0.26,0.259,0.277,0.268,0.277,0.27,0.257,0.258,0.257,0.275,0.269,0.27,0.285,0.285,0.274 -0.0036956625385264927,0.646,0.637,0.51,0.416,0.388,0.368,0.343,0.334,0.326,0.32,0.301,0.311,0.29,0.293,0.29,0.265,0.285,0.289,0.285,0.283,0.285,0.289,0.28,0.28,0.281,0.264,0.28,0.296,0.28,0.264,0.281,0.271,0.294,0.26,0.281,0.291,0.281,0.259,0.29,0.281 -0.003184761562887965,0.64,0.641,0.517,0.432,0.376,0.392,0.359,0.335,0.345,0.339,0.336,0.313,0.32,0.309,0.286,0.287,0.267,0.267,0.269,0.283,0.268,0.267,0.284,0.302,0.283,0.301,0.274,0.297,0.274,0.301,0.282,0.264,0.281,0.263,0.269,0.293,0.269,0.263,0.281,0.274 -0.002744489278096427,0.648,0.644,0.531,0.448,0.384,0.371,0.354,0.337,0.362,0.343,0.347,0.306,0.321,0.286,0.279,0.299,0.277,0.298,0.276,0.293,0.27,0.303,0.291,0.303,0.274,0.267,0.274,0.303,0.275,0.269,0.303,0.274,0.278,0.301,0.277,0.273,0.271,0.275,0.273,0.274 -0.0023650817333891625,0.648,0.644,0.57,0.434,0.404,0.383,0.354,0.342,0.329,0.332,0.323,0.313,0.31,0.322,0.28,0.301,0.281,0.283,0.303,0.274,0.3,0.275,0.292,0.304,0.299,0.272,0.286,0.29,0.286,0.274,0.304,0.275,0.286,0.29,0.279,0.301,0.277,0.279,0.273,0.274 -0.0020381247798099637,0.648,0.668,0.582,0.503,0.404,0.4,0.371,0.345,0.342,0.324,0.334,0.325,0.312,0.31,0.298,0.297,0.31,0.28,0.279,0.304,0.301,0.279,0.284,0.302,0.298,0.299,0.28,0.287,0.298,0.279,0.273,0.298,0.294,0.286,0.273,0.282,0.293,0.272,0.291,0.293 -0.0017563674690103848,0.635,0.648,0.586,0.487,0.413,0.389,0.372,0.348,0.359,0.318,0.32,0.326,0.301,0.311,0.284,0.3,0.308,0.308,0.286,0.306,0.294,0.305,0.276,0.306,0.297,0.297,0.276,0.299,0.266,0.297,0.294,0.299,0.279,0.28,0.294,0.296,0.303,0.28,0.265,0.296 -0.0015135612484362087,0.667,0.623,0.607,0.519,0.418,0.415,0.359,0.327,0.366,0.359,0.321,0.332,0.32,0.3,0.291,0.274,0.308,0.305,0.286,0.27,0.276,0.269,0.294,0.274,0.283,0.282,0.276,0.305,0.294,0.265,0.306,0.293,0.268,0.268,0.294,0.297,0.266,0.274,0.257,0.306 diff --git a/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_7_4alist.csv b/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_7_4alist.csv deleted file mode 100644 index f75d1d7..0000000 --- a/sw/sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_7_4alist.csv +++ /dev/null @@ -1,41 +0,0 @@ -,20,25,30,34,39,43,48,53,57,62,66,71,76,80,85,90,94,99,103,108,113,117,122,126,131,136,140,145,149,154,159,163,168,172,177,182,186,191,195,200 -0.5011872336272722,0.18777,0.18771,0.1877,0.18769,0.18769,0.18769,0.18769,0.18769,0.18732,0.18732,0.18732,0.18731,0.18731,0.18731,0.18731,0.18731,0.18554,0.18554,0.18554,0.18554,0.18554,0.18554,0.18554,0.18554,0.18689,0.18689,0.18689,0.18689,0.18689,0.18689,0.18689,0.18689,0.1844,0.1844,0.1844,0.1844,0.1844,0.1844,0.1844,0.1844 -0.4319014035579926,0.17317,0.17271,0.17259,0.17256,0.17251,0.17248,0.17246,0.17245,0.17275,0.17274,0.17274,0.17273,0.17272,0.17272,0.17272,0.17272,0.17096,0.17096,0.17096,0.17096,0.17096,0.17096,0.17096,0.17096,0.17083,0.17083,0.17083,0.17083,0.17083,0.17083,0.17083,0.17083,0.17169,0.17169,0.17169,0.17169,0.17169,0.17169,0.17169,0.17169 -0.37219388260414266,0.15729,0.15584,0.15513,0.15483,0.15457,0.15443,0.15439,0.15434,0.15476,0.15474,0.15472,0.15468,0.15463,0.15462,0.15462,0.15461,0.15358,0.15358,0.15358,0.15358,0.15357,0.15357,0.15357,0.15357,0.15404,0.15403,0.15403,0.15403,0.15403,0.15403,0.15402,0.15402,0.15446,0.15446,0.15446,0.15446,0.15446,0.15446,0.15446,0.15446 -0.32074053269277175,0.14177,0.13869,0.13712,0.13635,0.13573,0.13532,0.13497,0.1348,0.13492,0.13476,0.13468,0.13463,0.13456,0.13452,0.13451,0.13448,0.13378,0.13377,0.13373,0.13373,0.13371,0.1337,0.13369,0.13366,0.135,0.135,0.135,0.13499,0.13499,0.13497,0.13497,0.13497,0.13373,0.13373,0.13373,0.13373,0.13373,0.13373,0.13373,0.13373 -0.276400269107749,0.12945,0.12441,0.12122,0.11969,0.11824,0.11743,0.11668,0.11503,0.11573,0.11443,0.1142,0.11396,0.11372,0.11358,0.11345,0.11565,0.11327,0.11549,0.11543,0.11536,0.11529,0.11522,0.11518,0.1141,0.11508,0.11408,0.11406,0.11404,0.11402,0.114,0.11399,0.11224,0.11396,0.11221,0.1122,0.1122,0.11219,0.11218,0.11218,0.11369 -0.23818975457029212,0.11718,0.11177,0.10731,0.10508,0.10281,0.1015,0.10015,0.09933,0.09843,0.09779,0.09724,0.09682,0.09646,0.09627,0.09599,0.09582,0.09568,0.09545,0.09539,0.09528,0.09523,0.09519,0.09517,0.09509,0.09719,0.09714,0.0971,0.09704,0.09699,0.09696,0.09692,0.09717,0.09682,0.09713,0.09713,0.09711,0.09709,0.09703,0.09702,0.09515 -0.20526159169598815,0.11297,0.10286,0.09766,0.09452,0.09176,0.09012,0.08867,0.08737,0.08493,0.0841,0.08352,0.08294,0.08241,0.08214,0.08178,0.08151,0.0827,0.08245,0.08224,0.08212,0.08193,0.08183,0.08172,0.08163,0.08216,0.08205,0.08199,0.08193,0.08186,0.08177,0.08167,0.08164,0.0819,0.08185,0.0818,0.08177,0.08176,0.0817,0.08167,0.08161 -0.1768855302008251,0.10371,0.09439,0.08884,0.08565,0.08288,0.08138,0.07974,0.07883,0.07797,0.0768,0.07648,0.07588,0.07538,0.07501,0.07459,0.07456,0.07436,0.07377,0.07394,0.07376,0.07365,0.07347,0.07334,0.07227,0.07214,0.07297,0.07192,0.07183,0.07176,0.07165,0.07161,0.07167,0.07161,0.07139,0.07147,0.07138,0.07137,0.07132,0.0713,0.07197 -0.15243227208706556,0.09987,0.09024,0.08293,0.08058,0.07796,0.07624,0.07491,0.07344,0.07282,0.07195,0.07137,0.07072,0.07025,0.06987,0.06828,0.06906,0.06774,0.06753,0.06838,0.06727,0.0671,0.06695,0.06724,0.06666,0.06696,0.06692,0.06636,0.06681,0.06677,0.06672,0.06828,0.06665,0.06817,0.06812,0.0665,0.06799,0.06794,0.06791,0.06612,0.06788 -0.13135951565537832,0.09651,0.08611,0.08115,0.07646,0.0735,0.07176,0.06979,0.06863,0.0678,0.06757,0.06698,0.06582,0.06537,0.06516,0.06513,0.06484,0.06467,0.06384,0.06371,0.06406,0.06385,0.06377,0.06395,0.06383,0.06365,0.06337,0.06333,0.06344,0.06338,0.06336,0.06366,0.06361,0.06359,0.06315,0.06309,0.0635,0.06345,0.06337,0.06325,0.06325 -0.11319992884026403,0.09489,0.08442,0.07748,0.07384,0.07111,0.06941,0.0679,0.06665,0.06597,0.06511,0.06482,0.06413,0.06367,0.06338,0.06347,0.06326,0.06252,0.0628,0.06212,0.06253,0.06236,0.06226,0.06099,0.06093,0.06198,0.06074,0.06181,0.06057,0.06052,0.06047,0.06131,0.06127,0.0603,0.06117,0.06019,0.06112,0.06108,0.06104,0.06029,0.06023 -0.09755078515254997,0.09426,0.08131,0.0756,0.07195,0.0689,0.06727,0.06659,0.06453,0.06467,0.06384,0.06252,0.06293,0.06245,0.06204,0.06263,0.06141,0.06199,0.06178,0.06073,0.06144,0.0613,0.06122,0.05941,0.06094,0.05916,0.05905,0.06064,0.05891,0.05886,0.05879,0.05896,0.05865,0.05889,0.05885,0.05847,0.0588,0.05876,0.05875,0.05905,0.0587 -0.08406503238449185,0.09377,0.08114,0.07361,0.07086,0.06792,0.06628,0.06452,0.06327,0.06256,0.06185,0.06134,0.06067,0.06015,0.05979,0.05874,0.05839,0.05822,0.05855,0.05838,0.05747,0.05734,0.05723,0.05844,0.05831,0.05817,0.0567,0.05659,0.05793,0.05788,0.05778,0.05714,0.05708,0.057,0.05763,0.05757,0.05683,0.05682,0.05679,0.05741,0.05739 -0.07244359600749903,0.09473,0.08033,0.07356,0.06993,0.06736,0.06582,0.0639,0.0625,0.06171,0.06119,0.06024,0.05995,0.05916,0.05883,0.05789,0.05763,0.05748,0.05761,0.05702,0.05689,0.05708,0.0565,0.05621,0.05615,0.05603,0.05598,0.0559,0.0558,0.05575,0.05563,0.0556,0.05556,0.05545,0.05538,0.05532,0.05525,0.05527,0.05519,0.05389,0.05386 -0.06242874657437091,0.09167,0.07956,0.07033,0.06663,0.06482,0.06178,0.06184,0.06062,0.05839,0.05888,0.05826,0.05763,0.05578,0.05657,0.05699,0.05665,0.05645,0.0553,0.05596,0.05571,0.05463,0.05544,0.05639,0.05628,0.05615,0.05494,0.05593,0.05584,0.05463,0.05572,0.05431,0.05426,0.05422,0.05541,0.05416,0.05413,0.05527,0.05406,0.05309,0.05305 -0.05379838403443687,0.094,0.07977,0.07071,0.06664,0.06471,0.06216,0.06155,0.06017,0.05834,0.05838,0.05771,0.05715,0.05561,0.05598,0.05553,0.05519,0.05475,0.05469,0.05451,0.05428,0.05376,0.05397,0.05367,0.05353,0.0535,0.05327,0.05321,0.05312,0.05319,0.05294,0.05291,0.05285,0.05275,0.05278,0.05268,0.05263,0.05257,0.0526,0.05272,0.05267 -0.04636111220443666,0.09754,0.08071,0.07178,0.06785,0.06417,0.06294,0.06193,0.06045,0.05894,0.05864,0.05785,0.05714,0.05605,0.05595,0.05484,0.05436,0.05467,0.05363,0.05337,0.05313,0.05345,0.05273,0.05207,0.05245,0.05173,0.05166,0.05158,0.05139,0.052,0.05127,0.05189,0.05184,0.05108,0.05165,0.05161,0.05153,0.05086,0.05134,0.05137,0.05135 -0.03995199416132174,0.10068,0.08159,0.07213,0.06763,0.06456,0.0622,0.06,0.0589,0.05773,0.05659,0.05578,0.05508,0.05468,0.05378,0.05313,0.05278,0.05246,0.05219,0.05192,0.05162,0.05134,0.05119,0.05268,0.05082,0.05238,0.0523,0.05221,0.05215,0.05037,0.05199,0.05105,0.05185,0.05093,0.05087,0.05079,0.05071,0.05154,0.05064,0.05199,0.05055 -0.034428894424011175,0.10787,0.08483,0.07484,0.07012,0.06383,0.06452,0.06156,0.05989,0.06026,0.05779,0.05701,0.05601,0.05648,0.05484,0.05312,0.0527,0.05313,0.05204,0.05173,0.05139,0.05184,0.05098,0.05065,0.0505,0.05037,0.05019,0.05004,0.04991,0.04989,0.04973,0.04991,0.04987,0.04947,0.0497,0.04966,0.04961,0.04929,0.04954,0.0492,0.04919 -0.02966932680439932,0.10809,0.08402,0.07267,0.06767,0.0644,0.06195,0.06041,0.05914,0.05739,0.05723,0.05639,0.05535,0.05373,0.05406,0.05273,0.05194,0.05233,0.05121,0.05079,0.05034,0.0508,0.0498,0.05108,0.05096,0.04929,0.05065,0.05052,0.05044,0.04883,0.05025,0.04969,0.04964,0.05004,0.04954,0.04949,0.04944,0.04986,0.04935,0.04668,0.04667 -0.02556773802217524,0.11362,0.08415,0.07164,0.06681,0.0642,0.06084,0.0605,0.05902,0.05619,0.05671,0.05577,0.05455,0.05214,0.05206,0.05215,0.05053,0.05095,0.04973,0.04932,0.04891,0.04946,0.04914,0.04789,0.04872,0.04761,0.04834,0.04827,0.04812,0.0471,0.04824,0.04785,0.04809,0.04778,0.04789,0.04782,0.04774,0.04757,0.04625,0.04761,0.04618 -0.022033166841980884,0.11889,0.08607,0.07278,0.06744,0.06414,0.0626,0.05883,0.0594,0.0565,0.05712,0.05627,0.05534,0.05255,0.05226,0.05131,0.05161,0.05117,0.04954,0.04919,0.04868,0.04944,0.04768,0.04741,0.0476,0.04746,0.04693,0.04684,0.04674,0.04698,0.04723,0.04716,0.04648,0.0464,0.04698,0.04693,0.0469,0.04611,0.04604,0.04601,0.04673 -0.018987226819420607,0.12437,0.08974,0.07454,0.06877,0.06422,0.06029,0.05834,0.0581,0.0569,0.05484,0.05381,0.05288,0.05263,0.05225,0.05143,0.04982,0.04912,0.04965,0.04922,0.04877,0.04732,0.04886,0.04852,0.04747,0.04724,0.04778,0.04763,0.04747,0.0467,0.04643,0.04633,0.04715,0.04706,0.04608,0.04605,0.046,0.0468,0.04493,0.04489,0.04583 -0.01636236791913265,0.13245,0.09076,0.07427,0.06811,0.06461,0.0618,0.05961,0.05731,0.05633,0.05571,0.0549,0.05364,0.05343,0.05137,0.05149,0.04974,0.04908,0.04897,0.04861,0.04802,0.04726,0.04673,0.04671,0.04673,0.04648,0.04593,0.04589,0.04574,0.04565,0.04564,0.04536,0.04519,0.04507,0.04509,0.04504,0.04496,0.04494,0.04483,0.04479,0.04474 -0.01410037845269871,0.14121,0.09597,0.0773,0.06955,0.06418,0.06218,0.05926,0.05821,0.05718,0.05547,0.05464,0.05381,0.05283,0.0519,0.05089,0.04959,0.0488,0.0486,0.04792,0.04729,0.04633,0.04623,0.04565,0.04586,0.04562,0.04479,0.04466,0.04446,0.04538,0.04492,0.04506,0.044,0.04391,0.04479,0.04472,0.04461,0.04407,0.04366,0.04397,0.04443 -0.012151094113758885,0.15345,0.10049,0.07832,0.07055,0.06474,0.06309,0.05944,0.05832,0.05715,0.05579,0.0549,0.05364,0.0532,0.05178,0.05096,0.049,0.04823,0.04799,0.04748,0.04695,0.04489,0.04578,0.0443,0.04556,0.04524,0.04374,0.04359,0.04344,0.0452,0.04451,0.04494,0.04312,0.04305,0.04472,0.04464,0.0446,0.04377,0.04276,0.0437,0.04436 -0.010471285480508996,0.16627,0.10404,0.0808,0.0719,0.06689,0.06394,0.06076,0.05856,0.05759,0.05667,0.0558,0.05464,0.05446,0.05212,0.0521,0.0499,0.04903,0.04902,0.04834,0.04762,0.04565,0.0459,0.04497,0.0459,0.04551,0.04434,0.04417,0.04397,0.04345,0.04452,0.04303,0.0435,0.04334,0.0427,0.04267,0.0426,0.04273,0.04304,0.04253,0.04235 -0.009023699313641428,0.17882,0.10975,0.08237,0.07216,0.06565,0.06271,0.06003,0.0578,0.05669,0.0558,0.05498,0.05399,0.05341,0.05147,0.05111,0.049,0.04812,0.04816,0.04738,0.04654,0.04575,0.04434,0.04478,0.04482,0.04455,0.04395,0.04372,0.04349,0.04212,0.0437,0.04177,0.04285,0.04273,0.04151,0.04144,0.04134,0.04229,0.04238,0.04217,0.04113 -0.007776232388523782,0.19465,0.11723,0.08555,0.07426,0.0663,0.06276,0.06044,0.05894,0.05761,0.05663,0.0556,0.05451,0.05265,0.05235,0.05023,0.04958,0.0478,0.04728,0.04583,0.04498,0.04476,0.0446,0.04372,0.04294,0.04301,0.04244,0.04246,0.04225,0.04185,0.04175,0.04155,0.04163,0.04134,0.04144,0.04116,0.04108,0.04164,0.0412,0.04152,0.04084 -0.006701219539630716,0.2114,0.1232,0.08742,0.07452,0.06799,0.06244,0.06133,0.05933,0.0571,0.0561,0.05588,0.0547,0.05263,0.05193,0.05036,0.0491,0.04831,0.04706,0.04566,0.04465,0.04409,0.04381,0.04319,0.04292,0.04227,0.04192,0.04215,0.0419,0.04251,0.04114,0.04215,0.04205,0.04115,0.04109,0.04171,0.04164,0.04129,0.04083,0.04113,0.04111 -0.0057748201281383514,0.22909,0.13354,0.0911,0.07659,0.06985,0.0646,0.06313,0.06087,0.05778,0.05674,0.05742,0.05544,0.05519,0.05277,0.05225,0.05069,0.04955,0.04831,0.04696,0.04564,0.04505,0.04506,0.044,0.04358,0.04329,0.0428,0.04256,0.04093,0.04211,0.04061,0.04171,0.04162,0.04012,0.04142,0.03993,0.04126,0.0398,0.04107,0.04106,0.03963 -0.004976489326327849,0.24742,0.14319,0.09591,0.07856,0.06947,0.06405,0.06165,0.05881,0.05876,0.05741,0.05511,0.0553,0.05299,0.05317,0.05215,0.04999,0.04746,0.04589,0.04634,0.04488,0.04419,0.04349,0.04159,0.04236,0.04205,0.0417,0.04125,0.04184,0.04069,0.04138,0.04047,0.04107,0.03991,0.03978,0.04071,0.04011,0.04056,0.03994,0.0392,0.03973 -0.004288522493433697,0.26443,0.15564,0.10126,0.08061,0.07091,0.06494,0.06284,0.06014,0.05797,0.05764,0.05588,0.05384,0.0538,0.0518,0.05185,0.04984,0.04779,0.04668,0.04514,0.04508,0.04312,0.0436,0.04202,0.04133,0.04188,0.04034,0.0412,0.04079,0.04069,0.04032,0.03928,0.04009,0.03986,0.0399,0.03964,0.0382,0.03947,0.03803,0.0396,0.03922 -0.0036956625385264927,0.2779,0.16833,0.10291,0.08372,0.07077,0.06587,0.06225,0.06011,0.05787,0.05638,0.05625,0.05407,0.05384,0.05187,0.05058,0.04973,0.0485,0.04635,0.04462,0.04437,0.04229,0.043,0.04237,0.04053,0.04012,0.03958,0.04055,0.03974,0.04002,0.03925,0.03908,0.03933,0.03803,0.03914,0.03851,0.03866,0.03835,0.03853,0.03848,0.03817 -0.003184761562887965,0.29386,0.18289,0.11267,0.08525,0.07298,0.06544,0.06173,0.05954,0.05857,0.0572,0.0554,0.05591,0.05335,0.054,0.05286,0.04983,0.04824,0.04628,0.0462,0.04364,0.04366,0.04176,0.04106,0.04031,0.04108,0.04069,0.03915,0.03986,0.03842,0.03935,0.03916,0.03928,0.03767,0.03759,0.03866,0.03915,0.03846,0.03895,0.03892,0.03711 -0.002744489278096427,0.3094,0.20271,0.12028,0.09103,0.0756,0.06809,0.06458,0.06059,0.05994,0.05885,0.05659,0.05615,0.05482,0.05415,0.05247,0.05137,0.05035,0.04728,0.04644,0.04432,0.04354,0.04203,0.04208,0.04057,0.04014,0.04036,0.039,0.03969,0.03848,0.03909,0.03797,0.0388,0.03847,0.03757,0.03841,0.03608,0.03827,0.03599,0.03813,0.03589 -0.0023650817333891625,0.31972,0.21931,0.12787,0.09409,0.07536,0.06812,0.06276,0.06118,0.05901,0.05746,0.05593,0.05531,0.05444,0.05337,0.05221,0.04991,0.04937,0.04707,0.0457,0.04429,0.04219,0.042,0.04046,0.04047,0.0395,0.03916,0.03828,0.0385,0.03813,0.03804,0.03764,0.03765,0.037,0.03745,0.03729,0.03807,0.03732,0.03798,0.03716,0.0379 -0.0020381247798099637,0.33033,0.23823,0.13739,0.09922,0.07708,0.06983,0.06387,0.06102,0.05955,0.05773,0.05752,0.05593,0.05467,0.05433,0.05288,0.05174,0.04932,0.04726,0.04655,0.04354,0.04303,0.04144,0.04001,0.03966,0.03935,0.03832,0.03812,0.03802,0.03754,0.0371,0.0374,0.03678,0.03685,0.03634,0.03646,0.03662,0.03637,0.03613,0.03612,0.03653 -0.0017563674690103848,0.33813,0.25608,0.14956,0.10483,0.07941,0.07042,0.06403,0.06189,0.05901,0.05733,0.05637,0.05567,0.05419,0.0533,0.05264,0.05132,0.04978,0.04761,0.04539,0.04388,0.04221,0.04122,0.04001,0.039,0.03858,0.03806,0.03736,0.03795,0.03727,0.03706,0.03654,0.03605,0.03634,0.03629,0.0372,0.03644,0.03618,0.03612,0.03713,0.03577 -0.0015135612484362087,0.3426,0.27163,0.16327,0.11145,0.0806,0.07302,0.06367,0.06262,0.0608,0.05953,0.05711,0.0546,0.05582,0.05539,0.05393,0.05269,0.04938,0.04908,0.04497,0.0451,0.0428,0.04051,0.03982,0.03956,0.03794,0.03857,0.03692,0.03772,0.03626,0.03688,0.03753,0.03588,0.03661,0.03658,0.03693,0.03562,0.03648,0.03708,0.03629,0.03644 diff --git a/sw/sim_results/BER_FER_DFR_20433484alist.csv b/sw/sim_results/BER_FER_DFR_20433484alist.csv deleted file mode 100644 index 588d09c..0000000 --- a/sw/sim_results/BER_FER_DFR_20433484alist.csv +++ /dev/null @@ -1,31 +0,0 @@ -,BER,FER,DFR,gamma,SNR,num_iter -0,0.24636747129130537,0.99800796812749,0.4995014955134596,0.15,2.0,502.0 -1,0.09884153262103244,1.0,0.5,0.01,1.0,501.0 -2,0.09242318974834028,0.9862204724409449,0.4965312190287413,0.05,1.0,508.0 -3,0.06423225353759794,0.9960238568588469,0.499003984063745,0.01,2.0,503.0 -4,0.2540231231935005,0.99800796812749,0.4995014955134596,0.15,1.5,502.0 -5,0.26389378106532035,1.0,0.5,0.15,1.0,501.0 -6,0.08077028027910965,0.9960238568588469,0.499003984063745,0.01,1.5,503.0 -7,0.07059382688436591,0.9524714828897338,0.4878286270691334,0.05,1.5,526.0 -8,0.23492452536570183,0.9940476190476191,0.49850746268656715,0.15,2.5,504.0 -9,0.22943307757885764,0.9901185770750988,0.49751737835153925,0.15,3.0,506.0 -10,0.049448407593653765,0.9960238568588469,0.499003984063745,0.01,2.5,503.0 -11,0.035986159169550176,0.9823529411764705,0.49554896142433236,0.01,3.0,510.0 -12,0.21934359681372548,0.978515625,0.4945705824284304,0.15,3.5,512.0 -13,0.05111670336583831,0.893048128342246,0.4717514124293785,0.05,2.0,561.0 -14,0.03348543718562694,0.7695852534562212,0.4348958333333333,0.05,2.5,651.0 -15,0.018473552211582308,0.5825581395348837,0.3681116825863336,0.05,3.0,860.0 -16,0.217842012522026,0.9579349904397706,0.4892578125,0.15,4.0,523.0 -17,0.025045234666371256,0.943502824858757,0.48546511627906974,0.01,3.5,531.0 -18,0.21451606958572902,0.9417293233082706,0.4849951597289448,0.15,4.5,532.0 -19,0.016050372448809167,0.8534923339011925,0.46047794117647056,0.01,4.0,587.0 -20,0.00958652416617577,0.7167381974248928,0.4175,0.01,4.5,699.0 -21,0.20750764844945072,0.8882978723404256,0.4704225352112676,0.15,5.0,564.0 -22,0.008160246970988659,0.3300395256916996,0.24777006937561943,0.05,3.5,1518.0 -23,0.20702979987175593,0.8623063683304647,0.4630314232902033,0.15,5.5,581.0 -24,0.005176015553900885,0.5284810126582279,0.34575569358178054,0.01,5.0,948.0 -25,0.0037574196050726896,0.17696926880960792,0.15010507355148603,0.05,4.0,2831.0 -26,0.0029004438451598405,0.35888252148997135,0.26410121244069584,0.01,5.5,1396.0 -27,0.0013667728237791931,0.07977707006369426,0.07388290812564519,0.05,4.5,6280.0 -28,0.00014901960784313725,0.0097,0.009606813905120333,0.05,5.5,10000.0 -29,0.00044901960784313725,0.0285,0.02771025765678172,0.05,5.0,10000.0 diff --git a/sw/sim_results/BER_FER_DFR_20433486alist.csv b/sw/sim_results/BER_FER_DFR_20433486alist.csv deleted file mode 100644 index 9bed480..0000000 --- a/sw/sim_results/BER_FER_DFR_20433486alist.csv +++ /dev/null @@ -1,31 +0,0 @@ -,BER,FER,DFR,gamma,SNR,num_iter -0,0.2656060428163281,1.0,0.5,0.15,1.0,501.0 -1,0.09933075026417752,1.0,0.5,0.01,1.0,501.0 -2,0.09285796833468161,0.9842829076620825,0.49603960396039604,0.05,1.0,509.0 -3,0.06336346914015108,1.0,0.5,0.01,2.0,501.0 -4,0.24230949864975931,1.0,0.5,0.15,2.0,501.0 -5,0.253788766502617,0.99800796812749,0.4995014955134596,0.15,1.5,502.0 -6,0.06868326078059307,0.9506641366223909,0.48735408560311283,0.05,1.5,527.0 -7,0.08034910571014833,1.0,0.5,0.01,1.5,501.0 -8,0.23234512928677448,0.99800796812749,0.4995014955134596,0.15,2.5,502.0 -9,0.048497505511080174,0.9881656804733728,0.49702380952380953,0.01,2.5,507.0 -10,0.04989744124600195,0.8882978723404256,0.4704225352112676,0.05,2.0,564.0 -11,0.03527321781425748,0.9709302325581395,0.49262536873156343,0.01,3.0,516.0 -12,0.22164139093137256,0.978515625,0.4945705824284304,0.15,3.5,512.0 -13,0.23182993669908908,0.9862204724409449,0.4965312190287413,0.15,3.0,508.0 -14,0.03180314679063115,0.7613981762917933,0.4317789291882556,0.05,2.5,658.0 -15,0.01802387621715353,0.5680272108843537,0.361794500723589,0.05,3.0,882.0 -16,0.02512139071129397,0.947069943289225,0.48640776699029126,0.01,3.5,529.0 -17,0.21508051889957505,0.9524714828897338,0.4878286270691334,0.15,4.0,526.0 -18,0.21364457491249858,0.9616122840690979,0.49021526418786693,0.15,4.5,521.0 -19,0.0165879615371454,0.8743455497382199,0.4664804469273743,0.01,4.0,573.0 -20,0.010068495164182614,0.7511244377811095,0.4289383561643836,0.01,4.5,667.0 -21,0.008609724082869863,0.34575569358178054,0.2569230769230769,0.05,3.5,1449.0 -22,0.21323977488618848,0.9159049360146252,0.4780534351145038,0.15,5.0,547.0 -23,0.20020204027556968,0.8462837837837838,0.4583714547118024,0.15,5.5,592.0 -24,0.0057733016870870485,0.5463467829880043,0.3533145275035261,0.01,5.0,917.0 -25,0.004002959674435812,0.1890566037735849,0.15873015873015872,0.05,4.0,2650.0 -26,0.0028677176922642256,0.36095100864553314,0.2652196929592377,0.01,5.5,1388.0 -27,0.0014134971257579337,0.08048192771084338,0.07379854188364826,0.05,4.5,6225.0 -28,0.00014019607843137255,0.00885,0.008526670632559984,0.05,5.5,20000.0 -29,0.00046364251378946394,0.028477235264025465,0.027312434345109746,0.05,5.0,17593.0 diff --git a/sw/sim_results/BER_FER_DFR_20455187alist.csv b/sw/sim_results/BER_FER_DFR_20455187alist.csv deleted file mode 100644 index 3386f50..0000000 --- a/sw/sim_results/BER_FER_DFR_20455187alist.csv +++ /dev/null @@ -1,31 +0,0 @@ -,BER,FER,DFR,gamma,SNR,num_iter -0,0.12672693828030215,1.0,0.5,0.01,1.0,501.0 -1,0.4496301514617823,1.0,0.5,0.15,2.0,501.0 -2,0.11118229470005823,0.9920792079207921,0.49801192842942343,0.05,1.5,505.0 -3,0.08747211459434073,1.0,0.5,0.01,2.0,501.0 -4,0.13200070447340612,1.0,0.5,0.05,1.0,501.0 -5,0.44625454972408124,1.0,0.5,0.15,1.0,501.0 -6,0.44436616962154124,1.0,0.5,0.15,1.5,501.0 -7,0.10764745019764393,1.0,0.5,0.01,1.5,501.0 -8,0.08641697596820755,0.9579349904397706,0.4892578125,0.05,2.0,523.0 -9,0.4383390082579938,1.0,0.5,0.15,2.5,501.0 -10,0.06696428571428571,0.9940476190476191,0.49850746268656715,0.01,2.5,504.0 -11,0.43306524206488983,1.0,0.5,0.15,3.0,501.0 -12,0.06321687888035357,0.8962432915921288,0.47264150943396227,0.05,2.5,559.0 -13,0.049638301922710834,0.9728155339805825,0.49311023622047245,0.01,3.0,515.0 -14,0.4251497005988024,1.0,0.5,0.15,3.5,501.0 -15,0.040927482103952695,0.7229437229437229,0.41959798994974873,0.05,3.0,693.0 -16,0.41951391334977106,1.0,0.5,0.15,4.0,501.0 -17,0.0338777979431337,0.9092558983666061,0.4762357414448669,0.01,3.5,551.0 -18,0.3925249941873983,0.9901185770750988,0.49751737835153925,0.15,4.5,506.0 -19,0.02079547266060896,0.8146341463414634,0.4489247311827957,0.01,4.0,615.0 -20,0.022373307775248593,0.5101832993890021,0.3378287255563048,0.05,3.5,982.0 -21,0.011007911936704506,0.6278195488721805,0.3856812933025404,0.01,4.5,798.0 -22,0.3600271791885071,0.9920792079207921,0.49801192842942343,0.15,5.0,505.0 -23,0.310473411154345,0.9747081712062257,0.4935960591133005,0.15,5.5,514.0 -24,0.0095717802539518,0.2758810572687225,0.21622788088044886,0.05,4.0,1816.0 -25,0.004614500121036069,0.38657407407407407,0.27879799666110183,0.01,5.0,1296.0 -26,0.0032538300058064227,0.11412300683371299,0.10243304027806174,0.05,4.5,4390.0 -27,0.001913352466858002,0.2054120541205412,0.1704081632653061,0.01,5.5,2439.0 -28,0.00015980392156862746,0.0085,0.00842835894893406,0.05,5.5,10000.0 -29,0.0008588235294117647,0.0355,0.034282955094157415,0.05,5.0,10000.0 diff --git a/sw/sim_results/BER_FER_DFR_40833844alist.csv b/sw/sim_results/BER_FER_DFR_40833844alist.csv deleted file mode 100644 index 39cb42a..0000000 --- a/sw/sim_results/BER_FER_DFR_40833844alist.csv +++ /dev/null @@ -1,31 +0,0 @@ -,BER,FER,DFR,gamma,SNR,num_iter -0,0.09318128448984384,1.0,0.5,0.05,1.0,501.0 -1,0.06388203984188486,1.0,0.5,0.01,2.0,501.0 -2,0.07005515924063463,0.9960238568588469,0.499003984063745,0.05,1.5,503.0 -3,0.22394916050252436,1.0,0.5,0.15,1.5,501.0 -4,0.2406265899573402,1.0,0.5,0.15,1.0,501.0 -5,0.08067198935462408,1.0,0.5,0.01,1.5,501.0 -6,0.20949277914758718,1.0,0.5,0.15,2.0,501.0 -7,0.09878282650385503,1.0,0.5,0.01,1.0,501.0 -8,0.04721928691636335,1.0,0.5,0.01,2.5,501.0 -9,0.04742887351018839,0.9823529411764705,0.49554896142433236,0.05,2.0,510.0 -10,0.19048178153496928,1.0,0.5,0.15,3.0,501.0 -11,0.19724766153966578,1.0,0.5,0.15,2.5,501.0 -12,0.03396638096356307,1.0,0.5,0.01,3.0,501.0 -13,0.028793377387787526,0.9226519337016574,0.47988505747126436,0.05,2.5,543.0 -14,0.18215529724863996,1.0,0.5,0.15,3.5,501.0 -15,0.01631975867269985,0.7707692307692308,0.43527367506516074,0.05,3.0,650.0 -16,0.024121529800038826,0.9920792079207921,0.49801192842942343,0.01,3.5,505.0 -17,0.17944013932918476,1.0,0.5,0.15,4.0,501.0 -18,0.015578507667658503,0.9747081712062257,0.4935960591133005,0.01,4.0,514.0 -19,0.17756913522381065,0.99800796812749,0.4995014955134596,0.15,4.5,502.0 -20,0.009686994063680518,0.9192660550458716,0.4789674952198853,0.01,4.5,545.0 -21,0.007932944170034427,0.5463467829880043,0.3533145275035261,0.05,3.5,917.0 -22,0.18440453870791346,0.99800796812749,0.4995014955134596,0.15,5.0,502.0 -23,0.19678423637699655,0.9881656804733728,0.49702380952380953,0.15,5.5,507.0 -24,0.005830422056463035,0.8041733547351525,0.445729537366548,0.01,5.0,623.0 -25,0.003240451026746396,0.29609929078014185,0.22845417236662108,0.05,4.0,1692.0 -26,0.003136526887982916,0.620049504950495,0.3827349121466769,0.01,5.5,808.0 -27,0.0011037773714489586,0.12661106899166036,0.11238223418573351,0.05,4.5,3957.0 -28,8.995098039215687e-05,0.0142,0.014001183198580161,0.05,5.5,10000.0 -29,0.0003431372549019608,0.0479,0.04571046855615994,0.05,5.0,10000.0 diff --git a/sw/sim_results/BER_FER_DFR_963965alist.csv b/sw/sim_results/BER_FER_DFR_963965alist.csv deleted file mode 100644 index 796a53f..0000000 --- a/sw/sim_results/BER_FER_DFR_963965alist.csv +++ /dev/null @@ -1,31 +0,0 @@ -,BER,FER,DFR,gamma,SNR,num_iter -0,0.31744393790044356,0.9862000985707245,0.4964010920824026,0.15,1.0,2029.0 -1,0.3071726624534111,0.9727758872143899,0.4928500986193294,0.15,1.5,2057.0 -2,0.0995416253716551,0.9915758176412289,0.4978850460313511,0.01,1.0,2018.0 -3,0.2865282276723739,0.9259602036094401,0.48040394325559027,0.15,2.0,2161.0 -4,0.08183361802505287,0.9765739385065886,0.49407407407407405,0.01,1.5,2049.0 -5,0.06459232182806009,0.9592521572387345,0.48960117445559087,0.01,2.0,2086.0 -6,0.0935109591056193,0.883053839364519,0.4686987104337632,0.05,1.0,2266.0 -7,0.07177798605630098,0.7896606156274665,0.44049459041731065,0.05,1.5,2534.0 -8,0.27319285923324554,0.8784021071115014,0.4671345029239766,0.15,2.5,2278.0 -9,0.04929341156619113,0.9208467556373677,0.47939626257786294,0.01,2.5,2173.0 -10,0.2392782944202612,0.7918480411555204,0.4411764705882353,0.15,3.0,2527.0 -11,0.03559614301801802,0.8450168918918919,0.4579995422293431,0.01,3.0,2368.0 -12,0.22126012990108448,0.7154093671791205,0.4164406426037972,0.15,3.5,2797.0 -13,0.05033922697368421,0.6582236842105263,0.39646615048640066,0.05,2.0,3040.0 -14,0.03327426975945017,0.5157216494845361,0.3393495658096373,0.05,2.5,3880.0 -15,0.019196118443904134,0.34751649878430013,0.2568404749612803,0.05,3.0,5758.0 -16,0.19385954554995802,0.6300377833753149,0.38521099496709255,0.15,4.0,3176.0 -17,0.02454385801317916,0.7463632972771354,0.42738146091413926,0.01,3.5,2681.0 -18,0.16325028561385008,0.5275507513841287,0.3444521258209471,0.15,4.5,3793.0 -19,0.01573297764227642,0.6100609756097561,0.3789055103200151,0.01,4.0,3280.0 -20,0.00959308745583039,0.441916961130742,0.30647878695052844,0.01,4.5,4528.0 -21,0.14340237543453072,0.46373117033603706,0.31573104979384714,0.15,5.0,4315.0 -22,0.004886458333333333,0.1121,0.10007199424046076,0.05,4.0,10000.0 -23,0.01051071741032371,0.21007874015748032,0.17274622199062012,0.05,3.5,9525.0 -24,0.002128125,0.054,0.05060286717934112,0.05,4.5,10000.0 -25,0.12758979077216656,0.40911878961357595,0.2898214026426601,0.15,5.5,4891.0 -26,0.0008333333333333334,0.0229,0.022004889975550123,0.05,5.0,10000.0 -27,0.005603177099716892,0.31472161056936143,0.23938270128005742,0.01,5.0,6358.0 -28,0.0003,0.0083,0.00813330688355485,0.05,5.5,10000.0 -29,0.0030947916666666667,0.1986,0.16569330886033706,0.01,5.5,10000.0 diff --git a/sw/sim_results/BER_FER_DFR_bch_31_11alist.csv b/sw/sim_results/BER_FER_DFR_bch_31_11alist.csv deleted file mode 100644 index 027b145..0000000 --- a/sw/sim_results/BER_FER_DFR_bch_31_11alist.csv +++ /dev/null @@ -1,31 +0,0 @@ -,BER,FER,DFR,gamma,SNR,num_iter -0,0.4593252986364363,0.9443002124144442,0.48480058365758755,0.15,1.0,4237.0 -1,0.4441881918819188,0.922739852398524,0.47897140110550346,0.15,1.5,4336.0 -2,0.4327428010848866,0.8946779964221825,0.47126980373610783,0.15,2.0,4472.0 -3,0.15057000702236698,0.9265863825845299,0.48094722923428296,0.01,1.0,4318.0 -4,0.13133021158515434,0.8962813620071685,0.47265209686946247,0.01,1.5,4464.0 -5,0.11177136389360498,0.8560119811724433,0.46121037463976944,0.01,2.0,4674.0 -6,0.14590133604683433,0.8195411716509627,0.45034902049088044,0.05,1.0,4882.0 -7,0.1241766593480831,0.7481301421091997,0.4278990158322636,0.05,1.5,5348.0 -8,0.4083740977662231,0.8485683987274656,0.45792136123246724,0.15,2.5,4715.0 -9,0.3883602795183208,0.799560351718625,0.44288577154308617,0.15,3.0,5004.0 -10,0.09025286773559794,0.7860510805500982,0.4401055989440106,0.01,2.5,5090.0 -11,0.35774570380959786,0.7418876321157055,0.42462391976955083,0.15,3.5,5393.0 -12,0.0997422998001618,0.6645075568842385,0.3992217122330872,0.05,2.0,6021.0 -13,0.07331588819674409,0.7180545585068198,0.41794630732267835,0.01,3.0,5572.0 -14,0.07996614205454478,0.576845444059977,0.3658224375971473,0.05,2.5,6936.0 -15,0.06217961599230881,0.4887016000977159,0.3282737118477191,0.05,3.0,8187.0 -16,0.3186328497017871,0.6599043377865743,0.3959350403507024,0.15,4.0,6063.0 -17,0.059244221875825356,0.6423181891154278,0.3911045943304008,0.01,3.5,6229.0 -18,0.2824240010619939,0.5880364491475603,0.3684796732875441,0.15,4.5,6804.0 -19,0.044922341696535244,0.5488340192043896,0.35435302453281375,0.01,4.0,7290.0 -20,0.03274193548387097,0.3019,0.23189185037253246,0.05,4.0,10000.0 -21,0.04605806451612903,0.391,0.28109273903666426,0.05,3.5,10000.0 -22,0.021712903225806452,0.2209,0.18093209927102957,0.05,4.5,10000.0 -23,0.032901167875700986,0.45579858737753476,0.3130917912199703,0.01,4.5,8778.0 -24,0.24905991265197377,0.5228698379508625,0.34153687290250406,0.15,5.0,7652.0 -25,0.013851612903225806,0.1559,0.1348732589324336,0.05,5.0,10000.0 -26,0.008290322580645161,0.1028,0.09321726514327167,0.05,5.5,10000.0 -27,0.20425865835295115,0.4384177076484769,0.3025068786303883,0.15,5.5,9126.0 -28,0.023106451612903225,0.3677,0.26884550705564086,0.01,5.0,10000.0 -29,0.015467741935483871,0.2789,0.21807803581202595,0.01,5.5,10000.0 diff --git a/sw/sim_results/BER_FER_DFR_bch_31_26alist.csv b/sw/sim_results/BER_FER_DFR_bch_31_26alist.csv deleted file mode 100644 index 0f7ba29..0000000 --- a/sw/sim_results/BER_FER_DFR_bch_31_26alist.csv +++ /dev/null @@ -1,31 +0,0 @@ -,BER,FER,DFR,gamma,SNR,num_iter -0,0.39489685336240515,0.8048682357674513,0.32339730502245817,0.15,1.0,4971.0 -1,0.3577840112201964,0.7248188405797101,0.2980671414038657,0.15,1.5,5520.0 -2,0.06933562585073888,0.8077932566121543,0.43179993116898013,0.01,1.0,4953.0 -3,0.31694436294569095,0.6384234881123344,0.26770273428371116,0.15,2.0,6267.0 -4,0.06956611357312172,0.710152644657437,0.36281384302194075,0.05,1.0,5634.0 -5,0.05689667449975076,0.736019131714496,0.4106678230702515,0.01,1.5,5436.0 -6,0.04561304895439736,0.6455308163923846,0.37858431922999797,0.01,2.0,6198.0 -7,0.0559084198600205,0.6083320662916223,0.3304489463504021,0.05,1.5,6577.0 -8,0.26507824305505584,0.5249967195906049,0.23476252635806807,0.15,2.5,7621.0 -9,0.04437619545695105,0.5168582870430177,0.3002802133236916,0.05,2.0,7741.0 -10,0.035212899660394516,0.5527770102238188,0.34657398212512414,0.01,2.5,7238.0 -11,0.22174276888321046,0.42713782427671615,0.1983053748716193,0.15,3.0,9367.0 -12,0.16953548387096773,0.333,0.15789473684210525,0.15,3.5,10000.0 -13,0.03293853117819351,0.40772444716192807,0.2540478905359179,0.05,2.5,9813.0 -14,0.02592082923778036,0.4433240997229917,0.2989746776448656,0.01,3.0,9025.0 -15,0.023109677419354838,0.3018,0.20178799489144317,0.05,3.0,10000.0 -16,0.12961290322580646,0.2454,0.11559211108163085,0.15,4.0,10000.0 -17,0.015158064516129032,0.2093,0.150237933378654,0.05,3.5,10000.0 -18,0.01874193548387097,0.3567,0.25556465420978186,0.01,3.5,10000.0 -19,0.0938741935483871,0.1724,0.07638311628336567,0.15,4.5,10000.0 -20,0.009425806451612903,0.1357,0.10418346322673117,0.05,4.0,10000.0 -21,0.01248709677419355,0.2566,0.1986537382803109,0.01,4.0,10000.0 -22,0.005474193548387097,0.0823,0.06489620347858613,0.05,4.5,10000.0 -23,0.00797741935483871,0.1781,0.14624775890036712,0.01,4.5,10000.0 -24,0.062477419354838706,0.1123,0.04561939301393396,0.15,5.0,10000.0 -25,0.0026064516129032256,0.0651,0.059089198343996986,0.01,5.5,10000.0 -26,0.002893548387096774,0.0442,0.035214664737095995,0.05,5.0,10000.0 -27,0.004806451612903226,0.1126,0.09763580581122541,0.01,5.0,10000.0 -28,0.0367,0.0671,0.0249609984399376,0.15,5.5,10000.0 -29,0.0014096774193548386,0.0223,0.017102417928051897,0.05,5.5,10000.0 diff --git a/sw/sim_results/BER_FER_DFR_bch_7_4alist.csv b/sw/sim_results/BER_FER_DFR_bch_7_4alist.csv deleted file mode 100644 index 3ca210d..0000000 --- a/sw/sim_results/BER_FER_DFR_bch_7_4alist.csv +++ /dev/null @@ -1,31 +0,0 @@ -,BER,FER,DFR,gamma,SNR,num_iter -0,0.05765714285714286,0.1862,0.09181727363545546,0.15,1.5,10000.0 -1,0.046,0.1496,0.0741598000185168,0.15,2.0,10000.0 -2,0.07122857142857143,0.2265,0.11260981453545124,0.15,1.0,10000.0 -3,0.06861428571428571,0.2885,0.19198448610213317,0.01,1.5,10000.0 -4,0.08325714285714286,0.3364,0.21562475488273591,0.01,1.0,10000.0 -5,0.07385714285714286,0.2451,0.13262208344175558,0.05,1.0,10000.0 -6,0.06,0.2024,0.10976586842339535,0.05,1.5,10000.0 -7,0.055971428571428575,0.2421,0.16652775462577096,0.01,2.0,10000.0 -8,0.035442857142857144,0.1157,0.06015037593984962,0.15,2.5,10000.0 -9,0.026214285714285714,0.0868,0.0447989301748018,0.15,3.0,10000.0 -10,0.019185714285714285,0.0643,0.03316252537948371,0.15,3.5,10000.0 -11,0.03702857142857143,0.1268,0.07261430028748957,0.05,2.5,10000.0 -12,0.04687142857142857,0.1591,0.09090909090909091,0.05,2.0,10000.0 -13,0.04367142857142857,0.1955,0.1409672708530195,0.01,2.5,10000.0 -14,0.03451428571428571,0.1611,0.12072452299305372,0.01,3.0,10000.0 -15,0.027357142857142858,0.0953,0.054373522458628844,0.05,3.0,10000.0 -16,0.021057142857142858,0.0739,0.04269576871529772,0.05,3.5,10000.0 -17,0.013957142857142857,0.0469,0.0249609984399376,0.15,4.0,10000.0 -18,0.027785714285714285,0.1316,0.10088113648624349,0.01,3.5,10000.0 -19,0.020271428571428572,0.0996,0.07927446828100543,0.01,4.0,10000.0 -20,0.014685714285714286,0.0522,0.030725986236309004,0.05,4.0,10000.0 -21,0.013985714285714285,0.0708,0.05793688177107866,0.01,4.5,10000.0 -22,0.009257142857142858,0.0313,0.01603857128800551,0.15,4.5,10000.0 -23,0.0098,0.0351,0.0199921599372795,0.05,4.5,10000.0 -24,0.004957142857142857,0.0276,0.023055881203595155,0.01,5.5,10000.0 -25,0.004714285714285714,0.0171,0.007542675664946407,0.05,5.0,10000.0 -26,0.004714285714285714,0.0163,0.0065567256109676135,0.15,5.0,10000.0 -27,0.008071428571428571,0.0439,0.03651604200790057,0.01,5.0,10000.0 -28,0.0026714285714285716,0.0093,0.003686360466274783,0.15,5.5,10000.0 -29,0.0027285714285714287,0.0099,0.004380724810832338,0.05,5.5,10000.0 From 4c5e80c56e42b832387e261d56561e11c248f8eb Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 5 Dec 2022 15:11:57 +0100 Subject: [PATCH 47/54] Cleaned up simulate_2d_BER.py --- sw/simulate_2d_BER.py | 72 ++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 42 deletions(-) diff --git a/sw/simulate_2d_BER.py b/sw/simulate_2d_BER.py index f2f9682..44c2c7d 100644 --- a/sw/simulate_2d_BER.py +++ b/sw/simulate_2d_BER.py @@ -1,14 +1,8 @@ -import typing - import numpy as np -import pandas as pd import seaborn as sns import matplotlib.pyplot as plt import signal from timeit import default_timer -from tqdm import tqdm -from dataclasses import dataclass -from types import MappingProxyType from utility import codes, noise, misc from utility.simulation.simulators import GenericMultithreadedSimulator @@ -16,10 +10,6 @@ from utility.simulation.simulators import GenericMultithreadedSimulator from cpp_modules.cpp_decoders import ProximalDecoder_204_102 as ProximalDecoder -def count_bit_errors(d: np.array, d_hat: np.array) -> int: - return np.sum(d != d_hat) - - def task_func(params): """Function called by the GenericMultithreadedSimulator instance. @@ -46,7 +36,7 @@ def task_func(params): x = noise.add_awgn(x_bpsk, SNR, n, k) x_hat, k_max = decoder.decode(x) - bit_errors = count_bit_errors(x_hat, c) + bit_errors = misc.count_bit_errors(x_hat, c) if bit_errors > 0: total_bit_errors += bit_errors total_frame_errors += 1 @@ -67,16 +57,30 @@ def task_func(params): "num_iterations": num_iterations} -def simulate(H_file, SNRs, max_iterations, omega, K, gammas): - sim = GenericMultithreadedSimulator() +def get_params(): + # Define global simulation parameters - # Define fixed simulation params + # H_file = "BCH_7_4.alist" + # H_file = "BCH_31_11.alist" + # H_file = "BCH_31_26.alist" + # H_file = "96.3.965.alist" + H_file = "204.33.486.alist" + # H_file = "204.33.484.alist" + # H_file = "204.55.187.alist" + # H_file = "408.33.844.alist" H = codes.read_alist_file(f"res/{H_file}") n_min_k, n = H.shape k = n - n_min_k - # Define params different for each task + omega = 0.05 + K = 100 + gammas = np.arange(0.0, 0.17, 0.01) + + SNRs = np.arange(1, 6, 0.5) + max_iterations = 20000 + + # Define parameters different for each task task_params = [] for i, SNR in enumerate(SNRs): @@ -88,45 +92,29 @@ def simulate(H_file, SNRs, max_iterations, omega, K, gammas): {"decoder": decoder, "max_iterations": max_iterations, "SNR": SNR, "gamma": gamma, "n": n, "k": k}) - # Set up simulation - - sim.task_params = task_params - sim.task_func = task_func - - sim.start_or_continue() - - return sim.current_results + return task_params def main(): - # Set up simulation params - sim_name = "2d_BER_FER_DFR" - # H_file = "BCH_7_4.alist" - # H_file = "BCH_31_11.alist" - # H_file = "BCH_31_26.alist" - # H_file = "96.3.965.alist" - H_file = "204.33.486.alist" - # H_file = "204.33.484.alist" - # H_file = "204.55.187.alist" - # H_file = "408.33.844.alist" - - SNRs = np.arange(1, 6, 0.5) - max_iterations = 20000 - omega = 0.05 - K = 100 - gammas = np.arange(0.0, 0.17, 0.01) - # Run simulation + sim = GenericMultithreadedSimulator() + + sim.task_params = get_params() + sim.task_func = task_func + start_time = default_timer() - results = simulate(H_file, SNRs, max_iterations, omega, K, gammas) + sim.start_or_continue() end_time = default_timer() + # Show results + print(f"duration: {end_time - start_time}") - df = misc.pgf_reformat_data_3d(results=results, x_param_name="SNR", + df = misc.pgf_reformat_data_3d(results=sim.current_results, + x_param_name="SNR", y_param_name="gamma", z_param_names=["BER", "FER", "DFR", "num_iterations"]) From 96fcf0dd11bc5f64ccc27efa9ac32ce3ece4f36e Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 5 Dec 2022 16:25:47 +0100 Subject: [PATCH 48/54] Changed the way data formatting is handled for the simulation API to be able to properly use the SimulationManager with the GenericMultithreadedSimulator --- sw/simulate_2d_BER.py | 71 +++++++++++++++++------------ sw/utility/misc.py | 5 ++ sw/utility/simulation/management.py | 20 ++++---- sw/utility/simulation/simulators.py | 21 +++++++-- 4 files changed, 72 insertions(+), 45 deletions(-) diff --git a/sw/simulate_2d_BER.py b/sw/simulate_2d_BER.py index 44c2c7d..e28cc20 100644 --- a/sw/simulate_2d_BER.py +++ b/sw/simulate_2d_BER.py @@ -3,9 +3,11 @@ import seaborn as sns import matplotlib.pyplot as plt import signal from timeit import default_timer +from functools import partial from utility import codes, noise, misc from utility.simulation.simulators import GenericMultithreadedSimulator +from utility.simulation import SimulationManager from cpp_modules.cpp_decoders import ProximalDecoder_204_102 as ProximalDecoder @@ -57,19 +59,12 @@ def task_func(params): "num_iterations": num_iterations} -def get_params(): +def get_params(code_name: str): # Define global simulation parameters - # H_file = "BCH_7_4.alist" - # H_file = "BCH_31_11.alist" - # H_file = "BCH_31_26.alist" - # H_file = "96.3.965.alist" - H_file = "204.33.486.alist" - # H_file = "204.33.484.alist" - # H_file = "204.55.187.alist" - # H_file = "408.33.844.alist" + H_file = f"res/{code_name}.alist" - H = codes.read_alist_file(f"res/{H_file}") + H = codes.read_alist_file(H_file) n_min_k, n = H.shape k = n - n_min_k @@ -95,35 +90,51 @@ def get_params(): return task_params +def configure_new_simulation(sim_mgr: SimulationManager, code_name: str, + sim_name: str) -> None: + sim = GenericMultithreadedSimulator() + + sim.task_params = get_params(code_name) + sim.task_func = task_func + sim.format_func = partial(misc.pgf_reformat_data_3d, x_param_name="SNR", + y_param_name="gamma", + z_param_names=["BER", "FER", "DFR", + "num_iterations"]) + + sim_mgr.configure_simulation(simulator=sim, name=sim_name) + + def main(): - sim_name = "2d_BER_FER_DFR" + # code_name = "BCH_7_4" + # code_name = "BCH_31_11" + # code_name = "BCH_31_26" + # code_name = "96.3.965" + # code_name = "204.33.486" + code_name = "204.33.484" + # code_name = "204.55.187" + # code_name = "408.33.844" + + sim_name = f"2d_BER_FER_DFR_{misc.slugify(code_name)}" # Run simulation - sim = GenericMultithreadedSimulator() + sim_mgr = SimulationManager(saves_dir="sim_saves", + results_dir="sim_results") - sim.task_params = get_params() - sim.task_func = task_func + unfinished_sims = sim_mgr.get_unfinished() + if len(unfinished_sims) > 0: + sim_mgr.load_unfinished(unfinished_sims[0]) + else: + configure_new_simulation(sim_mgr=sim_mgr, code_name=code_name, + sim_name=sim_name) - start_time = default_timer() - sim.start_or_continue() - end_time = default_timer() + sim_mgr.simulate() - # Show results - - print(f"duration: {end_time - start_time}") - - df = misc.pgf_reformat_data_3d(results=sim.current_results, - x_param_name="SNR", - y_param_name="gamma", - z_param_names=["BER", "FER", "DFR", - "num_iterations"]) - - # df.sort_values(by=["gamma", "SNR"]).to_csv( - # f"sim_results/{sim_name}_{misc.slugify(H_file)}.csv", index=False) + # Plot results sns.set_theme() - ax = sns.lineplot(data=df, x="SNR", y="BER", hue="gamma") + ax = sns.lineplot(data=sim_mgr.get_current_results(), x="SNR", y="BER", + hue="gamma") ax.set_yscale('log') ax.set_ylim((5e-5, 2e-0)) plt.show() diff --git a/sw/utility/misc.py b/sw/utility/misc.py index 401c2d9..6619015 100644 --- a/sw/utility/misc.py +++ b/sw/utility/misc.py @@ -65,3 +65,8 @@ def pgf_reformat_data_3d(results: typing.Sequence, x_param_name: str, df[z_param_name] = zs[z_param_name] return df.sort_values(by=[x_param_name, y_param_name]) + + +def count_bit_errors(x: np.array, x_hat: np.array) -> int: + """Count the number of different bits between two words.""" + return np.sum(x != x_hat) diff --git a/sw/utility/simulation/management.py b/sw/utility/simulation/management.py index 4fc5992..f325929 100644 --- a/sw/utility/simulation/management.py +++ b/sw/utility/simulation/management.py @@ -120,16 +120,9 @@ class SimulationDeSerializer: # Save metadata self._save_metadata(sim_name, metadata) - # Save results - data = {} - for key, value in simulator.get_current_results().items(): - if not isinstance(value, collections.abc.Sequence): - value = [value] - - data[misc.slugify(key)] = value - - df = pd.DataFrame(data) - df.to_csv(self._get_results_path(sim_name)) + # Save current results + simulator.current_results.to_csv(self._get_results_path(sim_name), + index=False) def read_results(self, sim_name: str) -> typing.Tuple[ pd.DataFrame, typing.Dict]: @@ -180,13 +173,13 @@ class SimulationManager: self._metadata is not None) def configure_simulation(self, simulator: typing.Any, name: str, - column_labels: typing.Sequence[str]) -> None: + additional_metadata: dict = {}) -> None: """Configure a new simulation.""" self._simulator = simulator self._sim_name = name self._metadata["name"] = name - self._metadata["labels"] = column_labels self._metadata["platform"] = platform.platform() + self._metadata.update(additional_metadata) def get_unfinished(self) -> typing.List[str]: """Get a list of names of all present unfinished simulations.""" @@ -241,3 +234,6 @@ class SimulationManager: self._metadata) except KeyboardInterrupt: self._exit_gracefully() + + def get_current_results(self) -> pd.DataFrame: + return self._simulator.current_results diff --git a/sw/utility/simulation/simulators.py b/sw/utility/simulation/simulators.py index cc98501..363afe4 100644 --- a/sw/utility/simulation/simulators.py +++ b/sw/utility/simulation/simulators.py @@ -8,8 +8,10 @@ from multiprocessing import Lock from utility import noise + # TODO: Fix ProximalDecoder_Dynamic -# from cpp_modules.cpp_decoders import ProximalDecoder_Dynamic as ProximalDecoder +# from cpp_modules.cpp_decoders import ProximalDecoder_Dynamic as +# ProximalDecoder def count_bit_errors(d: np.array, d_hat: np.array) -> int: @@ -279,6 +281,7 @@ class HashableDict: class GenericMultithreadedSimulator: def __init__(self, max_workers=8): + self._format_func = None self._task_func = None self._task_params = None self._max_workers = max_workers @@ -303,7 +306,19 @@ class GenericMultithreadedSimulator: def task_func(self, func): self._task_func = func + @property + def format_func(self): + return self._format_func + + @format_func.setter + def format_func(self, func): + self._format_func = func + def start_or_continue(self): + assert self._task_func is not None + assert self._task_params is not None + assert self._format_func is not None + self._executor = ProcessPoolExecutor(max_workers=self._max_workers) with tqdm(total=(len(self._task_params)), leave=False) as pbar: @@ -330,11 +345,11 @@ class GenericMultithreadedSimulator: def stop(self): assert self._executor is not None, "The simulation has to be started" \ " before it can be stopped" - self._executor.shutdown(wait=False, cancel_futures=True) + self._executor.shutdown(wait=True, cancel_futures=True) @property def current_results(self): - return self._results + return self._format_func(self._results) def __getstate__(self): state = self.__dict__.copy() From a3a29d9b0ebda75412406f195520d35a2ef281ae Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 5 Dec 2022 16:27:12 +0100 Subject: [PATCH 49/54] Deleted main.py --- sw/main.py | 73 ------------------------------------------------------ 1 file changed, 73 deletions(-) delete mode 100644 sw/main.py diff --git a/sw/main.py b/sw/main.py deleted file mode 100644 index 1ba512f..0000000 --- a/sw/main.py +++ /dev/null @@ -1,73 +0,0 @@ -import numpy as np - -from decoders import proximal, maximum_likelihood -from cpp_modules import cpp_decoders -from utility import codes -from utility.simulation import SimulationManager -from utility.simulation.simulators import ProximalDecoderSimulator - - -def start_new_simulation(sim_mgr: SimulationManager): - sim_name = "test" - - # H = codes.Gs["Hamming_7_4"] - # H = codes.read_alist_file("res/204.3.486.alist") - # H = codes.read_alist_file("res/204.55.187.alist") - H = codes.read_alist_file("res/96.3.965.alist") - # H = codes.read_alist_file("res/408.33.844.alist") - # H = codes.read_alist_file("res/PEGReg252x504.alist") - # H = codes.read_alist_file("res/999.111.3.5543.alist") - # H = codes.read_alist_file("res/999.111.3.5565.alist") - # H = codes.read_alist_file("res/816.1A4.845.alist") - n_min_k, n = H.shape - k = n - n_min_k - - decoders = [ - cpp_decoders.ProximalDecoder(H.astype('int32'), gamma=0.01, K=1000, - omega=1e-4, eta=1.5), - cpp_decoders.ProximalDecoder(H.astype('int32'), gamma=0.05, K=1000, - omega=5 * 1e-5, eta=1.5), - cpp_decoders.ProximalDecoder(H.astype('int32'), gamma=0.15, K=1000, - omega=1e-4, eta=1.5) - ] - - labels = [ - "proximal $\\gamma = 0.01$", - "proximal $\\gamma = 0.05$", - "proximal $\\gamma = 0.15$" - ] - - sim = ProximalDecoderSimulator(n=n, k=k, decoders=decoders, - target_frame_errors=100, - SNRs=np.arange(1, 6, 0.5), - max_num_iterations=3000) - - sim_mgr.configure_simulation(simulator=sim, name=sim_name, - column_labels=labels) - sim_mgr.simulate() - - -def main(): - # Perform necessary initialization - - results_dir = "sim_results" - saves_dir = "sim_saves" - - sim_mgr = SimulationManager(results_dir=results_dir, - saves_dir=saves_dir) - - # Calculate BERs - - unfinished_sims = sim_mgr.get_unfinished() - - if len(unfinished_sims) > 0: - print("Found unfinished simulation. Picking up where it was left of") - - sim_mgr.load_unfinished(unfinished_sims[0]) - sim_mgr.simulate() - else: - start_new_simulation(sim_mgr) - - -if __name__ == "__main__": - main() From 56e0b1def60c5c17aeb26a40536603fb335526ff Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 5 Dec 2022 16:42:37 +0100 Subject: [PATCH 50/54] Added omega and K as metadata --- sw/simulate_2d_BER.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sw/simulate_2d_BER.py b/sw/simulate_2d_BER.py index e28cc20..b83e7d2 100644 --- a/sw/simulate_2d_BER.py +++ b/sw/simulate_2d_BER.py @@ -60,6 +60,7 @@ def task_func(params): def get_params(code_name: str): + """In this function all parameters for the simulation are defined.""" # Define global simulation parameters H_file = f"res/{code_name}.alist" @@ -87,21 +88,24 @@ def get_params(code_name: str): {"decoder": decoder, "max_iterations": max_iterations, "SNR": SNR, "gamma": gamma, "n": n, "k": k}) - return task_params + return omega, K, task_params def configure_new_simulation(sim_mgr: SimulationManager, code_name: str, sim_name: str) -> None: sim = GenericMultithreadedSimulator() - sim.task_params = get_params(code_name) + omega, K, task_params = get_params(code_name) + + sim.task_params = task_params sim.task_func = task_func sim.format_func = partial(misc.pgf_reformat_data_3d, x_param_name="SNR", y_param_name="gamma", z_param_names=["BER", "FER", "DFR", "num_iterations"]) - sim_mgr.configure_simulation(simulator=sim, name=sim_name) + sim_mgr.configure_simulation(simulator=sim, name=sim_name, + additional_metadata={"omega": omega, "K": K}) def main(): From f8503e4f0a04212f27c23863d2bc344a684aff19 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 5 Dec 2022 16:43:49 +0100 Subject: [PATCH 51/54] Deleted plot_heatmaps.py --- sw/plot_heatmaps.py | 79 --------------------------------------------- 1 file changed, 79 deletions(-) delete mode 100644 sw/plot_heatmaps.py diff --git a/sw/plot_heatmaps.py b/sw/plot_heatmaps.py deleted file mode 100644 index ead72ea..0000000 --- a/sw/plot_heatmaps.py +++ /dev/null @@ -1,79 +0,0 @@ -from itertools import chain -import seaborn as sns -import matplotlib.pyplot as plt -import pandas as pd -import numpy as np -from matplotlib.ticker import FormatStrFormatter - - -def format_yticks(previous_yticks): - result = [] - - for tick in previous_yticks: - result.append(f"{float(tick.get_text()):.2e}") - - return result - - -def main(): - sns.set_theme() - - # titles = [ - # "$n=7$, $m=4$", - # "$n=31$, $m=20$", - # "$n=31$, $m=5$", - # "$n=96$, $m=48$", - # "$n=204$, $m=102$", - # "$n=408$, $m=204$", - # ] - # - # filenames = [ - # "sim_results/2d_dec_fails_w_log_k_lin_bch_7_4alist.csv", - # "sim_results/2d_dec_fails_w_log_k_lin_bch_31_11alist.csv", - # "sim_results/2d_dec_fails_w_log_k_lin_bch_31_26alist.csv", - # "sim_results/2d_dec_fails_w_log_k_lin_963965alist.csv", - # "sim_results/2d_dec_fails_w_log_k_lin_20433486alist.csv", - # "sim_results/2d_dec_fails_w_log_k_lin_40833844alist.csv", - # ] - - titles = [ - "$n=7$, $m=4$", - "$n=31$, $m=20$", - "$n=31$, $m=5$", - "$n=96$, $m=48$" - ] - - filenames = [ - "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_7_4alist.csv", - "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_11alist.csv", - "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_bch_31_26alist.csv", - "sim_results/2d_dec_fails_w_log_k_lin_zoomed_in_963965alist.csv", - ] - - - fig, axes = plt.subplots(2, 2, squeeze=False) - - fig.suptitle("SNR = 3dB") - - fig.subplots_adjust(left=0.1, - bottom=0.1, - right=0.9, - top=0.9, - wspace=0.3, - hspace=0.4) - - axes = list(chain.from_iterable(axes))[ - :len(filenames)] # Flatten the 2d axes array - - for axis, title, filename in zip(axes, titles, filenames): - df = pd.read_csv(filename, index_col=0) - - sns.heatmap(ax=axis, data=df) - axis.set_yticklabels(format_yticks(axis.get_yticklabels())) - axis.set_title(title) - - plt.show() - - -if __name__ == "__main__": - main() From c1145bcbb1de04d2fe91c0dd8e7b6cd066eff884 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 5 Dec 2022 16:44:58 +0100 Subject: [PATCH 52/54] Deleted simulate_2d_dec_fails.py --- sw/simulate_2d_dec_fails.py | 106 ------------------------------------ 1 file changed, 106 deletions(-) delete mode 100644 sw/simulate_2d_dec_fails.py diff --git a/sw/simulate_2d_dec_fails.py b/sw/simulate_2d_dec_fails.py deleted file mode 100644 index 651373f..0000000 --- a/sw/simulate_2d_dec_fails.py +++ /dev/null @@ -1,106 +0,0 @@ -import numpy as np -import pandas as pd -import seaborn as sns -import matplotlib.pyplot as plt -import signal -from timeit import default_timer - -from utility import codes, noise, misc -from utility.simulation.simulators import GenericMultithreadedSimulator - -# from cpp_modules.cpp_decoders import ProximalDecoder -from cpp_modules.cpp_decoders import ProximalDecoder_31_5 as ProximalDecoder - - -def task_func(params): - signal.signal(signal.SIGINT, signal.SIG_IGN) - - decoder, num_iterations, x_bpsk, SNR, n, k = params - - dec_fails = 0 - - for i in range(num_iterations): - x = noise.add_awgn(x_bpsk, SNR, n, k) - x_hat, num_iter = decoder.decode(x) - - if num_iter == -1: - dec_fails += 1 - - return dec_fails / num_iterations - - -def simulate(H_file, SNR, num_iterations, omegas, Ks): - sim = GenericMultithreadedSimulator() - - # Define fixed simulation params - - H = codes.read_alist_file(f"res/{H_file}") - n_min_k, n = H.shape - k = n - n_min_k - - x_bpsk = np.zeros(n) + 1 - - # Define params different for each task - - params = {} - for i, omega in enumerate(omegas): - for j, K in enumerate(Ks): - decoder = ProximalDecoder(H=H.astype('int32'), K=K.astype('int32'), - omega=omega) - params[f"{i}_{j}"] = (decoder, num_iterations, x_bpsk, SNR, n, k) - - # Set up simulation - - sim.task_params = params - sim.task_func = task_func - - sim.start_or_continue() - - return sim.get_current_results() - - -def reformat_data(results, omegas, Ks): - data = np.zeros(1600).reshape(40, 40) - - for key, value in results.items(): - i_w, i_k = key.split('_') - data[int(i_w), int(i_k)] = value - - return pd.DataFrame(data, columns=Ks, index=omegas) - - -def main(): - # Set up simulation params - - sim_name = "w_log_k_lin_zoomed_in" - - # H_file = "96.3.965.alist" - # H_file = "204.33.486.alist" - # H_file = "408.33.844.alist" - H_file = "BCH_31_26.alist" - SNR = 3 - - num_iterations = 1000 - omegas = np.logspace(-0.3, -2.82, 40) - Ks = np.ceil(np.linspace(10 ** 1.3, 10 ** 2.3, 40)).astype('int32') - - # Run simulation - - start_time = default_timer() - results = simulate(H_file, SNR, num_iterations, omegas, Ks) - end_time = default_timer() - - print(f"duration: {end_time - start_time}") - - df = reformat_data(results, omegas, Ks) - - df.to_csv( - f"sim_results/2d_dec_fails_{sim_name}_{misc.slugify(H_file)}.csv") - - sns.set_theme() - sns.heatmap(df) - plt.show() - - -if __name__ == "__main__": - main() From 765ba8877386011c029cd7dcb9577fd8063b8870 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Wed, 7 Dec 2022 14:09:12 +0100 Subject: [PATCH 53/54] Added simulate_2d_avg_error.py --- sw/simulate_2d_avg_error.py | 144 ++++++++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 sw/simulate_2d_avg_error.py diff --git a/sw/simulate_2d_avg_error.py b/sw/simulate_2d_avg_error.py new file mode 100644 index 0000000..7b3b6a4 --- /dev/null +++ b/sw/simulate_2d_avg_error.py @@ -0,0 +1,144 @@ +import numpy as np +import seaborn as sns +import matplotlib.pyplot as plt +import signal +from timeit import default_timer +from functools import partial +import pandas as pd + +from utility import codes, noise, misc +from utility.simulation.simulators import GenericMultithreadedSimulator +from utility.simulation import SimulationManager + +from cpp_modules.cpp_decoders import ProximalDecoder_204_102 as ProximalDecoder + + +def task_func(params): + """Function called by the GenericMultithreadedSimulator instance. + + Calculate the average error over a number of iterations. + """ + signal.signal(signal.SIGINT, signal.SIG_IGN) + + decoder = params["decoder"] + num_iterations = params["num_iterations"] + x_bpsk = params["x_bpsk"] + SNR = params["SNR"] + n = params["n"] + k = params["k"] + K = params["K"] + + avg_error_values = np.zeros(K) + + for i in range(num_iterations): + x = noise.add_awgn(x_bpsk, SNR, n, k) + + error_values = decoder.get_error_values(x_bpsk.astype('int32'), x) + + for j, val in enumerate(error_values): + avg_error_values[j] += val + + avg_error_values = avg_error_values / num_iterations + + return {"err": avg_error_values} + + +def get_params(code_name: str): + """In this function all parameters for the simulation are defined.""" + # Define global simulation parameters + + H_file = f"res/{code_name}.alist" + H = codes.read_alist_file(H_file) + n_min_k, n = H.shape + k = n - n_min_k + + SNR = 8 + omegas = np.logspace(-0, -10, 40) + K = 200 + + num_iterations = 1000 + x_bpsk = np.zeros(n) + 1 + + # Define parameters different for each task + + task_params = [] + for i, omega in enumerate(omegas): + decoder = ProximalDecoder(H=H.astype('int32'), K=K, + omega=omega) + task_params.append( + {"decoder": decoder, "num_iterations": num_iterations, + "x_bpsk": x_bpsk, "SNR": SNR, "n": n, "k": k, "K": K, + "omega": omega}) + + return SNR, K, task_params + + +def reformat_data(results): + """Reformat the data obtained from the GenericMultithreadedSimulator to + be usable by pgfplots. + """ + K = 200 + num_points = len(results) * K + + x = np.zeros(num_points) + y = np.zeros(num_points) + z = np.zeros(num_points) + + for i, (params, result) in enumerate(results.items()): + np.put(x, np.arange(i * K, (i + 1) * K), np.arange(1, K+1)) + np.put(y, np.arange(i * K, (i + 1) * K), params["omega"]) + np.put(z, np.arange(i * K, (i + 1) * K), result["err"]) + + x = x[::4] + y = y[::4] + z = z[::4] + + df = pd.DataFrame({"k": x, "omega": y, "err": z}).sort_values( + by=['k', 'omega'], ascending=[True, False]) + + return df + + +def configure_new_simulation(sim_mgr: SimulationManager, code_name: str, + sim_name: str) -> None: + sim = GenericMultithreadedSimulator() + + SNR, K, task_params = get_params(code_name) + + sim.task_params = task_params + sim.task_func = task_func + sim.format_func = reformat_data + + sim_mgr.configure_simulation(simulator=sim, name=sim_name, + additional_metadata={"SNR": SNR, "K": K}) + + +def main(): + # code_name = "BCH_7_4" + # code_name = "BCH_31_11" + # code_name = "BCH_31_26" + # code_name = "96.3.965" + # code_name = "204.33.486" + code_name = "204.33.484" + # code_name = "204.55.187" + # code_name = "408.33.844" + + sim_name = f"2d_avg_error_{misc.slugify(code_name)}" + + # Run simulation + + sim_mgr = SimulationManager(saves_dir="sim_saves", + results_dir="sim_results") + + unfinished_sims = sim_mgr.get_unfinished() + if len(unfinished_sims) > 0: + sim_mgr.load_unfinished(unfinished_sims[0]) + else: + configure_new_simulation(sim_mgr=sim_mgr, code_name=code_name, + sim_name=sim_name) + + sim_mgr.simulate() + + +if __name__ == "__main__": + main() From 4736061ada26ad2d62577c229d6fe1be0c0ffa3b Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Wed, 7 Dec 2022 14:13:14 +0100 Subject: [PATCH 54/54] Added simulate_gradient.py --- sw/simulate_gradient.py | 85 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 sw/simulate_gradient.py diff --git a/sw/simulate_gradient.py b/sw/simulate_gradient.py new file mode 100644 index 0000000..76b0d9b --- /dev/null +++ b/sw/simulate_gradient.py @@ -0,0 +1,85 @@ +import numpy as np +import pandas as pd +import seaborn as sns +import matplotlib.pyplot as plt +import signal +from timeit import default_timer +from tqdm import tqdm + +from utility import codes, noise, misc +from utility.simulation.simulators import GenericMultithreadedSimulator + +# from cpp_modules.cpp_decoders import ProximalDecoder +from cpp_modules.cpp_decoders import ProximalDecoder_204_102 as ProximalDecoder + + +def simulate(H_file, SNR, omega, K, gamma): + H = codes.read_alist_file(f"res/{H_file}") + n_min_k, n = H.shape + k = n - n_min_k + + decoder = ProximalDecoder(H.astype('int32'), K=K, omega=omega, gamma=gamma) + + c = np.zeros(n) + x_bpsk = (c + 1) + + avg_grad_values = np.zeros(shape=(K, 2)) + + for i in range(1000): + x = noise.add_awgn(x_bpsk, SNR, n, k) + grad_values = decoder.get_gradient_values(x) + + for j, (val_h, val_l) in enumerate(grad_values): + avg_grad_values[j, 0] += val_h + avg_grad_values[j, 1] += val_l + + avg_grad_values = avg_grad_values / 1000 + + return avg_grad_values + + +def reformat_data(results): + return pd.DataFrame({"k": np.arange(0, results.size // 2, 1), "grad_h": results[:, 0], "grad_l": results[:, 1]}) + + +def main(): + # Set up simulation params + + sim_name = "avg_grad_1dB" + + # H_file = "96.3.965.alist" + H_file = "204.33.486.alist" + # H_file = "204.33.484.alist" + # H_file = "204.55.187.alist" + # H_file = "408.33.844.alist" + # H_file = "BCH_7_4.alist" + # H_file = "BCH_31_11.alist" + # H_file = "BCH_31_26.alist" + + SNR = 1 + omega = 0.05 + K = 100 + gamma = 0.05 + + # Run simulation + + start_time = default_timer() + results = simulate(H_file, SNR, omega, K, gamma) + end_time = default_timer() + + print(f"duration: {end_time - start_time}") + + df = reformat_data(results) + + df.to_csv( + f"sim_results/{sim_name}_{misc.slugify(H_file)}.csv", index=False) + + sns.set_theme() + sns.lineplot(data=df, x="k", y="grad_h") + sns.lineplot(data=df, x="k", y="grad_l") + + plt.show() + + +if __name__ == "__main__": + main()