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 00029 /*! \file */ 00030 00031 #if !defined(_SPANDSP_PRIVATE_MODEM_ECHO_H_) 00032 #define _SPANDSP_PRIVATE_MODEM_ECHO_H_ 00033 00034 /*! 00035 Modem line echo canceller descriptor. This defines the working state for a line 00036 echo canceller. 00037 */ 00038 struct modem_echo_can_state_s 00039 { 00040 int adapt; 00041 int taps; 00042 00043 fir16_state_t fir_state; 00044 /*! Echo FIR taps (16 bit version) */ 00045 int16_t *fir_taps16; 00046 /*! Echo FIR taps (32 bit version) */ 00047 int32_t *fir_taps32; 00048 00049 int tx_power; 00050 int rx_power; 00051 00052 int curr_pos; 00053 }; 00054 00055 #endif 00056 /*- End of file ------------------------------------------------------------*/