v29tx_constellation_maps.h

00001 /*
00002  * SpanDSP - a series of DSP components for telephony
00003  *
00004  * v29tx_constellation_maps.h - ITU V.29 modem transmit part.
00005  *                              Constellation mapping.
00006  *
00007  * Written by Steve Underwood <steveu@coppice.org>
00008  *
00009  * Copyright (C) 2008 Steve Underwood
00010  *
00011  * All rights reserved.
00012  *
00013  * This program is free software; you can redistribute it and/or modify
00014  * it under the terms of the GNU Lesser General Public License version 2.1,
00015  * as published by the Free Software Foundation.
00016  *
00017  * This program is distributed in the hope that it will be useful,
00018  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00020  * GNU Lesser General Public License for more details.
00021  *
00022  * You should have received a copy of the GNU Lesser General Public
00023  * License along with this program; if not, write to the Free Software
00024  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00025  */
00026 
00027 #if defined(SPANDSP_USE_FIXED_POINT)
00028 static const complexi16_t v29_abab_constellation[6] =
00029 #else
00030 static const complexf_t v29_abab_constellation[6] =
00031 #endif
00032 {
00033     { 3, -3},           /* 315deg high 9600 */
00034     {-3,  0},           /* 180deg low       */
00035     { 1, -1},           /* 315deg low 7200  */
00036     {-3,  0},           /* 180deg low       */
00037     { 0, -3},           /* 270deg low 4800  */
00038     {-3,  0}            /* 180deg low       */
00039 };
00040 
00041 #if defined(SPANDSP_USE_FIXED_POINT)
00042 static const complexi16_t v29_cdcd_constellation[6] =
00043 #else
00044 static const complexf_t v29_cdcd_constellation[6] =
00045 #endif
00046 {
00047     { 3,  0},           /*   0deg low 9600  */
00048     {-3,  3},           /* 135deg high      */
00049     { 3,  0},           /*   0deg low 7200  */
00050     {-1,  1},           /* 135deg low       */
00051     { 3,  0},           /*   0deg low 4800  */
00052     { 0,  3}            /*  90deg low       */
00053 };
00054 
00055 #if defined(SPANDSP_USE_FIXED_POINT)
00056 static const complexi16_t v29_9600_constellation[16] =
00057 #else
00058 static const complexf_t v29_9600_constellation[16] =
00059 #endif
00060 {
00061     { 3,  0},           /*   0deg low  */
00062     { 1,  1},           /*  45deg low  */
00063     { 0,  3},           /*  90deg low  */
00064     {-1,  1},           /* 135deg low  */
00065     {-3,  0},           /* 180deg low  */
00066     {-1, -1},           /* 225deg low  */
00067     { 0, -3},           /* 270deg low  */
00068     { 1, -1},           /* 315deg low  */
00069     { 5,  0},           /*   0deg high */
00070     { 3,  3},           /*  45deg high */
00071     { 0,  5},           /*  90deg high */
00072     {-3,  3},           /* 135deg high */
00073     {-5,  0},           /* 180deg high */
00074     {-3, -3},           /* 225deg high */
00075     { 0, -5},           /* 270deg high */
00076     { 3, -3}            /* 315deg high */
00077 };
00078 
00079 /*- End of file ------------------------------------------------------------*/