summaryrefslogtreecommitdiffstats
path: root/dpd/src
diff options
context:
space:
mode:
Diffstat (limited to 'dpd/src')
-rw-r--r--dpd/src/Agc.py6
-rw-r--r--dpd/src/TX_Agc.py17
-rw-r--r--dpd/src/const.py10
3 files changed, 20 insertions, 13 deletions
diff --git a/dpd/src/Agc.py b/dpd/src/Agc.py
index b83c91e..670fbbb 100644
--- a/dpd/src/Agc.py
+++ b/dpd/src/Agc.py
@@ -35,14 +35,14 @@ class Agc:
received signal fulfills our desired property, of having
all amplitudes properly quantized."""
- def __init__(self, measure, adapt, min_rxgain=25, peak_to_median=20):
+ def __init__(self, measure, adapt, c):
assert isinstance(measure, Measure.Measure)
assert isinstance(adapt, Adapt.Adapt)
self.measure = measure
self.adapt = adapt
- self.min_rxgain = min_rxgain
+ self.min_rxgain = c.RAGC_min_rxgain
self.rxgain = self.min_rxgain
- self.peak_to_median = peak_to_median
+ self.peak_to_median = 1./c.RAGC_rx_median_target
def run(self):
self.adapt.set_rxgain(self.rxgain)
diff --git a/dpd/src/TX_Agc.py b/dpd/src/TX_Agc.py
index affc42f..b9226b2 100644
--- a/dpd/src/TX_Agc.py
+++ b/dpd/src/TX_Agc.py
@@ -24,10 +24,7 @@ import src.Adapt as Adapt
class TX_Agc:
def __init__(self,
adapt,
- max_txgain=89,
- tx_median_target=0.16,
- tx_median_threshold_max=0.18,
- tx_median_threshold_min=0.14):
+ c):
"""
In order to avoid digital clipping, this class increases the
TX gain and reduces the digital gain. Digital clipping happens
@@ -47,16 +44,16 @@ class TX_Agc:
:param tx_median_target: The digital gain is reduced in a way that
the median TX value is expected to be lower than this value.
"""
+
+
assert isinstance(adapt, Adapt.Adapt)
self.adapt = adapt
- self.max_txgain = max_txgain
+ self.max_txgain = c.TAGC_max_txgain
self.txgain = self.max_txgain
- assert tx_median_threshold_max > tx_median_target,\
- "The tolerated tx_median has to be larger then the goal tx_median"
- self.tx_median_threshold_tolerate_max = tx_median_threshold_max
- self.tx_median_threshold_tolerate_min = tx_median_threshold_min
- self.tx_median_target = tx_median_target
+ self.tx_median_threshold_tolerate_max = c.TAGC_tx_median_max
+ self.tx_median_threshold_tolerate_min = c.TAGC_tx_median_min
+ self.tx_median_target = c.TAGC_tx_median_target
def adapt_if_necessary(self, tx):
tx_median = np.median(np.abs(tx))
diff --git a/dpd/src/const.py b/dpd/src/const.py
index c7f4b7c..63a095b 100644
--- a/dpd/src/const.py
+++ b/dpd/src/const.py
@@ -43,6 +43,16 @@ class const:
self.ES_n_bins = 64
self.ES_n_per_bin = 128
+ # Constants for TX_Agc
+ self.TAGC_max_txgain = 89
+ self.TAGC_tx_median_target = 0.1
+ self.TAGC_tx_median_max = self.TAGC_tx_median_target*1.4
+ self.TAGC_tx_median_min = self.TAGC_tx_median_target/1.4
+
+ # Constants for Agc
+ self.RAGC_min_rxgain = 25
+ self.RAGC_rx_median_target = self.TAGC_tx_median_target
+
# Constants for Model_PM
self.MPM_tx_min = 0.1