Ambisonicsのフォーマット変換

AmbisonicsのA-FormatからB-Formatに変換するMatlab/Octaveプログラムをつくろうと思ったら、あまりにあっけなかったのでここに載せておきます。

function [W,X,Y,Z] = ambisonicsABconversion(LFU, RFD, RBU, LBD)
% Ambisonics Format-A to Format-B Conversion
W = LFU + RFD + RBU + LBD;
X = LFU + RFD - RBU - LBD;
Y = LFU - RFD - RBU + LBD;
Z = LFU - RFD + RBU - LBD;

上記プログラムではマトリックス部分しか書いていませんが、他にもマイクの応答をあわせたりする必要があります。Fons Adriaensenによる文献にコンパクトにまとまっています。