📄 newmath.h
字号:
#ifndef _NEWMATH_H_
#define _NEWMATH_H_
#define DF_FILTER_NULL 0
#define DF_FILTER_LOWPASS 1
#define DF_FILTER_HIGHPASS 2
#define DF_FILTER_BELDPASS 3
#define DF_FILTER_BELDSTOP 4
#define DF_WINDOW_RECTANGLE 0 //矩形窗
#define DF_WINDOW_BARTLETT 1 //三角形窗
#define DF_WINDOW_HANNING 2 //汉宁窗
#define DF_WINDOW_HAMMING 3 //海明窗
#define DF_WINDOW_BLACKMAN 4 //布莱克窗
#define DF_WINDOW_SINXX 5 //
#define DF_WINDOW_COS 6 //余弦边窗
#define DF_WINDOW_KAISER 7 //凯塞窗
#define DF_WINDOW_KAISER_EX 8 //修正的凯塞窗
struct FILTER_PARAMETER
{
BOOL bEmulation;
BOOL bFilter;
int nFilter;
int nWindow;
int nChannel;
double dbSampleFreq;
int nDelay;
double dbFreqLow;
double dbFreqHigh;
};
struct WAVE_ATTRIB
{
BOOL bWave;
int nWave;
double dbAmp;
double dbFreq;
double dbRatio;
double dbPhase;
};
float GetMin(float *pfData,int nCount);
float GetMax(float *pfData,int nCount);
float GetAverage(float *pfData,int nCount);
float GetDelta(float *pfData,int nCount);
long GetSum(BYTE *pByte,int nCount);
BOOL GetSinWave(WORD *pwData, int nCount, WORD wAmp, double dbSignFreq,
double dbPhase, WORD wDC, double dbSampleFreq, BOOL bAdd);
BOOL GetSinWave(float *pfData, int nCount, double dbAmp, double dbSignFreq, double dbPhase, double dbDC, double dbSampleFreq, BOOL bAdd);
BOOL GetRectangleWave(float* pfData,int nCount,double dbAmp,double dbSignFreq,double dbPhase,double dbDC,double dbRatio,double dbSampleFreq,BOOL bAdd);
BOOL GetTriangleWave(float* pfData,int nCount,double dbAmp,double dbSignFreq,double dbPhase,double dbDC,double dbRatio,double dbSampleFreq,BOOL bAdd);
BOOL GetPurseWave(float* pfData,int nCount,double dbAmp,double dbSignFreq,double dbPhase,double dbDC,double dbSampleFreq,BOOL bAdd);
//BOOL far EmulationSurge9225(WORD* pwData,int nCount,int nBase,int nOscillatory,int nDivideFreq,BOOL bInternalTrigger);
BOOL far EmulationSurge(WORD* pwData, int nCount, int nPrecision);
void Dft_InternalDouble(float* pfReal,float *pfImage,int nCount);
void Dft_InternalSingle(float* pfReal,float *pfImage,int nCount);
void Fft_InternalDouble(float *pfReal,float *pfImage,int nCount);
void Fft_InternalSingle(float *pfReal,float *pfImage,int nCount);
float WaveDistortion(float *pfReal,float *pfImage,int nCount,double dbWaveFreq,double dbSampleFreq);
double GetWindowCoefficient(int nLocation ,int nDelay,int nWindowStyle);
double GetLowPassCoefficient_Window(int nLocation ,int nDelay,double dbFc,double dbS,int nWindowStyle);
double GetHighPassCoefficient_Window(int nLocation ,int nDelay,double dbFc,double dbS,int nWindowStyle);
double GetBeldPassCoefficient_Window(int nLocation ,int nDelay,double dbFc1,double dbFc2,double dbS,int nWindowStyle);
double GetBeldStopCoefficient_Window(int nLocation ,int nDelay,double dbFc1,double dbFc2,double dbS,int nWindowStyle);
BOOL GetFilterCoefficient_Window(double* pdbCoefficient ,int nDelay,double dbFc1,double dbFc2,double dbS,int nWindowStyle,BOOL bFilterStyle);
void Fc_Filter_D21(double* pdbData,int nCount,double* pdbFilterCoefficient,int nDelay);
void Fc_Filter_D21(float* pfData,int nCount,double* pdbFilterCoefficient,int nDelay);
void Fc_Filter_D21(WORD* pwData,int nCount,double* pdbFilterCoefficient,int nDelay);
void far GetMin2Coordinate(float* pfDataX, float* pfDataY, int nCount, float* pfK, float* pfB, float* pfR2);
BOOL ExploreFormature(double* pdbA, double* pdbY, int nCount, double* pdbX);
BOOL CurveFittingFormature(float* pfX, float* pfY,int nCount,int nRank,double* pdbA);
BOOL CurveFittingFormature(double* pdbX,double* pdbY,int nCount,int nRank,double* pdbA);
double GetCurveFittingFormatureValue(double* pdbNewA, int nRank,double dbValue);
void GetSinPeriod(float *pfWave,int nCount,int nIndex,int *pnStart,int *pnEnd,int *pnMiddle,int nValidLen = 10);
float GetAntiLineCoordinateXY(float x1, float y1, float x2, float y2, float fR);
float GetLineCoordinateXY(float fX1,float fY1,float fX2,float fY2,float fValue);
void TransrateWave(float* pfWave, int nCount, float fX1, float fY1, float fX2, float fY2);
float Modify_AverageDC(WORD *pwData,int nCount,float fX1,float fY1,float fX2,float fY2);
float Modify_AverageAC(WORD *pwData,int nCount,float fX1,float fY1,float fX2,float fY2);
float Modify_AverageDC(float *pfData,int nCount,float fX1,float fY1,float fX2,float fY2);
float Modify_AverageAC(float *pfData,int nCount,float fX1,float fY1,float fX2,float fY2);
void FilterDC(WORD *pwData,int nCount);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -