JP2008294730A - 信号処理装置および方法、並びにプログラム - Google Patents

信号処理装置および方法、並びにプログラム Download PDF

Info

Publication number
JP2008294730A
JP2008294730A JP2007137874A JP2007137874A JP2008294730A JP 2008294730 A JP2008294730 A JP 2008294730A JP 2007137874 A JP2007137874 A JP 2007137874A JP 2007137874 A JP2007137874 A JP 2007137874A JP 2008294730 A JP2008294730 A JP 2008294730A
Authority
JP
Japan
Prior art keywords
data
sampling
clock
phase
sampling clock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007137874A
Other languages
English (en)
Inventor
Naoki Ide
直紀 井手
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2007137874A priority Critical patent/JP2008294730A/ja
Priority to US12/126,341 priority patent/US8165252B2/en
Publication of JP2008294730A publication Critical patent/JP2008294730A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • H04L7/0337Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/10Arrangements for initial synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)

Abstract

【課題】デジタル変調信号から、より簡単かつ確実に元のベースバンドデータを得ることができるようにする。
【解決手段】発生部22は、駆動クロックから、互いに位相の異なる複数のサンプリングクロックを生成する。生成部23は、複数のサンプリングクロックを用いて、ベースバンドデータに応じてキャリアが変調されて得られたデジタル変調信号をサンプリングし、サンプリングデータを生成する。生成部25は、サンプリングクロックごとに、サンプリングデータを用いて、サンプリングクロックがキャリアに同期しているとみなしてデジタル変調信号を検波し、ベースバンドデータを生成する。生成部28は、サンプリングクロックごとに、サンプリングデータを用いて、サンプリングクロックのキャリアに対する位相のずれを示す位相比較データを生成する。本発明は、デジタル変調信号を受信する受信装置に適用できる。
【選択図】図1

Description

本発明は信号処理装置および方法、並びにプログラムに関し、特に、より簡単かつ確実に検波できるようにした信号処理装置および方法、並びにプログラムに関する。
デジタル信号を所定の割り当てられた帯域で搬送するデジタル変調方式では、データに応じて所定のキャリアの振幅や位相を変調することにより得られた信号が伝送される。これらのデジタル変調方式の中でも、特に振幅を変調する方式を振幅変調方式といい、位相を変調する方式を位相変調方式という。
振幅変調方式、すなわちASK(Amplitude Shift Keying)方式は、キャリアの振幅を送信したいデータに対応させて変調するデジタル変調方式である。振幅変調方式では、1ビットのデータを振幅の大小に対応させるが、中でもデータを振幅の有無に対応させるOSK(On-Off Shift Keying)方式などが知られている。
また、位相変調方式、すなわちPSK(Phase Shift Keying)方式は、キャリアの位相を送信したいデータに対応させて変調するデジタル変調方式である。位相変調方式では、1ビットのデータを位相に対応させるBPSK(Binary Phase Shift Keying)方式、2ビットのデータを位相に対応させるQPSK(Quadrature Phase Shift Keying)方式などが知られている。
例えば、BPSK方式では、キャリアの位相を送信したいベースバンドデータのロジック値に応じて0またはπに対応させる。具体的には、キャリアの周波数をωとし、所定の時刻をtとすると、キャリアはsin(ωt)で表すことができる。そして、送信しようとするベースバンドデータのロジック値0または1を、それぞれキャリアの位相0またはπに対応させるものとすると、ベースバンドデータのロジック値が0である区間におけるBPSK信号は、キャリアそのものであるsin(ωt)とされ、ベースバンドデータのロジック値が1である区間におけるBPSK信号は、キャリアの位相がπだけずらされた−sin(ωt)とされる。ここで、BPSK信号(PSK信号)は、ベースバンドデータのロジック値に基づいて、キャリアを変調することにより得られる信号である。
このようにデータに応じてキャリアを変調することで得られたデジタル変調信号から、ロジック値で表される元のベースバンドデータを得る検波方法として、同期検波がよく知られている。同期検波においては、受信したデジタル変調信号のキャリアと同じ周波数の発振信号が発振され、その発振信号が用いられて元のベースバンドデータが再生される。
すなわち、PSK信号の同期検波では、通常、発振信号と受信されたPSK信号とが乗算器に入力され、乗算器による演算によって得られた出力が、さらにローパスフィルタによりフィルタリングされてベースバンドデータが得られる。ここで、乗算器は、入力された信号の周波数の加減算を行うミキサの機能を利用するために用いられ、また、ローパスフィルタは乗算器から出力された信号に含まれる、キャリアの2倍の周波数の成分を除去するために用いられる。
例えば、BPSK方式では、発振信号であるsin(ωt)と、受信したBPSK信号であるsin(ωt)または−sin(ωt)とを乗算器に入力すると、その出力として、ベースバンドデータのロジック値が0であるときには(1−cos(2ωt))/2が得られ、ベースバンドデータのロジック値が1であるときは(−1−cos(2ωt))/2が得られる。
そこで、ローパスフィルタを用いて、乗算器からの出力である(1−cos(2ωt))/2または(−1−cos(2ωt))/2からcos(2ωt)の成分を除去することで、ローパスフィルタからの出力として、ベースバンドデータのロジック値が0であるときは1を、ベースバンドデータのロジック値が1であるときには−1の信号レベルを得ることができる。
デジタル変調信号の同期検波を行うためには、発振信号が受信したデジタル変調信号のキャリアと全く同じ周波数の信号であることが必要である。このため、発振信号として、キャリア再生により得られるキャリア再生信号が用いられることが多い。このキャリア再生信号は、受信したデジタル変調信号を乗算器への2つの入力とし、すなわち受信したデジタル変調信号、およびその信号と全く同じ信号を乗算器に入力し、乗算器からの出力をさらにバンドパスフィルタ、および1/2分周回路に入力することにより得られる。ここで、乗算器は、周波数2逓倍回路としての機能を利用するために用いられ、また、バンドパスフィルタはキャリアの2倍の周波数成分を強調するため用いられる。
例えば、BPSK方式では、受信したBPSK信号であるsin(ωt)、または−sin(ωt)を乗算器に入力して二乗すると、その出力として、いずれの場合においても(1−cos(2ωt))/2が得られる。そして、得られた1−cos(2ωt)から、バンドパスフィルタを用いてcos(2ωt)の成分だけを抽出して、さらに1/2分周回路などにより、その周波数を1/2に分周することで、キャリアと全く同じ周波数の成分cos(ωt)が得られる。そして、このようにして得られたcos(ωt)の信号の位相などを調整することで、BPSK信号の同期検波に用いる発振信号sin(ωt)が得られる。
以上のように同期検波およびキャリア再生を利用して、受信したデジタル変調信号をキャリアの帯域からベースバンドの帯域にダウンコンバートしてベースバンドデータを生成することで、元のデータが得られる。
上述したPSK信号の検波方法では、PSK信号のアナログ信号としての性質をうまく利用しているため、検波装置をアナログ回路で構成することで、そのような検波方法によりPSK信号を検波する検波装置を効果的に実現することができる。しかしながら、上述した検波方法でPSK信号を検波する検波装置をデジタル回路により構成した場合、デジタル回路によりPSK信号のキャリアを再生することが困難であった。
そこで、キャリア再生を行うことなく、PSK信号から元のデータを検出する方法がいくつか提案されている(例えば、特許文献1乃至5参照)。
これらの方法においては、まず、受信されたPSK信号が、PSK信号のキャリアの周波数の数倍のサンプリング周波数のサンプリングクロックが用いられてサンプリングされる。次に、サンプリングにより得られたサンプリングデータ系列における符号の遷移のタイミングから、サンプリングデータ系列におけるキャリアの位相が検出される。そして、検出された位相のタイミングに合わせて、その前後のサンプリングデータのロジック値の多数決により、元のデータの検出が行われる。ここで、PSK信号のキャリアの周波数の2倍以上のサンプリング周波数のサンプリングを行うために、入力したクロックの周波数の整数倍の周波数のクロックを出力することができる位相同期回路、すなわちPLL(Phase Locked Loop)回路が用いられて、サンプリングクロックが生成される。
また、PSK信号の送信および受信の両方を行うことのできる送信装置や受信装置、特に送信装置においては、キャリアと送信するベースバンドデータとを同期させながらPSK信号を送信するため、これらの装置を構成するデジタル回路は、PSK信号のキャリアの周波数と同じ程度の周波数の駆動クロックで駆動されて動作することが望ましい。そこで、受信装置においても、PSK信号のキャリアと同程度の周波数を持つ駆動クロックでデジタル回路を駆動させ、受信装置は、前述したキャリアの周波数の整数倍の周波数のサンプリングクロックを、駆動クロックを用いて生成する。
駆動クロックから生成されたサンプリングクロックを用いてPSK信号のサンプリングを行い、さらにその結果得られたサンプリングデータを用いて検波を行う場合、アナログ回路におけるキャリアの再生は、サンプリングデータ系列におけるキャリアの位相の検出に置き換えられ、また、同期検波そのものは、サンプリングデータの多数決による元のベースバンドデータの検出に置き換えられることになる。
ここで、キャリアの位相は、サンプリングデータの符号の反転のタイミングと、サンプリングデータを用いて検出された元のベースバンドデータとから検出され、その結果得られたキャリアの位相の情報が用いられて位相同期ループが動作される。また、多数決によるベースバンドデータの検出では、キャリアの位相と同一の位相のサンプリングクロックの前後半周期、合わせて1周期分におけるサンプリングデータが用いられて、そのサンプリングデータのロジック値の多数決から元のベースバンドデータの検出が行われる。すなわち、サンプリングデータの前半周期におけるロジック値1または0の数と、後半周期におけるロジック値1または0の数とから、ベースバンドデータのロジック値が定められる。
このように、PSK信号のキャリアの周波数の数倍のサンプリング周波数で、PSK信号をサンプリングし、その結果得られたサンプリングデータのロジック値の多数決から、キャリア再生を行うことなく、元のベースバンドデータの検出を行うことができる。このような検波方法は、PSK信号のアナログ信号としての性質を用いるものではないので、その精度はアナログ信号の性質を利用する方法と比べると高いものではないが、検波装置をデジタル回路で設計できるため、アナログ回路で必要とされた特殊な素子を用いる必要はなく、また、回路の規模や必要な電力を抑えることができ、安定した動作が期待できる。
特開昭60−198945号公報 特開昭62−183247号公報 特開平2−117247号公報 特開平6−85860号公報 特開平8−317005号公報
しかしながら、デジタル回路により上述した検波方法で検波を行うと、PSK信号の周波数に対する制限は、PSK信号を送信する送信装置における動作速度の限界による制限と比べて、そのPSK信号を受信する受信装置の動作速度の限界による制限が強くなる。その結果、PSK信号のキャリアの周波数が大きくなると、PSK信号を送信することはできるが、PSK信号を受信することができないという状態が生じることになり、通信システムの性能を最大限発揮することができない状態となる。
具体的には、まず、受信装置においては、PSK信号をPSK信号のキャリアの周波数の数倍のサンプリング周波数で高速にサンプリングする必要があるため、受信装置の内部にキャリアの周波数の数倍の周波数で動作するブロックが必要となる。このことは、送信時に送信装置の内部でPSK信号を生成するために必要な駆動クロックの周波数が、PSK信号のキャリアの周波数程度の周波数で充分であることと比べて、より厳しい制約を課す条件となる。
また、受信装置において、キャリアの周波数の数倍のサンプリング周波数での高速なサンプリングにより得られたデータを処理するブロックに対して要求される動作速度も、その動作可能な限界を超える恐れがある。例えば、高速でサンプリングされて次々に更新されるサンプリングデータを基に、元のベースバンドデータの検出や位相を比較する処理を行うためには、記憶されているサンプリングデータが、次のサンプリングデータに更新される前に処理される必要がある。
しかしながら、サンプリングの速度が高速になるにつれて、サンプリングしたデータが確定する、いわゆるデータのセトリングを待たずに次のサンプリングデータが入力されてくることになる。そのため、受信装置の動作可能な速度は、サンプリングデータのセトリングのタイミングによる制約を受けて、送信装置よりも厳しい制約条件が課されることになる。
さらに、元のベースバンドデータの検出を行うためには、位相を確定する処理が必要である。一方、この位相の確定の処理には、ベースバンドデータの確定が必要である。したがって、これらのベースバンドデータの検出と位相の確定とには、いずれも極めて短い時間での処理が必要となる。しかしながら、現状では、ベースバンドデータの検出と位相の確定の処理の手続きは多く、短い時間でそれらの処理を行うことは困難であった。
このように、キャリアの位相をベースバンドデータに対応させて、PSK方式により変調して得られたPSK信号から、元のベースバンドデータを簡単かつ確実に得ることは困難であった。
本発明は、このような状況に鑑みてなされたものであり、データに応じてキャリアを変調することにより得られた信号から、より簡単かつ確実に元のデータを得ることができるようにするものである。
本発明の一側面の信号処理装置は、データの系列を表現する入力信号から、前記データを検出する信号処理装置であって、動作のタイミングの基準となる所定の周期の駆動クロックから、互いに位相が異なり、かつ前記周期と同じ周期の複数のサンプリングクロックを生成するサンプリングクロック生成手段と、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングし、前記入力信号に対応した複数のサンプリングデータを生成するサンプリングデータ生成手段と、前記サンプリングクロックごとに、前記サンプリングクロックの前記入力信号に対する位相のずれを示す位相比較データを、前記サンプリングデータを用いて生成する位相比較データ生成手段と、前記サンプリングデータを用いて前記サンプリングクロックごとの前記データを生成し、前記位相比較データに基づいて、前記サンプリングクロックごとの前記データのそれぞれのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記データを、前記入力信号により表現された元の前記データとして選択するデータ生成手段とを備える。
前記データ生成手段には、1つの前記サンプリングクロックの1周期の期間に、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングすることにより得られた前記サンプリングデータのそれぞれに所定の重みを乗算させ、前記重みが乗算された前記サンプリングデータのうち、前記サンプリングクロックの1周期の前半の半周期にサンプリングされて前記重みが乗算された前記サンプリングデータの和と、前記サンプリングクロックの1周期の後半の半周期にサンプリングされて前記重みが乗算された前記サンプリングデータの和とを比較させ、その比較結果に基づいて前記データを生成させることができる。
前記位相比較データ生成手段には、1つの前記サンプリングクロックの1周期の期間に、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングすることにより得られた前記サンプリングデータのそれぞれに所定の重みを乗算させ、重みが乗算された前記サンプリングデータのそれぞれの和を求めさせることにより、前記位相比較データを生成させることができる。
前記サンプリングデータ生成手段には、所定のサンプリングクロックを用いて前記入力信号をサンプリングさせることにより得られたデータを、前記所定のサンプリングクロックの位相よりも、より前記駆動クロックの位相に近い位相のサンプリングクロックを用いてサンプリングさせ、その結果得られたデータを、さらに前記駆動クロックと同じ位相のサンプリングクロックを用いてサンプリングさせることで得られたデータを、前記サンプリングデータとして出力させることにより、前記駆動クロックに同期した前記サンプリングデータを生成させることができる。
前記入力信号は、前記駆動クロックの周期とほぼ同じ周期のキャリアを、前記データに応じて変調することにより得られた信号とすることができる。
前記サンプリングクロックは、前記駆動クロックに対して、前記駆動クロックの1周期よりも短い所定の時間だけ遅延したものとすることができる。
信号処理装置には、前記サンプリングクロックごとの前記データを用いて、前記入力信号から予め定められた固定パタンを検出することにより、前記データの検出の開始直後における前記入力信号の位相である初期位相を検出し、その検出結果を示す初期位相データを生成する初期位相データ生成手段と、前記初期位相に対する前記入力信号の位相のずれを検出し、その検出結果を示す位相データを生成する位相データ生成手段と、前記初期位相データおよび前記位相データに基づいて、前記サンプリングクロックごとの前記位相比較データのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記位相比較データを選択する位相比較データ選択手段とをさらに設け、前記位相データ生成手段には、前記データ選択手段により選択された前記データ、および前記位相比較データ選択手段により選択された前記位相比較データに基づいて、前記位相データを生成させ、前記データ生成手段には、前記初期位相データおよび前記位相データを用いて、前記データを選択させることができる。
本発明の一側面の信号処理方法またはプログラムは、データの系列を表現する入力信号から、前記データを検出する信号処理装置の信号処理方法またはプログラムであって、動作のタイミングの基準となる所定の周期の駆動クロックから、互いに位相が異なり、かつ前記周期と同じ周期の複数のサンプリングクロックを生成し、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングし、前記入力信号に対応した複数のサンプリングデータを生成し、前記サンプリングクロックごとに、前記サンプリングクロックの前記キャリアに対する位相のずれを示す位相比較データを、前記サンプリングデータを用いて生成し、前記サンプリングデータを用いて前記サンプリングクロックごとの前記データを生成し、前記位相比較データに基づいて、前記サンプリングクロックごとの前記データのそれぞれのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記データを、前記入力信号により表現された元の前記データとして選択するするステップを含む。
本発明の一側面においては、データの系列を表現する入力信号から、前記データを検出する信号処理装置において、動作のタイミングの基準となる所定の周期の駆動クロックから、互いに位相が異なり、かつ前記周期と同じ周期の複数のサンプリングクロックが生成され、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングし、前記入力信号に対応した複数のサンプリングデータが生成され、前記サンプリングクロックごとに、前記サンプリングクロックの前記入力信号に対する位相のずれを示す位相比較データが、前記サンプリングデータが用いられて生成され、前記サンプリングデータが用いられて前記サンプリングクロックごとの前記データが生成され、前記位相比較データに基づいて、前記サンプリングクロックごとの前記データのそれぞれのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記データが、前記入力信号により表現された元の前記データとして選択される。
本発明の一側面によれば、データに応じてキャリアを変調することにより得られた信号から、元のデータを得ることができる。特に、本発明の一側面によれば、データに応じてキャリアを変調することにより得られた信号から、より簡単かつ確実に元のデータを得ることができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の信号処理装置は、データの系列を表現する入力信号から、前記データを検出する信号処理装置であって、動作のタイミングの基準となる所定の周期の駆動クロックから、互いに位相が異なり、かつ前記周期と同じ周期の複数のサンプリングクロックを生成するサンプリングクロック生成手段(例えば、図1のサンプリングクロック発生部22)と、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングし、前記入力信号に対応した複数のサンプリングデータを生成するサンプリングデータ生成手段(例えば、図1のサンプリングデータ生成部23)と、前記サンプリングクロックごとに、前記サンプリングクロックの前記入力信号に対する位相のずれを示す位相比較データを、前記サンプリングデータを用いて生成する位相比較データ生成手段(例えば、図1の位相比較データ生成部28)と、前記サンプリングデータを用いて前記サンプリングクロックごとの前記データを生成し、前記位相比較データに基づいて、前記サンプリングクロックごとの前記データのそれぞれのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記データを、前記入力信号により表現された元の前記データとして選択するデータ生成手段(例えば、図1の検波データ生成部25および検波データ決定部27)とを備える。
前記データ生成手段には、1つの前記サンプリングクロックの1周期の期間に、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングすることにより得られた前記サンプリングデータのそれぞれに所定の重みを乗算させ、前記重みが乗算された前記サンプリングデータのうち、前記サンプリングクロックの1周期の前半の半周期にサンプリングされて前記重みが乗算された前記サンプリングデータの和と、前記サンプリングクロックの1周期の後半の半周期にサンプリングされて前記重みが乗算された前記サンプリングデータの和とを比較し、その比較結果に基づいて前記データを生成させる(例えば、図18のステップS83の処理)ことができる。
前記位相比較データ生成手段には、1つの前記サンプリングクロックの1周期の期間に、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングすることにより得られた前記サンプリングデータのそれぞれに所定の重みを乗算させ、重みが乗算された前記サンプリングデータのそれぞれの和を求めさせることにより、前記位相比較データを生成させる(例えば、図20のステップS142の処理およびステップS143の処理)ことができる。
前記サンプリングデータ生成手段には、所定のサンプリングクロックを用いて前記入力信号をサンプリングさせることにより得られたデータを、前記所定のサンプリングクロックの位相よりも、より前記駆動クロックの位相に近い位相のサンプリングクロックを用いてサンプリングさせ、その結果得られたデータを、さらに前記駆動クロックと同じ位相のサンプリングクロックを用いてサンプリングさせることで得られたデータを、前記サンプリングデータとして出力させることにより、前記駆動クロックに同期した前記サンプリングデータを生成させる(例えば、図15のステップS13の処理)ことができる。
信号処理装置には、前記サンプリングクロックごとの前記データを用いて、前記入力信号から予め定められた固定パタンを検出することにより、前記データの検出の開始直後における前記キャリアの位相である初期位相を検出し、その検出結果を示す初期位相データを生成する初期位相データ生成手段(例えば、図1の初期位相決定部26)と、前記初期位相に対する前記入力信号の位相のずれを検出し、その検出結果を示す位相データを生成する位相データ生成手段(例えば、図1のサンプリングクロック決定部30)と、前記初期位相データおよび前記位相データに基づいて、前記サンプリングクロックごとの前記位相比較データのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記位相比較データを選択する位相比較データ選択手段(例えば、図1の位相比較データ決定部29)とをさらに設け、前記位相データ生成手段には、前記データ選択手段により選択された前記データ、および前記位相比較データ選択手段により選択された前記位相比較データに基づいて、前記位相データを生成させ、前記データ生成手段には、前記初期位相データおよび前記位相データを用いて、前記データを選択させることができる。
本発明の一側面の信号処理方法またはプログラムは、データの系列を表現する入力信号から、前記データを検出する信号処理装置の信号処理方法またはプログラムであって、動作のタイミングの基準となる所定の周期の駆動クロックから、互いに位相が異なり、かつ前記周期と同じ周期の複数のサンプリングクロックを生成し(例えば、図15のステップS12)、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングし、前記入力信号に対応した複数のサンプリングデータを生成し(例えば、図15のステップS13)、前記サンプリングクロックごとに、前記サンプリングクロックの前記キャリアに対する位相のずれを示す位相比較データを、前記サンプリングデータを用いて生成し(例えば、図15のステップS18)、前記サンプリングデータを用いて前記サンプリングクロックごとの前記データを生成し、前記位相比較データに基づいて、前記サンプリングクロックごとの前記データのそれぞれのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記データを、前記入力信号により表現された元の前記データとして選択する(例えば、図15のステップS13およびステップS17)ステップを含む。
本発明は、ASK信号、PSK信号、マンチェスタ符号などのデジタル信号を処理する通信機器、通信システムなどに適用することができる。
以下、図面を参照して、本発明を適用した実施の形態について説明する。
図1は、本発明を適用した検波装置の一実施の形態の構成例を示すブロック図である。
検波装置11は、レベル変換部21、サンプリングクロック発生部22、サンプリングデータ生成部23、バス24、検波データ生成部25、初期位相決定部26、検波データ決定部27、位相比較データ生成部28、位相比較データ決定部29、サンプリングクロック決定部30、およびバス31から構成される。
検波装置11は、図示せぬ送信装置から送信されてきたデジタル変調信号を受信する。そして、受信されたデジタル変調信号は、レベル変換部21に供給される。ここで、デジタル変調信号は、キャリアの位相または振幅を、ベースバンドデータに対応させて、変調することで得られる信号である。また、サンプリングクロック発生部22には、デジタル変調信号のキャリアと同程度の周波数(周期)であり、デジタル回路を駆動するための駆動クロックが供給される。この駆動クロックは、デジタル回路の動作のタイミングの基準となる。
レベル変換部21は、供給されたデジタル変調信号の中心のレベルをロジック判定の基準レベルにシフトして、サンプリングデータ生成部23に供給する。サンプリングクロック発生部22は、供給された駆動クロックを用いて、駆動クロックの周期よりも短い間隔で時間的に遅延させた複数のサンプリングクロックを生成する。すなわち、サンプリングクロック発生部22は、周期が同じで互いに位相の異なる複数のサンプリングクロックを生成し、生成したサンプリングクロックをサンプリングデータ生成部23に供給する。
サンプリングデータ生成部23は、サンプリングクロック発生部22から供給されたサンプリングクロックのそれぞれを用いて、レベル変換部21から供給されたデジタル変調信号をサンプリングする。つまり、サンプリングデータ生成部23は、サンプリングクロックのそれぞれの各タイミングにおいて受信したデジタル変調信号のロジック判定を行い、その結果得られたサンプリングデータを、バス24を介して検波データ生成部25および位相比較データ生成部28に供給する。
これにより、検波データ生成部25および位相比較データ生成部28には、複数のサンプリングクロックごとに得られたサンプリングデータが供給される。このように、周期が同じで互いに位相の異なる複数のサンプリングクロックを用いることで、デジタル変調信号のキャリアの周期よりも短い時間間隔でサンプリングを行うことができる。
検波データ生成部25は、サンプリングデータ生成部23から供給された、サンプリングクロックごとのサンプリングデータから、サンプリングクロックごとのベースバンドデータである検波データを生成する。これらの検波データのそれぞれは、サンプリングクロックのそれぞれが、受信したデジタル変調信号のキャリアに同期しているとみなして検波することにより得られたベースバンドデータのそれぞれとされる。検波データ生成部25は、生成された検波データを、バス31を介して初期位相決定部26および検波データ決定部27に供給する。
また、検波データ生成部25は、サンプリングデータ生成部23から供給された、サンプリングクロックごとのサンプリングデータを基に、明らかにキャリアとは同期していないサンプリングクロックが、キャリアと同期したサンプリングクロックとして選択されないようにするためのエラーデータを生成する。検波データ生成部25は、生成したエラーデータを、バス31を介して初期位相決定部26に供給する。
初期位相決定部26は、検波データ生成部25から供給された、検波データおよびエラーデータに基づいて、キャリアの初期位相を決定する。より具体的には、初期位相決定部26は、検波データおよびエラーデータに基づいて、生成された複数のサンプリングクロックのうち、デジタル変調信号の受信を開始した直後、すなわちデジタル変調信号の検波を開始した直後において、受信したデジタル変調信号のキャリアと位相が同じであるサンプリングクロック、つまりキャリアに同期したサンプリングクロックを選択し、その選択されたサンプリングクロックを示す初期位相データを、検波データ決定部27および位相比較データ決定部29に供給する。
検波データ決定部27は、初期位相決定部26から供給された初期位相データ、およびサンプリングクロック決定部30から供給された位相比較ローパスデータに基づいて、検波データ生成部25から供給されたサンプリングクロックごとの検波データから、キャリアに同期したサンプリングクロックを用いて検波することにより得られた、最終的な検波データを選択する。検波データ決定部27は、選択した最終的な検波データをサンプリングクロック決定部30に供給するとともに、検波装置11の後段のブロックに出力する。
ここで、位相比較ローパスデータは、受信したデジタル変調信号のキャリアの位相が、デジタル変調信号の受信を開始した直後から、相対的にどれだけずれたかを示す信号とされる。
位相比較データ生成部28は、サンプリングデータ生成部23から供給されたサンプリングデータを基に、生成されたサンプリングクロックの位相のそれぞれが、キャリアの位相に対して相対的にどれだけずれているかを示す位相比較データのそれぞれを生成し、生成した位相比較データを位相比較データ決定部29に供給する。
位相比較データ決定部29は、初期位相決定部26から供給された初期位相データ、およびサンプリングクロック決定部30から供給された位相比較ローパスデータに基づいて、位相比較データ生成部28から供給されたサンプリングクロックごとの位相比較データのうち、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックの位相比較データを選択する。位相比較データ決定部29は、選択した位相比較データをサンプリングクロック決定部30に供給する。
サンプリングクロック決定部30は、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックを検出する。すなわち、サンプリングクロック決定部30は、検波データ決定部27から供給された検波データと、位相比較データ決定部29から供給された位相比較データとから、位相比較ローパスデータを生成する。サンプリングクロック決定部30は、生成した位相比較ローパスデータを、検波データ決定部27および位相比較データ決定部29に供給する。
図2は、図1のレベル変換部21の構成例を示す図である。
レベル変換部21は、コンデンサ61、インバータ62および抵抗63から構成される。図2の例では、コンデンサの一方の端にインバータ62の入力端子が接続され、さらにインバータ62の入力端子は、抵抗63の一方の端にも接続されている。また、抵抗63の他方の端は、インバータ62の出力端子に接続されている。
受信したデジタル変調信号は、コンデンサ61を介してインバータ62に入力される。つまり、受信したデジタル変調信号は、コンデンサ61の端のうち、インバータ62の入力端子と接続されている端とは異なる方の端に入力される。
インバータ62は、高速で動作するインバータロジック素子からなり、コンデンサ61を介して入力されたデジタル変調信号のレベルを、その中心のレベルがロジック判定の基準レベルとなるように変換(シフト)し、レベルが変換されたデジタル変調信号を出力する。ここで、インバータ62の入力端子および出力端子には抵抗63が接続されているため、デジタル変調信号のレベルは、インバータ62に入力される直前に、インバータ62の閾値レベルに変換される。
このように、デジタル変調信号のレベルは、レベル変換部21により、ロジック判定が可能なレベルに変換されるため、検波装置11において、サンプリングクロックを用いてデジタル変調信号のロジック判定を行うことが可能となる。そして、検波装置11において、ロジック判定により得られるサンプリングデータを処理することができるようになる。なお、コンデンサ61および抵抗63の組み合わせは、その時定数がデジタル変調信号のキャリアの周波数を超えない程度に小さく、かつデジタル変調信号の受信後、直ちにデジタル変調信号のレベルが安定する程度には時定数が大きくなるような組み合わせとされることが望ましい。
図3は、図1のサンプリングクロック発生部22の構成例を示す図である。
サンプリングクロック発生部22は、遅延部91乃至遅延部93、およびインバータ94乃至インバータ97から構成される。
また、遅延部91乃至遅延部93は、例えばプログラマブル遅延素子とされ、インバータ94乃至インバータ97は、駆動クロックの周期と比べて高速で動作するインバータとされる。サンプリングクロック発生部22では、入力された駆動クロックから、駆動クロックの8分の1周期の整数倍だけ位相がずれた8つのサンプリングクロックが生成される。
すなわち、入力された駆動クロックは、サンプリングクロックClock[0]としてそのまま出力されるとともに、遅延素子91乃至遅延部93およびインバータ94に供給される。ここで、サンプリングクロックClock[0]は、駆動クロックそのものであるので、駆動クロックと同じ位相のサンプリングクロックである。
また、インバータ94は、供給された駆動クロックを反転させ、反転された駆動クロックをサンプリングクロックClock[4]として出力する。このサンプリングクロックClock[4]は、駆動クロックが反転されたものであるので、サンプリングクロックClock[0]に対して、サンプリングクロックの8分の4周期だけ遅延したサンプリングクロックとなる。
遅延部91は、遅延部91を制御する図示せぬセレクタから供給された信号に基づいて、供給された駆動クロックを、駆動クロックの8分の1周期だけ遅延させ、遅延された駆動クロックをサンプリングクロックClock[1]として出力するとともに、遅延された駆動クロックをインバータ95に供給する。このサンプリングクロックClock[1]は、駆動クロックが8分の1周期だけ遅延されたものであるので、サンプリングクロックClock[0]に対して、サンプリングクロックの8分の1周期だけ遅延したサンプリングクロックとなる。
インバータ95は、遅延部91から供給された駆動クロックを反転させ、反転された駆動クロックをサンプリングクロックClock[5]として出力する。このサンプリングクロックClock[5]は、8分の1周期だけ遅延された駆動クロックが反転されたものであるので、サンプリングクロックClock[0]に対して、サンプリングクロックの8分の5周期だけ遅延したサンプリングクロックとなる。
遅延部92は、遅延部92を制御する図示せぬセレクタから供給された信号に基づいて、供給された駆動クロックを、駆動クロックの8分の2周期だけ遅延させ、遅延された駆動クロックをサンプリングクロックClock[2]として出力するとともに、遅延された駆動クロックをインバータ96に供給する。このサンプリングクロックClock[2]は、駆動クロックが8分の2周期だけ遅延されたものであるので、サンプリングクロックClock[0]に対して、サンプリングクロックの8分の2周期だけ遅延したサンプリングクロックとなる。
インバータ96は、遅延部92から供給された駆動クロックを反転させ、反転された駆動クロックをサンプリングクロックClock[6]として出力する。このサンプリングクロックClock[6]は、8分の2周期だけ遅延された駆動クロックが反転されたものであるので、サンプリングクロックClock[0]に対して、サンプリングクロックの8分の6周期だけ遅延したサンプリングクロックとなる。
遅延部93は、遅延部93を制御する図示せぬセレクタから供給された信号に基づいて、供給された駆動クロックを、駆動クロックの8分の3周期だけ遅延させ、遅延された駆動クロックをサンプリングクロックClock[3]として出力するとともに、遅延された駆動クロックをインバータ97に供給する。このサンプリングクロックClock[3]は、駆動クロックが8分の3周期だけ遅延されたものであるので、サンプリングクロックClock[0]に対して、サンプリングクロックの8分の3周期だけ遅延したサンプリングクロックとなる。
インバータ97は、遅延部93から供給された駆動クロックを反転させ、反転された駆動クロックをサンプリングクロックClock[7]として出力する。このサンプリングクロックClock[7]は、8分の3周期だけ遅延された駆動クロックが反転されたものであるので、サンプリングクロックClock[0]に対して、サンプリングクロックの8分の7周期だけ遅延したサンプリングクロックとなる。
このようにしてサンプリングクロック発生部22において生成されたサンプリングクロックClock[0]乃至サンプリングクロックClock[7]は、サンプリングデータ生成部23に供給される。
このように、遅延部91乃至遅延部93により駆動クロックを遅延させたり、インバータ94乃至インバータ97により駆動クロックを反転させたりすることで、PLL回路を必要とせずに、駆動クロックを用いて、互いに位相の異なる複数のサンプリングクロックを簡単に生成することができる。また、このサンプリングクロック群を用いることにより、駆動クロックよりも短い周期でデジタル変調信号をサンプリングすることができる。
したがって、従来、キャリアの整数倍の周波数のサンプリングクロックを生成する場合に生じていた、デジタル変調信号のキャリアの周波数に対する検波装置11の動作速度による制約をなくすことができ、デジタル変調信号のキャリアの周波数を、最大で駆動クロックの周波数の上限まで高くすることができる。つまり、キャリアの周波数以上の周波数での動作を必要とせずに、サンプリングクロックを生成することができる。
なお、図3の例では、遅延部91乃至遅延部93が並列に並べられた構成とされているが、駆動クロックを、その駆動クロックの8分の1周期だけ遅延させる3つの遅延部が直列に並べられる構成としてもよいし、複数の遅延部が組み合わされて直列や並列に並べられるようにしてもよい。
また、遅延部91乃至遅延部93は、プログラマブル遅延素子であるので、駆動クロックの周期を変化させた場合に、駆動クロックを遅延させる時間を変更させることができるが、駆動クロックの周期が予め定められている場合には、遅延部91乃至遅延部93は、プログラマブル遅延素子に限らず、遅延させる時間が予め定められた遅延素子とされてもよい。
さらに、インバータ94乃至インバータ97が駆動クロックを反転させることで、それらのインバータ94乃至インバータ97から出力されるサンプリングクロックは、他のサンプリングクロックよりも反転の処理の処理時間の分だけ遅延する。そこで、その反転の処理の分の遅延が無視できない場合には、遅延しない他のサンプリングクロックを、その遅延時間だけバッファに一時的に記憶させて、全てのサンプリングクロックが同時に出力されるようにしてもよい。
さらに、また、図3に示したサンプリングクロック発生部22においては、駆動クロックを反転させると、その駆動クロックの位相がπだけ変化することを利用してサンプリングクロックを生成しているので、駆動クロックは、そのデューティー比が50%に近い信号であることが望ましい。
図4および図5は、図1のサンプリングデータ生成部23の構成例を示すブロック図である。このサンプリングデータ生成部23は、デジタル変調信号のキャリアの周期tcが、サンプリングデータのセトリングの遅延時間tdよりも長く、その遅延時間tdが、(3/4)tc程度である場合に、サンプリングクロックを用いてサンプリングデータを生成するのに適した構成とされている。
サンプリングデータ生成部23は、フリップフロップ121−1乃至フリップフロップ128−4から構成される。
すなわち、サンプリングデータ生成部23は、フリップフロップ121−1乃至フリップフロップ121−4、フリップフロップ122−1乃至フリップフロップ122−4、フリップフロップ123−1乃至フリップフロップ123−4、フリップフロップ124−1乃至フリップフロップ124−4、フリップフロップ125−1乃至フリップフロップ125−4、フリップフロップ126−1乃至フリップフロップ126−4、フリップフロップ127−1乃至フリップフロップ127−4、およびフリップフロップ128−1乃至フリップフロップ128−4のそれぞれからなる8つのシフトレジスタから構成される。
フリップフロップ121−1は、レベル変換部21から供給されたデジタル変調信号を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][0]を出力する。フリップフロップ121−2は、フリップフロップ121−1から出力されたロジックデータr-inp[0][0]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[1][0]を出力する。
フリップフロップ121−3は、フリップフロップ121−2から出力されたロジックデータr-inp[1][0]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[2][0]を出力する。フリップフロップ121−4は、フリップフロップ121−3から出力されたロジックデータr-inp[2][0]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータであるサンプリングデータr-inp[3][0]を出力する。
これにより、フリップフロップ121−4からは、デジタル変調信号がサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][0]が出力される。なお、以下、フリップフロップ121−1乃至フリップフロップ121−4のそれぞれを特に区別する必要のない場合、単にフリップフロップ121と称する。
フリップフロップ122−1は、レベル変換部21から供給されたデジタル変調信号を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][1]を出力する。フリップフロップ122−2は、フリップフロップ122−1から出力されたロジックデータr-inp[0][1]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[1][1]を出力する。
ここでは、ロジックデータr-inp[0][1]のセトリングタイムが、サンプリングクロックClock[1]の立ち上がりから、時間的に次のサンプリングクロックClock[0]の立ち上がりまでの時間よりも短いことが利用されている。つまり、フリップフロップ122−1が保持しているロジックデータr-inp[0][1]のレベルは、次にサンプリングクロックClock[0]が立ち上がる時刻までには、そのロジック値を正しく読み取ることのできるレベルとなっているので、時間的に次のサンプリングクロックClock[0]の立ち上がりのタイミングでロジックデータr-inp[0][1]をサンプリングすることにより、ロジックデータr-inp[0][1]をサンプリングクロックClock[0]と同期させたデータとすることができる。
フリップフロップ122−3は、フリップフロップ122−2から出力されたロジックデータr-inp[1][1]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[2][1]を出力する。フリップフロップ122−4は、フリップフロップ122−3から出力されたロジックデータr-inp[2][1]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータであるサンプリングデータr-inp[3][1]を出力する。
これにより、フリップフロップ122−4からは、デジタル変調信号がサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][1]が出力される。つまり、サンプリングデータr-inp[3][1]をサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングして得られるデータは、デジタル変調信号をサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングしたときのロジックデータと等しく、かつサンプリングクロックClock[0]に同期したデータである。
なお、以下、フリップフロップ122−1乃至フリップフロップ122−4のそれぞれを特に区別する必要のない場合、単にフリップフロップ122と称する。
フリップフロップ123−1は、レベル変換部21から供給されたデジタル変調信号を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][2]を出力する。フリップフロップ123−2は、フリップフロップ123−1から出力されたロジックデータr-inp[0][2]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[1][2]を出力する。
ここでは、ロジックデータr-inp[0][2]のセトリングタイムが、サンプリングクロックClock[2]の立ち上がりから、時間的に次のサンプリングクロックClock[0]の立ち上がりまでの時間よりも短いことが利用されている。
フリップフロップ123−3は、フリップフロップ123−2から出力されたロジックデータr-inp[1][2]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[2][2]を出力する。フリップフロップ123−4は、フリップフロップ123−3から出力されたロジックデータr-inp[2][2]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータであるサンプリングデータr-inp[3][2]を出力する。
これにより、フリップフロップ123−4からは、デジタル変調信号がサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][2]が出力される。つまり、サンプリングデータr-inp[3][2]をサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングして得られるデータは、デジタル変調信号をサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングしたときのロジックデータと等しく、かつサンプリングクロックClock[0]に同期したデータである。なお、以下、フリップフロップ123−1乃至フリップフロップ123−4のそれぞれを特に区別する必要のない場合、単にフリップフロップ123と称する。
フリップフロップ124−1は、レベル変換部21から供給されたデジタル変調信号を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][3]を出力する。フリップフロップ124−2は、フリップフロップ124−1から出力されたロジックデータr-inp[0][3]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[1][3]を出力する。
ここでは、ロジックデータr-inp[0][3]のセトリングタイムが、サンプリングクロックClock[3]の立ち上がりから、時間的に次のサンプリングクロックClock[1]の立ち上がりまでの時間よりも短いことが利用されている。
フリップフロップ124−3は、フリップフロップ124−2から出力されたロジックデータr-inp[1][3]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[2][3]を出力する。ここでは、ロジックデータr-inp[1][3]のセトリングタイムが、サンプリングクロックClock[1]の立ち上がりから、時間的に次のサンプリングクロックClock[0]の立ち上がりまでの時間よりも短いことが利用されている。フリップフロップ124−4は、フリップフロップ124−3から出力されたロジックデータr-inp[2][3]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータであるサンプリングデータr-inp[3][3]を出力する。
これにより、フリップフロップ124−4からは、デジタル変調信号がサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][3]が出力される。つまり、サンプリングデータr-inp[3][3]をサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングして得られるデータは、デジタル変調信号をサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングしたときのロジックデータと等しく、かつサンプリングクロックClock[0]に同期したデータである。なお、以下、フリップフロップ124−1乃至フリップフロップ124−4のそれぞれを特に区別する必要のない場合、単にフリップフロップ124と称する。
フリップフロップ125−1は、レベル変換部21から供給されたデジタル変調信号を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[4]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][4]を出力する。フリップフロップ125−2は、フリップフロップ125−1から出力されたロジックデータr-inp[0][4]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[1][4]を出力する。ここでは、ロジックデータr-inp[0][4]のセトリングタイムが、サンプリングクロックClock[4]の立ち上がりから、時間的に次のサンプリングクロックClock[2]の立ち上がりまでの時間よりも短いことが利用されている。
フリップフロップ125−3は、フリップフロップ125−2から出力されたロジックデータr-inp[1][4]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[2][4]を出力する。ここでは、ロジックデータr-inp[1][4]のセトリングタイムが、サンプリングクロックClock[2]の立ち上がりから、時間的に次のサンプリングクロックClock[0]の立ち上がりまでの時間よりも短いことが利用されている。フリップフロップ125−4は、フリップフロップ125−3から出力されたロジックデータr-inp[2][4]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータであるサンプリングデータr-inp[3][4]を出力する。
これにより、フリップフロップ125−4からは、デジタル変調信号がサンプリングクロックClock[4]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][4]が出力される。つまり、サンプリングデータr-inp[3][4]をサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングして得られるデータは、デジタル変調信号をサンプリングクロックClock[4]が立ち上がるタイミングでサンプリングしたときのロジックデータと等しく、かつサンプリングクロックClock[0]に同期したデータである。なお、以下、フリップフロップ125−1乃至フリップフロップ125−4のそれぞれを特に区別する必要のない場合、単にフリップフロップ125と称する。
フリップフロップ126−1は、レベル変換部21から供給されたデジタル変調信号を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[5]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][5]を出力する。フリップフロップ126−2は、フリップフロップ126−1から出力されたロジックデータr-inp[0][5]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[1][5]を出力する。ここでは、ロジックデータr-inp[0][5]のセトリングタイムが、サンプリングクロックClock[5]の立ち上がりから、時間的に次のサンプリングクロックClock[3]の立ち上がりまでの時間よりも短いことが利用されている。
フリップフロップ126−3は、フリップフロップ126−2から出力されたロジックデータr-inp[1][5]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[2][5]を出力する。ここでは、ロジックデータr-inp[1][5]のセトリングタイムが、サンプリングクロックClock[3]の立ち上がりから、時間的に次のサンプリングクロックClock[1]の立ち上がりまでの時間よりも短いことが利用されている。
フリップフロップ126−4は、フリップフロップ126−3から出力されたロジックデータr-inp[2][5]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータであるサンプリングデータr-inp[3][5]を出力する。ここでは、ロジックデータr-inp[2][5]のセトリングタイムが、サンプリングクロックClock[1]の立ち上がりから、時間的に次のサンプリングクロックClock[0]の立ち上がりまでの時間よりも短いことが利用されている。
これにより、フリップフロップ126−4からは、デジタル変調信号がサンプリングクロックClock[5]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][5]が出力される。つまり、サンプリングデータr-inp[3][5]をサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングして得られるデータは、デジタル変調信号をサンプリングクロックClock[5]が立ち上がるタイミングでサンプリングしたときのロジックデータと等しく、かつサンプリングクロックClock[0]に同期したデータである。なお、以下、フリップフロップ126−1乃至フリップフロップ126−4のそれぞれを特に区別する必要のない場合、単にフリップフロップ126と称する。
フリップフロップ127−1は、レベル変換部21から供給されたデジタル変調信号を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[6]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][6]を出力する。フリップフロップ127−2は、フリップフロップ127−1から出力されたロジックデータr-inp[0][6]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[4]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[1][6]を出力する。ここでは、ロジックデータr-inp[0][6]のセトリングタイムが、サンプリングクロックClock[6]の立ち上がりから、時間的に次のサンプリングクロックClock[4]の立ち上がりまでの時間よりも短いことが利用されている。
フリップフロップ127−3は、フリップフロップ127−2から出力されたロジックデータr-inp[1][6]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[2][6]を出力する。ここでは、ロジックデータr-inp[1][6]のセトリングタイムが、サンプリングクロックClock[4]の立ち上がりから、時間的に次のサンプリングクロックClock[2]の立ち上がりまでの時間よりも短いことが利用されている。
フリップフロップ127−4は、フリップフロップ127−3から出力されたロジックデータr-inp[2][6]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータであるサンプリングデータr-inp[3][6]を出力する。ここでは、ロジックデータr-inp[2][6]のセトリングタイムが、サンプリングクロックClock[2]の立ち上がりから、時間的に次のサンプリングクロックClock[0]の立ち上がりまでの時間よりも短いことが利用されている。
これにより、フリップフロップ127−4からは、デジタル変調信号がサンプリングクロックClock[6]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][6]が出力される。つまり、サンプリングデータr-inp[3][6]をサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングして得られるデータは、デジタル変調信号をサンプリングクロックClock[6]が立ち上がるタイミングでサンプリングしたときのロジックデータと等しく、かつサンプリングクロックClock[0]に同期したデータである。なお、以下、フリップフロップ127−1乃至フリップフロップ127−4のそれぞれを特に区別する必要のない場合、単にフリップフロップ127と称する。
フリップフロップ128−1は、レベル変換部21から供給されたデジタル変調信号を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[7]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][7]を出力する。フリップフロップ128−2は、フリップフロップ128−1から出力されたロジックデータr-inp[0][7]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[5]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[1][7]を出力する。ここでは、ロジックデータr-inp[0][7]のセトリングタイムが、サンプリングクロックClock[7]の立ち上がりから、時間的に次のサンプリングクロックClock[5]の立ち上がりまでの時間よりも短いことが利用されている。
フリップフロップ128−3は、フリップフロップ128−2から出力されたロジックデータr-inp[1][7]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[2][7]を出力する。ここでは、ロジックデータr-inp[1][7]のセトリングタイムが、サンプリングクロックClock[5]の立ち上がりから、時間的に次のサンプリングクロックClock[3]の立ち上がりまでの時間よりも短いことが利用されている。
フリップフロップ128−4は、フリップフロップ128−3から出力されたロジックデータr-inp[2][7]を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータであるサンプリングデータr-inp[3][7]を出力する。ここでは、ロジックデータr-inp[2][7]のセトリングタイムが、サンプリングクロックClock[3]の立ち上がりから、時間的に次のサンプリングクロックClock[1]の立ち上がりまでの時間よりも短いことが利用されている。
これにより、フリップフロップ128−4からは、デジタル変調信号がサンプリングクロックClock[7]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[1]に同期したサンプリングデータr-inp[3][7]が出力される。つまり、サンプリングデータr-inp[3][7]をサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングして得られるデータは、デジタル変調信号をサンプリングクロックClock[7]が立ち上がるタイミングでサンプリングしたときのロジックデータと等しく、かつサンプリングクロックClock[1]に同期したデータである。
このサンプリングデータr-inp[3][7]は、サンプリングクロックClock[1]に同期したデータであるが、後段の検波データ生成部25および位相比較データ生成部28が、サンプリングデータr-inp[3][7]の出力されるサンプリングクロックClock[1]の立ち上がりから、時間的に次のサンプリングクロックClock[0]の立ち上がりのタイミングで、このサンプリングデータr-inp[3][7]を取得することにより、結果的にサンプリングデータr-inp[3][7]は、サンプリングクロックClock[0]に同期したデータとなる。なお、以下、フリップフロップ128−1乃至フリップフロップ128−4のそれぞれを特に区別する必要のない場合、単にフリップフロップ128と称する。
このように、サンプリングデータ生成部23を構成するフリップフロップのうち、デジタル変調信号が入力されるフリップフロップ121−1乃至フリップフロップ128−1は、保持しているデータが更新されるタイミング、つまり供給されたサンプリングクロックが立ち上がるタイミングにおけるデジタル変調信号のロジックレベル(ロジック値)を判定する。したがって、サンプリングデータ生成部23では、駆動クロックを8分の1周期のn倍(但し、0≦n≦7)だけ遅延させた複数のサンプリングクロックを用いてデジタル変調信号をサンプリングするので、デジタル変調信号を、そのキャリアの周期よりも短い周期でサンプリングすることができる。
また、デジタル変調信号をキャリアの周期よりも短い時間間隔でサンプリングして得られたサンプリングデータを、デジタル変調信号のキャリアの周期(周波数)と同程度の周期(周波数)の駆動クロックで駆動するデジタル回路、すなわち後段の検波データ生成部25および位相比較データ生成部28で処理するためには、これらのサンプリングデータは、駆動クロック、つまりサンプリングクロックClock[0]に同期させる必要がある。
そこで、デジタル変調信号をサンプリングするフリップフロップ121−1乃至フリップフロップ128−1のそれぞれの後段のフリップフロップにおいて、前段のフリップフロップが保持しているロジックデータが更新される前のタイミングであって、できるだけサンプリングクロックClock[0](駆動クロック)との位相のずれが少ないサンプリングクロックの立ち上がりのタイミングで前段から出力されたロジックデータをサンプリングしていくことにより、最終的に、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][0]乃至サンプリングデータr-inp[3][7]を得ることができる。
すなわち、前段のフリップフロップが保持しているロジックデータを、そのフリップフロップがサンプリングに用いたサンプリングクロックの位相よりも、より駆動クロックの位相に近い位相のサンプリングクロックを用いて、サンプリングしていくことにより、駆動クロックに同期したサンプリングデータを得ることができる。
このように、各サンプリングクロックを用いて得られたサンプリングデータを、サンプリングクロックClock[0]に同期させることで、サンプリングデータ生成部23の後段において、サンプリングクロックごとのサンプリングデータを、サンプリングクロックClock[0](駆動クロック)に同期させて同時に処理することができる。従来、各サンプリングデータを駆動クロックのタイミングで同時に処理するには、駆動クロックに対して最も遅延したサンプリングクロックでサンプリングして得られたデータがセトリングするまでの間、サンプリングデータを処理することができなかった。そのため、サンプリングクロックごとのサンプリングデータを同時に処理するためには、セトリングタイムにより駆動クロックの周波数の上限に制約があった。
そこで、いくつかのサンプリングクロックを用いて、サンプリングデータを駆動クロックに同期させることで、セトリングタイムによって駆動クロックの周波数の上限の制約を設ける必要がなくなる。これにより、検波装置11の動作速度の限界の制約をなくすことができ、デジタル変調信号のキャリアの周波数(周期)を駆動クロックの周波数の上限まで高くすることができる。
図6および図7は、図1の検波データ生成部25の構成例を示す図である。
検波データ生成部25は、レジスタ151−1乃至レジスタ151−15、レジスタ152−1乃至レジスタ152−12、レジスタ153−1乃至レジスタ153−8、およびレジスタ154−1乃至レジスタ154−8から構成される。
これらのレジスタは、サンプリングクロック発生部22に供給される駆動クロックと同じ駆動クロックに同期して動作し、駆動クロックが立ち上がるタイミングで前段からデータを取得し、必要に応じてデータを処理する。そして、それらのレジスタは、取得したデータを駆動クロックの1周期分の時間だけ保持した後、駆動クロックが、時間的に次に立ち上がるタイミングで保持しているデータを出力する。
なお、図7において、図6にける場合と対応する部分には同一の符号を付してある。
検波データ生成部25は、駆動クロックが立ち上がるタイミングで、前回サンプリングデータ生成部23から供給されたサンプリングデータr-inp[3][0]乃至サンプリングデータr-inp[3][7]のそれぞれを、レジスタ151−1乃至レジスタ151−8のそれぞれに供するとともに、今回サンプリングデータ生成部23から供給されたサンプリングデータr-inp[3][0]乃至サンプリングデータr-inp[3][6]のそれぞれを、レジスタ151−9乃至レジスタ151−15のそれぞれに供する。
なお、以下では、今回新たに供給されたサンプリングデータと、前回供給されたサンプリングデータとを区別するために、前回供給されたサンプリングデータr-inp[3][0]乃至サンプリングデータr-inp[3][7]を、サンプリングデータr-inp[4][0]乃至サンプリングデータr-inp[4][7]とも称する。
レジスタ151−1乃至レジスタ151−15のそれぞれは、駆動クロックが立ち上がるタイミングで供給されたサンプリングデータr-inp[4][0]乃至サンプリングデータr-inp[3][6]のそれぞれを、駆動クロックの1周期の時間だけ保持する。
したがって、レジスタ151−1乃至レジスタ151−15には、駆動クロックの約2周期分の期間に、8つのサンプリングクロックによりデジタル変調信号をサンプリングして得られたサンプリングデータが保持されることになる。
レジスタ151−1乃至レジスタ151−15は、1周期だけ保持したサンプリングデータを、駆動クロックが立ち上がるタイミングで後段のレジスタに供給する。
すなわち、レジスタ151−1は、保持しているサンプリングデータr-inp[4][0]をレジスタ152−1に供給し、レジスタ151−2は、保持しているサンプリングデータr-inp[4][1]をレジスタ152−1およびレジスタ152−2に供給し、レジスタ151−3は、保持しているサンプリングデータr-inp[4][2]をレジスタ152−1乃至レジスタ152−3に供給する。
また、レジスタ151−4乃至レジスタ151−12のそれぞれは、保持しているサンプリングデータr-inp[4][3]乃至サンプリングデータr-inp[3][3]のそれぞれを、レジスタ152−1乃至レジスタ152−4、レジスタ152−2乃至レジスタ152−5、レジスタ152−3乃至レジスタ152−6、レジスタ152−4乃至レジスタ152−7、レジスタ152−5乃至レジスタ152−8、レジスタ152−6乃至レジスタ152−9、レジスタ152−7乃至レジスタ152−10、レジスタ152−8乃至レジスタ152−11、およびレジスタ152−9乃至レジスタ152−12のそれぞれに供給する。
さらに、レジスタ151−13は、保持しているサンプリングデータr-inp[3][4]をレジスタ152−10乃至レジスタ152−12に供給し、レジスタ151−14は、保持しているサンプリングデータr-inp[3][5]をレジスタ152−11およびレジスタ152−12に供給し、レジスタ151−15は、保持しているサンプリングデータr-inp[3][6]をレジスタ152−12に供給する。
なお、以下、レジスタ151−1乃至レジスタ151−15のそれぞれを個々に区別する必要のない場合、単にレジスタ151と称する。
レジスタ152−1乃至レジスタ152−12のそれぞれは、レジスタ151から供給されたサンプリングデータのロジック値に所定の重みを乗算し、重みが乗算されたロジック値のそれぞれを加算して得られる1ビット以上の精度のデータr-add[0]乃至データr-add[11]を、駆動クロックの1周期だけ保持する。そして、レジスタ152−1乃至レジスタ152−12のそれぞれは、1周期だけ保持したデータr-add[0]乃至データr-add[11]のそれぞれを、駆動クロックが立ち上がるタイミングで後段のレジスタに供給する。
すなわち、レジスタ152−1乃至レジスタ152−12のそれぞれは、レジスタ151−1乃至レジスタ151−4、レジスタ151−2乃至レジスタ151−5、レジスタ151−3乃至レジスタ151−6、レジスタ151−4乃至レジスタ151−7、レジスタ151−5乃至レジスタ151−8、レジスタ151−6乃至レジスタ151−9、レジスタ151−7乃至レジスタ151−10、レジスタ151−8乃至レジスタ151−11、レジスタ151−9乃至レジスタ151−12、レジスタ151−10乃至レジスタ151−13、レジスタ151−11乃至レジスタ151−14、およびレジスタ151−12乃至レジスタ151−15のそれぞれから供給されたサンプリングデータのロジック値に所定の重みを乗算し、重みが乗算されたロジック値を加算して、その結果得られたデータr-add[0]乃至データr-add[11]のそれぞれを保持する。
ここで、サンプリングデータのロジック値に乗算される重みは、例えば、順番に1,1,1,1や、1,2,2,1などとされる。したがって、乗算される重みが1,1,1,および1である場合、例えば、サンプリングデータr-inp[4][0]乃至サンプリングデータr-inp[4][3]のロジック値のそれぞれには、レジスタ152−1により、重み1,1,1,および1のそれぞれが乗算される。但し、ロジック値に乗算される重みは、後述するエラーデータにより、明らかに不適切なサンプリングクロックを除外することができるように定められる。
また、レジスタ152−1乃至レジスタ152−4のそれぞれは、保持しているデータr-add[0]乃至データr-add[3]のそれぞれをレジスタ153−1乃至レジスタ153−4のそれぞれに供給する。
さらに、レジスタ152−5は、保持しているデータr-add[4]を、レジスタ153−1およびレジスタ153−5に供給し、レジスタ152−6は、保持しているデータr-add[5]を、レジスタ153−2およびレジスタ153−6に供給し、レジスタ152−7は、保持しているデータr-add[6]を、レジスタ153−3およびレジスタ153−7に供給し、レジスタ152−8は、保持しているデータr-add[7]を、レジスタ153−4およびレジスタ153−8に供給する。
さらに、また、レジスタ152−9乃至レジスタ152−12のそれぞれは、保持しているデータr-add[8]乃至データr-add[11]のそれぞれをレジスタ153−5乃至レジスタ153−8のそれぞれに供給する。
なお、以下、レジスタ152−1乃至レジスタ152−12のそれぞれを、個々に区別する必要のない場合、単にレジスタ152と称する。
レジスタ153−1乃至レジスタ153−8は、レジスタ152から供給された2つのデータを比較した結果を示す、1ビットのロジックデータである検波データを保持し、保持している検波データを駆動クロックの立ち上がりのタイミングで更新する。
すなわち、レジスタ153−1乃至レジスタ153−8のそれぞれは、レジスタ152−1乃至レジスタ152−8のそれぞれから供給されたデータr-add[0]乃至データr-add[7]のそれぞれと、レジスタ152−5乃至レジスタ152−12のそれぞれから供給されたデータr-add[4]乃至データr-add[11]のそれぞれとを比較し、データr-add[4]乃至データr-add[11]のそれぞれよりもデータr-add[0]乃至データr-add[7]のそれぞれが大きい場合、ロジック値が1である検波データr-cmp[0]乃至検波データr-cmp[7]のそれぞれを保持し、データr-add[0]乃至データr-add[7]のそれぞれが大きくない場合、ロジック値が0である検波データr-cmp[0]乃至検波データr-cmp[7]のそれぞれを保持する。
このようにして得られた検波データr-cmp[0]乃至検波データr-cmp[7]のそれぞれは、サンプリングクロックClock[0]乃至サンプリングクロックClock[7]のそれぞれが、受信したデジタル変調信号のキャリアに同期しているとみなして受信したデジタル変調信号を検波した場合に得られる検波データとされる。
例えば、レジスタ153−1に供給されるデータr-add[0]は、サンプリングクロックClock[0]が立ち上がるタイミングから、そのサンプリングクロックClock[0]の8分の1周期の間隔で、受信したデジタル変調信号を4回サンプリングして得られたサンプリングデータr-inp[4][0]乃至サンプリングデータr-inp[4][3]のロジック値のそれぞれに、さらに重みが乗算された値の和を示している。つまり、データr-add[0]は、サンプリングクロックClock[0]とキャリアとが同期していると仮定して、キャリアの1周期における前半の半周期の期間に、8分の1周期の間隔で受信したデジタル変調信号を4回サンプリングして得られた、4つのサンプリングデータのロジック値に重みを乗算し、さらに重みが乗算されたロジック値の和を求めることにより得られた値を示している。
これに対して、レジスタ153−1に供給されるデータr-add[4]は、サンプリングクロックClock[4]が立ち上がるタイミングから、そのサンプリングクロックClock[4]の8分の1周期の間隔で受信したデジタル変調信号を4回サンプリングして得られたサンプリングデータr-inp[4][4]乃至サンプリングデータr-inp[4][7]のロジック値のそれぞれに、さらに重みが乗算された値の和を示している。つまり、データr-add[4]は、サンプリングクロックClock[0]とキャリアとが同期していると仮定して、キャリアの1周期における後半の半周期の期間に、8分の1周期の間隔で受信したデジタル変調信号を4回サンプリングして得られた、4つのサンプリングデータのロジック値に重みを乗算し、さらに重みが乗算されたロジック値の和を求めることにより得られた値を示している。
そして、レジスタ153−1において保持される検波データr-cmp[0]は、データr-add[0]がデータr-add[4]よりも大きい場合にロジック値が1となり、そうでない場合にロジック値が0となるロジックデータであるから、重みが乗算されたキャリアの前半の半周期のサンプリングデータのロジック値の和と、重みが乗算された後半の半周期のサンプリングデータのロジック値の和とを比較して、どちらが大きいかをロジック値の多数決により決定した結果を示すロジック値となる。
受信したデジタル変調信号がキャリアと同期したサンプリングクロックにより検波された場合、検波により得られたベースバンドデータのロジック値が1であるときには、キャリアの前半の半周期の期間にサンプリングされたサンプリングデータのロジック値は1となり、キャリアの後半の半周期の期間にサンプリングされたサンプリングデータのロジック値は0となる。
したがって、この検波データr-cmp[0]のロジック値は、サンプリングクロックClock[0]の位相が受信したデジタル変調信号のキャリアの位相と一致している、つまり同期していると仮定して、受信したデジタル変調信号をキャリアの8分の1周期の間隔でサンプリングして得られるサンプリングデータを、さらにダウンコンバートすることにより得られた元のベースバンドデータのロジック値に他ならない。すなわち、検波データr-cmp[0]は、サンプリングクロックClock[0]が受信したデジタル変調信号のキャリアと同期していると仮定して、受信したデジタル変調信号を検波した場合に得られる検波データとなる。
なお、以下、レジスタ153−1乃至レジスタ153−8のそれぞれを個々に区別する必要のない場合、単にレジスタ153と称する。
また、レジスタ152は、図7に示すように、1周期だけ保持したデータをレジスタ153に供給するとともに、1周期だけ保持したデータを、駆動クロックが立ち上がるタイミングでレジスタ154−1乃至レジスタ154−8のうちのいくつかのレジスタにも供給する。
すなわち、レジスタ152−1乃至レジスタ152−4のそれぞれは、保持しているデータr-add[0]乃至データr-add[3]のそれぞれを、レジスタ154−1乃至レジスタ154−4のそれぞれに供給する。
また、レジスタ152−5は、保持しているデータr-add[4]を、レジスタ154−1およびレジスタ154−5に供給し、レジスタ152−6は、保持しているデータr-add[5]を、レジスタ154−2およびレジスタ154−6に供給し、レジスタ152−7は、保持しているデータr-add[6]を、レジスタ154−3およびレジスタ154−7に供給し、レジスタ152−8は、保持しているデータr-add[7]を、レジスタ154−4およびレジスタ154−8に供給する。
さらに、レジスタ152−9乃至レジスタ152−12のそれぞれは、保持しているデータr-add[8]乃至データr-add[11]のそれぞれを、レジスタ154−5乃至レジスタ154−8のそれぞれに供給する。
レジスタ154−1乃至レジスタ154−8は、レジスタ152から供給された2つのデータを比較した結果を示す、1ビットのロジックデータであるエラーデータを保持し、保持しているエラーデータを駆動クロックの立ち上がりのタイミングで更新する。
すなわち、レジスタ154−1乃至レジスタ154−8のそれぞれは、レジスタ152−1乃至レジスタ152−8のそれぞれから供給されたデータr-add[0]乃至データr-add[7]のそれぞれと、レジスタ152−5乃至レジスタ152−12のそれぞれから供給されたデータr-add[4]乃至データr-add[11]のそれぞれとを比較し、データr-add[4]乃至データr-add[11]のそれぞれとデータr-add[0]乃至データr-add[7]のそれぞれとが等しい場合、ロジック値が1であるエラーデータr-err[0]乃至エラーデータr-err[7]のそれぞれを保持し、データr-add[4]乃至データr-add[11]のそれぞれとデータr-add[0]乃至データr-add[7]のそれぞれとが等しくない場合、ロジック値が0であるエラーデータr-err[0]乃至エラーデータr-err[7]のそれぞれを保持する。
これらのエラーデータr-err[0]乃至エラーデータr-err[7]は、初期位相決定部26において、サンプリングクロックClock[0]乃至サンプリングクロックClock[7]のうちの何れかが、デジタル変調信号のキャリアに同期したサンプリングクロックとして選択される場合に、不適切なサンプリングクロックが選択されないようにするために用いられる。
例えば、レジスタ153−1では、データr-add[0]とデータr-add[4]とが比較されて検波データr-cmp[0]のロジック値が定められ、データr-add[0]とデータr-add[4]とが等しい場合には、検波データr-cmp[0]のロジック値は0とされる。
ところが、データr-add[0]とデータr-add[4]とが等しい場合、キャリアと同期しているとして検波に用いたサンプリングクロックClock[0]は、実際にはキャリアの4分の1周期、または4分の2周期だけキャリアに対して遅延している。つまり、サンプリングデータr-inp[4][0]乃至サンプリングデータr-inp[4][7]がサンプリングされた期間の中間の位置は、実際のキャリアの4分の3周期の位置であるか、または1周期の開始位置であって、キャリアの位相が反転される位置となる。
したがって、検波に用いられたサンプリングクロックClock[0]は、キャリアに同期していないので、そのようなサンプリングクロックClock[0]が、キャリアと同期するサンプリングクロックとして選択されないように、つまりキャリアに同期しないサンプリングクロックが用いられて得られた検波データr-cmp[0]が最終的な検波データとして選択されないように、エラーデータr-err[0]のロジック値は1とされる。このエラーデータr-err[0]のロジック値1は、検波データr-cmp[0]が、キャリアと同期していないサンプリングクロックClock[0]を用いた検波により得られたデータであることを示している。
また、データr-add[0]とデータr-add[4]とが等しくない場合、エラーデータr-err[0]のロジック値は0とされ、このロジック値0は、検波データr-cmp[0]を得るための検波に用いられたサンプリングクロックClock[0]が、キャリアに同期している可能性があることを示している。
このように、エラーデータr-err[0]は、サンプリングクロックClock[0]についてのエラーデータとされ、同様に、エラーデータr-err[1]乃至エラーデータr-err[7]のそれぞれは、サンプリングクロックClock[1]乃至サンプリングクロックClock[7]のそれぞれについてのエラーデータとされる。
なお、以下、レジスタ154−1乃至レジスタ154−8のそれぞれを個々に区別する必要のない場合、単にレジスタ154と称する。
また、以上においては、レジスタ151が保持しているサンプリングデータがレジスタ152に供給され、レジスタ152に保持されているデータがレジスタ153およびレジスタ154に供給されると説明したが、図7に示すレジスタ151およびレジスタ152に対応するレジスタが別に設けられるようにしてもよい。
そのような場合、レジスタ151が保持しているサンプリングデータがレジスタ152に供給され、レジスタ152に保持されているデータがレジスタ153に供給される。また、レジスタ151に対応するレジスタに、レジスタ151に供給されるサンプリングデータと同じデータが供給されて、レジスタ151に対応するレジスタは、供給されたサンプリングデータを保持するとともに、レジスタ152に対応するレジスタに供給する。そして、レジスタ152に対応するレジスタは、保持しているデータをレジスタ154に供給する。
さらに、この場合、レジスタ152において、サンプリングデータに乗算される重みと、レジスタ152に対応するレジスタにおいて、サンプリングデータに乗算される重みとが異なるようにしてもよい。つまり、検波データを生成するためにサンプリングデータに乗算される重みと、エラーデータを生成するためにサンプリングデータに乗算される重みとが異なるようにしてもよい。
図8は、図1の初期位相決定部26の構成例を示すブロック図である。
初期位相決定部26は、パタン検出部181−1乃至パタン検出部181−4、位相ロック検出部182、および位相エンコーダ183から構成される。また、初期位相決定部26の各部は、サンプリングクロック発生部22に供給される駆動クロックと同じ駆動クロックに同期して動作する。つまり、初期位相決定部26は、駆動クロックの立ち上がりのタイミングで動作する。
パタン検出部181−1には、サンプリングクロックClock[0]を用いた検波により得られた検波データr-cmp[0]と、その検波データr-cmp[0]についてのエラーデータr-err[0]とが検波データ生成部25から供給される。パタン検出部181−1は、供給された検波データr-cmp[0]およびエラーデータr-err[0]に基づいて、受信したデジタル変調信号から予め定められた固定パタンを検出し、その検出結果を示す検出フラグLock[0]を位相ロック検出部182に供給する。
デジタル変調信号には、その先頭の部分、例えばプリアンブルと呼ばれる部分に16ビットの固定パタン“0000111100001111”が含まれ、その固定パタンが繰り返し出現するようになされている。そこで、パタン検出部181−1は、その固定パタンが検出された場合には、検出フラグLock[0]に1を設定して、検出フラグを位相ロック検出部182に供給し、固定パタンが検出されない場合には、検出フラグLock[0]に0を設定して、検出フラグを位相ロック検出部182に供給する。なお、固定パタン“0000111100001111”の各ロジック値1または0は、その先頭側から時間的に新しく検波された順に並べられている。
パタン検出部181−2乃至パタン検出部181−4のそれぞれは、検波データ生成部25から供給された検波データr-cmp[2]およびエラーデータr-err[2]、検波データr-cmp[4]およびエラーデータr-err[4]、並びに検波データr-cmp[6]およびエラーデータr-err[6]のそれぞれに基づいて、受信したデジタル変調信号から固定パタンを検出し、その検出結果を示す検出フラグLock[2]、検出フラグLock[4]、および検出フラグLock[6]のそれぞれを位相ロック検出部182に供給する。
なお、以下、パタン検出部181−1乃至パタン検出部181−4のそれぞれを、個々に区別する必要のない場合、単にパタン検出部181と称する。
ここで、図9を参照して、パタン検出部181のより詳細な構成について説明する。図9は、パタン検出部181−1の構成例を示す図である。
パタン検出部181−1は、レジスタ211−1乃至レジスタ211−16、論理積演算部212、レジスタ213−1乃至レジスタ213−16、論理積演算部214、および論理積演算部215から構成される。
レジスタ211−1は、駆動クロックの立ち上がりのタイミングで検波データ生成部25のレジスタ153−1から検波データr-cmp[0]を取得し、駆動クロックの1周期分の時間だけ保持した後、保持している検波データr-cmp[0]をレジスタ211−2および論理積演算部212に供給する。
レジスタ211−2乃至レジスタ211−15のそれぞれは、駆動クロックの立ち上がりのタイミングでレジスタ211−1乃至レジスタ211−14のそれぞれに保持されている検波データr-cmp[0]を取得し、駆動クロックの1周期だけ保持した後、保持している検波データr-cmp[0]をレジスタ211−3乃至レジスタ211−16のそれぞれに供給するとともに、論理積演算部212に供給する。
レジスタ211−16は、駆動クロックの立ち上がりのタイミングでレジスタ211−15に保持されている検波データr-cmp[0]を取得し、駆動クロックの1周期だけ保持した後、保持している検波データr-cmp[0]を論理積演算部212に供給する。
したがって、レジスタ211−1乃至レジスタ211−16に保持されている検波データが並べられてできるデータ系列は、受信したデジタル変調信号をサンプリングクロックClock[0]で検波して得られた検波データのロジック値が時系列に連続して並べられてできる16ビットのデータ系列となる。なお、以下、レジスタ211−1乃至レジスタ211−16のそれぞれを個々に区別する必要のない場合、単にレジスタ211と称する。
ここで、レジスタ211−1乃至レジスタ211−4、およびレジスタ211−9乃至レジスタ211−12に保持されている検波データのそれぞれは、反転(論理反転)されて論理積演算部212に供給される。
論理積演算部212は、レジスタ211−1乃至レジスタ211−16から供給された検波データのロジック値の論理積を演算し、その演算結果を論理積演算部215に供給する。したがって、16個の連続する検波データのロジック値の系列が、固定パタン“0000111100001111”と一致する場合、つまりサンプリングクロックClock[0]を用いた検波によって、受信したデジタル変調信号から固定パタンが検出された場合に、論理積演算部212からロジック値1が出力され、検波データのロジック値の系列と固定パタンとが一致しない場合には、論理積演算部212からロジック値0が出力される。
また、レジスタ213−1は、駆動クロックの立ち上がりのタイミングで検波データ生成部25のレジスタ154−1からエラーデータr-err[0]を取得し、駆動クロックの1周期だけ保持した後、保持しているエラーデータr-err[0]をレジスタ213−2および論理積演算部214に供給する。
レジスタ213−2乃至レジスタ213−15のそれぞれは、駆動クロックの立ち上がりのタイミングでレジスタ213−1乃至レジスタ213−14のそれぞれに保持されているエラーデータr-err[0]を取得し、駆動クロックの1周期だけ保持した後、保持しているエラーデータr-err[0]をレジスタ213−3乃至レジスタ213−16のそれぞれに供給するとともに、論理積演算部214に供給する。
レジスタ213−16は、駆動クロックの立ち上がりのタイミングでレジスタ213−15に保持されているエラーデータr-err[0]を取得し、駆動クロックの1周期だけ保持した後、保持しているエラーデータr-err[0]を論理積演算部214に供給する。
なお、以下、レジスタ213−1乃至レジスタ213−16のそれぞれを個々に区別する必要のない場合、単にレジスタ213と称する。
ここで、レジスタ213に保持されているエラーデータのそれぞれは、反転(論理反転)されて論理積演算部214に供給される。
論理積演算部214は、レジスタ213−1乃至レジスタ213−16から供給されたエラーデータのロジック値の論理積を演算し、その演算結果を論理積演算部215に供給する。ここで、エラーデータr-err[0]は、サンプリングクロックClock[0]が明らかに受信したデジタル変調信号のキャリアに同期していない場合に、そのロジック値が1とされる。したがって、論理積演算部214に供給されるエラーデータの全てのロジック値が0である場合には、論理積演算部214からロジック値1が出力され、論理積演算部214に1つでもロジック値が1であるエラーデータが供給された場合には、論理積演算部214からロジック値0が出力される。
論理積演算部215は、論理積演算部212から供給されたロジック値、および論理積演算部214から供給されたロジック値の論理積を演算し、その結果を検出フラグLock[0]として位相ロック検出部182に供給する。つまり、論理積演算部215から位相ロック検出部182には、サンプリングクロックClock[0]が不適切であるとはされず、かつサンプリングクロックClock[0]を用いた検波によって、受信したデジタル変調信号から固定パタンが検出された場合に、1が設定された検出フラグLock[0]が供給され、サンプリングクロックClock[0]が不適切であるとされたか、または固定パタンが検出されなかった場合には、0が設定された検出フラグLock[0]が供給される。
この検出フラグLock[0]は、受信したデジタル変調信号からの固定パタンの検出結果の妥当性を示すフラグとして利用される。つまり、検出フラグLock[0]が1に設定されている場合には、サンプリングクロックClock[0]とキャリアとの位相差は、サンプリングクロックClock[0]を用いてデジタル変調信号の検波を行ったときに、ベースバンドデータの正しいロジック値を得ることができる程度の差であることが分かる。
なお、パタン検出部181−2乃至パタン検出部181−4も図9に示したパタン検出部181−1と同様の構成とされるため、その説明は省略する。
図8の説明に戻り、パタン検出部181から位相ロック検出部182に検出フラグが供給されると、位相ロック検出部182は、パタン検出部181から供給された検出フラグに基づいて、ロックフラグ(Lock-flag)を位相エンコーダ183に供給する。
より具体的には、位相ロック検出部182は、検出フラグごとに、駆動クロックの周期でカウントされるカウンタを有しており、1度、1に設定された検出フラグが位相ロック検出部182に供給されると、その検出フラグのカウンタは、駆動クロックの3周期だけその検出フラグの値1を保持する。そして、位相ロック検出部182は、駆動クロックの2周期の期間、全ての検出フラグごとのカウンタに保持されている値が変化しなかった場合、つまり各カウンタが2周期の期間、同じ値を保持し続けた場合、それらのカウンタに保持されている検出フラグの値を順番に並べた値を、ロックフラグとして出力し、それ以降は同じ値のロックフラグを出力し続ける。
したがって、例えば、位相ロック検出部182の検出フラグごとのカウンタが保持している検出フラグLock[0]、検出フラグLock[2]、検出フラグLock[4]、および検出フラグLock[6]のそれぞれの値が、駆動クロックの2周期の期間、継続して1,1,0,0となった場合、位相ロック検出部182は、検出フラグが、検出フラグLock[6]乃至検出フラグLock[0]の順番に並べられた、値が“0011”であるロックフラグを出力する。そして、その後、位相ロック検出部182はカウンタの値によらず、継続して値が“0011”であるロックフラグを出力し続ける。
ここで、検出フラグは、サンプリングクロックでデジタル変調信号を検波した結果、固定パタンが検出されてから、駆動クロックの1周期の間だけ1に設定されるフラグであるが、実際にはサンプリングクロックでサンプリングするタイミングによっては、パタン検出部181において固定パタンが検出されるタイミングが、他のパタン検出部181において固定パタンが検出されるタイミングとは1周期分だけずれてしまうことがある。そこで、そのような固定パタンの検出のずれをなくすために、検出フラグごとのカウンタは、1に設定された検出フラグが供給されると、その値を3周期の間保持し続ける。
位相エンコーダ183は、位相ロック検出部182から供給されたロックフラグに基づいて、キャリアの初期位相を決定する。すなわち、位相エンコーダ183は、供給されたロックフラグの値により定まる、受信したデジタル変調信号のキャリアに最も近い位相のサンプリングクロックを示す初期位相データ(phase-init)を、検波データ決定部27および位相比較データ決定部29に供給する。
例えば、位相エンコーダ183は、図10に示すテーブルを予め保持しており、供給されたロックフラグにより定まる値の初期位相データを出力する。図10では、位相エンコーダ183に入力されるロックフラグ(Lock-flag)と、そのロックフラグに応じて出力される初期位相データ(phase-init)の値が示されている。
すなわち、値が“0001”であるロックフラグが入力された場合は、値が0である初期位相データが出力され、値が“0010”であるロックフラグが入力された場合は、値が2である初期位相データが出力され、値が“0011”であるロックフラグが入力された場合は、値が1である初期位相データが出力され、値が“0100”であるロックフラグが入力された場合は、値が4である初期位相データが出力される。
また、値が“0110”であるロックフラグが入力された場合は、値が3である初期位相データが出力され、値が“0111”であるロックフラグが入力された場合は、値が2である初期位相データが出力され、値が“1000”であるロックフラグが入力された場合は、値が6である初期位相データが出力され、値が“1001”であるロックフラグが入力された場合は、値が7である初期位相データが出力される。
さらに、値が“1011”であるロックフラグが入力された場合は、値が0である初期位相データが出力され、値が“1100”であるロックフラグが入力された場合は、値が5である初期位相データが出力され、値が“1101”であるロックフラグが入力された場合は、値が6である初期位相データが出力され、値が“1110”であるロックフラグが入力された場合は、値が4である初期位相データが出力される。
ここで、初期位相データの値0乃至7のそれぞれは、デジタル変調信号の受信が開始された直後のキャリアの位相に最も近い位相のサンプリングクロックが、サンプリングクロックClock[0]乃至サンプリングクロックClock[7]のそれぞれであることを示している。
また、例えばロックフラグの値“0001”における4つのロジック値は、先頭から順番に検出フラグLock[6]、検出フラグLock[4]、検出フラグLock[2]、および検出フラグLock[0]のそれぞれの値を示している。したがって、値が“0001”であるロックフラグによれば、サンプリングクロックClock[0]を用いた検波により、デジタル変調信号から固定パタンが検出され、他のサンプリングクロックを用いた検波では、固定パタンが検出されなかったことが分かる。
そこで、位相エンコーダ183は、値が“0001”であるロックフラグが供給された場合には、受信したデジタル変調信号のキャリアの位相と最も位相の近いサンプリングクロックは、サンプリングクロックClock[0]であるとして、値が0である初期位相データを出力する。
また、例えば、値が“0011”であるロックフラグは、サンプリングクロックClock[0]を用いた検波、およびサンプリングクロックClock[2]を用いた検波により、受信したデジタル変調信号から固定パタンが検出されたことを示している。そこで、値が“0011”であるロックフラグが供給された場合、位相エンコーダ183は、サンプリングクロックClock[0]とサンプリングクロックClock[2]との中間の位相のサンプリングクロックClock[1]が、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックであるとして、値が1である初期位相データを出力する。
さらに、例えば、値が“0111”であるロックフラグは、サンプリングクロックClock[0]を用いた検波、サンプリングクロックClock[2]を用いた検波、およびサンプリングクロックClock[4]を用いた検波により、受信したデジタル変調信号から固定パタンが検出されたことを示している。そこで、値が“0111”であるロックフラグが供給された場合、位相エンコーダ183は、サンプリングクロックClock[0]、サンプリングクロックClock[2]、およびサンプリングクロックClock[4]の中間の位相のサンプリングクロックClock[2]が、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックであるとして、値が2である初期位相データを出力する。
なお、“0000”、“0101”、“1111”といった値のロックフラグが、位相エンコーダ183に供給された場合、位相エンコーダ183は、保持しているテーブルを用いてキャリアの初期位相を決定することができない。そこで、ロックフラグの値が、位相エンコーダ183において処理できない値、つまり保持しているテーブルに含まれていない、組み合わせとして有り得ない値となる場合には、位相ロック検出部182からロックフラグが出力されないようになされている。
また、初期位相決定部26においては、サンプリングクロックClock[0]、サンプリングクロックClock[2]、サンプリングクロックClock[4]、およびサンプリングクロックClock[6]のそれぞれを用いた検波により得られた検波データを利用して、キャリアの初期位相を決めるようにしたが、他のサンプリングクロックClock[1]、サンプリングクロックClock[3]、サンプリングクロックClock[5]、およびサンプリングクロックClock[7]のそれぞれを用いた検波により得られた検波データも利用するようにしてもよい。
次に、図11は、図1の検波データ決定部27の構成例を示すブロック図である。
検波データ決定部27は、加算器241およびデマルチプレクサ242から構成される。
加算器241には、初期位相決定部26から初期位相データが供給され、サンプリングクロック決定部30から位相比較ローパスデータが供給される。加算器241は、供給された初期位相データと、位相比較ローパスデータとを加算して、その結果得られた値をデマルチプレクサ242に供給する。
なお、より詳細には、初期位相データと、位相比較ローパスデータとは異なるビット数のデータであるので、初期位相データの後ろに予め定められた所定のビット数のデータ、例えば、5ビットのデータ“00000”が付加されて加算が行われる。
デマルチプレクサ242は、加算器241から供給された値に基づいて、検波データ生成部25から供給された検波データr-cmp[0]乃至検波データr-cmp[7]のうちの何れか1つを選択し、選択した検波データを最終的な検波データr-datとして出力する。すなわち、デマルチプレクサ242においては、加算器241から供給される各値について、どの検波データが選択されるかが予め定められている。そして、加算器241から供給された値に応じて選択された検波データが、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックを用いた検波により得られた検波データであるとされて出力される。
ここで、位相比較ローパスデータの値は、デジタル変調信号の受信が開始された直後は0とされ、その後時間の経過とともにその値が変化する。したがって、例えば、デジタル変調信号の受信開始直後においては、位相比較ローパスデータの値は0であるので、加算器241からデマルチプレクサ242には、初期位相データの値がそのまま出力される。そして、デマルチプレクサ242においては、初期位相データにより示されるサンプリングクロックを用いた検波により得られた検波データが、最終的な検波データとして選択される。
図12は、位相比較データ生成部28の構成例を示す図である。
位相比較データ生成部28は、レジスタ271−1乃至レジスタ271−15、レジスタ272−1乃至レジスタ272−12、およびレジスタ273−1乃至レジスタ273−8から構成される。
位相比較データ生成部28を構成するこれらのレジスタは、サンプリングクロック発生部22に供給される駆動クロックと同じ駆動クロックに同期して動作し、駆動クロックが立ち上がるタイミングで前段からデータを取得し、必要に応じてデータを処理する。そして、それらのレジスタは、取得したデータを駆動クロックの1周期分の時間だけ保持した後、駆動クロックが、時間的に次に立ち上がるタイミングで保持しているデータを出力する。
位相比較データ生成部28は、駆動クロックが立ち上がるタイミングで、前回サンプリングデータ生成部23から供給されたサンプリングデータr-inp[4][0]乃至サンプリングデータr-inp[4][7]のそれぞれを、レジスタ271−1乃至レジスタ271−8のそれぞれに供するとともに、今回サンプリングデータ生成部23から供給されたサンプリングデータr-inp[3][0]乃至サンプリングデータr-inp[3][6]のそれぞれを、レジスタ271−9乃至レジスタ271−15のそれぞれに供する。
レジスタ271−1乃至レジスタ271−15のそれぞれは、駆動クロックが立ち上がるタイミングで供給されたサンプリングデータr-inp[4][0]乃至サンプリングデータr-inp[3][6]のそれぞれを、駆動クロックの1周期だけ保持する。
レジスタ271−1乃至レジスタ271−15は、1周期だけ保持したサンプリングデータを、次に駆動クロックが立ち上がるタイミングで後段のレジスタに供給する。
すなわち、レジスタ271−1は、保持しているサンプリングデータr-inp[4][0]をレジスタ272−1に供給し、レジスタ271−2は、保持しているサンプリングデータr-inp[4][1]をレジスタ272−1およびレジスタ272−2に供給し、レジスタ271−3は、保持しているサンプリングデータr-inp[4][2]をレジスタ272−1乃至レジスタ272−3に供給する。
また、レジスタ271−4乃至レジスタ271−12のそれぞれは、保持しているサンプリングデータr-inp[4][3]乃至サンプリングデータr-inp[3][3]のそれぞれを、レジスタ272−1乃至レジスタ272−4、レジスタ272−2乃至レジスタ272−5、レジスタ272−3乃至レジスタ272−6、レジスタ272−4乃至レジスタ272−7、レジスタ272−5乃至レジスタ272−8、レジスタ272−6乃至レジスタ272−9、レジスタ272−7乃至レジスタ272−10、レジスタ272−8乃至レジスタ272−11、およびレジスタ272−9乃至レジスタ272−12のそれぞれに供給する。
さらに、レジスタ271−13は、保持しているサンプリングデータr-inp[3][4]をレジスタ272−10乃至レジスタ272−12に供給し、レジスタ271−14は、保持しているサンプリングデータr-inp[3][5]をレジスタ272−11およびレジスタ272−12に供給し、レジスタ271−15は、保持しているサンプリングデータr-inp[3][6]をレジスタ272−12に供給する。
なお、以下、レジスタ271−1乃至レジスタ271−15のそれぞれを個々に区別する必要のない場合、単にレジスタ271と称する。
レジスタ272−1乃至レジスタ272−12のそれぞれは、レジスタ271から供給されたサンプリングデータのロジック値に所定の重みを乗算し、重みが乗算されたロジック値を加算して得られる−2以上2以下である3ビットのデータp-add[0]乃至データp-add[11]のそれぞれを、駆動クロックの1周期だけ保持する。そして、レジスタ272−1乃至レジスタ272−12のそれぞれは、1周期だけ保持したデータp-add[0]乃至データp-add[11]のそれぞれを、駆動クロックが立ち上がるタイミングで後段のレジスタに供給する。
すなわち、レジスタ272−i(但し、1≦i≦12)は、レジスタ271−i乃至レジスタ271−(i+3)から供給されたサンプリングデータのそれぞれに、重みとして1,1,−1,および−1のそれぞれを乗算して、重みが乗算されたサンプリングデータを加算して得られたデータp-add[i-1]を保持する。
また、レジスタ272−1乃至レジスタ272−4のそれぞれは、保持しているデータp-add[0]乃至データp-add[3]のそれぞれをレジスタ273−1乃至レジスタ273−4のそれぞれに供給する。
レジスタ272−5乃至レジスタ272−8のそれぞれは、保持しているデータp-add[4]乃至データp-add[7]のそれぞれをレジスタ273−1乃至レジスタ273−4のそれぞれに供給するとともに、レジスタ273−5乃至レジスタ273−8のそれぞれに供給する。
レジスタ272−9乃至レジスタ272−12のそれぞれは、保持しているデータp-add[8]乃至データp-add[11]のそれぞれをレジスタ273−5乃至レジスタ273−8のそれぞれに供給する。
なお、以下、レジスタ272−1乃至レジスタ272−12のそれぞれを、個々に区別する必要のない場合、単にレジスタ272と称する。
レジスタ273−1乃至レジスタ273−8は、レジスタ272から供給された2つのデータのそれぞれに所定の重みを乗算し、重みが乗算されたデータを加算して得られた、−4以上4以下である4ビットの位相比較データを保持し、保持している位相比較データを駆動クロックの立ち上がりのタイミングで更新する。
すなわち、レジスタ273−i(但し、1≦i≦8)は、レジスタ272−iから供給されたデータp-add[i-1]、およびレジスタ272−(i+4)から供給されたデータp-add[i+3]のそれぞれに、重みとして1および−1のそれぞれを乗算して加算することにより得られた位相比較データp-err[i-1]を保持する。ここでは、レジスタ272から供給された2つのデータに、それぞれ重みとして1および−1が乗算されるので、位相比較データp-err[i-1]は、データp-add[i-1]とデータp-add[i+3]との差とされる。
このようにして得られた位相比較データp-err[i-1](但し、1≦i≦8)は、サンプリングクロックClock[i-1]が立ち上がるタイミングから、そのサンプリングクロックの8分の1周期の間隔で受信したデジタル変調信号を8回サンプリングして得られたサンプリングデータのロジック値のそれぞれに、重みとして、1,1,−1,−1,−1,−1,1,および1を乗算して加算することにより得られた値、すなわち重みが乗算されたサンプリングデータの和に等しい。この位相比較データp-err[i-1]は、−4以上4以下の値となり、その値は、サンプリングクロックClock[i-1]の位相が、デジタル変調信号のキャリアの位相に対してどの程度ずれているか(遅延しているか)を示している。
なお、以下、レジスタ273−1乃至レジスタ273−8のそれぞれを個々に区別する必要のない場合、単にレジスタ273と称する。また、レジスタ272やレジスタ273においてデータに乗算される重みは、1や−1に限らず任意のものとすることができる。
図13は、図1の位相比較データ決定部29の構成例を示すブロック図である。
位相比較データ決定部29は、加算器301およびデマルチプレクサ302から構成される。
加算器301には、初期位相決定部26から初期位相データが供給され、サンプリングクロック決定部30から位相比較ローパスデータが供給される。加算器301は、供給された初期位相データと、位相比較ローパスデータとを加算して、その結果得られた値をデマルチプレクサ302に供給する。
なお、より詳細には、初期位相データと、位相比較ローパスデータとは異なるビット数のデータであるので、初期位相データの後ろに予め定められた所定のビット数のデータが付加されて加算が行われる。
デマルチプレクサ302は、加算器301から供給された値に基づいて、位相比較データ生成部28から供給された位相比較データp-err[0]乃至位相比較データp-err[7]のうちの何れか1つを選択し、選択した位相比較データを最終的な位相比較データp-errとして出力する。すなわち、デマルチプレクサ302においては、加算器301から供給される各値について、どの位相比較データが選択されるかが予め定められている。そして、加算器301から供給された値に応じて選択された位相比較データが、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックの位相比較データとして出力される。
図14は、図1のサンプリングクロック決定部30の構成例を示す図である。
サンプリングクロック決定部30は、セレクタ331、増幅器332、ローパスフィルタ333、および増幅器334から構成される。
セレクタ331には、検波データ決定部27から最終的な検波データr-datが供給される。また、サンプリングクロック決定部30は、位相比較データ決定部29から供給された最終的な位相比較データp-errをそのままセレクタ331に供給するとともに、−1を乗算した位相比較データp-errをセレクタ331に供給する。
セレクタ331は、検波データ決定部27から供給された検波データr-datのロジック値に基づいて、そのまま供給された位相比較データp-err、または−1が乗算された位相比較データp-errのうちの何れか一方を選択し、選択した位相比較データを増幅器332に供給する。
ここで、受信したデジタル変調信号が、特にBPSK信号などの、データに応じて位相が反転する信号である場合、ベースバンドデータ、つまり元のデータのロジック値に応じて、その位相が反転されるため、完全な周期波ではなくなるので、位相比較データp-errは、厳密にはその極性が考慮されていないデータである。すなわちデジタル変調信号の所定の区間が、位相が反転された区間であるか否かによって、その区間に対応する位相比較データp-errの極性は変化する。そこで、セレクタ331は、検波データのロジック値に応じて、そのままの位相比較データ、または−1が乗算された位相比較データの何れかを選択することで、位相の変化していないキャリアに対するサンプリングクロックの位相のずれを示す位相比較データを得ることができる。
例えば、セレクタ331は、検波データr-datのロジック値が1である場合には、そのままの位相比較データを選択し、検波データr-datのロジック値が0である場合には、−1が乗算された位相比較データを選択する。
増幅器332は、セレクタ331から供給された位相比較データを必要に応じて増幅、または減衰させて、ローパスフィルタ333に供給する。ローパスフィルタ333は、増幅器332から供給された位相比較データの低周波数成分を除去し、低周波数成分が除去された位相比較データを増幅器334に供給する。
ローパスフィルタ333は、加算器341および遅延部342から構成される。加算器341は、増幅器332から供給された位相比較データと、遅延部342から供給された、前回出力された位相比較ローパスデータとを加算して、その結果得られたデータを新たな位相比較ローパスデータとして遅延部342に供給する。
遅延部342は、加算器341から供給された位相比較ローパスデータを、駆動クロックの1周期だけ遅延させた後、増幅器334に供給するとともに加算器341に供給する。これにより、ローパスフィルタ333からは、受信したデジタル変調信号のキャリアの位相が、デジタル変調信号の受信を開始した直後から、相対的にどれだけずれたかを示す位相比較ローパスデータが出力される。
増幅器334は、ローパスフィルタ333から供給された位相比較ローパスデータを、必要に応じて増幅または減衰させ、検波データ決定部27および位相比較データ決定部29に供給する。
次に、図15のフローチャートを参照して、検波装置11が入力されたデジタル変調信号を検波して、元のベースバンドデータである検波データを出力する処理である検波処理について説明する。
ステップS11において、レベル変換部21は、供給されたデジタル変調信号のレベル変換を行って、レベルの変換されたデジタル変調信号をサンプリングデータ生成部23に供給する。すなわち、インバータ62は、コンデンサ61を介して入力されたデジタル変調信号のレベルを、その中心のレベルがロジック判定の基準レベルとなるように変換し、レベルが変換されたデジタル変調信号を出力する。
ステップS12において、サンプリングクロック発生部22は、供給された駆動クロックに基づいて、複数のサンプリングクロックを生成し、生成したそれらのサンプリングクロックを、サンプリングデータ生成部23に供給する。
すなわち、サンプリングクロック発生部22は、供給された駆動クロックを、サンプリングクロックClock[0]としてそのまま出力し、インバータ94は、供給された駆動クロックを反転させることで得られたサンプリングクロックClock[4]を出力する。
また、遅延部91乃至遅延部93は、供給された駆動クロックを遅延させ、遅延された駆動クロックをサンプリングクロックClock[1]乃至サンプリングクロックClock[3]として出力するとともに、インバータ95乃至インバータ97に供給する。インバータ95乃至インバータ97は、遅延部91乃至遅延部93からの駆動クロックを反転させて得られたサンプリングクロックClock[5]乃至サンプリングクロックClock[7]を出力する。
これにより、8つのサンプリングクロックClock[0]乃至サンプリングクロックClock[7]がサンプリングデータ生成部23に供給される。
ステップS13において、サンプリングデータ生成部23は、サンプリングデータ生成処理を行う。なお、サンプリングデータ生成処理の詳細は後述するが、このサンプリングデータ生成処理において、サンプリングデータ生成部23は、サンプリングクロック発生部22から供給されたサンプリングクロックを用いて、レベル変換部21から供給されたデジタル変調信号をサンプリングし、その結果得られたサンプリングクロックごとのサンプリングデータr-inp[3][0]乃至サンプリングデータr-inp[3][7]を、バス24を介して検波データ生成部25および位相比較データ生成部28に供給する。
ステップS14において、検波データ生成部25は、検波データ生成処理を行い、サンプリングデータ生成部23から供給されたサンプリングデータから、サンプリングクロックごとの検波データおよびエラーデータを生成する。検波データ生成部25は、生成した検波データを検波データ決定部27および初期位相決定部26に供給するとともに、エラーデータを初期位相決定部26に供給する。なお、検波データ生成処理の詳細は後述する。
ステップS15において、初期位相決定部26は、デジタル変調信号のキャリアの初期位相が既に求められているか否かを判定する。例えば、既にステップS16の初期位相決定処理が行われ、初期位相データが出力されている場合、初期位相が求められていると判定される。
ステップS15において、初期位相が求められていると判定された場合、初期位相決定部26は、検波データ決定部27および位相比較データ決定部29に、初期位相データを供給し続け、処理はステップS17に進む。
これに対して、ステップS15において、初期位相が求められていないと判定された場合、処理はステップS16に進み、初期位相決定処理が行われる。なお、初期位相決定処理の詳細は後述するが、この初期位相決定処理において、初期位相決定部26は、検波データ生成部25から供給された検波データおよびエラーデータから、キャリアの初期位相を決定し、キャリアと同期したサンプリングクロックを示す初期位相データを検波データ決定部27および位相比較データ決定部29に供給する。
ステップS16において、初期位相決定処理が行われるか、ステップS15において、初期位相が求められていると判定されると、ステップS17において、検波データ決定部27は、検波データ生成部25から供給されたサンプリングクロックごとの検波データから、最終的な検波データを選択する。
例えば、検波データ決定部27の加算器241は、初期位相決定部26から供給された初期位相データと、サンプリングクロック決定部30から供給された位相比較ローパスデータとを加算して、その結果得られた値をデマルチプレクサ242に供給する。デマルチプレクサ242は、加算器241から供給された値に基づいて、検波データ生成部25から供給された検波データr-cmp[0]乃至検波データr-cmp[7]のうちの何れか1つを選択する。そして、デマルチプレクサ242は、選択した検波データをデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックを用いた検波により得られた検波データr-datとして、サンプリングクロック決定部30に供給するとともに、検波装置11の後段に出力する。
ステップS18において、位相比較データ生成部28は、位相比較データ生成処理を行う。なお、位相比較データ生成処理の詳細は後述するが、位相比較データ生成処理において、位相比較データ生成部28は、サンプリングデータ生成部23から供給されたサンプリングクロックごとのサンプリングデータに基づいて、サンプリングクロックごとの位相比較データp-err[0]乃至位相比較データp-err[7]を生成し、位相比較データ決定部29に供給する。
ステップS19において、位相比較データ決定部29は、初期位相決定部26から供給された初期位相データ、およびサンプリングクロック決定部30から供給された位相比較ローパスデータに基づいて、位相比較データ生成部28から供給された位相比較データp-err[0]乃至位相比較データp-err[7]から、最終的な位相比較データを選択する。
例えば、位相比較データ決定部29の加算器301は、初期位相データと位相比較ローパスデータとを加算して、その結果得られた値をデマルチプレクサ302に供給する。デマルチプレクサ302は、加算器301から供給された値に基づいて、位相比較データp-err[0]乃至位相比較データp-err[7]のうちの何れか1つを選択する。そして、デマルチプレクサ302は、選択した位相比較データを、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックの位相比較データp-errとしてサンプリングクロック決定部30に供給する。
ステップS20において、サンプリングクロック決定部30は、検波データ決定部27から供給された検波データr-dat、および位相比較データ決定部29から供給された位相比較データp-errに基づいて、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックを検出する。換言すれば、サンプリングクロック決定部30は、デジタル変調信号の検波の開始直後におけるキャリアの位相、つまり初期位相に対するキャリアの位相のずれを検出する。
例えば、サンプリングクロック決定部30のセレクタ331は、検波データr-datのロジック値に基づいて、位相比較データp-err、または−1が乗算された位相比較データp-errのうちの何れか一方を選択して増幅器332に供給する。増幅器332は、セレクタ331から供給された位相比較データを増幅または減衰させて、加算器341に供給し、加算器341は、増幅器332からの位相比較データと、遅延部342からの位相比較ローパスデータとを加算して、その結果得られた新たな位相比較ローパスデータを遅延部342に供給する。
遅延部342は、加算器341からの位相比較ローパスデータを、遅延させて加算器341および増幅器334に供給する。増幅器334は、遅延部342から供給された位相比較ローパスデータを増幅または減衰させて、検波データ決定部27および位相比較データ決定部29に供給する。
ステップS21において、検波装置11は、処理を終了するか否かを判定する。ステップS21において、終了しないと判定された場合、処理はステップS11に戻り、上述した処理が繰り返される。
これに対して、ステップS21において、終了すると判定された場合、検波装置11の各部は行っている処理を終了し、検波処理は終了する。
このようにして、検波装置11は、駆動クロックから、8分の1周期の整数倍だけ位相のずれた複数のサンプリングクロックを生成し、デジタル変調信号をそれらのサンプリングクロックを用いてサンプリングする。また、検波装置11は、サンプリングにより得られたサンプリングデータを用いて、サンプリングクロックごとの検波データと、位相比較データとを生成するとともに、それらの検波データおよび位相比較データから、最終的な検波データおよび位相比較データを選択する。
このように、駆動クロックから、8分の1周期の整数倍だけ位相のずれた複数のサンプリングクロックを生成し、デジタル変調信号をそれらのサンプリングクロックを用いてサンプリングすることで、受信したデジタル変調信号のキャリアの周期(周波数)と同程度の周期(周波数)のサンプリングクロックを用いて、キャリアの周波数よりも大きいサンプリング周波数で、デジタル変調信号をサンプリングすることができる。
また、そのようにしてサンプリングすることにより得られたサンプリングデータを用いて、サンプリングクロックごとの検波データと、位相比較データとを生成するとともに、それらの検波データおよび位相比較データから、最終的な検波データおよび位相比較データを選択することで、より簡単かつ確実にデジタル変調信号の検波を行うことができる。つまり、より簡単かつ確実に、変調により得られた信号から元のデータを得ることができる。
従来の技術においては、キャリアの位相が決定されてから、検波データを得るまでに多くの処理を行う必要があったが、検波装置11によれば、初期位相データおよび位相比較ローパスデータを用いて、最終的な検波データおよび位相比較データを選択するだけでよいので、キャリアの位相の決定後の処理を大幅に削減することができ、検波装置11の動作速度を向上させることができる。
また、検波装置11によれば、デジタル変調信号のキャリアと同程度の周波数(周期)の駆動クロックを用いて、デジタル変調信号の検波を行うことができるので、デジタル変調信号の送信装置における動作速度の限界と比べて、受信装置の動作速度の限界による制限が強くなるようなこともない。そして、デジタル変調信号のキャリアの周波数が大きくなった場合においても、デジタル変調信号を送信することはできるが、受信することができないという状態が生じることもなく、通信システムの性能を最大限に発揮することができる。つまり、キャリアの周波数が大きくなった場合においても、デジタル変調信号から、簡単かつ確実に元のベースバンドデータを得ることができる。
次に、図16のフローチャートを参照して、図15のステップS13の処理に対応する処理である、サンプリングデータ生成処理について説明する。
サンプリングクロックClock[0]乃至サンプリングクロックClock[7]がサンプリングデータ生成部23に供給されると、ステップS51において、フリップフロップ121は、駆動クロックに同期したサンプリングクロックClock[0]でデジタル変調信号をサンプリングしたサンプリングデータr-inp[3][0]を生成する。
すなわち、フリップフロップ121−1は、レベル変換部21から供給されたデジタル変調信号を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][0]を出力する。フリップフロップ121−i(但し、2≦i≦4)は、フリップフロップ121−(i−1)から出力されたロジックデータを、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータを出力する。これにより、フリップフロップ121−4からは、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][0]が出力される。
ステップS52において、フリップフロップ122は、駆動クロックを8分の1周期だけ遅延させたサンプリングクロックClock[1]でデジタル変調信号をサンプリングしたサンプリングデータr-inp[3][1]を生成する。
すなわち、フリップフロップ122−1は、レベル変換部21から供給されたデジタル変調信号を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][1]を出力する。フリップフロップ122−i(但し、2≦i≦4)は、フリップフロップ122−(i−1)から出力されたロジックデータを、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータを出力する。これにより、フリップフロップ122−4からは、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][1]が出力される。
ステップS53において、フリップフロップ123は、駆動クロックを8分の2周期だけ遅延させたサンプリングクロックClock[2]でデジタル変調信号をサンプリングしたサンプリングデータr-inp[3][2]を生成する。
すなわち、フリップフロップ123−1は、レベル変換部21から供給されたデジタル変調信号を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][2]を出力する。フリップフロップ123−i(但し、2≦i≦4)は、フリップフロップ123−(i−1)から出力されたロジックデータを、サンプリングクロック発生部22から供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータを出力する。これにより、フリップフロップ123−4からは、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][2]が出力される。
ステップS54において、フリップフロップ124は、駆動クロックを8分の3周期だけ遅延させたサンプリングクロックClock[3]でデジタル変調信号をサンプリングしたサンプリングデータr-inp[3][3]を生成する。
すなわち、フリップフロップ124−1は、レベル変換部21から供給されたデジタル変調信号を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][3]を出力する。フリップフロップ124−i(但し、2≦i≦4)は、フリップフロップ124−(i−1)から出力されたロジックデータを、サンプリングクロック発生部22から供給されたサンプリングクロックが立ち上がるタイミングでサンプリングし、これにより得られたロジックデータを出力する。これにより、フリップフロップ124−4からは、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][3]が出力される。
ステップS55において、フリップフロップ125は、駆動クロックを8分の4周期だけ遅延させたサンプリングクロックClock[4]でデジタル変調信号をサンプリングしたサンプリングデータr-inp[3][4]を生成する。
すなわち、フリップフロップ125−1は、レベル変換部21から供給されたデジタル変調信号を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[4]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][4]を出力する。フリップフロップ125−i(但し、2≦i≦4)は、フリップフロップ125−(i−1)から出力されたロジックデータを、サンプリングクロック発生部22から供給されたサンプリングクロックが立ち上がるタイミングでサンプリングし、これにより得られたロジックデータを出力する。これにより、フリップフロップ125−4からは、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][4]が出力される。
ステップS56において、フリップフロップ126は、駆動クロックを8分の5周期だけ遅延させたサンプリングクロックClock[5]でデジタル変調信号をサンプリングしたサンプリングデータr-inp[3][5]を生成する。
すなわち、フリップフロップ126−1は、レベル変換部21から供給されたデジタル変調信号を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[5]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][5]を出力する。フリップフロップ126−i(但し、2≦i≦4)は、フリップフロップ126−(i−1)から出力されたロジックデータを、サンプリングクロック発生部22から供給されたサンプリングクロックが立ち上がるタイミングでサンプリングし、これにより得られたロジックデータを出力する。これにより、フリップフロップ126−4からは、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][5]が出力される。
ステップS57において、フリップフロップ127は、駆動クロックを8分の6周期だけ遅延させたサンプリングクロックClock[6]でデジタル変調信号をサンプリングしたサンプリングデータr-inp[3][6]を生成する。
すなわち、フリップフロップ127−1は、レベル変換部21から供給されたデジタル変調信号を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[6]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][6]を出力する。フリップフロップ127−i(但し、2≦i≦4)は、フリップフロップ127−(i−1)から出力されたロジックデータを、サンプリングクロック発生部22から供給されたサンプリングクロックが立ち上がるタイミングでサンプリングし、これにより得られたロジックデータを出力する。これにより、フリップフロップ127−4からは、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][6]が出力される。
ステップS58において、フリップフロップ128は、駆動クロックを8分の7周期だけ遅延させたサンプリングクロックClock[7]でデジタル変調信号をサンプリングしたサンプリングデータr-inp[3][7]を生成し、処理は、図15のステップS14に進み、サンプリングデータ生成処理は終了する。
すなわち、フリップフロップ128−1は、レベル変換部21から供給されたデジタル変調信号を、サンプリングクロック発生部22から供給されたサンプリングクロックClock[7]が立ち上がるタイミングでサンプリングし、これにより得られたロジックデータr-inp[0][7]を出力する。フリップフロップ128−i(但し、2≦i≦4)は、フリップフロップ128−(i−1)から出力されたロジックデータを、サンプリングクロック発生部22から供給されたサンプリングクロックが立ち上がるタイミングでサンプリングし、これにより得られたロジックデータを出力する。これにより、フリップフロップ128−4からは、サンプリングクロックClock[0]に同期したサンプリングデータr-inp[3][7]が出力される。
このようにして、サンプリングデータ生成部23は、駆動クロックの周期から8分の1周期の整数倍だけ位相のずれた複数のサンプリングクロックを用いデジタル変調信号をサンプリングし、それらのサンプリングクロックごとのサンプリングデータを生成する。
このように、複数のサンプリングクロックを用いてデジタル変調信号をサンプリングすることで、駆動クロックと同程度の周期のサンプリングクロックを用いてサンプリングデータを生成することができる。また、各サンプリングクロックに同期させてサンプリングすることで得られたロジックデータを、さらにいくつかのサンプリングクロックに同期させてサンプリングすることで、最終的に、サンプリングデータをサンプリングクロックClock[0]に同期させることができる。
例えば、デジタル変調信号として、図17に示す信号がサンプリングデータ生成部23に供給された場合、各フリップフロップは、供給されたサンプリングクロックが立ち上がるタイミングで、供給されたデジタル変調信号または前段のフリップフロップに保持されているロジックデータをサンプリングする。
なお、図17において、横方向は時間を示しており、縦方向は、各信号のレベル(ロジック値)を示している。例えば、各信号において、最も大きいレベルである状態のときに、その信号のロジック値が1とされ、各信号において、最も小さいレベルである状態のときに、そのロジック値が0とされる。また、図17では、デジタル変調信号、サンプリングクロック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]の波形が示されている。
デジタル変調信号は、所定の周期波の時刻t0から時刻t1の区間の位相が反転されたものとされている。ここで、時刻t0から時刻t1の区間は、デジタル変調信号の1周期分の区間とされている。
また、サンプリングクロックClock[0]乃至サンプリングクロックClock[7]のそれぞれは、デジタル変調信号の周期とほぼ同じ周期の周期波とされており、サンプリングクロックClock[1]乃至サンプリングクロックClock[7]のそれぞれは、サンプリングクロックClock[0]を、その周期の8分の1の整数倍だけ遅延させたものとされている。つまり、サンプリングクロックClock[i](但し、1≦i≦7)は、サンプリングクロックClock[0]に対して、8分のi周期だけ遅延している。ここで、各サンプリングクロックの図中、上向きの矢印は、それらのサンプリングクロックが立ち上がるタイミングを表している。
また、ロジックデータr-inp[0][0]は、デジタル変調信号をサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングして得られるデータである。図17では、サンプリングクロックClock[0]に同期させてデジタル変調信号のサンプリングを行うと、サンプリングクロックClock[0]が3回目に立ち上がるタイミングにおいて、初めてサンプリングにより得られるロジック値が1となるので、ロジックデータr-inp[0][0]のレベルは、3回目のサンプリングが行われるまではロジック値が0とされるレベルとなっている。
そして、サンプリングクロックClock[0]と同期させてデジタル変調信号のサンプリングを行うと、3回目のサンプリングにおいて、ロジック値1が得られるので、フリップフロップ121−1は、サンプリングにより得られたロジック値1を1周期だけ保持する。したがって、ロジックデータr-inp[0][0]のレベルは、3回目のサンプリングのタイミングの後、徐々に大きくなり、その後ロジック値が1とされるレベルが維持される。
さらに、サンプリングクロックClock[0]と同期させてデジタル変調信号のサンプリングを行うと、4回目以降のサンプリングにおいては、ロジック値0が得られるので、フリップフロップ121−1は、サンプリングにより得られたロジック値0を保持する。したがって、ロジックデータr-inp[0][0]のレベルは、4回目のサンプリングのタイミングの後、徐々に小さくなり、ロジック値が0となると、そのレベルが維持される。
ここで、ロジックデータr-inp[0][0]のレベルが徐々に変化するのは、フリップフロップなどの回路や配線において遅延が生じるためであり、ロジックデータr-inp[0][0]のレベルが変化し始めてから、ロジック値0または1とされるレベルになるまでの遅延時間は、セトリングタイムと呼ばれている。
ロジックデータr-inp[1][0]、ロジックデータr-inp[2][0]、およびサンプリングデータr-inp[3][0]のそれぞれは、フリップフロップ121−2乃至フリップフロップ121−4のそれぞれが、サンプリングクロックClock[0]が立ち上がるタイミングで、フリップフロップ121−1乃至フリップフロップ121−3のそれぞれが保持しているロジック値を取得し、取得されたロジック値を1周期だけ保持することで得られる。したがって、ロジックデータr-inp[1][0]、ロジックデータr-inp[2][0]、およびサンプリングデータr-inp[3][0]のそれぞれは、ロジックデータr-inp[0][0]乃至ロジックデータr-inp[2][0]のそれぞれを、図中、右方向、つまり時間的に後の方向に、サンプリングクロックClock[0]の1周期分の時間だけシフトさせたものとなっている。
また、ロジックデータr-inp[0][1]は、デジタル変調信号をサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングして得られるデータである。図17では、サンプリングクロックClock[1]に同期させてデジタル変調信号のサンプリングを行うと、サンプリングクロックClock[1]が3回目に立ち上がるタイミングにおいて、初めてサンプリングにより得られるロジック値が1となるので、ロジックデータr-inp[0][1]のレベルは、3回目のサンプリングが行われるまではロジック値が0とされるレベルとなっている。
そして、サンプリングクロックClock[1]と同期させてデジタル変調信号のサンプリングを行うと、3回目のサンプリングにおいて、ロジック値1が得られるので、フリップフロップ122−1は、サンプリングにより得られたロジック値1を1周期だけ保持する。したがって、ロジックデータr-inp[0][1]のレベルは、3回目のサンプリングのタイミングの後、徐々に大きくなり、ロジック値が1とされるレベルとなると、そのレベルが維持される。
さらに、サンプリングクロックClock[1]と同期させてデジタル変調信号のサンプリングを行うと、4回目以降のサンプリングにおいては、ロジック値0が得られるので、フリップフロップ122−1は、サンプリングにより得られたロジック値0を保持する。したがって、ロジックデータr-inp[0][1]のレベルは、4回目のサンプリングのタイミングの後、徐々に小さくなり、ロジック値が0となると、そのレベルが維持される。
ロジックデータr-inp[1][1]、ロジックデータr-inp[2][1]、およびサンプリングデータr-inp[3][1]のそれぞれは、フリップフロップ122−2乃至フリップフロップ122−4のそれぞれが、サンプリングクロックClock[0]が立ち上がるタイミングで、フリップフロップ122−1乃至フリップフロップ122−3のそれぞれが保持しているロジック値を取得し、取得されたロジック値を1周期だけ保持することで得られる。
したがって、ロジックデータr-inp[1][1]は、ロジックデータr-inp[0][1]を、図中、右方向にサンプリングクロックClock[0]の8分の7周期分の時間だけシフトさせたものとなっている。また、ロジックデータr-inp[2][1]、およびサンプリングデータr-inp[3][1]は、ロジックデータr-inp[1][1]およびロジックデータr-inp[2][1]を、図中、右方向にサンプリングクロックClock[0]の1周期分の時間だけシフトさせたものとなっている。
このように、フリップフロップ122−2において、ロジックデータr-inp[0][1]が更新される直前、つまりサンプリングクロックClock[1]が立ち上がる直前のサンプリングクロックClock[0]の立ち上がりのタイミングで、ロジックデータr-inp[0][1]をサンプリングすることで、サンプリングクロックClock[1]に同期したロジックデータr-inp[0][1]から、サンプリングクロックClock[0]に同期したロジックデータr-inp[1][1]を得ることができる。
なお、他のフリップフロップ123乃至フリップフロップ128においても、供給されたサンプリングクロックに同期して、供給されたデジタル変調信号または前段のフリップフロップに保持されたロジックデータがサンプリングされる。
また、サンプリングデータ生成部23から検波データ生成部25に、サンプリングクロックごとのサンプリングデータが供給されると、図15のステップS14の処理に対応する処理である、検波データ生成処理が行われる。
以下、図18のフローチャートを参照して、検波データ生成部25による検波データ生成処理について説明する。
ステップS81において、レジスタ151−1乃至レジスタ151−15のそれぞれは、駆動クロックが立ち上がるタイミングで、供給されたサンプリングデータr-inp[4][0]乃至サンプリングデータr-inp[3][6]の2周期分のサンプリングデータを、駆動クロックの1周期だけ保持する。そして、レジスタ151は、保持しているサンプリングデータをレジスタ152に供給する。
ステップS82において、レジスタ152−i(但し、1≦i≦12)は、レジスタ151から供給された4つのサンプリングデータのロジック値に重みを乗算し、重みの乗算されたロジック値を加算して、これにより得られたデータr-add[i-1]を駆動クロックの1周期分の時間だけ保持する。そして、レジスタ152−iは、保持しているデータr-add[i-1]を、レジスタ153およびレジスタ154に供給する。
ステップS83において、レジスタ153は、レジスタ152から供給された2つのデータを比較して、検波データを生成する。レジスタ153は、生成した検波データを初期位相決定部26および検波データ決定部27に供給する。
ステップS84において、レジスタ154は、レジスタ152から供給された2つのデータを比較して、エラーデータを生成する。そして、レジスタ154は、生成したエラーデータを、初期位相決定部26に供給し、処理は図15のステップS15に進み、検波データ生成処理は終了する。
このようにして、検波データ生成部25は、サンプリングクロックごとのサンプリングデータから、サンプリングクロックごとの検波データを生成する。
このように、サンプリングクロックごとのサンプリングデータから、サンプリングクロックごとの検波データを生成することにより、結果的に、デジタル変調信号を、そのキャリアの周期よりも短い周期でサンプリングして検波することができるので、各サンプリングクロックに同期した検波データとして、より確からしいものを得ることができる。
さらに、生成された検波データが初期位相決定部26に供給され、図15のステップS15において、初期位相が求められていないと判定された場合、ステップS16において、初期位相決定処理が行われる。
以下、図19のフローチャートを参照して、図15のステップS16の処理に対応する処理である、初期位相決定処理について説明する。
ステップS111において、パタン検出部181は、検波データ生成部25から供給された検波データと、その検波データについてのエラーデータとに基づいて、デジタル変調信号から予め定められた固定パタンを検出し、その検出結果を示す検出フラグを位相ロック検出部182に供給する。
すなわち、例えば、パタン検出部181−1のレジスタ211は、保持している検波データを論理積演算部212に供給する。論理積演算部212は、レジスタ211から供給された検波データのロジック値の論理積を演算し、その演算結果を論理積演算部215に供給する。この演算結果としてのロジック値は、上述したように、デジタル変調信号から固定パタンが検出された場合に1とされ、固定パタンが検出されなかった場合には0とされる。
また、レジスタ213は、保持しているエラーデータを論理積演算部214に供給する。さらに、論理積演算部214は、レジスタ213から供給されたエラーデータのロジック値の論理積を演算し、その演算結果を論理積演算部215に供給する。この演算結果としてのロジック値は、全てのエラーデータのロジック値が0である場合に1とされ、1つでもロジック値が1であるエラーデータが入力された場合には0とされる。
そして、論理積演算部215は、論理積演算部212から供給されたロジック値、および論理積演算部214から供給されたロジック値の論理積を演算し、その結果を検出フラグLock[0]として位相ロック検出部182に供給する。なお、パタン検出部181−2乃至パタン検出部181−4のそれぞれにおいても、パタン検出部181−1における場合と同様の処理が行われ、検出フラグLock[2]、検出フラグLock[4]、および検出フラグLock[6]のそれぞれが出力される。
ステップS112において、位相ロック検出部182は、パタン検出部181から供給された検出フラグに基づいて、ロックフラグを位相エンコーダ183に供給する。
ステップS113において、位相エンコーダ183は、位相ロック検出部182から供給されたロックフラグに基づいて、キャリアの初期位相を決定し、処理は図15のステップS17に進み、初期位相決定処理は終了する。
例えば、位相エンコーダ183は、図10に示したテーブルを参照して、供給されたロックフラグの値により定まる、受信したデジタル変調信号のキャリアに最も近い位相のサンプリングクロックを示す初期位相データを、検波データ決定部27および位相比較データ決定部29に供給する。
初期位相決定処理によれば、サンプリングクロックごとのサンプリングデータと、エラーデータとを用いて、受信したデジタル変調信号から固定パタンの検出を行うことで、それらのサンプリングクロックのうち、受信したデジタル変調信号のキャリアにある程度同期しているサンプリングクロックを検出することができる。そして、さらに、検出されたサンプリングクロックのうちの中間の位相のサンプリングクロックを選択することで、生成されたサンプリングクロックのうち、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックを得ることができる。
このようにして、初期位相決定部26は、サンプリングクロックごとの検波データと、エラーデータとを用いて固定パタンを検出し、その検出結果に基づいて8つのサンプリングクロックのうち、その位相が受信したデジタル変調信号のキャリアの位相に最も近いサンプリングクロックを選択する。
このように、サンプリングクロックごとの検波データと、エラーデータとを用いて固定パタンを検出することで、簡単かつ確実に、受信したデジタル変調信号のキャリアの位相に最も近い位相のサンプリングクロックを検出することができる。
初期位相決定部26により初期位相が決定され、検波データ決定部27において、最終的な検波データが選択されると、位相比較データ生成部28は、図15のステップS18の処理に対応する処理である位相比較データ生成処理を開始する。
以下、図20のフローチャートを参照して、位相比較データ生成部28による位相比較データ生成処理について説明する。
ステップS141において、レジスタ271は、供給された2周期分のサンプリングデータを駆動クロックの1周期分の時間だけ保持し、その後、保持しているサンプリングデータを、レジスタ272に供給する。
ステップS142において、レジスタ272は、レジスタ271から供給された4つのサンプリングデータを重み付けして加算する。つまり、レジスタ272は、供給されたサンプリングデータのロジック値のそれぞれに所定の重みを乗算し、重みが乗算されたロジック値のそれぞれを加算する。そして、レジスタ272は、重みが乗算されたロジック値を加算することで得られたデータを、後段のレジスタ273に供給する。
ステップS143において、レジスタ273は、レジスタ272から供給された2つのデータのそれぞれに所定の重みを乗算し、重みが乗算されたデータを加算することにより、サンプリングクロックごとの位相比較データを生成する。そして、レジスタ273は、生成したサンプリングクロックごとの位相比較データを、位相比較データ決定部29に供給し、処理は図15のステップS19に進み、位相比較データ生成処理は終了する。
このようにして、位相比較データ生成部28は、サンプリングクロックごとのサンプリングデータから、サンプリングクロックごとの位相比較データを生成する。
このように、受信したデジタル変調信号のキャリアの周期よりも短い周期でサンプリングして得られたサンプリングデータに重み付けを行って加算することで、サンプリングクロックごとの位相のずれを示す位相比較データとして、より確からしいものを得ることができる。
なお、以上においては、図3に示したように、サンプリングクロック発生部22において、駆動クロックを反転させるインバータ94乃至インバータ97を設けてサンプリングクロックを生成するようにすることで、サンプリングクロック発生部22に設けられる遅延素子(遅延部)の部品点数が低減されるようにしたが、必ずしもインバータを設けなくてもよい。
例えば、サンプリングクロック発生部22の後段のサンプリングデータ生成部23において、フリップフロップが設けられている場合、つまりサンプリングクロック発生部22からのサンプリングクロックが、フリップフロップに入力される場合、そのフリップフロップの駆動のタイミングを、駆動クロックの立ち上がりのタイミング、または立下りのタイミングに適宜変更することで、駆動クロックを遅延させ、サンプリングクロックとするようにしてもよい。
ところで、図1に示した検波装置11においては、受信したデジタル変調信号のキャリアとほぼ同じ周期の駆動クロックから、駆動クロックと同じ周期である複数のサンプリングクロックを生成し、それらのサンプリングクロックを用いて、デジタル変調信号のサンプリングを行うことで、デジタル変調信号を、そのキャリアの周期より短い周期でサンプリングすることができる。
検波装置11においては、サンプリングの対象となるデジタル変調信号のキャリアと、駆動クロックとはほぼ同じ周期の信号とされたが、一般に、サンプリングの対象となる受信信号の周期と、駆動クロックの周期とが異なる場合においても、駆動クロックから生成したサンプリングクロックを用いて、受信信号を、駆動クロックの周期よりも短い周期でサンプリングすることができる。
そのような場合、駆動クロックからサンプリングクロックを生成するサンプリングクロック発生装置、およびサンプリングクロックを用いて、受信した入力信号(受信信号)をサンプリングするサンプリングデータ生成装置は、例えば、図21および図22に示すように構成される。
図21に示すサンプリングクロック発生装置401は、遅延部411−1乃至遅延部411−3から構成され、遅延部411−1乃至遅延部411−3のそれぞれは、遅延素子などからなる。
サンプリングクロック発生装置401は、入力された駆動クロックを、その駆動クロックに同期したサンプリングクロックClock[0]としてそのまま出力するとともに、入力された駆動クロックを遅延部411−1に供給する。
遅延部411−1は、供給された駆動クロックを、その駆動クロックの4分の1周期だけ遅延させて、遅延された駆動クロックをサンプリングクロックClock[1]として出力するとともに、駆動クロックを遅延部411−2に供給する。このサンプリングクロックClock[1]は、サンプリングクロックClock[0]に対して、そのサンプリングクロックの4分の1周期だけ遅延している。
遅延部411−2は、遅延部411−1から供給された駆動クロックを、その駆動クロックの4分の1周期だけ遅延させて、遅延された駆動クロックをサンプリングクロックClock[2]として出力するとともに、駆動クロックを遅延部411−3に供給する。このサンプリングクロックClock[2]は、サンプリングクロックClock[0]に対して、そのサンプリングクロックの4分の2周期だけ遅延している。
遅延部411−3は、遅延部411−2から供給された駆動クロックを、その駆動クロックの4分の1周期だけ遅延させて、遅延された駆動クロックをサンプリングクロックClock[3]として出力する。このサンプリングクロックClock[3]は、サンプリングクロックClock[0]に対して、そのサンプリングクロックの4分の3周期だけ遅延している。
したがって、サンプリングクロック発生装置401からは、駆動クロックと同じ周期であり、駆動クロックの4分の1周期の整数倍だけ位相がずれた4つのサンプリングクロックが出力され、図22に示すサンプリングデータ生成装置441に供給される。
サンプリングデータ生成装置441は、フリップフロップ451−1乃至フリップフロップ454−4から構成される。このサンプリングデータ生成装置441は、サンプリングクロックの周期tcが、サンプリングデータ生成装置441における配線による遅延などを含むデータのセトリングまでの遅延時間、つまりデータを読み取れるようになるまでの遅延時間tdよりも長い場合に、複数のサンプリングクロックを用いてサンプリングデータを生成するのに適している。
ここで、フリップフロップ451−1乃至フリップフロップ454−4のそれぞれは、供給されたサンプリングクロックが立ち上がるタイミングでデータを取得するようになされており、遅延時間tdがサンプリングクロックの周期tcの4分の3以下(例えば、4分の3)とされている。また、フリップフロップ451−1乃至フリップフロップ454−4のそれぞれは、取得したデータをサンプリングクロック、つまり駆動クロックの1周期だけ保持する。
フリップフロップ451−1は、供給された入力信号を、供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[0][0]を出力する。フリップフロップ451−i(但し2≦i≦4)は、フリップフロップ451−(i−1)から出力されたデータdata[i-2][0]を、供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[i-1][0]を出力する。
これにより、フリップフロップ451−4からは、入力信号がサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータとしてのデータdata[3][0]が出力される。なお、以下、フリップフロップ451−1乃至フリップフロップ451−4のそれぞれを特に区別する必要のない場合、単にフリップフロップ451と称する。
また、フリップフロップ452−1は、供給された入力信号を、供給されたサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[0][1]を出力する。フリップフロップ452−i(但し2≦i≦4)は、フリップフロップ452−(i−1)から出力されたデータdata[i-2][1]を、供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[i-1][1]を出力する。
ここでは、データdata[0][1]のセトリングタイムが、サンプリングクロックClock[1]の立ち上がりから、時間的に次のサンプリングクロックClock[0]の立ち上がりまでの時間よりも短いことが利用されている。
これにより、フリップフロップ452−4からは、入力信号がサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータとしてのデータdata[3][1]が出力される。なお、以下、フリップフロップ452−1乃至フリップフロップ452−4のそれぞれを特に区別する必要のない場合、単にフリップフロップ452と称する。
フリップフロップ453−1は、供給された入力信号を、供給されたサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[0][2]を出力する。フリップフロップ453−2は、フリップフロップ453−1から出力されたデータdata[0][2]を、供給されたサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[1][2]を出力する。ここでは、データdata[0][2]のセトリングタイムが、サンプリングクロックClock[2]の立ち上がりから、時間的に次のサンプリングクロックClock[1]の立ち上がりまでの時間よりも短いことが利用されている。
フリップフロップ453−3およびフリップフロップ453−4は、フリップフロップ453−2およびフリップフロップ453−3から出力されたデータdata[1][2]およびデータdata[2][2]を、供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[2][2]およびデータdata[3][2]を出力する。ここでは、データdata[1][2]のセトリングタイムが、サンプリングクロックClock[1]の立ち上がりから、時間的に次のサンプリングクロックClock[0]の立ち上がりまでの時間よりも短いことが利用されている。
これにより、フリップフロップ453−4からは、入力信号がサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータとしてのデータdata[3][2]が出力される。なお、以下、フリップフロップ453−1乃至フリップフロップ453−4のそれぞれを特に区別する必要のない場合、単にフリップフロップ453と称する。
また、フリップフロップ454−1は、供給された入力信号を、供給されたサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[0][3]を出力する。フリップフロップ454−2は、フリップフロップ454−1から供給されたデータdata[0][3]を、供給されたサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[1][3]を出力する。
フリップフロップ454−3は、フリップフロップ454−2から供給されたデータdata[1][3]を、供給されたサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[2][3]を出力する。フリップフロップ454−4は、フリップフロップ454−3から供給されたデータdata[2][3]を、供給されたサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングし、これにより得られたデータdata[3][3]を出力する。
フリップフロップ454−2乃至フリップフロップ454−4のそれぞれでは、データdata[0][3]乃至データdata[2][3]のセトリングタイムのそれぞれが、サンプリングクロックClock[3]の立ち上がり乃至サンプリングクロックClock[1]の立ち上がりのそれぞれから、時間的に次のサンプリングクロックClock[2]の立ち上がり乃至サンプリングクロックClock[0]の立ち上がりのそれぞれまでの時間よりも短いことが利用されている。
これにより、フリップフロップ454−4からは、入力信号がサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングされ、サンプリングクロックClock[0]に同期したサンプリングデータとしてのデータdata[3][3]が出力される。なお、以下、フリップフロップ454−1乃至フリップフロップ454−4のそれぞれを特に区別する必要のない場合、単にフリップフロップ454と称する。
このように、サンプリングデータ生成装置441からは、入力信号がサンプリングクロックClock[0]乃至サンプリングクロックClock[3]のそれぞれに同期してサンプリングされて得られた、サンプリングクロックClock[0]に同期したデータdata[3][0]乃至データdata[3][3]のそれぞれが出力される。換言すれば、サンプリングデータ生成装置441からは、入力信号を、サンプリングクロックの4分の1周期、つまり(1/4)tcの時間間隔でサンプリングして得られたサンプリングデータが出力される。
ここで、サンプリングにより得られる各サンプリングデータを、サンプリングクロックClock[0]に同期したデータとするためには、所定のサンプリングクロックが立ち上がるタイミングで、フリップフロップによりサンプリングされて保持されているデータが正しく読み取れるレベルとなってから、そのデータが次に更新されるまでの間に、そのフリップフロップにより保持さているデータを、他の位相の異なるサンプリングクロックが立ち上がるタイミングで後段のフリップフロップが取得する必要がある。したがって、複数のサンプリングクロックを用いた入力信号のサンプリングの周期は、サンプリングクロックの周期tcと遅延時間tdとの差(tc−td)以下の時間とされる。
また、フリップフロップ451乃至フリップフロップ454は、各サンプリングクロックに同期してサンプリングすることで得られたデータを、サンプリングクロックClock[0]に同期させるので、サンプリングデータ生成装置441は、フリップフロップ451乃至フリップフロップ454のそれぞれからなる4つのシフトレジスタから構成されているということができる。
なお、データdata[0][0]乃至データdata[3][3]のそれぞれは、1ビットのロジックデータとされてもよいし、2ビット以上のデータとされてもよい。
また、入力信号をデジタル変調信号として、サンプリングデータ生成装置441から出力されるサンプリングデータが用いられて、デジタル変調信号の検波が行われるようにしてもよい。そのような場合、サンプリングデータ生成装置441から出力されるサンプリングデータが用いられて、検波データ生成部25および位相比較データ生成部28により、検波データおよび位相比較データが生成される。
さらに、例えば、図23に示す入力信号がサンプリングデータ生成装置441に供給されると、各フリップフロップは、供給されたサンプリングクロックが立ち上がるタイミングで、供給された入力信号または前段のフリップフロップに保持されているデータをサンプリングする。
なお、図23において、横方向は時間を示しており、縦方向は、各信号のレベル、(ロジック値またはデータ値)を示している。以下においては、各信号において、最も大きいレベルである状態のときに、その信号のロジック値が1とされ、各信号において、最も小さいレベルである状態のときに、そのロジック値が0とされるとして説明を続ける。また、図23では、入力信号、サンプリングクロックClock[0]乃至サンプリングクロックClock[3]、およびデータdata[0][0]乃至データdata[3][3]の波形が示されている。
入力信号は、サンプリングクロックよりも、その周期が長い周期波とされている。サンプリングクロックClock[0]乃至サンプリングクロックClock[3]のそれぞれは、その周期tcが入力信号の周期よりも短い周期波とされており、サンプリングクロックClock[1]乃至サンプリングクロックClock[3]のそれぞれは、サンプリングクロックClock[0]を、その周期の4分の1乃至4分の3だけ遅延させたものとされている。
ここで、各サンプリングクロックの図中、上向きの矢印は、それらのサンプリングクロックが立ち上がるタイミングを表している。したがって、入力信号がサンプリングされるサンプリング周期tsは、サンプリングクロックの4分の1周期の時間とされる。
また、データdata[0][0]は、入力信号をサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングして得られるデータである。図23では、サンプリングクロックClock[0]に同期させて入力信号のサンプリングを行うと、サンプリングの結果として、ロジック値1と、ロジック値0とが交互に得られる。
フリップフロップ451−1は、サンプリングにより得られたロジック値をサンプリングクロックの1周期だけ保持するので、データdata[0][0]のレベルは、サンプリングクロックClock[0]の立ち上がりのタイミングの後、徐々に大きくなるか、または小さくなり、ロジック値が1または0とされるレベルになると、そのレベルが次のサンプリングクロックClock[0]の立ち上がりのタイミングまで維持される。ここで、データdata[0][0]のレベルが変化し始めてから、ロジック値が1または0とされるレベルになるまでの時間が、セトリングによる遅延時間tdとされる。
データdata[1][0]乃至データdata[3][0]のそれぞれは、フリップフロップ451−2乃至フリップフロップ451−4のそれぞれが、サンプリングクロックClock[0]が立ち上がるタイミングで、フリップフロップ451−1乃至フリップフロップ451−3のそれぞれが保持しているロジック値を取得し、取得されたロジック値をサンプリングクロックの1周期だけ保持することで得られる。したがって、データdata[1][0]乃至データdata[3][0]のそれぞれは、データdata[0][0]乃至データdata[2][0]のそれぞれを、図中、右方向、つまり時間的に後の方向に、サンプリングクロックClock[0]の1周期分だけシフトさせたものとなっている。
また、データdata[0][1]は、入力信号をサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングして得られるデータである。フリップフロップ452−1は、サンプリングにより得られたロジック値をサンプリングクロックの1周期だけ保持するので、データdata[0][1]のレベルは、サンプリングクロックClock[1]の立ち上がりのタイミングの後、徐々に大きくなるか、または小さくなり、ロジック値が1または0とされるレベルになると、そのレベルが次の立ち上がりのタイミングまで維持される。
データdata[1][1]乃至データdata[3][1]のそれぞれは、フリップフロップ452−2乃至フリップフロップ452−4のそれぞれが、サンプリングクロックClock[0]が立ち上がるタイミングで、フリップフロップ452−1乃至フリップフロップ452−3のそれぞれが保持しているロジック値を取得し、取得されたロジック値を1周期だけ保持することで得られる。したがって、データdata[1][1]は、データdata[0][0]を図中、時間的に後の方向にサンプリングクロックClock[0]の4分の3周期分だけシフトさせたものとなっており、データdata[2][1]およびデータdata[3][1]は、データdata[1][1]およびデータdata[2][1]を、時間的に後の方向にサンプリングクロックClock[0]の1周期分だけシフトさせたものとなっている。
さらに、データdata[0][2]は、入力信号をサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングして得られるデータである。フリップフロップ453−1は、サンプリングにより得られたロジック値をサンプリングクロックの1周期だけ保持するので、データdata[0][2]のレベルは、サンプリングクロックClock[2]の立ち上がりのタイミングの後、徐々に大きくなるか、または小さくなり、ロジック値が1または0とされるレベルになると、そのレベルが次の立ち上がりのタイミングまで維持される。
データdata[1][2]乃至データdata[3][2]のそれぞれは、フリップフロップ453−2乃至フリップフロップ453−4のそれぞれが、サンプリングクロックClock[1]、サンプリングClock[0]、およびサンプリングClock[0]が立ち上がるタイミングで、フリップフロップ453−1乃至フリップフロップ453−3のそれぞれが保持しているロジック値を取得し、取得されたロジック値を1周期だけ保持することで得られる。したがって、データdata[1][2]およびデータdata[2][2]は、データdata[0][2]およびデータdata[1][2]を図中、時間的に後の方向にサンプリングクロックClock[0]の4分の3周期分だけシフトさせたものとなっており、データdata[3][2]は、データdata[2][2]を、時間的に後の方向にサンプリングクロックClock[0]の1周期分だけシフトさせたものとなっている。
さらに、また、データdata[0][3]は、入力信号をサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングして得られるデータである。フリップフロップ454−1は、サンプリングにより得られたロジック値をサンプリングクロックの1周期だけ保持するので、データdata[0][3]のレベルは、サンプリングクロックClock[3]の立ち上がりのタイミングの後、徐々に大きくなるか、または小さくなり、ロジック値が1または0とされるレベルになると、そのレベルが次の立ち上がりのタイミングまで維持される。
データdata[1][3]乃至データdata[3][3]のそれぞれは、フリップフロップ454−2乃至フリップフロップ454−4のそれぞれが、サンプリングクロックClock[2]乃至サンプリングClock[0]が立ち上がるタイミングで、フリップフロップ454−1乃至フリップフロップ454−3のそれぞれが保持しているロジック値を取得し、取得されたロジック値を1周期だけ保持することで得られる。したがって、データdata[1][3]乃至データdata[3][3]は、データdata[0][3]乃至データdata[2][3]を図中、時間的に後の方向にサンプリングクロックClock[0]の4分の3周期分だけシフトさせたものとなっている。
このように、サンプリングデータ生成装置441においては、各フリップフロップに保持されているデータを後段のフリップフロップが正しく読み取れるように、各フリップフロップが、取得したデータを遅延時間tdより長いサンプリングクロックの1周期tcだけ保持するようにし、必要に応じて前段のフリップフロップとは異なるタイミングで更新されるフリップフロップを用いることで、サンプリングクロックの遅延、つまりサンプリングのタイミングの遅延が相対的に短縮されるようにしたので、入力信号をサンプリングクロックClock[0]の周期よりも短い周期でサンプリングして得られたサンプリングデータを、サンプリングクロックClock[0]に同期して出力することができる。
なお、サンプリングデータ生成装置441内に、図21に示したサンプリングクロック発生装置401が設けられるようにしてもよい。そのような場合、例えば、図24に示すように、フリップフロップ454には、サンプリングクロックを生成する遅延部411−1乃至遅延部411−3が接続される。なお、図24において、図21および図22における場合と対応する部分には同一の符号を付し、その説明は適宜、省略する。
図24では、直列に接続された遅延部411−1乃至遅延部411−3のそれぞれが、さらにフリップフロップ454−3乃至フリップフロップ454−1のそれぞれに接続されている。したがって、供給された駆動クロックが、遅延部411−1に供給されるとともに、サンプリングクロックClock[0]としてフリップフロップ454−4にそのまま供給され、遅延部411−1により遅延された駆動クロックが、遅延部411−2に供給されるとともに、サンプリングクロックClock[1]としてフリップフロップ454−3に供給される。
また、遅延部411−2により遅延された駆動クロックが、遅延部411−3に供給されるとともに、サンプリングクロックClock[2]としてフリップフロップ454−2に供給され、遅延部411−3により遅延された駆動クロックが、サンプリングクロックClock[3]としてフリップフロップ454−1に供給される。
この図24に示す構成は、3つの遅延部411−1乃至遅延部411−3が直列に接続されているため、各遅延部の動作の精度がよく、かつ配線による伝播遅延が均一である場合に適した構成となっている。
また、サンプリングデータ生成装置441内に、サンプリングクロック発生装置401が設けられる場合に、フリップフロップ454に接続される遅延部が、図24に示したように直列に接続されるのではなく、図25に示すように並列に配置されるようにしてもよい。なお、図25において、図22における場合と対応する部分には、同一の符号を付してあり、その説明は適宜、省略する。
図25では、遅延素子などからなる遅延部481乃至遅延部483のそれぞれが、フリップフロップ454−3乃至フリップフロップ454−1のそれぞれに接続されており、遅延部481乃至遅延部483には、駆動クロックが供給される。
すなわち、供給された駆動クロックは、サンプリングクロックClock[0]としてフリップフロップ454−4に供給されるとともに、遅延部481乃至遅延部483に供給される。遅延部481は、供給された駆動クロックを、その駆動クロックの4分の1周期だけ遅延させ、遅延させた駆動クロックを、サンプリングクロックClock[1]としてフリップフロップ454−3に供給する。
遅延部482は、供給された駆動クロックを、その駆動クロックの4分の2周期だけ遅延させ、遅延させた駆動クロックを、サンプリングクロックClock[2]としてフリップフロップ454−2に供給する。遅延部483は、供給された駆動クロックを、その駆動クロックの4分の3周期だけ遅延させ、遅延させた駆動クロックを、サンプリングクロックClock[3]としてフリップフロップ454−1に供給する。
この図25に示す構成は、3つの遅延部481乃至遅延部483が並列に配置されているため、フリップフロップ454の配置の間隔が不均一であり、各フリップフロップ454における配線による伝播遅延が一定とはならない場合に適した構成となっている。このような構成においては、遅延部481乃至遅延部483において駆動クロックを遅延させる時間を、駆動クロックの周期の4分の1の整数倍にするよりも、各配線による伝播遅延を考慮したときに、サンプリングクロックClock[0]乃至サンプリングクロックClock[3]の遅延の間隔が等間隔となるように設定することが望ましい。
さらに、サンプリングデータ生成装置441内に、サンプリングクロック発生装置401が設けられる場合に、駆動クロックの立ち上がりおよび立下りを利用してサンプリングクロックを生成するとこで、フリップフロップに接続される遅延部の数を削減することができる。そのような場合、フリップフロップ454には、例えば図26に示すように、1つの遅延部511が接続される。なお、図26において、図22における場合と対応する部分には、同一の符号を付してあり、その説明は適宜、省略する。
図26では、フリップフロップ454−1およびフリップフロップ454−2に替えてフリップフロップ512−1およびフリップフロップ512−2が設けられている。これらのフリップフロップ512−1およびフリップフロップ512−2は、フリップフロップ454−1およびフリップフロップ454−2と同様に動作するが、供給されたサンプリングクロックを反転して取得する。
図26では、遅延素子などからなる遅延部511に駆動クロックが供給される。すなわち、供給された駆動クロックは、サンプリングクロックClock[0]として、フリップフロップ454−4に供給されるとともに、供給された駆動クロックが反転され、サンプリングクロックClock[2]としてフリップフロップ512−2に供給され、さらに供給された駆動クロックは、遅延部511にも供給される。ここで、サンプリングクロックClock[2]は、反転された駆動クロックであるので、サンプリングクロックClock[0]に対して、駆動クロックの4分の2周期だけ遅延している。
遅延部511は、供給された駆動クロックを、その駆動クロックの4分の1周期だけ遅延させて、遅延させた駆動クロックを、サンプリングクロックClock[1]としてフリップフロップ454−3に供給するとともに、遅延させた駆動クロックをサンプリングクロックClock[3]としてフリップフロップ512−1に供給する。ここで、サンプリングクロックClock[3]は、4分の1周期だけ遅延された駆動クロックが、さらに反転されたものであるので、サンプリングクロックClock[0]に対して、駆動クロックの4分の3周期だけ遅延している。
フリップフロップ512−1は、遅延部511から供給された駆動クロックを反転させ、サンプリングクロックClock[3]として取得する。また、フリップフロップ512−1は、取得したサンプリングクロックClock[3]が立ち上がるタイミングで、供給された入力信号をサンプリングし、その結果得られたデータを出力する。
フリップフロップ512−2は、供給された駆動クロックを反転させ、サンプリングクロックClock[2]として取得する。また、フリップフロップ512−2は、取得したサンプリングクロックClock[2]が立ち上がるタイミングで、フリップフロップ512−1から出力されたデータをサンプリングし、その結果得られたデータをフリップフロップ454−3に出力する。
このように、フリップフロップ512−1およびフリップフロップ512−2が、供給された駆動クロックを反転させて取得することにより、サンプリングデータ生成装置441において用いることのできる遅延素子の数や、配線による遅延に関して制約がある場合であっても、1つの遅延部511を設けるだけで、位相の異なる4つのサンプリングクロックを生成することができる。つまり、通常、必要とされる半分以下の数の遅延素子で、複数のサンプリングクロックを生成することができる。
なお、図26に示す構成においては、駆動クロックを反転させるので、駆動クロックのデューティー比は、ほぼ50%であることが望ましい。また、PLL回路を利用して、PLL回路での位相のロック位置を制御することにより、駆動クロックを所望する時間だけ遅延させ、サンプリングClock[0]乃至サンプリングClock[3]を生成するようにしてもよい。
さらに、サンプリングデータ生成装置441内に、サンプリングクロック発生装置401が設けられる場合、例えば、図27に示すように、フリップフロップ453には、サンプリングクロックを生成する遅延部541および遅延部542が接続される。なお、図27において、図22における場合と対応する部分には同一の符号を付し、その説明は適宜、省略する。
図27では、遅延素子などからなる2つの遅延部541および遅延部542が直列に接続されており、遅延部541に駆動クロックが供給される。すなわち、駆動クロックは、フリップフロップ453−4に、サンプリングクロックClock[0]としてそのまま供給されるとともに、遅延部541に供給される。遅延部541は、供給された駆動クロックを、その駆動クロックの4分の1周期だけ遅延させて、サンプリングクロックClock[1]としてフリップフロップ453−3およびフリップフロップ453−2に供給するとともに、駆動クロックを遅延部542に供給する。
遅延部542は、遅延部541から供給された駆動クロックを、さらに駆動クロックの4分の1周期だけ遅延させて、遅延させた駆動クロックをサンプリングクロックClock[2]としてフリップフロップ453−1に供給する。したがって、フリップフロップ453−1に供給されるサンプリングクロックClock[2]は、サンプリングクロックClock[0]に対して、駆動クロックの4分の2周期だけ遅延したサンプリングクロックとなる。
なお、図27に示す構成においては、図22における場合と異なり、フリップフロップ453−3には、サンプリングクロックClock[0]に対して、4分の1周期だけ遅延したサンプリングクロックClock[1]が供給される。つまり、フリップフロップ453−3は、フリップフロップ453−2が保持しているデータが更新されて、正しく読み取れるようになってから、最初にサンプリングクロックClock[0]が立ち上がるタイミングではなく、そのタイミングのさらに後のタイミングである、サンプリングクロックClock[1]が立ち上がるタイミングで、フリップフロップ453−2が保持しているデータをサンプリングする。
フリップフロップ453−3は、サンプリングクロックClock[1]に同期して、フリップフロップ453−2から出力されるデータをサンプリングするので、フリップフロップ453−3から出力されるデータは、サンプリングクロックClock[0]に同期したデータとはならない。しかしながら、さらにその後段のフリップフロップ453−4が、サンプリングクロックClock[0]に同期してフリップフロップ453−3から出力されるデータをサンプリングするので、結局、フリップフロップ453−4からは、サンプリングクロックClock[0]に同期したデータが出力される。
このように、サンプリングデータ生成装置441においては、サンプリングクロックClock[0]とは位相の異なる他のサンプリングクロックでサンプリングして得られたデータを、サンプリングクロックClock[0]に同期させて出力することができればよいので、各フリップフロップは、必ずしも前段のフリップフロップの保持しているデータが正しく読み取れるようになってから、複数のサンプリングクロックのそれぞれが立ち上がるタイミングのそれぞれのうち、時間的に最も早いタイミングでサンプリングを行う必要はない。
但し、サンプリングクロックClock[0]に対して大きく遅延しているサンプリングクロックが用いられてサンプリングが行われる場合には、短い時間で、サンプリングクロックClock[0]に対する遅延分を取り戻すため、前段のフリップフロップの保持しているデータが正しく読み取れるようになってから、最初にサンプリングクロックが立ち上がるタイミングでサンプリングが行われるようにすることが望ましい。つまり、データのセトリングの後、最初に立ち上がるサンプリングクロックに同期してサンプリングが行われることが望ましい。
さらに、入力信号をサンプリングするサンプリングデータ生成装置の後段において、n段のパイプライン処理が行われる場合には、サンプリングデータ生成装置は、入力信号をサンプリングすることにより得られたサンプリングデータを、駆動クロックの周期tcよりも長い時間、例えば、その周期の整数倍の時間tc×n(但し、nは整数)だけ保持してから出力することもできる。
例えば、後段において2段のパイプライン処理が行われる場合、サンプリングクロック発生装置およびサンプリングデータ生成装置は、例えば、図28および図29に示すように構成される。
図28は、サンプリングクロック発生装置の構成例を示す図である。
サンプリングクロック発生装置571は、分周部581、および遅延部582乃至遅延部584から構成され、分周部581に駆動クロックが供給される。
分周部581は、例えば、2分の1分周器などからなり、供給された駆動クロックを分周することにより、駆動クロックの2倍の周期のサンプリングクロックClock[0]を生成する。分周部581は、生成したサンプリングクロックClock[0]をサンプリングデータ生成装置に出力するとともに、遅延部582に供給する。
遅延部582は、分周部581から供給されたサンプリングクロックを、駆動クロックの2分の1周期だけ遅延させて、遅延させたサンプリングクロックを、サンプリングクロックClock[1]としてサンプリングデータ生成装置に出力するとともに、遅延部583に供給する。したがって、サンプリングクロックClock[1]は、サンプリングクロックClock[0]が、駆動クロックの2分の1周期だけ遅延されたものとなる。
遅延部583は、遅延部582から供給されたサンプリングクロックを、駆動クロックの2分の1周期だけ遅延させて、遅延させたサンプリングクロックを、サンプリングクロックClock[2]としてサンプリングデータ生成装置に出力するとともに、遅延部584に供給する。したがって、サンプリングクロックClock[2]は、サンプリングクロックClock[0]が、駆動クロックの1周期だけ遅延されたものとなる。
遅延部584は、遅延部583から供給されたサンプリングクロックを、駆動クロックの2分の1周期だけ遅延させて、遅延させたサンプリングクロックを、サンプリングクロックClock[3]としてサンプリングデータ生成装置に出力する。したがって、サンプリングクロックClock[3]は、サンプリングクロックClock[0]が、駆動クロックの2分の3周期だけ遅延されたものとなる。
したがって、サンプリングクロック発生装置571からは、その周期が駆動クロックの周期の2倍であり、駆動クロックの2分の1周期ずつ位相がずれた4つのサンプリングクロックが出力され、図29に示すサンプリングデータ生成装置611に供給される。
図29に示すサンプリングデータ生成装置611は、フリップフロップ621−1乃至フリップフロップ624−4から構成される。このサンプリングデータ生成装置611およびサンプリングクロック発生装置571は、駆動クロックの周期tcが、サンプリングデータ生成装置611における配線による遅延などを含むデータのセトリングまでの遅延時間、つまりデータを読み取れるようになるまでの遅延時間tdよりも短い場合に、サンプリングクロックを用いてサンプリングデータを生成するのに適している。
ここで、フリップフロップ621−1乃至フリップフロップ624−4のそれぞれは、供給されたサンプリングクロックが立ち上がるタイミングでデータを取得するようになされており、遅延時間tdが駆動クロックの周期tcの2分の3以下となるようになされている。また、各サンプリングクロックの間隔は、駆動クロックの2分の1周期以下、かつサンプリングクロックの4分の1周期以下となるようになされている。
なお、フリップフロップ621−1乃至フリップフロップ624−4のそれぞれは、図22のフリップフロップ451−1乃至フリップフロップ454−4のそれぞれと同様であるので、その説明は省略する。すなわち、これらのフリップフロップは、入力されたデータ(入力信号またはデータ)を、供給されたサンプリングクロックが立ち上がるタイミングでサンプリングし、その結果得られたデータをサンプリングクロックの1周期分の時間だけ保持した後、出力する。
また、図22においては、各フリップフロップに供給されるサンプリングクロックの周期は、駆動クロックの周期と同じであったが、図29に示すフリップフロップ621−1乃至フリップフロップ624−4のそれぞれに供給されるサンプリングクロックの周期は、駆動クロックの周期の2倍とされている。
なお、以下、フリップフロップ621−1乃至フリップフロップ621−4のそれぞれを特に区別する必要のない場合、単にフリップフロップ621と称し、フリップフロップ622−1乃至フリップフロップ622−4のそれぞれを特に区別する必要のない場合、単にフリップフロップ622と称する。また、以下、フリップフロップ623−1乃至フリップフロップ623−4のそれぞれを特に区別する必要のない場合、単にフリップフロップ623と称し、フリップフロップ624−1乃至フリップフロップ624−4のそれぞれを特に区別する必要のない場合、単にフリップフロップ624と称する。
このように、サンプリングデータ生成装置611からは、入力信号がサンプリングクロックClock[0]乃至サンプリングクロックClock[3]のそれぞれに同期してサンプリングされて得られた、サンプリングクロックClock[0]、つまり駆動クロックに同期したデータdata[3][0]乃至データdata[3][3]のそれぞれが出力される。換言すれば、サンプリングデータ生成装置611からは、入力信号を、駆動クロックの2分の1周期、つまり(1/2)tcの時間間隔でサンプリングして得られたサンプリングデータが出力される。
なお、フリップフロップ621−1乃至フリップフロップ624−4のそれぞれから出力されるデータdata[3][0]乃至データdata[3][3]のそれぞれは、1ビットのロジックデータとされてもよいし、2ビット以上のデータとされてもよい。
ここで、サンプリングにより得られる各サンプリングデータを、駆動クロック(サンプリングクロックClock[0])に同期したデータとするためには、所定のサンプリングクロックが立ち上がるタイミングで、フリップフロップによりサンプリングされて保持されているデータが正しく読み取れるレベルとなってから、そのデータが次に更新されるまでの間に、そのフリップフロップにより保持さているデータを、他の位相の異なるサンプリングクロックが立ち上がるタイミングで後段のフリップフロップが取得する必要がある。したがって、入力信号のサンプリングの周期は、駆動クロックの周期tcの2倍の時間と遅延時間tdとの差(2tc−td)以下の時間とされる。
また、フリップフロップ621乃至フリップフロップ624は、各サンプリングクロックに同期してサンプリングすることで得られたデータを、サンプリングクロックClock[0]に同期させるので、サンプリングデータ生成装置611は、フリップフロップ621乃至フリップフロップ624のそれぞれからなる4つのシフトレジスタから構成されるということができる。
さらに、入力信号をデジタル変調信号として、サンプリングデータ生成装置611から出力されるサンプリングデータが用いられて、デジタル変調信号の検波が行われるようにしてもよい。そのような場合、サンプリングデータ生成装置611から出力されるサンプリングデータが用いられて、検波データ生成部25および位相比較データ生成部28により、検波データおよび位相比較データが生成される。
さらに、また、サンプリングクロック発生装置571がサンプリングデータ生成装置611に設けられるようにし、例えば、フリップフロップ624が図24乃至図26の何れかと同様の構成とされてもよいし、フリップフロップ623が図27に示した構成と同様の構成とされるようにしてもよい。
さらに、例えば、図30に示す入力信号がサンプリングデータ生成装置611に供給されると、各フリップフロップは、供給されたサンプリングクロックが立ち上がるタイミングで、供給された入力信号または前段のフリップフロップに保持されているデータをサンプリングする。
なお、図30において、横方向は時間を示しており、縦方向は、各信号のレベル、(ロジック値またはデータ値)を示している。以下においては、各信号において、最も大きいレベルである状態のときに、その信号のロジック値が1とされ、各信号において、最も小さいレベルである状態のときに、そのロジック値が0とされるとして説明を続ける。また、図30では、入力信号、サンプリングクロックClock[0]乃至サンプリングクロックClock[3]、およびデータdata[0][0]乃至データdata[3][3]の波形が示されている。
入力信号は、駆動クロックよりも、その周期が長い信号とされている。駆動クロックは、その周期tcが、入力信号の周期よりも短い周期波とされている。また、サンプリングクロックClock[0]乃至サンプリングクロックClock[3]のそれぞれは、その周期が駆動クロックの周期tcの2倍である周期波とされており、サンプリングクロックClock[1]乃至サンプリングクロックClock[3]のそれぞれは、サンプリングクロックClock[0]を、駆動クロックの周期tcの2分の1乃至2分の3の時間だけ遅延させたものとされている。
ここで、各サンプリングクロックの図中、上向きの矢印は、それらのサンプリングクロックが立ち上がるタイミングを表している。したがって、入力信号がサンプリングされるサンプリング周期tsは、駆動クロックの2分の1周期の時間とされる。
また、データdata[0][0]は、入力信号をサンプリングクロックClock[0]が立ち上がるタイミングでサンプリングして得られるデータである。図30では、サンプリングクロックClock[0]に同期させて入力信号のサンプリングを行うと、サンプリングの結果として、ロジック値1と、ロジック値0とが交互に得られる。
フリップフロップ621−1は、サンプリングにより得られたロジック値をサンプリングクロックの1周期だけ保持するので、データdata[0][0]のレベルは、サンプリングクロックClock[0]の立ち上がりのタイミングの後、徐々に大きくなるか、または小さくなり、ロジック値が1または0とされるレベルになると、そのレベルが次の立ち上がりのタイミングまで維持される。ここで、データdata[0][0]のレベルが変化し始めてから、ロジック値が1または0とされるレベルになるまでの時間が、セトリングによる遅延時間tdとされる。
データdata[1][0]乃至データdata[3][0]のそれぞれは、フリップフロップ621−2乃至フリップフロップ621−4のそれぞれが、サンプリングクロックClock[0]が立ち上がるタイミングで、フリップフロップ621−1乃至フリップフロップ621−3のそれぞれが保持しているロジック値を取得し、取得されたロジック値をサンプリングクロックの1周期だけ保持することで得られる。したがって、データdata[1][0]乃至データdata[3][0]のそれぞれは、データdata[0][0]乃至データdata[2][0]のそれぞれを、図中、右方向、つまり時間的に後の方向に、サンプリングクロックClock[0]の1周期分だけシフトさせたものとなっている。
また、データdata[0][1]は、入力信号をサンプリングクロックClock[1]が立ち上がるタイミングでサンプリングして得られるデータである。フリップフロップ622−1は、サンプリングにより得られたロジック値をサンプリングクロックの1周期だけ保持するので、データdata[0][1]のレベルは、サンプリングクロックClock[1]の立ち上がりのタイミングの後、徐々に大きくなるか、または小さくなり、ロジック値が1または0とされるレベルになると、そのレベルが次の立ち上がりのタイミングまで維持される。
データdata[1][1]乃至データdata[3][1]のそれぞれは、フリップフロップ622−2乃至フリップフロップ622−4のそれぞれが、サンプリングクロックClock[0]が立ち上がるタイミングで、フリップフロップ622−1乃至フリップフロップ622−3のそれぞれが保持しているロジック値を取得し、取得されたロジック値をサンプリングクロックの1周期だけ保持することで得られる。したがって、データdata[1][1]は、データdata[0][0]を図中、時間的に後の方向にサンプリングクロックClock[0]の4分の3周期分だけシフトさせたものとなっており、データdata[2][1]およびデータdata[3][1]は、データdata[1][1]およびデータdata[2][1]を、時間的に後の方向にサンプリングクロックClock[0]の1周期分だけシフトさせたものとなっている。
さらに、データdata[0][2]は、入力信号をサンプリングクロックClock[2]が立ち上がるタイミングでサンプリングして得られるデータである。フリップフロップ623−1は、サンプリングにより得られたロジック値をサンプリングクロックの1周期だけ保持するので、データdata[0][2]のレベルは、サンプリングクロックClock[2]の立ち上がりのタイミングの後、徐々に大きくなるか、または小さくなり、ロジック値が1または0とされるレベルになると、そのレベルが次の立ち上がりのタイミングまで維持される。
データdata[1][2]乃至データdata[3][2]のそれぞれは、フリップフロップ623−2乃至フリップフロップ623−4のそれぞれが、サンプリングクロックClock[1]、サンプリングClock[0]、およびサンプリングClock[0]が立ち上がるタイミングで、フリップフロップ623−1乃至フリップフロップ623−3のそれぞれが保持しているロジック値を取得し、取得されたロジック値をサンプリングクロックの1周期だけ保持することで得られる。したがって、データdata[1][2]およびデータdata[2][2]は、データdata[0][2]およびデータdata[1][2]を図中、時間的に後の方向にサンプリングクロックClock[0]の4分の3周期分だけシフトさせたものとなっており、データdata[3][2]は、データdata[2][2]を、時間的に後の方向にサンプリングクロックClock[0]の1周期分だけシフトさせたものとなっている。
さらに、また、データdata[0][3]は、入力信号をサンプリングクロックClock[3]が立ち上がるタイミングでサンプリングして得られるデータである。フリップフロップ624−1は、サンプリングにより得られたロジック値をサンプリングクロックの1周期だけ保持するので、データdata[0][3]のレベルは、サンプリングクロックClock[3]の立ち上がりのタイミングの後、徐々に大きくなるか、または小さくなり、ロジック値が1または0とされるレベルになると、そのレベルが次の立ち上がりのタイミングまで維持される。
データdata[1][3]乃至データdata[3][3]のそれぞれは、フリップフロップ624−2乃至フリップフロップ624−4のそれぞれが、サンプリングクロックClock[2]乃至サンプリングClock[0]が立ち上がるタイミングで、フリップフロップ624−1乃至フリップフロップ624−3のそれぞれが保持しているロジック値を取得し、取得されたロジック値をサンプリングクロックの1周期だけ保持することで得られる。したがって、データdata[1][3]乃至データdata[3][3]は、データdata[0][3]乃至データdata[2][3]を図中、時間的に後の方向にサンプリングクロックClock[0]の4分の3周期分だけシフトさせたものとなっている。
このように、サンプリングデータ生成装置611においては、各フリップフロップに保持されているデータを後段のフリップフロップが正しく読み取れるように、各フリップフロップが、取得したデータを遅延時間tdより長いサンプリングクロックの1周期だけ保持するようにし、必要に応じて前段のフリップフロップとは異なるタイミングで更新されるフリップフロップを用いることで、サンプリングクロックの遅延、つまりサンプリングのタイミングの遅延が相対的に短縮されるようにしたので、入力信号を駆動クロックの周期よりも短い周期でサンプリングして得られたサンプリングデータを、サンプリングクロックClock[0](駆動クロック)に同期して出力することができる。
すなわち、位相の異なるサンプリングクロックでサンプリングして得られたデータdata[0][0]乃至データdata[0][3]のそれぞれから、駆動クロックに同期したデータdata[3][0]乃至データdata[3][3]のそれぞれを得ることができる。
なお、サンプリングデータ生成装置611においては、駆動クロックの半分の周期で入力信号がサンプリングされるため、サンプリングにより得られたサンプリングデータとして、駆動クロックの1周期の間に2つのデータが得られる。また、実際には、サンプリングデータ生成装置611からは、サンプリングクロックClock[0]が立ち上がるタイミングで4つのデータdata[3][0]乃至データdata[3][3]が出力されるが、2つのデータが重複して不要なデータとなる。そこで、サンプリングデータ生成装置611から出力されたデータdata[3][0]乃至データdata[3][3]のうち、例えば、上位2ビット(例えばデータdata[3][0]およびデータdata[3][1])、または下位2ビット(例えばデータdata[3][2]およびデータdata[3][3])だけが後段の処理において用いられるようにしてもよい。
また、サンプリングデータ生成装置611のフリップフロップのセトリングよりも、さらに高速でセトリングさせることのできるロジックセルを用いることができる場合、そのロジックセルをカウンタとして利用することができる。そのような場合、サンプリングクロックごとにカウンタが設けられ、駆動クロックの立ち上がるタイミングでカウンタが保持しているロジック値が反転される。そして、そのカウンタの保持しているロジック値に応じて、どのサンプリングクロックのサンプリングデータを出力するかが選択される。
なお、サンプリングデータ生成装置441およびサンプリングデータ生成装置611においては、入力信号を、それぞれ駆動クロックの4倍および2倍の周期でサンプリングする構成とされているが、任意の倍数でサンプリングするようにしてもよい。
例えば、入力信号をサンプリングすることのできるサンプリング周期は、サンプリングデータ生成装置の後段のバスの数や、サンプリングクロックを生成する遅延部における遅延時間、つまりサンプリングクロック同士の時間間隔により定まる。
例えば、サンプリングデータを出力することのできる後段のバスの数がNであれば、駆動クロックの周期のN倍の周期でサンプリングを行うことができる。また、サンプリングクロック同士の位相のずれの間隔の上限、すなわち最も短い間隔がtmであれば、駆動クロックの周期のM=[tc/tm]倍の周期でサンプリングを行うことができる。ここで、tcは、サンプリングクロックの周期を示しており、[tc/tm]は、tc/tmの整数部を示している。
したがって、駆動クロックの周期のk=MIN(N,M)倍の周期で入力信号をサンプリングすることができる。ここで、MIN(N,M)は、NおよびMのうちの小さい方を示している。このように、サンプリングデータ生成装置では、出力するサンプリングデータのバスの数(ビット数)、およびサンプリングクロック同士の時間間隔に制約がなければ、データがセトリングするまでの時間やサンプリングデータ生成装置内において実現可能な駆動クロックの周期よりもいくらでも短い周期で入力信号のサンプリングを行うことができる。
また、サンプリングクロック発生装置401およびサンプリングデータ生成装置441や、サンプリングクロック発生装置571およびサンプリングデータ生成装置611を、サンプリングホールド回路に応用することで、高速なサンプルホールドを可能にしたり、アナログデジタル変換回路に用いることで、より高速なアナログデジタル変換を実現したりすることができる。また、それらのサンプリングホールド回路やアナログデジタル変換回路を、信号検波回路や信号検出回路に用いることで、より高速に信号を受信する受信装置を実現することができる。
さらに、上述したサンプリングクロック発生部22の遅延部91乃至遅延部93や、サンプリングクロック発生装置401の遅延部411−1乃至遅延部411−3、サンプリングクロック発生装置571の遅延部582乃至遅延部584などは、例えば、図31に示す構成とすることができる。
図31は、駆動クロックを遅延させるプログラマブルな遅延部の構成例を示す図である。
遅延部651は、バッファ661−1乃至バッファ661−7、ノード662−1乃至ノード662−8、スイッチ663−1乃至スイッチ663−4、スイッチ664−1、スイッチ664−2、およびスイッチ665から構成される。
遅延部651では、7つのバッファ661−1乃至バッファ661−7が直列に接続されており、バッファ661−1乃至バッファ661−7のそれぞれの入力側には、ノード662−1乃至ノード662−7のそれぞれが接続されている。また、バッファ661−7の出力側にはノード662−8が接続されている。
遅延部651のバッファ661−1およびノード662−1には、駆動クロックが供給される。バッファ661−1乃至バッファ661−7のそれぞれは、供給された駆動クロックを、予め定められた所定の時間だけ保持してから出力する。例えば、バッファ661−1乃至バッファ661−7のそれぞれは、供給された駆動クロックを、駆動クロックの8分の1周期だけ遅延させて出力する。
スイッチ663−1は、図示せぬセレクタから供給されたセレクト信号select[0]に基づいて、ノード662−1またはノード662−2に接続する。すなわち、スイッチ663−1は、接続をノード662−1またはノード662−2に切り替える。
スイッチ663−2は、セレクタから供給されたセレクト信号select[0]に基づいて、ノード662−3またはノード662−4に接続する。スイッチ663−3は、セレクタから供給されたセレクト信号select[0]に基づいて、ノード662−5またはノード662−6に接続する。スイッチ663−4は、セレクタから供給されたセレクト信号select[0]に基づいて、ノード662−7またはノード662−8に接続する。
スイッチ664−1は、図示せぬセレクタから供給されたセレクト信号select[1]に基づいて、スイッチ663−1またはスイッチ663−2に接続する。すなわち、スイッチ664−1は、接続をスイッチ663−1またはスイッチ663−2に切り替える。スイッチ664−2は、セレクタから供給されたセレクト信号select[1]に基づいて、スイッチ663−3またはスイッチ663−4に接続する。また、スイッチ665は、図示せぬセレクタから供給されたセレクト信号select[2]に基づいて、スイッチ664−1またはスイッチ664−2に接続する。
例えば、セレクト信号select[0]により、ノード662−1への接続が指示され、セレクト信号select[1]により、スイッチ663−1への接続が指示され、セレクト信号select[2]により、スイッチ664−1への接続が指示された場合、スイッチ663−1は、ノード662−1に接続し、スイッチ664−1は、スイッチ663−1に接続し、スイッチ665は、スイッチ664−1に接続する。これにより、遅延部651に供給された駆動クロックは、ノード662−1、スイッチ663−1、スイッチ664−1、およびスイッチ665を介して、遅延部651からそのまま出力される。
また、例えば、セレクト信号select[0]により、ノード662−2への接続が指示され、セレクト信号select[1]により、スイッチ663−1への接続が指示され、セレクト信号select[2]により、スイッチ664−1への接続が指示された場合、スイッチ663−1は、ノード662−2に接続し、スイッチ664−1は、スイッチ663−1に接続し、スイッチ665は、スイッチ664−1に接続する。これにより、遅延部651に供給された駆動クロックは、バッファ661−1において駆動クロックの8分の1周期だけ遅延された後、ノード662−2、スイッチ663−1、スイッチ664−1、およびスイッチ665を介して、遅延部651から出力される。つまり、出力される駆動クロックは、もとの駆動クロックが、8分の1周期だけ遅延されたものとなる。
さらに、例えば、セレクト信号select[0]により、ノード662−3への接続が指示され、セレクト信号select[1]により、スイッチ663−2への接続が指示され、セレクト信号select[2]により、スイッチ664−1への接続が指示された場合、スイッチ663−2は、ノード662−3に接続し、スイッチ664−1は、スイッチ663−2に接続し、スイッチ665は、スイッチ664−1に接続する。これにより、遅延部651に供給された駆動クロックは、バッファ661−1およびバッファ661−2のそれぞれにおいて、駆動クロックの8分の1周期ずつ遅延された後、ノード662−3、スイッチ663−2、スイッチ664−1、およびスイッチ665を介して、遅延部651から出力される。つまり、出力される駆動クロックは、もとの駆動クロックが、8分の2周期だけ遅延されたものとなる。
さらに、例えば、セレクト信号select[0]により、ノード662−4への接続が指示され、セレクト信号select[1]により、スイッチ663−2への接続が指示され、セレクト信号select[2]により、スイッチ664−1への接続が指示された場合、スイッチ663−2は、ノード662−4に接続し、スイッチ664−1は、スイッチ663−2に接続し、スイッチ665は、スイッチ664−1に接続する。これにより、遅延部651に供給された駆動クロックは、バッファ661−1乃至バッファ661−3のそれぞれにおいて、駆動クロックの8分の1周期ずつ遅延された後、ノード662−4、スイッチ663−2、スイッチ664−1、およびスイッチ665を介して、遅延部651から出力される。つまり、出力される駆動クロックは、もとの駆動クロックが、8分の3周期だけ遅延されたものとなる。
さらに、また、例えば、セレクト信号select[0]により、ノード662−5への接続が指示され、セレクト信号select[1]により、スイッチ663−3への接続が指示され、セレクト信号select[2]により、スイッチ664−2への接続が指示された場合、スイッチ663−3は、ノード662−5に接続し、スイッチ664−2は、スイッチ663−3に接続し、スイッチ665は、スイッチ664−2に接続する。これにより、遅延部651に供給された駆動クロックは、バッファ661−1乃至バッファ661−4のそれぞれにおいて、駆動クロックの8分の1周期ずつ遅延された後、ノード662−5、スイッチ663−3、スイッチ664−2、およびスイッチ665を介して、遅延部651から出力される。つまり、出力される駆動クロックは、もとの駆動クロックが、8分の4周期だけ遅延されたものとなる。
さらに、また、例えば、セレクト信号select[0]により、ノード662−6への接続が指示され、セレクト信号select[1]により、スイッチ663−3への接続が指示され、セレクト信号select[2]により、スイッチ664−2への接続が指示された場合、スイッチ663−3は、ノード662−6に接続し、スイッチ664−2は、スイッチ663−3に接続し、スイッチ665は、スイッチ664−2に接続する。これにより、遅延部651に供給された駆動クロックは、バッファ661−1乃至バッファ661−5のそれぞれにおいて、駆動クロックの8分の1周期ずつ遅延された後、ノード662−6、スイッチ663−3、スイッチ664−2、およびスイッチ665を介して、遅延部651から出力される。つまり、出力される駆動クロックは、もとの駆動クロックが、8分の5周期だけ遅延されたものとなる。
さらに、また、例えば、セレクト信号select[0]により、ノード662−7への接続が指示され、セレクト信号select[1]により、スイッチ663−4への接続が指示され、セレクト信号select[2]により、スイッチ664−2への接続が指示された場合、スイッチ663−4は、ノード662−7に接続し、スイッチ664−2は、スイッチ663−4に接続し、スイッチ665は、スイッチ664−2に接続する。これにより、遅延部651に供給された駆動クロックは、バッファ661−1乃至バッファ661−6のそれぞれにおいて、駆動クロックの8分の1周期ずつ遅延された後、ノード662−7、スイッチ663−4、スイッチ664−2、およびスイッチ665を介して、遅延部651から出力される。つまり、出力される駆動クロックは、もとの駆動クロックが、8分の6周期だけ遅延されたものとなる。
さらに、また、例えば、セレクト信号select[0]により、ノード662−8への接続が指示され、セレクト信号select[1]により、スイッチ663−4への接続が指示され、セレクト信号select[2]により、スイッチ664−2への接続が指示された場合、スイッチ663−4は、ノード662−8に接続し、スイッチ664−2は、スイッチ663−4に接続し、スイッチ665は、スイッチ664−2に接続する。これにより、遅延部651に供給された駆動クロックは、バッファ661−1乃至バッファ661−7のそれぞれにおいて、駆動クロックの8分の1周期ずつ遅延された後、ノード662−8、スイッチ663−4、スイッチ664−2、およびスイッチ665を介して、遅延部651から出力される。つまり、出力される駆動クロックは、もとの駆動クロックが、8分の7周期だけ遅延されたものとなる。
このように、遅延部651においては、セレクタからのセレクト信号に応じて、各スイッチの接続を切り替えることで、供給された駆動クロックを所定の時間だけ遅延させて出力することができる。
遅延部651においては、遅延部651から出力される駆動クロックが予め定められた時間だけ遅延されるように、バッファ661−1乃至バッファ661−7のそれぞれにおいて駆動クロックを遅延させる時間を、遅延部651の配線による伝播遅延も考慮して、できるだけ正確に定めることが望ましい。
また、このような遅延部651が、例えば図3の遅延部91、遅延部92、遅延部93などとして用いられる場合には、遅延部651から出力された駆動クロックがサンプリングクロックとして、後段のサンプリングデータ生成部23を構成するフリップフロップに供給される。そのような場合、配線の伝播遅延により、サンプリングクロック発生部22からサンプリングデータ生成部23に供給される複数のサンプリングクロックの時間間隔に、ばらつきが生じる可能性がある。そこで、サンプリングデータ生成部23に供給されるサンプリングクロックの時間間隔ができるだけ等間隔になるように、サンプリングクロック発生部22とサンプリングデータ生成部23とを接続する配線が決められるようにするとよい。
なお、以上においては、検波装置11が、ASK方式、PSK方式などのデジタル変調方式で変調されたデジタル変調信号の検波を行って、元のベースバンドデータを得ると説明したが、より詳細には、デジタル変調信号が、ASK方式やPSK方式など、どのデジタル変調方式で変調された信号であるかによって、検波データやエラーデータを生成するときにサンプリングデータに乗算される重みが、適宜変更される。
また、デジタル変調信号に限らず、データの系列を表現する信号であればよく、その他、ベースバンドの帯域の一般のデジタル信号、例えば、マンチェスタ符号化された信号を、複数のサンプリングクロックでサンプリングし、元の信号を得るようにしてもよい。
つまり、所定の符号化方式やデジタル変調方式などで、周期波(キャリア)を変調して得られる信号を、駆動クロックと同じ周期であり、位相の異なる複数のサンプリングクロックでサンプリングする。そして、その結果得られたサンプリングデータを用いて、サンプリングクロックごとに、そのサンプリングクロックでのサンプリングにより得られる元の信号と、位相のずれを示す位相比較データとを生成し、それらの元の信号と位相比較データとから、尤もらしい元の信号を選択する。
例えば、キャリアの周期とデータの周期が一致しているBPSK信号を検波する検波装置11を構成した場合、BPSK信号をロジック判定して得られるビット系列は、このデータの周期と同一のデータの周期を持つマンチェスタ符号と等価な信号となるため、BPSK信号を検波する検波装置11は、マンチェスタ符号の復号装置となる。さらに、検波装置11によれば、一般的なデジタル信号をデータの周期よりも短い間隔でサンプリングすることにより、元のデータを得ることができる。
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図32は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)801,ROM(Read Only Memory)802,RAM(Random Access Memory)803は、バス804により相互に接続されている。
バス804には、さらに、入出力インターフェース805が接続されている。入出力インターフェース805には、キーボード、マウス、マイクロホンなどよりなる入力部806、ディスプレイ、スピーカなどよりなる出力部807、ハードディスクや不揮発性のメモリなどよりなる記録部808、ネットワークインターフェースなどよりなる通信部809、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア811を駆動するドライブ810が接続されている。
以上のように構成されるコンピュータでは、CPU801が、例えば、記録部808に記録されているプログラムを、入出力インターフェース805及びバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU801)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア811に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
そして、プログラムは、リムーバブルメディア811をドライブ810に装着することにより、入出力インターフェース805を介して、記録部808にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部809で受信し、記録部808にインストールすることができる。その他、プログラムは、ROM802や記録部808に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
本発明を適用した検波装置の一実施の形態の構成例を示すブロック図である。 レベル変換部の構成例を示す図である。 サンプリングクロック発生部の構成例を示す図である。 サンプリングデータ生成部の構成例を示す図である。 サンプリングデータ生成部の構成例を示す図である。 検波データ生成部の構成例を示す図である。 検波データ生成部の構成例を示す図である。 初期位相決定部の構成例を示す図である。 パタン検出部の構成例を示す図である。 位相エンコーダが保持しているテーブルの例を示す図である。 検波データ決定部の構成例を示す図である。 位相比較データ生成部の構成例を示す図である。 位相比較データ決定部の構成例を示す図である。 サンプリングクロック決定部の構成例を示す図である。 検波処理を説明するフローチャートである。 サンプリングデータ生成処理を説明するフローチャートである。 フリップフロップによるサンプリングのタイミングを説明する図である。 検波データ生成処理を説明するフローチャートである。 初期位相決定処理を説明するフローチャートである。 位相比較データ生成処理を説明するフローチャートである。 サンプリングクロック発生装置の構成例を示す図である。 サンプリングデータ生成装置の構成例を示す図である。 サンプリングデータ生成装置がデータをサンプリングするタイミングを説明する図である。 遅延部のフリップフロップへの接続例を示す図である。 遅延部のフリップフロップへの接続例を示す図である。 遅延部のフリップフロップへの接続例を示す図である。 遅延部のフリップフロップへの接続例を示す図である。 サンプリングクロック発生装置の構成例を示す図である。 サンプリングデータ生成装置の構成例を示す図である。 サンプリングデータ生成装置がデータをサンプリングするタイミングを説明する図である。 遅延部の構成例を示す図である。 パーソナルコンピュータの構成例を示す図である。
符号の説明
11 検波装置, 22 サンプリングクロック発生部, 23 サンプリングデータ生成部, 25 検波データ生成部, 26 初期位相決定部, 27 検波データ決定部, 28 位相比較データ生成部, 29 位相比較データ決定部, 30 サンプリングクロック決定部, 91 遅延部, 92 遅延部, 93 遅延部, 94 インバータ, 95 インバータ, 96 インバータ, 97 インバータ, 121−1乃至121−4,121 フリップフロップ, 122−1乃至122−4,122 フリップフロップ, 123−1乃至123−4,123 フリップフロップ, 124−1乃至124−4,124 フリップフロップ, 125−1乃至125−4,125 フリップフロップ, 126−1乃至126−4,126 フリップフロップ, 127−1乃至127−4,127 フリップフロップ, 128−1乃至128−4,128 フリップフロップ, 152−1乃至152−12,152 レジスタ, 153−1乃至153−8,153 レジスタ, 154−1乃至154−8,154 レジスタ, 181−1乃至181−4,181 パタン検出部, 182 位相ロック検出部, 183 位相エンコーダ, 241 加算器, 242 デマルチプレクサ, 272−1乃至272−12,272 レジスタ, 273−1乃至273−8,273 レジスタ, 301 加算器, 302 デマルチプレクサ, 331 セレクタ, 333 ローパスフィルタ

Claims (9)

  1. データの系列を表現する入力信号から、前記データを検出する信号処理装置において、
    動作のタイミングの基準となる所定の周期の駆動クロックから、互いに位相が異なり、かつ前記周期と同じ周期の複数のサンプリングクロックを生成するサンプリングクロック生成手段と、
    前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングし、前記入力信号に対応した複数のサンプリングデータを生成するサンプリングデータ生成手段と、
    前記サンプリングクロックごとに、前記サンプリングクロックの前記入力信号に対する位相のずれを示す位相比較データを、前記サンプリングデータを用いて生成する位相比較データ生成手段と、
    前記サンプリングデータを用いて前記サンプリングクロックごとの前記データを生成し、前記位相比較データに基づいて、前記サンプリングクロックごとの前記データのそれぞれのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記データを、前記入力信号により表現された元の前記データとして選択するデータ生成手段と
    を備える信号処理装置。
  2. 前記データ生成手段は、1つの前記サンプリングクロックの1周期の期間に、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングすることにより得られた前記サンプリングデータのそれぞれに所定の重みを乗算し、前記重みが乗算された前記サンプリングデータのうち、前記サンプリングクロックの1周期の前半の半周期にサンプリングされて前記重みが乗算された前記サンプリングデータの和と、前記サンプリングクロックの1周期の後半の半周期にサンプリングされて前記重みが乗算された前記サンプリングデータの和とを比較し、その比較結果に基づいて前記データを生成する
    請求項1に記載の信号処理装置。
  3. 前記位相比較データ生成手段は、1つの前記サンプリングクロックの1周期の期間に、前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングすることにより得られた前記サンプリングデータのそれぞれに所定の重みを乗算し、重みが乗算された前記サンプリングデータのそれぞれの和を求めることにより、前記位相比較データを生成する
    請求項1に記載の信号処理装置。
  4. 前記サンプリングデータ生成手段は、所定のサンプリングクロックを用いて前記入力信号をサンプリングすることにより得られたデータを、前記所定のサンプリングクロックの位相よりも、より前記駆動クロックの位相に近い位相のサンプリングクロックを用いてサンプリングし、その結果得られたデータを、さらに前記駆動クロックと同じ位相のサンプリングクロックを用いてサンプリングすることで得られたデータを、前記サンプリングデータとして出力することにより、前記駆動クロックに同期した前記サンプリングデータを生成する
    請求項1に記載の信号処理装置。
  5. 前記入力信号は、前記駆動クロックの周期とほぼ同じ周期のキャリアを、前記データに応じて変調することにより得られた信号とされる
    請求項1に記載の信号処理装置。
  6. 前記サンプリングクロックは、前記駆動クロックに対して、前記駆動クロックの1周期よりも短い所定の時間だけ遅延している
    請求項1に記載の信号処理装置。
  7. 前記サンプリングクロックごとの前記データを用いて、前記入力信号から予め定められた固定パタンを検出することにより、前記データの検出の開始直後における前記入力信号の位相である初期位相を検出し、その検出結果を示す初期位相データを生成する初期位相データ生成手段と、
    前記初期位相に対する前記入力信号の位相のずれを検出し、その検出結果を示す位相データを生成する位相データ生成手段と、
    前記初期位相データおよび前記位相データに基づいて、前記サンプリングクロックごとの前記位相比較データのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記位相比較データを選択する位相比較データ選択手段と
    をさらに備え、
    前記位相データ生成手段は、前記データ選択手段により選択された前記データ、および前記位相比較データ選択手段により選択された前記位相比較データに基づいて、前記位相データを生成し、
    前記データ生成手段は、前記初期位相データおよび前記位相データを用いて、前記データを選択する
    請求項1に記載の信号処理装置。
  8. データの系列を表現する入力信号から、前記データを検出する信号処理装置の信号処理方法において、
    動作のタイミングの基準となる所定の周期の駆動クロックから、互いに位相が異なり、かつ前記周期と同じ周期の複数のサンプリングクロックを生成し、
    前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングし、前記入力信号に対応した複数のサンプリングデータを生成し、
    前記サンプリングクロックごとに、前記サンプリングクロックの前記入力信号に対する位相のずれを示す位相比較データを、前記サンプリングデータを用いて生成し、
    前記サンプリングデータを用いて前記サンプリングクロックごとの前記データを生成し、前記位相比較データに基づいて、前記サンプリングクロックごとの前記データのそれぞれのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記データを、前記入力信号により表現された元の前記データとして選択する
    ステップを含む信号処理方法。
  9. データの系列を表現する入力信号から、前記データを検出する信号処理用のプログラムにおいて、
    動作のタイミングの基準となる所定の周期の駆動クロックから、互いに位相が異なり、かつ前記周期と同じ周期の複数のサンプリングクロックを生成し、
    前記複数のサンプリングクロックのそれぞれを用いて前記入力信号をサンプリングし、前記入力信号に対応した複数のサンプリングデータを生成し、
    前記サンプリングクロックごとに、前記サンプリングクロックの前記入力信号に対する位相のずれを示す位相比較データを、前記サンプリングデータを用いて生成し、
    前記サンプリングデータを用いて前記サンプリングクロックごとの前記データを生成し、前記位相比較データに基づいて、前記サンプリングクロックごとの前記データのそれぞれのうち、最も前記入力信号の位相に近い位相のサンプリングクロックの前記データを、前記入力信号により表現された元の前記データとして選択する
    ステップを含む処理をコンピュータに実行させるプログラム。
JP2007137874A 2007-05-24 2007-05-24 信号処理装置および方法、並びにプログラム Pending JP2008294730A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007137874A JP2008294730A (ja) 2007-05-24 2007-05-24 信号処理装置および方法、並びにプログラム
US12/126,341 US8165252B2 (en) 2007-05-24 2008-05-23 Signal processing device and method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007137874A JP2008294730A (ja) 2007-05-24 2007-05-24 信号処理装置および方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2008294730A true JP2008294730A (ja) 2008-12-04

Family

ID=40072385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007137874A Pending JP2008294730A (ja) 2007-05-24 2007-05-24 信号処理装置および方法、並びにプログラム

Country Status (2)

Country Link
US (1) US8165252B2 (ja)
JP (1) JP2008294730A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8355479B2 (en) 2009-02-09 2013-01-15 Sony Corporation Signal processing apparatus and signal processing method
US8385365B2 (en) 2009-02-23 2013-02-26 Sony Corporation Communication system, communication apparatus, and packet length control method

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008083849A1 (en) * 2007-01-09 2008-07-17 Freescale Semiconductor, Inc. Electronic device, integrated circuit and method therefor
WO2008083850A1 (en) * 2007-01-09 2008-07-17 Freescale Semiconductor, Inc. Electronic device, integrated circuit and method for selecting of an optimal sampling clock phase
US8473000B2 (en) * 2007-01-11 2013-06-25 Freescale Semiconductor, Inc. Communication device, integrated circuit and method therefor
JP5276928B2 (ja) * 2008-08-29 2013-08-28 株式会社日立製作所 信号再生回路向け位相比較回路及び信号再生回路向け位相比較回路を備える光通信装置
CN103178784B (zh) * 2011-12-21 2017-02-08 北京普源精电科技有限公司 一种振荡键控调制方法、装置和函数信号发生器
WO2014149418A1 (en) * 2013-03-19 2014-09-25 Raytheon Bbn Technologies Corp. System and method for transmitting a quadrature amplitude modulation (qam) waveform to a receiver
CN105229964B (zh) * 2013-05-10 2018-05-29 三菱电机株式会社 信号处理装置
US9876501B2 (en) * 2013-05-21 2018-01-23 Mediatek Inc. Switching power amplifier and method for controlling the switching power amplifier
US10103913B2 (en) * 2015-03-25 2018-10-16 Washington State University Systems and methods for network routing in small-world network-on-chip devices
US9893916B2 (en) * 2016-07-01 2018-02-13 Texas Instruments Incorporated Methods and apparatus for performing a high speed phase demodulation scheme using a low bandwidth phase-lock loop

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60198945A (ja) 1984-03-22 1985-10-08 Toshiba Corp 符号識別器
JP2539372B2 (ja) 1986-02-07 1996-10-02 株式会社日立製作所 位相変調信号復調方式
JPH02117247A (ja) 1988-10-27 1990-05-01 Nec Home Electron Ltd 位相変調波のディジタル復調回路
US5247544A (en) 1992-03-26 1993-09-21 Motorola, Inc. Phase adjustment method and apparatus for use in a clock recovery circuit
JPH0685860A (ja) 1992-08-31 1994-03-25 Sony Corp Psk復調器
JPH07123257B2 (ja) 1992-12-25 1995-12-25 日本電気株式会社 ディジタルデータ復調装置
US5614661A (en) * 1994-09-21 1997-03-25 Sweetheart Cup Company Inc. Apparatus and method for testing containers
JP3412991B2 (ja) 1994-10-25 2003-06-03 三菱電機株式会社 受信位相同期回路
JP3414052B2 (ja) 1995-05-18 2003-06-09 三菱電機株式会社 位相変調信号復調方式
JP3649878B2 (ja) * 1997-10-20 2005-05-18 富士通株式会社 デジタル無線通信装置の検波方法及びその回路
DE19920334A1 (de) 1999-05-03 2000-11-16 Siemens Ag Verfahren und Schaltungsanordnung zur Regelung des Abtasttakts eines phasenmodulierten Signals
US20020085656A1 (en) * 2000-08-30 2002-07-04 Lee Sang-Hyun Data recovery using data eye tracking
JP3636657B2 (ja) 2000-12-21 2005-04-06 Necエレクトロニクス株式会社 クロックアンドデータリカバリ回路とそのクロック制御方法
JP2004053412A (ja) 2002-07-19 2004-02-19 Renesas Technology Corp 半導体集積回路試験装置
JP2005151087A (ja) 2003-11-14 2005-06-09 Matsushita Electric Ind Co Ltd 軟判定復号装置および軟判定復号方法
JP4676792B2 (ja) 2005-03-17 2011-04-27 株式会社リコー データリカバリ方法、データリカバリ回路、データ送受信装置及び情報処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8355479B2 (en) 2009-02-09 2013-01-15 Sony Corporation Signal processing apparatus and signal processing method
US8385365B2 (en) 2009-02-23 2013-02-26 Sony Corporation Communication system, communication apparatus, and packet length control method

Also Published As

Publication number Publication date
US20080292038A1 (en) 2008-11-27
US8165252B2 (en) 2012-04-24

Similar Documents

Publication Publication Date Title
JP2008294730A (ja) 信号処理装置および方法、並びにプログラム
US5459757A (en) Timing and gain control circuit for a PRML read channel
JP5760823B2 (ja) 差動4位相偏移変調の位相補間ベースのクロック及びデータの回復
JPH06290545A (ja) クロック再生装置
JP2018137551A (ja) Cdr回路及び受信回路
JP3347667B2 (ja) マンチェスタ符号化データ復号化装置
US20070127612A1 (en) Apparatus and method for retiming data using phase-interpolated clock signal
US6580770B2 (en) Information regenerating apparatus and information regenerating method
CN111418180B (zh) 从接收数据信号中恢复信号时钟的接收器以及在接收器中实施的时钟恢复方法
WO2007037312A1 (ja) クロック再生装置及び方法
JP3108364B2 (ja) データ復調装置
JP2006526924A (ja) ビット検出装置及び情報再生装置
EP3468049B1 (en) Signal processing device and signal processing method
JP3650984B2 (ja) 情報検出装置および方法
JPH02156732A (ja) 復調装置
CN100481236C (zh) 全数字式频率/相位恢复电路
JP2008283539A (ja) 多値信号用クロック再生装置
US20120126865A1 (en) Clock regeneration circuit
JP5665709B2 (ja) ビットクロック同期回路及び受信装置
JP2018050264A (ja) データ処理回路およびデータ伝送システム
RU2286024C2 (ru) Устройство для приема сигналов с минимальной частотной модуляцией
JP2012023638A (ja) デジタル通信システムおよびそれに用いる受信装置
RU2246180C2 (ru) Устройство для приема сигналов с минимальной угловой модуляцией
RU2276467C1 (ru) Устройство для приема сигналов с минимальной частотной модуляцией
CN118337322A (zh) 数据解码方法及装置、芯片、通信设备和存储介质

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090217

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090623