From 2c5476ea24bfaf94f6a11fb1e673e5630fb5fdab Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Wed, 26 Oct 2022 17:15:09 -0700 Subject: Use the correct input for the IIR UHJ encoder Also better detail the IIR implementation. --- utils/uhjencoder.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'utils/uhjencoder.cpp') diff --git a/utils/uhjencoder.cpp b/utils/uhjencoder.cpp index 5dc3b949..b2fc6dce 100644 --- a/utils/uhjencoder.cpp +++ b/utils/uhjencoder.cpp @@ -128,9 +128,9 @@ void UhjEncoder::encode(const al::span OutSamples, std::copy_n(mTemp.cbegin()+SamplesToDo, mWXHistory1.size(), mWXHistory1.begin()); PShift.process({mD.data(), SamplesToDo}, mTemp.data()); - /* D = 0.6554516*Y + j(-0.3420201*W + 0.5098604*X) */ + /* D = j(-0.3420201*W + 0.5098604*X) + 0.6554516*Y */ for(size_t i{0};i < SamplesToDo;++i) - mD[i] = 0.6554516f*mY[i] + mD[i]; + mD[i] = mD[i] + 0.6554516f*mY[i]; /* Left = (S + D)/2.0 */ float *RESTRICT left{al::assume_aligned<16>(OutSamples[0].data())}; -- cgit v1.2.3