| The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers. |
Digital Signal Processing Solutions Abstract filters describ
Top Searches for this datasheetProgrammable Double Biquad Filter Tone Detection Fixed Point DSPs Digital Signal Processing Solutions Abstract filters described here user programmable double biquad filters tone detection. filters implemented Texas Instruments TMS320C2xx digital signal processor (DSP). filter program includes energy estimation stage. Examples applications CPTD (call progress tone detection), tone detection, answer tone detection, etc. telephony modem. Contents Introduction Filter Structure Difference Equations Description Tone Detection Procedure Description Filter Programs.5 initFilt.c Biquad.asm Summary Programmable Parameters.8 Interface Between High Level Programs Filter Program Processor Resources Used Filter Programs Reference Appendix Source Code.11 FILE: BIQUAD.ASM.11 FILE: INITFILT.C.18 FILE: FILTERS.H Appendix Glossary.23 Figures Figure Figure Figure Figure Figure Transposed Form Cascade Structure Stages Tone Detection Operation Example Filter Design Dial Tone Detector Flow Chart Decision Stage Detection Process Cadence Check Busy Tone Detection Tables Table Table Table Table Masks Different Filters.7 Scale Factors Corresponding Right Shift Input Sample Detection Thresholds Corresponding Energy Fraction.9 Processor Resources Required Tone Detection Module Digital Signal Processing Solutions February 1999 Introduction this report describe tone detection means programmable passband filter combination with energy estimation stage. filtering operation described below allows detection single frequencies (with tolerance band ±x%) frequency band (e.g., tones used telephone net: dial tone, busy tone, etc.). parameters related tone detection process user programmable. These parameters include filter coefficients, scale factors detection thresholds. following sections describe filter structure used passband filtering different steps involved detection process, software carrying these operations, interface between filter programs application layer processor resources required. Filter Structure Difference Equations This section gives theoretical overview filter used tone detection process. filter structure implemented here so-called transposed form cascade structure, which shown Figure Figure Transposed Form Cascade Structure x[n] y1[n] d11[n] -a11 d12[n] -a12 y[n] d21[n] -a21 d22[n] -a22 corresponding difference equations are: 1,2,., (equation +1)/ x[n] denotes filter input, yi[n] filter output after filter stage y[n] global filter output. means filter design tool using filter structure shown Figure determine filter coefficients double biquad filter (N=4) desired passband. example filter design will given next section. Programmable Double Biquad Filter Tone Detection Fixed Point DSPs Description Tone Detection Procedure tone detection procedure divided into different stages shown Figure Figure Stages Tone Detection Operation y[n] x[n] Scale x[n] Energy estimation based |y[n]| Decision Energy estimation based |x[n]| First main filtering operation carried out. This consists bandpass filtering scaled input signal. This followed energy estimation means exponential filters based filtered signal global signal. exponential filters given FilterOut y[n] FilterOut TotOut[n] TotOut (equation last stage consists decision whether tone been detected not. detection criteria specified follows FilterOut[n] Threshold TotOut (equation bandpass filter double biquad filter based equation filter coefficients have previously determined means filter design tool. bandpass filter characterized seven parameters: sampling frequency, lower upper stopband frequencies lower upper passband frequencies, well passband ripple stopband ripple. example filter design shown Figure filter coefficients generated design tool stored C-header file, Filters.h. Before running filter first time, initialization routines contained file initFilt.c have executed. different programs interface C-Assembly language will described following sections. Programmable Double Biquad Filter Tone Detection Fixed Point DSPs Figure Example Filter Design Dial Tone Detector Sampling frequency Fs=9.6kHz Lower stopband frequency=365Hz Lower passband frequency=425Hz Upper passband frequency=455Hz Upper stopband frequency=515Hz Passband ripple=0.1 Stopband ripple=0.03 INFINITE IMPULSE RESPONSE (IIR),ELLIPTIC BANDPASS FILTER UNQUANTIZED COEFFICIENTS, FILTER ORDER SAMPLING FREQUENCY 9.600 KILOHERTZ A(I,1) -1.903748 -1.913757 A(I,2) .990570 991089 B(I,0) .144363 .141541 B(I,1) -.270309 -.275604 B(I,2) .144363 .141541 DialFilter*/ Quantized coefficients: Coefficients biquad #define Dial1_B0 2365 #define Dial1_B1 -4428 #define Dial1_B2 2365 #define Dial1_A1 31191 #define Dial1_A2 -16229 Coefficients biquad #define Dial2_B0 #define Dial2_B1 #define Dial2_B2 #define Dial2_A1 #define Dial2_A2 2319 -4515 2319 31356 -16238 Programmable Double Biquad Filter Tone Detection Fixed Point DSPs Description Filter Programs This section deals with filter programs parameters that have determined before running filter. parameters that directly influence detection programmable. These parameters include filter coefficients, scale factor input sample applied filter detection threshold. They found file Filters.h, given Appendix This file used initialization routine initFilt.c, described below. example, filter dial busy tone detection implemented. initFilt.c This routine initializes filter variables with fixed parameter values. variable names chosen according following convention: FilterNameVariable. Example: filter name=Dial, variable=Threshold variable name=DialThreshold. Each filter following variables: -Filter[14]: Array fourteen elements filter coefficients delays -Shift: Scale factor input sample -Threshold: Factor used decision stage (cf. equation -In: Input exponential filter after bandpass filtering (|y[n]|) -Out: Output exponential filter applied decision stage where stands filter name. elements -Filter[14] double biquad shown Figure are: -Filter[0]=d11 -Filter[1]=d12 -Filter[2]=d21 -Filter[3]=d22 -Filter[4]=b10 -Filter[5]=b11 -Filter[6]=-a11 -Filter[7]=-a12 -Filter[8]=b12 -Filter[9]=b21 -Filter[10]=b22 -Filter[11]=-a21 -Filter[12]=-a22 -Filter[13]=b22 delays through initialized zero. elements -Filter[4] through -Filter[13] initialized with filter coefficients specified Filters.h. Likewise -Shift -Threshold specified parameter values. input output exponential filters initialized zero. Biquad.asm file biquad.asm contains different stages filtering operation described Figure Several filters implemented parallel. Currently, examples dial tone tone detection implemented. routine that calls filters named CPTD. This routine called sample interrupt (sampling frequency), which implies that filter design been previously carried with same sampling frequency. Programmable Double Biquad Filter Tone Detection Fixed Point DSPs tone detection process, absolute value input sample first computed estimation global energy. case filters being implemented parallel, exponential filter based absolute values input samples order reduce computational load (MIPS). This means that input exponential filter global energy given (equation After that, frequency filtering carried each filter. Prior filtering operation, input sample scaled pointers filter coefficients delays have This done means macro Filter with argument Name, where Name (for example) Dial. First input sample right shifted amount 16-NameShift, i.e. parameter value means shift, means right shift means right shift After scaling, point first filter delay (NameFilter[0]) first filter coefficient (NameFilter[4]). PREG output shift (spm sign extension mode (ssxm). Before call basic filtering routine BIQUAD, current (pointer filter coefficients). BIQUAD performs cascaded filter according equation (N=4). This routine called each filter. fixed-point computation filter coefficients format, input sample filter delays assumed format. output each filter input corresponding exponential filter energy estimation passband. These inputs exponential filters, after frequency filtering, given (equation only exponential filter called once every samples, complete routine uses about (M-1)*50 cycles less than computation exponential filters parallel (MIPS memory occupation given more detail later). Finally exponential filters computed decision made whether there enough energy specified passband not. energy estimation different passbands macro called TestOut with argument Name (the same macro Filter) used. output exponential filter calculated specified equation with a=1/64. Then output compared output exponential filter global input: NameThreshold NameOut TotOut Detection (equation global filter output multiplied allow more precision detection threshold. instance, energy passband should more than half global energy detection, then NameThreshold must Increasing threshold means increasing passband detection. case detection, variable CptdFilter each passband. Table gives example masks four different filters. Programmable Double Biquad Filter Tone Detection Fixed Point DSPs Table Masks Different Filters Name Filter1 Filter2 Filter3 Filter4 Value CptdFilter variable CptdFilter used program upper level timing check. interface between C-programs filter program assembly language will described next section. enhance tone detection some more tests carried out. energy comparison executed global energy does exceed minimum threshold specified variable MinEng. This threshold sets absolute value minimum input signal level that will taken into account. Another point fast detection energy transitions such off/on on/off transitions busy tone. group delay passband filters, comparison energies (equation still result detection even there signal input more. This adaptive threshold test carried detect energy transitions on/off. fact output exponential filter global energy estimation falls below half maximum value determined during detection phase then decision result non-detection: TotOut TotMax Detection (equation different steps involved detection phase summarized flow chart below. decision stage executed separately each filter. Programmable Double Biquad Filter Tone Detection Fixed Point DSPs Figure Flow Chart Decision Stage Detection Process Decision Stage Global energy min. thres. Global energy 0.5* max. global energy Inband energy Threshold global energy mask variable Detect Reset filter delays, exponential filter output max. energy Global energy max. energy Max. global energy Reset mask variables Detect CptdFilter mask variables Detect CptdFilter Return calling function Summary Programmable Parameters parameters which user programmable filter coefficients, scale factor, detection threshold minimum energy threshold. Filter Coefficients filter coefficients have generated design tool based cascade structure shown Figure (filter order N=4). next step consists quantizing filter coefficients obtain format. This means that coefficients have multiplied addition that, coefficients ai1, have multiplied Then these values have defined file Filters.h. steps generate quantized filter coefficients illustrated Each filter contains elements, four filter delays filter coefficients. Initialization carried described previously. Programmable Double Biquad Filter Tone Detection Fixed Point DSPs Scale Factor scale factor specifies shift that applied input sample before bandpass filtering. This shift file Filters.h means constant called NameScale. scale factor value less. 16-Scale Factor specifies right shift applied input sample before frequency filtering stage. Possible values scale factor corresponding right shift given Table Table Scale Factors Corresponding Right Shift Input Sample Scale Factor right shift Common values scale factor depending amplification input stage. important saturate frequency exponential filters. Detection Threshold detection threshold specifies minimum amount energy that present passband corresponding filter comparison global energy. other words inband energy must greater than specified fraction global energy, typically: InbandEnergy GlobalEnergy (equation where energy fraction equals 0.5. comparison carried after exponential filters given equation minimum fraction energy detection then given divided detection threshold. Different values detection threshold corresponding energy fraction given Table Table Detection Thresholds Corresponding Energy Fraction Detection Threshold Energy Fraction smaller energy fraction required detection larger passband corresponding filter. common value detection threshold Minimum Energy Threshold minimum energy threshold specifies minimum absolute signal level that detected. minimum signal level typically takes values between dBm. minimum energy threshold hardware dependent, signal level input converter determined analog amplification stage. Consequently determined experimentally. order minimum energy threshold, variable TotOut monitored while injecting signal input. TotOut contains output exponential filter global energy that will compared minimum energy threshold during decision stage. continuous signal minimum signal level that shall detected injected input, TotOut will take value that equals minimum energy threshold. value obtained this then Filters.h copied variable MinEng during initialization phase. Programmable Double Biquad Filter Tone Detection Fixed Point DSPs Interface Between High Level Programs Filter Program this section interface between program executing main task filter program executed sample interrupt will described. detection result tone detection procedure used high level application order carry timing check. this purpose variables needed, which have referenced external variables program: CptdFilter Tim0. CptdFilter contains mask corresponding filter case detection (Table zero case detection. Tim0 timer that incremented sample interrupt. maximum value 7fff hex, which corresponds seconds kHz. filters used program have initialized with parameter values specified file Filters.h. This done function Init-() that found file initFilt.c (where stands filter name). routine InitTot() called order initialize exponential filter global energy estimation. example program which carries cadence check busy tone given Figure program main() calls function dialing which include dial tone detection. After that routine CadenceCheck called, which checks presence tone passband filter Dial (bit mask CptdFilter) then carries timing check concerning on/off sequence signal shown Figure Figure Cadence Check Busy Tone Detection Busy tone Min. max. timing Busy tone off: Min. max. timing Tolerance concerning timing taken into account program constant values BusyMin BusyMax which correspond nominal timing nominal timing +x%, respectively. function CadenceCheck indicates busy tone detection return value Programmable Double Biquad Filter Tone Detection Fixed Point DSPs Processor Resources Used Filter Programs Table summarizes memory occupation (RAM ROM) well computational load (MIPS) utilized filter functions contained file biquad.asm. Table Processor Resources Required Tone Detection Module words words (biquad.asm) words (initFilt.c) MIPS kHz) kHz) space reserved filter variables file biquad.asm. section containing these variables called Filter. linker command file this section block contained within memory page (128 words). combination with V22bis modem TMS320C2xx filters executed sampling rate kHz. Reference DFDP3/plus Digital Filter Design Package Instruction Manual; Atlanta Signal Processing Inc., 1991 Appendix Source Code FILE: BIQUAD.ASM File: BIQUAD.ASM Author: Katrin Matthes Description: Implementation programmable double biquad filter with detection stage (exponential filters) NUMFILTER .set example implementation: Dial/Busy tone tone detector .def CPTD .def .def _CptdFilter .ref FromAD,ForDA .def _TotIn, _TotOut .def _MinEng .def _FiltFunc .def _InitFiltFunc .def NUMFILTER .def Programmable Double Biquad Filter Tone Detection Fixed Point DSPs .def .def .elseif NUMFILTER .elseif NUMFILTER .endif .mmregs BIQUAD INDEXED y(n)=B0x(n)+d1(n-1) d1(n)=B1x(n)-A1y(n)+d2(n-1) d2(n)=B2x(n)-A2y(n) INPUT: contains scaledinput sample DNM1 PM=1 (<<1) SSXM OUTPUT DNM1 MODIFIED AR0, cycles DATA ORGANIZATION: ;D1NM1 .BSS ;D2NM1 .BSS .BSS .BSS .BSS .BSS .BSS BIQUAD filter coefficients SECOND-ORDER FILTER SECTION #TMP ;GET SCALED INPUT *+,ar0 INPUT *+,15,ar1 ;AC= MPYA *+,ar0 ;AC= (B0* INPUT) INPUT #Output SACH Output,1 ;Save OUTPUT Output ;AC= INPUT *-,15,ar1 ;AC= (B1* INPUT) OUTPUT APAC *+,ar0 ;AC= (B1*INPUT)+(A1*OUTPUT) OUTPUT SACH *+,1,ar1 ;Save #TMP Programmable Double Biquad Filter Tone Detection Fixed Point DSPs APAC SACH sacl MPYA SACH APAC SACH APAC SACH *+,ar0 ;AC= OUTPUT INPUT ;AC= *INPUT)+(A2 OUTPUT) *+,1,ar1 ;Save #Output Output #TMP *+,ar0 *+,15,ar1 *+,ar0 #Output Output,1 Output *-,15,ar1 *+,ar0 *+,1,ar1 #TMP *+,ar0 *+,1,ar1 ;GET ;AC= ;AC= SCALED INPUT INPUT +(B0* INPUT) INPUT ;Save OUTPUT ;AC= INPUT ;AC= +(B1* INPUT) OUTPUT ;AC= +(B1*INPUT)+(A1*OUTPUT) OUTPUT ;Save ;AC= OUTPUT INPUT ;AC= *INPUT) OUTPUT) ;Save macro filter cycles ;-Filter .macro Name .NEWBLOCK #_:Name:Shift _:Name:Shift LDPK #FromAD LACT FromAD ;load input sample with specified ;shift LDPK #TMP MULTIPLY INPUT GAIN SACH POINTERS LARK CALL AR0,#_:Name:Filter *,AR0 d1(n-1) AR1,#4 *,AR1 *0+,AR1 BIQUAD Programmable Double Biquad Filter Tone Detection Fixed Point DSPs sacl sacl .endm #Output Output accumulate absolute value input samples #_:Name:In _:Name:In _:Name:In #MaxVal #MaxVal _:Name:In CPTD FILTER cycles filter cycles (max) ;-CPTD sovm DIAL TONE #FromAD FromAD accumulate absolute value input samples #_TotIn _TotIn sacl _TotIn #MaxVal no_clip #MaxVal sacl _TotIn no_clip Filter Dial NUMFILTER Filter .elseif NUMFILTER Filter Filt4 .elseif NUMFILTER Filter Filt3 .endif cala rovm Inits FiltFunc called InitDial() ;-#_FiltFunc _FiltFunc Programmable Double Biquad Filter Tone Detection Fixed Point DSPs _InitFiltFunc sacl sacl sacl #_FiltFunc #TotExp _FiltFunc TotMax Detect Macro calculation exponential filter based ABS(input sample) Comparison global output filtered (biquad) output (global <=factor filtered) then DETECTION This comparison carried minimum global energy below threshold MinEng energy after filtering below noise threshold filter global energy decreases 0.5* Max, indicating transition on/off cycles ;-TestOut .macro Name .newblock #_:Name:Out zalr _:Name:Out ROUNDING _:Name:In,16-6 1/64 _:Name:Out,16-6 SACH _:Name:Out blez blez blez _TotOut _MinEng _TotOut,1 TotMax _:Name:Out #:Name:Min check min. thres. TotOut 0.5*TotMax detection: ON/OFF transition noise filter _TotOut,4 Totout<<4- (factor FilterOut)<<1 _:Name:Threshold Detection test _:Name:Out spac UNDER THRESHOLD Detect #:Name:Mask AR0,#_:Name:Filter Programmable Double Biquad Filter Tone Detection Fixed Point DSPs sacl sacl sacl sacl sacl sacl LALK sacl OVER THRESHOLD blez sacl LALK sacl SACL sacl .endm *,ar0 _:Name:Out TotMax clear clear clear clear D11(N-1) D12(N-1) D21(N-1) D22(N-1) #~:Name:Mask Detect Detect #_CptdFilter _CptdFilter _TotOut TotMax _TotOut TotMax look maximum #:Name:Mask Detect Detect _CptdFilter _CptdFilter _:Name:In exponential filter global signal ;-TotExp #DialExp sacl _FiltFunc zalr _TotOut ROUNDING #_TotIn _TotIn,16-6 1/64 LDPK #_TotOut _TotOut,16-6 SACH _TotOut #_TotIn sacl _TotIn exponential filter signal after Dialfilter ;-DialExp NUMFILTER #FaxExp .else Programmable Double Biquad Filter Tone Detection Fixed Point DSPs #TotExp .endif sacl _FiltFunc TestOut Dial exponential filter signal after Faxfilter ;-.if NUMFILTER FaxExp NUMFILTER #Filt3Exp .else #TotExp .endif sacl _FiltFunc TestOut .endif exponential filter signal after Filt3 filter ;-.if NUMFILTER Filt3Exp NUMFILTER #Filt4Exp .else #TotExp .endif sacl _FiltFunc TestOut Filt3 .endif exponential filter signal after Filt4 filter ;-.if NUMFILTER Filt4Exp #TotExp sacl _FiltFunc TestOut Filt4 .endif _CptdFilter .usect "Filter",1 Output .usect "Filter",1 _TotIn .usect "Filter",1 _TotOut .usect "Filter",1 _DialFilter .usect "Filter",14 _DialIn .usect "Filter",1 _DialOut .usect "Filter",1 _DialShift .usect "Filter",1 _DialThreshold .usect "Filter",1 Programmable Double Biquad Filter Tone Detection Fixed Point DSPs NUMFILTER _FaxFilter .usect "Filter",14 _FaxIn .usect "Filter",1 _FaxOut .usect "Filter",1 _FaxShift .usect "Filter",1 _FaxThreshold .usect "Filter",1 .elseif NUMFILTER _Filt3Filter .usect "Filter",14 _Filt3In .usect "Filter",1 _Filt3Out .usect "Filter",1 _Filt3Shift .usect "Filter",1 _Filt3Threshold .usect "Filter",1 .elseif NUMFILTER _Filt4Filter .usect "Filter",14 _Filt4In .usect "Filter",1 _Filt4Out .usect "Filter",1 _Filt4Shift .usect "Filter",1 _Filt4Threshold .usect "Filter",1 .endif _MinEng .usect "Filter",1 _FiltFunc .usect "Filter",1 Detect .usect "Filter",1 TotMax .usect "Filter",1 .usect "Filter",1 MaxVal DialMin FaxMin Filt3Min Filt4Min DialMask FaxMask Filt3Mask Filt4Mask .set .set .set .set .set .set .set .set .set 7fffh 0001h 0002h 0004h 0008h FILE: INITFILT.C File: INITFILT.C Author: Katrin Matthes /*Routine initializes CPTD Filters double biquad Memory Organization: NameFilter: D11(N-1) D12(N-1) D21(N-1) D22(N-1) Programmable Double Biquad Filter Tone Detection Fixed Point DSPs #include "Filters.h" extern DialFilter[14]; extern DialThreshold; extern DialIn, DialOut, TotIn, TotOut, DialShift; NUMFILTER extern FaxFilter[14]; extern FaxThreshold; extern FaxIn, FaxOut, FaxShift; #elif NUMFILTER extern Filt3Filter[14]; extern Filt3Threshold; extern Filt3In, Filt3Out, Filt3Shift; #elif NUMFILTER extern Filt4Filter[14]; extern Filt4Threshold; extern Filt4In, Filt4Out, Filt4Shift; #endif extern MinEng; InitFiltFunc(void); void InitTot(void) MinEng=MinThres; TotIn=0; TotOut=0; InitFiltFunc(); void InitDial(void) DialFilter[0]=0; DialFilter[1]=0; DialFilter[2]=0; DialFilter[3]=0; DialFilter[4]=Dial1_B0; DialFilter[5]=Dial1_B1; DialFilter[6]=Dial1_A1; DialFilter[7]=Dial1_A2; DialFilter[8]=Dial1_B2; DialFilter[9]=Dial2_B0; DialFilter[10]=Dial2_B1; DialFilter[11]=Dial2_A1; DialFilter[12]=Dial2_A2; DialFilter[13]=Dial2_B2; DialThreshold=DialThres; DialIn=0; DialOut=0; DialShift=DialScale; Programmable Double Biquad Filter Tone Detection Fixed Point DSPs NUMFILTER void InitFax (void) FaxFilter[0]=0; FaxFilter[1]=0; FaxFilter[2]=0; FaxFilter[3]=0; FaxFilter[4]=Fax1_B0; FaxFilter[5]=Fax1_B1; FaxFilter[6]=Fax1_A1; FaxFilter[7]=Fax1_A2; FaxFilter[8]=Fax1_B2; FaxFilter[9]=Fax2_B0; FaxFilter[10]=Fax2_B1; FaxFilter[11]=Fax2_A1; FaxFilter[12]=Fax2_A2; FaxFilter[13]=Fax2_B2; FaxThreshold=FaxThres; FaxIn=0; FaxOut=0; FaxShift=FaxScale; #elif NUMFILTER void InitFilt3 (void) Filt3Filter[0]=0; Filt3Filter[1]=0; Filt3Filter[2]=0; Filt3Filter[3]=0; Filt3Filter[4]=Filt3_1_B0; Filt3Filter[5]=Filt3_1_B1; Filt3Filter[6]=Filt3_1_A1; Filt3Filter[7]=Filt3_1_A2; Filt3Filter[8]=Filt3_1_B2; Filt3Filter[9]=Filt3_2_B0; Filt3Filter[10]=Filt3_2_B1; Filt3Filter[11]=Filt3_2_A1; Filt3Filter[12]=Filt3_2_A2; Filt3Filter[13]=Filt3_2_B2; Filt3Threshold=Filt3Thres; Filt3In=0; Filt3Out=0; Filt3Shift=Filt3Scale; #elif NUMFILTER void InitFilt4 (void) Filt4Filter[0]=0; Filt4Filter[1]=0; Programmable Double Biquad Filter Tone Detection Fixed Point DSPs Filt4Filter[2]=0; Filt4Filter[3]=0; Filt4Filter[4]=Filt4_1_B0; Filt4Filter[5]=Filt4_1_B1; Filt4Filter[6]=Filt4_1_A1; Filt4Filter[7]=Filt4_1_A2; Filt4Filter[8]=Filt4_1_B2; Filt4Filter[9]=Filt4_2_B0; Filt4Filter[10]=Filt4_2_B1; Filt4Filter[11]=Filt4_2_A1; Filt4Filter[12]=Filt4_2_A2; Filt4Filter[13]=Filt4_2_B2; Filt4Threshold=Filt4Thres; Filt4In=0; Filt4Out=0; Filt4Shift=Filt4Scale; #endif FILE: FILTERS.H File: FILTERS.H Author: Katrin Matthes Include file containing filter coefficients double biquad filters #define NUMFILTER define number filters executed parallel Dial Filter*/ coefficients Coefficients biquad #define Dial1_B0 #define Dial1_B1 -914 #define Dial1_B2 #define Dial1_A1 30507 #define Dial1_A2 -16092 Coefficients biquad #define Dial2_B0 4602 #define Dial2_B1 -9029 #define Dial2_B2 4602 #define Dial2_A1 30881 #define Dial2_A2 16118 #define DialScale /*input sample threshold dial tone detection #define DialThres 0x28 0x31 Filter 1100 Programmable Double Biquad Filter Tone Detection Fixed Point DSPs Coefficients biquad #define Fax1_B0 1209 #define Fax1_B1 -999 #define Fax1_B2 1209 #define Fax1_A1 20049 #define Fax1_A2 -15773 Coefficients biquad #define Fax2_B0 4616 #define Fax2_B1 -7426 #define Fax2_B2 4616 #define Fax2_A1 21726 #define Fax2_A2 -15806 #define FaxScale input sample threshold answer tone detection #define FaxThres 0x25 /*0x2a*/ Filt3 Filter Coefficients biquad #define Filt3_1_B0 #define Filt3_1_B1 #define Filt3_1_B2 #define Filt3_1_A1 #define Filt3_1_A2 Coefficients biquad #define Filt3_2_B0 #define Filt3_2_B1 #define Filt3_2_B2 #define Filt3_2_A1 #define Filt3_2_A2 #define Filt3Scale input sample threshold Filt3 detection #define Filt3Thres 0x18 /*0x38*/ Filt4 Filter Coefficients biquad #define Filt4_1_B0 #define Filt4_1_B1 #define Filt4_1_B2 #define Filt4_1_A1 #define Filt4_1_A2 Coefficients biquad #define Filt4_2_B0 #define Filt4_2_B1 #define Filt4_2_B2 #define Filt4_2_A1 #define Filt4_2_A2 #define Filt4Scale input sample threshold Filt4 detection #define Filt4Thres 0x20 /*0x38*/ Programmable Double Biquad Filter Tone Detection Fixed Point DSPs #define MinThres 0x110 minimum detection threshold min. max. timing cadence check: busy tone #define BusyMin value 10ms, BusyMax+20ms account filter delay*/ #define BusyMax Masks different Filters*/ #define DialMask 0x0001 #define FaxMask 0x0002 #define Filt3Mask 0x0004 #define Filt4Mask 0x0008 initialization routines implemented filters void InitTot(void); void InitDial(void); NUMFILTER void InitFax(void); #elif NUMFILTER void InitFilt3(void); #elif NUMFILTER void InitFilt4(void); #endif Appendix Glossary CPTD Call Progress Tone Detection Infinite Impulse Response Programmable Double Biquad Filter Tone Detection Fixed Point DSPs Contact Numbers INTERNET Semiconductor Home Page www.ti.com/sc Distributors www.ti.com/sc/docs/distmenu.htm PRODUCT INFORMATION CENTERS Americas Phone +1(972) 644-5580 +1(972) 480-7800 Email sc-infomaster@ti.com Europe, Middle East, Africa Phone Deutsch +49-(0) 8161 3311 English +44-(0) 1604 3399 +34-(0) Francais +33-(0) 1-30 Italiano +33-(0) 1-30 +44-(0) 1604 Email epic@ti.com Japan Phone International +81-3-3457-0972 Domestic 0120-81-0026 International +81-3-3457-1259 Domestic 0120-81-0036 Email pic-japan@ti.com Asia Phone International +886-2-23786800 Domestic Australia 1-800-881-011 Number -800-800-1450 China 10810 Number -800-800-1450 Hong Kong 800-96-1111 Number -800-800-1450 India 000-117 Number -800-800-1450 Indonesia 001-801-10 Number -800-800-1450 Korea 080-551-2804 Malaysia 1-800-800-011 Number -800-800-1450 Zealand 000-911 Number -800-800-1450 Philippines 105-11 Number -800-800-1450 Singapore 800-0111-111 Number -800-800-1450 Taiwan 080-006800 Thailand 0019-991-1111 Number -800-800-1450 886-2-2378-6808 Email tiasia@ti.com trademark Texas Instruments Incorporated. Other brands names property their respective owners. Programmable Double Biquad Filter Tone Detection Fixed Point DSPs IMPORTANT NOTICE Texas Instruments subsidiaries (TI) reserve right make changes their products discontinue product service without notice, advise customers obtain latest version relevant information verify, before placing orders, that information being relied current complete. products sold subject terms conditions sale supplied time order acknowledgement, including those pertaining warranty, patent infringement, limitation liability. warrants performance semiconductor products specifications applicable time sale accordance with TI's standard warranty. Testing other quality control techniques utilized extent deems necessary support this warranty. Specific testing parameters each device necessarily performed, except those mandated government requirements. CERTAIN APPLICATIONS USING SEMICONDUCTOR PRODUCTS INVOLVE POTENTIAL RISKS DEATH, PERSONAL INJURY, SEVERE PROPERTY ENVIRONMENTAL DAMAGE ("CRITICAL APPLICATIONS"). SEMICONDUCTOR PRODUCTS DESIGNED, AUTHORIZED, WARRANTED SUITABLE LIFE-SUPPORT DEVICES SYSTEMS OTHER CRITICAL APPLICATIONS. INCLUSION PRODUCTS SUCH APPLICATIONS UNDERSTOOD FULLY CUSTOMER'S RISK. order minimize risks associated with customer's applications, adequate design operating safeguards must provided customer minimize inherent procedural hazards. assumes liability applications assistance customer product design. does warrant represent that license, either express implied, granted under patent right, copyright, mask work right, other intellectual property right covering relating combination, machine, process which such semiconductor products services might used. TI's publication information regarding third party's products services does constitute TI's approval, warranty, endorsement thereof. Copyright 1999 Texas Instruments Incorporated Programmable Double Biquad Filter Tone Detection Fixed Point DSPs Other recent searchesTPS742xx - TPS742xx TPS742xx Datasheet TPS743xx - TPS743xx TPS743xx Datasheet TPS744xx - TPS744xx TPS744xx Datasheet TP-306 - TP-306 TP-306 Datasheet TLE4925 - TLE4925 TLE4925 Datasheet TLE4925C - TLE4925C TLE4925C Datasheet STLC8201 - STLC8201 STLC8201 Datasheet PM8315 - PM8315 PM8315 Datasheet MG3261 - MG3261 MG3261 Datasheet MU3261 - MU3261 MU3261 Datasheet MZ3261 - MZ3261 MZ3261 Datasheet LXT307 - LXT307 LXT307 Datasheet BZV01 - BZV01 BZV01 Datasheet BZV02 - BZV02 BZV02 Datasheet BZH01 - BZH01 BZH01 Datasheet BZH02 - BZH02 BZH02 Datasheet BZH11 - BZH11 BZH11 Datasheet BZH12 - BZH12 BZH12 Datasheet BZH19 - BZH19 BZH19 Datasheet BZH20 - BZH20 BZH20 Datasheet BVA01 - BVA01 BVA01 Datasheet BVA02 - BVA02 BVA02 Datasheet BVB01 - BVB01 BVB01 Datasheet BVB02 - BVB02 BVB02 Datasheet AN115 - AN115 AN115 Datasheet AN124 - AN124 AN124 Datasheet AN134 - AN134 AN134 Datasheet AN135 - AN135 AN135 Datasheet
Privacy Policy | Disclaimer |