diff options
author | Chris Robinson <[email protected]> | 2021-03-24 00:24:10 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2021-03-24 00:24:10 -0700 |
commit | d732a8831e9f7f4edcb19a0a39d785fe84e7fc16 (patch) | |
tree | 3c2ff8dc135729944b887b84f9d913786f79fdcb /core | |
parent | 9a31dcf84f220632c1c4ac29a8df20e99fe40b26 (diff) |
Update the UHJ decoding coefficients
Diffstat (limited to 'core')
-rw-r--r-- | core/uhjfilter.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/core/uhjfilter.cpp b/core/uhjfilter.cpp index 3fbec3b3..5cb7d0ab 100644 --- a/core/uhjfilter.cpp +++ b/core/uhjfilter.cpp @@ -215,15 +215,18 @@ void allpass_process(al::span<float> dst, const float *RESTRICT src) } // namespace -/* Encoding 2-channel UHJ from B-Format is done as: +/* Encoding UHJ from B-Format is done as: * * S = 0.9396926*W + 0.1855740*X * D = j(-0.3420201*W + 0.5098604*X) + 0.6554516*Y * * Left = (S + D)/2.0 * Right = (S - D)/2.0 + * T = j(-0.1432*W + 0.6511746*X) - 0.7071068*Y + * Q = 0.9772*Z * - * where j is a wide-band +90 degree phase shift. + * where j is a wide-band +90 degree phase shift. T is excluded from 2-channel + * output, and Q is excluded from 2- and 3-channel output. * * The phase shift is done using a FIR filter derived from an FFT'd impulse * with the desired shift. |