mirror of https://github.com/asterisk/asterisk
				
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							952 lines
						
					
					
						
							13 KiB
						
					
					
				
			
		
		
	
	
							952 lines
						
					
					
						
							13 KiB
						
					
					
				| /*
 | |
|  * xpmr_coef.h - for Xelatec Private Mobile Radio Processes
 | |
|  * 
 | |
|  * All Rights Reserved. Copyright (C)2007, Xelatec, LLC
 | |
|  * 
 | |
|  * 20070808 1235 Steven Henke, W9SH, sph@xelatec.com
 | |
|  *
 | |
|  * See http://www.asterisk.org for more information about
 | |
|  * the Asterisk project. Please do not directly contact
 | |
|  * any of the maintainers of this project for assistance;
 | |
|  * the project provides a web site, mailing lists and IRC
 | |
|  * channels for your use.
 | |
|  *
 | |
|  * This program is free software, distributed under the terms of
 | |
|  * the GNU General Public License Version 2. See the LICENSE file
 | |
|  * at the top of the source tree.
 | |
|  */
 | |
| 
 | |
| /*! \file
 | |
|  *
 | |
|  * \brief Private Land Mobile Radio Channel Voice and Signaling Processor
 | |
|  *
 | |
|  * \author Steven Henke, W9SH <sph@xelatec.com> Xelatec, LLC
 | |
|  */
 | |
| 
 | |
| #ifndef XPMR_COEF_H
 | |
| #define XMPR_COEF_H 1
 | |
| 
 | |
| // frequencies in 0.1 Hz
 | |
| const u32 dtmf_row[] =
 | |
| {
 | |
| 	6970,  7700,  8520,  9410
 | |
| };
 | |
| const u32 dtmf_col[] =
 | |
| {
 | |
| 	12090, 13360, 14770, 16330
 | |
| };
 | |
| 
 | |
| const i16 coef_dcs_rx  = 1488;	   		// dcs rx data divisor for oversampling 8000/134.4
 | |
| const i16 coef_dcs_tx  = 5952;	   		// dcs tx data divisor
 | |
| 
 | |
| const i16 coef_lsd_div  = 672;	   		// low speed data divisor
 | |
| const u32 coef_lsd_sync = 0x158;        // 000101011000
 | |
| const u32 coef_lsd_sync_pattern[] = {0x0000000F, 0x0F0FF000};
 | |
| 
 | |
| #define CTCSS_COEF_INT		120
 | |
| #define CTCSS_SAMPLE_RATE   8000
 | |
| #define TDIV(x) ((CTCSS_SAMPLE_RATE*1000/x)+5)/10
 | |
| 
 | |
| i32 coef_ctcss[4][5]=
 | |
| {
 | |
| 	// freq, divisor, integrator, filter
 | |
| 	{770,TDIV(770),CTCSS_COEF_INT,0,0},
 | |
| 	{1000,TDIV(1000),CTCSS_COEF_INT,0,0},
 | |
| 	{1035,TDIV(1035),CTCSS_COEF_INT,0,0},
 | |
| 	{0,0,0,0}
 | |
| };
 | |
| 
 | |
| 
 | |
| i16 coef_ctcss_div[]=
 | |
| {
 | |
| 2985,    // 00   067.0
 | |
| 2782,    // 01   071.9
 | |
| 2688,    // 02   074.4
 | |
| 2597,    // 03   077.0
 | |
| 2509,    // 04   079.7
 | |
| 2424,    // 05   082.5
 | |
| 2342,    // 06   085.4
 | |
| 2260,    // 07   088.5
 | |
| 2186,    // 08   091.5
 | |
| 2110,    // 09   094.8
 | |
| 2053,    // 10   097.4
 | |
| 2000,    // 11   100.0
 | |
| 1932,    // 12   103.5
 | |
| 1866,    // 13   107.2
 | |
| 1803,    // 14   110.9
 | |
| 1742,    // 15   114.8
 | |
| 1684,    // 16   118.8
 | |
| 1626,    // 17   123.0
 | |
| 1571,    // 18   127.3
 | |
| 1517,    // 19   131.8
 | |
| 1465,    // 20   136.5
 | |
| 1415,    // 21   141.3
 | |
| 1368,    // 22   146.2
 | |
| 1321,    // 23   151.4
 | |
| 1276,    // 24   156.7
 | |
| 1233,    // 25   162.2
 | |
| 1191,    // 26   167.9
 | |
| 1151,    // 27   173.8
 | |
| 1112,    // 28   179.9
 | |
| 1074,    // 29   186.2
 | |
| 1037,    // 30   192.8
 | |
| 983,    // 31   203.5
 | |
| 949,    // 32   210.7
 | |
| 917,    // 33   218.1
 | |
| 886,    // 34   225.7
 | |
| 856,    // 35   233.6
 | |
| 827,    // 36   241.8
 | |
| 799     // 37   250.3
 | |
| };
 | |
| 
 | |
| float freq_ctcss[]=
 | |
| {
 | |
| 067.0,    // 00   
 | |
| 071.9,    // 01   
 | |
| 074.4,    // 02   
 | |
| 077.0,    // 03   
 | |
| 079.7,    // 04   
 | |
| 082.5,    // 05   
 | |
| 085.4,    // 06   
 | |
| 088.5,    // 07   
 | |
| 091.5,    // 08   
 | |
| 094.8,    // 09   
 | |
| 097.4,    // 10   
 | |
| 100.0,    // 11   
 | |
| 103.5,    // 12   
 | |
| 107.2,    // 13   
 | |
| 110.9,    // 14   
 | |
| 114.8,    // 15   
 | |
| 118.8,    // 16   
 | |
| 123.0,    // 17   
 | |
| 127.3,    // 18   
 | |
| 131.8,    // 19   
 | |
| 136.5,    // 20   
 | |
| 141.3,    // 21   
 | |
| 146.2,    // 22   
 | |
| 151.4,    // 23   
 | |
| 156.7,    // 24   
 | |
| 162.2,    // 25   
 | |
| 167.9,    // 26   
 | |
| 173.8,    // 27   
 | |
| 179.9,    // 28   
 | |
| 186.2,    // 29   
 | |
| 192.8,    // 30   
 | |
| 203.5,    // 31  
 | |
| 210.7 ,    // 32  
 | |
| 218.1 ,    // 33  
 | |
| 225.7 ,    // 34  
 | |
| 233.6 ,    // 35  
 | |
| 241.8 ,    // 36  
 | |
| 250.3      // 37  
 | |
| };
 | |
| 
 | |
| /*
 | |
| 	noise squelch carrier detect filter
 | |
| */
 | |
| static const int16_t taps_fir_bpf_noise_1 = 66;
 | |
| static const int32_t gain_fir_bpf_noise_1 = 65536;
 | |
| static const int16_t coef_fir_bpf_noise_1[] = { 
 | |
|       139,
 | |
|      -182,
 | |
|      -269,
 | |
|       -66,
 | |
|        56,
 | |
|        59,
 | |
|       250,
 | |
|       395,
 | |
|       -80,
 | |
|      -775,
 | |
|      -557,
 | |
|       437,
 | |
|       779,
 | |
|       210,
 | |
|       -17,
 | |
|       123,
 | |
|      -692,
 | |
|     -1664,
 | |
|      -256,
 | |
|      2495,
 | |
|      2237,
 | |
|     -1018,
 | |
|     -2133,
 | |
|      -478,
 | |
|     -1134,
 | |
|     -2711,
 | |
|      2642,
 | |
|     10453,
 | |
|      4010,
 | |
|     -14385,
 | |
|     -16488,
 | |
|      6954,
 | |
|     23030,
 | |
|      6954,
 | |
|     -16488,
 | |
|     -14385,
 | |
|      4010,
 | |
|     10453,
 | |
|      2642,
 | |
|     -2711,
 | |
|     -1134,
 | |
|      -478,
 | |
|     -2133,
 | |
|     -1018,
 | |
|      2237,
 | |
|      2495,
 | |
|      -256,
 | |
|     -1664,
 | |
|      -692,
 | |
|       123,
 | |
|       -17,
 | |
|       210,
 | |
|       779,
 | |
|       437,
 | |
|      -557,
 | |
|      -775,
 | |
|       -80,
 | |
|       395,
 | |
|       250,
 | |
|        59,
 | |
|        56,
 | |
|       -66,
 | |
|      -269,
 | |
|      -182,
 | |
|       139,
 | |
|       257
 | |
| };
 | |
| /*
 | |
| 	tbd
 | |
| */
 | |
| static const int16_t taps_fir_lpf_3K_1 = 66;
 | |
| static const int32_t gain_fir_lpf_3K_1 = 131072;
 | |
| static const int16_t coef_fir_lpf_3K_1[] = { 
 | |
|       259,
 | |
|        58,
 | |
|      -185,
 | |
|      -437,
 | |
|      -654,
 | |
|      -793,
 | |
|      -815,
 | |
|      -696,
 | |
|      -434,
 | |
|       -48,
 | |
|       414,
 | |
|       886,
 | |
|      1284,
 | |
|      1523,
 | |
|      1529,
 | |
|      1254,
 | |
|       691,
 | |
|      -117,
 | |
|     -1078,
 | |
|     -2049,
 | |
|     -2854,
 | |
|     -3303,
 | |
|     -3220,
 | |
|     -2472,
 | |
|      -995,
 | |
|      1187,
 | |
|      3952,
 | |
|      7086,
 | |
|     10300,
 | |
|     13270,
 | |
|     15672,
 | |
|     17236,
 | |
|     17778,
 | |
|     17236,
 | |
|     15672,
 | |
|     13270,
 | |
|     10300,
 | |
|      7086,
 | |
|      3952,
 | |
|      1187,
 | |
|      -995,
 | |
|     -2472,
 | |
|     -3220,
 | |
|     -3303,
 | |
|     -2854,
 | |
|     -2049,
 | |
|     -1078,
 | |
|      -117,
 | |
|       691,
 | |
|      1254,
 | |
|      1529,
 | |
|      1523,
 | |
|      1284,
 | |
|       886,
 | |
|       414,
 | |
|       -48,
 | |
|      -434,
 | |
|      -696,
 | |
|      -815,
 | |
|      -793,
 | |
|      -654,
 | |
|      -437,
 | |
|      -185,
 | |
|        58,
 | |
|       259,
 | |
|       393
 | |
| };
 | |
| 
 | |
| /**************************************************************
 | |
| Filter type: Low Pass
 | |
| Filter model: Butterworth
 | |
| Filter order: 9
 | |
| Sampling Frequency: 8 KHz
 | |
| Cut Frequency: 0.250000 KHz
 | |
| Coefficents Quantization: 16-bit
 | |
| ***************************************************************/
 | |
| static const int16_t taps_fir_lpf_250_11_64 = 64;
 | |
| static const int32_t gain_fir_lpf_250_11_64 = 262144;
 | |
| static const int16_t coef_fir_lpf_250_11_64[] = 
 | |
| {
 | |
|       366,
 | |
|        -3,
 | |
|      -418,
 | |
|      -865,
 | |
|     -1328,
 | |
|     -1788,
 | |
|     -2223,
 | |
|     -2609,
 | |
|     -2922,
 | |
|     -3138,
 | |
|     -3232,
 | |
|     -3181,
 | |
|     -2967,
 | |
|     -2573,
 | |
|     -1988,
 | |
|     -1206,
 | |
|      -228,
 | |
|       937,
 | |
|      2277,
 | |
|      3767,
 | |
|      5379,
 | |
|      7077,
 | |
|      8821,
 | |
|     10564,
 | |
|     12259,
 | |
|     13855,
 | |
|     15305,
 | |
|     16563,
 | |
|     17588,
 | |
|     18346,
 | |
|     18812,
 | |
|     18968,
 | |
|     18812,
 | |
|     18346,
 | |
|     17588,
 | |
|     16563,
 | |
|     15305,
 | |
|     13855,
 | |
|     12259,
 | |
|     10564,
 | |
|      8821,
 | |
|      7077,
 | |
|      5379,
 | |
|      3767,
 | |
|      2277,
 | |
|       937,
 | |
|      -228,
 | |
|     -1206,
 | |
|     -1988,
 | |
|     -2573,
 | |
|     -2967,
 | |
|     -3181,
 | |
|     -3232,
 | |
|     -3138,
 | |
|     -2922,
 | |
|     -2609,
 | |
|     -2223,
 | |
|     -1788,
 | |
|     -1328,
 | |
|      -865,
 | |
|      -418,
 | |
|        -3,
 | |
|       366,
 | |
|       680
 | |
| };
 | |
| 
 | |
| // de-emphasis integrator 300 Hz with 8KS/s
 | |
| // a0, b1
 | |
| static const int16_t taps_int_lpf_300_1_2 = 2;
 | |
| static const int32_t gain_int_lpf_300_1_2 = 8182;
 | |
| static const int16_t coef_int_lpf_300_1_2[]={
 | |
| 6878,
 | |
| 25889
 | |
| };
 | |
| 
 | |
| // pre-emphasis differentiator 4000 Hz with 8KS/s
 | |
| // a0,a1,b0,
 | |
| static const int16_t taps_int_hpf_4000_1_2 = 2;
 | |
| static const int32_t gain_int_hpf_4000_1_2 = 16384;
 | |
| static const int16_t coef_int_hpf_4000_1_2[]={
 | |
| 17610,
 | |
| -17610,
 | |
| 2454
 | |
| };
 | |
| 
 | |
| 
 | |
| /*
 | |
| 	ltr crc table
 | |
| 	from http://www.radioreference.com/forums/showthread.php?t=24126
 | |
| */
 | |
| 
 | |
| static const u8	ltr_table[]=
 | |
| {
 | |
| 0x38, // 00 Area 		0111000
 | |
| 0x1c, // 01	Channel 4 	0011100
 | |
| 0x0e, // 02 Channel 3 	0001110
 | |
| 0x46, // 03 Channel 2 	1000110
 | |
| 0x23, // 04 Channel 1 	0100011
 | |
| 0x51, // 05 Channel 0 	1010001
 | |
| 0x68, // 06 Home 4  	1101000
 | |
| 0x75, // 07 Home 3 		1110101
 | |
| 0x7a, // 08 Home 2 		1111010
 | |
| 0x3d, // 09 Home 1 		0111101
 | |
| 0x1f, // 10 Home 0 		0011111
 | |
| 0x4f, // 11 Group 7 	1001111
 | |
| 0x26, // 12 Group 6 	0100110
 | |
| 0x52, // 13 Group 5 	1010010
 | |
| 0x29, // 14 Group 4 	0101001
 | |
| 0x15, // 15 Group 3 	0010101
 | |
| 0x0d, // 16 Group 2 	0001101
 | |
| 0x45, // 17 Group 1 	1000101
 | |
| 0x62, // 18 Group 0 	1100010
 | |
| 0x31, // 19 Free 4 		0110001
 | |
| 0x19, // 20 Free 3 		0011001
 | |
| 0x0d, // 21 Free 2 		0001101
 | |
| 0x07, // 22 Free 1 		0000111
 | |
| 0x43  // 23 Free 0 		1000011
 | |
| };
 | |
| 
 | |
| static const i16 bitWeight[]=
 | |
| {
 | |
| 0,   // 0
 | |
| 1,   // 1
 | |
| 1,   // 2
 | |
| 2,   // 3
 | |
| 1,   // 4
 | |
| 2,   // 5
 | |
| 2,   // 6
 | |
| 3,   // 7
 | |
| 1,   // 8
 | |
| 2,   // 9
 | |
| 2,   // 10
 | |
| 3,   // 11
 | |
| 2,   // 12
 | |
| 3,   // 13
 | |
| 3,   // 14
 | |
| 4,   // 15
 | |
| 1,   // 16
 | |
| 2,   // 17
 | |
| 2,   // 18
 | |
| 3,   // 19
 | |
| 2,   // 20
 | |
| 3,   // 21
 | |
| 3,   // 22
 | |
| 4,   // 23
 | |
| 2,   // 24
 | |
| 3,   // 25
 | |
| 3,   // 26
 | |
| 4,   // 27
 | |
| 3,   // 28
 | |
| 4,   // 29
 | |
| 4,   // 30
 | |
| 5,   // 31
 | |
| 1,   // 32
 | |
| 2,   // 33
 | |
| 2,   // 34
 | |
| 3,   // 35
 | |
| 2,   // 36
 | |
| 3,   // 37
 | |
| 3,   // 38
 | |
| 4,   // 39
 | |
| 2,   // 40
 | |
| 3,   // 41
 | |
| 3,   // 42
 | |
| 4,   // 43
 | |
| 3,   // 44
 | |
| 4,   // 45
 | |
| 4,   // 46
 | |
| 5,   // 47
 | |
| 2,   // 48
 | |
| 3,   // 49
 | |
| 3,   // 50
 | |
| 4,   // 51
 | |
| 3,   // 52
 | |
| 4,   // 53
 | |
| 4,   // 54
 | |
| 5,   // 55
 | |
| 3,   // 56
 | |
| 4,   // 57
 | |
| 4,   // 58
 | |
| 5,   // 59
 | |
| 4,   // 60
 | |
| 5,   // 61
 | |
| 5,   // 62
 | |
| 6,   // 63
 | |
| 1,   // 64
 | |
| 2,   // 65
 | |
| 2,   // 66
 | |
| 3,   // 67
 | |
| 2,   // 68
 | |
| 3,   // 69
 | |
| 3,   // 70
 | |
| 4,   // 71
 | |
| 2,   // 72
 | |
| 3,   // 73
 | |
| 3,   // 74
 | |
| 4,   // 75
 | |
| 3,   // 76
 | |
| 4,   // 77
 | |
| 4,   // 78
 | |
| 5,   // 79
 | |
| 2,   // 80
 | |
| 3,   // 81
 | |
| 3,   // 82
 | |
| 4,   // 83
 | |
| 3,   // 84
 | |
| 4,   // 85
 | |
| 4,   // 86
 | |
| 5,   // 87
 | |
| 3,   // 88
 | |
| 4,   // 89
 | |
| 4,   // 90
 | |
| 5,   // 91
 | |
| 4,   // 92
 | |
| 5,   // 93
 | |
| 5,   // 94
 | |
| 6,   // 95
 | |
| 2,   // 96
 | |
| 3,   // 97
 | |
| 3,   // 98
 | |
| 4,   // 99
 | |
| 3,   // 100
 | |
| 4,   // 101
 | |
| 4,   // 102
 | |
| 5,   // 103
 | |
| 3,   // 104
 | |
| 4,   // 105
 | |
| 4,   // 106
 | |
| 5,   // 107
 | |
| 4,   // 108
 | |
| 5,   // 109
 | |
| 5,   // 110
 | |
| 6,   // 111
 | |
| 3,   // 112
 | |
| 4,   // 113
 | |
| 4,   // 114
 | |
| 5,   // 115
 | |
| 4,   // 116
 | |
| 5,   // 117
 | |
| 5,   // 118
 | |
| 6,   // 119
 | |
| 4,   // 120
 | |
| 5,   // 121
 | |
| 5,   // 122
 | |
| 6,   // 123
 | |
| 5,   // 124
 | |
| 6,   // 125
 | |
| 6,   // 126
 | |
| 7,   // 127
 | |
| 1,   // 128
 | |
| 2,   // 129
 | |
| 2,   // 130
 | |
| 3,   // 131
 | |
| 2,   // 132
 | |
| 3,   // 133
 | |
| 3,   // 134
 | |
| 4,   // 135
 | |
| 2,   // 136
 | |
| 3,   // 137
 | |
| 3,   // 138
 | |
| 4,   // 139
 | |
| 3,   // 140
 | |
| 4,   // 141
 | |
| 4,   // 142
 | |
| 5,   // 143
 | |
| 2,   // 144
 | |
| 3,   // 145
 | |
| 3,   // 146
 | |
| 4,   // 147
 | |
| 3,   // 148
 | |
| 4,   // 149
 | |
| 4,   // 150
 | |
| 5,   // 151
 | |
| 3,   // 152
 | |
| 4,   // 153
 | |
| 4,   // 154
 | |
| 5,   // 155
 | |
| 4,   // 156
 | |
| 5,   // 157
 | |
| 5,   // 158
 | |
| 6,   // 159
 | |
| 2,   // 160
 | |
| 3,   // 161
 | |
| 3,   // 162
 | |
| 4,   // 163
 | |
| 3,   // 164
 | |
| 4,   // 165
 | |
| 4,   // 166
 | |
| 5,   // 167
 | |
| 3,   // 168
 | |
| 4,   // 169
 | |
| 4,   // 170
 | |
| 5,   // 171
 | |
| 4,   // 172
 | |
| 5,   // 173
 | |
| 5,   // 174
 | |
| 6,   // 175
 | |
| 3,   // 176
 | |
| 4,   // 177
 | |
| 4,   // 178
 | |
| 5,   // 179
 | |
| 4,   // 180
 | |
| 5,   // 181
 | |
| 5,   // 182
 | |
| 6,   // 183
 | |
| 4,   // 184
 | |
| 5,   // 185
 | |
| 5,   // 186
 | |
| 6,   // 187
 | |
| 5,   // 188
 | |
| 6,   // 189
 | |
| 6,   // 190
 | |
| 7,   // 191
 | |
| 2,   // 192
 | |
| 3,   // 193
 | |
| 3,   // 194
 | |
| 4,   // 195
 | |
| 3,   // 196
 | |
| 4,   // 197
 | |
| 4,   // 198
 | |
| 5,   // 199
 | |
| 3,   // 200
 | |
| 4,   // 201
 | |
| 4,   // 202
 | |
| 5,   // 203
 | |
| 4,   // 204
 | |
| 5,   // 205
 | |
| 5,   // 206
 | |
| 6,   // 207
 | |
| 3,   // 208
 | |
| 4,   // 209
 | |
| 4,   // 210
 | |
| 5,   // 211
 | |
| 4,   // 212
 | |
| 5,   // 213
 | |
| 5,   // 214
 | |
| 6,   // 215
 | |
| 4,   // 216
 | |
| 5,   // 217
 | |
| 5,   // 218
 | |
| 6,   // 219
 | |
| 5,   // 220
 | |
| 6,   // 221
 | |
| 6,   // 222
 | |
| 7,   // 223
 | |
| 3,   // 224
 | |
| 4,   // 225
 | |
| 4,   // 226
 | |
| 5,   // 227
 | |
| 4,   // 228
 | |
| 5,   // 229
 | |
| 5,   // 230
 | |
| 6,   // 231
 | |
| 4,   // 232
 | |
| 5,   // 233
 | |
| 5,   // 234
 | |
| 6,   // 235
 | |
| 5,   // 236
 | |
| 6,   // 237
 | |
| 6,   // 238
 | |
| 7,   // 239
 | |
| 4,   // 240
 | |
| 5,   // 241
 | |
| 5,   // 242
 | |
| 6,   // 243
 | |
| 5,   // 244
 | |
| 6,   // 245
 | |
| 6,   // 246
 | |
| 7,   // 247
 | |
| 5,   // 248
 | |
| 6,   // 249
 | |
| 6,   // 250
 | |
| 7,   // 251
 | |
| 6,   // 252
 | |
| 7,   // 253
 | |
| 7,   // 254
 | |
| 8    // 255
 | |
| };
 | |
| 
 | |
| 
 | |
| /*
 | |
| 	ctcss decode filter
 | |
| */
 | |
| /**************************************************************
 | |
| Filter type: Low Pass
 | |
| Filter model: Butterworth
 | |
| Filter order: 9
 | |
| Sampling Frequency: 8 KHz
 | |
| Cut Frequency: 0.250000 KHz
 | |
| Coefficents Quantization: 16-bit
 | |
| ***************************************************************/
 | |
| static const int16_t taps_fir_lpf_250_9_66 = 66;
 | |
| static const int32_t gain_fir_lpf_250_9_66 = 262144;
 | |
| static const int16_t coef_fir_lpf_250_9_66[] = 
 | |
| { 
 | |
|   676,
 | |
|   364,
 | |
|    -3,
 | |
|  -415,
 | |
|  -860,
 | |
| -1320,
 | |
| -1777,
 | |
| -2209,
 | |
| -2593,
 | |
| -2904,
 | |
| -3119,
 | |
| -3212,
 | |
| -3162,
 | |
| -2949,
 | |
| -2557,
 | |
| -1975,
 | |
| -1198,
 | |
|  -226,
 | |
|   932,
 | |
|  2263,
 | |
|  3744,
 | |
|  5346,
 | |
|  7034,
 | |
|  8767,
 | |
| 10499,
 | |
| 12184,
 | |
| 13770,
 | |
| 15211,
 | |
| 16462,
 | |
| 17480,
 | |
| 18234,
 | |
| 18696,
 | |
| 18852,
 | |
| 18696,
 | |
| 18234,
 | |
| 17480,
 | |
| 16462,
 | |
| 15211,
 | |
| 13770,
 | |
| 12184,
 | |
| 10499,
 | |
|  8767,
 | |
|  7034,
 | |
|  5346,
 | |
|  3744,
 | |
|  2263,
 | |
|   932,
 | |
|  -226,
 | |
| -1198,
 | |
| -1975,
 | |
| -2557,
 | |
| -2949,
 | |
| -3162,
 | |
| -3212,
 | |
| -3119,
 | |
| -2904,
 | |
| -2593,
 | |
| -2209,
 | |
| -1777,
 | |
| -1320,
 | |
|  -860,
 | |
|  -415,
 | |
|    -3,
 | |
|   364,
 | |
|   676,
 | |
|   927
 | |
| };
 | |
| /* *************************************************************
 | |
| Filter type: Low Pass
 | |
| Filter model: Butterworth
 | |
| Filter order: 9
 | |
| Sampling Frequency: 8 KHz
 | |
| Cut Frequency: 0.215 KHz
 | |
| Coefficents Quantization: 16-bit
 | |
| ***************************************************************/
 | |
| static const int16_t taps_fir_lpf_215_9_88 = 88;
 | |
| static const int32_t gain_fir_lpf_215_9_88 = 524288;
 | |
| static const int16_t coef_fir_lpf_215_9_88[] = {
 | |
|  2038,
 | |
|  2049,
 | |
|  1991,
 | |
|  1859,
 | |
|  1650,
 | |
|  1363,
 | |
|   999,
 | |
|   562,
 | |
|    58,
 | |
|  -502,
 | |
| -1106,
 | |
| -1739,
 | |
| -2382,
 | |
| -3014,
 | |
| -3612,
 | |
| -4153,
 | |
| -4610,
 | |
| -4959,
 | |
| -5172,
 | |
| -5226,
 | |
| -5098,
 | |
| -4769,
 | |
| -4222,
 | |
| -3444,
 | |
| -2430,
 | |
| -1176,
 | |
|   310,
 | |
|  2021,
 | |
|  3937,
 | |
|  6035,
 | |
|  8284,
 | |
| 10648,
 | |
| 13086,
 | |
| 15550,
 | |
| 17993,
 | |
| 20363,
 | |
| 22608,
 | |
| 24677,
 | |
| 26522,
 | |
| 28099,
 | |
| 29369,
 | |
| 30299,
 | |
| 30867,
 | |
| 31058,
 | |
| 30867,
 | |
| 30299,
 | |
| 29369,
 | |
| 28099,
 | |
| 26522,
 | |
| 24677,
 | |
| 22608,
 | |
| 20363,
 | |
| 17993,
 | |
| 15550,
 | |
| 13086,
 | |
| 10648,
 | |
|  8284,
 | |
|  6035,
 | |
|  3937,
 | |
|  2021,
 | |
|   310,
 | |
| -1176,
 | |
| -2430,
 | |
| -3444,
 | |
| -4222,
 | |
| -4769,
 | |
| -5098,
 | |
| -5226,
 | |
| -5172,
 | |
| -4959,
 | |
| -4610,
 | |
| -4153,
 | |
| -3612,
 | |
| -3014,
 | |
| -2382,
 | |
| -1739,
 | |
| -1106,
 | |
|  -502,
 | |
|    58,
 | |
|   562,
 | |
|   999,
 | |
|  1363,
 | |
|  1650,
 | |
|  1859,
 | |
|  1991,
 | |
|  2049,
 | |
|  2038,
 | |
|  1966
 | |
| };
 | |
| // end coef fir_lpf_215_9_88
 | |
| //
 | |
| /**************************************************************
 | |
| Filter type: High Pass
 | |
| Filter model: Butterworth
 | |
| Filter order: 9
 | |
| Sampling Frequency: 8 KHz
 | |
| Cut Frequency: 0.300000 KHz
 | |
| Coefficents Quantization: 16-bit
 | |
| ***************************************************************/
 | |
| static const int16_t taps_fir_hpf_300_9_66 = 66;
 | |
| static const int32_t gain_fir_hpf_300_9_66 = 32768;
 | |
| static const int16_t coef_fir_hpf_300_9_66[] = 
 | |
| { 
 | |
|  -141,
 | |
|  -114,
 | |
|   -77,
 | |
|   -30,
 | |
|    23,
 | |
|    83,
 | |
|   147,
 | |
|   210,
 | |
|   271,
 | |
|   324,
 | |
|   367,
 | |
|   396,
 | |
|   407,
 | |
|   396,
 | |
|   362,
 | |
|   302,
 | |
|   216,
 | |
|   102,
 | |
|   -36,
 | |
|  -199,
 | |
|  -383,
 | |
|  -585,
 | |
|  -798,
 | |
| -1017,
 | |
| -1237,
 | |
| -1452,
 | |
| -1653,
 | |
| -1836,
 | |
| -1995,
 | |
| -2124,
 | |
| -2219,
 | |
| -2278,
 | |
| 30463,
 | |
| -2278,
 | |
| -2219,
 | |
| -2124,
 | |
| -1995,
 | |
| -1836,
 | |
| -1653,
 | |
| -1452,
 | |
| -1237,
 | |
| -1017,
 | |
|  -798,
 | |
|  -585,
 | |
|  -383,
 | |
|  -199,
 | |
|   -36,
 | |
|   102,
 | |
|   216,
 | |
|   302,
 | |
|   362,
 | |
|   396,
 | |
|   407,
 | |
|   396,
 | |
|   367,
 | |
|   324,
 | |
|   271,
 | |
|   210,
 | |
|   147,
 | |
|    83,
 | |
|    23,
 | |
|   -30,
 | |
|   -77,
 | |
|  -114,
 | |
|  -141,
 | |
|  -158
 | |
|     };
 | |
| #endif /* !XPMR_COEF_H */
 | |
| /* end of file */
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 |