Blks2impl/dbpsk.py question


#1

Hi List,
I was reading through the dbpsk.py block in blks2impl, and found
something that doesn’t seem to make much sense (to me).
Lines 272-273 read:
rot = 1
rotated_const = map(lambda pt: pt * rot,
psk.constellation[arity])
Is this not equivalent to:
rotated_const = psk.constellation[arity]
??? I mean, it’s just multiplying each output item of
psk.constellation with the number 1, or am I mis-reading something?

Thanx for looking at this…

Dimitris S.
“If you think you’re too small to make a difference, try sleeping with
a mosquito!” - Amnesty International


#2

On Thu, Mar 05, 2009 at 05:37:00PM +0100, Dimitris S. wrote:

Thanx for looking at this…

I’m guessing that it’s in there because at sometime someone wanted to
rotate the constellation. (If rot were a suitable complex value, the
multiplication by rot would rotate it.) rot = 1 means “don’t rotate”

Eric


#3

On Thursday 05 March 2009 19:12:15 Eric B. wrote:

psk.constellation with the number 1, or am I mis-reading something?

Thanx for looking at this…

I’m guessing that it’s in there because at sometime someone wanted to
rotate the constellation. (If rot were a suitable complex value, the
multiplication by rot would rotate it.) rot = 1 means “don’t rotate”

This may be needed based on the type of mpsk decoder in the chain. As
currently there is a differential decoder, sybols will always be on
positions
(theta + i * 2pi/M; i=[1…M]; theta=0). With no differential decoder, it
depends on the carrier tracking loops view of ‘zero phase (theta)’. For
the
mspk_receiver_cc, the constellation points will be the same as stated
for the
diff. encoding. In general theta can have any value, and for the qpsk
encoder is set to 45 degrees.

Stefan


Stefan Brüns / Bergstraße 21 / 52062 Aachen
mailto:lurch at gmx.li http://www.kawo1.rwth-aachen.de/~lurchi/
phone: +49 241 53809034 mobile: +49 151 50412019