以下、図面について、本発明の一実施の形態を詳述する。
(1)第1の実施の形態
(1−1)位相同期部の構成
図28との対応部分に同一符号を付して示す図1において、位相同期部30は、AGC(Auto Gain Control)回路5(図26)から供給されるアナログの入力信号Siを基に、4並列化されたPR等化データDeを生成し、これを統一イネーブル信号eu(詳しくは後述する)と共に後段の最尤復号器9(図26)へ供給するようになされている。
アナログ・ディジタル(A/D)変換器11は、位相同期部6(図27)及び位相同期部20(図28)の場合と同様、発振器12から供給される所定周波数のクロック信号CLKに基づいて動作し、入力信号Siを標本化することによりディジタルの入力データDsを生成し、これをシリアルパラレル変換回路21へ供給する。
ちなみにアナログ・ディジタル変換器11は、以降の処理においてITR(Interpolated Timing Recovery)に基づいたタイミング調整や補間等を行うため、入力信号Siに含まれる本来のデータにおけるサンプリングレートよりも速いサンプリングレートで標本化を行い、本来のデータよりも多いサンプル数でなるデータを生成するようになされている。
またアナログ・ディジタル変換回路11は、図2(A)〜図4(A)に示すように、生成した入力データDsに連続した番号(以下これをデータ番号と呼ぶ)を付すことにより、各データの順序を識別し得るようになされている。
シリアルパラレル変換回路21は、シリアルの入力データDsを4チャンネルに順次パラレル化することにより、図2(B)〜図4(B)に示すようにパラレル入力データDp0〜Dp3を生成し、これらをインターポレータ23へ供給する。
この結果、例えば入力データDsの周期が400[MHz]であった場合、当該入力データDsを4チャンネルに並列化することにより、パラレル入力データDpにおける各チャンネルの周期をそれぞれ100[MHz]に落とすことができる。なお、以下では1つのチャンネルにおけるパラレル入力データDpの周期をタイムスロットと呼ぶ。
インターポレータ23は、補間処理を4系統並列に行い得るようになされており、タイミング制御部27から供給される4種類のサンプリング位相μ0〜μ3に基づき、パラレル入力データDp0〜Dp3に対して補間処理を行うことにより、図2(C)〜図4(C)に示すようにそれぞれ補間データDi0〜Di3を生成し、これらをモジュロセレクタ31へ供給する。
モジュロセレクタ31は、タイミング制御部27から供給される4種類のイネーブル信号en0〜en3に基づき、4系統の補間データDi0〜Di3を並べ換えることにより4系統の再割当データDr0〜Dr3を生成し、これらをPR等化器24へ送出する(詳しくは後述する)。
またモジュロセレクタ31は、再割当データDr0〜Dr3に合わせて、各回路の稼動又は停止を制御する統一イネーブル信号euを生成し、これをPR等化器24、位相検出器25、LPF26及び後段の最尤復号器9(図26)へ供給するようになされている。
PR等化器24は、モジュロセレクタ31から供給された再割当データDr0〜Dr3に対して4系統並列にそれぞれ所定のPR等化処理を施すことにより4系統のPR等化データy0〜y3を生成し、これらを位相検出器25及び後段の最尤復号器9へ送出する。
位相検出器25は、位相比較処理を4系統並列に行い得るようになされており、PR等化器24から供給されたPR等化データy0〜y3における現位相と、所定の目標位相とのそれぞれの位相誤差Δτ0〜Δτ3を検出し、これらをLPF26へ供給する。
LPF26は、低域成分抽出処理を4系統並列に行い得るようになされており、位相検出器25から供給される位相誤差Δτ0〜Δτ3からそれぞれ低域成分を抽出することによりサンプリング位相差Δμ0〜Δμ3を生成し、これらをタイミング制御部27へ供給する。
またPR等化器24、位相検出器25及びLPF26は、モジュロセレクタ31から供給される統一イネーブル信号euに基づき、それぞれ4系統の信号処理を一斉に稼動させ、又は一斉に停止させるようになされている。
タイミング制御部27は、LPF26から供給されるサンプリング位相差Δμ0〜Δμ3を基に、インターポレータ23において入力データパイプライン動作とFIR(Finite Impulse Response)フィルタのタップ係数とを決定するためのタイミング情報μ0〜μ3を4系統並列に生成し、これらをインターポレータ23へ供給する。
またタイミング制御部27は、サンプリング位相差Δμ0〜Δμ3を基に各系統毎のイネーブル信号en0〜en3を生成し、それぞれインターポレータ23及びモジュロセレクタ31へ供給するようになされている。
このように位相同期部30は、1系統の入力データDsを4系統にパラレル化し、4系統並列に補間処理やPR等化処理等の各信号処理を行うと共に、モジュロセレクタ31においてデータの並べ換えを行い、また1系統の統一イネーブル信号euを生成するようになされている。
(1−2)モジュロセレクタの構成
(1−2−1)基本原理
まず、本発明の基本原理について説明する。上述したようにアナログ・ディジタル変換器11は、入力信号Siに含まれるデータの本来のサンプリングレートよりも速いサンプリングレートで標本化を行うため、本来のデータよりも多いサンプル数のデータを生成する。
しかしながら最終的に必要なデータのサンプル数は、本来のデータと同一であれば良いため、超過分のデータは不要となる。すなわち入力データDsには、必要データと共に不要データが含まれていることになる。
この不要データに対処すべく、位相同期部30では、タイミング制御部27においてサンプリング位相差Δμ0〜Δμ3の累積値等を基に生成されるイネーブル信号en0〜en3により、データの要・不要を表すようになされている。すなわち位相同期部30では、各チャンネル毎に、イネーブル信号enの信号レベルが「high」であるとき、インターポレータ23から出力された補間データDiが必要データであることを意味し、一方イネーブル信号enの信号レベルが「low」であるとき、インターポレータ23から出力された補間データDiが不要データであることを意味している。
また位相同期部30は、インターポレータ23、モジュロセレクタ31、PR等化器24、位相検出器25、LPF26及びタイミング制御部27により形成されるループ回路がディジタルPLL(Phase Locked Loop)の役割を果たしているため、随時タイミングの調整(すなわち不要データの決定)を行うことにより、当該位相同期部30が最終的に出力するPR等化データy0〜y3の送出間隔を所定の目標値に合わせるようになされている。
この結果、位相同期部30では、例えば図2〜図4に示したように、不要データ(図中に斜線で示す)が必要データ(図中に白抜きで示す)の中に不定期に混合した状態となる。
ちなみに位相同期部30において、各データが必要データ又は不要データのいずれであるかはインターポレータ23で確定するため、入力データDs及びパラレル入力データDp0〜Dp3の段階では各データが必要データ又は不要データのいずれであるか未確定であるが、説明の便宜上、図2〜図4の当該入力データDs及びパラレル入力データDp0〜Dp3についても、補間データDi0〜Di3に対応付けて不要データを斜線で示してある。
ここでモジュロセレクタ31(図1)は、図2(C)〜図4(C)及び図2(D)〜図4(D)に示したように、補間データDi0〜Di3に不定期に含まれる不要データ(データDt8、Dt20、Dt32及びDt43)を取り除き、他のデータ(必要データ)の番号順を維持したまま当該必要データをチャンネル間で前詰めに再割当し、また取り除いた分の不要データの代わりとなるダミーデータDdを各チャンネルの同一タイムスロットに割り当てることにより、再割当データDr0〜Dr3を生成するようになされている。
すなわちモジュロセレクタ31は、不定期に混合していた不要データを全チャンネルの同一タイムスロットに割り当て直すことにより、必要データの順序を維持したまま、各チャンネルにおける不要データのタイミングを統一することができる。
これを言い換えれば、モジュロセレクタ31は、補間データDi0〜Di3に不定期に含まれる不要データを除外して必要データのみを順次前詰めして再割当データDr0〜Dr3として出力し、除外した不要データの数がチャンネル数N(この場合は4チャンネル)に達した時点で当該除外した不要データに相当するダミーデータDdを補間データDi0〜Di3として各チャンネルから同時に出力することになる。
またモジュロセレクタ31は、再割当データDr0〜Dr3に合わせて、必要データを出力する際に「high」レベルとし、また不要データを出力する際に「low」レベルとする統一イネーブル信号euを生成するようになされている。
すなわちモジュロセレクタ31は、再割当データDr0〜Dr3が必要データ又は不要データのいずれであるかを表す統一イネーブル信号euを生成し出力することにより、後段の各処理回路における稼動又は停止を全チャンネルについて一括制御することができる。
このように本発明では、モジュロセレクタ31によって各チャンネルに対する必要データの再割当を行い、各チャンネルにおける不要データのタイムスロットを統一することにより、信号処理の簡略化を図るようになされている。
(1−2−2)データ格納メモリ及びイネーブル情報格納メモリの構成
実際上モジュロセレクタ31は、上述したデータの再割当を行うべく、図5(A)に示す入力データDs及び図5(B)に示すNチャンネルのパラレル入力データDpに対応付けて、図5(C)に示すようなN行×M列(列数Mについては後述する)のマトリックス構成でなるデータ格納メモリMD及び図5(D)に示すようなN行×M列のマトリックス構成でなるイネーブル情報格納メモリMEを有している。
データ格納メモリMDは、各行が各チャンネルに対応付けられており、1セルに1データが格納されるようになされている。またデータ格納メモリMDの各セルには、「0」から「N×M−1」までの連続した番号(以下、これをデータセル番号と呼ぶ)が割り振られており、当該データセル番号は1行1列を「0」として行方向に「1」ずつ加算され、また列方向に「N」ずつ加算されるようになされている。
イネーブル情報格納メモリMEは、データ格納メモリMDと同様に各行が各チャンネルに対応付けられており、各セルにはイネーブル信号enの「high」又は「low」に対応したイネーブル情報として「1」又は「0」が格納されるようになされている。またイネーブル情報格納メモリMEの各セルには、「0」から「N×M−1」までの連続した番号(以下、これをイネーブル情報セル番号と呼ぶ)が割り振られており、当該イネーブル情報セル番号は、データセル番号と同様に1行1列が「0」となされ、行方向に「1」ずつ加算され、また列方向に「N」ずつ加算されるようになされており、データセル番号と対応するようになされている。
なお説明の便宜上、以下ではデータセル番号xに格納されたデータをデータdc[x]と呼び、またイネーブル情報セル番号zに格納されたイネーブル情報をイネーブル情報ec[z]と呼ぶ。
ところでモジュロセレクタ31は、各タイムスロットにおいて、インターポレータ23から並列に供給される補間データDiをチャンネル番号順に順次データ格納メモリMDに格納し、当該データ格納メモリMDに格納されたデータの中から、各チャンネルから再割当データDrとして出力すべきN個の必要データを選択するようになされている。
このときデータ格納メモリMDには、まだ再割当されていない必要データ(N×M個以下)と、以前のタイムスロットで既に再割当された必要データ(0個以上(N−1)個以下)と、不要データとが格納されていることになる。
ここで、データ格納メモリMDに格納される不要データの数は、全データに対する不要データの出現率、すなわち入力信号Si(図1)の本来のデータレートに対するアナログ・ディジタル変換器11におけるサンプリングレートの割合(いわゆるオーバーサンプリングレートε)に応じて定まることになる。例えばオーバーサンプリングレートεが105[%]であった場合、おおよそデータ20個に対して不要データが1個の割合で出現することになる。
またモジュロセレクタ31は、このタイムスロットにおいて全チャンネル分(N個)の必要データを再割当する場合、不要データ及び既に割当済の必要データを飛ばして未割当の必要データのみをN個選択するため、N個のデータが格納された第1スロットのみではデータ数が不足する可能性があり、この場合第2スロットや第3スロットから必要データを再割当することになる。
このためモジュロセレクタ31では、オーバーサンプリングレートεとチャンネル数Nとに基づき、データ格納メモリMD及びイネーブル情報格納メモリMEの列数Mを予め決定しておく。ここで列数Mの下限値は、不要データが存在し得ることを考慮して、最低2列となる。
例えばチャンネル数Nが4であれば、仮にデータ格納メモリMDのセル数を最小にした場合、図6に示すように、データ格納メモリMDのセル数は4×2=8個となる。ここでオーバーサンプリングレートεが105[%]であった場合、おおよそデータ20個に対して不要データが1個の割合で出現するため、データ格納メモリMDの8個のセルに格納される不要データの数は、実質0個又は1個と考えられる。さらに、データ格納メモリMDの8個のセルに格納されたデータのうち、以前のタイムスロットで既に再割当された必要データの数は、0個〜3個(すなわちN−1個)となる。
これらを考慮すると、データ格納メモリMDの8個のセルにおいて未割当の必要データが最も少ないのは、不要データが1個、割当済の必要データが3個の場合であり、このとき当該未割当の必要データは4個となり、チャンネル数と同数となる。
すなわちモジュロセレクタ31は、列数M=2であれば、データ格納メモリMDの8個のセルに格納されたデータの中から、未割当の必要データを確実に4個(すなわちチャンネル数分)選択することができ、これらを各チャンネルに再割当して再割当データDr0〜Dr3として出力することができる。
ちなみにモジュロセレクタ31は、オーバーサンプリングレートεが比較的大きく、不要データの割合が高い場合等、データ格納メモリMDの(N×2)個のセルに未割当の必要データがN個未満となる可能性がある場合には、列数Mを増加しておくことにより(例えばM=3等)、データ格納メモリMDの(N×M)個のセルに未割当の必要データを必ずN個以上含ませることができる。
またモジュロセレクタ31は、時刻が経過しタイムスロットが切り替わる度に、第1スロットの全データを削除し、第2〜第Mスロットの各データを先頭側へ(すなわち図中の左方向へ)1列ずつ移動させ、末尾列(すなわち第Mスロット)に新たな補間データDiをそれぞれ格納することにより、データ格納メモリMDのデータを1列ずつシフトするようになされている。
このようにモジュロセレクタ31では、オーバーサンプリングレートεとチャンネル数Nとを基に決定した列数Mでなる、N行M列のデータ格納メモリMD及びN行M列のイネーブル情報格納メモリMEを用いることにより、必要データを各チャンネルに再割当して再割当データDrとして出力するようになされている。
(1−2−3)モジュロセレクタの処理
モジュロセレクタ31は、図7に示すように、補間データDiを取得してデータ格納メモリMDに格納すると共にイネーブル信号enを取得してイネーブル情報格納メモリMEに格納し、さらに当該データ格納メモリMD及び当該イネーブル情報格納メモリMEを基に再割当データDrを決定して出力するデータ再割当部41と、不要データの積算値を基にダミーデータDdを再割当データDrとして出力するダミーデータ出力部42と、再割当データDrとして出力するデータが必要データであるかダミーデータDdであるかに応じて統一イネーブル信号euを生成する統一イネーブル信号生成部43とにより構成されている。
データ再割当部41は、1タイムスロット毎にインターポレータ23から供給される補間データDiを取得すると、データ格納メモリMDにおける既存の全データを1列ずつ先頭側へシフトして当該取得した補間データDiを末尾列に格納し、またタイミング制御部27から供給されるイネーブル信号enを取得すると、イネーブル情報格納メモリMEにおける既存の全イネーブル情報を1列ずつ先頭側へシフトして当該取得したイネーブル信号enに基づくイネーブル情報を末尾列に格納するようになされている。
またデータ再割当部41は、データ格納メモリMD及びイネーブル情報格納メモリMEを参照しながら、後述する再割当データ出力処理に従って再割当データDrを決定して後段のPR等化器24へ出力するようになされている。
ダミーデータ出力部42は、データ再割当部41の再割当データ出力処理によって検出された不要データの積算数がチャンネル数Nを越えた時点で、全チャンネルに再割当データDrとしてダミーデータDdを割り当てるようになされている。
統一イネーブル信号生成部43は、データ再割当部41において検出された不要データの積算数に応じて統一イネーブル信号euを「high」レベル又は「low」レベルに切り換えるようになされている。
(1−2−4)再割当データ出力処理
実際上モジュロセレクタ31は、1タイムスロット毎に、図8に示すフローチャートに従って再割当データDrを出力するようになされており、以下、このときの再割当データ出力処理手順RT1について説明する。
モジュロセレクタ31は、インターポレータ23から新たな補間データDi0〜Di3が供給された時点で再割当データ出力処理手順RT1を開始し、ステップSP1へ移る。
ステップSP1においてモジュロセレクタ31は、新たに供給された補間データDi0〜Di3及びタイミング制御部27から供給されたイネーブル信号en0〜en3を用いてデータ格納メモリMD及びイネーブル情報格納メモリMEをそれぞれ1列ずつシフトさせて更新し、チャンネル0の再割当データDr0を決定するべく次のサブルーチンSRT1へ移る。
この場合モジュロセレクタ31は、図9に示すチャンネル0の再割当データ決定処理手順SRT1を開始し、次のステップSP11へ移る。ステップSP11においてモジュロセレクタ31は、既に割当済のデータセル番号を飛ばすための変数ir0にディスエーブル積算回数dの値を代入し、またカウンタ用の変数jに「0」を代入することにより初期化し、次のステップSP12へ移る。
ここでディスエーブル積算回数dは、直前のタイムスロットまでに不要メモリを検出した回数を表す変数であり、再割当データ出力処理手順RT1の終了後も保持されるようになされている。またこのディスエーブル積算回数dは、データ格納メモリMDに格納されたデータのうち既に割当済のデータの数に相当する。
ステップSP12においてモジュロセレクタ31は、イネーブル情報格納メモリMEのイネーブル情報ec[ir0+j]が1であるか否かを判定する。ここで否定結果が得られると、このことはデータ格納メモリMDのデータdc[ir0+j]が不要データであるため、当該データdc[ir0+j]を再割当データDr0として出力するべきではないことを表しており、このときモジュロセレクタ31は次のステップSP13へ移る。
ステップSP13においてモジュロセレクタ31は、次のデータdc[]について不要データであるか否かを判定するべく、変数jをインクリメントして再度ステップSP12へ戻る。
一方ステップSP12において肯定結果が得られると、このことはデータ格納メモリMDのデータdc[ir0+j]が必要データであることを表しており、このときモジュロセレクタ31は次のステップSP14へ移る。
ステップSP14においてモジュロセレクタ31は、再割当データDr0として出力すべきデータのデータセル番号を表す変数i0に(ir0+j)を代入すると共に、次のチャンネル1の再割当データを決定する際に割当済のデータを飛ばすための変数d0に(d+j)を代入して、次のステップSP15へ移る。
ステップSP15においてモジュロセレクタ31は、データ格納メモリMDにおけるデータセル番号i0のデータdc[i0]を再割当データDr0として決定し、次のステップSP16へ移ってこのチャンネル0の再割当データ決定処理手順SRT1を終了することにより元の再割当データ出力処理手順RT1(図8)へ戻り、次のステップSP3へ移る。
ステップSP2においてモジュロセレクタ31は、チャンネルを表す変数xに初期値「1」を代入し、チャンネル1以降の再割当データDrを決定するべく次のサブルーチンSRT2へ移る。
この場合モジュロセレクタ31は、図8に示したチャンネル0の再割当データ決定処理手順RT1と一部類似したチャンネルxの再割当データ決定処理手順SRT2(図10)を開始し、ステップSP21へ移る。
ステップSP21においてモジュロセレクタ31は、既に割当済のデータセル番号を飛ばすための変数irxとして、直前のチャンネルで再割当データに決定したメモリセル番号irx−1に「1」を加算した値を代入し、またカウンタ用の変数jに「0」を代入することにより初期化し、次のステップSP22へ移る。
ステップSP22においてモジュロセレクタ31は、イネーブル情報格納メモリMEのイネーブル情報ec[irx+j]が「1」であるか否かを判定する。ここで否定結果が得られると、このことはデータ格納メモリMDのデータdc[irx+j]が不要データであるため、当該データdc[irx+j]を再割当データDr0として出力するべきではないことを表しており、このときモジュロセレクタ31は次のステップSP23へ移る。
ステップSP23においてモジュロセレクタ31は、次のデータdc[]について不要データであるか否かを判定するべく、変数jをインクリメントして再度ステップSP22へ戻る。
一方ステップSP22において肯定結果が得られると、このことはデータ格納メモリMDのデータdc[irx+j]が必要データであることを表しており、このときモジュロセレクタ31は次のステップSP24へ移る。
ステップSP24においてモジュロセレクタ31は、再割当データDr(x)として出力すべきデータセル番号を表す変数ixに(irx+j)を代入すると共に、次のチャンネル(x+1)の再割当データを決定する際に割当済のデータを飛ばすための変数dxに(dx−1+j)を代入して、次のステップSP25へ移る。
ステップSP25においてモジュロセレクタ31は、データ格納メモリMDにおけるデータセル番号ixのデータdc[ix]を再割当データDr(x)として決定し、次のステップSP26へ移ってこのチャンネルxの再割当データ決定処理手順SRT2を終了し、元の再割当データ出力処理手順RT1(図8)へ戻り、次のステップSP3へ移る。
ステップSP3においてモジュロセレクタ31は、変数xをインクリメントし、次のステップSP4へ移る。
ステップSP4においてモジュロセレクタ31は、変数xがチャンネル数N未満であるか否かを判定する。ここで肯定結果が得られると、このことは全Nチャンネルの再割当データをまだ決定し終えていないことを表しており、このときモジュロセレクタ31は、次のチャンネルの再割当データを決定するべく、再度サブルーチンSRT2へ戻る。
一方ステップSP4において否定結果が得られると、このことは全Nチャンネルの再割当データを決定済であることを表しており、このときモジュロセレクタ31は、次のステップSP5へ移る。
ステップSP5においてモジュロセレクタ31は、全チャンネルからそれぞれ再割当データDrを同時に出力して後段のPR等化器24(図1)へ供給し、次のステップSP6へ移る。
ステップSP6においてモジュロセレクタ31は、ステップSP6において出力した再割当データDrが全て必要データであることを示すべく、「high」レベルの統一イネーブル信号euをPR等化器24(図1)、位相検出器25、LPF26及び最尤復号器9(図26)へ供給して次のステップSP7へ移る。
ステップSP7においてモジュロセレクタ31は、ディスエーブル積算回数dがチャンネル数N以上であるか否かを判定する。ここで否定結果が得られると、このことはディスエーブル積算回数dがチャンネル数N未満であり、すなわち不要データを検出した回数がN回未満であるためにこのタイムスロットではダミーデータDdを出力すべきではないことを表しており、このときモジュロセレクタ31は、次のサブルーチンSRT3へ移る。
一方、ステップSP7において肯定結果が得られると、このことは不要データを検出した回数がチャンネル数N以上であるため、再割当データDrとしてダミーデータDdを出力すべきであることを表しており、このときモジュロセレクタ31は、次のステップSP8へ移る。
ステップSP8においてモジュロセレクタ31は、次のタイムスロットにおいて全チャンネルから再割当データDrとしてダミーデータDdを出力し、次のステップSP9へ移る。
ちなみにこのときモジュロセレクタ31は、ステップSP1と同様にデータ格納メモリMD及びイネーブル情報格納メモリMEをそれぞれ1列ずつシフトさせて更新することにより、次のタイムスロットにおける再割当データ出力処理を正常に行い得るようになされている。
ステップSP9においてモジュロセレクタ31は、ステップSP8において出力した再割当データDrが全て不要データであることを示すべく、「low」レベルの統一イネーブル信号euをPR等化器24(図1)、位相検出器25、LPF26及び最尤復号器9(図26)へ供給して次のサブルーチンSRT3へ移る。
この場合モジュロセレクタ31は、図11に示すディスエーブル積算回数更新処理手順SRT3を開始し、ステップSP31へ移る。ステップSP31においてモジュロセレクタ31は、(N−1)チャンネルの再割当データを決定した際のディスエーブル積算回数dN−1=N−1であり、かつイネーブル情報格納メモリMEのイネーブル情報ec[N×M−1]=0であるか否かを判定する。
ここで肯定結果が得られると、このことは、例えばデータ格納メモリMDにパターンMD1(図4)のようにデータが格納されていた場合、すなわち再割当データDr3としてデータ「78」を出力した時点で、ディスエーブル積算回数d=3であり、かつイネーブル情報ec[7](この場合データ「79」のイネーブル情報)=0であるといった特殊な状態であるため、このデータ「79」を既に不要データとして検出したことにしておけば、次のタイムスロットにおいてダミーデータDdを出力できることを表しており、このときモジュロセレクタ31は次のステップSP32へ移る。
ステップSP32においてモジュロセレクタ31は、ディスエーブル積算回数d=Nとすることにより、次のタイムスロットで全チャンネルからダミーデータDdを出力させるようにし、次のステップSP36へ移る。
一方ステップSP31において否定結果が得られると、このことはデータ格納メモリMDに格納されたデータがパターンMD1(図4)のような「特殊な状態」ではないことを示しており、このときモジュロセレクタ31は次のステップSP33へ移る。
ステップSP33においてモジュロセレクタ31は、ディスエーブル積算回数dがチャンネル数N以上であるか否かを判定する。ここで否定結果が得られると、このことはディスエーブル積算回数dがチャンネル数N未満であり、すなわち不要データを検出した回数がN回未満でありこのタイムスロットではダミーデータDdを出力しなかったことを表しており、このときモジュロセレクタ31は、次のステップSP34へ移る。
ステップSP34においてモジュロセレクタ31は、最後に(N−1)チャンネルの再割当データを決定した際の変数dN−1を次のタイムスロットへ持ち越すディスエーブル積算回数dとし、次のステップSP36へ移る。
一方、ステップSP33において肯定結果が得られると、このことは不要データを検出した回数がチャンネル数N以上であり、このタイムスロットで再割当データDrとしてダミーデータDdを出力したことを表しており、このときモジュロセレクタ31は、次のステップSP35へ移る。
ステップSP35においてモジュロセレクタ31は、最後に(N−1)チャンネルの再割当データを決定した際の変数dN−1をチャンネル数Nで割った時の余りを新たなディスエーブル積算回数dとし、次のステップSP36へ移る(ちなみに「%」は剰余記号を表す)。
このときモジュロセレクタ31は、新たなディスエーブル積算回数dを単純に「0」にリセットするのではなく、チャンネル数Nによる剰余とすることにより、全データに対する不要データの割合が多い場合等にディスエーブル積算回数dがチャンネル数Nを超えていたときの超過分を持ち越すことができ、この結果、供給される補間データDi0〜Di3の全データ数と出力する再割当データDr0〜Dr3の全データ数を一致させることができる。
ステップSP36においてモジュロセレクタ31は、ディスエーブル積算回数更新処理手順SRT3を終了して元の再割当データ出力処理手順RT1(図8)へ戻り、次のステップSP10へ移ってこの再割当データ出力処理手順RT1を終了する。
(1−3)位相同期部の詳細構成
次に、位相同期部30を構成する各回路の詳細構成について、順次説明する。なお、アナログ・ディジタル変換器11、発振器12及びPR等化器24については、それぞれ一般的なアナログ・ディジタル変換処理、発振動作及びPR等化処理を行うものであるため、その説明は省略する。
(1−3−1)シリアルパラレル変換回路の構成
図12に示すように、シリアルパラレル変換回路21は、アナログ・ディジタル変換器11から供給される入力データDsを遅延回路41、42、43及び44によって当該入力データDsにおける1クロック分ずつ遅延させ、それぞれ遅延回路45、46、47及び48へ供給する。遅延回路45、46、47及び48は、入力データDsにおける4クロック分(すなわち1タイムスロット分)遅延させることにより、それぞれパラレル入力データDp0〜Dp3とし、これらを後段のインターポレータ23へ供給する。
これによりシリアルパラレル変換回路は、図2(A)〜図4(A)及び図2(B)〜図4(B)に示したように、シリアルの入力データDsを4チャンネルに順次振り分けてパラレル入力データDp0〜Dp3とし、その周期を元の入力データDsの1/4に引き下げることができる。
(1−3−2)インターポレータの構成
次に、インターポレータ23について説明する。インターポレータ23は、タイミング制御部27から供給されるサンプリング位相μ0〜μ3に従い、パラレル入力データDp0〜Dp3に対する補間処理を行う。
インターポレータ23は、図13に示すように、シリアルパラレル変換回路21から供給されたパラレル入力データDp0〜Dp3をそれぞれ乗算器50〜53へ供給し、またタイミング制御部27から供給されたサンプリング位相μ3を基に生成した補間係数h0(μ3)〜h3(μ3)をそれぞれ乗算器50〜53へ供給する。
乗算器50〜53は、パラレル入力データDp0〜Dp3と補間係数h0(μ3)〜h3(μ3)とをそれぞれ乗算し、その全ての乗算結果を加算器54〜56によって加算することにより加算値xa3を生成し、これを加算器57へ供給する。
これに加えてインターポレータ23は、遅延回路58〜61によってパラレル入力データDp0〜Dp3をそれぞれ1タイムスロット分ずつ遅延させることによりパラレル入力データDp0’〜Dp3’を生成し、これらをそれぞれ乗算器62〜65へ供給する。またインターポレータ23は、タイミング制御部27から供給されたサンプリング位相μ3を基に生成した補間係数h4(μ3)〜h1(μ3)をそれぞれ乗算器62〜65へ供給する。
乗算器62〜65は、パラレル入力データDp0’〜Dp3’と補間係数h4(μ3)〜h1(μ3)とをそれぞれ乗算し、その全ての乗算結果を加算器66〜68によって加算することにより加算値xb3を生成し、これを加算器57へ供給する。
加算器57は、加算値xa3と加算値xb3とを加算し、これを遅延回路69に供給することにより1タイムスロット分遅延させる。インターポレータ23は、遅延回路69による遅延結果を補間データDi3とし、これを後段のモジュロセレクタ31へ送出する。
またインターポレータ23は、図14に示すように、遅延回路61(図13)で1タイムスロット分遅延されたパラレル入力データDp3’とシリアルパラレル変換回路21から供給されたパラレル入力データDp0〜Dp2とをそれぞれ乗算器70〜73へ供給し、さらにタイミング制御部27から供給されたサンプリング位相μ2を基に生成した補間係数h0(μ2)〜h3(μ2)をそれぞれ乗算器70〜73へ供給する。
乗算器70〜73は、パラレル入力データDp0〜Dp3と補間係数h0(μ2)〜h3(μ2)とをそれぞれ乗算し、その全ての乗算結果を加算器74〜76によって加算することにより加算値xa2を生成し、これを加算器77へ供給する。
これに加えてインターポレータ23は、パラレル入力データDp3’がさらに1タイムスロット分遅延されたパラレル入力データDp3”と、遅延回路58〜60(図13)によって1タイムスロット分遅延されたパラレル入力データDp0’〜Dp2’とをそれぞれ乗算器78〜81へ供給する。またインターポレータ23は、タイミング制御部27から供給されたサンプリング位相μ2を基に生成した補間係数h4(μ2)〜h1(μ2)をそれぞれ乗算器78〜81へ供給する。
乗算器78〜81は、パラレル入力データDp3”及びDp0’〜Dp2’と補間係数h4(μ2)〜h1(μ2)とをそれぞれ乗算し、その全ての乗算結果を加算器82〜84によって加算することにより加算値xb2を生成し、これを加算器77へ供給する。
加算器77は、加算値xa2と加算値xb2とを加算し、これを遅延回路85に供給することにより1タイムスロット分遅延させる。インターポレータ23は、遅延回路85による遅延結果を補間データDi2とし、これを後段のモジュロセレクタ31へ送出する。
さらにインターポレータ23は、図15に示すように、遅延回路60及び61(図13)で1タイムスロット分ずつ遅延されたパラレル入力データDp2’及びDp3’とシリアルパラレル変換回路21から供給されたパラレル入力データDp0及びDp1とをそれぞれ乗算器90〜93へ供給し、さらにタイミング制御部27から供給されたサンプリング位相μ1を基に生成した補間係数h0(μ1)〜h3(μ1)をそれぞれ乗算器90〜93へ供給する。
乗算器90〜93は、パラレル入力データDp2’、Dp3’、Dp0及びDp1と補間係数h0(μ1)〜h3(μ1)とをそれぞれ乗算し、その全ての乗算結果を加算器94〜96によって加算することにより加算値xa1を生成し、これを加算器97へ供給する。
これに加えてインターポレータ23は、パラレル入力データDp2’及びDp3’がさらに1タイムスロット分遅延されたパラレル入力データDp2”及びDp3”と、遅延回路58及び59(図13)によって1タイムスロット分ずつ遅延されたパラレル入力データDp0’及びDp1’とをそれぞれ乗算器98〜101へ供給する。またインターポレータ23は、タイミング制御部27から供給されたサンプリング位相μ1を基に生成した補間係数h4(μ1)〜h1(μ1)をそれぞれ乗算器98〜101へ供給する。
乗算器98〜101は、パラレル入力データDp2”、Dp3”、Dp0’及びDp1’と補間係数h4(μ1)〜h1(μ1)とをそれぞれ乗算し、その全ての乗算結果を加算器102〜104によって加算することにより加算値xb1を生成し、これを加算器97へ供給する。
加算器97は、加算値xa1と加算値xb1とを加算し、これを遅延回路105に供給することにより1タイムスロット分遅延させる。インターポレータ23は、遅延回路105による遅延結果を補間データDi1とし、これを後段のモジュロセレクタ31へ送出する。
そのうえインターポレータ23は、図16に示すように、遅延回路59〜61(図13)で1タイムスロット分ずつ遅延されたパラレル入力データDp1’〜Dp3’とシリアルパラレル変換回路21から供給されたパラレル入力データDp0とをそれぞれ乗算器110〜113へ供給し、さらにタイミング制御部27から供給されたサンプリング位相μ0を基に生成した補間係数h0(μ0)〜h3(μ0)をそれぞれ乗算器110〜113へ供給する。
乗算器110〜113は、パラレル入力データDp1’〜Dp3’及びDp0と補間係数h0(μ0)〜h3(μ0)とをそれぞれ乗算し、その全ての乗算結果を加算器114〜116によって加算することにより加算値xa0を生成し、これを加算器117へ供給する。
これに加えてインターポレータ23は、パラレル入力データDp2’及びDp3’がさらに1タイムスロット分遅延されたパラレル入力データDp2”及びDp3”と、遅延回路58(図13)によって1タイムスロット分遅延されたパラレル入力データDp0’とをそれぞれ乗算器118〜121へ供給する。またインターポレータ23は、タイミング制御部27から供給されたサンプリング位相μ0を基に生成した補間係数h4(μ0)〜h1(μ0)をそれぞれ乗算器118〜121へ供給する。
乗算器118〜121は、パラレル入力データDp1”、Dp2”、Dp3”及びDp0’と補間係数h4(μ0)〜h1(μ0)とをそれぞれ乗算し、その全ての乗算結果を加算器122〜124によって加算することにより加算値xb0を生成し、これを加算器117へ供給する。
加算器117は、加算値xa0と加算値xb0とを加算し、これを遅延回路125に供給することにより1タイムスロット分遅延させる。インターポレータ23は、遅延回路125による遅延結果を補間データDi0とし、これを後段のモジュロセレクタ31へ送出する。
このようにインターポレータ23は、シリアルパラレル変換回路21から供給されたパラレル入力データDp0〜Dp3を基に、補間係数hを用いた演算処理を行うことにより、補間データDi0〜Di3を生成するようになされている。
(1−3−3)位相検出器の構成
次に位相検出器25について説明する。位相検出器25は、時刻kを用いた次式
の演算を4系統並列に行うことにより、各系統における所定の目標位相との位相誤差を算出するようになされており、図17に示す回路構成によって(1)式の演算結果を得るようになされている。ちなみに、(1)式における時刻kは、元の入力データDsにおけるクロックに基づいたものである。
図17において、位相検出器25は、PR等化器24から供給されたPR等化データy0〜y3をそれぞれ乗算器130、131、132及び133へ供給すると共に、PR等化データy0〜y2をそれぞれ乗算器135、136及び137へ供給し、さらにPR等化データy3を遅延回路138により1タイムスロット分遅延させたPR等化データy3Dを乗算器134へ供給する。
また位相検出器25は、図示しないゼロクロス検出回路により各PR等化データy0〜y3がゼロクロスしたか否かをそれぞれ検出し、各検出結果a0〜a3をそれぞれ乗算器134、135、136及び137へ供給すると共に、検出結果a0〜a2を乗算器131〜133へ供給し、さらに検出結果a3を遅延回路139により1タイムスロット分遅延させた検出結果a3Dを乗算器130へ供給する。
乗算器130、131、132及び133は、それぞれ供給されたPR等化データyと検出結果aとを乗算することにより、乗算値y0×a3D、y1×a0、y2×a1及びy3×a2を生成し、これらをそれぞれ減算器140、141、142及び143へ供給する。
乗算器134、135、136及び137は、それぞれ供給されたPR等化データyと検出結果aとを乗算することにより、乗算値y3D×a0、y0×a1、y1×a2及びy2×a3を生成し、これらをそれぞれ減算器140、141、142及び143へ供給する。
減算器140は、乗算値y3D×a0から乗算値y0×a3Dを減算することにより位相誤差Δτ0を生成し、減算器141は、乗算値y0×a1から乗算値y1×a0を減算することにより位相誤差Δτ1を生成し、減算器142は、乗算値y1×a2から乗算値y2×a1を減算することにより位相誤差Δτ2を生成し、減算器140は、乗算値y2×a3から乗算値y3×a2を減算することにより位相誤差Δτ3を生成する。
このように位相検出器25は、PR等化データy0〜y3及びそのゼロクロス検出結果a0〜a3を用いて位相誤差Δτ0〜Δτ3を生成し、これを後段のLPF26へ供給するようになされている。
(1−3−4)LPFの構成
次にLPFの構成について説明する。LPF26は、制御工学的に2次の制御ループを構成しており、インターポレータ23におけるサンプルタイミングを更新するためのタイミング差ν0〜ν3を次式
を用いて算出し、さらに当該タイミング差ν0〜ν3を用いることによりサンプリング位相差Δμ0〜Δμ3を次式
に従って算出するようになされている。実際上LPF26は、図18に示す回路構成によって(2a)、(2b)及び(3)式の演算結果を得るようになされている。
図18においてLPF26は、位相検出器25から供給された位相誤差Δτ0〜Δτ3
をそれぞれ乗算器150〜153へ供給することにより、当該乗算器150〜153にそれぞれ供給される所定の係数αとの乗算を行い、その乗算結果(すなわちα・Δτに相当)を遅延回路154〜157によってそれぞれ1タイムスロット分遅延させ、これらを加算器158〜161へ供給する。
またLPF26は、位相誤差Δτ0を加算器162及び163へ供給し、位相誤差Δτ1を加算器163へ供給することにより、当該加算器163から加算値Δτ0+Δτ1を加算器164、165及び166へ供給させる。同時にLPF26は、位相誤差Δτ2を加算器165及び167へ供給することにより、当該加算器から加算値Δτ0+Δτ1+Δτ2を加算器168へ供給させる。
さらにLPF26は、位相誤差Δτ3を加算器167へ供給することにより、当該加算器から加算値Δτ2+Δτ3を加算器166へ供給させる。当該加算器166は、加算器163からの加算値Δτ0+Δτ1と加算器167からの加算値Δτ2+Δτ3とを加算した加算値Δτ0+Δτ1+Δτ2+Δτ3を加算器169へ供給する。
遅延回路170は、加算器169から供給される算出結果を1タイムスロット分遅延させて加算器162、164、168及び169へ供給する。
LPF26は、加算器162、164、168及び169における加算結果を遅延回路171〜174へ供給することにより1タイムスロット分遅延させ、その遅延結果をそれぞれ乗算器175〜178へ供給することにより所定の定数ρを乗算させて、その乗算値をそれぞれ加算器158〜161へ供給する。
加算器158〜161は、それぞれ(2a)式の演算を行うことにより、それぞれタイミング差ν0〜ν3を算出し、それぞれ遅延回路179〜182へ供給する。
LPF26は、(3)式の演算を実行するべく、減算回路183〜186により定数「1」からタイミング差ν0〜ν3の遅延結果をそれぞれ減算し、この減算結果に対して乗算器187〜190によりそれぞれオーバーサンプリングレートεを乗算し、これらを遅延回路191〜194により1タイムスロット分遅延させることによりサンプリング位相差Δμ0〜Δμ3を生成し、これを後段のタイミング制御部27へ供給する。
このようにLPF26は、位相誤差Δτ0〜Δτ3を基にタイミング差ν0〜ν3を算出し、さらにサンプリング位相差Δμ0〜Δμ3を生成するようになされている。
(1−3−5)タイミング制御部の構成
次にタイミング制御部27について説明する。タイミング制御部27は、LPF26から供給されるサンプリング位相差Δμ0〜Δμ3を基に、次式
に従ってサンプリング位相μ0〜μ3を更新するようになされており、図19に示す回路構成により(4)式の演算結果を得るようになされている。ちなみに(4)式においてmod−1は整数1での剰余演算を表す。
図19において、タイミング制御部27は、LPF26から供給されたサンプリング位相差Δμ0〜Δμ3をスイッチ200〜203へ供給する。当該スイッチ200〜203は、タイミング制御部27自身によって生成したイネーブル信号en0〜en3により制御されており、各イネーブル信号enが「high」レベルのときに各スイッチが「オン」となり、また「low」レベルのときに各スイッチが「オフ」となるようになされている。
タイミング制御部27は、スイッチ200に供給されるイネーブル信号en0が「high」レベルのとき、サンプリング位相差Δμ0を加算器204及び205へ供給し、またスイッチ201に供給されるイネーブル信号en1が「high」レベルのとき、サンプリング位相差Δμ1を加算器205へ供給する。加算器205は、サンプリング位相差Δμ0とサンプリング位相差Δμ1とを加算し、加算値Δμ0+Δμ1を加算器206及び加算器207へ供給する。
またタイミング制御部27は、スイッチ202に供給されるイネーブル信号en2が「high」レベルのとき、サンプリング位相差Δμ2を加算器207へ供給する。加算器207は、加算器205からの加算値Δμ0+Δμ1とサンプリング位相差Δμ2とを加算し、加算値Δμ0+Δμ1+Δμ2を加算器208及び209へ供給する。
さらにタイミング制御部27は、スイッチ203に供給されるイネーブル信号en3が「high」レベルのとき、サンプリング位相差Δμ3を加算器209へ供給する。加算器209は、加算器207からの加算値Δμ0+Δμ1+Δμ2とサンプリング位相差Δμ3とを加算し、加算値Δμ0+Δμ1+Δμ2+Δμ3を加算器210へ供給する。
加算回路210は、遅延回路211から供給される累積位相差μsと加算値Δμ0+Δμ1+Δμ2+Δμ3と加算し、その加算結果を遅延回路211へ戻す。遅延回路211は、加算器210から供給される加算値を1タイムスロット分遅延させることにより累積位相差μsとし、これを加算器204、206、208、210及び遅延回路216へそれぞれ供給して、さらに当該累積位相差μsの最上位ビットをインバータ212を介して遅延回路220へ供給する。
加算器204は、サンプリング位相差Δμ0と累積位相差μsとを加算し、その加算結果を遅延回路217へ供給して1タイムスロット分遅延させると共に、当該加算結果の最上位ビットをインバータ213を介して遅延回路221へ供給し1タイムスロット分遅延させる。
加算器206は、加算値Δμ0+Δμ1と累積位相差μsとを加算し、その加算結果を遅延回路218へ供給して1タイムスロット分遅延させると共に、当該加算結果の最上位ビットをインバータ214を介して遅延回路222へ供給し1タイムスロット分遅延させる。
加算器208は、加算値Δμ0+Δμ1+Δμ2と累積位相差μsとを加算し、その加算結果を遅延回路219へ供給して1タイムスロット分遅延させると共に、当該加算結果の最上位ビットをインバータ215を介して遅延回路223へ供給し1タイムスロット分遅延させる。
そしてタイミング制御部27は、遅延回路216〜219における遅延結果をそれぞれサンプリング位相μ0〜μ3とし、これらをインターポレータ23へ供給する。またタイミング制御部27は、遅延回路220〜223における遅延結果をそれぞれイネーブル信号en0〜en3とし、これらをインターポレータ23及びモジュロセレクタ31へ供給する。
このようにタイミング制御部27は、サンプリング位相差Δμ0〜Δμ3を累積することによりサンプリング位相μ0〜μ3を生成すると共に、各サンプリング位相μ0〜μ3の最上位ビットを基にイネーブル信号en0〜en3を生成するようになされている。
(1−4)動作及び効果
以上の構成において、光ディスク装置1の位相同期部30は、アナログ・ディジタル変換器11によって入力信号Siに含まれる本来のデータのタイミングよりも速いサンプリングレートで標本化を行うことにより不要データが含まれるシリアルの入力データDsを生成し、シリアルパラレル変換回路21によりこれをNチャンネルに順次パラレル化したパラレル入力データDpを生成し、インターポレータ23によりこれらに補間処理を施した補間データDiをモジュロセレクタ31へ供給する。
モジュロセレクタ31は、補間データDiをN行M列のデータ格納メモリMDに格納すると共にイネーブル信号enに基づいたイネーブル情報をN行M列のイネーブル情報格納メモリMEに格納し、各タイムスロット毎に、データ格納メモリMDのデータのうち不要データ及び割当済みの必要データを除いた未割当の必要データを各チャンネルに順次再割当することにより、再割当データDrを決定し後段へ出力する。
していく。
またモジュロセレクタ31は、再割当データDrとして必要データを出力するときには、統一イネーブル信号euを「high」レベルとし、また不要データの累積数がチャンネル数Nを超えた場合に、全チャンネルから不要データに相当するダミーデータDdを再割当データDrとして一斉に出力する時には、当該統一イネーブル信号euを「low」レベルとする。
従って位相同期部6のモジュロセレクタ31は、補間データDiから不要データを除外して必要データのみを順次各チャンネルに再割当して出力し、また除外した不要データの積算数がチャンネル数Nに達した段階でダミーデータDdを全チャンネルから一斉に出力することができるので、再割当データDrとして必要データを連続的に出力すると共に補間データDiに散在していた不要データを同一タイムスロットに集約することができ、さらに並列処理を行う全チャンネルにおいて各回路の稼働又は停止を統一することができる。
ここで、各チャンネルのイネーブル信号enが統一化されていない場合と全チャンネルのイネーブル信号enを統一化した統一イネーブル信号euを生成する場合とを比較する。
例えば図20に示すように、1+D演算回路230が統一化されていない複数のイネーブル信号enにより制御されていた場合を想定する。ここでは、4連続するデータのうち不要データは1個以下であるとする。またスイッチ238〜241は、ディスエーブル時に図中上側を、イネーブル時に図中下側を選択するようになされている。
1+D回路230は、加算器242〜245による各信号の加算結果を遅延回路246〜249によって遅延させることにより、最終的な演算結果(すなわち1+D)を得ることができるが、それぞれイネーブル信号en0〜en3により別々に制御された遅延回路231〜234及び235、236から供給されるデータのうち、不要データを除外する必要があるため、スイッチ238〜241によって各加算器242〜245に供給される信号を切り換える必要がある。
この場合、1+D演算回路230では、スイッチ238〜241をイネーブル信号en0〜en2及び遅延回路237により遅延されたイネーブル信号en3によってそれぞれ制御する必要があり、1+Dの演算といった比較的単純な処理であるにも拘わらず、全体のタイミング管理が複雑になってしまう。
これに対して図21に示す1+D演算回路250は、統一イネーブル信号euにより制御されており、1+D演算回路230と同様に、加算器256〜259による加算結果をそれぞれ遅延回路260〜263によって遅延させることにより最終的な演算結果(1+D)を得ることができる。
この1+D演算回路250では、遅延回路251〜254から供給されるデータに不要データが散在せず、各チャンネルで統一されたタイムスロットに集約されているため、全体の動作を1系統の統一イネーブル信号euによって簡単に制御することができる。また1+D演算回路230において必要であったスイッチ238〜241も不要となり、回路構成も簡素化できる。
このようにモジュロセレクタ31は、全チャンネルのイネーブル信号enを統一化した統一イネーブル信号euを生成して後段の回路へ供給することにより、当該後段の回路におけるタイミング管理を大幅に簡略化できると共に、回路構成を簡素化することができる。
さらにモジュロセレクタ31は、タイミング管理の簡略化等に伴い、処理の高速化を図る際の障害要因を削減することができるので、並列化によって見かけ上の処理速度が向上した位相同期部6や後段の最尤復号器9等において、データの並べ換えによるさらなる高速化を実現できる可能性がある。
またモジュロセレクタ31は、再割当データを決定する際、データ格納メモリMDからセル番号順に選択していくため、元の入力データDs(図1)における各データの順序を乱すことなく各データを並べ換えることができ、後段の処理においてデータの順序が入れ替わるといった問題の発生を未然に防止することができる。
さらにモジュロセレクタ31は、チャンネル数Nとオーバーサンプリングレートεとを基に、データ格納メモリMDの全セルに格納されたデータの中から、不要データ及び割当済の必要データを除いた未割当の必要データを確実にN個選択することができるように、データ格納メモリMD及びイネーブル情報格納メモリMEの列数Mをあらかじめ定めているため、当該データ格納メモリMDから確実にN個の必要データを選択して再割当データDrとして出力することができる。
これに加えてモジュロセレクタ31は、不要データの積算数であるディスエーブル積算回数dがチャンネル数Nを超えた時点でN個分の不要データに相当するダミーデータDdを出力するため、全段のインターポレータ23から入力された補間データDi0〜Di3と後段へ出力する再割当データDr0〜Dr3とでデータの総数を変化させることが無く、データの速度調整等を行う必要が無い。
そのうえモジュロセレクタ31は、ディスエーブル積算回数dがチャンネル数Nを超えた場合、当該ディスエーブル積算回数dを単純に「0」にリセットするのではなく、チャンネル数Nによる剰余とすることにより、ディスエーブル積算回数dがチャンネル数Nを超えた超過分を持ち越すことができ、この結果、一時的に不要データの頻度が高まったような場合であっても、供給される補間データDi0〜Di3の全データ数と出力する再割当データDr0〜Dr3の全データ数を一致させることができる。
以上の構成によれば、位相同期部6のモジュロセレクタ31は、タイムスロット毎にデータ格納メモリMDのデータのうち割当済の必要データ及び不要データを除いた未割当の必要データを各チャンネルに順次再割当することにより再割当データDrとして出力し、また不要データの累積数がチャンネル数Nを超えた場合、全チャンネルから不要データに相当するダミーデータDdを再割当データDrとして一斉に出力すると共に、全チャンネルにおけるデータの必要・不要を表す統一イネーブル信号euを出力することにより、全チャンネルから不要データが散在しない必要データを出力することができると共に、並列処理を行う全チャンネルにおける各回路の稼働又は停止を統一化することができる。
(2)第2の実施の形態
(2−1)位相同期部の構成
第2の実施の形態においては、上述した第1の実施の形態と比較して位相同期部30(図1)のモジュロセレクタ31に代えてモジュロセレクタ32が設けられている点が異なっているものの、それ以外は同等の構成を有している。
このモジュロセレクタ32は、上述した第1の実施の形態におけるモジュロセレクタ31とは異なる手法によって、モジュロセレクタ31と同様の再割当データDr0〜Dr3を生成するようになされている。
ここでは、位相同期部30における各部の構成については説明を省略し、以下モジュロセレクタ32について説明する。
(2−2)モジュロセレクタの構成
(2−2−1)再割当データ決定テーブル及びディスエーブル積算回数更新テーブル
モジュロセレクタ32は、上述したモジュロセレクタ31と同様に、データ格納メモリMD(図5(C))及びイネーブル情報格納メモリME(図5(D))を用いるようになされており、特にイネーブル情報格納メモリMEにおける不要データの格納位置に応じて再割当データを決定するようになされている。
ここでは、具体的にチャンネル数(すなわち行数)N=4、列数M=2の場合、すなわち図6(A)及び(B)に示した場合を例にとって説明する。図6(B)のイネーブル情報格納メモリMEにおける各セルには、イネーブル信号enの「high」又は「low」に応じたイネーブル情報が「0」又は「1」の形で格納される。
ところで第1の実施の形態において上述したように、例えばオーバーサンプリングレートε=105[%]の場合、おおよそデータ20個に対して不要データが1個の割合で出現するため、4行×2列=8セルのイネーブル情報格納メモリMEにおいては、値「0」の数は実質0個又は1個と考えられる。
このためイネーブル情報格納メモリMEにおける値「0」の格納位置のパターン(以下、これを単に位置パターンと呼ぶ)としては、図22(A)〜(I)に示すように、値「0」が0個の場合が1通り(図22(A))と、値「0」が1個の場合が8通り(図22(B)〜(I)、斜線で示す)の合計9通りが考えられる。
ちなみに各位置パターンについて、値「0」又は「1」を反転させた8ビットとみなした場合、各位置パターンを16進数で表すと、それぞれ0x00、0x01、0x02、0x04、0x08、0x10、0x20、0x40及び0x80となる。以下、各位置パターンをこの16進数によって識別する。
ここで、イネーブル情報格納メモリMEにおける9通りの位置パターンと再割当データDrに割り当てるデータとの対応について検討すると、当該位置パターンと、既に以前のタイムスロットにおいて割当済のデータの数、すなわち上述したディスエーブル積算回数dとに応じて、各チャンネルの再割当データDrとして選択すべきデータをデータ格納メモリMDのセルの位置(すなわちデータセル番号)が定まることが分かる。
さらに、新たに不要データを検出した場合のディスエーブル積算回数dについても、位置パターンと(更新前の)ディスエーブル積算回数dとから更新後のディスエーブル積算回数dを定めることができる。
そこでモジュロセレクタ32は、図23(A)〜図23(D)に示すような再割当データ決定テーブルTBL0〜TBL3が予め格納されるようになされている。再割当データ決定テーブルTBL0〜3は、各チャンネル毎に対応しており、位置パターンとディスエーブル積算回数dに応じたデータ格納メモリMDにおけるセル番号が登録されている。
ちなみにチャンネル0〜3の再割当データ決定テーブルTBL0〜TBL3においては、ディスエーブル積算回数d=4の場合には値「*」が登録されており、これは再割当データDrとしてダミーデータDdを出力することを意味している。
またモジュロセレクタ32は、図24に示すようなディスエーブル積算回数更新テーブルTBLdも予め格納されるようになされている。このディスエーブル積算回数更新テーブルTBLdは、全チャンネルの再割当データを決定した後でディスエーブル積算回数dを更新する際に用いられることを前提としており、位置パターンとディスエーブル積算回数dに応じた更新後のディスエーブル積算回数dの値が登録されている。
(2−2−2)モジュロセレクタの回路構成
次に、モジュロセレクタ32の回路構成について説明する。モジュロセレクタ32は、図25に示すような回路構成を有しており、まずインターポレータ23から供給された補間データDi0〜Di3をそのままデータ格納メモリMDのデータdc[4]〜dc[7]とする。
またモジュロセレクタ32は、補間データDi0〜Di3を遅延回路300〜303によりそれぞれ1タイムスロット分遅延させることにより、1タイムスロット前の補間データDi0〜Di3をデータ格納メモリMDのデータdc[0]〜dc[3]とする。
これによりモジュロセレクタ32は、データ格納メモリMDに各データを格納した状態とし、これらのデータdc[0]〜dc[7]を全てチャンネル0〜4の再割当データ決定回路308〜311へ供給する。
さらにモジュロセレクタ32は、タイミング制御部27から供給されたイネーブル信号en0〜en3に応じてイネーブル情報格納メモリMEのイネーブル情報ec[4]〜ec[7]を決定する。
またモジュロセレクタ32は、イネーブル信号en0〜en3を遅延回路304〜307によりそれぞれ1タイムスロット分遅延させることにより、1タイムスロット前のイネーブル信号en0〜en3に応じてイネーブル情報格納メモリMEのイネーブル情報ec[0]〜ec[3]を決定する。
これによりモジュロセレクタ32は、イネーブル情報格納メモリMEに各イネーブル情報を格納した状態とし、これらのイネーブル情報ec[0]〜ec[7]を全てチャンネル0〜4の再割当データ決定回路308〜311及びディスエーブル積算回数更新回路312へ供給する。
遅延回路313は、ディスエーブル積算回数更新回路312から供給されるディスエーブル積算回数dを遅延させることにより直前のディスエーブル積算回数dを生成し、これをチャンネル0〜4の再割当データ決定回路308〜311、当該ディスエーブル積算回数更新回路312及び比較回路314へ供給する。
比較回路314は、更新後のディスエーブル積算回数dをチャンネル数Nと比較し、d<Nであれば統一イネーブル信号euを「high」レベルとし、d≧Nであれば「low」レベルとする。
チャンネル0の再割当データ決定回路308は、チャンネル0の再割当データ決定テーブルTBL0(図23(A))を格納しており、まずイネーブル情報ec[0]〜ec[7]を基に位置パターンを認識し、当該位置パターンと直前のディスエーブル積算回数dを基に当該チャンネル0の再割当データ決定テーブルTBL0からデータ格納メモリMDにおけるセル番号を読み出し、当該セル番号に応じたデータをチャンネル0の再割当データDrとして決定する。
例えばチャンネル0の再割当データ決定回路308は、データ格納メモリMDにパターンMD2(図3)のようにデータが格納されていた場合、イネーブル情報ec[0]〜ec[7]を基に位置パターンを0x10(図22(F))と認識する。またチャンネル0の再割当データ決定回路308は、直前におけるディスエーブル積算回数d=2が遅延回路313から供給される。
このときチャンネル0の再割当データ決定回路308は、チャンネル0の再割当データ決定テーブルTBL0から、位置パターン0x10及びディスエーブル積算回数d=2に応じたデータ格納メモリMDにおけるセル番号として「2」を読み出し、このときのデータ格納メモリMD(すなわちパターンMD2)におけるデータcd[2]がセル「30」であるため、領域MU2(図4)に示したように、当該セル「30」をチャンネル0の再割当データとして決定する。
同様にチャンネル1の再割当データ決定回路309、チャンネル2の再割当データ決定回路310及びチャンネル3の再割当データ決定回路311は、それぞれチャンネル1の再割当データ決定テーブルTBL1、チャンネル2の再割当データ決定テーブルTBL2及びチャンネル3の再割当データ決定テーブルTBL3から、位置パターン0x10及びディスエーブル積算回数d=2に応じたデータ格納メモリMDにおけるセル番号として「3」、「5」及び「6」を読み出し、当該セル番号に応じてデータ格納メモリMD(MD2)のセル「31」、「33」及び「34」をそれぞれチャンネル1、チャンネル2及びチャンネル3の再割当データとして決定する(図4の領域MU)。
ディスエーブル積算回数更新回路312は、ディスエーブル積算回数更新テーブルTBLd(図24)から位置パターン0x10及びディスエーブル積算回数d=2に応じた新たなディスエーブル積算回数d=3を読み出して当該ディスエーブル積算回数dを更新する。
このようにモジュロセレクタ32は、イネーブル情報格納メモリMEを基に位置パターンを認識し、これとディスエーブル積算回数dとを基に、予め作成されたチャンネル0〜3の再割当データ決定テーブルTBL0〜3から各チャンネルの再割当データを決定することができると共に、ディスエーブル積算回数更新テーブルTBLdからディスエーブル積算回数dを更新することができる。
このためモジュロセレクタ32は、各テーブルからイネーブル情報格納メモリMEのセル番号や更新後のディスエーブル積算回数dを読み出すといった簡易な処理により短時間で再割当データDrの決定やディスエーブル積算回数dの更新を行うことができる。
(2−3)動作及び効果
以上の構成において、モジュロセレクタ32は、予めチャンネル0〜3の再割当データ決定テーブルTBL0〜TBL3及びディスエーブル積算回数更新テーブルTBLdが格納され、データ格納メモリMDに補間データDi0〜Di3を格納すると共にイネーブル信号en0〜en3に基づいたイネーブル情報をイネーブル情報格納メモリMEに格納する。
そしてモジュロセレクタ32は、イネーブル情報格納メモリMEを基に位置パターンを認識し、当該位置パターンと直前のディスエーブル積算回数dとを基に、チャンネル0〜3の再割当データ決定テーブルTBL0〜TBL3からデータ格納メモリMDにおけるセル番号をそれぞれ読み出すことにより各チャンネルの再割当データDrを決定し、またディスエーブル積算回数更新テーブルTBLdから更新後のディスエーブル積算回数dを読み出して更新する。
従ってモジュロセレクタ32は、第1の実施の形態と同様、補間データDi0〜Di3から不要データを除外して必要データのみを順次各チャンネルに再割り当てして出力し、また除外した不要データの積算数がチャンネル数Nに達した段階でダミーデータDdを全チャンネルから一斉に出力することができるので、並列処理を行う全チャンネルにおいて各回路の稼働又は停止を統一することができる。
特にモジュロセレクタ32は、上述した第1の実施の形態における再割当データ出力処理手順RT1(図8)のループ処理や各種演算処理を実行する必要なく、各テーブルからイネーブル情報格納メモリMEのセル番号を読み出すだけで再割当データDrを決定することができるので、第1の実施の形態におけるモジュロセレクタ31と比較して、処理を簡素化できると共に処理時間を短縮することができる。
このためモジュロセレクタ32は、第1の実施の形態におけるモジュロセレクタ31と比較して、動作クロックの速度を引き上げ得る可能性が高くなる。すなわちモジュロセレクタ32は、従来の並列処理を行わなかった場合と比較すると、並列処理による見かけ上の処理速度の向上と、不要データの出現タイミングを揃えたことによる処理速度の向上に加えて、再割当データの決定処理の高速化による処理速度の向上を見込めるため、格段に処理速度を向上することができる。
さらにモジュロセレクタ32は、オーバーサンプリングレートεに基づく不要データの出現頻度を考慮してイネーブル情報格納メモリMEにおいて可能性がある位置パターンを全て用意しているため、実際のデータ格納メモリMD内における不要データの有無やセル番号に拘わらず、再割当データDrを確実に決定することができる。
そのうえモジュロセレクタ32は、チャンネル0〜3の再割当データ決定テーブルTBL0〜TBL3に加えてディスエーブル積算回数更新テーブルTBLdも予め作成しているため、再割当データDrの決定だけでなくディスエーブル積算回数dの更新についても複雑な演算を行う必要なく容易に行うことができる。
以上の構成によれば、モジュロセレクタ32は、イネーブル情報格納メモリMEを基に位置パターンを認識し、当該位置パターンと直前のディスエーブル積算回数dとを基に、予め格納されたチャンネル0〜3の再割当データ決定テーブルTBL0〜TBL3からデータ格納メモリMDにおけるセル番号をそれぞれ読み出すことにより各チャンネルの再割当データDrを決定し、またディスエーブル積算回数更新テーブルTBLdから更新後のディスエーブル積算回数dを読み出して更新するため、補間データDi0〜Di3から不要データを除外して必要データのみを順次各チャンネルに再割り当てして出力し、またディスエーブル積算回数dがチャンネル数Nに達した段階でダミーデータDdを全チャンネルから一斉に出力することができるので、全チャンネルから不要データが散在しない必要データを出力することができると共に、並列処理を行う全チャンネルにおいて各回路の稼働又は停止を統一することができ、このとき処理を簡素化できると共に処理時間を短縮することができる。
(3)他の実施の形態
なお上述した第1及び第2実施の形態においては、ITRを利用した位相同期部30に本発明を適用するようにした場合について述べたが、本発明はこれに限らず、例えば所定の通信経路を経て受信した受信データ等、必要なデータと不要なデータが混在しているシリアルデータを並列化して処理する種々の回路に適用するようにしても良く、このとき不要なデータの出現パターンは周期的であっても周期的でなくても良い。
また上述した第1及び第2の実施の形態においては、並列化のチャンネル数N=4とする場合について述べたが、本発明はこれに限らず、当該チャンネル数Nを2以上の任意の整数としても良い。
さらに上述した第1及び第2の実施の形態においては、データ格納メモリMD及びイネーブル情報格納メモリMEの列数Mを2とするようにした場合について述べたが、本発明はこれに限らず、当該列数Mをオーバーサンプリングレートε及びチャンネル数Nを基に、データ格納メモリMD中に未割当の必要データがN個以上含まれるような任意の数とするようにしても良い。
さらに上述した第1の実施の形態においては、モジュロセレクタ31(図7)をハードウェアによって構成するようにした場合について述べたが、本発明はこれに限らず、例えば当該モジュロセレクタ31の処理内容をプログラム化し、所定のDSP(Digital Signal Processor)等により再割当データ決定処理手順RT1(図8)をソフトウェアとして実行するようにしても良い。
さらに上述した第2の実施の形態においては、モジュロセレクタ32(図25)をハードウェアによって構成するようにした場合について述べたが、本発明はこれに限らず、例えば当該モジュロセレクタ32の処理内容をプログラム化し、所定のDSPによりソフトウェアとして実行するようにしても良い。
これらの場合、プログラムの格納場所としては、固定されたROM(Read Only Memory)等に限らず、メモリースティック(登録商標)等の着脱自在な半導体メモリやCD−ROM(Compact Disc-Read Only Memory)等の各種記録媒体であっても良く、また当該プログラムをインストールしてから実行するようにしても良い。またUSB(Universal Serial Bus)等の有線通信方式やIEEE(Institute of Electrical and Electronics Engineers)802.11g等の無線方式による通信手段を介してプログラムを取得するようにしても良い。
さらに上述した第1の実施の形態においては、再割当データ出力手段としてのデータ再割当部41と、不要データ出力手段としてのダミーデータ出力部42と、統一イネーブル信号出力手段としての統一イネーブル信号生成部43とによってデータ並換装置としてのモジュロセレクタ31を構成する場合について述べたが、本発明はこれに限らず、その他種々の回路構成でなる再割当データ出力手段と、不要データ出力手段と、統一イネーブル信号出力手段とによってデータ並換装置を構成するようにしても良い。
1……光ディスク装置、6、20、30……位相同期部、11……アナログ・ディジタル変換器、13、23……インターポレータ、14、24……PR等化器、15、25……位相検出器、16、26……LPF、17、27……タイミング制御部、21……シリアルパラレル変換回路、31、32……モジュロセレクタ、41……データ再割当部、42……ダミーデータ出力部、43……統一イネーブル信号生成部、Ds……入力データ、Dp0〜Dp3……パラレル入力データ、Di0〜Di3……補間データ、Dr0〜Dr3……再割当データ、y0〜y3……PR等化データ、en0〜en3……イネーブル信号、eu……統一イネーブル信号、MD……データ格納メモリ、ME……イネーブル情報格納メモリ、Dd……ダミーデータ。