From 7126fb9c141c7fa58bf95187e1bb86b330bc0def Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 27 Oct 2023 17:41:48 +0100 Subject: [PATCH] Use channel sample rate of 48k in RTTY and PSK31 mods, to reduce filter taps at high baseband sample rates. --- plugins/channeltx/modpsk31/psk31modbaseband.cpp | 3 ++- plugins/channeltx/modrtty/rttymodbaseband.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/channeltx/modpsk31/psk31modbaseband.cpp b/plugins/channeltx/modpsk31/psk31modbaseband.cpp index 1d99eb8c9..d0f349872 100644 --- a/plugins/channeltx/modpsk31/psk31modbaseband.cpp +++ b/plugins/channeltx/modpsk31/psk31modbaseband.cpp @@ -185,7 +185,8 @@ void PSK31Baseband::applySettings(const PSK31Settings& settings, bool force) { if ((settings.m_inputFrequencyOffset != m_settings.m_inputFrequencyOffset) || force) { - m_channelizer->setChannelization(m_channelizer->getChannelSampleRate(), settings.m_inputFrequencyOffset); + // Use fixed sample rate of 48000, so Cosine filter doesn't have a massive number of taps at high baseband sample rates (See #1862) + m_channelizer->setChannelization(48000, settings.m_inputFrequencyOffset); m_source.applyChannelSettings(m_channelizer->getChannelSampleRate(), m_channelizer->getChannelFrequencyOffset()); } diff --git a/plugins/channeltx/modrtty/rttymodbaseband.cpp b/plugins/channeltx/modrtty/rttymodbaseband.cpp index 5919b03a6..62691ce34 100644 --- a/plugins/channeltx/modrtty/rttymodbaseband.cpp +++ b/plugins/channeltx/modrtty/rttymodbaseband.cpp @@ -185,7 +185,8 @@ void RttyModBaseband::applySettings(const RttyModSettings& settings, bool force) { if ((settings.m_inputFrequencyOffset != m_settings.m_inputFrequencyOffset) || force) { - m_channelizer->setChannelization(m_channelizer->getChannelSampleRate(), settings.m_inputFrequencyOffset); + // Use fixed sample rate of 48000, so Cosine filter doesn't have a massive number of taps at high baseband sample rates (See #1862) + m_channelizer->setChannelization(48000, settings.m_inputFrequencyOffset); m_source.applyChannelSettings(m_channelizer->getChannelSampleRate(), m_channelizer->getChannelFrequencyOffset()); }