mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-26 18:40:26 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			303 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			303 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| // Gaussian energy fading tables for QRA64
 | |
| static const int glen_tab_gauss[64] = {
 | |
|   2,   2,   2,   2,   2,   2,   2,   2, 
 | |
|   2,   2,   2,   2,   2,   2,   2,   2, 
 | |
|   3,   3,   3,   3,   3,   3,   3,   3, 
 | |
|   4,   4,   4,   4,   5,   5,   5,   6, 
 | |
|   6,   6,   7,   7,   8,   8,   9,  10, 
 | |
|  10,  11,  12,  13,  14,  15,  17,  18, 
 | |
|  19,  21,  23,  25,  27,  29,  32,  34, 
 | |
|  37,  41,  44,  48,  52,  57,  62,  65
 | |
| };
 | |
| static const float ggauss1[2] = {
 | |
| 0.0296f, 0.9101f
 | |
| };
 | |
| static const float ggauss2[2] = {
 | |
| 0.0350f, 0.8954f
 | |
| };
 | |
| static const float ggauss3[2] = {
 | |
| 0.0411f, 0.8787f
 | |
| };
 | |
| static const float ggauss4[2] = {
 | |
| 0.0483f, 0.8598f
 | |
| };
 | |
| static const float ggauss5[2] = {
 | |
| 0.0566f, 0.8387f
 | |
| };
 | |
| static const float ggauss6[2] = {
 | |
| 0.0660f, 0.8154f
 | |
| };
 | |
| static const float ggauss7[2] = {
 | |
| 0.0767f, 0.7898f
 | |
| };
 | |
| static const float ggauss8[2] = {
 | |
| 0.0886f, 0.7621f
 | |
| };
 | |
| static const float ggauss9[2] = {
 | |
| 0.1017f, 0.7325f
 | |
| };
 | |
| static const float ggauss10[2] = {
 | |
| 0.1159f, 0.7012f
 | |
| };
 | |
| static const float ggauss11[2] = {
 | |
| 0.1310f, 0.6687f
 | |
| };
 | |
| static const float ggauss12[2] = {
 | |
| 0.1465f, 0.6352f
 | |
| };
 | |
| static const float ggauss13[2] = {
 | |
| 0.1621f, 0.6013f
 | |
| };
 | |
| static const float ggauss14[2] = {
 | |
| 0.1771f, 0.5674f
 | |
| };
 | |
| static const float ggauss15[2] = {
 | |
| 0.1911f, 0.5339f
 | |
| };
 | |
| static const float ggauss16[2] = {
 | |
| 0.2034f, 0.5010f
 | |
| };
 | |
| static const float ggauss17[3] = {
 | |
| 0.0299f, 0.2135f, 0.4690f
 | |
| };
 | |
| static const float ggauss18[3] = {
 | |
| 0.0369f, 0.2212f, 0.4383f
 | |
| };
 | |
| static const float ggauss19[3] = {
 | |
| 0.0454f, 0.2263f, 0.4088f
 | |
| };
 | |
| static const float ggauss20[3] = {
 | |
| 0.0552f, 0.2286f, 0.3806f
 | |
| };
 | |
| static const float ggauss21[3] = {
 | |
| 0.0658f, 0.2284f, 0.3539f
 | |
| };
 | |
| static const float ggauss22[3] = {
 | |
| 0.0766f, 0.2258f, 0.3287f
 | |
| };
 | |
| static const float ggauss23[3] = {
 | |
| 0.0869f, 0.2212f, 0.3049f
 | |
| };
 | |
| static const float ggauss24[3] = {
 | |
| 0.0962f, 0.2148f, 0.2826f
 | |
| };
 | |
| static const float ggauss25[4] = {
 | |
| 0.0351f, 0.1041f, 0.2071f, 0.2616f
 | |
| };
 | |
| static const float ggauss26[4] = {
 | |
| 0.0429f, 0.1102f, 0.1984f, 0.2420f
 | |
| };
 | |
| static const float ggauss27[4] = {
 | |
| 0.0508f, 0.1145f, 0.1890f, 0.2237f
 | |
| };
 | |
| static const float ggauss28[4] = {
 | |
| 0.0582f, 0.1169f, 0.1791f, 0.2067f
 | |
| };
 | |
| static const float ggauss29[5] = {
 | |
| 0.0289f, 0.0648f, 0.1176f, 0.1689f, 0.1908f
 | |
| };
 | |
| static const float ggauss30[5] = {
 | |
| 0.0351f, 0.0703f, 0.1168f, 0.1588f, 0.1760f
 | |
| };
 | |
| static const float ggauss31[5] = {
 | |
| 0.0411f, 0.0745f, 0.1146f, 0.1488f, 0.1623f
 | |
| };
 | |
| static const float ggauss32[6] = {
 | |
| 0.0246f, 0.0466f, 0.0773f, 0.1115f, 0.1390f, 0.1497f
 | |
| };
 | |
| static const float ggauss33[6] = {
 | |
| 0.0297f, 0.0512f, 0.0788f, 0.1075f, 0.1295f, 0.1379f
 | |
| };
 | |
| static const float ggauss34[6] = {
 | |
| 0.0345f, 0.0549f, 0.0791f, 0.1029f, 0.1205f, 0.1270f
 | |
| };
 | |
| static const float ggauss35[7] = {
 | |
| 0.0240f, 0.0387f, 0.0575f, 0.0784f, 0.0979f, 0.1118f, 0.1169f
 | |
| };
 | |
| static const float ggauss36[7] = {
 | |
| 0.0281f, 0.0422f, 0.0590f, 0.0767f, 0.0926f, 0.1037f, 0.1076f
 | |
| };
 | |
| static const float ggauss37[8] = {
 | |
| 0.0212f, 0.0318f, 0.0449f, 0.0596f, 0.0744f, 0.0872f, 0.0960f, 0.0991f
 | |
| };
 | |
| static const float ggauss38[8] = {
 | |
| 0.0247f, 0.0348f, 0.0467f, 0.0593f, 0.0716f, 0.0819f, 0.0887f, 0.0911f
 | |
| };
 | |
| static const float ggauss39[9] = {
 | |
| 0.0199f, 0.0278f, 0.0372f, 0.0476f, 0.0584f, 0.0684f, 0.0766f, 0.0819f, 
 | |
| 0.0838f
 | |
| };
 | |
| static const float ggauss40[10] = {
 | |
| 0.0166f, 0.0228f, 0.0303f, 0.0388f, 0.0478f, 0.0568f, 0.0649f, 0.0714f, 
 | |
| 0.0756f, 0.0771f
 | |
| };
 | |
| static const float ggauss41[10] = {
 | |
| 0.0193f, 0.0254f, 0.0322f, 0.0397f, 0.0474f, 0.0548f, 0.0613f, 0.0664f, 
 | |
| 0.0697f, 0.0709f
 | |
| };
 | |
| static const float ggauss42[11] = {
 | |
| 0.0168f, 0.0217f, 0.0273f, 0.0335f, 0.0399f, 0.0464f, 0.0524f, 0.0576f, 
 | |
| 0.0617f, 0.0643f, 0.0651f
 | |
| };
 | |
| static const float ggauss43[12] = {
 | |
| 0.0151f, 0.0191f, 0.0237f, 0.0288f, 0.0342f, 0.0396f, 0.0449f, 0.0498f, 
 | |
| 0.0540f, 0.0572f, 0.0592f, 0.0599f
 | |
| };
 | |
| static const float ggauss44[13] = {
 | |
| 0.0138f, 0.0171f, 0.0210f, 0.0252f, 0.0297f, 0.0343f, 0.0388f, 0.0432f, 
 | |
| 0.0471f, 0.0504f, 0.0529f, 0.0545f, 0.0550f
 | |
| };
 | |
| static const float ggauss45[14] = {
 | |
| 0.0128f, 0.0157f, 0.0189f, 0.0224f, 0.0261f, 0.0300f, 0.0339f, 0.0377f, 
 | |
| 0.0412f, 0.0444f, 0.0470f, 0.0489f, 0.0501f, 0.0505f
 | |
| };
 | |
| static const float ggauss46[15] = {
 | |
| 0.0121f, 0.0146f, 0.0173f, 0.0202f, 0.0234f, 0.0266f, 0.0299f, 0.0332f, 
 | |
| 0.0363f, 0.0391f, 0.0416f, 0.0437f, 0.0452f, 0.0461f, 0.0464f
 | |
| };
 | |
| static const float ggauss47[17] = {
 | |
| 0.0097f, 0.0116f, 0.0138f, 0.0161f, 0.0186f, 0.0212f, 0.0239f, 0.0267f, 
 | |
| 0.0294f, 0.0321f, 0.0346f, 0.0369f, 0.0389f, 0.0405f, 0.0417f, 0.0424f, 
 | |
| 0.0427f
 | |
| };
 | |
| static const float ggauss48[18] = {
 | |
| 0.0096f, 0.0113f, 0.0131f, 0.0151f, 0.0172f, 0.0194f, 0.0217f, 0.0241f, 
 | |
| 0.0264f, 0.0287f, 0.0308f, 0.0329f, 0.0347f, 0.0362f, 0.0375f, 0.0384f, 
 | |
| 0.0390f, 0.0392f
 | |
| };
 | |
| static const float ggauss49[19] = {
 | |
| 0.0095f, 0.0110f, 0.0126f, 0.0143f, 0.0161f, 0.0180f, 0.0199f, 0.0219f, 
 | |
| 0.0239f, 0.0258f, 0.0277f, 0.0294f, 0.0310f, 0.0325f, 0.0337f, 0.0347f, 
 | |
| 0.0354f, 0.0358f, 0.0360f
 | |
| };
 | |
| static const float ggauss50[21] = {
 | |
| 0.0083f, 0.0095f, 0.0108f, 0.0122f, 0.0136f, 0.0152f, 0.0168f, 0.0184f, 
 | |
| 0.0201f, 0.0217f, 0.0234f, 0.0250f, 0.0265f, 0.0279f, 0.0292f, 0.0303f, 
 | |
| 0.0313f, 0.0320f, 0.0326f, 0.0329f, 0.0330f
 | |
| };
 | |
| static const float ggauss51[23] = {
 | |
| 0.0074f, 0.0084f, 0.0095f, 0.0106f, 0.0118f, 0.0131f, 0.0144f, 0.0157f, 
 | |
| 0.0171f, 0.0185f, 0.0199f, 0.0213f, 0.0227f, 0.0240f, 0.0252f, 0.0263f, 
 | |
| 0.0273f, 0.0282f, 0.0290f, 0.0296f, 0.0300f, 0.0303f, 0.0303f
 | |
| };
 | |
| static const float ggauss52[25] = {
 | |
| 0.0068f, 0.0076f, 0.0085f, 0.0094f, 0.0104f, 0.0115f, 0.0126f, 0.0137f, 
 | |
| 0.0149f, 0.0160f, 0.0172f, 0.0184f, 0.0196f, 0.0207f, 0.0218f, 0.0228f, 
 | |
| 0.0238f, 0.0247f, 0.0255f, 0.0262f, 0.0268f, 0.0273f, 0.0276f, 0.0278f, 
 | |
| 0.0279f
 | |
| };
 | |
| static const float ggauss53[27] = {
 | |
| 0.0063f, 0.0070f, 0.0078f, 0.0086f, 0.0094f, 0.0103f, 0.0112f, 0.0121f, 
 | |
| 0.0131f, 0.0141f, 0.0151f, 0.0161f, 0.0170f, 0.0180f, 0.0190f, 0.0199f, 
 | |
| 0.0208f, 0.0216f, 0.0224f, 0.0231f, 0.0237f, 0.0243f, 0.0247f, 0.0251f, 
 | |
| 0.0254f, 0.0255f, 0.0256f
 | |
| };
 | |
| static const float ggauss54[29] = {
 | |
| 0.0060f, 0.0066f, 0.0072f, 0.0079f, 0.0086f, 0.0093f, 0.0101f, 0.0109f, 
 | |
| 0.0117f, 0.0125f, 0.0133f, 0.0142f, 0.0150f, 0.0159f, 0.0167f, 0.0175f, 
 | |
| 0.0183f, 0.0190f, 0.0197f, 0.0204f, 0.0210f, 0.0216f, 0.0221f, 0.0225f, 
 | |
| 0.0228f, 0.0231f, 0.0233f, 0.0234f, 0.0235f
 | |
| };
 | |
| static const float ggauss55[32] = {
 | |
| 0.0053f, 0.0058f, 0.0063f, 0.0068f, 0.0074f, 0.0080f, 0.0086f, 0.0093f, 
 | |
| 0.0099f, 0.0106f, 0.0113f, 0.0120f, 0.0127f, 0.0134f, 0.0141f, 0.0148f, 
 | |
| 0.0155f, 0.0162f, 0.0168f, 0.0174f, 0.0180f, 0.0186f, 0.0191f, 0.0196f, 
 | |
| 0.0201f, 0.0204f, 0.0208f, 0.0211f, 0.0213f, 0.0214f, 0.0215f, 0.0216f
 | |
| };
 | |
| static const float ggauss56[34] = {
 | |
| 0.0052f, 0.0056f, 0.0060f, 0.0065f, 0.0070f, 0.0075f, 0.0080f, 0.0086f, 
 | |
| 0.0091f, 0.0097f, 0.0103f, 0.0109f, 0.0115f, 0.0121f, 0.0127f, 0.0133f, 
 | |
| 0.0138f, 0.0144f, 0.0150f, 0.0155f, 0.0161f, 0.0166f, 0.0170f, 0.0175f, 
 | |
| 0.0179f, 0.0183f, 0.0186f, 0.0189f, 0.0192f, 0.0194f, 0.0196f, 0.0197f, 
 | |
| 0.0198f, 0.0198f
 | |
| };
 | |
| static const float ggauss57[37] = {
 | |
| 0.0047f, 0.0051f, 0.0055f, 0.0058f, 0.0063f, 0.0067f, 0.0071f, 0.0076f, 
 | |
| 0.0080f, 0.0085f, 0.0090f, 0.0095f, 0.0100f, 0.0105f, 0.0110f, 0.0115f, 
 | |
| 0.0120f, 0.0125f, 0.0130f, 0.0134f, 0.0139f, 0.0144f, 0.0148f, 0.0152f, 
 | |
| 0.0156f, 0.0160f, 0.0164f, 0.0167f, 0.0170f, 0.0173f, 0.0175f, 0.0177f, 
 | |
| 0.0179f, 0.0180f, 0.0181f, 0.0181f, 0.0182f
 | |
| };
 | |
| static const float ggauss58[41] = {
 | |
| 0.0041f, 0.0044f, 0.0047f, 0.0050f, 0.0054f, 0.0057f, 0.0060f, 0.0064f, 
 | |
| 0.0068f, 0.0072f, 0.0076f, 0.0080f, 0.0084f, 0.0088f, 0.0092f, 0.0096f, 
 | |
| 0.0101f, 0.0105f, 0.0109f, 0.0113f, 0.0117f, 0.0121f, 0.0125f, 0.0129f, 
 | |
| 0.0133f, 0.0137f, 0.0140f, 0.0144f, 0.0147f, 0.0150f, 0.0153f, 0.0155f, 
 | |
| 0.0158f, 0.0160f, 0.0162f, 0.0163f, 0.0164f, 0.0165f, 0.0166f, 0.0167f, 
 | |
| 0.0167f
 | |
| };
 | |
| static const float ggauss59[44] = {
 | |
| 0.0039f, 0.0042f, 0.0044f, 0.0047f, 0.0050f, 0.0053f, 0.0056f, 0.0059f, 
 | |
| 0.0062f, 0.0065f, 0.0068f, 0.0072f, 0.0075f, 0.0079f, 0.0082f, 0.0086f, 
 | |
| 0.0089f, 0.0093f, 0.0096f, 0.0100f, 0.0104f, 0.0107f, 0.0110f, 0.0114f, 
 | |
| 0.0117f, 0.0120f, 0.0124f, 0.0127f, 0.0130f, 0.0132f, 0.0135f, 0.0138f, 
 | |
| 0.0140f, 0.0142f, 0.0144f, 0.0146f, 0.0148f, 0.0149f, 0.0150f, 0.0151f, 
 | |
| 0.0152f, 0.0153f, 0.0153f, 0.0153f
 | |
| };
 | |
| static const float ggauss60[48] = {
 | |
| 0.0036f, 0.0038f, 0.0040f, 0.0042f, 0.0044f, 0.0047f, 0.0049f, 0.0052f, 
 | |
| 0.0055f, 0.0057f, 0.0060f, 0.0063f, 0.0066f, 0.0068f, 0.0071f, 0.0074f, 
 | |
| 0.0077f, 0.0080f, 0.0083f, 0.0086f, 0.0089f, 0.0092f, 0.0095f, 0.0098f, 
 | |
| 0.0101f, 0.0104f, 0.0107f, 0.0109f, 0.0112f, 0.0115f, 0.0117f, 0.0120f, 
 | |
| 0.0122f, 0.0124f, 0.0126f, 0.0128f, 0.0130f, 0.0132f, 0.0134f, 0.0135f, 
 | |
| 0.0136f, 0.0137f, 0.0138f, 0.0139f, 0.0140f, 0.0140f, 0.0140f, 0.0140f
 | |
| };
 | |
| static const float ggauss61[52] = {
 | |
| 0.0033f, 0.0035f, 0.0037f, 0.0039f, 0.0041f, 0.0043f, 0.0045f, 0.0047f, 
 | |
| 0.0049f, 0.0051f, 0.0053f, 0.0056f, 0.0058f, 0.0060f, 0.0063f, 0.0065f, 
 | |
| 0.0068f, 0.0070f, 0.0073f, 0.0075f, 0.0078f, 0.0080f, 0.0083f, 0.0085f, 
 | |
| 0.0088f, 0.0090f, 0.0093f, 0.0095f, 0.0098f, 0.0100f, 0.0102f, 0.0105f, 
 | |
| 0.0107f, 0.0109f, 0.0111f, 0.0113f, 0.0115f, 0.0116f, 0.0118f, 0.0120f, 
 | |
| 0.0121f, 0.0122f, 0.0124f, 0.0125f, 0.0126f, 0.0126f, 0.0127f, 0.0128f, 
 | |
| 0.0128f, 0.0129f, 0.0129f, 0.0129f
 | |
| };
 | |
| static const float ggauss62[57] = {
 | |
| 0.0030f, 0.0031f, 0.0033f, 0.0034f, 0.0036f, 0.0038f, 0.0039f, 0.0041f, 
 | |
| 0.0043f, 0.0045f, 0.0047f, 0.0048f, 0.0050f, 0.0052f, 0.0054f, 0.0056f, 
 | |
| 0.0058f, 0.0060f, 0.0063f, 0.0065f, 0.0067f, 0.0069f, 0.0071f, 0.0073f, 
 | |
| 0.0075f, 0.0077f, 0.0080f, 0.0082f, 0.0084f, 0.0086f, 0.0088f, 0.0090f, 
 | |
| 0.0092f, 0.0094f, 0.0096f, 0.0097f, 0.0099f, 0.0101f, 0.0103f, 0.0104f, 
 | |
| 0.0106f, 0.0107f, 0.0108f, 0.0110f, 0.0111f, 0.0112f, 0.0113f, 0.0114f, 
 | |
| 0.0115f, 0.0116f, 0.0116f, 0.0117f, 0.0117f, 0.0118f, 0.0118f, 0.0118f, 
 | |
| 0.0118f
 | |
| };
 | |
| static const float ggauss63[62] = {
 | |
| 0.0027f, 0.0029f, 0.0030f, 0.0031f, 0.0032f, 0.0034f, 0.0035f, 0.0037f, 
 | |
| 0.0038f, 0.0040f, 0.0041f, 0.0043f, 0.0045f, 0.0046f, 0.0048f, 0.0049f, 
 | |
| 0.0051f, 0.0053f, 0.0055f, 0.0056f, 0.0058f, 0.0060f, 0.0062f, 0.0063f, 
 | |
| 0.0065f, 0.0067f, 0.0069f, 0.0071f, 0.0072f, 0.0074f, 0.0076f, 0.0078f, 
 | |
| 0.0079f, 0.0081f, 0.0083f, 0.0084f, 0.0086f, 0.0088f, 0.0089f, 0.0091f, 
 | |
| 0.0092f, 0.0094f, 0.0095f, 0.0096f, 0.0098f, 0.0099f, 0.0100f, 0.0101f, 
 | |
| 0.0102f, 0.0103f, 0.0104f, 0.0105f, 0.0105f, 0.0106f, 0.0107f, 0.0107f, 
 | |
| 0.0108f, 0.0108f, 0.0108f, 0.0108f, 0.0109f, 0.0109f
 | |
| };
 | |
| static const float ggauss64[65] = {
 | |
| 0.0028f, 0.0029f, 0.0030f, 0.0031f, 0.0032f, 0.0034f, 0.0035f, 0.0036f, 
 | |
| 0.0037f, 0.0039f, 0.0040f, 0.0041f, 0.0043f, 0.0044f, 0.0046f, 0.0047f, 
 | |
| 0.0048f, 0.0050f, 0.0051f, 0.0053f, 0.0054f, 0.0056f, 0.0057f, 0.0059f, 
 | |
| 0.0060f, 0.0062f, 0.0063f, 0.0065f, 0.0066f, 0.0068f, 0.0069f, 0.0071f, 
 | |
| 0.0072f, 0.0074f, 0.0075f, 0.0077f, 0.0078f, 0.0079f, 0.0081f, 0.0082f, 
 | |
| 0.0083f, 0.0084f, 0.0086f, 0.0087f, 0.0088f, 0.0089f, 0.0090f, 0.0091f, 
 | |
| 0.0092f, 0.0093f, 0.0094f, 0.0094f, 0.0095f, 0.0096f, 0.0097f, 0.0097f, 
 | |
| 0.0098f, 0.0098f, 0.0099f, 0.0099f, 0.0099f, 0.0099f, 0.0100f, 0.0100f, 
 | |
| 0.0100f
 | |
| };
 | |
| static const float *gptr_tab_gauss[64] = {
 | |
| ggauss1, ggauss2, ggauss3, ggauss4, 
 | |
| ggauss5, ggauss6, ggauss7, ggauss8, 
 | |
| ggauss9, ggauss10, ggauss11, ggauss12, 
 | |
| ggauss13, ggauss14, ggauss15, ggauss16, 
 | |
| ggauss17, ggauss18, ggauss19, ggauss20, 
 | |
| ggauss21, ggauss22, ggauss23, ggauss24, 
 | |
| ggauss25, ggauss26, ggauss27, ggauss28, 
 | |
| ggauss29, ggauss30, ggauss31, ggauss32, 
 | |
| ggauss33, ggauss34, ggauss35, ggauss36, 
 | |
| ggauss37, ggauss38, ggauss39, ggauss40, 
 | |
| ggauss41, ggauss42, ggauss43, ggauss44, 
 | |
| ggauss45, ggauss46, ggauss47, ggauss48, 
 | |
| ggauss49, ggauss50, ggauss51, ggauss52, 
 | |
| ggauss53, ggauss54, ggauss55, ggauss56, 
 | |
| ggauss57, ggauss58, ggauss59, ggauss60, 
 | |
| ggauss61, ggauss62, ggauss63, ggauss64
 | |
| };
 |