rePhaseによるFIRフィルター構築

 

1.内容

Freeで使えるrePhaseでFIRフィルターを作るための
パラメータを計算、miniDSPやEqualizerAPOなどを使って
FIRフィルターをつくる。

2.ダウンロード

rePhase
はこちらからダウンロードできます。

 最新版は1.3.0です。

 https://sourceforge.net/projects/rephase/files/

 miniDSPはハードと一体でチャンデバとして使えます

 https://www.minidsp.com/

 Equalizer APOはソフト処理ですが未だ試していません

https://sourceforge.net/projects/equalizerapo/

からダウンロードできます。



3.画面表示

rePhaseを起動すると上図の画面のような表示がでます。4つの区画の内容は

 

左上 ターゲット、計算結果等のデータのグラフ表示をします。

右上 Ranges Tab データ表示の軸パラメータ設定

     Mesurement Tab 用途未解明です

左下 General Tab 主に表示ゲイン設定

 Filters Linearization Tab 未解明です

 Linear-Phase Filter Tab チャンデバ等の位相直線フィルター設定

 Minimum-Phase Filter Tabチャンデバ等の最小位相フィルター設定

 Paragraphic Phase EQ Tab 位相調整グライコ

 Paragraphic Gain EQ Tab ゲイン調整グライコ

右下 計算条件、出力指定などの設定

 となっています。

 4.計算

4.1 スピーカデータ使用の場合

  スピーカを含めた補正を行う場合には、測定データをメニューのFiles>Import Mesurementより読み込ませます。フォーマットは周波数、ゲイン、位相の順のテキストファイルでomniMICだとfrdファイルがそのまま読み込めます。他にもREWなどFreeソフトが利用できるようです。ただしゲイン設定を変更し「ゲインを0レベル」にしないと強度グラフはそのままでは見えません。

 4.2 フィルター計算のみの場合

 基線がでていなければ、Files>Reset Settingsで画面をクリアします。

 

4.3 右上のRanges Tabでグラフが見やすいように適宜調整します。

 

4.4 左下のTabから必要な項目を選び計算の準備と調整をします。

 

     

4.4.1 Linear-Phase Filters Ta

  位相直線のFIRフィルターの設計を行います。

 1)type を選びます

 2)shapeを選びます

 3)paramは上下矢印キーで選択できます。余り急峻だとシミュレーションでおかしくなります

 4)freq クロス周波数を選びます これでターゲットグラフが青線で出ます。
両側フィルターの場合は2段で指定します。

 4.4.2 Paragraphic EQ Tab

 スピーカの補正などでは位相やゲインのグラフを見ながらバーを上下し調整します。

     位相とゲインは別々に調整できます

 4.5 計算

 
 

 データが準備できたら計算上必要なパラメータを設定します。

        4.5.1 tap 本体で用意できるタップ数を入力します。

           多いほうが精度がでますが、その分遅延も大きくなります。

 4.5.2 rate サンプリング周波数を入れます。

 4.5.3 fomat  miniDSPだと32bit IEEE-754(bin)を選びます

 4.5.4 filename  出力ファイル名になりますのでご自由に

 4.5.5 directory 出力ファイルを置くフォルダーを指定します。

                 クリックで出力先指定のウィンドウが開きます。

 

5.出力、シミュレーション

  generate ここまで済んだらこのボタンを押すとパラメータを計算、シミュレーション結果が表示され

             出力ファイルが作成されています。


      注) このとき右下の窓に表示されるディレイ値を記録しておきます。

         チャンデバの場合このch間の差分だけそれぞれに遅延をかける必要があります。

 

 出力シミュレーション結果で位相やゲイン表示が滑らかでなく、うねるようならTap数を増やすなど条件を替えた方が良いでしょう。

リニアフェイズフィルターの場合にはチャネル間のタイプを無理に合わせなくても良いと思います。

 

miniSHARK3Wayチャンデバ例(青線ターゲット、赤線シミュレーション値、リニアフェーズ)

 
 
 

6. miniDSPのフィルター構築

 

 miniDSPでは専用ソフトを使い、OutputsTabのFIRボタンでフルターの設定が出来ます。
 6.1 miniSHARKではTap数が3440ほどと限られているので、まず各チャネルのフィルターをカットを急峻にしたりして最小Tap数で妥協できる点を探します。

 6.2 その上で可能な範囲で各chTap数の割り振りを決め、最小のところからTap数を入力します。

    使わないチャネルは最小の6個にします。

 6.3 割り振ったTap数で余裕があれば増やし帯域ごとのフィルター計算をしておきます。

     出力名を解るように上手くつけておくと便利です。ディレイ値も忘れずに。

 6.4 各チャネルのFIRボタンを押しFIR FILETERウィンドウを開きます。

 6.5 前のデータがあればUnloadFIRボタンを押しSend to DSPボタンを押して消してからBrowseボタンで

      新しい該当する出力ファイルを指定します。

 6.6 グラフにシミュレーション結果が表示されますから確認の上OKなら右側のSend to DSPボタンを押し、

     必ず本体メモリーに書き込みます。

 6.7 以上を6.4から各チャネルで繰り返します。

 

最後にrePhaseで計算した時のディレイ値の差分を従来の値に加算しておきます。(各チャネルで遅延の一番大きいものとの差を加算する)

従来のXover内容をBypassしておくのも忘れない様に。ただし従来のフィルター及びパラメトリックEQ(PEQ)も共存できるようです。Tap数も影響ありませんので、上手く活用すると便利かも。

 

6.最後に

 Equalizer APOなどのソフト処理によるFIRフィルターは未だ試していないので割愛します。

まだ不足部分があるので、今後他の説明を逐次追加するかもしれません。

 触れていない項目も色々ありますが、今の所私には理解不能なので余り触っていません。分かる方解説をお願いします。まだ全体に良く解っていない点や誤解もあると思うので、ご指摘のポイントがあればお願いします。

 

2018/7/29 記 石田