From 546243eec6318bd1d5de21ef8a8f4f80b93bbe76 Mon Sep 17 00:00:00 2001 From: Andy CA6JAU Date: Fri, 31 Mar 2017 01:26:07 -0300 Subject: [PATCH] Fixing symbol generation (zero padding for FIR interpolation) --- DMRTX.cpp | 8 ++++---- DStarTX.cpp | 4 ++-- P25TX.cpp | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/DMRTX.cpp b/DMRTX.cpp index 51cd60d..196e967 100644 --- a/DMRTX.cpp +++ b/DMRTX.cpp @@ -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[] = diff --git a/DStarTX.cpp b/DStarTX.cpp index b4c89e5..d4640d1 100644 --- a/DStarTX.cpp +++ b/DStarTX.cpp @@ -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}; diff --git a/P25TX.cpp b/P25TX.cpp index 42cbfc3..1cb7488 100644 --- a/P25TX.cpp +++ b/P25TX.cpp @@ -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;