2016-07-13 7 views
0

EQ10Qフィルタを使用して13バンドEQを実装しました。 smaartV7ソフトウェアでいくつかの測定をすると、私のバンドが重なり合って余分な望ましくない利得が得られることに気付きました。これは、すべてのフィルターを同じバッファー(シリーズ)に適用していたためです。だから、私が考えていた解決策は、元のデータが同じステレオ32ビットPCMフォーマットで13バッファを使用することでした。各バッファに1つのフィルタを適用し、すべてのバッファをマージします(並列)。だから私はいくつか疑問がある。オーディオフィルタを並列に適用し、結果バッファをマージする

  1. 私のアプローチは正しいですか?

  2. バッファをどのようにマージする必要がありますか? (私はすべてのサンプルを合計し、その結果を13で除算しようとしましたが、この方法ではフィルタゲインが大幅に減少しました)。

注:私はフィルタのQファクターを変更する必要はありません。

答えて

0

私はEQ10Qフィルタライブラリを知らないので、擬似コードを書きます。

EQ10Qフィルタ処理コードは、変更されたフィルタ処理されたサンプルを返し、入力へのポインタを必要としないことを望みます。これは、各フィルタの出力サンプルを加算

yn = filterOne.process(xn) + filterTwo.process(xn) + ... + filterThirteen.process(xn)

:このことを念頭に置いて、これは私が通常行う方法です。しかし、自分で最適化する必要があることを覚えておいてください。他のことが起こっている場合は、サンプルを13回別々に処理することができます。

関連する問題