summaryrefslogtreecommitdiffstats
path: root/dpd/src/Heuristics.py
diff options
context:
space:
mode:
authorandreas128 <Andreas>2017-09-27 20:59:17 +0200
committerandreas128 <Andreas>2017-09-27 20:59:17 +0200
commit9954be2a2d94c6d7ebed8b36364d02e97084b9f2 (patch)
tree2173908a9b3103eaff8d42812accd167312232d8 /dpd/src/Heuristics.py
parent071088f747f5629f60b01017bdcff5161efb7ba5 (diff)
downloaddabmod-9954be2a2d94c6d7ebed8b36364d02e97084b9f2.tar.gz
dabmod-9954be2a2d94c6d7ebed8b36364d02e97084b9f2.tar.bz2
dabmod-9954be2a2d94c6d7ebed8b36364d02e97084b9f2.zip
Change fixed learning rate and number of measurements to heuristic
Diffstat (limited to 'dpd/src/Heuristics.py')
-rw-r--r--dpd/src/Heuristics.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/dpd/src/Heuristics.py b/dpd/src/Heuristics.py
new file mode 100644
index 0000000..b6ec37f
--- /dev/null
+++ b/dpd/src/Heuristics.py
@@ -0,0 +1,28 @@
+# -*- coding: utf-8 -*-
+#
+# DPD Calculation Engine, heuristics we use to tune the parameters
+#
+# http://www.opendigitalradio.org
+# Licence: The MIT License, see notice at the end of this file
+
+import numpy as np
+
+def get_learning_rate(idx_run):
+ idx_max = 10.0
+ lr_min = 0.05
+ lr_max = 1
+ lr_delta = lr_max - lr_min
+ idx_run = min(idx_run, idx_max)
+ learning_rate = lr_max - lr_delta * idx_run/idx_max
+ return learning_rate
+
+def get_n_meas(idx_run):
+ idx_max = 10.0
+ n_meas_min = 5
+ n_meas_max = 50
+ n_meas_delta = n_meas_max - n_meas_min
+ idx_run = min(idx_run, idx_max)
+ learning_rate = n_meas_delta * idx_run/idx_max + n_meas_min
+ return int(np.round(learning_rate))
+
+