📄 wav_filters.h
字号:
#if !defined(_WAV_FILTERS_)
#define _WAV_FILTERS_
// Daubechies 7-9 biorth filters.
// FLP : 正向低通滤波器
// FHP : 正向高通滤波器
// ILP : 反向低通滤波器.
// IHP : 反向高通滤波器.
float D79_FLP[9] =
{(float)0.0378287, (float)-0.0238492, (float)-0.110624, (float)0.3774026, \
(float)0.8526986, (float)0.3774026, (float)-0.110624, (float)-0.0238492, \
(float)0.0378287};
float D79_FHP[7] =
{(float)0.064539, (float)-0.0406897, (float)-0.4180924, (float)0.7884848, \
(float)-0.4180924, (float)-0.0406897, (float)0.064539};
float D79_ILP[7] =
{(float)-0.064539, (float)-0.0406897, (float)0.4180924, (float)0.7884848, \
(float)0.4180924, (float)-0.0406897, (float)-0.064539};
float D79_IHP[9] =
{(float)0.0378287, (float)0.0238492, (float)-0.110624, (float)-0.3774026, \
(float)0.8526986, (float)-0.3774026, (float)-0.110624, (float)0.0238492, \
(float)0.0378287};
// 滤波器的长度
int D79_Nilp=7,D79_Nihp=9;
int D79_Nflp=9,D79_Nfhp=7;
// 镜像对称和周期对称的选择
int D79_PS=0;
// How the filters should be placed on data (the default shifts)
int D79_begilp=3,D79_begihp=5;
int D79_begflp=4,D79_begfhp=4;
/**************************************************************************/
// Antonini 7-9 biorth filters.
float Antonini_FLP[9] = {(float)0.037828798579918, (float)-0.023849297515860, \
(float)-0.110624027489511, (float)0.377402688109134, \
(float)0.852698653219295, (float)0.377402688109134, \
(float)-0.110624027489511, (float)-0.023849297515860, \
(float)0.037828798579918};
float Antonini_FHP[7] = {(float)0.064539050132459, (float)-0.040689752616599, \
(float)-0.418092440725732, (float)0.788484872206183, \
(float)-0.418092440725732, (float)-0.040689752616599, \
(float)0.064539050132459};
float Antonini_ILP[7] = {(float)-0.064539050132459, (float)-0.040689752616599, \
(float)0.418092440725732, (float)0.788484872206183, \
(float)0.418092440725732, (float)-0.040689752616599, \
(float)-0.064539050132459};
float Antonini_IHP[9] = {(float)0.037828798579918, (float)0.023849297515860, \
(float)-0.110624027489511, (float)-0.377402688109134, \
(float)0.852698653219295, (float)-0.377402688109134, \
(float)-0.110624027489511, (float)0.023849297515860, \
(float)0.037828798579918};
int Antonini_Nilp=7,Antonini_Nihp=9;
int Antonini_Nflp=9,Antonini_Nfhp=7;
int Antonini_PS=0;
int Antonini_begilp=3,Antonini_begihp=5;
int Antonini_begflp=4,Antonini_begfhp=4;
/**************************************************************************/
// Haar.
float Haar_FLP[2] ={(float)0.70711,(float)0.70711};
float Haar_FHP[2] ={(float)0.70711,(float)-0.70711};
float Haar_ILP[2] ={(float)0.70711,(float)0.70711};
float Haar_IHP[2] ={(float)-0.70711,(float)0.70711};
int Haar_Nilp=2,Haar_Nihp=2;
int Haar_Nflp=2,Haar_Nfhp=2;
int Haar_PS=0;
int Haar_begilp=0,Haar_begihp=0;
int Haar_begflp=0,Haar_begfhp=0;
/**************************************************************************/
// Daubechies 8 tap orthogonal.
float D8_FLP[8]={(float)0.2303778133088971, (float)0.7148465705529174, (float)0.6308807679298597, \
(float)-0.0279837694168613, (float)-0.1870348117190946, (float)0.0308413818355606, \
(float)0.0328830116668853, (float)-0.0105974017850690};
float D8_FHP[8]={(float)-0.0105974017850690, (float)-0.0328830116668853, (float)0.0308413818355606, \
(float)0.1870348117190946, (float)-0.0279837694168613, (float)-0.6308807679298597, \
(float)0.7148465705529174, (float)-0.2303778133088971};
float D8_ILP[8]={(float)-0.0105974017850690, (float)0.0328830116668853, (float)0.0308413818355606, \
(float)-0.1870348117190946, (float)-0.0279837694168613, (float)0.6308807679298597, \
(float)0.7148465705529174, (float)0.2303778133088971};
float D8_IHP[8]={(float)-0.2303778133088971, (float)0.7148465705529174, (float)-0.6308807679298597, \
(float)-0.0279837694168613, (float)0.1870348117190946, (float)0.0308413818355606, \
(float)-0.0328830116668853, (float)-0.0105974017850690};
int D8_Nilp=8,D8_Nihp=8;
int D8_Nflp=8,D8_Nfhp=8;
int D8_PS=0;
int D8_begilp=3,D8_begihp=3;
int D8_begflp=3,D8_begfhp=3;
// 三次B样条小波函数.
float DB3_FLP[9] ={(float)0,(float)0,(float)0.0625,(float)0.2500,
(float)0.3750,(float)0.2500,(float)0.0625,(float)0,(float)0};
float DB3_FHP[9] ={(float)-0.00008,(float)-0.01643,(float)-0.10872,(float)-0.59261,(float)0,
(float)0.59261,(float)0.10872,(float)0.01643,(float)0.00008};
float DB3_ILP[2] ={(float)0.70711,(float)0.70711};
float DB3_IHP[2] ={(float)-0.70711,(float)0.70711};
int DB3_Nilp=2,DB3_Nihp=2;
int DB3_Nflp=9,DB3_Nfhp=9;
int DB3_PS=0;
int DB3_begilp=0,DB3_begihp=0;
int DB3_begflp=0,DB3_begfhp=0;
// 二次B样条小波函数.
float DB2_FLP[6] ={(float)0,(float)0.1250,(float)0.3750,(float)0.3750,(float)0.1250,(float)0};
float DB2_FHP[6] ={(float)-0.0061,(float)-0.0869,(float)-0.5798,(float)0.5798,(float)0.0869,(float)0.0061};
float DB2_ILP[2] ={(float)0.70711,(float)0.70711};
float DB2_IHP[2] ={(float)-0.70711,(float)0.70711};
int DB2_Nilp=2,DB2_Nihp=2;
int DB2_Nflp=6,DB2_Nfhp=6;
int DB2_PS=0;
int DB2_begilp=0,DB2_begihp=0;
int DB2_begflp=0,DB2_begfhp=0;
/**************************************************************************/
/**************************************************************************/
// 变量
float *MFLP,*MFHP;
float *MILP,*MIHP;
int Nflp,Nfhp;
int Nilp,Nihp;
int PS;
int begflp,begfhp;
int mfl,mfh;
int begilp,begihp;
int mil,mih;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -