以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
図2は、受信回路の構成の一例を示す図である。図2に示す受信回路20は、サンプリング回路21、加算器22、データ復元回路23、及び符号間干渉値推定ユニット24を含む。この受信回路20はブラインドサンプリング型受信器であり、サンプリング回路21が、受信信号のタイミングに依存しない固定のタイミングのクロック信号を用いて、受信信号をサンプリングしたサンプル値を求める。加算器22は、サンプリング回路21の出力するサンプル値から符号間干渉値の推定値を減算して、サンプル値の補正後の値を求める。データ復元回路23は、サンプル値の補正後の値に基づいて上記クロック信号の受信信号に対する位相位置を示す情報Φavgを求めると共に、受信信号のデータ判定値を求める。例えば、サンプリングして得たデジタルコードの列を補間してゼロクロス点を求めることによりデータの遷移点を求め、このデータの遷移点に基づいてサンプルされたデータを取捨選択し、データ判定値を求める。符号間干渉値推定ユニット24は、データ復元回路23が求めた位相位置を示す情報Φavgに応じて、符号間干渉値の推定値を求め加算器22に供給する。
サンプリング回路21は、アナログの受信信号をサンプル及びホールドすることにより、アナログのサンプル値からなる信号を加算器22に供給してよい。この場合、符号間干渉値推定ユニット24が加算器22に供給する符号間干渉値の推定値はアナログ信号であり、加算器22はアナログ信号同士の加減算を行なうことになる。またデータ復元回路23はアナログ信号であるサンプル値の補正後の値に基づいてデータ復元処理を実行する。この際、例えば最初にサンプル値の補正値をAD変換(アナログからデジタルへの変換)し、その後はデジタル演算を行なうことにより、データ復元処理を実行してよい。またサンプリング回路21は、アナログの受信信号をサンプル及びホールドし、更にAD変換を行なうAD変換回路であってもよい。サンプリング回路21が出力するサンプル値は、量子化されたデジタルのサンプル値である。この場合、符号間干渉値推定ユニット24が加算器22に供給する符号間干渉値の推定値はデジタル信号であり、加算器22はデジタル信号同士の加減算を行なうことになる。またデータ復元回路23はデジタル信号であるサンプル値の補正後の値に基づいてデータ復元処理を実行する。この場合には、演算処理が全てデジタルで実行されるので、プロセスバラツキ等の影響を受けにくい等化処理を実現することができる。
図2において、符号間干渉値推定ユニット24は、データ復元回路23が求めた位相位置を示す情報Φavg及び受信信号のデータ判定値(即ち0又は1の値として判定された受信データ)とに基づいて、符号間干渉値の推定値を求めている。この構成は一例であり、受信回路はこの構成に限定されない。例えば後述するように、符号間干渉値推定ユニット24は、受信信号のデータ判定値を用いることなく、位相位置を示す情報Φavgのみに基づいて符号間干渉値の推定値を求めることもできる。
図3は、符号間干渉値の推定値について説明するための図である。図1で説明したのと同様に、理想パルス信号11を伝送線路に通過させると、理想パルス信号の波形が鈍って、受信側では受信波形(チャネル応答波形)12が観測される。ここで理想パルス信号11は1UIの幅を有するものとする。この理想パルス信号11の1UIの幅に後続する1UIの区間において、この区間を例えば8等分し、各区間を代表するチャネル応答波形12の値を係数値C1A乃至C1Hとする。区間の分割数及び係数値の数は8に限られるものではなく、適宜選択された複数の数とすればよい。具体的には、位相位置を示す情報Φavgのビット数に応じた数としてよい。例えば、位相位置を示す情報Φavgが3ビットで表現される場合、情報Φavgは1UIを8(=23)等分した各位相位置を表現することができる。この場合、上記の係数値の数も8としてよい。
位相位置を示す情報Φavgは、例えば、サンプル値の補正後の値を補間して求めたゼロクロス点の位置、即ちデータ境界位置を示すものであってよい。また或いは、このゼロクロス点の位置に0.5UIを加算したデータ中心位置を示すものであってよい。以下の説明では、位相位置を示す情報Φavgはデータ境界位置を示すものとする。
図4は、位相位置を示す情報Φavgを説明するための図である。図1のサンプリング回路21は、例えばデータ周波数の2倍のサンプリングレートを用いることにより、0.5UI間隔でサンプリングを行なってよい。この場合、図4に示すように、受信信号をサンプリングすると、連続する3つのサンプル点27乃至29が1UIの端から端までに対応することになる。これらのサンプル点の信号値を補間することによりゼロクロス点の位置を求め、更に、1UIの左端のサンプル点27からゼロクロス点までの距離Φiを求める。このΦiを複数のUIにわたり平均化することで、上記の位相位置を示す情報Φavgが得られる。
例えば位相位置を示す情報Φavgが、1UIを8等分した8番目の区間を示す値である場合、1UIの左端のサンプル点から8区間後の区間に次のデータ境界がある。言葉を換えて言えば、1UIの左端のサンプル点から1区間前の区間に直前のデータ境界がある。従って、この1UIの左端のサンプル点の1つ前のデータ判定値に図3の左から1番目の係数値C1Aを掛けた値を、このサンプル点の信号値から減算すれば、1つ前のデータの影響を除去することができる。また例えば位相位置を示す情報Φavgが、1UIを8等分した2番目の区間を示す値である場合、1UIの左端のサンプル点から2区間後の区間に次のデータ境界がある。言葉を換えて言えば、1UIの左端のサンプル点から7区間前の区間に直前のデータ境界がある。従って、この1UIの左端のサンプル点の1つ前のデータ判定値に図3の左から7番目の係数値C1Gを掛けた値を、このサンプル点の信号値から減算すれば、1つ前のデータの影響を除去することができる。
このようにして、位相位置を示す情報Φavgに応じて複数の異なる係数値から少なくとも1つの係数値を選択し、選択された係数値に応じて符号間干渉値の推定値を求めることができる。具体的には、位相位置を示す情報Φavgに応じた係数値を選択して、直前のデータ判定値にこの係数値を掛算することにより、符号間干渉値の推定値を求めることができる。そして、求められた符号間干渉値の推定値を現在の信号値から減算することにより、適切な等化処理を実行することができる。ここで言う複数の異なる係数値とは、図3に示されるように、チャネル応答波形12の複数の異なる位置の値にそれぞれ対応する複数の係数値C1A乃至C1Hであってよい。
図3においては、理想パルス信号11の1UIの直後にあるタイミングT1を跨ぐ1UIの区間に対して求めた8つの係数値C1A乃至C1Hを示し、これらの係数値から適宜選択した係数値により、直前のデータの影響を除去する処理の例について説明した。図2の受信回路20が実行する等化処理は、この例に限られるものではなく、直前のデータだけでなく更にその前のデータの影響を除去するように構成されてよい。例えば、図3においてタイミングT2を跨ぐ1UIの区間に対して同様に8つの係数値を求めておき、これらの係数値から適宜選択した係数値と2つ前のデータの値とを掛算することにより、2つ前のデータからの符号間干渉値の推定値を求めることができる。こうして求めた2つ前のデータからの符号間干渉値の推定値を、現在の信号値から減算することで、2つ前のデータの影響を除去することができる。同様にして、例えば、直前のデータ、2つ前のデータ、及び3つ前のデータの影響を纏めて除去する構成としてもよい。即ち、直前のデータからの符号間干渉値の推定値、2つ前のデータからの符号間干渉値の推定値、及び3つ前のデータからの符号間干渉値の推定値を求め、それらの推定値の総和を現在の信号値から減算してもよい。
図5は、データ復元回路23の構成の一例を示す図である。図5に示す構成は、ADC回路31、ADC回路32、デマルチプレクサ33、及びデータ復元ユニット34を含む。データ復元ユニット34は、位相検出器35、フィルタ36、及びデータ判定器37を含む。データ判定器37は、論理ゲート(LG)38及びセレクタ回路39を含む。図1に示すサンプリング回路21がADC機能を含まない場合であれば、図5に示す構成の全体がデータ復元回路23であると考えてもよい。また図1に示すサンプリング回路21がADC機能を含む場合であれば、図5に示す構成全体のうちデータ復元ユニット34の部分、又は、デマルチプレクサ33及びデータ復元ユニット34の部分が、データ復元回路23に相当すると考えてよい。
ADC回路31及び32は、それぞれクロック信号の立ち上がり及び立ち下がりにおいて、入力アナログ信号(データ)をアナログデジタル変換することにより、デジタルコードの列を生成する。例えば、入力アナログ信号は5Gビット/秒であり、クロック信号の周波数は5GHzである。従って、クロック信号の立ち上がり及び立ち下がりにより、入力アナログ信号のデータ間隔(200ps)である1UI(1ユニットインターバル)毎に2点のサンプリングがなされる。1UIの端から端までを考えれば、図4に示すように、3点のサンプル点が得られる。
デマルチプレクサ33は、2つのADC回路31及び32が出力する2つのデジタルコードの列に対して例えば2:16のデマルチプレックスを行なう。即ち、デマルチプレクサ33は、デジタルコード列の各々を時間軸上で1:8にデマルチプレックスすることにより、各デジタルコード列に対して8つのコードを並列に出力する。その結果、デマルチプレクサ33の出力は、16個のデジタルコードが並列に出力されるデジタルコードの列となる。このデマルチプレクス処理により、1ビットの高速データをシリアルパラレル変換して16ビット毎に纏め、16ビットのパラレルデータである低速データを生成する。これにより、例えば5Gビット/秒のデータレートを625Mbpsのデータレートに低下させ、以降のデジタル処理を実現可能としている。なお16ビットのパラレルデータは入力アナログ信号の8UI(ユニットインターバル)のデータに相当し、後段のデジタル処理では、この8UIのデータを纏めてパラレルに処理してよい。
なお上記のデータレートの変換は必ずしも必要な処理ではなく、デジタル処理が高速で実現できるのであればデータレートを落とす必要はない。また8UI毎の処理は単なる一例であり、任意の数のUI毎に処理してよく、例えば4UI毎の処理であってもよいし、1UI毎の処理であってもよい。なお1UI毎の処理の場合には、デマルチプレクサ33は不要であり、2つのADC回路31及び32から並列に出力される2個のデジタルコードが、そのまま1UIのデータとなる。また、16個のデジタルコードでの8UI、8個のデジタルコードでの4UI、或いは2個のデジタルコードでの1UIの何れの場合であっても、前回の処理対象のデジタルコードの最後の1個が、次の処理対象のデジタルコードの最初の1個として用いられる。処理対象のパラレルデータのUI数に関わらず、各UIに対しては同一の処理が実行されるので、以下の説明では、1UI毎の処理の場合について説明する。
位相検出器35は、パラレルデータとして供給される3つのデジタルコードに対して位相検出処理を行なう。この3つのデジタルコードは、例えば図4に示す3つのサンプル点27乃至29に対応する。ここで各サンプル点の横方向の位置はサンプルタイミングに相当し、縦方向の位置はデジタルコードの値に相当する。デジタルコードが値を取り得る範囲の略中心にある所定のコード値の位置ZCとデジタルコードの列を補間して得られる線分とが交差するクロス点の位置をデジタルコードの列から算出する。図4において、デジタルコードの列を補間して得られる線分15及び線分16が示される。線分15は、サンプル点27及び28の間を線形補間することにより得られる。線分16は、サンプル点28及び29の間を線形補間することにより得られる。デジタルコードが値を取り得る範囲は、例えばデジタルコードが5ビットの場合、0〜31である。この場合、デジタルコードが値を取り得る範囲0〜31の中心にあるコード値15.5が位置ZCとなる。位相検出器35は、この位置ZCにある水平線と上記の補間により求めた線分とが交差するクロス点の位置(位相位置を示す情報)Φiをデジタル計算により求める。なお上記中心のコード値としては、整数値(例えば15又は16)に丸めた値を用いてもよい。位置Φiは、当該UIの左端のサンプル点27からクロス点までの距離を所定のビット数で表現したものであってよい。
フィルタ36は、フィルタ演算を実行することにより、上記のようにして求めたクロス点の位置Φiに基づいて、クロス点の時間的な平均位置Φavgを求める。この平均クロス点位置Φavgは、以下に説明するように、データ判定器37においてデータ中心点を推定するために用いられる。
データ判定器37は、着目UIに対する瞬時クロス点位置Φiを位相検出器35から受け取ると共に、平均クロス点位置Φavgをフィルタ36から受け取る。またデータ判定器37は、デマルチプレクサ33から図4に示す3つのサンプル点27乃至29に対応するデジタルコードを受け取る。データ判定器37はまず、3つのサンプル点のデジタルコードのそれぞれを0又は1に2値判定することにより、3つのサンプル点のデータ判定結果を得る。論理ゲート38は、瞬時クロス点位置Φiと平均クロス点位置Φavgとに基づいて、3つのサンプル点のデータ判定結果のうちの1つを特定する選択制御信号を生成する。セレクタ回路39は、論理ゲート38からの選択制御信号に応じて、3つのサンプル点のデータ判定結果のうちの1つを選択して復元データとして出力する。
論理ゲート38は、まず平均クロス点位置Φavgに0.5を加算することにより、データ中心点の推定位置を求める。なお1UIの長さを便宜的に1とする。加算結果が1未満の場合には加算値をそのまま推定データ中心点位置として用い、加算結果が1以上の場合には加算値から−1した値を推定データ中心点位置として用いる。この処理により、推定データ中心点位置が常に着目UIの範囲内に存在することになる。論理ゲート38は更に、1UIに対して3つのデータから1つのデータを特定するために、当該UI内に位置する推定データ中心点位置と当該UIに対応する瞬時クロス点位置Φiとを参照する。基本的には、瞬時クロス点の位置をデータ境界と考え、データ境界の前側と後側のうちで、推定データ中心点位置が位置する側と同じ側にあるサンプル点のデータを選択すればよい。
例えば、図4に示す例では、着目1UIに属する3つのデジタルコードの0/1判定結果であるバイナリデータは、サンプル点27、28、29に対してそれぞれ0、1、1となる。またこの例では、サンプル点27と28との間に瞬時クロス点位置Φiがある。この場合、瞬時クロス点位置Φiの左側に推定データ中心点位置が属するのであれば、サンプル点27のバイナリデータ0が復元データとして選択される。また瞬時クロス点位置Φiの右側に推定データ中心点位置が属するのであれば、サンプル点28又は29のバイナリデータ1が復元データとして選択される。
着目1UIに属する3つのバイナリデータが全て1である場合、何れのデータを選択してもよく、何れを選択しても結果は同じである。3つのバイナリデータが全て0の場合も同様である。また着目1UIに属する3つのバイナリデータがそれぞれ0、1、0である場合、真ん中のバイナリデータ1を常に選択してよい。3つのバイナリデータがそれぞれ1、0、1である場合も同様である。即ち、クロス点が2回現れる場合には、中心の値であるバイナリデータを常に選択してよい。
図5に示すようなデータ復元回路23を用いることにより、受信信号のタイミングに依存しない固定のタイミングのクロック信号を用いてデータ復元をすることができる。またデータ復元回路23が求めた平均クロス点位置Φavgを、クロック信号の受信信号に対する位相位置を示す情報として、符号間干渉値推定ユニット24に供給することができる。符号間干渉値推定ユニット24は、図3を用いて説明したように、複数の係数値のうちの1つを選択して、選択した係数値に応じて符号間干渉値の推定値を求めることができる。
図6は、符号間干渉値推定ユニット24の詳細を示す図である。図6において、サンプリング回路21は、サンプル&ホールド機能に加え、図5に示すADC回路31及びADC回路32を含むものとする。またデータ復元回路23は、図5に示すデータ復元ユニット34の部分に相当する。また1UI毎の処理の場合を示しているので、前述のように図5のデマルチプレクサ33は不要となる。また前述のように、前回の処理対象のデジタルコードの最後の1個が、次の処理対象のデジタルコードの最初の1個として用いられる。フリップフロップ25は、このために設けられるものである。即ち、あるタイミングでの2つのデジタルコードS[1:2]の最後の1個S2をフリップフロップ25に格納しておき、次のタイミングでの2つのデジタルコードS[1:2]の先頭に追加して、3つのデジタルコードS[0:2]を生成している。
符号間干渉値推定ユニット24は、係数選択器(DCS)41、フリップフロップ42及び43、掛算器44乃至46を含む。係数選択器41は、位相位置を示す情報Φavgに応じて、複数の異なる係数値から少なくとも1つの係数値を選択する。この例では、3つの係数値CS0、CS1、CS2を選択して出力している。掛算器44乃至46は、選択された係数値とデータ判定値とを掛け合わせることにより符号間干渉値の推定値を求める。フリップフロップ42は、現在受信データ(復元データ)bnを出力するタイミングにおいて、前回の受信データbn−1を保持して掛算器44及び45に供給するために設けられる。フリップフロップ43は、現在受信データ(復元データ)bnを出力するタイミングにおいて、前々回の受信データbn−2を保持して掛算器46に供給するために設けられる。
図7は、係数選択器41による係数選択を説明するための図である。図7において、S0、S1、S2は、図6に示すデジタルコードS[0:2]に対応する3つのサンプル点を示す。このS0、S1、S2が、データ復元回路23の処理する1UIの端から端までに対応する。図7に示す例では、S0とS1との間に平均クロス点位置X1が存在する。S0とS1との間の平均クロス点位置X1を開始点とする1UIに等しい長さの区間が、l0乃至l7の8つの区間に分割され、これら8つの区間それぞれに対して8つの係数が定義されている。図3の場合と同様に、これら8つの係数を左から順番にC1A乃至C1Hとする。図3を参照して説明した場合と同様に、位相位置を示す情報Φavgが示す位置に応じて係数を選択する。この例では、位相位置を示す情報Φavgは、S2の直後のクロス点X2から数えて3区間前の区間にS2が存在することを示す。即ち、逆から数えれば、S2の直前のクロス点X1から数えて6区間後の区間にS2が存在することになる。従って、6番目の係数C1FがS2に対して選択される。またサンプリング間隔が0.5UIであるから、S1はS2から4区間離れている。これにより、S1の直前のクロス点X1から数えて2区間後の区間にS1が存在することが分かる。従って、2番目の係数C1BがS1に対して選択される。またS2の場合と同様に、S0の直後のクロス点X1から数えて3区間前の区間にS0が存在する筈である。即ち、逆から数えれば、S0の直前のクロス点X0から数えて6区間後の区間にS0が存在することになる。従って、6番目の係数C1FがS0に対して選択される。
図8は、係数選択器41の構成の一例を示す図である。図8に示す係数選択器41は、セレクタ回路50乃至52を含む。セレクタ回路50乃至52の各々には、位相位置を示す情報Φavgが供給される。位相位置を示す情報Φavgは値0乃至7をとり、それぞれ図7に示す区間l0乃至l7を示す。セレクタ回路50及び52は、それぞれ、処理対象1UIの端に位置するサンプル点S0及びS2に対する係数Cs0及びCs2を選択する。位相位置を示す情報Φavgは、処理対象1UIの端の位置から平均クロス点までの距離を示すので、セレクタ回路50及び52においては、情報Φavgの値0乃至7に対してそれぞれ係数C1H乃至C1Aを選択する。セレクタ回路51は、処理対象1UIの中央に位置するサンプル点S1に対する係数Cs1を選択する。処理対象1UIの中央位置は端の位置から0.5UIずれているので、セレクタ回路51においては、情報Φavgの値0乃至7に対してそれぞれ係数C1H乃至C1Aをそのまま選択することはできない。0.5UIのずれを考慮して、係数C1H乃至C1Aを4つ分ずらし、情報Φavgの値0乃至7に対して係数C1D乃至C1A及びC1H乃至C1Eをそれぞれ選択する。
図9は、等化処理について説明するための図である。上述のようにしてS0乃至S2に対して係数Cs0乃至Cs2が選択されると、図6に示す符号間干渉値推定ユニット24は、掛算器44乃至46により復元データの値(データ判定値)と選択された係数とを積算して符号間干渉値の推定値を求める。図9に示すように、サンプル点S0に対して選択された係数Cs0に対しては、S0が属する1UIの1つ前の1UIにおけるデータ判定値bn−2を掛けることにより、符号間干渉値の推定値を求める。この積算は図6の掛算器46により実行される。こうして求めた符号間干渉値の推定値を、図6の加算器22によりS0のデジタルコード値から減算すれば、S0に対するbn−2の影響を除去することができる。またサンプル点S1に対して選択された係数Cs1に対しては、S1が属する1UIの1つ前の1UIにおけるデータ判定値bn−1を掛けることにより、符号間干渉値の推定値を求める。この積算は図6の掛算器45により実行される。こうして求めた符号間干渉値の推定値を、図6の加算器22によりS1のデジタルコード値から減算すれば、S1に対するbn−1の影響を除去することができる。またサンプル点S2に対して選択された係数Cs2に対しては、S2が属する1UIの1つ前の1UIにおけるデータ判定値bn−1を掛けることにより、符号間干渉値の推定値を求める。この積算は図6の掛算器44により実行される。こうして求めた符号間干渉値の推定値を、図6の加算器22によりS2のデジタルコード値から減算すれば、S2に対するbn−1の影響を除去することができる。
図10は、データ判定値を用いずに符号間干渉値の推定値を求める受信回路の構成の一例を示す図である。図10において、図6と同一の構成要素は同一の番号で参照し、その説明は省略する。図10に示す受信回路20Aは、サンプリング回路21、フリップフロップ25、加算器22A及び22B、位相検出器及びデータ判定器60、マルチプレクサ61、平均化回路62、係数選択器(DCS)63、及びフリップフロップ64及び65を含む。図1の構成に対応付けると、加算器22A及び22Bが加算器22に対応し、位相検出器及びデータ判定器60、マルチプレクサ61、平均化回路62、及びフリップフロップ64及び65がデータ復元回路23に対応する。また更に、係数選択器63が符号間干渉値推定ユニット24に対応する。但し、前述のように、この受信回路20Aでは、データ判定値を用いずに符号間干渉値の推定値を求める構成となっている。
図11は、図10の係数選択器63の構成の一例を示す図である。図11において、図8と同一の構成要素は同一の番号で参照し、その説明は省略する。係数選択器63は、図8で説明したセレクタ回路50乃至52と、符号反転回路53乃至55とを含む。符号反転回路53乃至55は、それぞれセレクタ回路50乃至52が選択した係数Cs0乃至Cs2の符号を反転することにより、選択した係数に絶対値が等しい負の値を出力する。このようにして、係数選択器63は、選択された係数値に絶対値が等しい正の値と負の値とをそれぞれ符号間干渉値の正の推定値と負の推定値として出力する。正の推定値は、符号間干渉値の干渉生成元のデータが正の値“+1”であると仮定した場合の符号間干渉値の推定値である。また負の推定値は、符号間干渉値の干渉生成元のデータが負の値“−1”であると仮定した場合の符号間干渉値の推定値である。
図10を再び参照し、加算器22Aは、3つのサンプル点のデジタルコードS[0:2]から正の推定値Cs[0:2]を減算して第1の補正後の値T[0:2]を求める。また加算器22Bは、3つのサンプル点のデジタルコードS[0:2]から負の推定値−Cs[0:2]を減算して第2の補正後の値/T[0:2]を求める。第1の補正後の値T[0:2]は、現在のデータS[0:2]に対して符号間干渉による影響をもたらす原因となるデータが正の値“+1”であると仮定した場合の等化処理後の値である。また第2の補正後の値/T[0:2]は、現在のデータS[0:2]に対して符号間干渉による影響をもたらす原因となるデータが正の値“−1”であると仮定した場合の等化処理後の値である。
位相検出器及びデータ判定器60は、第1の補正後の値T[0:2]と第2の補正後の値/T[0:2]とに基づいて複数の位相位置を示す情報Φを求めると共に、受信信号の複数のデータ判定値bを求める。具体的には、図9に示すbn−2及びbn−1がそれぞれ、“+1”及び“+1”の場合、“+1”及び“−1”の場合、“−1”及び“+1”の場合、“−1”及び“−1”の場合について、並列に位相位置を示す情報Φとデータ判定値bとを求める。マルチプレクサ61は、フリップフロップ64及び65に格納される過去2回分のデータ判定値(復元データ)に応じて、複数の位相位置を示す情報から1つを選択するとともに複数のデータ判定値から1つを選択する。具体的には、過去2回分のデータ判定値bn−2及びbn−1がそれぞれ“+1”及び“+1”であれば、位相検出器及びデータ判定器60が“+1”及び“+1”の場合について求めた位相位置を示す情報Φとデータ判定値bとをマルチプレクサ61が選択する。過去2回分のデータ判定値bn−2及びbn−1がそれぞれ“+1”及び“−1”であれば、位相検出器及びデータ判定器60が“+1”及び“−1”の場合について求めた位相位置を示す情報Φとデータ判定値bとをマルチプレクサ61が選択する。過去2回分のデータ判定値bn−2及びbn−1がそれぞれ“−1”及び“+1”であれば、位相検出器及びデータ判定器60が“−1”及び“+1”の場合について求めた位相位置を示す情報Φとデータ判定値bとをマルチプレクサ61が選択する。過去2回分のデータ判定値bn−2及びbn−1がそれぞれ“−1”及び“−1”であれば、位相検出器及びデータ判定器60が“−1”及び“−1”の場合について求めた位相位置を示す情報Φとデータ判定値bとをマルチプレクサ61が選択する。
このようにして、位相検出器及びデータ判定器60が、過去のデータ値を仮定した複数の場合のそれぞれについて並列にデータ判定をしておく。そしてこれら複数の場合について求めた複数のデータ判定結果のうちで、フリップフロップ64及び65に格納される実際の過去のデータ判定値に一致する場合のデータ判定結果を、マルチプレクサ61により選択する。即ち、先に複数の場合を仮定して複数のデータ判定をしておき、その後、実際の状況に一致する場合に対応するデータ判定値を、正しいデータ判定値として選択することになる。なおフリップフロップ64及び65に格納値の初期値としては、適当な値を格納しておけばよい。動作開始後の最初の数ビットはマルチプレクサ61が間違えてデータ選択する可能性があるが、エラーが伝搬するわけではないので、数ビット後には正しくデータ選択することができる。
なお平均化回路62は、図5のフィルタ36に相当する回路であり、選択された位相位置を示す情報(瞬時クロス点位置情報)に基づいて、クロス点の時間的な平均位置Φavgを求める。この平均クロス点位置Φavgは、位相検出器及びデータ判定器60及び係数選択器63に供給される。
図12は、位相検出器及びデータ判定器60の構成の一例を示す図である。位相検出器及びデータ判定器60は、位相検出器70乃至73及びデータ判定器74乃至77を含む。位相検出器70乃至73の各々は、図5に示す位相検出器35と同様の回路であり、パラレルデータとして供給される3つのデジタルコードに対して位相検出処理を行なう。この3つのデジタルコードは、例えば図4に示す3つのサンプル点27乃至29に対応する。位相検出器70乃至73の各々は、位置ZCにある水平線と補間により求めた線分とが交差するクロス点の位置(位相位置を示す情報)Φiをデジタル計算により求める。位相検出器70乃至73は、求めたクロス点の位置ΦiをそれぞれΦa乃至Φdとして出力する。ここでパラレルデータとして供給される3つのデジタルコードは、位相検出器70乃至73それぞれで異なる。位相検出器70は、T[0:2]に対応するT0T1T2を受け取り、図9に示すbn−2及びbn−1がそれぞれ、“+1”及び“+1”の場合に対して位相検出を行なう。位相検出器71は、/T[0:2]の/T0とT[0:2]のT1T2とを受け取り、図9に示すbn−2及びbn−1がそれぞれ、“−1”及び“+1”の場合に対して位相検出を行なう。位相検出器72は、T[0:2]のT0と/T[0:2]の/T1/T2とを受け取り、図9に示すbn−2及びbn−1がそれぞれ、“+1”及び“−1”の場合に対して位相検出を行なう。位相検出器73は、/T[0:2]に対応する/T0/T1/T2を受け取り、図9に示すbn−2及びbn−1がそれぞれ、“−1”及び“−1”の場合に対して位相検出を行なう。
データ判定器74乃至77の各々は、図5に示すデータ判定器37と同様の回路である。データ判定器74乃至77は、まず対応する3つのサンプル点のデジタルコードのそれぞれを0又は1に2値判定することにより、3つのサンプル点のデータ判定結果を得る。更にデータ判定器74乃至77は、瞬時クロス点位置Φa乃至Φdと平均クロス点位置Φavgとに基づいて、3つのサンプル点のデータ判定結果のうちの1つを選択してデータ判定値ba乃至bdとして出力する。基本的には、瞬時クロス点の位置をデータ境界と考え、データ境界の前側と後側のうちで、推定データ中心点位置が位置する側と同じ側にあるサンプル点のデータを選択する。
このようにして生成されたクロス点位置Φa乃至Φdとデータ判定値ba乃至bdとが、図10のマルチプレクサ61に供給される。マルチプレクサ61は、前述のように、フリップフロップ64及び65に格納される過去2回分のデータ判定値に応じて、複数の位相位置を示す情報Φa乃至Φdから1つを選択するとともに、複数のデータ判定値ba乃至bdから1つを選択する。
なお以上説明した図6の受信回路及び図10の受信回路の構成では、平均クロス点位置がS0とS1との間にあることを前提としている。図6の受信回路の場合であれば、平均クロス点位置がS0とS1との間に常に入るように、データ復元回路23が処理する1UIを構成する3点のサンプリング点の取り方を適宜調整すればよい。図10の受信回路の場合も同様に、平均クロス点位置がS0とS1との間に常に入るように、データ復元回路23が処理する1UIを構成する3点のサンプリング点の取り方を適宜調整すればよい。或いは、平均クロス点位置がS1とS2との間にある場合には、図12において位相検出器71及び72の入力が、/T0T1T2及びT0/T1/T2の代りに、/T0/T1T2及びT0T1/T2となるように変更してよい。これを実現するためには、平均クロス点位置Φavgの値に応じて、位相検出器71及び72への入力を切り換えるように構成すればよい。
ここまでに説明した受信回路においては、符号間干渉値の推定値を求める際に用いる8つの係数値C1A乃至C1Hは、固定の値を有するものであるとして扱われてきた。しかしながら、これらの係数の最適値は、チップの製造ばらつき、電源電圧・温度の変動、チャネル特性のばらつき等により変化する。従って、係数の値を適応的に制御すること、即ち動的に最適化することが好ましい。適応制御のアルゴリズムとしてはLMS(Least Mean Square)アルゴリズムがよく用いられる。信号等化処理におけるLMSアルゴリズムにおいては、一般的に、データの中心位相でサンプルされたデータの判定値(0又は1)の振幅レベルを期待値として用い、この期待値に近づくように係数値の適応制御を行なう。
しかしながら前述のように、ブラインドサンプリング型受信器では、サンプリング点がデータの中心位置や境界位置等の特定の箇所に一致するわけではなく、またデータ信号中の何れかの位置に固定されているわけでもない。また、サンプリングして得たデジタルコードの列を補間してゼロクロス点を求めることによりデータの遷移点を求め、このデータの遷移点に基づいてデータ判定値を求めている。このようなブラインドサンプリング型受信器において、データの位相位置に関わらずに同一の期待値を設定してしまうと、補間により求めるゼロクロス点の位置の誤差が大きくなってしまう。またサンプリング位相に応じた振幅の偏差がエラーを増大させるので、係数値が収束し難くなってしまう。
以上の点を鑑み、以下に説明する受信回路では、位相に応じて異なる期待値を設定することにより、係数値を適応制御して信号波形を最適化する。この際、特定のデータパターンについてのみ係数値の更新を行うことにより、係数値を容易に収束させることが可能である。
図13は、係数値の適応制御を行なう受信回路の構成の一例を示す図である。図13に示す受信回路80は、サンプリング回路81、加算器82、データ復元回路83、符号間干渉値推定ユニット84、及び適応ロジック回路85を含む。この受信回路80はブラインドサンプリング型受信器であり、サンプリング回路21が、受信信号のタイミングに依存しない固定のタイミングのクロック信号を用いて、受信信号をサンプリングしたサンプル値を求める。図13のサンプリング回路81の構成及び動作は、図2のサンプリング回路21の構成及び動作と同様であってよい。またデータ復元回路83の構成及び動作は、図2のデータ復元回路23の構成及び動作と同様であってよい。更に、符号間干渉値推定ユニット84の構成及び動作も、図2の符号間干渉値推定ユニット24の構成及び動作と同様であってよい。
具体的には、符号間干渉値推定ユニット84は、符号間干渉値推定ユニット24と同様に図6に示す構成であってよく、係数選択器(DCS)41が、位相位置を示す情報Φavgに応じて、複数の異なる係数値から少なくとも1つの係数値を選択する。この選択された係数値と過去のデータの値とを掛算することにより、過去のデータからの符号間干渉値の推定値を求めることができる。上記の係数選択器41は、図8に示されるようにセレクタ回路50乃至52により、位相位置を示す情報Φavgの値に応じて、係数値C1A乃至C1Hの何れかを選択する。この選択対象となる係数値C1A乃至C1H、即ち符号間干渉値の推定値を求めるための係数値が、図13の構成では適応ロジック回路85により適応制御され、動的に最適化される。
なお前述のように、図2の受信回路20が実行する等化処理は、直前のデータの影響を除去する処理の例に限られるものではなく、直前のデータだけでなく更にその前のデータの影響を除去するように構成されてよい。例えば、図3においてタイミングT2を跨ぐ1UIの区間に対して同様に8つの係数値を求めておき、これらの係数値から適宜選択した係数値と2つ前のデータの値とを掛算することにより、2つ前のデータからの符号間干渉値の推定値を求めることができる。こうして求めた2つ前のデータからの符号間干渉値の推定値を、現在の信号値から減算することで、2つ前のデータの影響を除去することができる。同様にして、例えば、直前のデータ、2つ前のデータ、及び3つ前のデータの影響を纏めて除去する構成としてもよい。即ち、直前のデータからの符号間干渉値の推定値、2つ前のデータからの符号間干渉値の推定値、及び3つ前のデータからの符号間干渉値の推定値を求め、それらの推定値の総和を現在の信号値から減算してもよい。図13に示す受信回路80においても同様であり、直前のデータ、2つ前のデータ、3つ前のデータ、・・・、m個前のデータの影響を纏めて除去する構成としてもよい。以下の説明では、k個前(k=1〜m)のデータと掛算する係数値をCAk乃至CHkと表記し、8つの異なる位相位置におけるm個分の係数値を纏めてCA[1:m]乃至CH[1:m]と表記する。
図14は、適応ロジック回路85の構成の一例を示す図である。図14に示す適応ロジック回路85は、期待値計算回路91、減算回路92、積算回路93、ゲイン回路94、遅延回路95、データパターン検出回路96、ゼロ値保持回路97、セレクタ回路98、デマルチプレクサ回路99を含む。適応ロジック回路85は更に、加算回路100−1乃至100−8、フリップフロップ101−1乃至101−8、及びフリップフロップ102−1乃至102−3を含む。デマルチプレクサ回路99の入力側の回路群が、適応制御のために係数CA[1:m]乃至CH[1:m]を更新するための更新用データを計算する部分である。また、デマルチプレクサ回路99の出力側の回路群が、この更新用データに基づいて係数の更新処理を実行する部分である。
適応ロジック回路85への入力信号は、等化後のデジタルコードY(n+1)[1:2]、平均クロス点位置Φavg(n+1)、等化前のデジタルコードS(n+1)[1:2]、判定データb(n+1)である。ここで、添字の(n+1)はサンプリングタイミングを示しており、(n+1)の添字を有するデータは(n)の添字を有するデータに対して1サンプル後にサンプリングされたデータを示す。適応ロジック回路85の出力信号は、8つの異なる位相位置におけるm個分の係数値CA[1:m]乃至CH[1:m]である。ここでmは、等化処理のフィルタ演算におけるタップ数に相当する。なお添字[1:2]が示すように、適応ロジック回路85による適応制御の計算は、1UI毎にとられた2つのサンプリング点のデータに対して並列に実行される。
期待値計算回路91は、フリップフロップ102−2と102−3とに保持されている平均クロス点位置Φavg(n)と等化前のデジタルコードS(n)[1:2]とに基づいて期待値Dref[1:2]を計算する。この期待値Dref[1:2]は、フリップフロップ102−1に保持されている等化後のデジタルコードY(n)[1:2]がとるべき値、即ち等化後のデジタルコードY(n)[1:2]の値として望ましい値を示す。減算回路92は、デジタルコードY(n)[1:2]から期待値Dref[1:2]を減算して、デジタルコードの期待値からの誤差を計算する。積算回路93は、上記の誤差に対して、遅延回路95から供給される過去m個分の判定データb(n−1)乃至b(n−m)の一つ一つを別々に掛け合わせる。遅延回路95は、例えば複数のフリップフロップが直列に接続されたシフトレジスタであり、毎回の判定値が順次入力されてシフトレジスタ内をシフトされていく構成において、各フリップフロップの出力を並列に出力すればよい。積算回路93による積算の結果、2つのサンプリング点のデータの各々に対してm個のデータが得られる。ゲイン回路94は、この積算結果の各々に対して、係数更新時の更新ステップの大きさを定める係数μを掛算し、2m個の更新用データを生成する。
データパターン検出回路96は、判定データ中に特定のパターンが出現すると、それを検出して信号enを1にする。特定のパターンが検出されない場合には、信号enは0に維持される。セレクタ回路98は、信号enが1のとき、ゲイン回路94の出力である更新用データを選択してデマルチプレクサ回路99に供給する。またセレクタ回路98は、信号enが0のとき、ゼロ値保持回路97の出力0を選択してデマルチプレクサ回路99に供給する。従って、特定のパターンが出現したときのみ、そのパターンに基づいて更新用データによる更新処理が実行され、それ以外のときには更新処理が実行されない。
デマルチプレクサ回路99の8個の出力端は、8個の係数値CA[1:m]乃至CH[1:m]、即ち8個の異なる位相位置に対応する。2つの入力データS(n)[1:2]は2つの位相位置に対応するので、このデータに基づく適応制御のための係数値の更新処理は、これらの2つの位相位置の係数に対して実行されることになる。そのためにデマルチプレクサ回路99は、平均クロス点位置Φavg(n)に応じて現在の2つの位相位置を特定し、セレクタ回路98の出力を、これら現在の2つの位相位置に対応する2つの出力端に出力する。
特定のパターンが検出され更新処理が実行されるときには、デマルチプレクサ回路99の出力は更新用データとなる。このとき、期待値Dref[1:2]のうちDref1に対応するm個の更新用データは、S(n)1に対応する位相位置の1つの出力端に出力される。加算回路100−1乃至100−8のうちの対応する1つ加算回路は、このm個の更新用データと、フリップフロップ101−1乃至101−8のうちの対応する1つのフリップフロップに格納される8m個の係数値とを並列に加算する。同様に、期待値Dref[1:2]のうちDref2に対応するm個の更新用データは、S(n)2に対応する位相位置の出力端に出力される。加算回路100−1乃至100−8のうちの対応する1つ加算回路は、このm個の更新用データと、フリップフロップ101−1乃至101−8のうちの対応する1つのフリップフロップに格納される8m個の係数値とを並列に加算する。
以上の処理により、例えば係数CA[1:m]が更新されるとすると、以下の更新式に従った更新処理によりCA[1:m](n)からCA[1:m](n+1)が求められる。
CA1(n+1) = CA1(n) -μ(Dref - Y(n))b(n-1)
CA2(n+1) = CA2(n) -μ(Dref - Y(n))b(n-2)
…
CAm(n+1) = CAm(n) -μ(Dref - Y(n))b(n-m)
他の位相位置の係数CB[1:m]乃至CH[1:m]についても同様である。この更新処理により、デジタルコードYと期待値Drefとの差が小さくなるように、各係数を徐々に変化させていることができる。
図15は、期待値計算回路91の構成の一例を示す図である。図15に示す期待値計算回路91は、セレクタ回路111、絶対値回路112、ローパスフィルタ(LPF)113、期待値テーブル114、及び期待値テーブル115を含む。セレクタ回路111は、平均クロス点位置Φavg(n)に応じて、S(n)1及びS(n)2のうちデータの中央に近い方のデータを選択する。絶対値回路112は、選択されたデータの絶対値を求める。ローパスフィルタ113は、絶対値に対して時間的なローパスフィルタ処理を施すことにより、データ絶対値の平均値<S>を求める。
期待値テーブル114には、例えば“010”を前記のデータパターン検出回路96が検出するパターンとした場合、受信データ“010”に対する1UIの範囲における理想的な等化後の波形のデータを格納してある。また期待値テーブル115には、期待値テーブル114のデータに対して0.5UI位相をずらした波形のデータを格納してある。なお受信データ“101”の場合には、期待値テーブル115のデータが1UIの範囲における理想的な等化後の波形のデータであり、期待値テーブル114が0.5UI位相をずらした波形のデータであると見なすことができる。
期待値テーブル114は、平均クロス点位置Φavg(n)に基づいて、第1のサンプリング点の位相位置(S(n)1に対応する位置)のデータを出力する。この際、例えばテーブルから読み出した値にデータ絶対値の平均値<S>を掛けることにより、期待値のピークが<S>となるように調整する。こうして読み出されたデータは、受信データが“010”の場合においてS(n)1の等化後の値Y(n)1の理想的な値となる。期待値テーブル115は、平均クロス点位置Φavg(n)に基づいて、第2のサンプリング点の位相位置(S(n)2に対応する位置)のデータを出力する。ここで、第2のサンプリング点の位相位置は第1のサンプリング点の位相位置に対して0.5UIずれているので、期待値テーブル115の波形データも期待値テーブル114の波形データに対して0.5UIずらしてある。期待値テーブル115から読み出されたデータは、受信データが“010”の場合においてS(n)2の等化後の値Y(n)2の理想的な値となる。
図15に示されるように、期待値テーブル114に格納される波形データは、1UIの範囲の中央をピークとした三角波としている。これは、データ復元回路において位相を検出する時(瞬時クロス位置Φiを検出する時)に図4に示すように線形補間を用いているので、期待値波形を三角波とすることにより、この線形補間の誤差をゼロとすることができるからである。つまり、三角波のデータのテーブルを用いることで、線形補間誤差による位相検出エラーを最小とすることができる。
前述のように、図15に示す期待値テーブル114及び115の例では、受信データ“010”に対する期待値波形のデータを格納してあり、これが三角波のデータとなる。本実施例では、特定のパターンとして“010”(或いは更にパターン“101”)を検出したときのみ更新処理を実行させるので、少ないハードウェア量で確実に係数を収束させることができる。なお更新処理を実行する対象である特定のパターンの数は、1つに限られるものではなく、複数のパターンを用いてもよい。例えば第1の特定のパターン“010”の加えて、第2の特定のパターン“111”を用いてもよい。この場合、データパターン検出回路96により“010”と“111”との両方を区別して検出可能とする。そして期待値計算回路91により、“010”が検出された場合は図15に示す三角波のデータのテーブルから期待値を読み出し、“111”が検出された場合は平均クロス点位置に関わらず一定値<S>を期待値として出力すればよい。
図16は、データパターン検出回路96の構成の一例を示す図である。図16に示すデータパターン検出回路96は、フリップフロップ116、フリップフロップ117、XOR回路118、XOR回路119、及びAND回路120を含む。判定データb(n−1)、b(n)、b(n+1)が順次入力され、XOR回路118、XOR回路119、及びAND回路120により論理演算が行なわれる。その結果、AND回路120の出力enは、入力が“010”又は“101”の場合に1となり、それ以外の場合に0となる。
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
なお本願発明は以下の内容を含むものである。
(付記1)
受信信号のタイミングに依存しない固定のタイミングのクロック信号を用いて前記受信信号をサンプリングしたサンプル値を求めるサンプリング回路と、
前記サンプル値から符号間干渉値の推定値を減算して前記サンプル値の補正後の値を求める加算回路と、
前記サンプル値の補正後の値に基づいて前記クロック信号の前記受信信号に対する位相位置を示す情報を求めると共に前記受信信号のデータ判定値を求めるデータ復元回路と、
前記位相位置を示す情報に応じて前記符号間干渉値の推定値を求め前記加算回路に供給する符号間干渉値推定ユニットと、
を含むことを特徴とする受信回路。
(付記2)
前記符号間干渉値推定ユニットは、前記位相位置を示す情報に応じて、複数の異なる係数値から少なくとも1つの係数値を選択し、前記選択された係数値に応じて前記符号間干渉値の推定値を求めることを特徴とする付記1記載の受信回路。
(付記3)
前記複数の異なる係数値は、チャネル応答波形の複数の異なる位置の値にそれぞれ対応する複数の係数値であることを特徴とする付記1記載の受信回路。
(付記4)
前記符号間干渉値推定ユニットは、
前記少なくとも1つの係数値を選択する係数選択器と、
前記選択された係数値と前記データ判定値とを掛け合わせることにより前記符号間干渉値の推定値を求める掛算回路と
を含むことを特徴とする付記2又は3記載の受信回路。
(付記5)
前記符号間干渉値推定ユニットは、前記選択された係数値に絶対値が等しい正の値と負の値とをそれぞれ前記符号間干渉値の正の推定値と負の推定値とし、
前記加算回路は、前記サンプル値から前記正の推定値を減算して第1の補正後の値を求めるともに、前記サンプル値から前記負の推定値を減算して第2の補正後の値を求め、
前記データ復元回路は、前記第1の補正後の値と前記第2の補正後の値とに基づいて複数の位相位置を示す情報を求めると共に前記受信信号の複数のデータ判定値を求め、前記複数の位相位置を示す情報から1つを選択するとともに前記複数のデータ判定値から1つを選択する
ことを特徴とする付記2又は3記載の受信回路。
(付記6)
前記データ復元回路は、過去のデータ判定値に基づいて前記複数の位相位置を示す情報から1つを選択するとともに前記複数のデータ判定値から1つを選択することを特徴とする付記5記載の受信回路。
(付記7)
前記データ復元回路は、前記選択された1つの位相位置を示す情報を平均化してから前記符号間干渉値推定ユニットに供給することを特徴とする付記5又は6記載の受信回路。
(付記8)
前記サンプリング回路はAD変換回路であり、前記サンプル値は量子化されたサンプル値であることを特徴とする付記1乃至7の何れか一項記載の受信回路。
(付記9)
前記符号間干渉値の推定値を求めるための係数値を動的に最適化する適応ロジック回路を更に含むことを特徴とする付記1乃至8何れか一項記載の受信回路。
(付記10)
前記適応ロジック回路は、前記サンプル値と前記位相位置を示す情報とに応じて期待値を算出し、前記サンプル値の補正後の値と前記期待値との差が小さくなるように、前記符号間干渉値の推定値を求めるための係数値を更新することを特徴とする付記9記載の受信回路。
(付記11)
前記適応ロジック回路は、前記データ判定値の時系列中に特定のパターンが出現したことに応答して、前記符号間干渉値の推定値を求めるための係数値を更新することを特徴とする付記10記載の受信回路。
(付記12)
前記適応ロジック回路は、前記位相位置を示す情報に応じて、複数の前記符号間干渉値の推定値を求めるための係数値のうち、更新対象となる係数値を選択して更新することを特徴とする付記11記載の受信回路。