Re: Why does the random input not match the output

Marcus Müller <[email protected]> Sat, 21 Feb 2026 08:59:39 +0100
Newsgroups gmane.comp.gnu.radio.general
Message-ID <[email protected]>
Hi Maureen!
Great to have you here, welcome to the community!

 > There is a chunk of data missing on the bottom
 > left hand corner.

You had me scared there for a moment, but:

That's perfectly congruent with your choice of constellation points; attached output of 
(roughly this code)

import numpy
from matplotlib import pyplot
# copy & pasted from your constellation object "qam"'s constellation points:
points = numpy.array([-0.9489 -0.3162j, -0.9489 +0.3162j, -0.9489 +0.9489j, 
-0.3162-0.9489j, -0.3162-0.9489j, -0.3162-0.3162j, -0.3162+0.3162j, -0.3162+0.9489j, 
0.3162-0.9489j, 0.3162-0.3162j, 0.3162+0.3162j, 0.3162+0.9489j, 0.9489 -0.9489j, 0.9489 
-0.3162j, 0.9489 -0.3162j, 0.9489 +0.9489j])
pyplot.scatter(points.real, points.imag)
pyplot.savefig("/tmp/figure.png")

why you might not have seen the same "missing" constellation points in your channel 
model's output is the frequency offset (0.01), which rotates the whole thing by 1/100 of a 
full rotation per sample, so one "quarterrotation" every 25 samples; the synchronization 
after might be doing its best, but might not be able to counter that. I haven't actually 
looked deeper into that!

There's a few things to discuss here, like whether the constellation points are 
intentionally like they are (they might be – you might be doing an experiment where you 
intentionally confuse multiple points), and how an "unbalanced" (and hence not white) 
transmission might affect carrier recovery.

Best regards,
Marcus
constellation points.png (image/png, 14.5 KB) - not displayed