00001 /* 00002 * SpanDSP - a series of DSP components for telephony 00003 * 00004 * private/modem_echo.h - An echo cancellor, suitable for electrical echos in GSTN modems 00005 * 00006 * Written by Steve Underwood <steveu@coppice.org> 00007 * 00008 * Copyright (C) 2001, 2004 Steve Underwood 00009 * 00010 * Based on a bit from here, a bit from there, eye of toad, 00011 * ear of bat, etc - plus, of course, my own 2 cents. 00012 * 00013 * All rights reserved. 00014 * 00015 * This program is free software; you can redistribute it and/or modify 00016 * it under the terms of the GNU Lesser General Public License version 2.1, 00017 * as published by the Free Software Foundation. 00018 * 00019 * This program is distributed in the hope that it will be useful, 00020 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00021 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00022 * GNU Lesser General Public License for more details. 00023 * 00024 * You should have received a copy of the GNU Lesser General Public 00025 * License along with this program; if not, write to the Free Software 00026 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00027 * 00028 * $Id: modem_echo.h,v 1.1 2009/09/22 13:11:04 steveu Exp $ 00029 */ 00030 00031 /*! \file */ 00032 00033 #if !defined(_SPANDSP_PRIVATE_MODEM_ECHO_H_) 00034 #define _SPANDSP_PRIVATE_MODEM_ECHO_H_ 00035 00036 /*! 00037 Modem line echo canceller descriptor. This defines the working state for a line 00038 echo canceller. 00039 */ 00040 struct modem_echo_can_state_s 00041 { 00042 int adapt; 00043 int taps; 00044 00045 fir16_state_t fir_state; 00046 /*! Echo FIR taps (16 bit version) */ 00047 int16_t *fir_taps16; 00048 /*! Echo FIR taps (32 bit version) */ 00049 int32_t *fir_taps32; 00050 00051 int tx_power; 00052 int rx_power; 00053 00054 int curr_pos; 00055 }; 00056 00057 #endif 00058 /*- End of file ------------------------------------------------------------*/