summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Clark <saikou@vt.edu>2018-03-07 22:43:06 -0500
committerMarcus Müller <marcus@hostalia.de>2018-03-22 21:49:16 +0100
commit400712d6332d2b2bc62a908997d92d98113833b3 (patch)
tree8afaa8e507128e4ced8e83e14147c4987e0a7ab5
parente7b1ec40b0ef35c9f2eb72de5695ecbfd700d9ac (diff)
gr-channels: iqbal_gen.xml added more detail to the 'doc' heading, ascii art to give an idea of what is under the hood. Added the reference source material book title to both the hier py script and the GRC 'doc'
-rw-r--r--gr-channels/grc/channels_iqbal_gen.xml31
-rw-r--r--gr-channels/python/channels/iqbal_gen.py8
2 files changed, 39 insertions, 0 deletions
diff --git a/gr-channels/grc/channels_iqbal_gen.xml b/gr-channels/grc/channels_iqbal_gen.xml
index 75346b5217..d46d43008e 100644
--- a/gr-channels/grc/channels_iqbal_gen.xml
+++ b/gr-channels/grc/channels_iqbal_gen.xml
@@ -45,4 +45,35 @@
<name>out</name>
<type>complex</type>
</source>
+ <doc>
+This block implements the single branch IQ imbalance
+transmitter and receiver models.
+
+Developed from source (2014):
+"In-Phase and Quadrature Imbalance: Modeling, Estimation, and Compensation"
+
+ TX Impairment:
+
+ {R}--|Multiply: 10**(mag/20)|--+--|Multiply: cos(pi*degree/180)|--X1
+Input ---|Complex2Float|---| |--|Multiply: sin(pi*degree/180)|--X2
+ {I}--| Adder |
+ X2--| (+) |--X3
+
+ X1--{R}--| Float 2 |--- Output
+ X3---{I}--| Complex |
+
+ RX Impairment:
+
+ {R}--|Multiply: cos(pi*degree/180)|-------| |
+Input ---|Complex2Float|---| | Adder |--X1
+ {I}--+--|Multiply: sin(pi*degree/180)|----| (+) |
+ |
+ +--X2
+
+ X1--|Multply: 10**(mag/20)|--{R}--| Float 2 |--- Output
+ X2--------------------------------------------{I}--| Complex |
+
+ (ASCII ART adjusted for GRC viewing)
+
+ </doc>
</block>
diff --git a/gr-channels/python/channels/iqbal_gen.py b/gr-channels/python/channels/iqbal_gen.py
index 9da129a492..a20038f1d7 100644
--- a/gr-channels/python/channels/iqbal_gen.py
+++ b/gr-channels/python/channels/iqbal_gen.py
@@ -14,6 +14,14 @@ import math
class iqbal_gen(gr.hier_block2):
def __init__(self, magnitude=0, phase=0, mode=0):
+ '''
+ This block implements the single branch IQ imbalance
+ transmitter and receiver models.
+
+ Developed from source (2014):
+ "In-Phase and Quadrature Imbalance:
+ Modeling, Estimation, and Compensation"
+ '''
gr.hier_block2.__init__(
self, "IQ Imbalance Generator",
gr.io_signature(1, 1, gr.sizeof_gr_complex*1),