From bffe587c18e93dc2446548df0e8c9996e891dbef Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Sun, 25 Jan 2026 11:11:20 +0000 Subject: [PATCH] Replace NCOF with NCO as the latter has better SFDR. --- plugins/channelrx/chanalyzer/chanalyzersink.h | 4 ++-- plugins/channelrx/demodfreedv/freedvdemodsink.h | 4 ++-- plugins/channelrx/demodft8/ft8demodsink.h | 4 ++-- plugins/channelrx/demodssb/ssbdemodsink.h | 4 ++-- plugins/channelrx/filesink/filesinksink.h | 4 ++-- plugins/channelrx/freqtracker/freqtrackersink.h | 4 ++-- plugins/channelrx/sigmffilesink/sigmffilesinksink.h | 4 ++-- plugins/channelrx/wdsprx/wdsprxsink.h | 4 ++-- plugins/channeltx/modam/ammodsource.h | 3 +-- plugins/channeltx/modfreedv/freedvmodsource.h | 6 +++--- plugins/channeltx/modm17/m17modsource.h | 3 +-- plugins/channeltx/modnfm/nfmmodsource.h | 5 ++--- plugins/channeltx/modssb/ssbmodsource.h | 6 +++--- plugins/channeltx/modwfm/wfmmodsource.h | 6 +++--- plugins/samplemimo/testmi/testmiworker.h | 6 +++--- plugins/samplesource/testsource/testsourceworker.h | 6 +++--- sdrbase/CMakeLists.txt | 2 -- 17 files changed, 35 insertions(+), 40 deletions(-) diff --git a/plugins/channelrx/chanalyzer/chanalyzersink.h b/plugins/channelrx/chanalyzer/chanalyzersink.h index 4643945ca..5850cb00f 100644 --- a/plugins/channelrx/chanalyzer/chanalyzersink.h +++ b/plugins/channelrx/chanalyzer/chanalyzersink.h @@ -22,7 +22,7 @@ #include "dsp/channelsamplesink.h" #include "dsp/interpolator.h" #include "dsp/decimatorc.h" -#include "dsp/ncof.h" +#include "dsp/nco.h" #include "dsp/fftcorr.h" #include "dsp/fftfilt.h" #include "dsp/phaselockcomplex.h" @@ -65,7 +65,7 @@ private: bool m_usb; double m_magsq; - NCOF m_nco; + NCO m_nco; Interpolator m_interpolator; Real m_interpolatorDistance; Real m_interpolatorDistanceRemain; diff --git a/plugins/channelrx/demodfreedv/freedvdemodsink.h b/plugins/channelrx/demodfreedv/freedvdemodsink.h index 70fc5cc6e..9480647d5 100644 --- a/plugins/channelrx/demodfreedv/freedvdemodsink.h +++ b/plugins/channelrx/demodfreedv/freedvdemodsink.h @@ -25,7 +25,7 @@ #include #include "dsp/channelsamplesink.h" -#include "dsp/ncof.h" +#include "dsp/nco.h" #include "dsp/interpolator.h" #include "dsp/fftfilt.h" #include "dsp/agc.h" @@ -171,7 +171,7 @@ private: DoubleBufferFIFO m_squelchDelayLine; bool m_audioActive; //!< True if an audio signal is produced (no AGC or AGC and above threshold) - NCOF m_nco; + NCO m_nco; Interpolator m_interpolator; Real m_interpolatorDistance; Real m_interpolatorDistanceRemain; diff --git a/plugins/channelrx/demodft8/ft8demodsink.h b/plugins/channelrx/demodft8/ft8demodsink.h index 2672967b5..b79b2bd82 100644 --- a/plugins/channelrx/demodft8/ft8demodsink.h +++ b/plugins/channelrx/demodft8/ft8demodsink.h @@ -21,7 +21,7 @@ #include #include "dsp/channelsamplesink.h" -#include "dsp/ncof.h" +#include "dsp/nco.h" #include "dsp/interpolator.h" #include "dsp/fftfilt.h" #include "dsp/agc.h" @@ -123,7 +123,7 @@ private: bool m_agcActive; bool m_audioActive; //!< True if an audio signal is produced (no AGC or AGC and above threshold) - NCOF m_nco; + NCO m_nco; Interpolator m_interpolator; Real m_interpolatorDistance; Real m_interpolatorDistanceRemain; diff --git a/plugins/channelrx/demodssb/ssbdemodsink.h b/plugins/channelrx/demodssb/ssbdemodsink.h index 9a407acea..918c00697 100644 --- a/plugins/channelrx/demodssb/ssbdemodsink.h +++ b/plugins/channelrx/demodssb/ssbdemodsink.h @@ -21,7 +21,7 @@ #include #include "dsp/channelsamplesink.h" -#include "dsp/ncof.h" +#include "dsp/nco.h" #include "dsp/interpolator.h" #include "dsp/fftfilt.h" #include "dsp/agc.h" @@ -115,7 +115,7 @@ private: Lowpass m_lowpassQ; - NCOF m_nco; + NCO m_nco; Interpolator m_interpolator; Real m_interpolatorDistance; Real m_interpolatorDistanceRemain; diff --git a/plugins/channelrx/filesink/filesinksink.h b/plugins/channelrx/filesink/filesinksink.h index 529824c1e..7e802b55c 100644 --- a/plugins/channelrx/filesink/filesinksink.h +++ b/plugins/channelrx/filesink/filesinksink.h @@ -25,7 +25,7 @@ #include "dsp/filerecordinterface.h" #include "dsp/decimatorc.h" #include "dsp/samplesimplefifo.h" -#include "dsp/ncof.h" +#include "dsp/nco.h" #include "filesinksettings.h" @@ -65,7 +65,7 @@ private: int m_channelFrequencyOffset; int m_sinkSampleRate; int64_t m_centerFrequency; - NCOF m_nco; + NCO m_nco; DecimatorC m_decimator; SampleVector m_sampleBuffer; FileSinkSettings m_settings; diff --git a/plugins/channelrx/freqtracker/freqtrackersink.h b/plugins/channelrx/freqtracker/freqtrackersink.h index 7e3e18459..5a686883f 100644 --- a/plugins/channelrx/freqtracker/freqtrackersink.h +++ b/plugins/channelrx/freqtracker/freqtrackersink.h @@ -23,7 +23,7 @@ #include #include "dsp/channelsamplesink.h" -#include "dsp/ncof.h" +#include "dsp/nco.h" #include "dsp/interpolator.h" #include "util/movingaverage.h" #include "dsp/phaselockcomplex.h" @@ -103,7 +103,7 @@ private: Complex m_sum; int m_undersampleCount; - NCOF m_nco; + NCO m_nco; PhaseLockComplex m_pll; FreqLockComplex m_fll; Interpolator m_interpolator; diff --git a/plugins/channelrx/sigmffilesink/sigmffilesinksink.h b/plugins/channelrx/sigmffilesink/sigmffilesinksink.h index e0675deaf..5293fe345 100644 --- a/plugins/channelrx/sigmffilesink/sigmffilesinksink.h +++ b/plugins/channelrx/sigmffilesink/sigmffilesinksink.h @@ -24,7 +24,7 @@ #include "dsp/sigmffilerecord.h" #include "dsp/decimatorc.h" #include "dsp/samplesimplefifo.h" -#include "dsp/ncof.h" +#include "dsp/nco.h" #include "sigmffilesinksettings.h" @@ -64,7 +64,7 @@ private: int m_channelFrequencyOffset; int m_sinkSampleRate; int64_t m_centerFrequency; - NCOF m_nco; + NCO m_nco; DecimatorC m_decimator; SampleVector m_sampleBuffer; SigMFFileSinkSettings m_settings; diff --git a/plugins/channelrx/wdsprx/wdsprxsink.h b/plugins/channelrx/wdsprx/wdsprxsink.h index 42d44cd79..12408921e 100644 --- a/plugins/channelrx/wdsprx/wdsprxsink.h +++ b/plugins/channelrx/wdsprx/wdsprxsink.h @@ -21,7 +21,7 @@ #include #include "dsp/channelsamplesink.h" -#include "dsp/ncof.h" +#include "dsp/nco.h" #include "dsp/interpolator.h" #include "dsp/fftfilt.h" #include "dsp/firfilter.h" @@ -100,7 +100,7 @@ private: DoubleBufferFIFO m_squelchDelayLine; bool m_audioActive; //!< True if an audio signal is produced (no AGC or AGC and above threshold) - NCOF m_nco; + NCO m_nco; Interpolator m_interpolator; Real m_interpolatorDistance; Real m_interpolatorDistanceRemain; diff --git a/plugins/channeltx/modam/ammodsource.h b/plugins/channeltx/modam/ammodsource.h index bcec5d7b2..2bfeb7c9c 100644 --- a/plugins/channeltx/modam/ammodsource.h +++ b/plugins/channeltx/modam/ammodsource.h @@ -28,7 +28,6 @@ #include "dsp/channelsamplesource.h" #include "dsp/nco.h" -#include "dsp/ncof.h" #include "dsp/interpolator.h" #include "util/movingaverage.h" #include "audio/audiofifo.h" @@ -76,7 +75,7 @@ private: ChannelAPI *m_channel; NCO m_carrierNco; - NCOF m_toneNco; + NCO m_toneNco; Complex m_modSample; Interpolator m_interpolator; diff --git a/plugins/channeltx/modfreedv/freedvmodsource.h b/plugins/channeltx/modfreedv/freedvmodsource.h index 44ab803ad..78465855c 100644 --- a/plugins/channeltx/modfreedv/freedvmodsource.h +++ b/plugins/channeltx/modfreedv/freedvmodsource.h @@ -26,7 +26,7 @@ #include #include "dsp/channelsamplesource.h" -#include "dsp/ncof.h" +#include "dsp/nco.h" #include "dsp/interpolator.h" #include "dsp/fftfilt.h" #include "util/movingaverage.h" @@ -78,8 +78,8 @@ private: Real m_hiCutoff; FreeDVModSettings m_settings; - NCOF m_carrierNco; - NCOF m_toneNco; + NCO m_carrierNco; + NCO m_toneNco; Complex m_modSample; Interpolator m_interpolator; diff --git a/plugins/channeltx/modm17/m17modsource.h b/plugins/channeltx/modm17/m17modsource.h index f54c87074..6a168deaa 100644 --- a/plugins/channeltx/modm17/m17modsource.h +++ b/plugins/channeltx/modm17/m17modsource.h @@ -29,7 +29,6 @@ #include "dsp/channelsamplesource.h" #include "dsp/nco.h" -#include "dsp/ncof.h" #include "dsp/interpolator.h" #include "dsp/firfilter.h" #include "dsp/filterrc.h" @@ -80,7 +79,7 @@ private: ChannelAPI *m_channel; NCO m_carrierNco; - NCOF m_toneNco; + NCO m_toneNco; float m_modPhasor; //!< baseband modulator phasor Complex m_modSample; diff --git a/plugins/channeltx/modnfm/nfmmodsource.h b/plugins/channeltx/modnfm/nfmmodsource.h index 8aad901af..02b32a9b4 100644 --- a/plugins/channeltx/modnfm/nfmmodsource.h +++ b/plugins/channeltx/modnfm/nfmmodsource.h @@ -28,7 +28,6 @@ #include "dsp/channelsamplesource.h" #include "dsp/nco.h" -#include "dsp/ncof.h" #include "dsp/interpolator.h" #include "dsp/firfilter.h" #include "dsp/filterrc.h" @@ -80,8 +79,8 @@ private: ChannelAPI *m_channel; NCO m_carrierNco; - NCOF m_toneNco; - NCOF m_ctcssNco; + NCO m_toneNco; + NCO m_ctcssNco; NFMModDCS m_dcsMod; float m_modPhasor = 0.0f; //!< baseband modulator phasor Complex m_modSample; diff --git a/plugins/channeltx/modssb/ssbmodsource.h b/plugins/channeltx/modssb/ssbmodsource.h index 20fed05b5..6531bde6a 100644 --- a/plugins/channeltx/modssb/ssbmodsource.h +++ b/plugins/channeltx/modssb/ssbmodsource.h @@ -27,7 +27,7 @@ #include #include "dsp/channelsamplesource.h" -#include "dsp/ncof.h" +#include "dsp/nco.h" #include "dsp/interpolator.h" #include "dsp/fftfilt.h" #include "dsp/cwkeyer.h" @@ -79,8 +79,8 @@ private: SSBModSettings m_settings; ChannelAPI *m_channel; - NCOF m_carrierNco; - NCOF m_toneNco; + NCO m_carrierNco; + NCO m_toneNco; Complex m_modSample; Interpolator m_interpolator; diff --git a/plugins/channeltx/modwfm/wfmmodsource.h b/plugins/channeltx/modwfm/wfmmodsource.h index 066721f0d..3edb71840 100644 --- a/plugins/channeltx/modwfm/wfmmodsource.h +++ b/plugins/channeltx/modwfm/wfmmodsource.h @@ -28,7 +28,7 @@ #include "dsp/channelsamplesource.h" #include "dsp/nco.h" -#include "dsp/ncof.h" +#include "dsp/nco.h" #include "dsp/interpolator.h" #include "dsp/fftfilt.h" #include "util/movingaverage.h" @@ -76,8 +76,8 @@ private: ChannelAPI *m_channel; NCO m_carrierNco; - NCOF m_toneNco; - NCOF m_cwToneNco; + NCO m_toneNco; + NCO m_cwToneNco; float m_modPhasor; //!< baseband modulator phasor Complex m_modSample; diff --git a/plugins/samplemimo/testmi/testmiworker.h b/plugins/samplemimo/testmi/testmiworker.h index 3822c8236..6e140d1de 100644 --- a/plugins/samplemimo/testmi/testmiworker.h +++ b/plugins/samplemimo/testmi/testmiworker.h @@ -25,7 +25,7 @@ #include #include "dsp/decimators.h" -#include "dsp/ncof.h" +#include "dsp/nco.h" #include "util/messagequeue.h" #include "testmisettings.h" @@ -70,8 +70,8 @@ private: SampleVector m_convertBuffer; SampleMIFifo* m_sampleFifo; int m_streamIndex; - NCOF m_nco; - NCOF m_toneNco; + NCO m_nco; + NCO m_toneNco; int m_frequencyShift; int m_toneFrequency; TestMIStreamSettings::Modulation m_modulation; diff --git a/plugins/samplesource/testsource/testsourceworker.h b/plugins/samplesource/testsource/testsourceworker.h index b565882a3..e8084c78f 100644 --- a/plugins/samplesource/testsource/testsourceworker.h +++ b/plugins/samplesource/testsource/testsourceworker.h @@ -28,7 +28,7 @@ #include "dsp/samplesinkfifo.h" #include "dsp/decimators.h" -#include "dsp/ncof.h" +#include "dsp/nco.h" #include "util/messagequeue.h" #include "testsourcesettings.h" @@ -70,8 +70,8 @@ private: quint32 m_chunksize; SampleVector m_convertBuffer; SampleSinkFifo* m_sampleFifo; - NCOF m_nco; - NCOF m_toneNco; + NCO m_nco; + NCO m_toneNco; int m_frequencyShift; int m_toneFrequency; TestSourceSettings::Modulation m_modulation; diff --git a/sdrbase/CMakeLists.txt b/sdrbase/CMakeLists.txt index f3abe0bfe..92e04f596 100644 --- a/sdrbase/CMakeLists.txt +++ b/sdrbase/CMakeLists.txt @@ -163,7 +163,6 @@ set(sdrbase_SOURCES dsp/mimochannel.cpp dsp/morsedemod.cpp dsp/nco.cpp - dsp/ncof.cpp dsp/phaselock.cpp dsp/phaselockcomplex.cpp dsp/projector.cpp @@ -413,7 +412,6 @@ set(sdrbase_HEADERS dsp/movingaverage.h dsp/morsedemod.h dsp/nco.h - dsp/ncof.h dsp/phasediscri.h dsp/phaselock.h dsp/phaselockcomplex.h