JP2006234821A - アイダイアグラムの正規化とレシーバのサンプリングパラメータの選択の方法 - Google Patents
アイダイアグラムの正規化とレシーバのサンプリングパラメータの選択の方法 Download PDFInfo
- Publication number
- JP2006234821A JP2006234821A JP2006048307A JP2006048307A JP2006234821A JP 2006234821 A JP2006234821 A JP 2006234821A JP 2006048307 A JP2006048307 A JP 2006048307A JP 2006048307 A JP2006048307 A JP 2006048307A JP 2006234821 A JP2006234821 A JP 2006234821A
- Authority
- JP
- Japan
- Prior art keywords
- eye
- eye opening
- data structure
- normalized
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R13/00—Arrangements for displaying electric variables or waveforms
- G01R13/02—Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form
- G01R13/0218—Circuits therefor
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R19/00—Arrangements for measuring currents or voltages or for indicating presence or sign thereof
- G01R19/25—Arrangements for measuring currents or voltages or for indicating presence or sign thereof using digital measurement techniques
- G01R19/2506—Arrangements for conditioning or analysing measured signals, e.g. for indicating peak values ; Details concerning sampling, digitizing or waveform capturing
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3177—Testing of logic operation, e.g. by logic analysers
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Dc Digital Transmission (AREA)
Abstract
【課題】アイダイアグラムから測定器の最適サンプリングパラメータを見付ける方法を提供する。
【解決手段】関心対象の信号のアイダイアグラムの測定値をデータ構造に記憶し、それを検査することでアイ開口を見付ける。興味のあるアイ開口は、その信号のデータレシーバの動作電圧やタイミング要件に関連する良度指数として既に正規化されている場合もあれば、後で正規化される場合もある。正規化アイ開口107内の位置を試行対称形の中心位置として使用し、その対称形を小さいところから開始して正規化アイ開口の一部ではない位置を含むところまで拡大する。最大の対称形の中心は、データ分析装置の最適サンプリングパラメータとして再び元のアイダイアグラムの単位にマッピングされる。データ分析装置は、レシーバを使用して信号を単位時間当たり一回だけサンプリングし、デジタル値を求める。
【選択図】図10
【解決手段】関心対象の信号のアイダイアグラムの測定値をデータ構造に記憶し、それを検査することでアイ開口を見付ける。興味のあるアイ開口は、その信号のデータレシーバの動作電圧やタイミング要件に関連する良度指数として既に正規化されている場合もあれば、後で正規化される場合もある。正規化アイ開口107内の位置を試行対称形の中心位置として使用し、その対称形を小さいところから開始して正規化アイ開口の一部ではない位置を含むところまで拡大する。最大の対称形の中心は、データ分析装置の最適サンプリングパラメータとして再び元のアイダイアグラムの単位にマッピングされる。データ分析装置は、レシーバを使用して信号を単位時間当たり一回だけサンプリングし、デジタル値を求める。
【選択図】図10
Description
本発明はロジックアナライザのような測定器においてアイダイアグラムから測定器の最適なサンプリングパラメータを判定する方法に関する。
デジタルシステムは急激に変化する信号を持ち、時間的に変化する信号のアナログ的な動きはブール値(2状態論理値)によって表現され、0と1、真と偽、又は、高と低として記される。そのような信号が有する「実際」の情報の内容は、シーケンス、即ち、論理値の組み合わせとしてエンコードされる。しかしながら、信号がある場所(構成要素又はアセンブリ)から別の場所へ送信される場合や、信号があるシステム全体から別のシステム全体へ送信される場合、それらの論理値は、信号を送信する際のアナログ特性に依存することをここで思い出すであろう。即ち、搬送されるのはブール値の基礎となる電圧や電流(あるいは光)である一方、大きさや極性といった一部の観測可能な特性は、取りうる論理値のうちのいずれか1つを表すものとして解釈される。
大抵の場合、論理値は電圧の大きさによって決まる。信号の急激な遷移は、クロック信号によって指定された特定時刻にしか発生しない。論理値は、遷移時点間の安定領域、即ちアサート領域を閾値と比較することによって判定される。信号遷移間の公称最短時間はUI(単位間隔)と呼ばれる。信号の位相や安定領域の持続時間は、データとともにクロック信号によって供給される場合もあれば、データから導出される場合もある。
ロジックアナライザは、デジタル信号の集合を観測し、それらを時間軸に沿って並べた論理値のインスタンスに変換し、その(論理の)動きを報告及び解析する電子試験装置の類である。この種の試験装置は一般にデータ分析装置と呼ばれ、通常、各単位間隔において一回だけサンプリングを行い、サンプリングした値をその単位間隔の論理値を示すものとして解釈するものであり、元になったアナログ波形は復元しない。クロック信号はデータから復元される場合もあれば、独立した信号として供給される場合もある。クロック信号の遷移は、単位間隔(UI)の区切りとして使用される。デジタルシステムの速度がギガビット/秒の領域にまで増大すると、データ信号の閾値判定に使用されるUI内の場所を正確に決めたり、閾値判定に使用される電圧閾値を決めたりすることが、次第に難しくなるという問題がある。SUT(試験対象のシステム)自体がそれらの作業をどのように実施するかとは全く別に、ロジックアナライザはそれらの作業を行わなければならず、データ測定が有用である場合には、それらの作業を非常に正確に行わなければならない。従来から、閾値、及びUIの開始点(クロック信号の遷移によって指定される)に対する遅延は、両方ともロジックアナライザのオペレータが調節できるようになっている。以下では、それら2つをまとめて「サンプリングパラメータ」と呼び、その中の個々の要素をそれぞれ「閾値」及び「サンプリング位置」と呼ぶ。ロジックアナライザによっては、サンプリングパラメータを選択する処理が自動化されたものもある。しかしながら、閾値やサンプリング位置を設定するための従来技術には、幾つかの欠点がある。
アイダイアグラムは、信号の挙動を図で表現したものである。アイダイアグラムは、各単位間隔(UI)に対応する多数の時間領域トレースセグメントを重ね合わせることによって作成される(スコープが基本アイダイアグラムを作成するように正確に)。この考え方が意味するのは、クロック信号に関連する幾つかのトリガイベントが満たされれば、各セグメントを他のセグメントに対して正確に位置合わせすることができるということである。従って、立上りエッジ、立下りエッジ、及びアサート領域(高又は低)はそれぞれ大抵、百万(又はそれ以上の)信号サイクルにわたって同じ相対水平位置に表示される。その結果、(好ましくは)「アイ」と呼ばれる(その形から)、中が空白の開口部が形成される。この部分は、動きが何もトレースされなかったことを意味する。なぜなら、その時間内は、信号が既に高又は低になっているからである。一般的な信号(パルスではない信号)のアイの各端部には、立ち上がり遷移と立ち下がり遷移によってX形の境界が形成される。Xの上下にある2本の直線は、データ内の1の連続及び0の連続によってそれぞれ形成される。そして、そのサイクルの集合内にオーバシュート、遅い立ち上がり、遅い立ち下がり、又は、不適切なアサート電圧レベルなどがあったか否かを識別することは可能ではあるものの、不具合がどのサイクル(複数の場合もあり)で発生したかに関する情報は一般に失われる。これは、マージン全体に関する有用な情報(アイのサイズや形)を提供する見やすい表示を得るための小さな代償である。マージン部分に何らかの乱れが見付かった場合、データ内におけるその乱れの位置(必要であれば)やその原因を、他の試験方法を使用して特定することができる。多くの場合、2〜3個の連続したUIを単位として1つの集まりとして扱い、それを他のUIの集まりに重ね合わせ、2〜3個のアイを有するダイアグラムが形成される。実際には、上記のような力任せのスコープの方法の他にも、アイダイアグラムを作成する方法は存在し、そのうちの幾つかの方法は、観測対象の信号サイクル数が一般的な数であれば、「スコープ」の方法よりもわずかに速い。また、それらの方法も、UI内のほぼ同じ位置に発生し、データ中の様々なサイクルにおいて測定されるイベントを記録するための基準として、クロック信号を利用するトリガリングの考え方を取り入れている。
ロジックアナライザのようなデータ分析装置は、単位間隔当たり複数の論理値を取り込む(実際のアナログ波形を高密度にサンプリングするスコープの装置とは異なり)。従来は、アイダイアグラムの「X交差」電圧をデータレシーバ(コンパレータ)の閾値として使用し、関連クロックからの比較出力の取り込みを遅らせ、連続した交差間の中間のサンプリング位置を見付けていた。しかしながら、これは、実際には、サンプリングパラメータの最適な集合にはならない場合がある。
近年、ロジックアナライザのような一部のデータ分析装置は、アイダイアグラム測定を実施する機能を備え始めている。従って、そのような試験装置(ロジックアナライザなど)では、UI内の最良時間や、論理値を判定する際にどのような閾値で入力信号を「サンプリング」すべきかを自動的に推奨(提案)又は決定する新たな技術を利用することが可能である。そのような自動的選択(又は推奨)を従来のロジック分析機能に使用する場合、自動的選択(又は推奨)はデータレシーバの挙動を考慮しなければならず、ロジックアナライザの内部動作にとって有用なものになる可能性がある(データを誤ってサンプリングしないことが望ましい)。また、そのような推奨情報(必ずしもロジックアナライザから得られるのではなく、多くの場合アイダイアグラムを実施するスコープから得られる)は、SUT自体の一部に属する(即ち、ロジックアナライザのような何らかの外部試験装置の一部ではない)レシーバにサンプリングパラメータを設定しなければならない担当者にとっても有用である。
さらに、最良閾電圧はアイダイアグラムの「X」の交点であり、最良サンプリング位置はXとXの中間であるという従来の考え方は、大抵の場合、悪い組み合わせの選択ではないが、実際には最良の組み合わせでもない場合がある。サンプリングパラメータの組み合わせの満足度を定義する他の方法は、使用中のレシーバの何らかの性能要件を考慮して、全方向(即ち、電圧と時間の両方の方向)に均等なマージンが得られるサンプリング位置を選択することである。この方法は、ほとんど無害のように思える。ただし、関心対象の信号のアイダイアグラムが理想的又は公称の正しい形とは大きく異なる場合は、アイダイアグラムの正確な表現は難しいことがある。
その理由は様々である。まず、閾電圧の問題について説明する。波形を単純にデジタル化しそれを後で復元するだけの類似装置であるDSO(デジタルサンプリングオシロスコープ)とは異なり、ロジックアナライザは、閾値コンパレータ(「レシーバ」と呼ばれることもある)を利用して論理値を判定している。SUT(試験対象装置)も同様である。この閾値コンパレータ/レシーバの挙動が重要であり、マージンに影響を与える。この話題に少し触れることは有益である。
閾値が1ボルトであるものと仮定する。1ボルトを超える印加信号は高(ハイ)として報告され、1ボルト未満の印加信号は低(ロー)として報告される。閾値はアナログ基準電圧として供給され、1ボルトは基準電圧と同じ(少なくとも、必要とされる電圧と同じ)であるものと仮定しているので、1ボルトは考慮しないものとする。すると、「では、基準電圧自体をデータ入力に印加したらどうなりますか?」といった恥ずかしい質問が出るかもしれない。これはもっともな質問であるが、ここでは、入力信号が1ボルトの両側の2つの値の間で急激に変化する場合を想定しているので、そのような入力が定常状態として発生することはありえない。従って我々は、「何らかの前の論理出力が得られる。」といった言い逃れの返答をするだろう。次の質問は、「邪悪なデーモンが、入力電圧を1ボルトよりも10分の1マイクロボルトだけ高くしたものと仮定してください。その場合はどうなりますか?」というものである。その段階で我々は、ヒステリシスの存在を認め、低から高へ上昇する信号は閾値よりも100mvだけ高くなり、レシーバの出力を変化させ、また、下降する信号は閾値よりも100mvだけ低くなることを説明する。従って我々は、立ち上がり信号の閾値1.10Vと立ち下がり信号の閾値0.900Vの2つの閾値がある、という返答をする。そして、それらの数値は単なる例に過ぎず、2つの遷移方向で数値が必ずしも同じにはならないことを付け加える。
質問:「それは結構ですが、デーモンはそんなに簡単にだまされません。デーモンは、入力を0.900Vよりも1マイクロボルトだけ低いところから1.10Vよりも1マイクロボルトだけ高いところまで上昇させます。今度はどうですか?」
返答:「切り変わるかもしれないし、切り換わらないかもしれません。ノイズレベルもあるし...」
質問:「分かりました。では、高い方の閾値よりも1ミリボルトだけ高いところまで上昇させた場合はどうですか?」
返答:「たぶん切り換わりますが、あまり速くは切り換わらないでしょう。」
質問:「う〜ん。つまり、入力が実際に変化してから出力が適切な値になるまでに遅延があるということですか?」
返答:「残念ながらそうです。」
質問:「1ミリボルトの変化に、とても短い上昇時間しかかからなくてもですか?」
返答:「たぶんそうです。」
質問:「この遅延は最終的に私の測定値にされそうです。それは嫌です。でも、挙動が良好なら、つまり、同相効果が除去されるような挙動であれば、遅延は許容できます。立ち下がり信号にも同じ遅延がありますか?」
返答:「遅延はありますが、その遅延は一般に立ち上がり信号のものと同じではありません。」
質問:「それは困りました。コンパレータがそんなにあいまいなものとは思っていませんでした。ΔVをもっと大きくすれば、効果がありますか?」
返答:「はい。特に、dv/dtがそれに見合った値であれば効果があります。」
質問:「分かりました。あなたは私に欠点を教えたかったんですね。私の本当の仕事はデーモンを仕留めることですから、それをすぐに始めなければなりません。性能を向上させるにはどうしたらよいのでしょうか?」
返答:「少なくとも250mvもらえればうまくいきますよ」
質問:「それはちょっと高いです。王様の身代金のようです。素晴らしい効果が得られ、遅延は実質的になくなると思ってよいですか?」
返答:「いいえ、遅延は残ります。でも、その遅延は非常に短く、なにより、立ち上がり信号と立ち下がり信号で、遅延がほぼ同じになります」
コメント:「250?」
返答:「さて、これは販売用の製造部品の公開仕様です。あなたはロジックアナライザを密かに作成していて、1つの信号だけに関心があるわけではなく、64チャネルくらいのものである可能性も高いから、コストはきちんと管理しなければなりません。たぶんほとんどのコンパレータは、実際には指定された値の半分の値でうまく動作しますが、その保証はありません...」
返答:「切り変わるかもしれないし、切り換わらないかもしれません。ノイズレベルもあるし...」
質問:「分かりました。では、高い方の閾値よりも1ミリボルトだけ高いところまで上昇させた場合はどうですか?」
返答:「たぶん切り換わりますが、あまり速くは切り換わらないでしょう。」
質問:「う〜ん。つまり、入力が実際に変化してから出力が適切な値になるまでに遅延があるということですか?」
返答:「残念ながらそうです。」
質問:「1ミリボルトの変化に、とても短い上昇時間しかかからなくてもですか?」
返答:「たぶんそうです。」
質問:「この遅延は最終的に私の測定値にされそうです。それは嫌です。でも、挙動が良好なら、つまり、同相効果が除去されるような挙動であれば、遅延は許容できます。立ち下がり信号にも同じ遅延がありますか?」
返答:「遅延はありますが、その遅延は一般に立ち上がり信号のものと同じではありません。」
質問:「それは困りました。コンパレータがそんなにあいまいなものとは思っていませんでした。ΔVをもっと大きくすれば、効果がありますか?」
返答:「はい。特に、dv/dtがそれに見合った値であれば効果があります。」
質問:「分かりました。あなたは私に欠点を教えたかったんですね。私の本当の仕事はデーモンを仕留めることですから、それをすぐに始めなければなりません。性能を向上させるにはどうしたらよいのでしょうか?」
返答:「少なくとも250mvもらえればうまくいきますよ」
質問:「それはちょっと高いです。王様の身代金のようです。素晴らしい効果が得られ、遅延は実質的になくなると思ってよいですか?」
返答:「いいえ、遅延は残ります。でも、その遅延は非常に短く、なにより、立ち上がり信号と立ち下がり信号で、遅延がほぼ同じになります」
コメント:「250?」
返答:「さて、これは販売用の製造部品の公開仕様です。あなたはロジックアナライザを密かに作成していて、1つの信号だけに関心があるわけではなく、64チャネルくらいのものである可能性も高いから、コストはきちんと管理しなければなりません。たぶんほとんどのコンパレータは、実際には指定された値の半分の値でうまく動作しますが、その保証はありません...」
この仮想的な対話は、出力がある状態から他の状態へ確実に切り換わるようにするために印加しなければならない最小パルス幅の考え方を使用する場合にも、繰り返されることがある。最小信号持続時間の妥当な値は例えば0.5ナノ秒である。従って、ロジックアナライザが最良の動作になる(より一般的には、何らかの装置におけるデータレシーバが最良の動作になる)サンプリングパラメータを特定するために、アイ開口内の位置を探す場合は、最小電圧偏位△Vminとその最小持続時間△Tminを常に考慮しなければならない。これは、印加信号のアイ開口の形が理想的な大きさよりも小さい場合に特に当てはまる。
例えば、興味のある信号は、反射に悩まされている伝送線を介して到達する場合がある。そのような状況では、アイ開口の輪郭が階段状になることがあり、ロジックアナライザのサンプリング機能の精度を最大にするために、単位間隔の時間内でサンプリング位置を意図的に動かしたい場合がある。あるいは、アイ開口の輪郭が階段状にはならないものの、傾斜を有し、且つあまり高くなかったり、アイ開口の一端にリンギングが生じることがある。そのような場合、サンプリング位置を少しだけずらし、コンパレータに必要とされる四分の一ボルト等の変化を得やすくしたい場合がある。ジッタの存在も、状況に影響を与えるもう1つの要因である。ただし、サンプリング位置を変化させる場合、電圧マージンの増加はパルス幅マージンの減少と引き換えになることが分かっている。一方のパラメータのマージンを増加させたときに、他方のパラメータに必要とされる最小マージンが減少し始めるのを、簡単な観測によって見極めることは容易ではない。これが特に当てはまるのは、特に、アイダイアグラムがパルス型信号のものである場合や、反射のある規則的信号のものである場合、あるいは、公称アイ開口の内部領域に信号の発生が認められるような何らかの種類のデジタルクロック信号のものである場合である(即ち、それらの信号は、単位間隔の終わり/始まりにおける遷移中は、信号はアサート時の極値間の値しかとることができず、その遷移は急激なものでなければならないという規則に違反する)。公称アイ開口内に現れる信号の挙動に関するこの最後の問題が、サンプリングパラメータの変化に対するマージン消費量の様々な比率と組み合わさると、適当なサンプリングパラメータを見付ける作業は非常に複雑になる場合がある。
従って、発生する可能性のある問題は多数存在し、自動化手段によるサンプリングパラメータの最適な集合の提案や選択の信頼性を高めるとともに、種々の極端な信号の挙動による影響を回避するためには、それらの問題を考慮しなければならないことが分かっている。どうしたらよいか?
既知の最小電圧偏位ΔVmin及び最小パルス幅ΔTminを有するコンパレータに対して印加される信号のアイダイアグラムを作成する。アイダイアグラムデータは元のアイダイアグラムデータ構造の中に存在し、適当な元の細分性で測定された(時間,電圧)の組み合わせによって指定される。アイダイアグラムの電圧軸はΔVminで割ることによって再スケーリングされ、時間軸はΔTminで割ることによって再スケーリングされる。その結果、各軸は良度指数を表すものとなる。元の細分性のアイダイアグラムデータは補完技術によって再サンプリングされ、新たな細分性を有するものとなり、正規化アイダイアグラムデータ構造において、各軸は、良度指数の1単位当たり同数の指定位置を有する。その結果、興味の或るアイ開口の正規化表現が得られる。好ましい実施形態では、正規化アイ開口の中に、様々な試行中心を中心として対称な形を拡大してゆく。正規化アイ開口の中に「ちょうど収まる」最終的な最大の形状の中心は、元の時間座標及び電圧座標にマッピングされたときに最適サンプリングパラメータに相当する位置である。好ましい対称形は正方形又は円である。三角法や解析幾何学によって行われる正式な解析とは異なり、力学的モデルに似た個別の表現方法が主に使用される。対称形が好ましい理由は、正規化によって生成される座標において、一方の軸における1ステップに相当するマージンの増減が、他方の軸における1ステップのマージンの増減と同じになるからである。即ち、時間軸上のステップと電圧軸上のステップの間のトレードオフが、一対一になるからである。
他の好ましい実施形態によれば、正規化アイ開口のサイズは、中央位置が1つだけ得られる連続した位置層を除去することにより縮小される。前述のように、この位置は、元の時間座標及び電圧座標にマッピングしたときに最適サンプリングパラメータに相当する。
ロジックアナライザが試験対象システムに接続されている場合、ロジックアナライザは、送られてきた各信号のアイダイアグラムを作成し、前述の方法を使用して、自身の内部閾値コンパレータ/データレシーバのサンプリングパラメータを設定することができる(自身の内部のレシーバの最小電圧偏位ΔVmin及び最小パルス幅ΔTminが予め分かっているため)。
他のシステムの一部であるデータレシーバの最適サンプリングパラメータが必要な場合は、デジタルサンプリングオシロスコープのような適当な試験装置を使用して、そのレシーバに印加される信号のアイダイアグラムを得ることができる。次に、当該レシーバに与えられた性能データ(ΔVmin及びΔTmin)を使用してそのアイダイアグラムを正規化し、正規化されたアイダイアグラムに使用される最適サンプリングパラメータを前述の方法に従って見付ける。
アイ開口の識別
データ分析装置により、サンプリングパラメータを知りたい信号のアイダイアグラムの作成が完了したものと仮定する。アイダイアグラムはオペレータに対して検討用に表示される場合がある。ただし、ロジックアナライザのようなデータ分析装置は視覚表示装置を備えていないため、単純に表示装置を見て「サンプリングパラメータの決定に使用すべきアイ開口はこれです。」と言うことはできない。上記の援用特許出願に記載された方法を実施した後、アイダイアグラムは、データ分析装置の中にデータ構造のエントリとして存在している。データ分析装置は、そのデータ構造の内容の検査に基づいて処理を進めなければならない。その結果、アイダイアグラムの記号表現が得られ、アイダイアグラム内に見付かったアイ開口に対して処理を試みる。問題は、アイダイアグラムの中に複数の開口があり、そのうちの幾つかは、純粋なアイ開口ではない場合もあることである(例えば、それらはアイ開口の端部のXの上側部分又は下側部分である場合がある)。従って、最初の作業は、アイダイアグラム内の実際のアイ開口を特定することである。
データ分析装置により、サンプリングパラメータを知りたい信号のアイダイアグラムの作成が完了したものと仮定する。アイダイアグラムはオペレータに対して検討用に表示される場合がある。ただし、ロジックアナライザのようなデータ分析装置は視覚表示装置を備えていないため、単純に表示装置を見て「サンプリングパラメータの決定に使用すべきアイ開口はこれです。」と言うことはできない。上記の援用特許出願に記載された方法を実施した後、アイダイアグラムは、データ分析装置の中にデータ構造のエントリとして存在している。データ分析装置は、そのデータ構造の内容の検査に基づいて処理を進めなければならない。その結果、アイダイアグラムの記号表現が得られ、アイダイアグラム内に見付かったアイ開口に対して処理を試みる。問題は、アイダイアグラムの中に複数の開口があり、そのうちの幾つかは、純粋なアイ開口ではない場合もあることである(例えば、それらはアイ開口の端部のXの上側部分又は下側部分である場合がある)。従って、最初の作業は、アイダイアグラム内の実際のアイ開口を特定することである。
実際のアイ開口の特定は、観測された信号の振幅の中間点にあり、何らかの時点にある電圧試行点を選択することによって行われる。その時点が実際のアイ開口内に位置しているという保証はない。アイ開口に属する可能性を持つ位置はいずれも、その位置を信号が絶対に通らないという特性を有する。即ち、アイダイアグラムを描いた場合、アイ開口に属する可能性を持つ位置は、アイ開口の輪郭を表す境界線上にあることもなければ、アイ開口内に含まれることもない(境界から分離され、境界によって囲まれた1以上の通過位置からなる独立した位置の集まり)。アイダイアグラムデータの収集中に信号が既に試行位置を通過していた場合、新たな時間の位置が選択され、プロセスは再度開始される。信号が試行位置をまだ通過していない場合、水平ステップ及び垂直ステップのシーケンスによって関連付けられたデータ構造内の全ての隣接する未通過位置(即ち、実際のアイ開口と思われる領域内の全ての位置)が、再帰検査により見付け出される。見付かった隣接する未通過位置の数は常に記録される。
隣接する未通過位置を全て見付けた後、その集まりは実際のアイ開口を形成している可能性がある。しかしながら、特定の時間位置にある垂直線が、Xの中心又はその近くを通っていることもある。そのような場合、偽のアイ領域(例えば、Xの上又は下の領域)が蓄積されることがある。いずれの場合も、試行開始位置の時間位置を様々に変化させることで、最終的に、偽のアイ領域よりも大きな連続領域が存在することが判明する場合がある(まだ判明していない場合)。適当な数の試行開始位置の試行が完了するまで、アイダイアグラム測定の全範囲にわたって処理は継続される。この処理が終わると、実際のアイ開口の候補となる幾つかの「空」領域が特定される。従って、空領域が1つしかない場合は、それらの領域のうちの最大の領域が選択され、最大の空領域が複数存在する場合は、その中からいずれかが選択される。パルスは独特なアイダイアグラムを有するため、特別な規則を必要とする。一般的な信号は中央にXを1つだけ有し、その両側に不完全なアイ領域を有するため、やはり特別な規則を必要とする。いずれの場合も、この問題は同じ特別な規則によって、一般的場合を害することなく解決される。その特別な規則とは、アイダイアグラムを収容する「ボックス」の縁(即ち、時間及び電圧の限度)をアイダイアグラム上の通過位置として解釈することである。
いずれにしても、発見された実際のアイ開口は、それが時間方向及び電圧方向について最小の開口であるか否かといった何らかの他の鑑定試験に合格するまで、許容されない場合がある。
アイ開口を自動的に見付け出す代わりに、ユーザに対し、マウスポインタを興味のあるアイ開口内に位置決めしクリックするように単に促してもよい。この動作により、決定された試行位置にある未通過位置から連続する位置の集まりは、アイ開口として解釈される。
正規化
上記のようにして見付け出されたアイダイアグラムの開口は、そのアイ開口を再スケーリングしたものを生成することにより、サンプリングパラメータの集合の決定に使用される(元の縦座標のスケールをΔVminで割り、元の横座標のスケールをΔTminで割る)。再スケーリングされたアイ開口は、最小時間感度ΔTmin及び最小電圧感度ΔVminを使用して表わされる。最小時間感度ΔTmin及び最小電圧感度ΔVminは、サンプリングパラメータを必要としているデータレシーバに適用されるものである。その結果、2つの軸は、良度指数に関するものとして再描画、即ち再番号付けされる。ただし、それらの軸のデータは、元の軸上の目盛り(チックマーク)によって画定された複数の「区分範囲(ピジョン・ホール)」として既に量子化されている。それらの目盛りは、データが実際にサンプリングされ記憶されたときの細分性を表している。即ち、何らかの関係の離散的表現が手元に有り、それを利用して元の細分性(量子化の程度)を尊重することしかできない。そのため、もし軸が表している要素を再量子化することなく単に軸を変更すれば、目盛りをそのままの位置に維持しなければならない。つまり、不都合な数が軸に関連付けられることになる(アドレス指定可能な構造の2つの連続するアドレス間の半分又は3分の1の位置に対して何かを記憶したり何かを読み出したりすることはできない。即ち、最初に量子化されたイベントをもはや実施されていない軸に沿った増分によってメモリ上の別の位置に記憶する方法はない)。従って、捕捉され記憶されたデータは、(補間によって)再サンプリングされ(再測定するのではなく)、各軸ごとに良度指数の一単位当たり新たな(総)数の指定可能位置を有する他のデータ構造に記憶される(どうしても補間しなければならないから、記憶されたデータはそのままにしておき、読み出し時に必要に応じて補間するのではだめなの?と文句をいう者も居るかもしれない。その答えはこうである。もしデータを別のデータ構造に記憶するときに補間するようにすれば、補間は一回だけで済むが、多数の読み出し動作のそれぞれについて補間を行わなければならなくなる。どちらかといえば補間は一回で済ませたい。また、概念的にも一回にした方が、実施する上で都合がよい。)。
上記のようにして見付け出されたアイダイアグラムの開口は、そのアイ開口を再スケーリングしたものを生成することにより、サンプリングパラメータの集合の決定に使用される(元の縦座標のスケールをΔVminで割り、元の横座標のスケールをΔTminで割る)。再スケーリングされたアイ開口は、最小時間感度ΔTmin及び最小電圧感度ΔVminを使用して表わされる。最小時間感度ΔTmin及び最小電圧感度ΔVminは、サンプリングパラメータを必要としているデータレシーバに適用されるものである。その結果、2つの軸は、良度指数に関するものとして再描画、即ち再番号付けされる。ただし、それらの軸のデータは、元の軸上の目盛り(チックマーク)によって画定された複数の「区分範囲(ピジョン・ホール)」として既に量子化されている。それらの目盛りは、データが実際にサンプリングされ記憶されたときの細分性を表している。即ち、何らかの関係の離散的表現が手元に有り、それを利用して元の細分性(量子化の程度)を尊重することしかできない。そのため、もし軸が表している要素を再量子化することなく単に軸を変更すれば、目盛りをそのままの位置に維持しなければならない。つまり、不都合な数が軸に関連付けられることになる(アドレス指定可能な構造の2つの連続するアドレス間の半分又は3分の1の位置に対して何かを記憶したり何かを読み出したりすることはできない。即ち、最初に量子化されたイベントをもはや実施されていない軸に沿った増分によってメモリ上の別の位置に記憶する方法はない)。従って、捕捉され記憶されたデータは、(補間によって)再サンプリングされ(再測定するのではなく)、各軸ごとに良度指数の一単位当たり新たな(総)数の指定可能位置を有する他のデータ構造に記憶される(どうしても補間しなければならないから、記憶されたデータはそのままにしておき、読み出し時に必要に応じて補間するのではだめなの?と文句をいう者も居るかもしれない。その答えはこうである。もしデータを別のデータ構造に記憶するときに補間するようにすれば、補間は一回だけで済むが、多数の読み出し動作のそれぞれについて補間を行わなければならなくなる。どちらかといえば補間は一回で済ませたい。また、概念的にも一回にした方が、実施する上で都合がよい。)。
何より我々は、再サンプリングのプロセスにおいて、各軸について、良度指数の1単位当たりに同じ数の補間位置が得られるようにした。これは、「正規化」アイ開口と呼ばれる。正規化アイ開口データ構造は、両方の軸の任意の単一ステップが、良度指数の単位に対して同じ程度の変化を表すという興味深い特性を有する。そのため、一方の軸におけるマージンと他方の軸におけるマージンとをうまくトレードオフするための簡単な方法が得られる。従って、正方形や円のような対称な形を正規化アイ開口の中に当て嵌めることにより、最悪マージンから「最も遠い」中央位置(この位置が、パラメータのサンプリングにとって最も良好な、又は最も安全な位置である)を特定することができる。
サンプリングパラメータの選択
正規化アイ開口データ構造内の位置は、その開口内の単なる未通過位置からなる「正規化アイ」であり、通過済みとしてマークされている位置の「額縁」境界の中に囲まれた「正規化アイ」を表している(それらが実際にそうであるか否かとは無関係に)。アイ開口の不規則な形と境界枠との間の隙間は、元の境界線からの複数のセグメントによって塞がれている。第1の好ましい方法によれば、正規化アイ内の各未通過位置は、正方形を拡大するための開始位置即ちシード(seed)として解釈される。正方形は、小さいサイズから開始して、正規化アイに属する位置を有する正方形内又は正方形上にある位置の比較により、その正方形が正規化アイの外まで延びることが判明するまで、その中心(シード)を中心として繰り返し均一に拡大される。正方形内の全ての位置が正規化アイ開口データ構造内にも存在することになる最後の繰り返しが、その正方形の最大サイズであり、これによりその正方形の「最終面積」が決まることに注意して欲しい(この規則によれば、常に完全な正方形のサイズが生成される。あるいは、更にもう1つの繰り返しを使用し、大きい方の正方形内の未通過位置の総数を最終面積としてカウントしてもよい。これは均衡を破るのに役立つ。)。各シード(正規化アイ内の位置)について最終面積が適当なデータ構造に記録され、全ての最終面積が分かった後(正規化アイ内の各位置について正方形の拡大が終わった後)、それらの最終面積のうちの最大面積が判定される。関連シードを元のアイダイアグラムの対応する電圧単位及び時間単位に逆変換すると、それらはそれぞれ他方の変化の影響を受け(境界の形により)、いずれも電圧と時間の次元のそれぞれにおいてアイの利用可能な限度間の中間にくるため、「最適」と呼ぶのにふさわしいものとなる。更に、アイ開口の正規化及び正方形の選択により、サンプリング位置及び閾電圧の種々のばらつきに対するマージンの変化に同じ重みが与えられる。最適サンプリングパラメータの集合を2以上見付ける必要がある場合、1組の二次基準に従ってそれらの中から1つを選択することが望ましいことがある。
正規化アイ開口データ構造内の位置は、その開口内の単なる未通過位置からなる「正規化アイ」であり、通過済みとしてマークされている位置の「額縁」境界の中に囲まれた「正規化アイ」を表している(それらが実際にそうであるか否かとは無関係に)。アイ開口の不規則な形と境界枠との間の隙間は、元の境界線からの複数のセグメントによって塞がれている。第1の好ましい方法によれば、正規化アイ内の各未通過位置は、正方形を拡大するための開始位置即ちシード(seed)として解釈される。正方形は、小さいサイズから開始して、正規化アイに属する位置を有する正方形内又は正方形上にある位置の比較により、その正方形が正規化アイの外まで延びることが判明するまで、その中心(シード)を中心として繰り返し均一に拡大される。正方形内の全ての位置が正規化アイ開口データ構造内にも存在することになる最後の繰り返しが、その正方形の最大サイズであり、これによりその正方形の「最終面積」が決まることに注意して欲しい(この規則によれば、常に完全な正方形のサイズが生成される。あるいは、更にもう1つの繰り返しを使用し、大きい方の正方形内の未通過位置の総数を最終面積としてカウントしてもよい。これは均衡を破るのに役立つ。)。各シード(正規化アイ内の位置)について最終面積が適当なデータ構造に記録され、全ての最終面積が分かった後(正規化アイ内の各位置について正方形の拡大が終わった後)、それらの最終面積のうちの最大面積が判定される。関連シードを元のアイダイアグラムの対応する電圧単位及び時間単位に逆変換すると、それらはそれぞれ他方の変化の影響を受け(境界の形により)、いずれも電圧と時間の次元のそれぞれにおいてアイの利用可能な限度間の中間にくるため、「最適」と呼ぶのにふさわしいものとなる。更に、アイ開口の正規化及び正方形の選択により、サンプリング位置及び閾電圧の種々のばらつきに対するマージンの変化に同じ重みが与えられる。最適サンプリングパラメータの集合を2以上見付ける必要がある場合、1組の二次基準に従ってそれらの中から1つを選択することが望ましいことがある。
類似の方法として、正方形の拡大の代わりに、円の拡大を使用してもよい。ただし、正方形内の位置は整数デカルト座標系において簡単に見付かる一方、直径が拡大してゆく円の外周を画定する位置の算出には、見苦しい妥協(ぎざぎざの画素化)と大量の計算が必要とされる。そのため代わりに、アイ開口を取り囲む(アイ開口に接触する)、又はアイ開口内に含まれる層における全ての通過位置に対して各未通過位置が経験する最短距離を見付けることで我慢する。特に、最大の円は、アイ開口の中に描くことが可能な最大の完全な円であることが望ましい。複数の中心位置が得られることもあり、上述のように、二次選択基準を使用する場合がある。
シードを中心とした正方形又は円の拡大の代わりに、正規化アイ開口内の位置の外側境界を位置が1つになるまで繰り返し除去してもよい(水中で泡立つ錠剤を溶かす場合を考えて欲しい)。除去される最後の位置は、ある意味中心であり、元のアイダイアグラムにマッピングしたときに最適位置とみなすことができる。この処理は、個々の層の1つの位置の深さで達成されることがある。アイ開口が砂時計形である場合(即ち、2つの膨らみが細い腰部によって接続された形である場合)、このような除去によれば、両者を接続している腰部を除去し、2つの離れた膨らみを生成できる場合がある。これは特別な検出を必要とせずに容易に実現することができ、各膨らみについてプロセスは継続される。正方形拡大方法や円拡大方法の場合のように、複数の最適サンプリング位置(複数の同時「生存者(残った位置)」)が得られることもあり、それらは、二次基準に従って処理される。
これら様々な方法の実際の方法は、正規化アイ開口の縁上(境界を見付ける場合)又はアイ開口内の幾つかの初期位置を、そのデータ構造を調べることによって選択することを含む。次に、その位置を「テスト済み」又は「除去済み」としてマークし、隣接位置について探索を行い、各位置を更にマークし、以下同様に続けられる。正規化アイ開口データ構造の中を特定の規則に従って走査することは実質的に練習である。この走査では補助的に、データ構造自体の中に記憶されたマークを使用したり、あるいはその代わり若しくは追加として、リストを使用して特定の属性を有する位置を追跡する場合がある。
代替
上記の説明によれば、処理は、(アイダイアグラムを)測定し、(アイ開口を)識別し、(そのアイ開口を)分離し、(分離した領域を)正規化した後、(サンプリングパラメータ識別といった何らかの目的に合わせて、その正規化された領域を)処理するものとして説明される。あるいは、処理は、測定し、(アイダイアグラム全体を)正規化し、識別し、分離し、及び処理するものとして説明される。
上記の説明によれば、処理は、(アイダイアグラムを)測定し、(アイ開口を)識別し、(そのアイ開口を)分離し、(分離した領域を)正規化した後、(サンプリングパラメータ識別といった何らかの目的に合わせて、その正規化された領域を)処理するものとして説明される。あるいは、処理は、測定し、(アイダイアグラム全体を)正規化し、識別し、分離し、及び処理するものとして説明される。
図1は、最適サンプリングパラメータを見付けたいレシーバの一般的なデータ信号(これ自体は図示していない)のアイダイアグラム1を示す概略図である。データ信号の論理値は、基準クロック信号2の立下りエッジに対応してサンプリングされている。この図には、誰かが驚くかも知れないようなことは記載されていないが、説明を進める上で対象となる特定の作業や環境を識別し、見出しを付けるための出発点としては十分に役立つものであろう。図示のアイダイアグラムは、中央部分に2つの完全なアイ開口(3、4)を有するとともに、その左側に部分アイ開口5を有し、右側に部分アイ開口6を有している。(予想)信号の振幅は(垂直)電圧分解能(電圧軸におけるサンプル数、即ち細分性と考えて欲しい)に比べて妥当な大きさを持ち、アイ開口の高さが当該信号にとって十分に使用可能なくらい大きいものであるものと仮定する(いつものように)。また、時間(水平)分解能(これも、採取するサンプルの細分性を意味する)も、信号の時間的に変化する電圧の動きに関する何らかの興味のある詳細を判明させるのに十分な大きさであるものと仮定する。これらのパラメータは一般にユーザによって制御される。そのため、ここでは、ユーザは有能であり、ユーザがアイダイアグラム1の測定のための適当な値を選択した場合、又は、ユーザがデータ分析装置の「自動スケーリング」機能を実行し、それらのパラメータが選択されたものと仮定する。
また、必ずしも必須ではないが、対象となるアイダイアグラムは、援用する「METHOD AND APPARATUS FOR PERFORMING EYE DIAGRAM MEASUREMENTS」に記載されたものと同じ方法又は類似の方法を使用して作成することが好ましい。いずれにしても、測定されたアイダイアグラムデータは適当なアイダイアグラムデータ構造の中に残っていて、援用する特許のいくつか、例えば「FAST EYE DIAGRAM ANALYZER USED NEAREST NEIGHBOR TRAVERSE TO QUICKLY DISCOVER BASIC EYE DIAGRAMS」や「ON−SCREEN TOOLS FOR EYE DIAGRAM MEASUREMENTS」に記載されているような一般的方法を実施した後、検査され様々に処理されることを想定している。ただし、これらの文献に記載された特定の操作のうちのいずれかを本明細書に記載する処理に使用しなければならない訳ではなく(有用な場合もあるが)、アイダイアグラムデータを含むデータ構造の内容の検査や置換によりそれらの処理を行うことが可能な一般的態様は既知のものであり、その1つとして示したものに過ぎない。要するに、「METHOD AND APPARATUS FOR PERFORMING EYE DIAGRAM MEASUREMENTS」に記載されている方法に従ってアイダイアグラムを得れば、アイダイアグラムは適当なデータ構造で既に表された形で得ることができる。他の手段によってアイダイアグラムを得る場合は、得られたデータを適当なデータ構造又はそれに相当する何かに変換しなければならない場合がある。
アイダイアグラムデータ構造によって表現されるアイ開口の実際の数(実際のデータ構造は図示せずに、その内容を表示したときにどう見えるかだけを図示した)は、オペレータの好み、どれだけのメモリをそのアイダイアグラムデータ構造に割り当てるか、アイダイアグラムデータ構造を埋める時間としてどれだけの時間がシステムに与えられているか、などによって決まる関数となる。また、取得レコードのサイズやその表示量は、デジタルオシロスコープと同じように、オペレータによって選択されたパンニングやズーミングによって変化する場合がある。ここでは、アイダイアグラム1がアイダイアグラムデータ構造の内容全体の忠実な表現であるものと仮定し、パンニングやズーミングの問題は考えないものとする。
アイダイアグラムデータ構造によって表現されるアイ開口の実際の数(実際のデータ構造は図示せずに、その内容を表示したときにどう見えるかだけを図示した)は、オペレータの好み、どれだけのメモリをそのアイダイアグラムデータ構造に割り当てるか、アイダイアグラムデータ構造を埋める時間としてどれだけの時間がシステムに与えられているか、などによって決まる関数となる。また、取得レコードのサイズやその表示量は、デジタルオシロスコープと同じように、オペレータによって選択されたパンニングやズーミングによって変化する場合がある。ここでは、アイダイアグラム1がアイダイアグラムデータ構造の内容全体の忠実な表現であるものと仮定し、パンニングやズーミングの問題は考えないものとする。
図1の実際のアイダイアグラム1に戻ると、アイダイグラム1は、不完全な部分アイ開口5及び6の他に、X(10、11、12)の上下にある領域のような幾つかの「偽」のアイ開口(7、8、9)と、様々な開口の輪郭を描くトレースのように見え、場合によってはアイダイアグラムの「ダイアグラム」の部分であるとも考えられる空所(void)とを有している(図1にそのような空所は描かれていないが、図3に描かれている)。当然ながら、X(10〜12)は、サンプルの重なりによって形成されたものであり、立ち上がりエッジと立ち下がりのエッジの重なりによって形成されている。これらのXは、信号の挙動に関する有用な情報を有している場合がある。
図1に関する考察の結論として、我々が、3や4などの完全なアイ開口のうちの1つによって表現された情報を処理しようとしていることは明らかであろう。ただし、まず最初に、その完全なアイ開口を見付けなければならない。「課題を解決するための手段」の欄に記載したように、ユーザに対し、それらのアイ開口のうちの1つをクリックするように促し、幸先のよいスタートを切る場合を除き、我々は、後で説明するようなアイデダイアグラムデータ構造の内容を検査することにより、完全なアイ開口を見付けなければならない。ただし、その説明を行う前に、先に着手しなければならないいくつかの厄介な問題がある。問題には、信号環境内の悪い衛生状態や、「パルス状」と呼ばれる信号がある。これらの厄介な問題が、図2A〜図2Eの主題である。
図2A〜図2Dはそれぞれ、注釈として付記されているように、様々なタイプのパルス波形から得られたアイダイアグラムである。当然ながら、これらのアイダイアグラムは、アイダイアグラムを検討するときに考える典型的なアイダイアグラムではなく、そのような信号に使用を限定した場合、そのアイダイアグラム装置が今日得ている有用性の評判を得られるかどうかは疑わしい。特に、これらのパルス状データ信号は、最適サンプリングパラメータの自動探索に関する動作を阻害するいくつかの例外を発生する。しかしながら、高品質のアイダイアグラム測定及びデータ分析装置の設計者及び提供者として、我々は、本発明の装置が最も広い用途を有することを保証するとともに、本発明の装置に現在分かっているアイダイアグラム解釈の幾つかの補助的規則を含めたいと考えている(それらの有用性は、それらが従来のアイダイアグラム解釈と競合しないこと分かるのに従って、後で明らかになるであろう)。
図2A〜図2Dのアイダイアグラムの大きな問題は、領域を取り囲む境界がないために、「部分的」状態又は「偽」の状態(図1のような)であるべき多くの領域が、そのレベルまで立ち上がらないことである。我々はそのような領域を取り囲む境界の存在によって領域及びそのサイズを判定していたため、境界の不在は問題になることが判明している。例えば、図2Aの「アイダイアグラム」は、いくつかの空所を内部に有する「方形波」トレースのように見える。アイ開口であるべき部分が「方形波」トレースによって取り囲まれない。「偽」のアイであるべき領域が取り囲まれている点を除き、図2B及び図2Cの上部にも同じ問題がある。
これから説明する処理における害を防ぐために、信号偏位の公称(平均)の限度は、アイダイアグラムデータ構造内の通過位置として解釈される、という規則を追加する。この規則は、図2Aにおいて点線10及び11によって表される。これらの効果は、領域12及び13を識別可能な領域にするとともに、それらを通常のアイ開口のような挙動を持つ内部領域にすることである。同じ目的で、図2B及び図2Cにもそれぞれ、点線14及び15を追加する。これらの限度をアイダイアグラムデータ構造に追加するタイミングは、あるタイプ又は他のタイプのパルスを期待していることをユーザから告げられたときや、アイダイアグラムデータ自体の検査によってその追加が必要であることが判明したときである。更に簡単な方法、及び望ましくない副作用がほとんどない方法は、必要であるか否かに関わらずそのような規則を追加することであり、図2Cのアイダイアグラムの下部(又は、図1の「通常」のアイダイアグラム1の上下両方)に示すような状態にすることが望ましい。
このような実施形態は非常に分かりやすいものである。まず、「点線」が追加される位置における電圧レベルを特定する。その結果、信号偏位の平均値が分かる。次に、データ構造の内容を修正し、各時間位置についてそれらの電圧を示すセルの通過があったことを示すようにする。もちろん、厳密に言うえば測定しなかったアイダイアグラムを「同期」たことにしている。ただし、そうすることによって目的に合致するので、話を続ける。
次に、この種の実施形態では、アイダイアグラムデータ構造の範囲が時間軸に沿って有限であることから発生する閉じていない部分アイ開口に関連する問題は、解決する場合がある。従って、アイダイアグラムの左端と右端に縦の点線を追加する。追加した点線は、図2Aでは左端の16及び右端の17であり、同様に図2Bでは左端の18及び右端の19、図2Cでは左端の20及び右端の21である。アイダイアグラムデータ構造は水平ラインを追加する場合と同じように修正され、単純に時間軸の両端にある全てのそのようなセルが、通過済みとしてマークされる。
ちょっとだけ図1に戻り、アイダイアグラム1を表すアイダイアグラムデータ構造内のデータにも同じことを行う。これが図1に点線22及び23が描かれてる理由であり、点線23及び23の意味するところである。図が乱雑になることを避けるために、水平の点線は描かれていないが、水平の点線も存在するものと想定して欲しい(信号の性質から、それらの点線が「不要」な場合でも)。点線を入れることは害にはならない。
図2D及び図2Eは、整合又は終端が不十分な伝送線によって、データレシーバに提示される信号の形に及ぼされる可能性がある影響を示す図である。段が発生し、段によって、単位間隔内の様々な位置における電圧マージンが、様々な量だけ減少している点に注目して欲しい。特に図2Eの場合、(反射によって生じる狭い部分を回避するために)最大電圧振幅の範囲内においてサンプリング位置を探す場合に、許容できない量のタイミングマージンが失われることがあることが容易に分かる。従って、一方のマージンと他方のマージンとの間のトレードオフが必要になる。ただし、電圧とタイミングの両方のマージンの最良の組み合わせがどこにあるのか探すことは容易ではない。
次に、図3に示すような、もっと現実的な(通常は非パルス)アイダイアグラム24について検討する。アイダイアグラム24は、完全なアイ開口25をどのようにして見付け出し、特定するかを示す例として使用され、また、完全なアイ開口25を見付けた後、それを使用して何を行うのかを説明する開始点としての役割も有する。
図3の当座の目標は、アイダイアグラム24の両端にある部分アイ開口(26、27)から完全なアイ開口25を探し出し、それを識別することである。ここで、それを実施するためには、アイダイアグラムデータ構造の内容の検査及び分析を行う必要があることを思い出して欲しい。そして、この例では、領域25内にマウスカーソルを位置決めし、クリックすることによるオペレータの支援はなかったものと仮定する(大抵は、制御システムから何かするように促され、それに応答すると、制御システムは、その操作が何を意味するのかを解釈し、それを適切に処理する)。同様に、これから説明するプロセスは、制御システムによる次の作業がこのプロセスに相当することに応答して開始されるものと仮定することができる。例えば、オペレータは、データ分析装置内のユーザインタフェースにおいて「最適サンプリングパラメータを自動的に見付ける」という意味のボタンをクリックする場合がある。ただし、そのような具体的なユーザインタフェースは本発明の開示範囲から外れるため、図示していない。
続いて、次に、アイダイアグラムデータ構造内のデータを検査し、電圧Vswing29を判定する。この電圧は、指定された解釈の規則(最大偏位、最小偏位、平均偏位、時間加重平均偏位など)により独立した挙動として判定される場合もあれば、あるいは前述のような公称偏移に付加される水平線間の差として判定される場合もある。こうした種々の選択の実際の違いは、恐らくほとんど常に非常に小さい。いずれにしても、Vswingを判定すれば、Vswingの判定に使用したものの一端からのオフセットとしてVswing/2(30)を使用し、点線31に示すような電圧レベルを決定することができる。この考え方は、電圧レベル31は、アイの垂直方向の開口の中及び「中間」付近においてほぼ確実に良好であるということである。
次に、連続した時間位置T1、T2、T3、,,Tkを選択する。kの値は適当なものであり、アイダイアグラムデータの作成に使用された時間分解能を考慮して決定される。大抵の場合、ユーザは、Nyquistに極度に依存しすぎることなくアイダイアグラムの美しい表示が可能となる時間分解能値を選択している。従って、ユーザを信頼し、Tiの間隔を、使用された時間分解能の5倍又は10倍、あるいは30倍に選択する(一方、Tiの間隔は非常に短いことが好ましく、大抵の場合Tiのステップ幅にはTmin/2が使用される)。図3は、Tiがアイダイアグラムデータの左端で直角に下がっていないことを示しており、それをいくらか上へ動かす(又は動かさない)ことが、実施形態の詳細である。(また、右端においてTkが下がっていないことにも注意して欲しい。両端においてT1とTkを下げることは無駄であろう)。
点線31とTiの交点(Iは1からkまで変化し、点線32は、Iの現在値に応じて移動する)は、太い十字28によって図示されている。十字28は、最初の試行位置を表し、その位置から始まり、Iの値は最終的にkになる。
次に進む前に、図3のアイダイアグラム24が、ボックス内に点線、カーソル、及び相補的な目盛りとともに実際に描かれる必要は必ずしもないことを念を押したい(全て描くことも可能であるが、必須ではない)。このような図面を描いたのは、何が行われるのかを視覚的に分かり易く示すためであり、場合によっては複雑になるフロー図(図4)を単純化することができるからである。そのため、アイダイアグラム24は図3に示したように表示される、という印象を与えてしまう危険があるかもしれない。でも、その可能性は恐らくないだろう。なぜなら、この図を使用して実施される処理は、非常に短時間で実施され、描画されたトレースが認識される前に終わるからである。
次の手順は、各試行位置(即ち、Iが変化したときの十字28の位置)において図4A〜図4Cに示すような検査処理を開始することである。簡単に言えば、この考え方は、初期試行位置がアイダイアグラムデータ構造内の未通過(未訪問)位置であるか否かを確かめ、それが未通過位置であれば、その初期試行位置に対して水平方向又は垂直方向に隣接する他の未通過位置が幾つ存在するか(即ち、開口のサイズがどれくらいであるか)を確めることである。確めたサイズの記録は保存され、その後、Iが増分される。初期試行位置が、信号が既に通過した位置であれば、試行位置をデルタT又はデルタVだけ上に動かし、再試行(大抵は2回以上)する。この考え方は、孤立した通過位置(位置33〜38のうちの1つのような)に遭遇したので、領域に単独で入る試みを廃棄したくないというものである。T3において行われるような実際に信号が何度も通過した領域(Xの一部にヒットする)に遭遇した場合、最終的にはあきらめ、Iを増分することになる(Iが2以上の値であれば、その試行位置は何らかのサイズの開口領域に入る可能性が高いので、大抵の場合、未通過領域を見逃すことを心配しすぎる必要はない)。この検査処理は、Iがkの値で試行されるまで継続される。次に、隣接した未通過位置からなる種々の発見領域のサイズに関する、保存された記録を調べる。最大の領域を勝ちとし、その領域が、対象となる完全なアイ開口として宣言される。最大の領域が複数存在する場合は、何らかの第2の基準を使用してどれを選択するかを決めてもよい。ただし、Iの値が異なる場合でも、得られる結果のうちの幾つかは同じ開口領域を表すことがあるため、第2の基準の使用は必ずしも必須ではない。必要であれば、発見領域間において時間的範囲の実質的重なり又は類似性があるか否かを検査してもよい。この検査は、それらの領域が同一であり、短くかつ非冗長的な表現が可能であることを示すものであることが望ましい。
はじめに図4Aを検討する。図4Aは、図3に関連して説明した初期試行位置のシーケンスに関連する様々なアイ開口を探索するプロセスを示す概略的なフロー図39である。ゼロ以外のサイズが見付かった場合、何らかの種類のアイ開口が存在するため、そのアイ開口に関するシード(開始試行位置/位置)及び発見サイズを、REGION_LIST(リージョンリスト)(45)と呼ばれる表に記憶する。この場合のサイズとは、初期試行位置を含むことが判明したアイダイアグラムデータ構造において、水平方向及び垂直方向に隣接する未通過位置の数を意味している。本明細書では、「連続」の概念は左右上下の隣接に限定され、斜めの位置は除外している。その理由は、下記の話から理解できるであろう。斜め方向に関連する未通過位置だけからなる「スレッド」があるものと仮定する。更に、通過済み位置だけからなる同様のスレッドがあるものと仮定する。2つのスレッドは、互いに相手側を破壊することなく交差させることができる。これは、未通過領域の一部がたとえ一般常識により検査済み領域を取り囲む境界の外側にある場合であっても、未通過領域は、通過済み領域を取り囲む境界の内側にある場合があり、境界を通過して結合された状態になることがあることを意味する。斜めの関係を考慮することは実際には厄介な問題であり、斜めを除外すれば、非常に妥当な答えが得られる。従って、ここでは単純に斜めを除外して考える。
図4Aにおける最初のステップ40は、キュー46をフラッシュし、アイダイアグラムデータ構造内の全位置を「未チェック」状態にセットすることである。このステップは更に、FIND_REGION_SIZE(43)プロセスが「探索(発見)モード」(「分離モード」ではなく)で実施されるようにセットする。これらのモード及びその用途については、後で詳しく説明するものとする。
キューは先入れ先出し(FIFO)リストであり、その長さは必要に応じて調節することができる。リスト内の項目は、検査すべき初期試行位置である。即ち、キュー内の項目は、アイダイアグラムデータ構造内の位置を指定する一対の時間と電圧である。キューをフラッシュするということは、キューの長さをヌル値(ゼロ値)を有するエントリ一個分の長さに短縮することに等しい。使用されるソフトウェアは全て、そのヌル値をキューが空である(有効な値を有していない)という意味で解釈する。キューの一端はTOQ(Top Of Queue)と呼ばれ、他端はBOQ(Bottom Of Queue)と呼ばれる。データがキューに追加されると、そのデータは新たなBOQに追加され、キューは前よりも1エントリ分だけ長くなる。TOQは、キューが出力用に使用するエントリである。このエントリは不要になったら削除することができ、新たなTOQを作成するためにキュー内の各エントリは1ステップだけ前方へシフトされるとともに、キューの長さは1エントリだけ短くなる。フラッシュされた後BOQに追加された新たなエントリは、再びTOQになる。プログラミング環境によっては、キュー自体は、読出し書込みメモリに記憶されたソフトウェアで管理されるリストであってもよく、リストは適当な関数又はサブルーチンを呼び出す手段によってアクセスされる場合がある。この手のキューは従来通りのものであり、システムプログラミング業界において周知のものであるから、その内部に関する詳しい説明は省略する。
援用特許文献のうちの様々なものに記載されているように、アイダイアグラムデータ構造内の指定された位置は、複数の情報項目から構成される場合がある(この例ではそうなる)。当然ながら、指定する時間オフセット(X)及び閾電圧(Y)に対する信号のヒット数を記憶する項目が存在する。その項目がゼロである場合、その位置はまだ信号が通過していないものと解釈される。ヒットとは信号の通過のことである。指定された位置内の他の項目には、例えば「アイダイアグラムトレースがアイダイアグラム内のその位置を通過したか否かを判定する」ときのように、指定された位置を信号が通過(ヒット)したか否かを既に「チェックした」(調査した)ことを示すためのフラグとして使用される項目がある。従って、ステップ40における処理の1つは、アイダイアグラムデータ構造内のチェック済みフラグを全てクリアすることである。
これを行った後、次のステップ41では、索引Iを1からkまで変化させながら、連続した一対のステップ42及び43をk回繰り返す。一方では、制御の詳細なフローは従来通りのものとし、興味のないものとしていずれも省略し、他方では、プログラミング環境に大きく依存する。ステップ42では、図3の環境における初期試行位置をキューのBOQに追加し、その初期試行位置が、隣接した未検査位置を見付けるためのシードとして機能するようにする。このプロセスは、図4Bに関連してさらに調べられる。
ステップ43は、FIND_REGION_SIZEプロセスの実行であり、これに関しては、図4Cに関連して少しまとまった量の説明を行う。現在確実に言えることは、水平方向及び垂直方向に連続した隣接位置があるか否かをチェックすべき位置を知らせるのはTOQの役割であり、そのチェックは自立型のものであること。そして、見付かった未通過位置及び未チェック位置の数はカウントされ、その数(及び場合によっては他の要素も)は、REGION_LIST45に記録されることである。簡単に言えば、FIND_REGION_SIZEプロセスは、連続した一続きの位置をその数をカウントしながら即座にたどり始めるものではなく、TOQをチェックし、その値が適当なものであるか否かをカウントした後、それに隣接する(普通の、又は良好な)隣接位置をキューに加えてゆくものである。キューに入れた隣接位置は、TOQに届いたときにチェックされる(隣接位置は一般的な位置ではないこともあり、隣接位置が何らかの限界に近い場合は、キューに追加しない方がよい場合もある)。これらの作業が完了すると、プロセスは次のTOQを要求する。この処理はTOQが空になるまで繰り返される。TOQが空になるのは、隣接位置を全て見付け出し、チェックが完了した後である(一般的には、プロセスが終了するのは、連続した位置が無くなったときではなく、通過位置と限られた数の未通過の内部位置とによって形成される取り囲み境界に遭遇したときである)。FIND_REGION_SIZEプロセスが結論を出すと直ぐに、REGION_LISTは、その結論に基づいて次のエントリを得る。この時点でプロセス43のインスタンスは完了し、仮定したFOR I=1 TO k構造による制御に従って、プロセスは再びステップ41へ戻る(即ち、Iの次の値に対して、ステップ42及びステップ43が再び実施される)。
略フロー図39の最後のステップはステップ44であり、このステップでは、REGION_LISTに入れられたエントリの中から最大のエントリ(開口領域)が選択される。選択された開口領域は、最適サンプリングパラメータを発見するために使用される(この作業については後で別の図面を参照して説明する)。
従って、図4Aが、図4Cのプロセスを利用する仕組みを表したものであることは、明らかであろう。図4Cのプロセスは、疑似再帰的又は自動反復的と呼ばれることがある。図4Aのプロセスは、プロセス43が自分自身を呼び出さないので正確には再帰的ではなく、書込みは再入可能な態様で行われない(制御の流れを図4Cに示したように)。ただし、その美しさが高く評価された場合は、再帰的であるとみなされることもある。しかしながら、この実施形態の場合、キューは、普通ならば反復の実体になる入れ子式の多数の環境を蓄積するという負担を有する。
次に、図4Bに示す略フロー図47について説明する。フロー図47は、初期試行位置をキューに入れる作業を示している。この見かけ上簡単な作業には、処理しなければならない例外がある。例外とは即ち、初期試行位置が未通過位置でない場合は何が起こるだろうか、という問題である。そのような位置をキューに追加しても、その位置によってプロセスが破綻することはなく、そのような追加は、いずれにしても起こる可能性が高いことが分かっている(図3のT3を思い出して欲しい)。しかしながら、ここで、既に信号が通過した初期試行位置が独立した位置である場合や、複数の通過位置からなる非常に小さい集まりの一要素である場合を想定してみて欲しい。これから実施されるTiのインスタンスをなぜ無駄にするのか?これと同じ疑問は、与えられた初期試行位置が既にチェック済みとしてマークされていることが判明した場合にも生じる。そこで、そのようなインスタンスを無駄にしないために、クオリファイア48は、最初に与えられた初期試行位置が実際に既に通過又はチェックされたものであるか否かを判定し、そうであると判定された場合、既に通過又はチェックされた位置の近くにある隣接位置を特定するためのループ50に制御権を渡す。そして、2番目に近い隣接物のそれぞれについて、何らかの順序で、そこを信号が既に通過したか否か、又は既にチェックされているか否かをチェックする(クオリファイア51及び52)。クオリファイア51において結果がNO(いいえ)であることが分かると直ぐにステップ53へ進み、最初に与えられた位置の代わりにその隣接位置を取得し、それを新たなBOQとしてキューに追加する。これ以上隣接位置を調べる必要がない場合(又は、調べるべきではない場合)、置換は一回で十分である(また安全上も、異なる領域にまたがる可能性のあるキューにおいて2つのシードを使用して領域探索を実施しない方がよい。)。一方、クオリファイア48において、元の(Ti,Vtest)が両方ともまだ通過されてなくチェックも受けていないと判定された場合は、ステップ49において、それが新たなBOQとしてキューに追加される。いずれの場合も、次のステップは、FIND_REGION_SIZEプロセス43であり、これは、図4Cの主題である。
次に、図4Cのフロー図51について詳細に説明する。フロー図51は、図4AのFIND_REGION_SIZEプロセスのステップ43の詳細を示すものであり、見かけほど悪くはない。このプロセスはまず、ステップ52において、変数REGION_SIZEをゼロにセットすることにより開始される。変数REGION_SIZEは、図4Bのプロセスによって得られた初期試行位置をシードとして使用した領域において見付かった、水平方向及び垂直方向に隣接する未通過位置の数の累積に使用される。また、このシード(TOQ)は、後で使用するために保存される。
ステップ52の後、クオリファイア53は、TOQが空であるか否かを尋ねる。このプロセスは実際のシード(初期試行位置、又は位置)を使用して開始されるため、最初は通常、TOQが空ではないことが期待される。ただし、図4Bにおいて未通過シードを見つけることが出来なかったり、空のTOQを使用してFIND_REGION_SIZEが開始されるような、切迫した場合もある。そうした状況が害になることはなく、その場合、プロセスは単に終了する。従って、クオリファイア53における判定は通常、最初はNOとなり、プロセスはクオリファイア55へ分岐し、そこで、TOQ位置が既にチェック済みのものであるか否かを質問する。TOQ位置が既にチェック済みである場合は、それをスキップし、キュー内の次のエントリへ移動することが望ましい。この移動は、ステップ56へ分岐し、そこで、キューを前方へ1エントリ分だけシフトさせ、新たなTOQを作成することによって行われる。そして、クオリファイア53へ戻ることで、その新たなTOQは、新たなシードであるかのように処理される。一方、クオリファイア55において答えがNOであった場合は、その位置が既に通過されたか否かを調べなければならない。これは、クオリファイア58によってチェックされ、答えがYES(はい)の場合は通常この位置が破棄され、また、クオリファイア77を通過した後、ステップ56(TOQの位置をチェックしただけの場合)へ続く次の「NO」分岐によってもこの位置が破棄される場合がある(TOQの位置を「頻繁」に通過した場合)。ただし、TOQの位置が希にしか通過されていない位置である場合は、クオリファイア77において、その位置は実際には通過されかった位置であるかのように処理される場合もある。1つの位置には、例えば、500,000程度のクロックサイクルのうちの2〜3のヒットが記録される。このような考え方から、クオリファイア77は実際には、「『密度』又はヒットの実際の数が何らかの閾値以下であるか?」と質問する。密度の概念は、援用出願の中に記載されており、試行回数に対するヒット数の比率である。いずれの方法においても、閾値がゼロである場合は「未通過はいずれにしても全く通過がなかったことを意味する」という厳密な基準を課すことが望ましく、閾値がゼロ以外の正の数(整数又は分数密度)である場合は、クオリファイア77におけるYESの分岐と、クオリファイア58におけるNOの分岐とが同じ結果を生み出すため、もっと甘い基準を課すことが望ましい。クオリファイア77の結果が他の結果であれば、クオリファイア58におけるYESの分岐はステップ56へと直接導かれる。当然ながら、クオリファイア77の閾値を設定する機能によれば、アイ開口内に希に発生する埋め込まれたヒットは無視することができ、アイ開口の境界付近に稀に発生するヒットも同様に無視することができる。
クオリファイア58における答えNO(又はクオリファイア77におけるYES)の通常の意味は、TOQによって指定された位置が、プロセス51のインスタンスを実行する際に使用されたシードに隣接する未通過で且つ未チェックの位置である(隣接していなければ、その位置はキュー内に存在していないであろう)、ということである(なお、初期エントリシードが他の位置に全く隣接していないかも知れないことが判明した場合でも、初期エントリシードはキューに取得してカウントしなければならないこと、即ち、キューにはそれ以上エントリが追加されない場合があることに注意して欲しい)。こうした状況では、REGION_SIZEをインクリメントし、その状況を記録しなければならない。このインクリメントは、ステップ59aにおいて実施される(探索モードの場合)。
「では、シードの隣りにある隣接位置をキューの最初の場所に入れるにはどうするの?」という問題が生じる。そこで、次はこれについて説明する。
入力時の初期シードが通過されずチェックもされなかったことを確めようと苦心している場合を想定して欲しい。つまり、ステップ59aまで下がった場合を想定する。フロー図の次の部分では、現在のTOQに隣接する4つ(上下左右)の位置を見付ける。ステップ59aへ至るまでのチェックの性質を考えれば、それらの4つの位置がチェックされたか否か、又は通過されたか否かは基本的に問わずに、それらの位置は検査すべき候補としてキューに追加することが望ましい。一方、TOQ位置がアイ開口境界に近いことに関連する問題がある。また、左側走査境界又は右側走査境界と呼ばれる位置をキューに入れることに意味はないので、それらの位置は、実際には通過済みとしてマークし(実際に通過された否かに関わらず)、通常なら開いている部分アイの端部を「閉ざす」ようなものとして処理することが望ましい。
それらの問題は次のようにして解消される。ステップ60では、TOQに対応する位置の垂直方向の上下に隣接する2つの隣接位置が、キューの新たなBOQに常に追加される。これは常に実施することができる。なぜなら、初期シードは限界位置でなく、次の交換TOQは通過されたか否かをチェックしたばかりである(58において)からである。既に境界上に存在する位置に対して隣接位置を追加し、境界と交差させることは、境界が悪化するであろうから望ましくない(また、ステップ60で追加した位置が境界付近であった場合、その位置は通過済みとして既にマークされているので、最終的にはクオリファイア58によって破棄される。従って、境界の隣接位置は追加されない)。これらの考察から得られる結論は、カウントされたばかりの位置に垂直方向に隣接する隣接位置を追加することは、常に安全であるということである。それらは潜在的な要因に過ぎず、それらの位置は、アイダイアグラム内部の一部でなければ、TOQにおいて順番が来てもカウントされない。それらの位置はキューに追加し、検査を受けなければならない。
次に、水平方向の左右に隣接する残りの隣接位置をキューに追加する。好ましい実施形態では、何らかの制約がない限り、これは実施しない。クオリファイア61及び62の原理を理解するために、少しだけ図3に戻り、下側のアイ開口境界にある「穴」69に注目して欲しい。この穴は、長くて薄い水平方向の開口領域70を発生させる原因となる。問題は「開口領域70をアイ開口25の一部と見なすべきか?」という点である。アイダイアグラムが間抜けになる程度に制限がある場合、この事例はそれほど悪くないかもしれない。しかしながら、70のような領域がXの下にまで延在する事例も観測されている。また、パルス型の信号には様々なタイプがあり、それらのアイダイアグラムは、この種の不具合を大量に有することがある。従って、全てを考慮すると、好ましい実施形態としては、70のような領域に含まれる位置は、領域25のような中央アイ開口に属するものとしてカウントしないことが望ましい。従って、次の問題は「では、そのような不具合をどうやって除外するか?」というものである。
その解決法は、当該アイ開口の上縁又は下縁に近すぎる位置には、水平方向に隣接する隣接位置を追加しないようにすることである。この厳密な基準を実施するのは恐らく少し困難である。ただし、この基準は、TOQ位置が、図3に示されているような既に観測された下側アイ境界及び下側アイ境界に対して「近すぎる」か否かを調べる試験によって近似することができる。「近すぎる」条件は、TOQ位置が例えばVswing(29)の5パーセント又は10パーセント以内の位置にある場合である。クオリファイア61及び62は、この「近すぎる」条件をチェックし、条件に適合する場合は、キューに対する水平方向の隣接位置の追加を、分岐によって迂回する。従って、69のような穴の垂直方向の突起はキューに入れられ、アイ開口25の一部としてカウントされるが、領域70の大部分に相当する左右に拡がる水平部分はアイ開口25の一部としてカウントされない。
クオリファイア63及び65は、TOQ位置が水平走査限界境界上にある場合に対処する。TOQ位置が左端にある場合、その位置の右側の水平方向の隣接位置をキューに追加することは適当である。また、TOQ位置が右端境界上にある場合、その位置の左側の隣接位置をキューに追加することも適当である。これらの追加は、ステップ64及びステップ67によりそれぞれ実施される。
クオリファイア61、62、63及び65における判定(答え)が全てNOである場合は、心配な状態はなく、左右両方の水平方向の隣接位置をTOQ位置に安全に追加することができる。これは、ステップ66で実施される。
クオリファイア61又は62の答えがYESである場合、又はいずれかのステップ64、66又は67の後、その次のステップは任意選択的に実施されるステップであり、これまでに使用された全てのTOQ位置によって表される最も遠い左側偏位及び最も遠い右側偏位の記録を更新するステップである。この任意選択的に追加される情報は、アイ開口を識別したりそのサイズを決定したりするのには重要ではないが、後の処理に役立つ場合がある。
最後にステップ56に到達し、そこで次のTOQが取得される。プロセスはTOQが空になるまで前述のように継続され、TOQが空になると、クオリファイア53はステップ54aへ分岐する。FIND_REGION_SIZEプロセスが「探索モード」である場合、ステップ54aにおいて、開始時に使用したシード及びREGION_SIZE内のカウント(及び、任意選択で最も遠い偏位)がREGION_LISTに書き込まれ、「探索モード」ではない場合、それらが書き込まれることはなく、REGION_LISTは未分配のまま維持される。その後、又は、「分離モード」が有効になった場合、プロセスは、その呼出し元の環境へ戻る。
図4A〜図4Cの処理が完了した後、対象のアイ開口がどのシード(初期試行位置)から生成されたのかを判定することができる。今述べたように、Ti(シード)を変化させながら、FIND_REGION_SIZEプロセスを「探索モード」で繰り返し実施すると、最大のアイ開口がどのシードから生成されたのかを判定することができる。最大のアイ開口が他の所望の試験に全て合格した場合、そのアイ開口は、最適サンプリングパラメータの選択に使用される対象となるアイ開口であるものとして宣言される。ただし、調べていたアイダイアグラムデータ構造全体は、全ての開口が合併されたままの状態であり、選択された特定のアイ開口を、個別に識別された位置の独立した集まりとして使用することはできない。それを可能するためにそのデータを更に処理するための進歩が、FIND_REGION_SIZEプロセスの「分離モード」である。
FIND_REGION_SIZEプロセスが「分離モード」で動作している場合、ステップ59aの代わりにステップ59bが実施され、既に完全にマークされたアイ開口データ構造(アイダイアグラムデータ構造に非常によく似ていて、大抵はそれと同一)において適当な位置(様々なTOQの)のマークが解除される。その意図は、FIND_REGION_SIZEプロセスにより、アイダイアグラム状のデータ構造からマークを取り(除去し)、特定のアイ開口に相当する領域の境界を示すMARKだけを残すことである。先を予測するために、「分離モード」では、FIND_REGION_SIZEプロセスを一回だけしか起動しなくても、FIND_REGION_SIZEプロセスは特定のアイ開口に関連するシードを再利用して、先を予測する。選択が可能である場合、REGION_LISTテーブル(45)は、使用するシードを返してよこし、その結果、FIND_REGION_SIZEプロセス(この時点では「分離モード」である)は、以前と同様にアイダイアグラムデータ構造を正確に再走査し(即ち、選択された領域内の全ての位置を走査し)、同時に、データ構造のマークされたコピーからマークを外す(隣接位置をカウントするのではなく)。その結果、アイ開口の境界を画定するマークの付いていない対象のアイ開口だけを含むアイ開口データ構造が得られる(また、当然ながら、マークの付いていないアイ開口内には、マークの付いた何らかの内包物が含まれる場合がある)。
以下2つの段落の説明は、図5のフロー図(71)に関するものである。ステップ72(図4Aのステップ44と実質的に同じ)では、REGION_LISTの中から或る領域を選択する(45)。この選択は、最大領域サイズを見付ける時と同様に単純な選択でよく、また、例えば形状や電圧の限界に関する二次基準を更に使用してもよい。適度に正常な挙動を有する一般的信号の場合、単純に最大サイズの領域を選択するだけで十分な場合もある。いずれにしても、領域を選択した後、その領域に関連するシードがあることに気づく。シードの存在は、REGION_LISTの内容を単純に検査することによって分かる(そのためにテーブルがある)。
ステップ73では、キュー46をフラッシュされ、アイダイアグラムデータ構造内の全ての位置を再び「未チェック」にセットする(図4Aのステップ40において実質的に同じ目的で行われたように)。ただしそのとき、ステップ72において選択された領域を抽出し、その領域を分離した状態で(その領域だけを)アイ開口データ構造(76)の中にコピーする後続の処理に備えて、FIND_REGION_SIZEプロセスの動作は「分離モード」にセットされる。
次に、ステップ74では、FIND_REGION_SIZEプロセスによって実施されるコピーに備えて、アイ開口データ構造内の全ての位置が「マーク済み」にセットされる。コピー領域は、「分離モード」において除去されたマークのパターンによって定義される。
ステップ75では、ステップ72に関連して上で述べたシード(例えば、特定のアイ開口領域に関連するもの)が、キューの一番下に置かれる。あとは、FIND_REGION_SIZEプロセスを再度実行し、その終了を待つだけでよい。その結果、ステップ72において選択された領域を作成したインスタンスが以前に実行したのと同様に、アイダイアグラムデータ構造が、再度正確に走査されることになる。FIND_REGION_SIZEプロセスの実行が完了すると、アイ開口データ構造76は、その選択されたアイ開口の境界に対応するマークのパターンを有するものになる。アイ開口データ構造76(この時点でマークの付いていない)は正規化され、正規化アイ開口データ構造が生成され、その後、その正規化開口データ構造はサンプリングパラメータの最適な集合を見付けるのに使用される。
これを念頭に置き、図6Aのアイダイアグラムの78について説明する。囲いの四角形87は、アイダイアグラム79のデータを含むアイダイアグラムデータ構造を指定する値の範囲を示している。アイダイアグラム部分自体79及びそのアイ開口80〜82は、意図的に図3に非常に似たものにしてあるが、必ずしも似ている必要はない。ここで、開口領域81に関連するカウントは、部分アイ開口80及び82のうちのいずれかのカウントよりも明らかに大きく、開口領域81は、選択された興味のあるアイ開口として指定された(即ち、REGION_LISTテーブルの中から選択された)ものであり、開口領域81はその後、FIND_REGION_SIZEプロセスを「分離モード」で使用することにより、開口データ構造の中に抽出されるものと仮定する。また、アイ開口81の中には、4つの「位置」83〜86が含まれていることにも注意して欲しい。これらの位置はそれぞれ、ヒットのあった1以上の位置からなる隣接領域を表している。これらの領域の形は分からない(即ち、それらが複数の隣接位置からなるクラスタであるか否かは分からない)が、この時点ではそれは問題とならない。アイ開口81を抽出しサンプリングパラメータの最適な集合を見付けるために、ゼロ以外の閾値によって、図4Cのクオリファイア77において実施される「通過閾値」チェックを有効にし、その結果、位置86(複数の場合もあり)が、「まだ通過していない」位置として解釈された場合を仮定する。
次に図6Bに移る。この図にも、図6Aにあったものと同様の、囲いの四角形87がある。この図は、図6Aのアイダイアグラム開口81の輪郭の中を埋める小さなドットのパターン88を示している。これらのドットは、抽出された位置を表している。パターン88内のドットのスケール(水平方向及び垂直方向の細分性)は、アイダイアグラム測定を試行したときに使用された実際の水平方向時間量子化及び垂直方向電圧量子化のスケールである。そして、そのアイダイアグラム測定の結果は、最適サンプリングパラメータの探索に使用されることになる。図6A及び図6Bの作成に使用された水平方向及び垂直方向の感度は、自動スケーリング処理によって得られたものであるか、又は、信号の測定を取り巻く環境や、その作業に使用することが可能な時間やメモリの量を考慮して、情報に基づくオペレータの選択によって得られたものであるものと仮定する。
正規化プロセスは、軸を良度指数として再スケーリングするとともに、ドットパターン88を再サンプリングし、第1のインスタンスにおいて様々な測定細分性でサンプリングを行ったかのような、様々なデータ構造のデータを生成する。これを実施するために、第2の測定を実際に行う必要はなく、代わりに、測定されたデータの補間を行う。その他に、一方の軸のサンプリングに対する他方の軸のサンプリングの比率の選択が更に実施される。各軸は、良度指数の一単位当たり同じ数nの指定可能な位置を有する。ただし、nは小さすぎることも大きすぎることもない適当な大きさである。
大抵の場合、元のアイダイアグラム測定(画面表示と混同してはいけない)は、最初に適切にスケーリングされたものであるから、余分なサンプリング位置を取得しそれを記憶することによる無駄なオーバヘッドを招くことなく、良好な分解能が得られるだけの十分な密度細分性を有している。従って、時間軸上には、例えば少なくとも20個、恐らくは80個未満のサンプリング位置が存在するものと考えられる。正確な数は重要な問題ではない。サンプル数の下限は、関心のある挙動が観測できなくならないような十分な大きさの数であり、サンプル数の上限は、費やされる時間やリソースによって決まる。(様々な数の)観測値の似たような集合が、時間軸に適用される。正規化プロセスは、記憶データ全体の表示方式を変更するものであり、仮に記憶データの意味に変化があったとしても、記憶データの意味を具体的に変更するものではない点に注意して欲しい。従って、元の測定が十分な細分性を有し、正規化が慎重に行われれば、正規化されたものも十分な細分性を有することになる。この考え方は、興味深いものであり且つ安心できるものである。なぜなら、正規化表現を使用する意図が公表されていて、各軸上において良度指数の1単位当たりn個の指定可能なステップが得られるからである。
まず、電圧軸上の測定間隔をΔVminで割り、時間軸上の測定間隔をΔVminで割ることにより、2つの軸を再スケーリングする。その結果、縦座標(電圧)軸の役割は電圧良度指数軸に変更され、横座標(時間)軸の役割は時間良度指数軸に変更される。この観点からすれば、1単位高さのアイ開口は、最小許容Vswingのアイ開口になるであろう。4単位高さのアイ開口は、電圧マージンが4倍になるため、さらに望ましい。もう一方の再スケーリングされた軸における持続時間の範囲も、同様に解釈することができる。ただし、新たな目盛り(例えば、1単位の良度指数や、それを適当に分割した1/2、1/4、1/10など)は大抵、データ構造内の既存のアドレス指定可能位置には対応しないものと考えられる。
それらの分割が完了した後、以下のように推論することができる。電圧軸は、5ボルト当たり(例えば)50個のサンプリング位置を有していた。即ち、1ボルト当たり10個のサンプリング位置、又はデータ構造の電圧軸上における1ステップ当たり100ミリボルトを有していた。ΔVminが250mvである場合、新たな軸は20単位の電圧良度指数としてラベル付けされる。これは、20単位当たり50個のサンプル、即ち1単位当たり2.5個のサンプルに相当する。当然ながら、再スケーリングされた軸の新たな目盛りは、データ構造の既存のアドレス指定可能な位置には整合しない(ΔVminが287ミリボルトのような本当に任意の数であれば、それらの数は非常に「良好」な数である)。
また、時間軸における対応する状況では、1単位の良度指数当たり6.25個のサンプルが得られるものと更に仮定する。つぎにどうするか?次は、それらを再サンプリングし、例えば1単位の良度指数当たり8個又は10個のサンプルを得る。図7から分かるように、その結果、値や他の属性を配分する方法に関する簡単な推論規則を使用して、「大きな領域が小さい領域に分割される」。「小さな領域を結合して大きな領域を作成する」というように、細分性を別の方向へ変化させることは、特性の帰属に関する規則が混乱するため、行いたくない。1単位の良度指数当たりのステップ又は位置の実際の数(n)は通常、ある程度任意の数でよく、都合によって変更される場合がある。
熟考すると、再スケーリングによれば、電圧の良度指数と時間の良度指数を同じ数で割り切ることが可能になり、両者の数単位が同じ大きさのマージンの変化に相当するものと仮定して、両者の単位を比較することが可能になる、ということが分かるであろう。この比較は「1単位」レベルで実施する必要はなく、半単位、4分の1単位、10分の1単位、又は他の適当な分割単位レベルで実施することもできる。これは、1単位の1/7や1/9といった一般的な奇数量であってもよい。ただし、絶え間なく連続的に補間を行う必要性をなくすためには、所望の細分性を選択した後、元のデータ構造のデータを再サンプリングし、そのデータが新たなデータ構造に記憶されるときに、それが選択された新たな細分性に対応するステップでアドレス指定されるようにする。また、同程度の新たな細分性を両方の軸に使用することも可能になる。この新たな細分性は、元の軸の2つ細分性よりも高密度であってもよい。
アイダイアグラム開口が「正規化」されているという記載は、2本の軸が、今述べたような方法で選択された特定の単位で表現されていることを意味する。プロセスにおいて、新たな表現の細分性が幾らか上下するか、ほぼ同じにままであるかには関係なく、その記載は「正規化」であるものとしたい。サンプリングパラメータを選択する場合を除き、2本の軸の分解能は増加させるか、少なくとも減少させないことが望ましい。
図6Cは、正規化アイ開口データ構造91を示す図である。正規化アイ開口データ構造91は、元のアイダイアグラムデータ構造90の範囲(87,94)内に含まれるように描かれている。この図は、正規化アイ開口データの記憶に使用されるデータ構造が、元のアイダイアグラム全体の記憶に使用されるデータ構造よりも小さいことを示している(正直にいって、こうなることを期待している!)。なお、正規化データ構造91は、大きい方のデータ構造90を示す四角形の軸に対して平行な軸を有する四角形であることに注目して欲しい。小さい方の正規化データ構造91のサイズは、見付かった内容と、通過済みとしてマークされた位置からなる余分な囲いの層(「額縁」)とを加えたものを収容するのに必要なサイズより大きくならない(又は、少なくともあまり大きくならない)ように選択される。REGION_LISTテーブル内の左右の端にあるデータは、正規化アイ開口データ構造のサイズを設定するのに役立ち、このデータは、抽出された正規化されていないアイ開口を収容するのに必要なデータ構造のサイズを提供する。この情報に、正規化を達成するためには各軸をどのように再スケーリングし再サンプリングすべきかに関する予備知識を組み合わせることで、正規化アイ開口データ構造に必要なサイズを厳密に予測することが可能となる。
図6Cにおいて、媒体密度の右下がりの斜線部89は、発見され、分離され、(正規化され、又はまもなく正規化され)、再コピーされたアイ開口領域を示している。それよりも濃い右上がりの斜線部は、アイ開口データ構造の指定範囲とアイ開口自体との間の差分を示すものであり、当然ながら、アイ開口のまわりの通過済みとしてマークされた完全な層を含む。これに関しては後で詳しく説明する。また、右上がりの斜線部には、アイ開口に含まれる内部領域(図6Aの83〜85)も記載されている点に注意して欲しい。これらの内部領域は、同じ仕組みにより、「境界」:マークされた位置、としてデータ構造内に示される。最後に、右下がりの間隔の広い斜線部は、単に、アイ開口データ構造(91)と元のアイダイアグラムデータ構造90との「差分」を示している。
正規化アイ開口データ構造91は、大きい方のアイダイアグラムデータ構造90の中に、オフセット92及び93で表された配置位置を有する。このように(及び、正規化によるスケールファクタ/単位の変化に関連して)、アイ開口内における興味のある位置であることが判明した位置は、大きい方のアイダイアグラムデータ構造に対する位置として表現される。即ち、正規化アイダイアグラムデータ構造は独立したエンティティとして処理することができ、その指定方法は、他のものとは全く関係なく(例えば、正規化アイダイアグラムデータ構造は、1単位の良度指数当たりn個の単純な整数X及びYによって指定される)、それでもなお、正規化アイ開口の小さくて単純な「内部」データ構造において見付かった位置は、アイダイアグラム全体の座標系に正確にマッピングすることが可能である。
図6Cを検討することによって生じるかも知れない誤解は、この時点で解いておいたほうがよいであろう。誤解とは即ち、データ構造全体の内容のサブセットのまわりに単に正方形を描くことによってアイ開口(正規化されているか否かとは無関係に)の詳細を得ることができ、そのサブセットがアイ開口であるものと解釈することである。アイダイアグラムとそのアイ開口の挙動が常に非常に良好である場合は、この解釈が正しいという可能性が幾らかあるかも知れない。しかしながら、ここで、図4に関して説明した発見及び抽出プロセスを思い出して欲しい。このプロセスは、まだ通過していない(又は、ほとんど通過していない)隣接位置を見付け出すものであり、それらの集まりで何らかの四角形をきれいに塗りつぶすものではない。図示したように、確かに、その集まりを一回で囲むことは可能である。しかしながら、仮に四角形になることが最初から分かっていたとしても、その四角形が得られるのは、いわばその事実の後であり、最小値の四角形になるであろう。その理由は、アイ開口の形状が不規則であることは、その四角形が、未通過位置以外の位置を含むことを意味し、未通過位置の集まりが見付かるまで、どの位置がそうした未通過位置以外の位置であるのか分からないからである。また、アイダイアグラムは特異な形状を有することがあるため、アイ開口探索プロセスは、隣接特性を利用した多少特殊な規則に従わなければならない。この規則は例えば、「まず隣接する未通過位置を発見し、それらを個別の長方形配列に入れた後、それらを識別し、どれが未通過位置であるのを調べる。そして、識別されない位置は、たとえ長方形配列の内部にあっても、アイ開口の一部ではないものとする。」というものである。「未通過」が、既に付けられたマークのフィールド内におけるマークの除去にマッピングされているのは、たまたまである。その結果、アイ開口が実質的に複製されるとともに、アイ開口を取り囲む外側境界(又は、その中に含まれる内側境界)に関する情報は、外側境界がアイ開口に接触する場合の形状を除き、抑制される。従って、図6C(例えば元のアイダイアグラムデータ構造一部を四角形のテンプレートの中にコピーしたもの)のような整然とした図に騙されてはならない。図4A〜図4Cを全て使用して問題を説明してきた理由を考えて欲しい。
正規化アイ開口データ構造の使用法に関する説明に移る前に、ここで話の本筋を少しだけ外れ、再サンプリングについて簡単に説明しておく。
図7を参照し、太線で形成された座標系に注目して欲しい。太線95は元の横座標であり、太線96も元の縦座標である。この例では、元の測定データはこの座標系を使用して採取される。従って、アイダイアグラムの設定において、97のような元のアイ開口データ構造内のセルは、測定されたイベントを表す測定データ値を有する。測定データ値の一例は、観測されたヒットの数である。
図中、太線の座標系のセルは、幅:高さ=約7:5のアスペクト比を有している。これを方眼紙に描き、各セルは7ナノ秒×5ミリボルトに相当すると言えば、全然普通であるように思われるであろう。当然ながら、グラフの横座標における1単位の時間に相当する物理距離の実際の単位が、縦座標における1単位の電圧に相当する物理距離の単位に等しい必要はなく、便宜上そのような関係を選択しているだけである。従って、太線で形成されたセルのサイズは、出発点であるという以外に特別な意味を持たない。
太線で描かれた元の座標系には、細線で描かれた小さなサイズのセルが重ねて描かれている。小さい方のセルサイズは高い分解能に対応し、最適サンプリングパラメータを見付けるのに適している。ここで説明する正規化は、実際には、セルのサイズを拡大し、必要であれば分解能を低下させるものであってもよい(例としては不適当かもしれないが)。様々な小さい方のセルは、サンプリング軸98及び99によって示されている。再サンプリングされたセルのアスペクト比は、幅:高さ=3:4になっている。このとき、再サンプリングされたセルの幅は、実際に描かれている幅に関係なく、元のセルの幅の3/7になっている点が重要である。同様に、再サンプリングされたセルの高さは、元のセルの高さの4/5になっている。3/7及び4/5の選択は、元の測定において得られた元のデータを、別の機器パラメータを使用して測定を再度行った場合に得られるであろう再サンプルデータに変換するために、何が必要であるかによって決まる。この例における比率は架空のものであり、説明が簡単になるように選択されている。
話を続けると、古い座標系に見合った新たな座標系がどのようなものであるかを単純に決定する作業(再スケーリング)の他にも、実施しなければならない多数の作業がある。元のセルに記憶されている量子化された測定データの問題がある。新たなデータを得るための再測定は行わないので、元のセルの古いデータ内容を分割し、新たな座標系の適当なセルに配分(再サンプリング)しなければならない。例えば、新たなセル100は、古いセル101に完全に包含されていることに注目して欲しい。これは、古いセル101が通過された位置として既にマークされている場合、新たなセル100も、通過済みとしてマークされなければならないことを意味している。実際には、古いセル101内のゼロ以外の部分を含む新たなセル100に隣接する他の新たなセルも全て、通過済みとしてマークされているものとみなすべきである。例えば、新たなセルの半分以上が古いセル内にあった場合にのみ、その新たなセルを通過済みとしてマークするという、丸め処理に似た方法を使用する場合がある。あるいは、何らかの大きさのゼロ以外の重なりをマークする場合や、完全に重なっていなければマークしない場合などもある。
新たなセル102は隣接する周囲セルによって囲まれている。新たなセル102は、古いセル103〜106のそれぞれの一部を占めている。古いセル103〜106のうちのいずれか1つが通過済みとしてマークされていれば、新たなセル102をマークすべきか否かを検討しなければならない。
新たなセルをマークするか否かを決める規則には、ある程度柔軟性がある。新たなセルの各次元のサイズは古いセルに比べて小さく、少なくとも大きくはないので、好ましい規則は次のようなものである:新たなセルの中心を含む古いセルからその内容又は属性を新たなセルにコピーする。ただし、新たなセルの中心が2つの古いセルの境界線上にある場合は、境界線の右側(又は上側)にある古いセルを選択する。また、新たなセルの中心が4つの古いセルの交点にある場合は、その中心の右上にある古いセルを選択する。
デジタル記憶され表示されたグラフィック画像を処理するシステムに精通している人であれば、上記の処理はグラフィック画像の処理に使用されるものに類似又は関連することが分かるであろう。デジタル写真やスケーラブルフォントの表示や印刷、並びにコンピュータの表示装置におけるウィンドウ及びその内容のリサイズはいずれも、「再サンプリング」と呼ばれるこの処理を関連技術の実体として使用しているものと考えられる。実際、アイダイアグラムの表現や表示に関するリサイズの問題は、アイダイアグラムの従来技術においても取り組まれている。例えば、本明細書に援用する「COMPOSITE EYE DIAGRAMS」は、その末尾の付録に有用なアイダイアグラムデータ構造を記載しており、ステップ3及びステップ4に、2以上の軸において選択可能なスケールファクタを用いてリサイズ処理を実施する擬似コードが記載されている。そのリサイズ処理によれば、あるデータ構造のデータは他のデータ構造における再サンプリングデータに変換され、同時に変換元のセルに記録された属性(例えばヒット数)は1以上の変換先セルに正しく分配され、1以上の変換元のセルが変換先セルに貢献することになる。そのような環境では、セルの属性の値が異なることから、表示されたダイアグラムにおけるセルに対応する位置の色や強度(又は、他の何らかの表示特性)にばらつきが生じることがある。
次に本題に戻り、少し考えると、以下の結論が得られる。まず、処理は本明細書の大部分に記載されている説明に従って進められる。この処理は、(アイダイアグラムを)測定し、(アイ開口を)識別し、(そのアイ開口を)分離し、(分離された領域)を正規化し、(何らかの目的で正規化された領域を)処理するものとして表される場合がある。代替として、この処理は、測定し、(アイダイアグラム全体を)正規化し、識別し、分離し、処理するというものであってもよい。図8は、そうした代替実施形態を示す一対の略フロー図である。
2つの代替実施形態は、正規化ステップの位置と、保存しなければならない情報が異なる。第1の代替実施形態では、アイダイアグラムの抽出部分だけを正規化するため、「通過済み」の概念(即ち、通過済みのマーク)を保存するだけで足りる。これはかなり単純な規則によって実施される。第2の代替実施形態では、まずアイダイアグラムを測定したかのようにアイダイアグラム全体を正規化し、カウントされたヒット数の影響を保存し、再分配しなければならない。これは、単純に通過済みマークが間違って消えないようにすることよりも複雑である。他の理由(正規化アイダイアグラムの集まりを処理しなければならない等)から、運良く第2の代替実施形態の方が魅力的である場合、「合成アイダイアグラム」は、測定データの意味を失うことなく、あるアイダイアグラムデータ構造のデータを他のアイダイアグラムデータ構造に再サンプリングする方法を提示している。当然ながら、「合成アイダイアグラム」は、これを一般的な再サンプリングとして解釈し、測定機器パラメータの特定の集合を正規化するものとして解釈してはいない。しかしながら、それらのパラメータを本明細書の教示に従って解釈した場合、「合成アイダイアグラム」の再サンプリングは、適正な再サンプリングが予定よりも早く行われた場合、これまで「正規化」と呼んできたものをアイダイアグラム全体に対して達成する場合がある。ただし、当然ながら、「合成アイダイアグラム」は、アイ開口の識別及び抽出に関する問題に対処することができない。
2つの代替実施形態はいずれも、フロー図が、同じ2つのステップ117及び118で終わっている。ステップ117は、正規化アイ開口データ構造の周囲に沿って、通過済みとしてマークされた位置の層が存在することを確保するためのものである。即ち、いずれかの索引(X又はY)が極値である場合、指定された位置はマーク済みとして解釈される。その理由を簡単に説明する。
ステップ118「抽出領域の処理」は、抽出され正規化アイ開口に対してアルゴリズムによる処理を実施するものである。本明細書の開示における関心の対象は、最適サンプリングパラメータを見付けることである。正規化アイ開口を見付ける理由は、他にあることもある。
とにかくまず、データレシーバの最適なサンプリングパラメータを見付ける方法を簡単に説明する。この作業は、データ構造内を「走査」する何らかのプログラム可能な手段を使用する場合がある。この走査はアルゴリズム的性格を持つものと考えられ、ステアリング(走査方向決定)手段は大抵、指定された位置がマークされているか否かに基づいて動作する。索引X及びYを変化させ、アドレス指定された値を処理するインスタンスは多数存在する。X及びYの各最大値は一般に、データ構造のインスタンスごとに異なる。それらの手段(の多く)は、それを考慮してX及びYを変化させ、アドレス指定された位置を見付け出し、その内容に基づいて走査方向を決定し、試行したX及びYのうちの一方又は両方が決められた範囲の外にある場合を適切に処理(境界チェック)することができる。一般に、そのような場合、マークされた値を返すことが望ましいが、それをコード化することは言うほど簡単ではない。コード化は不可能ではないものの、マークされていないアイ開口領域の周りにマークを取り囲む境界が常に存在することを確保し、走査時に範囲外の(X,Y)座標が(メモリ上の隣接した位置に想定外に)絶対に生成されないようにすることを確保する方が遥かに簡単である。これが、ステップ117の主な原理である。
次に図9に移る。図9は、図6A〜図6Cの例におけるような正規化アイ開口データ構造を示す架空の図107を示している。正規化アイデータ構造は、データ構造の要素である正方形のアレイから構成されている。空の正方形は通過済みとしてマークされていない状態を意味し、Xが中に描かれた正方形は通過済みとしてマークされた位置を意味する。アレイの左下隅は原点として解釈され、正方形(即ち、データ構造内の要素)は、単純に(1,1)から始まる一対の整数(x,y)により識別できれば十分であるものと仮定する。指定された要素の値は、空(ヌル)又はマークである。なお、ステップ117ごとに、データ構造107の「周囲」全体に沿って、マークされた位置からなる途切れのない(無傷の)境界が存在することに注意して欲しい。
関連事項として、これもまでもしばしば言ってきたし、これからも言い続けるが、興味のあるデータ構造は全て、XとYによって指定される。場合によっては、指定された位置から、ヒット数や測定にかかったサイクル数などの測定データ値が得られることを期待することがある。普通は、マーク済みであるか、そうでないかの指示を期待する。終了までには、(X,Y)に従って変化する値を有する他のインジケータを作成し、それらをデータ構造に記憶する機会が得られるだろう。それらの手段を実際に異なるデータ構造として実施するか、それとも、もっと大きな構造内の異なる「平面」として実施するかは、プログラミングの都合や設計上の好みの問題である。プログラミング環境によっては、それらの異なる平面は、次元の追加(例えば、単なるX、Yの代わりにX、Y、Zにする)と見なされる場合がある。Zの値は、例えば測定データとマークの有無に関連するハウスキーピングスタッフ(管理要素)との間から選択される。比較的新しい環境では単純に、(X,Y)又は他のポインタによって指定された名前付きアレイを他の名前付き構造とともに構成要素として使用し、全ての名前が連想可能で且つ全てのデータタイプが作業に適してものであるような、適当な全体的配置が構築される。これら方法はいずれも従来のソフトウェア工学の範囲内のものであり、まだ説明していない作業のアルゴリズムの内容を発表するだけでほとんど満足であるが、特定の実施形態の細部は、必要に応じて変更することもできる。従って、実施形態によっては、測定されたデータの記憶、アイ開口の識別、抽出及び正規化、並びにデータ構造の様々な走査のオーバヘッドに関するナビゲーションフラグからなる全ての態様を含む1つの比較的大きなデータ構造を見付ける場合がある。一方、他の実施形態では、別々に作成された2以上の比較的小さなデータ構造を見付ける場合もある。ただし、それらのデータ構造の管理や操作は、アルゴリズム全体の目的の一部に見合うように調整される。そして当然ながら、(X,Y)によって指定された位置の内容をマーク済み(又は、後述する他の状態のうちのいずれか)という意味で解釈する方法の詳細もまた、主にプログラミング上の都合の問題である。
図8の説明によれば、図9に示すような中身が埋められた正規化開口データ構造107は、測定し、識別し、分離し、正規化するという方法と、測定し、正規化し、識別し、分離する方法の2つの方法のうちのいずれかによって得られる。いずれの場合も、図9に示すような正規化開口データ構造を得ることができる。次の図に移り、最適なサンプリングパラメータを見付ける作業において、そのように中身が埋められた正規化アイ開口のデータ構造をどのように使用するかに関する説明を始める。
図10は、選択されたアイ開口内にあるシードを中心として正方形を「拡張」してゆく方法を示している。その目的は、アイ開口の中にちょうど収まる最大の正方形の中心を見付けることである。このアイ開口は乱雑で不規則であり、とにかく、そのサイズや形に関する公式を利用した表現が存在しない(即ち、アイ開口は四角形や楕円形ではない場合があり、対称でない場合もあり、完全に空ではないこともある)。そのため、アイ開口内のあらゆる位置が、最大の正方形の中心になりうるものとして試行される。最小の正方形は試行位置を中心として配置され、次いでその最小の正方形は連続した位置の層によって次々と拡大され、或る層がマークされた位置を含むところまで、拡大が続けられる。各シード位置において作成可能な正方形のサイズはリストに保持され、全てのシードを試した後、そのリストから、検査により最大の正方形を見付けることができる。このリストは、XとYによって指定されたデータ構造の単なる別の態様(「区分」)であってもよい。あるいは、このリストは独立した構造であってもよく、その場合、リストに制限を加え、大きなエントリが見付かったときは最小のエントリを削除することにより、既にリスト上にある正方形よりも大きな正方形の位置に関する情報だけがリストに保持されるようにしてもよい。
付録「A」は、シードを中心として正方形を拡大してゆくための疑似コードを示している。図10は、シード108(例えば図9の正規化アイ開口の左下角にあるもの)が、連続した追加の位置109〜113の層によって次々と囲まれ、マークされた幾つかの位置(114、115)が位置(113)の層に含まれるところまで、それが継続されることを示している。そして、最終的に得られた拡大された正方形のサイズは、シードの上の4つの完全な層のいずれかとして、又は81個の位置として記録され、あるいは、5つの層(121個の位置)から最後に試行した層内の2つのマークされた位置(114、115)を削除した119個のメトリックとして記録される。後者の考え方は、付録「A」の疑似コードから分かる。
図11は、シード108を中心として螺旋(渦巻き)経路を伸ばしてゆく他の方法を示している。この方法では、何らかの開始方向(Xで右へ1ステップ)を仮定し、マークされた位置(115)に最初に遭遇するまで渦巻きを伸ばしてゆく。図11の例の他の部分は図10と同じである。この方法は、付録「B」の疑似コードに示されている。この例では、90個の位置のメトリックが生成される。
2つの方法(図10と図11)を比較すると、図10において得られる拡大された正方形は、比較的段階的で対称性はなく、他の似たような測定結果と比較するのに向いている一方、図11の渦巻き正方形の場合、答えを見付けるのは「速い」が、渦巻きの開始方向を中心とした非対称性の影響を受けやすい。即ち、渦巻きの最初の内側層のうちのどのくらいの面積の部分が、障害物に対する渦巻きのシフトに影響を及ぼすかは、シードと渦巻きの進行を止める「障害物」との間の相対位置によって決まる。図11の例の場合、最初の方向が、右へ1ステップではなくXにおいて左へ1ステップである場合、渦巻きは左下へシフトされ、合計120個の位置が記録される(前の例では90個であったのに対し)。結局のところ、この対称性の問題(関連していない初期選択に影響されやすい)から、渦巻きを伸ばしていく方法よりも、正方形を拡大してゆく方法の方が好ましい。ただし、実際には、結果の違いはあまり重要でないこともある。
次に、少し違う方法について説明する。図12は、図13のフロー図及び付録「C」の疑似コードに関係するものであり、特定のアイ開口内にちょうど収まる最大の円を見付ける方法を示している。そのためにはまず、アイを取り囲む位置のBOUNDARY_LIST、又は、アイ(114,115,120)の内側の位置を取り囲む位置のBOUNDARY_LISTを作成する。BOUNDARY_LISTに記載されるための主な要件は、その位置がマークされた位置であり、且つ、アイ内のマークされていない位置のすぐ隣りの位置(上下左右だけ)であることである。BOUNDARY_LISTにおけるエントリの順序は重要ではない。このプロセスは、図13のフロー図125に、ステップ126及びステップ127として描かれている。ステップ126及びステップ128からなる関連プロセスでは、アイ開口の位置が、INSIDE_LISTに追加される(これも順序は重要でない)。
次に図12を参照すると(例として使用するシード及びアイ開口は図10や図11と同じ)、BOUNDARY_LISTの各要素119に対するシード108の距離が、それぞれ計算される(実際にはdが必要なわけではなく、後で平方根をとる計算を省略できることから、距離の2乗、即ちd2を計算している)。図面では、それらの距離が、様々な「放射状ライン」121〜124として描かれている。それらの放射状ラインのうち、ライン121はかなり長く、シード位置108を中心として描くことが可能な最大の円に属さないことは明らかである(なぜなら、邪魔になる位置を有するもっと短い放射状ラインが幾つか存在し、それらが最大の円の中に存在しているからである)。ライン122はライン121よりも短いが、同じ理由から長すぎる。ライン123は良さそうなラインであるが、それでもまだライン124より長い。ライン124は最も短く、シード位置108を中心として描くことが可能な最大の円に属するものとみなされる。(なお、シード108の周りに間隔を空けて環状に描かれているドットは、ここで検討している円の一部分ではなく、放射状のラインを略記したものであり、ラインが全て描かれていないことを示しているに過ぎない点に注意して欲しい。見てのとおり、図はかなり繁雑である。)フロー図125のステップ129の一部では、この最小半径(124)の長さ(の2乗)とそのシード(位置108と関連付けられたX−Yペア)が、CENTERS_LISTに追加される。次に(これもステップ129の一部として)、別のシードについて試行し、その最大の円をリストに追加する。全てのシードについて試し終わると、シードを中心として描くことが可能な最大の円とそのシードのリストが得られる。全ての条件が等しければ(等しくない場合もある)、最大の円を選択することが好ましい(ステップ130)。
最大円アルゴリズムは、最大の円を選択すれば正規化を省略することが可能であるという興味深い特性を有する。ここで、印加パルス幅のマージンは印加電圧偏位のマージンの3倍であることが、分かっているものと仮定する。これを反映して距離の式を修正すれば、d2を見つけることができ、円の半径(の2乗)の代わりに楕円内の距離(の2乗)を計算することができる。図12を再び参照すると、位置108から位置120まで延びる124のようなラインの長さが、ΔX及びΔYから得られる。正規化された例の場合、データ構造の索引X及びYのそれぞれのカウントは同じ価値を有する。それは単位であり、例えば「1」という整数である。図示のような正規化された例では、ΔXの3単位はΔYの1単位に相当する。従って、次のような規則を使用して、各d2を見付けることができる。
d2=ΔX2+(3ΔY)2
除算によってΔXを減少させるよりは、乗算によってΔYを増加させる方が望ましい。ただし、これは実施上はあまり重要でない細部に過ぎない。なぜなら、どのみち興味があるのはd2の相対値だけであり、その「実際」の値には興味がないからである。他の例として、マージンΔY(電圧)の1.5単位が、マージンΔX(時間)の1単位に相当するものと仮定する。その場合、(相対/絶対)d2求める式は次のようになる。
d2=(3ΔX)2+(2ΔY)2、又は、d2=ΔX2+(ΔY/1.5)2
円(正規化されたもの)又は拡大縮小された楕円(正規化されていないもの)の場合、試行位置とリスト内の位置の間の距離(の2乗)だけを計算し、正方形の場合について述べたように、円又は楕円に「属する」位置は絶対に判定しようとしない。その影響は見苦しいものになるだろう!
「付録C」の疑似コードは、正規化された場合を想定しているが、正規化されていない場合に対応するように簡単に修正することができる。
アイ開口内で探す形として何故円と正方形の両方を開示したのだろうと疑問に思われるかもしれない。その答えとしては、まず上で述べたように、円や正方形の選択が(楕円や四角形とは違い)、正規化に起因するものであったことを思い出して欲しい。正規化処理によって、2本の測定軸の単位が同量の良度指数で表わされたアイ開口が作成されたのである。円や正方形は中心に対して対称であるため、その均等性が得られる。最大の対称形(正方形など)をアイ開口に「機械的に」にあてはめること(データ構造の走査によって)は、両方向のマージンから「最も遠い」中央位置を(計算せずに)見付ける一つの方法である(円のd2の数を計算してはいるが、最大の円の中心を見つける式は存在しない。最大の円の中心は検査により探索される。)アイ開口によっては、円よりも正方形の方がアイ開口にうまく収まることもある。特に、特にアイ開口の形が特異な形であり、その縁が鋭いときは、正方形の方がよい場合もある。一方、円の外側は丸いので、複数の鈍角を有する従来の目の形のアイ開口の一端、又は、中程にうまく収まることがある。また、円は、それに接触する3点が決まれば、その中心と半径が決まるという特性を更に有する。そのため、円は、アイ開口の内側の2つの位置とアイ開口の境界線上の1つの位置に「係合」させるか、又は、異なる境界線上の2つの異なる位置と1つの内部位置に「係合」させることができ、悪くても、理想的でないアイ開口内の内側位置の集合の中からそのような中間位置(又はそれに近い位置)を見付けることができる。従って、正方形と円の問題は、「適切なサイズのレンチ」をどう選択するかという問題であり、八角形や他の多角形のような他の形を使用することもできる。また、全てのアイ開口が図1に示した一般的形のものであるとは限らないことにも注意して欲しい。アイ開口の形には、図2に示したパルス型信号のもののように、他の形状もある。信号に乱れがないにも関わらず、通常ならば端部が開いてしまう領域の境界を補助する規則を使用した場合、それらのアイ開口は複雑な状態になることがある。そのため、完全自動化された最適サンプリングパラメータの探索、又は機械補助による最適サンプリングパラメータの探索において望ましい唯一の手段は、円(の拡大)又は正方形(の拡大)だけであると、前もって断言することができる。
円と正方形の間にはもう1つ微妙な違いがある。上で述べたとおり、再スケーリングは、サプリングパラメータを変化させたときに印加信号の「大きさ」の変化がマージンの減少に与える影響を考慮する有用な方法であり、再スケーリングによれば、状況が変化したときでも、2つのマージンを同様に評価することが可能になる。もちろん基本的には、不具合につながるマージンの損失は、その原因が何であっても、測定の信憑性にとって致命的であるものと考えられる。つまるところ、アヒルにかじられて死ぬことは、銃殺隊から放たれた弾丸によって死ぬのと変わらない。ただし、その体験には質的な違いがある。
円をアイ開口の中に当てはめるとき、その中心は、正方形の中心を動かすときとは異なる規則に従って動かすことができる。「最適」なものが「最も遠く」にあると考えた場合、円と正方形は、両者が同じ価値を持つように正規化された場合でも、一方のマージンの値を他方のマージンの値と交換する規則は異なるものになる。1つの規則は、一方のマージンの大きさはどのような値であっても常に他方のマージンの大きさと同じ価値を持ち、一方のマージンと他方のマージンの交換は連続的なものでなければならない、というものである。他の規則としては、2つのマージンの大きさは別々のものであり、それらの挙動は独立したものでなければならない、というものである。例は妥当なものである。
デカルト座標系における(0,0)から(1,1)までの距離を考えて欲しい。8学年〜9学年の頃、我々は、その答えが2の平方根であり、ピタゴラスの死後、彼に感謝して関連定理に名前が付けられたということを教わった。ただし、その答えが得られるのは、2本の座標軸上の値を同時に動かすことが可能な世界に限られる。ステップ状に(片方づつ)しか動かせない場合は、何ステップ使用しても、距離は2になる。まず(0,1)へ動かし、次いで(1,1)へ動かした場合、その距離は2になる。あるいは、まずX方向に0.01だけ動かし、次いでY方向に0.01だけ動かし、これを100回行った場合、(1,1)への移動に必要となるX方向の変位は、Y方向に必要とされるの変位とは別に必要となる。そしてその移動の際に、XY平面において(0,0)と(1,1)を結ぶ直線上を移動させることはできないので、(1,1)に至るまでに必要となるΔX=1.00とΔY=1.00の合計距離はやはり2.00になる。移動経路は、101個の点において直線に接触することもあるが、常に直線上にあるわけではない。これは、ゼロ以外の任意のステップサイズについて当てはまり、ステップサイズがいくら細かくても当てはまる。これが、連続的な世界と離散的な世界の基本的違いである。従って、(0,0)と(1,0)の間に新たに発見された「直線だと思われる」ラインは、非常に真っ直ぐで細く、その長さが√2であるように見える場合でも、大きく拡大すると、10−6の段を有する長さ2の偽りの直線であることが判明することがある。
ラインに関する上記考察から得られる結論として、最大の円と最大の正方形のどちらが適しているかという問題は、どちらかといえば、データレシーバが内部的に電圧偏位のマージンをパルス幅のマージンにどのように変換するかに関係する。即ち、変換の際に2つのマージンが互いに影響を受ける場合は、円の方が適する場合がある。一方、2つのマージンが互いに無関係である場合は、正方形の方を選択した方がよい場合もある。ここでは、特定の閾値コンパレータ設計の内部動作を想定することは、好ましくない。我々は極端な場合のツールを提供したことに満足している。
当然ながら、同じ大きさの複数の正方形(又は円)が、偶然にできることもある。その場合、それらの中から、勝者となる中心を持つ好ましいものを選択するための何らかの方策が必要となる。その1つの方法は、2つのXの交点を結ぶ線の中間点の正規化された座標(時間,電圧)を見付け、その中間点から最も近い距離にある中心を勝者として選択することである。ただし、全てのアイダイアグラムが2つのXを有するとは限らないことをここで思い出して欲しい。図2の例を再度参照して欲しい。正規化の趣旨として、そのようなラインが存在しない場合(又は、そのようなラインがあるか否かを判定するのが嫌な場合)は、Vswingの推定中間点から最小距離にある電圧の位置、又は、UIの推定中間点から最小距離にある時間的位置を単純に選択することが、非常に望ましい。結局のところ、ジレンマを抱える我々にとって、それらの推奨位置はいずれにしても妥当な選択である。我々は標示のない2つの扉の前に立ち、一方の扉の向こうには巨万の富と永遠の名誉が待っていて、他方の扉の向こうには恐ろしい死が待っているという状況にあるわけではない。我々は必要に応じて、それらの推奨位置のうちの一方を単に無作為に選択することができる。
勝者となりうる中心位置の平均を使用したいと考えるかもしれない。しかしながら、これは危険なやり方である。例えば、アイ開口の形が、砂時計を横に倒したような形に似た形、即ち、左側と右側に膨らみを有する形であるものと仮定する。その場合、2つの膨らみの中心位置の電圧座標はほぼ等しいが、時間座標は全く異なる。2つの位置の座標平均をとった場合、得られる位置は、2つの膨らみを繋ぐ細い首のちょうど中程になる可能性が高い。これは間違いなく最悪の位置である。
一方、平均化が害にならない場合もある。例えば、一群の複数の重なり合う円が1本の垂直線上にその中心を有している場合を仮定する。各円の時間座標は他の円の時間座標に非常に近い位置にあり、その差は半径の非常に僅かな部分に相当するものとする。つまり、アイ開口内に画定された煙突の中を1つの円があたかも上下にスライドしているかのような場合である。一群の複数の正方形が、同じような状態になる場合も想定される。このような状況では、中心座標の平均をとっても恐らく害にはならない。ただし、その場合に得られる結果は、中間にある要素を単純に選択した場合や、X間を結ぶライン上の中間点から最小距離にある中心位置(又は、何らかの他の中心であると思われる位置)を単純に選択した場合に得られる結果とは、大きく異なる可能性がある点に注意して欲しい。いずれにしても、平均をとっても害がない場合を知ることが重要であるかどうかは疑わしい。なぜなら、重要なのは平均化しないことであり、平均化した場合の結果は、もっと適切な方法を使用して得られた結果と大して違わないことが多いからである。また、平均をとった場合、得られる結果は、本来の勝者の選択と全く同じにはならない可能性がある。そして、そのような違う結果を得ることは、実際には愚かなことかも知れない。元の測定値の計算精度や細分性に関する親切な説明があるかもしれない。また、予想外の状況下において自動選択手段が何をするかは、全く不確定である。これらの理由から、また、平均をとる必要はないことから、平均をとることは勧められない。
いずれにしても、最大の円又は正方形が選択された後、その中心は記録され、中心の(X、Y)座標は、元の測定が実施されたときの正規化前の座標系(図6Cのオフセット92及び93を思い出して欲しい)の座標に変換され、ロジックアナライザによるその後の測定における実際の最適なサンプリングパラメータとして、又は、SUT内のレシーバの実際の最適なサンプリングパラメータとして推奨又は使用されることを思い出すであろう。正規化座標を元の座標系に戻す作業は難しくない。正規化された時間良度指数座標にΔTminを掛け、正規化された電圧良度指数座標にΔVminを掛けた後、必要なオフセットを再び加えるだけよい。
ともあれ、次に、アイ開口内の中心位置を見付けるための方法の最後の例に移る。この例は、アイ開口の形を考慮するだけでなく、通過位置の包含を更に考慮したものである。これは、1回に1層を除去するようなものと考えられる。それらの位置は、境界の一部又は含有物の一部としてマークされた位置に接触した状態の正規化アイ開口を表している。各繰り返し(層)の終了時に除去すべき位置が作業リストに蓄積され、通過済みであるものとして再び単純にマークされ、プロセスは繰り返される。このプロセスは、残りの位置がなくなるまで繰り返し実施され、なくなった時点で、作業リスト内の一番最後に除去された位置が怪しいものとなる。この方法は、アイ開口が砂時計型のものである場合や、2つの離れた領域の中心を見付ける場合にも使用可能であることに注意して欲しい。同じ繰り返しの中で両方の位置が見つからない限り、最後に見つかった位置が自動的に勝者になる。この方法の疑似コードは付録「D」に示されている。この方法は、アルゴリズムの終了時に作業リスト内に複数の位置がある場合、二次選択基準を使用する。
図14は、この方法の最初の5回の繰り返しを示す部分的な図である。正方形セルの中の数字は、何回目の繰り返しにおいてそのセルがアイから除去されたのかを示している。図示の例は、図9の右下角の部分を拡大した拡大図である。
付録「D」の方法に関連し、じゃがいもの皮剥きに似た「層除去」の方法もある。この方法によれば、螺旋状の除去位置が生成され、その際、強制選択に遭遇すると分岐され、その後、その分岐した位置から再開(継続)される仕組みが使用される(ツリー形データ構造を走査する場合のように)。この方法はかなり複雑であり、調べてみると、図11及び付録「B」の螺旋状正方形技術において問題となる「無関係状態に対する感度」の問題に関する悪いケースが存在することが分かった。この方法では、最終的に得られる中心位置が、正規化されたアイダイアグラムにおいて「皮剥き」を開始した位置によって変わることがある。この方法は、ちょっとやってみたというだけのものなので、詳しい説明は省略する。
最後に図15を参照する。図15は、本明細書で説明した原理に従って発見された推奨サンプリングパラメータを有する信号の正規化アイダイアグラム133の表示132を示す画面131の例を示している。この図は、興味の或る信号が指定されていて、その信号の元の正規化されていないアイダイアグラム測定が、恐らくデジタルサンプリングオシロスコープやロジックアナライザを用いて、又はアイダイアグラム測定だけを行う専用アイダイアグラムアナライザを用いて実施された場合を仮定している。図15の画面131は、アイダイアグラムを作成した試験装置の一項目に作成され表示されたものである場合もあれば、ロジックアナライザのような試験装置の一項目に作成され表示されたものである場合もあるが、アイダイアグラムを作成した試験装置の一項目ではない。その場合、元の正規化されていないアイダイアグラムデータは、外部ファイルの内容を適当にフォーマットしたものとしてインポートされ、そのアイダイアグラムは、実際にロジックアナライザによって作成されたかのようなものとして扱われる。アイダイアグラムが誰によって作成されたかとか、正規化に使用される情報が誰から提供されたか(ΔTmin及びΔVminが必要である)は、重要な問題ではない。元のアイダイアグラムとそれらのパラメータを有する人であれば誰でも、たとえ図15の画面131を作成する装置の外部にいる人であっても、アイダイアグラムを正規化し、その環境に対する推奨パラメータを作成することができる。
話を続けると、画面131は、本明細書に記載した様々な制御要素を含む。ドロップダウンメニューボックス136は、NORMALIZEDモードとNON−NORMALIZEDモードを含むモードを選択するためのものである。(図示のように)NORMALIZEDモードにおけるアイダイアグラム133は、元のアイダイアグラムデータ、及び、ボックス138、139のMINIMUM SIGNAL AMPLITUDE、MINIMUM SIGNAL PULSE WIDTHに従って正規化されたものである。オペレータは、既知の値又は試行値をボックス138及び139にキー入力することができ、また、ボックス140をチェックして、画面131を作成している装置に対し、その装置の内部値を使用させることができる(例えば、ロジックアナライザの場合、どのチャネルが問題になっているかに従って工場からそれらの値を得る場合がある)。オペレータは、ボックス137のドロップダウンメニューを使用して、推奨サンプリングパラメータを見付ける方法(アルゴリズム)を選択することができる。選択肢には、LARGEST CIRCLE、LARGEST SQUAREとERODE LAYERSがある。図示の例は、図6Aの例に基づく正規化アイダイアグラム133であり、アルゴリズムとしてLARGEST CIRCLEを選択したものである。表示装置には、円134が表示され、その中心が、カーソル135の位置によって示されている。もしアルゴリズムとしてLARGEST SQUAREを使用した場合は、代わりに適当な正方形が表示され、その中心がカーソル135によって示される。
サンプリング位置及び閾値の値(発見された推奨サンプリングパラメータ)はそれぞれ、ボックス140及び141に表示される。ボックス136のドロップダウンメニューにもしMANUALモードがあって、それが選択された場合、ユーザは、試行サンプリングパラメータが正規化アイダイアグラム133の表示画面内に入るか否かを単に確認するだけで、その試行サンプリングパラメータに関する自分の考えをキー入力することができる。カーソル135は、ボックス141及び142に入力された値に従って移動される。逆に、ユーザは、アイダイアグラム内の試行位置までカーソル135をドラッグすることにより、ボックス141及び142の中に入力された座標を見ることができる。
図6Aの例とそれに対応する結果(図6B以降)を考えれば、図6Aのアイ開口に含まれるヒット86は余りにも発生頻度が低く、考慮に値しないため、廃棄される。これは、ボックス143に密度値を設定することによって達成される。値をゼロに設定すれば、全てのヒットをアイダイアグラムの一部として保持することも可能である。
ボックス144は、正規化アイダイアグラム133の表示のスケールを変更し、正規化アイダイアグラム133が表示領域の中にうまく収まるようにするためのものである。
ドロップダウンメニューボックス136は、選択肢としてSELECT EYE OPENINGを有する。ユーザはこれを選択し、興味のあるアイ開口の領域内に画面ポインタ(図示せず)を位置決めしてクリックすることにより、アイ開口識別選択プロセス(図3)に対し、その領域に対する処理を補助又は強制することができる。
最後に、画面131は、デジタルサンプリングオシロスコープやロジックアナライザのようなデジタル信号の試験に関連するデータ分析装置(試験装置)の内部で動作し何らかの項目を制御する組み込みシステムの制御に基づいて作成されたGUI(グラフィカルユーザインタフェース)である。ユーザは少なくともキーボードを使用することができ、画面上のポインタを制御するポインティングデバイスがあるものと仮定している。「METHOD AND APPARATUS FOR PERFORMING EYE DIAGRAM MEASUREMENTS」のような援用特許文献によっては、データ分析装置がロジックアナライザである場合の関連ハードウェアブロック図を記載しているものもある。ただし、本明細書では、簡略化の目的で省略している。
95 横座標
96 縦座標
97、100、101、102、103、104、105、106 セル
98、99 サンプリング軸
96 縦座標
97、100、101、102、103、104、105、106 セル
98、99 サンプリング軸
Claims (17)
- ワーク信号を印加するデータレシーバの性能特性を反映するように、ワーク信号のアイダイアグラムデータを正規化する方法であって、
(a)順位値に時間増分を掛けたものとしてそれぞれ時間を表す連続した順位値の第1の集合によって索引付けされた第1の次元と、順位値に電圧増分を掛けたものとしてそれぞれ電圧を表す連続した順位値の第2の集合によって索引付けされた第2の次元とを有する第1のデータ構造(87、88)に、アイダイアグラムデータを記憶するステップと、
(b)前記第1の集合内の各順位値に、前記データレシーバに関連する最小持続時間を前記第1の集合内の各順位値に関連する時間に分割することにより求められた各指数を関連付けることによって、前記第1の次元を第1の良度指数として再スケーリングするステップと、
(c)前記第2の集合内の各順位値に、前記データレシーバに関連する最小電圧偏移を前記第2の集合内の各順位値に関連する電圧に分割することにより求められた各指数を関連付けることによって、前記第2の次元を第2の良度指数として再スケーリングするステップと、
(d)前記第1のデータ構造に記憶されたデータを補間し、前記第1の良度指数及び前記第2の良度指数によってそれぞれ索引付けされた第2のデータ構造(89、91)の第3の次元及び第4の次元における連続した離散的段階に対応する値を生成することにより前記第1のデータ構造内のデータを再サンプリング(98、99)し、前記第3の次元における前記第1の良度指数の一単位当たりの離散的段階の数が、前記第4の次元における前記第2の良度指数の一単位当たりの離散的段階の数と同じになるようにするステップと、
(e)ステップ(d)において補間され再サンプリングされた値を前記第2のデータ構造に記憶するステップと
からなる方法。 - 前記アイダイアグラムデータは、アイダイアグラム全体を表すものである、請求項1に記載の方法。
- 前記アイダイアグラムデータは、アイダイアグラム全体のうちの特定部分を表すものである、請求項1に記載の方法。
- 前記特定部分はアイ開口である、請求項3に記載の方法。
- データレシーバに印加されるデジタルワーク信号の測定のサンプリングパラメータを選択する方法であって、
(a)各値が時間を表す連続した順位値の第1の集合によって索引付けされた第1の次元と、各値が電圧を表す連続した順位値の第2の集合によって索引付けされた第2の次元とを有する第1のデータ構造(87、88)に、デジタルワーク信号のアイダイアグラムを記憶するステップと、
(b)ステップ(a)において記憶されたアイダイアグラムの中のアイ開口(25)を識別するステップと、
(c)ステップ(b)において識別された少なくとも1つのアイ開口を正規化(図6C、図7、図8)し、前記データレシーバに関連する最小信号持続時間に対するワーク信号の実際の持続時間の時間良度指数に関する横座標と、前記データレシーバに関連する最小信号偏移に対するワーク信号の実際の偏移の電圧良度指数に関する縦座標とを有する正規化アイダイアグラムデータを生成するステップと、
(d)時間良度指数値をそれぞれ表す連続した順位値の第3の集合によって索引付けされた第3の次元と、電圧良度指数値をそれぞれ表す連続した順位値の第4の集合によって索引付けされた第4の次元とを有する第2のデータ構造(89、91)に、ステップ(c)の正規化アイダイアグラムデータを記憶するステップと、
(e)ステップ(d)の第2のデータ構造に記憶された前記正規化アイ開口の中の指定可能な位置を走査し、前記正規化アイ開口の中の正規化座標の位置(108)をアルゴリズムに従って見付けるステップと、
(f)ステップ(e)において見付かった正規化座標を、前記第1の次元によって表される時間、及び、前記第2の次元によってあらわされる電圧によって表されるサンプリングパラメータに変換するステップと
からなる方法。 - ステップ(b)でアイ開口が識別される前に、ステップ(a)において、アイダイアグラム全体のアイダイアグラムデータが記憶される、請求項5に記載の方法。
- ステップ(b)はステップ(c)よりも先に実施される、請求項5に記載の方法。
- 前記アルゴリズムは、縦座標に関して左右対称で且つ横座標に関して上下対称であって、更に特定の基準に従って前記正規化アイ開口の中にちょうど収まるような、最大の特定形状の中心の正規化座標を見付けるためのアルゴリズムである、請求項5に記載の方法。
- 前記特定形状は正方形である、請求項8に記載の方法。
- 前記特定形状は円形である、請求項8に記載の方法。
- 前記特定形状は最も外側の隣接位置の層によって拡大され、前記特定の基準は、ステップ(b)において識別されたアイ開口の部分である位置だけを含む完全な層における位置の数をカウントすることからなる、請求項8に記載の方法。
- 前記特定形状は最も外側の隣接位置の層によって拡大され、前記特定の基準は、ステップ(b)において識別されたアイ開口の部分の位置だけを有する完全な層における位置の数に、前記アイ開口の部分ではない少なくとも1つの位置を含む第1の層におけるアイ開口の部分である位置の数を加えた数をカウントすることからなる、請求項8に記載の方法。
- 前記アルゴリズムは、前記アイ開口から層を除去できなくなるまで前記アイ開口から層を除去するステップを含み、該層は、前記アイ開口の境界に位置する任意の位置、又は、前に除去された層の隣りにある位置からなる、請求項5に記載の方法。
- 前記データレシーバはロジックアナライザの一部である、請求項5に記載の方法。
- デジタル信号のアイダイアグラムのアイ開口の中にちょうど収まる最大の円形状の中心を見付ける方法(図12、図13)であって、
(a)各値が時間を表す連続した順位値の第1の集合によって索引付けされた第1の次元(95)と、各値が電圧を表す連続した順位値の第2の集合によって索引付けされた第2の次元(96)とを有する第1のデータ構造(87、88)に、デジタルワーク信号のアイダイアグラムを記憶し、前記デジタル信号が発生しなかった時間と電圧の組み合わせに対応する位置にヌルの指示が記憶され、それ以外の位置にヌル以外の指示が記憶されるようにするステップと、
(b)前記第1のデータ構造を走査してアイ開口を抽出し、そのアイ開口を表現を第2のデータ構造(107)に記憶するステップと、
(c)第2のデータ構造内においてヌルを示すアイ開口内の位置に隣接しているが、それ自体はヌル以外を示す位置を境界位置(119)として識別するステップと、
(d)第2のデータ構造に記憶されたアイ開口内の各位置(108)について、各位置からステップ(c)で境界位置として識別されたあらゆる位置までの距離の指示(121〜124)を計算するステップと、
(e)距離の指示を計算するためのステップ(d)のアイ開口内の各位置について、計算された距離の指示の中から最小のものを判定するステップ(129)と、
(f)ステップ(e)で判定された最小の距離の指示の中から、最大のものを選択するステップ(130)と、
(g)ステップ(f)で判定された最大の距離に関連する位置を前記アイ開口の中にちょうど収まる最大の円形状の中心として選択するステップと
からなる方法。 - ステップ(b)で抽出される前記アイダイアグラム開口は、前記第2のデータ構造に記憶される前に正規化され、前記円形状は円である、請求項15に記載の方法。
- ステップ(b)で抽出される前記アイダイアグラム開口は、前記第2のデータ構造に記憶される前に正規化され、前記円形状は楕円であり、ステップ(d)で計算される距離の指示の横座標及び縦座標は、それらが前記計算に使用される前に、最小パルス幅と実際のパルス持続時間の比、及び、最小電圧偏移と実際の電圧偏移の比を反映するようにスケーリングされる、請求項15に記載の方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/066,673 US7386041B2 (en) | 2005-02-24 | 2005-02-24 | Method for normalization of an eye diagram and selection of sampling parameters for a receiver |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006234821A true JP2006234821A (ja) | 2006-09-07 |
JP2006234821A5 JP2006234821A5 (ja) | 2009-04-09 |
Family
ID=36848260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006048307A Pending JP2006234821A (ja) | 2005-02-24 | 2006-02-24 | アイダイアグラムの正規化とレシーバのサンプリングパラメータの選択の方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7386041B2 (ja) |
JP (1) | JP2006234821A (ja) |
DE (1) | DE102005053000A1 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8345736B2 (en) | 2009-07-01 | 2013-01-01 | Shinko Electric Industries Co., Ltd. | Sampling point detection circuit, transmission system, pre-emphasis intensity adjustment method, logic analyzer, and evaluation method for evaluating transmission path |
KR101288315B1 (ko) | 2011-12-30 | 2013-07-23 | (주) 와이팜 | 아이-다이어그램용 입력 신호 결정방법 |
JP2017142090A (ja) * | 2016-02-08 | 2017-08-17 | アンリツ株式会社 | アイダイアグラム表示装置およびアイダイアグラム表示方法 |
KR20170109228A (ko) * | 2015-01-19 | 2017-09-28 | 가부시키가이샤 에바라 세이사꾸쇼 | 버프 연마 처리에 있어서의 연마량의 시뮬레이션 방법 및 버프 연마 장치 |
JP2019201312A (ja) * | 2018-05-16 | 2019-11-21 | アンリツ株式会社 | 誤り率測定装置及び該装置のパラメータ探索方法 |
JP2021111031A (ja) * | 2020-01-07 | 2021-08-02 | 富士通株式会社 | キャリブレーション方法及び情報処理装置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8135563B2 (en) * | 2008-09-30 | 2012-03-13 | Texas Instruments Incorporated | Apparatus and method for evaluating the performance of systems having time-varying output characteristics |
US8191033B1 (en) * | 2008-11-20 | 2012-05-29 | Marvell International Ltd. | In situ clock jitter measurement |
DE102009005274A1 (de) | 2009-01-20 | 2010-07-22 | Schiff, Andreas, Dr.-Ing. | Verfahren zur Bewertung der Signalqualität in einem Netzwerk mit Manchester-codierten Signalen mit Hilfe eines Augendiagramms |
US8995514B1 (en) * | 2012-09-28 | 2015-03-31 | Xilinx, Inc. | Methods of and circuits for analyzing a phase of a clock signal for receiving data |
US9778678B2 (en) * | 2015-08-19 | 2017-10-03 | International Business Machines Corporation | Method and apparatus for clocked data eye measurement |
US10216688B2 (en) * | 2016-05-27 | 2019-02-26 | Avago Technologies International Sales Pte. Limited | Systems and methods for accurate transfer margin communication |
CN107864104B (zh) | 2016-09-21 | 2020-07-10 | 联发科技股份有限公司 | 数字信号的处理方法及电子设备 |
KR20220144091A (ko) | 2021-04-19 | 2022-10-26 | 삼성전자주식회사 | 호스트 장치 및 메모리 장치의 구동 방법, 상기 호스트 장치와 메모리 장치를 포함하는 차량 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03287081A (ja) * | 1990-04-04 | 1991-12-17 | Anritsu Corp | ディジタル信号解析装置 |
JPH06289079A (ja) * | 1993-04-02 | 1994-10-18 | Nec Corp | 波形観測装置 |
JPH08265375A (ja) * | 1995-03-20 | 1996-10-11 | Fujitsu Ltd | 識別回路 |
JP2001144819A (ja) * | 1999-11-12 | 2001-05-25 | Anritsu Corp | ディジタル信号の品質評価装置 |
WO2004032049A2 (en) * | 2002-09-30 | 2004-04-15 | Lecroy Corporation | Method and apparatus for analyzing serial data streams |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5751766A (en) * | 1995-04-27 | 1998-05-12 | Applied Signal Technology, Inc. | Non-invasive digital communications test system |
US6799127B1 (en) | 2000-08-08 | 2004-09-28 | Agilent Technologies, Inc. | Signal transition and stable regions diagram for positioning a logic analyzer sample |
US6748338B2 (en) * | 2001-11-21 | 2004-06-08 | Winbond Electronics Corporation | Method and apparatus for testing eye diagram characteristics |
US7154944B2 (en) * | 2002-10-31 | 2006-12-26 | Agilent Technologies, Inc. | Mask compliance testing using bit error ratio measurements |
-
2005
- 2005-02-24 US US11/066,673 patent/US7386041B2/en not_active Expired - Fee Related
- 2005-11-07 DE DE102005053000A patent/DE102005053000A1/de not_active Ceased
-
2006
- 2006-02-24 JP JP2006048307A patent/JP2006234821A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03287081A (ja) * | 1990-04-04 | 1991-12-17 | Anritsu Corp | ディジタル信号解析装置 |
JPH06289079A (ja) * | 1993-04-02 | 1994-10-18 | Nec Corp | 波形観測装置 |
JPH08265375A (ja) * | 1995-03-20 | 1996-10-11 | Fujitsu Ltd | 識別回路 |
JP2001144819A (ja) * | 1999-11-12 | 2001-05-25 | Anritsu Corp | ディジタル信号の品質評価装置 |
WO2004032049A2 (en) * | 2002-09-30 | 2004-04-15 | Lecroy Corporation | Method and apparatus for analyzing serial data streams |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8345736B2 (en) | 2009-07-01 | 2013-01-01 | Shinko Electric Industries Co., Ltd. | Sampling point detection circuit, transmission system, pre-emphasis intensity adjustment method, logic analyzer, and evaluation method for evaluating transmission path |
KR101288315B1 (ko) | 2011-12-30 | 2013-07-23 | (주) 와이팜 | 아이-다이어그램용 입력 신호 결정방법 |
KR20170109228A (ko) * | 2015-01-19 | 2017-09-28 | 가부시키가이샤 에바라 세이사꾸쇼 | 버프 연마 처리에 있어서의 연마량의 시뮬레이션 방법 및 버프 연마 장치 |
KR102218204B1 (ko) | 2015-01-19 | 2021-02-23 | 가부시키가이샤 에바라 세이사꾸쇼 | 버프 연마 처리에 있어서의 연마량의 시뮬레이션 방법 및 버프 연마 장치 |
JP2017142090A (ja) * | 2016-02-08 | 2017-08-17 | アンリツ株式会社 | アイダイアグラム表示装置およびアイダイアグラム表示方法 |
JP2019201312A (ja) * | 2018-05-16 | 2019-11-21 | アンリツ株式会社 | 誤り率測定装置及び該装置のパラメータ探索方法 |
JP2021111031A (ja) * | 2020-01-07 | 2021-08-02 | 富士通株式会社 | キャリブレーション方法及び情報処理装置 |
JP7392477B2 (ja) | 2020-01-07 | 2023-12-06 | 富士通株式会社 | キャリブレーション方法及び情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
DE102005053000A1 (de) | 2006-09-07 |
US20060190200A1 (en) | 2006-08-24 |
US7386041B2 (en) | 2008-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006234821A (ja) | アイダイアグラムの正規化とレシーバのサンプリングパラメータの選択の方法 | |
US7411999B2 (en) | Method for selecting and extracting an eye diagram opening for subsequent processing | |
KR101004493B1 (ko) | 사용자 인터페이스 구성요소를 가시화하기 위한 컴퓨터-구현된 방법, 사용자 인터페이스 오브젝트를 가시화하는 방법, 컴퓨터-판독가능 매체, 및 컴퓨터 시스템 | |
Colquhoun et al. | Fitting and statistical analysis of single-channel records | |
JP3560082B2 (ja) | コンピュータ化された作図方法 | |
Hitchcock et al. | Reichenbach’s common cause principle | |
US20210390032A1 (en) | Systems, methods and computer readable medium for visual software development quality assurance | |
US6995553B1 (en) | User interface for operating upon an eye diagram to find optimum sampling parameters for a receiver | |
US20070282542A1 (en) | Composite trigger for a digital sampling oscilloscope | |
US8055464B2 (en) | Method of processing waveform data from one or more channels using a test and measurement instrument | |
GB2317247A (en) | Displaying buffer accesses | |
US6760676B2 (en) | On-screen tools for eye diagram measurements | |
CN106443802A (zh) | 一种基于形态学滤波的电成像储层缝洞体的定量表征方法及系统 | |
JP2006308583A (ja) | グループ内のチャネルに共通のしきい値を有する該グループにデータ受信機が属するロジックアナライザのサンプリングパラメータを選択するためのユーザインターフェース | |
US20040125139A1 (en) | Logic analyzer with mixed textual and graphical trigger specification | |
CN112035376B (zh) | 一种生成覆盖率报告的方法、装置、设备及存储介质 | |
CN103713170A (zh) | 测试与测量仪器中罕见异常的触发 | |
US11237190B2 (en) | Automatic detection of logical path segments in a measurement population | |
JP2011138183A (ja) | 検証支援プログラム、および検証支援装置 | |
US6615369B1 (en) | Logic analyzer with trigger specification defined by waveform exemplar | |
Magueijo et al. | Case for testing modified Newtonian dynamics using LISA pathfinder | |
US9843402B1 (en) | Noise analysis to reveal jitter and crosstalk's effect on signal integrity | |
Wu et al. | The Douglas-peucker algorithm: sufficiency conditions for non-self-intersections | |
US6804633B2 (en) | Fast eye diagram analyzer uses nearest neighbor transverse to quickly discover basic eye diagrams | |
CN111578976B (zh) | 交互式仪器测量分析 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090224 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090224 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120508 |