(57)【要約】【課題】デジタル変調信号から、より簡単かつ確実に元のベースバンドデータを得ることができるようにする。【解決手段】発生部２２は、駆動クロックから、互いに位相の異なる複数のサンプリングクロックを生成する。生成部２３は、複数のサンプリングクロックを用いて、ベースバンドデータに応じてキャリアが変調されて得られたデジタル変調信号をサンプリングし、サンプリングデータを生成する。生成部２５は、サンプリングクロックごとに、サンプリングデータを用いて、サンプリングクロックがキャリアに同期しているとみなしてデジタル変調信号を検波し、ベースバンドデータを生成する。生成部２８は、サンプリングクロックごとに、サンプリングデータを用いて、サンプリングクロックのキャリアに対する位相のずれを示す位相比較データを生成する。本発明は、デジタル変調信号を受信する受信装置に適用できる。【選択図】図１
2008294730.tif 000002
【特許請求の範囲】
【請求項１】
データの系列を表現する入力信号から、前記データを検出する信号処理装置において、
動作のタイミングの基準となる所定の周期の駆動クロックから、互いに位相が異なり、かつ前記周期と同じ周期の複数のサンプリングクロックを生成するサンプリングクロック生成手段と、
前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングし、前記入力信号に対応した複数のサンプリングデータを生成するサンプリングデータ生成手段と、
前記サンプリングクロックごとに、前記サンプリングクロックの前記入力信号に対する位相のずれを示す位相比較データを、前記サンプリングデータを用いて生成する位相比較データ生成手段と、
前記サンプリングデータを用いて前記サンプリングクロックごとの前記データを生成し、前記位相比較データに基づいて、前記サンプリングクロックごとの前記データのそれぞれのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記データを、前記入力信号により表現された元の前記データとして選択するデータ生成手段と
を備える信号処理装置。
【請求項２】
前記データ生成手段は、１つの前記サンプリングクロックの１周期の期間に、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングすることにより得られた前記サンプリングデータのそれぞれに所定の重みを乗算し、前記重みが乗算された前記サンプリングデータのうち、前記サンプリングクロックの１周期の前半の半周期にサンプリングされて前記重みが乗算された前記サンプリングデータの和と、前記サンプリングクロックの１周期の後半の半周期にサンプリングされて前記重みが乗算された前記サンプリングデータの和とを比較し、その比較結果に基づいて前記データを生成する
請求項１に記載の信号処理装置。
【請求項３】
前記位相比較データ生成手段は、１つの前記サンプリングクロックの１周期の期間に、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングすることにより得られた前記サンプリングデータのそれぞれに所定の重みを乗算し、重みが乗算された前記サンプリングデータのそれぞれの和を求めることにより、前記位相比較データを生成する
請求項１に記載の信号処理装置。
【請求項４】
前記サンプリングデータ生成手段は、所定のサンプリングクロックを用いて前記入力信号をサンプリングすることにより得られたデータを、前記所定のサンプリングクロックの位相よりも、より前記駆動クロックの位相に近い位相のサンプリングクロックを用いてサンプリングし、その結果得られたデータを、さらに前記駆動クロックと同じ位相のサンプリングクロックを用いてサンプリングすることで得られたデータを、前記サンプリングデータとして出力することにより、前記駆動クロックに同期した前記サンプリングデータを生成する
請求項１に記載の信号処理装置。
【請求項５】
前記入力信号は、前記駆動クロックの周期とほぼ同じ周期のキャリアを、前記データに応じて変調することにより得られた信号とされる
請求項１に記載の信号処理装置。
【請求項６】
前記サンプリングクロックは、前記駆動クロックに対して、前記駆動クロックの１周期よりも短い所定の時間だけ遅延している
請求項１に記載の信号処理装置。
【請求項７】
前記サンプリングクロックごとの前記データを用いて、前記入力信号から予め定められた固定パタンを検出することにより、前記データの検出の開始直後における前記入力信号の位相である初期位相を検出し、その検出結果を示す初期位相データを生成する初期位相データ生成手段と、
前記初期位相に対する前記入力信号の位相のずれを検出し、その検出結果を示す位相データを生成する位相データ生成手段と、
前記初期位相データおよび前記位相データに基づいて、前記サンプリングクロックごとの前記位相比較データのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記位相比較データを選択する位相比較データ選択手段と
をさらに備え、
前記位相データ生成手段は、前記データ選択手段により選択された前記データ、および前記位相比較データ選択手段により選択された前記位相比較データに基づいて、前記位相データを生成し、
前記データ生成手段は、前記初期位相データおよび前記位相データを用いて、前記データを選択する
請求項１に記載の信号処理装置。
【請求項８】
データの系列を表現する入力信号から、前記データを検出する信号処理装置の信号処理方法において、
動作のタイミングの基準となる所定の周期の駆動クロックから、互いに位相が異なり、かつ前記周期と同じ周期の複数のサンプリングクロックを生成し、
前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングし、前記入力信号に対応した複数のサンプリングデータを生成し、
前記サンプリングクロックごとに、前記サンプリングクロックの前記入力信号に対する位相のずれを示す位相比較データを、前記サンプリングデータを用いて生成し、
前記サンプリングデータを用いて前記サンプリングクロックごとの前記データを生成し、前記位相比較データに基づいて、前記サンプリングクロックごとの前記データのそれぞれのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記データを、前記入力信号により表現された元の前記データとして選択する
ステップを含む信号処理方法。
【請求項９】
データの系列を表現する入力信号から、前記データを検出する信号処理用のプログラムにおいて、
動作のタイミングの基準となる所定の周期の駆動クロックから、互いに位相が異なり、かつ前記周期と同じ周期の複数のサンプリングクロックを生成し、
前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングし、前記入力信号に対応した複数のサンプリングデータを生成し、
前記サンプリングクロックごとに、前記サンプリングクロックの前記入力信号に対する位相のずれを示す位相比較データを、前記サンプリングデータを用いて生成し、
前記サンプリングデータを用いて前記サンプリングクロックごとの前記データを生成し、前記位相比較データに基づいて、前記サンプリングクロックごとの前記データのそれぞれのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記データを、前記入力信号により表現された元の前記データとして選択する
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は信号処理装置および方法、並びにプログラムに関し、特に、より簡単かつ確実に検波できるようにした信号処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
デジタル信号を所定の割り当てられた帯域で搬送するデジタル変調方式では、データに応じて所定のキャリアの振幅や位相を変調することにより得られた信号が伝送される。これらのデジタル変調方式の中でも、特に振幅を変調する方式を振幅変調方式といい、位相を変調する方式を位相変調方式という。
【０００３】
振幅変調方式、すなわちASK（Amplitude Shift Keying）方式は、キャリアの振幅を送信したいデータに対応させて変調するデジタル変調方式である。振幅変調方式では、１ビットのデータを振幅の大小に対応させるが、中でもデータを振幅の有無に対応させるOSK（On-Off Shift Keying）方式などが知られている。
【０００４】
また、位相変調方式、すなわちPSK（Phase Shift Keying）方式は、キャリアの位相を送信したいデータに対応させて変調するデジタル変調方式である。位相変調方式では、１ビットのデータを位相に対応させるBPSK（Binary Phase Shift Keying）方式、２ビットのデータを位相に対応させるQPSK（Quadrature Phase Shift Keying）方式などが知られている。
【０００５】
例えば、BPSK方式では、キャリアの位相を送信したいベースバンドデータのロジック値に応じて０またはπに対応させる。具体的には、キャリアの周波数をωとし、所定の時刻をｔとすると、キャリアはｓｉｎ（ωｔ）で表すことができる。そして、送信しようとするベースバンドデータのロジック値０または１を、それぞれキャリアの位相０またはπに対応させるものとすると、ベースバンドデータのロジック値が０である区間におけるBPSK信号は、キャリアそのものであるｓｉｎ（ωｔ）とされ、ベースバンドデータのロジック値が１である区間におけるBPSK信号は、キャリアの位相がπだけずらされた−ｓｉｎ（ωｔ）とされる。ここで、BPSK信号（PSK信号）は、ベースバンドデータのロジック値に基づいて、キャリアを変調することにより得られる信号である。
【０００６】
このようにデータに応じてキャリアを変調することで得られたデジタル変調信号から、ロジック値で表される元のベースバンドデータを得る検波方法として、同期検波がよく知られている。同期検波においては、受信したデジタル変調信号のキャリアと同じ周波数の発振信号が発振され、その発振信号が用いられて元のベースバンドデータが再生される。
【０００７】
すなわち、PSK信号の同期検波では、通常、発振信号と受信されたPSK信号とが乗算器に入力され、乗算器による演算によって得られた出力が、さらにローパスフィルタによりフィルタリングされてベースバンドデータが得られる。ここで、乗算器は、入力された信号の周波数の加減算を行うミキサの機能を利用するために用いられ、また、ローパスフィルタは乗算器から出力された信号に含まれる、キャリアの２倍の周波数の成分を除去するために用いられる。
【０００８】
例えば、BPSK方式では、発振信号であるｓｉｎ（ωｔ）と、受信したBPSK信号であるｓｉｎ（ωｔ）または−ｓｉｎ（ωｔ）とを乗算器に入力すると、その出力として、ベースバンドデータのロジック値が０であるときには（１−ｃｏｓ（２ωｔ））／２が得られ、ベースバンドデータのロジック値が１であるときは（−１−ｃｏｓ（２ωｔ））／２が得られる。
【０００９】
そこで、ローパスフィルタを用いて、乗算器からの出力である（１−ｃｏｓ（２ωｔ））／２または（−１−ｃｏｓ（２ωｔ））／２からｃｏｓ（２ωｔ）の成分を除去することで、ローパスフィルタからの出力として、ベースバンドデータのロジック値が０であるときは１を、ベースバンドデータのロジック値が１であるときには−１の信号レベルを得ることができる。
【００１０】
デジタル変調信号の同期検波を行うためには、発振信号が受信したデジタル変調信号のキャリアと全く同じ周波数の信号であることが必要である。このため、発振信号として、キャリア再生により得られるキャリア再生信号が用いられることが多い。このキャリア再生信号は、受信したデジタル変調信号を乗算器への２つの入力とし、すなわち受信したデジタル変調信号、およびその信号と全く同じ信号を乗算器に入力し、乗算器からの出力をさらにバンドパスフィルタ、および１／２分周回路に入力することにより得られる。ここで、乗算器は、周波数２逓倍回路としての機能を利用するために用いられ、また、バンドパスフィルタはキャリアの２倍の周波数成分を強調するため用いられる。
【００１１】
例えば、BPSK方式では、受信したBPSK信号であるｓｉｎ（ωｔ）、または−ｓｉｎ（ωｔ）を乗算器に入力して二乗すると、その出力として、いずれの場合においても（１−ｃｏｓ（２ωｔ））／２が得られる。そして、得られた１−ｃｏｓ（２ωｔ）から、バンドパスフィルタを用いてｃｏｓ（２ωｔ）の成分だけを抽出して、さらに１／２分周回路などにより、その周波数を１／２に分周することで、キャリアと全く同じ周波数の成分ｃｏｓ（ωｔ）が得られる。そして、このようにして得られたｃｏｓ（ωｔ）の信号の位相などを調整することで、BPSK信号の同期検波に用いる発振信号ｓｉｎ（ωｔ）が得られる。
【００１２】
以上のように同期検波およびキャリア再生を利用して、受信したデジタル変調信号をキャリアの帯域からベースバンドの帯域にダウンコンバートしてベースバンドデータを生成することで、元のデータが得られる。
【００１３】
上述したPSK信号の検波方法では、PSK信号のアナログ信号としての性質をうまく利用しているため、検波装置をアナログ回路で構成することで、そのような検波方法によりPSK信号を検波する検波装置を効果的に実現することができる。しかしながら、上述した検波方法でPSK信号を検波する検波装置をデジタル回路により構成した場合、デジタル回路によりPSK信号のキャリアを再生することが困難であった。
【００１４】
そこで、キャリア再生を行うことなく、PSK信号から元のデータを検出する方法がいくつか提案されている（例えば、特許文献１乃至５参照）。
【００１５】
これらの方法においては、まず、受信されたPSK信号が、PSK信号のキャリアの周波数の数倍のサンプリング周波数のサンプリングクロックが用いられてサンプリングされる。次に、サンプリングにより得られたサンプリングデータ系列における符号の遷移のタイミングから、サンプリングデータ系列におけるキャリアの位相が検出される。そして、検出された位相のタイミングに合わせて、その前後のサンプリングデータのロジック値の多数決により、元のデータの検出が行われる。ここで、PSK信号のキャリアの周波数の２倍以上のサンプリング周波数のサンプリングを行うために、入力したクロックの周波数の整数倍の周波数のクロックを出力することができる位相同期回路、すなわちPLL（Phase Locked Loop）回路が用いられて、サンプリングクロックが生成される。
【００１６】
また、PSK信号の送信および受信の両方を行うことのできる送信装置や受信装置、特に送信装置においては、キャリアと送信するベースバンドデータとを同期させながらPSK信号を送信するため、これらの装置を構成するデジタル回路は、PSK信号のキャリアの周波数と同じ程度の周波数の駆動クロックで駆動されて動作することが望ましい。そこで、受信装置においても、PSK信号のキャリアと同程度の周波数を持つ駆動クロックでデジタル回路を駆動させ、受信装置は、前述したキャリアの周波数の整数倍の周波数のサンプリングクロックを、駆動クロックを用いて生成する。
【００１７】
駆動クロックから生成されたサンプリングクロックを用いてPSK信号のサンプリングを行い、さらにその結果得られたサンプリングデータを用いて検波を行う場合、アナログ回路におけるキャリアの再生は、サンプリングデータ系列におけるキャリアの位相の検出に置き換えられ、また、同期検波そのものは、サンプリングデータの多数決による元のベースバンドデータの検出に置き換えられることになる。
【００１８】
ここで、キャリアの位相は、サンプリングデータの符号の反転のタイミングと、サンプリングデータを用いて検出された元のベースバンドデータとから検出され、その結果得られたキャリアの位相の情報が用いられて位相同期ループが動作される。また、多数決によるベースバンドデータの検出では、キャリアの位相と同一の位相のサンプリングクロックの前後半周期、合わせて１周期分におけるサンプリングデータが用いられて、そのサンプリングデータのロジック値の多数決から元のベースバンドデータの検出が行われる。すなわち、サンプリングデータの前半周期におけるロジック値１または０の数と、後半周期におけるロジック値１または０の数とから、ベースバンドデータのロジック値が定められる。
【００１９】
このように、PSK信号のキャリアの周波数の数倍のサンプリング周波数で、PSK信号をサンプリングし、その結果得られたサンプリングデータのロジック値の多数決から、キャリア再生を行うことなく、元のベースバンドデータの検出を行うことができる。このような検波方法は、PSK信号のアナログ信号としての性質を用いるものではないので、その精度はアナログ信号の性質を利用する方法と比べると高いものではないが、検波装置をデジタル回路で設計できるため、アナログ回路で必要とされた特殊な素子を用いる必要はなく、また、回路の規模や必要な電力を抑えることができ、安定した動作が期待できる。
【００２０】
【特許文献１】特開昭６０−１９８９４５号公報
【特許文献２】特開昭６２−１８３２４７号公報
【特許文献３】特開平２−１１７２４７号公報
【特許文献４】特開平６−８５８６０号公報
【特許文献５】特開平８−３１７００５号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
しかしながら、デジタル回路により上述した検波方法で検波を行うと、PSK信号の周波数に対する制限は、PSK信号を送信する送信装置における動作速度の限界による制限と比べて、そのPSK信号を受信する受信装置の動作速度の限界による制限が強くなる。その結果、PSK信号のキャリアの周波数が大きくなると、PSK信号を送信することはできるが、PSK信号を受信することができないという状態が生じることになり、通信システムの性能を最大限発揮することができない状態となる。
【００２２】
具体的には、まず、受信装置においては、PSK信号をPSK信号のキャリアの周波数の数倍のサンプリング周波数で高速にサンプリングする必要があるため、受信装置の内部にキャリアの周波数の数倍の周波数で動作するブロックが必要となる。このことは、送信時に送信装置の内部でPSK信号を生成するために必要な駆動クロックの周波数が、PSK信号のキャリアの周波数程度の周波数で充分であることと比べて、より厳しい制約を課す条件となる。
【００２３】
また、受信装置において、キャリアの周波数の数倍のサンプリング周波数での高速なサンプリングにより得られたデータを処理するブロックに対して要求される動作速度も、その動作可能な限界を超える恐れがある。例えば、高速でサンプリングされて次々に更新されるサンプリングデータを基に、元のベースバンドデータの検出や位相を比較する処理を行うためには、記憶されているサンプリングデータが、次のサンプリングデータに更新される前に処理される必要がある。
【００２４】
しかしながら、サンプリングの速度が高速になるにつれて、サンプリングしたデータが確定する、いわゆるデータのセトリングを待たずに次のサンプリングデータが入力されてくることになる。そのため、受信装置の動作可能な速度は、サンプリングデータのセトリングのタイミングによる制約を受けて、送信装置よりも厳しい制約条件が課されることになる。
【００２５】
さらに、元のベースバンドデータの検出を行うためには、位相を確定する処理が必要である。一方、この位相の確定の処理には、ベースバンドデータの確定が必要である。したがって、これらのベースバンドデータの検出と位相の確定とには、いずれも極めて短い時間での処理が必要となる。しかしながら、現状では、ベースバンドデータの検出と位相の確定の処理の手続きは多く、短い時間でそれらの処理を行うことは困難であった。
【００２６】
このように、キャリアの位相をベースバンドデータに対応させて、PSK方式により変調して得られたPSK信号から、元のベースバンドデータを簡単かつ確実に得ることは困難であった。
【００２７】
本発明は、このような状況に鑑みてなされたものであり、データに応じてキャリアを変調することにより得られた信号から、より簡単かつ確実に元のデータを得ることができるようにするものである。
【課題を解決するための手段】
【００２８】
本発明の一側面の信号処理装置は、データの系列を表現する入力信号から、前記データを検出する信号処理装置であって、動作のタイミングの基準となる所定の周期の駆動クロックから、互いに位相が異なり、かつ前記周期と同じ周期の複数のサンプリングクロックを生成するサンプリングクロック生成手段と、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングし、前記入力信号に対応した複数のサンプリングデータを生成するサンプリングデータ生成手段と、前記サンプリングクロックごとに、前記サンプリングクロックの前記入力信号に対する位相のずれを示す位相比較データを、前記サンプリングデータを用いて生成する位相比較データ生成手段と、前記サンプリングデータを用いて前記サンプリングクロックごとの前記データを生成し、前記位相比較データに基づいて、前記サンプリングクロックごとの前記データのそれぞれのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記データを、前記入力信号により表現された元の前記データとして選択するデータ生成手段とを備える。
【００２９】
前記データ生成手段には、１つの前記サンプリングクロックの１周期の期間に、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングすることにより得られた前記サンプリングデータのそれぞれに所定の重みを乗算させ、前記重みが乗算された前記サンプリングデータのうち、前記サンプリングクロックの１周期の前半の半周期にサンプリングされて前記重みが乗算された前記サンプリングデータの和と、前記サンプリングクロックの１周期の後半の半周期にサンプリングされて前記重みが乗算された前記サンプリングデータの和とを比較させ、その比較結果に基づいて前記データを生成させることができる。
【００３０】
前記位相比較データ生成手段には、１つの前記サンプリングクロックの１周期の期間に、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングすることにより得られた前記サンプリングデータのそれぞれに所定の重みを乗算させ、重みが乗算された前記サンプリングデータのそれぞれの和を求めさせることにより、前記位相比較データを生成させることができる。
【００３１】
前記サンプリングデータ生成手段には、所定のサンプリングクロックを用いて前記入力信号をサンプリングさせることにより得られたデータを、前記所定のサンプリングクロックの位相よりも、より前記駆動クロックの位相に近い位相のサンプリングクロックを用いてサンプリングさせ、その結果得られたデータを、さらに前記駆動クロックと同じ位相のサンプリングクロックを用いてサンプリングさせることで得られたデータを、前記サンプリングデータとして出力させることにより、前記駆動クロックに同期した前記サンプリングデータを生成させることができる。
【００３２】
前記入力信号は、前記駆動クロックの周期とほぼ同じ周期のキャリアを、前記データに応じて変調することにより得られた信号とすることができる。
【００３３】
前記サンプリングクロックは、前記駆動クロックに対して、前記駆動クロックの１周期よりも短い所定の時間だけ遅延したものとすることができる。
【００３４】
信号処理装置には、前記サンプリングクロックごとの前記データを用いて、前記入力信号から予め定められた固定パタンを検出することにより、前記データの検出の開始直後における前記入力信号の位相である初期位相を検出し、その検出結果を示す初期位相データを生成する初期位相データ生成手段と、前記初期位相に対する前記入力信号の位相のずれを検出し、その検出結果を示す位相データを生成する位相データ生成手段と、前記初期位相データおよび前記位相データに基づいて、前記サンプリングクロックごとの前記位相比較データのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記位相比較データを選択する位相比較データ選択手段とをさらに設け、前記位相データ生成手段には、前記データ選択手段により選択された前記データ、および前記位相比較データ選択手段により選択された前記位相比較データに基づいて、前記位相データを生成させ、前記データ生成手段には、前記初期位相データおよび前記位相データを用いて、前記データを選択させることができる。
【００３５】
本発明の一側面の信号処理方法またはプログラムは、データの系列を表現する入力信号から、前記データを検出する信号処理装置の信号処理方法またはプログラムであって、動作のタイミングの基準となる所定の周期の駆動クロックから、互いに位相が異なり、かつ前記周期と同じ周期の複数のサンプリングクロックを生成し、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングし、前記入力信号に対応した複数のサンプリングデータを生成し、前記サンプリングクロックごとに、前記サンプリングクロックの前記キャリアに対する位相のずれを示す位相比較データを、前記サンプリングデータを用いて生成し、前記サンプリングデータを用いて前記サンプリングクロックごとの前記データを生成し、前記位相比較データに基づいて、前記サンプリングクロックごとの前記データのそれぞれのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記データを、前記入力信号により表現された元の前記データとして選択するするステップを含む。
【００３６】
本発明の一側面においては、データの系列を表現する入力信号から、前記データを検出する信号処理装置において、動作のタイミングの基準となる所定の周期の駆動クロックから、互いに位相が異なり、かつ前記周期と同じ周期の複数のサンプリングクロックが生成され、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングし、前記入力信号に対応した複数のサンプリングデータが生成され、前記サンプリングクロックごとに、前記サンプリングクロックの前記入力信号に対する位相のずれを示す位相比較データが、前記サンプリングデータが用いられて生成され、前記サンプリングデータが用いられて前記サンプリングクロックごとの前記データが生成され、前記位相比較データに基づいて、前記サンプリングクロックごとの前記データのそれぞれのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記データが、前記入力信号により表現された元の前記データとして選択される。
【発明の効果】
【００３７】
本発明の一側面によれば、データに応じてキャリアを変調することにより得られた信号から、元のデータを得ることができる。特に、本発明の一側面によれば、データに応じてキャリアを変調することにより得られた信号から、より簡単かつ確実に元のデータを得ることができる。
【発明を実施するための最良の形態】
【００３８】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００３９】
本発明の一側面の信号処理装置は、データの系列を表現する入力信号から、前記データを検出する信号処理装置であって、動作のタイミングの基準となる所定の周期の駆動クロックから、互いに位相が異なり、かつ前記周期と同じ周期の複数のサンプリングクロックを生成するサンプリングクロック生成手段（例えば、図１のサンプリングクロック発生部２２）と、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングし、前記入力信号に対応した複数のサンプリングデータを生成するサンプリングデータ生成手段（例えば、図１のサンプリングデータ生成部２３）と、前記サンプリングクロックごとに、前記サンプリングクロックの前記入力信号に対する位相のずれを示す位相比較データを、前記サンプリングデータを用いて生成する位相比較データ生成手段（例えば、図１の位相比較データ生成部２８）と、前記サンプリングデータを用いて前記サンプリングクロックごとの前記データを生成し、前記位相比較データに基づいて、前記サンプリングクロックごとの前記データのそれぞれのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記データを、前記入力信号により表現された元の前記データとして選択するデータ生成手段（例えば、図１の検波データ生成部２５および検波データ決定部２７）とを備える。
【００４０】
前記データ生成手段には、１つの前記サンプリングクロックの１周期の期間に、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングすることにより得られた前記サンプリングデータのそれぞれに所定の重みを乗算させ、前記重みが乗算された前記サンプリングデータのうち、前記サンプリングクロックの１周期の前半の半周期にサンプリングされて前記重みが乗算された前記サンプリングデータの和と、前記サンプリングクロックの１周期の後半の半周期にサンプリングされて前記重みが乗算された前記サンプリングデータの和とを比較し、その比較結果に基づいて前記データを生成させる（例えば、図１８のステップＳ８３の処理）ことができる。
【００４１】
前記位相比較データ生成手段には、１つの前記サンプリングクロックの１周期の期間に、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングすることにより得られた前記サンプリングデータのそれぞれに所定の重みを乗算させ、重みが乗算された前記サンプリングデータのそれぞれの和を求めさせることにより、前記位相比較データを生成させる（例えば、図２０のステップＳ１４２の処理およびステップＳ１４３の処理）ことができる。
【００４２】
前記サンプリングデータ生成手段には、所定のサンプリングクロックを用いて前記入力信号をサンプリングさせることにより得られたデータを、前記所定のサンプリングクロックの位相よりも、より前記駆動クロックの位相に近い位相のサンプリングクロックを用いてサンプリングさせ、その結果得られたデータを、さらに前記駆動クロックと同じ位相のサンプリングクロックを用いてサンプリングさせることで得られたデータを、前記サンプリングデータとして出力させることにより、前記駆動クロックに同期した前記サンプリングデータを生成させる（例えば、図１５のステップＳ１３の処理）ことができる。
【００４３】
信号処理装置には、前記サンプリングクロックごとの前記データを用いて、前記入力信号から予め定められた固定パタンを検出することにより、前記データの検出の開始直後における前記キャリアの位相である初期位相を検出し、その検出結果を示す初期位相データを生成する初期位相データ生成手段（例えば、図１の初期位相決定部２６）と、前記初期位相に対する前記入力信号の位相のずれを検出し、その検出結果を示す位相データを生成する位相データ生成手段（例えば、図１のサンプリングクロック決定部３０）と、前記初期位相データおよび前記位相データに基づいて、前記サンプリングクロックごとの前記位相比較データのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記位相比較データを選択する位相比較データ選択手段（例えば、図１の位相比較データ決定部２９）とをさらに設け、前記位相データ生成手段には、前記データ選択手段により選択された前記データ、および前記位相比較データ選択手段により選択された前記位相比較データに基づいて、前記位相データを生成させ、前記データ生成手段には、前記初期位相データおよび前記位相データを用いて、前記データを選択させることができる。
【００４４】
本発明の一側面の信号処理方法またはプログラムは、データの系列を表現する入力信号から、前記データを検出する信号処理装置の信号処理方法またはプログラムであって、動作のタイミングの基準となる所定の周期の駆動クロックから、互いに位相が異なり、かつ前記周期と同じ周期の複数のサンプリングクロックを生成し（例えば、図１５のステップＳ１２）、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングし、前記入力信号に対応した複数のサンプリングデータを生成し（例えば、図１５のステップＳ１３）、前記サンプリングクロックごとに、前記サンプリングクロックの前記キャリアに対する位相のずれを示す位相比較データを、前記サンプリングデータを用いて生成し（例えば、図１５のステップＳ１８）、前記サンプリングデータを用いて前記サンプリングクロックごとの前記データを生成し、前記位相比較データに基づいて、前記サンプリングクロックごとの前記データのそれぞれのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記データを、前記入力信号により表現された元の前記データとして選択する（例えば、図１５のステップＳ１３およびステップＳ１７）ステップを含む。
【００４５】
本発明は、ASK信号、PSK信号、マンチェスタ符号などのデジタル信号を処理する通信機器、通信システムなどに適用することができる。
【００４６】
以下、図面を参照して、本発明を適用した実施の形態について説明する。
【００４７】
図１は、本発明を適用した検波装置の一実施の形態の構成例を示すブロック図である。
【００４８】
検波装置１１は、レベル変換部２１、サンプリングクロック発生部２２、サンプリングデータ生成部２３、バス２４、検波データ生成部２５、初期位相決定部２６、検波データ決定部２７、位相比較データ生成部２８、位相比較データ決定部２９、サンプリングクロック決定部３０、およびバス３１から構成される。
【００４９】
検波装置１１は、図示せぬ送信装置から送信されてきたデジタル変調信号を受信する。そして、受信されたデジタル変調信号は、レベル変換部２１に供給される。ここで、デジタル変調信号は、キャリアの位相または振幅を、ベースバンドデータに対応させて、変調することで得られる信号である。また、サンプリングクロック発生部２２には、デジタル変調信号のキャリアと同程度の周波数（周期）であり、デジタル回路を駆動するための駆動クロックが供給される。この駆動クロックは、デジタル回路の動作のタイミングの基準となる。
【００５０】
レベル変換部２１は、供給されたデジタル変調信号の中心のレベルをロジック判定の基準レベルにシフトして、サンプリングデータ生成部２３に供給する。サンプリングクロック発生部２２は、供給された駆動クロックを用いて、駆動クロックの周期よりも短い間隔で時間的に遅延させた複数のサンプリングクロックを生成する。すなわち、サンプリングクロック発生部２２は、周期が同じで互いに位相の異なる複数のサンプリングクロックを生成し、生成したサンプリングクロックをサンプリングデータ生成部２３に供給する。
【００５１】
サンプリングデータ生成部２３は、サンプリングクロック発生部２２から供給されたサンプリングクロックのそれぞれを用いて、レベル変換部２１から供給されたデジタル変調信号をサンプリングする。つまり、サンプリングデータ生成部２３は、サンプリングクロックのそれぞれの各タイミングにおいて受信したデジタル変調信号のロジック判定を行い、その結果得られたサンプリングデータを、バス２４を介して検波データ生成部２５および位相比較データ生成部２８に供給する。
【００５２】
これにより、検波データ生成部２５および位相比較データ生成部２８には、複数のサンプリングクロックごとに得られたサンプリングデータが供給される。このように、周期が同じで互いに位相の異なる複数のサンプリングクロックを用いることで、デジタル変調信号のキャリアの周期よりも短い時間間隔でサンプリングを行うことができる。
【００５３】
検波データ生成部２５は、サンプリングデータ生成部２３から供給された、サンプリングクロックごとのサンプリングデータから、サンプリングクロックごとのベースバンドデータである検波データを生成する。これらの検波データのそれぞれは、サンプリングクロックのそれぞれが、受信したデジタル変調信号のキャリアに同期しているとみなして検波することにより得られたベースバンドデータのそれぞれとされる。検波データ生成部２５は、生成された検波データを、バス３１を介して初期位相決定部２６および検波データ決定部２７に供給する。
【００５４】
また、検波データ生成部２５は、サンプリングデータ生成部２３から供給された、サンプリングクロックごとのサンプリングデータを基に、明らかにキャリアとは同期していないサンプリングクロックが、キャリアと同期したサンプリングクロックとして選択されないようにするためのエラーデータを生成する。検波データ生成部２５は、生成したエラーデータを、バス３１を介して初期位相決定部２６に供給する。
【００５５】
初期位相決定部２６は、検波データ生成部２５から供給された、検波データおよびエラーデータに基づいて、キャリアの初期位相を決定する。より具体的には、初期位相決定部２６は、検波データおよびエラーデータに基づいて、生成された複数のサンプリングクロックのうち、デジタル変調信号の受信を開始した直後、すなわちデジタル変調信号の検波を開始した直後において、受信したデジタル変調信号のキャリアと位相が同じであるサンプリングクロック、つまりキャリアに同期したサンプリングクロックを選択し、その選択されたサンプリングクロックを示す初期位相データを、検波データ決定部２７および位相比較データ決定部２９に供給する。
【００５６】
検波データ決定部２７は、初期位相決定部２６から供給された初期位相データ、およびサンプリングクロック決定部３０から供給された位相比較ローパスデータに基づいて、検波データ生成部２５から供給されたサンプリングクロックごとの検波データから、キャリアに同期したサンプリングクロックを用いて検波することにより得られた、最終的な検波データを選択する。検波データ決定部２７は、選択した最終的な検波データをサンプリングクロック決定部３０に供給するとともに、検波装置１１の後段のブロックに出力する。
【００５７】
ここで、位相比較ローパスデータは、受信したデジタル変調信号のキャリアの位相が、デジタル変調信号の受信を開始した直後から、相対的にどれだけずれたかを示す信号とされる。
【００５８】
位相比較データ生成部２８は、サンプリングデータ生成部２３から供給されたサンプリングデータを基に、生成されたサンプリングクロックの位相のそれぞれが、キャリアの位相に対して相対的にどれだけずれているかを示す位相比較データのそれぞれを生成し、生成した位相比較データを位相比較データ決定部２９に供給する。
【００５９】
位相比較データ決定部２９は、初期位相決定部２６から供給された初期位相データ、およびサンプリングクロック決定部３０から供給された位相比較ローパスデータに基づいて、位相比較データ生成部２８から供給されたサンプリングクロックごとの位相比較データのうち、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックの位相比較データを選択する。位相比較データ決定部２９は、選択した位相比較データをサンプリングクロック決定部３０に供給する。
【００６０】
サンプリングクロック決定部３０は、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックを検出する。すなわち、サンプリングクロック決定部３０は、検波データ決定部２７から供給された検波データと、位相比較データ決定部２９から供給された位相比較データとから、位相比較ローパスデータを生成する。サンプリングクロック決定部３０は、生成した位相比較ローパスデータを、検波データ決定部２７および位相比較データ決定部２９に供給する。
【００６１】
図２は、図１のレベル変換部２１の構成例を示す図である。
【００６２】
レベル変換部２１は、コンデンサ６１、インバータ６２および抵抗６３から構成される。図２の例では、コンデンサの一方の端にインバータ６２の入力端子が接続され、さらにインバータ６２の入力端子は、抵抗６３の一方の端にも接続されている。また、抵抗６３の他方の端は、インバータ６２の出力端子に接続されている。
【００６３】
受信したデジタル変調信号は、コンデンサ６１を介してインバータ６２に入力される。つまり、受信したデジタル変調信号は、コンデンサ６１の端のうち、インバータ６２の入力端子と接続されている端とは異なる方の端に入力される。
【００６４】
インバータ６２は、高速で動作するインバータロジック素子からなり、コンデンサ６１を介して入力されたデジタル変調信号のレベルを、その中心のレベルがロジック判定の基準レベルとなるように変換（シフト）し、レベルが変換されたデジタル変調信号を出力する。ここで、インバータ６２の入力端子および出力端子には抵抗６３が接続されているため、デジタル変調信号のレベルは、インバータ６２に入力される直前に、インバータ６２の閾値レベルに変換される。
【００６５】
このように、デジタル変調信号のレベルは、レベル変換部２１により、ロジック判定が可能なレベルに変換されるため、検波装置１１において、サンプリングクロックを用いてデジタル変調信号のロジック判定を行うことが可能となる。そして、検波装置１１において、ロジック判定により得られるサンプリングデータを処理することができるようになる。なお、コンデンサ６１および抵抗６３の組み合わせは、その時定数がデジタル変調信号のキャリアの周波数を超えない程度に小さく、かつデジタル変調信号の受信後、直ちにデジタル変調信号のレベルが安定する程度には時定数が大きくなるような組み合わせとされることが望ましい。
【００６６】
図３は、図１のサンプリングクロック発生部２２の構成例を示す図である。
【００６７】
サンプリングクロック発生部２２は、遅延部９１乃至遅延部９３、およびインバータ９４乃至インバータ９７から構成される。
【００６８】
また、遅延部９１乃至遅延部９３は、例えばプログラマブル遅延素子とされ、インバータ９４乃至インバータ９７は、駆動クロックの周期と比べて高速で動作するインバータとされる。サンプリングクロック発生部２２では、入力された駆動クロックから、駆動クロックの８分の１周期の整数倍だけ位相がずれた８つのサンプリングクロックが生成される。
【００６９】
すなわち、入力された駆動クロックは、サンプリングクロックClock[0]としてそのまま出力されるとともに、遅延素子９１乃至遅延部９３およびインバータ９４に供給される。ここで、サンプリングクロックClock[0]は、駆動クロックそのものであるので、駆動クロックと同じ位相のサンプリングクロックである。
【００７０】
また、インバータ９４は、供給された駆動クロックを反転させ、反転された駆動クロックをサンプリングクロックClock[4]として出力する。このサンプリングクロックClock[4]は、駆動クロックが反転されたものであるので、サンプリングクロックClock[0]に対して、サンプリングクロックの８分の４周期だけ遅延したサンプリングクロックとなる。
【００７１】
遅延部９１は、遅延部９１を制御する図示せぬセレクタから供給された信号に基づいて、供給された駆動クロックを、駆動クロックの８分の１周期だけ遅延させ、遅延された駆動クロックをサンプリングクロックClock[1]として出力するとともに、遅延された駆動クロックをインバータ９５に供給する。このサンプリングクロックClock[1]は、駆動クロックが８分の１周期だけ遅延されたものであるので、サンプリングクロックClock[0]に対して、サンプリングクロックの８分の１周期だけ遅延したサンプリングクロックとなる。
【００７２】
インバータ９５は、遅延部９１から供給された駆動クロックを反転させ、反転された駆動クロックをサンプリングクロックClock[5]として出力する。このサンプリングクロックClock[5]は、８分の１周期だけ遅延された駆動クロックが反転されたものであるので、サンプリングクロックClock[0]に対して、サンプリングクロックの８分の５周期だけ遅延したサンプリングクロックとなる。
【００７３】
遅延部９２は、遅延部９２を制御する図示せぬセレクタから供給された信号に基づいて、供給された駆動クロックを、駆動クロックの８分の２周期だけ遅延させ、遅延された駆動クロックをサンプリングクロックClock[2]として出力するとともに、遅延された駆動クロックをインバータ９６に供給する。このサンプリングクロックClock[2]は、駆動クロックが８分の２周期だけ遅延されたものであるので、サンプリングクロックClock[0]に対して、サンプリングクロックの８分の２周期だけ遅延したサンプリングクロックとなる。
【００７４】
インバータ９６は、遅延部９２から供給された駆動クロックを反転させ、反転された駆動クロックをサンプリングクロックClock[6]として出力する。このサンプリングクロックClock[6]は、８分の２周期だけ遅延された駆動クロックが反転されたものであるので、サンプリングクロックClock[0]に対して、サンプリングクロックの８分の６周期だけ遅延したサンプリングクロックとなる。
【００７５】
遅延部９３は、遅延部９３を制御する図示せぬセレクタから供給された信号に基づいて、供給された駆動クロックを、駆動クロックの８分の３周期だけ遅延させ、遅延された駆動クロックをサンプリングクロックClock[3]として出力するとともに、遅延された駆動クロックをインバータ９７に供給する。このサンプリングクロックClock[3]は、駆動クロックが８分の３周期だけ遅延されたものであるので、サンプリングクロックClock[0]に対して、サンプリングクロックの８分の３周期だけ遅延したサンプリングクロックとなる。
【００７６】
インバータ９７は、遅延部９３から供給された駆動クロックを反転させ、反転された駆動クロックをサンプリングクロックClock[7]として出力する。このサンプリングクロックClock[7]は、８分の３周期だけ遅延された駆動クロックが反転されたものであるので、サンプリングクロックClock[0]に対して、サンプリングクロックの８分の７周期だけ遅延したサンプリングクロックとなる。
【００７７】
このようにしてサンプリングクロック発生部２２において生成されたサンプリングクロックClock[0]乃至サンプリングクロックClock[７]は、サンプリングデータ生成部２３に供給される。
【００７８】
このように、遅延部９１乃至遅延部９３により駆動クロックを遅延させたり、インバータ９４乃至インバータ９７により駆動クロックを反転させたりすることで、PLL回路を必要とせずに、駆動クロックを用いて、互いに位相の異なる複数のサンプリングクロックを簡単に生成することができる。また、このサンプリングクロック群を用いることにより、駆動クロックよりも短い周期でデジタル変調信号をサンプリングすることができる。
【００７９】
したがって、従来、キャリアの整数倍の周波数のサンプリングクロックを生成する場合に生じていた、デジタル変調信号のキャリアの周波数に対する検波装置１１の動作速度による制約をなくすことができ、デジタル変調信号のキャリアの周波数を、最大で駆動クロックの周波数の上限まで高くすることができる。つまり、キャリアの周波数以上の周波数での動作を必要とせずに、サンプリングクロックを生成することができる。
【００８０】
なお、図３の例では、遅延部９１乃至遅延部９３が並列に並べられた構成とされているが、駆動クロックを、その駆動クロックの８分の１周期だけ遅延させる３つの遅延部が直列に並べられる構成としてもよいし、複数の遅延部が組み合わされて直列や並列に並べられるようにしてもよい。
【００８１】
また、遅延部９１乃至遅延部９３は、プログラマブル遅延素子であるので、駆動クロックの周期を変化させた場合に、駆動クロックを遅延させる時間を変更させることができるが、駆動クロックの周期が予め定められている場合には、遅延部９１乃至遅延部９３は、プログラマブル遅延素子に限らず、遅延させる時間が予め定められた遅延素子とされてもよい。
【００８２】
さらに、インバータ９４乃至インバータ９７が駆動クロックを反転させることで、それらのインバータ９４乃至インバータ９７から出力されるサンプリングクロックは、他のサンプリングクロックよりも反転の処理の処理時間の分だけ遅延する。そこで、その反転の処理の分の遅延が無視できない場合には、遅延しない他のサンプリングクロックを、その遅延時間だけバッファに一時的に記憶させて、全てのサンプリングクロックが同時に出力されるようにしてもよい。
【００８３】
さらに、また、図３に示したサンプリングクロック発生部２２においては、駆動クロックを反転させると、その駆動クロックの位相がπだけ変化することを利用してサンプリングクロックを生成しているので、駆動クロックは、そのデューティー比が５０％に近い信号であることが望ましい。
【００８４】
図４および図５は、図１のサンプリングデータ生成部２３の構成例を示すブロック図である。このサンプリングデータ生成部２３は、デジタル変調信号のキャリアの周期ｔｃが、サンプリングデータのセトリングの遅延時間ｔｄよりも長く、その遅延時間ｔｄが、（３／４）ｔｃ程度である場合に、サンプリングクロックを用いてサンプリングデータを生成するのに適した構成とされている。
【００８５】
サンプリングデータ生成部２３は、フリップフロップ１２１−１乃至フリップフロップ１２８−４から構成される。
【００８６】
すなわち、サンプリングデータ生成部２３は、フリップフロップ１２１−１乃至フリップフロップ１２１−４、フリップフロップ１２２−１乃至フリップフロップ１２２−４、フリップフロップ１２３−１乃至フリップフロップ１２３−４、フリップフロップ１２４−１乃至フリップフロップ１２４−４、フリップフロップ１２５−１乃至フリップフロップ１２５−４、フリップフロップ１２６−１乃至フリップフロップ１２６−４、フリップフロップ１２７−１乃至フリップフロップ１２７−４、およびフリップフロップ１２８−１乃至フリップフロップ１２８−４のそれぞれからなる８つのシフトレジスタから構成される。
【００８７】
フリップフロップ１２１−１は、レベル変換部２１から供給されたデジタル変調信号を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][0]を出力する。フリップフロップ１２１−２は、フリップフロップ１２１−１から出力されたロジックデータr-inp[0][0]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[1][0]を出力する。
【００８８】
フリップフロップ１２１−３は、フリップフロップ１２１−２から出力されたロジックデータr-inp[1][0]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[2][0]を出力する。フリップフロップ１２１−４は、フリップフロップ１２１−３から出力されたロジックデータr-inp[2][0]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータであるサンプリングデータr-inp[3][0]を出力する。
【００８９】
これにより、フリップフロップ１２１−４からは、デジタル変調信号がサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][0]が出力される。なお、以下、フリップフロップ１２１−１乃至フリップフロップ１２１−４のそれぞれを特に区別する必要のない場合、単にフリップフロップ１２１と称する。
【００９０】
フリップフロップ１２２−１は、レベル変換部２１から供給されたデジタル変調信号を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][1]を出力する。フリップフロップ１２２−２は、フリップフロップ１２２−１から出力されたロジックデータr-inp[0][1]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[1][1]を出力する。
【００９１】
ここでは、ロジックデータr-inp[0][1]のセトリングタイムが、サンプリングクロックClock[1]の立ち上がりから、時間的に次のサンプリングクロックClock[0]の立ち上がりまでの時間よりも短いことが利用されている。つまり、フリップフロップ１２２−１が保持しているロジックデータr-inp[0][1]のレベルは、次にサンプリングクロックClock[0]が立ち上がる時刻までには、そのロジック値を正しく読み取ることのできるレベルとなっているので、時間的に次のサンプリングクロックClock[0]の立ち上がりのタイミングでロジックデータr-inp[0][1]をサンプリングすることにより、ロジックデータr-inp[0][1]をサンプリングクロックClock[0]と同期させたデータとすることができる。
【００９２】
フリップフロップ１２２−３は、フリップフロップ１２２−２から出力されたロジックデータr-inp[1][1]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[2][1]を出力する。フリップフロップ１２２−４は、フリップフロップ１２２−３から出力されたロジックデータr-inp[2][1]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータであるサンプリングデータr-inp[3][1]を出力する。
【００９３】
これにより、フリップフロップ１２２−４からは、デジタル変調信号がサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][1]が出力される。つまり、サンプリングデータr-inp[3][1]をサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングして得られるデータは、デジタル変調信号をサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングしたときのロジックデータと等しく、かつサンプリングクロックClock[0]に同期したデータである。
【００９４】
なお、以下、フリップフロップ１２２−１乃至フリップフロップ１２２−４のそれぞれを特に区別する必要のない場合、単にフリップフロップ１２２と称する。
【００９５】
フリップフロップ１２３−１は、レベル変換部２１から供給されたデジタル変調信号を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][2]を出力する。フリップフロップ１２３−２は、フリップフロップ１２３−１から出力されたロジックデータr-inp[0][2]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[1][2]を出力する。
【００９６】
ここでは、ロジックデータr-inp[0][2]のセトリングタイムが、サンプリングクロックClock[2]の立ち上がりから、時間的に次のサンプリングクロックClock[0]の立ち上がりまでの時間よりも短いことが利用されている。
【００９７】
フリップフロップ１２３−３は、フリップフロップ１２３−２から出力されたロジックデータr-inp[1][2]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[2][2]を出力する。フリップフロップ１２３−４は、フリップフロップ１２３−３から出力されたロジックデータr-inp[2][2]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータであるサンプリングデータr-inp[3][2]を出力する。
【００９８】
これにより、フリップフロップ１２３−４からは、デジタル変調信号がサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][2]が出力される。つまり、サンプリングデータr-inp[3][2]をサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングして得られるデータは、デジタル変調信号をサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングしたときのロジックデータと等しく、かつサンプリングクロックClock[0]に同期したデータである。なお、以下、フリップフロップ１２３−１乃至フリップフロップ１２３−４のそれぞれを特に区別する必要のない場合、単にフリップフロップ１２３と称する。
【００９９】
フリップフロップ１２４−１は、レベル変換部２１から供給されたデジタル変調信号を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][3]を出力する。フリップフロップ１２４−２は、フリップフロップ１２４−１から出力されたロジックデータr-inp[0][3]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[1][3]を出力する。
【０１００】
ここでは、ロジックデータr-inp[0][3]のセトリングタイムが、サンプリングクロックClock[3]の立ち上がりから、時間的に次のサンプリングクロックClock[1]の立ち上がりまでの時間よりも短いことが利用されている。
【０１０１】
フリップフロップ１２４−３は、フリップフロップ１２４−２から出力されたロジックデータr-inp[1][3]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[2][3]を出力する。ここでは、ロジックデータr-inp[1][3]のセトリングタイムが、サンプリングクロックClock[1]の立ち上がりから、時間的に次のサンプリングクロックClock[0]の立ち上がりまでの時間よりも短いことが利用されている。フリップフロップ１２４−４は、フリップフロップ１２４−３から出力されたロジックデータr-inp[2][3]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータであるサンプリングデータr-inp[3][3]を出力する。
【０１０２】
これにより、フリップフロップ１２４−４からは、デジタル変調信号がサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][3]が出力される。つまり、サンプリングデータr-inp[3][3]をサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングして得られるデータは、デジタル変調信号をサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングしたときのロジックデータと等しく、かつサンプリングクロックClock[0]に同期したデータである。なお、以下、フリップフロップ１２４−１乃至フリップフロップ１２４−４のそれぞれを特に区別する必要のない場合、単にフリップフロップ１２４と称する。
【０１０３】
フリップフロップ１２５−１は、レベル変換部２１から供給されたデジタル変調信号を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[4]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][4]を出力する。フリップフロップ１２５−２は、フリップフロップ１２５−１から出力されたロジックデータr-inp[0][4]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[1][4]を出力する。ここでは、ロジックデータr-inp[0][4]のセトリングタイムが、サンプリングクロックClock[4]の立ち上がりから、時間的に次のサンプリングクロックClock[2]の立ち上がりまでの時間よりも短いことが利用されている。
【０１０４】
フリップフロップ１２５−３は、フリップフロップ１２５−２から出力されたロジックデータr-inp[1][4]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[2][4]を出力する。ここでは、ロジックデータr-inp[1][4]のセトリングタイムが、サンプリングクロックClock[2]の立ち上がりから、時間的に次のサンプリングクロックClock[0]の立ち上がりまでの時間よりも短いことが利用されている。フリップフロップ１２５−４は、フリップフロップ１２５−３から出力されたロジックデータr-inp[2][4]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータであるサンプリングデータr-inp[3][4]を出力する。
【０１０５】
これにより、フリップフロップ１２５−４からは、デジタル変調信号がサンプリングクロックClock[4]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][4]が出力される。つまり、サンプリングデータr-inp[3][4]をサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングして得られるデータは、デジタル変調信号をサンプリングクロックClock[4]が立ち上がるタイミングでサンプリングしたときのロジックデータと等しく、かつサンプリングクロックClock[0]に同期したデータである。なお、以下、フリップフロップ１２５−１乃至フリップフロップ１２５−４のそれぞれを特に区別する必要のない場合、単にフリップフロップ１２５と称する。
【０１０６】
フリップフロップ１２６−１は、レベル変換部２１から供給されたデジタル変調信号を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[5]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][5]を出力する。フリップフロップ１２６−２は、フリップフロップ１２６−１から出力されたロジックデータr-inp[0][5]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[1][5]を出力する。ここでは、ロジックデータr-inp[0][5]のセトリングタイムが、サンプリングクロックClock[5]の立ち上がりから、時間的に次のサンプリングクロックClock[3]の立ち上がりまでの時間よりも短いことが利用されている。
【０１０７】
フリップフロップ１２６−３は、フリップフロップ１２６−２から出力されたロジックデータr-inp[1][5]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[2][5]を出力する。ここでは、ロジックデータr-inp[1][5]のセトリングタイムが、サンプリングクロックClock[3]の立ち上がりから、時間的に次のサンプリングクロックClock[1]の立ち上がりまでの時間よりも短いことが利用されている。
【０１０８】
フリップフロップ１２６−４は、フリップフロップ１２６−３から出力されたロジックデータr-inp[2][5]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータであるサンプリングデータr-inp[3][5]を出力する。ここでは、ロジックデータr-inp[2][5]のセトリングタイムが、サンプリングクロックClock[1]の立ち上がりから、時間的に次のサンプリングクロックClock[0]の立ち上がりまでの時間よりも短いことが利用されている。
【０１０９】
これにより、フリップフロップ１２６−４からは、デジタル変調信号がサンプリングクロックClock[5]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][5]が出力される。つまり、サンプリングデータr-inp[3][5]をサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングして得られるデータは、デジタル変調信号をサンプリングクロックClock[5]が立ち上がるタイミングでサンプリングしたときのロジックデータと等しく、かつサンプリングクロックClock[0]に同期したデータである。なお、以下、フリップフロップ１２６−１乃至フリップフロップ１２６−４のそれぞれを特に区別する必要のない場合、単にフリップフロップ１２６と称する。
【０１１０】
フリップフロップ１２７−１は、レベル変換部２１から供給されたデジタル変調信号を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[6]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][6]を出力する。フリップフロップ１２７−２は、フリップフロップ１２７−１から出力されたロジックデータr-inp[0][6]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[4]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[1][6]を出力する。ここでは、ロジックデータr-inp[0][6]のセトリングタイムが、サンプリングクロックClock[6]の立ち上がりから、時間的に次のサンプリングクロックClock[4]の立ち上がりまでの時間よりも短いことが利用されている。
【０１１１】
フリップフロップ１２７−３は、フリップフロップ１２７−２から出力されたロジックデータr-inp[1][6]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[2][6]を出力する。ここでは、ロジックデータr-inp[1][6]のセトリングタイムが、サンプリングクロックClock[4]の立ち上がりから、時間的に次のサンプリングクロックClock[2]の立ち上がりまでの時間よりも短いことが利用されている。
【０１１２】
フリップフロップ１２７−４は、フリップフロップ１２７−３から出力されたロジックデータr-inp[2][6]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータであるサンプリングデータr-inp[3][6]を出力する。ここでは、ロジックデータr-inp[2][6]のセトリングタイムが、サンプリングクロックClock[2]の立ち上がりから、時間的に次のサンプリングクロックClock[0]の立ち上がりまでの時間よりも短いことが利用されている。
【０１１３】
これにより、フリップフロップ１２７−４からは、デジタル変調信号がサンプリングクロックClock[6]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][6]が出力される。つまり、サンプリングデータr-inp[3][6]をサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングして得られるデータは、デジタル変調信号をサンプリングクロックClock[6]が立ち上がるタイミングでサンプリングしたときのロジックデータと等しく、かつサンプリングクロックClock[0]に同期したデータである。なお、以下、フリップフロップ１２７−１乃至フリップフロップ１２７−４のそれぞれを特に区別する必要のない場合、単にフリップフロップ１２７と称する。
【０１１４】
フリップフロップ１２８−１は、レベル変換部２１から供給されたデジタル変調信号を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[7]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][7]を出力する。フリップフロップ１２８−２は、フリップフロップ１２８−１から出力されたロジックデータr-inp[0][7]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[5]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[1][7]を出力する。ここでは、ロジックデータr-inp[0][7]のセトリングタイムが、サンプリングクロックClock[7]の立ち上がりから、時間的に次のサンプリングクロックClock[5]の立ち上がりまでの時間よりも短いことが利用されている。
【０１１５】
フリップフロップ１２８−３は、フリップフロップ１２８−２から出力されたロジックデータr-inp[1][7]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[2][7]を出力する。ここでは、ロジックデータr-inp[1][7]のセトリングタイムが、サンプリングクロックClock[5]の立ち上がりから、時間的に次のサンプリングクロックClock[3]の立ち上がりまでの時間よりも短いことが利用されている。
【０１１６】
フリップフロップ１２８−４は、フリップフロップ１２８−３から出力されたロジックデータr-inp[2][7]を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータであるサンプリングデータr-inp[3][7]を出力する。ここでは、ロジックデータr-inp[2][7]のセトリングタイムが、サンプリングクロックClock[3]の立ち上がりから、時間的に次のサンプリングクロックClock[1]の立ち上がりまでの時間よりも短いことが利用されている。
【０１１７】
これにより、フリップフロップ１２８−４からは、デジタル変調信号がサンプリングクロックClock[7]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[1]に同期したサンプリングデータr-inp[3][7]が出力される。つまり、サンプリングデータr-inp[3][7]をサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングして得られるデータは、デジタル変調信号をサンプリングクロックClock[7]が立ち上がるタイミングでサンプリングしたときのロジックデータと等しく、かつサンプリングクロックClock[1]に同期したデータである。
【０１１８】
このサンプリングデータr-inp[3][7]は、サンプリングクロックClock[1]に同期したデータであるが、後段の検波データ生成部２５および位相比較データ生成部２８が、サンプリングデータr-inp[3][7]の出力されるサンプリングクロックClock[1]の立ち上がりから、時間的に次のサンプリングクロックClock[0]の立ち上がりのタイミングで、このサンプリングデータr-inp[3][7]を取得することにより、結果的にサンプリングデータr-inp[3][7]は、サンプリングクロックClock[0]に同期したデータとなる。なお、以下、フリップフロップ１２８−１乃至フリップフロップ１２８−４のそれぞれを特に区別する必要のない場合、単にフリップフロップ１２８と称する。
【０１１９】
このように、サンプリングデータ生成部２３を構成するフリップフロップのうち、デジタル変調信号が入力されるフリップフロップ１２１−１乃至フリップフロップ１２８−１は、保持しているデータが更新されるタイミング、つまり供給されたサンプリングクロックが立ち上がるタイミングにおけるデジタル変調信号のロジックレベル（ロジック値）を判定する。したがって、サンプリングデータ生成部２３では、駆動クロックを８分の１周期のｎ倍（但し、０≦ｎ≦７）だけ遅延させた複数のサンプリングクロックを用いてデジタル変調信号をサンプリングするので、デジタル変調信号を、そのキャリアの周期よりも短い周期でサンプリングすることができる。
【０１２０】
また、デジタル変調信号をキャリアの周期よりも短い時間間隔でサンプリングして得られたサンプリングデータを、デジタル変調信号のキャリアの周期（周波数）と同程度の周期（周波数）の駆動クロックで駆動するデジタル回路、すなわち後段の検波データ生成部２５および位相比較データ生成部２８で処理するためには、これらのサンプリングデータは、駆動クロック、つまりサンプリングクロックClock[0]に同期させる必要がある。
【０１２１】
そこで、デジタル変調信号をサンプリングするフリップフロップ１２１−１乃至フリップフロップ１２８−１のそれぞれの後段のフリップフロップにおいて、前段のフリップフロップが保持しているロジックデータが更新される前のタイミングであって、できるだけサンプリングクロックClock[0]（駆動クロック）との位相のずれが少ないサンプリングクロックの立ち上がりのタイミングで前段から出力されたロジックデータをサンプリングしていくことにより、最終的に、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][0]乃至サンプリングデータr-inp[3][7]を得ることができる。
【０１２２】
すなわち、前段のフリップフロップが保持しているロジックデータを、そのフリップフロップがサンプリングに用いたサンプリングクロックの位相よりも、より駆動クロックの位相に近い位相のサンプリングクロックを用いて、サンプリングしていくことにより、駆動クロックに同期したサンプリングデータを得ることができる。
【０１２３】
このように、各サンプリングクロックを用いて得られたサンプリングデータを、サンプリングクロックClock[0]に同期させることで、サンプリングデータ生成部２３の後段において、サンプリングクロックごとのサンプリングデータを、サンプリングクロックClock[0]（駆動クロック）に同期させて同時に処理することができる。従来、各サンプリングデータを駆動クロックのタイミングで同時に処理するには、駆動クロックに対して最も遅延したサンプリングクロックでサンプリングして得られたデータがセトリングするまでの間、サンプリングデータを処理することができなかった。そのため、サンプリングクロックごとのサンプリングデータを同時に処理するためには、セトリングタイムにより駆動クロックの周波数の上限に制約があった。
【０１２４】
そこで、いくつかのサンプリングクロックを用いて、サンプリングデータを駆動クロックに同期させることで、セトリングタイムによって駆動クロックの周波数の上限の制約を設ける必要がなくなる。これにより、検波装置１１の動作速度の限界の制約をなくすことができ、デジタル変調信号のキャリアの周波数（周期）を駆動クロックの周波数の上限まで高くすることができる。
【０１２５】
図６および図７は、図１の検波データ生成部２５の構成例を示す図である。
【０１２６】
検波データ生成部２５は、レジスタ１５１−１乃至レジスタ１５１−１５、レジスタ１５２−１乃至レジスタ１５２−１２、レジスタ１５３−１乃至レジスタ１５３−８、およびレジスタ１５４−１乃至レジスタ１５４−８から構成される。
【０１２７】
これらのレジスタは、サンプリングクロック発生部２２に供給される駆動クロックと同じ駆動クロックに同期して動作し、駆動クロックが立ち上がるタイミングで前段からデータを取得し、必要に応じてデータを処理する。そして、それらのレジスタは、取得したデータを駆動クロックの１周期分の時間だけ保持した後、駆動クロックが、時間的に次に立ち上がるタイミングで保持しているデータを出力する。
【０１２８】
なお、図７において、図６にける場合と対応する部分には同一の符号を付してある。
【０１２９】
検波データ生成部２５は、駆動クロックが立ち上がるタイミングで、前回サンプリングデータ生成部２３から供給されたサンプリングデータr-inp[3][0]乃至サンプリングデータr-inp[3][7]のそれぞれを、レジスタ１５１−１乃至レジスタ１５１−８のそれぞれに供するとともに、今回サンプリングデータ生成部２３から供給されたサンプリングデータr-inp[3][0]乃至サンプリングデータr-inp[3][6]のそれぞれを、レジスタ１５１−９乃至レジスタ１５１−１５のそれぞれに供する。
【０１３０】
なお、以下では、今回新たに供給されたサンプリングデータと、前回供給されたサンプリングデータとを区別するために、前回供給されたサンプリングデータr-inp[3][0]乃至サンプリングデータr-inp[3][7]を、サンプリングデータr-inp[4][0]乃至サンプリングデータr-inp[4][7]とも称する。
【０１３１】
レジスタ１５１−１乃至レジスタ１５１−１５のそれぞれは、駆動クロックが立ち上がるタイミングで供給されたサンプリングデータr-inp[4][0]乃至サンプリングデータr-inp[3][6]のそれぞれを、駆動クロックの１周期の時間だけ保持する。
【０１３２】
したがって、レジスタ１５１−１乃至レジスタ１５１−１５には、駆動クロックの約２周期分の期間に、８つのサンプリングクロックによりデジタル変調信号をサンプリングして得られたサンプリングデータが保持されることになる。
【０１３３】
レジスタ１５１−１乃至レジスタ１５１−１５は、１周期だけ保持したサンプリングデータを、駆動クロックが立ち上がるタイミングで後段のレジスタに供給する。
【０１３４】
すなわち、レジスタ１５１−１は、保持しているサンプリングデータr-inp[4][0]をレジスタ１５２−１に供給し、レジスタ１５１−２は、保持しているサンプリングデータr-inp[4][1]をレジスタ１５２−１およびレジスタ１５２−２に供給し、レジスタ１５１−３は、保持しているサンプリングデータr-inp[4][2]をレジスタ１５２−１乃至レジスタ１５２−３に供給する。
【０１３５】
また、レジスタ１５１−４乃至レジスタ１５１−１２のそれぞれは、保持しているサンプリングデータr-inp[4][3]乃至サンプリングデータr-inp[3][3]のそれぞれを、レジスタ１５２−１乃至レジスタ１５２−４、レジスタ１５２−２乃至レジスタ１５２−５、レジスタ１５２−３乃至レジスタ１５２−６、レジスタ１５２−４乃至レジスタ１５２−７、レジスタ１５２−５乃至レジスタ１５２−８、レジスタ１５２−６乃至レジスタ１５２−９、レジスタ１５２−７乃至レジスタ１５２−１０、レジスタ１５２−８乃至レジスタ１５２−１１、およびレジスタ１５２−９乃至レジスタ１５２−１２のそれぞれに供給する。
【０１３６】
さらに、レジスタ１５１−１３は、保持しているサンプリングデータr-inp[3][4]をレジスタ１５２−１０乃至レジスタ１５２−１２に供給し、レジスタ１５１−１４は、保持しているサンプリングデータr-inp[3][5]をレジスタ１５２−１１およびレジスタ１５２−１２に供給し、レジスタ１５１−１５は、保持しているサンプリングデータr-inp[3][6]をレジスタ１５２−１２に供給する。
【０１３７】
なお、以下、レジスタ１５１−１乃至レジスタ１５１−１５のそれぞれを個々に区別する必要のない場合、単にレジスタ１５１と称する。
【０１３８】
レジスタ１５２−１乃至レジスタ１５２−１２のそれぞれは、レジスタ１５１から供給されたサンプリングデータのロジック値に所定の重みを乗算し、重みが乗算されたロジック値のそれぞれを加算して得られる１ビット以上の精度のデータr-add[0]乃至データr-add[11]を、駆動クロックの１周期だけ保持する。そして、レジスタ１５２−１乃至レジスタ１５２−１２のそれぞれは、１周期だけ保持したデータr-add[0]乃至データr-add[11]のそれぞれを、駆動クロックが立ち上がるタイミングで後段のレジスタに供給する。
【０１３９】
すなわち、レジスタ１５２−１乃至レジスタ１５２−１２のそれぞれは、レジスタ１５１−１乃至レジスタ１５１−４、レジスタ１５１−２乃至レジスタ１５１−５、レジスタ１５１−３乃至レジスタ１５１−６、レジスタ１５１−４乃至レジスタ１５１−７、レジスタ１５１−５乃至レジスタ１５１−８、レジスタ１５１−６乃至レジスタ１５１−９、レジスタ１５１−７乃至レジスタ１５１−１０、レジスタ１５１−８乃至レジスタ１５１−１１、レジスタ１５１−９乃至レジスタ１５１−１２、レジスタ１５１−１０乃至レジスタ１５１−１３、レジスタ１５１−１１乃至レジスタ１５１−１４、およびレジスタ１５１−１２乃至レジスタ１５１−１５のそれぞれから供給されたサンプリングデータのロジック値に所定の重みを乗算し、重みが乗算されたロジック値を加算して、その結果得られたデータr-add[0]乃至データr-add[11]のそれぞれを保持する。
【０１４０】
ここで、サンプリングデータのロジック値に乗算される重みは、例えば、順番に１，１，１，１や、１，２，２，１などとされる。したがって、乗算される重みが１，１，１，および１である場合、例えば、サンプリングデータr-inp[4][0]乃至サンプリングデータr-inp[4][3]のロジック値のそれぞれには、レジスタ１５２−１により、重み１，１，１，および１のそれぞれが乗算される。但し、ロジック値に乗算される重みは、後述するエラーデータにより、明らかに不適切なサンプリングクロックを除外することができるように定められる。
【０１４１】
また、レジスタ１５２−１乃至レジスタ１５２−４のそれぞれは、保持しているデータr-add[0]乃至データr-add[3]のそれぞれをレジスタ１５３−１乃至レジスタ１５３−４のそれぞれに供給する。
【０１４２】
さらに、レジスタ１５２−５は、保持しているデータr-add[4]を、レジスタ１５３−１およびレジスタ１５３−５に供給し、レジスタ１５２−６は、保持しているデータr-add[5]を、レジスタ１５３−２およびレジスタ１５３−６に供給し、レジスタ１５２−７は、保持しているデータr-add[6]を、レジスタ１５３−３およびレジスタ１５３−７に供給し、レジスタ１５２−８は、保持しているデータr-add[7]を、レジスタ１５３−４およびレジスタ１５３−８に供給する。
【０１４３】
さらに、また、レジスタ１５２−９乃至レジスタ１５２−１２のそれぞれは、保持しているデータr-add[8]乃至データr-add[11]のそれぞれをレジスタ１５３−５乃至レジスタ１５３−８のそれぞれに供給する。
【０１４４】
なお、以下、レジスタ１５２−１乃至レジスタ１５２−１２のそれぞれを、個々に区別する必要のない場合、単にレジスタ１５２と称する。
【０１４５】
レジスタ１５３−１乃至レジスタ１５３−８は、レジスタ１５２から供給された２つのデータを比較した結果を示す、１ビットのロジックデータである検波データを保持し、保持している検波データを駆動クロックの立ち上がりのタイミングで更新する。
【０１４６】
すなわち、レジスタ１５３−１乃至レジスタ１５３−８のそれぞれは、レジスタ１５２−１乃至レジスタ１５２−８のそれぞれから供給されたデータr-add[0]乃至データr-add[7]のそれぞれと、レジスタ１５２−５乃至レジスタ１５２−１２のそれぞれから供給されたデータr-add[4]乃至データr-add[11]のそれぞれとを比較し、データr-add[4]乃至データr-add[11]のそれぞれよりもデータr-add[0]乃至データr-add[7]のそれぞれが大きい場合、ロジック値が１である検波データr-cmp[0]乃至検波データr-cmp[7]のそれぞれを保持し、データr-add[0]乃至データr-add[7]のそれぞれが大きくない場合、ロジック値が０である検波データr-cmp[0]乃至検波データr-cmp[7]のそれぞれを保持する。
【０１４７】
このようにして得られた検波データr-cmp[0]乃至検波データr-cmp[7]のそれぞれは、サンプリングクロックClock[0]乃至サンプリングクロックClock[7]のそれぞれが、受信したデジタル変調信号のキャリアに同期しているとみなして受信したデジタル変調信号を検波した場合に得られる検波データとされる。
【０１４８】
例えば、レジスタ１５３−１に供給されるデータr-add[0]は、サンプリングクロックClock[0]が立ち上がるタイミングから、そのサンプリングクロックClock[0]の８分の１周期の間隔で、受信したデジタル変調信号を４回サンプリングして得られたサンプリングデータr-inp[4][0]乃至サンプリングデータr-inp[4][3]のロジック値のそれぞれに、さらに重みが乗算された値の和を示している。つまり、データr-add[0]は、サンプリングクロックClock[0]とキャリアとが同期していると仮定して、キャリアの１周期における前半の半周期の期間に、８分の１周期の間隔で受信したデジタル変調信号を４回サンプリングして得られた、４つのサンプリングデータのロジック値に重みを乗算し、さらに重みが乗算されたロジック値の和を求めることにより得られた値を示している。
【０１４９】
これに対して、レジスタ１５３−１に供給されるデータr-add[4]は、サンプリングクロックClock[4]が立ち上がるタイミングから、そのサンプリングクロックClock[4]の８分の１周期の間隔で受信したデジタル変調信号を４回サンプリングして得られたサンプリングデータr-inp[4][4]乃至サンプリングデータr-inp[4][7]のロジック値のそれぞれに、さらに重みが乗算された値の和を示している。つまり、データr-add[4]は、サンプリングクロックClock[0]とキャリアとが同期していると仮定して、キャリアの１周期における後半の半周期の期間に、８分の１周期の間隔で受信したデジタル変調信号を４回サンプリングして得られた、４つのサンプリングデータのロジック値に重みを乗算し、さらに重みが乗算されたロジック値の和を求めることにより得られた値を示している。
【０１５０】
そして、レジスタ１５３−１において保持される検波データr-cmp[0]は、データr-add[0]がデータr-add[4]よりも大きい場合にロジック値が１となり、そうでない場合にロジック値が０となるロジックデータであるから、重みが乗算されたキャリアの前半の半周期のサンプリングデータのロジック値の和と、重みが乗算された後半の半周期のサンプリングデータのロジック値の和とを比較して、どちらが大きいかをロジック値の多数決により決定した結果を示すロジック値となる。
【０１５１】
受信したデジタル変調信号がキャリアと同期したサンプリングクロックにより検波された場合、検波により得られたベースバンドデータのロジック値が１であるときには、キャリアの前半の半周期の期間にサンプリングされたサンプリングデータのロジック値は１となり、キャリアの後半の半周期の期間にサンプリングされたサンプリングデータのロジック値は０となる。
【０１５２】
したがって、この検波データr-cmp[0]のロジック値は、サンプリングクロックClock[0]の位相が受信したデジタル変調信号のキャリアの位相と一致している、つまり同期していると仮定して、受信したデジタル変調信号をキャリアの８分の１周期の間隔でサンプリングして得られるサンプリングデータを、さらにダウンコンバートすることにより得られた元のベースバンドデータのロジック値に他ならない。すなわち、検波データr-cmp[0]は、サンプリングクロックClock[0]が受信したデジタル変調信号のキャリアと同期していると仮定して、受信したデジタル変調信号を検波した場合に得られる検波データとなる。
【０１５３】
なお、以下、レジスタ１５３−１乃至レジスタ１５３−８のそれぞれを個々に区別する必要のない場合、単にレジスタ１５３と称する。
【０１５４】
また、レジスタ１５２は、図７に示すように、１周期だけ保持したデータをレジスタ１５３に供給するとともに、１周期だけ保持したデータを、駆動クロックが立ち上がるタイミングでレジスタ１５４−１乃至レジスタ１５４−８のうちのいくつかのレジスタにも供給する。
【０１５５】
すなわち、レジスタ１５２−１乃至レジスタ１５２−４のそれぞれは、保持しているデータr-add[0]乃至データr-add[3]のそれぞれを、レジスタ１５４−１乃至レジスタ１５４−４のそれぞれに供給する。
【０１５６】
また、レジスタ１５２−５は、保持しているデータr-add[4]を、レジスタ１５４−１およびレジスタ１５４−５に供給し、レジスタ１５２−６は、保持しているデータr-add[5]を、レジスタ１５４−２およびレジスタ１５４−６に供給し、レジスタ１５２−７は、保持しているデータr-add[6]を、レジスタ１５４−３およびレジスタ１５４−７に供給し、レジスタ１５２−８は、保持しているデータr-add[7]を、レジスタ１５４−４およびレジスタ１５４−８に供給する。
【０１５７】
さらに、レジスタ１５２−９乃至レジスタ１５２−１２のそれぞれは、保持しているデータr-add[8]乃至データr-add[11]のそれぞれを、レジスタ１５４−５乃至レジスタ１５４−８のそれぞれに供給する。
【０１５８】
レジスタ１５４−１乃至レジスタ１５４−８は、レジスタ１５２から供給された２つのデータを比較した結果を示す、１ビットのロジックデータであるエラーデータを保持し、保持しているエラーデータを駆動クロックの立ち上がりのタイミングで更新する。
【０１５９】
すなわち、レジスタ１５４−１乃至レジスタ１５４−８のそれぞれは、レジスタ１５２−１乃至レジスタ１５２−８のそれぞれから供給されたデータr-add[0]乃至データr-add[7]のそれぞれと、レジスタ１５２−５乃至レジスタ１５２−１２のそれぞれから供給されたデータr-add[4]乃至データr-add[11]のそれぞれとを比較し、データr-add[4]乃至データr-add[11]のそれぞれとデータr-add[0]乃至データr-add[7]のそれぞれとが等しい場合、ロジック値が１であるエラーデータr-err[0]乃至エラーデータr-err[7]のそれぞれを保持し、データr-add[4]乃至データr-add[11]のそれぞれとデータr-add[0]乃至データr-add[7]のそれぞれとが等しくない場合、ロジック値が０であるエラーデータr-err[0]乃至エラーデータr-err[7]のそれぞれを保持する。
【０１６０】
これらのエラーデータr-err[0]乃至エラーデータr-err[7]は、初期位相決定部２６において、サンプリングクロックClock[0]乃至サンプリングクロックClock[7]のうちの何れかが、デジタル変調信号のキャリアに同期したサンプリングクロックとして選択される場合に、不適切なサンプリングクロックが選択されないようにするために用いられる。
【０１６１】
例えば、レジスタ１５３−１では、データr-add[0]とデータr-add[4]とが比較されて検波データr-cmp[0]のロジック値が定められ、データr-add[0]とデータr-add[4]とが等しい場合には、検波データr-cmp[0]のロジック値は０とされる。
【０１６２】
ところが、データr-add[0]とデータr-add[4]とが等しい場合、キャリアと同期しているとして検波に用いたサンプリングクロックClock[0]は、実際にはキャリアの４分の１周期、または４分の２周期だけキャリアに対して遅延している。つまり、サンプリングデータr-inp[4][0]乃至サンプリングデータr-inp[4][7]がサンプリングされた期間の中間の位置は、実際のキャリアの４分の３周期の位置であるか、または１周期の開始位置であって、キャリアの位相が反転される位置となる。
【０１６３】
したがって、検波に用いられたサンプリングクロックClock[0]は、キャリアに同期していないので、そのようなサンプリングクロックClock[0]が、キャリアと同期するサンプリングクロックとして選択されないように、つまりキャリアに同期しないサンプリングクロックが用いられて得られた検波データr-cmp[0]が最終的な検波データとして選択されないように、エラーデータr-err[0]のロジック値は１とされる。このエラーデータr-err[0]のロジック値１は、検波データr-cmp[0]が、キャリアと同期していないサンプリングクロックClock[0]を用いた検波により得られたデータであることを示している。
【０１６４】
また、データr-add[0]とデータr-add[4]とが等しくない場合、エラーデータr-err[0]のロジック値は０とされ、このロジック値０は、検波データr-cmp[0]を得るための検波に用いられたサンプリングクロックClock[0]が、キャリアに同期している可能性があることを示している。
【０１６５】
このように、エラーデータr-err[0]は、サンプリングクロックClock[0]についてのエラーデータとされ、同様に、エラーデータr-err[1]乃至エラーデータr-err[7]のそれぞれは、サンプリングクロックClock[1]乃至サンプリングクロックClock[7]のそれぞれについてのエラーデータとされる。
【０１６６】
なお、以下、レジスタ１５４−１乃至レジスタ１５４−８のそれぞれを個々に区別する必要のない場合、単にレジスタ１５４と称する。
【０１６７】
また、以上においては、レジスタ１５１が保持しているサンプリングデータがレジスタ１５２に供給され、レジスタ１５２に保持されているデータがレジスタ１５３およびレジスタ１５４に供給されると説明したが、図７に示すレジスタ１５１およびレジスタ１５２に対応するレジスタが別に設けられるようにしてもよい。
【０１６８】
そのような場合、レジスタ１５１が保持しているサンプリングデータがレジスタ１５２に供給され、レジスタ１５２に保持されているデータがレジスタ１５３に供給される。また、レジスタ１５１に対応するレジスタに、レジスタ１５１に供給されるサンプリングデータと同じデータが供給されて、レジスタ１５１に対応するレジスタは、供給されたサンプリングデータを保持するとともに、レジスタ１５２に対応するレジスタに供給する。そして、レジスタ１５２に対応するレジスタは、保持しているデータをレジスタ１５４に供給する。
【０１６９】
さらに、この場合、レジスタ１５２において、サンプリングデータに乗算される重みと、レジスタ１５２に対応するレジスタにおいて、サンプリングデータに乗算される重みとが異なるようにしてもよい。つまり、検波データを生成するためにサンプリングデータに乗算される重みと、エラーデータを生成するためにサンプリングデータに乗算される重みとが異なるようにしてもよい。
【０１７０】
図８は、図１の初期位相決定部２６の構成例を示すブロック図である。
【０１７１】
初期位相決定部２６は、パタン検出部１８１−１乃至パタン検出部１８１−４、位相ロック検出部１８２、および位相エンコーダ１８３から構成される。また、初期位相決定部２６の各部は、サンプリングクロック発生部２２に供給される駆動クロックと同じ駆動クロックに同期して動作する。つまり、初期位相決定部２６は、駆動クロックの立ち上がりのタイミングで動作する。
【０１７２】
パタン検出部１８１−１には、サンプリングクロックClock[0]を用いた検波により得られた検波データr-cmp[0]と、その検波データr-cmp[0]についてのエラーデータr-err[0]とが検波データ生成部２５から供給される。パタン検出部１８１−１は、供給された検波データr-cmp[0]およびエラーデータr-err[0]に基づいて、受信したデジタル変調信号から予め定められた固定パタンを検出し、その検出結果を示す検出フラグLock[0]を位相ロック検出部１８２に供給する。
【０１７３】
デジタル変調信号には、その先頭の部分、例えばプリアンブルと呼ばれる部分に１６ビットの固定パタン“0000111100001111”が含まれ、その固定パタンが繰り返し出現するようになされている。そこで、パタン検出部１８１−１は、その固定パタンが検出された場合には、検出フラグLock[0]に１を設定して、検出フラグを位相ロック検出部１８２に供給し、固定パタンが検出されない場合には、検出フラグLock[0]に０を設定して、検出フラグを位相ロック検出部１８２に供給する。なお、固定パタン“0000111100001111”の各ロジック値１または０は、その先頭側から時間的に新しく検波された順に並べられている。
【０１７４】
パタン検出部１８１−２乃至パタン検出部１８１−４のそれぞれは、検波データ生成部２５から供給された検波データr-cmp[2]およびエラーデータr-err[2]、検波データr-cmp[4]およびエラーデータr-err[4]、並びに検波データr-cmp[6]およびエラーデータr-err[6]のそれぞれに基づいて、受信したデジタル変調信号から固定パタンを検出し、その検出結果を示す検出フラグLock[2]、検出フラグLock[4]、および検出フラグLock[6]のそれぞれを位相ロック検出部１８２に供給する。
【０１７５】
なお、以下、パタン検出部１８１−１乃至パタン検出部１８１−４のそれぞれを、個々に区別する必要のない場合、単にパタン検出部１８１と称する。
【０１７６】
ここで、図９を参照して、パタン検出部１８１のより詳細な構成について説明する。図９は、パタン検出部１８１−１の構成例を示す図である。
【０１７７】
パタン検出部１８１−１は、レジスタ２１１−１乃至レジスタ２１１−１６、論理積演算部２１２、レジスタ２１３−１乃至レジスタ２１３−１６、論理積演算部２１４、および論理積演算部２１５から構成される。
【０１７８】
レジスタ２１１−１は、駆動クロックの立ち上がりのタイミングで検波データ生成部２５のレジスタ１５３−１から検波データr-cmp[0]を取得し、駆動クロックの１周期分の時間だけ保持した後、保持している検波データr-cmp[0]をレジスタ２１１−２および論理積演算部２１２に供給する。
【０１７９】
レジスタ２１１−２乃至レジスタ２１１−１５のそれぞれは、駆動クロックの立ち上がりのタイミングでレジスタ２１１−１乃至レジスタ２１１−１４のそれぞれに保持されている検波データr-cmp[0]を取得し、駆動クロックの１周期だけ保持した後、保持している検波データr-cmp[0]をレジスタ２１１−３乃至レジスタ２１１−１６のそれぞれに供給するとともに、論理積演算部２１２に供給する。
【０１８０】
レジスタ２１１−１６は、駆動クロックの立ち上がりのタイミングでレジスタ２１１−１５に保持されている検波データr-cmp[0]を取得し、駆動クロックの１周期だけ保持した後、保持している検波データr-cmp[0]を論理積演算部２１２に供給する。
【０１８１】
したがって、レジスタ２１１−１乃至レジスタ２１１−１６に保持されている検波データが並べられてできるデータ系列は、受信したデジタル変調信号をサンプリングクロックClock[0]で検波して得られた検波データのロジック値が時系列に連続して並べられてできる１６ビットのデータ系列となる。なお、以下、レジスタ２１１−１乃至レジスタ２１１−１６のそれぞれを個々に区別する必要のない場合、単にレジスタ２１１と称する。
【０１８２】
ここで、レジスタ２１１−１乃至レジスタ２１１−４、およびレジスタ２１１−９乃至レジスタ２１１−１２に保持されている検波データのそれぞれは、反転（論理反転）されて論理積演算部２１２に供給される。
【０１８３】
論理積演算部２１２は、レジスタ２１１−１乃至レジスタ２１１−１６から供給された検波データのロジック値の論理積を演算し、その演算結果を論理積演算部２１５に供給する。したがって、１６個の連続する検波データのロジック値の系列が、固定パタン“0000111100001111”と一致する場合、つまりサンプリングクロックClock[0]を用いた検波によって、受信したデジタル変調信号から固定パタンが検出された場合に、論理積演算部２１２からロジック値１が出力され、検波データのロジック値の系列と固定パタンとが一致しない場合には、論理積演算部２１２からロジック値０が出力される。
【０１８４】
また、レジスタ２１３−１は、駆動クロックの立ち上がりのタイミングで検波データ生成部２５のレジスタ１５４−１からエラーデータr-err[0]を取得し、駆動クロックの１周期だけ保持した後、保持しているエラーデータr-err[0]をレジスタ２１３−２および論理積演算部２１４に供給する。
【０１８５】
レジスタ２１３−２乃至レジスタ２１３−１５のそれぞれは、駆動クロックの立ち上がりのタイミングでレジスタ２１３−１乃至レジスタ２１３−１４のそれぞれに保持されているエラーデータr-err[0]を取得し、駆動クロックの１周期だけ保持した後、保持しているエラーデータr-err[0]をレジスタ２１３−３乃至レジスタ２１３−１６のそれぞれに供給するとともに、論理積演算部２１４に供給する。
【０１８６】
レジスタ２１３−１６は、駆動クロックの立ち上がりのタイミングでレジスタ２１３−１５に保持されているエラーデータr-err[0]を取得し、駆動クロックの１周期だけ保持した後、保持しているエラーデータr-err[0]を論理積演算部２１４に供給する。
【０１８７】
なお、以下、レジスタ２１３−１乃至レジスタ２１３−１６のそれぞれを個々に区別する必要のない場合、単にレジスタ２１３と称する。
【０１８８】
ここで、レジスタ２１３に保持されているエラーデータのそれぞれは、反転（論理反転）されて論理積演算部２１４に供給される。
【０１８９】
論理積演算部２１４は、レジスタ２１３−１乃至レジスタ２１３−１６から供給されたエラーデータのロジック値の論理積を演算し、その演算結果を論理積演算部２１５に供給する。ここで、エラーデータr-err[0]は、サンプリングクロックClock[0]が明らかに受信したデジタル変調信号のキャリアに同期していない場合に、そのロジック値が１とされる。したがって、論理積演算部２１４に供給されるエラーデータの全てのロジック値が０である場合には、論理積演算部２１４からロジック値１が出力され、論理積演算部２１４に１つでもロジック値が１であるエラーデータが供給された場合には、論理積演算部２１４からロジック値０が出力される。
【０１９０】
論理積演算部２１５は、論理積演算部２１２から供給されたロジック値、および論理積演算部２１４から供給されたロジック値の論理積を演算し、その結果を検出フラグLock[0]として位相ロック検出部１８２に供給する。つまり、論理積演算部２１５から位相ロック検出部１８２には、サンプリングクロックClock[0]が不適切であるとはされず、かつサンプリングクロックClock[0]を用いた検波によって、受信したデジタル変調信号から固定パタンが検出された場合に、１が設定された検出フラグLock[0]が供給され、サンプリングクロックClock[0]が不適切であるとされたか、または固定パタンが検出されなかった場合には、０が設定された検出フラグLock[0]が供給される。
【０１９１】
この検出フラグLock[0]は、受信したデジタル変調信号からの固定パタンの検出結果の妥当性を示すフラグとして利用される。つまり、検出フラグLock[0]が１に設定されている場合には、サンプリングクロックClock[0]とキャリアとの位相差は、サンプリングクロックClock[0]を用いてデジタル変調信号の検波を行ったときに、ベースバンドデータの正しいロジック値を得ることができる程度の差であることが分かる。
【０１９２】
なお、パタン検出部１８１−２乃至パタン検出部１８１−４も図９に示したパタン検出部１８１−１と同様の構成とされるため、その説明は省略する。
【０１９３】
図８の説明に戻り、パタン検出部１８１から位相ロック検出部１８２に検出フラグが供給されると、位相ロック検出部１８２は、パタン検出部１８１から供給された検出フラグに基づいて、ロックフラグ（Lock-flag）を位相エンコーダ１８３に供給する。
【０１９４】
より具体的には、位相ロック検出部１８２は、検出フラグごとに、駆動クロックの周期でカウントされるカウンタを有しており、１度、１に設定された検出フラグが位相ロック検出部１８２に供給されると、その検出フラグのカウンタは、駆動クロックの３周期だけその検出フラグの値１を保持する。そして、位相ロック検出部１８２は、駆動クロックの２周期の期間、全ての検出フラグごとのカウンタに保持されている値が変化しなかった場合、つまり各カウンタが２周期の期間、同じ値を保持し続けた場合、それらのカウンタに保持されている検出フラグの値を順番に並べた値を、ロックフラグとして出力し、それ以降は同じ値のロックフラグを出力し続ける。
【０１９５】
したがって、例えば、位相ロック検出部１８２の検出フラグごとのカウンタが保持している検出フラグLock[0]、検出フラグLock[2]、検出フラグLock[4]、および検出フラグLock[6]のそれぞれの値が、駆動クロックの２周期の期間、継続して１，１，０，０となった場合、位相ロック検出部１８２は、検出フラグが、検出フラグLock[6]乃至検出フラグLock[0]の順番に並べられた、値が“0011”であるロックフラグを出力する。そして、その後、位相ロック検出部１８２はカウンタの値によらず、継続して値が“0011”であるロックフラグを出力し続ける。
【０１９６】
ここで、検出フラグは、サンプリングクロックでデジタル変調信号を検波した結果、固定パタンが検出されてから、駆動クロックの１周期の間だけ１に設定されるフラグであるが、実際にはサンプリングクロックでサンプリングするタイミングによっては、パタン検出部１８１において固定パタンが検出されるタイミングが、他のパタン検出部１８１において固定パタンが検出されるタイミングとは１周期分だけずれてしまうことがある。そこで、そのような固定パタンの検出のずれをなくすために、検出フラグごとのカウンタは、１に設定された検出フラグが供給されると、その値を３周期の間保持し続ける。
【０１９７】
位相エンコーダ１８３は、位相ロック検出部１８２から供給されたロックフラグに基づいて、キャリアの初期位相を決定する。すなわち、位相エンコーダ１８３は、供給されたロックフラグの値により定まる、受信したデジタル変調信号のキャリアに最も近い位相のサンプリングクロックを示す初期位相データ（phase-init）を、検波データ決定部２７および位相比較データ決定部２９に供給する。
【０１９８】
例えば、位相エンコーダ１８３は、図１０に示すテーブルを予め保持しており、供給されたロックフラグにより定まる値の初期位相データを出力する。図１０では、位相エンコーダ１８３に入力されるロックフラグ（Lock-flag）と、そのロックフラグに応じて出力される初期位相データ（phase-init）の値が示されている。
【０１９９】
すなわち、値が“0001”であるロックフラグが入力された場合は、値が０である初期位相データが出力され、値が“0010”であるロックフラグが入力された場合は、値が２である初期位相データが出力され、値が“0011”であるロックフラグが入力された場合は、値が１である初期位相データが出力され、値が“0100”であるロックフラグが入力された場合は、値が４である初期位相データが出力される。
【０２００】
また、値が“0110”であるロックフラグが入力された場合は、値が３である初期位相データが出力され、値が“0111”であるロックフラグが入力された場合は、値が２である初期位相データが出力され、値が“1000”であるロックフラグが入力された場合は、値が６である初期位相データが出力され、値が“1001”であるロックフラグが入力された場合は、値が７である初期位相データが出力される。
【０２０１】
さらに、値が“1011”であるロックフラグが入力された場合は、値が０である初期位相データが出力され、値が“1100”であるロックフラグが入力された場合は、値が５である初期位相データが出力され、値が“1101”であるロックフラグが入力された場合は、値が６である初期位相データが出力され、値が“1110”であるロックフラグが入力された場合は、値が４である初期位相データが出力される。
【０２０２】
ここで、初期位相データの値０乃至７のそれぞれは、デジタル変調信号の受信が開始された直後のキャリアの位相に最も近い位相のサンプリングクロックが、サンプリングクロックClock[0]乃至サンプリングクロックClock[7]のそれぞれであることを示している。
【０２０３】
また、例えばロックフラグの値“0001”における４つのロジック値は、先頭から順番に検出フラグLock[6]、検出フラグLock[4]、検出フラグLock[2]、および検出フラグLock[0]のそれぞれの値を示している。したがって、値が“0001”であるロックフラグによれば、サンプリングクロックClock[0]を用いた検波により、デジタル変調信号から固定パタンが検出され、他のサンプリングクロックを用いた検波では、固定パタンが検出されなかったことが分かる。
【０２０４】
そこで、位相エンコーダ１８３は、値が“0001”であるロックフラグが供給された場合には、受信したデジタル変調信号のキャリアの位相と最も位相の近いサンプリングクロックは、サンプリングクロックClock[0]であるとして、値が０である初期位相データを出力する。
【０２０５】
また、例えば、値が“0011”であるロックフラグは、サンプリングクロックClock[0]を用いた検波、およびサンプリングクロックClock[2]を用いた検波により、受信したデジタル変調信号から固定パタンが検出されたことを示している。そこで、値が“0011”であるロックフラグが供給された場合、位相エンコーダ１８３は、サンプリングクロックClock[0]とサンプリングクロックClock[2]との中間の位相のサンプリングクロックClock[1]が、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックであるとして、値が１である初期位相データを出力する。
【０２０６】
さらに、例えば、値が“0111”であるロックフラグは、サンプリングクロックClock[0]を用いた検波、サンプリングクロックClock[2]を用いた検波、およびサンプリングクロックClock[4]を用いた検波により、受信したデジタル変調信号から固定パタンが検出されたことを示している。そこで、値が“0111”であるロックフラグが供給された場合、位相エンコーダ１８３は、サンプリングクロックClock[0]、サンプリングクロックClock[2]、およびサンプリングクロックClock[4]の中間の位相のサンプリングクロックClock[2]が、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックであるとして、値が２である初期位相データを出力する。
【０２０７】
なお、“0000”、“0101”、“1111”といった値のロックフラグが、位相エンコーダ１８３に供給された場合、位相エンコーダ１８３は、保持しているテーブルを用いてキャリアの初期位相を決定することができない。そこで、ロックフラグの値が、位相エンコーダ１８３において処理できない値、つまり保持しているテーブルに含まれていない、組み合わせとして有り得ない値となる場合には、位相ロック検出部１８２からロックフラグが出力されないようになされている。
【０２０８】
また、初期位相決定部２６においては、サンプリングクロックClock[0]、サンプリングクロックClock[2]、サンプリングクロックClock[4]、およびサンプリングクロックClock[6]のそれぞれを用いた検波により得られた検波データを利用して、キャリアの初期位相を決めるようにしたが、他のサンプリングクロックClock[1]、サンプリングクロックClock[3]、サンプリングクロックClock[5]、およびサンプリングクロックClock[7]のそれぞれを用いた検波により得られた検波データも利用するようにしてもよい。
【０２０９】
次に、図１１は、図１の検波データ決定部２７の構成例を示すブロック図である。
【０２１０】
検波データ決定部２７は、加算器２４１およびデマルチプレクサ２４２から構成される。
【０２１１】
加算器２４１には、初期位相決定部２６から初期位相データが供給され、サンプリングクロック決定部３０から位相比較ローパスデータが供給される。加算器２４１は、供給された初期位相データと、位相比較ローパスデータとを加算して、その結果得られた値をデマルチプレクサ２４２に供給する。
【０２１２】
なお、より詳細には、初期位相データと、位相比較ローパスデータとは異なるビット数のデータであるので、初期位相データの後ろに予め定められた所定のビット数のデータ、例えば、５ビットのデータ“00000”が付加されて加算が行われる。
【０２１３】
デマルチプレクサ２４２は、加算器２４１から供給された値に基づいて、検波データ生成部２５から供給された検波データr-cmp[0]乃至検波データr-cmp[7]のうちの何れか１つを選択し、選択した検波データを最終的な検波データr-datとして出力する。すなわち、デマルチプレクサ２４２においては、加算器２４１から供給される各値について、どの検波データが選択されるかが予め定められている。そして、加算器２４１から供給された値に応じて選択された検波データが、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックを用いた検波により得られた検波データであるとされて出力される。
【０２１４】
ここで、位相比較ローパスデータの値は、デジタル変調信号の受信が開始された直後は０とされ、その後時間の経過とともにその値が変化する。したがって、例えば、デジタル変調信号の受信開始直後においては、位相比較ローパスデータの値は０であるので、加算器２４１からデマルチプレクサ２４２には、初期位相データの値がそのまま出力される。そして、デマルチプレクサ２４２においては、初期位相データにより示されるサンプリングクロックを用いた検波により得られた検波データが、最終的な検波データとして選択される。
【０２１５】
図１２は、位相比較データ生成部２８の構成例を示す図である。
【０２１６】
位相比較データ生成部２８は、レジスタ２７１−１乃至レジスタ２７１−１５、レジスタ２７２−１乃至レジスタ２７２−１２、およびレジスタ２７３−１乃至レジスタ２７３−８から構成される。
【０２１７】
位相比較データ生成部２８を構成するこれらのレジスタは、サンプリングクロック発生部２２に供給される駆動クロックと同じ駆動クロックに同期して動作し、駆動クロックが立ち上がるタイミングで前段からデータを取得し、必要に応じてデータを処理する。そして、それらのレジスタは、取得したデータを駆動クロックの１周期分の時間だけ保持した後、駆動クロックが、時間的に次に立ち上がるタイミングで保持しているデータを出力する。
【０２１８】
位相比較データ生成部２８は、駆動クロックが立ち上がるタイミングで、前回サンプリングデータ生成部２３から供給されたサンプリングデータr-inp[4][0]乃至サンプリングデータr-inp[4][7]のそれぞれを、レジスタ２７１−１乃至レジスタ２７１−８のそれぞれに供するとともに、今回サンプリングデータ生成部２３から供給されたサンプリングデータr-inp[3][0]乃至サンプリングデータr-inp[3][6]のそれぞれを、レジスタ２７１−９乃至レジスタ２７１−１５のそれぞれに供する。
【０２１９】
レジスタ２７１−１乃至レジスタ２７１−１５のそれぞれは、駆動クロックが立ち上がるタイミングで供給されたサンプリングデータr-inp[4][0]乃至サンプリングデータr-inp[3][6]のそれぞれを、駆動クロックの１周期だけ保持する。
【０２２０】
レジスタ２７１−１乃至レジスタ２７１−１５は、１周期だけ保持したサンプリングデータを、次に駆動クロックが立ち上がるタイミングで後段のレジスタに供給する。
【０２２１】
すなわち、レジスタ２７１−１は、保持しているサンプリングデータr-inp[4][0]をレジスタ２７２−１に供給し、レジスタ２７１−２は、保持しているサンプリングデータr-inp[4][1]をレジスタ２７２−１およびレジスタ２７２−２に供給し、レジスタ２７１−３は、保持しているサンプリングデータr-inp[4][2]をレジスタ２７２−１乃至レジスタ２７２−３に供給する。
【０２２２】
また、レジスタ２７１−４乃至レジスタ２７１−１２のそれぞれは、保持しているサンプリングデータr-inp[4][3]乃至サンプリングデータr-inp[3][3]のそれぞれを、レジスタ２７２−１乃至レジスタ２７２−４、レジスタ２７２−２乃至レジスタ２７２−５、レジスタ２７２−３乃至レジスタ２７２−６、レジスタ２７２−４乃至レジスタ２７２−７、レジスタ２７２−５乃至レジスタ２７２−８、レジスタ２７２−６乃至レジスタ２７２−９、レジスタ２７２−７乃至レジスタ２７２−１０、レジスタ２７２−８乃至レジスタ２７２−１１、およびレジスタ２７２−９乃至レジスタ２７２−１２のそれぞれに供給する。
【０２２３】
さらに、レジスタ２７１−１３は、保持しているサンプリングデータr-inp[3][4]をレジスタ２７２−１０乃至レジスタ２７２−１２に供給し、レジスタ２７１−１４は、保持しているサンプリングデータr-inp[3][5]をレジスタ２７２−１１およびレジスタ２７２−１２に供給し、レジスタ２７１−１５は、保持しているサンプリングデータr-inp[3][6]をレジスタ２７２−１２に供給する。
【０２２４】
なお、以下、レジスタ２７１−１乃至レジスタ２７１−１５のそれぞれを個々に区別する必要のない場合、単にレジスタ２７１と称する。
【０２２５】
レジスタ２７２−１乃至レジスタ２７２−１２のそれぞれは、レジスタ２７１から供給されたサンプリングデータのロジック値に所定の重みを乗算し、重みが乗算されたロジック値を加算して得られる−２以上２以下である３ビットのデータp-add[0]乃至データp-add[11]のそれぞれを、駆動クロックの１周期だけ保持する。そして、レジスタ２７２−１乃至レジスタ２７２−１２のそれぞれは、１周期だけ保持したデータp-add[0]乃至データp-add[11]のそれぞれを、駆動クロックが立ち上がるタイミングで後段のレジスタに供給する。
【０２２６】
すなわち、レジスタ２７２−ｉ（但し、１≦ｉ≦１２）は、レジスタ２７１−ｉ乃至レジスタ２７１−（ｉ＋３）から供給されたサンプリングデータのそれぞれに、重みとして１，１，−１，および−１のそれぞれを乗算して、重みが乗算されたサンプリングデータを加算して得られたデータp-add[i-1]を保持する。
【０２２７】
また、レジスタ２７２−１乃至レジスタ２７２−４のそれぞれは、保持しているデータp-add[0]乃至データp-add[3]のそれぞれをレジスタ２７３−１乃至レジスタ２７３−４のそれぞれに供給する。
【０２２８】
レジスタ２７２−５乃至レジスタ２７２−８のそれぞれは、保持しているデータp-add[4]乃至データp-add[7]のそれぞれをレジスタ２７３−１乃至レジスタ２７３−４のそれぞれに供給するとともに、レジスタ２７３−５乃至レジスタ２７３−８のそれぞれに供給する。
【０２２９】
レジスタ２７２−９乃至レジスタ２７２−１２のそれぞれは、保持しているデータp-add[8]乃至データp-add[11]のそれぞれをレジスタ２７３−５乃至レジスタ２７３−８のそれぞれに供給する。
【０２３０】
なお、以下、レジスタ２７２−１乃至レジスタ２７２−１２のそれぞれを、個々に区別する必要のない場合、単にレジスタ２７２と称する。
【０２３１】
レジスタ２７３−１乃至レジスタ２７３−８は、レジスタ２７２から供給された２つのデータのそれぞれに所定の重みを乗算し、重みが乗算されたデータを加算して得られた、−４以上４以下である４ビットの位相比較データを保持し、保持している位相比較データを駆動クロックの立ち上がりのタイミングで更新する。
【０２３２】
すなわち、レジスタ２７３−ｉ（但し、１≦ｉ≦８）は、レジスタ２７２−ｉから供給されたデータp-add[i-1]、およびレジスタ２７２−（ｉ＋４）から供給されたデータp-add[i+3]のそれぞれに、重みとして１および−１のそれぞれを乗算して加算することにより得られた位相比較データp-err[i-1]を保持する。ここでは、レジスタ２７２から供給された２つのデータに、それぞれ重みとして１および−１が乗算されるので、位相比較データp-err[i-1]は、データp-add[i-1]とデータp-add[i+3]との差とされる。
【０２３３】
このようにして得られた位相比較データp-err[i-1]（但し、１≦ｉ≦８）は、サンプリングクロックClock[i-1]が立ち上がるタイミングから、そのサンプリングクロックの８分の１周期の間隔で受信したデジタル変調信号を８回サンプリングして得られたサンプリングデータのロジック値のそれぞれに、重みとして、１，１，−１，−１，−１，−１，１，および１を乗算して加算することにより得られた値、すなわち重みが乗算されたサンプリングデータの和に等しい。この位相比較データp-err[i-1]は、−４以上４以下の値となり、その値は、サンプリングクロックClock[i-1]の位相が、デジタル変調信号のキャリアの位相に対してどの程度ずれているか（遅延しているか）を示している。
【０２３４】
なお、以下、レジスタ２７３−１乃至レジスタ２７３−８のそれぞれを個々に区別する必要のない場合、単にレジスタ２７３と称する。また、レジスタ２７２やレジスタ２７３においてデータに乗算される重みは、１や−１に限らず任意のものとすることができる。
【０２３５】
図１３は、図１の位相比較データ決定部２９の構成例を示すブロック図である。
【０２３６】
位相比較データ決定部２９は、加算器３０１およびデマルチプレクサ３０２から構成される。
【０２３７】
加算器３０１には、初期位相決定部２６から初期位相データが供給され、サンプリングクロック決定部３０から位相比較ローパスデータが供給される。加算器３０１は、供給された初期位相データと、位相比較ローパスデータとを加算して、その結果得られた値をデマルチプレクサ３０２に供給する。
【０２３８】
なお、より詳細には、初期位相データと、位相比較ローパスデータとは異なるビット数のデータであるので、初期位相データの後ろに予め定められた所定のビット数のデータが付加されて加算が行われる。
【０２３９】
デマルチプレクサ３０２は、加算器３０１から供給された値に基づいて、位相比較データ生成部２８から供給された位相比較データp-err[0]乃至位相比較データp-err[7]のうちの何れか１つを選択し、選択した位相比較データを最終的な位相比較データp-errとして出力する。すなわち、デマルチプレクサ３０２においては、加算器３０１から供給される各値について、どの位相比較データが選択されるかが予め定められている。そして、加算器３０１から供給された値に応じて選択された位相比較データが、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックの位相比較データとして出力される。
【０２４０】
図１４は、図１のサンプリングクロック決定部３０の構成例を示す図である。
【０２４１】
サンプリングクロック決定部３０は、セレクタ３３１、増幅器３３２、ローパスフィルタ３３３、および増幅器３３４から構成される。
【０２４２】
セレクタ３３１には、検波データ決定部２７から最終的な検波データr-datが供給される。また、サンプリングクロック決定部３０は、位相比較データ決定部２９から供給された最終的な位相比較データp-errをそのままセレクタ３３１に供給するとともに、−１を乗算した位相比較データp-errをセレクタ３３１に供給する。
【０２４３】
セレクタ３３１は、検波データ決定部２７から供給された検波データr-datのロジック値に基づいて、そのまま供給された位相比較データp-err、または−１が乗算された位相比較データp-errのうちの何れか一方を選択し、選択した位相比較データを増幅器３３２に供給する。
【０２４４】
ここで、受信したデジタル変調信号が、特にBPSK信号などの、データに応じて位相が反転する信号である場合、ベースバンドデータ、つまり元のデータのロジック値に応じて、その位相が反転されるため、完全な周期波ではなくなるので、位相比較データp-errは、厳密にはその極性が考慮されていないデータである。すなわちデジタル変調信号の所定の区間が、位相が反転された区間であるか否かによって、その区間に対応する位相比較データp-errの極性は変化する。そこで、セレクタ３３１は、検波データのロジック値に応じて、そのままの位相比較データ、または−１が乗算された位相比較データの何れかを選択することで、位相の変化していないキャリアに対するサンプリングクロックの位相のずれを示す位相比較データを得ることができる。
【０２４５】
例えば、セレクタ３３１は、検波データr-datのロジック値が１である場合には、そのままの位相比較データを選択し、検波データr-datのロジック値が０である場合には、−１が乗算された位相比較データを選択する。
【０２４６】
増幅器３３２は、セレクタ３３１から供給された位相比較データを必要に応じて増幅、または減衰させて、ローパスフィルタ３３３に供給する。ローパスフィルタ３３３は、増幅器３３２から供給された位相比較データの低周波数成分を除去し、低周波数成分が除去された位相比較データを増幅器３３４に供給する。
【０２４７】
ローパスフィルタ３３３は、加算器３４１および遅延部３４２から構成される。加算器３４１は、増幅器３３２から供給された位相比較データと、遅延部３４２から供給された、前回出力された位相比較ローパスデータとを加算して、その結果得られたデータを新たな位相比較ローパスデータとして遅延部３４２に供給する。
【０２４８】
遅延部３４２は、加算器３４１から供給された位相比較ローパスデータを、駆動クロックの１周期だけ遅延させた後、増幅器３３４に供給するとともに加算器３４１に供給する。これにより、ローパスフィルタ３３３からは、受信したデジタル変調信号のキャリアの位相が、デジタル変調信号の受信を開始した直後から、相対的にどれだけずれたかを示す位相比較ローパスデータが出力される。
【０２４９】
増幅器３３４は、ローパスフィルタ３３３から供給された位相比較ローパスデータを、必要に応じて増幅または減衰させ、検波データ決定部２７および位相比較データ決定部２９に供給する。
【０２５０】
次に、図１５のフローチャートを参照して、検波装置１１が入力されたデジタル変調信号を検波して、元のベースバンドデータである検波データを出力する処理である検波処理について説明する。
【０２５１】
ステップＳ１１において、レベル変換部２１は、供給されたデジタル変調信号のレベル変換を行って、レベルの変換されたデジタル変調信号をサンプリングデータ生成部２３に供給する。すなわち、インバータ６２は、コンデンサ６１を介して入力されたデジタル変調信号のレベルを、その中心のレベルがロジック判定の基準レベルとなるように変換し、レベルが変換されたデジタル変調信号を出力する。
【０２５２】
ステップＳ１２において、サンプリングクロック発生部２２は、供給された駆動クロックに基づいて、複数のサンプリングクロックを生成し、生成したそれらのサンプリングクロックを、サンプリングデータ生成部２３に供給する。
【０２５３】
すなわち、サンプリングクロック発生部２２は、供給された駆動クロックを、サンプリングクロックClock[0]としてそのまま出力し、インバータ９４は、供給された駆動クロックを反転させることで得られたサンプリングクロックClock[4]を出力する。
【０２５４】
また、遅延部９１乃至遅延部９３は、供給された駆動クロックを遅延させ、遅延された駆動クロックをサンプリングクロックClock[1]乃至サンプリングクロックClock[3]として出力するとともに、インバータ９５乃至インバータ９７に供給する。インバータ９５乃至インバータ９７は、遅延部９１乃至遅延部９３からの駆動クロックを反転させて得られたサンプリングクロックClock[5]乃至サンプリングクロックClock[7]を出力する。
【０２５５】
これにより、８つのサンプリングクロックClock[0]乃至サンプリングクロックClock[7]がサンプリングデータ生成部２３に供給される。
【０２５６】
ステップＳ１３において、サンプリングデータ生成部２３は、サンプリングデータ生成処理を行う。なお、サンプリングデータ生成処理の詳細は後述するが、このサンプリングデータ生成処理において、サンプリングデータ生成部２３は、サンプリングクロック発生部２２から供給されたサンプリングクロックを用いて、レベル変換部２１から供給されたデジタル変調信号をサンプリングし、その結果得られたサンプリングクロックごとのサンプリングデータr-inp[3][0]乃至サンプリングデータr-inp[3][7]を、バス２４を介して検波データ生成部２５および位相比較データ生成部２８に供給する。
【０２５７】
ステップＳ１４において、検波データ生成部２５は、検波データ生成処理を行い、サンプリングデータ生成部２３から供給されたサンプリングデータから、サンプリングクロックごとの検波データおよびエラーデータを生成する。検波データ生成部２５は、生成した検波データを検波データ決定部２７および初期位相決定部２６に供給するとともに、エラーデータを初期位相決定部２６に供給する。なお、検波データ生成処理の詳細は後述する。
【０２５８】
ステップＳ１５において、初期位相決定部２６は、デジタル変調信号のキャリアの初期位相が既に求められているか否かを判定する。例えば、既にステップＳ１６の初期位相決定処理が行われ、初期位相データが出力されている場合、初期位相が求められていると判定される。
【０２５９】
ステップＳ１５において、初期位相が求められていると判定された場合、初期位相決定部２６は、検波データ決定部２７および位相比較データ決定部２９に、初期位相データを供給し続け、処理はステップＳ１７に進む。
【０２６０】
これに対して、ステップＳ１５において、初期位相が求められていないと判定された場合、処理はステップＳ１６に進み、初期位相決定処理が行われる。なお、初期位相決定処理の詳細は後述するが、この初期位相決定処理において、初期位相決定部２６は、検波データ生成部２５から供給された検波データおよびエラーデータから、キャリアの初期位相を決定し、キャリアと同期したサンプリングクロックを示す初期位相データを検波データ決定部２７および位相比較データ決定部２９に供給する。
【０２６１】
ステップＳ１６において、初期位相決定処理が行われるか、ステップＳ１５において、初期位相が求められていると判定されると、ステップＳ１７において、検波データ決定部２７は、検波データ生成部２５から供給されたサンプリングクロックごとの検波データから、最終的な検波データを選択する。
【０２６２】
例えば、検波データ決定部２７の加算器２４１は、初期位相決定部２６から供給された初期位相データと、サンプリングクロック決定部３０から供給された位相比較ローパスデータとを加算して、その結果得られた値をデマルチプレクサ２４２に供給する。デマルチプレクサ２４２は、加算器２４１から供給された値に基づいて、検波データ生成部２５から供給された検波データr-cmp[0]乃至検波データr-cmp[7]のうちの何れか１つを選択する。そして、デマルチプレクサ２４２は、選択した検波データをデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックを用いた検波により得られた検波データr-datとして、サンプリングクロック決定部３０に供給するとともに、検波装置１１の後段に出力する。
【０２６３】
ステップＳ１８において、位相比較データ生成部２８は、位相比較データ生成処理を行う。なお、位相比較データ生成処理の詳細は後述するが、位相比較データ生成処理において、位相比較データ生成部２８は、サンプリングデータ生成部２３から供給されたサンプリングクロックごとのサンプリングデータに基づいて、サンプリングクロックごとの位相比較データp-err[0]乃至位相比較データp-err[7]を生成し、位相比較データ決定部２９に供給する。
【０２６４】
ステップＳ１９において、位相比較データ決定部２９は、初期位相決定部２６から供給された初期位相データ、およびサンプリングクロック決定部３０から供給された位相比較ローパスデータに基づいて、位相比較データ生成部２８から供給された位相比較データp-err[0]乃至位相比較データp-err[7]から、最終的な位相比較データを選択する。
【０２６５】
例えば、位相比較データ決定部２９の加算器３０１は、初期位相データと位相比較ローパスデータとを加算して、その結果得られた値をデマルチプレクサ３０２に供給する。デマルチプレクサ３０２は、加算器３０１から供給された値に基づいて、位相比較データp-err[0]乃至位相比較データp-err[7]のうちの何れか１つを選択する。そして、デマルチプレクサ３０２は、選択した位相比較データを、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックの位相比較データp-errとしてサンプリングクロック決定部３０に供給する。
【０２６６】
ステップＳ２０において、サンプリングクロック決定部３０は、検波データ決定部２７から供給された検波データr-dat、および位相比較データ決定部２９から供給された位相比較データp-errに基づいて、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックを検出する。換言すれば、サンプリングクロック決定部３０は、デジタル変調信号の検波の開始直後におけるキャリアの位相、つまり初期位相に対するキャリアの位相のずれを検出する。
【０２６７】
例えば、サンプリングクロック決定部３０のセレクタ３３１は、検波データr-datのロジック値に基づいて、位相比較データp-err、または−１が乗算された位相比較データp-errのうちの何れか一方を選択して増幅器３３２に供給する。増幅器３３２は、セレクタ３３１から供給された位相比較データを増幅または減衰させて、加算器３４１に供給し、加算器３４１は、増幅器３３２からの位相比較データと、遅延部３４２からの位相比較ローパスデータとを加算して、その結果得られた新たな位相比較ローパスデータを遅延部３４２に供給する。
【０２６８】
遅延部３４２は、加算器３４１からの位相比較ローパスデータを、遅延させて加算器３４１および増幅器３３４に供給する。増幅器３３４は、遅延部３４２から供給された位相比較ローパスデータを増幅または減衰させて、検波データ決定部２７および位相比較データ決定部２９に供給する。
【０２６９】
ステップＳ２１において、検波装置１１は、処理を終了するか否かを判定する。ステップＳ２１において、終了しないと判定された場合、処理はステップＳ１１に戻り、上述した処理が繰り返される。
【０２７０】
これに対して、ステップＳ２１において、終了すると判定された場合、検波装置１１の各部は行っている処理を終了し、検波処理は終了する。
【０２７１】
このようにして、検波装置１１は、駆動クロックから、８分の１周期の整数倍だけ位相のずれた複数のサンプリングクロックを生成し、デジタル変調信号をそれらのサンプリングクロックを用いてサンプリングする。また、検波装置１１は、サンプリングにより得られたサンプリングデータを用いて、サンプリングクロックごとの検波データと、位相比較データとを生成するとともに、それらの検波データおよび位相比較データから、最終的な検波データおよび位相比較データを選択する。
【０２７２】
このように、駆動クロックから、８分の１周期の整数倍だけ位相のずれた複数のサンプリングクロックを生成し、デジタル変調信号をそれらのサンプリングクロックを用いてサンプリングすることで、受信したデジタル変調信号のキャリアの周期（周波数）と同程度の周期（周波数）のサンプリングクロックを用いて、キャリアの周波数よりも大きいサンプリング周波数で、デジタル変調信号をサンプリングすることができる。
【０２７３】
また、そのようにしてサンプリングすることにより得られたサンプリングデータを用いて、サンプリングクロックごとの検波データと、位相比較データとを生成するとともに、それらの検波データおよび位相比較データから、最終的な検波データおよび位相比較データを選択することで、より簡単かつ確実にデジタル変調信号の検波を行うことができる。つまり、より簡単かつ確実に、変調により得られた信号から元のデータを得ることができる。
【０２７４】
従来の技術においては、キャリアの位相が決定されてから、検波データを得るまでに多くの処理を行う必要があったが、検波装置１１によれば、初期位相データおよび位相比較ローパスデータを用いて、最終的な検波データおよび位相比較データを選択するだけでよいので、キャリアの位相の決定後の処理を大幅に削減することができ、検波装置１１の動作速度を向上させることができる。
【０２７５】
また、検波装置１１によれば、デジタル変調信号のキャリアと同程度の周波数（周期）の駆動クロックを用いて、デジタル変調信号の検波を行うことができるので、デジタル変調信号の送信装置における動作速度の限界と比べて、受信装置の動作速度の限界による制限が強くなるようなこともない。そして、デジタル変調信号のキャリアの周波数が大きくなった場合においても、デジタル変調信号を送信することはできるが、受信することができないという状態が生じることもなく、通信システムの性能を最大限に発揮することができる。つまり、キャリアの周波数が大きくなった場合においても、デジタル変調信号から、簡単かつ確実に元のベースバンドデータを得ることができる。
【０２７６】
次に、図１６のフローチャートを参照して、図１５のステップＳ１３の処理に対応する処理である、サンプリングデータ生成処理について説明する。
【０２７７】
サンプリングクロックClock[0]乃至サンプリングクロックClock[7]がサンプリングデータ生成部２３に供給されると、ステップＳ５１において、フリップフロップ１２１は、駆動クロックに同期したサンプリングクロックClock[0]でデジタル変調信号をサンプリングしたサンプリングデータr-inp[3][0]を生成する。
【０２７８】
すなわち、フリップフロップ１２１−１は、レベル変換部２１から供給されたデジタル変調信号を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][0]を出力する。フリップフロップ１２１−ｉ（但し、２≦ｉ≦４）は、フリップフロップ１２１−（ｉ−１）から出力されたロジックデータを、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータを出力する。これにより、フリップフロップ１２１−４からは、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][0]が出力される。
【０２７９】
ステップＳ５２において、フリップフロップ１２２は、駆動クロックを８分の１周期だけ遅延させたサンプリングクロックClock[1]でデジタル変調信号をサンプリングしたサンプリングデータr-inp[3][1]を生成する。
【０２８０】
すなわち、フリップフロップ１２２−１は、レベル変換部２１から供給されたデジタル変調信号を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][1]を出力する。フリップフロップ１２２−ｉ（但し、２≦ｉ≦４）は、フリップフロップ１２２−（ｉ−１）から出力されたロジックデータを、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータを出力する。これにより、フリップフロップ１２２−４からは、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][1]が出力される。
【０２８１】
ステップＳ５３において、フリップフロップ１２３は、駆動クロックを８分の２周期だけ遅延させたサンプリングクロックClock[2]でデジタル変調信号をサンプリングしたサンプリングデータr-inp[3][2]を生成する。
【０２８２】
すなわち、フリップフロップ１２３−１は、レベル変換部２１から供給されたデジタル変調信号を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][2]を出力する。フリップフロップ１２３−ｉ（但し、２≦ｉ≦４）は、フリップフロップ１２３−（ｉ−１）から出力されたロジックデータを、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータを出力する。これにより、フリップフロップ１２３−４からは、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][2]が出力される。
【０２８３】
ステップＳ５４において、フリップフロップ１２４は、駆動クロックを８分の３周期だけ遅延させたサンプリングクロックClock[3]でデジタル変調信号をサンプリングしたサンプリングデータr-inp[3][3]を生成する。
【０２８４】
すなわち、フリップフロップ１２４−１は、レベル変換部２１から供給されたデジタル変調信号を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][3]を出力する。フリップフロップ１２４−ｉ（但し、２≦ｉ≦４）は、フリップフロップ１２４−（ｉ−１）から出力されたロジックデータを、サンプリングクロック発生部２２から供給されたサンプリングクロックが立ち上がるタイミングでサンプリングし、これにより得られたロジックデータを出力する。これにより、フリップフロップ１２４−４からは、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][3]が出力される。
【０２８５】
ステップＳ５５において、フリップフロップ１２５は、駆動クロックを８分の４周期だけ遅延させたサンプリングクロックClock[4]でデジタル変調信号をサンプリングしたサンプリングデータr-inp[3][4]を生成する。
【０２８６】
すなわち、フリップフロップ１２５−１は、レベル変換部２１から供給されたデジタル変調信号を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[4]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][4]を出力する。フリップフロップ１２５−ｉ（但し、２≦ｉ≦４）は、フリップフロップ１２５−（ｉ−１）から出力されたロジックデータを、サンプリングクロック発生部２２から供給されたサンプリングクロックが立ち上がるタイミングでサンプリングし、これにより得られたロジックデータを出力する。これにより、フリップフロップ１２５−４からは、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][4]が出力される。
【０２８７】
ステップＳ５６において、フリップフロップ１２６は、駆動クロックを８分の５周期だけ遅延させたサンプリングクロックClock[5]でデジタル変調信号をサンプリングしたサンプリングデータr-inp[3][5]を生成する。
【０２８８】
すなわち、フリップフロップ１２６−１は、レベル変換部２１から供給されたデジタル変調信号を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[5]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][5]を出力する。フリップフロップ１２６−ｉ（但し、２≦ｉ≦４）は、フリップフロップ１２６−（ｉ−１）から出力されたロジックデータを、サンプリングクロック発生部２２から供給されたサンプリングクロックが立ち上がるタイミングでサンプリングし、これにより得られたロジックデータを出力する。これにより、フリップフロップ１２６−４からは、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][5]が出力される。
【０２８９】
ステップＳ５７において、フリップフロップ１２７は、駆動クロックを８分の６周期だけ遅延させたサンプリングクロックClock[6]でデジタル変調信号をサンプリングしたサンプリングデータr-inp[3][6]を生成する。
【０２９０】
すなわち、フリップフロップ１２７−１は、レベル変換部２１から供給されたデジタル変調信号を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[6]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][6]を出力する。フリップフロップ１２７−ｉ（但し、２≦ｉ≦４）は、フリップフロップ１２７−（ｉ−１）から出力されたロジックデータを、サンプリングクロック発生部２２から供給されたサンプリングクロックが立ち上がるタイミングでサンプリングし、これにより得られたロジックデータを出力する。これにより、フリップフロップ１２７−４からは、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][6]が出力される。
【０２９１】
ステップＳ５８において、フリップフロップ１２８は、駆動クロックを８分の７周期だけ遅延させたサンプリングクロックClock[7]でデジタル変調信号をサンプリングしたサンプリングデータr-inp[3][7]を生成し、処理は、図１５のステップＳ１４に進み、サンプリングデータ生成処理は終了する。
【０２９２】
すなわち、フリップフロップ１２８−１は、レベル変換部２１から供給されたデジタル変調信号を、サンプリングクロック発生部２２から供給されたサンプリングクロックClock[7]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][7]を出力する。フリップフロップ１２８−ｉ（但し、２≦ｉ≦４）は、フリップフロップ１２８−（ｉ−１）から出力されたロジックデータを、サンプリングクロック発生部２２から供給されたサンプリングクロックが立ち上がるタイミングでサンプリングし、これにより得られたロジックデータを出力する。これにより、フリップフロップ１２８−４からは、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][7]が出力される。
【０２９３】
このようにして、サンプリングデータ生成部２３は、駆動クロックの周期から８分の１周期の整数倍だけ位相のずれた複数のサンプリングクロックを用いデジタル変調信号をサンプリングし、それらのサンプリングクロックごとのサンプリングデータを生成する。
【０２９４】
このように、複数のサンプリングクロックを用いてデジタル変調信号をサンプリングすることで、駆動クロックと同程度の周期のサンプリングクロックを用いてサンプリングデータを生成することができる。また、各サンプリングクロックに同期させてサンプリングすることで得られたロジックデータを、さらにいくつかのサンプリングクロックに同期させてサンプリングすることで、最終的に、サンプリングデータをサンプリングクロックClock[0]に同期させることができる。
【０２９５】
例えば、デジタル変調信号として、図１７に示す信号がサンプリングデータ生成部２３に供給された場合、各フリップフロップは、供給されたサンプリングクロックが立ち上がるタイミングで、供給されたデジタル変調信号または前段のフリップフロップに保持されているロジックデータをサンプリングする。
【０２９６】
なお、図１７において、横方向は時間を示しており、縦方向は、各信号のレベル（ロジック値）を示している。例えば、各信号において、最も大きいレベルである状態のときに、その信号のロジック値が１とされ、各信号において、最も小さいレベルである状態のときに、そのロジック値が０とされる。また、図１７では、デジタル変調信号、サンプリングクロックClock[0]乃至サンプリングクロックClock[7]、ロジックデータr-inp[0][0]乃至ロジックデータr-inp[2][0]、サンプリングデータr-inp[3][0]、ロジックデータr-inp[0][1]乃至ロジックデータr-inp[2][1]、およびサンプリングデータr-inp[3][1]の波形が示されている。
【０２９７】
デジタル変調信号は、所定の周期波の時刻ｔ０から時刻ｔ１の区間の位相が反転されたものとされている。ここで、時刻ｔ０から時刻ｔ１の区間は、デジタル変調信号の１周期分の区間とされている。
【０２９８】
また、サンプリングクロックClock[0]乃至サンプリングクロックClock[7]のそれぞれは、デジタル変調信号の周期とほぼ同じ周期の周期波とされており、サンプリングクロックClock[1]乃至サンプリングクロックClock[7]のそれぞれは、サンプリングクロックClock[0]を、その周期の８分の１の整数倍だけ遅延させたものとされている。つまり、サンプリングクロックClock[i]（但し、１≦ｉ≦７）は、サンプリングクロックClock[0]に対して、８分のｉ周期だけ遅延している。ここで、各サンプリングクロックの図中、上向きの矢印は、それらのサンプリングクロックが立ち上がるタイミングを表している。
【０２９９】
また、ロジックデータr-inp[0][0]は、デジタル変調信号をサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングして得られるデータである。図１７では、サンプリングクロックClock[0]に同期させてデジタル変調信号のサンプリングを行うと、サンプリングクロックClock[0]が３回目に立ち上がるタイミングにおいて、初めてサンプリングにより得られるロジック値が１となるので、ロジックデータr-inp[0][0]のレベルは、３回目のサンプリングが行われるまではロジック値が０とされるレベルとなっている。
【０３００】
そして、サンプリングクロックClock[0]と同期させてデジタル変調信号のサンプリングを行うと、３回目のサンプリングにおいて、ロジック値１が得られるので、フリップフロップ１２１−１は、サンプリングにより得られたロジック値１を１周期だけ保持する。したがって、ロジックデータr-inp[0][0]のレベルは、３回目のサンプリングのタイミングの後、徐々に大きくなり、その後ロジック値が１とされるレベルが維持される。
【０３０１】
さらに、サンプリングクロックClock[0]と同期させてデジタル変調信号のサンプリングを行うと、４回目以降のサンプリングにおいては、ロジック値０が得られるので、フリップフロップ１２１−１は、サンプリングにより得られたロジック値０を保持する。したがって、ロジックデータr-inp[0][0]のレベルは、４回目のサンプリングのタイミングの後、徐々に小さくなり、ロジック値が０となると、そのレベルが維持される。
【０３０２】
ここで、ロジックデータr-inp[0][0]のレベルが徐々に変化するのは、フリップフロップなどの回路や配線において遅延が生じるためであり、ロジックデータr-inp[0][0]のレベルが変化し始めてから、ロジック値０または１とされるレベルになるまでの遅延時間は、セトリングタイムと呼ばれている。
【０３０３】
ロジックデータr-inp[1][0]、ロジックデータr-inp[2][0]、およびサンプリングデータr-inp[3][0]のそれぞれは、フリップフロップ１２１−２乃至フリップフロップ１２１−４のそれぞれが、サンプリングクロックClock[0]が立ち上がるタイミングで、フリップフロップ１２１−１乃至フリップフロップ１２１−３のそれぞれが保持しているロジック値を取得し、取得されたロジック値を１周期だけ保持することで得られる。したがって、ロジックデータr-inp[1][0]、ロジックデータr-inp[2][0]、およびサンプリングデータr-inp[3][0]のそれぞれは、ロジックデータr-inp[0][0]乃至ロジックデータr-inp[2][0]のそれぞれを、図中、右方向、つまり時間的に後の方向に、サンプリングクロックClock[0]の１周期分の時間だけシフトさせたものとなっている。
【０３０４】
また、ロジックデータr-inp[0][1]は、デジタル変調信号をサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングして得られるデータである。図１７では、サンプリングクロックClock[1]に同期させてデジタル変調信号のサンプリングを行うと、サンプリングクロックClock[1]が３回目に立ち上がるタイミングにおいて、初めてサンプリングにより得られるロジック値が１となるので、ロジックデータr-inp[0][1]のレベルは、３回目のサンプリングが行われるまではロジック値が０とされるレベルとなっている。
【０３０５】
そして、サンプリングクロックClock[1]と同期させてデジタル変調信号のサンプリングを行うと、３回目のサンプリングにおいて、ロジック値１が得られるので、フリップフロップ１２２−１は、サンプリングにより得られたロジック値１を１周期だけ保持する。したがって、ロジックデータr-inp[0][1]のレベルは、３回目のサンプリングのタイミングの後、徐々に大きくなり、ロジック値が１とされるレベルとなると、そのレベルが維持される。
【０３０６】
さらに、サンプリングクロックClock[1]と同期させてデジタル変調信号のサンプリングを行うと、４回目以降のサンプリングにおいては、ロジック値０が得られるので、フリップフロップ１２２−１は、サンプリングにより得られたロジック値０を保持する。したがって、ロジックデータr-inp[0][1]のレベルは、４回目のサンプリングのタイミングの後、徐々に小さくなり、ロジック値が０となると、そのレベルが維持される。
【０３０７】
ロジックデータr-inp[1][1]、ロジックデータr-inp[2][1]、およびサンプリングデータr-inp[3][1]のそれぞれは、フリップフロップ１２２−２乃至フリップフロップ１２２−４のそれぞれが、サンプリングクロックClock[0]が立ち上がるタイミングで、フリップフロップ１２２−１乃至フリップフロップ１２２−３のそれぞれが保持しているロジック値を取得し、取得されたロジック値を１周期だけ保持することで得られる。
【０３０８】
したがって、ロジックデータr-inp[1][1]は、ロジックデータr-inp[0][1]を、図中、右方向にサンプリングクロックClock[0]の８分の７周期分の時間だけシフトさせたものとなっている。また、ロジックデータr-inp[2][1]、およびサンプリングデータr-inp[3][1]は、ロジックデータr-inp[1][1]およびロジックデータr-inp[2][1]を、図中、右方向にサンプリングクロックClock[0]の１周期分の時間だけシフトさせたものとなっている。
【０３０９】
このように、フリップフロップ１２２−２において、ロジックデータr-inp[0][1]が更新される直前、つまりサンプリングクロックClock[1]が立ち上がる直前のサンプリングクロックClock[0]の立ち上がりのタイミングで、ロジックデータr-inp[0][1]をサンプリングすることで、サンプリングクロックClock[1]に同期したロジックデータr-inp[0][1]から、サンプリングクロックClock[0]に同期したロジックデータr-inp[1][1]を得ることができる。
【０３１０】
なお、他のフリップフロップ１２３乃至フリップフロップ１２８においても、供給されたサンプリングクロックに同期して、供給されたデジタル変調信号または前段のフリップフロップに保持されたロジックデータがサンプリングされる。
【０３１１】
また、サンプリングデータ生成部２３から検波データ生成部２５に、サンプリングクロックごとのサンプリングデータが供給されると、図１５のステップＳ１４の処理に対応する処理である、検波データ生成処理が行われる。
【０３１２】
以下、図１８のフローチャートを参照して、検波データ生成部２５による検波データ生成処理について説明する。
【０３１３】
ステップＳ８１において、レジスタ１５１−１乃至レジスタ１５１−１５のそれぞれは、駆動クロックが立ち上がるタイミングで、供給されたサンプリングデータr-inp[4][0]乃至サンプリングデータr-inp[3][6]の２周期分のサンプリングデータを、駆動クロックの１周期だけ保持する。そして、レジスタ１５１は、保持しているサンプリングデータをレジスタ１５２に供給する。
【０３１４】
ステップＳ８２において、レジスタ１５２−ｉ（但し、１≦ｉ≦１２）は、レジスタ１５１から供給された４つのサンプリングデータのロジック値に重みを乗算し、重みの乗算されたロジック値を加算して、これにより得られたデータr-add[i-1]を駆動クロックの１周期分の時間だけ保持する。そして、レジスタ１５２−ｉは、保持しているデータr-add[i-1]を、レジスタ１５３およびレジスタ１５４に供給する。
【０３１５】
ステップＳ８３において、レジスタ１５３は、レジスタ１５２から供給された２つのデータを比較して、検波データを生成する。レジスタ１５３は、生成した検波データを初期位相決定部２６および検波データ決定部２７に供給する。
【０３１６】
ステップＳ８４において、レジスタ１５４は、レジスタ１５２から供給された２つのデータを比較して、エラーデータを生成する。そして、レジスタ１５４は、生成したエラーデータを、初期位相決定部２６に供給し、処理は図１５のステップＳ１５に進み、検波データ生成処理は終了する。
【０３１７】
このようにして、検波データ生成部２５は、サンプリングクロックごとのサンプリングデータから、サンプリングクロックごとの検波データを生成する。
【０３１８】
このように、サンプリングクロックごとのサンプリングデータから、サンプリングクロックごとの検波データを生成することにより、結果的に、デジタル変調信号を、そのキャリアの周期よりも短い周期でサンプリングして検波することができるので、各サンプリングクロックに同期した検波データとして、より確からしいものを得ることができる。
【０３１９】
さらに、生成された検波データが初期位相決定部２６に供給され、図１５のステップＳ１５において、初期位相が求められていないと判定された場合、ステップＳ１６において、初期位相決定処理が行われる。
【０３２０】
以下、図１９のフローチャートを参照して、図１５のステップＳ１６の処理に対応する処理である、初期位相決定処理について説明する。
【０３２１】
ステップＳ１１１において、パタン検出部１８１は、検波データ生成部２５から供給された検波データと、その検波データについてのエラーデータとに基づいて、デジタル変調信号から予め定められた固定パタンを検出し、その検出結果を示す検出フラグを位相ロック検出部１８２に供給する。
【０３２２】
すなわち、例えば、パタン検出部１８１−１のレジスタ２１１は、保持している検波データを論理積演算部２１２に供給する。論理積演算部２１２は、レジスタ２１１から供給された検波データのロジック値の論理積を演算し、その演算結果を論理積演算部２１５に供給する。この演算結果としてのロジック値は、上述したように、デジタル変調信号から固定パタンが検出された場合に１とされ、固定パタンが検出されなかった場合には０とされる。
【０３２３】
また、レジスタ２１３は、保持しているエラーデータを論理積演算部２１４に供給する。さらに、論理積演算部２１４は、レジスタ２１３から供給されたエラーデータのロジック値の論理積を演算し、その演算結果を論理積演算部２１５に供給する。この演算結果としてのロジック値は、全てのエラーデータのロジック値が０である場合に１とされ、１つでもロジック値が１であるエラーデータが入力された場合には０とされる。
【０３２４】
そして、論理積演算部２１５は、論理積演算部２１２から供給されたロジック値、および論理積演算部２１４から供給されたロジック値の論理積を演算し、その結果を検出フラグLock[0]として位相ロック検出部１８２に供給する。なお、パタン検出部１８１−２乃至パタン検出部１８１−４のそれぞれにおいても、パタン検出部１８１−１における場合と同様の処理が行われ、検出フラグLock[2]、検出フラグLock[4]、および検出フラグLock[6]のそれぞれが出力される。
【０３２５】
ステップＳ１１２において、位相ロック検出部１８２は、パタン検出部１８１から供給された検出フラグに基づいて、ロックフラグを位相エンコーダ１８３に供給する。
【０３２６】
ステップＳ１１３において、位相エンコーダ１８３は、位相ロック検出部１８２から供給されたロックフラグに基づいて、キャリアの初期位相を決定し、処理は図１５のステップＳ１７に進み、初期位相決定処理は終了する。
【０３２７】
例えば、位相エンコーダ１８３は、図１０に示したテーブルを参照して、供給されたロックフラグの値により定まる、受信したデジタル変調信号のキャリアに最も近い位相のサンプリングクロックを示す初期位相データを、検波データ決定部２７および位相比較データ決定部２９に供給する。
【０３２８】
初期位相決定処理によれば、サンプリングクロックごとのサンプリングデータと、エラーデータとを用いて、受信したデジタル変調信号から固定パタンの検出を行うことで、それらのサンプリングクロックのうち、受信したデジタル変調信号のキャリアにある程度同期しているサンプリングクロックを検出することができる。そして、さらに、検出されたサンプリングクロックのうちの中間の位相のサンプリングクロックを選択することで、生成されたサンプリングクロックのうち、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックを得ることができる。
【０３２９】
このようにして、初期位相決定部２６は、サンプリングクロックごとの検波データと、エラーデータとを用いて固定パタンを検出し、その検出結果に基づいて８つのサンプリングクロックのうち、その位相が受信したデジタル変調信号のキャリアの位相に最も近いサンプリングクロックを選択する。
【０３３０】
このように、サンプリングクロックごとの検波データと、エラーデータとを用いて固定パタンを検出することで、簡単かつ確実に、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックを検出することができる。
【０３３１】
初期位相決定部２６により初期位相が決定され、検波データ決定部２７において、最終的な検波データが選択されると、位相比較データ生成部２８は、図１５のステップＳ１８の処理に対応する処理である位相比較データ生成処理を開始する。
【０３３２】
以下、図２０のフローチャートを参照して、位相比較データ生成部２８による位相比較データ生成処理について説明する。
【０３３３】
ステップＳ１４１において、レジスタ２７１は、供給された２周期分のサンプリングデータを駆動クロックの１周期分の時間だけ保持し、その後、保持しているサンプリングデータを、レジスタ２７２に供給する。
【０３３４】
ステップＳ１４２において、レジスタ２７２は、レジスタ２７１から供給された４つのサンプリングデータを重み付けして加算する。つまり、レジスタ２７２は、供給されたサンプリングデータのロジック値のそれぞれに所定の重みを乗算し、重みが乗算されたロジック値のそれぞれを加算する。そして、レジスタ２７２は、重みが乗算されたロジック値を加算することで得られたデータを、後段のレジスタ２７３に供給する。
【０３３５】
ステップＳ１４３において、レジスタ２７３は、レジスタ２７２から供給された２つのデータのそれぞれに所定の重みを乗算し、重みが乗算されたデータを加算することにより、サンプリングクロックごとの位相比較データを生成する。そして、レジスタ２７３は、生成したサンプリングクロックごとの位相比較データを、位相比較データ決定部２９に供給し、処理は図１５のステップＳ１９に進み、位相比較データ生成処理は終了する。
【０３３６】
このようにして、位相比較データ生成部２８は、サンプリングクロックごとのサンプリングデータから、サンプリングクロックごとの位相比較データを生成する。
【０３３７】
このように、受信したデジタル変調信号のキャリアの周期よりも短い周期でサンプリングして得られたサンプリングデータに重み付けを行って加算することで、サンプリングクロックごとの位相のずれを示す位相比較データとして、より確からしいものを得ることができる。
【０３３８】
なお、以上においては、図３に示したように、サンプリングクロック発生部２２において、駆動クロックを反転させるインバータ９４乃至インバータ９７を設けてサンプリングクロックを生成するようにすることで、サンプリングクロック発生部２２に設けられる遅延素子（遅延部）の部品点数が低減されるようにしたが、必ずしもインバータを設けなくてもよい。
【０３３９】
例えば、サンプリングクロック発生部２２の後段のサンプリングデータ生成部２３において、フリップフロップが設けられている場合、つまりサンプリングクロック発生部２２からのサンプリングクロックが、フリップフロップに入力される場合、そのフリップフロップの駆動のタイミングを、駆動クロックの立ち上がりのタイミング、または立下りのタイミングに適宜変更することで、駆動クロックを遅延させ、サンプリングクロックとするようにしてもよい。
【０３４０】
ところで、図１に示した検波装置１１においては、受信したデジタル変調信号のキャリアとほぼ同じ周期の駆動クロックから、駆動クロックと同じ周期である複数のサンプリングクロックを生成し、それらのサンプリングクロックを用いて、デジタル変調信号のサンプリングを行うことで、デジタル変調信号を、そのキャリアの周期より短い周期でサンプリングすることができる。
【０３４１】
検波装置１１においては、サンプリングの対象となるデジタル変調信号のキャリアと、駆動クロックとはほぼ同じ周期の信号とされたが、一般に、サンプリングの対象となる受信信号の周期と、駆動クロックの周期とが異なる場合においても、駆動クロックから生成したサンプリングクロックを用いて、受信信号を、駆動クロックの周期よりも短い周期でサンプリングすることができる。
【０３４２】
そのような場合、駆動クロックからサンプリングクロックを生成するサンプリングクロック発生装置、およびサンプリングクロックを用いて、受信した入力信号（受信信号）をサンプリングするサンプリングデータ生成装置は、例えば、図２１および図２２に示すように構成される。
【０３４３】
図２１に示すサンプリングクロック発生装置４０１は、遅延部４１１−１乃至遅延部４１１−３から構成され、遅延部４１１−１乃至遅延部４１１−３のそれぞれは、遅延素子などからなる。
【０３４４】
サンプリングクロック発生装置４０１は、入力された駆動クロックを、その駆動クロックに同期したサンプリングクロックClock[0]としてそのまま出力するとともに、入力された駆動クロックを遅延部４１１−１に供給する。
【０３４５】
遅延部４１１−１は、供給された駆動クロックを、その駆動クロックの４分の１周期だけ遅延させて、遅延された駆動クロックをサンプリングクロックClock[1]として出力するとともに、駆動クロックを遅延部４１１−２に供給する。このサンプリングクロックClock[1]は、サンプリングクロックClock[0]に対して、そのサンプリングクロックの４分の１周期だけ遅延している。
【０３４６】
遅延部４１１−２は、遅延部４１１−１から供給された駆動クロックを、その駆動クロックの４分の１周期だけ遅延させて、遅延された駆動クロックをサンプリングクロックClock[2]として出力するとともに、駆動クロックを遅延部４１１−３に供給する。このサンプリングクロックClock[2]は、サンプリングクロックClock[0]に対して、そのサンプリングクロックの４分の２周期だけ遅延している。
【０３４７】
遅延部４１１−３は、遅延部４１１−２から供給された駆動クロックを、その駆動クロックの４分の１周期だけ遅延させて、遅延された駆動クロックをサンプリングクロックClock[3]として出力する。このサンプリングクロックClock[3]は、サンプリングクロックClock[0]に対して、そのサンプリングクロックの４分の３周期だけ遅延している。
【０３４８】
したがって、サンプリングクロック発生装置４０１からは、駆動クロックと同じ周期であり、駆動クロックの４分の１周期の整数倍だけ位相がずれた４つのサンプリングクロックが出力され、図２２に示すサンプリングデータ生成装置４４１に供給される。
【０３４９】
サンプリングデータ生成装置４４１は、フリップフロップ４５１−１乃至フリップフロップ４５４−４から構成される。このサンプリングデータ生成装置４４１は、サンプリングクロックの周期ｔｃが、サンプリングデータ生成装置４４１における配線による遅延などを含むデータのセトリングまでの遅延時間、つまりデータを読み取れるようになるまでの遅延時間ｔｄよりも長い場合に、複数のサンプリングクロックを用いてサンプリングデータを生成するのに適している。
【０３５０】
ここで、フリップフロップ４５１−１乃至フリップフロップ４５４−４のそれぞれは、供給されたサンプリングクロックが立ち上がるタイミングでデータを取得するようになされており、遅延時間ｔｄがサンプリングクロックの周期ｔｃの４分の３以下（例えば、４分の３）とされている。また、フリップフロップ４５１−１乃至フリップフロップ４５４−４のそれぞれは、取得したデータをサンプリングクロック、つまり駆動クロックの１周期だけ保持する。
【０３５１】
フリップフロップ４５１−１は、供給された入力信号を、供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[0][0]を出力する。フリップフロップ４５１−ｉ（但し２≦ｉ≦４）は、フリップフロップ４５１−（ｉ−１）から出力されたデータdata[i-2][0]を、供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[i-1][0]を出力する。
【０３５２】
これにより、フリップフロップ４５１−４からは、入力信号がサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータとしてのデータdata[3][0]が出力される。なお、以下、フリップフロップ４５１−１乃至フリップフロップ４５１−４のそれぞれを特に区別する必要のない場合、単にフリップフロップ４５１と称する。
【０３５３】
また、フリップフロップ４５２−１は、供給された入力信号を、供給されたサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[0][1]を出力する。フリップフロップ４５２−ｉ（但し２≦ｉ≦４）は、フリップフロップ４５２−（ｉ−１）から出力されたデータdata[i-2][1]を、供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[i-1][1]を出力する。
【０３５４】
ここでは、データdata[0][1]のセトリングタイムが、サンプリングクロックClock[1]の立ち上がりから、時間的に次のサンプリングクロックClock[0]の立ち上がりまでの時間よりも短いことが利用されている。
【０３５５】
これにより、フリップフロップ４５２−４からは、入力信号がサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータとしてのデータdata[3][1]が出力される。なお、以下、フリップフロップ４５２−１乃至フリップフロップ４５２−４のそれぞれを特に区別する必要のない場合、単にフリップフロップ４５２と称する。
【０３５６】
フリップフロップ４５３−１は、供給された入力信号を、供給されたサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[0][2]を出力する。フリップフロップ４５３−２は、フリップフロップ４５３−１から出力されたデータdata[0][2]を、供給されたサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[1][2]を出力する。ここでは、データdata[0][2]のセトリングタイムが、サンプリングクロックClock[2]の立ち上がりから、時間的に次のサンプリングクロックClock[1]の立ち上がりまでの時間よりも短いことが利用されている。
【０３５７】
フリップフロップ４５３−３およびフリップフロップ４５３−４は、フリップフロップ４５３−２およびフリップフロップ４５３−３から出力されたデータdata[1][2]およびデータdata[2][2]を、供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[2][2]およびデータdata[3][2]を出力する。ここでは、データdata[1][2]のセトリングタイムが、サンプリングクロックClock[1]の立ち上がりから、時間的に次のサンプリングクロックClock[0]の立ち上がりまでの時間よりも短いことが利用されている。
【０３５８】
これにより、フリップフロップ４５３−４からは、入力信号がサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータとしてのデータdata[3][2]が出力される。なお、以下、フリップフロップ４５３−１乃至フリップフロップ４５３−４のそれぞれを特に区別する必要のない場合、単にフリップフロップ４５３と称する。
【０３５９】
また、フリップフロップ４５４−１は、供給された入力信号を、供給されたサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[0][3]を出力する。フリップフロップ４５４−２は、フリップフロップ４５４−１から供給されたデータdata[0][3]を、供給されたサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[1][3]を出力する。
【０３６０】
フリップフロップ４５４−３は、フリップフロップ４５４−２から供給されたデータdata[1][3]を、供給されたサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[2][3]を出力する。フリップフロップ４５４−４は、フリップフロップ４５４−３から供給されたデータdata[2][3]を、供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[3][3]を出力する。
【０３６１】
フリップフロップ４５４−２乃至フリップフロップ４５４−４のそれぞれでは、データdata[0][3]乃至データdata[2][3]のセトリングタイムのそれぞれが、サンプリングクロックClock[3]の立ち上がり乃至サンプリングクロックClock[1]の立ち上がりのそれぞれから、時間的に次のサンプリングクロックClock[2]の立ち上がり乃至サンプリングクロックClock[0]の立ち上がりのそれぞれまでの時間よりも短いことが利用されている。
【０３６２】
これにより、フリップフロップ４５４−４からは、入力信号がサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータとしてのデータdata[3][3]が出力される。なお、以下、フリップフロップ４５４−１乃至フリップフロップ４５４−４のそれぞれを特に区別する必要のない場合、単にフリップフロップ４５４と称する。
【０３６３】
このように、サンプリングデータ生成装置４４１からは、入力信号がサンプリングクロックClock[0]乃至サンプリングクロックClock[3]のそれぞれに同期してサンプリングされて得られた、サンプリングクロックClock[0]に同期したデータdata[3][0]乃至データdata[3][3]のそれぞれが出力される。換言すれば、サンプリングデータ生成装置４４１からは、入力信号を、サンプリングクロックの４分の１周期、つまり（１／４）ｔｃの時間間隔でサンプリングして得られたサンプリングデータが出力される。
【０３６４】
ここで、サンプリングにより得られる各サンプリングデータを、サンプリングクロックClock[0]に同期したデータとするためには、所定のサンプリングクロックが立ち上がるタイミングで、フリップフロップによりサンプリングされて保持されているデータが正しく読み取れるレベルとなってから、そのデータが次に更新されるまでの間に、そのフリップフロップにより保持さているデータを、他の位相の異なるサンプリングクロックが立ち上がるタイミングで後段のフリップフロップが取得する必要がある。したがって、複数のサンプリングクロックを用いた入力信号のサンプリングの周期は、サンプリングクロックの周期ｔｃと遅延時間ｔｄとの差（ｔｃ−ｔｄ）以下の時間とされる。
【０３６５】
また、フリップフロップ４５１乃至フリップフロップ４５４は、各サンプリングクロックに同期してサンプリングすることで得られたデータを、サンプリングクロックClock[0]に同期させるので、サンプリングデータ生成装置４４１は、フリップフロップ４５１乃至フリップフロップ４５４のそれぞれからなる４つのシフトレジスタから構成されているということができる。
【０３６６】
なお、データdata[0][0]乃至データdata[3][3]のそれぞれは、１ビットのロジックデータとされてもよいし、２ビット以上のデータとされてもよい。
【０３６７】
また、入力信号をデジタル変調信号として、サンプリングデータ生成装置４４１から出力されるサンプリングデータが用いられて、デジタル変調信号の検波が行われるようにしてもよい。そのような場合、サンプリングデータ生成装置４４１から出力されるサンプリングデータが用いられて、検波データ生成部２５および位相比較データ生成部２８により、検波データおよび位相比較データが生成される。
【０３６８】
さらに、例えば、図２３に示す入力信号がサンプリングデータ生成装置４４１に供給されると、各フリップフロップは、供給されたサンプリングクロックが立ち上がるタイミングで、供給された入力信号または前段のフリップフロップに保持されているデータをサンプリングする。
【０３６９】
なお、図２３において、横方向は時間を示しており、縦方向は、各信号のレベル、（ロジック値またはデータ値）を示している。以下においては、各信号において、最も大きいレベルである状態のときに、その信号のロジック値が１とされ、各信号において、最も小さいレベルである状態のときに、そのロジック値が０とされるとして説明を続ける。また、図２３では、入力信号、サンプリングクロックClock[0]乃至サンプリングクロックClock[3]、およびデータdata[0][0]乃至データdata[3][3]の波形が示されている。
【０３７０】
入力信号は、サンプリングクロックよりも、その周期が長い周期波とされている。サンプリングクロックClock[0]乃至サンプリングクロックClock[3]のそれぞれは、その周期ｔｃが入力信号の周期よりも短い周期波とされており、サンプリングクロックClock[1]乃至サンプリングクロックClock[3]のそれぞれは、サンプリングクロックClock[0]を、その周期の４分の１乃至４分の３だけ遅延させたものとされている。
【０３７１】
ここで、各サンプリングクロックの図中、上向きの矢印は、それらのサンプリングクロックが立ち上がるタイミングを表している。したがって、入力信号がサンプリングされるサンプリング周期ｔｓは、サンプリングクロックの４分の１周期の時間とされる。
【０３７２】
また、データdata[0][0]は、入力信号をサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングして得られるデータである。図２３では、サンプリングクロックClock[0]に同期させて入力信号のサンプリングを行うと、サンプリングの結果として、ロジック値１と、ロジック値０とが交互に得られる。
【０３７３】
フリップフロップ４５１−１は、サンプリングにより得られたロジック値をサンプリングクロックの１周期だけ保持するので、データdata[0][0]のレベルは、サンプリングクロックClock[0]の立ち上がりのタイミングの後、徐々に大きくなるか、または小さくなり、ロジック値が１または０とされるレベルになると、そのレベルが次のサンプリングクロックClock[0]の立ち上がりのタイミングまで維持される。ここで、データdata[0][0]のレベルが変化し始めてから、ロジック値が１または０とされるレベルになるまでの時間が、セトリングによる遅延時間ｔｄとされる。
【０３７４】
データdata[1][0]乃至データdata[3][0]のそれぞれは、フリップフロップ４５１−２乃至フリップフロップ４５１−４のそれぞれが、サンプリングクロックClock[0]が立ち上がるタイミングで、フリップフロップ４５１−１乃至フリップフロップ４５１−３のそれぞれが保持しているロジック値を取得し、取得されたロジック値をサンプリングクロックの１周期だけ保持することで得られる。したがって、データdata[1][0]乃至データdata[3][0]のそれぞれは、データdata[0][0]乃至データdata[2][0]のそれぞれを、図中、右方向、つまり時間的に後の方向に、サンプリングクロックClock[0]の１周期分だけシフトさせたものとなっている。
【０３７５】
また、データdata[0][1]は、入力信号をサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングして得られるデータである。フリップフロップ４５２−１は、サンプリングにより得られたロジック値をサンプリングクロックの１周期だけ保持するので、データdata[0][1]のレベルは、サンプリングクロックClock[1]の立ち上がりのタイミングの後、徐々に大きくなるか、または小さくなり、ロジック値が１または０とされるレベルになると、そのレベルが次の立ち上がりのタイミングまで維持される。
【０３７６】
データdata[1][1]乃至データdata[3][1]のそれぞれは、フリップフロップ４５２−２乃至フリップフロップ４５２−４のそれぞれが、サンプリングクロックClock[0]が立ち上がるタイミングで、フリップフロップ４５２−１乃至フリップフロップ４５２−３のそれぞれが保持しているロジック値を取得し、取得されたロジック値を１周期だけ保持することで得られる。したがって、データdata[1][1]は、データdata[0][0]を図中、時間的に後の方向にサンプリングクロックClock[0]の４分の３周期分だけシフトさせたものとなっており、データdata[2][1]およびデータdata[3][1]は、データdata[1][1]およびデータdata[2][1]を、時間的に後の方向にサンプリングクロックClock[0]の１周期分だけシフトさせたものとなっている。
【０３７７】
さらに、データdata[0][2]は、入力信号をサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングして得られるデータである。フリップフロップ４５３−１は、サンプリングにより得られたロジック値をサンプリングクロックの１周期だけ保持するので、データdata[0][2]のレベルは、サンプリングクロックClock[2]の立ち上がりのタイミングの後、徐々に大きくなるか、または小さくなり、ロジック値が１または０とされるレベルになると、そのレベルが次の立ち上がりのタイミングまで維持される。
【０３７８】
データdata[1][2]乃至データdata[3][2]のそれぞれは、フリップフロップ４５３−２乃至フリップフロップ４５３−４のそれぞれが、サンプリングクロックClock[1]、サンプリングClock[0]、およびサンプリングClock[0]が立ち上がるタイミングで、フリップフロップ４５３−１乃至フリップフロップ４５３−３のそれぞれが保持しているロジック値を取得し、取得されたロジック値を１周期だけ保持することで得られる。したがって、データdata[1][2]およびデータdata[2][2]は、データdata[0][2]およびデータdata[1][2]を図中、時間的に後の方向にサンプリングクロックClock[0]の４分の３周期分だけシフトさせたものとなっており、データdata[3][2]は、データdata[2][2]を、時間的に後の方向にサンプリングクロックClock[0]の１周期分だけシフトさせたものとなっている。
【０３７９】
さらに、また、データdata[0][3]は、入力信号をサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングして得られるデータである。フリップフロップ４５４−１は、サンプリングにより得られたロジック値をサンプリングクロックの１周期だけ保持するので、データdata[0][3]のレベルは、サンプリングクロックClock[3]の立ち上がりのタイミングの後、徐々に大きくなるか、または小さくなり、ロジック値が１または０とされるレベルになると、そのレベルが次の立ち上がりのタイミングまで維持される。
【０３８０】
データdata[1][3]乃至データdata[3][3]のそれぞれは、フリップフロップ４５４−２乃至フリップフロップ４５４−４のそれぞれが、サンプリングクロックClock[2]乃至サンプリングClock[0]が立ち上がるタイミングで、フリップフロップ４５４−１乃至フリップフロップ４５４−３のそれぞれが保持しているロジック値を取得し、取得されたロジック値を１周期だけ保持することで得られる。したがって、データdata[1][3]乃至データdata[3][3]は、データdata[0][3]乃至データdata[2][3]を図中、時間的に後の方向にサンプリングクロックClock[0]の４分の３周期分だけシフトさせたものとなっている。
【０３８１】
このように、サンプリングデータ生成装置４４１においては、各フリップフロップに保持されているデータを後段のフリップフロップが正しく読み取れるように、各フリップフロップが、取得したデータを遅延時間ｔｄより長いサンプリングクロックの１周期ｔｃだけ保持するようにし、必要に応じて前段のフリップフロップとは異なるタイミングで更新されるフリップフロップを用いることで、サンプリングクロックの遅延、つまりサンプリングのタイミングの遅延が相対的に短縮されるようにしたので、入力信号をサンプリングクロックClock[0]の周期よりも短い周期でサンプリングして得られたサンプリングデータを、サンプリングクロックClock[0]に同期して出力することができる。
【０３８２】
なお、サンプリングデータ生成装置４４１内に、図２１に示したサンプリングクロック発生装置４０１が設けられるようにしてもよい。そのような場合、例えば、図２４に示すように、フリップフロップ４５４には、サンプリングクロックを生成する遅延部４１１−１乃至遅延部４１１−３が接続される。なお、図２４において、図２１および図２２における場合と対応する部分には同一の符号を付し、その説明は適宜、省略する。
【０３８３】
図２４では、直列に接続された遅延部４１１−１乃至遅延部４１１−３のそれぞれが、さらにフリップフロップ４５４−３乃至フリップフロップ４５４−１のそれぞれに接続されている。したがって、供給された駆動クロックが、遅延部４１１−１に供給されるとともに、サンプリングクロックClock[0]としてフリップフロップ４５４−４にそのまま供給され、遅延部４１１−１により遅延された駆動クロックが、遅延部４１１−２に供給されるとともに、サンプリングクロックClock[1]としてフリップフロップ４５４−３に供給される。
【０３８４】
また、遅延部４１１−２により遅延された駆動クロックが、遅延部４１１−３に供給されるとともに、サンプリングクロックClock[2]としてフリップフロップ４５４−２に供給され、遅延部４１１−３により遅延された駆動クロックが、サンプリングクロックClock[3]としてフリップフロップ４５４−１に供給される。
【０３８５】
この図２４に示す構成は、３つの遅延部４１１−１乃至遅延部４１１−３が直列に接続されているため、各遅延部の動作の精度がよく、かつ配線による伝播遅延が均一である場合に適した構成となっている。
【０３８６】
また、サンプリングデータ生成装置４４１内に、サンプリングクロック発生装置４０１が設けられる場合に、フリップフロップ４５４に接続される遅延部が、図２４に示したように直列に接続されるのではなく、図２５に示すように並列に配置されるようにしてもよい。なお、図２５において、図２２における場合と対応する部分には、同一の符号を付してあり、その説明は適宜、省略する。
【０３８７】
図２５では、遅延素子などからなる遅延部４８１乃至遅延部４８３のそれぞれが、フリップフロップ４５４−３乃至フリップフロップ４５４−１のそれぞれに接続されており、遅延部４８１乃至遅延部４８３には、駆動クロックが供給される。
【０３８８】
すなわち、供給された駆動クロックは、サンプリングクロックClock[0]としてフリップフロップ４５４−４に供給されるとともに、遅延部４８１乃至遅延部４８３に供給される。遅延部４８１は、供給された駆動クロックを、その駆動クロックの４分の１周期だけ遅延させ、遅延させた駆動クロックを、サンプリングクロックClock[1]としてフリップフロップ４５４−３に供給する。
【０３８９】
遅延部４８２は、供給された駆動クロックを、その駆動クロックの４分の２周期だけ遅延させ、遅延させた駆動クロックを、サンプリングクロックClock[2]としてフリップフロップ４５４−２に供給する。遅延部４８３は、供給された駆動クロックを、その駆動クロックの４分の３周期だけ遅延させ、遅延させた駆動クロックを、サンプリングクロックClock[3]としてフリップフロップ４５４−１に供給する。
【０３９０】
この図２５に示す構成は、３つの遅延部４８１乃至遅延部４８３が並列に配置されているため、フリップフロップ４５４の配置の間隔が不均一であり、各フリップフロップ４５４における配線による伝播遅延が一定とはならない場合に適した構成となっている。このような構成においては、遅延部４８１乃至遅延部４８３において駆動クロックを遅延させる時間を、駆動クロックの周期の４分の１の整数倍にするよりも、各配線による伝播遅延を考慮したときに、サンプリングクロックClock[0]乃至サンプリングクロックClock[3]の遅延の間隔が等間隔となるように設定することが望ましい。
【０３９１】
さらに、サンプリングデータ生成装置４４１内に、サンプリングクロック発生装置４０１が設けられる場合に、駆動クロックの立ち上がりおよび立下りを利用してサンプリングクロックを生成するとこで、フリップフロップに接続される遅延部の数を削減することができる。そのような場合、フリップフロップ４５４には、例えば図２６に示すように、１つの遅延部５１１が接続される。なお、図２６において、図２２における場合と対応する部分には、同一の符号を付してあり、その説明は適宜、省略する。
【０３９２】
図２６では、フリップフロップ４５４−１およびフリップフロップ４５４−２に替えてフリップフロップ５１２−１およびフリップフロップ５１２−２が設けられている。これらのフリップフロップ５１２−１およびフリップフロップ５１２−２は、フリップフロップ４５４−１およびフリップフロップ４５４−２と同様に動作するが、供給されたサンプリングクロックを反転して取得する。
【０３９３】
図２６では、遅延素子などからなる遅延部５１１に駆動クロックが供給される。すなわち、供給された駆動クロックは、サンプリングクロックClock[0]として、フリップフロップ４５４−４に供給されるとともに、供給された駆動クロックが反転され、サンプリングクロックClock[2]としてフリップフロップ５１２−２に供給され、さらに供給された駆動クロックは、遅延部５１１にも供給される。ここで、サンプリングクロックClock[2]は、反転された駆動クロックであるので、サンプリングクロックClock[0]に対して、駆動クロックの４分の２周期だけ遅延している。
【０３９４】
遅延部５１１は、供給された駆動クロックを、その駆動クロックの４分の１周期だけ遅延させて、遅延させた駆動クロックを、サンプリングクロックClock[1]としてフリップフロップ４５４−３に供給するとともに、遅延させた駆動クロックをサンプリングクロックClock[3]としてフリップフロップ５１２−１に供給する。ここで、サンプリングクロックClock[3]は、４分の１周期だけ遅延された駆動クロックが、さらに反転されたものであるので、サンプリングクロックClock[0]に対して、駆動クロックの４分の３周期だけ遅延している。
【０３９５】
フリップフロップ５１２−１は、遅延部５１１から供給された駆動クロックを反転させ、サンプリングクロックClock[3]として取得する。また、フリップフロップ５１２−１は、取得したサンプリングクロックClock[3]が立ち上がるタイミングで、供給された入力信号をサンプリングし、その結果得られたデータを出力する。
【０３９６】
フリップフロップ５１２−２は、供給された駆動クロックを反転させ、サンプリングクロックClock[2]として取得する。また、フリップフロップ５１２−２は、取得したサンプリングクロックClock[2]が立ち上がるタイミングで、フリップフロップ５１２−１から出力されたデータをサンプリングし、その結果得られたデータをフリップフロップ４５４−３に出力する。
【０３９７】
このように、フリップフロップ５１２−１およびフリップフロップ５１２−２が、供給された駆動クロックを反転させて取得することにより、サンプリングデータ生成装置４４１において用いることのできる遅延素子の数や、配線による遅延に関して制約がある場合であっても、１つの遅延部５１１を設けるだけで、位相の異なる４つのサンプリングクロックを生成することができる。つまり、通常、必要とされる半分以下の数の遅延素子で、複数のサンプリングクロックを生成することができる。
【０３９８】
なお、図２６に示す構成においては、駆動クロックを反転させるので、駆動クロックのデューティー比は、ほぼ５０％であることが望ましい。また、PLL回路を利用して、PLL回路での位相のロック位置を制御することにより、駆動クロックを所望する時間だけ遅延させ、サンプリングClock[0]乃至サンプリングClock[3]を生成するようにしてもよい。
【０３９９】
さらに、サンプリングデータ生成装置４４１内に、サンプリングクロック発生装置４０１が設けられる場合、例えば、図２７に示すように、フリップフロップ４５３には、サンプリングクロックを生成する遅延部５４１および遅延部５４２が接続される。なお、図２７において、図２２における場合と対応する部分には同一の符号を付し、その説明は適宜、省略する。
【０４００】
図２７では、遅延素子などからなる２つの遅延部５４１および遅延部５４２が直列に接続されており、遅延部５４１に駆動クロックが供給される。すなわち、駆動クロックは、フリップフロップ４５３−４に、サンプリングクロックClock[0]としてそのまま供給されるとともに、遅延部５４１に供給される。遅延部５４１は、供給された駆動クロックを、その駆動クロックの４分の１周期だけ遅延させて、サンプリングクロックClock[1]としてフリップフロップ４５３−３およびフリップフロップ４５３−２に供給するとともに、駆動クロックを遅延部５４２に供給する。
【０４０１】
遅延部５４２は、遅延部５４１から供給された駆動クロックを、さらに駆動クロックの４分の１周期だけ遅延させて、遅延させた駆動クロックをサンプリングクロックClock[2]としてフリップフロップ４５３−１に供給する。したがって、フリップフロップ４５３−１に供給されるサンプリングクロックClock[2]は、サンプリングクロックClock[0]に対して、駆動クロックの４分の２周期だけ遅延したサンプリングクロックとなる。
【０４０２】
なお、図２７に示す構成においては、図２２における場合と異なり、フリップフロップ４５３−３には、サンプリングクロックClock[0]に対して、４分の１周期だけ遅延したサンプリングクロックClock[1]が供給される。つまり、フリップフロップ４５３−３は、フリップフロップ４５３−２が保持しているデータが更新されて、正しく読み取れるようになってから、最初にサンプリングクロックClock[0]が立ち上がるタイミングではなく、そのタイミングのさらに後のタイミングである、サンプリングクロックClock[1]が立ち上がるタイミングで、フリップフロップ４５３−２が保持しているデータをサンプリングする。
【０４０３】
フリップフロップ４５３−３は、サンプリングクロックClock[1]に同期して、フリップフロップ４５３−２から出力されるデータをサンプリングするので、フリップフロップ４５３−３から出力されるデータは、サンプリングクロックClock[0]に同期したデータとはならない。しかしながら、さらにその後段のフリップフロップ４５３−４が、サンプリングクロックClock[0]に同期してフリップフロップ４５３−３から出力されるデータをサンプリングするので、結局、フリップフロップ４５３−４からは、サンプリングクロックClock[0]に同期したデータが出力される。
【０４０４】
このように、サンプリングデータ生成装置４４１においては、サンプリングクロックClock[0]とは位相の異なる他のサンプリングクロックでサンプリングして得られたデータを、サンプリングクロックClock[0]に同期させて出力することができればよいので、各フリップフロップは、必ずしも前段のフリップフロップの保持しているデータが正しく読み取れるようになってから、複数のサンプリングクロックのそれぞれが立ち上がるタイミングのそれぞれのうち、時間的に最も早いタイミングでサンプリングを行う必要はない。
【０４０５】
但し、サンプリングクロックClock[0]に対して大きく遅延しているサンプリングクロックが用いられてサンプリングが行われる場合には、短い時間で、サンプリングクロックClock[0]に対する遅延分を取り戻すため、前段のフリップフロップの保持しているデータが正しく読み取れるようになってから、最初にサンプリングクロックが立ち上がるタイミングでサンプリングが行われるようにすることが望ましい。つまり、データのセトリングの後、最初に立ち上がるサンプリングクロックに同期してサンプリングが行われることが望ましい。
【０４０６】
さらに、入力信号をサンプリングするサンプリングデータ生成装置の後段において、ｎ段のパイプライン処理が行われる場合には、サンプリングデータ生成装置は、入力信号をサンプリングすることにより得られたサンプリングデータを、駆動クロックの周期ｔｃよりも長い時間、例えば、その周期の整数倍の時間ｔｃ×ｎ（但し、ｎは整数）だけ保持してから出力することもできる。
【０４０７】
例えば、後段において２段のパイプライン処理が行われる場合、サンプリングクロック発生装置およびサンプリングデータ生成装置は、例えば、図２８および図２９に示すように構成される。
【０４０８】
図２８は、サンプリングクロック発生装置の構成例を示す図である。
【０４０９】
サンプリングクロック発生装置５７１は、分周部５８１、および遅延部５８２乃至遅延部５８４から構成され、分周部５８１に駆動クロックが供給される。
【０４１０】
分周部５８１は、例えば、２分の１分周器などからなり、供給された駆動クロックを分周することにより、駆動クロックの２倍の周期のサンプリングクロックClock[0]を生成する。分周部５８１は、生成したサンプリングクロックClock[0]をサンプリングデータ生成装置に出力するとともに、遅延部５８２に供給する。
【０４１１】
遅延部５８２は、分周部５８１から供給されたサンプリングクロックを、駆動クロックの２分の１周期だけ遅延させて、遅延させたサンプリングクロックを、サンプリングクロックClock[1]としてサンプリングデータ生成装置に出力するとともに、遅延部５８３に供給する。したがって、サンプリングクロックClock[1]は、サンプリングクロックClock[0]が、駆動クロックの２分の１周期だけ遅延されたものとなる。
【０４１２】
遅延部５８３は、遅延部５８２から供給されたサンプリングクロックを、駆動クロックの２分の１周期だけ遅延させて、遅延させたサンプリングクロックを、サンプリングクロックClock[2]としてサンプリングデータ生成装置に出力するとともに、遅延部５８４に供給する。したがって、サンプリングクロックClock[2]は、サンプリングクロックClock[0]が、駆動クロックの１周期だけ遅延されたものとなる。
【０４１３】
遅延部５８４は、遅延部５８３から供給されたサンプリングクロックを、駆動クロックの２分の１周期だけ遅延させて、遅延させたサンプリングクロックを、サンプリングクロックClock[3]としてサンプリングデータ生成装置に出力する。したがって、サンプリングクロックClock[3]は、サンプリングクロックClock[0]が、駆動クロックの２分の３周期だけ遅延されたものとなる。
【０４１４】
したがって、サンプリングクロック発生装置５７１からは、その周期が駆動クロックの周期の２倍であり、駆動クロックの２分の１周期ずつ位相がずれた４つのサンプリングクロックが出力され、図２９に示すサンプリングデータ生成装置６１１に供給される。
【０４１５】
図２９に示すサンプリングデータ生成装置６１１は、フリップフロップ６２１−１乃至フリップフロップ６２４−４から構成される。このサンプリングデータ生成装置６１１およびサンプリングクロック発生装置５７１は、駆動クロックの周期ｔｃが、サンプリングデータ生成装置６１１における配線による遅延などを含むデータのセトリングまでの遅延時間、つまりデータを読み取れるようになるまでの遅延時間ｔｄよりも短い場合に、サンプリングクロックを用いてサンプリングデータを生成するのに適している。
【０４１６】
ここで、フリップフロップ６２１−１乃至フリップフロップ６２４−４のそれぞれは、供給されたサンプリングクロックが立ち上がるタイミングでデータを取得するようになされており、遅延時間ｔｄが駆動クロックの周期ｔｃの２分の３以下となるようになされている。また、各サンプリングクロックの間隔は、駆動クロックの２分の１周期以下、かつサンプリングクロックの４分の１周期以下となるようになされている。
【０４１７】
なお、フリップフロップ６２１−１乃至フリップフロップ６２４−４のそれぞれは、図２２のフリップフロップ４５１−１乃至フリップフロップ４５４−４のそれぞれと同様であるので、その説明は省略する。すなわち、これらのフリップフロップは、入力されたデータ（入力信号またはデータ）を、供給されたサンプリングクロックが立ち上がるタイミングでサンプリングし、その結果得られたデータをサンプリングクロックの１周期分の時間だけ保持した後、出力する。
【０４１８】
また、図２２においては、各フリップフロップに供給されるサンプリングクロックの周期は、駆動クロックの周期と同じであったが、図２９に示すフリップフロップ６２１−１乃至フリップフロップ６２４−４のそれぞれに供給されるサンプリングクロックの周期は、駆動クロックの周期の２倍とされている。
【０４１９】
なお、以下、フリップフロップ６２１−１乃至フリップフロップ６２１−４のそれぞれを特に区別する必要のない場合、単にフリップフロップ６２１と称し、フリップフロップ６２２−１乃至フリップフロップ６２２−４のそれぞれを特に区別する必要のない場合、単にフリップフロップ６２２と称する。また、以下、フリップフロップ６２３−１乃至フリップフロップ６２３−４のそれぞれを特に区別する必要のない場合、単にフリップフロップ６２３と称し、フリップフロップ６２４−１乃至フリップフロップ６２４−４のそれぞれを特に区別する必要のない場合、単にフリップフロップ６２４と称する。
【０４２０】
このように、サンプリングデータ生成装置６１１からは、入力信号がサンプリングクロックClock[0]乃至サンプリングクロックClock[3]のそれぞれに同期してサンプリングされて得られた、サンプリングクロックClock[0]、つまり駆動クロックに同期したデータdata[3][0]乃至データdata[3][3]のそれぞれが出力される。換言すれば、サンプリングデータ生成装置６１１からは、入力信号を、駆動クロックの２分の１周期、つまり（１／２）ｔｃの時間間隔でサンプリングして得られたサンプリングデータが出力される。
【０４２１】
なお、フリップフロップ６２１−１乃至フリップフロップ６２４−４のそれぞれから出力されるデータdata[3][0]乃至データdata[3][3]のそれぞれは、１ビットのロジックデータとされてもよいし、２ビット以上のデータとされてもよい。
【０４２２】
ここで、サンプリングにより得られる各サンプリングデータを、駆動クロック（サンプリングクロックClock[0]）に同期したデータとするためには、所定のサンプリングクロックが立ち上がるタイミングで、フリップフロップによりサンプリングされて保持されているデータが正しく読み取れるレベルとなってから、そのデータが次に更新されるまでの間に、そのフリップフロップにより保持さているデータを、他の位相の異なるサンプリングクロックが立ち上がるタイミングで後段のフリップフロップが取得する必要がある。したがって、入力信号のサンプリングの周期は、駆動クロックの周期ｔｃの２倍の時間と遅延時間ｔｄとの差（２ｔｃ−ｔｄ）以下の時間とされる。
【０４２３】
また、フリップフロップ６２１乃至フリップフロップ６２４は、各サンプリングクロックに同期してサンプリングすることで得られたデータを、サンプリングクロックClock[0]に同期させるので、サンプリングデータ生成装置６１１は、フリップフロップ６２１乃至フリップフロップ６２４のそれぞれからなる４つのシフトレジスタから構成されるということができる。
【０４２４】
さらに、入力信号をデジタル変調信号として、サンプリングデータ生成装置６１１から出力されるサンプリングデータが用いられて、デジタル変調信号の検波が行われるようにしてもよい。そのような場合、サンプリングデータ生成装置６１１から出力されるサンプリングデータが用いられて、検波データ生成部２５および位相比較データ生成部２８により、検波データおよび位相比較データが生成される。
【０４２５】
さらに、また、サンプリングクロック発生装置５７１がサンプリングデータ生成装置６１１に設けられるようにし、例えば、フリップフロップ６２４が図２４乃至図２６の何れかと同様の構成とされてもよいし、フリップフロップ６２３が図２７に示した構成と同様の構成とされるようにしてもよい。
【０４２６】
さらに、例えば、図３０に示す入力信号がサンプリングデータ生成装置６１１に供給されると、各フリップフロップは、供給されたサンプリングクロックが立ち上がるタイミングで、供給された入力信号または前段のフリップフロップに保持されているデータをサンプリングする。
【０４２７】
なお、図３０において、横方向は時間を示しており、縦方向は、各信号のレベル、（ロジック値またはデータ値）を示している。以下においては、各信号において、最も大きいレベルである状態のときに、その信号のロジック値が１とされ、各信号において、最も小さいレベルである状態のときに、そのロジック値が０とされるとして説明を続ける。また、図３０では、入力信号、サンプリングクロックClock[0]乃至サンプリングクロックClock[3]、およびデータdata[0][0]乃至データdata[3][3]の波形が示されている。
【０４２８】
入力信号は、駆動クロックよりも、その周期が長い信号とされている。駆動クロックは、その周期ｔｃが、入力信号の周期よりも短い周期波とされている。また、サンプリングクロックClock[0]乃至サンプリングクロックClock[3]のそれぞれは、その周期が駆動クロックの周期ｔｃの２倍である周期波とされており、サンプリングクロックClock[1]乃至サンプリングクロックClock[3]のそれぞれは、サンプリングクロックClock[0]を、駆動クロックの周期ｔｃの２分の１乃至２分の３の時間だけ遅延させたものとされている。
【０４２９】
ここで、各サンプリングクロックの図中、上向きの矢印は、それらのサンプリングクロックが立ち上がるタイミングを表している。したがって、入力信号がサンプリングされるサンプリング周期ｔｓは、駆動クロックの２分の１周期の時間とされる。
【０４３０】
また、データdata[0][0]は、入力信号をサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングして得られるデータである。図３０では、サンプリングクロックClock[0]に同期させて入力信号のサンプリングを行うと、サンプリングの結果として、ロジック値１と、ロジック値０とが交互に得られる。
【０４３１】
フリップフロップ６２１−１は、サンプリングにより得られたロジック値をサンプリングクロックの１周期だけ保持するので、データdata[0][0]のレベルは、サンプリングクロックClock[0]の立ち上がりのタイミングの後、徐々に大きくなるか、または小さくなり、ロジック値が１または０とされるレベルになると、そのレベルが次の立ち上がりのタイミングまで維持される。ここで、データdata[0][0]のレベルが変化し始めてから、ロジック値が１または０とされるレベルになるまでの時間が、セトリングによる遅延時間ｔｄとされる。
【０４３２】
データdata[1][0]乃至データdata[3][0]のそれぞれは、フリップフロップ６２１−２乃至フリップフロップ６２１−４のそれぞれが、サンプリングクロックClock[0]が立ち上がるタイミングで、フリップフロップ６２１−１乃至フリップフロップ６２１−３のそれぞれが保持しているロジック値を取得し、取得されたロジック値をサンプリングクロックの１周期だけ保持することで得られる。したがって、データdata[1][0]乃至データdata[3][0]のそれぞれは、データdata[0][0]乃至データdata[2][0]のそれぞれを、図中、右方向、つまり時間的に後の方向に、サンプリングクロックClock[0]の１周期分だけシフトさせたものとなっている。
【０４３３】
また、データdata[0][1]は、入力信号をサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングして得られるデータである。フリップフロップ６２２−１は、サンプリングにより得られたロジック値をサンプリングクロックの１周期だけ保持するので、データdata[0][1]のレベルは、サンプリングクロックClock[1]の立ち上がりのタイミングの後、徐々に大きくなるか、または小さくなり、ロジック値が１または０とされるレベルになると、そのレベルが次の立ち上がりのタイミングまで維持される。
【０４３４】
データdata[1][1]乃至データdata[3][1]のそれぞれは、フリップフロップ６２２−２乃至フリップフロップ６２２−４のそれぞれが、サンプリングクロックClock[0]が立ち上がるタイミングで、フリップフロップ６２２−１乃至フリップフロップ６２２−３のそれぞれが保持しているロジック値を取得し、取得されたロジック値をサンプリングクロックの１周期だけ保持することで得られる。したがって、データdata[1][1]は、データdata[0][0]を図中、時間的に後の方向にサンプリングクロックClock[0]の４分の３周期分だけシフトさせたものとなっており、データdata[2][1]およびデータdata[3][1]は、データdata[1][1]およびデータdata[2][1]を、時間的に後の方向にサンプリングクロックClock[0]の１周期分だけシフトさせたものとなっている。
【０４３５】
さらに、データdata[0][2]は、入力信号をサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングして得られるデータである。フリップフロップ６２３−１は、サンプリングにより得られたロジック値をサンプリングクロックの１周期だけ保持するので、データdata[0][2]のレベルは、サンプリングクロックClock[2]の立ち上がりのタイミングの後、徐々に大きくなるか、または小さくなり、ロジック値が１または０とされるレベルになると、そのレベルが次の立ち上がりのタイミングまで維持される。
【０４３６】
データdata[1][2]乃至データdata[3][2]のそれぞれは、フリップフロップ６２３−２乃至フリップフロップ６２３−４のそれぞれが、サンプリングクロックClock[1]、サンプリングClock[0]、およびサンプリングClock[0]が立ち上がるタイミングで、フリップフロップ６２３−１乃至フリップフロップ６２３−３のそれぞれが保持しているロジック値を取得し、取得されたロジック値をサンプリングクロックの１周期だけ保持することで得られる。したがって、データdata[1][2]およびデータdata[2][2]は、データdata[0][2]およびデータdata[1][2]を図中、時間的に後の方向にサンプリングクロックClock[0]の４分の３周期分だけシフトさせたものとなっており、データdata[3][2]は、データdata[2][2]を、時間的に後の方向にサンプリングクロックClock[0]の１周期分だけシフトさせたものとなっている。
【０４３７】
さらに、また、データdata[0][3]は、入力信号をサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングして得られるデータである。フリップフロップ６２４−１は、サンプリングにより得られたロジック値をサンプリングクロックの１周期だけ保持するので、データdata[0][3]のレベルは、サンプリングクロックClock[3]の立ち上がりのタイミングの後、徐々に大きくなるか、または小さくなり、ロジック値が１または０とされるレベルになると、そのレベルが次の立ち上がりのタイミングまで維持される。
【０４３８】
データdata[1][3]乃至データdata[3][3]のそれぞれは、フリップフロップ６２４−２乃至フリップフロップ６２４−４のそれぞれが、サンプリングクロックClock[2]乃至サンプリングClock[0]が立ち上がるタイミングで、フリップフロップ６２４−１乃至フリップフロップ６２４−３のそれぞれが保持しているロジック値を取得し、取得されたロジック値をサンプリングクロックの１周期だけ保持することで得られる。したがって、データdata[1][3]乃至データdata[3][3]は、データdata[0][3]乃至データdata[2][3]を図中、時間的に後の方向にサンプリングクロックClock[0]の４分の３周期分だけシフトさせたものとなっている。
【０４３９】
このように、サンプリングデータ生成装置６１１においては、各フリップフロップに保持されているデータを後段のフリップフロップが正しく読み取れるように、各フリップフロップが、取得したデータを遅延時間ｔｄより長いサンプリングクロックの１周期だけ保持するようにし、必要に応じて前段のフリップフロップとは異なるタイミングで更新されるフリップフロップを用いることで、サンプリングクロックの遅延、つまりサンプリングのタイミングの遅延が相対的に短縮されるようにしたので、入力信号を駆動クロックの周期よりも短い周期でサンプリングして得られたサンプリングデータを、サンプリングクロックClock[0]（駆動クロック）に同期して出力することができる。
【０４４０】
すなわち、位相の異なるサンプリングクロックでサンプリングして得られたデータdata[0][0]乃至データdata[0][3]のそれぞれから、駆動クロックに同期したデータdata[3][0]乃至データdata[3][3]のそれぞれを得ることができる。
【０４４１】
なお、サンプリングデータ生成装置６１１においては、駆動クロックの半分の周期で入力信号がサンプリングされるため、サンプリングにより得られたサンプリングデータとして、駆動クロックの１周期の間に２つのデータが得られる。また、実際には、サンプリングデータ生成装置６１１からは、サンプリングクロックClock[0]が立ち上がるタイミングで４つのデータdata[3][0]乃至データdata[3][3]が出力されるが、２つのデータが重複して不要なデータとなる。そこで、サンプリングデータ生成装置６１１から出力されたデータdata[3][0]乃至データdata[3][3]のうち、例えば、上位２ビット（例えばデータdata[3][0]およびデータdata[3][1]）、または下位２ビット（例えばデータdata[3][2]およびデータdata[3][3]）だけが後段の処理において用いられるようにしてもよい。
【０４４２】
また、サンプリングデータ生成装置６１１のフリップフロップのセトリングよりも、さらに高速でセトリングさせることのできるロジックセルを用いることができる場合、そのロジックセルをカウンタとして利用することができる。そのような場合、サンプリングクロックごとにカウンタが設けられ、駆動クロックの立ち上がるタイミングでカウンタが保持しているロジック値が反転される。そして、そのカウンタの保持しているロジック値に応じて、どのサンプリングクロックのサンプリングデータを出力するかが選択される。
【０４４３】
なお、サンプリングデータ生成装置４４１およびサンプリングデータ生成装置６１１においては、入力信号を、それぞれ駆動クロックの４倍および２倍の周期でサンプリングする構成とされているが、任意の倍数でサンプリングするようにしてもよい。
【０４４４】
例えば、入力信号をサンプリングすることのできるサンプリング周期は、サンプリングデータ生成装置の後段のバスの数や、サンプリングクロックを生成する遅延部における遅延時間、つまりサンプリングクロック同士の時間間隔により定まる。
【０４４５】
例えば、サンプリングデータを出力することのできる後段のバスの数がＮであれば、駆動クロックの周期のＮ倍の周期でサンプリングを行うことができる。また、サンプリングクロック同士の位相のずれの間隔の上限、すなわち最も短い間隔がｔｍであれば、駆動クロックの周期のＭ＝［ｔｃ／ｔｍ］倍の周期でサンプリングを行うことができる。ここで、ｔｃは、サンプリングクロックの周期を示しており、［ｔｃ／ｔｍ］は、ｔｃ／ｔｍの整数部を示している。
【０４４６】
したがって、駆動クロックの周期のｋ＝ＭＩＮ（Ｎ，Ｍ）倍の周期で入力信号をサンプリングすることができる。ここで、ＭＩＮ（Ｎ，Ｍ）は、ＮおよびＭのうちの小さい方を示している。このように、サンプリングデータ生成装置では、出力するサンプリングデータのバスの数（ビット数）、およびサンプリングクロック同士の時間間隔に制約がなければ、データがセトリングするまでの時間やサンプリングデータ生成装置内において実現可能な駆動クロックの周期よりもいくらでも短い周期で入力信号のサンプリングを行うことができる。
【０４４７】
また、サンプリングクロック発生装置４０１およびサンプリングデータ生成装置４４１や、サンプリングクロック発生装置５７１およびサンプリングデータ生成装置６１１を、サンプリングホールド回路に応用することで、高速なサンプルホールドを可能にしたり、アナログデジタル変換回路に用いることで、より高速なアナログデジタル変換を実現したりすることができる。また、それらのサンプリングホールド回路やアナログデジタル変換回路を、信号検波回路や信号検出回路に用いることで、より高速に信号を受信する受信装置を実現することができる。
【０４４８】
さらに、上述したサンプリングクロック発生部２２の遅延部９１乃至遅延部９３や、サンプリングクロック発生装置４０１の遅延部４１１−１乃至遅延部４１１−３、サンプリングクロック発生装置５７１の遅延部５８２乃至遅延部５８４などは、例えば、図３１に示す構成とすることができる。
【０４４９】
図３１は、駆動クロックを遅延させるプログラマブルな遅延部の構成例を示す図である。
【０４５０】
遅延部６５１は、バッファ６６１−１乃至バッファ６６１−７、ノード６６２−１乃至ノード６６２−８、スイッチ６６３−１乃至スイッチ６６３−４、スイッチ６６４−１、スイッチ６６４−２、およびスイッチ６６５から構成される。
【０４５１】
遅延部６５１では、７つのバッファ６６１−１乃至バッファ６６１−７が直列に接続されており、バッファ６６１−１乃至バッファ６６１−７のそれぞれの入力側には、ノード６６２−１乃至ノード６６２−７のそれぞれが接続されている。また、バッファ６６１−７の出力側にはノード６６２−８が接続されている。
【０４５２】
遅延部６５１のバッファ６６１−１およびノード６６２−１には、駆動クロックが供給される。バッファ６６１−１乃至バッファ６６１−７のそれぞれは、供給された駆動クロックを、予め定められた所定の時間だけ保持してから出力する。例えば、バッファ６６１−１乃至バッファ６６１−７のそれぞれは、供給された駆動クロックを、駆動クロックの８分の１周期だけ遅延させて出力する。
【０４５３】
スイッチ６６３−１は、図示せぬセレクタから供給されたセレクト信号select[0]に基づいて、ノード６６２−１またはノード６６２−２に接続する。すなわち、スイッチ６６３−１は、接続をノード６６２−１またはノード６６２−２に切り替える。
【０４５４】
スイッチ６６３−２は、セレクタから供給されたセレクト信号select[0]に基づいて、ノード６６２−３またはノード６６２−４に接続する。スイッチ６６３−３は、セレクタから供給されたセレクト信号select[0]に基づいて、ノード６６２−５またはノード６６２−６に接続する。スイッチ６６３−４は、セレクタから供給されたセレクト信号select[0]に基づいて、ノード６６２−７またはノード６６２−８に接続する。
【０４５５】
スイッチ６６４−１は、図示せぬセレクタから供給されたセレクト信号select[1]に基づいて、スイッチ６６３−１またはスイッチ６６３−２に接続する。すなわち、スイッチ６６４−１は、接続をスイッチ６６３−１またはスイッチ６６３−２に切り替える。スイッチ６６４−２は、セレクタから供給されたセレクト信号select[1]に基づいて、スイッチ６６３−３またはスイッチ６６３−４に接続する。また、スイッチ６６５は、図示せぬセレクタから供給されたセレクト信号select[2]に基づいて、スイッチ６６４−１またはスイッチ６６４−２に接続する。
【０４５６】
例えば、セレクト信号select[0]により、ノード６６２−１への接続が指示され、セレクト信号select[1]により、スイッチ６６３−１への接続が指示され、セレクト信号select[2]により、スイッチ６６４−１への接続が指示された場合、スイッチ６６３−１は、ノード６６２−１に接続し、スイッチ６６４−１は、スイッチ６６３−１に接続し、スイッチ６６５は、スイッチ６６４−１に接続する。これにより、遅延部６５１に供給された駆動クロックは、ノード６６２−１、スイッチ６６３−１、スイッチ６６４−１、およびスイッチ６６５を介して、遅延部６５１からそのまま出力される。
【０４５７】
また、例えば、セレクト信号select[0]により、ノード６６２−２への接続が指示され、セレクト信号select[1]により、スイッチ６６３−１への接続が指示され、セレクト信号select[2]により、スイッチ６６４−１への接続が指示された場合、スイッチ６６３−１は、ノード６６２−２に接続し、スイッチ６６４−１は、スイッチ６６３−１に接続し、スイッチ６６５は、スイッチ６６４−１に接続する。これにより、遅延部６５１に供給された駆動クロックは、バッファ６６１−１において駆動クロックの８分の１周期だけ遅延された後、ノード６６２−２、スイッチ６６３−１、スイッチ６６４−１、およびスイッチ６６５を介して、遅延部６５１から出力される。つまり、出力される駆動クロックは、もとの駆動クロックが、８分の１周期だけ遅延されたものとなる。
【０４５８】
さらに、例えば、セレクト信号select[0]により、ノード６６２−３への接続が指示され、セレクト信号select[1]により、スイッチ６６３−２への接続が指示され、セレクト信号select[2]により、スイッチ６６４−１への接続が指示された場合、スイッチ６６３−２は、ノード６６２−３に接続し、スイッチ６６４−１は、スイッチ６６３−２に接続し、スイッチ６６５は、スイッチ６６４−１に接続する。これにより、遅延部６５１に供給された駆動クロックは、バッファ６６１−１およびバッファ６６１−２のそれぞれにおいて、駆動クロックの８分の１周期ずつ遅延された後、ノード６６２−３、スイッチ６６３−２、スイッチ６６４−１、およびスイッチ６６５を介して、遅延部６５１から出力される。つまり、出力される駆動クロックは、もとの駆動クロックが、８分の２周期だけ遅延されたものとなる。
【０４５９】
さらに、例えば、セレクト信号select[0]により、ノード６６２−４への接続が指示され、セレクト信号select[1]により、スイッチ６６３−２への接続が指示され、セレクト信号select[2]により、スイッチ６６４−１への接続が指示された場合、スイッチ６６３−２は、ノード６６２−４に接続し、スイッチ６６４−１は、スイッチ６６３−２に接続し、スイッチ６６５は、スイッチ６６４−１に接続する。これにより、遅延部６５１に供給された駆動クロックは、バッファ６６１−１乃至バッファ６６１−３のそれぞれにおいて、駆動クロックの８分の１周期ずつ遅延された後、ノード６６２−４、スイッチ６６３−２、スイッチ６６４−１、およびスイッチ６６５を介して、遅延部６５１から出力される。つまり、出力される駆動クロックは、もとの駆動クロックが、８分の３周期だけ遅延されたものとなる。
【０４６０】
さらに、また、例えば、セレクト信号select[0]により、ノード６６２−５への接続が指示され、セレクト信号select[1]により、スイッチ６６３−３への接続が指示され、セレクト信号select[2]により、スイッチ６６４−２への接続が指示された場合、スイッチ６６３−３は、ノード６６２−５に接続し、スイッチ６６４−２は、スイッチ６６３−３に接続し、スイッチ６６５は、スイッチ６６４−２に接続する。これにより、遅延部６５１に供給された駆動クロックは、バッファ６６１−１乃至バッファ６６１−４のそれぞれにおいて、駆動クロックの８分の１周期ずつ遅延された後、ノード６６２−５、スイッチ６６３−３、スイッチ６６４−２、およびスイッチ６６５を介して、遅延部６５１から出力される。つまり、出力される駆動クロックは、もとの駆動クロックが、８分の４周期だけ遅延されたものとなる。
【０４６１】
さらに、また、例えば、セレクト信号select[0]により、ノード６６２−６への接続が指示され、セレクト信号select[1]により、スイッチ６６３−３への接続が指示され、セレクト信号select[2]により、スイッチ６６４−２への接続が指示された場合、スイッチ６６３−３は、ノード６６２−６に接続し、スイッチ６６４−２は、スイッチ６６３−３に接続し、スイッチ６６５は、スイッチ６６４−２に接続する。これにより、遅延部６５１に供給された駆動クロックは、バッファ６６１−１乃至バッファ６６１−５のそれぞれにおいて、駆動クロックの８分の１周期ずつ遅延された後、ノード６６２−６、スイッチ６６３−３、スイッチ６６４−２、およびスイッチ６６５を介して、遅延部６５１から出力される。つまり、出力される駆動クロックは、もとの駆動クロックが、８分の５周期だけ遅延されたものとなる。
【０４６２】
さらに、また、例えば、セレクト信号select[0]により、ノード６６２−７への接続が指示され、セレクト信号select[1]により、スイッチ６６３−４への接続が指示され、セレクト信号select[2]により、スイッチ６６４−２への接続が指示された場合、スイッチ６６３−４は、ノード６６２−７に接続し、スイッチ６６４−２は、スイッチ６６３−４に接続し、スイッチ６６５は、スイッチ６６４−２に接続する。これにより、遅延部６５１に供給された駆動クロックは、バッファ６６１−１乃至バッファ６６１−６のそれぞれにおいて、駆動クロックの８分の１周期ずつ遅延された後、ノード６６２−７、スイッチ６６３−４、スイッチ６６４−２、およびスイッチ６６５を介して、遅延部６５１から出力される。つまり、出力される駆動クロックは、もとの駆動クロックが、８分の６周期だけ遅延されたものとなる。
【０４６３】
さらに、また、例えば、セレクト信号select[0]により、ノード６６２−８への接続が指示され、セレクト信号select[1]により、スイッチ６６３−４への接続が指示され、セレクト信号select[2]により、スイッチ６６４−２への接続が指示された場合、スイッチ６６３−４は、ノード６６２−８に接続し、スイッチ６６４−２は、スイッチ６６３−４に接続し、スイッチ６６５は、スイッチ６６４−２に接続する。これにより、遅延部６５１に供給された駆動クロックは、バッファ６６１−１乃至バッファ６６１−７のそれぞれにおいて、駆動クロックの８分の１周期ずつ遅延された後、ノード６６２−８、スイッチ６６３−４、スイッチ６６４−２、およびスイッチ６６５を介して、遅延部６５１から出力される。つまり、出力される駆動クロックは、もとの駆動クロックが、８分の７周期だけ遅延されたものとなる。
【０４６４】
このように、遅延部６５１においては、セレクタからのセレクト信号に応じて、各スイッチの接続を切り替えることで、供給された駆動クロックを所定の時間だけ遅延させて出力することができる。
【０４６５】
遅延部６５１においては、遅延部６５１から出力される駆動クロックが予め定められた時間だけ遅延されるように、バッファ６６１−１乃至バッファ６６１−７のそれぞれにおいて駆動クロックを遅延させる時間を、遅延部６５１の配線による伝播遅延も考慮して、できるだけ正確に定めることが望ましい。
【０４６６】
また、このような遅延部６５１が、例えば図３の遅延部９１、遅延部９２、遅延部９３などとして用いられる場合には、遅延部６５１から出力された駆動クロックがサンプリングクロックとして、後段のサンプリングデータ生成部２３を構成するフリップフロップに供給される。そのような場合、配線の伝播遅延により、サンプリングクロック発生部２２からサンプリングデータ生成部２３に供給される複数のサンプリングクロックの時間間隔に、ばらつきが生じる可能性がある。そこで、サンプリングデータ生成部２３に供給されるサンプリングクロックの時間間隔ができるだけ等間隔になるように、サンプリングクロック発生部２２とサンプリングデータ生成部２３とを接続する配線が決められるようにするとよい。
【０４６７】
なお、以上においては、検波装置１１が、ASK方式、PSK方式などのデジタル変調方式で変調されたデジタル変調信号の検波を行って、元のベースバンドデータを得ると説明したが、より詳細には、デジタル変調信号が、ASK方式やPSK方式など、どのデジタル変調方式で変調された信号であるかによって、検波データやエラーデータを生成するときにサンプリングデータに乗算される重みが、適宜変更される。
【０４６８】
また、デジタル変調信号に限らず、データの系列を表現する信号であればよく、その他、ベースバンドの帯域の一般のデジタル信号、例えば、マンチェスタ符号化された信号を、複数のサンプリングクロックでサンプリングし、元の信号を得るようにしてもよい。
【０４６９】
つまり、所定の符号化方式やデジタル変調方式などで、周期波（キャリア）を変調して得られる信号を、駆動クロックと同じ周期であり、位相の異なる複数のサンプリングクロックでサンプリングする。そして、その結果得られたサンプリングデータを用いて、サンプリングクロックごとに、そのサンプリングクロックでのサンプリングにより得られる元の信号と、位相のずれを示す位相比較データとを生成し、それらの元の信号と位相比較データとから、尤もらしい元の信号を選択する。
【０４７０】
例えば、キャリアの周期とデータの周期が一致しているBPSK信号を検波する検波装置１１を構成した場合、BPSK信号をロジック判定して得られるビット系列は、このデータの周期と同一のデータの周期を持つマンチェスタ符号と等価な信号となるため、BPSK信号を検波する検波装置１１は、マンチェスタ符号の復号装置となる。さらに、検波装置１１によれば、一般的なデジタル信号をデータの周期よりも短い間隔でサンプリングすることにより、元のデータを得ることができる。
【０４７１】
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０４７２】
図３２は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０４７３】
コンピュータにおいて、CPU（Central Processing Unit）８０１，ROM（Read Only Memory）８０２，RAM（Random Access Memory）８０３は、バス８０４により相互に接続されている。
【０４７４】
バス８０４には、さらに、入出力インターフェース８０５が接続されている。入出力インターフェース８０５には、キーボード、マウス、マイクロホンなどよりなる入力部８０６、ディスプレイ、スピーカなどよりなる出力部８０７、ハードディスクや不揮発性のメモリなどよりなる記録部８０８、ネットワークインターフェースなどよりなる通信部８０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア８１１を駆動するドライブ８１０が接続されている。
【０４７５】
以上のように構成されるコンピュータでは、CPU８０１が、例えば、記録部８０８に記録されているプログラムを、入出力インターフェース８０５及びバス８０４を介して、RAM８０３にロードして実行することにより、上述した一連の処理が行われる。
【０４７６】
コンピュータ（CPU８０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア８１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０４７７】
そして、プログラムは、リムーバブルメディア８１１をドライブ８１０に装着することにより、入出力インターフェース８０５を介して、記録部８０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部８０９で受信し、記録部８０８にインストールすることができる。その他、プログラムは、ROM８０２や記録部８０８に、あらかじめインストールしておくことができる。
【０４７８】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０４７９】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０４８０】
【図１】本発明を適用した検波装置の一実施の形態の構成例を示すブロック図である。
【図２】レベル変換部の構成例を示す図である。
【図３】サンプリングクロック発生部の構成例を示す図である。
【図４】サンプリングデータ生成部の構成例を示す図である。
【図５】サンプリングデータ生成部の構成例を示す図である。
【図６】検波データ生成部の構成例を示す図である。
【図７】検波データ生成部の構成例を示す図である。
【図８】初期位相決定部の構成例を示す図である。
【図９】パタン検出部の構成例を示す図である。
【図１０】位相エンコーダが保持しているテーブルの例を示す図である。
【図１１】検波データ決定部の構成例を示す図である。
【図１２】位相比較データ生成部の構成例を示す図である。
【図１３】位相比較データ決定部の構成例を示す図である。
【図１４】サンプリングクロック決定部の構成例を示す図である。
【図１５】検波処理を説明するフローチャートである。
【図１６】サンプリングデータ生成処理を説明するフローチャートである。
【図１７】フリップフロップによるサンプリングのタイミングを説明する図である。
【図１８】検波データ生成処理を説明するフローチャートである。
【図１９】初期位相決定処理を説明するフローチャートである。
【図２０】位相比較データ生成処理を説明するフローチャートである。
【図２１】サンプリングクロック発生装置の構成例を示す図である。
【図２２】サンプリングデータ生成装置の構成例を示す図である。
【図２３】サンプリングデータ生成装置がデータをサンプリングするタイミングを説明する図である。
【図２４】遅延部のフリップフロップへの接続例を示す図である。
【図２５】遅延部のフリップフロップへの接続例を示す図である。
【図２６】遅延部のフリップフロップへの接続例を示す図である。
【図２７】遅延部のフリップフロップへの接続例を示す図である。
【図２８】サンプリングクロック発生装置の構成例を示す図である。
【図２９】サンプリングデータ生成装置の構成例を示す図である。
【図３０】サンプリングデータ生成装置がデータをサンプリングするタイミングを説明する図である。
【図３１】遅延部の構成例を示す図である。
【図３２】パーソナルコンピュータの構成例を示す図である。
【符号の説明】
【０４８１】
１１  検波装置，  ２２  サンプリングクロック発生部，  ２３  サンプリングデータ生成部，  ２５  検波データ生成部，  ２６  初期位相決定部，  ２７  検波データ決定部，  ２８  位相比較データ生成部，  ２９  位相比較データ決定部，  ３０  サンプリングクロック決定部，  ９１  遅延部，  ９２  遅延部，  ９３  遅延部，  ９４  インバータ，  ９５  インバータ，  ９６  インバータ，  ９７  インバータ，  １２１−１乃至１２１−４，１２１  フリップフロップ，  １２２−１乃至１２２−４，１２２  フリップフロップ，  １２３−１乃至１２３−４，１２３  フリップフロップ，  １２４−１乃至１２４−４，１２４  フリップフロップ，  １２５−１乃至１２５−４，１２５  フリップフロップ，  １２６−１乃至１２６−４，１２６  フリップフロップ，  １２７−１乃至１２７−４，１２７  フリップフロップ，  １２８−１乃至１２８−４，１２８  フリップフロップ，  １５２−１乃至１５２−１２，１５２  レジスタ，  １５３−１乃至１５３−８，１５３  レジスタ，  １５４−１乃至１５４−８，１５４  レジスタ，  １８１−１乃至１８１−４，１８１  パタン検出部，  １８２  位相ロック検出部，  １８３  位相エンコーダ，  ２４１  加算器，  ２４２  デマルチプレクサ，  ２７２−１乃至２７２−１２，２７２  レジスタ，  ２７３−１乃至２７３−８，２７３  レジスタ，  ３０１  加算器，  ３０２  デマルチプレクサ，  ３３１  セレクタ，  ３３３  ローパスフィルタ
【図１】
2008294730.tif 000003
【図２】
2008294730.tif 000004
【図３】
2008294730.tif 000005
【図４】
2008294730.tif 000006
【図５】
2008294730.tif 000007
【図６】
2008294730.tif 000008
【図７】
2008294730.tif 000009
【図８】
2008294730.tif 000010
【図９】
2008294730.tif 000011
【図１０】
2008294730.tif 000012
【図１１】
2008294730.tif 000013
【図１２】
2008294730.tif 000014
【図１３】
2008294730.tif 000015
【図１４】
2008294730.tif 000016
【図１５】
2008294730.tif 000017
【図１６】
2008294730.tif 000018
【図１７】
2008294730.tif 000019
【図１８】
2008294730.tif 000020
【図１９】
2008294730.tif 000021
【図２０】
2008294730.tif 000022
【図２１】
2008294730.tif 000023
【図２２】
2008294730.tif 000024
【図２３】
2008294730.tif 000025
【図２４】
2008294730.tif 000026
【図２５】
2008294730.tif 000027
【図２６】
2008294730.tif 000028
【図２７】
2008294730.tif 000029
【図２８】
2008294730.tif 000030
【図２９】
2008294730.tif 000031
【図３０】
2008294730.tif 000032
【図３１】
2008294730.tif 000033
【図３２】
2008294730.tif 000034