FIRフィルターチャンネルデバイダの作成【14】FIR遅延の解消
マルチアンプシステム向け、FIRフィルター搭載チャンネルデバイダー(チャンデバ)自作に関連する記事の一覧はこちら!
前回の4Way化で問題となったFIRの遅延を解消していきます。
遅延状況の確認
まず、遅延状況を確認しましょう。
インパルス応答を入力してみて、今回の4Wayにおいての、FIRタップ数の違う所(MIDとHIGH)を計測してみます。
見事にずれています。
本来同時に鳴らないと行けない音が完全にずれています。
Delayの追加
ということで、FIR処理に対してDelayを設定していきます。
まずは、いつも通り、配線をちょん切って、
左のToolBoxから、Basic DSP → DSP Functions → Delay → Delayをドラッグ&ドロップ。
Delayを2チャンネル化して、
コピペして、4Way分作成、配線をしましょう。
Delayの設定
改めて、それぞれのFIRタップ数は、
LOW | 2000 |
MID | 2000 |
HIGH | 500 |
SUPERHIGH | 500 |
このようになっているので、
HIGHと、SUPREHIGHは、
(2000 - 500) / 2 サンプリング = 750 サンプリング
早く、音がでている
こととなります。
なので、ここを補正していきます。
要は、タップ数が500の部分は、750 サンプリング遅くしてあげればよいわけです。
ということで、早速設定。
Delayブロックは、Maxに最大の遅延サンプリング数、Curに実際のサンプリング数を設定します。
※下部の「0、1、PM」は、DMAバッファとしてどこを使う?という設定です。取り急ぎDMA1バッファは十分残っているので「1」のままでOKです。
※Maxであえて設定できるのはDMAバッファの確保のため?
こんな感じになります。
これでコンパイル&書き込みを行って、再度遅延の確認をおこないます。
インパルス応答を入力してみた結果が以下となります。
見事にピッタリです。
これで、チャネルごとの遅延も解消され、無事に4Way化ができました。
とはいうものの、スピーカーユニット毎の効率の違いとか、ちょっと低音ブーストしたいよね、とかとか、

にほんブログ村

にほんブログ村