[hpsdr] Level calculation error in Two Tone Test generation routine

Warren C. Pratt warren at wpratt.com
Tue Nov 22 20:52:13 PST 2016


Hi John,

The transmitter limitation is peak power.  The tone magnitude values in 
the code below are the peak I and Q values which can be viewed as 
"voltages."  With each tone set for peak values of 0.5, when their peaks 
coincide, the peak "voltage" is 1.0 which reaches the maximum voltage 
and consequently maximum power supported by the transmitter.  Now, what 
about the AVERAGE power of a single tone peaking at 1.0 voltage versus 
two equal-amplitude tones with a combined peak voltage of 1.0:  the 
answer is that the single tone has double the AVERAGE power of the 
two-tones, even though the peak power is the same.  Here's a reference 
that goes through the math:

<http://www.eetimes.com/document.asp?doc_id=1275672>

Hence, to stay within the peak power limitations of the transmitter, I 
believe the factors are correct.

73,

Warren  NR0V


On 11/22/2016 8:15 PM, john_eckert at keysight.com wrote:
> ***** High Performance Software Defined Radio Discussion List *****
>
>
>
> There is an error in the calculation of the levels for two tone 
> testing.  The result is that the total output power is half of what is 
> expected.  I believe the author intended to reduce the power of each 
> tone by half with respect to a single CW tone.  This would have 
> resulted in exactly the same output power.  Unfortunately, the voltage 
> levels are being reduced by one half resulting in each tone dropping 
> to one quarter the power.  The result is that the Two Tone power is at 
> one half the desired power.
>
> With the current code IMD testing can’t be made at full power and 
> current tests are at one half the indicated power.
>
> Problem routine:
>
>    private void chkTestIMD_CheckedChanged(object sender, 
> System.EventArgs e)
>
>         {
>
>             if (chkTestIMD.Checked)
>
>             {
>
>                 udTestIMDFreq1.Enabled = false;
>
>                 udTestIMDFreq2.Enabled = false;
>
>                 udTwoToneLevel.Enabled = false;
>
>                 udTestIMDPower.Enabled = false;
>
>                 chkInvertTones.Enabled = false;
>
>                 double ttfreq1 = (double)udTestIMDFreq1.Value;
>
>                 double ttfreq2 = (double)udTestIMDFreq2.Value;
>
>                 double ttmag = (double)udTwoToneLevel.Value;
>
>                 double ttmag1, ttmag2;
>
>                 ttmag1 = ttmag2 = 0.49999 * Math.Pow(10.0, ttmag / 
> 20.0);    //      11/22/16   k2ox should be 0.707107
>
> Hopefully a maintainer will change the 0.49999 constant to 0.707107.
>
> 73,
>
> John
>
> K2ox
>
>
>
> _______________________________________________
> HPSDR Discussion List
> To post msg: hpsdr at openhpsdr.org
> Subscription help: http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org
> HPSDR web page: http://openhpsdr.org
> Archives: http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/attachments/20161122/86d3028a/attachment.htm>


More information about the Hpsdr mailing list