⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dtmfi.h54

📁 Express DSP compliant C55x DTMF detector software is proposed in two versions: one with a 5 ms frame
💻 H54
字号:
*-------------------------------------------------------------------------*
*                                                                         *
*   THIS IS AN UNPUBLISHED WORK CONTAINING CONFIDENTIAL AND PROPRIETARY   *
*   INFORMATION.  IF PUBLICATION OCCURS, THE FOLLOWING NOTICE APPLIES:    *
*      "COPYRIGHT 2001 MIKET DSP SOLUTIONS, ALL RIGHTS RESERVED"          *
*                                                                         *
*-------------------------------------------------------------------------*



IDTMF_FR_SZ			.equ (40)

DTMF_ST_IDLE  		.equ (0)
DTMF_ST_MAYBE       .equ (1)
DTMF_ST_TONE		.equ (2)
DTMF_ST_GOOD_TONE	.equ (3)
DTMF_ST_END			.equ (4)
DTMF_ST_ABORT		.equ (5)
DTMF_ST_MAX			.equ (6)


DTMF_1DB			.equ (170)
DTMF_2KFLT_SZ		.equ (19)
DTMF_2KFLT_HSZ		.equ (5)
DTMF_DR				.equ (10)
DTMF_2KDR			.equ (2)
DTMF_BPDR			.equ (5)
DTMF_BPFR_SZ		.equ (IDTMF_FR_SZ/DTMF_2KDR)
DTMF_DFR_SZ			.equ (IDTMF_FR_SZ/DTMF_DR)
DTMF_BPFLT_SZ		.equ (31)
DTMF_LO_DFT_SZ		.equ (12)
DTMF_LOSD_SZ		.equ ((DTMF_LO_DFT_SZ-DTMF_DFR_SZ)*2)
DTMF_HI_DFT_SZ		.equ (8)
DTMF_HISD_SZ		.equ ((DTMF_HI_DFT_SZ-DTMF_DFR_SZ)*2)
DTMF_MASK_MIN_EN	.equ (1<<0)
DTMF_MASK_SUM_EN	.equ (1<<1)
DTMF_MASK_RS_EDGE	.equ (1<<2)
DTMF_MASK_FL_EDGE	.equ (1<<3)
DTMF_MASK_STABLE	.equ (1<<4)
DTMF_MASK_2K_BOUND	.equ (1<<5)
DTMF_MASK_FWD_TWIST .equ (1<<6)
DTMF_MASK_REV_TWIST .equ (1<<7)
DTMF_MASK_LO_PART	.equ (1<<8)
DTMF_MASK_LO_CLEAN	.equ (1<<9)
DTMF_MASK_LO_INRANGE .equ (1<<10)
DTMF_MASK_SAME_FRQ	.equ (1<<11)
DTMF_MASK_HI_PART	.equ (1<<12)
DTMF_MASK_HI_CLEAN	.equ (1<<13)
DTMF_MASK_HI_INRANGE .equ (1<<14)
DTMF_FWD_TWIST_CORR	.equ (DTMF_1DB+DTMF_1DB/2)
DTMF_REV_TWIST_CORR	.equ (DTMF_1DB/2)

DTMF_tSc		.struct 
	.if (IDTMF_FR_SZ != 80)
slFrameEn		.long    
	.endif
slLoBpEn		.long
slHiBpEn		.long
slDialEn		.long
asLoMainEn		.int 4
asLoDevEn		.int 4
asHiMainEn		.int 4
asHiDevEn		.int 4
as2kData		.int (IDTMF_FR_SZ+DTMF_2KFLT_SZ)
asBpData		.int (IDTMF_FR_SZ/2+DTMF_BPFLT_SZ)
asLoData		.int (DTMF_LO_DFT_SZ*2)
asHiData		.int (DTMF_HI_DFT_SZ*2)
sLoBpEn			.int 
sLoMaxFreqEn	.int
sLoNextEn		.int
sLoFreqNo		.int
sLoFreqDev		.int
sHiBpEn			.int 
sHiMaxFreqEn	.int
sHiNextEn		.int
sHiFreqNo		.int
sHiFreqDev		.int
s2kEnDlt		.int
sSumEn			.int
sSumDialEn		.int 
	.if (IDTMF_FR_SZ == 80)
sDialEn			.int
sFrameEn		.int	
	.endif
sTestFailed		.int
sDigit			.int
DTMF_tSc_Sz		.endstruct

DTMF_tCfg		.struct
sNoiseThr		.int
sMinEnThr		.int
sSumEnThr		.int
sVarThr			.int
s2kUpThr		.int
sFwdTwistThr	.int
sRevTwistThr	.int
sPartThr		.int
sCleanThr		.int
sMaxFreqDevThr	.int
sMinToneDuration	.int
sMinPostSilenceDuration	.int
sAbortTimeout	.int
DTMF_tCfg_Sz	.endstruct
	
DTMF_tStats		.struct
sEn				.int
sLoEn			.int
sHiEn			.int
sLoFreqDev		.int
sHiFreqDev		.int
DTMF_tStats_Sz	.endstruct

DTMF_tDbv		.struct 
	.if (IDTMF_FR_SZ == 40)
slDialEn		.long
slFrameEn		.long    
	.endif
sState			.int
sLastDigit		.int
sGood			.int
sBad			.int
asSumEn			.int 6
	.if (IDTMF_FR_SZ == 40)
sZFrameEn		.int     
	.endif
Stat    		.tag 	DTMF_tStats
DTMF_tDbv_Sz	.endstruct

DTMF_tDb		.struct
v				.tag DTMF_tDbv
pCfg			.int    ; (DTMF_tCfg *)
sIsOff			.int
as2kDataSav		.int (DTMF_2KFLT_SZ)
asBpDataSav		.int (DTMF_BPFLT_SZ)
asLoDataSav		.int (DTMF_LOSD_SZ)  
	.if (IDTMF_FR_SZ != 80)
asHiDataSav		.int (DTMF_HISD_SZ)
	.endif
DTMF_tDb_Sz		.endstruct

	.global	_dtmf_aLo
	.global	_dtmf_aHi
	.global	_dtmf_aLoBpI	
	.global	_dtmf_aLoBpQ	
	.global	_dtmf_aHiBpI	
	.global	_dtmf_aHiBpQ	
	.global	_dtmf_aDialI	
	.global	_dtmf_aDialQ
	.global	_dtmf_a697
	.global	_dtmf_a770
	.global	_dtmf_a852
	.global	_dtmf_a941
	.global	_dtmf_a1209
	.global	_dtmf_a1336
	.global	_dtmf_a1477
	.global	_dtmf_a1633
		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -