mirror of https://github.com/g4klx/MMDVM.git
Merge pull request #69 from juribeparada/c4fmdemod
Fixing symbol generation for all modes (zero padding for FIR interpolation)
This commit is contained in:
commit
03aa405b41
|
@ -36,10 +36,10 @@ static q15_t DMR_C4FSK_FILTER[] = {401, 104, -340, -731, -847, -553, 112, 909, 1
|
|||
const uint16_t DMR_C4FSK_FILTER_LEN = 42U;
|
||||
#endif
|
||||
|
||||
const q15_t DMR_LEVELA[] = { 640, 640 , 640, 640, 640};
|
||||
const q15_t DMR_LEVELB[] = { 213, 213, 213, 213, 213};
|
||||
const q15_t DMR_LEVELC[] = {-213, -213, -213, -213, -213};
|
||||
const q15_t DMR_LEVELD[] = {-640, -640, -640, -640, -640};
|
||||
const q15_t DMR_LEVELA[] = { 3195, 0 , 0, 0, 0};
|
||||
const q15_t DMR_LEVELB[] = { 1065, 0 , 0, 0, 0};
|
||||
const q15_t DMR_LEVELC[] = {-1065, 0 , 0, 0, 0};
|
||||
const q15_t DMR_LEVELD[] = {-3195, 0 , 0, 0, 0};
|
||||
|
||||
// The PR FILL and Data Sync pattern.
|
||||
const uint8_t IDLE_DATA[] =
|
||||
|
|
|
@ -32,8 +32,8 @@ const uint8_t FRAME_SYNC[] = {0xEAU, 0xA6U, 0x00U};
|
|||
static q15_t DSTAR_GMSK_FILTER[] = {8, 104, 760, 3158, 7421, 9866, 7421, 3158, 760, 104, 8, 0};
|
||||
const uint16_t DSTAR_GMSK_FILTER_LEN = 12U;
|
||||
|
||||
const q15_t DSTAR_LEVEL0[] = {-800, -800, -800, -800, -800};
|
||||
const q15_t DSTAR_LEVEL1[] = { 800, 800, 800, 800, 800};
|
||||
const q15_t DSTAR_LEVEL0[] = {-4000, 0, 0, 0, 0};
|
||||
const q15_t DSTAR_LEVEL1[] = { 4000, 0, 0, 0, 0};
|
||||
|
||||
const uint8_t BIT_MASK_TABLE[] = {0x80U, 0x40U, 0x20U, 0x10U, 0x08U, 0x04U, 0x02U, 0x01U};
|
||||
|
||||
|
|
|
@ -44,10 +44,10 @@ static q15_t P25_LP_FILTER[] = {170, 401, 340, -203, -715, -478, 281, 419, -440,
|
|||
281, -478, -715, -203, 340, 401, 170};
|
||||
const uint16_t P25_LP_FILTER_LEN = 44U;
|
||||
|
||||
const q15_t P25_LEVELA[] = { 495, 495, 495, 495, 495};
|
||||
const q15_t P25_LEVELB[] = { 165, 165, 165, 165, 165};
|
||||
const q15_t P25_LEVELC[] = {-165, -165, -165, -165, -165};
|
||||
const q15_t P25_LEVELD[] = {-495, -495, -495, -495, -495};
|
||||
const q15_t P25_LEVELA[] = { 2475, 0, 0, 0, 0};
|
||||
const q15_t P25_LEVELB[] = { 825, 0, 0, 0, 0};
|
||||
const q15_t P25_LEVELC[] = {-825, 0, 0, 0, 0};
|
||||
const q15_t P25_LEVELD[] = {-2475, 0, 0, 0, 0};
|
||||
|
||||
const uint8_t P25_START_SYNC = 0x77U;
|
||||
|
||||
|
|
26
YSFTX.cpp
26
YSFTX.cpp
|
@ -30,22 +30,22 @@ static q15_t YSF_C4FSK_FILTER[] = {688, -680, -2158, -3060, -2724, -775, 2684, 7
|
|||
11310, 7041, 2684, -775, -2724, -3060, -2158, -680, 688, 0};
|
||||
const uint16_t YSF_C4FSK_FILTER_LEN = 22U;
|
||||
#else
|
||||
// Generated using rcosdesign(0.2, 8, 4, 'sqrt') in MATLAB
|
||||
static q15_t YSF_C4FSK_FILTER[] = {448, 0, -622, -954, -619, 349, 1391, 1704, 764, -1182, -3028, -3279, -861,
|
||||
4135, 10280, 15335, 17288, 15335, 10280, 4135, -861, -3279, -3028, -1182,
|
||||
764, 1704, 1391, 349, -619, -954, -622, 0, 448, 0};
|
||||
const uint16_t YSF_C4FSK_FILTER_LEN = 34U;
|
||||
// Generated using rcosdesign(0.2, 8, 5, 'sqrt') in MATLAB
|
||||
static q15_t YSF_C4FSK_FILTER[] = {401, 104, -340, -731, -847, -553, 112, 909, 1472, 1450, 683, -675, -2144, -3040, -2706, -770, 2667, 6995,
|
||||
11237, 14331, 15464, 14331, 11237, 6995, 2667, -770, -2706, -3040, -2144, -675, 683, 1450, 1472, 909, 112,
|
||||
-553, -847, -731, -340, 104, 401, 0};
|
||||
const uint16_t YSF_C4FSK_FILTER_LEN = 42U;
|
||||
#endif
|
||||
|
||||
const q15_t YSF_LEVELA_HI[] = { 809, 809, 809, 809, 809};
|
||||
const q15_t YSF_LEVELB_HI[] = { 269, 269, 269, 269, 269};
|
||||
const q15_t YSF_LEVELC_HI[] = {-269, -269, -269, -269, -269};
|
||||
const q15_t YSF_LEVELD_HI[] = {-809, -809, -809, -809, -809};
|
||||
const q15_t YSF_LEVELA_HI[] = { 4035, 0, 0, 0, 0};
|
||||
const q15_t YSF_LEVELB_HI[] = { 1345, 0, 0, 0, 0};
|
||||
const q15_t YSF_LEVELC_HI[] = {-1345, 0, 0, 0, 0};
|
||||
const q15_t YSF_LEVELD_HI[] = {-4035, 0, 0, 0, 0};
|
||||
|
||||
const q15_t YSF_LEVELA_LO[] = { 405, 405, 405, 405, 405};
|
||||
const q15_t YSF_LEVELB_LO[] = { 135, 135, 135, 135, 135};
|
||||
const q15_t YSF_LEVELC_LO[] = {-135, -135, -135, -135, -135};
|
||||
const q15_t YSF_LEVELD_LO[] = {-405, -405, -405, -405, -405};
|
||||
const q15_t YSF_LEVELA_LO[] = { 2019, 0, 0, 0, 0};
|
||||
const q15_t YSF_LEVELB_LO[] = { 673, 0, 0, 0, 0};
|
||||
const q15_t YSF_LEVELC_LO[] = { -673, 0, 0, 0, 0};
|
||||
const q15_t YSF_LEVELD_LO[] = {-2019, 0, 0, 0, 0};
|
||||
|
||||
const uint8_t YSF_START_SYNC = 0x77U;
|
||||
const uint8_t YSF_END_SYNC = 0xFFU;
|
||||
|
|
Loading…
Reference in New Issue