私は16チャンネルのオーディオミキサーをやっています。各チャネルは符号付きハーフワード (短い) であり、それらを加算してから 16 で割り、結果が符号付きハーフワードになるようにしたいと考えています。兆候が保持されるようにこれを行う方法について頭を悩ませているようには見えません。0x4fff と 0x6fff を追加すると、結果は負になりますが、負のハーフワードではなく、32 ビット ワードで正の値にする必要があります。ここでは符号拡張を使用する必要があると確信していますが、提案は大歓迎です。各入力値を 1/16 にスケーリングしてから追加してみましたが、それは機能しますが、各チャネルが 12 ビットに縮小されるため、解像度が失われます
すべてのチャネルを追加し、追加する前にそれらを符号拡張してから、追加された結果を符号拡張し、続いて asr #4 シフトして 16 ビットの結果に戻すとします。それはうまくいくでしょうか?