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

📄 defs.h

📁 USB开发的一些代码!适用于EX-USBFX2平台!这些源码还是蛮不错的!
💻 H
字号:

#ifndef __DEFS_H__  
#define __DEFS_H__


//error handling

#define SUCCESS				0
#define FAILURE				-1

#define SOFTWARE_FAULT				1
#define DEVICE_FAILURE				2
#define UNRECOGNIZABLE_SIGNAL		3



//logging


//basic data type definition

#include "Complex.h"

typedef unsigned char BYTE;


//constants
#define PI			3.1415927


//basic ADSL constants 


#define UPSTREAM	0
#define DOWNSTREAM	1 


#define MAX_READ_SAMPLE		(2048 + 256)

#define MAX_TONE_COUNT		(MAX_READ_SAMPLE / 2)

//ADSL standard class. different classes have different filter characteristics
#define ADSL_ABOVE_POTS					0
#define ADSL_ABOVE_ISDN					1
#define ADSL_SAME_CABLE_AS_TCM_ISDN		2


//max tone count used by a symbol
#define G_992_1_ANNEX_A_UPSTREAM_MAX_TONE    32
#define G_992_1_ANNEX_A_DOWNSTREAM_MAX_TONE  256

//循环前缀长
#define G_992_1_ANNEX_A_DOWNSTREAM_CYCLIC_PREFIX_LENGTH 32
#define G_992_1_ANNEX_A_UPSTREAM_CYCLIC_PREFIX_LENGTH   4

//采样频率
#define DOWNSTREAM_SAMPLE_FREQENCE  2.208e6
#define UPSTREAM_SAMPLE_FREQENCE    276e3

#include <math.h>
//信号功率
//#define Beta                        pow(2,13)/(16*sqrt(2)*5.3)
#define Beta                        68.3

//ANSI T1.413 activation and acknowledgment	tone
#define ANSI_T1_413_R_ACT_REQ   8

//G.994.1 4.3125KHz signaling family carrier sets
#define G_994_1_CARRIER_SET_A43			0
#define G_994_1_CARRIER_SET_B43			1
#define G_994_1_CARRIER_SET_C43			2
#define G_994_1_CARRIER_SET_J43			3
#define G_994_1_CARRIER_SET_A43c		4



#define MAX_POSSIBLE_CARRIER_SETS		5

#define MAX_TONES_PER_CARRIER_SET		3

//以下数组最高维是ADSL standard class
extern int CONS_PossibleCarrierSets[][MAX_POSSIBLE_CARRIER_SETS]; 

extern int CONS_CarrierSetTones[][2][MAX_TONES_PER_CARRIER_SET]; 

extern int CONS_FirstToneIndex[][2];
extern int CONS_LastToneIndex[][2];



//协议分析的常量

//数据不包含信息
#define NO_INFOMATION  -1


#define FLAG		0x7E
#define GALF		0x81

//G.994.1每个比特的符号数
#define SYMBOL_PER_DPSK_BIT		8
//R-ToneReq信号保持同相的个数
#define R_TONESREQ_SYMBOL_COUNT	69



//算法参数
//R-ToneReq信号保持同相的个数阈值,用于判断是否是该信号
#define R_TONESREQ_SYMBOL_COUNT_LOW			64
#define R_TONESREQ_SYMBOL_COUNT_HIGH		74

//R-ToneReq信号相位翻转个数阈值,用于确认该信号
#define R_TONESREQ_REVERSE_COUNT_THRESHOLD	2

//在一个DPSK比特的若干符号中用于进行判决的序号范围
#define DPSK_FIRST_CHECK_SYMBOL 3
#define DPSK_LAST_CHECK_SYMBOL  5					

//DPSK字节错误门限
#define DPSK_ERROR_THRESHOLD	3


#define SIGNAL_CHECK_LENGTH 3


//#define INITTRAIN_SIGNAL_CHECK_SKIP_COUNT		  10
#define INITTRAIN_SIGNAL_CHECK_COUNT			  6
#define INITTRAIN_CHANNEL_ANALYZER_CHECK_COUNT	  1000


//Rates1阶段最大符号个数
#define MAX_RATES1_BYTE_NUMBER    2 + 992 / 8
#define MAX_CRC_BYTE_NUMBER       16 / 8
#define MAX_MSG1_BYTE_NUMBER      2 + 48 / 8
#define MAX_EXCHANGE_BYTE_NUMBER      2 + 510
//exchange阶段调制连续使用的音频个数
#define EXCHANGE_MODULATE_USED_TONE_COUNT      4


#endif

⌨️ 快捷键说明

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