(57)【要約】【課題】サンプリングされたデータに対して動作するオーバサンプリングされたシーケンスの検出器を提供する。【解決手段】検出器は、異なるサンプリング位相についてのサンプルシーケンスを別個に分析し、それから最も信頼性のある検出を可能にするサンプルシーケンスを選ぶ。異なるサンプリング位相について、検出器は、簡単なシンボル単位での検出よりも改善を図るために、ルックビハインドおよびルックアヘッド情報のうちある程度の量を調べる。オーバサンプリングされた情報は、さらに検出パフォーマンスを改善するために用いられる。【選択図】図２
2006203866.tif 000002
【特許請求の範囲】
【請求項１】
データをディジタル伝送リンク上で受信する方法であって、
シンボルのシーケンスを表すように生成されたサンプルのシーケンスを受信することであって、前記サンプルのシーケンスは、前記サンプルのシーケンスの第１および第２位相に基づく第１および第２サンプルストリームを備える、受信すること、
前記第１および第２ストリームから第１および第２シンボルを検出すること、および
前記第１および第２シンボルの第１および第２検出信頼性を推定すること
を含む方法。
【請求項２】
請求項１に記載の方法であって、
前記第１検出信頼性が前記第２検出信頼性よりも高いとき、前記シンボルのシーケンス中の伝送されたシンボルを表すものとして前記第１シンボルを選択すること、および
前記第２検出信頼性が前記第１検出信頼性よりも高いとき、前記シンボルのシーケンス中の伝送されたシンボルを表すものとして前記第２シンボルを選択すること
をさらに含む方法。
【請求項３】
請求項１に記載の方法であって、前記検出することは、前記第１および第２サンプルストリーム中の観測窓上でサンプルを調べることを含む方法。
【請求項４】
請求項２に記載の方法であって、前記検出は、検出パターンのテーブルに従って進み、前記検出パターンのテーブル中のパターンは、少なくとも前記観測窓と同じだけ長い方法。
【請求項５】
請求項４に記載の方法であって、前記検出パターンのテーブル中の前記パターンは、検出正確性を改善する１つ以上のルックビハインド値を備える方法。
【請求項６】
請求項４に記載の方法であって、前記検出パターンのテーブル中の前記パターンは、検出正確性を改善する１つ以上のルックアヘッド値を備える方法。
【請求項７】
請求項４に記載の方法であって、前記検出パターンのテーブル中の前記パターンは、検出正確性を改善する１つ以上の以前に検出されたシンボル値を備える方法。
【請求項８】
請求項３に記載の方法であって、
前記サンプルのシーケンスを遅延させ、前記第１または第２サンプルストリーム中のシンボル境界のクロシングを管理するためにバッファを用いること
をさらに含む方法。
【請求項９】
データをディジタル伝送リンク上で受信する装置であって、
（ａ）シンボルのシーケンスを表すように生成されたサンプルのシーケンスを受信することであって、前記サンプルのシーケンスは、前記サンプルのシーケンスの第１および第２位相に基づく第１および第２サンプルストリームを備える、受信すること、
（ｂ）前記第１および第２ストリームから第１および第２シンボルを検出すること、および
（ｃ）前記第１および第２シンボルの第１および第２検出信頼性を推定すること
を行う受信機を含む装置。
【請求項１０】
請求項９に記載の装置であって、前記受信機は、
（ｄ）前記第１検出信頼性が前記第２検出信頼性よりも高いとき、前記シンボルのシーケンス中の伝送されたシンボルを表すものとして前記第１シンボルを選択すること、および
（ｅ）前記第２検出信頼性が前記第１検出信頼性よりも高いとき、前記シンボルのシーケンス中の伝送されたシンボルを表すものとして前記第２シンボルを選択すること
をさらに行う装置。
【請求項１１】
請求項９に記載の装置であって、前記検出することは、前記第１および第２サンプルストリーム中の観測窓上でサンプルを調べることを含む装置。
【請求項１２】
請求項１０に記載の装置であって、前記検出は、検出パターンのテーブルに従って進み、前記検出パターンのテーブル中のパターンは、少なくとも前記観測窓と同じだけ長い装置。
【請求項１３】
請求項１２に記載の装置であって、前記検出パターンのテーブル中の前記パターンは、検出正確性を改善する１つ以上のルックビハインド値を備える装置。
【請求項１４】
請求項１２に記載の装置であって、前記検出パターンのテーブル中の前記パターンは、検出正確性を改善する１つ以上のルックアヘッド値を備える装置。
【請求項１５】
請求項１２に記載の装置であって、前記検出パターンのテーブル中の前記パターンは、検出正確性を改善する１つ以上の以前に検出されたシンボル値を備える装置。
【請求項１６】
請求項１１に記載の装置であって、前記受信機は、
（ｆ）前記サンプルのシーケンスを遅延させ、前記第１または第２サンプルストリーム中のシンボル境界のクロシングを管理するためにバッファを用いること
をさらに行う装置。
【請求項１７】
コンピュータシステムのプロセッサが、ディジタル伝送リンク上を入力するデータを処理できるようにする、その上に記録されたコンピュータで実行可能な命令を有するコンピュータで読み取り可能な媒体であって、前記コンピュータで実行可能な命令は、
シンボルのシーケンスを表すように生成されたサンプルのシーケンスを受信することであって、前記サンプルのシーケンスは、前記サンプルのシーケンスの第１および第２位相に基づく第１および第２サンプルストリームを備える、受信すること、
前記第１および第２ストリームから第１および第２シンボルを検出すること、および
前記第１および第２シンボルの第１および第２検出信頼性を推定すること
を含むコンピュータで読み取り可能な媒体。
【請求項１８】
請求項１７に記載のコンピュータで読み取り可能な媒体であって、前記コンピュータで実行可能な命令は、
前記第１検出信頼性が前記第２検出信頼性よりも高いとき、前記シンボルのシーケンス中の伝送されたシンボルを表すものとして前記第１シンボルを選択すること、および
前記第２検出信頼性が前記第１検出信頼性よりも高いとき、前記シンボルのシーケンス中の伝送されたシンボルを表すものとして前記第２シンボルを選択すること
をさらに含むコンピュータで読み取り可能な媒体。
【請求項１９】
請求項１７に記載のコンピュータで読み取り可能な媒体であって、前記検出することは、前記第１および第２サンプルストリーム中の観測窓上でサンプルを調べることを含むコンピュータで読み取り可能な媒体。
【請求項２０】
請求項１８に記載のコンピュータで読み取り可能な媒体であって、前記検出は、検出パターンのテーブルに従って進み、前記検出パターンのテーブル中のパターンは、少なくとも前記観測窓と同じだけ長いコンピュータで読み取り可能な媒体。
【請求項２１】
請求項２０に記載のコンピュータで読み取り可能な媒体であって、前記検出パターンのテーブル中の前記パターンは、検出正確性を改善する１つ以上のルックビハインド値を備えるコンピュータで読み取り可能な媒体。
【請求項２２】
請求項２０に記載のコンピュータで読み取り可能な媒体であって、前記検出パターンのテーブル中の前記パターンは、検出正確性を改善する１つ以上のルックアヘッド値を備えるコンピュータで読み取り可能な媒体。
【請求項２３】
請求項２０に記載のコンピュータで読み取り可能な媒体であって、前記検出パターンのテーブル中の前記パターンは、検出正確性を改善する１つ以上の以前に検出されたシンボル値を備えるコンピュータで読み取り可能な媒体。
【請求項２４】
請求項１９に記載のコンピュータで読み取り可能な媒体であって、前記コンピュータで実行可能な命令は、
前記サンプルのシーケンスを遅延させ、前記第１または第２サンプルストリーム中のシンボル境界のクロシングを管理するためにバッファを用いること
をさらに含むコンピュータで読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、アナログおよびディジタル伝送リンク上でのデータ受信に関し、特に、確定的および非確定的ジッタの存在下でのロバストな動作を提供する受信機に関する。
【背景技術】
【０００２】
高速ディジタル通信は、ますます重要な技術を象徴する。ますます多くのアナログ通信リンクが、信頼性、リンク品質（例えば低ビットエラーレート（ＢＥＲ））、使用の簡便性およびエンドユーザにとっての低コストを提供する高速シリアルリンクに置き換えられている。
【０００３】
例えば、最近のコンピュータディスプレイおよび高精細テレビ（ＨＤＴＶ）ディスプレイは、ディジタルビジュアルインタフェース（ＤＶＩ）および高品位マルチメディアインタフェース（ＨＤＭＩ）のような業界標準に基づく高速シリアルリンクをしばしば採用する。そのようなリンクの総データレートは、一般にギガビット／秒のオーダーである。例えば、ＤＶＩリンクのボーレートは、５ギガボーに近く、多くのベンダーはこの限界を少なからず超える製品を提供している。
【０００４】
他の例は、コンピュータシステム中の記憶装置を接続するためのシリアルアドバンステクノロジーアタッチメント（ＡＴＡ）インタフェースである。この応用例も約２ギガビット／秒以上のデータレートを必要とする。
【０００５】
さらに他の例は、ギガビットイーサネット（１０００Ｂａｓｅ−Ｔのような）のような高速ローカルエリアネットワーク（ＬＡＮ）アプリケーションと共に、発展しつつある１０ギガビットイーサネット（１０ＧＢＡＳＥ−Ｔ）標準である。
【０００６】
これらおよび同様の例の基本となるリンクは、多くの共通の必要条件を有する。それらは、いくつか例を挙げれば、高速動作、大きな確定的および／または非確定的データジッタに耐える能力、大きな周波数オフセットおよび／または周波数変調（ＦＭ）に耐える能力、良好な実効ＢＥＲ、小さい水平アイ開口部（例えば０．４ユニットインターバル（ＵＩ）アイ幅の使用は珍しくない）、高いトラッキング帯域幅、高速位相捕捉および良好なトラッキング範囲を必要とする。
【０００７】
そのような高速シリアルリンクのための受信機のよく用いられる実現例の一つは、「良好な」サンプルストリームを選択するためのいわゆる「位相ピッキング（phase picking）」と組み合わせた受信機データオーバサンプリングに基づく。よく用いられるＤＶＩリンク実現例は、Ｌ＝３のオーバサンプリング係数を用い、データサンプリングはしばしば位相トラッキングなしでなされる。いったんオーバサンプリングされたデータストリームが利用可能になると、位相ピッカ（phase picker）は、最適なサンプルを選択するために、なんらかのタイプの位相トラッキングアプローチ（遷移位相平均化（transition phase averaging）のような）を用いて、Ｌ個のサンプルのうち１つのサンプルを保持する。
【０００８】
そのような技術は実現するのが比較的簡単で、安価であるが、さまざまな問題を被る。例えば、今日採用されているいくつかのラインコードは、非常に広い周波数スペクトルを有する（すなわち良くないランレングス（ｄ，ｋ）制約（poor run length (d,k)-constraints））。この問題は、１から１４シンボルが連続しえるＤＶＩ／ＨＤＭＩリンクについては本質的に重大である。安定性およびロバストさの理由で、位相ピッカは、比較的狭いトラッキング帯域幅で動作しなければならない。そのようなアプローチの欠点は、オーバサンプリングされたデータ中に存在する確定的ジッタをトラッキングできないことである。また狭いトラッキング帯域幅は、速度（すなわち位相捕捉時間）を設定するのにも制限を課し、良くない遷移パフォーマンスをきたし、ときにはキャプチャレンジを狭くする。
【０００９】
位相ピッキングアプローチの一つの基本的問題は、検出プロセス中の全ての利用可能なオーバサンプリングされたデータを利用できないことである。よくある位相ピッカの実現例は、それぞれのシンボルについてＬ−１個のサンプルを単に廃棄し、Ｌ個の受信されたサンプルから一つだけを保持する。したがって、オーバサンプリングされたデータは、位相トラッキングについてだけ利用され、データ検出には用いられない。よって、位相ピッカは、デコードされつつあるシンボルについての有用な情報を含む多くのデータサンプルを廃棄する。よくあるＤＶＩ／ＨＤＭＩ実現例において、受信機に利用可能な約２／３の情報が単に廃棄される。
【００１０】
もしデータレートが適度であり、アイ開口部が適切であるなら、例えばリンクが短い高品質シールデッドツイステッドペア（ＳＴＰ）ケーブルを採用するときなどは、そのような位相ピッキングアプローチによって生じる損失は許容でき、安価な受信機実現例のために利用できる。しかし、いったんデータレートが増し、および／または長いか、アンシールデッドツイステッドペア（ＵＴＰ）ケーブルのような低品質のケーブルが用いられると、利用可能なアイ開口部はより小さくなり、受信機パフォーマンスは急速に劣化する。
【００１１】
例えば、そのような従来の位相平均化位相ピッカは、信頼性高くデータシンボルを検出するために、２サンプリング間隔より大きいアイ開口部を必要とすることが示されえる。Ｌ＝３のサンプルを用いるよくある実現例の場合、これは、もし位相ピッキングによるデータエラーが回避されるべきなら、アイ幅が少なくとも０．７１ＵＩでなければならないことを示唆する。このような制限は、低速および／または短い伝送距離においてはかなり許容できるが、より高いデータレートにおいては高価な贅沢になり、比較的高価な良好な等化およびプリエンファシス技術をしばしば必要とする。
【００１２】
加えて、多くの従来の位相ピッキングアプローチは、高速および／または高オーバサンプリング係数において実現することが困難であるが、それはそれらが一般にサンプルのパラレル処理のための簡単なやり方を提供しないからである。受信機の実現例からは、受信機の複雑さをオーバサンプリング係数（over-sampling factor）に直線的に依存させ、それによって狭いアイ仕様を提供することがしばしば望ましい。多くの既存の位相ピッキング方法は、複雑さにおいてこのような直線的な増加を示さず、その代わりにオーバサンプリング係数の２乗以上で増える。
【００１３】
この技術でよく知られた受信機の代替クラスは、いわゆる「多数決（Majority Voting）」オーバサンプリングされた受信機によって代表される。この技術は、低速リンクのために過去に幅広く使われ、０．９ＵＩ以上のアイ開口のような良好なアイ開口が利用可能なら、ある程度のデータの直線および／または非直線フィルタリングを提供し、しばしばリンクのロバストさおよびＢＥＲを改善する。このような受信機は、また、実現するのが安価であり、これは過去によく使われた重要な理由である。しかし、今日の高速シリアルリンクにはよくあるように、いったんアイ開口が小さくなると、このような「多数決」受信機のパフォーマンスは急速に不満足なものになる。さらに、一般にこのような受信機は、高い周波数オフセットおよび周波数変調を持つデータストリームや、高い非確定性ジッタを持つデータストリームを扱うのに困難さを有する。
【００１４】
従来の「アナログ」のクロックおよびデータリカバリ（ＣＤＲとしても知られる）技術に比べて、ディジタル領域におけるデータ検出および／または位相トラッキングは、異なる製造プロセス間のポータビリティ、簡単な設計および低コストの優位性を有する。加えて、アナログの実現例には利用不可能かもしれない多くの非直線検出および／またはフィルタリング方法がディジタル領域ではしばしば安価に実現される。さらに、従来のアナログＣＤＲは良好な位相トラッキングパフォーマンスをしばしば提供するにもかかわらず、それは改良されたデータ検出そのものにはめったに寄与しないが、それはほとんどのアナログＣＤＲが、データ検出のために１シンボル当たり１つのサンプルだけしか取らない簡単なサンプラを有するからである。よって、もし高い確定性ジッタによるかなりのアイ閉鎖（eye closure）が存在するなら、アナログＣＤＲパフォーマンスは不満足なものになる。
【００１５】
一般に、最も良い受信機動作パフォーマンスは、それぞれのシンボルが最大アイ開口部高の点において検出される（すなわちサンプリングされる）ときに達成されえる。しかしそのようなサンプリング点は難しく、しばしば見つけるのが不可能である。「最適な」サンプリング点を決定するために、受信機は、ガイドとしてデータの遷移をふつう参考にする。しかし、そのようなデータ遷移は一般に、シンボルのちょうど境界においては起こらない。それらの位置は、確定性ジッタ（先行するシンボルの履歴によって決定されるシンボル間干渉（ＩＳＩ）によって生じる）、伝送システムのさまざまな要素中のノイズによって導かれる非確定性ジッタ（クロック発生器位相ノイズ、振幅および時間オフセットを生じるサンプラによる不正確な信号のスライス、加算および乗算チャネルノイズなどのような）、クロストーク誘導されたジッタおよびそのようなリンクに存在する周波数オフセットおよび周波数変調によって影響を受ける。加えて、リンクは、受信をさらに複雑にする非線形歪みからの影響をしばしば受ける。
【００１６】
遷移の位置は、現在のシンボルについての最適サンプリング点に関する信頼性の高い情報を与えないかもしれないので、受信機は、ある程度の許容できるサンプリング位相に到達するために、遷移の観察から導かれたサンプリング位相情報をフィルタリングするよう試みえる。例えば、多くの既存の実現例は、ローパス伝送特性を持つ線形フィルタ、またはノイズ抑圧特性を持つなんらかの非線形フィルタ（例えばメディアンフィルタ）のいずれかを適用する。しかし、このような方法で得られたサンプリング位相位置は、シンボル単位の意味ではしばしば最適にはならない。これは、確定性要素（ＩＳＩおよびクロストークのような）を純粋に非確定性位相ノイズおよび周波数オフセットから分離することが困難だからである。非確定性位相ノイズは、フィルタリングされ（すなわち抑圧され）なければならないが、確定性部分は、良好な受信機パフォーマンスを提供するために、周波数オフセットと共に、トラッキングされなければならない。フィルタリングアプローチは、このような識別をすることがしばしば不可能であり、よって全体的な検出パフォーマンスが影響を受ける。
【００１７】
ビタビアルゴリズム（ＶＡ）およびその改良物と共に、フィードバック検出スキームおよび判定フィードバック等化（ＤＦＥ）に基づくシーケンス検出方法のような、パフォーマンスを改善するよう試みる他のよく知られた方法がある。これらアプローチはうまく働き、ＩＳＩおよび他の確定性要素を記述でき、よって全体的なパフォーマンスを改善し、サンプリング位相トラッキングタスクを簡略化できる（もはや周波数オフセットと共に非確定性部分を扱うだけでよいので）。しかし、シーケンス検出ベースの方法は、実現するのがしばしば複雑で高価であり、一般にマルチビットサンプリング（すなわちアナログディジタル変換（ＡＤＣ））およびシンボル単位での大量の計算を必要とする。いったんデータレートがギガビット／秒オーダーに近づき始めると、シーケンス検出器は急速に非実用的になる。低レートにおいてさえ、ＶＤ（ビタビデコーディング）およびＤＦＥベースの受信機は、実現するのが不可能なほど高価である。
【発明の開示】
【発明が解決しようとする課題】
【００１８】
したがって、必要とされるのは、従来の位相ピッカ、「多数決」およびアナログのＣＤＲ受信機を悩ませる問題の影響を受けない、オーバサンプリングされたデータ受信を行うデータ受信機を構築する簡単で効率的なやり方である。
【課題を解決するための手段】
【００１９】
サンプリングされたデータに対して動作するオーバサンプリングされたシーケンスの検出器が開示される。この検出器は、サンプリングされたデータの検出信頼性をトラッキングする新しいアプローチに基づく。検出器は、異なるサンプリング位相についてのサンプルシーケンスを別個に分析し、それから最も信頼性のある検出を可能にするサンプルシーケンスを選ぶ。異なるサンプリング位相について、検出器は、簡単なシンボル単位での検出よりも改善を図るために、ルックビハインドおよびルックアヘッド情報のうちある程度の量を調べる。加えて、オーバサンプリングされた情報は、さらに検出パフォーマンスを改善するために用いられる。
【００２０】
本発明は、添付の図面の図において限定によってではなく例示によって示され、ここで同様の参照番号は同様の要素を示す。
【発明を実施するための最良の形態】
【００２１】
本発明の特定の実施形態が詳細に参照され、その例は添付図面に示される。本発明は、記載された実施形態に本発明を限定するよう意図されないと理解されよう。むしろ、添付の特許請求の範囲によって定義される本発明の精神および範囲内に含まれえるものとして代替物、改変物、および等価物をカバーするよう意図される。
【００２２】
オーバサンプリングされたデータがディジタル伝送リンク（digital transmission link）上を送られるとき、確定性および非確定性ジッタの存在下でもロバストな動作を提供するディジタル受信機を用いるのが望ましい。ＩＳＩのために、オーバサンプリングされたデータは、１ビット当たり１サンプルより多く反復する（例えばＬ＝３の例示的なオーバサンプリング係数では３回）にもかかわらず、ビット値ｂは、完全に反復されたサンプルシーケンスｂｂｂとしては受信機に到達しないかもしれず、その代わりにｂに等しくないサンプルシーケンスにおける値をなすかもしれない。例えば、０のビット値は、明白に０００として到達しえるが、またはジッタに依存して、それは００１、１００、１０１、または任意の他の組み合わせとしても到達しえる。したがって、シンボルを一致して示さない多数のサンプル群からシンボルを推定することが問題となる。
【００２３】
上述のように、一つの明らかなアプローチは、サンプル群の多数決を用いることである。残念ながら、多くの場合これはうまくいかないが、それは、サンプル群の伝送されたストリーム中におけるシンボル境界の知識をそれが仮定するからであり、この仮定自身も決定し、追跡するのが難しいのである。他のアプローチは、遷移を調べ、場合によってはトラッキングループを実現することによって、信号の位相をトラッキングする。しかし、位相トラッキングは、理想のサンプリング位置（シンボル境界についてのサンプリングクロックの位置）に影響を与える非確定性ジッタから生じ、よってトラッキングされなければならない位相シフト群と、チャネルメモリによる、理想のサンプリング位置に影響を与えず、よってトラッキングされなくてもよい位相シフトとを識別しない。位相トラッキングの変形は、ＩＳＩによる境界シフトが高速プロセスであり、トラッキングループの帯域幅より高いレートで起こるという知見に基づいて、トラッキングループの帯域幅を変更することによって、チャネルの変化に対するトラッキングループの感度を下げる試みを伴う。このアプローチは、ジェネレータ周波数（generator frequency）またはラジオリンクのドップラー効果（radio link Doppler effects）に関する問題のような低い周波数の不安定性を扱うときはうまく働くが、スライサ（slicers）およびフェーズロックループ（ＰＬＬ）によって生じるケーブルクロストークおよび高い周波数のジッタによる広いノイズスペクトルは、位相トラッカ（phase trackers）のパフォーマンスを制限する。したがって、受信機のパフォーマンスを改善することが望ましい。
【００２４】
図１は、本発明のある実施形態によるディジタル伝送リンク上のデータ受信のための方法およびシステムを示すトップレベルのブロック図である。送信機５１は、サンプリングされたデータをチャネル５２上で伝送する。オーバサンプリングされたシーケンス検出器１００（以後、「受信機」とも呼ばれる）は、伝送された信号を受信およびデコードする。検出器１００は、データの最適なサンプリング位相をトラッキングする代わりに、サンプリングされたデータの検出信頼性をトラッキングすることに基づく。限定としてではなく、図示の簡明さのために、１つ以上の例示的実施形態は、それぞれのシンボルが＋１およびー１、または０および１のような２つの値のうちの１つをとる、バイナリアルファベットを採用するリンクを有するとして開示される。したがって、１つ以上の実施形態は、サンプル当たり１ビットのレートにおいて動作するとして開示され、オーバサンプリング係数は低く維持され、多くの場合、２および４サンプルの間でありえる。しかし、これらは開示された実施形態の動作のための必要条件ではなく、本発明は、より複雑な（非バイナリの）アルファベットをもつリンクにも等しく適用可能であり、１ビットの情報より多い情報を持つサンプルも、より高いオーバサンプリング係数と共に、同様にして扱いえる。
【００２５】
限定的ではなく、例示的に、検出器１００の動作は、ここでオーバサンプリング係数Ｌ＝３を用いて、単一ビットサンプリングを用いて示される。従来のシーケンス検出器と異なり、本検出器１００は、異なるサンプリング位相（定格位相オフセット１／Ｌ・ＵＩ）についてのサンプルシーケンスを別個に分析し、それから最も信頼性のある検出を可能にするサンプルシーケンスを拾う。異なるサンプリング位相について、検出器１００は、単純なシンボル毎の検出を改善するために、ルックビハインドおよびルックアヘッド情報（すなわちプリカーソルおよびポストカーソルデータ）のある量を検査する。加えて、オーバサンプリングされた情報は、検出パフォーマンスをさらに改善するのに用いられる。これは、いったんサンプリング位相が決定されたら、オーバサンプリングされたデータをしばしば廃棄する従来の「位相ピッカ（Phase Pickers）」とは対照的である。
【００２６】
検出パフォーマンスについて、本発明は、計算的に効率的であり、したがって従来のシーケンス検出器で現在可能であるものを充分に超えたデータレートおよび／またはコスト制約において成功して適用されえる。
【００２７】
検出パフォーマンスは、本発明の１つ以上の実施形態を遷移駆動型の位相トラッキング（transitions driven phase tracking）（アナログまたはディジタル）と組み合わせることによってさらに改善されえる。例えば、位相ノイズおよび周波数オフセットは、トラッキングループによって低減されえ、一方、ＩＳＩおよび大きな「位相ヒット（phase hits）」は、本発明の１つ以上の実施形態によって扱いえる。実質的に、非確定性位相ノイズと共に、遅い位相バラツキは、狭い帯域幅のフィードバックループによってトラッキングされ、一方、本発明のオーバサンプリング検出器１００は、残りの位相バラツキ（ＩＳＩのような）を扱う。
【００２８】
図２は、本発明のある実施形態によるディジタル伝送リンク上のデータの受信についての方法を示すフロー図である。最初のシンボルをデコードすることで１２において始まり、本方法は、以下のステップで記述されえる。
【００２９】
・それぞれのサンプリング位相（全部でＬ個の位相から、１４において最初の位相で始まる）について、１６において、観測窓（observation window）Ｗ上でサンプルを調べる。この窓は典型的には、現在のシンボルに対応するＬサンプルと共に、前および後のシンボルからのいくつかのサンプルも含む。例えば、オーバサンプリング係数Ｌ＝３を持つシステムについては、典型的には観測窓Ｗは、５または６サンプルを備えうる。Ｗ＝５の例の場合、現在のシンボルからのＬ＝３のサンプルに加えて、１つのルックアヘッドサンプルおよび１つのルックビハインドサンプルが用いられえる。Ｗ＝６の例の場合、現在のシンボルからのＬ＝３のサンプルに加えて、２つのルックビハインドサンプルおよび１つのルックアヘッドサンプルが用いられえ、ＬおよびＷの他の値についても同様である。
【００３０】
・次に１８において、上で選択されたサンプルを用いてそれぞれの可能なサンプリング位相について現在のシンボル値の検出が行われる。ルックアヘッドおよびルックビハインドサンプルは、サンプルストリームおよび／または検出器１００の出力ストリームについての過去の判定と共に、後述のように検出パフォーマンスを改善するために用いられえる。
【００３１】
・２０において、それぞれのサンプリング位相についての検出信頼性が推定（estimate）される（すなわち判定不確定性を評価する）。
【００３２】
・２２において、最高検出信頼性（すなわち最低判定不確定性）を持つサンプリングストリームを選択する。後述のように、１つ以上の線形および／または非線形フィルタは、不必要なストリームスイッチングを避けるために、選択プロセスを制御しえる。代替として、もし特定の実施形態について必要とされるなら、フィルタリングなしのシンボル毎のスイッチングも採用されえる。
【００３３】
・３６において、もし３２においてスイッチングプロセスがシンボル境界を越えると決定されるならエラスティックバッファを調整する（３６）。一般にシンボル境界は、もし古い位相および新しい位相の間の差の絶対値が１／２・ＵＩより大きいなら、クロスしている。例えば、オーバサンプリング係数Ｌ＝３について、そのようなクロスは０→２または２→０の遷移が起こったときに起こる。Ｌ＝５のようなより大きいオーバサンプリング係数については、以下の遷移の任意のものはシンボル脱落（symbol dropping）または重複（duplication）を生じる。すなわち、０→４、１→４、０→３、４→０、４→１、および３→０であるが、これはこれらの場合は全て、古い位相および新しい位相の間の差が３または４であり、すなわち１／２・ＵＩ（この場合２．５である）よりも大きいからである。エラスティックバッファは、後述される。代替として、現在のシンボルポインタは、境界クロス（boundary crossing）を考慮する（account for）ために、それぞれのサンプリングストリームについて調整されえる。
【００３４】
・３８において、上述のステップをストリーム中の残りのシンボルについて反復する。
【００３５】
上述のステップは以下により詳細に記載される。
【００３６】
本発明のアプローチは、サンプリング位相が正しいことを仮定し、かつ現在のシンボルの値を推測し、そのような推測の信頼性を評価することにある。非常に頻繁に、任意の可能なサンプリング位相は、同じシンボル値を生む。例えば、もしシンボルストリームが同じ値（例えば１の値を持つ）のシンボルの長いランを有し、検出器１００がそのような長いランの中にあるなら、サンプリング位相は関心の対象ではないが、それは位相にかかわらず検出される位相が１になるからである。さらに、そのような推測は、非常に信頼性が高く、すなわちそのような推測に関連付けられた不確定性はゼロである。これは自明な例であるが、シンボル値を正しく検出するためには、検出器１００が常にサンプリング位相を知らなければならないわけではない事実を示す。
【００３７】
位相不変検出（phase-invariant detection）の結果を有する他の例のシーケンスとして、以下の例を考える（この例ではＬ＝３およびＷ＝５である）。すなわち
位相０：000.111.101.111.000で、これは01010とデコードされる（下を参照）。
デコードされたデータ：--0-----0-----1----0---
位相１：001.111.011.110.0で、これも01010とデコードされる。
位相２：011.110.111.100.0で、これは1010xとデコードされる（すなわち１シンボル早い）。
【００３８】
上の例では、選択されたサンプリング位相にかかわらず、正しい検出判定を行うことが可能だったが、これは検出されたデータの３つのストリームの全てが、示される４つのシンボル上で同一だからである。
【００３９】
しかし、上述の例では、検出信頼性は異なる位相によって違う。例えば、位相０のデータは、信頼性高くデコードされえるが、これは全てのシンボルがたった１つの可能なシンボル値しか表しえないサンプルのパターンを有するからである。位相０については１つのシンボルを除いて全てがきれいに定義されたシンボル境界を有する。サンプルパターン1.101.1も曖昧さなしでデコードされえるが、これは１の２つの隣接するシンボルが単一の０サンプルによって分離されているからである。これは、比較的高いＩＳＩの場合に対応し、これはどちらかといえば浅いゼロピークを生じ、よって狭いシンボルを作る。よって、位相０に対応するシーケンスは、信頼性高くデコードされ、０の累積「検出メトリック（detection metric）」を有し、これは低いレベルの不確定性を示す。このアイディアは、入力サンプルシーケンスからシンボルをデコードするときに、それらの不確定性のレベルを示すために、かつこれら判定メトリックを用いるために、判定メトリック（decision metrics）（以後、単にメトリックとも呼ばれる）をシンボルシーケンスにアサインすることである。
【００４０】
対照的に、位相１および位相２ストリームについてのデータを推測する信頼性は、位相０ストリームについてよりも低い。いくつかのサンプルパターンは、紛らわしく曖昧に見えることがあり、シーケンスが曖昧さなく検出されえるとしても検出は、データの位相ジッタおよび／または周波数変調と組み合わせられた激しいＩＳＩの存在下では誤りであるかもしれない。よって、位相１および位相２ストリームについてのメトリックは、位相０ストリームについてよりも高く設定され、これは位相１および位相２ストリームについての検出プロセスの増大した不確定性（または減少した信頼性）を示す。例えば、位相１および位相２ストリームの両方は、位相０ストリームの０メトリックに比較して、２のメトリックを与えられえる。
【００４１】
限定ではなく例示のために、以下のセクションは、受信機の例示的実現例のために提案されたいくつかの例示的検出パターンを示す。
【００４２】
Ｌ＝３およびＷ＝５についての例示的データ検出パターン
【００４３】
他の実施形態の中でも、検出器１００の２つの実施形態がここで示される。１つの実現例は、以前に検出された値（すなわち以前のシンボルについて決定された値）を用い、もう一つ実現例は、そのような以前に検出された値を用いない。現在のシンボルの検出の不確定性を減らすために以前の値が用いられるスキームは、ここでは判定フィードバック検出（Decision Feedback Detection）、つまりＤＦスキームと呼ばれる。そのようなスキームは、場合によっては追加のハードウェアを施すことによって、検出の信頼性を改善する（すなわちＢＥＲを低減させる）。
【００４４】
以下の表１は、ＤＦ検出器のための提案された検出パターンを示す。スペースを節約するために（紙面において、および実物のハードウェアにおいて）、表の前半しか明示的に示されないことに注意されたい。検出された値と共に、パターンビットを反転させることによって、後半が作られる。より簡潔に表データを表すために、他の圧縮スキームが用いられえる。
【表１】
2006203866.tif 000003
【００４５】
表１において、４つのパターン0 011 0,0 011 1,0 101 1および0 110 1（１６進表記では06,07,0Bおよび0D）は、ＤＦ値（「前の値」と名付けられたカラム中に示される）に依存する。したがって、簡略化された非ＤＦ検出器は、そのようなパターンについての検出品質の妥当な低下で実現されえると結論づけられえる。
【００４６】
ストリーム検出
【００４７】
それぞれのストリーム中の現在のシンボルについていったんメトリックが計算されると、ストリーム選択がなされえる。典型的には、位相コヒーレンスのある所望の量を維持するために、かつ検出ストリーム間での急速なスイッチングを防ぐために（そのようなスイッチングは検出信頼性を低下しえるので）、なんらかのタイプのフィルタリングが用いられえる。
【００４８】
検出器１００は、もし他のストリームへ切り替える判定にたどり着く前に特定の長さの過去の検出履歴が考慮されるなら、より正確にされえる。これは、ＩＳＩ、位相ジッタ、周波数変調および／またはクロック周波数オフセット、または他のプロセスのような、いくつかの独立したプロセスが、前述のようにシンボル境界に影響を与えるためである。ジッタのようないくつかのプロセスは、またＩＳＩもある程度は、短い位相コヒーレンス、すなわちシンボル単位での高い変化のレートを有する。それぞれのストリームにおけるパターンデコーダは、そのような短期的シフトを扱う。
【００４９】
周波数オフセットまたは周波数変調のような他のプロセスは、一般にずっと長い位相コヒーレンス期間を有し、よってパターン検出器だけによって扱うことには適さない。そのような場合、ストリームスイッチングが行われ、それによってサンプリング位相トラッキングを達成する（間接的に）。
【００５０】
ＤＶＩ／ＨＤＭＩ応用例のためのある実施形態において、フィルタは、ストリーム当たりのベースで移動平均として単純に実現されえ（すなわち１−Ｄフィルタ群のＬ）、この後に非線形スレッショルドが続く。これは、現在のストリームおよび候補ストリームのメトリック群の間の差が特定のアプリケーションに依存したスレッショルドより上でない限り、ストリームスイッチングを防ぐ。
【００５１】
ある実施形態において、最小メトリックを持つ候補ストリームが選択される。しかし、他の戦略的方法も用いられえる。
【００５２】
シンボル値が最終的に選択される前に、後述のように、エラスティックバッファの助けを借りて候補ストリームの何らかの調整がなされえる。
【００５３】
ストリームスイッチングおよびエラスティックバッファの役割
【００５４】
もし新しい候補ストリームの選択のプロセスにおいて、現在のストリームおよび提案されたストリーム間の位相差がＬ／２より大きい（すなわちＵＩ位相ジャンプ（phase jump）の半分より大きい）なら、検出プロセスは、シンボル境界を越える。検出器１００がさらなるステップをとらない限り、１つのシンボルの重複または欠落（位相ジャンプの向きによって決定される）のために、誤り検出が起こりえる。
【００５５】
例えば、ＵＩの最初に近いストリーム（例えばＬ＝３のオーバサンプリング係数を持つシステムにおける位相０ストリーム）を用いるとき、かつＵＩの最後におけるストリーム（例えばこの場合位相２ストリーム）を選択するとき、シンボル境界が越えられ、必要なステップがとられない限り、１つのシンボルが検出されたストリームにおいて失われる（すなわちドロップされる）。
【００５６】
逆に、もし位相がＵＩの半分以上後ろの向きに移動する（例えば上の例で位相２ストリームから位相０ストリームへ）なら、このシンボルは、２回サンプリングされるかもしれず、よってシンボル重複を検出されたストリーム中で引き起こしえる。
【００５７】
上述の問題に対する一つの可能な解決法は、ストリーム選択が実行される前に、エラスティックバッファを追加すること、またはより一般に、可変シンボルディレイを追加することである。前方位相動きの場合（例えば上の例で位相０ストリームから位相２ストリームへ）、エラスティックバッファの長さ（すなわち遅延の量）は、１シンボルだけ減らされる。逆に、位相遅れの場合（例えば上の例で位相２ストリームから位相０ストリームへ）、エラスティックバッファの長さは、１シンボルだけ増やされる。
【００５８】
概念だけを説明する目的で、上の説明では抽象的なエラスティックバッファ（および可変ディレイ）が用いられており、限定としては意図されないことに注意されたい。実際の実現例においては、さまざまなアプローチが用いられえる。例えば、データの数シンボル分を保持するマルチプレクサ群およびコモンが共有されたレジスタ群に基づいた、並列の実現例が用いられえる。しかし、以下の記載は、実際の受信機はデータを充分にバッファおよび／またはディレイさせるよう働く任意の実現例を用いえるという理解の下で、エラスティックバッファの考えを用いながら続く。
【００５９】
タイミングは、デコーダがメトリックを計算し、現在のシンボルの検出がなされた後で切り替え判定を行うようになっている。この時点において、オプションとして、エラスティックバッファの長さも調整される。しかし、次のシンボル期間のあいだに新しい候補ストリームが選択される。換言すれば、位相スイッチングプロセスは、シンボル検出のあいだに、具体的には、前のシンボルが検出された後で、かつ次のシンボルが処理される前に起こっているものとして視覚化され（visualized）える。他の実現例も可能である。例えば、スイッチングは、遅延なしで現在のシンボルについてオンザフライでなされえる。しかし、そのようなアプローチは、ハードウェアの複雑さを増すだけで、多くの実際の場合においては、検出品質を大きくは改善しない。
【００６０】
スタートアップにおける、または新しいリンク接続を確立するときのような受信機の動作が不安定な期間のあいだは、エラスティックバッファが調整の限界に達しえる。そのような場合においては、バッファ（すなわち遅延の量）は、強制的に中央に戻され（re-centered）なければならず、その結果、データ損失も起こりえる。そのようなリセンタリングは、シンボル境界を越える場合において、重複または欠落したシンボルを補償できないことによって調整の限界に当たって、複数の誤りを引き起こす、エラスティックバッファによって生じる誤り伝搬現象を防ぐ。
【００６１】
リセンタリングプロセスは、ゼロより下にエラスティックバッファ長が減少すること（すなわち負のディレイのリクエスト）、または最大長限界を超えてエラスティックバッファ長が増大することを検出することによって働く。いずれの場合においても、バッファ長（すなわちディレイ）は、所定の値に設定される。この値は、固定されてもよく、またはオプションとして適応的に調整されてもよい。
【００６２】
ＥＢlengthと表記される長さを有するエラスティックバッファを持つ簡単な実現例において、固定された中央値ＥＢlength／２が用いられえる。例えば、７シンボルのＥＢlengthについては、中央値は３シンボルに設定されえる。
【００６３】
代替として、より複雑な実現例は、最も確からしい境界クロシングの向きにバッファリングのためにより多くのスペースを提供するため、オーバフローおよびそれをリセンターするエラスティックバッファの傾向をトラッキング（track）できる。例えば、もし一時的に正の周波数オフセットが存在し、受信機サンプラが入力データの位相よりも遅れるなら、サンプリング位相は、進められえ、潜在的にはゼロディレイ限界にぶつかる。そのような場合においてバッファは、再び限界に到達し、データ誤りを引き起こす可能性を減らすために、最大ディレイの２／３に再センタリングされえる。
【００６４】
全体のアーキテクチャ
【００６５】
本データ検出方法およびシステムの例示的実現例のアーキテクチャがここで説明される。図３は、本発明のある実施形態によるデータ検出器１００を示すトップレベルのブロック図である。データ検出器１００は、パターンアナライザ１１０、メトリックフィルタ１３０、ストリームスイッチャ１４０、エラスティックバッファ１２０および候補ストリームセレクタ１５０を備える。
【００６６】
入力されるＬ回オーバサンプリングされたデータ１０１は、パターンアナライザ１１０に供給される。このブロックにおいて、入力データパターンが位相単位で分析され、検出メトリックと共に、値のＬ個の候補ストリームが作られる。加えて、このブロックは、サンプリング位相推定、等化計測の品質などのような補助情報１５２の追加ストリームを作ってもよい。本説明は、値（Ｖ）ストリーム１１１およびメトリック（Ｍ）ストリーム１１２に限定される。
【００６７】
以下で「ローメトリック（raw metrics）」とも呼ばれる全部でＬ個の位相毎のメトリックストリームは、メトリックフィルタ１３０によってさらに処理され、メトリック値の短期的な不安定性を抑圧し、メトリックの固有のコヒーレンス（intrinsic coherence）を利用する。一般に検出器１００は、シンボル単位でストリームを選択する代わりに、候補ストリームの品質の変化において安定した傾向に追従しようとする。これは、ストリーム中の全てのシンボルについてはメトリック評価が信頼できないかもしれず、シンボルベース（すなわちシンボルレートで）でそれらに追従するよう試みることは、誤ったおよび／または不必要なストリームスイッチングを起こしえるからである。メトリックフィルタ１３０ブロックは、これらの目的を達成し、大きくは検出器１００全体のトラッキングダイナミクスを決定する。
【００６８】
いったんメトリックストリームがフィルタリングされる（以下では「処理された」メトリックとも呼ばれる）と、Ｌ個の処理されたメトリック１３１は、どのストリームを選択すべきかを判断するストリームスイッチャブロック１４０に送られる。ストリームスイッチャブロック１４０は、シンボル境界を越える場合にバッファリング遅延を調整するためにエラスティックバッファ１２０の長さも制御する。候補ストリーム選択データは、「位相選択」信号１４２によって送られ、エラスティックバッファ１２０ディレイ値は、「シンボル選択」信号１４１によって送られる。
【００６９】
エラスティックバッファブロック１２０は、ストリームスイッチャ１４０によって特定された量だけ候補ストリームを遅延させる。Ｌ個の候補ストリームは、同じ個数のシンボル期間だけ遅延させられる。実際のハードウェア実現例においては、エラスティックバッファブロック１２０は、候補ストリーム群間で共用されるマルチタップシフトレジスタおよび適切なタップを選択するマルチプレクサ群のアレイとして実現されえる。それぞれのストリームについての可変長のシフトレジスタのような他の実現例も可能である。
【００７０】
遅延された候補ストリームは、候補ストリームセレクタ（ＣＳＳ）１５０に与えられ、これはＬ個のストリームのうちの一つを保持し、残りのデータを廃棄する。保持されたストリームは、検出器１００の出力データストリーム１５１を表す。本発明の重要で優位性のある局面は、検出器１００のトポロジ全体の中にフィードバックループがないことである。このことは、高度に並列化された検出器１００の実現例を容易にし、ギガビット／秒以上のデータレートのような非常に高速な動作に適する技術を提供する。
【００７１】
パターンアナライザ
【００７２】
図４は、本発明のある実施形態によるパターンアナライザ１１０を示すブロック図である。入力データサンプル２０１は、特定のディレイを有するシフトレジスタ２１０に送られる。このシフトレジスタ２１０は、ＬSR個のサンプルを保持するのに充分なだけ長く、ここでＬSR＝２Ｌ＋ＮLB＋ＮLA−１であり、ここでＬはオーバサンプリング係数であり、ＮLAはパターン分析に必要とされるルックアヘッド（ＬＡ）サンプルの個数であり、ＮLBはルックビハインド（ＬＢ）サンプルの個数であり、かつＬSRは、シフトレジスタ２１０の最小長（サンプル数で）である。
【００７３】
例えば、３倍オーバサンプリングおよび５サンプル群パターン分析の例の場合（すなわち判定フィードバック（ＤＦ）サンプルを含まず、１個のＬＡサンプルおよび１個のＬＢサンプル）、シフトレジスタ２１０は７個のサンプル群を並列に作る。しかし、シフトレジスタ２１０を用いるこの特定の例示的実施形態は動作をより簡単に理解するようにするが、他の実現例も可能である。例えば、マルチプレクサを持つ並列レジスタは、データの並列処理（高いデータレートにおいて必要となるかもしれない）を促進するために、かつ複雑さおよび／または電力消費を低減するために用いられえる。
【００７４】
シフトレジスタ２１０から、サンプル２１１は、パターンアナライザ要素２２０、２３０、…、２４０のアレイに送られる。簡明さのために、最初の２つおよび最後のパターンアナライザ要素しか図４では示されない。それぞれのパターンアナライザ要素２２０、…、２４０は、シンボル単位でそれに示されるサンプル群の適切な集合を観察し、推定メトリックおよび他の補助情報（必要に応じて）と共に、最尤の（most likely）検出値を推定する。その結果、候補値群およびそれらのメトリック群のＬ個のペアがそれぞれライン２０２および２０３上を送られる。
【００７５】
パターンアナライザ要素
【００７６】
図５は、本発明のある実施形態によるパターンアナライザ要素を示すブロック図である。合計ＬPA＝ＮLB＋Ｌ＋ＮLA個のサンプル群の入力集合がパターンアナライザ１１０からライン３０１上で受け取られ、ルックアップテーブル（ＬＵＴ）３１０への入力として与えられる。加えて、以前に判断された値３２１がレジスタ３２０から受け取られる。レジスタ３２０は、シンボル単位で、すなわち検出サイクル当たり１回、アップデートされる。
【００７７】
ルックアップテーブル３１０は、位相、等化などについての追加の補助情報３１３と共に値「Ｖ」３１２、メトリック「Ｍ」３１１を作る。ルックアップテーブル３１０は、読み出し専用メモリ（ＲＯＭ）を用いて、またはランダムロジックを用いて実現されえる。候補値「Ｖ」３１２は、レジスタ３２０に記憶され、次のシンボルの処理のあいだに用いられる。
【００７８】
エラスティックバッファ
【００７９】
図６は、本発明のある実施形態によるエラスティックバッファ１２０を示すブロック図である。合計Ｌ個の候補ストリームがライン４０１上で受け取られ、Ｌ個のシフトレジスタ４１０、４２０、…、４３０のアレイ中にシンボル単位でシフトされる。ディレイ信号４０２の制御の下、それぞれのシフトレジスタ４１０、４２０、…、４３０の適切なタップは、対応する合計Ｌ個のマルチプレクサ４４０、４５０、…、４６０によって選択される。マルチプレクサ４４０、４５０、…、４６０の出力４４１、４５１、…、４６１は、Ｌ個の候補ストリームの集合を備え、適切に遅延され、信号４０５を介して送り出される。適切なマルチプレクサを用いたＬ個のストリーム間で共用される並列ロードレジスタ、または他のそのような実現例のような他の実現例も可能である。
【００８０】
ストリームスイッチャ
【００８１】
図７は、本発明のある実施形態によるストリームスイッチャ１４０を示すブロック図である。適切にフィルタリングされた（処理された）メトリックＭinは、ライン５０１上でメトリックフィルタ１３０から受け取られる。処理されたメトリックは、シンボル単位で入力メトリックを比較し、Ｌ個の候補ストリーム群のうちどれが現在、最も高い、正しくある尤度を有するか決定するＬウェイ比較器５１０へ送られる。本実施形態において、メトリックが低ければ低いほど、候補値について判定が正しい確率が高くなる。よってそのような場合、比較器５１０は、最も低い処理されたメトリックを有するストリームを決定しえる。そのようなストリームの番号がライン５１１上でスイッチフィルタ５２０へ送られる。
【００８２】
スイッチフィルタ（ＳＦ）５２０は、線形および／または非線形フィルタリングを実行することによって、メトリックにおける小さい短期的変化のために候補ストリームをスイッチングすることを避ける。これは一般にシステム動作を改善する。フィルタリングアルゴリズムは、動作環境に依存する。固定または適応スレッショルディングのような簡単な非線形スキームが多くの場合（ＤＶＩ／ＨＤＭＩ実現例のような）よく働く。例えば、ストリーム切り替えは、現在使用されているストリームおよび提案されたストリーム間のメトリックの差が、特定のインプリメンテーション依存の値よりも大きいときにだけ、なされえる。
【００８３】
現在決定されている候補ストリームのセレクタ「位相選択」がそれから候補ストリームセレクタブロック１５０へライン５２１上で送り出される。加えて、位相選択信号は、エラスティックバッファコントローラ（ＥＢＣ）５３０にも送られる。エラスティックバッファコントローラ５３０は、選択された候補ストリーム中の変化を観察し、もしその選択されたものがシンボル境界をいずれかの向きに越えるなら、エラスティックバッファディレイを調整する。必要なディレイの現在の量は、エラスティックバッファ１２０にライン５３１上で送り出される。
【００８４】
エラスティックバッファコントローラ
【００８５】
図８は、本発明のある実施形態によるエラスティックバッファコントローラ５３０を示すブロック図である。提案される候補ストリームの番号「位相」６０１は、スイッチフィルタ５２０から受け取られ、レジスタ６１０中で１シンボルだけ遅らされ、現在のストリーム番号および前のストリーム番号の間の差が減算器回路６２０および絶対値回路６３０によって決定される。
【００８６】
セレクタ差（selector difference）の絶対値は、それからライン６３１上を２ウェイ比較器６４０へ送られ、この比較器６４０は、その差がＬ／２より大きいか、すなわちシンボル期間の半分より大きいかを決定する。もしそうであるなら、境界クロシング条件はライン６４１上でフラグが付けられ、ＡＮＤゲート６６０および６７０の助けを借りて、ディレイアキュムレータ６８０中の値の調整を可能にする。
【００８７】
ディレイ調整の向きは、２ウェイ比較器６５０によって決定され、この比較器６５０は、サンプリングが入力データに対して進みまたは遅れのどちらであるかを決定する。境界クロシングの場合、ディレイアキュムレータ６８０の値は、比較器６５０によってなされる比較の結果に応じて、インクリメントまたはデクリメントされる。リセンタリングロジック６９０は、範囲を外れたディレイ値をチェックし、そのような場合にはディレイアキュムレータ６８０の値をリセットする。リセンタリング（re-centering）プロセスの説明については上を参照されたい。
【００８８】
図９は、本発明の実施形態を実現するのに採用される例示的コンピュータシステム３００を示す。コンピュータシステム３００は、１つ以上の中央処理ユニット（ＣＰＵ）３０１、ランダムアクセスメモリ（ＲＡＭ）３０２、読み出し専用メモリ（ＲＯＭ）３０３、１つ以上の周辺機器３０５、および主記憶装置３０６および３０７を含む。この技術でよく知られるように、ＲＯＭは、データおよび命令をＣＰＵ３０１へ一方向に転送するよう振る舞い、一方、ＲＡＭは、データおよび命令を双方向で転送するように典型的には用いられる。ＣＰＵ３０１は一般に任意の個数のプロセッサを含みえる。主記憶装置３０６および３０７は、任意の適切なコンピュータで読み取り可能な媒体を含みえる。副記憶媒体３０８は、典型的には大容量メモリデバイスであるが、これも双方向にＣＰＵ３０１に結合され、さらなるデータ記憶容量を提供する。大容量メモリデバイス３０８は、コンピュータコードを含むプログラム、データなどを記憶するのに用いられえるコンピュータで読み取り可能な媒体である。典型的には、大容量記憶装置３０８は、主記憶装置３０６および３０７より一般には遅いハードディスクドライブまたはテープのような記憶媒体である。大容量記憶装置３０８は、磁気またはペーパーテープリーダまたはその他のよく知られた装置の形をとりえる。大容量記憶装置３０８内に保持された情報は、適切な場合においては、仮想記憶としてＲＡＭ３０２の一部として標準的な形で組み込まれえる。
【００８９】
ＣＰＵ３０１は、以下に限定されないが、ビデオモニタ、トラックボール、マウス、キーボード、マイク、タッチセンシティブディスプレイ、トランスデューサカードリーダ、磁気または紙テープリーダ、タブレット、スタイラス、音声または手書き認識器、またはもちろん他のコンピュータのような他のよく知られた入力装置を含みえる１つ以上の入力／出力装置３０９にも結合される。最後に、ＣＰＵ３０１は、ディジタル伝送リンク、インターネットネットワークまたはイントラネットネットワークのような通信リンクまたはコンピュータまたは通信ネットワーク３０４にネットワーク接続を用いて一般に３０４において示されるように結合される。上述のオーバサンプリングされたデータ受信および／または送信ステップを実行する過程において、そのような通信リンクを用いて、ＣＰＵ３０１は、情報をそのリンク上でネットワークから受け取りえ、または情報をそのリンク上でネットワークへ出力しえると想定される。そのような情報は、ＣＰＵ３０１を用いて実行されるべき命令のシーケンスとしてしばしば表されるが、搬送波中に実現されるコンピュータデータ信号の形で、ネットワークから受け取られ、ネットワークへ出力されえる。上述の装置および材料は、コンピュータハードウェアおよびソフトウェア技術の当業者には親しみ深いものであろう。コンピュータシステム３００は、送信されたシンボルをデコードし、上述の受信、検出および／または他の処理ステップを実行するために、１つ以上のオーバサンプリングされたデータストリームを受け取り、それらを処理する。そのような受信、検出および／または他の処理ステップを実行するコンピュータ命令は、ＲＡＭ３０２、ＲＯＭ３０３、主記憶装置３０６および３０７、および／または任意の他のコンピュータで読み取り可能な媒体に記憶されえる。
【００９０】
前述の本発明の実施形態は、図示および記載として提供される。それらは、本発明を説明された正確な形に限定するよう意図されない。他の変形および実施形態は、上述の教示に照らして可能であり、よって本発明の範囲は、詳細な説明ではなく、添付の特許請求の範囲によって限定されるべきであると意図される。
【図面の簡単な説明】
【００９１】
【図１】本発明のある実施形態によるディジタル伝送リンク上のデータ受信のための方法およびシステムを示すトップレベルのブロック図である。
【図２】本発明のある実施形態によるディジタル伝送リンク上のデータの受信についての方法を示すフロー図である。
【図３】本発明のある実施形態によるデータ検出器を示すトップレベルのブロック図である。
【図４】本発明のある実施形態によるパターンアナライザを示すブロック図である。
【図５】本発明のある実施形態によるパターンアナライザ要素を示すブロック図である。
【図６】本発明のある実施形態によるエラスティックバッファを示すブロック図である。
【図７】本発明のある実施形態によるストリームスイッチャを示すブロック図である。
【図８】本発明のある実施形態によるエラスティックバッファコントローラを示すブロック図である。
【図９】本発明の実施形態を実現するのに採用される例示的コンピュータシステムを示す。
【図１】
2006203866.tif 000004
【図２】
2006203866.tif 000005
【図３】
2006203866.tif 000006
【図４】
2006203866.tif 000007
【図５】
2006203866.tif 000008
【図６】
2006203866.tif 000009
【図７】
2006203866.tif 000010
【図８】
2006203866.tif 000011
【図９】
2006203866.tif 000012
【外国語明細書】
1. TITLE OF THE INVENTION
METHOD AND APPARATUS FOR RECEPTION OF DATA OVER DIGITAL TRANSMISSION LINK
2. DETAILED DESCRIPTION OF THE INVENTION
FIELD OF INVENTION
[001]The invention pertains in general to data reception over both analog and digital transmission links, and in particular to a receiver that offers robust operation in the presence of deterministic and non-deterministic jitter.
BACKGROUND OF THE INVENTION
[002]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.
[003]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.
[004]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.
[005]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.
[006]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.
[007]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.
[008]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.
[009]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]An over-sampled sequence detector is disclosed which operates on sampled data.  The detector is based upon the novel approach of 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]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
[0021]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.
[0022]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.
[0023]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.
[0024]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.
[0025]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.
[0026]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.
[0027]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).
[0028]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:
・  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.
・  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.
・  At 20, estimate the detection reliability for each sampling phase (i.e. assess the decision uncertainty).
・  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.
・  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.
・  At 38, repeat the above steps for the remaining symbols in the stream.
[0029]The above steps are described in more detail below.
[0030]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.
[0031]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).
[0032]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.
[0033]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.
[0034]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.
[0035]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
[0036]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.
[0037]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.
2006203866.tif 000013
2006203866.tif 000014
[0038]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
[0039]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.
[0040]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.
[0041]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.
[0042]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.
[0043]In one embodiment, the candidate stream with the smallest metric is selected.  However, other strategies might be used as well.
[0044]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
[0045]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).
[0046]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.
[0047]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.
[0048]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.
[0049]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.
[0050]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.
[0051]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.
[0052]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.
[0053]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.
[0054]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
[0055]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.
[0056]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.
[0057]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.
[0058]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.
[0059]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.
[0060]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
[0061]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:
2006203866.tif 000015
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.
[0062]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.
[0063]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
[0064]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.
[0065]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
[0066]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
[0067]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 { EMBED Equation.3  , }-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.
[0068]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 big ger than a specified implementation-dependent value.
[0069]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
[0070]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 numbers is determined by Subtractor circuit 620 and Absolute Value circuit 630.
[0071]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.
[0072]The direction of the delay adjustment is determined by two-way Comparator 650, which deter mines whether the sampling is leading or lagging the input data.  In the case of a boundary cross ing, 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.
[0073]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.
[0074]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.
[0075]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
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 a sequence of 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
estimating a first and second detection reliability of the first and second symbols.
2. A method as recited in Claim 1, further comprising:
selecting the first symbol as representing a transmitted symbol in the sequence of symbols when the first detection reliability is higher than the second detection reliability; and
selecting the second symbol as representing a transmitted symbol in the sequence of symbols when the second detection reliability is higher than the first detection reliability.
3. A method as recited in Claim 1, wherein the detecting comprises examining samples over an observation window in the first and second sample streams.
4. A method as recited in Claim 2, wherein the detecting proceeds according to a table of detection patterns, and a pattern in the table of detection patterns is at least as long as the observation window.
5. A method as recited in Claim 4, wherein the pattern in the table of detection patterns comprises one or more look-behind values for improving the detection accuracy.
6. A method as recited in Claim 4, wherein the pattern in the table of detection patterns comprises one or more look-ahead values for improving the detection accuracy.
7. A method as recited in Claim 4, wherein the pattern in the table of detection patterns comprises one or more previously detected symbol values for improving the detection accuracy.
8. A method as recited in Claim 3, further comprising:
using a buffer in order to delay the sequence of samples and manage crossing of symbol boundaries in the first or second sample streams.
9. 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 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)  estimating a first and second detection reliability of the first and second symbols.
10. An apparatus as recited in Claim 9, the receiver further for:
(a)  selecting the first symbol as representing a transmitted symbol in the sequence of symbols when the first detection reliability is higher than the second detection reliability; and
(b)  selecting the second symbol as representing a transmitted symbol in the sequence of symbols when the second detection reliability is higher than the first detection reliability.
11. An apparatus as recited in Claim 9, wherein the detecting comprises examining samples over an observation window in the first and second sample streams.
12. An apparatus as recited in Claim 10, wherein the detecting proceeds is according to a table of detection patterns, and a pattern in the table of detection patterns is at least as long as the observation window.
13. An apparatus as recited in Claim 12, wherein the pattern in the table of detection patterns comprises one or more look-behind values for improving the detection accuracy.
14. An apparatus as recited in Claim 12, wherein the pattern in the table of detection patterns comprises one or more look-ahead values for improving the detection accuracy.
15. An apparatus as recited in Claim 12, wherein the pattern in the table of detection patterns comprises one or more previously detected symbol values for improving the detection accuracy.
16. An apparatus as recited in Claim 11, the receiver further for:
(f)  using a buffer in order to delay the sequence of samples and manage crossing of symbol boundaries in the first or second sample streams.
17. 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 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
estimating a first and second detection reliability of the first and second symbols.
18. A computer-readable medium as recited in Claim 17, the computer-executable instructions further comprising:
selecting the first symbol as representing a transmitted symbol in the sequence of symbols when the first detection reliability is higher than the second detection reliability; and
selecting the second symbol as representing a transmitted symbol in the sequence of symbols when the second detection reliability is higher than the first detection reliability.
19. A computer-readable medium as recited in Claim 17, wherein the detecting comprises examining samples over an observation window in the first and second sample streams.
20. A computer-readable medium as recited in Claim 18, wherein the detecting proceeds according to a table of detection patterns, and a pattern in the table of detection patterns is at least as long as the observation window.
21. A computer-readable medium as recited in Claim 20, wherein the pattern in the table of detection patterns comprises one or more look-behind values for improving the detection accuracy.
22. A computer-readable medium as recited in Claim 20, wherein the pattern in the table of detection patterns comprises one or more look-ahead values for improving the detection accuracy.
23. A computer-readable medium as recited in Claim 20, wherein the pattern in the table of detection patterns comprises one or more previously detected symbol values for improving the detection accuracy.
24. A computer-readable medium as recited in Claim 19, the computer-executable instructions further comprising:
using a buffer in order to delay the sequence of samples and manage crossing of symbol boundaries in the first or second sample streams.
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
2006203866.tif 000016
2006203866.tif 000017
2006203866.tif 000018
2006203866.tif 000019
2006203866.tif 000020
2006203866.tif 000021
2006203866.tif 000022
2006203866.tif 000023
2006203866.tif 000024