(57)【要約】      （修正有）【課題】オーバサンプリングされたデータを簡単で効率的に受信可能とする。【解決手段】オーバーサンプリングを行うシーケンス検出器は、サンプリングされたデータを処理し、サンプリングされたデータの検出信頼性を判断し、サンプルシーケンスを異なるサンプリング位相ごとに解析した後、最も高い信頼性を検出可能なサンプルシーケンスを選択し、その異なるサンプリング位相ごとに、後読み情報および先読み情報を検証することによって、シンボル単位による検出の簡易化を図る。オーバーサンプリングされる情報は、検出性能の更なる向上に用いられる。【選択図】図２
2007110702.tif 000002
【特許請求の範囲】
【請求項１】
デジタル伝送リンクを通してデータを受信する方法であって、
オーバーサンプリングされた一連のシンボルを表すために生成された一連のサンプルを受信する工程と、
第１および第２のサンプルストリームから第１および第２のシンボルを検出する工程と、
前記検出された第１および第２のシンボルに基づいて、チャネル応答長を評価する工程と
を備える方法。
【請求項２】
前記チャネル応答長を評価する工程は、一つのシンボルあたりのサンプルの数を示すシンボル幅についての最小値および平均値の少なくとも一方を検知する工程を含む請求項１記載の方法。
【請求項３】
更に、前記シンボルのうちオーバーサンプリング係数値未満のサンプルを有するナローシンボルの数が閾値を超える場合、該ナローシンボルの数を減らすようにイコライザを調整する工程を備える請求項２記載の方法。
【請求項４】
前記イコライザを調整する工程は、等化パラメータを上方調整および下方調整することによって、等化が向上する傾向を判断する工程を含む請求項３記載の方法。
【請求項５】
デジタル伝送リンクを通してデータを受信する方法であって、
オーバーサンプリングされた一連のシンボルを表すために生成された一連のサンプルあって該一連のサンプルの第１および第２の位相に応じた第１および第２のサンプルストリームを有する一連のサンプルを、受信する工程と、
前記第１および第２のサンプルストリームから第１および第２のシンボルを検出する工程と、
第１のサンプルストリームにおける第１の同期データフィールド、および第２のサンプルストリームにおける第２の同期データフィールドを検査することによって、前記第１および第２のシンボルについての第１および第２の検出信頼性を評価する工程と
を備える方法。
【請求項６】
前記第１および第２の同期データフィールドは、ＤＶＩ復帰間隔およびＨＤＭＩ復帰間隔の少なくとも一方を含む請求項５記載の方法。
【請求項７】
デジタル伝送リンクを通してデータを受信する方法であって、
オーバーサンプリングされた一連のシンボルを表すために生成された一連のサンプルであって該一連のサンプルの第１および第２の位相に応じた第１および第２のサンプルストリームを有する一連のサンプルを、受信する工程と、
前記第１および第２のサンプルストリームから第１および第２のシンボルを検出する工程であって、該シンボルの幅と、前記一連のサンプルを生成するために用いられたオーバーサンプリング係数との間の差を示す値を有するフラグに、該検出されたパターンを関連付けることによって動的に更新されるテーブルに従って処理を行う工程と、
前記フラグの値を減らすように等化パラメータを調整する工程と
を備える方法。
【請求項８】
デジタル伝送リンクを通してデータを受信する受信装置であって、
オーバーサンプリングされた一連のシンボルを表すために生成された一連のサンプルを受信する受信部と、
第１および第２のサンプルストリームから第１および第２のシンボルを検出する検出部と、
前記検出された第１および第２のシンボルに基づいて、チャネル応答長を評価する評価部と
を備える受信装置。
【請求項９】
前記評価部は、一つのシンボルあたりのサンプルの数を示すシンボル幅についての最小値および平均値の少なくとも一方を検知する検知部を含む請求項８記載の受信装置。
【請求項１０】
更に、前記シンボルのうちオーバーサンプリング係数値未満のサンプルを有するナローシンボルの数が閾値を超える場合、該ナローシンボルの数を減らすようにイコライザを調整する調整部を備える請求項９記載の受信装置。
【請求項１１】
前記調整部は、等化パラメータを上方調整および下方調整することによって、等化が向上する傾向を判断する判断部を含む請求項１０記載の受信装置。
【請求項１２】
デジタル伝送リンクを通してデータを受信する受信装置であって、
オーバーサンプリングされた一連のシンボルを表すために生成された一連のサンプルあって該一連のサンプルの第１および第２の位相に応じた第１および第２のサンプルストリームを有する一連のサンプルを、受信する受信部と、
前記第１および第２のサンプルストリームから第１および第２のシンボルを検出する検出部と、
第１のサンプルストリームにおける第１の同期データフィールド、および第２のサンプルストリームにおける第２の同期データフィールドを検査することによって、前記第１および第２のシンボルについての第１および第２の検出信頼性を評価する評価部と
を備える受信装置。
【請求項１３】
前記第１および第２の同期データフィールドは、ＤＶＩ復帰間隔およびＨＤＭＩ復帰間隔の少なくとも一方を含む請求項１２記載の受信装置。
【請求項１４】
デジタル伝送リンクを通してデータを受信する受信装置であって、
オーバーサンプリングされた一連のシンボルを表すために生成された一連のサンプルであって該一連のサンプルの第１および第２の位相に応じた第１および第２のサンプルストリームを有する一連のサンプルを、受信する受信部と、
前記第１および第２のサンプルストリームから第１および第２のシンボルを検出する検出部であって、該シンボルの幅と、前記一連のサンプルを生成するために用いられたオーバーサンプリング係数との間の差を示す値を有するフラグに、該検出されたパターンを関連付けることによって動的に更新されるテーブルに従って処理を行う検出部と、
前記フラグの値を減らすように等化パラメータを調整する調整部と
を備える受信装置。
【請求項１５】
デジタル伝送リンクを通して受信されるデータを処理する機能をコンピュータシステムのプロセッサに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
オーバーサンプリングされた一連のシンボルを表すために生成された一連のサンプルを受信する機能と、
第１および第２のサンプルストリームから第１および第２のシンボルを検出する機能と、
前記検出された第１および第２のシンボルに基づいて、チャネル応答長を評価する機能と
を実現させるためのプログラムを記録した記録媒体。
【請求項１６】
前記チャネル応答長を評価する機能は、一つのシンボルあたりのサンプルの数を示すシンボル幅についての最小値および平均値の少なくとも一方を検知する機能を含む請求項１５記載の記録媒体。
【請求項１７】
更に、前記シンボルのうちオーバーサンプリング係数値未満のサンプルを有するナローシンボルの数が閾値を超える場合、該ナローシンボルの数を減らすようにイコライザを調整する機能を実現させるためのプログラムを記録した請求項１６記載の記録媒体。
【請求項１８】
前記イコライザを調整する機能は、等化パラメータを上方調整および下方調整することによって、等化が向上する傾向を判断する機能を含む請求項１７記載の記録媒体。
【請求項１９】
デジタル伝送リンクを通して受信されるデータを処理する機能をコンピュータシステムのプロセッサに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
オーバーサンプリングされた一連のシンボルを表すために生成された一連のサンプルあって該一連のサンプルの第１および第２の位相に応じた第１および第２のサンプルストリームを有する一連のサンプルを、受信する機能と、
前記第１および第２のサンプルストリームから第１および第２のシンボルを検出する機能と、
第１のサンプルストリームにおける第１の同期データフィールド、および第２のサンプルストリームにおける第２の同期データフィールドを検査することによって、前記第１および第２のシンボルについての第１および第２の検出信頼性を評価する機能と
を実現させるためのプログラムを記録した記録媒体。
【請求項２０】
前記第１および第２の同期データフィールドは、ＤＶＩ復帰間隔およびＨＤＭＩ復帰間隔の少なくとも一方を含む請求項１９記載の記録媒体。
【請求項２１】
デジタル伝送リンクを通して受信されるデータを処理する機能をコンピュータシステムのプロセッサに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
オーバーサンプリングされた一連のシンボルを表すために生成された一連のサンプルであって該一連のサンプルの第１および第２の位相に応じた第１および第２のサンプルストリームを有する一連のサンプルを、受信する機能と、
前記第１および第２のサンプルストリームから第１および第２のシンボルを検出する機能であって、該シンボルの幅と、前記一連のサンプルを生成するために用いられたオーバーサンプリング係数との間の差を示す値を有するフラグに、該検出されたパターンを関連付けることによって動的に更新されるテーブルに従って処理を行う機能と、
前記フラグの値を減らすように等化パラメータを調整する機能と
を実現させるためのプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、デジタル伝送リンクを通したデータ受信に関し、特に、確定的および非確定的ジッタの存在下におけるロバスト適応作用を提供するデジタルレシーバに関する。
【背景技術】
【０００２】
高速デジタル通信は、急激に重要性を増している技術である。ますます多くのアナログ通信リンクが、信頼性，リンク品質（例えば、低ビット誤り率（ＢＥＲ）），利便性，コスト低減をエンドユーザにもたらす高速シリアルリンクに代わられつつある。
【０００３】
例えば、最新のコンピュータディスプレイおよびハイビジョン（ＨＤＴＶ）ディスプレイは、大抵は、デジタルビデオインターフェース（ＤＶＩ）および高解像度マルチメディアインターフェース（ＨＤＭＩ）等の工業規格に基づく高速シリアルリンクを採用している。このようなリンクの総合データレートは、概して、ギガビット毎秒のレベルにある。例えば、ＤＶＩリンクのボーレートは、５ギガボーに迫りつつあり、この限界を少なからぬ格差で上回る製品も、多くのベンダーによって提供されている。
【０００４】
別の一例は、コンピュータシステムにおいてストレージデバイスを接続するためのシリアル・アドバンスト・テクノロジー・アッタッチメント（ＡＴＡ）インターフェースである。このアプリケーションも、やはり、約２ギガビット毎秒またはそれを上回るデータレートを必要とする。
【０００５】
更に別の一例は、ギガビットイーサネット（１０００ＢＡＳＥ−Ｔ等）規格および次世代の１０ギガビットイーサネット（１０ＧＢＡＳＥ−Ｔ）規格等の高速ローカルエリアネットワーク（ＬＡＮ）アプリケーションである。
【０００６】
上記の例および類似の例の基礎となるリンクは、多くの共通要件を有する。これらのリンクに必要とされる要件の例を挙げると、高速動作、確定的データジッタや非確定的データジッタに対する十分な許容能力、周波数オフセットや周波数変調（ＦＭ）に対する十分な許容能力、十分な有効ＢＥＲ、小さな水平アイ開口（例えば、０．４単位間隔（ＵＩ）のアイ幅仕様も珍しくない）での動作能力、高トラッキング帯域、高速位相取得、十分なトラッキング範囲などがある。
【０００７】
このような高速シリアルリンク対応のレシーバとしてよくある実装形態は、一つには、レシーバのデータのオーバーサンプリングを、「十分な」サンプルストリームを選択するためのいわゆる「位相ピッキング」と組み合わせたものに基づく。ＤＶＩリンクとしてよくある実装形態は、Ｌ＝３のオーバーサンプリング係数を使用したものであり、データのサンプリングは、多くの場合、位相トラッキングを経ることなく完了する。オーバーサンプリングされたデータストリームが利用可能になると、位相ピッカーは、最適なサンプルを選択するために、何らかの位相トラッキング手法（遷移位相平均化等）を使用してＬサンプルの一つを保持する。
【０００８】
このような技術は、比較的単純に且つ安価に実装可能である一方で、様々な問題にも直面している。例えば、今日使用されている回線コードのなかには、非常に広域の周波数スペクトルを有する（すなわち、ランレングス（ｄ，ｋ）に対する制約が乏しい）ものがある。この問題は、１〜１４シンボルのランを有するＤＶＩ／ＨＤＭＩリンクにとって、とりわけ切実である。安定性およびロバスト性の理由のために、位相ピッカーは、狭めのトラッキング帯域で動作する必要がある。このような手法のマイナス面は、オーバーサンプリングされたデータ内に存在する確定的ジッタを調整できないことにある。狭いトラッキング帯域は、また、整定速度（すなわち、位相取得時間）を制約し、過渡性能を劣化させ、ときにはキャプチャ範囲を狭めることもある。
【０００９】
位相ピッキング手法の根本的な問題は、一つには、検出プロセスにおいて、オーバーサンプリングされた全ての利用可能データを使用できないことにある。位相ピッカーとしてよくある実装形態は、シンボルごとに単純にＬ−１のサンプルを廃棄し、受信されたＬサンプルのうちの一つのみを保持するものである。このため、オーバーサンプリングされたデータは、位相トラッキングにのみ使用され、データ検出には使用されない。したがって、位相ピッカーは、復号化対象のシンボルに関する有用な情報を持つ多くのデータサンプルを廃棄する。ＤＶＩ／ＨＤＭＩとしてよくある実装形態では、レシーバにとって利用可能な情報のおよそ３分の２が単純に廃棄される。
【００１０】
例えば、短い高品質シールド付きツイストペア（ＳＴＰ）ケーブルをリンクに用いる場合のように、もしデータレートが適度で且つアイ開口が適切であるならば、このような位相ピッキング手法に起因するロスは許容可能であり、安価な形態でレシーバを実装することができる。しかしながら、データレートが増大した場合、シールドなしツイストペア（ＵＴＰ）ケーブル等の長めのもしくは低品質のケーブルが用いられる場合、またはその両方の場合は、利用可能なアイ幅が小さくなるので、レシーバ性能が急激に劣化しはじめる。
【００１１】
例えば、このような位相平均化方式を用いる従来の位相ピッカーは、データシンボルを確実に検出するために、２サンプリング間隔を超えるアイ開口を必要とすることが知られている。これは、もしＬ＝３のサンプルを使用するよくある実装形態において、位相ピッキングに起因するデータ誤差を回避しようとすると、アイ幅は０．７ＵＩ以上であるべきであることを意味する。このような制限は、低速の場合、伝送距離が短い場合、または低速で且つ伝送距離が短い場合は十分に許容範囲であるが、より高データレートの場合は高級品になり、比較的高価な優れた等化技術およびプリエンファシス技術がしばしば必要になる。
【００１２】
また、従来の位相ピッキング手法の多くは、サンプルを並列処理する簡単な方法を提供できないため、高速の場合、オーバーサンプリング係数の高い場合、または高速で且つオーバーサンプリング係数の高い場合は実装困難である。レシーバの実装形態の観点から観ると、レシーバの複雑さは、大抵は、オーバーサンプリング係数に線形依存することによって、狭めのアイ仕様を提供可能であることが望ましい。既存の位相ピッキング方法の多くは、このような線形増加の代わりに、オーバーサンプリング係数の二乗または更にそれを上回る増分で複雑さを増大させる。
【００１３】
当該分野で周知の別クラスのレシーバは、いわゆる「多数決」オーバーサンプリングレシーバによって代表される。この技術は、過去において低速リンク用に広く用いられたものであり、データに対して何らかの線形フィルタリング、非線形フィルタリング、またはその両方を施すので、もし０．９ＵＩまたはそれを超える等の優れたアイ開口を使用可能であれば、しばしばリンクのロバスト性およびＢＥＲを向上させることができる。このようなレシーバは、また、安価に実装可能であり、これが、過去において広く普及していた重要な要因である。しかしながら、このような「多数決」レシーバの性能は、今日の高速シリアルデータでよく見られるアイ開口の縮小にともなって、急速に不十分になる。更に、このようなレシーバは、高非確定的ジッタを伴うデータストリームはもちろん、高周波数オフセットおよび高周波数変調を伴うデータストリームを扱うことも困難である。
【００１４】
従来の「アナログ」のクロックデータリカバリ（ＣＤＲとしても知られる）技術と比べると、デジタルドメインにおけるデータ検出、位相トラッキング、またはその両方は、多くの場合、異なる製造プロセス間での移植性、設計の単純性、および安価さという利点を有する。また、アナログの実装形態では利用できない可能性のある非線形の検出方法、フィルタリング方法、またはその両方は、多くの場合、デジタルドメインでは安価に実装することができる。更にまた、従来のアナログＣＤＲは、優れた位相トラッキング性能を提供するが、それ自体がデータ検出の向上に寄与することは稀であり、ほとんどのアナログＣＤＲは、一シンボルあたり一サンプルのみを抽出する単純なサンプラをデータ検出用に有する。したがって、高確定的ジッタに起因する実質的なアイ閉口が存在する場合は、アナログＣＤＲの性能は不十分である。
【００１５】
一般に、レシーバは、アイ開口が最大値の点で各シンボルが検出（すなわち、サンプリング）される場合に、最も優れた動作性能を実現することができる。しかしながら、このようなサンプリング点を見つけることは困難であり、しばしば不可能である。レシーバは、普通、「最適な」サンプリング点を決定するために、指針としてデータ遷移を参照する。しかしながら、このようなデータ遷移は、シンボル境界に合わせて生じることのないのが通常である。データ遷移の位置は、確定的ジッタ（先行シンボルの履歴によって決まるシンボル間干渉（ＩＳＩ）に起因する）と、伝送システムの各種構成要素内のノイズによって持ち込まれる非確定的ジッタ（クロック発生器の位相ノイズ、結果として振幅および時間のオフセットを生じるサンプラによる不明確な信号スライス、付加性および乗法性のチャネルノイズ等）と、クロストークによって持ち込まれるノイズと、このようなリンク内にしばしば存在する周波数オフセットおよび周波数変調とに影響される。また、このようなリンクは、多くの場合、受信をいっそう複雑化する非線形ひずみにも見舞われる。
【００１６】
遷移の位置は、現行シンボルに最適なサンプリング点に関して信頼に足る情報を提供できないため、レシーバは、何らかの許容可能なサンプリング位相を見いだすために、遷移を観測して得られるサンプリング位相情報をフィルタリングしようとする。例えば、既存の実装形態の多くは、低域伝達特性を有する線形フィルタ、またはノイズ抑制特性を有する何らかの非線形フィルタ（例えば、メジアンフィルタ）のいずれかを利用する。しかしながら、このような方法で得られたサンプリング位相位置は、シンボル単位の観点から見ると最適でないことが多い。なぜならば、純粋に非確定的な位相ノイズおよび周波数オフセットから確定的な成分（ＩＳＩおよびクロストーク等）を分離することは困難だからである。優れたレシーバ性能を提供するためには、非確定的な位相ノイズをフィルタリングで除去する（すなわち抑制する）一方で、確定的成分および周波数オフセットを調整することが望ましい。フィルタリング手法は、このような区別を付けられないことが多く、したがって、全体的な検出性能を低下させる。
【００１７】
性能の向上を試みるその他の方法としては、例えば、ビタビアルゴリズム（ＶＡ）に基づくシーケンス検出方法およびその変形形態、ならびにフィードバック検出方式および判定帰還型等化（ＤＦＥ）等がよく知られている。これらのアプローチは、ＩＳＩおよびその他の確定的成分を処理するように上手く機能することができるので、全体的性能を向上させ、サンプリング位相トラッキングタスクを単純化する（非確定的成分および周波数オフセットのみを扱えば良くなるため）。しかしながら、シーケンス検出に基づく方法は、複雑で実装費が高くつくことが多く、一般に、マルチビットサンプリング（すなわち、アナログ・デジタル変換（ＡＤＣ））およびシンボル単位の広範な計算を必要とする。シーケンス検出器は、データレートがギガビット毎秒のレベルに近づくにつれて、急速に非実用的になる。ＶＤ（ビタビ復号）やＤＦＥに基づくレシーバは、低レートの場合ですら、実装費が極めて高くつく。
【００１８】
したがって、従来の位相ピッカー，「多数決」レシーバ，アナログＣＤＲレシーバを煩わしている問題を伴うことなく、オーバーサンプリングされたデータを受信するためのデータレシーバを実現するための簡単で効率的な方法が必要とされている。
【発明の開示】
【００１９】
オーバーサンプリングシーケンス検出器によって実施される方法であって、サンプリングされたデータの検出信頼性を追跡することによってそのデータに作用する方法が開示される。検出器は、サンプルシーケンスを異なるサンプリング位相ごとに個々に解析し、次いで、最も高信頼性の検出を可能にするサンプルシーケンスを選別する。検出器は、簡単なシンボル単位の検出を向上させるために、異なるサンプリング位相ごとに若干の後読み情報および先読み情報を検証する。また、オーバーサンプリングされた情報は、検出の性能を更に向上させるために使用される。
【００２０】
別の一実施形態では、デジタル伝送リンクを通してデータを受信するための装置であって、オーバーサンプリングされたシンボルのシーケンスを表すために生成されたサンプルシーケンスを受信する工程と、第１および第２のサンプルストリームから第１および第２のシンボルを検出する工程と、チャネルの応答長を推定する工程と、を実施するためのレシーバを備える装置が開示される。
【００２１】
更に別の一実施形態では、デジタル伝送リンクを通してデータを受信するための装置であって、オーバーサンプリングされたシンボルのシーケンスを表すために生成されたサンプルシーケンスであって、該サンプルシーケンスの第１および第２の位相にしたがって第１および第２のサンプルストリームを有するサンプルシーケンスを受信する工程と、第１および第２のサンプルストリームから第１および第２のシンボルを検出する工程と、第１および第２のシンボルの第１および第２の検出信頼性を推定するために、第１のサンプルストリーム内の第１の同期データフィールドおよび第２のサンプルストリーム内の第２の同期データフィールドを検査する工程と、を実施するためのレシーバを備える装置が開示される。
【００２２】
更に別の一実施形態では、デジタル伝送リンクを通してデータを受信するための装置であって、オーバーサンプリングされたシンボルのシーケンスを表すために生成されたサンプルシーケンスであって、該サンプルシーケンスの第１および第２の位相にしたがって第１および第２のサンプルストリームを有するサンプルシーケンスを受信する工程と、第１および第２のサンプルストリームから第１および第２のシンボルを検出する工程であって、１つまたは複数の検出パターンＰａｔｔｅｒｎiを１つまたは複数のフラグＦｌａｇiに関連付ける動的に更新されるテーブルにしたがって進行し、Ｆｌａｇiは、Ｐａｔｔｅｒｎiに関連付けられたシンボルの幅と、サンプルシーケンスを生成するために使用されたオーバーサンプリングレートＬとの間の差を示す値を有する工程と、フラグの値を減らすために、１つまたは複数の等化パラメータを調整する工程とを実施するためのレシーバを備える装置が開示される。
【００２３】
コンピュータ可読媒体は、デジタル伝送リンクを通して受信されるデータをコンピュータシステムのプロセッサが処理することができるように、コンピュータ実行可能命令を記録され、コンピュータ実行可能命令は、オーバーサンプリングされたシンボルのシーケンスを表すために生成されたサンプルシーケンスを受信する命令と、第１および第２のサンプルストリームから第１および第２のシンボルを検出する命令と、チャネルの応答長を推定する命令とを含む。
【００２４】
コンピュータ可読媒体は、デジタル伝送リンクを通して受信されるデータをコンピュータシステムのプロセッサが処理することができるように、コンピュータ実行可能命令を記録され、コンピュータ実行可能命令は、オーバーサンプリングされたシンボルのシーケンスを表すために生成されたサンプルシーケンスであって、該サンプルシーケンスの第１および第２の位相にしたがって第１および第２のサンプルストリームを有するサンプルシーケンスを受信する命令と、第１および第２のサンプルストリームから第１および第２のシンボルを検出する命令であって、１つまたは複数の検出パターンＰａｔｔｅｒｎiを１つまたは複数のフラグＦｌａｇiに関連付ける動的に更新されるテーブルにしたがって進行し、Ｆｌａｇiは、Ｐａｔｔｅｒｎiに関連付けられたシンボルの幅と、サンプルシーケンスを生成するために使用されたオーバーサンプリングレートＬとの間の差を示す値を有する命令と、フラグの値を減らすために、１つまたは複数の等化パラメータを調整する命令とを含む。
【００２５】
本発明は、限定ではなく例示を目的として、添付の図面に示されている。図中、同様の参照番号は、類似の構成要素を指すものとする。
【発明を実施するための最良の形態】
【００２６】
以下では、添付の図面に例示された本発明の具体的な一実施形態について詳細に言及する。本発明は、具体的な一実施形態との関連のもとで説明されるが、これは、説明された実施形態に本発明を限定することを意図したものではなく、反対に、添付の特許請求の範囲で定められた本発明の趣旨および範囲に含まれる代替、変更、および等価の形態を網羅するものと理解される。
【００２７】
オーバーサンプリングされたデータがデジタル伝送リンクを通して送信される際、確定的ジッタおよび非確定的ジッタの存在下でロバスト動作を提供しうるデジタルレシーバを使用することが望ましい。オーバーサンプリングされたデータは、１ビットあたり２サンプル以上（例えば代表的なオーバーサンプリング係数Ｌ＝３の場合は３回）繰り返される。しかしながら、ビット値「ｂ」は、ＩＳＩゆえに、完璧な繰り返しサンプルシーケンス「ｂｂｂ」としてレシーバに到達する代わりに、「ｂ」に等しくない値をサンプルシーケンス内に含む可能性がある。例えば、ビット値「０」は、「０００」として到達するはずであるが、ジッタの影響によって、「００１」，「１００」，「１０１」など他の組み合わせとして到達するかもしれない。したがって、同一のシンボル（符号）を一致して示すとは限らない複数のサンプルから如何にしてシンボルを推測するかが課題となる。
【００２８】
前述のように、自明な手法の一つは、サンプルの多数決を採用する手法である。あいにく、これは、上手く機能しないことが多い。なぜならば、これは、伝送されるサンプルストリーム内のシンボル境界に関する識別を前提としており、この識別の決定および追跡それ自体が困難だからである。もう１つの手法は、遷移を検査することによって、または場合によってはトラッキングループを実装することによって、信号の位相を追跡する手法である。しかしながら、位相トラッキングは、非確定的ジッタによってもたらされ、理想のサンプリング位置（シンボル境界に対するサンプリングクロックの相対位置）に影響を及ぼすゆえに追跡を必要とする位相シフトと、チャネルメモリによってもたらされ、理想のサンプリング位置に影響を及ぼさないゆえに追跡を必要としない位相シフトとを区別することができない。位相トラッキングの一変形は、「ＩＳＩに起因する境界のシフトは高速のプロセスであり、トラッキングループの帯域幅よりも高いレートで生じる」という所見に基づき、トラッキングループの帯域幅に修正を加えることによって、チャネル内の変化に対するトラッキングループの感度を落とそうと試みる。この手法は、例えば発電機の周波数または無線リンクのドップラー効果等における低周波数の不安定性の問題を扱う場合は上手く機能するが、ケーブルクロストークに起因する広域のノイズスペクトル、ならびにスライサおよび位相ロックループ（ＰＬＬ）によって生じる高周波ジッタ等の問題は、位相トラッカーの性能を制約する。したがって、レシーバの性能を向上させることが望まれる。
【００２９】
図１は、本発明の一実施形態におけるデジタル伝送リンクを通してデータを受信するための方法およびシステムを示した最上位のブロック図である。トランスミッタ５１は、サンプリングされたデータを、チャネル５２を通して伝送する。オーバーサンプリングシーケンス検出部１００（以下では「レシーバ」とも称する）は、伝送された信号を受信して復号化する。検出部１００は、データの最適サンプリング位相のトラッキングではなく、サンプリングされたデータの検出信頼性のトラッキングに基づく。限定ではなく図の簡略化を目的として、例えば、「＋１」と「−１」、または「０」と「１」のように２値の一つを各シンボルによって表される２進文字を用いたリンクを有する一つまたは複数の代表的な実施形態が開示される。したがって、一つまたは複数の実施形態は、１ビット／サンプルのレートで動作するものとして開示され、この場合のオーバーサンプリング係数は、低く維持され、多くの場合に２〜４サンプルの値を取る。しかしながら、これらは、開示された実施形態の動作に対する必要条件ではなく、本発明は、（２値ではない）より複雑な文字を伴うリンクに対しても等しく適用でき、より高いオーバーサンプリング係数はもちろん、２ビット以上の情報を含むサンプルも同様に扱うことが可能である。
【００３０】
限定ではなく例示を目的として、ここに、Ｌ＝３のオーバーサンプリング係数とシングルビットサンプリングとを使用する検出部１００の動作について説明する。従来のシーケンス検出器と異なり、本発明による検出部１００は、異なるサンプリング位相（「（１／Ｌ）×ＵＩ」の名目上の位相オフセットを伴う）ごとにサンプルシーケンスを個々に解析し、最も信頼性の高い検出を可能にするサンプルシーケンスを選別する。検出部１００は、簡単なシンボル単位の検出を向上させるため、異なるサンプリング位相ごとに若干の後読み情報および先読み情報（すなわち先行データおよび後続データ）を検証する。また、検出性能を更に向上させるために、オーバーサンプリングされた情報が使用される。これは、オーバーサンプリングされたデータがしばしばサンプリング位相の決定と同時に廃棄される従来の「位相ピッカー」と対照的である。
【００３１】
本発明は、検出性能の点から見て計算効率に優れているので、従来のシーケンス検出器に対して可能であるデータレート，費用制約条件、またはその両方を遙かに超える場合にも、上手く適用することができる。
【００３２】
検出の性能は、本発明の一つまたは複数の実施形態を遷移駆動式の位相トラッキング（アナログまたはデジタル）に組み合わせることによって、更に向上させることができる。例えば、位相ノイズおよび周波数オフセットをトラッキングループによって低減させつつ、ＩＳＩおよび大きな「位相跳躍」を本発明の一つまたは複数の実施形態によって処理することができる。実際は、遅い位相変化および非確定的な位相ノイズを狭帯域幅のフィードバックループによって追跡しつつ、残りの位相偏移（ＩＳＩ等）を本発明によるオーバーサンプリング検出部１００によって処理する。
【００３３】
図２は、本発明の一実施形態におけるデジタル伝送リンクを通してデータを受信するための方法を示したフローチャートである。この方法は、第１のシンボルの復号化を行うステップ１２から始まって、以下の各ステップを経るものとして説明される。
【００３４】
ステップ１６では、（計Ｌ個の位相のなかから得られ、ステップ１４での第１の位相から始まる）各サンプリング位相について、観測窓Ｗを通してサンプル調査が行われる。この窓は、概して、現行シンボルに対応するＬ個のサンプルと、先行シンボルおよび後続シンボルからのいくつかのサンプルとを含む。例えば、Ｌ＝３のオーバーサンプリング係数を有するシステムの場合は、観測窓Ｗは、５または６のサンプルを含むのが通常である。Ｗ＝５の例では、現行シンボルからのＬ＝３のサンプルに加えて、１つの先読みサンプルと１つの後読みサンプルとを使用することができる。Ｗ＝６の例では、現行シンボルに対応するＬ＝３のサンプル加えて、２つの後読みサンプルと１つの先読みサンプルとを使用することができる。他の値のＬおよびＷを用いる場合も同様である。
【００３５】
次に、ステップ１８では、選択された上述のサンプルを使用して、可能なサンプリング位相ごとに、現行シンボル値の検出が実施される。後述されるように、検出の性能を向上させるためには、先読みサンプルおよび後読みサンプルはもちろん、サンプルストリームに関する過去の判定、検出部１００の出力ストリーム、またはその両方を使用することもできる。
【００３６】
ステップ２０では、各サンプリング位相について、検出信頼性が評価される（すなわち判定の不確実性が検査される）。
【００３７】
ステップ２２では、検出信頼性の最も高い（すなわち判定の不確実性が最も低い）サンプリングストリームが選択される。後述されるように、無用なストリーム切り替えを回避するためには、この選択のプロセスを、一つまたは複数の線形フィルタ、非線形フィルタ、もしくはその両方を使用して制御することができる。あるいは、もし特定の実施形態において必要とされるならば、フィルタリングを伴わないシンボル単位の切り替えを採用することもできる。
【００３８】
ステップ３２において、もし上述の切り替えプロセスがシンボル境界を交差すると判断された場合は、ステップ３６において、エラスティックバッファが調整される。概して、シンボル境界の交差は、旧位相と新位相との間の差の絶対値が「（１／２）×ＵＩ」を上回る場合に生じる。例えば、オーバーサンプリング係数が「Ｌ＝３」である場合は、このような交差は、「０→２」または「２→０」の遷移が起きた場合に生じる。Ｌ＝５のように、より大きいオーバーサンプリング係数の場合は、「０→４」，「１→４」，「０→３」，「４→０」，「４→１」，「３→０」のどの遷移もシンボルの廃棄または重複を引き起こすと考えられる。なぜなら、これらのいずれの場合も、旧位相と新位相との間の差が３または４であるからである、すなわち「（１／２）×ＵＩ」（この場合は２．５）を上回るからである。エラスティックバッファについては後述される。あるいは、境界交差に対処するために、サンプリングストリームごとに現行シンボルのポインタを調整することも可能である。
【００３９】
ステップ３８では、ストリーム内の残りのシンボルについて、上述のステップが繰り返される。
【００４０】
上記のステップは、以下において更に詳述される。
【００４１】
本発明によるこの手法は、サンプリング位相を正しいものと仮定して、現行シンボル値の推測と、このような推測の信頼性の評価とを試みるものである。よくあるのは、可能な全てのサンプリング位相が同じシンボル値をもたらす場合である。例えば、もしシンボルストリーム内に同じ値の（例えば値「１」の）シンボルが長く並ぶと共に、このような並びの中ほどで検出部１００が処理を行う場合、検出値は位相にかかわらず「１」であるため、サンプリング位相は問題にならない。更に、このような推測は極めて高信頼性である。すなわち、このような推測に関連した不確定性はゼロである。これは、些細な例ではあるが、シンボル値を正しく検出するために検出部１００が必ずしもサンプリング位相を常に知っている必要はないという事実を示している。
【００４２】
位相に寄らない不変の検出結果を有するシーケンスの別の例として、以下のような場合を考える（この例では、「Ｌ＝３」，「Ｗ＝５」である）。
位相０：「０００．１１１．１０１．１１１．０００」は、「０１０１０」として復号化される（下記参照）。
復号化データ：「--０-----０-----１----０---」
位相１：「００１．１１１．０１１．１１０．０」も、「０１０１０」として復号化される。
位相２：「０１１．１１０．１１１．１００．０」は、「１０１０ｘ」として復号化される（すなわち、１シンボルだけ先行する）。
【００４３】
上記の例では、検出データの３つのストリームがいずれも上記の共通した４シンボルを有するので、選択されたサンプリング位相にかかわらず、検出の判定を正しく下すことが可能である。
【００４４】
しかしながら、上記の例では、位相ごとに検出の信頼性が異なる。例えば、位相０のデータは、どのシンボルのサンプルパターンも一つのシンボル値のみを表しうるので、高信頼性で復号化することができる。位相０に対応するシンボルは、一つのシンボルを除き、全てシンボル境界が明確に定められている。サンプルパターン「１．１０１．１」も、曖昧さを伴うことなく復号化することができる。なぜなら、サンプル「１」からなる隣り合う二つのシンボルが、一つのサンプル「０」で隔てられているからである。これは、ＩＳＩが比較的高い場合に相当するので、ゼロピークはやや浅く、したがって、ナローシンボルが生じる。したがって、位相０に対応するシーケンスは、高信頼性で復号化され、「０」の累積「検出メトリック（検出の際の経路距離）」を有する。これは、不確定性のレベルが低いことを示している。この発想は、シンボルシーケンスの不確定性レベルを示すために、シンボルシーケンスに判定メトリック（以下では単にメトリックとのみ称されることもある）を割り当て、受信されたサンプルシーケンスからシンボルを復号化する際に、これらの判定メトリックを使用するというものである。
【００４５】
反対に、位相１および位相２のストリームについてデータを推測する場合は、位相０のストリームについてデータを推測する場合より信頼性が低い。サンプルパターンのなかには、ややこしく且つ曖昧に見えるものがある。それに、たとえ曖昧さを伴わずにシーケンスを検出可能な場合でも、激しいＩＳＩの存在下で、更に位相ジッタ、またはデータの周波数変調、またはこれらの両方が伴えば、検出に誤りを生じる可能性がある。したがって、位相１および位相２のストリームについてのメトリックは、位相０のストリームについてのメトリックより高く設定され、それによって、位相１および位相２のストリームについての検出プロセスの不確定性の増大（すなわち信頼性の低減）が示される。例えば、位相０ストリームにメトリック０に用意する一方で、位相１および位相２のストリームの両者にはメトリック２を用意することができる。
【００４６】
以下では、限定ではなく例示を目的として、レシーバの一実装例について提示された検出パターンのいくつかの例を説明する。
【００４７】
「Ｌ＝３，Ｗ＝５」の場合におけるデータ検出パターンの例
本明細書では、検出部１００のその他の実施形態のなかで、先行して検出された値（すなわち、先行シンボルについて決定された値）を使用する一実装形態と、このような先行して検出された値を使用しない一実装形態との二つの実施形態を取り上げて説明する。現行シンボルの検出の不確定性を低減させる目的で先行値を使用する方式は、判定帰還型検出方式、すなわちＤＦ方式と称される。このような方式は、検出の信頼性を向上させる（すなわちＢＥＲを低減させる）。これは、場合によってはハードウェアの追加によって達成される。
【００４８】
次の表は、ＤＦ検出器について提示された検出パターンを示したものである。なお、スペース（本明細書内および実際のハードウェア内の両方）を節約するために、表の前半分のみが明記されている。後半分は、パターンビットおよび検出値を反転させることによって得られる。表データをより簡潔に示すために、その他の要約方式を用いることも可能である。
【００４９】
【表１】
2007110702.tif 000003
【００５０】
表１において、ＤＦ値（「先行値」の欄に示されている）に依存するのは、「０  ０１１  ０」，「０  ０１１  １」，「０  １０１  １」，「０ １１０ １」（１６進法では０６，０７，０Ｂ，０Ｄ）の四つのパターンのみである。したがって、このようなパターンについて相応の検出品質劣化を伴う簡略化された非ＤＦ検出器を実装可能であると結論づけることができる。
【００５１】
ストリームの選択
各ストリームの現行シンボルについてメトリックが計算された後は、ストリーム選択を行うことができる。検出されたストリーム間の素早い切り替えは、検出の信頼性を低下させる恐れがあるので、通常は、所望量のいくらかの位相コヒーレンスを維持するため且つこのような素早いストリーム切り替えを阻止するために、何らかのフィルタリング（有限インパルス応答（ＦＩＲ）フィルタリング，無限インパルス応答（ＩＩＲ）フィルタリング，非線形フィルタリング等）を使用することができる。
【００５２】
別のストリームに切り替える判定に達する前に、特定の長さの過去の検出履歴を考慮すれば、検出部１００をより正確にすることができる。なぜならば、前述のように、ＩＳＩ，位相ジッタ，周波数変調，クロック周波数オフセット等の一つもしくは複数の独立した作用、またはその他の作用は、シンボル境界に影響を及ぼすからである。ジッタおよびある程度までのＩＳＩ等の、いくつかの作用は、位相コヒーレンスが短い、すなわちシンボル単位の変化率が高い。パターンデコーダは、各ストリーム内において、このような短期シフトを扱う。
【００５３】
周波数オフセットまたは周波数変調等のその他の作用は、概して、非常に長い位相コヒーレンス期間を有するので、パターン検出器だけで扱うのに適さない。このような場合は、ストリームの切り替えが実施され、これは、サンプリング位相のトラッキングを（間接的に）実現する。
【００５４】
ＤＶＩ／ＨＤＭＩアプリケーションについての一実施形態では、フィルタは、単純に、ストリームごとの単位で取られる移動平均（すなわち、１−ＤフィルタのＬで）として実装することができ、次いで、非線形の閾値化が続く。これは、現行ストリームと候補ストリームとの間のメトリックの差がアプリケーション依存の特定の閾値を超えない限り、ストリームの切り替えを阻止する。
【００５５】
一実施形態では、最小メトリックを有する候補ストリームが選択される。ただし、その他の方針も同様に使用可能である。
【００５６】
シンボル値が最終的に選択される前に、後述されるように、エラスティックバッファの助けを借りて、候補ストリームをいくらか調整する必要がある場合もある。
【００５７】
ストリームの切り替えおよびエラスティックバッファの役割
新しい候補ストリームを選択するプロセスにおいて、もし現行ストリームと提案ストリームとの間の位相差が「Ｌ／２」を超える（すなわちＵＩ／２の位相跳躍を超える）ならば、検出プロセスは、シンボル境界を交差する。この場合は、検出部１００によって追加のステップが取られない限り、一つのシンボルの重複または廃棄（位相跳躍指示による決定にしたがった）が原因で、誤った検出がなされる結果となる。
【００５８】
例えば、ＵＩの冒頭に近いストリーム（例えば、オーバーサンプリング係数がＬ＝３のシステムの場合は位相０のストリーム）を使用しているときに、ＵＩの終端にあるストリーム（例えば、この場合は位相２のストリーム）を選択した場合は、シンボル境界が交差される。そして、必要なステップが取られない限り、検出されたストリームから一つのシンボルが失われる（すなわち廃棄される）。
【００５９】
反対に、もし位相が、「ＵＩ／２」またはそれを上回る距離だけ反対方向に移動する（例えば、上述の例では位相２のストリームから位相０のストリームに移動する）ならば、シンボルは、二度にわたってサンプリングされる可能性がある。これは、検出されたストリーム内にシンボルの重複を生じる。
【００６０】
上記の問題に対処する可能な解決法の一つは、ストリーム選択の実施に先立つエラスティックバッファ（ＥＢ）を追加することを含む。より具体的には、可変のシンボル遅延を追加することを含む。位相が前進する（例えば、上記の例では、位相０のストリームから位相２のストリームに移動する）場合、エラスティックバッファの長さ（すなわち、遅延の大きさ）は、一つのシンボルだけ減分される。反対に、位相が後退する（例えば、上記の例では位相２のストリームから位相０のストリームに移動する）場合、エラスティックバッファの長さは、一つのシンボルだけ増分される。
【００６１】
なお、上記の説明における、理論上のエラスティックバッファ（および可変遅延）の使用は、概念の例示を目的としたものであって、限定を意図するものではない。実際の実装形態では、各種の手法を用いることができる。例えば、マルチプレクサと、シンボル複数個分のデータを保持する共有レジスタとに基づいた並列の実装形態を用いることができる。しかしながら、以下の説明では、実際のレシーバならば、データの緩衝、遅延、またはその両方の働きを十分になしえる任意の実装形態を使用可能である、という了解のもとに、エラスティックバッファの概念を引き続き用いるものとする。
【００６２】
現行シンボルの検出が為された後、デコーダがメトリックの計算および切り替えの判定を行う場合、随意的に、エラスティックバッファの長さも調整される。しかしながら、新しい候補ストリームは、次のシンボル間隔中に選択される。要するに、位相の切り替えプロセスは、シンボルの検出と検出との間に生じるものとして、つまり前のシンボルが検出された後で且つ次のシンボルが処理される前に生じるものとして可視化することができる。その他の実装形態も可能である。例えば、現行シンボルの処理中に、いっさいの遅延を伴わずに切り替えることも可能である。しかしながら、このような手法は、多くの実例において、検出品質の大幅な向上を伴わずにいたずらにハードウェアを複雑にする可能性がある。
【００６３】
例えば、起動時または新規のリンク接続の確立時など、レシーバの動作が不安定な期間中は、エラスティックバッファが調整の限界に達する可能性がある。このような場合は、バッファ（すなわち、遅延の量）を強制的に中心合わせしなおす必要がある。これは、結果としてデータ損失を引き起こす恐れがある。このような再中心合わせは、エラスティックバッファが調整の限界にぶつかったために、シンボル境界の交差時に複製または廃棄されるシンボルを補うことができずに多重誤りを生じることによって引き起こされるエラー伝搬現象を阻止する。
【００６４】
再中心合わせのプロセスは、エラスティックバッファ長がゼロ未満に減少する（すなわち、負の遅延を要求される）こと、またはエラスティックバッファ長が最大長さ限界を超えて増大することの検出を通じて作動する。いずれの場合も、バッファ長（すなわち遅延）は、事前に定義された値に設定される。この値は、固定値でもよいし、または必要に応じて適応式に調整可能でもよい。
【００６５】
ＥＢlengthで表される長さを有するエラスティックバッファを用いた簡単な一実装形態では、「ＥＢlength／２」の固定中心値を使用することができる。例えば、ＥＢlengthが７シンボルである場合は、中心値を３シンボルに設定することができる。
【００６６】
あるいは、より精巧な実装形態の場合は、エラスティックバッファが溢れようとする傾向を追跡することによって、最も境界交差の可能性が高い方向に沢山の緩衝用スペースが設けられるようにエラスティックバッファを再中心合わせすることができる。例えば、もし瞬間的な正の周波数オフセットが存在し且つレシーバのサンプラが受信データの位相より遅れる場合は、サンプリング位相は前進すると考えられ、ゼロ遅延限界にぶつかる可能性がある。このような場合は、バッファが再び限界に到達してデータ誤りを生じる可能性を低減させるために、バッファを最大遅延の２／３に再中心合わせすることができる。
【００６７】
全体構成
次に、本発明によるデータ検出の方法およびシステムについて、代表的な一実装形態の構成を説明する。図３は、本発明の一実施形態におけるデータ検出部１００を示した最上位のブロック図である。データ検出部１００は、パターン解析部１１０と、メトリックフィルタ１３０と、ストリーム切替部１４０と、エラスティックバッファ１２０と、候補ストリーム選択部１５０とを備える。
【００６８】
「Ｌ」倍でオーバーサンプリングされた受信データ１０１は、パターン解析部１１０に供給される。この解析ブロックでは、位相ごとに受信データパターンが解析され、値および検出メトリックからなる「Ｌ」個の候補ストリームが生成される。また、この解析ブロックは、サンプリング位相の推定値および等化測定の品質等のサイド情報１５２からなる追加ストリームを生成することもできる。この説明では、値（Ｖ）ストリーム１１１とメトリック（Ｍ）ストリーム１１２とに限定するものとする。
【００６９】
位相ごとのメトリックからなる合計「Ｌ」個のメトリックストリーム（以下では「生メトリック」とも称される）は、メトリック値の短期的な不安定性を抑え且つメトリックの内在的コヒーレンスを活用するために、メトリックフィルタ１３０によって更なる処理を施される。検出部１００は、概して、候補ストリームをシンボル単位で選択する代わりに、候補ストリームの呈する安定した品質変化の傾向に従おうとする。なぜならば、メトリックの推定値は、ストリーム内の全シンボルについて高信頼性であるわけではなく、それらをシンボル単位で（すなわちシンボルレートで）追跡しようとすると、余計な、誤った、または余計で且つ誤ったストリーム切り替えを生じうるからである。メトリックフィルタ１３０のブロックは、上記の目的を実現するとともに、検出部１００全体のトラッキングダイナミクスを大まかに決定する。
【００７０】
メトリックストリームがフィルタリングされると（以下では「クックド」メトリックとも称される）、「Ｌ」個のクックドメトリック１３１は、どのストリームを選択するかを決定するストリーム切替部１４０に送られる。ストリーム切替部１４０は、また、シンボル境界交差を生じた場合にエラスティックバッファ１２０の長さを制御することによって、緩衝用の遅延を調整する。候補ストリームの選択データは、「位相選択」信号１４２によって送られ、エラスティックバッファ１２０の遅延値は、「シンボル選択」信号１４１によって送られる。
【００７１】
エラスティックバッファ部１２０は、ストリーム切替部１４０で指定された量だけ候補ストリームを遅延させる。「Ｌ」個の候補ストリームは、それぞれ同数のシンボル間隔だけ遅延される。実際の一ハードウェア実装形態では、エラスティックバッファ部１２０を、候補ストリームと、適切なタップを選択するためのマルチプレクサ配列との間で共有されるマルチタップ付きシフトレジスタとして実装することができる。例えば、ストリームごとに長さが可変のシフトレジスタなど、その他の実施形態も同様に可能である。
【００７２】
遅延された候補ストリームは、候補ストリーム選択部（ＣＳＳ）１５０に供給される。候補ストリーム選択部１５０は、「Ｌ」個のストリームのうちの一つのみを保持し、残りのデータを廃棄する。保持されたストリームは、検出部１００からの出力データストリーム１５１を表す。本発明に備わる重要で且つ有利な一面は、検出部１００の接続形態全体にフィードバックループが存在しないことにある。これは、検出器１００を、高度に並列化された形態で容易に実装可能にするとともに、この技術を、例えば、ギガビット毎秒またはそれを上回るデータレート等の超高速動作に適したものにする。
【００７３】
パターン解析部
図４は、本発明の一実施形態におけるパターン解析部１１０を示したブロック図である。受信データサンプル２０１は、指定された遅延を有するシフトレジスタ２１０に送られる。シフトレジスタ２１０は、「ＬSR（＝２Ｌ＋ＮLB＋ＮLA−１）」個のサンプルを保持するのに十分な長さである。ここで、「Ｌ」は、オーバーサンプリング係数であり、「ＮLA」は、パターン解析に必要とされる先読み（ＬＡ）サンプルの数であり、「ＮLB」は、後読み（ＬＢ）サンプルの数であり、「ＬSR」は、シフトレジスタ２１０の最短の長さ（サンプル数で表される）である。
【００７４】
例えば、「３」倍のオーバーサンプリングにおいて「５」つのサンプルパターンが解析される場合（すなわち、ＬＡサンプルおよびＬＢサンプルが一つずつであって、判定帰還（ＤＦ）サンプルは含まれない）、シフトレジスタ２１０は、「７」つのサンプルを並列に生成する。シフトレジスタ２１０を使用するこの特定の一代表的実施形態は、動作の理解を容易にするが、他方では、その他の実装形態も可能である。例えば、データの並列処理（高データレートの場合に必要となることがある）を容易にするため、そして複雑性、消費電力、またはその両方を低減させるために、マルチプレクサを伴う並列レジスタを用いることが可能である。
【００７５】
シフトレジスタ２１０からは、サンプル２１１がパターン解析素子２２０，２３０，……，２４０の配列に送られる。図４では、明確さを期するために、最初の二つと最後の一つのパターン解析素子のみを図示する。各パターン解析素子２２０，２３０，……，２４０は、各自に提示された応分のサンプル群をシンボル単位で監視し、最も可能性の高い検出値と推定メトリック、および（必要に応じて）その他のサイド情報を推定する。その結果、候補値とそれらのメトリックとの「Ｌ」個のペアが、回線２０２，２０３を通してそれぞれ送り出される。
【００７６】
パターン解析素子
図５は、本発明の一実施形態におけるパターン解析素子を示したブロック図である。合計「ＬPA（＝ＮLB＋Ｌ＋ＮLA）」個のサンプルの集まりが、回線３０１を通じてパターン解析部１１０から受信され、ルックアップテーブル（ＬＵＴ）３１０に入力される。また、レジスタ３２０からは、事前に決定された値３２１が受信される。レジスタ３２０は、シンボルごとの単位で、すなわち検出器の１サイクルあたり一度の割合で更新される。
【００７７】
ルックアップテーブル３１０は、値「Ｖ」３１２とメトリック「Ｍ」３１１と、位相および等化等に関する追加のサイド情報３１３とを生成する。ルックアップテーブル３１０は、読み出し専用メモリ（ＲＯＭ）またはランダム論理回路を使用して実装することができる。候補値「Ｖ」３１２は、レジスタ３２０に格納され、次のシンボルを処理する際に用いられる。
【００７８】
エラスティックバッファ
図６は、本発明の一実施形態におけるエラスティックバッファ１２０を示したブロック図である。合計「Ｌ」個の候補ストリームが、回線４０１を通して受信され、「Ｌ」個のシフトレジスタ４１０，４２０，……，４３０の配列にシンボル単位でシフトされる。各シフトレジスタ４１０，４２０，……，４３０の適切なタップは、遅延信号４０２による制御のもとで、対応する合計「Ｌ」個のマルチプレクサ４４０，４５０，……，４６０によって選択される。マルチプレクサ４４０，４５０，……，４６０の出力４４１，４５１，……，４６１は、「Ｌ」個の候補ストリームの集まりであり、適切に遅延されており、信号４０５を介して送り出される。エラスティックバッファ１２０としては、例えば、適切なマルチプレクサを用いて「Ｌ」個のストリーム間で共有される並列ロードレジスタ、またはその他の類似の実装形態等の、その他の実装形態も可能である。
【００７９】
ストリーム切替部
図７は、本発明の一実施形態におけるストリーム切替部１４０を示したブロック図である。適切にフィルタリングされた（クックド）メトリックＭinが、回線５０１を通してメトリックフィルタ１３０から受信される。クックドメトリックは、Ｌ方向コンパレータ５１０に送られる。Ｌ方向コンパレータ５１０は、受信されたメトリックをシンボル単位で比較し、「Ｌ」個の候補ストリームのなかで正しい可能性の最も高いストリームを決定する。本実施形態では、メトリックが小さいほど、候補値に関する判定が正しい可能性が高くなる。したがって、このような場合のコンパレータ５１０は、最も小さいクックドメトリックを有するストリームを決定すればよい。そして、このようなストリームの番号が、回線５１１を通して切り替えフィルタ５２０に送られる。
【００８０】
切り替えフィルタ（ＳＦ）５２０は、候補ストリームがメトリックの短期的小変化に応じて切り替わる事態を回避するために、線形フィルタリング、非線形フィルタリング、またはその両方を実施する。これは、概して、システムの動作を向上させる。フィルタリングのアルゴリズムは、動作環境に依存する。多くの場合（例えば、ＤＶＩ／ＨＤＭＩ実装形態等）は、固定式または適応式の閾値化等の簡単な非線形方式が上手く機能する。例えば、ストリームの切り替えは、現在使用されているストリームのメトリックと、提案されたストリームのメトリックとの間の差が、指定された実装依存値より大きい場合にのみ行われる。
【００８１】
次いで、目下のところ決定された候補ストリームの選択子「位相選択」信号が、回線５２１を通して候補ストリーム選択ブロック１５０へと送り出される。この位相選択信号は、エラスティックバッファコントローラ（ＥＢＣ）５３０にも送られる。エラスティックバッファコントローラ５３０は、選択された候補ストリームにおける変化を監視し、もしこの選択がいずれかの方向にシンボル境界を交差するならば、エラスティックバッファの遅延を調整する。そして、現在必要とされる量の遅延が、回線５３１を通してエラスティックバッファ１２０へと送り出される。
【００８２】
エラスティックバッファコントローラ
図８は、本発明の一実施形態におけるエラスティックバッファコントローラ５３０を示したブロック図である。提案された候補ストリーム番号の「位相」信号６０１が切り替えフィルタ５２０から受信され、レジスタ６１０において１シンボルぶんだけ遅延される。次いで、減算器回路６２０および絶対値回路６３０によって、現行ストリームの番号と先行ストリームの番号との差が決定される。
【００８３】
選択子の差の絶対値は、回線６３１を通して二方向コンパレータ６４０に送られ、この二方向コンパレータ６４０は、差が「Ｌ／２」を上回るか、すなわち差がシンボル間隔の二分の一より大きいか否かを決定する。もしそうならば、回線６４１上に、境界交差条件のフラグが立てられる。これは、ＡＮＤゲート６６０，６７０の助けによって遅延アキュムレータ６８０で値調整を行うこと可能にする。
【００８４】
遅延調整の方向は、コンパレータ６５０によって決定される。コンパレータ６５０は、サンプリングが入力データに先行するか、または遅行するかを決定する。境界交差の場合は、コンパレータ６５０によって為された比較の結果にしたがって、遅延アキュムレータ６８０の値が増分または減分される。再中心合わせの論理６９０は、範囲外の遅延値をチェックし、そのような場合に遅延アキュムレータ６８０の値をリセットする。再中心合わせのプロセスについては、前述の説明を参照のこと。
【００８５】
適応技術および適応データ抽出
以上に説明された実施形態の検出器は、受信されるオーバーサンプリングされたデータストリームのデータ検出の信頼性を追跡することを含むものであり、適応性のレシーバを実装する方法を提供している。しかしながら、他方では、このような検出器の適応性行為を拡張するために、更なるステップを取ることも可能である。例えば、データ検出プロセスの際に利用可能である情報を使用すること、および全体的なリンク性能を更に高めるためにレシーバパラメータ、トランスミッタパラメータ、またはその両パラメータを調整すること等が挙げられる。
【００８６】
これらの動作中、上述された実施形態の検出器は、データサンプルパターンを解析し、データストリーム値を推定（すなわち推測）しようと試みるとともに、その推測されたデータ値の信頼性を推定しようと試みる。また、データストリームに関する追加情報を推定可能であるように、検出器を拡張することもできる。例として、データサンプルのサンプリング位相を推定すること、およびオフセットを最小化するために、フィルタリングされた推定値を使用してサンプラの静的位相オフセットを調整すること等が挙げられる。したがって、データ検出の信頼性は、一つまたは複数のサンプルパターン内の不確定性の大きさを低減させることによって向上させることができる。静的位相オフセットの変化率は、概して低いので、例えば、簡単なハードウェアの形態、または部分的にひいては全体にソフトウェアの形態等を用いることによって、位相オフセットを効果的に追跡および排除することが可能である。この手法は、オーバーサンプリングレシーバに使用できる適応性技術のほんの一例を表しているに過ぎない。
【００８７】
上記の例に加えて、その他の情報も、パターン解析段階にある検出器によって抽出することができる。一実施形態において、検出器は、最小シンボル幅、平均シンボル幅、またはその両方（いずれも１シンボルあたりのサンプル数で表される）を解析することによって、チャネル応答長の推定値を生成することができる。例えば、ナローシンボル（すなわち、オーバーサンプリング係数を「Ｌ」で表すと、「Ｌ」個未満のサンプルからなるシンボルのこと）が多数検出された場合は、チャネル応答が適切に等化されていないことを意味する。このような場合は、検出器は、この情報を使用することによって、検出器の入力におけるナローシンボルの数を減らす方向に、一つまたは複数のイコライザパラメータを変更することができる。検出器は、等化ミスの符号を必ずしも推論可能である必要はない、すなわち、チャネル応答が過大等化されたかまたは過小等化されたかを必ずしも推論可能である必要はない。しかしながら、等化曲線は、明確な最小値を有することが多く、この最小値は、両方向に微調整を施すこと、および全体的な等化がどの方向に向上するかを決定することによって見いだすことが可能である。
【００８８】
別の一実施形態では、検出器は、データ受信の全体的性能を最適化しようと試みる。例えば、高い信頼性で、すなわち値が正しい可能性が許容可能に高い方式で、検出器によってデータ値を推定可能である限り、等化は、ノイズ量の減少に置き換え可能である。言い換えると、たとえナローシンボルの数が多くても（ＩＳＩの量が多いことを意味する）、非確定的ジッタ、周波数オフセット、またはその両方が小さければ、検出器は、たとえ等化ミスの存在下でも、許容可能に高い信頼性でデータを検出することができる。レシーバは、チャネル応答長を低減させるために、例えばイコライザの応答ゼロ位置を調整する等によって、イコライザのゲインをより高い周波数に引き上げる代わりに、ノイズの増大を回避して、チャネル応答を長い状態に維持する。このような場合は、レシーバの個々の構成要素（イコライザ等）の最適化ではなく、レシーバの全体的性能の最適化に目的がある。
【００８９】
別の一実施形態では、検出器は、シンボル長のヒストグラムを構築し、そのヒストグラムを使用することによって、等化ミスに起因するナローシンボルを、例えば周波数オフセット、非確定的位相ジッタ、またはその両方等のその他の要素に起因するナローシンボルと区別する。更に、推定データ値は、検出器にとって既知であり、そのためポストカーソルシンボルの検出に（すなわち、検出フィードバックアーキテクチャで）使用することができるので、データを利用した様々な適応性の方法が実装可能である。例えば、一実施形態において、検出器は、一つまたは複数の候補ストリーム内の一つまたは複数の同期データフィールド（ＤＶＩまたはＨＤＭＩの実装形態では復帰間隔）を検査可能であり、次いで、検出されたこのような同期情報を使用することによって、各候補ストリーム内の値を推測する際の信頼性を個々に推定する。なお、これが可能であるのは、伝送されたデータパターンが検出器に知られているためである。こうして、検出器は、コード違反、無効同期パターン、またはその両方を単に観察するだけで、誤った推測を発見することができる。
【００９０】
その他の実施形態では、検出器は、候補ストリームに関してより多くの情報を提供しうるメトリックに基づく技術を使用することができる。非適応性の実装形態のレシーバでは、通常はシングルビットのメトリックが使用されるのに対して、適応性の検出器では、マルチビットメトリックを使用することができ、これは、データ検出の信頼性の推定をより正確にするとともに、選択された一つのチャネル（または全ての候補チャネル）に関して累積メトリックの最小化を適応基準として使用する。
【００９１】
適応判定帰還型検出器の例
提案された適応性の技術のいくつかを示すために、以下では、代表的な判定帰還型データ検出器について説明する。検出器の一実施形態について上述されたように、データ値およびメトリックは、解析表（表１など）を使用して提供することができる。このような表は、前述のように、単純な適応性の検出器を構築するのに十分である。他方で、適応基準は、選択された候補ストリームについて、（例えば、「３０」個のシンボル等の特定の観測窓を通して）フィルタリングされた最小メトリック値である。検出器は、更に、最小の累積メトリックを得るために、チャネルの等化、インピーダンスの整合、またはその両方の調整を試みることができる。このような方式は、特定用途に対して十分に上手く機能するが、より精巧な手法を使用することによって、より優れた結果をもたらすことも可能である。
【００９２】
例えば一実施形態において、パターン解析表は、メトリックおよびデータ値に加えて、位相情報およびナローシンボルの指標を提供することができる。なお、前述のように、本明細書内およびハードウェア内のスペースを節約するために、表の前半分のみが明記されている。表の後半分は、パターンビットおよび検出値を反転させることによって得られる。
【００９３】
【表２】
2007110702.tif 000004
【００９４】
表２では、ナローシンボルのフラグ値が示されている。シンボルが「２」サンプル幅であるならば、フラグ値は「１」に設定され（パターン「０  １１０  ０」を参照）、シンボルが「１」サンプル幅であるならば、フラグ値は「２」になる（パターン「０  ００１  ０」を参照）。一般に、フラグ値は、「（フラグ値）＝Ｌ−（シンボル幅）」として設定される。
【００９５】
適応性のレシーバは、選択されたストリーム（または、全ての候補ストリーム）から得られたフィルタリング後のフラグを適応基準として使用する。あるいは、もし必要ならば、フィルタリング後のフラグ値が最小になるように、イコライザを調整することもできる。この条件は、データ検出器への入力において、アイ開口が優れた水平な形を呈する状態に相当するので、優れた等化を意味する。
【００９６】
位相欄は、サンプラ内で位相オフセットを適応的に相殺するために使用することができる。例えば、サンプラのクロッキング機構内で遅延線を駆動して、回復後のクロックに対するサンプリング位相を「０．．Ｔｓ／Ｌ」の範囲内に（すなわち、名目サンプラ間隔以下に）調整するために、フィルタリング後の位相値（移動平均等）を使用することができる。選択された候補ストリームから得られる情報は、好ましくは、フィルタリング後の位相値が可能な限りゼロに近づくまでサンプリング遅延を適応的に調整するために使用される。この状態は、最適サンプリング条件を表しており、選択されたストリームから得られる低減されたメトリック値によって更に検証することができる。
【００９７】
図９は、本発明の一実施形態を実装するために用いられる代表的なコンピュータシステム３００を示している。コンピュータシステム３００は、一つまたは複数の中央処理装置（ＣＰＵ）３０１と、ランダムアクセスメモリ（ＲＡＭ）３０２と、読み出し専用メモリ（ＲＯＭ）３０３と、一つまたは複数の周辺装置３０５と、一次ストレージデバイス３０６，３０７とを含む。本分野において周知のように、ＲＯＭは、データおよび命令をＣＰＵ３０１へと単方向に送る働きをするのに対し、ＲＡＭは、データおよび命令を双方向に送るのが通常である。ＣＰＵ３０１は、概して、任意の数のプロセッサを含むことができる。一次ストレージデバイス３０６，３０７は、任意の適切なコンピュータ可読媒体を含むことができる。二次ストレージ媒体３０８は、概して大容量のメモリデバイスであり、ＣＰＵ３０１に双方向的に接続され、追加のデータ記憶容量を提供する。大容量メモリデバイス３０８は、コンピュータコードおよびデータ等を含むプログラムを格納するために使用されうるコンピュータ可読媒体である。大容量メモリデバイス３０８は、磁気テープリーダ、紙テープリーダ、またはその他の何らかの周知デバイスの形態を取ることができる。なお、大容量メモリデバイス３０８内に保持されている情報は、適切に思われた場合には、仮想メモリとしてＲＡＭ３０２の一部に組み込むことが可能である。
【００９８】
ＣＰＵ３０１は、また、一つまたは複数の入出力装置３０９にも繋がれる。入出力装置３０９としては、ビデオモニタ，トラックボール，マウス，キーボード，マイクロフォン，タッチ検知式ディスプレイ，トランスデューサカード読取装置，磁気テープ読取装置，紙テープ読取装置，タブレット，スタイラス，音声認識装置，筆跡認識装置、または言うまでもなくその他のコンピュータ等を含むその他の周知の入力装置等のデバイスが挙げられるが、これらに限定されない。最後に、ＣＰＵ３０１は、ネットワーク３０４との接続を使用して、例えば、デジタル伝送リンク，インターネットネットワーク，イントラネットネットワーク等の通信リンク，コンピュータネットワーク，通信ネットワーク３０４に繋がれる。ＣＰＵ３０１は、上述されたオーバーサンプリングされたデータの受信、送信、またはその両方を実施するにあたって、このような通信リンクを通してネットワークに対する情報の送受信を行うと考えられる。このような情報は、ＣＰＵ３０１を使用して実行される命令のシーケンスとしてしばしば表され、例えば搬送波に組み込まれたコンピュータデータ信号等の形態でネットワークに対して入出力することができる。上述されたデバイスおよびデータは、コンピュータハードウェアおよびコンピュータソフトウェアの分野の当業者によく知られたものである。コンピュータシステム３００は、オーバーサンプリングされた一つまたは複数のデータストリームを受信した後、伝送されたシンボルを復号化するため、ならびに上述された受信、検出、およびその他の処理のうちのいずれか一つまたは複数を実施するために、これらのデータストリームを処理する。このような受信、検出、およびその他の処理のうちのいずれか一つまたは複数を実施するためのコンピュータ命令は、ＲＡＭ３０２、ＲＯＭ３０３、一次ストレージデバイス３０６，３０７、およびその他の任意のコンピュータ可読媒体のうちのいずれか一つまたは複数に格納することが可能である。
【００９９】
以上に記載された本発明の実施形態は、例示および説明を目的として提供されている。これらは、記載された厳密な形態に発明を限定することを意図しておらず、記載された教示内容に照らせば、その他の変形形態および実施形態も可能である。したがって、本発明の範囲は、この詳細な説明によって限定されるのではなく、添付の特許請求の範囲によって限定される。
【図面の簡単な説明】
【０１００】
【図１】本発明の一実施形態におけるデジタル伝送リンクを通してデータを受信するための方法およびシステムを示した最上位のブロック図である。
【図２】本発明の一実施形態におけるデジタル伝送リンクを通してデータを受信するための方法を示したフローチャートである。
【図３】本発明の一実施形態におけるデータ検出器１００を示した最上位のブロック図である。
【図４】本発明の一実施形態におけるパターン解析部を示したブロック図である。
【図５】本発明の一実施形態におけるパターン解析素子を示したブロック図である。
【図６】本発明の一実施形態におけるエラスティックバッファを示したブロック図である。
【図７】本発明の一実施形態におけるストリーム切り替え部を示したブロック図である。
【図８】本発明の一実施形態におけるエラスティックバッファコントローラを示したブロック図である。
【図９】本発明の一実施形態を実装するために用いられる代表的なコンピュータシステム３００を示したブロック図である。
【図１】
2007110702.tif 000005
【図２】
2007110702.tif 000006
【図３】
2007110702.tif 000007
【図４】
2007110702.tif 000008
【図５】
2007110702.tif 000009
【図６】
2007110702.tif 000010
【図７】
2007110702.tif 000011
【図８】
2007110702.tif 000012
【図９】
2007110702.tif 000013
【外国語明細書】
1. TITLE OF THE INVENTION
ADAPTIVE RECEPTION TECHNIQUES FOR OVER-SAMPLED RECEIVERS
2. DETAILED DESCRIPTION OF THE INVENTION
FIELD OF INVENTION
[0001]  The invention pertains in general to data reception over digital transmission links, and in particular to digital receivers that offer robust and adaptive operation in the presence of deterministic and non-deterministic jitter.
BACKGROUND OF THE INVENTION
[0002]  High-speed digital communication represents an increasingly important technology.  An increasing number of analog communication links are replaced with high-speed serial links offering reliability, link quality (e.g. low Bit Error Rate (BER)), simplicity of use and low cost to end users.
[0003]  For example, modern computer displays and High-Definition Television (HDTV) displays often employ high-speed serial links based on industry standards such as Digital Visual Interface (DVI) and High Definition Multimedia Interface (HDMI).  The aggregate data rate for such links is generally in the Gigabits/second range.  For example, the DVI link baud rate approaches 5 Gigabaud, with many vendors offering products exceeding this limit by non-trivial margins.
[0004]  Another example is a serial Advanced Technology Attachment (ATA) interface for connecting storage devices in computer systems.  This application also requires data rates of about 2 Gigabits/second and above.
[0005]  Still other examples are high-speed Local Area Network (LAN) applications such as Gigabit Ethernet (such as 1000Base-T) as well as emerging 10-Gigabit Ethernet (10GBASE-T) standards.
[0006]  The links underlying these and similar examples have many common requirements.  They require high-speed operation, an ability to tolerate substantial deterministic and/or non-deterministic data jitter, an ability to tolerate substantial frequency offset and/or frequency modulation (FM), good effective BER, an ability to operate with small horizontal eye openings (for example a 0.4 unit interval (UI) eye width specification is not uncommon), high tracking bandwidth, fast phase acquisition and good tracking range, to name a few.
[0007]  One popular implementation of a receiver for such a high-speed serial link is based on receiver data over-sampling combined with so called 'Phase picking' to select 'good' sample streams.  Common DVI link implementations use an over-sampling factor of L=3, and data sampling is often done without any phase tracking.  Once the over-sampled data stream is available, the phase picker retains one sample out of L samples by using some type of phase tracking approach (such as transition phase averaging) in order to select the optimal sample.
[0008]  While such a technique is relatively simple and inexpensive to implement, it suffers from a variety of problems.  For instance, some line codes employed today have very wide frequency spectrums (i.e. poor run length (d, k)-constraints).  This problem is especially acute for DVI/HDMI links which can have runs from 1 to 14 symbols.  For reasons of stability and robustness, phase pickers have to operate with relatively narrow tracking bandwidths.  The downside of such an approach is an inability to track deterministic jitter present in the over-sampled data.  Narrow tracking bandwidth also places limitations in settling speeds (i.e. phase acquisition times), causes poor transient performance and sometimes narrows the capture range.
[0009]  One fundamental problem of the phase picking approach is its inability to use all available over-sampled data in the detection process.  Common phase picker implementations simply discard L-1 samples for each symbol, retaining just one out of L received samples.  Hence, the over-sampled data is used only for phase tracking and not for data detection.  Thus, the phase picker discards many data samples which carry useful information about the symbol which is being decoded.  In common DVI/HDMI implementations, about 2/3 of the information available to the receiver is simply discarded.
[0010]  If the data rate is moderate and the eye opening is adequate, such as when the link employs a short high-quality Shielded Twisted Pair (STP) cable, the loss caused by such a phase picking approach is tolerable and makes for an inexpensive receiver implementation.  However, once the data rate is increased and/or a longer or lower quality cable is used, such as an Unshielded Twisted Pair (UTP) cable, the available eye width becomes smaller and receiver performance begins to degrade rapidly.
[0011]  For example, it can be shown that such a traditional phase-averaging phase picker requires an eye opening that is greater than 2 sampling intervals in order to reliably detect data symbols.  In case of a common implementation using L=3 samples, this implies that the eye width should be at least 0.7UI if data errors due to phase picking are to be avoided.  Such a limitation is quite acceptable at low speeds and/or short transmission distances, but becomes an expensive luxury at higher data rates and often requires good equalization and pre-emphasis techniques which are relatively expensive.
[0012]  In addition, many traditional phase picking approaches are difficult to implement at high speeds and/or high over-sampling factors because they generally do not provide an easy way for parallel-processing of the samples.  From a receiver implementation standpoint, it is often desirable to have the receiver complexity depend linearly on the over-sampling factor, thus providing for narrower eye specification.  Many existing phase picking methods do not exhibit such a linear increase in complexity and instead grow with the square of the over-sampling factor or even more.
[0013]  An alternative class of receivers well known in the art is represented by so called 'Majority Voting' over-sampled receivers.  This technique was widely used in the past for low speed links and offers some linear and/or non-linear filtering of the data, often improving the robustness and BER of the link, provided a good eye opening is available, such as an eye opening of 0.9UI or wider.  Such receivers are also inexpensive to implement, which is an important reason for their popularity in the past.  However, once the eye opening begins to shrink, as is common is today's high-speed serial links, the performance of such a 'Majority Voting' receiver quickly becomes unsatisfactory.  Furthermore, in general such a receiver has difficulty handling data streams with high frequency offset and frequency modulation, as well as data streams with high non-deterministic jitter.
[0014]  Compared to traditional 'analog' clock and data recovery (also known as CDR) techniques, data detections and/or phase tracking in the digital domain often have the advantages of portability between different fabrication processes, simple design and low cost.  In addition, many non-linear detection and/or filtering methods that might be unavailable for analog implementation are often inexpensive to implement in the digital domain.  Furthermore, even though conventional analog CDR often provides good phase tracking performance, it seldom contributes to improved data detection per se; most analog CDRs have a simple sampler for data detection that takes just one sample per symbol.  Thus, if substantial eye closure due to high deterministic jitter is present, analog CDR performance becomes unsatisfactory.
[0015]  In general, the best receiver operation performance may be achieved if every symbol is detected (i.e. sampled) at the point of maximum eye opening height.  However, such a sampling point is difficult, and often impossible, to find.  In order to determine an 'optimal' sampling point, a receiver usually consults data transitions for guidance.  However, such data transitions generally do not occur right at symbol boundaries.  Their position is affected by deterministic jitter (caused by inter-symbol interference (ISI) determined by the history of preceding symbols), non-deterministic jitter introduced by noise in various components of the transmission system (such as clock generator phase noise, imprecise slicing of signal by sampler resulting in amplitude and time offsets, additive and multiplicative channel noise, etc.), crosstalk-induced jitter and frequency offset and frequency modulation often present in such a link.  In addition, the link often suffers from nonlinear distortions that further complicate reception.
[0016]  Because the location of transitions may not provide reliable information regarding an optimal sampling point for the current symbol, the receiver may attempt to filter the sampling phase information derived from the observation of the transitions in order to arrive at some acceptable sampling phase.  For instance, many existing implementations apply either a linear filter with low-pass transfer characteristics or some nonlinear filter with noise suppression properties (e.g. a median filter).  However, the sampling phase position obtained with such a method is often non-optimal in the symbol-by-symbol sense.  This is because it is difficult to separate deterministic components (such as ISI and crosstalk) from pure non-deterministic phase noise and frequency offset.  While non-deterministic phase noise should be filtered out (i.e. suppressed), the deterministic part as well as the frequency offset should be tracked in order to provide good receiver performance.  A filtering approach is often unable to make such a distinction and thus, overall detection performance suffers.
[0017]  There are other well-known methods that attempt to improve the performance, such as sequence detection method based on the Viterbi Algorithm (VA) and its modifications, as well as feedback detection schemes and Decision Feedback Equalization (DFE).  These approaches work well and allow to account for ISI and other deterministic components, thus improving overall performance and simplifying the sampling phase tracking task (since it now only needs to handle non-deterministic parts as well as frequency offsets).  However, sequence-detection based methods often are complex and expensive to implement, generally requiring multi-bit sampling (i.e. analog-to-digital conversion (ADC)) and extensive computations on a symbol-by-symbol basis.  Once the data rate starts to approach the Gigabit/second range, sequence detectors quickly become impractical.  Even at low rates, VD (Viterbi Decoding) and DFE based receivers are prohibitively expensive to implement.
[0018]  Therefore, what is needed is a simple yet efficient way to build a data receiver with over-sampled data reception which doesn't suffer from the problems which plague traditional phase pickers, 'Majority Voting' and analog CDR receivers.
SUMMARY OF THE INVENTION
[0019]  A method performed by an over-sampled sequence detector is disclosed that operates on sampled data by tracking the detection reliability of the sampled data.  The detector separately analyzes sample sequences for different sampling phases and then picks a sample sequence that allows for the most reliable detection.  For the different sampling phases, the detector inspects some amount of look-behind and look-ahead information in order to improve upon simple symbol-by-symbol detection.  In addition, the over-sampled information is used to further improve the detection performance.
[0020]  In another embodiment, an apparatus for receiving data over a digital transmission link having a receiver for receiving a sequence of samples generated to represent an over-sampled sequence of symbols, detecting a first and second symbol from the first and second sample streams, and estimating a channel response length is disclosed.
[0021]  In still another embodiment, an apparatus for receiving data over a digital transmission link having a receiver for receiving a sequence of samples generated to represent a sequence of over-sampled symbols, the sequence of samples comprising a first and second sample stream according to a first and second phase of the sequence of samples, detecting a first and second symbol from the first and second sample streams, and examining a first synchronization data field in the first sample stream and a second synchronization data field in the second sample stream in order to estimate a first and second detection reliability of the first and second symbols is disclosed.
[0022]  In still another embodiment, an apparatus for receiving data over a digital transmission link having a receiver for receiving a sequence of samples generated to represent a sequence of over-sampled symbols, the sequence of samples comprising a first and second sample stream according to a first and second phase of the sequence of samples, detecting a first and second symbol from the first and second sample streams, wherein the detecting proceeds according to a dynamically updated table associating one or more detection patterns Patterni to one or more flags Flagi, wherein Flagi has a value indicating a difference between a width of the symbol associated with Patterni and an over-sampling rate L used to produce the sequence of samples, and adjusting one or more equalizer parameters in order to reduce the flag values is disclosed.
[0023]  A computer-readable medium having computer-executable instructions recorded thereon for enabling a processor of a computer system to process incoming data over a digital transmission link, the computer-executable instructions including receiving a sequence of samples generated to represent an over-sampled sequence of symbols, detecting a first and second symbol from the first and second sample streams, and estimating a channel response length.
[0024]  A computer-readable medium having computer-executable instructions recorded thereon for enabling a processor of a computer system to process incoming data over a digital transmission link, the computer-executable instructions including receiving a sequence of samples generated to represent a sequence of over-sampled symbols, the sequence of samples comprising a first and second sample stream according to a first and second phase of the sequence of samples, detecting a first and second symbol from the first and second sample streams, wherein the detecting proceeds according to a dynamically updated table associating one or more detection patterns Patterni to one or more flags Flagi, wherein Flagi has a value indicating a difference between a width of the symbol associated with Patterni and an over-sampling rate L used to produce the sequence of samples, and adjusting one or more equalizer parameters in order to reduce the flag values.
[0025]  The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements.
DETAILED DESCRIPTION OF THE INVENTION
[0026]  Reference will now be made in detail to a particular embodiment of the invention, examples of which are illustrated in the accompanying drawings.  While the invention will be described in conjunction with the particular embodiments, it will be understood that it is not intended to limit the invention to the described embodiments.  To the contrary, it is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims.
[0027]  When over-sampled data is sent over a digital transmission link, it is desirable to use a digital receiver that offers robust operation in the presence of deterministic and non-deterministic jitter.  Due to ISI, even though the over-sampled data repeats more than one sample per bit (e.g. 3 times with an exemplary over-sampling factor of L=3), a bit value b may not reach the receiver as a perfectly repeated sample sequence bbb, but may instead comprise values in the sample sequence that are not equal to b.  For example, a bit value of 0 may arrive unambiguously as 000, or it may arrive as 001, 100, 101, or any other combination, depending on jitter.  Hence, the challenge is to infer the symbol from a number of samples which do not unanimously indicate the symbol.
[0028]  As noted above, one obvious approach is to use a majority vote of the samples.  Unfortunately it does not work in many cases, because it assumes knowledge of symbol boundaries in the transmitted stream of samples, which in itself is a challenge to determine and keep track of.  Another approach tracks the phase of the signal by examining transitions and in some instances by implementing a tracking loop.  However, phase tracking does not distinguish between phase shifts which result from non-deterministic jitter affecting the ideal sampling position (the position of the sampling clock with respect to the symbol boundary) and therefore should be tracked, and phase shifts which are due to channel memory and do not affect the ideal sampling position and therefore need not be tracked.  A variant on phase tracking involves an attempt desensitize the tracking loop to changes in the channel by modifying the bandwidth of the tracking loop, based on the observation that boundary shifting due to ISI is a high-speed process and happens at a rate higher than the bandwidth of the tracking loop.  While this approach works well when dealing with low-frequency instabilities, such as problems related to generator frequency or radio link Doppler effects, wide noise spectrums due to cable cross-talk and high-frequency jitters caused by slicers and Phase Lock Loops (PLLs) limit the performance of phase trackers.  Therefore, it is desirable to improve the performance of receivers.
[0029]  Figure 1 is a top-level block diagram illustrating a method and system for reception of data over a digital transmission link, in accordance with an embodiment of the present invention.  Transmitter 51 transmits sampled data over channel 52.  Over-sampled sequence Detector 100 (hereinafter also referred to as "receiver") receives and decodes the transmitted signal.  Detector 100 is based upon tracking the detection reliability of the sampled data, instead of tracking the optimal sampling phase of the data.  For simplicity of illustration only and not by way of limitation, one or more exemplary embodiments are disclosed having a link which employs a binary alphabet, wherein each symbol assumes one of two values, such +1 and -1, or 0 and 1.  Therefore, one or more embodiments are disclosed to operate at the rate of one bit per sample, and the over-sampling factor is kept low and in many cases can be between 2 and 4 samples.  However, these are not necessary conditions for the operation of the disclosed embodiments and the invention is equally applicable to a link with more complex (non-binary) alphabets, and samples comprising more than one bit of information, as well as higher over-sampling factors, can be handled analogously.
[0030]  By way of example and not by way of limitation, the operation of a detector 100 is shown herein using an over-sampling factor of L=3 and using single-bit sampling.  Unlike traditional sequence detectors, the present detector 100 separately analyzes sample sequences for different sampling phases (with a nominal phase offset of "(1/L) x UI") and then picks a sample sequence that allows for the most reliable detection.  For the different sampling phases, the detector 100 inspects some amount of look-behind and look-ahead information (i.e. precursor and post-cursor data) in order to improve upon simple symbol-by-symbol detection.  In addition, the over-sampled information is used to further improve the detection performance.  This is in contrast to conventional 'Phase Pickers' which often discard the over-sampled data once the sampling phase has been decided upon.
[0031]  In terms of detection performance the present invention is computationally efficient, and therefore can be successfully applied at data rates and/or cost constraints well beyond those currently possible for traditional sequence detectors.
[0032]  The detection performance can be further improved by combining one or more embodiments of the present invention with transitions-driven phase tracking (analog or digital).  For example, phase noise and frequency offset can be reduced by a tracking loop while the ISI and large 'phase hits' can be dealt with by one or more embodiments of the present invention.  In effect, slow phase variations as well as non-deterministic phase noise are tracked by the narrow bandwidth feedback loop, while the over-sampled detector 100 of the present invention handles remaining phase deviations (such as ISI).
[0033]  Figure 2 is a flow chart illustrating a method for the reception of data over a digital transmission link, in accordance with an embodiment of the present invention.  Starting at 12 with decoding the first symbol, the method can be described in the following steps:  
[0034]  For each sampling phase (out of a total of L phases and starting at 14 with the first phase), at 16, examine the samples over an observation window W.  This window typically includes L samples corresponding to the current symbol, as well as some samples from the previous and next symbols.  For instance, for a system with an over-sampling factor of L=3, a typical observation window W may comprise 5 or 6 samples.  In an example case of W=5, one look-ahead sample and one look-behind sample can be used in addition to the L=3 samples from the current symbol.  In an example case of W=6, two look-behind samples and one look-ahead sample can be used in addition to the L=3 samples for the current symbol, and similarly for other values of L and W.  
[0035]  Next at 18, perform detection of current symbol value for each possible sampling phase using the samples selected above.  Look-ahead and look-behind samples, as well as past decisions for sample streams and/or detector 100 output streams, may be used to improve the detection performance, as described below.  
[0036]  At 20, estimate the detection reliability for each sampling phase (i.e. assess the decision uncertainty).  
[0037]  At 22, select the sampling stream with the highest detection reliability (i.e. having the lowest decision uncertainty).  As described below, one or more linear and/or nonlinear filters can control the selection process in order to avoid unnecessary stream switching.  Alternatively, symbol-by-symbol switching without filtering can be employed if needed for a particular embodiment.  
[0038]  At 36, adjust 36 an Elastic Buffer if it is determined at 32 that the switching process crosses symbol boundaries.  In general, a symbol boundary is crossed if the absolute value of the difference between the old and the new phase is larger than "(1/2) x UI".  For example, for an over-sampling factor of L=3, such a crossing occurs when a 0→2 or 2→0 transition has taken place.  For a larger over-sampling factor such as L=5, any of the following transitions will cause symbol dropping or duplication: 0→4, 1→4, 0→3, 4→0 , 4→1 , and 3→0, since in all these cases the difference between the old and the new phase is 3 or 4, i.e. larger than "(1/2) x UI" (which is 2.5 in this case).  The Elastic Buffer is described below.  Alternatively, the current symbol pointers can be adjusted for each sampling stream in order to account for boundary crossing.  
[0039]  At 38, repeat the above steps for the remaining symbols in the stream.
[0040]  The above steps are described in more detail below.
[0041]  The approach of the present invention is to assume that the sampling phase is correct and to try to guess the value of the current symbol as well as to estimate the reliability of such a guess.  Quite often, every possible sampling phase will yield the same symbol value.  For instance, if the symbol stream has a long run of symbols with the same value (e.g. with the value of 1) and the detector 100 is in the middle of such a run, the sampling phase is not of concern because the detected value will be 1, regardless of the phase.  Furthermore, such a guess is very reliable, i.e. the uncertainty associated with such a guess is zero.  Although this is a trivial example, it does illustrate the fact that the detector 100 does not always need to know the sampling phase in order to correctly detect the symbol value.
[0042]  As another example sequence having phase-invariant detection results, consider the following example (in this example L=3 and W=5):
Phase 0: 000.111.101.111.000 , which is decoded as 01010 (see below).
Decoded Data: --0-----0-----1----0---
Phase 1: 001.111.011.110.0 , which is also decoded as 01010.
Phase 2: 011.110.111.100.0 , which is decoded as 1010x (i.e. 1 symbol early).
[0043]  In the above example, it was possible to make the correct detection decision regardless of the selected sampling phase, because all three streams of detected data are identical over the four symbols shown.
[0044]  However, in the above example, the detection reliabilities differ for the different phases.  For instance, the Phase 0 data can be decoded reliably because all symbols have a pattern of samples which could represent only one possible symbol value.  All but one symbol for Phase 0 have cleanly defined symbol boundaries.  The samples pattern 1.101.1 can also be decoded without ambiguity because two adjacent symbols of 1 are separated by a single 0 sample.  This corresponds to a case with relatively high ISI, which causes a rather shallow zero peak, thus producing and narrow symbol.  Thus, the sequence corresponding to Phase 0 is decoded reliably and has a cumulative "detection metric" of 0, indicating a low level of uncertainty.  The idea is to assign decision metrics (hereinafter also referred to simply as metrics) to symbol sequences in order to indicate their level of uncertainty, and to use these decision metrics when decoding symbols from incoming samples sequences.
[0045]  In contrast, the reliability of guessing the data for the Phase 1 and Phase 2 streams is lower than for the Phase 0 stream.  Some samples patterns can appear confusing and ambiguous, and even if the sequence can be detected without ambiguity, the detection might be in error in the presence of severe ISI combined with phase jitter and/or frequency modulation of the data.  Thus, the metrics for the Phase 1 and Phase 2 streams are set higher than for the Phase 0 stream, thereby indicating the increased uncertainty (or reduced reliability) of the detection process for the Phase 1 and Phase 2 streams.  For example, both Phase 1 and Phase 2 streams can be given a metric of 2, as compared to the 0 metric of the Phase 0 stream.
[0046]  By way of illustration and not limitation, the following section illustrates some example detection patterns proposed for an example implementation of the receiver.
Example data detection patterns for L=3 and W=5
[0047]  Among other embodiments, two embodiments of the detector 100 will be illustrated herein: one implementation which uses a previously detected value (i.e. a value decided for a previous symbol), and one implementation which does not use such a previously detected value.  A scheme wherein a previous value is used to reduce uncertainty of detection of the current symbol is herein called Decision Feedback Detection, or a DF scheme.  Such a scheme improves reliability of detection (i.e. reduces BER) in some cases at the expense of additional hardware.
[0048]  The following table presents proposed detection patterns for a DF detector.  Please note that in order to conserve space (both here and in real hardware), only the first half of the table is explicitly provided.  Inverting the pattern bits as well as the detected values produces the second half.  Other compression schemes may be used in order to more succinctly represent the table data.
[0049]
2007110702.tif 000014
[0050]  In Table 1, note that only the 4 patterns 0 011 0, 0 011 1, 0 101 1 and 0 110 1 (06, 07, 0B and 0D in hexadecimal notation) are dependent upon the DF value (shown in the column named "Previous Value").  Therefore, it can be concluded that a simplified non-DF detector can be implemented with a reasonable degradation of detection quality for such patterns.
Stream selection
[0051]  Once the metrics are calculated for the current symbol in each stream, the stream selection can be made.  Typically, some type of filtering (such as Finite Impulse Response (FIR), Infinite Impulse Response (IIR) or nonlinear) can be used in order to maintain some desired amount of phase coherence and in order to prevent rapid switching between detection streams, since such switching can degrade detection reliability.
[0052]  The detector 100 can be made more accurate if a past detection history of a specified length is taken into account before arriving at a decision to switch to another stream.  This is because several independent processes such as ISI, phase jitter, frequency modulation and/or clock frequency offset, or other processes affect the symbol boundaries, as described previously.  Some processes such as jitter, and to a certain extent ISI, have short phase coherence, i.e. a high rate of change on a symbol-by-symbol basis.  The pattern decoder in each stream handles such short-term shifts.
[0053]  Other processes, such as frequency offset or frequency modulation, generally have a much longer phase coherence period and thus are not suitable for handling by pattern detectors alone.  In such a case, stream switching is performed, thus accomplishing (indirectly) a sampling phase tracking.
[0054]  In one embodiment for a DVI/HDMI application, the filter can be simply implemented as a moving average taken on per-stream basis (i.e. L of 1 - D filters), which is then followed by non-linear thresholding.  This prevents stream switching, unless the difference between the metrics of the current stream and the candidate streams is above a specified application-dependent threshold.
[0055]  In one embodiment, the candidate stream with the smallest metric is selected.  However, other strategies might be used as well.
[0056]  Before the symbol value is finally selected, some adjustments of candidate streams may have to be made with the help of an Elastic Buffer, as described below.
Stream switching and the role of the Elastic Buffer
[0057]  If in the process of selection of a new candidate stream the phase difference between current and proposed streams is greater than L/2 (i.e. greater than a one-half UI phase jump), the detection process crosses the symbols boundary.  Unless the detector 100 takes additional steps, erroneous detection may result because of duplication or dropping of one symbol (as determined by the phase jump direction).
[0058]  For instance, when using a stream that is close to the beginning of a UI (e.g. the Phase 0 stream in a system with an over-sampling factor of L=3) and selecting a stream at the end of a UI (e.g. the Phase 2 stream in this case), the symbol boundary will be crossed and, unless necessary steps are taken, one symbol will be lost (i.e. dropped) in the detected stream.
[0059]  Conversely, if the phase moves by one-half of a UI or more in a backward direction (e.g. from the Phase 2 stream to the Phase 0 stream in the above example), the symbol might be sampled twice, thus causing symbol duplication in the detected stream.
[0060]  One possible solution to the above problem comprises adding an Elastic Buffer (EB) or, more generally, adding a variable symbols delay, before the stream selection is performed.  In the case of a forward phase move (e.g. from the Phase 0 stream to the Phase 2 stream in the above example) the length of the Elastic Buffer (i.e. the amount of delay) is reduced by one symbol.  Conversely, in the case of a phase retardment (e.g. from the Phase 2 stream to the Phase 0 stream in the above example), the length of the Elastic Buffer is increased by one symbol.
[0061]  Note that an abstract Elastic Buffer (and variable delay) is used in the above discussion for the purpose of illustration the concept only and is not intended as limitation.  In practical implementations, various approaches can be used.  For instance, parallel implementations can be used which are based on multiplexers and common shared registers that hold several symbols worth of data.  However, the following description continues to use the notion of an Elastic Buffer with the understanding that a practical receiver may use any implementation that serves to buffer and/or delay the data sufficiently.
[0062]  The timing is such that the decoder calculates the metrics and makes the switch decision after the detection of the current symbol is done.  At this point, optionally, the length of the Elastic Buffer is adjusted as well.  However, the new candidate stream is selected during the next symbol interval.  In other words, the phase switching process can be visualized as occurring in-between the symbol detections, namely after the previous symbol has been detected and before the next symbol is processed.  Other implementations are possible.  For instance, the switching can be done on the fly for the current symbol, without any delay.  However, such an approach may increase hardware complexity without significantly improving the detection quality in many practical cases.
[0063]  During an unsettled period of the receiver operation, such as at startup or when establishing a new link connection, the Elastic Buffer may reach an adjustment limit.  In such a case, the buffer (i.e. the amount of delay) may have to be forcibly re-centered, resulting in possible data loss.  Such re-centering prevents error propagation phenomena caused by the Elastic Buffer bouncing against the adjustment limit and causing multiple errors due to an inability to compensate for duplicated or dropped symbols in case of crossing the symbol boundary.
[0064]  The re-centering process works by detecting a decrement of the Elastic Buffer length below zero (i.e. a request for a negative delay) or an increment of the Elastic Buffer length beyond the maximum length limit.  In both cases, the buffer length (i.e. the delay) is set to a pre-defined value.  This value may be fixed or may optionally be adaptively adjustable.
[0065]  In a simple implementation with an Elastic Buffer having a length denoted EBlength, a fixed center value of EBlength/2 may be used.  For example, for an EBlength of 7 symbols, the center value can be set to 3 symbols.
[0066]  Alternatively, more elaborate implementations can track the tendency of the Elastic Buffer to overflow and re-center it in order to provide more space for buffering in the direction of most likely boundary crossings.  For instance, if there is a momentary positive frequency offset and the receiver sampler lags behind the phase of the incoming data, the sampling phase may likely be advanced and potentially bump against the zero delay limit.  In such a case, the buffer can be re-centered to 2/3 of the maximum delay in order to decrease the probability of reaching the limit again and causing data error.
Overall Architecture
[0067]  The architecture of an exemplary implementation of the present data detection method and system is now described.  Figure 3 is a top-level block diagram illustrating a data detector 100, in accordance with an embodiment of the present invention.  Data detector 100 comprises a Pattern Analyzer 110, Metrics Filter 130, Stream Switcher 140, Elastic Buffer 120 and candidate stream selector 150.
[0068]  The incoming L-times over-sampled data 101 is fed into Pattern Analyzer 110.  In this block, the incoming data patterns are analyzed on a per-phase basis, and L candidate streams of values together with detection metrics are produced.  In addition, this block may produce additional streams of side information 152, such as sampling phase estimations, quality of equalization measurements, etc.  The present discussion is limited to value (V) streams 111 and metrics (M) streams 112.
[0069]  A total of L per-phase metrics streams, hereinafter also called "raw metrics", are further processed by a Metrics Filter 130 so as to suppress short-term instabilities of the metrics values and exploit intrinsic coherence of the metrics.  The detector 100 in general attempts to follow stable trends in the change of the candidate streams' quality, instead of selecting the streams on a per-symbol basis.  This is because the metrics estimation may not be reliable for every symbol in the stream, and attempts to track them on a per-symbol basis (i.e. with symbol rate) may cause erroneous and/or unnecessary stream switching.  The Metrics Filter 130 block accomplishes these goals and largely determines the tracking dynamics of the entire detector 100.
[0070]  Once the metrics streams have been filtered (hereinafter also referred to as "cooked" metrics), the L cooked metrics 131 are sent to Stream Switcher block 140 which decides which stream to select.  Stream Switcher block 140 also controls the length of the Elastic Buffer 120 in order to adjust the buffering delay in the case of symbol boundary crossing.  The candidate stream selection data is sent by the "Phase-Select" signal 142 and the Elastic Buffer 120 delay value is sent by the "Symbol-Select" signal 141.
[0071]  The Elastic Buffer block 120 delays candidate streams by the amount specified by the Stream Switcher 140.  The L candidate streams are delayed by the same number of symbol intervals.  In a practical hardware implementation, the Elastic Buffer block 120 can be implemented as a multi-tapped shift register shared between the candidate streams and an array of multiplexers for selecting the appropriate tap.  Other implementations are possible as well, such as a shift register of variable length for each stream.
[0072]  The delayed candidate streams are applied to Candidate Stream Selector (CSS) 150, which retains one of the L streams and discards the remaining data.  The retained stream represents the output data stream 151 of the detector 100.  An important and advantageous aspect of the present invention is the lack of feedback loops in the overall detector 100 topology.  This facilitates highly parallel detector 100 implementations and makes the technology suitable for very high-speed operation, such as Gigabit/second data rates and higher.
Pattern Analyzer
[0073]  Figure 4 is a block diagram illustrating the Pattern Analyzer 110, in accordance with an embodiment of the present invention.  The incoming data samples 201 are sent into Shift Register 210 having a specified delay.  The Shift Register 210 is long enough to hold LSR samples, wherein:
LSR = 2L + NLB + NLA - 1
and wherein L is the over-sampling factor, NLA is the number of Look Ahead (LA) samples required for pattern analysis, NLB is the number of Look Behind (LB) samples, and LSR is the minimum length (in samples) of the Shift Register 210.
[0074]  For instance, in the example case of 3x over-sampling and 5 samples pattern analysis (i.e. one LA and one LB sample, not including decision feedback (DF) samples), the Shift Register 210 produces 7 samples in parallel.  However, while this particular exemplary embodiment using Shift Register 210 makes the operation easier to understand, other implementations are possible.  For example, parallel registers with multiplexers can be used to facilitate parallel processing of data (which might be necessary at high data rates), and to reduce complexity and/or power consumption.
[0075]  From the Shift Register 210, the samples 211 are sent to an array of Pattern Analyzer Ele ments 220, 230 ... 240.  For purposes of clarity, only the first two and the last Pattern Analyzer Elements are shown in Figure 4.  Each Pattern Analyzer Element 220 ... 240 observes the appropriate collection of samples presented to it on a per-symbol basis, and estimates the most likely detection value as well as estimation metrics and other side information (as required).  As a result, L pairs of candidate values and their metrics are sent out on lines 202 and 203, respectively.
Pattern Analyzer Elements
[0076]  Figure 5 is a block diagram illustrating a Pattern Analyzer Element, in accordance with one embodiment of the present invention.  An incoming collection of a total of LPA = NLB + L + NLA samples are received from the Pattern Analyzer 110 on line 301 and applied as an input to Look Up Table (LUT) 310.  In addition, the previously decided upon value 321 is received from a Register 320.  The Register 320 is updated on a per-symbol basis, i.e. once per detector cycle.
[0077]  The Look Up Table 310 produces a value "V" 312, a metric "M" 331, as well as additional side information 313 about phase, equalization, etc.  The Look Up Table 310 can be implemented using a Read Only Memory (ROM) or using random logic.  The candidate value "V" 312 is stored in Register 320, to be used during the processing of the next symbol.
Elastic Buffer
[0078]  Figure 6 is a block diagram illustrating the Elastic Buffer 120, in accordance with one embodiment of the present invention.  A total of L candidate streams are received on line 401 and shifted into an array of L Shift Registers 410, 420 ... 430, on a per-symbol basis.  Under the control of delay signal 402, the appropriate tap of each Shift Register 410, 420 ... 430 is selected by a corresponding total of L multiplexers 440, 450 ... 460.  The outputs 441, 451 ... 461 of the multiplexers 440, 450 ... 460 comprise a collection of L candidate streams, appropriately delayed and sent out via signal 405.  Other implementations of the Elastic Buffer 120 are possible, such as a parallel load register shared between the L streams using appropriate multiplexers, or other such implementations.
Stream Switcher
[0079]  Figure 7 is a block diagram illustrating the Stream Switcher 140, in accordance with one embodiment of the present invention.  Appropriately filtered (cooked) metrics Min are received from Metrics Filter 130 on line 501.  The cooked metrics are sent to an L-way Comparator 510 which compares the incoming metrics on a per-symbol basis and determines which one of the L candidate streams currently has the highest likelihood of being correct.  In the present embodiment, the lower the metric, the higher the probability that the decision is correct regarding the candidate value.  Thus, in such a case, the Comparator 510 may determine the stream that has the lowest cooked metric.  The number of such a stream is sent to Switch Filter 520 on line 511.
[0080]  The Switch Filter (SF) 520 performs linear and/or non-linear filtering so as to avoid switching the candidate streams for small short-term changes in the metrics.  This generally improves system operation.  The filtering algorithm is dependent on the operational environment.  Simple non-linear schemes such as fixed or adaptive thresholding work well in many cases (such as DVI/HDMI implementations).  For example, stream switching can be done only when the difference in metrics between the currently used stream and the proposed stream is bigger than a specified implementation-dependent value.
[0081]  The currently determined candidate stream selector "Phase-Select" is then sent out to the Candidate Stream Selector block 150 on line 521.  In addition, the Phase-Select signal is also sent to the Elastic Buffer Controller (EBC) 530.  The Elastic Buffer Controller 530 observes the changes in the selected candidate stream and adjusts the Elastic Buffer delay if the selection crosses the symbol boundary in any direction.  The current amount of necessary delay is sent out to the Elastic Buffer 120 on line 531.
Elastic Buffer Controller
[0082]  Figure 8 is a block diagram illustrating the Elastic Buffer Controller 530, in accordance with one embodiment of the present invention.  The proposed candidate stream number "Phase" 601 is received from Switch Filter 520 and is delayed in Register 610 by one symbol, and the difference between current and previous stream num bers is determined by Subtractor circuit 620 and Absolute Value circuit 630.
[0083]  The absolute value of the selector difference is the sent on line 631 to two-way Comparator 640, which determines whether the difference is greater than L/2, i.e. larger than one-half of a symbol interval.  If so, the boundary crossing condition is flagged on line 641, enabling the adjustment of the value in Delay Accumulator 680 with the help of AND-gates 660 and 670.
[0084]  The direction of the delay adjustment is determined by two-way Comparator 650, which determines whether the sampling is leading or lagging the input data.  In the case of a boundary crossing, the Delay Accumulator 680 value is incremented or decremented, according to the results of the comparison done by Comparator 650.  Re-centering Logic 690 checks for out-of-range delay values and resets the value of the Delay Accumulator 680 in such cases.  See above for a discussion of the re-centering process.
Adaptive Techniques and Extraction of Adaptation Data
[0085]  While above-described embodiments of the detector comprise tracking data detection reliability of the incoming over-sampled data stream and offer ways of implementing adaptive receivers, there are further steps which can be taken in order to extend the adaptive behavior of such a detector by using information available during the data detection process and adjusting receiver and/or transmitter parameters in order to further improve the overall link performance.
[0086]  During their operation, above embodiments of the detector analyze the data sample patterns and attempt to estimate (i.e. guess) the data stream value, as well as estimate the reliability of the guessed data value.  It is possible to extend the detector in such a way as to estimate additional information about the data stream.  Examples include estimating the sampling phase of the data sample, as well as using the filtered estimate to adjust the static phase offset of the sampler in order to minimize the offset.  Thus, the data detection reliability can be improved by reducing the amount of uncertainty in one or more of the sample patterns.  Since the rate of change of the static phase offset is generally low, it is possible to effectively track and eliminate the phase offset, for example using simple hardware or partially or even entirely in software.  This approach represents just one example of an adaptive technique which can be used in an over-sampled receiver.
[0087]  In addition to the above examples, other pieces of information can be extracted by the detector during its pattern analysis phase.  In one embodiment, the detector can form an estimate of the channel response length by analyzing the minimum and/or average symbol width (in terms of the number of samples per symbol).  For example, detecting a large number of narrow symbols (i.e. symbols which comprise fewer than L samples, wherein L represents the oversampling factor) may indicate that the channel response is not properly equalized.  In such a case, the detector can use this information to change one or more equalizer parameters in such a way as to reduce the number of narrow symbols at the input of the detector.  Even though the detector may not necessarily be able to infer the sign of the mis-equalization, i.e. to infer whether the channel response is over equalized or under-equalized, the equalization curve often has a well-defined minimum which can be reached by making small adjustments in both directions and determining in which direction the overall equalization improves.
[0088]  In another embodiment, the detector may attempt to optimize the overall data reception performance.  For example, as long as the detector can estimate the data value reliably, i.e. with an acceptably high probability of the value being correct, the equalization can be traded for a reduction in the amount of noise.  In other words, even if the number of narrow symbols is large (indicating substantial amount of ISI), when the non-deterministic jitter and/or frequency offset is small, the detector may detect the data with acceptable reliability even in the presence of mis-equalization.  Instead of boosting the equalizer gain at higher frequencies in order to reduce the channel response length, for example by adjusting the response zero location of the equalizer, the receiver may instead avoid noise enhancement and keep the channel response long.  In such a case, the objective is the optimization of the overall receiver performance rather than the optimization of its separate components (such as the equalizer).
[0089]  In another embodiment, the detector may construct a histogram of the symbol lengths and use it to distinguish narrow symbols caused by mis-equalization from narrow symbols caused by other factors such as frequency offset and/or non-deterministic phase jitter. Furthermore, since the estimated data value is known to the detector and therefore available for use in the detection of post-cursor symbols (i.e. in a detection feedback architecture), a variety of data-assisted adaptation methods can be implemented.  As an example, in one embodiment the detector may examine one or more synchronization data fields (such as a retrace interval in a DVI or HDMI implementation) in one or more candidate streams and, once detected, use such synchronization information to separately estimate the reliability of guessing the values in the individual candidate streams.  Note that this is possible since the transmitted data pattern is known to the detector, thereby enabling the detector to discover incorrect guessing simply by observing code violations and/or invalid sync patterns.
[0090]  In other embodiments, the detector may use techniques that are based on more informative metrics for the candidate streams.  While single-bit metrics are typically used in non-adaptive receiver implementations, multi-bit metrics may be employed in an adaptive detector, making the estimation of data detection reliability more precise and using minimization of cumulative metrics for a selected channel (or all candidate channels) as an adaptation criterion. 
An Adaptive Decision Feedback Detector Example
[0091]  To illustrate some of the proposed adaptive techniques, an exemplary decision feedback data detector will be now described.  As described above in an embodiment of the detector, an analysis table (such as Table 1) can be used to provide data values and metrics.  While such a table is sufficient to build a simple adaptive detector as described above, the adaptation criterion is a minimum filtered metrics value (over a certain observation window, for example 30 symbols) for the selected candidate stream.  The detector may further attempt to adjust the channel equalization and/or impedance matching in order to get the smallest accumulated metrics.  However, although such a scheme might work well enough for certain applications, more elaborate approaches offer better results.
[0092]  For example, in one embodiment, in addition to metrics and data values the Pattern Analyzer table may provide phase information as well as narrow symbols indicators.  As previously, please note that in order to conserve space herein as well as in hardware, only the first half of the following table is explicitly provided.  The second half of the table is readily produced by inverting the pattern bits as well as the detected values.
[0093]
2007110702.tif 000015
[0094]  In Table 2, the narrow symbols are flagged.  If the symbol is 2 samples wide, the flag value is set to 1 (e.g. see pattern 0 110 0); if the symbol is only 1 sample wide, the flag value becomes 2 (e.g. see pattern 0 001 0).  In general, the flag value is set as follows:
Flag = L - Symbol Width
[0095]  The adaptive receiver uses the filtered flags from a selected stream (or from all candidate streams) as an adaptation criterion.  Optionally, the equalizer can be adjusted until the filtered flag values become minimal.  This condition corresponds to good horizontal eye opening at the input to the data detector and thus indicates good equalization.
[0096]  The Phase column can be used to adaptively compensate for phase offset in the samplers.  For instance, a filtered phase value (such as a moving average) can be used to drive a delay line in the sampler's clocking mechanism in order to adjust the sampling phase with respect to a recovered clock within a "0..Ts/L" range (i.e. up to nominal sampler spacing).  Preferably, the information from a selected candidate stream is used to adaptively adjust the sampling delay until the filtered phase value is as close to zero as possible.  This state may represent optimal sampling, a condition which can be further verified by reduced metrics values from the selected stream.
[0097]  Figure 9 illustrates an exemplary computer system 300 employed to implement an embodiment of the invention.  Computer system 300 includes one or more central processing units (CPU) 301, random access memory (RAM) 302, read only memory (ROM) 303, one or more peripherals 305, and primary storage devices 306 and 307.  As is well known in the art, ROM acts to transfer data and instructions uni-directionally to the CPUs 301, while RAM is used typically to transfer data and instructions in a bi-directional manner.  CPUs 301 may generally include any number of processors.  Both primary storage devices 306 and 307 may include any suitable computer-readable media.  A secondary storage medium 308, which is typically a mass memory device, is also coupled bi-directionally to CPUs 301 and provides additional data storage capacity.  The mass memory device 308 is a computer-readable medium that may be used to store programs including computer code, data, and the like.  Typically, mass memory device 308 is a storage medium such as a hard disk or a tape which generally slower than primary storage devices 306 and 307.  Mass memory storage device 308 may take the form of a magnetic or paper tape reader or some other well-known device.  It will be appreciated that the information retained within the mass memory device 308 may, in appropriate cases, be incorporated in standard fashion as part of RAM 302 as virtual memory.
[0098]  CPUs 301 are also coupled to one or more input/output devices 309 that may include, but are not limited to, devices such as video monitors, track balls, mice, keyboards, microphones, touch-sensitive displays, transducer card readers, magnetic or paper tape readers, tablets, styluses, voice or handwriting recognizers, or other well-known input devices such as, of course, other computers.  Finally, CPUs 301 are coupled to a communication link or a computer or telecommunications network 304, such as a digital transmission link, an Internet network or an intranet network, using a network connection as shown generally at 304.  With such a communication link, it is contemplated that the CPUs 301 might receive information over the link from the network, or might output information over the link to the network in the course of performing the above-described over-sampled data reception and/or transmission steps.  Such information, which is often represented as a sequence of instructions to be executed using CPUs 301, may be received from and outputted to the network, for example, in the form of a computer data signal embodied in a carrier wave.  The above-described devices and materials will be familiar to those of skill in the computer hardware and software arts.  Computer system 300 receives one or more over-sampled data streams and processes them in order to decode transmitted symbols and perform reception, detection and/or other processing steps described above.  Computer instructions for performing such reception, detection and/or other processing steps may be stored in the RAM 302, ROM 303, primary storage devices 306 and 307, and/or any other computer-readable media.
[0099]  Foregoing described embodiments of the invention are provided as illustrations and descriptions.  They are not intended to limit the invention to precise form described.  Other variations and embodiments are possible in light of above teachings, and it is thus intended that the scope of invention not be limited by this Detailed Description, but rather by Claims following.
3. BRIEF DESCRIPTION OF THE DRAWINGS
[0100]  
Figure 1 is a top-level block diagram illustrating a method and system for reception of data over a digital transmission link, in accordance with an embodiment of the present invention.
Figure 2 is a flow chart illustrating a method for the reception of data over a digital transmission link, in accordance with an embodiment of the present invention.
Figure 3 is a top-level block diagram illustrating a data detector, in accordance with an embodiment of the present invention.
Figure 4 is a block diagram illustrating the Pattern Analyzer, in accordance with an embodiment of the present invention.
Figure 5 is a block diagram illustrating a Pattern Analyzer Element, in accordance with one embodiment of the present invention.
Figure 6 is a block diagram illustrating the Elastic Buffer, in accordance with one embodiment of the present invention.
Figure 7 is a block diagram illustrating the Stream Switcher, in accordance with one embodiment of the present invention.
Figure 8 is a block diagram illustrating the Elastic Buffer Controller, in accordance with one embodiment of the present invention.
Figure 9 is a block diagram illustrating an exemplary computer system employed to implement an embodiment of the invention.
1.  A method for receiving data over a digital transmission link, comprising:
receiving a sequence of samples generated to represent an over-sampled sequence of symbols;
detecting a first and second symbol from the first and second sample streams; and
estimating a channel response length.
2.  A method as recited in Claim 1, wherein the estimating comprises tracking a minimum symbol width or an average symbol width, wherein symbol width is represented by number of samples per symbol.
3.  A method as recited in Claim 2, further comprising:
adjusting an equalizer when the number of symbols comprising fewer than L samples (narrow symbols) exceeds a threshold, thereby reducing the number of narrow symbols.
4.  A method as recited in Claim 3, wherein the adjusting comprises making an upward adjustment to an equalization parameter and a downward adjustment to the equalization parameter in order to determine in which direction equalization improves.
5.  A method for receiving data over a digital transmission link, comprising:
receiving a sequence of samples generated to represent a sequence of over-sampled symbols, the sequence of samples comprising a first and second sample stream according to a first and second phase of the sequence of samples;
detecting a first and second symbol from the first and second sample streams; and
examining a first synchronization data field in the first sample stream and a second synchronization data field in the second sample stream in order to estimate a first and second detection reliability of the first and second symbols.
6.  A method as recited in Claim 5, wherein the first and second synchronization data fields comprise a DVI retrace interval or an HDMI retrace interval.
7.  A method for receiving data over a digital transmission link, comprising:
receiving a sequence of samples generated to represent a sequence of over-sampled symbols, the sequence of samples comprising a first and second sample stream according to a first and second phase of the sequence of samples;
detecting a first and second symbol from the first and second sample streams, wherein the detecting proceeds according to a dynamically updated table associating one or more detection patterns Patterni to one or more flags Flagi, wherein Flagi has a value indicating a difference between a width of the symbol associated with Patterni and an over-sampling rate L used to produce the sequence of samples; and
adjusting one or more equalizer parameters in order to reduce the flag values.
8.  An apparatus for receiving data over a digital transmission link, comprising:
a receiver for:
(a) receiving a sequence of samples generated to represent an over-sampled sequence of symbols;
(b) detecting a first and second symbol from the first and second sample streams; and
(c) estimating a channel response length.
9.  An apparatus as recited in Claim 8, wherein the estimating comprises tracking a minimum symbol width or an average symbol width, wherein symbol width is represented by number of samples per symbol.
10.  An apparatus as recited in Claim 9, the receiver further for:
(d) adjusting an equalizer when the number of symbols comprising fewer than L samples (narrow symbols) exceeds a threshold, thereby reducing the number of narrow symbols.
11.  An apparatus as recited in Claim 10, wherein the adjusting comprises making an upward adjustment to an equalization parameter and a downward adjustment to the equalization parameter in order to determine in which direction equalization improves.
12.  An apparatus for receiving data over a digital transmission link, comprising:
a receiver for:
(a) receiving a sequence of samples generated to represent a sequence of over-sampled symbols, the sequence of samples comprising a first and second sample stream according to a first and second phase of the sequence of samples;
(b) detecting a first and second symbol from the first and second sample streams; and
(c) examining a first synchronization data field in the first sample stream and a second synchronization data field in the second sample stream in order to estimate a first and second detection reliability of the first and second symbols.
13.  An apparatus as recited in Claim 12, wherein the first and second synchronization data fields comprise a DVI retrace interval or an HDMI retrace interval.
14.  An apparatus for receiving data over a digital transmission link, comprising:
a receiver for:
(a) receiving a sequence of samples generated to represent a sequence of over-sampled symbols, the sequence of samples comprising a first and second sample stream according to a first and second phase of the sequence of samples;
(b) detecting a first and second symbol from the first and second sample streams, wherein the detecting proceeds according to a dynamically updated table associating one or more detection patterns Patterni to one or more flags Flagi, wherein Flagi has a value indicating a difference between a width of the symbol associated with Patterni and an over-sampling rate L used to produce the sequence of samples; and
(c) adjusting one or more equalizer parameters in order to reduce the flag values.
15.  A computer-readable medium having computer-executable instructions recorded thereon for enabling a processor of a computer system to process incoming data over a digital transmission link, the computer-executable instructions comprising:
receiving a sequence of samples generated to represent an over-sampled sequence of symbols;
detecting a first and second symbol from the first and second sample streams; and
estimating a channel response length.
16.  A computer-readable medium as recited in Claim 15, wherein the estimating comprises tracking a minimum symbol width or an average symbol width, wherein symbol width is represented by number of samples per symbol.
17.  A computer-readable medium as recited in Claim 16, the computer-executable instructions further comprising:
adjusting an equalizer when the number of symbols comprising fewer than L samples (narrow symbols) exceeds a threshold, thereby reducing the number of narrow symbols.
18.  A computer-readable medium as recited in Claim 17, wherein the adjusting comprises making an upward adjustment to an equalization parameter and a downward adjustment to the equalization parameter in order to determine in which direction equalization improves.
19.  A computer-readable medium having computer-executable instructions recorded thereon for enabling a processor of a computer system to process incoming data over a digital transmission link, the computer-executable instructions comprising:
receiving a sequence of samples generated to represent a sequence of over-sampled symbols, the sequence of samples comprising a first and second sample stream according to a first and second phase of the sequence of samples;
detecting a first and second symbol from the first and second sample streams; and
examining a first synchronization data field in the first sample stream and a second synchronization data field in the second sample stream in order to estimate a first and second detection reliability of the first and second symbols.
20.  A computer-readable medium as recited in Claim 19, wherein the first and second synchronization data fields comprise a DVI retrace interval or an HDMI retrace interval.
21.  A computer-readable medium having computer-executable instructions recorded thereon for enabling a processor of a computer system to process incoming data over a digital transmission link, the computer-executable instructions comprising:
receiving a sequence of samples generated to represent a sequence of over-sampled symbols, the sequence of samples comprising a first and second sample stream according to a first and second phase of the sequence of samples;
detecting a first and second symbol from the first and second sample streams, wherein the detecting proceeds according to a dynamically updated table associating one or more detection patterns Patterni to one or more flags Flagi, wherein Flagi has a value indicating a difference between a width of the symbol associated with Patterni and an over-sampling rate L used to produce the sequence of samples; and
adjusting one or more equalizer parameters in order to reduce the flag values.
1. ABSTRACT
An over-sampled sequence detector operates on sampled data and tracks the detection reliability of the sampled data.  The detector separately analyzes sample sequences for different sampling phases and then picks a sample sequence that allows for the most reliable detection.  For the different sampling phases, the detector inspects some amount of look-behind and look-ahead information in order to improve upon simple symbol-by-symbol detection.  The over-sampled information is used to further improve detection performance.
2. REPRESENTATIVE DRAWING
Fig. 2
2007110702.tif 000016
2007110702.tif 000017
2007110702.tif 000018
2007110702.tif 000019
2007110702.tif 000020
2007110702.tif 000021
2007110702.tif 000022
2007110702.tif 000023
2007110702.tif 000024