a.構成例
以下、本発明に係る光ディスク検査装置の一実施形態について図面を参照しながら説明する。図1は、CD,DVD,ブルーレイディスク(Blu-Ray Disk)などの光ディスクDKを検査する光ディスク検査装置の構成例を示す概略ブロック図である。光ディスク検査装置は、光ディスクDKの記録層に所定の検査用信号を記録し、同記録された検査用信号を再生して光ディスクDKの良否判定を行う装置である。
この光ディスクの検査装置は、光ディスクDKが載置固定されるターンテーブル11を備えている。ターンテーブル11は、図示しないスピンドルモータによって回転制御されて、光ディスクDK上に形成される光スポットが光ディスクDKに対して線速度一定または角速度一定で回転するようになっている。この光ディスクDKに対向する側には、レーザ光を集光して照射し、光スポットを光ディスクDK上に形成する光ピックアップ装置12が配置される。また、光ディスクDK上に形成される光スポットは、スピンドルモータまたは光ピックアップ装置12を図示しないフィードモータによって光ディスクDKの径方向に移動させることにより光ディスクDKに対して径方向に移動し、これにより、光スポットは光ディスクDK上を螺旋状に移動する。なお、これらのスピンドルモータおよびフィードモータの制御については本発明に直接関係しないので、その説明は省略する。
光ピックアップ装置12は、光ディスクDKに信号を記録し、または光ディスクDKに記録された信号を再生する光学装置であり、レーザ光源、コリメーティングレンズ、ビームスプリッタ、1/4波長板、対物レンズ、集光レンズ、シリンドリカルレンズ、4分割フォトディテクタ、フォーカスアクチュエータ、トラッキングアクチュエータなどを備えている。そして、この光ピックアップ装置12は、レーザ光源からのレーザ光を対物レンズで集光して光ディスクDKに照射して光ディスクDK上に光スポットを形成し、同光スポットからの反射光を4分割フォトディテクタで受光する。また、光ピックアップ装置12は、後述するジッタ計算回路21からパルス幅に関するジッタを表す評価用データを入力して、後述するコンピュータ30の指令により、チルト調整、レーザ光強度の調整などを行う機能も備えている。
4分割フォトディテクタは、分割線で区切られた4つの受光素子からなり、受光した反射光の光量に比例した受光信号を増幅回路13に出力する。なお、4分割フォトディテクタから出力される受光信号は、フォーカスサーボ制御回路、トラッキングサーボ制御回路、フォーカスアクチュエータおよびトラッキングアクチュエータによる対物レンズのフォーカスサーボ制御およびトラッキングサーボ制御に用いられる。この対物レンズのフォーカスサーボ制御およびトラッキングサーボ制御は、本発明に直接関係しないので、詳しい説明は省略する。
増幅回路13は、4分割フォトディテクタから出力される受光信号を増幅して、再生信号生成回路14に出力する。再生信号生成回路14は、4分割フォトディテクタからの4つの受光信号を全て合算した再生アナログ信号(いわゆる、サム信号)を生成してA/D変換器15に出力する。また、再生信号生成回路14は、後述するジッタ計算回路21からパルス幅に関するジッタを表す評価用データを入力して、後述するコンピュータ30からの指令により、再生アナログ信号のイコライズ特性を調整する機能も備えている。このA/D変換器15には、予め決められた固定周波数(例えば、200MHz)のクロック信号を出力するクロック信号発生回路16が接続されている。A/D変換器15は、クロック信号発生回路16からのクロック信号の周期Tiごとに、再生信号生成回路14から供給される再生アナログ信号をサンプリングし、このサンプリングした再生アナログ信号の瞬時値をA/D変換する。そして、A/D変換器15は、前記A/D変換した瞬時値をサンプリングデータSDとして、クロック信号発生回路16からのクロック信号の周期Tiごとに、粗パルス幅計算回路17及び補正パルス幅計算回路18にそれぞれ出力する。
粗パルス幅計算回路17は、図2に示すように、2値化回路17a及びパルス幅計算回路17bからなる。これらの2値化回路17a及びパルス幅計算回路17bは、入力されたデータを一時的にラッチするラッチ回路を備えているとともに、計算途中のデータ及び計算結果を表すデータを記憶する内部メモリを備えており、FPGA(Field Programmable Gate Array)のように、プログラム処理が可能な回路により構成されている。2値化回路17aは、図4に示す2値化プログラムを実行することにより、入力したサンプリングデータSDをスライスレベルSLと比較して、ディジタルデータ値がスライスレベルSL以上であるとき“1”で表し、ディジタルデータ値がスライスレベルSL未満であるとき“0”で表す正負データHLをパルス幅計算回路17bに出力する。なお、スライスレベルSLは、詳しくは後述するスライスレベル計算回路22から供給されるもので、正側パルスと負側パルスを判別するためのサンプリングデータSDの基準中間値を示すものである。パルス幅計算回路17bは、図5に示す粗パルス幅計算プログラムの実行により、入力した正負データHLが“1”である時間を計算することにより正側の粗パルス幅Tbを計算するとともに、入力した正負データHLが“0”である時間を計算することにより負側の粗パルス幅Tbを計算する。そして、パルス幅計算回路17bは、これらの計算した粗パルス幅Tbに、正側及び負側のパルス幅であることを表す正負データHLを付加して正規パルス幅計算回路19に出力する。
補正パルス幅計算回路18は、図3に示すように、クロス前後データ抽出回路18a、データ変換回路18b及び補正時間計算回路18cからなる。これらのクロス前後データ抽出回路18a、データ変換回路18b及び補正時間計算回路18cも、入力したデータを一時的にラッチするラッチ回路を備えるとともに、計算途中のデータ及び計算結果を表すデータを記憶する内部メモリを備えており、FPGAのようにプログラム処理が可能な回路により構成されている。クロス前後データ抽出回路18aは、図6に示すクロス前後データ抽出プログラムの実行により、A/D変換器15から入力したサンプリングデータSDがスライスレベルSLを跨ぐ一対のサンプリングデータSDを抽出し、各サンプリングデータSDとスライスレベルSLとの差を表す差データV1,V2を計算してデータ変換回路18bに出力する。データ変換回路18bは、図示しないプログラム処理により、前記入力した差データV1,V2の比率を保ったまま、少数ビットの差データV1,V2に変換して、補正時間計算回路18cに出力する。なお、この変換された差データV1,V2以外のデータは、多数ビット(例えば、32ビット)の2値化データである。補正時間計算回路18cは、サンプリングデータSDがスライスレベルSLとクロスする際の補正時間Tc(図12,13参照)を計算して、正規パルス幅計算回路19に出力する。
正規パルス幅計算回路19も、入力したデータを一時的に記憶するラッチ回路を備えるとともに、計算途中のデータ及び計算結果を表すデータを記憶する内部メモリを備えており、FPGAのようにプログラム処理が可能な回路により構成されている。そして、正規パルス幅計算回路19は、図8に示す正規パルス幅計算プログラムの実行により、粗パルス幅計算回路17からの粗パルス幅データTb及び補正パルス幅計算回路18からの補正時間Tcを用いて、正規パルス幅データTsを計算して単位信号長計算回路20、ジッタ計算回路21及びスライスレベル計算回路22に出力する。
単位信号長計算回路20、ジッタ計算回路21及びスライスレベル計算回路22も、入力したデータを一時的に記憶するラッチ回路を備えているとともに、計算途中のデータ及び計算結果を表すデータを記憶する内部メモリを備えており、FPGAのようにプログラム処理が可能な回路により構成されている。そして、単位信号長計算回路20は、図9に示す単位信号長計算プログラムの実行により、正規パルス幅データTsを用いて、単位信号長1Tに相当する単位時間Taveであって、時間変化する単位時間Taveを計算してジッタ計算回路21に出力する。ジッタ計算回路21は、図10に示すジッタ計算プログラムの実行により、正規パルス幅データTs及び単位時間Taveを用いて、ジッタ(周期方向の理論時間からのずれ又はノイズ)を表す評価用データを計算して、光ピックアップ装置12、再生信号生成回路14及びコンピュータ30に出力する。スライスレベル計算回路22は、図11に示すスライスレベル計算プログラムの実行により、正規パルス幅データTsを用いて、時間変化するスライスレベルSLを計算して、粗パルス幅計算回路17の2値価回路17a、及び補正パルス幅計算回路18のクロス前後データ抽出回路18aに出力する。
コンピュータ30は、入力装置31からの指示により、前述した各種回路を制御する。コンピュータ30には、入力装置31及び表示装置32も接続されている。入力装置31は、作業者によって操作される操作スイッチ、マウスなど操作子群からなり、作業者による指示をコンピュータ30に入力する。表示装置32は、文字、図形など表示する表示器からなり、その表示状態がコンピュータ30により制御される。
b.パルス列信号の取り出し動作
次に、上記のように構成した実施形態のパルス列信号の取り出し動作について説明する。まず、作業者は図示しない電源スイッチの投入により、コンピュータ30を含む光ディスク検査装置の各種回路の作動を開始させるとともに、検査対象となる光ディスクDK(本実施形態ではDVD、CDなど)をターンテーブル11に載置固定して入力装置31を操作することにより光ディスクDKの検査開始をコンピュータ30に指示する。コンピュータ30は、この検査開始指示に応答して、各種回路に検査開始を指示し、各種回路は検査のために作動を開始する。この場合、検査対象となる光ディスクDKの記録領域の一部には、所定の変調規則に従った複数種類のパルス幅をもつ一連のディジタル信号からなる光ディスクDKの検査用信号が予め記録されている。
この光ディスクDKの検査開始の指示により、光ピックアップ装置12からレーザ光が照射されて光ディスクDK上に光スポットが形成され、同光スポットからの反射光による受光信号が光ピックアップ装置12から増幅回路13を介して再生信号生成回路14に出力される。再生信号生成回路14は、この受光信号から再生アナログ信号を生成して、A/D変換器15に出力する。図12は再生信号生成回路14から出力される再生アナログ信号の一部を示している。A/D変換器15は、クロック信号発生回路16からのクロック信号の周期(約200MHzに相当する周期)で、再生アナログ信号の瞬時値をA/D変換してサンプリングデータSDとし粗パルス幅計算回路17及び補正パルス幅計算回路18に繰り返し出力する。このとき、光スポットは、ターンテーブル11の回転およびターンテーブル11(または光ピックアップ装置12)の光ディスクDKの径方向への移動により、光ディスクDKに対して相対的に線速度一定で螺旋状に光ディスクDK上を移動する。
c.粗パルス幅計算動作
次に、粗パルス幅の計算動作について説明する。粗パルス幅計算回路17の2値化回路17aは、前記光ディスクDKの検査開始の指示に応答して、図4の2値化プログラムの実行をステップS10にて開始する。この2値化プログラムの実行開始後、2値化回路17aは、ステップS12にてA/D変換器15からのサンプリングデータSDの入力を待つ。サンプリングデータSDが入力されると、2値化回路17aは、ステップS14にて、入力されたサンプリングデータSDが、スライスレベル計算回路22から供給されて一時的に記憶されているスライスレベルSL以上であるかを判定する。サンプリングデータSDがスライスレベルSL以上であれば、2値化回路17aは、ステップS14にて「Yes」と判定して、ステップS16にて正負データHLを“1”に設定してパルス幅計算回路17bに出力する。サンプリングデータSDがスライスレベルSL未満であれば、2値化回路17aは、ステップS14にて「No」と判定して、ステップS18にて正負データHLを“0”に設定してパルス幅計算回路17bに出力する。
前記ステップS16,S18の処理後、2値化回路17aは、ステップS20にて停止指令があったかを判定する。作業者が入力装置31を操作して検査終了を指示しない限り、コンピュータ30からは停止指令が入力されない。したがって、この状態では、2値化回路17aは、ステップS20にて「No」と判定して、ステップS12に戻って、A/D変換器15からの次のサンプリングデータSDの入力を待つ。これらのステップS12〜S20の循環処理は、作業者による検査終了の指示まで続行する。このステップS12〜S20の循環処理中、サンプリングデータSDがスライスレベルSL以上であるか否かを表す正負データHLが、図12に示すように、サンプリングデータSDのサンプリングの周期Tiごと(クロック信号発生回路16によるクロック信号の周期Tiごと)に、パルス幅計算回路17bに出力され続ける。そして、作業者によって検査終了が指示されて、コンピュータ30から停止指令信号が入力した時点で、2値化回路17aは、ステップS20にて「Yes」と判定してステップS22にてこの2値化プログラムの実行を終了する。
パルス幅計算回路17bは、前記光ディスクDKの検査開始の指示に応答して、図5の粗パルス幅計算プログラムの実行をステップS30にて開始する。この粗パルス幅計算プログラムの実行開始後、パルス幅計算回路17bは、ステップS32にてパルス幅の計算に用いる変数nを「0」に設定して、ステップS34にて2値化回路17aからの正負データHLの入力を待つ。正負データHLが入力されると、パルス幅計算回路17bは、ステップS36にて、正負データHLが“0”であるかを判定する。正負データHLが“0”であれば、パルス幅計算回路17bは、ステップS36にて「Yes」と判定して、ステップS38にて2値化回路17bからの次の正負データHLの入力を待つ。そして、次の正負データHLが入力されると、パルス幅計算回路17bは、ステップS40にて、正負データHLが“1”であるかを判定する。正負データHLが“0”に保たれていれば、パルス幅計算回路17bは、ステップS40にて「No」と判定し続けて、ステップS38,S40の循環処理を繰り返す。このステップS38,S40の循環処理中、2値化回路17aから“1”を表す正負データHLが入力されると、パルス幅計算回路17bは、ステップS40にて「Yes」と判定して、プログラムをステップS42以降に進める。
ステップS42においては、パルス幅計算回路17bは、変数nに「1」を加算する。このステップS42の最初の処理では、変数nは「1」となる。前記ステップS42の処理後、パルス幅計算回路17bは、ステップS44にて、2値化回路17aからの次の正負データHLの入力を待つ。次の正負データHLが入力されると、パルス幅計算回路17bは、ステップS46にて前記入力された正負データHLが“0”であるかを判定する。入力された正負データHLが“1”であれば、パルス幅計算回路17bは、ステップS46にて「No」と判定して、ステップS48にて停止指令があったかを判定する。この場合も、作業者が入力装置31を操作して検査終了を指示しない限り、コンピュータ30からは停止指令が入力されず、パルス幅計算回路17bは、ステップS48にて「No」と判定して、ステップS42に戻る。ステップS42においては、パルス幅計算回路17bは、変数nに「1」を加算する。そして、パルス幅計算回路17bは、2値化回路17aからの次の正負データHLの入力を待つ。これらのステップS42〜S48の循環処理は、“0”を表す正負データHLが入力されるまで繰り返し行われ、“1”を表す正負データHLが入力されるごとに、変数nは「1」ずつ増加する。この変数nのカウントアップが、正側パルスのパルス幅を検出することに相当する。
前記ステップS42〜S48の循環処理中、2値化回路17aから“0”を表す正負データHLが入力されると、パルス幅計算回路17bは、ステップS46にて「Yes」と判定して、ステップS50に進む。ステップS50においては、パルス幅計算回路17bは、前記ステップS42〜S48の循環処理によりカウントアップされた変数nを正負データHLの出力周期Ti(サンプリングデータSDのサンプリング周期及びクロック信号の周期Ti)に乗算することにより、図12(A)に示すような正側パルスの粗パルス幅データTb(=n・Ti)を計算する。そして、パルス幅計算回路17bは、前記ステップS50にて、この計算した粗パルス幅データTbに、正側パルスであることを表す正負データHL(=“1”)を付加して正規パルス幅計算回路19に出力する。
前記ステップS50の処理後、パルス幅計算回路17bは、ステップS52にて変数nを「0」に戻して、ステップS58〜S64の循環処理を続行する。このステップS58〜S64の循環処理は、負側パルスの粗パルス幅データTbを検出するための処理であり、ステップS58、S60,S64の処理は前述したステップS42、S44,S48の処理と同じであるが、ステップS62の判定処理は、前記ステップS46の判定処理とは異なり、2値化回路17aから入力した正負データHLが“0”から“1”に変化したことを判定する。この場合、2値化回路17aからの正負データHLが“0”である限り、ステップS62における「No」との判定のためにステップS58〜S64の循環処理が繰り返されて、変数nがカウントアップされる。そして、前記正負データHLが“1”に変化した時点で、パルス幅計算回路17bは、ステップS66にて、前記ステップS50の場合と同様に、ステップS58〜S64の循環処理によりカウントアップされた変数nを正負データHLの出力周期Ti(サンプリングデータSDのサンプリング周期及びクロック信号の周期Ti)に乗算することにより、図12(A)に示すような負側パルスの粗パルス幅データTb(=n・Ti)を計算する。また、パルス幅計算回路17bは、ステップS66にて、この計算した粗パルス幅データTbに、負側のパルスであることを表す正負データHL(=“0”)を付加して正規パルス幅計算回路19に出力する。前記ステップS66の処理後、パルス幅計算回路17bは、ステップS68にて変数nを「0」に戻して、前述したステップS42〜S50の正側パルスの粗パルス幅データTbの計算処理を再び実行する。
一方、この粗パルス幅計算プログラムの実行開始時に2値化回路17aから入力した正負データHLが“1”であれば、パルス幅計算回路17bは、ステップS36にて「No」と判定して、ステップS54,S56の処理を実行する。2値化回路17aからの正負データHLが“1”に保たれている限り、パルス幅計算回路17bは、ステップS56にて「No」と判定して、ステップS54,S56の循環処理を実行し続ける。そして、2値化回路17aからの正負データHLが“1”から“0”に変化した時点で、パルス幅計算回路17bは、ステップS56にて「Yes」と判定して、前述したステップS58〜S66からなる負側パルスの粗パルス幅データTbの計算処理を実行する。
前述したステップS42〜S52,S58〜S68による粗パルス幅データTbの計測中、作業者によって検査終了が指示されて、コンピュータ30から停止指令信号が入力されると、パルス幅計算回路17bは、ステップS48又はS64にて「Yes」と判定して、ステップS70又はS72にてこの粗パルス幅計算プログラムの実行を終了する。
このような粗パルス幅計算回路17の動作により、図12(A)に示すように、入力したサンプリングデータSDが、スライスレベルSLを正側に超えた直後のクロックタイミング(A/D変換のための周期Tiのクロックタイミング)から、スライスレベルSLを負側に超えた直後のクロックタイミングまでの時間n・Tiが正側パルスの粗パルス幅データTbとして計算されて正規パルス幅計算回路19に出力される。また、入力したサンプリングデータSDが、スライスレベルSLを負側に超えた直後のクロックタイミング(A/D変換のための周期Tiのクロックタイミング)から、スライスレベルSLを正側に超えた直後のクロックタイミングまでの時間n・Tiが負側パルスの粗パルス幅データTbとして計算されて正規パルス幅計算回路19に出力される。
d.補正パルス幅計算動作
次に、補正パルス幅の計算動作について説明する。補正パルス幅計算回路18のクロス前後データ抽出回路18aは、前記光ディスクDKの検査開始の指示に応答して、図6のクロス前後データ抽出プログラムの実行をステップS80にて開始する。このクロス前後データ抽出プログラムの実行開始後、クロス前後データ抽出回路18aは、ステップS82にてA/D変換器15からのサンプリングデータSDの入力を待つ。サンプリングデータSDが入力されると、クロス前後データ抽出回路18aは、ステップS84にて、入力されたサンプリングデータSDが、スライスレベル計算回路22から供給されて一時的に記憶されているスライスレベルSL未満であるかを判定する。スライスレベルSLは、前述した粗パルス幅計算回路17の2値化回路17aで用いた値と同じである。サンプリングデータSDがスライスレベルSL未満であれば、クロス前後データ抽出回路18aは、ステップS84にて「Yes」と判定して、ステップS86にて入力したサンプリングデータSDを前回データDaとして一時記憶する。
次に、クロス前後データ抽出回路18aは、ステップS88にてA/D変換器15からの次のサンプリングデータSDの入力を待つ。そして、次のサンプリングデータSDが入力されると、クロス前後データ抽出回路18aは、ステップS90にて、サンプリングデータSDがスライスレベルSL以上であるかを判定する。サンプリングデータSDがスライスレベルSL未満に保たれていれば、クロス前後データ抽出回路18aは、ステップS90にて「No」と判定して、ステップS92にて停止指令があったかを判定する。この場合も、作業者が入力装置31を操作して検査終了を指示しない限り、コンピュータ30からは停止指令が入力されず、クロス前後データ抽出回路18aは、ステップS92にて「No」と判定して、ステップS86に戻る。ステップS86においては、ステップS88にて新たに入力したサンプリングデータSDで前回データDaを更新する。そして、クロス前後データ抽出回路18aは、A/D変換器15からの次のサンプリングデータSDの入力を待つ。これらのステップS86〜S92の循環処理は、スライスレベルSL以上のサンプリングデータSDが入力されるまで繰り返し行われる。
前記ステップS86〜S92の循環処理中、A/D変換器15からの次のサンプリングデータSDがスライスレベルSL以上になると、すなわちサンプリングデータSDがスライスレベルSLを負側から正側へ跨ぐと、クロス前後データ抽出回路18aは、ステップS90にて「Yes」と判定して、ステップS94,S96の処理を実行する。ステップS94においては、図13(A)に示すように、前回データDaとスライスレベルSLとの差の絶対値|Da−SL|を計算して、この計算した絶対値|Da−SL|を差データV1としてデータ変換回路18bに出力する。ステップS96においては、図13(A)に示すように、サンプリングデータSDとスライスレベルSLとの差の絶対値|SD−SL|を計算して、この計算した絶対値|SD−SL|を差データV2としてデータ変換回路18bに出力する。
前記ステップS96の処理後、クロス前後データ抽出回路18aは、ステップS98〜S104の循環処理を実行する。このステップS98〜S104の循環処理は、前記とは逆に、サンプリングデータSDがスライスレベルSLを正側から負側へ跨いだことを検出するものであり、ステップS98、S100,S104の処理は前述したステップS86、S88,92の処理と同じであるが、ステップS102の判定処理は、前記ステップS90の判定処理とは異なり、サンプリングデータSDがスライスレベルSL未満であるかを判定する処理である。この場合、前述のステップS94,S96の処理直後にはサンプリングデータSDはスライスレベルSL以上であったので、サンプリングデータSDがスライスレベルSL以上の状態からスライスレベルSL未満の状態になるまで、ステップS98〜S104の循環処理が実行され続ける。そして、サンプリングデータSDがスライスレベルSL未満になると、クロス前後データ抽出回路18aは、ステップS102にて「Yes」と判定して、前述したステップS94,S96と同様なステップS106,S108の処理により、図13(B)に示すように、前回データDaとスライスレベルSLの差の絶対値|Da−SL|を計算して差データV1としてデータ変換回路18bに出力するとともに、サンプリングデータSDとスライスレベルSLの差の絶対値|SD−SL|を計算して差データV2としてデータ変換回路18bに出力する。
前記ステップS108の処理後、クロス前後データ抽出回路18aは、前述したステップS86〜S96によるサンプリングデータSDがスライスレベルSLを負側から正側へ跨いだ場合における差データV1,V2の計算処理を再び実行する。
一方、このクロス前後データ抽出回路18aのクロス前後データ抽出プログラムの実行開始時に、A/D変換器15からのサンプリングデータSDがスライスレベルSL以上であれば、クロス前後データ抽出回路18aは、ステップS84にて「No」と判定して、ステップS98〜S104の循環処理を実行する。サンプリングデータSDがスライスレベルSL未満になると、クロス前後データ抽出回路18aは、前記ステップS106,S108の処理を実行して、その後に前述したステップS86〜S96によるサンプリングデータSDがスライスレベルSLを負側から正側への跨いだ場合における差データV1,V2の計算処理を実行する。
前述したステップS86〜S96,S98〜S108による差データV1,V2の計算処理中、作業者によって検査終了が指示されて、コンピュータ30から停止指令信号が入力されると、クロス前後データ抽出回路18aは、ステップS92又はS104にて「Yes」と判定して、ステップS110又はS112にてこのクロス前後データ抽出プログラムの実行を終了する。
データ変換回路18bは、前記光ディスクDKの検査開始の指示に応答して、図示しないプログラム処理により、前記入力した多数ビット(例えば、32ビット)からなる差データV1,V2の比率を保ったまま少ないビット数のデータに変換して補正時間計算回路18cに出力する。本実施形態では、7ビットのデータすなわち「0」〜「127」の値に変換する。この変換動作について説明すると、差データV1,V2は、図14に示すように、2進法のディジタルデータ、すなわち「0」及び「1」の数字を並べた多数ビットのデータからなっている。この場合、図14の破線で囲むように、「0」及び「1」の数字が並ぶデータを先頭から見て、差データV1,V2のいずれか一方に初めて「1」が現れる桁から7ビットのデータを取り出す。この7ビットのデータは、「0」〜「127」の128個の数字に相当する。差データV1,V2を、10進法で表すと、それぞれ「a6・2(x+6)+a5・2(x+5)+a4・2(x+4)+a3・2(x+3)+a2・2(x+2)+a1・2(x+1)+a0・2x+b1・2(x−1)+b2・2(x−2)+・・」のようになる。この値からb1・2(x−1)以下の値を除外して、2xで除算すると、「a6・26+a5・25+a4・24+a3・23+a2・22+a1・2+a0」のように、先頭の7ビットのデータを10進法で表した値となる。すなわち、先頭の7ビットの値を取り出すとは、差データV1,V2を2進法で7桁の数字に丸め、10進法で同じ値2xで除算することに相当する。なお、7ビットのデータには小数点の位置の情報はないが、差データV1,V2の少数点以下の桁数が同じになるようにしておけば、先頭の7ビットのデータを取り出すのみで、差データV1,V2の比率は保たれる。これにより、差データV1,V2は、比率を保ったまま「0」〜「127」のいずれかの値となる。
補正時間計算回路18cは、図7に示す補正時間計算プログラムを実行することにより、前記「0」〜「127」のいずかの値に変換された差データV1,V2を用いて、換算テーブルを参照することにより補正時間Tcを計算して、計算した補正時間Tcを正規パルス幅計算回路19に出力する。ここで、換算テーブルについて説明しておくと、換算テーブルは、図15に示すように、「0」〜「127」にわたって変化する差データV1,V2の各組合せに対して、それぞれ補正係数Xを予め記憶している。この場合、補正係数XはV2/(V1+V2)であり、差データV1,V2の「0」〜「127」の各値に対して予め計算された値である。
次に、補正時間計算回路18cによる実際の補正時間Tcの計算について説明する。補正時間計算回路18cは、前記光ディスクDKの検査開始の指示に応答して、図7の補正時間計算プログラムの実行をステップS120にて開始する。この補正時間計算プログラムの実行開始後、補正時間計算回路18cは、ステップS122にてデータ変換回路18bからの少数ビットに変換された差データV1,V2の入力を待つ。差データV1,V2が入力されると、補正時間計算回路18cは、ステップS124にて、換算テーブルを参照することにより、入力された差データV1,V2に対応した補正係数Xを導出する。次に、補正時間計算回路18cは、ステップS126にて、この補正係数Xを、サンプリングデータSDの周期Ti(クロック信号発生回路16によるクロック信号の周期Ti)に乗算することにより、補正時間Tcを計算する。これは、図13に示すように、補正時間Tcは、Ti・V2/(V1+V2)により表されるからである。そして、補正時間計算回路18cは、ステップS128にて、前記計算した補正時間Tcを正規パルス幅計算回路19に出力する。
前記ステップS128の処理後、補正時間計算回路18cは、ステップS130にて停止指令があったかを判定する。この場合も、作業者が入力装置31を操作して検査終了を指示しない限り、コンピュータ30からは停止指令が入力されず、補正時間計算回路18cは、ステップS130にて「No」と判定して、ステップS122に戻る。そして、補正時間計算回路18cは、ステップS122にて、再びデータ変換回路18bからの差データV1,V2の入力を待つ。差データV1,V2が入力されると、補正時間計算回路18cは、前記ステップS124〜S128の処理により、補正時間Tcを計算して正規パルス幅計算回路19に出力する。そして、コンピュータ30から停止指令が入力されない限り、補正時間計算回路18cは、ステップS122〜S130の循環処理を実行し続ける。コンピュータ30から停止指令が入力されると、補正時間計算回路18cは、ステップS130にて「Yes」と判定して、ステップS132にてこの補正時間計算プログラムの実行を終了する。
e.正規パルス幅計算動作
次に、正規パルス幅の計算動作について説明する。 正規パルス幅計算回路19は、前記光ディスクDKの検査開始の指示に応答して、図8の正規パルス幅計算プログラムの実行をステップS140にて開始する。この正規パルス幅計算プログラムの実行開始後、正規パルス幅計算回路19は、ステップS142にて補正パルス幅計算回路18からの補正時間Tcの入力を待つ。補正時間Tcが入力されると、正規パルス幅計算回路19は、ステップS142aにて、後補正時間Tc2を前記入力した補正時間Tcに設定する。後補正時間Tc2は、図12に示すように、正負の両正規パルス幅の計算の際におけるパルスの後尾部分の補正時間を表す。次に、正規パルス幅計算回路19は、ステップS144にて、停止指令があったかを判定する。この場合も、作業者が入力装置31を操作して検査終了を指示しない限り、コンピュータ30からは停止指令が入力されず、正規パルス幅計算回路19は、ステップS144にて「No」と判定して、ステップS146に進む。
ステップS146においては、前記ステップS142と同様に、正規パルス幅計算回路19は、補正パルス幅計算回路18からの補正時間Tcの入力を待つ。補正時間Tcが入力されると、正規パルス幅計算回路19は、ステップS148にて前補正時間Tc1を後補正時間Tc2で更新し、ステップS150にて後補正時間Tc2を前記入力した前補正時間Tcで更新する。前補正時間Tc1は、図12(A)に示すように、正負の両正規パルス幅の計算の際におけるパルスの先頭部分の補正時間を表す。
次に、正規パルス幅計算回路19は、ステップS152にて、粗パルス幅計算回路17からの粗パルス幅データTbの入力を待つ。この場合、この粗パルス幅データTbの入力は、前記ステップS146による補正時間Tcの入力とほぼ同時に生じる。なお、この場合、粗パルス幅データTb及び補正時間Tcは一旦ラッチ回路に記憶され、ラッチ回路に直前に記憶された粗パルス幅データTb及び補正時間Tcが取り込まれるので、粗パルス幅データTb及び補正時間Tcの入力の多少の時間ずれは問題にならない。粗パルス幅データTbが入力されると、正規パルス幅計算回路19は、ステップS154にて、粗パルス幅データTbに対して、前補正時間Tc1を加算するとともに後補正時間Tc2を減算して、正規パルス幅データTs(=Tb+Tc1−Tc2)を計算する。この場合、粗パルス幅データTbは、サンプリングデータSDがスライスレベルSLを跨いだ直後のサンプリングタイミングから、サンプリングデータSDがスライスレベルSLを逆方向に跨いだ直後のサンプリングタイミングまでの時間である。そして、前補正時間Tc1及び後補正時間Tc2は、再生アナログ信号がスライスレベルSLとクロスしたタイミングから、サンプリングデータSDがスライスレベルSLを跨いだ直後の前記両サンプリングタイミングまでの時間である。したがって、前記補正演算により、正規パルス幅データTsは、スライスレベルSLを基準として正負パルスのパルス幅を正確に表したものとなる。そして、正規パルス幅計算回路19は、ステップS156にて、前記計算した正規パルス幅データTsに、粗パルス幅データTbに付加されていた正負データHLを付加して、単位信号長計算回路20、ジッタ計算回路21及びスライスレベル計算回路22に出力する。
前記ステップS156の処理後、正規パルス幅計算回路19は、ステップS144の判定処理に戻る。そして、コンピュータ30から停止指令が入力されない限り、正規パルス幅計算回路19は、ステップS144〜S156の循環処理を繰り返し実行し続けて、サンプリングデータSDがスライスレベルSLを跨ぐごとに、正規パルス幅データTsを単位信号長計算回路20、ジッタ計算回路21及びスライスレベル計算回路22に出力し続ける。一方、コンピュータ30から停止指令が入力されると、補正時間計算回路18cは、ステップS144にて「Yes」と判定して、ステップS160にてこの正規パルス幅計算プログラムの実行を終了する。
f.単位信号長計算動作
次に、単位信号長の計算動作について説明する。単位信号長計算回路20は、図9に示す単位信号長計算プログラムの実行により、入力した正規パルス幅データTsを内部メモリに順次記憶し、過去のN1個(例えば、数十個)の正規パルス幅データTsを用いて単位信号長1Tに相当する単位時間Taveを計算してジッタ計算回路21に出力する。なお、この単位信号長計算回路20の機能は、この種の装置におけるPLL回路(Phase-Locked-Loop回路)が2値化信号から信号長1Tを1周期とするクロック信号を作成して出力する処理に相当する。
この単位信号長計算回路20は、前記光ディスクDKの検査開始の指示に応答して、図9の単位信号長計算プログラムの実行をステップS170にて開始する。この単位信号長計算プログラムの実行開始後、単位信号長計算回路20は、ステップS172にて、変数n、積算パルス幅Tst及び積算信号長Atをそれぞれ「0」にクリアする。変数nは、正規パルス幅データTsの入力数をカウントするための変数である。積算パルス幅Tstは、入力した正規パルス幅データTsをN1個分まで積算する変数である。積算信号長Atは、入力した各正規パルス幅データTsに含まれる単位信号長1Tの数を、正規パルス幅データTsのN1個分まで積算する変数である。前記ステップS172の処理後、単位信号長計算回路20は、ステップS174にて、変数nに「1」を加算する。最初のこの処理では、変数nは「1」に設定される。
次に、単位信号長計算回路20は、ステップS176にて、正規パルス幅計算回路19からの正規パルス幅データTsの入力を待つ。正規パルス幅データTsが入力されると、単位信号長計算回路20は、ステップS178にて、積算パルス幅Tst(初期は「0」)に前記入力した正規パルス幅データTsを加算して、積算パルス幅Tstを更新する。次に、単位信号長計算回路20は、ステップS180にて、前記入力した正規パルス幅データTsを、変数nによって指定される正規パルス幅データTs(n)として記憶しておく。
前記ステップS180の処理後、単位信号長計算回路20は、ステップS182にて、前記入力した正規パルス幅データTsの信号長A・Tを判定する。この信号長A・Tの判定は、前記入力した正規パルス幅データTsが単位信号長1Tのパルス幅Tの何倍の信号長A・Tに相当するかを判定するものである。なお、信号長データAは、自然数である。具体的には、予め決められている単位信号長1Tのパルス幅Tを用い、信号長データAの値を3,4,5・・のように順次増加させながら、正規パルス幅データTsが、(A−0.5)・T≦Ts<(A+0.5)・Tのいずれに該当するかを判定、すなわち2.5・T≦Ts<3.5・T,3.5・T≦Ts<4.5・T,4.5・T≦Ts<5.5・T,・・・のいずれに該当するかを判定する。そして、該当したときの信号長データA(3,4,5・・・)を、正規パルス幅データTsの信号長を表す信号長データAとして検出する。なお、信号長データAの値を3,4,5・・のように順次増加させた理由は、CD,DVDでは信号長は3T以上であるからである。
次に、単位信号長計算回路20は、ステップS184にて、前記検出した信号長データAを変数nによって指定される信号長データA(n)として記憶しておき、ステップS186にて積算信号長Atに前記検出した信号長データAを加算して積算信号長Atを更新する。そして、単位信号長計算回路20は、ステップS188にて、変数nが値N1に等しくなったかを判定する。変数nが値N1よりも小さければ、単位信号長計算回路20は、前記ステップS190にて、停止指令があったかを判定する。この場合も、作業者が入力装置31を操作して検査終了を指示しない限り、コンピュータ30からは停止指令が入力されず、単位信号長計算回路20は、ステップS190にて「No」と判定して、ステップS174に戻る。そして、変数nが値N1に達するまで、ステップS174〜S190の循環処理を実行し続ける。このステップS174〜S190の循環処理中、単位信号長計算回路20は、正規パルス幅データTsを正規パルス幅計算回路19から入力するごとに、積算パルス幅Tst及び積算信号長Atを更新するとともに、正規パルス幅データTs(n)及び信号長データA(n)を蓄積記憶する。
前記ステップS174〜S190の循環処理中、変数nが値N1に達すると、単位信号長計算回路20は、ステップS188にて「Yes」と判定して、ステップS192に進む。この状態では、図16に示すように、過去N1個の正規パルス幅データTsが積算パルス幅Tstとして計算されているとともに、前記N1個の正規パルス幅データTsの信号長データAが積算信号長Atとして計算されている。ステップS192においては、単位信号長計算回路20は、積算パルス幅Tstを積算信号長Atで除算することにより、前記N1個の正規パルス幅データTsに関する単位信号長1Tの周期である単位時間Tave(=Tst/At)を計算して、計算した単位時間Taveをジッタ計算回路21に出力する。なお、前記ステップS174〜S190の循環処理中に、コンピュータ30から停止指令が入力されたときには、単位信号長計算回路20は、ステップS190にて「Yes」と判定して、ステップS216にてこの単位信号長計算プログラムの実行を終了する。
前記ステップS192の処理後、単位信号長計算回路20は、ステップS194にて変数nを「0」にクリアし、ステップS196にて、前記ステップS174の場合と同様に、変数nに「1」を加算する。このステップS196の処理により、変数nは「1」に設定される。単位信号長計算回路20は、ステップS198にて、前記ステップS176の処理と同様に、正規パルス幅計算回路19からの正規パルス幅データTsの入力を待ち、正規パルス幅データTsが入力されると、ステップS200に進む。ステップS200においては、単位信号長計算回路20は、積算パルス幅Tstから変数nによって指定される正規パルス幅データTs(n)を減算し、この減算結果に前記入力した正規パルス幅データTsを加算して、積算パルス幅Tstを更新する。この処理は、図16に示すように、今回入力した正規パルス幅データTsから過去に遡ってN1個の正規パルス幅データTsの積算パルス幅Tstを計算するためである。次に、単位信号長計算回路20は、ステップS202にて、前記ステップS180の処理と同様に、前記入力した正規パルス幅データTsを、変数nによって指定される正規パルス幅データTs(n)として記憶する。これにより、変数nによって指定される正規パルス幅データTs(n)が更新される。
前記ステップS202の処理後、単位信号長計算回路20は、ステップS204にて、前記ステップS182と同様に、前記入力した正規パルス幅データTsの信号長A・Tを判定して、信号長データAを検出する。次に、単位信号長計算回路20は、ステップS206にて、積算信号長Atから変数nによって指定される信号長データA(n)を減算し、この減算結果に前記入力した検出した信号長データAを加算して、積算信号長Atを更新する。この処理も、今回入力した正規パルス幅データTsに基づく今回の信号長データAから過去に遡ってN1個の信号長データAの積算信号長Atを計算するためである。次に、単位信号長計算回路20は、ステップS208にて、前記ステップS184の処理と同様に、前記検出した信号長データAを、変数nによって指定される信号長データA(n)として記憶する。これにより、変数nによって指定される信号長データA(n)も更新される。
次に、単位信号長計算回路20は、ステップS210にて、前記ステップS192の処理と同様に、積算パルス幅Tstを積算信号長Atで除算することにより単位時間Tave(=Tst/At)を計算して、計算した単位時間Taveをジッタ計算回路21に出力する。これにより、今回入力した正規パルス幅データTsから過去にN1個分の正規パルス幅データTsに関する単位時間Taveがジッタ計算回路21に出力されることになる。前記ステップS210の処理後、単位信号長計算回路20は、ステップS212にて、前記ステップS188の処理と同様に、変数nが値N1に等しくなったかを判定する。変数nが値N1よりも小さければ、単位信号長計算回路20は、ステップS214にて、前記ステップS190の処理と同様に、停止指令があったかを判定する。この場合も、コンピュータ30からは停止指令が入力されなければ、単位信号長計算回路20は、ステップS214にて「No」と判定して、ステップS196に戻る。そして、変数nが値N1に達するまで、ステップS196〜S214の循環処理を実行し続ける。
このステップS196〜S214の循環処理中、単位信号長計算回路20は、正規パルス幅データTsを正規パルス幅計算回路19から入力するごとに、積算パルス幅Tst及び積算信号長Atを更新するとともに、正規パルス幅データTs(n)及び信号長データA(n)を更新する。ただし、この場合には、正規パルス幅データTsを正規パルス幅計算回路19から入力するごとに、過去N1個分の正規パルス幅データTsに関する単位時間Taveが計算されて、ジッタ計算回路21に出力される。そして、変数nが値N1に達すると、単位信号長計算回路20は、ステップS212にて「Yes」と判定して、ステップS194に戻って変数nを「0」にクリアした後、前記ステップS196〜S214からなる循環処理を実行する。これにより、図16に示すように、N1個ずつの正規パルス幅データTsに基づく単位時間Taveがジッタ計算回路21に次々に出力され続ける。
一方、前記ステップS196〜S214の循環処理中に、コンピュータ30から停止指令が入力されたときには、単位信号長計算回路20は、ステップS214にて「Yes」と判定して、ステップS216にてこの単位信号長計算プログラムの実行を終了する。
g.ジッタ計算動作
次に、ジッタの計算動作について説明する。ジッタ計算回路21は、図10に示すジッタ計算プログラムの実行により、正規パルス幅計算回路19から正規パルス幅データTsを入力するごとに、正規パルス幅データTsのパルス幅ずれ量Dev、前側ずれ量Devf及び後側すれ量Devbを計算する。ジッタ計算回路21は、予め決められたN2個(例えば数百)の正規パルス幅データTsを入力するごとに詳しくは後述するジッタを表すデータを計算して、光ピックアップ装置12、再生信号生成回路14及びコンピュータ30に出力する。また、ジッタ計算回路21は、単位信号長計算回路20から順次出力される単位時間Taveを常にラッチ回路に更新記憶している。
パルス幅ずれ量Devとは、図17(A)に示すように、正規パルス幅データTsによって表されたパルス列を繋げた信号である2値化信号と、信号長1Tを1周期とするクロック信号とを各信号長ごとに先頭を揃えて並べ、正規パルス幅データTsによって表されるパルス幅と前記クロック信号により規定される本来のパルス幅(A・T)とのずれ量を表す。ここで、値Aは、前述した信号長データの値を表す。前側ずれ量Devfとは、図17(B)に示すように、正規パルス幅データTsによって表されたパルス列を繋げた信号である2値化信号と、前記クロック信号とを最初のパルスの先頭だけを揃えて並べ、前記パルス列の先頭すなわち前記パルス列の前側におけるクロック信号からのずれ量を表す。また、後側ずれ量Devb(n)とは、前記図17(B)に示すように前記2値化信号と前記クロック信号とを並べた状態における、前記パルス列の後尾すなわち前記パルス列の後側におけるクロック信号からのずれ量を表す。なお、図17(A)(B)は、共に正規パルス幅データTsの計測開始時において、信号長4T+のパルス及び信号長3T−のパルスが検出された状態を示している。ここで、「+」は正側パルスを表し、「−」は負側パルスを表す。
このジッタ計算回路21は、前記光ディスクDKの検査開始の指示に応答して、図10のジッタ計算プログラムの実行をステップS220にて開始する。このジッタ計算プログラムの実行開始後、ジッタ計算回路20は、ステップS222にて、変数n及び後側ずれ量データDevb(0)をそれぞれ「0」にクリアする。変数nは、正規パルス幅データTsの入力数をカウントするための変数である。後側ずれ量データDevb(0)は、後述するように、正規パルス幅データTsが最初に入力された正規パルス幅データTsの前側ずれDevf(1)を計算するために用いられるデータである。前記ステップS222の処理後、ジッタ計算回路21は、ステップS224にて、変数nに「1」を加算する。この最初のステップS224の処理では、変数nは「1」に設定される。
次に、ジッタ計算回路21は、ステップS226にて、正規パルス幅計算回路19からの正規パルス幅データTsの入力を待つ。正規パルス幅データTsが入力されると、ジッタ計算回路21は、ステップS228にて、前記図9のステップS182,S204の処理と同様な処理により、前記入力した正規パルス幅データTsの信号長A・Tを判定する。そして、この判定処理により、該当した値A(3,4,5・・・)を信号長データAとして検出する。
前記ステップS228の処理後、ジッタ計算回路21は、ステップS230にて、前記検出した信号長データAに、前記入力した正規パルス幅データTsに付加されている正負データHLを付加して、信号長データA(n)として記憶する。次に、ジッタ計算回路21は、ステップS232にて、前記入力した正規パルス幅データTsのパルス幅ずれ量Devを計算して、前記計算したパルス幅ずれ量Devをパルス幅ずれ量Dev(n)として内部メモリに記憶する。このパルス幅すれ量Devは、前記入力した正規パルス幅データTsから、単位信号長計算回路20から出力されてラッチされている最新の単位時間Taveに前記検出した信号長データAを乗算した値すなわち本来のパルス幅A・Taveを減算することにより計算される。
次に、ジッタ計算回路21は、ステップS234にて、変数nによって指定される1つ前の後側ずれ量Devb(n−1)を、前記入力した正規パルス幅データTsに関する前側ずれ量Devf(n)として内部メモリに記憶する。この場合、初回のステップS234の処理においては、前記ステップS222の処理によって後側ずれ量Devb(0)として初期設定された「0」が、前側ずれ量Devf(1)として記憶される(図17(B)参照)。そして、次回以降は、次に説明される変数nによって指定される1つ前の後側ずれ量Devb(n−1)が、前側ずれ量Devf(n)として記憶される。なお、後側ずれ量Devb(n−1)と前側ずれ量Devf(n)が等しい点は、図17(B)より明らかである。
次に、ジッタ計算回路21は、ステップS236にて、前記入力した正規パルス幅データTsの後側ずれ量Devbを計算して、前記計算した後側ずれ量Devbを後側ずれ量Devb(n)として記憶する。この後側ずれ量Devbの計算においては、まず、前記入力した正規パルス幅データTsから、単位信号長計算回路20から出力されてラッチされている最新の単位時間Taveに前記検出した信号長データAを乗算した値すなわち本来のパルス幅A・Taveを減算することによりパルス幅ずれ量Ts−A・Taveを計算する。そして、この計算したパルス幅ずれ量Ts−A・Taveに、変数nによって指定される1つ前の後側ずれ量Devb(n−1)(すなわち変数nによって指定される前側ずれ量Devf(n))を加算することにより、後側ずれ量Devbが計算される。このようにして後側ずれ量Devbが計算される点も、図17(B)から明らかである。
前記ステップS236の処理後、ジッタ計算回路21は、ステップS238にて、変数nが予め決めた値N2(例えば、数十から数百)以上であるかを判定する。変数nが値N2未満であれば、ジッタ計算回路21は、ステップS238にて「No」と判定し、ステップS246にて停止指令があったかを判定する。この場合も、作業者が入力装置31を操作して検査終了を指示しない限り、コンピュータ30からは停止指令が入力されず、ジッタ計算回路21は、ステップS246にて「No」と判定して、ステップS224に戻る。そして、変数nが所定値N2に達するまで、ステップS224〜S246の循環処理を実行し続ける。このステップS224〜S246の循環処理中、ジッタ計算回路21は、正規パルス幅データTsを正規パルス幅計算回路19から入力するごとに、パルス幅ずれ量Dev(n)、前側ずれ量Devf(n)及び後側ずれ量Devb(n)を内部メモリに蓄積記憶する。
前記ステップS224〜S246の循環処理中、変数nが値N2に達すると、ジッタ計算回路21は、ステップS238にて「Yes」と判定して、ステップS240に進む。この状態では、過去N2個の正規パルス幅データTsのパルス幅ずれ量Dev、前側ずれ量Devf及び及び後側ずれ量Devbが計算されるとともに、パルス幅ずれ量データDev(1)〜Dev(N2)、前側ずれ量データDevf(1)〜Devf(N2)及び後側ずれ量データDevb(1)〜Devb(N2)が蓄積記憶されている。ステップS240においては、ジッタ計算回路21は、前記N2個ずつのパルス幅ずれ量Dev(1)〜Dev(N2)、前側ずれ量Devf(1)〜Devf(N2)及び後側ずれ量データDevb(1)〜Devb(N2)を用いて正規パルス幅データTsによって表されるパルスに関するジッタを表す評価用データを計算して、前記計算した評価用データの一部又は全部を光ピックアップ装置12、再生信号生成回路14及びコンピュータ30に供給する。
このジッタを表す評価用データの計算について説明する。この計算においては、パルス幅ずれ量データDev(1)〜Dev(N2)、前側ずれ量データDevf(1)〜Devf(N2)及び後側ずれ量データDevb(1)〜Devb(N2)の各グループごとに、次の(a)〜(e)の5種類の評価用データを計算する。また、前記5種類の評価用データの計算においては、前記パルス幅ずれ量データDev(1)〜Dev(N2)、前側ずれ量データDevf(1)〜Devf(N2)及び後側ずれ量データDevb(1)〜Devb(N2)の各グループにおいて、さらに各グループごとに次の(1)〜(4)の4種類のサブグループに分けて評価用データを計算する。ここで、説明の便宜上、前記各グループごとのずれ量Dev(1)〜Dev(N2),Devf(1)〜Devf(N2),Devb(1)〜Devb(N2)を共通のずれ量X(1)〜X(N2)としてそれぞれ表す。
(1)全てのずれ量X(1)〜X(N2)を共通に用いて評価用データを計算する。
(2)全てのずれ量X(1)〜X(N2)を正負データHLにより表される正パルス及び負パルスで分類し、分類されたグループに含まれるずれ量X(1)〜X(N2)を用いて、分類ごとに評価用データを計算する。
(3)全てのずれ量X(1)〜X(N2)を、信号長データA(1)〜A(n)により表される信号長3T,4T,5T・・ごとに分類し、分類されたグループに含まれるずれ量X(1)〜X(N2)を用いて、分類ごとに評価用データを計算する。
(4)全てのずれ量X(1)〜X(N2)を、信号長データA(1)〜A(n)により表される信号長3T,4T,5T・・ごと、かつ正負データHLにより表される正パルス及び負パルスごとに分類し、分類されたグループに含まれるずれ量X(1)〜X(N2)を用いて、分類ごとに評価用データを計算する。
次に、前記(a)〜(e)の5種類の評価用データについて説明する。
(a)該当するずれ量X(1)〜X(N2)を、所定幅の複数の領域に分類して、各領域ごとのずれ量Xの度数分布(各領域に含まれるずれ量Xの数)を評価用データとして計算する。図18には、ずれ量Xを横軸にとり、すなわち各領域を横軸にとり、縦軸に度数を表すグラフを示している。
(b)該当するずれ量X(1)〜X(N2)の標準偏差σを評価用データとして計算する。
(c)標準偏差σを、単位信号長計算回路20から出力されてラッチされている最新の単位時間Taveで除算した値σ/Taveを評価用データとして計算する。
(d)該当するずれ量X(1)〜X(N2)の平均値Xaveを計算し、計算した平均値Xaveの偏りBi(すなわち平均値Xaveの「0」からのずれ量)を評価用データとして計算する。
(e)偏りBiを前記最新の単位時間Taveで除算した値Bi/Taveを評価用データとして計算する。
なお、本明細書において、これらの全ての評価用データ又はその一部の計算が、ジッタを計算することを意味する。
前記評価用データの計算後、ジッタ計算回路21は、前記ステップS240にて、前記計算した評価用データの全て又は一部をコンピュータ30、光ピックアップ装置12及び再生信号生成回路14に出力する。なお、前記評価用データの計算においては、全ての種類の評価用データを計算してもよいが、後述する必要性に応じてその一部のみを計算するようにしてもよい。
コンピュータ30は、図示しないプログラムの実行により、ジッタ計算回路21から出力される前記(a)度数分布、(b)標準偏差σ、(c)値σ/Tave、(d)偏りBi及び(e)値Bi/Taveを表す評価用データを表示装置32に表示する。なお、(a)度数分布の場合には、図18に示すようなヒストグラムを表示装置32に表示する。また、各評価用データの表示においては、表示装置32は、パルス幅ずれ量データDev(1)〜Dev(N2)、前側ずれ量データDevf(1)〜Devf(N2)及び後側ずれ量データDevb(1)〜Devb(N2)のいずれのグループの評価用データあるか、さらには、前記(1)全てのずれ量X(1)〜X(N2)、(2)正負パルスごと、(3)信号長3T,4T,5T・・ごと、及び(4)信号長1T,2T,3T・・ごと、かつ正負パルスごとに関する評価用データであるかも表示する。この場合、図示しないプログラムの実行により、前記全ての評価用データのうちで、予め決められた種類の評価用データ又は入力装置31を用いて作業者が選択した種類の評価用データのみをジッタ計算回路21から入力して、表示装置32に表示するようにするとよい。例えば、光ディスクDKとしてDVDを採用する場合には、少なくとも、前記(1)全てのずれ量X(1)〜X(N2)を用いて計算した前記(c)値σ/Taveを、パルス幅ずれ量データDev(1)〜Dev(N2)、前側ずれ量データDevf(1)〜Devf(N2)及び後側ずれ量データDevb(1)〜Devb(N2)の各グループごとに表示する。また、光ディスクDKとしてCDを採用する場合には、少なくとも、前記(4)信号長3Tに関するずれ量X(1)〜X(N2)を用いて計算した前記(b)標準偏差σを、パルス幅ずれ量データDev(1)〜Dev(N2)、前側ずれ量データDevf(1)〜Devf(N2)及び後側ずれ量データDevb(1)〜Devb(N2)の各グループごとに表示する。
光ピックアップ装置12及び再生信号生成回路14は、前記(b)標準偏差σ、(c)値σ/Tave、(d)偏りBi及び(e)偏りBiのうちで、ジッタを表す評価用データとしていずれの種類を入力するか、また入力する評価用データはパルス幅ずれ量データDev(1)〜Dev(N2)、前側ずれ量データDevf(1)〜Devf(N2)及び後側ずれ量データDevb(1)〜Devb(N2)のいずれのグループの評価用データであるか、さらには、前記(1)全てのずれ量X(1)〜X(N2)、(2)正負パルスごと、(3)信号長3T,4T,5T・・ごと、及び(4)信号長3T,4T,5T・・ごと、かつ正負パルスごとの評価用データを入力するかも予め定められている。そして、光ピックアップ装置12は、前記予め定められた評価用データをジッタ計算回路21から入力し、コンピュータ30からの指令により、前記入力した評価用データを用いてチルト調整、レーザ光強度の調整などを行う。再生信号生成回路14は、前記予め定められた評価用データをジッタ計算回路21から入力し、コンピュータ30からの指令により、再生アナログ信号のイコライズ特性を調整する。
前記ステップS240のジッタを表す評価用データの計算及び出力後、ジッタ計算回路21は、ステップS242にて、次に入力される正規パルス幅データTsに関する前側ずれ量Devf(1)及び後側ずれ量Devb(1)の計算のために、後側ずれ量Devb(n)(すなわち後側ずれ量Devb(N2))を後側ずれ量Devb(0)として設定する。次に、ジッタ計算回路21は、ステップS244にて、変数nを「0」にクリアする。そして、コンピュータ30から停止指令を入力しない限り、ジッタ計算回路21は、前記ステップS246に「No」と判定して、ステップS224に戻る。そして、変数nが値N2に再び達するまで、前述したステップS224〜S246の循環処理を実行する。これにより、N2個の正規パルス幅データTsが入力されるごとに、正規パルス幅データTsに関するジッタを表すデータが計算され続ける。そして、前記ステップS224〜S246の循環処理中に、コンピュータ30から停止指令が入力されたときには、ジッタ計算回路21は、ステップS246にて「Yes」と判定して、ステップS248にてこのジッタ計算プログラムの実行を終了する。
h.スライスレベル計算動作
次に、スライスレベルの計算動作について説明する。スライスレベル計算回路22は、図11に示すスライスレベル計算プログラムの実行により、正規パルス幅データTsを用いて、正側パルス幅の合計と負側パルス幅の合計の比率Duが「1」になるように、スライスレベルSLを繰り返し計算して時間的に変化するスライスレベルSLを、粗パルス幅計算回路17の2値価回路17a、及び補正パルス幅計算回路18のクロス前後データ抽出回路18aに出力する。
このスライスレベル計算回路22は、前記光ディスクDKの検査開始の指示に応答して、図11のスライスレベル計算プログラムの実行をステップS300にて開始する。このスライスレベル計算プログラムの実行開始後、スライスレベル計算回路22は、ステップS302にて、予め記憶されている初期スライスレベルSL0を、粗パルス幅計算回路17の2値化回路17a、及び補正パルス幅計算回路18のクロス前後データ抽出回路18aにスライスレベルSLとして出力する。この初期スライスレベルSL0は、正側パルスの取り得る最大電圧値(ピーク電圧値)と、負側パルスの取り得る最大電圧値(ボトム電圧値)との平均値である。例えば、正側及び負側パルスが正負両側に等しい幅の最大電圧を出力するように構成されていれば、前記初期スライスレベルSL0は「0」である。2値化回路17a及びクロス前後データ抽出回路18aは、最初この初期スライスレベルSL0をスライスレベルSLとして取り込み、このスライスレベルSLを用いて、前述した図4の2値化プログラム及び図6のクロス前後データ抽出プログラムの演算処理をそれぞれ実行する。
前記ステップS302の処理後、スライスレベル計算回路22は、ステップS304にて、正側積算パルス幅Tstp、負側積算パルス幅Tstn及び変数n,m,qをそれぞれ「0」にクリアする。正側積算パルス幅Tstpは、正側パルスのパルス幅を積算する変数である。負側積算パルス幅Tstnは、負側パルスのパルス幅を積算する変数である。変数nは、N3個までの正規パルス幅データTsの入力数をカウントするための変数である。なお、値N3は、予め決められた所定値(例えば、数百)である。変数mは、過去に入力した正側パルスを指定するための変数である。変数qは、過去に入力した負側パルスを指定するための変数である。前記ステップS304の処理後、スライスレベル計算回路22は、ステップS306にて、変数nに「1」を加算する。最初のこの処理では、変数nは「1」に設定されることになる。
次に、スライスレベル計算回路22は、ステップS308にて、停止指令があったかを判定する。この場合も、作業者が入力装置31を操作して検査終了を指示しない限り、コンピュータ30からは停止指令が入力されず、スライスレベル計算回路22は、ステップS308にて「No」と判定して、ステップS310に進む。ステップS310においては、スライスレベル計算回路22は、正規パルス幅計算回路19からの正規パルス幅データTsの入力を待つ。正規パルス幅データTsが入力されると、スライスレベル計算回路22は、ステップS312にて、正規パルス幅データTsに付加されている正負データHLが“1”であるか、すなわち正規パルス幅データTsは正側パルスに関するものであるかを判定する。
正規パルス幅データTsが正側パルスに関するもので、正負データHLが“1”であれば、スライスレベル計算回路22は、ステップS312にて「Yes」と判定して、ステップS314に進む。ステップS314においては、スライスレベル計算回路22は、正側積算パルス幅Tstpに正規パルス幅データTsによって表されたパルス幅を加算する。次に、スライスレベル計算回路22は、ステップS316にて変数mに「1」を加算し、ステップS318にて正規パルス幅データTsによって表されたパルス幅を変数mによって指定される正側パルス幅データTsp(m)として記憶する。一方、正規パルス幅データTsが負側パルスに関するもので、正負データHLが“0”であれば、スライスレベル計算回路22は、ステップS312にて「No」と判定して、ステップS320に進む。ステップS320においては、スライスレベル計算回路22は、負側積算パルス幅Tstnに正規パルス幅データTsによって表されたパルス幅を加算する。次に、スライスレベル計算回路22は、ステップS322にて変数qに「1」を加算し、ステップS324にて正規パルス幅データTsによって表されたパルス幅を変数qによって指定される負側パルス幅データTsn(q)として記憶する。
前記ステップS318,S324の処理後、スライスレベル計算回路22は、ステップS326にて変数nが予め決めた値N3(例えば、数百)以上であるかを判定する。変数nが値N3未満であれば、スライスレベル計算回路22は、ステップS326にて、「No」と判定して、ステップS306に戻る。以降、変数nが値N3に達するまで、スライスレベル計算回路22は、ステップS306〜S326の循環処理を実行し続ける。変数nが値N3に達すると、スライスレベル計算回路22は、ステップS326にて「Yes」と判定して、ステップS330に進む。
この状態では、スライスレベル計算回路22は、正規パルス幅計算回路19からN3個の正規パルス幅データTsを入力し終え、このN3個の正規パルス幅データTsのうちの正側パルスに関する各パルス幅の合計値が正側積算パルス幅Tstpとして計算されているとともに、正側パルス幅データTsp(1),Tsp(2)・・として記憶されている。また、前記N3個の正規パルス幅データTsのうちの負側パルスに関する各パルス幅の合計値が負側積算パルス幅Tstnとして計算されているとともに、負側パルス幅データTsn(1),Tsn(2)・・として記憶されている。なお、前記ステップS306〜S326の循環処理中、コンピュータ30から停止指令が入力された場合には、スライスレベル計算回路22は、ステップS308にて「Yes」と判定して、ステップS328にてこのスライスレベル計算プログラムの実行を終了する。
ステップS330においては、スライスレベル計算回路22は、正側積算パルス幅Tstpを負側積算パルス幅Tstnで除算することにより正負比率Du(=Tstp/Tstn)を計算して正負比率データDu(0)として記憶しておく。また、スライスレベル計算回路22は、ステップS332にて前記初期スライスレベルSL0をスライスレベルデータSL(0)として記憶しておく。次に、スライスレベル計算回路22は、ステップS334にて、これらの正負比率データDu(0)及びスライスレベルデータSL(0)を用いて、下記式1の演算によってスライスレベルSLを計算して粗パルス幅計算回路17及び補正パルス幅計算回路18にそれぞれ出力する。粗パルス幅計算回路17は、この出力されたスライスレベルSLをラッチして、2値化回路17aによる以降の2値化演算に利用する。補正パルス幅計算回路18は、この出力されたスライスレベルSLをラッチして、クロス前後データ抽出回路18aによるクロス前後のデータを抽出する演算に利用する。なお、下記式1中の値aoは、正負比率Duに対するスライスレベルSLの傾斜(ΔSL/ΔDu)を表すもので、予め用意された定数である。
SL=SL(0)+ao・(Du(0)−1) …式1
前記式1について説明しておくと、正負比率Duは、大量の正規パルス幅データTsに対しては、本来「1.0」になるべき値である。そして、正負比率Duが「1.0」よりも大きいときにはスライスレベルSLを増加させれば、増加したスライスレベルSLを用いた次の正負比率Duの計算値は減少して「1.0」に近づく。また、正負比率Duが「1.0」よりも小さいときにはスライスレベルSLを減少させれば、減少したスライスレベルSLを用いた次の正負比率Duの計算値は増加して「1.0」に近づく。すなわち、正負比率Du(0)を用いて次に計算されるスライスレベルSLは、正負比率Du(0)に対して図19(A)のように変化する。したがって、次に計算されるスライスレベルSLと、正負比率Du(0)との間には、前記式1が成立する。
このスライスレベルSLの計算及び出力後、スライスレベル計算回路22は、ステップS336にて、変数n,m,q,rを「0」にクリアするとともに、変数sを「1」に設定する。この場合も、変数nは、前述の場合と同様に、N3個までの正規パルス幅データTsの入力数をカウントするための変数である。値N3は、前記と同様に、予め決められた所定値(例えば、数百)である。変数m,qは、前述の場合と同様に、過去に入力した正側パルス及び負側パルスを指定するための変数である。変数rは、正負比率データDu(1),Du(2)・・及びスライスレベルデータSL(1),SL(2)・・のそれぞれの計算に利用するための、R1個までの正規パルス幅データTsの入力数をカウントするための変数である。変数sは、S1個までの正負比率データDu(1),Du(2)・・及びスライスレベルデータSL(1),SL(2)・・を指定するための変数である。そして、値R1,S1は、それぞれ例えば数百及び数十以下の予め決められた所定値であり、値N3,R1,S1間にはN3>R1>S1かつN3=S1・R1なる関係がある。
前記ステップS336の処理後、スライスレベル計算回路22は、ステップS338にて、変数sによって指定されるスライスレベルデータSL(s)を前記ステップS334の処理によって計算したスライスレベルSLに設定する。この場合、変数sは「1」であり、このステップS338の処理により、スライスレベルデータSL(1)が記憶されることになる。次に、スライスレベル計算回路22は、ステップS340にて、変数nに「1」を加算する。この場合、変数nは「1」に設定されることになる。
前記ステップS340の処理後、スライスレベル計算回路22は、ステップS342にて、停止指令があったかを判定する。この場合も、作業者が入力装置31を操作して検査終了を指示しない限り、コンピュータ30からは停止指令が入力されず、スライスレベル計算回路22は、ステップS342にて「No」と判定して、ステップS344に進む。ステップS344においては、スライスレベル計算回路22は、前記ステップS310の場合と同様に正規パルス幅計算回路19からの正規パルス幅データTsの入力を待つ。そして、正規パルス幅データTsが入力されると、スライスレベル計算回路22は、前記ステップS312の場合と同様に、ステップS346にて、入力した正規パルス幅データTsが正側パルスに関するものであるかを判定する。
正規パルス幅データTsが正側パルスに関するもので、正負データHLが“1”であれば、スライスレベル計算回路22は、ステップS346にて「Yes」と判定し、ステップS348にて変数mに「1」を加算して、ステップS350に進む。ステップS350においては、スライスレベル計算回路22は、正側積算パルス幅Tstpから変数mによって指定される正側パルス幅データTsp(m)を減算し、減算結果に前記入力した正規パルス幅データTsによって表されたパルス幅を加算する。これにより、前回までの正側積算パルス幅Tstpとして積算されていた正規パルス幅データTsによって表された複数のパルス幅のうちで最も古い正規パルス幅データTsの次の正規パルス幅データTsから、今回新たに入力した正規パルス幅データTsまでの正規パルス幅データによって表されたパルス幅の積算値が正側積算パルス幅Tstpとして計算されることになる。前記ステップS350の処理後、スライスレベル計算回路22は、ステップS352にて、今回新たに入力した正規パルス幅データTsによって表されたパルス幅を変数mによって指定される正側パルス幅データTsp(m)として記憶する。
一方、正規パルス幅データTsが負側パルスに関するもので、正負データHLが“0”であれば、スライスレベル計算回路22は、ステップS346にて「No」と判定し、ステップS354にて変数qに「1」を加算して、ステップS356に進む。ステップS356においては、スライスレベル計算回路22は、負側積算パルス幅Tstnから変数mによって指定される負側パルス幅データTsn(q)を減算し、減算結果に前記入力した正規パルス幅データTsによって表されたパルス幅を加算する。これにより、前回までの負側積算パルス幅Tstnとして積算されていた正規パルス幅データTsによって表された複数のパルス幅のうちで最も古い正規パルス幅データTsの次の正規パルス幅データTsから、今回新たに入力した正規パルス幅データTsまでの正規パルス幅データによって表されたパルス幅の積算値が負側積算パルス幅Tstnとして計算されることになる。前記ステップS356の処理後、スライスレベル計算回路22は、ステップS358にて、今回新たに入力した正規パルス幅データTsによって表されたパルス幅を変数qによって指定される負側パルス幅データTsn(q)として記憶する。
前記ステップS352,S358の処理後、スライスレベル計算回路22は、ステップS360にて変数rに「1」を加算して、ステップS362にて変数rが値R1(例えば、数十)以上であるかを判定する。変数nが値R1未満であれば、スライスレベル計算回路22は、ステップS362にて、「No」と判定して、ステップS340に戻る。以降、変数rが値R1に達するまで、スライスレベル計算回路22は、ステップS340〜S362の循環処理を実行し続ける。変数rが値R1に達すると、スライスレベル計算回路22は、ステップS362にて「Yes」と判定して、ステップS366に進む。なお、前記ステップS340〜S362の循環処理中、コンピュータ30から停止指令が入力された場合には、スライスレベル計算回路22は、ステップS342にて「Yes」と判定して、ステップS364にてこのスライスレベル計算プログラムの実行を終了する。
この状態では、スライスレベル計算回路22は、前記ステップS340〜S362の循環処理の開始時から、正規パルス幅計算回路19からのR1個の正規パルス幅データTsを入力したことになる。そして、この状態では、前記ステップS340〜S362の循環処理の開始時に正側積算パルス幅Tstp及び負側積算パルス幅Tstnとして積算したパルス幅に関する正規パルス幅データTsの最後の正規パルス幅データTsからR1個だけ進んだ正規パルス幅データTsから、過去に遡ってN3個の正規パルス幅データTsのうちで正側パルスに関するパルス幅の積算値が正側積算パルス幅Tstpとして計算されている。また、前記過去に遡ってN3個の正規パルス幅データTsのうちで負側パルスに関するパルス幅の積算値が負側積算パルス幅Tstnとして計算されている。
さらに、前記ステップS340〜S362の循環処理の開始時における正側パルス幅データTsp(1)〜Tsp(M1)のうちで、古い正側パルス幅データから順に、今回の前記ステップS340〜S362の循環処理によって正側積算パルス幅に加えられた正規パルス幅データTsに置き換えられる。また、前記ステップS340〜S362の循環処理の開始時における負側パルス幅データTsn(1)〜Tsp(N3−M1)のうちで、古い負側パルス幅データから順に、今回の前記ステップS340〜S362の循環処理によって負側積算パルス幅に加えられた正規パルスパルス幅データTsに置き換えられる。なお、値M1は、前述したステップS306〜S326の循環処理によって正側パルス幅データTsp(m)として記憶された正側パルス幅データの数である。値N3−M1は、前述したステップS306〜S326の循環処理によって負側パルス幅データTsn(q)として記憶された負側パルス幅データの数である。
ステップS366においては、スライスレベル計算回路22は、変数rを「0」にクリアする。次に、スライスレベル計算回路22は、ステップS368にて、正側積算パルス幅Tstpを負側積算パルス幅Tstnで除算することにより正負比率Du(=Tstp/Tstn)を計算して正負比率データDu(s)として記憶する。この場合、変数sは「1」であり、正負比率データDu(1)が記憶されることになる。前記ステップS368の処理後、スライスレベル計算回路22は、ステップS370にて、下記式2の演算の実行により、変数s(=1)によって指定される平均スライスレベルデータSLav(1)を計算して記憶する。
SLav(1)=(R1/N3)・SL(1)+((N3−R1)/N3)・SL(0) …式2
平均スライスレベルデータSLav(1)を計算する理由は、後述する回帰式SL=a・Du+bを用いて次のスライスレベルSLを計算するが、図20に示すように、前記回帰式中の正負比率Duが計算された際には、スライスレベルデータSL(1),SL(0)に基づいて計算されたパルス幅の積算値が用いられている。そして、これらのスライスレベルデータSL(1),SL(0)を用いて計算された正規パルス幅データTsの数の割合は、値R1/N3と値(N3−R1)/N3の比に等しいために、前記式2に従った平均スライスレベルデータSLav(1)の計算が必要となる。なお、図20は、値S1が「5」である場合を例示的に示している。
前記ステップS370の処理後、スライスレベル計算回路22は、ステップS372にて、スライスレベルSLを計算する。このスライスレベルSLの計算について説明すると、正負比率Duを用いて次のスライスレベルSLを計算する場合、前述のように、スライスレベルSLは正負比率Duの増加に従って直線的に増加する(図19(A)参照)。したがって、このスライスレベルSLの計算においては、図19(B)に示すように、回帰式SL=a・Du+bを想定する。そして、変数sが「1」である状態では、スライスレベルSL(0)、平均スライスレベルSLav(1)及び正負比率データDu(0),Du(1)を用いる。そして、この回帰式SL=a・Du+bにおける値a,bの決定においては、一般的に最小二乗法が利用される。
この場合、一般的には、複数のそれぞれ対応する正負比率Dui(Du1,Du2・・)及びスライスレベルSLi(SL1,SL2・・)を用いて、値a,bは次の式3,4によって計算される。
a=Σ(Dui−Duav)・(SLi−SLav)/Σ(Dui−Duav)2 …式3
b=SLav−a・Duav …式4
なお、値Duav及び値SLavは、正負比率Dui(Du1,Du2・・)及びスライスレベルSLi(SL1,SL2・・)の各平均値である。
再び、スライスレベル計算プログラムの説明に戻ると、スライスレベル計算回路22は、ステップS372において、まず、前記式3,4を用いて値a,bを計算する。この場合、変数sは「1」であるので、正負比率Duiとして前記記憶した正負比率データDu(0),Du(1)を用いるとともに、スライスレベルSLiとしてスライスレベルデータSL(0)及び平均スライスレベルデータSLav(1)を用いて、前記式3,4に従って値a,bを計算する。その後、回帰式SL=a・Du+bに正負比率Duとして「1」を代入してスライスレベルSLを計算する。そして、スライスレベル計算回路22は、計算したスライスレベルSLを、粗パルス幅計算回路17及び補正パルス幅計算回路18にそれぞれ出力する。粗パルス幅計算回路17は、この出力されたスライスレベルSLをラッチして、2値化回路17aによる以降の2値化演算に利用する。補正パルス幅計算回路18は、この出力されたスライスレベルSLをラッチして、クロス前後データ抽出回路18aによる以降のクロス前後のデータを抽出する演算に利用する。
前記ステップS372の処理後、スライスレベル計算回路22は、ステップS374にて変数sに「1」を加算し、ステップS376にて、変数sが値S1以上であるかを判定する。この場合、変数sは「2」であり、値S1は例えば「5」であるので、スライスレベル計算回路22は、ステップS376にて「No」と判定して、ステップS380に進む。ステップS380においては、スライスレベル計算回路22は、変数nが値N3以上であるかを判定する。この場合、前記ステップS336の処理によって変数nを「0」にクリアした後、前記ステップS340〜S362のR1回の循環処理によって変数nは値R1であり、値N3,R1,S1間にはN3=S1・R1なる関係があるので、変数nは値N3未満である。したがって、スライスレベル計算回路22は、ステップS380にて「No」と判定して、ステップS338に戻る。ステップS338においては、スライスレベル計算回路22は、前記ステップS372の処理によって計算したスライスレベルSLを、変数s(=2)によって指定されるスライスレベルデータSL(s)として記憶する。
前記ステップS338の処理後、スライスレベル計算回路22は、前記ステップS366の処理によって「0」にクリアした変数rが値R1に達するまで、前述したステップS340〜S362の循環処理を繰返し実行する。そして、変数rが値R1に達すると、スライスレベル計算回路22は、ステップS362にて「Yes」と判定して、このステップS340〜S362の循環処理を終了する。そして、この循環処理により、正規パルス幅計算回路19からの新たなR1個の正規パルス幅データTsが入力され、このR1個の正規パルス幅データTsを用いて、新たな正側積算パルス幅Tstp及び負側積算パルス幅Tstnが計算される。また、正側パルス幅データTsp(1)〜Tsp(M1)及び負側パルス幅データTsn(1)〜Tsp(N3−M1)のうち、正側及び負側を合わせてR1個のデータも、新たなものに更新される。
前記ステップS340〜S362の循環処理後、スライスレベル計算回路22は、ステップS366にて変数rを「0」にクリアした後、ステップS368にて、前記新たに計算した正側積算パルス幅Tstpと負側積算パルス幅Tstnを用いて、前述したように新たな正負比率Du(=Tstp/Tstn)を計算して正負比率データDu(s)として記憶する。この場合、変数sは「2」であり、正負比率データDu(2)が記憶されることになる。次に、スライスレベル計算回路22は、ステップS370にて、変数s(=2)によって指定される平均スライスレベルデータSLav(2)を計算して記憶する。この場合、前記正負比率Duが計算された際には、図20に示すように、スライスレベルデータSL(2),SL(1),SL(0)基づいて計算されたパルス幅の積算値が用いられている。そして、これらのスライスレベルデータSL(2),SL(1),SL(0)を用いて計算された正規パルス幅データTsの数の割合は、値R1/N3,R1/N3,(N3−2・R1)/N3の比に等しいために、平均スライスレベルデータSLav(3)の計算は、下記式5に従う。
SLav(2)=(R1/N3)・(SL(2)+SL(1))+((N3−2・R1)/N3)・SL(0)…式5
前記ステップS370の処理後、スライスレベル計算回路22は、ステップS372にてスライスレベルSLを再び計算する。このスライスレベルSLの計算においては、回帰式SL=a・Du+bの値a,bを、正負比率Duiとして前記記憶した正負比率データDu(0),Du(1),Du(2)を用いるとともに、スライスレベルSLiとしてスライスレベルデータSL(0)及び平均スライスレベルデータSLav(1),SLav(2)を用いて、前記式3,4に従って値a,bを計算する。その後、回帰式SL=a・Du+bに正負比率Duとして「1」を代入してスライスレベルSLを計算する。この場合も、スライスレベル計算回路22は、計算したスライスレベルSLを、粗パルス幅計算回路17及び補正パルス幅計算回路18にそれぞれ出力する。粗パルス幅計算回路17は、この出力されたスライスレベルSLをラッチして、2値化回路17aによる以降の2値化演算に利用する。補正パルス幅計算回路18は、この出力されたスライスレベルSLをラッチして、クロス前後データ抽出回路18aによる以降のクロス前後のデータを抽出する演算に利用する。
前記ステップS372の処理後、スライスレベル計算回路22は、ステップS374にて変数sに「1」を加算し、ステップS376にて変数sが値S1以上であるかを再び判定する。この場合、変数sは「3」であり、値S1は例えば「5」であるので、スライスレベル計算回路22は、ステップS376にて「No」と判定し、ステップS380にて変数nが値N3以上であるかを判定する。この場合、前記ステップS336の処理によって変数nを「0」にクリアした後、前記ステップS340〜S362の2・R1回の循環処理によって変数nは値2・R1であり、値N3,R1,S1間にはN3=S1・R1なる関係があるので、変数nは値N3未満である。したがって、スライスレベル計算回路22は、ステップS380にて「No」と判定して、ステップS338に再び戻る。ステップS338においては、スライスレベル計算回路22は、前記ステップS372の処理によって計算したスライスレベルSLを、変数s(=3)によって指定されるスライスレベルデータSL(s)として記憶する。
その後、スライスレベル計算回路22は、前記ステップS366の処理によって「0」にクリアした変数rが値R1に達するまで、前述したステップS340〜S362の循環処理を再び繰返し実行する。そして、変数rが値R1に達すると、スライスレベル計算回路22は、ステップS362にて「Yes」と判定して、このステップS340〜S362の循環処理を終了する。そして、この循環処理により、正規パルス幅計算回路19からの新たなR1個の正規パルス幅データTsが入力され、このR1個の正規パルス幅データTsを用いて、新たな正側積算パルス幅Tstp及び負側積算パルス幅Tstnが計算される。また、正側パルス幅データTsp(1)〜Tsp(M1)及び負側パルス幅データTsn(1)〜Tsp(N3−M1)のうち、正側及び負側を合わせてR1個のデータも、新たなものに更新される。
前記ステップS340〜S362の循環処理後、スライスレベル計算回路22は、ステップS366にて変数rを「0」にクリアした後、ステップS368にて、前記新たに計算した正側積算パルス幅Tstpと負側積算パルス幅Tstnを用いて、前述したように新たな正負比率Du(=Tstp/Tstn)を計算して正負比率データDu(s)として記憶する。この場合、変数sは「3」であり、正負比率データDu(3)が記憶されることになる。次に、スライスレベル計算回路22は、ステップS370にて、変数s(=3)によって指定される平均スライスレベルデータSLav(3)を計算して記憶する。この場合、前記正負比率Duが計算された際には、図20に示すように、スライスレベルデータSL(3),SL(2),SL(1),SL(0)に基づいて計算されたパルス幅の積算値が用いられている。そして、これらのスライスレベルデータSL(3),SL(2),SL(1),SL(0)を用いて算された正規パルス幅データTsの数の割合は、値R1/N3,R1/N3,R1/N3,(N3−3・R1)/N3の比に等しいために、平均スライスレベルデータSLav(3)の計算は、下記式6に従う。
SLav(3)=(R1/N3)・(SL(3)+SL(2)+SL(1))
+((N3−3・R1)/N3)・SL(0)…式6
前記ステップS370の処理後、スライスレベル計算回路22は、ステップS372にてスライスレベルSLを再び計算する。このスライスレベルSLの計算においては、回帰式SL=a・Du+bの値a,bを、正負比率Duiとして前記記憶した正負比率データDu(0),Du(1),Du(2),Du(3)を用いるとともに、スライスレベルSLiとしてスライスレベルデータSL(0)及び平均スライスレベルデータSLav(1),SLav(2),SLav(3)を用いて、前記式3,4に従って値a,bを計算する。その後、回帰式SL=a・Du+bに正負比率Duとして「1」を代入してスライスレベルSLを計算する。この場合も、スライスレベル計算回路22は、計算したスライスレベルSLを、粗パルス幅計算回路17及び補正パルス幅計算回路18にそれぞれ出力する。粗パルス幅計算回路17は、この出力されたスライスレベルSLをラッチして、2値化回路17aによる以降の2値化演算に利用する。補正パルス幅計算回路18は、この出力されたスライスレベルSLをラッチして、クロス前後データ抽出回路18aによる以降のクロス前後のデータを抽出する演算に利用する。
前記ステップS372の処理後、スライスレベル計算回路22は、ステップS374にて変数sに再び「1」を加算し、ステップS376にて変数sが値S1以上であるかを再び判定する。この場合、変数sは「4」であり、値S1は例えば「5」であるので、スライスレベル計算回路22は、ステップS376にて「No」と判定し、ステップS380にて変数nが値N3以上であるかを再び判定する。この場合、前記ステップS336の処理によって変数nを「0」にクリアした後、前記ステップS340〜S362の3・R1回の循環処理によって変数nは値3・R1であり、値N3,R1,S1間にはN3=S1・R1なる関係があるので、変数nは値N3未満である。したがって、スライスレベル計算回路22は、ステップS380にて「No」と判定して、ステップS338に再び戻る。ステップS338においては、スライスレベル計算回路22は、前記ステップS372の処理によって計算したスライスレベルSLを、変数s(=4)によって指定されるスライスレベルデータSL(s)として記憶する。
その後、スライスレベル計算回路22は、前記ステップS366の処理によって「0」にクリアした変数rが値R1に達するまで、前述したステップS340〜S362の循環処理を再び繰返し実行する。そして、変数rが値R1に達すると、スライスレベル計算回路22は、ステップS362にて「Yes」と判定して、このステップS340〜S362の循環処理を終了する。そして、この循環処理により、正規パルス幅計算回路19からの新たなR1個の正規パルス幅データTsが入力され、このR1個の正規パルス幅データTsを用いて、新たな正側積算パルス幅Tstp及び負側積算パルス幅Tstnが計算される。また、正側パルス幅データTsp(1)〜Tsp(M1)及び負側パルス幅データTsn(1)〜Tsp(N3−M1)のうち、正側及び負側を合わせてR1個のデータも、新たなものに更新される。
前記ステップS340〜S362の循環処理後、スライスレベル計算回路22は、ステップS366にて変数rを「0」にクリアした後、ステップS368にて、前記新たに計算した正側積算パルス幅Tstpと負側積算パルス幅Tstnを用いて、前述したように新たな正負比率Du(=Tstp/Tstn)を計算して正負比率データDu(s)として記憶する。この場合、変数sは「4」であり、正負比率データDu(4)が記憶されることになる。次に、スライスレベル計算回路22は、ステップS370にて、変数s(=4)によって指定される平均スライスレベルデータSLav(4)を計算して記憶する。この場合、前記正負比率Duが計算された際には、図20に示すように、スライスレベルデータSL(4),SL(3),SL(2),SL(1),SL(0)に基づいて計算されたパルス幅の積算値が用いられている。そして、この場合、値S1がこの例では「5」であり、かつ値N3,R1,S1はN3=R1・S1の関係にあり、変数sは「4」であるので、値(N3−4・R1)は値R1に等しい。したがって、前記スライスレベルデータSL(4),SL(3),SL(2),SL(1),SL(0)を用いて計算された正規パルス幅データTsの数の割合は、値R1/N3,R1/N3,R1/N3,R1/N3,R1/N3の比に等しく、平均スライスレベルデータSLav(4)の計算は下記式7に従う。
SLav(4)=(R1/N3)・(SL(4)+SL(3)+SL(2)+SL(1)+SL(0))…式7
前記ステップS370の処理後、スライスレベル計算回路22は、ステップS372にてスライスレベルSLを再び計算する。このスライスレベルSLの計算においては、回帰式SL=a・Du+bの値a,bを、正負比率Duiとして前記記憶した正負比率データDu(0),Du(1),Du(2),Du(3),Du(4)を用いるとともに、スライスレベルSLiとしてスライスレベルデータSL(0)及び平均スライスレベルデータSLav(1),SLav(2),SLav(3),SLav(4)を用いて、前記式3,4に従って値a,bを計算する。その後、回帰式SL=a・Du+bに正負比率Duとして「1」を代入してスライスレベルSLを計算する。この場合も、スライスレベル計算回路22は、計算したスライスレベルSLを、粗パルス幅計算回路17及び補正パルス幅計算回路18にそれぞれ出力する。粗パルス幅計算回路17は、この出力されたスライスレベルSLをラッチして、2値化回路17aによる以降の2値化演算に利用する。補正パルス幅計算回路18は、この出力されたスライスレベルSLをラッチして、クロス前後データ抽出回路18aによる以降のクロス前後のデータを抽出する演算に利用する。
前記ステップS372の処理後、スライスレベル計算回路22は、ステップS374にて変数sに再び「1」を加算し、ステップS376にて変数sが値S1以上であるかを再び判定する。この場合、変数sは「5」であり、値S1は例えば「5」であるので、スライスレベル計算回路22は、ステップS376にて「Yes」と判定し、ステップS378にて変数sを「0」にクリアする。次に、スライスレベル計算回路22は、ステップS380にて変数nが値N3以上であるかを再び判定する。この場合、前記ステップS336の処理によって変数nを「0」にクリアした後、前記ステップS340〜S362の4・R1回の循環処理によって変数nは値4・R1であり、値N3,R1,S1間にはN3=S1・R1なる関係があるので、変数nは値N3未満である。したがって、スライスレベル計算回路22は、ステップS380にて「No」と判定して、ステップS338に再び戻る。ステップS338においては、スライスレベル計算回路22は、前記ステップS372の処理によって計算したスライスレベルSLを、変数s(=0)によって指定されるスライスレベルデータSL(s)として記憶する。
その後、スライスレベル計算回路22は、前記ステップS366の処理によって「0」にクリアした変数rが値R1に達するまで、前述したステップS340〜S362の循環処理を再び繰返し実行する。そして、変数rが値R1に達すると、スライスレベル計算回路22は、ステップS362にて「Yes」と判定して、このステップS340〜S362の循環処理を終了する。そして、この循環処理により、正規パルス幅計算回路19からの新たなR1個の正規パルス幅データTsが入力され、このR1個の正規パルス幅データTsを用いて、新たな正側積算パルス幅Tstp及び負側積算パルス幅Tstnが計算される。また、正側パルス幅データTsp(1)〜Tsp(M1)及び負側パルス幅データTsn(1)〜Tsp(N3−M1)のうち、正側及び負側を合わせてR1個のデータも、新たなものに更新される。
前記ステップS340〜S362の循環処理後、スライスレベル計算回路22は、ステップS366にて変数rを「0」にクリアした後、ステップS368にて、前記新たに計算した正側積算パルス幅Tstpと負側積算パルス幅Tstnを用いて、前述したように新たな正負比率Du(=Tstp/Tstn)を計算して正負比率データDu(s)として記憶する。この場合、変数sは「0」であり、正負比率データDu(0)が記憶されることになる。次に、スライスレベル計算回路22は、ステップS370にて、変数s(=0)によって指定される平均スライスレベルデータSLav(0)を計算して記憶する。この場合、前記正負比率Duが計算された際には、図20に示すように、スライスレベルデータSL(0),SL(4),SL(3),SL(2),SL(1)に基づいて計算されたパルス幅の積算値が用いられている。そして、これらのスライスレベルデータSL(0),SL(4),SL(3),SL(2),SL(1)を用いて計算された正規パルス幅データTsの数の割合は、値R1/N3,R1/N3,R1/N3,R1/N3,R1/N3の比に等しいため、平均スライスレベルデータSLav(0)の計算は、下記式8に従う。
SLav(0)=(R1/N3)・(SL(0)+SL(4)+SL(3)+SL(2)+SL(1))…式8
前記ステップS370の処理後、スライスレベル計算回路22は、ステップS372にてスライスレベルSLを再び計算する。このスライスレベルSLの計算においては、回帰式SL=a・Du+bの値a,bを、正負比率Duiとして前記記憶した正負比率データDu(0),Du(1) ,Du(2) ,Du(3) ,Du(4)を用いるとともに、スライスレベルSLiとして平均スライスレベルデータSLav(0),SLav(1),SLav(2)
,SLav(3) ,SLav(4)を用いて、前記式3,4に従って値a,bを計算する。その後、回帰式SL=a・Du+bに正負比率Duとして「1」を代入してスライスレベルSLを計算する。この場合も、スライスレベル計算回路22は、計算したスライスレベルSLを、粗パルス幅計算回路17及び補正パルス幅計算回路18にそれぞれ出力する。粗パルス幅計算回路17は、この出力されたスライスレベルSLをラッチして、2値化回路17aによる以降の2値化演算に利用する。補正パルス幅計算回路18は、この出力されたスライスレベルSLをラッチして、クロス前後データ抽出回路18aによる以降のクロス前後のデータを抽出する演算に利用する。
前記ステップS372の処理後、スライスレベル計算回路22は、ステップS374にて変数sに再び「1」を加算し、ステップS376にて変数sが値S1以上であるかを再び判定する。この場合、変数sは「1」であり、値S1は例えば「5」であるので、スライスレベル計算回路22は、ステップS376にて「No」と判定し、ステップS380にて変数nが値N3以上であるかを再び判定する。この場合、前記ステップS336の処理によって変数nを「0」にクリアした後、前記ステップS340〜S362の5・R1回の循環処理によって変数nは値5・R1であり、値N3,R1,S1間にはN3=S1・R1なる関係があるので、変数nは値N3に等しくなる。したがって、スライスレベル計算回路22は、ステップS380にて「Yes」と判定して、ステップS382に進む。ステップS382においては、スライスレベル計算回路22は、前記ステップS336と同様に、変数n,m,qを「0」にクリアして、ステップS338に再び戻る。ステップS338においては、スライスレベル計算回路22は、前記ステップS372の処理によって計算したスライスレベルSLを、変数s(=1)によって指定されるスライスレベルデータSL(s)として記憶する。
前記ステップS338の処理後、スライスレベル計算回路22は、ステップS340〜S362の循環処理をR1回だけ実行するごとに、ステップS366〜S380の処理を実行して、ふたたびステップS338の処理及びステップS340〜S362の循環処理をR1回だけ実行する。このようなステップS338〜S380の処理中、変数sが値S1(例えば「5」)に達するごとに、変数sは「0」に戻される。したがって、変数sは、0〜4にわたって繰り返し変化する。そして、ステップS338〜S380の処理により、正負比率データDu(s)、平均スライスレベルデータSLav(s)及びスライスレベルデータSL(s)は、0〜4に渡って順次更新される。そして、変数nが値N3になるごとに、ステップS380,S382の処理により、変数n,m,qが「0」にクリアされて、ステップS338〜S382の処理が実行される。このような、ステップS338〜S382の処理により、作業者によって検査終了が指示されるまで、スライスレベル計算回路22は、スライスレベルSLを順次更新しながら、粗パルス幅計算回路17及び補正パルス幅計算回路18にそれぞれ出力する。
そして、前記ステップS338〜S382の循環処理中、コンピュータ30から停止指令が入力された場合には、スライスレベル計算回路22は、ステップS342にて「Yes」と判定して、ステップS364にてこのスライスレベル計算プログラムの実行を終了する。
i.実施形態による効果
補正パルス幅計算回路18が粗パルス計算回路17による粗パルス幅Tbの計算と並行して補正時間Tcを計算し、正規パルス幅計算回路19が、前記計算した粗パルス幅Tbと補正パルス幅Tcを用いて正規パルス幅データTsを計算する。したがって、正規パルス幅データTsを計算するまでの時間を短縮することができるとともに、ジッタの測定に要する時間を短縮できる。また、この補正パルス幅Tcの計算においては、データ変換回路18bが、スライスレベルSLを跨ぐ直前及び直後のサンプリングデータSDの値と、スライスレベルSLとの各差をそれぞれ表す差データV1,V2を、両差データV1,V2の比を同一に保ったまま、ビット数の少ない7ビットのデータに変換する。そして、補正時間計算回路18cは、予め記憶されている換算テーブルを参照することにより、前記変換した差データV1,V2を用いて補正時間Tcを計算する。これにより、スライスレベルSLを跨ぐ直前及び直後のサンプリングデータSDの値と、スライスレベルSLとの各差を表す差データV1,V2の比の精度を高く保ったまま、補正時間Tcを高精度かつ短時間で計算できる。
また、スライスレベル計算回路22は、正規パルス幅データTsを入力するごとに、スライスレベルSLの正側パルス幅の積算値Tstp及び負側パルス幅の積算値Tstnを計算し、所定数R1の正規パルス幅データTsを入力するごとに前記正側パルス幅の積算値Tstpと負側パルス幅の積算値Tstnとの比である正負比率Duを計算し、前記計算した正負比率Duが「1」となるようにスライスレベルSLを変更する。これにより、再生アナログ信号の信号レベルが変動しても、スライスレベルSLは、この信号レベルの変動に応じて時間変化するので、負側パルス幅と正側パルス幅が常に高精度で検出され、正規パルス幅データTsの測定精度が常に高精度に保たれる。
また、単位信号長計算回路20は、正規パルス幅データTsを用いて単位信号長1Tのパルス幅Taveを計算し、ジッタ計算回路21が、正規パルス幅データTsを計算順に並べた2値化パルス信号のエッジと、単位信号長1Tのパルス幅Taveのパルス信号を並べたクロック信号のエッジとの各ずれ量を用いてジッタを計算する。これにより、実際の信号としてクロック信号を作成する必要がないために、PLL回路が不要となり、測定装置のコストを低減できる。さらに、単位信号長計算回路20は、正規パルス幅計算回路19により計算された新たな正規パルス幅データTsを入力するごとに、前記新たな正規パルス幅データTsを含む所定数N1の正規パルス幅データTsを用いて単位信号長1Tのパルス幅Taveを計算する。これにより、クロック信号を常に再生アナログ信号の周波数に合わせて作成でき、高精度でジッタを測定できる。
j.変形例
さらに、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
上記実施形態においては、正規パルス幅計算回路19においては、図12(A)に示すように、スライスレベルSLを跨いだ直後のサンプリングデータSDの取得タイミングから、次にスライスレベルSLを跨いだ直後のサンプリングデータSDの取得タイミングまでの時間を粗パルス幅Tbとし、再生アナログ信号がスライスレベルSLとクロスしたタイミングから直後にスライスレベルSLを跨いだサンプリングデータSDの取得タイミングまでの時間を前補正時間Tc1とし、かつ次に再生アナログ信号がスライスレベルSLとクロスしたタイミングから直後にスライスレベルSLを跨いだサンプリングデータSDの取得タイミングまでの時間を後補正時間Tc2として、式Ts=Tb+Tc1−Tc2の演算の実行により正規パルス幅データTsを計算するようにした。
しかし、これに代えて次のような方法を採用することもできる。図12(B)に示すように、スライスレベルSLを跨ぐ直前のサンプリングデータSDの取得タイミングから、次にスライスレベルSLを跨いだ直後のサンプリングデータSDの取得タイミングまでの時間を粗パルス幅Tbとする。前記スライスレベルSLを跨ぐ直前のサンプリングデータSDの取得タイミングから直後に再生アナログ信号がスライスレベルSLとクロスしたタイミングまでの時間を前補正時間Tc1とし、かつ上記実施形態と同様な後補正時間Tc2を採用する。そして、式Ts=Tb−Tc1−Tc2の演算の実行により正規パルス幅データTsを計算する。この場合も、前補正時間Tc1及び後補正時間Tc2は、スライスレベルSLを跨いだ直前及び直後の2つのサンプリングデータSDをそれぞれ用いた上記実施形態と同様な補間演算により計算する。
また、図12(C)に示すように、スライスレベルSLを跨いだ直後のサンプリングデータSDの取得タイミングから、次にスライスレベルSLを跨ぐ直前のサンプリングデータSDの取得タイミングまでの時間を粗パルス幅Tbとする。上記実施形態と同様な前補正時間Tc1を採用し、スライスレベルSLを跨ぐ直前のサンプリングデータSDの取得タイミングから直後に再生アナログ信号がスライスレベルSLとクロスしたタイミングまでの時間を前補正時間Tc2とする。そして、式Ts=Tb+Tc1+Tc2の演算の実行により正規パルス幅データTsを計算する。この場合も、前補正時間Tc1及び後補正時間Tc2は、スライスレベルSLを跨いだ直前及び直後の2つのサンプリングデータSDをそれぞれ用いた上記実施形態と同様な補間演算により計算する。
また、図12(D)に示すように、スライスレベルSLを跨ぐ直前のサンプリングデータSDの取得タイミングから、次にスライスレベルSLを跨ぐ直前のサンプリングデータSDの取得タイミングまでの時間を粗パルス幅Tbとする。前記スライスレベルSLを跨ぐ直前のサンプリングデータSDの取得タイミングから直後に再生アナログ信号がスライスレベルSLとクロスしたタイミングまでの時間を前補正時間Tc1とし、かつスライスレベルSLを跨ぐ直前のサンプリングデータSDの取得タイミングから直後に再生アナログ信号がスライスレベルSLとクロスしたタイミングまでの時間を前補正時間Tc2とする。そして、式Ts=Tb−Tc1+Tc2の演算の実行により正規パルス幅データTsを計算する。この場合も、前補正時間Tc1及び後補正時間Tc2は、スライスレベルSLを跨いだ直前及び直後の2つのサンプリングデータSDをそれぞれ用いた上記実施形態と同様な補間演算により計算する。
また、上記実施形態においては、補正パルス幅計算回路18は、換算テーブルを参照して差データV1,V2に対応した補正係数Xを導出し、この補正係数XにA/D変換器15によるA/D変換の周期(クロック信号発生回路16からのクロック信号の周期)である時間値Tiを乗算して補正時間Tcを計算した。しかし、時間値Tiは固定値であるため、換算テーブルに、前記補正係数Xに時間値Tiを乗算した値X・Tiを予め記憶しておき、換算テーブルを参照して差データV1,V2に対応した補正時間Tcを直接導出するようにしてもよい。
また、上記実施形態においては、粗パルス幅計算回路17及び補正パルス幅計算回路18において、前記時間値Tiを用いて、粗パルス幅Tb及び補正時間Tcをそれぞれ計算した。しかし、時間値Tiは前述のように固定値であるため、時間値Tiを乗算しない値n及び補正係数Xを粗パルス幅Tb及び補正時間Tcとして計算してもよい。この場合、正規パルス幅計算回路19及び単位信号長計算回路20で計算される正規パルス幅データTs及び単位時間Taveも時間値Tiを乗算しない値である。そして、この場合には、表示装置32にジッタを表示する際に時間値Tiを乗算するとよい。
また、上記実施形態においては、換算テーブルを用いて補正時間Tcを計算したが、ジッタを表す値が算出されるまでの時間を遅くしてもよい場合には、これに代えて、V2/(V1+V1)=Tc/Tiの計算式からV1,V2を使って補正時間Tcを計算するようにしてもよい。これによれば、正規パルス幅データTs及びジッタを表す値が算出されるまでの時間は遅くなるが、再生アナログ信号の瞬時値を表すサンプリングデータを1つのプログラム処理で処理するよりは速くすることができる。
また、上記実施形態においては、単位信号長計算回路20で単位時間Taveを順次計算して(仮想上のクロック信号を生成して)、ジッタ計算回路21に出力するようにしたが、装置のコストを重要視しなければ、これに代えて、再生アナログ信号から2値化信号を作成し、この2値化信号からPLL回路でクロック信号を作成して、このクロック信号の1周期の時間データを随時取得してジッタ計算回路21に供給するようにしてもよい。これによっても、ジッタを表す値が算出されるまでの時間を短くできる。
また、上記実施形態においては、正側パルスのパルス幅の積算値Tstpと負側パルスのパルス幅の積算値Tstnの比である正負比率Duが「1」になるようにスライスレベルSLを随時計算して新たなスライスレベルSLを設定するようにした。しかし、短期間における再生アナログ信号のレベル変動が無視できるほど小さい場合は、前記両積算値Tstp,Tstnの比である正負比率Duが「1」になるように一度スライスレベルSLを設定すれば、そのスライスレベルSLを保持するようにしてもよい。また、長期間における再生アナログ信号のレベル変動が無視できるほど小さい場合は、スライスレベルSLを固定するようにしてもよい。
また、上記実施形態においては、粗パルス幅計算回路17、補正パルス幅計算回路18、正規パルス幅計算回路19、単位信号長計算回路20、ジッタ計算回路21及びスライスレベル計算回路22を、FPGAのように、プログラム処理が可能な回路により構成した。しかし、これに代えて、これらの回路17〜22を、純粋なハード回路により構成してもよい。また、これらの回路17〜22を、粗パルス幅計算回路17及び補正パルス幅計算回路18の計算処理が平行に行われることを条件に、通常のプログラム処理を行うコンピュータで構成してもよい。
また、上記実施形態においては、光ディスクに記録されたディジタルデータをアナログ再生した際のパルス幅及びジッタを測定するようにした。しかし、光ディスク以外の記録媒体に所定の変調規則に従った種々の信号長を含むディジタルデータが記録されていて、このディジタルデータをアナログ再生した再生アナログ信号に複数の信号長のパルス信号が含まれるならば、光ディスク以外の種々の記録媒体に対しても本発明は適用できる。