以下、添付図面を参照して、本発明を実施するための形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。本発明は、これらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
初めに、データ列の信号波形(特にアイ・パターン(Eye Pattern))、SSLMSの概要およびSSLMSの問題点について説明する。その後に、実施形態のイコライザ調整装置、イコライザ調整方法、受信機および送受信システムについて説明する。
図1は、信号波形のアイ・パターン等について説明する図である。受信機に到達するデータ列の信号波形は、送信機から伝送路へ送出されるデータ列の信号波形と伝送路のシングル・ビット・レスポンス(図1(a))との畳み込み積分で表され、伝送路の周波数特性に応じたアイ・パターン(図1(b))を有する。図中で、P0は、伝送路のシングル・ビット・レスポンス(Single Bit Response)のピーク値を表し、P1は、そのピークから1ユニット・インターバル(UI: Unit Interval)後の値を表し、Δは、P0およびP1を除いてUIの整数倍だけ離れたところでの値の和を示す。
受信機に到達するデータ列の各ビットの期間の中心時刻における電圧値の頻度解析を行うことにより、該電圧値のヒストグラム(図1(c))が得られる。図1(c)は、各ビットの期間の中心時刻における電圧値がHレベルに相当する場合について該電圧値のヒストグラムを示している。以降の図に示されるヒストグラムも同様である。図1(c)のヒストグラムは、1つ前のビット(以下「前回ビット」という。)のデータがHレベルであった場合(図中で「前回H」と表記)と、前回ビットのデータがLレベルであった場合(図中で「前回L」と表記)とに区分されている。前回Hのヒストグラムは(P0+P1)±Δの範囲にあり、前回Lのヒストグラムは(P0-P1)±Δの範囲にある。
このようなヒストグラムは、アイ・パターンにおけるアイ開口(EO: Eye Opening)へのイコライザの影響を理解する上で有用である。イコライザの周波数特性を適切に設定することにより、イコライザから出力されるデータ列の信号波形のアイ開口を大きくすることができ、これによりビットエラーレートを小さくすることができる。
図2は、イコライザの設定とアイ開口との関係を説明する図である。ここでは、イコライザとして1タップのDFEを想定し、タップ係数をC1とする。図2(a)は、C1=0の場合(または、イコライザを用いていない場合)のヒストグラムを示す。アイ開口EOの大きさは、EO=P0-P1-Δなる式で表される。
図2(b)は、0<C1<P1である場合のヒストグラムを示す。図2(a)と比較すると、図2(b)では、前回Hのヒストグラムと前回Lのヒストグラムとは互いに近づいてきている。このときのアイ開口EOの大きさは、EO=P0-(P1―C1)-Δ なる式で表され、図2(a)の場合より大きい。
図2(c)は、C1=P1である場合のヒストグラムを示す。このとき、前回Hのヒストグラムと前回Lのヒストグラムとは互いに同じ範囲にあり、アイ開口EOの大きさは、EO=P0-Δなる式で表される。
図2(d)は、C1>P1である場合のヒストグラムを示す。図2(a),(b)と比較すると、図2(d)では、前回Hのヒストグラムと前回Lのヒストグラムとは上下関係が逆転している。このときのアイ開口EOの大きさは、EO=P0-(P1―C1)-Δ なる式で表される。
図2から分かるように、C1=P1に設定したときにアイ開口は最大となる。1タップのDFEは、前回Hであったビットの電圧値をC1だけ下げて現在のビットの電圧値に加算し、前回Lであったビットの電圧値をC1だけ上げて現在のビットの電圧値に加算する。1タップのDFEだけでなく複数タップのDFEおよび他のタイプのイコライザの何れも、ゲインを調整して、前回Hのヒストグラムおよび前回Lのヒストグラムの双方を含む全体のヒストグラムの最低レベルを大きくすることで、アイ開口の最大化を図る。SSLMS等のイコライザ調整アルゴリズムは、イコライザから出力されるデータ列の信号波形のアイ開口を最大化するようにイコライザのゲインを自動的に設定するものである。
図3は、SSLMSによるイコライザ調整を説明する図である。SSLMSによるイコライザ調整に際しては、前回ビットのデータがHレベルおよびLレベルの何れであるか、ならびに、イコライザから出力される現在ビットのデータVの電圧値がP0より大きいか否か、の情報が用いられる。或る期間において、前回HであってV>P0である現在ビットの割合をNH+(%)とし、前回HであってV<P0である現在ビットの割合をNH-(%)とし、前回LであってV>P0である現在ビットの割合をNL+(%)とし、前回LであってV<P0である現在ビットの割合をNL-(%)とする。図3には、これらNH+、NH-、NL+、NL-の各数値が示されている。
SSLMSによるイコライザ調整では、或る期間において求められたNH+、NH-、NL+、NL-の各数値から、N=(NH++NL-)-(NH-+NL+)を計算する。そして、N>0であればC1を大きくし、N<0であればC1を小さくし、N=0であればC1を維持する。図3(a)ではN=100であるのでC1を大きくする。図3(b)ではN=60であるのでC1を大きくする。図3(c)ではN=0であるのでC1を維持する。図3(d)ではN=-20であるのでC1を小さくする。このような調整により、図3(c)に示されるように、自動的にイコライザのC1がP1に設定されて、イコライザから出力されるデータ列の信号波形のアイ開口が最大化される。
従来のイコライザ調整アルゴリズムであるSSLMSは、データ列が自己相関を有しない場合には、イコライザの周波数特性を最適なものとすることができる。しかし、従来のSSLMSは、データ列が自己相関を有する場合には、イコライザの周波数特性を最適なものとすることができない。図4,図5を用いてデータ列の自己相関について説明する。
図4は、自己相関を有しないデータ列を説明する図である。自己相関を有しないデータ列では、前回ビットの論理値に依らず、現在ビットの論理値はHレベルおよびLビットが同頻度で出現する。すなわち、或るビットがHレベルおよびLレベルの何れであっても、次のビットではHレベルおよびLレベルそれぞれが50%の頻度で出現する。以降のビットでも同様である。この場合、前回Hのヒストグラムおよび前回Lのヒストグラムそれぞれの形状は長方形で表すことができる。
図5は、自己相関を有するデータ列を説明する図である。自己相関を有するデータ列では、前回ビットの論理値に依存して(また、更に前のビットの論理値に依存して)、現在ビットの論理値はHレベルおよびLビットが異なる頻度で出現する。この図に示される例では、或るビットがHレベルであったとき、次のビットは、Hレベルである頻度が40%であり、Lレベルである頻度が60%である。更に後のビットの論理値のレベルの頻度も、それまでのビットの論理値のレベルの履歴に依存する。この場合、前回Hのヒストグラムおよび前回Lのヒストグラムそれぞれの形状は台形で表すことができる。自己相関を有するデータ列の例として、或るビットの論理値がH(L)レベルであるとき、そのビットの直前または直後のビットの論理値がL(H)レベルである頻度が高いものが挙げられる。
図6は、データ列が自己相関を有する場合におけるSSLMSによるイコライザ調整を説明する図である。この図では、前回Hが40%であって、前回Lが60%であるとしている。NH+、NH-、NL+、NL-の各数値からN=(NH++NL-)-(NH-+NL+)を計算すると、図6(a)ではN=100であるのでC1を大きくする。図6(b)ではN=40であるのでC1を大きくする。図6(c)ではN=0であるのでC1を維持する。図6(d)ではN=-40であるのでC1を小さくする。
データ列が自己相関を有する場合、このような調整により、イコライザは図6(c)に示される状態に設定される。しかし、アイ開口EOが最大となるのは、図6(c)の状態(C1<P1)のときではなく、前回Hのヒストグラムおよび前回Lのヒストグラムの双方を含む全体のヒストグラムの最低レベルが最大となる図6(d)の状態(C1=P1)のときである。このように、データ列が自己相関を有する場合、従来のSSLMSは、イコライザの周波数特性を最適なものとすることができず、アイ開口を最大とすることができない。
実際の送受信システムにおいて送信機から送出されるデータ列は自己相関を有する場合が多い。例えば、送信機において符号化したデータ列を送出し、受信機において受信したデータ列を復号化することが行われる。そのときに用いられる符号化技術の例として8b10bが挙げられる。符号化前のデータ列が自己相関を有していなくても、符号化後のデータ列は、自己相関を有し、Hレベルのビットの前後のビットがLレベルである頻度が大きい。したがって、受信機に到達するデータ列が符号化されたものである場合、従来のSSLMSは、イコライザの周波数特性を最適なものとすることができず、アイ開口を最大とすることができない。
以下に説明する実施形態のイコライザ調整装置およびイコライザ調整方法は、新規なイコライザ調整アルゴリズムに基づく。本実施形態のイコライザ調整装置およびイコライザ調整方法は、受信機に到達するデータ列が符号化されたものである場合であっても、すなわち、データ列が自己相関を有する場合であっても、従来のイコライザ調整アルゴリズムと比べて、イコライザの周波数特性をより良好なものとすることができ、アイ開口をより大きくすることができる。
図7は、本実施形態の送受信システム1の構成を示す図である。送受信システム1は、送信機11と受信機12とが伝送路13を介して接続された構成を有する。送信機11は、データ列を伝送路13へ出力する。受信機12は、送信機11から出力されて伝送路13を経て到達したデータ列を入力する。
受信機12は、イコライザ21、サンプラ22およびイコライザ調整装置23を備える。イコライザ21は、受信機12に到達したデータ列Vinを入力し、その入力したデータ列の周波数特性を調整して当該調整後のデータ列をサンプラ22へ出力する。サンプラ22は、イコライザ21から出力されるデータ列を入力し、その入力したデータ列の各ビットについて該ビットの電圧値Voutと基準値とを大小比較して、その比較の結果に応じた論理値DatSMPを出力する。サンプラ22における基準値は、一定であり、例えば0Vである。サンプラ22は、電圧値Voutが基準値より大きいときに論理値DatSMPとしてHレベルを出力し、電圧値Voutが基準値より小さいときに論理値DatSMPとしてLレベルを出力する。イコライザ調整装置23は、イコライザ21から出力されるデータ列の電圧値Voutを入力するとともに、サンプラ22から出力される論理値DatSMPを入力して、これら入力した電圧値Voutおよび論理値DatSMPに基づいてイコライザ21のゲインGを調整する。
送信機11は、符号化したデータ列を出力してもよく、この場合、受信機12は、サンプラ22から出力される論理値列DatSMPを復号化して、符号化前のデータ列を取得する。また、送信機11は、クロックを埋め込んだデータ列を出力してもよく、この場合、受信機12は、CDR(Clock Data Recovery)技術によりクロックおよびデータを復元する。
図8は、本実施形態のイコライザ調整装置23の構成を示す図である。この図には、イコライザ21およびサンプラ22も示されている。イコライザ調整装置23は、比較部31、不一致計数部32、エラー計数部33、ビット計数部34および調整部35を備える。
比較部31は、イコライザ21から出力されるデータ列の各ビットについて、該ビットの電圧値Voutと閾値MonLVLとを大小比較して、その比較の結果に応じた論理値MonSMPを不一致計数部32へ出力する。比較部31は、電圧値Voutが閾値MonLVLより大きいときに論理値MonSMPをHレベルとして出力し、電圧値Voutが閾値MonLVLより小さいときに論理値MonSMPをLレベルとして出力する。閾値MonLVLは、可変であり、調整部35により設定される。
ビット計数部34は、サンプラ22から出力される論理値DatSMPを入力して、その論理値DatSMPのうちHレベルおよびLレベルの何れか一方のビットを期間毎に計数する。ビット計数部34は、計数値DCNTを調整部35へ出力する。
不一致計数部32は、イコライザ21から出力されるデータ列の各ビットについて、サンプラ22から該ビットの電圧値Voutと基準値との大小比較の結果に応じて出力される論理値DatSMPと、比較部31から該ビットの電圧値Voutと閾値MonLVLとの大小比較の結果に応じて出力される論理値MonSMPとを入力する。そして、不一致計数部32は、これら論理値DatSMPと論理値MonSMPとが互いに異なる事象を期間毎に計数する。不一致計数部32は、計数値XCNTを調整部35へ出力する。
比較部31における閾値MonLVLがサンプラ22における基準値より大きい場合、不一致計数部32は、サンプラ22に入力される各ビットの電圧値Voutが基準値より大きいときにサンプラ22から出力される論理値DatSMPを入力した場合に選択的に計数動作を行う。この場合、ビット計数部34は、論理値DatSMPがHレベルであるビットを選択的に計数し、不一致計数部32は、論理値DatSMPがHレベルであって論理値MonSMPがLレベルである事象を計数する。以下では、この場合について説明する。
逆に、比較部31における閾値MonLVLがサンプラ22における基準値より小さい場合、不一致計数部32は、サンプラ22に入力される各ビットの電圧値Voutが基準値より小さいときにサンプラ22から出力される論理値DatSMPを入力した場合に選択的に計数動作を行う。この場合、ビット計数部34は、論理値DatSMPがLレベルであるビットを選択的に計数し、不一致計数部32は、論理値DatSMPがLレベルであって論理値MonSMPがHレベルである事象を計数する。
エラー計数部33は、サンプラ22から出力される論理値DatSMPを入力し、当該論理値列中のエラーを検出した事象を期間毎に計数する。例えば、入力されるデータ列が符号化されたものであれば、エラー計数部33は、そのデータ列が符号化の規約を満たしているか否かを判断して、規約を満たしていないときに論理値列中にエラーがあると判定する。エラー計数部33は、計数値ECNTを調整部35へ出力する。
サンプラ22および比較部31は、クロックCLKが指示するタイミングで大小比較動作を行う。不一致計数部32、エラー計数部33およびビット計数部34は、クロックCLKが指示するタイミングで計数値を更新するか否かの判断を行う。このクロックCLKは、入力されたデータ列から復元されたクロックであってもよい。不一致計数部32、エラー計数部33およびビット計数部34それぞれは、調整部35から与えられるリセット信号RST が指示するタイミングで計数値を0に初期化する。
調整部35は、不一致計数部32から出力される計数値XCNT、エラー計数部33から出力される計数値ECNT、および、ビット計数部34から出力される計数値DCNTを入力する。調整部35は、計数値DCNTが所定値DATCNTに達したと判断したときに、不一致計数部32、エラー計数部33およびビット計数部34それぞれの計数値を0に初期化するリセット信号RSTを出力する。所定値DATCNTは、任意の値に設定することができる。
なお、調整部35は、計数値DCNTによらず、初期化するためのリセット信号RSTを一定時間間隔で出力してもよい。この場合にはビット計数部34は設けられなくてもよい。調整部35は、前回初期化タイミングから今回初期化タイミングまでの期間における不一致計数部32による計数値XCNTおよびエラー計数部33による計数値ECNTに基づいて、次のような処理を行う。
計数値XCNTが0であるとき、調整部35は、比較部31における閾値MonLVLを、サンプラ22における基準値との差が大きくなる方向(つまり、+方向)に調整する。この閾値MonLVLの調整量は一定値であってもよい。逆に、計数値XCNTが0でないとき、調整部35は、計数値XCNTおよび計数値ECNTに基づいてイコライザ21のゲインGを調整する。このゲインGの調整量も一定値であってもよい。
なお、サンプラ22から出力される論理値列中にエラーが無い場合(つまり、計数値ECNT=0の場合)が続く送受信システムにおいては、調整部35は計数値ECNTを考慮する必要はなく、エラー計数部33は設けられなくてもよい。
本実施形態のイコライザ調整装置23は、期間毎に不一致計数部32(およびエラー計数部33)による計数動作ならびに調整部35による調整動作を行うことで、イコライザ21の周波数特性をより良好なものとすることができ、アイ開口をより大きくすることができる。
また、本実施形態のイコライザ調整方法は、期間毎に計数ステップおよび調整ステップを行うことで、イコライザ21の周波数特性をより良好なものとすることができ、アイ開口をより大きくすることができる。計数ステップでは、不一致計数部32等が前述の計数動作を行い、調整ステップでは、各計数値に基づいて調整部35が前述の調整動作を行う。
すなわち、計数ステップでは、サンプラ22から出力される論理値DatSMPのうちHレベルおよびLレベルの何れか一方のビットを、ビット計数部34により期間毎に計数する。サンプラ22から出力される論理値DatSMPと比較部31から出力される論理値MonSMPとが互いに異なる事象を、不一致計数部32により期間毎に計数する。また、サンプラ22から出力される論理値列中のエラーを検出した事象を、エラー計数部33により期間毎に計数する。
調整ステップでは、不一致計数部32から出力される計数値XCNT、エラー計数部33から出力される計数値ECNT、および、ビット計数部34から出力される計数値DCNTに基づいて、調整部35により調整動作を行う。計数値XCNTが0であるとき、調整部35により、比較部31における閾値MonLVLを、サンプラ22における基準値との差が大きくなる方向(つまり、+方向)に調整する。逆に、計数値XCNTが0でないとき、調整部35により、計数値XCNTおよび計数値ECNTに基づいてイコライザ21のゲインGを調整する。
図9は、本実施形態における調整部35または調整ステップの処理内容をステートマシンで説明する図である。調整部35による調整ステップの処理は、ステートSt1~St6を有する。
他のステートSt4~St6の何れかからステートSt1に遷移すると、調整部35は、初めに、不一致計数部32、エラー計数部33およびビット計数部34それぞれの計数値を0に初期化するリセット信号RSTを出力する。ステートSt1では、その後、不一致計数部32から出力される計数値XCNT、エラー計数部33から出力される計数値ECNT、および、ビット計数部34から出力される計数値DCNTを入力する。そして、調整部35は、計数値DCNTが所定値DATCNTに達したか否かを判断する。計数値DCNTが所定値DATCNTに達するまでステートSt1に留まる。計数値DCNTが所定値DATCNTに達すると、そのときの計数値XCNTおよび計数値ECNTを保持して、ステートSt1からステートSt2へ遷移する。
ステートSt2では、調整部35は、不一致計数部32による計数値XCNTが0であるか否かを判定する。計数値XCNTが0である場合にはステートSt2からステートSt4へ遷移する。計数値XCNTが0でない場合にはステートSt2からステートSt3へ遷移する。
ステートSt3では、調整部35は、エラー計数部33による計数値ECNTが0であるか否かを判定する。計数値ECNTが0である場合にはステートSt3からステートSt5へ遷移する。計数値ECNTが0でない場合にはステートSt3からステートSt6へ遷移する。
ステートSt4は、XCNT=0であるときに遷移するステートである。ステートSt4では、調整部35は、比較部31における閾値MonLVLを、サンプラ22における基準値との差が大きくなる方向(つまり、+方向)に調整する。調整部35は、その調整後の閾値MonLVLを比較部31に与える。その後、ステートSt1へ戻る。
ステートSt5は、XCNT≠0かつECNT=0であるときに遷移するステートである。ステートSt5では、調整部35は、計数値XCNTが小さくなる方向へイコライザ21のゲインGを調整する。すなわち、今回の計数値XCNTが前回の計数値XCNTより減少していればイコライザ21のゲインGの調整方向を前回のまま維持し、今回の計数値XCNTが前回の計数値XCNTより増加していればイコライザ21のゲインGの調整方向を反転する。ただし、例外として、前回の計数値XCNTが0である場合(すなわち、前回はステートSt3で閾値MonLVLを更新した場合)、または、前回の計数値ECNTが0でない場合(すなわち、前回はステートSt6でゲインGを更新した場合)は、計数値XCNTの増減に依らず、イコライザ21のゲインGの調整方向を前回のまま維持する。その後、ステートSt1へ戻る。
ステートSt6は、XCNT≠0かつECNT≠0であるときに遷移するステートである。ステートSt6では、調整部35は、計数値ECNTが小さくなる方向へイコライザ21のゲインGを調整する。すなわち、今回の計数値ECNTが前回の計数値ECNTより減少していればイコライザ21のゲインGの調整方向を前回のまま維持し、今回の計数値ECNTが前回の計数値ECNTより増加していればイコライザ21のゲインGの調整方向を反転する。ただし、例外として、前回の計数値ECNTが0である場合(すなわち、前回はステートSt5でゲインGを更新した場合)は、計数値ECNTの増減に依らず、イコライザ21のゲインGの調整方向を前回のまま維持する。その後、ステートSt1へ戻る。
図10は、本実施形態のイコライザ調整装置またはイコライザ調整方法によるイコライザ調整を説明する図である。この図には、各期間における前回Hのヒストグラムおよび前回Lのヒストグラムに加えて、比較部31における閾値MonLVLが示されている。なお、この図では、計数値ECNTは常に0であるとしている。また、イコライザとして1タップのDFEを想定し、タップ係数をC1とする。
図10(a)では、前回Lのヒストグラムの一部は閾値MonLVLより小さい範囲にある。計数値XCNTは0でない。そこで、次の期間(図10(b))では、閾値MonLVLを維持し、C1を大きくする。
図10(b)でも、前回Lのヒストグラムの一部は閾値MonLVLより小さい範囲にある。計数値XCNTは、前回より少なくなったものの、0ではない。そこで、次の期間(図10(c))では、閾値MonLVLを維持し、C1を更に大きくする。
図10(c)でも、前回Lのヒストグラムの一部は閾値MonLVLより小さい範囲にある。計数値XCNTは、前回より少なくなったものの、0ではない。そこで、次の期間(図10(d))では、閾値MonLVLを維持し、C1を更に大きくする。
図10(d)では、前回Lのヒストグラムおよび前回Hのヒストグラムの双方を含む全体のヒストグラムは閾値MonLVLより大きい範囲にあり、計数値XCNTは0である。そこで、次の期間では、閾値MonLVLを大きくし、C1を維持する。
このように閾値MonLVLまたはC1を調整していくことで、アイ開口EOが次第に大きくなっていく。計数値XCNTを小さくする方向へイコライザ調整を行う方法として、一般的な最適化問題に対する最適化アルゴリズムを適用することができる。その一例として、この最適化問題には最急降下法(Gradient Descent)を適用することができる。
本実施形態のイコライザ調整アルゴリズムでは、比較部31における閾値MonLVLを動的に更新する。閾値MonLVLを更新するタイミングは、計数値XCNTが0になるときである。このときに、閾値MonLVLを大きくして、閾値MonLVLがアイ開口EOより大きい関係を維持するようにする。その後、再度、計数値XCNTを少なくするようにイコライザのゲインを調整する。これらの手続きは、イコライザ調整の過程で閾値MonLVLを常にアイ開口EOより大きくして、最大のアイ開口EOを得るようにイコライザを調整する思想に則っている。
図11も、本実施形態のイコライザ調整装置またはイコライザ調整方法によるイコライザ調整を説明する図である。この図には、各期間における前回Hのヒストグラムおよび前回Lのヒストグラムに加えて、各期間における計数値XCNT、閾値MonLVL、アイ開口EOおよびタップ係数C1が示されている。なお、この図では、計数値ECNTは常に0であるとしている。
この図に示されるように、或る期間における計数値XCNTが0であるときには、その次の期間では閾値MonLVLを大きくする。或る期間における計数値XCNTが0でないときには、その次の期間ではC1を大きくする。このように閾値MonLVLまたはC1を調整していくことで、前回Lのヒストグラムの下限値と前回Hのヒストグラムの下限値との差が次第に小さくなっていき、アイ開口EOが次第に大きくなっていく。
ただし、前回Lのヒストグラムの下限値と前回Hのヒストグラムの下限値との差が殆ど無くなって、アイ開口EOが最大値の付近にまでなると、期間の経過にともない計数値XCNTが増減を繰り返す。このとき、或る閾値MonLVLにおいて、計数値XCNTは極小となり、アイ開口EOは最大となる。このときのC1をイコライザの最適設定値とする。
図12は、データ列が自己相関を有する場合における本実施形態のイコライザ調整装置またはイコライザ調整方法によるイコライザ調整を説明する図である。この図に示されるように、データ列が自己相関を有する場合であっても、図10および図11と同様に、或る期間における計数値XCNTが0であるときには次の期間では閾値MonLVLを大きくし、或る期間における計数値XCNTが0でないときには次の期間ではC1を大きくすることで、アイ開口EOが次第に大きくなっていく。そして、前回Lのヒストグラムの下限値と前回Hのヒストグラムの下限値との差が殆ど無くなって、アイ開口EOが最大値の付近にまでなると、期間の経過にともない計数値XCNTが増減を繰り返す。このとき、或る閾値MonLVLにおいて、計数値XCNTは極小となり、アイ開口EOは最大となる。このときのC1をイコライザの最適設定値とする。
本実施形態のイコライザ調整アルゴリズムは、これまでの説明で想定していた1タップのDFEだけでなく複数タップのDFEにも適用が可能であり、また、他のタイプのイコライザ(例えばCTLE等)にも適用が可能である。本実施形態のイコライザ調整アルゴリズムを複数タップのDFEに適用する場合には、前述の処理をタップ毎に実行する。このとき、低次のタップから順に処理を実行するのが好ましい。また、DFEとCTLEとが直列的に設けられる場合があるが、この場合には、本実施形態のイコライザ調整アルゴリズムによりCLTEの調整を行った後にDFEの調整を行うのが好ましい。
従来のSSLMSは平均二乗誤差を評価関数とするものであった。これに対して、本実施形態のイコライザ調整アルゴリズムは、計数値XCNTを評価関数とし、エラー時には計数値ECNTを評価関数として、アイ開口EOの最大化を図る。本実施形態のイコライザ調整アルゴリズムは、データ列が自己相関を有するか否かに拘わらず、計数値XCNTを小さくすることで、アイ開口EOを最大化することができる。
本実施形態のイコライザ調整アルゴリズムは、特定のトレーニングパターンをイコライザに入力させる必要はない。また、イコライザの初期設定においてアイ開口を或る程度保証することができる場合には、計数値ECNTに基づくイコライザ調整は不要であり、計数値XCNTのみに基づいてイコライザ調整が可能である。
次に、本実施形態のイコライザ調整アルゴリズムについて行ったシミュレーションの結果について説明する。本シミュレーションでは、イコライザとしてCTLEを想定した。図13は、シミュレーション結果を示すグラフである。このグラフは、イコライザのDCゲインG、比較部31における閾値MonLVL、エラー計数部33による計数値ECNT、および、不一致計数部32による計数値XCNTそれぞれの経時変化を示す。なお、ゲインGおよび閾値MonLVLの各数値は任意単位である。横軸は、各期間の時間を単位とする時刻tを表す。図14~図17は、シミュレーションにおいてイコライザから出力されるデータ列の信号波形のアイ・パターンを示す図である。
t=0では、G=0、MonLVL=0、XCNT=0、ECNT≠0である。XCNT=0であるので、次の期間ではMonLVLを大きくする。
t=1では、G=0、MonLVL=1、XCNT≠0、ECNT≠0である。XCNT≠0であるので、次の期間ではGを大きくする。なお、最初にGを変化させるときの変化方向は予め決めておく。以降においてECNTが小さくなればGの変化方向を維持し、逆に、以降においてECNTが大きくなればGの変化方向を反転する。
t=2~6では、MonLVL=1、XCNT≠0、ECNT≠0である。XCNT≠0であって、ECNTが小さくなっていっているので、Gの変化方向を維持して、Gを次第に大きくしていく。
t=7(図14)では、G=12、MonLVL=1、XCNT=0、ECNT=0である。アイ開口が開き始める。XCNT=0であるので、次の期間ではMonLVLを大きくする。
t=8~18では、G=12、XCNT=0、ECNT=0である。XCNT=0であるので、MonLVLを次第に大きくしていく。
t=19では、G=12、MonLVL=13、XCNT≠0、ECNT=0である。XCNT≠0であるので、次の期間ではGを大きくする。
t=20(図15)では、G=14、MonLVL=13、XCNT=0、ECNT=0である。XCNT=0であるので、次の期間ではMonLVLを大きくする。
t=21~25では、G=14、XCNT=0、ECNT=0である。XCNT=0であるので、MonLVLを次第に大きくしていく。
t=26では、G=14、MonLVL=19、XCNT≠0、ECNT=0である。XCNT≠0であるので、次の期間ではGを大きくする。
t=27(図16)では、G=16、MonLVL=19、XCNT=0、ECNT=0である。XCNT=0であるので、次の期間ではMonLVLを大きくする。
t=28~32では、G=16、XCNT=0、ECNT=0である。XCNT=0であるので、MonLVLを次第に大きくしていく。
t=33では、G=16、MonLVL=25、XCNT≠0、ECNT=0である。XCNT≠0であるので、次の期間ではGを大きくする。
t=34(図17)では、G=18、MonLVL=25、XCNT≠0、ECNT=0である。XCNTが前回より大きくなり、これまで増加を続けていたアイ開口が減少に転じる。XCNTが前回より大きくなったので、Gの変化方向を反転して、次の期間ではGを小さくする。
t=35では、G=16、MonLVL=25、XCNT≠0、ECNT=0である。XCNTが前回より小さくなったので、G変化方向を維持して、次の期間でもGを小さくする。
t=36では、G=14、MonLVL=25、XCNT≠0、ECNT=0である。XCNTが前回より大きくなったので、Gの変化方向を反転して、次の期間ではGを大きくする。
以降は、時間の経過にともないGおよびXCNTが増減を繰り返す。G=16のときにXCNTが極小になることから、このG=16をイコライザのゲインの最適設定値とする。
以上のとおり、本実施形態では、データ列が自己相関を有するか否かに拘わらず、計数値XCNTを小さくすることで、イコライザの周波数特性を良好なものとすることができ、アイ開口EOを最大化することができる。