71 lines
1.7 KiB
C
71 lines
1.7 KiB
C
|
#ifndef NABTSPRV_H
|
||
|
#define NABTSPRV_H
|
||
|
|
||
|
#include "nabtsapi.h"
|
||
|
|
||
|
/* Nabts private */
|
||
|
|
||
|
//#define INTERPOLATE_ARRAY(a,f) ((a)[float2long(f)]+((f)-float2long(f))*((a)[float2long(f)+1]))
|
||
|
inline Double _InterpDoubleArr(Double dArray[], Double dIndex)
|
||
|
{
|
||
|
unsigned long nIndex = float2long(dIndex);
|
||
|
return (dArray[nIndex] + (dIndex-nIndex)*(dArray[nIndex+1]-dArray[nIndex]));
|
||
|
}
|
||
|
inline Double _InterpUCharArr(unsigned char cArray[], Double dIndex)
|
||
|
{
|
||
|
unsigned long nIndex = float2long(dIndex);
|
||
|
return (cArray[nIndex] + (dIndex-nIndex)*(cArray[nIndex+1]-cArray[nIndex]));
|
||
|
}
|
||
|
|
||
|
|
||
|
#ifdef DEBUG
|
||
|
#define EASSERT(exp) ((exp) || \
|
||
|
(debug_printf(("\n%s(%d): EASSERT(%s) failed\n", \
|
||
|
__FILE__, __LINE__, #exp)), \
|
||
|
abort_execution(), \
|
||
|
0))
|
||
|
#else //DEBUG
|
||
|
#define EASSERT(exp) 0
|
||
|
#endif //DEBUG
|
||
|
|
||
|
#define SASSERT(exp) (void)(EASSERT(exp))
|
||
|
|
||
|
/*
|
||
|
extern Double* g_pdGCRSignal1;
|
||
|
extern Double* g_pdGCRSignal2;
|
||
|
*/
|
||
|
|
||
|
extern int g_nNabtsAdditionalTapsGCR;
|
||
|
|
||
|
/* Equalization constants */
|
||
|
|
||
|
#define GCR_SIZE 567
|
||
|
#define GCR_SAMPLE_RATE 2
|
||
|
|
||
|
#define NABSYNC_SIZE 115
|
||
|
#define NABSYNC_SAMPLE_RATE 1
|
||
|
|
||
|
#define GCR_START_DETECT 0
|
||
|
#define GCR_END_DETECT 50
|
||
|
|
||
|
#define NABSYNC_START_DETECT 15
|
||
|
#define NABSYNC_END_DETECT 80
|
||
|
|
||
|
/**************************/
|
||
|
|
||
|
/* lower numbers must be better */
|
||
|
typedef enum {fec_errs_0, fec_errs_1, fec_errs_multiple} fec_error_class;
|
||
|
|
||
|
fec_error_class check_fec(unsigned char data[28]);
|
||
|
|
||
|
typedef struct equalize_match_str {
|
||
|
int nSignalSize;
|
||
|
int nSignalSampleRate;
|
||
|
int nSignalStartConv;
|
||
|
int nSignalEndConv;
|
||
|
Double *pdSignal;
|
||
|
} EqualizeMatch;
|
||
|
|
||
|
#endif
|
||
|
|