(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022183142
(43)【公開日】2022-12-08
(54)【発明の名称】通信リンク等化処理、コンピューティング装置及びイコライザ最適化方法
(51)【国際特許分類】
H04B 3/04 20060101AFI20221201BHJP
【FI】
H04B3/04 A
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022088014
(22)【出願日】2022-05-30
(31)【優先権主張番号】63/194,293
(32)【優先日】2021-05-28
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/825,981
(32)【優先日】2022-05-26
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】391002340
【氏名又は名称】テクトロニクス・インコーポレイテッド
【氏名又は名称原語表記】TEKTRONIX,INC.
(74)【代理人】
【識別番号】100090033
【弁理士】
【氏名又は名称】荒船 博司
(74)【代理人】
【識別番号】100093045
【弁理士】
【氏名又は名称】荒船 良男
(72)【発明者】
【氏名】カン・タン
【テーマコード(参考)】
5K046
【Fターム(参考)】
5K046AA01
5K046BA06
5K046BB05
5K046EE10
5K046EF15
5K046EF36
(57)【要約】
【課題】イコライザの16個のタップを速く正確に最適化する。
【解決手段】全16個の値をゼロに設定する。次に16個の値全てが割り当てられるまで、16個のパラメータの集合中の現在の最小のパラメータを決定し、パラメータの集合中の最初の項にメイン・パルス応答を乗算したものから、パラメータの集合中のパラメータの夫々に値の集合中の値の夫々を乗算したものの合計を引き算したものを、現在の最小のパラメータで割り算したものと、対応するパルス応答との中から最小値を決定し、パラメータの集合中の現在の最小のパラメータと同じ位置にある値の集合中の値に最小値を割り当てる処理を繰り返す。値の夫々にパルス応答中の対応するパルス応答の符号を掛け算し、イコライザの各係数の値を決定する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
通信リンクを等化処理する方法であって、
係数の必要な個数に等しい係数の個数を設定する処理と、
上記係数の個数よりも多い、波形に関するパルス応答の個数を決定する処理と、
上記係数の個数と同じ個数の値の集合中の全ての値をゼロに設定する処理と、
上記値の集合中の全ての値が割り当てられるまで、
所与のパラメータの集合中の現在の最小のパラメータを決定する処理と、
上記パラメータの集合中の上記現在の最小のパラメータの位置をインデックスとして使用する処理と、
上記パラメータの集合中の最初の項にメイン・パルス応答を乗算したものから、上記パラメータの集合中のパラメータの夫々に上記値の集合中の値の夫々を乗算したものの合計を引き算したものを、上記現在の最小のパラメータで割り算したものと、対応するパルス応答との中から最小値を決定する処理と、
上記パラメータの集合中の上記現在の最小のパラメータと同じ位置にある上記値の集合中の値に上記最小値を割り当てる処理と
を繰り返す処理と、
上記値の集合中の値の夫々に、上記パルス応答中の対応するパルス応答の符号を掛け算することによって、係数の集合中の係数の夫々の値を決定する処理と、
上記係数の個数と同じ個数のタップを有し、該タップの夫々が対応する上記係数に基づく値を有するイコライザを定義する処理と、
上記通信リンクを通して受ける波形に上記イコライザを適用して、等化処理された波形を生成する処理と
を具える通信リンク等化処理方法。
【請求項2】
上記パルス応答の個数を決定する処理が、線形近似パルス応答抽出方法を利用する請求項1の通信リンク等化処理方法。
【請求項3】
上記パラメータの集合は、上記イコライザについての必要な制約条件から得られる請求項1の通信リンク等化処理方法。
【請求項4】
上記インデックスが1に等しい場合、上記最小値を決定する処理は、上記メイン・パルス応答に基づく付加的な項も考慮して上記最小値を決定する請求項1の通信リンク等化処理方法。
【請求項5】
上記付加的な項は、上記イコライザについてのイコライザ・タップの制約条件に基づく請求項3の通信リンク等化処理方法。
【請求項6】
コンピューティング装置であって、
通信リンクへのインタフェースと、
プログラムを実行するよう構成される1つ以上のプロセッサと
を具え、
上記プログラムが実行されると上記1つ以上のプロセッサに、
係数の必要な個数に等しい係数の個数を設定する処理と、
上記係数の個数よりも多い、波形に関するパルス応答の個数を決定する処理と、
上記係数の個数と同じ個数の値の集合中の全ての値をゼロに設定する処理と、
上記値の集合中の全ての値が割り当てられるまで、
所与のパラメータの集合中の現在の最小のパラメータを決定する処理と、
上記パラメータの集合中の上記現在の最小のパラメータの位置をインデックスとして使用する処理と、
上記パラメータの集合中の最初の項にメイン・パルス応答を乗算したものから、上記パラメータの集合中のパラメータの夫々に上記値の集合中の値の夫々を乗算したものの合計を引き算したものを、上記現在の最小のパラメータで割り算したものと、対応するパルス応答との中から最小値を決定する処理と、
上記パラメータの集合中の上記現在の最小のパラメータと同じ位置にある上記値の集合中の値に上記最小値を割り当てる処理と
を繰り返す処理と、
上記値の集合中の値の夫々に、上記パルス応答中の対応するパルス応答の符号を掛け算することによって、係数の集合中の係数の夫々の値を決定する処理と、
上記係数の個数と同じ個数のタップを有し、該タップの夫々が対応する上記係数に基づく値を有するイコライザを定義する処理と、
上記通信リンクを通して受ける波形に上記イコライザを適用して、等化処理された波形を生成する処理と
を行わせるコンピューティング装置。
【請求項7】
上記パラメータの集合は、上記イコライザについての必要な制約条件から得られる請求項6のコンピューティング装置。
【請求項8】
上記1つ以上のプロセッサに上記最小値を決定させるプログラムは、上記インデックスが1に等しい場合、上記メイン・パルス応答に基づく付加的な項を考慮して上記最小値を決定させるプログラムを含む請求項6のコンピューティング装置。
【請求項9】
通信リンク用の16タップのイコライザを最適化する方法であって、
16よりも多い、波形に関するパルス応答の個数を決定する処理と、
16個の値の集合中の全ての値をゼロに設定する処理と、
上記値の集合中の16個の値全てが割り当てられるまで、
所与の16個のパラメータの集合中の現在の最小のパラメータを決定する処理と、
上記パラメータの集合中の上記現在の最小のパラメータの位置をインデックスとして使用する処理と、
上記パラメータの集合中の最初の項にメイン・パルス応答を乗算したものから、上記パラメータの集合中のパラメータの夫々に上記値の集合中の値の夫々を乗算したものの合計を引き算したものを、上記現在の最小のパラメータで割り算したものと、対応するパルス応答との中から最小値を決定する処理と、
上記パラメータの集合中の上記現在の最小のパラメータと同じ位置にある上記値の集合中の値に上記最小値を割り当てる処理と
を繰り返す処理と、
上記値の集合中の値の夫々に、上記パルス応答中の対応するパルス応答の符号を掛け算することによって、係数の集合中の係数の夫々の値を決定する処理と
を具えるイコライザ最適化方法。
【請求項10】
上記最小値を決定する処理は、上記インデックスが1に等しい場合、上記メイン・パルス応答に基づく付加的な項を考慮して上記最小値を決定する処理を含む請求項9のイコライザ最適化方法。
【請求項11】
上記パラメータの集合が、[1 1 0.85 0.60 0.25 0.10 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05]を含む請求項9のイコライザ最適化方法。
【請求項12】
各タップが対応する係数に基づく値を有する16タップのイコライザを定義する処理と、上記通信リンクを介して受信した波形に上記イコライザを適用して等化処理された波形を生成する処理とを更に具える請求項9のイコライザ最適化方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、電気信号及び光信号の通信で使用されるイコライザの最適化に関し、特に、制約条件を伴う標準的なシグナリング・プロトコルで使用される判定帰還型イコライザの最適化に関する。
【背景技術】
【0002】
トランスミッタとレシーバ間の高速通信リンクは、概して、6ギガ・ビット毎秒(Gb/s)の速度で動作する。このような高速では、送信機若しくは受信機のいずれか、又はその両方が、通常、信号の劣化を補正するために等化技術を採用する。信号の劣化は、いくつか例を挙げると、チャンネル損失、反射、クロストーク、ノイズなどが原因である可能性がある。信号の等化処理は、通常、信号から望ましくない成分を除去又はフィルタ処理すると共に、信号を増幅することを意味する。
【0003】
この等化処理は、判定帰還型イコライザ(DFE:decision feedback equalizer:判定帰還型等化器)を含む広く一般的に使用されている様々な手法で行われる。DFEは、典型的には、過去の判定を用いるフィードバック・パスを利用してシンボル間干渉(ISI)の影響を緩和することにより、入力信号を等化処理する。DFEは、通常「タップ」と呼ばれる様々な係数を使用して信号障害による影響を緩和する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許2663820号公報
【特許文献2】国際公開第2012/102258号
【特許文献3】米国特許第8855186号明細書
【非特許文献】
【0005】
【非特許文献1】「PCI-SIG specifications」、PCI-SIG、[online]、[2022年5月27日検索]、インターネット<https://pcisig.com/specifications>
【発明の概要】
【発明が解決しようとする課題】
【0006】
通信規格が異なると、等化処理の要件も異なり、これは、典型的には、DFEタップの数と、タップの範囲及び制約条件として設定される。特定のイコライザに関してこれらタップを最適化する処理には、通常、反復的な調査プロセスが必要になるか、又は、解空間の掃引(スイープ)が必要となる。これらプロセスは、通常、動作が遅く、精度も低い。
【課題を解決するための手段】
【0007】
以下では、本願で開示される技術の理解に有益な実施例が提示される。この技術の実施形態は、以下で記述する実施例の1つ以上及び任意の組み合わせを含んでいても良い。
【0008】
実施例1は、通信リンクを等化処理する方法であって、係数の必要な個数に等しい係数の個数を設定する処理と、上記係数の個数よりも多い、波形に関するパルス応答の個数を決定する処理と、上記係数の個数と同じ個数の値の集合中の全ての値をゼロに設定する処理と、上記値の集合中の全ての値が割り当てられるまで、所与のパラメータの集合中の現在の最小のパラメータを決定する処理と、上記パラメータの集合中の上記現在の最小のパラメータの位置をインデックスとして使用する処理と、上記パラメータの集合中の最初の項にメイン・パルス応答を乗算したものから、上記パラメータの集合中のパラメータの夫々に上記値の集合中の値の夫々を乗算したものの合計を引き算したものを、上記現在の最小のパラメータで割り算したものと、対応するパルス応答との中から最小値を決定する処理と、上記パラメータの集合中の上記現在の最小のパラメータと同じ位置にある上記値の集合中の値に上記最小値を割り当てる処理とを繰り返す処理と、上記値の集合中の値の夫々に、上記パルス応答中の対応するパルス応答の符号を掛け算することによって、係数の集合中の係数の夫々の値を決定する処理と、上記係数の個数と同じ個数のタップを有し、該タップの夫々が対応する上記係数に基づく値を有するイコライザを定義する処理と、上記通信リンクを通して受ける波形に上記イコライザを適用して、等化処理された波形を生成する処理とを具える。
【0009】
実施例2は、実施例1の方法であって、パルス応答の個数を決定する処理は、線形近似パルス応答抽出方法を利用する。
【0010】
実施例3は、実施例1又は2の方法であって、所与のパラメータの集合は、イコライザについて必要な制約条件から得られる。
【0011】
実施例4は、実施例1~3のいずれかの方法であって、上記インデックスが1に等しい場合、最小値を決定する処理は、メイン・パルス応答に基づいく付加的な項も考慮して最小値を決定する。
【0012】
実施例5は、実施例4の方法であって、付加的な項は、イコライザについてのイコライザ・タップの制約条件に基づいている。
【0013】
実施例6は、実施例1~5のいずれかの方法であって、通信リンクは、PCIe Gen6及びUSBのいずれかを含む。
【0014】
実施例7は、実施例1~5のいずれかの方法であって、必要な係数の個数が16である。
【0015】
実施例8は、コンピューティング装置であって、高速通信リンクへのインタフェースと、プログラムを実行するよう構成される1つ以上のプロセッサとを具え、上記プログラムが実行されると上記1つ以上のプロセッサが、係数の必要な個数に等しい係数の個数を設定する処理と、上記係数の個数よりも多い、波形に関するパルス応答の個数を決定する処理と、上記係数の個数と同じ個数の値の集合中の全ての値をゼロに設定する処理と、上記値の集合中の全ての値が割り当てられるまで、所与のパラメータの集合中の現在の最小のパラメータを決定する処理と、上記パラメータの集合中の上記現在の最小のパラメータの位置をインデックスとして使用する処理と、上記パラメータの集合中の最初の項にメイン・パルス応答を乗算したものから、上記パラメータの集合中のパラメータの夫々に上記値の集合中の値の夫々を乗算したものの合計を引き算したものを、上記現在の最小のパラメータで割り算したものと、対応するパルス応答との中から最小値を決定する処理と、上記パラメータの集合中の上記現在の最小のパラメータと同じ位置にある上記値の集合中の値に上記最小値を割り当てる処理とを繰り返す処理と、上記値の集合中の値の夫々に、上記パルス応答中の対応するパルス応答の符号を掛け算することによって、係数の集合中の係数の夫々の値を決定する処理と、上記係数の個数と同じ個数のタップを有し、該タップの夫々が対応する上記係数に基づく値を有するイコライザを定義する処理と、上記通信リンクを通して受ける波形に上記イコライザを適用して、等化処理された波形を生成する処理とを行う。
【0016】
実施例9は、実施例8のコンピューティング装置であって、1つ以上のプロセッサにパルス応答の個数を決定させるプログラムは、1つ以上のプロセッサに線形近似パルス応答抽出方法を使用させるプログラムを含む。
【0017】
実施例10は、実施例8又は9のコンピューティング装置であって、所与のパラメータの集合は、イコライザについての必要な制約条件から得られる。
【0018】
実施例11は、実施例8~10のいずれかのコンピューティング装置であって、1つ以上のプロセッサに最小値を決定させるプログラムは、インデックスが1に等しい場合、メイン・パルス応答に基づく付加的な項を考慮して最小値を決定させるプログラムを含む。
【0019】
実施例12は、実施例11のコンピューティング装置であって、上記付加的な項は、イコライザについてのイコライザ・タップの制約条件に基づいている。
【0020】
実施例13は、実施例8~12のいずれかのコンピューティング装置であって、上記通信リンクは、PCIe Gen6及びUSBのうちの1つを含む。
【0021】
実施例14は、実施例8~13のいずれかのコンピューティング装置であって、必要な係数の個数は、16である。
【0022】
実施例15は、通信リンク用の16タップのイコライザを最適化する方法であって、16よりも多い、波形に関するパルス応答の個数を決定する処理と、16個の値の集合中の全ての値をゼロに設定する処理と、上記値の集合中の16個の値全てが割り当てられるまで、所与の16個のパラメータの集合中の現在の最小のパラメータを決定する処理と、上記パラメータの集合中の上記現在の最小のパラメータの位置をインデックスとして使用する処理と、上記パラメータの集合中の最初の項にメイン・パルス応答を乗算したものから、上記パラメータの集合中のパラメータの夫々に上記値の集合中の値の夫々を乗算したものの合計を引き算したものを、上記現在の最小のパラメータで割り算したものと、対応するパルス応答との中から最小値を決定する処理と、上記パラメータの集合中の上記現在の最小のパラメータと同じ位置にある上記値の集合中の値に上記最小値を割り当てる処理とを繰り返す処理と、上記値の集合中の値の夫々に、上記パルス応答中の対応するパルス応答の符号を掛け算することによって、係数の集合中の係数の夫々の値を決定する処理とを具える。
【0023】
実施例16は、実施例15の方法であって、パルス応答の個数を決定する処理は、線形近似パルス応答抽出方法を使用することを含む。
【0024】
実施例17は、実施例15又は16の方法であって、最小値を決定する処理は、インデックスが1に等しい場合、メイン・パルス応答に基づく付加的な項を考慮して最小値を決定する処理を含む。
【0025】
実施例18は、実施例15~17のいずれかの方法であって、所与のパラメータの集合は、イコライザに対する必要な制約条件から得られる。
【0026】
実施例19は、実施例15~18のいずれかの方法であって、所与のパラメータの集合が、[1 1 0.85 0.60 0.25 0.10 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05]を含む。
【0027】
実施例20は、実施例15~19のいずれかの方法であって、各タップが対応する係数に基づく値を有する16タップのイコライザを定義する処理と、上記通信リンクを介して受信した波形に上記イコライザを適用して等化処理された波形を生成する処理とを更に具える。
【0028】
本発明の実施形態の態様、特徴及び効果は、添付の図面を参照し、以下の実施形態の説明を読むことで明らかとなろう。
【図面の簡単な説明】
【0029】
【
図1】
図1は、等化処理を利用した通信リンクを有する装置の一実施形態を示す。
【
図2】
図2は、判定帰還型イコライザのアーキテクチャの一実施形態を示す。
【
図3】
図3は、相対的に短いチャネル及び相対的に長いチャネルを通過した信号のパルス応答を示す。
【
図4】
図4は、相対的に短いチャネル及び相対的に長いチャネルを通過した信号の波形を示す。
【
図5】
図5は、相対的に短いチャネル及び相対的に長いチャネルを通過した信号のアイ・ダイアグラムを示す。
【
図7】
図7は、相対的に長いチャネルを通過した信号の等化処理後の信号のグラフを示す。
【
図8】
図8は、相対的に長いチャネルを通過した信号の等化処理後のアイ・ダイアグラムを示す。
【発明を実施するための形態】
【0030】
本願の実施形態は、通信リンクを等化処理する方法を提供するもので、
図1は、そうした通信リンクを示す。等化処理は、システム性能を向上させるために、送信機、受信機、又はその両方で行われることがある。転送速度が速くなると、必要な等化処理の量も増加する。DFEは、緩和しようとする信号の劣化や障害によって、使用されるタップの個数が異なり、一般に、転送速度が速いほど多くのタップが必要となる。
【0031】
PCIe(Peripheral Component Interface Express)は、DFEを使用する通信プロトコル又は規格の一例である。PCIeは、大まかに言えば、多種多様なコンピューティング及び通信プラットフォームで使用される入力・出力を相互接続するアーキテクチャを有する。以下では、この特定の通信プロトコル規格と、その明快な要件に焦点を当てて説明する。これらの具体的な要件は、設計要件と制約条件の例を提供するが、これらから、他の通信プロトコルの要件に適用するための設計要件と制約条件を推定できるであろう。
【0032】
PCIeの例では、第3世代から第6世代までの連続する世代の夫々で、以下の表1に示すように転送速度が上昇してきている。なお、この表1において、転送速度の単位は、ギガトランスファ毎秒(GT/s:GigaTransfers/sec)である。
【表1】
【0033】
図1は、コンピューティング装置(computing device)10の一実施形態を示す。この装置10は、オシロスコープなどの試験測定装置から構成されても良い。オシロスコープ10は、概して、プローブ12によって被試験デバイス(DUT)14に結合される。オシロスコープ10は、ケーブル又はフィクスチャ(fixture:固定装置)を介してDUT14に接続されても良い。DFE及びそれに関連する最適化は、オシロスコープ10内か、又は、オシロスコープ10とDUT14との間で行われても良い。これらのいずれかが、PCIe第6世代を採用した高速転送リンクの受信側又は送信側のエンドポイントとして機能しても良い。
【0034】
オシロスコープ10には、プローブ・インタフェースと、アクイジション・システム16とを有していても良い。アクイジション・システム16は、DUT14からのアナログ信号を受けて、デジタル・データ(波形データ又は単に「波形」とも呼ぶ)として取り込む(アクイジションする)ための多種多様な回路から構成されても良い。多種多様な回路の例としては、アナログ・デジタル・コンバータ、プリアンプなどを挙げることができる。メモリ18は、アクイジション・システム16からのデジタル・データを受けて記憶しても良い。メモリ18はまた、実行可能なプログラムを含むことができ、これは、プロセッサ20によって実行されると、プロセッサ20に、以下で説明する方法を実行させる。ディスプレイ22は、結果として生じる波形を表示し、ユーザ・インタフェース24は、ダイヤル、ノブ、キーなどを有していても良く、更に、ディスプレイ22の一部をタッチ式スクリーンとして利用しても良く、これらによって、ユーザは、ユーザが定義した試験に従って、送信機又は受信機についての試験をセットアップし、実行できる。
【0035】
コンピューティング装置は、必ずしも試験測定装置から構成されていなくても良い。多くのコンピューティング装置は、そのメイン・プロセッサと、他のコンポーネント(ディスプレイ、メモリ、その他のアクセサリなど)との間のインタフェースとして、PCIeなどの通信プロトコルを利用した通信バスを有している。コンピューティング装置内のプロセッサは、DFEタップの係数を最適化するように動作しても良い。コンピューティング装置は、イコライザを試験する試験測定装置であるのか、又は、イコライザを使って動作するコンピューティング装置であるかのいずれであるにしても、高速通信リンクのエンドポイントを有していて良い。コンピューティング装置は、高速通信リンクへのインタフェース(プローブ又は別のエンドポイントのいずれか)を有することになろう。
【0036】
図2は、16タップDFEのようなNタップDFEの実施形態を示し、これは、PCIe第6世代(Gen6)規格の要件に準拠するのに使用できる。x
kは、本願で使用する場合、DFEへの入力信号又は入力波形を意味し、y
kは、判定機能への入力信号を意味する。判定機能32は、デジタル形式でシンボルを検出する。例えば、NRZ(None Return to Zero:ノン・リターン・トゥ・ゼロ)信号の場合、もし判定機能32の出力が-1、1となったならば、これはビット0とビット1を表す。PAM4(4レベルのパルス振幅変調)信号の場合、もし出力が-1、-1/3、1/3、1となったら、これは、シンボル0、シンボル1、シンボル2、及びシンボル3を表す。次に、判定機能32の出力は、遅延ブロック34(z
-1)に送られる。これら遅延ブロック34の出力の夫々は、対応するDFEタップ36の係数d
iと乗算され、これらの積が加算部38で合算され、加算ノード30で入力信号x
kと加算される。DFEタップの数は、Nで指定される。PCIe第3世代(Gen3)の場合、N=1である。PCIe第6世代(Gen6)の場合、N=16である。
【0037】
DFEタップを最適化すれば、システムの性能は向上する。まず、システムの性能を定量化するため、最小平均2乗誤差(MMSE:minimum mean squared error)を含む、様々な最適化目的関数(optimization target functions)が使用される。PCIeの仕様では、「アイ開口部(opening)」を使用しており、これは、入力信号の波形のピーク・トゥ・ピーク(peak-to-peak)値を意味し、アイ・ダイアグラム中の開いているアイを示す。米国特許第8,855,186号は、1タップのDFEを利用するPCIe第3世代(Gen3)用のDFEを最適化するための陽解法(explicit solution)を示している。しかし、この米国特許に記載されている方法では、DFEに2つ以上のタップがある場合にまで一般化した陽解法は得られない。本願の実施形態には、任意の個数のタップを有するDFEを最適化するための陽解法が含まれ、これによれば、タップ値に制約条件があっても、目標とする性能(パフォーマンス)基準を満たすアイ開口部を実現できる。
【0038】
PCIe第6世代(Gen6)用のDFEの実施形態において、PCIe第6世代(Gen6)の仕様「PCI Express Base Specification 6.0」(pcisig.com, 2021)は、イコライザのタップの制約条件を規定している。本願で使用されるイコライザのタップの制約条件は、この仕様に特に適用するものであるが、全ての方法は、多種多様な通信プロトコル仕様で使用される任意のタイプのイコライザ・タップの制約条件に適用できる。PCIe第6世代(Gen6)の特定の実施形態では、DFEバースト誤差を制限するために、仕様が、イコライザのタップに制約条件を規定している。本願で使用されるDFEバースト・エラーは、シンボル同士とは互いに独立して発生するエラーとは対照的に、複数の連続するシンボルにおいて発生するエラーを意味する。
【0039】
PCIe第6世代(Gen6)の仕様には、次の2つの式で示される制約条件(1)及び(2)がある。
[数式1]
d1/h0<0.55 (1)
[数式2]
(|d1|+|d2|+0.85×|d3|+0.60×|d4|+0.25×|d5|+0.10×|d6|+0.05×|d7|+0.05×|d8|+0.05×|d9|+0.05×|d10|+0.05×|d11|+0.05×|d12|+0.05×|d13|+0.05×|d14|+0.05×|d15|+0.05×|d16|)/h0=<0.85 (2)
本願での使用では、h0項は、DFEへの入力波形から抽出されたパルス応答のメイン・カーソルを意味する。その方法としては、例えば、「IEEE 802.3ba 40Gb/s and 100 Gb/s Ethernet standard (www.ieee802.org/3/, 2010)」に示されるような線形近似(linear fit)パルス抽出方法を使用して、パルス応答を抽出しても良い。
【0040】
この線形近似パルス抽出法は、波形からパルス応答を抽出する方法の一例としては、複数のインパルス応答hiの集合(set:組、グループ)を生成し、このとき、iは係数の個数に等しい。h0項は、メイン・インパルス応答を指す。この例では、捕捉(キャプチャ)される波形は、送信機がパターンを繰り返し送信した結果である。捕捉された波形の実効サンプル・レートは、送信機のシグナリング・レートのM倍に等しい。捕捉された波形は、合計でNビットになる試験パターンの整数値の繰り返し回数を表す。これにより、M×N個のサンプルから成る捕捉波形が生じる。以下の方法は、波形の最初のM個のサンプルが試験パターンの最初のビットに対応し、2番目のM個のサンプルが2番目のビットに対応すると仮定している。
【0041】
このような捕捉波形y(k)及び対応するシンボルx(n)が与えられると、以下に示すM×N波形行列Yを定義できる。
【数M1】
【0042】
続いて、以下に示すように、シンボル・ベクトルxを、指定されたパルス遅延Dpだけ回転させてxiを生成する。
[数式M2]
xr=[x(Dp+1) x(Dp+2) … x(N) x(1) … x(N-Dp)]
【0043】
以下に示すように、x
rから導出したN×N行列を行列Xとして定義する。
【数M3】
【0044】
長さNの行ベクトルと連結した行列Xの最初のNp個の行を、行列X1と定義する。このとき、Npは、1つのパルス応答内にあるシンボルの個数を表す。次いで、線形近似(linear fit)に相当するM×Np係数行列Pを、以下のように定義する。上付き文字Tは、転置行列であることを示す。
[数式M4]
P=YX1
T(X1X1
T)-1
【0045】
次いで、P
1が、行列Pの最初のN
p個の列から構成される行列として定義される。そして、線形近似パルス応答p(k)は、P
1の成分を列方向に読み出したものである。
【数M4】
結果として得られる線形近似パルス応答p(k)は、h
iとして使用され、このとき、i=1,2,… ,N
pである。
【0046】
上述の線形近似パルス抽出方法により、パルス応答を抽出できる。
図3は、左側に右側のもの比較して相対的に短いチャネルを通過した信号からのパルス応答を示し、右側に左側のものと比較して相対的に長いチャネルを通過した信号からのパルス応答を示す。
図4は、左側に右側のもの比較して相対的に短いチャネルを通過した信号の対応する波形を示し、右側に左側のものと比較して相対的に長いチャネルを通過した信号の対応する波形を示す。長いチャネルを通る信号からのパルス応答は、短いチャネルを通る信号からのパルス応答よりも低いメイン・カーソルh
0及び長い減衰を有する。これは、シンボル間干渉(ISI)が、より大きなことを示す。その結果として、
図5は、左側に右側のもの比較して相対的に短いチャネルを通る信号のアイ・ダイアグラム、右側に左側のものと比較して相対的に長いチャネルを通る信号のアイ・ダイアグラムを示しているが、右側のアイ・ダイアグラムの方が、アイがより閉じる傾向を示すこととなる。
【0047】
ここで、h
i(i=1,2,… ,N
p)がポスト(post:後の)カーソルを示すとして、これらポスト・カーソルが、後続のシンボルにどのように影響し、アイが閉じる現象(eye closure:アイ・クロジャー)を引き起こすかを検討すると、アイ開口部(eye opening)最適化問題は、次の数式3に示す最適化問題(3)に変換できる。
上述の制約条件(1)及び(2)があるときに
【数3】
【0048】
制約条件(2)の重み付けパラメータから、パラメータの集合Kを定義でき、このとき、
K=[1 1 0.85 0.60 0.25 0.10 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05]
である。これにより、制約条件(2)を次のように書き直すことができる。
【数C1】
【0049】
ここで、c
i=|d
i|と置くと、数式3に示す最適化問題(3)は、次の数式4に示す最適化問題(4)に変換される。
【数4】
【0050】
最適化問題(4)には、以下の数式5、6及び7で夫々示される制約条件(5)、(6)及び(7)がある。
[数式5]
c
1<0.55×h
0 (5)
【数6】
[数式7]
0≦c
i≦|h
i| (7)
【0051】
ある1つのインデックスjについて、k
jが、k
i(ここで、i∈[1 N])の残りの部分以下となるように選択できる。このインデックスjを得る工程は、k
iを並べ替えることによって実行できる。
【数8】
この不等式8は、最適化コスト関数Jと制約関数Gとを結びつけることに注意してください。C
jに関する最適値は、次の通りである。
【数9】
j=1の場合では、次のように、制約条件(5)も考慮する必要がある。
【数10】
なお、min関数は、引数の最小の値を返す。
【0052】
例として、パラメータの集合Kの第6項が、現在のところ、最小値であるとする。これは、jを6に設定するので、上記の式では、kj=k6となる。jの値は1ではないので、この処理は、数式9を使用してc6の値を決定する。値ciの全ては、0に初期化される。これにより、最小値であるc6の値は、(0.85×h0)/k6、又は、パルス応答h6の絶対値のどちらか小さい方となる。これは、ci項の全てが最初ゼロなので、和の項がゼロだからである。この結果、最小値として最初の項(0.85×h0)/k6の値、又は、パルス応答h6の絶対値が得られる。この項を集合ciに入れたら、パラメータの集合K内の次に最も小さい値を使用して、集合ciがいっぱいになるまで、このプロセスが繰り返されるが、j=1のときは、数式10が使用される。
【0053】
集合ciが完成すると、DFEタップ値は次のように決定できる。
[数式11]
di=sign(hi)×ci i=1,2,…,N (11)
なお、sign関数は、値の符号を返す。
【0054】
要約すると、この方法には、イコライザへの入力波形からパルス応答を計算して、h0及びhiの両方を見つける処理があり、ここでiはタップ数に対応する。パルス応答hiの集合、値ciの集合、及びパラメータの集合は、全て同じ数の成分(elements)を有する。これらは、各集合の対応するものと呼ぶことにする。
【0055】
本発明のやり方を説明するのに使用される特定の実施形態では、iは1~Npである。集合の値ciの全ては、ゼロに初期化される。インデックスjは、パラメータの集合Kの中で最も低いもののうち、現在の最小値を選択するために使用され、ここでjは、パラメータの集合Kの中の最小の項のインデックス又は位置である。値の集合中の各値がわかると、各パラメータは1回だけ使用されるので、パラメータの集合内の現在の最も低いパラメータが、次に低いパラメータへと立ち位置を変化させる。
【0056】
次いで、このプロセスは、数式9又は数式10のいずれかに従ってcjの値を決定する。PCIe第6世代(Gen6)の与えられたパラメータの集合において、最初の項を最小値と決定する場合、最初の項が0.85であることを意味することに注意してください。次に、この第1項にメイン・パルス応答h0を乗算して積を得る。次に、パラメータの集合内の各パラメータkiに値ciの集合中の各値を掛けたものの合計を、現在の最小のパラメータkjで割り算したものが、先の積から減算される。最小値は、この値と、対応するパルス応答hiの絶対値との中から選ばれる。j=1の場合では、最小値を選択する候補となる値として、更に「0.55掛けるメイン・パルス応答h0」の付加的な項も含まれる。この値は、上述の最初の制約条件(数式1に示す)であるdi/h0<0.55に由来する。
【0057】
図6は、長い方のチャネルについて得られるDFEタップを示す。
図7は、左側に、長い方のチャネルを通る信号に対してDFEを適用した後の信号のパルス応答を示す。ポスト・カーソルh
iは、複数のシンボルのサンプル位置でゼロに近く押されていることに注意してください。
図7の右側は、長い方のチャネルを通る信号にDFEを適用した後の波形であり、DFEがシンボル間干渉(ISI)の影響を低減することを示している。
図8は、長い方のチャネルを通る信号にDFEを適用した後のアイ・ダイアグラムを示し、
図5の右側のアイ・ダイアグラムと比較し、DFEによって、アイ・ダイアグラムのアイが開くことが示されている。
【0058】
上述では、PCIe第6世代(Gen6)を、タップ制約条件という問題のあるDFEタップの最適化処理の陽解法(explicit solution)を説明するのに使用している。しかし、この方法は、タップの制約条件という問題を伴う様々なDFEタップの最適化に適用できる。アプリケーションによっては、ユニット・インターバル(UI)中の水平サンプルの位置を調整しても良い。この場合、メイン・カーソルh0を、メイン・カーソル内のユニット・インターバル中で可能な異なるサンプル位置で選択し、測定しても良い。この陽解法は、水平サンプル位置のそれぞれに対してDFEタップの最適化を実行するのに使用できる。陽解法の数式9及び10では、制約条件(5)及び(6)が厳密には「<」であるところ、その代わりに「≦」を使用している。厳密な制約条件を満たすためには、数式9及び10中のh0に、小さな負の値εを加えても良い。
【0059】
本開示技術の態様は、特別に作成されたハードウェア、ファームウェア、デジタル・シグナル・プロセッサ又はプログラムされた命令に従って動作するプロセッサを含む特別にプログラムされた汎用コンピュータ上で動作できる。本願における「コントローラ」又は「プロセッサ」という用語は、マイクロプロセッサ、マイクロコンピュータ、ASIC及び専用ハードウェア・コントローラ等を意図する。本開示技術の態様は、1つ又は複数のコンピュータ(モニタリング・モジュールを含む)その他のデバイスによって実行される、1つ又は複数のプログラム・モジュールなどのコンピュータ利用可能なデータ及びコンピュータ実行可能な命令で実現できる。概して、プログラム・モジュールとしては、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み、これらは、コンピュータその他のデバイス内のプロセッサによって実行されると、特定のタスクを実行するか、又は、特定の抽象データ形式を実現する。コンピュータ実行可能命令は、ハードディスク、光ディスク、リムーバブル記憶媒体、ソリッド・ステート・メモリ、RAMなどのコンピュータ可読記憶媒体に記憶しても良い。当業者には理解されるように、プログラム・モジュールの機能は、様々な実施例において必要に応じて組み合わせられるか又は分散されても良い。更に、こうした機能は、集積回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)などのようなファームウェア又はハードウェア同等物において全体又は一部を具体化できる。特定のデータ構造を使用して、本開示技術の1つ以上の態様をより効果的に実施することができ、そのようなデータ構造は、本願に記載されたコンピュータ実行可能命令及びコンピュータ使用可能データの範囲内と考えられる。
【0060】
開示された態様は、場合によっては、ハードウェア、ファームウェア、ソフトウェア又はこれらの任意の組み合わせで実現されても良い。開示された態様は、1つ以上のプロセッサによって読み取られ、実行され得る1つ又は複数のコンピュータ可読媒体によって運搬されるか又は記憶される命令として実現されても良い。そのような命令は、コンピュータ・プログラム・プロダクトと呼ぶことができる。本願で説明するコンピュータ可読媒体は、コンピューティング装置によってアクセス可能な任意の媒体を意味する。限定するものではないが、一例としては、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体を含んでいても良い。
【0061】
コンピュータ記憶媒体とは、コンピュータ読み取り可能な情報を記憶するために使用することができる任意の媒体を意味する。限定するものではないが、例としては、コンピュータ記憶媒体としては、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、電気消去可能プログラマブル読み出し専用メモリ(EEPROM)、フラッシュメモリやその他のメモリ技術、コンパクト・ディスク読み出し専用メモリ(CD-ROM)、DVD(Digital Video Disc)やその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置やその他の磁気記憶装置、及び任意の技術で実装された任意の他の揮発性又は不揮発性の取り外し可能又は取り外し不能の媒体を含んでいても良い。コンピュータ記憶媒体としては、信号そのもの及び信号伝送の一時的な形態は除外される。
【0062】
通信媒体とは、コンピュータ可読情報の通信に利用できる任意の媒体を意味する。限定するものではないが、例としては、通信媒体には、電気、光、無線周波数(RF)、赤外線、音又はその他の形式の信号の通信に適した同軸ケーブル、光ファイバ・ケーブル、空気又は任意の他の媒体を含んでも良い。
【0063】
加えて、本願の記述は、特定の特徴に言及している。本明細書における開示には、これらの特定の特徴の全ての可能な組み合わせが含まれると理解すべきである。ある特定の特徴が特定の態様又は実施例に関連して開示される場合、その特徴は、可能である限り、他の態様及び実施例との関連においても利用できる。
【0064】
また、本願において、2つ以上の定義されたステップ又は工程を有する方法に言及する場合、これら定義されたステップ又は工程は、状況的にそれらの可能性を排除しない限り、任意の順序で又は同時に実行しても良い。
実施例
【0065】
以下では、本願で開示される技術の理解に有益な実施例が提示される。この技術の実施形態は、以下で記述する実施例の1つ以上及び任意の組み合わせを含んでいても良い。
【0066】
実施例1は、通信リンクを等化処理する方法であって、係数の必要な個数に等しい係数の個数を設定する処理と、上記係数の個数よりも多い、波形に関するパルス応答の個数を決定する処理と、上記係数の個数と同じ個数の値の集合中の全ての値をゼロに設定する処理と、上記値の集合中の全ての値が割り当てられるまで、所与のパラメータの集合中の現在の最小のパラメータを決定する処理と、上記パラメータの集合中の上記現在の最小のパラメータの位置をインデックスとして使用する処理と、上記パラメータの集合中の最初の項にメイン・パルス応答を乗算したものから、上記パラメータの集合中のパラメータの夫々に上記値の集合中の値の夫々を乗算したものの合計を引き算したものを、上記現在の最小のパラメータで割り算したものと、対応するパルス応答との中から最小値を決定する処理と、上記パラメータの集合中の上記現在の最小のパラメータと同じ位置にある上記値の集合中の値に上記最小値を割り当てる処理とを繰り返す処理と、上記値の集合中の値の夫々に、上記パルス応答中の対応するパルス応答の符号を掛け算することによって、係数の集合中の係数の夫々の値を決定する処理と、上記係数の個数と同じ個数のタップを有し、該タップの夫々が対応する上記係数に基づく値を有するイコライザを定義する処理と、上記通信リンクを通して受ける波形に上記イコライザを適用して、等化処理された波形を生成する処理とを具える。
【0067】
実施例2は、実施例1の方法であって、パルス応答の個数を決定する処理は、線形近似パルス応答抽出方法を利用する。
【0068】
実施例3は、実施例1又は2の方法であって、所与のパラメータの集合は、イコライザについての必要な制約条件から得られる。
【0069】
実施例4は、実施例1~3のいずれかの方法であって、上記インデックスが1に等しい場合、最小値を決定する処理は、メイン・パルス応答に基づく付加的な項も考慮して最小値を決定する。
【0070】
実施例5は、実施例4の方法であって、付加的な項は、イコライザについてのイコライザ・タップの制約条件に基づいている。
【0071】
実施例6は、実施例1~5のいずれかの方法であって、通信リンクは、PCIe Gen6及びUSBのいずれかを含む。
【0072】
実施例7は、実施例1~5のいずれかの方法であって、必要な係数の個数が16である。
【0073】
実施例8は、コンピューティング装置であって、高速通信リンクへのインタフェースと、プログラムを実行するよう構成される1つ以上のプロセッサとを具え、上記プログラムが実行されると上記1つ以上のプロセッサが、係数の必要な個数に等しい係数の個数を設定する処理と、上記係数の個数よりも多い、波形に関するパルス応答の個数を決定する処理と、上記係数の個数と同じ個数の値の集合中の全ての値をゼロに設定する処理と、上記値の集合中の全ての値が割り当てられるまで、所与のパラメータの集合中の現在の最小のパラメータを決定する処理と、上記パラメータの集合中の上記現在の最小のパラメータの位置をインデックスとして使用する処理と、上記パラメータの集合中の最初の項にメイン・パルス応答を乗算したものから、上記パラメータの集合中のパラメータの夫々に上記値の集合中の値の夫々を乗算したものの合計を引き算したものを、上記現在の最小のパラメータで割り算したものと、対応するパルス応答との中から最小値を決定する処理と、上記パラメータの集合中の上記現在の最小のパラメータと同じ位置にある上記値の集合中の値に上記最小値を割り当てる処理とを繰り返す処理と、上記値の集合中の値の夫々に、上記パルス応答中の対応するパルス応答の符号を掛け算することによって、係数の集合中の係数の夫々の値を決定する処理と、上記係数の個数と同じ個数のタップを有し、該タップの夫々が対応する上記係数に基づく値を有するイコライザを定義する処理と、上記通信リンクを通して受ける波形に上記イコライザを適用して、等化処理された波形を生成する処理とを行う。
【0074】
実施例9は、実施例8のコンピューティング装置であって、1つ以上のプロセッサにパルス応答の個数を決定させるプログラムは、1つ以上のプロセッサに線形近似パルス応答抽出方法を使用させるプログラムを含む。
【0075】
実施例10は、実施例8又は9のコンピューティング装置であって、所与のパラメータの集合は、イコライザについての必要な制約条件から得られる。
【0076】
実施例11は、実施例8~10のいずれかのコンピューティング装置であって、1つ以上のプロセッサに最小値を決定させるプログラムは、インデックスが1に等しい場合、メイン・パルス応答に基づく付加的な項を考慮して最小値を決定させるプログラムを含む。
【0077】
実施例12は、実施例11のコンピューティング装置であって、上記付加的な項は、イコライザについてのイコライザ・タップの制約条件に基づいている。
【0078】
実施例13は、実施例8~12のいずれかのコンピューティング装置であって、上記通信リンクは、PCIe Gen6及びUSBのうちの1つを含む。
【0079】
実施例14は、実施例8~13のいずれかのコンピューティング装置であって、必要な係数の個数は、16である。
【0080】
実施例15は、通信リンク用の16タップのイコライザを最適化する方法であって、16よりも多い、波形に関するパルス応答の個数を決定する処理と、16個の値の集合中の全ての値をゼロに設定する処理と、上記値の集合中の16個の値全てが割り当てられるまで、所与の16個のパラメータの集合中の現在の最小のパラメータを決定する処理と、上記パラメータの集合中の上記現在の最小のパラメータの位置をインデックスとして使用する処理と、上記パラメータの集合中の最初の項にメイン・パルス応答を乗算したものから、上記パラメータの集合中のパラメータの夫々に上記値の集合中の値の夫々を乗算したものの合計を引き算したものを、上記現在の最小のパラメータで割り算したものと、対応するパルス応答との中から最小値を決定する処理と、上記パラメータの集合中の上記現在の最小のパラメータと同じ位置にある上記値の集合中の値に上記最小値を割り当てる処理とを繰り返す処理と、上記値の集合中の値の夫々に、上記パルス応答中の対応するパルス応答の符号を掛け算することによって、係数の集合中の係数の夫々の値を決定する処理とを具える。
【0081】
実施例16は、実施例15の方法であって、パルス応答の個数を決定する処理は、線形近似パルス応答抽出方法を使用することを含む。
【0082】
実施例17は、実施例15又は16の方法であって、最小値を決定する処理は、インデックスが1に等しい場合、メイン・パルス応答に基づく付加的な項を考慮して最小値を決定する処理を含む。
【0083】
実施例18は、実施例15~17のいずれかの方法であって、所与のパラメータの集合は、イコライザに対する必要な制約条件から得られる。
【0084】
実施例19は、実施例15~18のいずれかの方法であって、所与のパラメータの集合が、[1 1 0.85 0.60 0.25 0.10 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05]を含む。
【0085】
実施例20は、実施例15~19のいずれかの方法であって、各タップが対応する係数に基づく値を有する16タップのイコライザを定義する処理と、上記通信リンクを介して受信した波形に上記イコライザを適用して等化処理された波形を生成する処理とを更に具える。
【0086】
明細書、要約書、特許請求の範囲及び図面に開示される全ての機能、並びに開示される任意の方法又はプロセスにおける全てのステップは、そのような機能やステップの少なくとも一部が相互に排他的な組み合わせである場合を除いて、任意に組み合わせることができる。明細書、要約書、特許請求の範囲及び図面に開示される機能の夫々は、特に明記されない限り、同じ、等価、又は類似の目的を果たす代替の機能によって置き換えることができる。
【0087】
説明の都合上、本発明の具体的な実施形態を図示し、説明してきたが、本開示の要旨と範囲から離れることなく、種々の変更が可能なことが理解できよう。従って、本発明は、添付の請求項以外では、限定されるべきではない。
【符号の説明】
【0088】
10 コンピューティング装置
12 プローブ
14 被試験デバイス(DUT)
16 アクイジション・システム
18 メモリ
20 プロセッサ
22 ディスプレイ
24 ユーザ・インタフェース
30 加算ノード
32 判定機能
34 遅延ブロック
36 DFEタップ
38 加算部