diff options
author | Bill Clark <saikou@vt.edu> | 2018-03-07 22:43:06 -0500 |
---|---|---|
committer | Marcus Müller <marcus@hostalia.de> | 2018-03-22 21:49:16 +0100 |
commit | 400712d6332d2b2bc62a908997d92d98113833b3 (patch) | |
tree | 8afaa8e507128e4ced8e83e14147c4987e0a7ab5 | |
parent | e7b1ec40b0ef35c9f2eb72de5695ecbfd700d9ac (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.xml | 31 | ||||
-rw-r--r-- | gr-channels/python/channels/iqbal_gen.py | 8 |
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), |