aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2017-08-09 14:42:38 +0200
committerMatthias P. Braendli <matthias.braendli@mpb.li>2017-08-09 14:44:24 +0200
commit0b491301e11c8e4fd1a3cff9f038f4fa8f5c6aab (patch)
treeca3aa7ce5aa8cc8c92f6c556aa0a3a71798a2caf
parent6ecbd8538a4bd535db7c663a5289f44d1e129276 (diff)
downloaddabmod-0b491301e11c8e4fd1a3cff9f038f4fa8f5c6aab.tar.gz
dabmod-0b491301e11c8e4fd1a3cff9f038f4fa8f5c6aab.tar.bz2
dabmod-0b491301e11c8e4fd1a3cff9f038f4fa8f5c6aab.zip
Update dpd README
-rw-r--r--dpd/README.md38
1 files changed, 31 insertions, 7 deletions
diff --git a/dpd/README.md b/dpd/README.md
index 173b4c6..6c9d5fb 100644
--- a/dpd/README.md
+++ b/dpd/README.md
@@ -1,21 +1,45 @@
-Digital Predistortion for ODR-DabMod
-====================================
+Digital Predistortion Calculation Engine for ODR-DabMod
+=======================================================
-This folder contains work in progress for digital predistortion. It requires:
+This folder contains work in progress for digital predistortion.
+
+Concept
+-------
+
+ODR-DabMod makes outgoing TX samples and feedback RX samples available for an external tool. This
+external tool can request a buffer of samples for analysis, can calculate coefficients for the
+polynomial predistorter in ODR-DabMod and load the new coefficients using the remote control.
+
+The *dpd/main.py* script is the entry point for the *DPD Calculation Engine* into which these
+features will be implemented. The tool uses modules from the *dpd/src/* folder:
+
+- Sample transfer and time alignment with subsample accuracy is done by *Measure.py*
+- Estimating the effects of the PA using some model and calculation of the updated
+ polynomial coefficients is done in *Model.py*
+- Finally, *Adapt.py* loads them into ODR-DabMod.
+
+These modules themselves use additional helper scripts in the *dpd/src/* folder.
+
+Requirements
+------------
- USRP B200.
- Power amplifier.
- 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.
+ Usually this is done with a directional coupler and additional attenuators.
+- 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, internal refclk and pps
are sufficient for this example.
- A live mux source with TIST enabled.
See dpd/dpd.ini for an example.
+The DPD server port can be tested with the *dpd/show_spectrum.py* helper tool, which can also display
+a constellation diagram.
+
TODO
----
-Implement a PA model that updates the predistorter.
-Implement cases for different oversampling for FFT bin choice
+Implement a PA model.
+Implement cases for different oversampling for FFT bin choice.
+Fix loads of missing and buggy aspects of the implementation.