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

📄 cpdi.h54

📁 CP detector (CPD) only reports the onset and removal of a tone. The analysis of timing (if required)
💻 H54
字号:
*---------------------------------------------------------------------*
*                                                                     *
* THIS IS AN UNPUBLISHED WORK CONTAINING CONFIDENTIAL AND PROPRIETARY *
* INFORMATION.  IF PUBLICATION OCCURS, THE FOLLOWING NOTICE APPLIES:  *
*     "COPYRIGHT 2001 MICHAEL TSIROULNIKOV, ALL RIGHTS RESERVED"      *
*                                                                     *
*---------------------------------------------------------------------*/

ICPD_FR_SZ				.set (40)

CPD_MIKET_tStts 		.struct

sLoEn					.int 
sLoErr					.int
sHiEn					.int
sHiErr					.int

CPD_MIKET_tStts_Sz		.endstruct

ICPD_tCfg 				.struct

sNormShift				.int
sNoiseThr				.int
sMinEnThr				.int
sStableThr				.int
sTwistThr				.int
sCleanThr				.int
sMaxFreqDevThr			.int
sMinToneDuration		.int
sMinEndDuration			.int
sAbortTimeout			.int

ICPD_tCfg_Sz			.endstruct

;--------------------- local defs ------------------------------------*/

CPD_BP_DR				.set (10)
CPD_BP_FSZ   	    	.set (60)
CPD_BP_HSZ  	    	.set (CPD_BP_FSZ/2)
CPD_BP_SSZ   	    	.set (CPD_BP_FSZ-CPD_BP_DR)
CPD_BP_ASZ   	    	.set (CPD_BP_SSZ+ICPD_FR_SZ)

CPD_PG_DR           	.set (4)
CPD_PG_FSZ   	    	.set (56)
CPD_PG_HSZ   	    	.set (CPD_PG_FSZ/2)
CPD_PG_SSZ   	    	.set (CPD_PG_FSZ-ICPD_FR_SZ/CPD_BP_DR)
CPD_PG_ASZ   	    	.set (CPD_PG_FSZ)

CPD_EN_SZ       		.set (8)

CPD_MASK_DUAL      		.set (1<<0)
CPD_MASK_MAX_EN    		.set (1<<1)
CPD_MASK_RS_EDGE   		.set (1<<2)
CPD_MASK_FL_EDGE   		.set (1<<3)

CPD_MASK_LO_STABLE 		.set (1<<4)
CPD_MASK_HI_STABLE 		.set (1<<5)
CPD_MASK_TWIST     		.set (1<<6)
CPD_MASK_CLEAN     		.set (1<<7)

CPD_MASK_LO_OK     		.set (1<<8)
CPD_MASK_HI_OK     		.set (1<<9)
CPD_MASK_SAME_DGT  		.set (1<<10)
CPD_MASK_CLEAN_MB  		.set (1<<11)

CPD_MASK_SINGLE    		.set (1<<12)
CPD_MASK_SINGLE_MB 		.set (1<<13)

CPD_EN_BP          		.set (170*5)
CPD_EN_PG          		.set (170*7+85)

CPD_FREQS           	.set (5)

CPD_tElem 				.struct

sCpred					.int
sSpred					.int
sDist					.int
sErr					.int
sEn						.int

CPD_tElem_Sz			.endstruct

CPD_tOutSav 			.struct

sC						.int
sS						.int

CPD_tOutSav_Sz			.endstruct

CPD_tOut 				.struct

sC						.int
sS						.int
slEn					.long

CPD_tOut_Sz				.endstruct

CPD_tSc 				.struct

aOut					.int (CPD_tOut_Sz* CPD_FREQS)
aslEnSort				.long CPD_FREQS
slBpEn					.long

Low						.tag  CPD_tElem
High					.tag  CPD_tElem 

sBpEn					.int
sSumEn					.int

asBpData				.int CPD_BP_ASZ
asPgIData				.int CPD_PG_ASZ
asPgQData				.int CPD_PG_ASZ
	
;	/* Sum shall be followed by Dif */
asPgISum				.int CPD_PG_HSZ
asPgIDif				.int CPD_PG_HSZ
asPgQSum				.int CPD_PG_HSZ
asPgQDif				.int CPD_PG_HSZ

sMaxIdx					.int
sNextIdx				.int
sRestIdx				.int
sMaxEn					.int
sNextEn					.int
sRestEn					.int

sLoIdx					.int
sHiIdx					.int

sTestFailed				.int
sDigit					.int

CPD_tSc_Sz				.endstruct

CPD_tDbv				.struct

sState					.int
sDigit					.int
sFrCntr					.int;
sAvrEn					.int;

asSumEn					.int CPD_EN_SZ

CPD_tDbv_Sz				.endstruct;   /*  words */


CPD_tDb 				.struct; /*  words */

pCfg					.int;    const ICPD_tCfg *pCfg;    
aOutSav					.int (CPD_tOutSav_Sz*CPD_FREQS)
asBpDataSav				.int CPD_BP_SSZ
asPgIDataSav			.int CPD_PG_SSZ
asPgQDataSav			.int CPD_PG_SSZ
Stts					.tag CPD_MIKET_tStts
v						.tag CPD_tDbv

sIsOn					.int

CPD_tDb_Sz				.endstruct;                       



⌨️ 快捷键说明

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