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()