Editing Constellation Object

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
[[Category:Block Docs]]
 
GNU Radio supports the creation and use of Constellation objects for many of its digital communications needs. We define these constellations with a set of constellation points in complex space and the symbol mappings to those points. For a constellation that has 4 symbols, it then has log2(4) = 2 bits/symbol. We define this constellation with a list of Constellation Points and Symbol Map.  For example, 16QAM would have:
 
  
Constellation Points = [(-3-3j), (-1-3j), (1-3j), (3-3j), (-3-1j), (-1-1j), (1-1j), (3-1j), (-3+1j), (-1+1j), (1+1j), (3+1j), (-3+3j), (-1+3j), (1+3j), (3+3j)]
 
Symbol Map = [0, 4, 12, 8, 1, 5, 13, 9, 3, 7, 15, 11, 2, 6, 14, 10]
 
  
The mapping is a 1-to-1 for the items in both lists.  The symbols are referred to as the 'pre_diff_code' since this is the mapping before the application of differential modulation, if used.
 
  
 
See [https://www.gnuradio.org/doc/doxygen/page_digital.html] for more info.
 
See [https://www.gnuradio.org/doc/doxygen/page_digital.html] for more info.
  
== Parameters ==
 
 
; Constellation Type
 
: Type of modulation scheme.  Choose Variable Constellation for more control.
 
 
; Soft Decisions Precision
 
: Specifies how accurate the look up table (LUT) is to a given number of bits.
 
 
; Soft Decisions LUT
 
: Vector of floating point tuples that acts as the look up table (LUT). Can be set to 'auto' for GNU Radio to populate it.
 
 
; Symbol Map
 
: (Available when using Variable Constellation) Manually specify the symbol map, in list form.
 
 
; Constellation Points
 
: (Available when using Variable Constellation) Manually specify the constellation points, using a list of complex numbers.
 
 
; Rotational Symmetry
 
: (Available when using Variable Constellation) The number of rotations per 360 degrees that the constellation is symmetric, which is 4 for the common constellations.
 
 
; Dimensionality
 
: (Available when using Variable Constellation) The number of dimensions, typically set to 1.
 
  
 
== Example Flowgraph ==
 
== Example Flowgraph ==
 
This flowgraph generates symbols using a chosen modulation scheme, runs the signal through a channel model, and then simulates a receiver by synchronizing to the signal and performing soft decoding.
 
 
[[File:constellation_soft_decoder_ex.png|800px]]
 
 
== Source Files ==
 
 
; C++ files
 
: [https://github.com/gnuradio/gnuradio/blob/0fa281fd7369348dbdeadcecfebb20b73082e93e/gr-digital/lib/constellation.cc see middle of this page]
 
 
; Header files
 
: [https://github.com/gnuradio/gnuradio TODO]
 
 
; Public header files
 
: [https://github.com/gnuradio/gnuradio/blob/0fa281fd7369348dbdeadcecfebb20b73082e93e/gr-digital/include/gnuradio/digital/constellation.h Here]
 
 
; Block definition
 
: TODO
 

Please note that all contributions to GNU Radio are considered to be released under the Creative Commons Attribution-ShareAlike (see GNU Radio:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel | Editing help (opens in new window)