From 4b494e2ad3d7bfa6c567f6f31a8aab7fea107f2e Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sun, 7 Jan 2024 19:30:17 +0800 Subject: [PATCH] fix phase inversion of odd order high pass filters (#693) This is a known issue with DSPFilters: https://github.com/vinniefalco/DSPFilters/issues/29 and has been fixed in iir1 and iirj: https://github.com/berndporr/iir1/commit/379d697de7719110465240301531c53845021edf https://github.com/berndporr/iirj/issues/27 --- third_party/DSPFilters/source/Biquad.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/third_party/DSPFilters/source/Biquad.cpp b/third_party/DSPFilters/source/Biquad.cpp index da6f0df48..716514adb 100644 --- a/third_party/DSPFilters/source/Biquad.cpp +++ b/third_party/DSPFilters/source/Biquad.cpp @@ -143,8 +143,8 @@ void BiquadBase::setOnePole (complex_t pole, complex_t zero) const double a0 = 1; const double a1 = -pole.real(); const double a2 = 0; - const double b0 = -zero.real(); - const double b1 = 1; + const double b0 = 1; + const double b1 = -zero.real(); const double b2 = 0; setCoefficients (a0, a1, a2, b0, b1, b2);