FIRフィルターチャンネルデバイダの作成【14】FIR遅延の解消

 

マルチアンプシステム向け、FIRフィルター搭載チャンネルデバイダー(チャンデバ)自作に関連する記事の一覧はこちら!

 

前回の4Way化で問題となったFIRの遅延を解消していきます。

 

  遅延状況の確認

まず、遅延状況を確認しましょう。

インパルス応答を入力してみて、今回の4Wayにおいての、FIRタップ数の違う所(MIDとHIGH)を計測してみます。

見事にずれています。

本来同時に鳴らないと行けない音が完全にずれています。

 

  Delayの追加

ということで、FIR処理に対してDelayを設定していきます。

まずは、いつも通り、配線をちょん切って、

 

左のToolBoxから、Basic DSPDSP FunctionsDelayDelayをドラッグ&ドロップ。



 

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化ができました。

 

とはいうものの、スピーカーユニット毎の効率の違いとか、ちょっと低音ブーストしたいよね、とかとか、

まだまだ続きます!

 

にほんブログ村 音楽ブログへ
にほんブログ村
にほんブログ村 その他趣味ブログへ
にほんブログ村