diff --git a/plugins/channelrx/demodais/aisdemodsink.cpp b/plugins/channelrx/demodais/aisdemodsink.cpp index 55dee3fa1..9d8b5411e 100644 --- a/plugins/channelrx/demodais/aisdemodsink.cpp +++ b/plugins/channelrx/demodais/aisdemodsink.cpp @@ -199,7 +199,7 @@ void AISDemodSink::processOneSample(Complex &ci) int sampleOffset = -1; Real sampleSum = 0.0f; for (int i = 0; i < sampleCnt; i++) { - sampleSum += m_rxBuf[(x + sampleOffset + i) % m_rxBufLength] - dcOffset; + sampleSum += m_rxBuf[(x + sampleOffset + i + m_rxBufLength) % m_rxBufLength] - dcOffset; } int symbol = sampleSum >= 0.0f ? 1 : 0; diff --git a/plugins/channelrx/demodradiosonde/radiosondedemodsink.cpp b/plugins/channelrx/demodradiosonde/radiosondedemodsink.cpp index a7d5cd0ff..16f02ade0 100644 --- a/plugins/channelrx/demodradiosonde/radiosondedemodsink.cpp +++ b/plugins/channelrx/demodradiosonde/radiosondedemodsink.cpp @@ -207,7 +207,7 @@ void RadiosondeDemodSink::processOneSample(Complex &ci) int sampleOffset = -1; Real sampleSum = 0.0f; for (int i = 0; i < sampleCnt; i++) { - sampleSum += m_rxBuf[(x + sampleOffset + i) % m_rxBufLength] - dcOffset; + sampleSum += m_rxBuf[(x + sampleOffset + i + m_rxBufLength) % m_rxBufLength] - dcOffset; sampleIdxs.append((x + sampleOffset + i) % m_rxBufLength); } int symbol = sampleSum >= 0.0f ? 1 : 0;