📄 filter.h
字号:
//下面是经常用到的一些离散小波及其尺度函数的离散形式
//正交的小波理论上无法使用有限支撑的小波反演进行原始信号的无损恢复
//这样一些双正交的非正交的有限支撑的小波在信号的重建上具有比较大的优势
//我们可以看到双正交的小波系列biorxx具有比其他的正交小波好的多的恢复效果
// A few Daubechies filters
//Haar小波,也是一阶的Daubechies小波和Sym小波
double haar_Lo[2] = { 0.707106781187, 0.707106781187};
double haar_Hi[2] = { 0.707106781187, -0.707106781187};
// double haar_Lo[2]={0.7071,0.7071};
// double haar_Hi[2]={0.7071,-0.7071}
//Daubechies小波:正交的、双正交的、具有高阶消失距
double db2_Lo[4]={ 0.482962913145, 0.836516303738,
0.224143868042, -0.129409522551};
double db2_Hi[4]={-0.129409522551, -0.224143868042,
0.836516303738, -0.482962913145};
// double db2_Lo[4]={0.4830,0.8365,0.2241,-0.1294};
// double db2_Hi[4]={-0.1294,-0.2241,0.8365,-0.4830};
double db3_Lo[6] = { 0.332670552950, 0.806891509311,
0.459877502118, -0.135011020010,
-0.085441273882, 0.035226291882 };
double db3_Hi[6] = { 0.035226291882, 0.085441273882,
-0.135011020010, -0.459877502118,
0.806891509311, -0.332670552950 };
// double db3_Lo[6]={0.3327,0.8069,0.4599,-0.1350,-0.0854,0.0352};
// double db3_Hi[6]={0.0352,0.0854,-0.1350,-0.4599,0.8069,-0.3327};
double db4_Lo[8]={ -0.010597401785, -0.032883011667,
0.030841381836, -0.187034811719,
-0.027983769417, 0.630880767930,
0.714846570553, 0.230377813309};
double db4_Hi[8]={ -0.230377813309, 0.714846570553,
-0.630880767930, -0.027983769417,
0.187034811719, 0.030841381836,
-0.032883011667, -0.010597401785 };
// double db4_Lo[8]={-0.0106,0.0329,0.0308,-0.1870,-0.0280,0.6309,0.7148,0.2304};
// double db4_Hi[8]={-0.2304,0.7148,-0.6309,-0.0280,0.1870,0.0308,-0.0329,-0.0106};
double db5_Lo[10] = { 0.003335725285, -0.012580751999,
-0.006241490213, 0.077571493840,
-0.032244869585, -0.242294887066,
0.138428145901, 0.724308528438,
0.603829269797, 0.160102397974 };
double db5_Hi[10] = { -0.160102397974, 0.603829269797,
-0.724308528438, 0.138428145901,
0.242294887066, -0.032244869585,
-0.077571493840, -0.006241490213,
0.012580751999, 0.003335725285 };
// double db5_Lo[10]={0.0033,-0.0126,-0.0062,0.0776,-0.0322,-0.2423,0.1384,0.7243,0.6038,0.1601};
// double db5_Hi[10]={-0.1601,0.6038,-0.7243,0.1384,0.2423,-0.0322,-0.0776,-0.0062,0.0126,0.0033};
double db6_Lo[12] = {-0.001077301085, 0.004777257511,
0.000553842201, -0.031582039318,
0.027522865530, 0.097501605587,
-0.129766867567, -0.226264693965,
0.315250351709, 0.751133908021,
0.494623890398, 0.111540743350 };
double db6_Hi[12] = {-0.111540743350, 0.494623890398,
-0.751133908021, 0.315250351709,
0.226264693965, -0.129766867567,
-0.097501605587, 0.027522865530,
0.031582039318, 0.000553842201,
-0.004777257511, -0.001077301085 };
// double db6_Lo[12]={-0.0011,0.0048,0.0006,-0.0316,0.0275,0.0975,-0.1298,-0.2263,0.3153,0.7511,0.4946,0.1115};
// double db6_Hi[12]={-0.1115,0.4946,-0.7511,0.3153,0.2263,-0.1298,-0.0975,0.0275,0.0316,0.0006,-0.0048,-0.0011};
double db7_Lo[14] = { 0.000353713800, -0.001801640704,
0.000429577973, 0.012550998556,
-0.016574541631, -0.038029936935,
0.080612609151, 0.071309219267,
-0.224036184994, -0.143906003929,
0.469782287405, 0.729132090846,
0.396539319482, 0.077852054085};
double db7_Hi[14] = { -0.077852054085, 0.396539319482,
-0.729132090846, 0.469782287405,
0.143906003929, -0.224036184994,
-0.071309219267, 0.080612609151,
0.038029936935, -0.016574541631,
-0.012550998556, 0.000429577973,
0.001801640704, 0.000353713800 };
// double db7_Lo[14]={0.0004,-0.0018,0.0004,0.0126,-0.0166,-0.0380,0.0806,0.0713,-0.2240,-0.1439,0.4698,0.7291,0.3965,0.0779};
// double db7_Hi[14]={-0.0779,0.3965,-0.7291,0.4698,0.1439,-0.2240,-0.0713,0.0806,0.0380,-0.0166,-0.0126,0.0004,0.0018,0.0004};
double db8_Lo[16] = { -0.000117476784, 0.000675449406,
-0.000391740373, -0.004870352993,
0.008746094047, 0.013981027917,
-0.044088253931, -0.017369301002,
0.128747426620, 0.000472484574,
-0.284015542962, -0.015829105256,
0.585354683654, 0.675630736297,
0.312871590914, 0.054415842243};
double db8_Hi[16] = { -0.054415842243, 0.312871590914,
-0.675630736297, 0.585354683654,
0.015829105256, -0.284015542962,
-0.000472484574, 0.128747426620,
0.017369301002, -0.044088253931,
-0.013981027917, 0.008746094047,
0.004870352993, -0.000391740373,
-0.000675449406, -0.000117476784 };
// double db8_Lo[16]={-0.0001,0.0007,-0.0004,-0.0049,0.0087,0.0140,-0.0441,-0.0174,0.1287,0.0005,-0.2840,-0.0158,0.5854,0.6756,0.3129,0.0544};
// double db8_Hi[16]={-0.0544,0.3129,-0.6756,0.5854,0.0158,-0.2840,-0.0005,0.1287,0.0174,-0.0441,-0.0140,0.0087,0.0049,-0.0004,-0.0007,-0.0001};
/* db9[18]
{ 0.038077947364, 0.243834674613,
0.604823123690, 0.657288078051,
0.133197385825, -0.293273783279,
-0.096840783223, 0.148540749338,
0.030725681479, -0.067632829061,
0.000250947115, 0.022361662124,
-0.004723204758, -0.004281503682,
0.001847646883, 0.000230385764,
-0.000251963189, 0.000039347320 },
db10[20]
{ 0.026670057901, 0.188176800078,
0.527201188932, 0.688459039454,
0.281172343661, -0.249846424327,
-0.195946274377, 0.127369340336,
0.093057364604, -0.071394147166,
-0.029457536822, 0.033212674059,
0.003606553567, -0.010733175483,
0.001395351747, 0.001992405295,
-0.000685856695, -0.000116466855,
0.000093588670, -0.000013264203 }
*/
//双正交的对称的样条小波
double bior13_Lo[6]={-0.0884,0.0884,0.7071,0.7071,0.0884,-0.0884};
double bior13_Hi[6]={0,0,-0.7071,0.7071,0,0};
double bior15_Lo[10]={0.0166,-0.0166,-0.1215,0.1215,0.7071,0.7071,0.1215,-0.1215,-0.0166,0.0166};
double bior15_Hi[10]={0,0,0,0,-0.7071,0.7071,0,0,0,0};
double bior22_Lo[6]={0,-0.1768,0.3536,1.0607,0.3536,-0.1768};
double bior22_Hi[6]={0,0.3536,-0.7071,0.3536,0,0};
double bior24_Lo[10]={0,0.0331,-0.0663,-0.1768,0.4198,0.9944,0.4198,-0.1768,-0.0663,0.0331};
double bior24_Hi[10]={0,0,0,0.3536,-0.7071,0.3536,0,0,0,0};
double bior26_Lo[14]={0,-0.0069,0.0138,0.0470,-0.1077,-0.1699,0.4475,0.9667,0.4475,-0.1699,-0.1077,0.0470,0.0138,-0.0069};
double bior26_Hi[14]={0,0,0,0,0,0.3536,-0.7071,0.3536,0,0,0,0,0,0};
double bior28_Lo[18]={0,0.0015,-0.0030,-0.0129,0.0289,0.0530,-0.1349,-0.1638,0.4626,0.9516,0.4626,-0.1638,-0.1349,0.0530,0.0289,-0.0129,-0.0030,0.0015};
double bior28_Hi[18]={0,0,0,0,0,0,0,0.3536,-0.7071,0.3536,0,0,0,0,0,0,0,0};
double bior31_Lo[4]={-0.3536,1.0607,1.0607,-0.3536};
double bior31_Hi[4]={-0.1768,0.5303,-0.5303,0.1768};
double bior33_Lo[8]={0.0663,-0.1989,-0.1547,0.9944,0.9944,-0.1547,-0.1989,0.0663};
double bior33_Hi[8]={0,0,-0.1768,0.5303,-0.5303,0.1768,0,0};
double bior35_Lo[12]={-0.0138,0.0414,0.0525,-0.2679,-0.0718,0.9667,0.9667,-0.0718,-0.2679,0.0525,0.0414,-0.0138};
double bior35_Hi[12]={0,0,0,0,-0.1768,0.5303,-0.5303,0.1768,0,0,0,0};
double bior37_Lo[16]={0.0030,-0.0091,-0.0168,0.0747,0.0313,-0.3012,-0.0265,0.9516,0.9516,-0.0265,-0.3012,0.0313,0.0747,-0.0168,-0.0091,0.0030};
double bior37_Hi[16]={0,0,0,0,0,0,-0.1768,0.5303,-0.5303,0.1768,0,0,0,0,0,0};
double bior39_Lo[20]={-0.0007,0.0020,0.0051,-0.0206,-0.0141,0.0991,0.0123,-0.3202,0.0021,0.9421,0.9421,0.0021,-0.3202,0.0123,0.0991,-0.0141,-0.0206,0.0051,0.0020,-0.0007};
double bior39_Hi[20]={0,0,0,0,0,0,0,0,-0.1768,0.5303,-0.5303,0.1768,0,0,0,0,0,0,0,0};
double bior44_Lo[10]={0,0.0378,-0.0238,-0.1106,0.3774,0.8527,0.3774,-0.1106,-0.0238,0.0378};
double bior44_Hi[10]={0,-0.0645,0.0407,0.4181,-0.7885,0.4181,0.0407,-0.0645,0,0};
double bior55_Lo[12]={0,0,0.0397,0.0079,-0.0545,0.3456,0.7367,0.3456,-0.0545,0.0079,0.0397,0};
double bior55_Hi[12]={-0.0135,-0.0027,0.1367,-0.0935,-0.4768,0.8995,-0.4768,-0.0935,0.1367,-0.0027,-0.0135,0};
double bior68_Lo[18]={0,0.0019,-0.0019,-0.0170,0.0119,0.0497,-0.0773,-0.0941,0.4208,0.8259,0.4208,-0.0941,-0.0773,0.0497,0.0119,-0.0170,-0.0019,0.0019};
double bior68_Hi[18]={0,0,0,0.0144,-0.0145,-0.0787,0.0404,0.4178,-0.7589,0.4178,0.0404,-0.0787,-0.0145,0.0144,0,0,0,0};
//具有n阶消失距的准对称的正交、双正交的不对称性最差的小波
double sym2_Lo[4]={-0.1294,0.2241,0.8365,0.4830};
double sym2_Hi[4]={-0.4830,0.8365,-0.2241,-0.1294};
double sym3_Lo[6]={0.0352,-0.0854,-0.1350,0.4599,0.8069,0.3327};
double sym3_Hi[6]={-0.3327,0.8069,-0.4599,-0.1350,0.0854,0.0352};
double sym4_Lo[8]={-0.0758,-0.0296,0.4976,0.8037,0.2979,-0.0992,-0.0126,0.0322};
double sym4_Hi[8]={-0.0322,-0.0126,0.0992,0.2979,-0.8037,0.4976,0.0296,-0.0758};
double sym5_Lo[10]={0.0273,0.0295,-0.0391,0.1994,0.7234,0.6340,0.0166,-0.1753,-0.0211,0.0195};
double sym5_Hi[10]={-0.0195,-0.0211,0.1753,0.0166,-0.6340,0.7234,-0.1994,-0.0391,-0.0295,0.0273};
double sym6_Lo[12]={0.0154,0.0035,-0.1180,-0.0483,0.4911,0.7876,0.3379,-0.0726,-0.0211,0.0447,0.0018,-0.0078};
double sym6_Hi[12]={0.0078,0.0018,-0.0447,-0.0211,0.0726,0.3379,-0.7876,0.4911,0.0483,-0.1180,-0.0035,0.0154};
double sym7_Lo[14]={0.0027,-0.0010,-0.0126,0.0305,0.0679,-0.0496,0.0174,0.5361,0.7678,0.2886,-0.1400,-0.1078,0.0040,0.0103};
double sym7_Hi[14]={-0.0103,0.0040,0.1078,-0.1400,-0.2886,0.7678,-0.5361,0.0174,0.0496,0.0679,-0.0305,-0.0126,0.0010,0.0027};
double sym8_Lo[16]={-0.0034,-0.0005,0.0317,0.0076,-0.1433,-0.0613,0.4814,0.7772,0.3644,-0.0519,-0.0272,0.0491,0.0038,-0.0150,-0.0003,0.0019};
double sym8_Hi[16]={-0.0019,-0.0003,0.0150,0.0038,-0.0491,-0.0272,0.0519,0.3644,-0.7772,0.4814,0.0613,-0.1433,-0.0076,0.0317,0.0005,-0.0034};
//具有n阶消失距的正交、双正交、准对称的小波
double coif1_Lo[6]={-0.0727,0.3379,0.8526,0.3849,-0.0727,-0.0157};
double coif1_Hi[6]={-0.0157,0.0727,0.3849,-0.8526,0.3379,0.0727};
double coif2_Lo[12]={-0.0007,-0.0018,0.0056,0.0237,-0.0594,-0.0765,0.4170,0.8127,0.3861,-0.0674,-0.0415,0.0164};
double coif2_Hi[12]={-0.0164,-0.0415,0.0674,0.3861,-0.8127,0.4170,0.0765,-0.0594,-0.0237,0.0056,0.0018,-0.0007};
double coif3_Lo[18]={-0.0000,-0.0001,0.0005,0.0011,-0.0026,-0.0090,0.0159,0.0346,-0.0823,-0.0718,0.4285,0.7938,0.4052,-0.0611,-0.0658,0.0235,0.0078,-0.0038};
double coif3_Hi[18]={0.0038,0.0078,-0.0235,-0.0658,0.0611,0.4052,-0.7938,0.4285,0.0718,-0.0823,-0.0346,0.0159,0.0090,-0.0026,-0.0011,0.0005,0.0001,-0.0000};
// 7/9 Filter from M. Antonini, M. Barlaud, P. Mathieu, and
// I. Daubechies, "Image coding using wavelet transform", IEEE
// Transactions on Image Processing", Vol. pp. 205-220, 1992
/*
double Antonini_Analysis_Lo[9] = { 3.782845550699535e-02, -2.384946501937986e-02,
-1.106244044184226e-01, 3.774028556126536e-01,
8.526986790094022e-01, 3.774028556126537e-01,
-1.106244044184226e-01, -2.384946501937986e-02,
3.782845550699535e-02 };
double Antonini_Synthesis_Lo[7] = {-6.453888262893856e-02, 4.068941760955867e-02,
4.180922732222124e-01,-7.884856164056651e-01,
4.180922732222124e-01, 4.068941760955867e-02,
-6.453888262893856e-02};
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -