From 7a80581827cec37205a305f511c9a199c1f45cea Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Wed, 15 Jun 2022 10:06:22 +0000 Subject: [PATCH] - greatly simplified - Works for all interpolation ratios - use Processor::Buffer for FIR feeding git-svn-id: http://moon:8086/svn/software/trunk/libsrc/cpp@975 b431acfa-c32f-4a4a-93f1-934dc6c82436 --- radio/interpolation/Farrow.hpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/radio/interpolation/Farrow.hpp b/radio/interpolation/Farrow.hpp index e4e12ee..ebf770c 100644 --- a/radio/interpolation/Farrow.hpp +++ b/radio/interpolation/Farrow.hpp @@ -89,22 +89,22 @@ public: { size_t adv = m_interpolator.getAdv(); radio_float_t mu = m_interpolator.getMu(); - if (adv) - { - if (m_bufferIn.len() < adv) - { - break; - } - ComplexScalar xout = m_bufferIn.readAt(adv-1); - FirComplex::feed(xout); + if (m_bufferIn.len() < adv) + { + break; + } + + if (adv != 0) + { + FirComplex::feed(m_bufferIn, adv); + // Partial filter responses for (int i=0; i < m_M; i++) { m_h[i] = FirComplex::processReal(column(m_coeff, i)); } } - // Combine ComplexScalar yout = horner(mu); m_bufferOut.write(&yout, 1);