20GHzのダイレクト・サンプリング:全てを1つのナイキスト・ゾーンで -パート3:タイム・インターリーブの実現手段の比較
シリーズの関連記事を読む
要約
MxFE®システムは、ソフトウェア定義型のソリューションです。このシステムにおいて直交誤差補正(QEC:Quadrature Error Correction)のアルゴリズムを活用すれば、ナイキスト帯域幅を拡張することができます。つまり、QECはMxFEシステムの差別化要因になり得ます。QECは、レシーバーの機能/性能を拡張するために、2チャンネルのA/Dコンバータ(ADC)を使用して直交サンプリングを実現する上で不可欠な技術です。しかし、より一般的なタイム・インターリーブ方式でQECを活用するという選択肢も存在します。実際、どちらの方法にも固有の長所があります。本稿では、タイム・インターリーブ方式にQECを適用する方法について詳しく説明します。その上で、実測結果も交えて両方式の比較を行います。それにより、アプリケーションの条件に応じ、どちらがより優れた選択肢になるのかをご理解いただけるはずです。
はじめに
本連載のパート1では、インターリーブを実施する目的を明らかにしました。その上で、インターリーブにおいてアーティファクトの発生原因となる誤差要因について解説しました。更に、アナログ・デバイセズのApollo MxFE「AD9084」を使用して40GSPSのA/D変換を行う方法をいくつか紹介しました。なお、AD9084は分解能が16ビットでデータ・レートが28GSPSの4つのD/Aコンバータ(DAC)と分解能が12ビットでデータ・レートが20GSPSの4つのADCを内蔵する製品です。続くパート2では、ダイレクト直交サンプリングの詳細とQECの仕組みについて詳しく説明しました。今回(パート3)は、タイム・インターリーブを実現する方法に注目することにします。
図1に、ADCと組み込みDSPを組み合わせたシステムの構成図を示しました。これはパート1で示したのと同じものです。クロック分配用の回路には、デバイス内で隣接するADCのチャンネルに入力されるクロックを反転する機能が含まれています。最も単純なタイム・インターリーブ方式では、2つのチャンネルからのすべてのデータをフル・サンプル・レートでオフロードします。この手法では、必要な処理を行う前に、FPGAやASICの内部で2つのチャンネルからのデータをフル・レートで統合する必要があります。このことは、それによって生じる消費電力とオーバーヘッドを考慮すると望ましいものだとは言えません。そのため、これに代わるタイム・インターリーブ向けの手法として、直交サンプリングの場合と同様に組み込みDSPによってデータにフィルタを適用する方法が使われています。
フル・レートでシステムを動作させる場合、消費電力に関する懸念が生じます。このことから、レートを下げてデータをオフロードする手法が利用されるようになりました。その場合、隣接するADCをタイム・インターリーブで動作させ、組み込みDSPとデジタル・ダウン・コンバータ(DDC:Digital Down Converter)を活用することになります。また、パート1では位相の情報を利用することでADCのナイキスト境界を判別する方法を紹介しました。これらの概念は固有の価値を有しており、デジタルのデータ・レートを上げることなくサンプル・レートとチャンネル数をトレードオフすることができます。その際に重要な役割を果たすのが、プログラムが可能な組み込みDSPです。
タイム・インターリーブされたスライス
ADCの出力データを、偶数番目と奇数番目のサンプルにデシメートするケースを考えます。その場合、各データ・ストリームのサンプル・レートは1/2になります。そして、互いに1つ分シフトされた1つおきのサンプルが含まれています。ADCのスライスをタイム・インターリーブする際には、このような状態のデータを扱うことになります。各スライスには、半分のレートで1つおきのサンプルが含まれています。従来の方法では、そのデータをフル・サンプル・レートで統合していました。現在では、2つのスライス間の位相の情報を利用し、デジタルのデータ・レートを上げることなくナイキスト・ゾーンを判別することを可能にする手法が使われるようになりました。図2は、インターリーブされたスライスの概念を周波数領域で可視化したものです。
ここでは、2倍のタイム・インターリーブを実現するADCを例にとります(以下参照)。
サブADCは、以下のような偶数番目と奇数番目のサンプルを提供します。
サブADCの信号を周波数領域で解釈すると、以下の式(4)、式(5)を使用することで、それらを再びフル・レートの信号に関連づけることができます。
各サブADCの信号は、向かい合ったナイキスト・ゾーンからの2つのエイリアシング信号で構成されています。エイリアシングの極性は、サンプルが偶数番目か奇数番目かによって異なります。この事実を利用すれば、後処理で1次、2次のナイキスト・ゾーンを分離することができます。
タイム・インターリーブの後にFIRフィルタを適用する
位相の情報を利用すれば、スライスのレートが1次ナイキスト、2次ナイキストのうちどちらに含まれているのかを判別することができます(図3)。時間軸の遅延は周波数に対して線形の位相として現れることに注意してください。このことから、ADCの出力には入力周波数に対して線形な位相特性が現れます。その傾きは、スライスの周期の1/2の遅延に基づきます。図3(下)には、入力周波数に対する基本波の周波数とイメージの周波数の位相の差を示してあります。
ADCの出力に注目すれば、周波数に対する位相の傾きを確認できます。しかし、それを利用するための十分な情報は得られません。それに対し、ADCのスライスの一方に½サンプルの遅延(分数)を加えると、重要な特性が現れます。具体的には、入力周波数が1次ナイキスト・ゾーンにある場合、ADCの出力は同一の位相になります。一方、2次ナイキスト・ゾーンにある場合には180°の位相差が現れることになります。この特性を利用すれば、信号を加算することにより、両ナイキスト・ゾーンの不要な成分を相殺する方法が得られます。
上記の加算方法は、対象とする信号がfS/2の付近にない場合には有用です。一方、信号がfS/2の境界を越える場合には、別の方法が必要になります。ヒルベルト変換または90°のシフトをフラクショナル・デジタル・フィルタに加えると、同フィルタの出力において位相差が直交した状態になります。その結果、fS/2におけるIチャンネルとQチャンネルの間の位相反転が生じます。また、複素DDC(CDDC:Complex DDC)への直交入力としても使用できます。図4に示すように、この手法はパート2で説明した直交サンプリングの手法に似ています。
タイム・インターリーブにおけるイメージの補正
ここまでに、2つのADCの出力を組み合わせてタイム・インターリーブを実現し、フル・レートの2倍の信号を得るための方法をいくつか紹介しました。その内容は、2つのADCが完全に同等のものだという仮定に基づいています。しかし、現実のADCの出力信号や前段の電力分配器による分岐信号には、ゲイン、位相、遅延のミスマッチが含まれています。直交サンプリングの場合と同様に、ADCのパス間のミスマッチは、ADCの出力で半複素フィルタを使用することにより補正できます。あるいは、一対のDDCのチャンネルからの全複素フィルタの出力を加算することで補正することも可能です。
図5に示すように、タイム・インターリーブ・システムは、伝達関数が異なる2つのアナログ信号パスに信号を供給する理想的な電力分配器(パワー・スプリッタ)としてモデル化することができます。H0(ω)は、偶数番目のサンプルをキャプチャするパスの伝達関数を表しています。一方、H1(ω)は奇数番目のサンプルをキャプチャするパスの伝達関数に相当します。以下では、偶数番目と奇数番目に対応するそれぞれの信号パスを、0パス、1パスと呼ぶことにします。
QECと同様に、タイム・インターリーブに適用する補正は相対的な形のイコライゼーションだと表現することができます。例えば、図6では0パスを理想的なものだと捉え、それに1パスをマッチングさせる方法を表しています。1パスの応答は、(a)公称1/2サンプルの遅延、(b)0パスの共通応答、(c)0パスに対する1パスのミスマッチを組み合わせたものとしてモデル化できます。
図7は、相対的なものとして表したタイム・インターリーブのモデルを余弦波入力x(t) = cos(ω0t)によって刺激した様子を表しています。公称1/2サンプルの遅延H0.5(ω)とミスマッチの応答HΔ(ω) = AΔ(ω)e(jθΔ(ω))により、1パスの振幅と位相が修正されます。.
単純な三角関数の公式を使用すると、1パスの出力を、遅延した余弦波の項を含む和の形に分解することができます(以下参照)。
0パスと1パスの間にミスマッチがない場合(HΔ(ω) = 1)、理想的な出力は以下のように定義できます。
以上のように、周波数ω0を中心とする正弦波信号やそれ以外の狭帯域信号については、実際の出力を理想的な出力として表すことができます。タイム・インターリーブの構成は、その処理に伴う誤差を発生させる2×2の線形システムだと見なすことができます。タイム・インターリーブに伴う誤差の補正は、その2×2の線形システムを反転し、理想的な出力x0(t)とx1(t)をリカバリする形で実行されます(図8)。なお、この例ではシングル・トーンの使用を前提としています。その場合、図8に示した誤差の補正方法は、考えられる多くの解決策のうちの1つに過ぎません。一方のフィルタを他方に対して調整する方法は他にも存在します。誤差の補正方法は、複数のナイキスト・ゾーンで信号を同時に補正しようとする場合には一意的なものになります。ただ、本稿ではその方法には触れないことにします。
図8に示したタイム・インターリーブにおける誤差の発生モデルは、直交サンプリングにおける誤差の発生モデルと似ています。但し、大きな違いが1つあります。刺激としてシングル・トーンを使用する場合、直交サンプリングの誤差はシングル・タップの実数値フィルタを使用してモデル化することで補正できます。言い換えれば、2つの実数値フィルタのそれぞれでゲインを補正するだけで済むということです。それに対し、タイム・インターリーブでは位相を補正しなければなりません。そのため、0パスから1パスへ信号を流出させるマルチ・タップのクロスオーバー・フィルタが必要になります。
ここで例にとっているトポロジにおいて、出力z0[n]とz1[n]は、それぞれ2倍のレートでサンプリングされた信号(2倍のインターリーブを適用)の偶数番目と奇数番目に対応しています。インターリーブ出力z[n]は、次のように構成されます。
先述したように、1/2サンプルの遅延とヒルベルト変換を組み合わせて使用すれば、z0[n]とz1[n]を直交表現に変換することも可能です。図9は、フィルタG0(ω)とG1(ω)によるタイム・インターリーブの補正とGq(ω)による直交変換をカスケード構造で実現する例を表しています。この構成により、直交出力z[n] =zi[n] + jzq[n]が得られます。
カスケード接続された各フィルタ段については、最初の段に直交変換の機能を含めることにより1つの半複素フィルタ構造として統合することができます(以下参照)。
それにより、補正された直交出力信号に先述した解析を適用し、PFILT(Programmable FIR Filter)を使用してADCの出力で行っていた補正を、複素FIRフィルタ(CFIR:Complex FIR Filter)を使用してDDCの出力で行う形に変更することが可能になります。
図10に示したイメージ除去性能の評価結果をご覧ください。これは、タイム・インターリーブと直交インターリーブを比較したものです。それぞれの誤差の補正にPFILTとCFIRを適用した場合の結果を示してあります。この結果を見ると、タイム・インターリーブと直交インターリーブのどちらでも誤差の大きさはほぼ同等です。また、どちらの場合にもCFIRを使用した方が性能が向上することがわかります。
パート2で説明したように、PFILTによる補正を実施した場合、周波数に依存するリップル誤差が現れます。そのリップルは、直交スプリッタ(ハイブリッド・カプラ)から2つのADCへの伝送線路の長さとインピーダンス・ミスマッチによって生じます。この問題を解消すれば、PFILTでもCFIRを使用する場合と同様の応答が得られるはずです。
インターリーブ手法の比較
ここまで、いくつかのインターリーブ手法について説明してきました。では、それらを比較するとどのような結果になるのでしょうか。図10に示した評価結果からは、イメージ除去性能の面では直交インターリーブとタイム・インターリーブはほぼ同等であることがわかります。そのため、どちらの手法が適しているのかは、実際のアプリケーションの条件を考慮して判断する必要があります。
フル・レートのオフロードと組み込みDSPの比較
40GSPSのフル・レートのデータは、本連載で紹介したいずれの手法でも生成できます。各手法は、例えば最新のMxFE製品を採用することで実装することが可能です。実用上の制約になるのは、増大したデータをすべて取り込み、必要な処理を適用する前に40GSPSのデータ・ストリームに対するキャリブレーションを実施して再構成しなければならないことです。多くの場合、フル・レートで20GHzの1次ナイキスト・ゾーン(帯域幅)をモニタしつつ、組み込みDSPを使用してデジタル・バックエンドのオーバーヘッドを削減することが強く求められるでしょう。本連載では、主に組み込みDSPを利用する手法について説明してきましたが、必要に応じてフル・レートのデータをオフロードするというのも現実的な選択肢になります。
タイム・インターリーブと直交インターリーブの比較
直交インターリーブには、以下に示す2つの長所があります。
- 複素モードで組み込みFFTを使用できます。
- 直交ハイブリッド(ハイブリッド・カプラ)への入力は、平衡型のアンプのように見なすことができます。ADCからの反射は終端ポートに伝達され、広帯域に対応するより優れたインピーダンスのマッチングが実現されます。
直交サンプリングの主な短所は、市販の直交ハイブリッドの周波数範囲に制限があることです。とはいえ、2GHz~18GHzという広範な帯域幅に対応している市販品も存在します。更に広い帯域に対応しなければならない場合、より低い周波数範囲まで拡張可能な抵抗電力分配器を使用するとよいでしょう。これであれば容易に入手できます。
PFILTによる補正とCFIRによる補正の比較
AD9084が内蔵するPFILTとCFIRはどちらもタイム・インターリーブの補正に対応しています。ただ、それぞれに長所と短所があります。まず、PFILTはADCのフル・サンプル・レートで動作します。そのため、1セットのフィルタの係数によって広い帯域幅にわたる補正を実施できます。また、組み込みDSPの機能もフルに活用可能だと言えます。一方、CFIRは継続時間の長いインパルス応答に対応しています。このことは、アプリケーションの性能向上に直結します。表1は、様々なトレードオフについてまとめたものです。
説明 | フル・レートのオフロード | ダイレクト直交サンプリング | 組み込みDSPによるタイム・インターリーブ | |||
イースト/ウェストADCのインターリーブ | 隣接するADCのインターリーブ | PFILTによる補正 | CFIRによる補正 | PFILTによる補正 | CFIRによる補正 | |
40GSPSのADCの数 | 1 | 2 | 2 | |||
JESDのビット数 | 12 | 8 | 116(デシメーションあり) | |||
DDCの使用 | なし | あり | ||||
イメージの誤差 | クロックの整合性、RF:ゲイン/位相/オフセット | 直交ミスマッチ:ゲイン/位相 | クロックの整合性、RF:ゲイン/位相/オフセット | |||
複素FFT | なし | あり | なし | |||
長所 | 広帯域のNSDが恐らく最高 | 最もシンプルな構成でデュアルチャンネル/40GSPSに対応 |
|
|
|
|
ハイブリッド・カプラとのインピーダンスのマッチング | ||||||
短所 |
|
|
|
|
||
直交ハイブリッドが低周波数領域の制約に |
まとめ
3つのパートから成る本連載では、市販のADCを使用して20GHzまでの1次ナイキスト・サンプリングを実現する方法を紹介しました。パート1では、その目的を明らかにした上で実用的な実装方法の概要を説明しました。パート2では、ダイレクト直交サンプリングの実装方法や必要な補正機能について詳しく解説しました。パート3では、タイム・インターリーブの手法と利用可能な選択肢についての比較を実施しました。本連載全体を通して、実測結果を示すと共に、そのような結果を得るための基礎的な技術知識を提供しました。
これまで、ADCのサンプル・レートは継続的に向上してきました。その一方で、ダイナミック・レンジとノイズ性能を維持するために多くの力が注がれてきました。20GSPSのADCを備えるAD9084は、18GHzまでの入力帯域幅でクラス最高の性能を提供します。このような性能を実現しつつ、40GSPSまでのインターリーブに対応するための先進的な手段も備えています。そのため、ユーザはアプリケーションの目的に応じ、いくつかの選択肢の中から最適なものを選ぶことができます。
今後の取り組み
今後は、主としてソフトウェアとファームウェアのアップグレードに重点を置いて取り組みを進めていきます。その目的の1つは、最終的なシステムにインターリーブの手法を容易に統合できるようにすることです。また、ADCのすぐ近くにハイブリッド・カプラを最適な形で配置できるようにすべく評価用ボードの改良も進めます。
謝辞
設計チームの協力を得たことにより、ADCのサンプル・レート、入力帯域幅、組み込みDSPを組み合わせて、本稿で取り上げた概念の基盤を構築することができました。また、20GHzの1次ナイキスト・ゾーンにおける高ダイナミック・レンジのサンプリングの実現に向けて、数十年にわたり設計の礎を築いてきたADCの設計者とアナログ・デバイセズの長い伝統に感謝します。
参考資料
Ahmed Ali「High Speed Data Converters(高速データ・コンバータ)」IET、2016年8月
Walt Kester「The Data Conversion Handbook(データ変換ハンドブック)」Analog Devices、2005年
Gabriele Manganaro「Advanced Data Converters(高機能データ・コンバータ)」Cambridge University Press、2012年
*英語版技術記事はこちらよりご覧いただけます。
著者について
{{modalTitle}}
{{modalDescription}}
{{dropdownTitle}}
- {{defaultSelectedText}} {{#each projectNames}}
- {{name}} {{/each}} {{#if newProjectText}}
-
{{newProjectText}}
{{/if}}
{{newProjectTitle}}
{{projectNameErrorText}}