Mokuは、新しいテクノロジーと設計を開発、テスト、制御するためのソフトウェア定義の計測プラットフォームです。 機器の統合と比類のない柔軟性を組み合わせたMokuの直感的なワークフローは、科学者、学生、エンジニアの効率性を高め、プロジェクトのリスク軽減に役立ちます。


信号遅延の生成

信号の遅延を正確に調整することは、多くのアプリケーションにおいて重要です。たとえば、高速信号伝送では、ケーブル長の不一致、信号処理時間の違い、その他多くの要因によって引き起こされる、異なる信号パス間の遅延のバランスを取り、補償することが重要です。遅延をデジタル的に生成する最も一般的な方法は、遅延レジスタを使用して入力信号を一時的に保存し、次のクロック周期で信号を出力することです。遅延量は、信号パスの間に追加の遅延レジスタを接続するだけで調整できます。最小遅延はクロック速度によって制限されます。デジタル信号の場合、クロック速度を上げることは比較的低コストです。ただし、アナログ信号の場合、高速 ADC の価格は大幅に高くなる可能性があります。追加のサンプリングレートと帯域幅によって、システムに追加のノイズが発生する可能性もあります。

図 1: デジタル遅延は遅延レジスタによって生成できます。

フィギュア 1: 遅延レジスタによってデジタル遅延を生成できます。

クロック周期の整数倍ではない遅延を導入するのは、より複雑になる可能性があります。正弦波信号の場合、遅延は位相同期回路 (PLL) によって生成できます。Phasemeter は、1000 Hz ~ 200 MHz の正弦波信号を追跡し、任意の位相シフトで入力信号の位相同期コピーを出力できる PLL として構成できます。ただし、出力は正弦波に限定されます。任意波形発生器のトリガー出力機能を使用すると、シフトされたプリロード信号を出力することで遅延を生成できます。ただし、この方法は明確に定義された繰り返し信号にのみ機能します。この記事では、Moku:Lab の FIR フィルタ ビルダーを使用して任意のアナログ入力に対して非整数遅延を生成する方法を説明します。この方法は、Moku:Go および Moku:Pro FIR フィルタ ビルダーでも実装できます。

有限インパルス応答 (FIR) フィルターと整数遅延

有限インパルス応答 (FIR) フィルターは、デジタル化されたデータに帯域選択フィルターを実装するために使用されます。フィルターは通常、離散インパルス応答関数によって定義されます。このシステムは、各サンプリングサイクルでユーザー定義のインパルス応答関数を使用して入力信号の数値畳み込みを実行し、畳み込み結果を継続的に出力します。この時間領域の畳み込み処理は、周波数領域における(フーリエ変換関数の)乗算処理と考えることができます。インパルス応答関数の形状を設計することにより、時間領域で周波数帯域の選択を効果的に実行できます。たとえば、システムのインパルス応答がデルタ関数である場合、デルタ関数のフーリエ変換は定数であるため、周波数領域で平坦な応答が得られます。周波数領域での乗算後、入力信号のスペクトルは変化しません。したがって、デルタ インパルス応答関数はオールパスフィルターに相当します。

図 2: デルタ インパルス応答関数は、オールパス周波数応答を生成します。

フィギュア 2: デルタ インパルス応答関数は、オールパス周波数応答を生成します。

インパルスの前にゼロを追加することで、(クロック速度に関して) 整数遅延をシステムに追加できます。 Moku:LabのFIRフィルタービルダーは、最大 14,819 個の係数 (インパルス応答関数の長さ) を持つ 10 つの FIR フィルターを一度に展開できます。 これにより、ユーザーは事前定義されたインパルス関数を展開したり、ファイルからインパルス応答関数をアップロードしたりできます。 整数遅延の効果を実証するために、FIRフィルタービルダーが導入された Moku:Lab の入力 1 に 10 kHz の正弦波が送信されました。 FIR フィルター ビルダーの制御マトリックスは、入力信号を結合、再スケーリングし、2つの独立したフィルター パスに再分配します。 出力ベクトルは、制御行列と入力ベクトルを乗算した積です。

出力ベクトルは制御行列と入力ベクトルの積である。

制御行列は [1, 0; 1, 0] を使用して、以下の図 1 に示すように入力 3 を両方のフィルター パスにルーティングします。 [0, 1] のインパルス応答は上部 (緑) フィルターで使用され、[0,0,1] は下部 (紫) フィルターで使用されました。 両方のフィルターは 122.1 kHz で実行されました。 出力プローブポイントでは、2つのチャネル間に 1/122.1 kHz の遅延が発生していることがわかりました。

図3: Moku:LabのFIRフィルタビルダーで生成された整数クロック遅延

フィギュア 3: Moku:LabのFIRフィルタビルダーで生成された整数クロック遅延

整数遅延から小数遅延へ

デルタ関数の前にゼロを追加することで整数遅延を生成するのは簡単ですが、FIR フィルターによって小数遅延がどのように生成されるかは一見しただけでは明らかではないかもしれません。最初のステップは、単一点デルタ関数を有限/ウィンドウ sinc 関数に拡張することです。 sinc 関数は周波数領域で有限の矩形応答を持ち、デルタ関数のオールパス フィルター (サンプリング レートが制限されている) と比較してフィルターの帯域幅が制限されますが、これにより時間領域で追加の非ゼロ点が得られ、遅延フィルターを生成することができます。それでは、遅延出力を  として、フーリエ変換を  として仮定してみると、次のような式に表せます。

方程式

同様に、遅延フィルターのフーリエ変換を  として仮定してみると、次のような式に表せます。

方程式

入力信号 を遅延フィルター で畳み込むと、周波数領域の出力  は次のように表されます。

方程式

すべてを時間領域に変換するには、次の方程式で説明できます。

方程式

したがって、信号を遅延フィルターで畳み込むことにより、分数遅延を効果的に生成できます。より詳細な計算については、参考文献 1 を参照してください。

ただし、このアプローチには制限が1つあります。 sinc インパルス応答関数は両側偶数関数です。 したがって、インパルス応答の中心を時間0に置くことはできません。そうでない場合、システムは信号が入力に到着する前に応答を開始する必要があります。 これは非カジュアルなフィルターとみなされます。 フィルターをカジュアルにするには、インパルス応答全体を後の時点 (右) にシフトする必要があります。 したがって、入出力の合計レイテンシー (群遅延) は、インパルス応答のポイント数によって制限されます。

方程式

フィギュア 4: 分数遅延インパルス応答関数を生成するための全体的なプロセス

分数遅延FIR係数を生成できるツールがいくつかあります。 次のデモでは、MATLABのdesignFracDelayFIR 関数を使用し、遅延0および0.5の16係数の分数遅延フィルターを生成しました。 フィルターは、次のMATLABコードを使用して生成されました。

MATLAB コード

次に、遅延 0 と遅延 0.5 のフィルター係数が、それぞれ上部 (緑) と下部 (紫) の FIR フィルターにアップロードされました。同じ 10 kHz の正弦波が Moku:Lab の入力 1 に送信されました。出力では、4.095 μs の遅延 (1/2 サンプリング サイクル) が観察されました。

図 5: Moku:Lab の FIR フィルター ビルダーによって 0.5 の分数遅延が生成されました。

フィギュア 5: Moku:Lab の FIR フィルター ビルダーによって 0.5 の分数遅延が生成されました。

合計遅延、インパルス応答長、フィルター帯域幅の間のトレードオフ

同じサンプリングレートを前提としてインパルス応答関数の長さを長くすることで、時間領域でのインパルス応答を効果的に狭めることができます。 したがって、フラクショナルディレイフィルターの通過帯域は増加します。 一方、フィルタを長くすると、フィルタをカジュアルにするために時間領域でより大きなシフトが必要になります。 したがって、合計の入力から出力までの遅延が増加します。 この効果を実証するために、係数16と64を持つ2つの0.5分数遅延フィルターを実装しました。 Moku:Go周波数応答アナライザーを使用して、フィルターの周波数応答を特性評価しました。 チャンネル1(青)は16係数フィルターの周波数応答と位相応答を示し、チャンネル2(オレンジ) は64係数フィルターの周波数応答と位相応答を示します。64係数フィルターの通過帯域はより広く (ナイキスト周波数に近く)、16係数フィルターの群遅延はより短くなりました。

図 6: 16 係数および 64 係数 FIR フィルタの周波数応答と位相応答。

フィギュア 6: 16 係数および 64 係数 FIR フィルターの周波数応答と位相応答。

参考文献

  1. Valimaki, V. P. (1998). Discrete-time modeling of acoustic tubes using fractional delay filters.
  2. Valimaki, Vesa, and Timo I. Laakso. “Principles of fractional delay filters.” In 2000 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings (Cat. No. 00CH37100), vol. 6, pp. 3870-3873. IEEE, 2000.
  3. Shaddock, Daniel A., Brent Ware, Robert E. Spero, and M. Vallisneri. “Postprocessed time-delay interferometry for LISA.” Physical Review D 70, no. 8 (2004): 081101.
  4. Design of fractional delay FIR filters. Design of Fractional Delay FIR Filters. Retrieved November 1, 2021, from https://www.mathworks.com/help/dsp/ug/design-of-fractional-delay-fir-filters.html.

ご質問等ございますか?印刷可能なバージョンが必要ですか?

当社までご連絡ください: support@liquidinstruments.com


Mokuをデモモードで試す

macOSとWindows用のMoku:アプリをダウンロードできます こちら.


よくある質問への回答

デバイスや機器に関する質問と回答は、 ナレッジベース .


Mokuユーザーとつながる

プログラムに参加する(英語) ユーザーフォーラム 新しい機能をリクエストしたり、サポートのヒントを共有したり、世界中のユーザー コミュニティとつながったりできます。

その他のアプリケーションノート

アプリケーションノートの一覧