From 3e426df072336d404b0a3ba4359b014dc5aa3af8 Mon Sep 17 00:00:00 2001 From: Doug Bailey Date: Mon, 6 Aug 2007 19:52:40 +0000 Subject: Change the fsk filter used in CID and TDD decode to an integer based implementation git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@78227 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/fskmodem.h | 50 +++++++++++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 20 deletions(-) (limited to 'include') diff --git a/include/asterisk/fskmodem.h b/include/asterisk/fskmodem.h index 3b350fb55..d50e8abde 100644 --- a/include/asterisk/fskmodem.h +++ b/include/asterisk/fskmodem.h @@ -31,30 +31,39 @@ #define NCOLA 0x4000 +/* new filter structure */ +struct filter_struct { + + int icoefs[8]; + int ip; + int ixv[8]; + int iyv[8]; +}; + typedef struct { - float spb; /*!< Samples / Bit */ int nbit; /*!< Number of Data Bits (5,7,8) */ - float nstop; /*!< Number of Stop Bits 1,1.5,2 */ int parity; /*!< Parity 0=none 1=even 2=odd */ + int instop; /*!< Number of Stop Bits */ int hdlc; /*!< Modo Packet */ - float x0; - float x1; - float x2; - float cont; - int bw; /*!< Bandwidth */ - double fmxv[8],fmyv[8]; /*!< filter stuff for M filter */ - int fmp; /*!< pointer for M filter */ - double fsxv[8],fsyv[8]; /*!< filter stuff for S filter */ - int fsp; /*!< pointer for S filter */ - double flxv[8],flyv[8]; /*!< filter stuff for L filter */ - int flp; /*!< pointer for L filter */ - int f_mark_idx; /*!< Mark frequency index (f_M-500)/5 */ - int f_space_idx; /*!< Space frequency index (f_S-500)/5 */ + int xi0; + int xi1; + int xi2; + + int ispb; + int icont; + int bw; /*!< Band Selector*/ + int f_mark_idx; /*!< Mark Frequency Index (f_M-500)/5 */ + int f_space_idx; /*!< Space Frequency Index (f_S-500)/5 */ int state; - int pcola; /*!< Pointer to data queues */ - float cola_in[NCOLA]; /*!< Queue of input samples */ - float cola_filter[NCOLA]; /*!< Queue of samples after filters */ - float cola_demod[NCOLA]; /*!< Queue of demodulated samples */ + + int pllispb; /*!