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 * $Id: v29tx_constellation_maps.h,v 1.2 2008/09/04 14:40:05 steveu Exp $ 00027 */ 00028 00029 #if defined(SPANDSP_USE_FIXED_POINT) 00030 static const complexi16_t v29_abab_constellation[6] = 00031 #else 00032 static const complexf_t v29_abab_constellation[6] = 00033 #endif 00034 { 00035 { 3, -3}, /* 315deg high 9600 */ 00036 {-3, 0}, /* 180deg low */ 00037 { 1, -1}, /* 315deg low 7200 */ 00038 {-3, 0}, /* 180deg low */ 00039 { 0, -3}, /* 270deg low 4800 */ 00040 {-3, 0} /* 180deg low */ 00041 }; 00042 00043 #if defined(SPANDSP_USE_FIXED_POINT) 00044 static const complexi16_t v29_cdcd_constellation[6] = 00045 #else 00046 static const complexf_t v29_cdcd_constellation[6] = 00047 #endif 00048 { 00049 { 3, 0}, /* 0deg low 9600 */ 00050 {-3, 3}, /* 135deg high */ 00051 { 3, 0}, /* 0deg low 7200 */ 00052 {-1, 1}, /* 135deg low */ 00053 { 3, 0}, /* 0deg low 4800 */ 00054 { 0, 3} /* 90deg low */ 00055 }; 00056 00057 #if defined(SPANDSP_USE_FIXED_POINT) 00058 static const complexi16_t v29_9600_constellation[16] = 00059 #else 00060 static const complexf_t v29_9600_constellation[16] = 00061 #endif 00062 { 00063 { 3, 0}, /* 0deg low */ 00064 { 1, 1}, /* 45deg low */ 00065 { 0, 3}, /* 90deg low */ 00066 {-1, 1}, /* 135deg low */ 00067 {-3, 0}, /* 180deg low */ 00068 {-1, -1}, /* 225deg low */ 00069 { 0, -3}, /* 270deg low */ 00070 { 1, -1}, /* 315deg low */ 00071 { 5, 0}, /* 0deg high */ 00072 { 3, 3}, /* 45deg high */ 00073 { 0, 5}, /* 90deg high */ 00074 {-3, 3}, /* 135deg high */ 00075 {-5, 0}, /* 180deg high */ 00076 {-3, -3}, /* 225deg high */ 00077 { 0, -5}, /* 270deg high */ 00078 { 3, -3} /* 315deg high */ 00079 }; 00080 00081 /*- End of file ------------------------------------------------------------*/