diff options
Diffstat (limited to 'dpd')
-rwxr-xr-x | dpd/main.py | 18 | ||||
-rw-r--r-- | dpd/src/Symbol_align.py | 3 |
2 files changed, 19 insertions, 2 deletions
diff --git a/dpd/main.py b/dpd/main.py index 528f59c..208a4ff 100755 --- a/dpd/main.py +++ b/dpd/main.py @@ -162,9 +162,25 @@ while i < num_iter: # Adapt elif state == "adapt": adapt.set_coefs(coefs_am, coefs_pm) - state = "measure" + state = "report" i += 1 + # Report + elif state == "report": + try: + off = SA.calc_offset(txframe_aligned) + tx_mer = MER.calc_mer(txframe_aligned[off:off+c.T_U], debug=True) + rx_mer = MER.calc_mer(rxframe_aligned[off:off+c.T_U], debug=True) + mse = np.mean(np.abs((txframe_aligned - rxframe_aligned)**2)) + logging.info("It {}: TX_MER {}, RX_MER {}," \ + " MSE {}, coefs_am {}, coefs_pm {}". + format(i, tx_mer, rx_mer, mse, coefs_am, coefs_pm)) + state = "measure" + except: + logging.warning("Iteration {}: Report failed.".format(i)) + logging.warning(traceback.format_exc()) + state = "measure" + except Exception as e: logging.warning("Iteration {} failed.".format(i)) logging.warning(traceback.format_exc()) diff --git a/dpd/src/Symbol_align.py b/dpd/src/Symbol_align.py index 05a9049..6c814a8 100644 --- a/dpd/src/Symbol_align.py +++ b/dpd/src/Symbol_align.py @@ -147,7 +147,8 @@ class Symbol_align: delta_sample_int = np.round(delta_sample).astype(int) error = np.abs(delta_sample_int - delta_sample) if error > 0.1: - raise RuntimeError("Could not calculate sample offset") + raise RuntimeError("Could not calculate " \ + "sample offset. Error {}".format(error)) return delta_sample_int def calc_offset(self, tx): |