2 # Copyright 2005,2006 Free Software Foundation, Inc.
4 # This file is part of GNU Radio
6 # GNU Radio is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2, or (at your option)
11 # GNU Radio is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with GNU Radio; see the file COPYING. If not, write to
18 # the Free Software Foundation, Inc., 51 Franklin Street,
19 # Boston, MA 02110-1301, USA.
22 from math import pi, sqrt
25 def make_constellation(m):
26 return [cmath.exp(i * 2 * pi / m * 1j) for i in range(m)]
28 # Common definition of constellations for Tx and Rx
30 2 : make_constellation(2), # BPSK
31 4 : make_constellation(4), # QPSK
32 8 : make_constellation(8) # 8PSK
35 # -----------------------
37 # -----------------------
38 # binary to gray coding
42 8 : (0, 1, 3, 2, 7, 6, 4, 5)
49 8 : (0, 1, 3, 2, 6, 7, 5, 4)
52 # -----------------------
54 # -----------------------
59 8 : (0, 1, 2, 3, 4, 5, 6, 7)
66 8 : (0, 1, 2, 3, 4, 5, 6, 7)