高度なRFシステムに、デジタル・フィルタを簡単に適用する方法

高度なRFシステムに、デジタル・フィルタを簡単に適用する方法

著者の連絡先情報

Mitchell Sternberg

Mitchell Sternberg

概要

一般に、通信システムでは入力信号の帯域幅を制限する必要があります。多くの通信アプリケーションでは、デジタル・フィルタがそのための有用な手段になります。アナログ・フィルタを使用して帯域制限を行う場合、部品の調達、プリント基板のレイアウト、ばらつきといった事柄に悩まされることになります。デジタル・フィルタを採用すれば、そうしたことに煩わされることはありません。高調波を除去したり、特定の周波数帯域の成分を遮断したりすることで、信号間の干渉を容易に防ぐことができます。もちろん、デジタル・フィルタにも欠点はあります。それでも、より一般的になりつつあるミックスド・シグナル環境において簡単に利用できることから、システムに必要なフィルタの要件を満たすための優れた選択肢となっています。読者の中には、デジタル設計は複雑なものだと感じる方もいるかもしれません。ただ、そのような理由で、デジタル・フィルタを選択肢から外すべきではありません。本稿では、シンプルで性能の高いデジタル・フィルタをRFシステムに迅速かつ簡単に実装する方法を紹介します。

デジタル・フィルタの基礎

フィルタを使用する目的は、特定の周波数成分を歪みなく通過させつつ、それ以外のすべての周波数成分を完全に減衰させることです。デジタル・フィルタでもアナログ・フィルタでも、その利用目的は基本的には同じです。デジタル・フィルタの場合、サンプリングによって取得した個々のデータ(サンプル)に対して重み付けを行いつつ加算していくという処理を施します。入力されるデータ配列全体に対してその処理を繰り返すことで、フィルタリングを実現します。その処理は以下の式で表すことができます。

数式 1

この処理を担うフィルタは、FIR(Finite Impulse Response:有限インパルス応答)フィルタと呼ばれます。FIRフィルタの場合、タップ数Nが多いほど理想に近い応答が得られます。つまり、通過帯域の応答は平坦に近くなり、遷移帯域の減衰はより急峻になります。タップ数を増やすことの最大の欠点は、より多くのリソースが必要になることです。また、タップを1つ増やすと、演算に必要なリソースの量に加えて遅延時間が増加します。つまり、Nが大きくなるにつれて消費電力と時間遅延が増大するということです。FIRフィルタではフィードバック機構は使用されません。そのため、本質的に安定しています。つまり、入力に応じ、出力が累積して無限に増大するといったことは生じません。加えて、FIRフィルタは位相応答が線形になるように設計することも可能です。したがって、タイミングや群遅延が重要なRFアプリケーションにおいては特に有用です。

本稿では、高速なデータ・アクイジションを実現するプラットフォームにデジタル・フィルタを実装する方法について説明していきます。最初に、実験用の設定、実験結果の検証方法、使用するシステムの仕様を紹介します。次に、シングルトーンとその高調波の両方を除去したい場合に、実用的なデジタル・フィルタからはどのような出力が得られるのかを示します。更に、マルチトーンのテスト・ベクトルを使用することで、より広い周波数帯域にわたるフィルタのプロファイルがどのようなものになるのかを明らかにします。

なお、本稿ではIIR(Infinite Impulse Response:無限インパルス応答)フィルタについては触れません。また、FIRフィルタのタップ数が192、サンプル・レートが1500MSPSである場合を例にとることにします。

実験用の設定

図1. AD9082を実装した基板
図1. AD9082を実装した基板

本稿では、デジタル・フィルタを適用するプラットフォームとして「AD9082」を例にとることにしました。これは、アナログ・デバイセズが提供するMxFE®(ミックスド・シグナル・フロントエンド)製品です。実装したフィルタによって得られる結果については、このプラットフォームをループバック・モードに設定し、スペクトラム・アナライザを使用して検証することにします。AD9082の設定は、アナログ・デバイセズの「ADS9」に接続することによって行いました。ADS9は、A/Dコンバータ(ADC)とD/Aコンバータ(DAC)を制御し、出力データを処理するための開発プラットフォームです。そのユーザ・ガイドはこちらからダウンロードできます。必要な信号は、Rohde & Schwarz製のベクトル信号発生器「R&S SMW200A」を使用して生成します。具体的には、5G NR(New Radio)で使用されるテスト・ベクトルと、シングルトーン/マルチトーンのベクトルを生成することにしました。また、DACの出力スペクトルは、Rohde & Schwarzのスペクトラム・アナライザ「R&S FSW」を使用することによって取得します(図2)。

192タップのFIRフィルタのブロック(PFILT)は、ADCのコアのすぐ後段に配置されています。実験の簡素化を図るために、本稿では192個すべてのタップを有効にした状態で、シングルエンドで駆動される1つのADCチャンネルを対象とすることにしました。システムのサンプリング・レートは、送信側と受信側共に1500MSPSに設定します。そのため、プロットされるスペクトルの範囲は、ナイキスト周波数である750MHz(1500MHz/2)までとなります。

図2. 実験用の環境
図2. 実験用の環境

検証方法

図3. ADCの出力(RFIN:200MHz、5dBm)
図3. ADCの出力(RFIN:200MHz、5dBm)
図4. DACの出力(RFIN:200MHz、5dBm)
図4. DACの出力(RFIN:200MHz、5dBm)

図3に示したのは、ADCの出力データをFFT(Fast Fourier Transform)によって処理した結果です。一方、図4には、内部ループバックを使用してDACの出力をスペクトラム・アナライザでキャプチャした結果を示しました。これら2つの信号のスペクトル表現は、ほぼ等価だと言えます。ノイズ・フロアの違いは、アナライザの分解能帯域幅に依存して現れています。このような比較を行った目的は、PFILTを通過した後のADCのデータが、ループバック・パスを経て得られるDACの出力信号と等価であることを確認することです。

図5. SMW200Aの出力とAD9082のDACの出力。5G NRのテスト・ベクトルを使用して比較しています。
図5. SMW200Aの出力とAD9082のDACの出力。5G NRのテスト・ベクトルを使用して比較しています。

また、より複雑なスペクトラム信号を使用することによって、間接ループバックの精度を確認しました。その実験には5G NRのテスト・ベクトルも使用しました。ここで、図5をご覧ください。これは、ベクトル信号発生器(SMW200A)によって生成したテスト・ベクトルのパワー・スペクトラムとループバックによって得たDACの出力を比較したものです。

実験結果

次に、フィルタのプロファイルを実験によって確認してみます。フィルタの係数は、MATLAB®のFilter Designerを使用して生成しました。また、スペクトラム・アナライザからのトレース・データは、Pythonで記述したスクリプトを使用してキャプチャしました。

 

図6. ローパス・フィルタの振幅応答と群遅延。MATLABによる設計値とPFILTモデルで実装したフィルタの実測値を示しています。
図6. ローパス・フィルタの振幅応答と群遅延。MATLABによる設計値とPFILTモデルで実装したフィルタの実測値を示しています。
表1. MATLABによるローパス・フィルタ(FIRフィルタ)の設計仕様
フィルタの種類 チェビシェフ型のローパス・ウィンドウ
タップ数 191
中心周波数
帯域幅(6dBカットオフ) 100 MHz
サイドロープの減衰量 60 dB

MATLAB Filter Designerによって生成した係数を使用して、フィルタの特性を確認しました。図6の赤色のプロットは、192タップ、倍精度浮動小数点数のFIRフィルタによって得られる理想的なプロファイルです。このFIRフィルタは、4つの16進数のコードワードをレジスタの入力として受け取ります。MATLABの倍精度の値からこのフォーマットへの変換が行われる際には、精度がいくらか損なわれます。MATLAB Filter Designerで生成したフィルタの特性とPFILTモデルを使用した場合の特性を比較することにより、そのデータ型の変換によってフィルタの応答に及ぶ影響を確認することができます。

図7. フィルタを適用した場合と適用しない場合のDACの出力
図7. フィルタを適用した場合と適用しない場合のDACの出力

続いて、図7に示したプロットをご 覧ください。これは、AD9082にテスト用の100MHzのトーンを入力し、DACにループバックした場合の結果です。ご覧のように、フィルタを適用した場合と適用しない場合を比較しています。ADC側では、バッファの非直線性が原因で高調波が生成されることがあります。その高調波はPFILTによって除去することができます。そうすれば、スプリアス・フリー・ダイナミック・レンジ(SFDR)が55.9dBから81.9dBに改善されます。実装されたフィルタの特性を見ると、60dBの減衰レベルまでのロールオフがシミュレーション結果(MATLABで設計した理想状態)と比べて緩やかになります。群遅延は192タップの場合で(N-1)/2 = 95.5〔サンプル〕なので、通過帯域は平坦に保たれることがわかります。

図8. マルチトーンのテスト・ベクトルに対するAD9082のDACの出力。ローパス・フィルタを適用した場合と適用しない場合を比較しています。MATLABで生成したフィルタのマスクも示しました。リファレンスのレベルは-40dBmです。
図8. マルチトーンのテスト・ベクトルに対するAD9082のDACの出力。ローパス・フィルタを適用した場合と適用しない場合を比較しています。MATLABで生成したフィルタのマスクも示しました。リファレンスのレベルは-40dBmです。

次に、ベクトル信号発生器を使用してマルチトーンのテスト・ベクトルを生成しました。そのトーンの列の振幅は、広い周波数範囲にわたってフィルタの特性に即した形で減衰することになります。相互変調歪みの発生を防ぐために、各トーンの出力レベルは約-40dBmに抑えました。図8に示したのは、その状態でリファレンス・レベルを-40dBmとした場合のDACの出力応答です。フィルタを適用した場合と適用しない場合を比較しています。

表2. MATLABによるバンドパス・フィルタ(FIRフィルタ)の設計仕様
フィルタの種類 チェビシェフ型のバンドパ ス・ウィンドウ
タップ数 191
中心周波数 200 MHz
帯域幅(6dBカットオフ) 100 MHz
サイドロープの減衰量 80 dB
図9. バンドパス・フィルタの振幅応答と群遅延。MATLABによる設計値とPFILTモデルで実装したフィルタの実測値を示しています。
図9. バンドパス・フィルタの振幅応答と群遅延。MATLABによる設計値とPFILTモデルで実装したフィルタの実測値を示しています。
図10. PFILTをディスエーブルに設定した場合のAD9082のループバック出力(RFIN:200MHz、15dBm)
図10. PFILTをディスエーブルに設定した場合のAD9082のループバック出力(RFIN:200MHz、15dBm)
図11. PFILTをイネーブルに設定した場合のAD9082のループバック出力(RFIN:200MHz、15dBm)
図11. PFILTをイネーブルに設定した場合のAD9082のループバック出力(RFIN:200MHz、15dBm)

続いて、バンドパス・フィルタ(表2、図9)を適用した場合の結果を紹介します。図10と図11は、振幅が-15dBm、周波数が200MHzのCWを使用した場合の結果です。この例では、デジタル・データ・パスを介してDACのコアへと信号を間接的にループバックしています。図10は、プログラマブルなフィルタを適用しない(ディスエーブル)場合の例です。2fcにおける高調波の測定値は-73.88dBmでした。一方の図11は、PFILTをイネーブルにした場合の結果です。高調波が除去されているだけでなく、データ・パスのノイズ・フロアも抑えられていることがわかります。また、チェビシェフ型のフィルタにおける典型的な帯域外リップルも現れています。このバンドパス・フィルタでは、通過帯域における群遅延も平坦な特性を示します。

図12. マルチトーンのテスト・ベクトルに対するAD9082のDACの出力。バンドパス・フィルタを適用した場合と適用しない場合を比較しています。MATLABで生成したフィルタのマスクも示しました。リファレンスのレベルは-40dBmです。
図12. マルチトーンのテスト・ベクトルに対するAD9082のDACの出力。バンドパス・フィルタを適用した場合と適用しない場合を比較しています。MATLABで生成したフィルタのマスクも示しました。リファレンスのレベルは-40dBmです。

続いて、図12をご覧ください。これは、同じマルチトーンのテスト・ベクトルを使用し、DACの出力にバンドパス・フィルタを適用した場合と適用しない場合の結果です。フィルタを適用した場合の結果を見ると、通過帯域のノイズ・フロアは4.2dB上昇しています。しかし、チェビシェフ型のフィルタの一般的な帯域外リップルに続く阻止帯域のノイズ・フロアは2dB~3dB低下しています。

表3. 実験用の構成におけるDACの遅延の計算値
レーン・レート〔Gbps〕 12.375
JESDの最小遅延(DACのクロック) 230
データ・パスにおける遅延 1038
最小遅延 DACのクロック 1268
ナノ秒(DACのレート) 211.333
JESDの公称遅延(DACのクロック) 864
公称遅延 DACのクロック 1902
ナノ秒(DACのレート) 317,000
JESDの最大遅延(DACのクロック) 1500
最大遅延 DACのクロック 2538
ナノ秒(DACのレート) 423.000

遅延

続いて、ループバックの構成における遅延の測定結果を示します。その測定は、同じ長さの同軸ケーブルを使用したテスト・ベンチをベースとして実施しました。その結果、トータルの遅延の測定値は500ナノ秒でした。

表4. 実験用の構成におけるADCの遅延の計算値
ADCのレート〔GSPS〕 DCMの総計 レーン・レート〔Gbps〕 公称遅延
ADCのクロック ナノ秒(DACのレート)
1.5 12.375 373 248.667

表3と表4は、実験に使用した構成でAD9082を動作させた場合に予想される遅延についてまとめたものです。ADCのレートとDACのレートを考慮してトータルの値を考えることにより、最小値と最大値を算出することができます。500ナノ秒という値はその範囲内にあることがわかります。

ワイヤレス・システムの伝搬遅延を1マイクロ秒未満に抑えられたとします。その場合、回路全体の遅延に対する影響を十分に無視できるレベルに抑えて、リンクの両端の間で一貫性を保つことができます。IEEE 802.11b/g、4G/LTE、5G NRに対応する携帯端末の同期についても同じことが言えます。デジタル・フィルタによる遅延が加わったとしても、トータルの遅延を500ナノ秒に抑えられれば問題はありません。つまり、本稿で例にとった設計であれば、システムはワイヤレス・レシーバーのプラットフォームとしての相互運用性を維持できるということになります。

まとめ

RF対応のシグナル・チェーンでは、信号波からビット・データへの変換において、必要なアナログ処理が実行されます。ただ、現実のハードウェアには寄生素子やパワー・アンプの非直線性といった誤差要因が存在します。また、ワイヤレス通信ではマルチパスのフェージングといった現象が発生します。そうしたことが原因となって信号品質は低下します。またシグナル・チェーンの振る舞いは、非理想的な伝達関数で表される状態になります。信号の減衰やスペクトルの損失を補償する処理は、データの精度と信頼性を確保する上で非常に重要です。アナログ・デバイセズは、プログラマブルなフィルタ機能を備えるMxFEとしてAD9082を提供しています。この製品を採用すれば、広い周波数範囲を網羅し、急峻な遷移帯域を実現する有用なフィルタのプロファイルを簡単に設計/実装することができます。