Restoring original TX filter for YSF, fixing symbol generation (zero padding for FIR interpolation)

This commit is contained in:
Andy CA6JAU 2017-03-31 01:25:45 -03:00
parent aee9cac546
commit a033ee66fd
1 changed files with 14 additions and 14 deletions

View File

@ -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}; 11310, 7041, 2684, -775, -2724, -3060, -2158, -680, 688, 0};
const uint16_t YSF_C4FSK_FILTER_LEN = 22U; const uint16_t YSF_C4FSK_FILTER_LEN = 22U;
#else #else
// Generated using rcosdesign(0.2, 8, 4, 'sqrt') in MATLAB // Generated using rcosdesign(0.2, 8, 5, 'sqrt') in MATLAB
static q15_t YSF_C4FSK_FILTER[] = {448, 0, -622, -954, -619, 349, 1391, 1704, 764, -1182, -3028, -3279, -861, static q15_t YSF_C4FSK_FILTER[] = {401, 104, -340, -731, -847, -553, 112, 909, 1472, 1450, 683, -675, -2144, -3040, -2706, -770, 2667, 6995,
4135, 10280, 15335, 17288, 15335, 10280, 4135, -861, -3279, -3028, -1182, 11237, 14331, 15464, 14331, 11237, 6995, 2667, -770, -2706, -3040, -2144, -675, 683, 1450, 1472, 909, 112,
764, 1704, 1391, 349, -619, -954, -622, 0, 448, 0}; -553, -847, -731, -340, 104, 401, 0};
const uint16_t YSF_C4FSK_FILTER_LEN = 34U; const uint16_t YSF_C4FSK_FILTER_LEN = 42U;
#endif #endif
const q15_t YSF_LEVELA_HI[] = { 809, 809, 809, 809, 809}; const q15_t YSF_LEVELA_HI[] = { 4035, 0, 0, 0, 0};
const q15_t YSF_LEVELB_HI[] = { 269, 269, 269, 269, 269}; const q15_t YSF_LEVELB_HI[] = { 1345, 0, 0, 0, 0};
const q15_t YSF_LEVELC_HI[] = {-269, -269, -269, -269, -269}; const q15_t YSF_LEVELC_HI[] = {-1345, 0, 0, 0, 0};
const q15_t YSF_LEVELD_HI[] = {-809, -809, -809, -809, -809}; 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_LEVELA_LO[] = { 2019, 0, 0, 0, 0};
const q15_t YSF_LEVELB_LO[] = { 135, 135, 135, 135, 135}; const q15_t YSF_LEVELB_LO[] = { 673, 0, 0, 0, 0};
const q15_t YSF_LEVELC_LO[] = {-135, -135, -135, -135, -135}; const q15_t YSF_LEVELC_LO[] = { -673, 0, 0, 0, 0};
const q15_t YSF_LEVELD_LO[] = {-405, -405, -405, -405, -405}; const q15_t YSF_LEVELD_LO[] = {-2019, 0, 0, 0, 0};
const uint8_t YSF_START_SYNC = 0x77U; const uint8_t YSF_START_SYNC = 0x77U;
const uint8_t YSF_END_SYNC = 0xFFU; const uint8_t YSF_END_SYNC = 0xFFU;
@ -143,7 +143,7 @@ void CYSFTX::writeByte(uint8_t c)
break; break;
} }
} }
::arm_fir_fast_q15(&m_modFilter, inBuffer, outBuffer, YSF_RADIO_SYMBOL_LENGTH * 4U); ::arm_fir_fast_q15(&m_modFilter, inBuffer, outBuffer, YSF_RADIO_SYMBOL_LENGTH * 4U);
io.write(STATE_YSF, outBuffer, YSF_RADIO_SYMBOL_LENGTH * 4U); io.write(STATE_YSF, outBuffer, YSF_RADIO_SYMBOL_LENGTH * 4U);