Moku は、ソフトウェア定義のインスツルメンテーション プラットフォームです。 開発, テスト, 制御 新しい技術とデザイン。機器の統合と比類のない柔軟性を組み合わせた Moku の直感的なワークフローは、科学者、学生、エンジニアが効率を高め、プロジェクトのリスクを軽減するのに役立ちます。
信号遅延の生成
信号の遅延を正確に調整することは、多くのアプリケーションにおいて重要です。たとえば、高速信号伝送では、ケーブル長の不一致、信号処理時間の違い、その他多くの要因によって引き起こされる、異なる信号パス間の遅延のバランスを取り、補償することが重要です。遅延をデジタル的に生成する最も一般的な方法は、遅延レジスタを使用して入力信号を一時的に保存し、次のクロック周期で信号を出力することです。遅延量は、信号パスの間に追加の遅延レジスタを接続するだけで調整できます。最小遅延はクロック速度によって制限されます。デジタル信号の場合、クロック速度を上げることは比較的低コストです。ただし、アナログ信号の場合、高速 ADC の価格は大幅に高くなる可能性があります。追加のサンプリングレートと帯域幅によって、システムに追加のノイズが発生する可能性もあります。
図 1: デジタル遅延は遅延レジスタによって生成可能
クロック周期の整数倍ではない遅延を導入することは、より複雑になる可能性があります。正弦波信号の場合、位相ロック ループ (PLL) によって遅延を生成できます。位相計は、1000 Hz ~ 200 MHz の正弦波信号を追跡できる PLL として構成でき、任意の位相シフトを備えた入力信号の位相ロックコピーを出力できます。ただし、出力は正弦波形に限定されます。波形発生器のトリガー出力機能を使用すると、シフトされたプリロード信号を出力することで遅延を生成できます。ただし、この方法は明確に定義された反復信号に対してのみ機能します。この記事では、Moku:Lab の FIRフィルタービルダーを使用して、任意のアナログ入力に対して分数遅延を生成する方法を説明します。これは、Moku:Go および Moku:Pro FIR フィルタービルダーでも実装できます。
有限インパルス応答 (FIR) フィルターと整数遅延
有限インパルス応答 (FIR) フィルターは、デジタル化されたデータに帯域選択フィルターを実装するために使用されます。フィルターは通常、離散インパルス応答関数によって定義されます。このシステムは、各サンプリングサイクルでユーザー定義のインパルス応答関数を使用して入力信号の数値畳み込みを実行し、畳み込み結果を継続的に出力します。この時間領域の畳み込み処理は、周波数領域における(フーリエ変換関数の)乗算処理と考えることができます。インパルス応答関数の形状を設計することにより、時間領域で周波数帯域の選択を効果的に実行できます。たとえば、システムのインパルス応答がデルタ関数である場合、デルタ関数のフーリエ変換は定数であるため、周波数領域で平坦な応答が得られます。周波数領域での乗算後、入力信号のスペクトルは変化しません。したがって、デルタ インパルス応答関数はオールパスフィルターに相当します。
図 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フィルタービルダーで生成された整数クロック遅延
整数遅延から小数遅延へ
デルタ関数の前にゼロを追加することで整数遅延を生成するのは簡単ですが、FIR フィルターによって小数遅延がどのように生成されるかは一見しただけでは明らかではないかもしれません。最初のステップは、単一点デルタ関数を有限/ウィンドウ sinc 関数に拡張することです。 sinc 関数は周波数領域で有限の矩形応答を持ち、デルタ関数のオールパス フィルター (サンプリング レートが制限されている) と比較してフィルターの帯域幅が制限されますが、これにより時間領域で追加の非ゼロ点が得られ、遅延フィルターを生成することができます。それでは、遅延出力を として、フーリエ変換を として仮定してみると、次のような式に表せます。
同様に、遅延フィルターのフーリエ変換を として仮定してみると、次のような式に表せます。
入力信号 を遅延フィルター で畳み込むと、周波数領域の出力 は次のように表されます。
すべてを時間領域に変換するには、次の方程式で説明できます。
したがって、信号を遅延フィルターで畳み込むことにより、分数遅延を効果的に生成できます。より詳細な計算については、参考文献 1 を参照してください。
ただし、このアプローチには制限が1つあります。 sinc インパルス応答関数は両側偶数関数です。 したがって、インパルス応答の中心を時間0に置くことはできません。そうでない場合、システムは信号が入力に到着する前に応答を開始する必要があります。 これは非カジュアルなフィルターとみなされます。 フィルターをカジュアルにするには、インパルス応答全体を後の時点 (右) にシフトする必要があります。 したがって、入出力の合計レイテンシー (群遅延) は、インパルス応答のポイント数によって制限されます。
図 4: 分数遅延インパルス応答関数を生成する全体的なプロセス
分数遅延FIR係数を生成できるツールがいくつかあります。 次のデモでは、MATLABのdesignFracDelayFIR 関数を使用し、遅延0および0.5の16係数の分数遅延フィルターを生成しました。 フィルターは、次のMATLABコードを使用して生成されました。
次に、遅延 0 と遅延 0.5 のフィルター係数が、それぞれ上部 (緑) と下部 (紫) の FIR フィルターにアップロードされました。同じ 10 kHz の正弦波が Moku:Lab の入力 1 に送信されました。出力では、4.095 μs の遅延 (1/2 サンプリング サイクル) が観察されました。
図 5: Moku:LabのFIRフィルタービルダーで0.5の小数遅延を生成
合計遅延、インパルス応答長、フィルター帯域幅の間のトレードオフ
同じサンプリングレートを前提としてインパルス応答関数の長さを長くすることで、時間領域でのインパルス応答を効果的に狭めることができます。 したがって、フラクショナルディレイフィルターの通過帯域は増加します。 一方、フィルタを長くすると、フィルタをカジュアルにするために時間領域でより大きなシフトが必要になります。 したがって、合計の入力から出力までの遅延が増加します。 この効果を実証するために、係数16と64を持つ2つの0.5分数遅延フィルターを実装しました。 Moku:Go周波数応答アナライザーを使用して、フィルターの周波数応答を特性評価しました。 チャンネル1(青)は16係数フィルターの周波数応答と位相応答を示し、チャンネル2(オレンジ) は64係数フィルターの周波数応答と位相応答を示します。64係数フィルターの通過帯域はより広く (ナイキスト周波数に近く)、16係数フィルターの群遅延はより短くなりました。
図 6: 係数 16 および 64 の FIR フィルターの周波数応答と位相応答。
参考文献
- Valimaki, V. P. (1998). Discrete-time modeling of acoustic tubes using fractional delay filters.
- 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.
- 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.
- 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