aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dpd/README.md6
-rw-r--r--dpd/dpd.ini4
-rw-r--r--src/OutputUHD.cpp3
3 files changed, 9 insertions, 4 deletions
diff --git a/dpd/README.md b/dpd/README.md
index 96c4fb0..ec7cec2 100644
--- a/dpd/README.md
+++ b/dpd/README.md
@@ -8,11 +8,13 @@ This folder contains work in progress for digital predistortion. It requires:
- A feedback connection from the power amplifier output, at an appropriate power level for the B200.
Usually this is done with a directional coupler.
- ODR-DabMod with enabled dpd_port, and with a samplerate of 8192000 samples per second.
-- Synchronous=1 so that the USRP has the timestamping set properly.
+- Synchronous=1 so that the USRP has the timestamping set properly, internal refclk and pps
+ are sufficient for this example.
+- A live mux source with TIST enabled.
See dpd/dpd.ini for an example.
TODO
----
-Fix timestamps and test if frame data is valid.
+Implement a PA model that updates the predistorter.
diff --git a/dpd/dpd.ini b/dpd/dpd.ini
index 625df73..910f251 100644
--- a/dpd/dpd.ini
+++ b/dpd/dpd.ini
@@ -14,7 +14,7 @@ transport=tcp
source=localhost:9200
[modulator]
-digital_gain=0.9
+digital_gain=0.8
rate=8192000
[firfilter]
@@ -34,7 +34,7 @@ pps_source=none
behaviour_refclk_lock_lost=ignore
max_gps_holdover_time=600
dpd_port=50055
-rxgain=10
+rxgain=0
[delaymanagement]
; Use synchronous=1 so that the USRP time is set. This works
diff --git a/src/OutputUHD.cpp b/src/OutputUHD.cpp
index 1a137d3..c2f985b 100644
--- a/src/OutputUHD.cpp
+++ b/src/OutputUHD.cpp
@@ -298,6 +298,9 @@ OutputUHD::OutputUHD(
SetDelayBuffer(myConf.dabMode);
+ myUsrp->set_rx_rate(myConf.sampleRate);
+ MDEBUG("OutputUHD:Actual RX Rate: %f sps...\n", myUsrp->get_rx_rate());
+
myUsrp->set_rx_antenna("RX2");
MDEBUG("OutputUHD:Set RX Antenna: %s ...\n", myUsrp->get_rx_antenna().c_str());