JP4623216B2 - 信号処理装置、及び信号処理方法 - Google Patents
信号処理装置、及び信号処理方法 Download PDFInfo
- Publication number
- JP4623216B2 JP4623216B2 JP2009027768A JP2009027768A JP4623216B2 JP 4623216 B2 JP4623216 B2 JP 4623216B2 JP 2009027768 A JP2009027768 A JP 2009027768A JP 2009027768 A JP2009027768 A JP 2009027768A JP 4623216 B2 JP4623216 B2 JP 4623216B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- sampling
- phase
- clock
- bit string
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/033—Speed 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/0337—Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/18—Phase-modulated carrier systems, i.e. using phase-shift keying
- H04L27/22—Demodulator circuits; Receiver circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/041—Speed or phase control by synchronisation signals using special codes as synchronising signal
- H04L2007/045—Fill bit or bits, idle words
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/041—Speed or phase control by synchronisation signals using special codes as synchronising signal
- H04L7/046—Speed or phase control by synchronisation signals using special codes as synchronising signal using a dotting sequence
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)
Description
本発明は、信号処理装置、及び信号処理方法に関する。
デジタル変調方式としては、例えば、振幅変調方式や位相変調方式が良く知られている。振幅変調方式は、ASK(Amplitude Shift Keying)方式とも呼ばれ、送信データに応じて搬送波の振幅を変化させるタイプのデジタル変調方式である。また、振幅変調方式の他の例として、データを振幅の有無に対応させるOSK(On−Off Shift Keying)方式なども知られている。一方、位相変調方式は、PSK(Phase Shift Keying)方式とも呼ばれ、送信データに応じて搬送波の位相を変化させるタイプのデジタル変調方式である。位相変調方式には、BPSK(Binary Phase Shift Keying)方式やQPSK(Quadrature Phase Shift Keying)方式等の種類がある。
位相変調方式でデータを送信した場合、受信機では、例えば、同期検波等の方法を用いて搬送波が再生され、その搬送波と受信信号との間の位相差を判定することでデータが復調される。また、位相変調方式のデータ復調方法に関し、下記の特許文献1には、搬送波周波数と同じ周波数のサンプリングクロックを用いてサンプリングデータを生成し、受信信号からサンプリングすべき正しい位相範囲を検出する技術が開示されている。この技術を用いると、データ検出や位相の確定に搬送波周波数と同じ周波数のサンプリングクロックが用いられるため、搬送波周波数の数倍程度のサンプリング周波数を用いてデータ処理を行う従前の方式よりも要求される動作速度が緩和される。その結果、より高い周波数の搬送波を用いて効率的にデータを送受信することができるようになる。
より詳細に述べると、上記文献に記載の技術では、まず、互いに異なる位相を持つ複数のサンプリングクロックを用いて受信信号がサンプリングされ、得られたサンプリングデータを用いて、上記の複数のサンプリングクロックの位相でそれぞれ検波データ及び位相データが生成される。さらに、同技術では、生成された検波データ及び位相データに基づいて受信信号の位相に最も位相が近いサンプリングクロックが選択され、そのサンプリングクロックの位相で検波した検波データが復調される。このような方法により、アナログデジタル変換を用いず、搬送波の周波数と同じ駆動クロックを用いてデータの検出処理及び位相の比較処理が実現される。
しかしながら、同技術の装置には、選択されないサンプリングクロックの位相で生成された検波データ、位相データのためのロジックセルが含まれている。そのため、回路構成が比較的複雑化している。そして、電力消費量が比較的大きい。また、同技術においては、サンプリングクロックの位相が繰り上がったり、繰り下がったりした場合にデータの重複や欠落が発生してしまう。なお、サンプリングクロックの繰り上がりとは、例えば、1/8周期ずつ位相を遅延させた8通りのサンプリングクロックを用いる場合に7/8周期遅延させたサンプリングクロックが遅延無しのものと切り替わることを意味する。例えば、マンチェスター符号で符号化された変調信号を判定する際にサンプリングクロックの繰り上がりが発生すると、データの重複や欠落がデータの誤りに直結してしまう。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、比較的簡単な構成により、搬送波周波数と同程度の動作クロックで、入力された位相変調信号に近い位相を持つサンプリングデータを検出することが可能な、新規かつ改良された信号処理装置、及び信号処理方法を提供することにある。
上記課題を解決するために、本発明のある観点によれば、
搬送波の周波数と同じ周波数を持つ駆動クロックの位相を所定量だけ遅延させて複数のサンプリングクロックを生成するサンプリングクロック生成部と、
前記搬送波の位相を偏移して得られる変調信号から前記サンプリングクロック生成部で生成された各サンプリングクロックを用いてサンプリングされ、かつ、所定の前記駆動クロックに同期された複数のロジックデータを生成するロジックデータ生成部と、
前記ロジックデータ生成部で生成されたロジックデータを前記所定の駆動クロックに合わせてシフトさせ、前記搬送波の一周期よりも長いサンプリングビット列を生成するサンプリングビット列生成部と、
前記サンプリングビット列生成部で生成されたサンプリングビット列から切り出された前記搬送波の一周期分のビット列を用いて当該ビット列の位相と前記搬送波の位相とのずれ量を表す位相誤差データとを生成する位相誤差データ生成部と、
前記位相誤差データ生成部で生成された位相誤差データに基づいて前記搬送波に近い位相を持つ前記一周期分のビット列を切り出す位置を決定する切り出し位置決定部と、
を備える、信号処理装置が提供される。
搬送波の周波数と同じ周波数を持つ駆動クロックの位相を所定量だけ遅延させて複数のサンプリングクロックを生成するサンプリングクロック生成部と、
前記搬送波の位相を偏移して得られる変調信号から前記サンプリングクロック生成部で生成された各サンプリングクロックを用いてサンプリングされ、かつ、所定の前記駆動クロックに同期された複数のロジックデータを生成するロジックデータ生成部と、
前記ロジックデータ生成部で生成されたロジックデータを前記所定の駆動クロックに合わせてシフトさせ、前記搬送波の一周期よりも長いサンプリングビット列を生成するサンプリングビット列生成部と、
前記サンプリングビット列生成部で生成されたサンプリングビット列から切り出された前記搬送波の一周期分のビット列を用いて当該ビット列の位相と前記搬送波の位相とのずれ量を表す位相誤差データとを生成する位相誤差データ生成部と、
前記位相誤差データ生成部で生成された位相誤差データに基づいて前記搬送波に近い位相を持つ前記一周期分のビット列を切り出す位置を決定する切り出し位置決定部と、
を備える、信号処理装置が提供される。
また、前記ロジックデータ生成部は、前記各サンプリングクロックの立ち上がりタイミングに同期して入力信号をサンプリングし、当該サンプリングしたロジックデータを次の立ち上がりタイミングまで保持する複数のレジスタを有していてもよい。
そして、第1段目の前記レジスタには、第1の前記サンプリングクロックと共に、前記入力信号として前記変調信号が入力されるように構成されていてもよい。さらに、第N段目(N≧2)の前記レジスタには、前記第1のサンプリングクロック又は当該第1のサンプリングクロックよりも前記所定の駆動クロックに位相が近いサンプリングクロックが入力されると共に、第N−1段目の前記レジスタで保持されたロジックデータが入力されるように構成されていてもよい。
この場合、前記サンプリングビット列生成部は、最終段目の前記レジスタで保持されたロジックデータを用いて前記搬送波の一周期よりも長いサンプリングビット列を生成するように構成される。
そして、第1段目の前記レジスタには、第1の前記サンプリングクロックと共に、前記入力信号として前記変調信号が入力されるように構成されていてもよい。さらに、第N段目(N≧2)の前記レジスタには、前記第1のサンプリングクロック又は当該第1のサンプリングクロックよりも前記所定の駆動クロックに位相が近いサンプリングクロックが入力されると共に、第N−1段目の前記レジスタで保持されたロジックデータが入力されるように構成されていてもよい。
この場合、前記サンプリングビット列生成部は、最終段目の前記レジスタで保持されたロジックデータを用いて前記搬送波の一周期よりも長いサンプリングビット列を生成するように構成される。
また、前記位相誤差データ生成部は、前記ビット列の各ビット値に第1の所定の重みを付けて加算した軟判定データを検波データとして算出する検波データ算出部と、前記ビット列の各ビット値に前記第1の所定の重みとは異なる第2の所定の重みを付けて加算した軟判定データを位相データとして算出する位相データ算出部と、前記検波データ算出部で算出された検波データ及び前記位相データ算出部で算出された位相データに基づいて前記位相誤差データを算出する位相誤差データ算出部と、を含むように構成されていてもよい。
また、前記位相誤差データ算出部は、前記検波データ算出部で算出された検波データの符号が負の場合に前記位相データ算出部で算出された位相データの符号を反転させたデータを前記位相誤差データとして出力し、当該検波データの符号が正の場合に当該位相データを前記位相誤差データとして出力するように構成されていてもよい。
また、前記変調信号のプリアンブルには、同じビット値が連続して含まれていてもよい。この場合、前記位相誤差データ算出部は、前記プリアンブルの検出前において前記位相データを前記位相誤差データとして出力し、前記プリアンブルの検出後において前記検波データの符号に応じて符号が反転された前記位相データを前記位相誤差データとして出力するように構成される。
また、前記変調信号のプリアンブルには、互いに異なるビット値が交互に含まれていてもよい。この場合、前記位相誤差データ算出部は、前記検波データが0に近い場合に前記位相誤差データとして所定値E(E>>0)を出力するように構成される。
また、前記切り出し位置決定部は、前記切り出されたビット列の位置が前記サンプリングビット列の先頭ビット又は終端ビットに近い場合、当該ビット列の切り出し位置を当該サンプリングビット列の中央ビットに近い位置にシフトさせるように構成されていてもよい。
また、上記課題を解決するために、本発明の別の観点によれば、搬送波の周波数と同じ周波数を持つ駆動クロックの位相を所定量だけ遅延させて複数のサンプリングクロックを生成するサンプリングクロック生成ステップと、前記搬送波の位相を偏移して得られる変調信号から前記サンプリングクロック生成ステップで生成された各サンプリングクロックを用いてサンプリングされ、かつ、所定の前記駆動クロックに同期された複数のロジックデータを生成するロジックデータ生成ステップと、前記ロジックデータ生成ステップで生成されたロジックデータを前記所定の駆動クロックに合わせてシフトさせ、前記搬送波の一周期よりも長いサンプリングビット列を生成するサンプリングビット列生成ステップと、前記サンプリングビット列生成ステップで生成されたサンプリングビット列から切り出された前記搬送波の一周期分のビット列を用いて当該ビット列の位相と前記搬送波の位相とのずれ量を表す位相誤差データとを生成する位相誤差データ生成ステップと、前記位相誤差データ生成ステップで生成された位相誤差データに基づいて前記搬送波に近い位相を持つ前記一周期分のビット列を切り出す位置を決定する切り出し位置決定ステップと、を含む、信号処理方法が提供される。
以上説明したように本発明によれば、比較的簡単な構成により、搬送波周波数と同程度の動作クロックで、入力された位相変調信号に近い位相を持つサンプリングデータを検出することが可能になる。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
[説明の流れについて]
ここで、以下に記載する本発明の実施形態に関する説明の流れについて簡単に述べる。まず、図1を参照しながら、搬送波周波数と同じ駆動クロックを用いて位相変調信号からデータを検波する方法について説明する。次いで、図2を参照しながら、同実施形態に係る信号処理装置200の機能構成について説明する。この中で、図3〜図9を参照しながら、同実施形態に係る検波方法の具体的な構成について説明する。次いで、図10〜図13を参照しながら、同実施形態に係る検波処理の流れについて説明する。
ここで、以下に記載する本発明の実施形態に関する説明の流れについて簡単に述べる。まず、図1を参照しながら、搬送波周波数と同じ駆動クロックを用いて位相変調信号からデータを検波する方法について説明する。次いで、図2を参照しながら、同実施形態に係る信号処理装置200の機能構成について説明する。この中で、図3〜図9を参照しながら、同実施形態に係る検波方法の具体的な構成について説明する。次いで、図10〜図13を参照しながら、同実施形態に係る検波処理の流れについて説明する。
(説明項目)
1:基盤技術
1−1:信号処理装置100の機能構成
2:実施形態
2−1:信号処理装置200の機能構成
2−2:信号処理装置200による処理の流れ
対策1:プリアンブル前後で位相データの生成方法を変更する方法
対策2:プリアンブルでデータの切り替わりを多数発生させる方法
対策3:切り出し範囲のシフト
1:基盤技術
1−1:信号処理装置100の機能構成
2:実施形態
2−1:信号処理装置200の機能構成
2−2:信号処理装置200による処理の流れ
対策1:プリアンブル前後で位相データの生成方法を変更する方法
対策2:プリアンブルでデータの切り替わりを多数発生させる方法
対策3:切り出し範囲のシフト
<1:基盤技術>
まず、本発明に係る実施形態について説明するに先立ち、搬送波周波数と同じ周波数を持つ駆動クロックを用いて検波を行う技術について簡単に説明する。なお、以下の説明において、当該技術のことを基盤技術と称する。
まず、本発明に係る実施形態について説明するに先立ち、搬送波周波数と同じ周波数を持つ駆動クロックを用いて検波を行う技術について簡単に説明する。なお、以下の説明において、当該技術のことを基盤技術と称する。
[1−1:信号処理装置100の機能構成]
まず、図1を参照しながら、基盤技術に係る信号処理装置100の機能構成について説明する。図1は、基盤技術に係る信号処理装置100の一構成例を示す説明図である。
まず、図1を参照しながら、基盤技術に係る信号処理装置100の機能構成について説明する。図1は、基盤技術に係る信号処理装置100の一構成例を示す説明図である。
信号処理装置100は、サンプリングクロック発生部102と、サンプリングデータ生成部104と、バス106とを有する。また、信号処理装置100は、サンプリング別位相データ生成部108と、位相データ決定部110と、サンプリング別検波データ生成部112と、検波データ決定部114と、サンプリングクロック決定部116とを有する。
まず、信号処理装置100には、送信機(非図示)から送信されたデジタル変調信号が入力される。そして、入力されたデジタル変調信号は、サンプリングデータ生成部104に入力される。なお、ここで言うデジタル変調信号とは、例えば、搬送波の位相又は振幅をベースバンドデータに応じて変調した信号のことを意味する。なお、デジタル変調信号は、その中心レベルがロジック判定の基準レベルにシフトされていてもよい。
(サンプリングクロック発生部102)
また、サンプリングクロック発生部102には、デジタル変調信号の搬送波と同程度の周波数を持つ駆動クロックが入力される。この駆動クロックは、デジタル回路を駆動するためのものであり、デジタル回路の動作タイミングを制御する際の基準となる。サンプリングクロック発生部102は、入力された駆動クロックを当該駆動クロックの周期より短い時間だけ遅延させてサンプリングクロックを生成する。例えば、サンプリングクロック発生部102は、互いに位相の異なる複数のサンプリングクロックを生成する。サンプリングクロック発生部102で生成されたサンプリングクロックは、サンプリングデータ生成部104に入力される。
また、サンプリングクロック発生部102には、デジタル変調信号の搬送波と同程度の周波数を持つ駆動クロックが入力される。この駆動クロックは、デジタル回路を駆動するためのものであり、デジタル回路の動作タイミングを制御する際の基準となる。サンプリングクロック発生部102は、入力された駆動クロックを当該駆動クロックの周期より短い時間だけ遅延させてサンプリングクロックを生成する。例えば、サンプリングクロック発生部102は、互いに位相の異なる複数のサンプリングクロックを生成する。サンプリングクロック発生部102で生成されたサンプリングクロックは、サンプリングデータ生成部104に入力される。
(サンプリングデータ生成部104)
サンプリングクロック発生部102から複数のサンプリングクロックが入力されると、サンプリングデータ生成部104は、入力された各サンプリングクロックを用いてデジタル変調信号をサンプリングし、サンプリングデータを生成する。例えば、サンプリングデータ生成部104は、各サンプリングクロックの各タイミングで受信したデジタル変調信号に対してロジック判定を実行してサンプリングデータを生成する。サンプリングデータ生成部104により生成されたサンプリングデータは、バス106を介してサンプリング別検波データ生成部112、及びサンプリング別位相データ生成部108に入力される。
サンプリングクロック発生部102から複数のサンプリングクロックが入力されると、サンプリングデータ生成部104は、入力された各サンプリングクロックを用いてデジタル変調信号をサンプリングし、サンプリングデータを生成する。例えば、サンプリングデータ生成部104は、各サンプリングクロックの各タイミングで受信したデジタル変調信号に対してロジック判定を実行してサンプリングデータを生成する。サンプリングデータ生成部104により生成されたサンプリングデータは、バス106を介してサンプリング別検波データ生成部112、及びサンプリング別位相データ生成部108に入力される。
(サンプリング別検波データ生成部112)
サンプリングデータ生成部104からサンプリング別検波データ生成部112に各サンプリングクロックに対応するサンプリングデータが入力されると、サンプリング別検波データ生成部112は、各サンプリングデータから検波データを生成する。この検波データは、各サンプリングデータから得られるベースバンドデータのことである。例えば、検波データは、対応するサンプリングクロックがデジタル変調信号の搬送波に同期していると仮定して検波することにより生成される。サンプリング別検波データ生成部112により生成された検波データは、検波データ決定部114に入力される。
サンプリングデータ生成部104からサンプリング別検波データ生成部112に各サンプリングクロックに対応するサンプリングデータが入力されると、サンプリング別検波データ生成部112は、各サンプリングデータから検波データを生成する。この検波データは、各サンプリングデータから得られるベースバンドデータのことである。例えば、検波データは、対応するサンプリングクロックがデジタル変調信号の搬送波に同期していると仮定して検波することにより生成される。サンプリング別検波データ生成部112により生成された検波データは、検波データ決定部114に入力される。
また、サンプリング別検波データ生成部112は、サンプリングデータに基づいて搬送波とは同期していないサンプリングクロックを検出し、そのサンプリングクロックが選択されないようにエラーデータを生成するように構成されていてもよい。さらに、サンプリング別検波データ生成部112は、検波データ及びエラーデータに基づいて搬送波の初期位相を決定する。例えば、サンプリング別検波データ生成部112は、複数のサンプリングクロックのうち、検波開始直後におけるデジタル変調信号の搬送波に同期したサンプリングクロックを選択し、そのサンプリングクロックを示す初期位相データを生成する。この初期位相データは、検波データ決定部114に入力される。
(検波データ決定部114)
また、検波データ決定部114には、後述するサンプリングクロック決定部116から位相比較ローパスデータが入力される。ここで言う位相比較ローパスデータとは、デジタル変調信号に対応する搬送波の位相が受信開始直後から相対的にどれだけずれたかを示すデータである。これらのデータが入力されると、検波データ決定部114は、入力された初期位相データ及び位相比較ローパスデータに基づき、サンプリングクロックの検波データの中から搬送波に最も近い位相を持つサンプリングクロックを用いて検波された検波データを決定する。検波データ決定部114で決定された検波データは、サンプリングクロック決定部116に入力されると共に、後段のデータ判定処理ブロックに出力される。
また、検波データ決定部114には、後述するサンプリングクロック決定部116から位相比較ローパスデータが入力される。ここで言う位相比較ローパスデータとは、デジタル変調信号に対応する搬送波の位相が受信開始直後から相対的にどれだけずれたかを示すデータである。これらのデータが入力されると、検波データ決定部114は、入力された初期位相データ及び位相比較ローパスデータに基づき、サンプリングクロックの検波データの中から搬送波に最も近い位相を持つサンプリングクロックを用いて検波された検波データを決定する。検波データ決定部114で決定された検波データは、サンプリングクロック決定部116に入力されると共に、後段のデータ判定処理ブロックに出力される。
(サンプリング別位相データ生成部108)
さて、サンプリング別位相データ生成部108は、サンプリングデータ生成部104から入力されたサンプリングデータに基づいて位相比較データを生成する。ここで言う位相比較データとは、各サンプリングクロックの位相が搬送波の位相に対して相対的にどれだけずれているかを示すデータである。サンプリング別位相データ生成部108で生成された位相比較データは、位相データ決定部110に入力される。
さて、サンプリング別位相データ生成部108は、サンプリングデータ生成部104から入力されたサンプリングデータに基づいて位相比較データを生成する。ここで言う位相比較データとは、各サンプリングクロックの位相が搬送波の位相に対して相対的にどれだけずれているかを示すデータである。サンプリング別位相データ生成部108で生成された位相比較データは、位相データ決定部110に入力される。
(位相データ決定部110)
位相データ決定部110には、位相比較データの他、サンプリング別検波データ生成部112で生成された初期位相データ、及びサンプリングクロック決定部116で決定された位相比較ローパスデータが入力される。これらのデータが入力されると、位相データ決定部110は、入力された初期位相データ及び位相比較ローパスデータに基づき、入力された位相比較データの中でデジタル変調信号に対応する搬送波の位相に最も近い位相のサンプリングクロックに対応する位相比較データを選択する。位相データ決定部110で選択された位相比較データは、サンプリングクロック決定部116に入力される。
位相データ決定部110には、位相比較データの他、サンプリング別検波データ生成部112で生成された初期位相データ、及びサンプリングクロック決定部116で決定された位相比較ローパスデータが入力される。これらのデータが入力されると、位相データ決定部110は、入力された初期位相データ及び位相比較ローパスデータに基づき、入力された位相比較データの中でデジタル変調信号に対応する搬送波の位相に最も近い位相のサンプリングクロックに対応する位相比較データを選択する。位相データ決定部110で選択された位相比較データは、サンプリングクロック決定部116に入力される。
(サンプリングクロック決定部116)
上記の通り、サンプリングクロック決定部116には、検波データ決定部114から検波データが入力され、位相データ決定部110から位相比較データが入力される。これらのデータが入力されると、サンプリングクロック決定部116は、デジタル変調信号に対応する搬送波の位相に最も近い位相のサンプリングクロックを検出する。また、サンプリングクロック決定部116は、入力された検波データ及び位相比較データに基づいて位相比較ローパスデータを生成する。そして、位相比較ローパスデータは、検波データ決定部114、及び位相データ決定部110に入力される。
上記の通り、サンプリングクロック決定部116には、検波データ決定部114から検波データが入力され、位相データ決定部110から位相比較データが入力される。これらのデータが入力されると、サンプリングクロック決定部116は、デジタル変調信号に対応する搬送波の位相に最も近い位相のサンプリングクロックを検出する。また、サンプリングクロック決定部116は、入力された検波データ及び位相比較データに基づいて位相比較ローパスデータを生成する。そして、位相比較ローパスデータは、検波データ決定部114、及び位相データ決定部110に入力される。
以上、信号処理装置100の一構成例について説明した。上記のように、信号処理装置100は、搬送波と同じ周波数を持ち、互いに位相が異なる複数のサンプリングクロックを発生させ、各サンプリングクロックでデジタル変調信号から複数のサンプリングデータを切り出す構成を有する。そして、各サンプリングデータについてデジタル変調信号に対応する搬送波の位相に近いサンプリングクロックが選択され、そのサンプリングクロックに対応するサンプリングデータが検波データとして検出される。
また、各サンプリングデータとデジタル変調信号の搬送波との位相のずれを考慮し、サンプリングクロック決定部116で生成される位相比較ローパスデータに基づいてサンプリングクロックの選択処理が繰り返し実行される。その結果、デジタル変調信号に対応する搬送波の位相に最も近いサンプリングクロックでサンプリングされたサンプリングデータが検波データとして出力される。このように、搬送波の周波数と同じサンプリングクロックを用いて検波データの検出処理が実行されるため、信号処理装置100における駆動クロックが搬送波の周波数程度に抑えられる。
その結果、搬送波周波数の数倍もの駆動クロックが求められた従前のデータ検波手段に比べ、高い周波数の搬送波で変調されたデジタル変調信号を扱うことができるようになる。また、検波手段としてアナログデジタル変換器を用いずに済むため、電力消費量を抑制することが可能になると共に、回路構成を簡素化することに成功している。
(信号処理装置100が抱える問題点について)
しかしながら、上記の構成を持つ信号処理装置100には、選択されていないサンプリングクロックで動作するロジック回路が含まれてしまう。そのため、省電力化及び回路構成の簡素化が十分に達成されているとは言えない。さらに、サンプリングクロックの位相が繰り上がったり、繰り下がったりすることで、データの重複や欠落が発生してしまう。そのため、データの誤りが発生してしまう可能性が高い。こうした点を踏まえ、本件発明者は、更に研究開発を進め、上記の信号処理装置100よりも省電力化及び回路構成の簡素化の点で優れた装置を考案した。以下、当該装置について説明する。
しかしながら、上記の構成を持つ信号処理装置100には、選択されていないサンプリングクロックで動作するロジック回路が含まれてしまう。そのため、省電力化及び回路構成の簡素化が十分に達成されているとは言えない。さらに、サンプリングクロックの位相が繰り上がったり、繰り下がったりすることで、データの重複や欠落が発生してしまう。そのため、データの誤りが発生してしまう可能性が高い。こうした点を踏まえ、本件発明者は、更に研究開発を進め、上記の信号処理装置100よりも省電力化及び回路構成の簡素化の点で優れた装置を考案した。以下、当該装置について説明する。
<2:実施形態>
本発明の一実施形態について説明する。本実施形態は、デジタル変調信号に対応する搬送波の一周期以上のサンプリングデータを生成し、そのサンプリングデータの中から適当な一周期分の範囲を抜き出してデータ再生及び位相データの検出を行う方法を提案するものである。特に、検波データ及び位相データに基づいて一周期分の範囲を適切に抜き出す方法に特徴がある。この方法を用いることで、上記の信号処理装置100よりも省電力化及び回路構成の簡素化を実現することが可能になる。
本発明の一実施形態について説明する。本実施形態は、デジタル変調信号に対応する搬送波の一周期以上のサンプリングデータを生成し、そのサンプリングデータの中から適当な一周期分の範囲を抜き出してデータ再生及び位相データの検出を行う方法を提案するものである。特に、検波データ及び位相データに基づいて一周期分の範囲を適切に抜き出す方法に特徴がある。この方法を用いることで、上記の信号処理装置100よりも省電力化及び回路構成の簡素化を実現することが可能になる。
[2−1:信号処理装置200の機能構成]
まず、図2を参照しながら、本実施形態に係る信号処理装置200の機能構成について説明する。この説明の中で、必要に応じて各構成要素の具体的な回路構成や処理方法の流れについて説明する。図2は、本実施形態に係る信号処理装置200の機能構成例を示す説明図である。
まず、図2を参照しながら、本実施形態に係る信号処理装置200の機能構成について説明する。この説明の中で、必要に応じて各構成要素の具体的な回路構成や処理方法の流れについて説明する。図2は、本実施形態に係る信号処理装置200の機能構成例を示す説明図である。
図2に示すように、信号処理装置200は、主に、サンプリングクロック発生部202と、サンプリングビット列生成部204と、ビット列切り出し部206と、検波・位相比較部208とを有する。
なお、サンプリングクロック発生部202は、サンプリングクロック生成部の一例である。また、サンプリングビット列生成部204は、ロジックデータ生成部、及びサンプリングビット列生成部の一例である。そして、検波・位相比較部208は、位相誤差データ生成部、検波データ算出部、位相データ算出部、位相誤差データ算出部の一例である。さらに、ビット列切り出し部206は、切り出し位置決定部の一例である。
まず、信号処理装置200には、送信機(非図示)から送信されたデジタル変調信号が入力される。そして、入力されたデジタル変調信号は、サンプリングビット列生成部204に入力される。なお、ここで言うデジタル変調信号とは、例えば、搬送波の位相又は振幅をベースバンドデータに応じて変調した信号のことを意味する。なお、デジタル変調信号は、その中心レベルがロジック判定の基準レベルにシフトされていてもよい。
(サンプリングクロック発生部202)
また、サンプリングクロック発生部202には、デジタル変調信号の搬送波と同程度の周波数を持つ駆動クロックが入力される。この駆動クロックは、デジタル回路を駆動するためのものであり、デジタル回路の動作タイミングを制御する際の基準となる。サンプリングクロック発生部202は、入力された駆動クロックを当該駆動クロックの周期より短い時間だけ遅延させてサンプリングクロックを生成する。例えば、サンプリングクロック発生部202は、互いに位相の異なる複数のサンプリングクロックを生成する。サンプリングクロック発生部202で生成されたサンプリングクロックは、サンプリングビット列生成部204に入力される。
また、サンプリングクロック発生部202には、デジタル変調信号の搬送波と同程度の周波数を持つ駆動クロックが入力される。この駆動クロックは、デジタル回路を駆動するためのものであり、デジタル回路の動作タイミングを制御する際の基準となる。サンプリングクロック発生部202は、入力された駆動クロックを当該駆動クロックの周期より短い時間だけ遅延させてサンプリングクロックを生成する。例えば、サンプリングクロック発生部202は、互いに位相の異なる複数のサンプリングクロックを生成する。サンプリングクロック発生部202で生成されたサンプリングクロックは、サンプリングビット列生成部204に入力される。
(サンプリングクロック発生部202の具体的な構成例)
ここで、図3を参照しながら、サンプリングクロック発生部202の具体的な回路構成について説明する。図3は、サンプリングクロック発生部202の具体的な回路構成の一例を示す説明図である。なお、図3に例示したサンプリングクロック発生部202は、駆動クロック(Clock)が入力された場合に、駆動クロックの8分の1周期の整数倍だけ位相がずれた8つのサンプリングクロックを発生させるものである。
ここで、図3を参照しながら、サンプリングクロック発生部202の具体的な回路構成について説明する。図3は、サンプリングクロック発生部202の具体的な回路構成の一例を示す説明図である。なお、図3に例示したサンプリングクロック発生部202は、駆動クロック(Clock)が入力された場合に、駆動クロックの8分の1周期の整数倍だけ位相がずれた8つのサンプリングクロックを発生させるものである。
図3に示すように、サンプリングクロック発生部102は、遅延部234、238、242、及びインバータ232、236、240、244を含む。遅延部234、238、242の機能は、例えば、プログラマブル遅延素子により実現される。また、インバータ232、236、240、244の機能は、例えば、駆動クロックの周期に比べて高速で動作するインバータ回路により実現される。
まず、駆動クロック(Clock)が入力される。入力された駆動クロックは、サンプリングクロックclock[0]として出力されると共に、遅延部234、238、242、及びインバータ232に入力される。サンプリングクロックclock[0]は、駆動クロックそのものであるので、駆動クロックと同じ位相を持つ。
また、インバータ232は、入力された駆動クロックを反転させる。そして、反転された駆動クロックは、サンプリングクロックclock[4]として出力される。サンプリングクロックclock[4]は、駆動クロックが反転されたものであるから、サンプリングクロックclock[0]に対して8分の4周期だけ遅延した位相を持つ。
遅延部234は、セレクタから入力された制御信号に応じて駆動クロックを8分の1周期だけ遅延させる。そして、遅延された駆動クロックは、サンプリングクロックclock[1]として出力されると共に、インバータ236に入力される。サンプリングクロックclock[1]は、駆動クロックが8分の1周期だけ遅延されたものであるから、サンプリングクロックclock[0]に対して8分の1周期だけ遅延した位相を持つ。
インバータ236は、8分の1周期だけ遅延された駆動クロック(サンプリングクロックclock[1]に対応)を反転させる。そして、反転された駆動クロックは、サンプリングクロックclock[5]として出力される。サンプリングクロックclock[5]は、8分の1周期だけ遅延された駆動クロックが反転されたものであるから、サンプリングクロックclock[0]に対して8分の5周期だけ遅延した位相を持つ。
遅延部238は、セレクタから入力された制御信号に応じて駆動クロックを8分の2周期だけ遅延させる。そして、遅延された駆動クロックは、サンプリングクロックclock[2]として出力されると共に、インバータ240に入力される。サンプリングクロックclock[2]は、駆動クロックが8分の2周期だけ遅延されたものであるから、サンプリングクロックclock[0]に対して8分の2周期だけ遅延した位相を持つ。
インバータ240は、8分の2周期だけ遅延された駆動クロック(サンプリングクロックclock[2]に対応)を反転させる。そして、反転された駆動クロックは、サンプリングクロックclock[6]として出力される。サンプリングクロックclock[6]は、8分の2周期だけ遅延された駆動クロックが反転されたものであるから、サンプリングクロックclock[0]に対して8分の6周期だけ遅延した位相を持つ。
遅延部242は、セレクタから入力された制御信号に応じて駆動クロックを8分の3周期だけ遅延させる。そして、遅延された駆動クロックは、サンプリングクロックclock[3]として出力されると共に、インバータ244に入力される。サンプリングクロックclock[3]は、駆動クロックが8分の3周期だけ遅延されたものであるから、サンプリングクロックclock[0]に対して8分の3周期だけ遅延した位相を持つ。
インバータ244は、8分の3周期だけ遅延された駆動クロック(サンプリングクロックclock[3]に対応)を反転させる。そして、反転された駆動クロックは、サンプリングクロックclock[7]として出力される。サンプリングクロックclock[7]は、8分の3周期だけ遅延された駆動クロックが反転されたものであるから、サンプリングクロックclock[0]に対して8分の7周期だけ遅延した位相を持つ。
このようにして互いに位相が異なる8種類のサンプリングクロックclock[0]〜clock[7]が生成される。なお、図3の例では、遅延部234、238、242が並列に配置された構成とされているが、例えば、駆動クロックを8分の1周期だけ遅延させる3つの遅延回路が直列に並置される構成としてもよい。また、図3の例では、反転により位相がπだけ変化することを利用してサンプリングクロックを生成しているため、デューティー比が50%に近い信号を駆動クロックとして用いる方が好ましい。
このようにして生成されたサンプリングクロックclock[0]〜clock[7]は、サンプリングビット列生成部204に入力される。なお、上記の例においては、デジタル変調信号がマンチェスター符号や2相位相偏移変調信号である場合が想定されていた。このような信号に対しては、上記の例のように、搬送波の位相を8等分にし、異なる位相を持つ8種類のサンプリングクロックを用意する必要がある。例えば、サンプリングクロックが半分の4種類になると、位相が一つずれただけでデータ検出が難しくなる。そのため、マンチェスター符号や2相位相偏移変調信号である場合には、サンプリングクロックの種類を8種類程度にするのが適当である。仮に、4相位相偏移変調信号の場合、サンプリングクロックの種類は、16種類程度にするのが適当である。
(サンプリングビット列生成部204)
再び図2を参照する。サンプリングクロック発生部202から複数のサンプリングクロックが入力されると、サンプリングビット列生成部204は、入力された各サンプリングクロックを用いてデジタル変調信号をサンプリングし、サンプリングデータを生成する。このとき、サンプリングビット列生成部204は、搬送波の一周期以上(例えば、搬送波の三周期)の長さを持つサンプリングデータを生成する。サンプリングビット列生成部204により生成されたサンプリングデータは、ビット列切り出し部206に入力される。
再び図2を参照する。サンプリングクロック発生部202から複数のサンプリングクロックが入力されると、サンプリングビット列生成部204は、入力された各サンプリングクロックを用いてデジタル変調信号をサンプリングし、サンプリングデータを生成する。このとき、サンプリングビット列生成部204は、搬送波の一周期以上(例えば、搬送波の三周期)の長さを持つサンプリングデータを生成する。サンプリングビット列生成部204により生成されたサンプリングデータは、ビット列切り出し部206に入力される。
(サンプリングビット列生成部204の具体的な構成例)
ここで、図4〜図9を参照しながら、サンプリングビット列生成部204の具体的な構成について説明する。図4〜図9は、サンプリングビット列生成部204の具体的な構成例を示す説明図である。
ここで、図4〜図9を参照しながら、サンプリングビット列生成部204の具体的な構成について説明する。図4〜図9は、サンプリングビット列生成部204の具体的な構成例を示す説明図である。
なお、サンプリングビット列生成部204の機能は、図4、図5、図7、及び図8に模式的に例示した回路構成(4種類のDフリップフロップ)により実現される。また、レジスタとして機能する各Dフリップフロップの入出力構成は、図6、及び図9に表形式で纏めて示されている。ここでは、8ビットのサンプリングビット列を3つ纏めて24ビットのサンプリングデータを生成する構成を例に挙げて説明する。
(回路構成例)
まず、図4、図5を参照する。サンプリングビット列生成部204は、ビット0に対応するサンプリングビットを生成するために、Dフリップフロップ252、254、256、258で構成されるシフトレジスタを有する。同様に、サンプリングビット列生成部204は、ビット1に対応するサンプリングビットを生成するために、Dフリップフロップ262、264、266、268で構成されるシフトレジスタを有する。
まず、図4、図5を参照する。サンプリングビット列生成部204は、ビット0に対応するサンプリングビットを生成するために、Dフリップフロップ252、254、256、258で構成されるシフトレジスタを有する。同様に、サンプリングビット列生成部204は、ビット1に対応するサンプリングビットを生成するために、Dフリップフロップ262、264、266、268で構成されるシフトレジスタを有する。
また、サンプリングビット列生成部204は、ビット2に対応するサンプリングビットを生成するために、Dフリップフロップ272、274、276、278で構成されるシフトレジスタを有する。さらに、サンプリングビット列生成部204は、ビット3に対応するサンプリングビットを生成するために、Dフリップフロップ282、284、286、288で構成されるシフトレジスタを有する。
また、サンプリングビット列生成部204は、ビット4に対応するサンプリングビットを生成するために、Dフリップフロップ292、294、296、298で構成されるシフトレジスタを有する。さらに、サンプリングビット列生成部204は、ビット5に対応するサンプリングビットを生成するために、Dフリップフロップ302、304、306、308で構成されるシフトレジスタを有する。
また、サンプリングビット列生成部204は、ビット6に対応するサンプリングビットを生成するために、Dフリップフロップ312、314、316、318で構成されるシフトレジスタを有する。さらに、サンプリングビット列生成部204は、ビット7に対応するサンプリングビットを生成するために、Dフリップフロップ322、324、326、328で構成されるシフトレジスタを有する。このように、サンプリングビット列生成部204は、8つのシフトレジスタにより構成される。
(ビット0に対応するサンプリングビットの生成)
まず、図4を参照しながら、Dフリップフロップ252、254、256、258で構成されるシフトレジスタ(ビット0に対応)の機能について説明する。
なお、ここでは、サンプリングクロックclock[0]は駆動クロックと同一であるものとする。
まず、図4を参照しながら、Dフリップフロップ252、254、256、258で構成されるシフトレジスタ(ビット0に対応)の機能について説明する。
なお、ここでは、サンプリングクロックclock[0]は駆動クロックと同一であるものとする。
(初段レジスタの処理S1)
Dフリップフロップ252のD端子には、デジタル変調信号rinが入力される。また、Dフリップフロップ252のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ252では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたデジタル変調信号rinの一部がサンプリングされ、ロジックデータrins[0][0]が生成される。そして、サンプリングされたロジックデータrins[0][0]は、Dフリップフロップ252のQ端子から出力される。
Dフリップフロップ252のD端子には、デジタル変調信号rinが入力される。また、Dフリップフロップ252のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ252では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたデジタル変調信号rinの一部がサンプリングされ、ロジックデータrins[0][0]が生成される。そして、サンプリングされたロジックデータrins[0][0]は、Dフリップフロップ252のQ端子から出力される。
(中間レジスタの処理S2)
Dフリップフロップ252のQ端子から出力されたロジックデータrins[0][0]は、Dフリップフロップ254のD端子に入力される。また、Dフリップフロップ254のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ254では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[0][0]の一部がサンプリングされ、ロジックデータrins[1][0]が生成される。そして、サンプリングされたロジックデータrins[1][0]は、Dフリップフロップ254のQ端子から出力される。
Dフリップフロップ252のQ端子から出力されたロジックデータrins[0][0]は、Dフリップフロップ254のD端子に入力される。また、Dフリップフロップ254のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ254では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[0][0]の一部がサンプリングされ、ロジックデータrins[1][0]が生成される。そして、サンプリングされたロジックデータrins[1][0]は、Dフリップフロップ254のQ端子から出力される。
(中間レジスタの処理S3)
Dフリップフロップ254のQ端子から出力されたロジックデータrins[1][0]は、Dフリップフロップ256のD端子に入力される。また、Dフリップフロップ256のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ256では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[1][0]の一部がサンプリングされ、ロジックデータrins[2][0]が生成される。そして、サンプリングされたロジックデータrins[2][0]は、Dフリップフロップ256のQ端子から出力される。
Dフリップフロップ254のQ端子から出力されたロジックデータrins[1][0]は、Dフリップフロップ256のD端子に入力される。また、Dフリップフロップ256のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ256では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[1][0]の一部がサンプリングされ、ロジックデータrins[2][0]が生成される。そして、サンプリングされたロジックデータrins[2][0]は、Dフリップフロップ256のQ端子から出力される。
(中間レジスタの処理S4)
Dフリップフロップ256のQ端子から出力されたロジックデータrins[2][0]は、Dフリップフロップ258のD端子に入力される。また、Dフリップフロップ258のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ258では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[2][0]の一部がサンプリングされ、ロジックデータrins[3][0]が生成される。そして、サンプリングされたロジックデータrins[3][0]は、Dフリップフロップ258のQ端子から出力される。
Dフリップフロップ256のQ端子から出力されたロジックデータrins[2][0]は、Dフリップフロップ258のD端子に入力される。また、Dフリップフロップ258のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ258では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[2][0]の一部がサンプリングされ、ロジックデータrins[3][0]が生成される。そして、サンプリングされたロジックデータrins[3][0]は、Dフリップフロップ258のQ端子から出力される。
このように、デジタル変調信号rinがサンプリングクロックclock[0]の立ち上がりタイミングでサンプリングされ、サンプリングクロックclock[0]に同期したサンプリングビットrins[3][0]が出力される。
(ビット1に対応するサンプリングビットの生成)
次に、Dフリップフロップ262、264、266、268で構成されるシフトレジスタ(ビット1に対応)の機能について説明する。
次に、Dフリップフロップ262、264、266、268で構成されるシフトレジスタ(ビット1に対応)の機能について説明する。
(初段レジスタの処理S1)
Dフリップフロップ262のD端子には、デジタル変調信号rinが入力される。また、Dフリップフロップ262のC端子には、サンプリングクロックclock[1]が入力される。そして、Dフリップフロップ262では、C端子に入力されたサンプリングクロックclock[1]の立ち上がりタイミングでD端子に入力されたデジタル変調信号rinの一部がサンプリングされ、ロジックデータrins[0][1]が生成される。そして、サンプリングされたロジックデータrins[0][1]は、Dフリップフロップ262のQ端子から出力される。
Dフリップフロップ262のD端子には、デジタル変調信号rinが入力される。また、Dフリップフロップ262のC端子には、サンプリングクロックclock[1]が入力される。そして、Dフリップフロップ262では、C端子に入力されたサンプリングクロックclock[1]の立ち上がりタイミングでD端子に入力されたデジタル変調信号rinの一部がサンプリングされ、ロジックデータrins[0][1]が生成される。そして、サンプリングされたロジックデータrins[0][1]は、Dフリップフロップ262のQ端子から出力される。
(中間レジスタの処理S2)
Dフリップフロップ262のQ端子から出力されたロジックデータrins[0][1]は、Dフリップフロップ264のD端子に入力される。また、Dフリップフロップ264のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ264では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[0][1]の一部がサンプリングされ、ロジックデータrins[1][1]が生成される。そして、サンプリングされたロジックデータrins[1][1]は、Dフリップフロップ264のQ端子から出力される。
Dフリップフロップ262のQ端子から出力されたロジックデータrins[0][1]は、Dフリップフロップ264のD端子に入力される。また、Dフリップフロップ264のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ264では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[0][1]の一部がサンプリングされ、ロジックデータrins[1][1]が生成される。そして、サンプリングされたロジックデータrins[1][1]は、Dフリップフロップ264のQ端子から出力される。
(中間レジスタの処理S3)
Dフリップフロップ264のQ端子から出力されたロジックデータrins[1][1]は、Dフリップフロップ266のD端子に入力される。また、Dフリップフロップ266のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ266では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[1][1]の一部がサンプリングされ、ロジックデータrins[2][1]が生成される。そして、サンプリングされたロジックデータrins[2][1]は、Dフリップフロップ266のQ端子から出力される。
Dフリップフロップ264のQ端子から出力されたロジックデータrins[1][1]は、Dフリップフロップ266のD端子に入力される。また、Dフリップフロップ266のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ266では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[1][1]の一部がサンプリングされ、ロジックデータrins[2][1]が生成される。そして、サンプリングされたロジックデータrins[2][1]は、Dフリップフロップ266のQ端子から出力される。
(中間レジスタの処理S4)
Dフリップフロップ266のQ端子から出力されたロジックデータrins[2][1]は、Dフリップフロップ268のD端子に入力される。また、Dフリップフロップ268のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ268では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[2][1]の一部がサンプリングされ、ロジックデータrins[3][1]が生成される。そして、サンプリングされたロジックデータrins[3][1]は、Dフリップフロップ268のQ端子から出力される。
Dフリップフロップ266のQ端子から出力されたロジックデータrins[2][1]は、Dフリップフロップ268のD端子に入力される。また、Dフリップフロップ268のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ268では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[2][1]の一部がサンプリングされ、ロジックデータrins[3][1]が生成される。そして、サンプリングされたロジックデータrins[3][1]は、Dフリップフロップ268のQ端子から出力される。
このように、デジタル変調信号rinがサンプリングクロックclock[1]の立ち上がりタイミングでサンプリングされ、サンプリングクロックclock[0]に同期したサンプリングビットrins[3][1]が出力される。
(ビット2に対応するサンプリングビットの生成)
次に、Dフリップフロップ272、274、276、278で構成されるシフトレジスタ(ビット2に対応)の機能について説明する。
次に、Dフリップフロップ272、274、276、278で構成されるシフトレジスタ(ビット2に対応)の機能について説明する。
(初段レジスタの処理S1)
Dフリップフロップ272のD端子には、デジタル変調信号rinが入力される。また、Dフリップフロップ272のC端子には、サンプリングクロックclock[2]が入力される。そして、Dフリップフロップ272では、C端子に入力されたサンプリングクロックclock[2]の立ち上がりタイミングでD端子に入力されたデジタル変調信号rinの一部がサンプリングされ、ロジックデータrins[0][2]が生成される。そして、サンプリングされたロジックデータrins[0][2]は、Dフリップフロップ272のQ端子から出力される。
Dフリップフロップ272のD端子には、デジタル変調信号rinが入力される。また、Dフリップフロップ272のC端子には、サンプリングクロックclock[2]が入力される。そして、Dフリップフロップ272では、C端子に入力されたサンプリングクロックclock[2]の立ち上がりタイミングでD端子に入力されたデジタル変調信号rinの一部がサンプリングされ、ロジックデータrins[0][2]が生成される。そして、サンプリングされたロジックデータrins[0][2]は、Dフリップフロップ272のQ端子から出力される。
(中間レジスタの処理S2)
Dフリップフロップ272のQ端子から出力されたロジックデータrins[0][2]は、Dフリップフロップ274のD端子に入力される。また、Dフリップフロップ274のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ274では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[0][2]の一部がサンプリングされ、ロジックデータrins[1][2]が生成される。そして、サンプリングされたロジックデータrins[1][2]は、Dフリップフロップ274のQ端子から出力される。
Dフリップフロップ272のQ端子から出力されたロジックデータrins[0][2]は、Dフリップフロップ274のD端子に入力される。また、Dフリップフロップ274のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ274では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[0][2]の一部がサンプリングされ、ロジックデータrins[1][2]が生成される。そして、サンプリングされたロジックデータrins[1][2]は、Dフリップフロップ274のQ端子から出力される。
(中間レジスタの処理S3)
Dフリップフロップ274のQ端子から出力されたロジックデータrins[1][2]は、Dフリップフロップ276のD端子に入力される。また、Dフリップフロップ276のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ276では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[1][2]の一部がサンプリングされ、ロジックデータrins[2][2]が生成される。そして、サンプリングされたロジックデータrins[2][2]は、Dフリップフロップ276のQ端子から出力される。
Dフリップフロップ274のQ端子から出力されたロジックデータrins[1][2]は、Dフリップフロップ276のD端子に入力される。また、Dフリップフロップ276のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ276では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[1][2]の一部がサンプリングされ、ロジックデータrins[2][2]が生成される。そして、サンプリングされたロジックデータrins[2][2]は、Dフリップフロップ276のQ端子から出力される。
(中間レジスタの処理S4)
Dフリップフロップ276のQ端子から出力されたロジックデータrins[2][2]は、Dフリップフロップ278のD端子に入力される。また、Dフリップフロップ278のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ278では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[2][2]の一部がサンプリングされ、ロジックデータrins[3][2]が生成される。そして、サンプリングされたロジックデータrins[3][2]は、Dフリップフロップ278のQ端子から出力される。
Dフリップフロップ276のQ端子から出力されたロジックデータrins[2][2]は、Dフリップフロップ278のD端子に入力される。また、Dフリップフロップ278のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ278では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[2][2]の一部がサンプリングされ、ロジックデータrins[3][2]が生成される。そして、サンプリングされたロジックデータrins[3][2]は、Dフリップフロップ278のQ端子から出力される。
このように、デジタル変調信号rinがサンプリングクロックclock[2]の立ち上がりタイミングでサンプリングされ、サンプリングクロックclock[0]に同期したサンプリングビットrins[3][2]が出力される。
(ビット3に対応するサンプリングビットの生成)
次に、Dフリップフロップ282、284、286、288で構成されるシフトレジスタ(ビット3に対応)の機能について説明する。
次に、Dフリップフロップ282、284、286、288で構成されるシフトレジスタ(ビット3に対応)の機能について説明する。
(初段レジスタの処理S1)
Dフリップフロップ282のD端子には、デジタル変調信号rinが入力される。また、Dフリップフロップ282のC端子には、サンプリングクロックclock[3]が入力される。そして、Dフリップフロップ282では、C端子に入力されたサンプリングクロックclock[3]の立ち上がりタイミングでD端子に入力されたデジタル変調信号rinの一部がサンプリングされ、ロジックデータrins[0][3]が生成される。そして、サンプリングされたロジックデータrins[0][3]は、Dフリップフロップ282のQ端子から出力される。
Dフリップフロップ282のD端子には、デジタル変調信号rinが入力される。また、Dフリップフロップ282のC端子には、サンプリングクロックclock[3]が入力される。そして、Dフリップフロップ282では、C端子に入力されたサンプリングクロックclock[3]の立ち上がりタイミングでD端子に入力されたデジタル変調信号rinの一部がサンプリングされ、ロジックデータrins[0][3]が生成される。そして、サンプリングされたロジックデータrins[0][3]は、Dフリップフロップ282のQ端子から出力される。
(中間レジスタの処理S2)
Dフリップフロップ282のQ端子から出力されたロジックデータrins[0][3]は、Dフリップフロップ284のD端子に入力される。また、Dフリップフロップ284のC端子には、サンプリングクロックclock[1]が入力される。そして、Dフリップフロップ284では、C端子に入力されたサンプリングクロックclock[1]の立ち上がりタイミングでD端子に入力されたロジックデータrins[0][3]の一部がサンプリングされ、ロジックデータrins[1][3]が生成される。そして、サンプリングされたロジックデータrins[1][3]は、Dフリップフロップ284のQ端子から出力される。
Dフリップフロップ282のQ端子から出力されたロジックデータrins[0][3]は、Dフリップフロップ284のD端子に入力される。また、Dフリップフロップ284のC端子には、サンプリングクロックclock[1]が入力される。そして、Dフリップフロップ284では、C端子に入力されたサンプリングクロックclock[1]の立ち上がりタイミングでD端子に入力されたロジックデータrins[0][3]の一部がサンプリングされ、ロジックデータrins[1][3]が生成される。そして、サンプリングされたロジックデータrins[1][3]は、Dフリップフロップ284のQ端子から出力される。
(中間レジスタの処理S3)
Dフリップフロップ284のQ端子から出力されたロジックデータrins[1][3]は、Dフリップフロップ286のD端子に入力される。また、Dフリップフロップ286のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ286では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[1][3]の一部がサンプリングされ、ロジックデータrins[2][3]が生成される。そして、サンプリングされたロジックデータrins[2][3]は、Dフリップフロップ286のQ端子から出力される。
Dフリップフロップ284のQ端子から出力されたロジックデータrins[1][3]は、Dフリップフロップ286のD端子に入力される。また、Dフリップフロップ286のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ286では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[1][3]の一部がサンプリングされ、ロジックデータrins[2][3]が生成される。そして、サンプリングされたロジックデータrins[2][3]は、Dフリップフロップ286のQ端子から出力される。
(中間レジスタの処理S4)
Dフリップフロップ286のQ端子から出力されたロジックデータrins[2][3]は、Dフリップフロップ288のD端子に入力される。また、Dフリップフロップ288のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ288では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[2][3]の一部がサンプリングされ、ロジックデータrins[3][3]が生成される。そして、サンプリングされたロジックデータrins[3][3]は、Dフリップフロップ288のQ端子から出力される。
Dフリップフロップ286のQ端子から出力されたロジックデータrins[2][3]は、Dフリップフロップ288のD端子に入力される。また、Dフリップフロップ288のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ288では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrins[2][3]の一部がサンプリングされ、ロジックデータrins[3][3]が生成される。そして、サンプリングされたロジックデータrins[3][3]は、Dフリップフロップ288のQ端子から出力される。
このように、デジタル変調信号rinがサンプリングクロックclock[3]の立ち上がりタイミングでサンプリングされ、サンプリングクロックclock[0]に同期したサンプリングビットrins[3][3]が出力される。
(ビット4〜7に対応するサンプリングビットの生成)
次に、図5を参照しながら、Dフリップフロップ292、294、296、298で構成されるシフトレジスタ(ビット4に対応)の機能について説明する。また、Dフリップフロップ302、304、306、308、312、314、316、318、322、324、326、328で構成されるシフトレジスタ(ビット5〜7に対応)の機能について説明する。
次に、図5を参照しながら、Dフリップフロップ292、294、296、298で構成されるシフトレジスタ(ビット4に対応)の機能について説明する。また、Dフリップフロップ302、304、306、308、312、314、316、318、322、324、326、328で構成されるシフトレジスタ(ビット5〜7に対応)の機能について説明する。
図5に例示したサンプリングビット列生成部204の回路構成は、図4に例示した回路構成と実質的に同じである。但し、各Dフリップフロップ292、294、296、298、302、304、306、308、312、314、316、318、322、324、326、328に入力されるサンプリングクロックclock[k](k=0〜7)の組み合わせが異なる。そこで、各シフトレジスタに入力されるサンプリングクロックclock[k]の組み合わせ、及び出力されるサンプリングビットrins[3][m](m=4〜7)の組み合わせについて簡単に述べるに留め、詳細な回路構成に関する説明を省略することにする。
(ビット4に対応するサンプリングビットの生成)
ビット4に対応するシフトレジスタは、Dフリップフロップ292、294、296、298で構成される。そして、Dフリップフロップ292のC端子には、サンプリングクロックclock[4]が入力される。また、Dフリップフロップ294のC端子には、サンプリングクロックclock[2]が入力される。さらに、Dフリップフロップ296、298のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ298のQ端子からサンプリングビットrins[3][4]が出力される。
ビット4に対応するシフトレジスタは、Dフリップフロップ292、294、296、298で構成される。そして、Dフリップフロップ292のC端子には、サンプリングクロックclock[4]が入力される。また、Dフリップフロップ294のC端子には、サンプリングクロックclock[2]が入力される。さらに、Dフリップフロップ296、298のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ298のQ端子からサンプリングビットrins[3][4]が出力される。
このサンプリングビットrins[3][4]は、デジタル変調信号rinがサンプリングクロックclock[4]の立ち上がりタイミングでサンプリングされ、サンプリングクロックclock[0]に同期されたものである。
(ビット5に対応するサンプリングビットの生成)
ビット5に対応するシフトレジスタは、Dフリップフロップ302、304、306、308で構成される。そして、Dフリップフロップ302のC端子には、サンプリングクロックclock[5]が入力される。また、Dフリップフロップ304のC端子には、サンプリングクロックclock[3]が入力される。さらに、Dフリップフロップ306のC端子には、サンプリングクロックclock[1]が入力される。そして、Dフリップフロップ306のC端子には、サンプリングクロックclock[0]が入力される。その結果、Dフリップフロップ308のQ端子からサンプリングビットrins[3][5]が出力される。
ビット5に対応するシフトレジスタは、Dフリップフロップ302、304、306、308で構成される。そして、Dフリップフロップ302のC端子には、サンプリングクロックclock[5]が入力される。また、Dフリップフロップ304のC端子には、サンプリングクロックclock[3]が入力される。さらに、Dフリップフロップ306のC端子には、サンプリングクロックclock[1]が入力される。そして、Dフリップフロップ306のC端子には、サンプリングクロックclock[0]が入力される。その結果、Dフリップフロップ308のQ端子からサンプリングビットrins[3][5]が出力される。
このサンプリングビットrins[3][5]は、デジタル変調信号rinがサンプリングクロックclock[5]の立ち上がりタイミングでサンプリングされ、サンプリングクロックclock[0]に同期されたものである。
(ビット6に対応するサンプリングビットの生成)
ビット6に対応するシフトレジスタは、Dフリップフロップ312、314、316、318で構成される。そして、Dフリップフロップ312のC端子には、サンプリングクロックclock[6]が入力される。また、Dフリップフロップ314のC端子には、サンプリングクロックclock[4]が入力される。さらに、Dフリップフロップ316のC端子には、サンプリングクロックclock[2]が入力される。そして、Dフリップフロップ316のC端子には、サンプリングクロックclock[0]が入力される。その結果、Dフリップフロップ318のQ端子からサンプリングビットrins[3][6]が出力される。
ビット6に対応するシフトレジスタは、Dフリップフロップ312、314、316、318で構成される。そして、Dフリップフロップ312のC端子には、サンプリングクロックclock[6]が入力される。また、Dフリップフロップ314のC端子には、サンプリングクロックclock[4]が入力される。さらに、Dフリップフロップ316のC端子には、サンプリングクロックclock[2]が入力される。そして、Dフリップフロップ316のC端子には、サンプリングクロックclock[0]が入力される。その結果、Dフリップフロップ318のQ端子からサンプリングビットrins[3][6]が出力される。
このサンプリングビットrins[3][6]は、デジタル変調信号rinがサンプリングクロックclock[6]の立ち上がりタイミングでサンプリングされ、サンプリングクロックclock[0]に同期されたものである。
(ビット7に対応するサンプリングビットの生成)
ビット7に対応するシフトレジスタは、Dフリップフロップ322、324、326、328で構成される。そして、Dフリップフロップ322のC端子には、サンプリングクロックclock[7]が入力される。また、Dフリップフロップ324のC端子には、サンプリングクロックclock[5]が入力される。さらに、Dフリップフロップ326のC端子には、サンプリングクロックclock[3]が入力される。そして、Dフリップフロップ326のC端子には、サンプリングクロックclock[1]が入力される。その結果、Dフリップフロップ328のQ端子からサンプリングビットrins[3][7]が出力される。
ビット7に対応するシフトレジスタは、Dフリップフロップ322、324、326、328で構成される。そして、Dフリップフロップ322のC端子には、サンプリングクロックclock[7]が入力される。また、Dフリップフロップ324のC端子には、サンプリングクロックclock[5]が入力される。さらに、Dフリップフロップ326のC端子には、サンプリングクロックclock[3]が入力される。そして、Dフリップフロップ326のC端子には、サンプリングクロックclock[1]が入力される。その結果、Dフリップフロップ328のQ端子からサンプリングビットrins[3][7]が出力される。
このサンプリングビットrins[3][7]は、デジタル変調信号rinがサンプリングクロックclock[7]の立ち上がりタイミングでサンプリングされ、サンプリングクロックclock[1]に同期されたものである。但し、サンプリングビットrins[3][7]は、サンプリングクロックclock[1]の立ち上がりの次にサンプリングクロックclock[0]が立ち上がるタイミングで取得される。その結果、取得されたサンプリングビットrins[3][7]は、サンプリングクロックclock[0]に同期されたものとなる。
(回路構成のまとめ)
以上、図4、図5を参照しながら、サンプリングビット列生成部204の一部回路構成について説明した。上記の通り、各レジスタに入力されるサンプリングクロックclock[k]をうまく組み合わせることで、搬送波の周期を8等分した異なるタイミングでデジタル変調信号をサンプリングして同一のクロックで更新するサンプリングビット列のレジスタrins[3]が得られる。
以上、図4、図5を参照しながら、サンプリングビット列生成部204の一部回路構成について説明した。上記の通り、各レジスタに入力されるサンプリングクロックclock[k]をうまく組み合わせることで、搬送波の周期を8等分した異なるタイミングでデジタル変調信号をサンプリングして同一のクロックで更新するサンプリングビット列のレジスタrins[3]が得られる。
特に、上記の回路構成を用いることで、各サンプリングビットrins[3][m](m=0〜7)がサンプリングクロックclock[0]と同期したサンプリングビット列rins[3]が得られる。これら各レジスタに入力されるサンプリングクロックclock[k]の組み合わせ、及び各レジスタから出力されるロジックデータrins[n][m](n=0〜3、m=0〜7)の組み合わせを表形式で纏めると図6のようになる。図6は、サンプリングビット列の生成方法(一周期分)を示す説明図である。
図6に示すように、まず、ビット毎に異なるサンプリングクロックが初段レジスタに入力されると、各サンプリングクロックでデジタル変調信号rinがサンプリングされ、各サンプリングクロックに対応するロジックデータrins[0]が出力される(S1)。次いで、初段レジスタから出力されたロジックデータrins[0]及びビット毎に設定された所定のサンプリングクロックが二段目のレジスタに入力され、ビット毎にサンプリングクロックでロジックデータrins[0]がサンプリングされる。そして、サンプリングにより得られるロジックデータrins[1]が出力される(S2)。
次いで、二段目のレジスタから出力されたロジックデータrins[1]及びビット毎に設定された所定のサンプリングクロックが三段目のレジスタに入力され、ビット毎にサンプリングクロックでロジックデータrins[1]がサンプリングされる。そして、サンプリングにより得られるロジックデータrins[2]が出力される(S3)。次いで、三段目のレジスタから出力されたロジックデータrins[2]及びビット毎に設定された所定のサンプリングクロックが四段目のレジスタに入力され、ビット毎にサンプリングクロックでロジックデータrins[2]がサンプリングされる。そして、サンプリングにより得られるロジックデータrins[3]が出力される(S4)。
このように、サンプリングビット列生成部204は、初段レジスタでデジタル変調信号をサンプリングクロックの立ち上がりタイミングで切り出した後、複数段のレジスタを用いて徐々にサンプリングクロックclock[0]の位相に近づける。そして、四段目のレジスタにおいてサンプリングビット列rins[3]の各ビットがサンプリングクロックclock[0]に同期される。その結果、各サンプリングビットをサンプリングクロックclock[0](駆動クロック)に同期させて同時に処理することが可能になる。つまり、各サンプリングビットがセトリングするまでの時間を気にせずに済むため、セトリング時間に起因して駆動クロックの周波数に課せられていた制限が大きく緩和される。
(シフトレジスタによるビット列の拡張)
さて、上記の回路構成及び方法により、搬送波周波数の一周期に相当する8ビットのサンプリングビット列rins[3][m](m=0〜7)が生成された。次に、サンプリングビット列生成部204は、上記構成により得られたサンプリングビット列rins[3][m](m=0〜7)を用いて搬送波周波数の三周期に相当する24ビットのサンプリングビット列rbuf[n](n=0〜23)を生成する。
さて、上記の回路構成及び方法により、搬送波周波数の一周期に相当する8ビットのサンプリングビット列rins[3][m](m=0〜7)が生成された。次に、サンプリングビット列生成部204は、上記構成により得られたサンプリングビット列rins[3][m](m=0〜7)を用いて搬送波周波数の三周期に相当する24ビットのサンプリングビット列rbuf[n](n=0〜23)を生成する。
(回路構成例)
まず、図7、図8を参照する。図7、図8は、搬送波周波数の三周期に相当する長さのサンプリングビット列rbufを生成する機能を実現するためにサンプリングビット列生成部204に設けられる回路構成の一例である。
まず、図7、図8を参照する。図7、図8は、搬送波周波数の三周期に相当する長さのサンプリングビット列rbufを生成する機能を実現するためにサンプリングビット列生成部204に設けられる回路構成の一例である。
サンプリングビット列生成部204は、サンプリングビットrins[3][0]に対応するサンプリングビットrbuf[k](k=0,8,16)を生成するために、Dフリップフロップ332、334、336で構成されるシフトレジスタを有する。同様に、サンプリングビット列生成部204は、サンプリングビットrins[3][1]に対応するサンプリングビットrbuf[k](k=1,9,17)を生成するために、Dフリップフロップ342、344、346で構成されるシフトレジスタを有する。
また、サンプリングビット列生成部204は、サンプリングビットrins[3][2]に対応するサンプリングビットrbuf[k](k=2,10,18)を生成するために、Dフリップフロップ352、354、356で構成されるシフトレジスタを有する。さらに、サンプリングビット列生成部204は、サンプリングビットrins[3][3]に対応するサンプリングビットrbuf[k](k=3,11,19)を生成するために、Dフリップフロップ362、364、366で構成されるシフトレジスタを有する。
また、サンプリングビット列生成部204は、サンプリングビットrins[3][4]に対応するサンプリングビットrbuf[k](k=4,12,20)を生成するために、Dフリップフロップ372、374、376で構成されるシフトレジスタを有する。さらに、サンプリングビット列生成部204は、サンプリングビットrins[3][5]に対応するサンプリングビットrbuf[k](k=5,13,21)を生成するために、Dフリップフロップ382、384、386で構成されるシフトレジスタを有する。
また、サンプリングビット列生成部204は、サンプリングビットrins[3][6]に対応するサンプリングビットrbuf[k](k=6,14,22)を生成するために、Dフリップフロップ392、394、396で構成されるシフトレジスタを有する。さらに、サンプリングビット列生成部204は、サンプリングビットrins[3][7]に対応するサンプリングビットrbuf[k](k=7,15,23)を生成するために、Dフリップフロップ402、404、406で構成されるシフトレジスタを有する。
このように、サンプリングビット列生成部204は、8つのシフトレジスタにより構成される。但し、図4、図5に示したレジスタ群とは異なり、いずれのレジスタにもサンプリングクロックclock[0]が入力される。そのため、各レジスタからは、サンプリングクロックclock[0]に同期してシフトされたサンプリングビットrbuf[k](k=0〜23)が出力される。
(rins[3][0]に対応するサンプリングビットの生成)
まず、図7を参照しながら、Dフリップフロップ332、334、336、338で構成されるシフトレジスタの機能について説明する。
まず、図7を参照しながら、Dフリップフロップ332、334、336、338で構成されるシフトレジスタの機能について説明する。
(中間レジスタの処理S5)
Dフリップフロップ332のD端子には、サンプリングビットrbuf[3][0]が入力される。また、Dフリップフロップ332のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ332では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたサンプリングビットrbuf[3][0]の一部がサンプリングされ、ロジックデータrbuf[0]が生成される。そして、サンプリングされたロジックデータrbuf[0]は、Dフリップフロップ332のQ端子から出力される。
Dフリップフロップ332のD端子には、サンプリングビットrbuf[3][0]が入力される。また、Dフリップフロップ332のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ332では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたサンプリングビットrbuf[3][0]の一部がサンプリングされ、ロジックデータrbuf[0]が生成される。そして、サンプリングされたロジックデータrbuf[0]は、Dフリップフロップ332のQ端子から出力される。
(中間レジスタの処理S6)
Dフリップフロップ332のQ端子から出力されたロジックデータrbuf[0]は、Dフリップフロップ334のD端子に入力される。また、Dフリップフロップ334のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ334では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrbuf[0]の一部がサンプリングされ、ロジックデータrbuf[8]が生成される。そして、サンプリングされたロジックデータrbuf[8]は、Dフリップフロップ334のQ端子から出力される。
Dフリップフロップ332のQ端子から出力されたロジックデータrbuf[0]は、Dフリップフロップ334のD端子に入力される。また、Dフリップフロップ334のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ334では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrbuf[0]の一部がサンプリングされ、ロジックデータrbuf[8]が生成される。そして、サンプリングされたロジックデータrbuf[8]は、Dフリップフロップ334のQ端子から出力される。
(中間レジスタの処理S7)
Dフリップフロップ334のQ端子から出力されたロジックデータrbuf[8]は、Dフリップフロップ336のD端子に入力される。また、Dフリップフロップ336のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ336では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrbuf[8]の一部がサンプリングされ、ロジックデータrbuf[16]が生成される。そして、サンプリングされたロジックデータrbuf[16]は、Dフリップフロップ336のQ端子から出力される。
Dフリップフロップ334のQ端子から出力されたロジックデータrbuf[8]は、Dフリップフロップ336のD端子に入力される。また、Dフリップフロップ336のC端子には、サンプリングクロックclock[0]が入力される。そして、Dフリップフロップ336では、C端子に入力されたサンプリングクロックclock[0]の立ち上がりタイミングでD端子に入力されたロジックデータrbuf[8]の一部がサンプリングされ、ロジックデータrbuf[16]が生成される。そして、サンプリングされたロジックデータrbuf[16]は、Dフリップフロップ336のQ端子から出力される。
(rins[3][k](k=1〜7)に対応するサンプリングビットの生成)
次に、サンプリングビットrins[3][k](k=1〜7)を入力とし、サンプリングクロックclock[0]に同期してシフトされたサンプリングビットrbuf[m](m=1〜7,9〜15,17〜23)を得る方法について簡単に説明する。
次に、サンプリングビットrins[3][k](k=1〜7)を入力とし、サンプリングクロックclock[0]に同期してシフトされたサンプリングビットrbuf[m](m=1〜7,9〜15,17〜23)を得る方法について簡単に説明する。
サンプリングビットrbuf[m](m=1〜7,9〜15,17〜23)を得るためのサンプリングビット列生成部204の回路構成は、サンプリングビットrins[3][0]を入力としてrbuf[m](m=0,8,16)を出力する上記回路構成例と実質的に同じであり、入力されるサンプリングビットrins[3][k]と出力されるサンプリングビットrbuf[m]の組み合わせだけが異なる。そこで、各シフトレジスタに入力されるサンプリングビットrins[3][k]と出力されるサンプリングビットrbuf[m]との組み合わせについて簡単に述べるに留め、詳細な回路構成に関する説明を省略することにする。
図7に示すように、サンプリングビットrins[3][1]がDフリップフロップ342、344、346で構成されるシフトレジスタに入力されると、サンプリングビットrbuf[1]、rbuf[9]、rbuf[17]が出力される。また、サンプリングビットrins[3][2]がDフリップフロップ352、354、356で構成されるシフトレジスタに入力されると、サンプリングビットrbuf[2]、rbuf[10]、rbuf[18]が出力される。さらに、サンプリングビットrins[3][3]がDフリップフロップ362、364、366で構成されるシフトレジスタに入力されると、サンプリングビットrbuf[3]、rbuf[11]、rbuf[19]が出力される。
図8に示すように、サンプリングビットrins[3][4]がDフリップフロップ372、374、376で構成されるシフトレジスタに入力されると、サンプリングビットrbuf[4]、rbuf[12]、rbuf[20]が出力される。また、サンプリングビットrins[3][5]がDフリップフロップ382、384、386で構成されるシフトレジスタに入力されると、サンプリングビットrbuf[5]、rbuf[13]、rbuf[21]が出力される。さらに、サンプリングビットrins[3][6]がDフリップフロップ392、394、396で構成されるシフトレジスタに入力されると、サンプリングビットrbuf[6]、rbuf[14]、rbuf[22]が出力される。
そして、サンプリングビットrins[3][7]がDフリップフロップ402、404、406で構成されるシフトレジスタに入力されると、サンプリングビットrbuf[7]、rbuf[15]、rbuf[23]が出力される。このように、互いに位相が異なるサンプリングクロックclock[k](k=0〜7)を用いて生成された搬送波の一周期に相当するサンプリングビット列rins[3][k]から三周期分のサンプリングビット列rbuf[m](m=0〜23)が生成される。上記のようにして生成されたサンプリングビット列rbufは、ビット列切り出し部206に入力される。
(回路構成のまとめ)
以上、図7、図8を参照しながら、サンプリングビット列生成部204の一部回路構成について説明した。上記の通り、サンプリングクロックclock[0]に同期してサンプリングビットrins[3][k](k=0〜7)をシフトさせることで、搬送波の一周期分のサンプリングビット列rins[3]を三周期分に拡張することができる。各シフトレジスタに入力されるサンプリングビットrins[3][k]、及び各シフトレジスタから出力されるサンプリングビットrbuf[m]を纏めると図9のようになる。図9は、サンプリングビット列の生成方法(三周期分)を示す説明図である。
以上、図7、図8を参照しながら、サンプリングビット列生成部204の一部回路構成について説明した。上記の通り、サンプリングクロックclock[0]に同期してサンプリングビットrins[3][k](k=0〜7)をシフトさせることで、搬送波の一周期分のサンプリングビット列rins[3]を三周期分に拡張することができる。各シフトレジスタに入力されるサンプリングビットrins[3][k]、及び各シフトレジスタから出力されるサンプリングビットrbuf[m]を纏めると図9のようになる。図9は、サンプリングビット列の生成方法(三周期分)を示す説明図である。
図9に示すように、まず、ビット毎に異なるサンプリングビットrins[3][k]が五段目のレジスタに入力される。五段目のレジスタでは、サンプリングビットrins[3][k]がサンプリングクロックclock[0]でシフトされ、シフトされたロジックデータrbuf[m](m=0〜7)が出力される(S5)。次いで、五段目のレジスタから出力されたロジックデータrbuf[m]及びサンプリングクロックclock[0]が六段目のレジスタに入力され、サンプリングクロックclock[0]に同期してシフトされる。そして、ロジックデータrbuf[m](m=0〜7)をシフトして得られたロジックデータrbuf[n](n=8〜15)が出力される(S6)。
次いで、六段目のレジスタから出力されたロジックデータrbuf[n](n=8〜15)及びサンプリングクロックclock[0]が七段目のレジスタに入力され、サンプリングクロックclock[0]に同期してシフトされる。そして、ロジックデータrbuf[n](n=8〜15)をシフトして得られたロジックデータrbuf[q](q=16〜23)が出力される(S7)。以上説明した方法により、搬送波の三周期分に相当するサンプリングデータrbufが生成される。そして、ステップS5、S6、S7で生成されたサンプリングビットrbuf[k](k=0〜23)は、ビット列切り出し部206に入力される。
(ビット列切り出し部206)
再び図2を参照する。上記の通り、ビット列切り出し部206には、サンプリングビット列生成部204で生成されたサンプリングビット列が入力される。例えば、サンプリングビット列として、搬送波の三周期分に相当するサンプリングビット列が入力される。以下の説明においては、説明の都合上、図9に示した24ビットのサンプリングビット列rbufがビット列切り出し部206に入力されるものとする。
再び図2を参照する。上記の通り、ビット列切り出し部206には、サンプリングビット列生成部204で生成されたサンプリングビット列が入力される。例えば、サンプリングビット列として、搬送波の三周期分に相当するサンプリングビット列が入力される。以下の説明においては、説明の都合上、図9に示した24ビットのサンプリングビット列rbufがビット列切り出し部206に入力されるものとする。
サンプリングビット列生成部204から24ビットのサンプリングビット列が入力されると、ビット列切り出し部206は、入力されたサンプリングビット列の中から連続する8ビットのデータxを切り出す。このとき、ビット列切り出し部206は、データxのLSB(Least Significant Bit)を特定するためのアドレス(以下、LSBアドレス)を決定する。なお、データxのLSBアドレスは、後述する位相誤差データの上位4ビットにより示される。
まず、ビット列切り出し部206は、所定のアドレスから始まる8ビットのデータxをサンプリングビット列rbufから切り出す。例えば、ビット列切り出し部206は、連続する8ビットのサンプリングビット列rbuf[0],…,rbuf[7]をデータx0,…,x7として切り出し、レジスタ内にビット列x[0],…,x[7]として格納する(図9のステップS8を参照)。さらに、ビット列切り出し部206は、サンプリングビット列rbufから切り出したビット列x[k](k=0〜7)を後述する検波・位相比較部208に入力する。
検波・位相比較部208では、入力されたビット列xに基づいて検波データ(r_amp)及び位相データ(p_amp)が生成され、これらのデータに基づいて位相誤差データ(p_err)が生成される。検波データ(r_amp)は、ビット値の符号で判定される硬判定データの信頼性を表す軟判定データである。一方、位相データ(p_amp)は、搬送波の位相との間のずれ量を表す軟判定データである。また、位相誤差データは、切り出されたビット列xとデジタル変調信号の搬送波との間の位相のずれを表すものである。なお、検波データ、位相データ、位相誤差データの算出方法については後述する。この位相誤差データからビット列xの正しい切り出し位置を示すLSBアドレス(p_lpf)が決定され、位相比較結果として検波・位相比較部208からビット列切り出し部206に帰還される。
そして、ビット列切り出し部206は、帰還されたLSBアドレスから始まる8ビットのサンプリングビット列rbuf[k](k=p_lpf,…,p_lpf+7)をデータx0,…,x7として切り出し、レジスタ内にビット列x[0],…,x[7]として格納する(図9のステップS8を参照)。さらに、ビット列切り出し部206は、サンプリングビット列rbufから切り出したビット列x[k](k=0〜7)を後述する検波・位相比較部208に入力する。
(検波・位相比較部208)
上記の通り、検波・位相比較部208は、ビット列切り出し部206から入力された8ビットのビット列xから検波データr_amp及び位相データp_ampを算出する。検波データr_ampは、例えば、下記の式(1)に基づいて算出される。一方、位相データp_ampは、下記の式(2)に基づいて算出される。つまり、検波データr_amp及び位相データp_ampは、ビット列xの各ビット値にそれぞれ所定の重みを付けて加算した値である。
上記の通り、検波・位相比較部208は、ビット列切り出し部206から入力された8ビットのビット列xから検波データr_amp及び位相データp_ampを算出する。検波データr_ampは、例えば、下記の式(1)に基づいて算出される。一方、位相データp_ampは、下記の式(2)に基づいて算出される。つまり、検波データr_amp及び位相データp_ampは、ビット列xの各ビット値にそれぞれ所定の重みを付けて加算した値である。
但し、検波データr_ampは、重み付けする値を下記の式(3)に示すように変更することもできる。
なお、上記の位相データp_ampは、検波データr_ampの符号が負の場合に符号が反転する。そのため、検波・位相比較部208は、下記の式(4)に基づき、検波データr_ampの符号に応じて位相データp_ampの符号を反転させて位相誤差データp_errを算出する。但し、下記の式(4)において、演算式「X=A?B:C」は、「条件Aが真ならばX=B、条件Aが偽ならばX=C」という演算を表すものである。このような符号の反転演算を行うことで、ランダムな系列に対しても正しい位相データを得ることができるようになる。
上記の式(4)に基づいて位相誤差データp_errを算出した後、検波・位相比較部208は、下記の式(5)に基づき、位相誤差データp_errを用いて正しいビット列xを切り出すためのLSBアドレスp_lpfを算出する。このLSBアドレスp_lpfは、サンプリングビット列rbufからビット列xを切り出す際の先頭アドレスに相当する。つまり、サンプリングビット列rbufに対し、下記の式(6)のようにLSBアドレスp_lpfに基づいてローパスフィルタが施される。但し、下記の式(6)において、矢印の左辺は条件を表し、矢印の右辺は切り出されるサンプリングビット列rbufの範囲を表している。
上記のように、検波・位相比較部208は、位相誤差データp_errに基づいて位相のオフセットを検出し、搬送波の位相が0となる位置に最も近いサンプリングビット列rbufのLSBアドレスp_lpfを決定する。そして、検波・位相比較部208で決定されたLSBアドレスp_lpfは、ビット列切り出し部206に帰還される。上記の通り、ビット列切り出し部206は、帰還されたLSBアドレスp_lpfに基づいてサンプリングビット列rbufを切り出し、検波・位相比較部208に入力する。そこで、検波・位相比較部208は、ビット列切り出し部206で切り出されたビット列xを用いて検波データ及び位相データを算出し、信号処理装置200の後段に設けられるデータ判定処理手段に出力する。そして、データ判定処理手段により元のデータが復調される。
以上、本実施形態に係る信号処理装置200の構成について詳細に説明した。上記の構成を適用することで、基盤技術に係る信号処理装置100よりも回路構成が簡素化されると共に、選択されないサンプリングクロックで動作するロジック回路が無い分だけ電力消費量が低減される。
[2−2:信号処理装置200による処理の流れ]
ここで、図10を参照しながら、本実施形態に係る信号処理装置200による処理の流れについて簡単に纏める。図10は、本実施形態に係る信号処理装置200による処理の流れを示す説明図である。
ここで、図10を参照しながら、本実施形態に係る信号処理装置200による処理の流れについて簡単に纏める。図10は、本実施形態に係る信号処理装置200による処理の流れを示す説明図である。
図10に示すように、まず、サンプリングクロック発生部202により、搬送波と同じ周波数を持ち、互いに位相が異なる複数のサンプリングクロックが生成される(S102)。そして、サンプリングクロック発生部202からサンプリングビット列生成部204に複数のサンプリングクロックが入力される。次いで、サンプリングビット列生成部204により、搬送波の一周期以上の長さを持つサンプリングビット列(rbuf)が生成される(S104)。そして、サンプリングビット列生成部204からビット列切り出し部206にサンプリングビット列(rbuf)が入力される。
次いで、ビット列切り出し部206により、サンプリングビット列(rbuf)から一周期分のビット列(x)が切り出される(S106)。そして、ビット列切り出し部206から検波・位相比較部208に一周期分のビット列(x)が入力される。次いで、検波・位相比較部208により、切り出されたビット列(x)から検波データ(r_amp)及び位相データ(p_amp)が算出される(S108)。そして、検波・位相比較部208により、検波データ(r_amp)及び位相データ(p_amp)から位相誤差データ(p_err)が算出される(S110)。
次いで、検波・位相比較部208により、位相誤差データ(p_err)に基づいて正しいビット列xを切り出すためのLSBアドレス(p_lpf)が決定される(S112)。そして、検波・位相比較部208からビット列切り出し部206にLSBアドレス(p_lpf)が帰還される。次いで、ビット列切り出し部206により、検波・位相比較部208から帰還されたLSBアドレス(p_lpf)に基づいて一周期分のビット列xが切り出され(S114)、一連の処理が終了する。
以上説明した方法を用いることで容易に検波データ及び位相データを生成することができる。なお、この方法を用いる場合、搬送波とサンプリングクロックの位相とが同一又は反対の位相にロックする。同一の位相にロックした場合、正しいデータが検出される。一方、反対の位相にロックした場合、反転したデータが検出される。そのため、反対の位相にロックした場合、データの切り替わり点付近でデータの信頼性が低下してしまう。多くの場合、データを決定するタイミングがデータの切り替わり点前後でなければ、データを反転すれば正しいデータが得られる。また、同期コード等を参照して反転の有無を判定し、反転している場合に以降のデータをもう一度反転して元に戻すことで、信号品質が若干劣化するものの、概ね正しいデータが得られる。
ところが、マンチェスター符号を用いる場合、ビット毎にデータが切り替わり点となるため、常にデータが不安点を持つことになる。そのため、マンチェスター符号を用いる場合、反対の位相にロックしないようにする工夫が求められる。そこで、本件発明者は、プリアンブルに工夫を凝らし、反対の位相にロックしないようにする方法を考案した。
(対策1:プリアンブル前後で位相データの生成方法を変更する方法)
まず、反対の位相にロックしないようにするための第1の方法(以下、対策1)として、プリアンブル検出の前後で位相データの生成方法を変更する方法が考えられる。この方法において、プリアンブル部分のデータは、0又は1のいずれかで固定される。ここでは一例としてプリアンブル部分のデータが0に固定されているものとする。つまり、搬送波の周期で0000000のようにデータが続くものとする。
まず、反対の位相にロックしないようにするための第1の方法(以下、対策1)として、プリアンブル検出の前後で位相データの生成方法を変更する方法が考えられる。この方法において、プリアンブル部分のデータは、0又は1のいずれかで固定される。ここでは一例としてプリアンブル部分のデータが0に固定されているものとする。つまり、搬送波の周期で0000000のようにデータが続くものとする。
この場合、プリアンブル検出前の位相データがp_ampをフィルタリングしたp_lpfとなるように設定する。さらに、プリアンブル検出後の位相データがp_errをフィルタリングしたp_lpfとなるように設定する。このように設定すると、プリアンブル検出前においてデータが0にロックされる。その結果、プリアンブルにおいて正しい位相にロックされる。また、プリアンブル検出後においては、既に正しい位相でロックされているため、データが1になった場合でも正しい位相のままロックした状態が維持される。
以上説明した処理の流れを図11に簡単に示した。図11に示すように、プリアンブルが検出されると(S132)、位相演算(位相データの生成方法)が切り替えられる(S134)。次いで、同期コードが検出され(S136)、データが受信される(S138)。つまり、ステップS132でプリアンブルが検出される前後で位相データの生成方法が切り替えられている点に特徴がある。また、プリアンブルのデータが所定の値に固定されている点にも注意が必要である。
(対策2:プリアンブルでデータの切り替わりを多数発生させる方法)
次に、反対の位相にロックしないようにするための第2の方法(以下、対策2)として、プリアンブルにおいてデータの切り替わりを多数発生させる方法が考えられる。この方法において、プリアンブル部分のデータは、0と1とが交互に切り替わるように構成されている。例えば、プリアンブル部分のデータは、搬送波の周期で01010101のようにデータが続くものとする。
次に、反対の位相にロックしないようにするための第2の方法(以下、対策2)として、プリアンブルにおいてデータの切り替わりを多数発生させる方法が考えられる。この方法において、プリアンブル部分のデータは、0と1とが交互に切り替わるように構成されている。例えば、プリアンブル部分のデータは、搬送波の周期で01010101のようにデータが続くものとする。
既に述べた通り、反対の位相にロックした状態でデータを検出しようとすると、データの切り替わり点において信頼性が低下する。このような点において、検波データr_ampの絶対値は0であるか、或いは、0に近い値になっている。例えば、r_amp=0の場合、明らかに位相が反転している。このような場合に位相誤差データp_errに所定の大きな値(p_max)が設定されるようにする。例えば、位相誤差データp_errは、下記の式(7)に基づいて決定される。例えば、p_max=4等に設定される。
上記の式(4)に代えて上記の式(6)を用いることで、反転位相でロックした場合においても、その位相を正しい位相に変更することができる。その結果、反対の位相にロックした状態でデータの切り替わり点において発生する信頼性の低下を回避することができるようになる。以上説明した方法を用いた場合における図11に対応する処理の流れを図12に示した。図12に示すように、プリアンブルが検出され(S202)、同期コードが検出され(S204)、データが受信される(S206)。図11に示した処理の流れとの大きな違いは、位相データ生成方法の切り替えステップが含まれない点である。
(対策1、2のまとめ)
以上説明した対策1、2を適用することで、搬送波の周波数とサンプリングクロックの周波数とが一致していれば、正しい位相でデータを切り出すことができる。しかし、多くの場合、搬送波の周波数とサンプリングクロックの周波数とが完全に一致していない。そのため、搬送波の位相とサンプリングクロックの位相との間に蓄積誤差が発生し、正しい動作が妨げられることになる。特に、サンプリングクロックの位相が繰り上がったり、或いは、繰り下がるようなとき、検波データに抜けや重複が発生してしまう。
以上説明した対策1、2を適用することで、搬送波の周波数とサンプリングクロックの周波数とが一致していれば、正しい位相でデータを切り出すことができる。しかし、多くの場合、搬送波の周波数とサンプリングクロックの周波数とが完全に一致していない。そのため、搬送波の位相とサンプリングクロックの位相との間に蓄積誤差が発生し、正しい動作が妨げられることになる。特に、サンプリングクロックの位相が繰り上がったり、或いは、繰り下がるようなとき、検波データに抜けや重複が発生してしまう。
なお、ここで言うサンプリングクロックにおける位相の繰り上がりとは、上記の例においてp_lpfが15から0になることを意味する。また、サンプリングクロックにおける位相の繰り下がりとは、上記の例においてp_lpfが0から15になることを意味する。多くの場合において、位相偏移変調信号を用いる際、このような抜けや重複がデータの切り替わり点で発生してしまう。そこで、データを決定するタイミングがデータの切り替わり点前後で発生しないように構成すれば、信号品質が多少低下するものの、それほど大きな影響は受けないで済むことが多い。しかし、マンチェスター符号の場合、このような抜けや重複はデータの抜けや重複に直結し、誤りの発生原因となる。そこで、位相の繰り上がりや繰り下がりが発生しにくいように工夫する必要がある。
(対策3:切り出し範囲のシフト)
そこで、本件発明者は、サンプリングクロックの位相が繰り上がったり、繰り下がったりしないよう、プリアンブルを検出した際にビット列xの切り出し位置を調整する方法を考案した。この方法は、ビット列xの切り出し位置がサンプリングビット列rbufの端(例えば、LSBアドレス=0、23)に近い場合に切り出し位置を中心付近(例えば、LSBアドレス≒15)に移動させるというものである。以下、図13を参照しながら、この方法について説明する。図13は、上記の方法を適用した場合におけるデータ受信処理の流れを示す説明図である。
そこで、本件発明者は、サンプリングクロックの位相が繰り上がったり、繰り下がったりしないよう、プリアンブルを検出した際にビット列xの切り出し位置を調整する方法を考案した。この方法は、ビット列xの切り出し位置がサンプリングビット列rbufの端(例えば、LSBアドレス=0、23)に近い場合に切り出し位置を中心付近(例えば、LSBアドレス≒15)に移動させるというものである。以下、図13を参照しながら、この方法について説明する。図13は、上記の方法を適用した場合におけるデータ受信処理の流れを示す説明図である。
図13に示すように、まず、受信開始のフラグが立ち、サンプリングビット列rbufの生成処理、ビット列xの切り出し処理、検波データ及び位相データの生成処理が実行される。そして、プリアンブルの検出処理が実行される(S212)。次いで、切り出し位置の初期化処理(切り出し位相のシフト処理)が実行される(S214)。このとき、検波・位相比較部208は、プリアンブル検出時におけるビット列xの切り出し位置がサンプリングビット列rbufの端に近い場合、ビット列xの切り出し位置を中心付近に近づける。例えば、検波・位相比較部208は、下記の式(8)に基づいてビット列xの切り出し位置を示すLSBアドレスp_lpfをシフトさせる。
上記の式(8)は、本稿で例示した8ビットのビット列xを24ビットのサンプリングビット列rbufから切り出す場合に適用される条件式である。例えば、条件p_lpf<4のとき、LSBアドレスp_lpfがさらに小さくなっていくと、すぐに繰り下がりが発生してしまい、データの重複が生じてしまう。そのため、条件p_lpf<4の場合にはLSBアドレスp_lpfをもっと大きい値に調整した方が安定になる。同様に、条件p_lpf>11のとき、LSBアドレスp_lpfがさらに大きくなっていくと、すぐに繰り上がりが発生してしまい、データの欠落が生じてしまう。そのため、条件p_lpf>11の場合にはLSBアドレスp_lpfをもっと小さい値に調整した方が安定でになる。
上記の式(8)のようにしてLSBアドレスp_lpfを調整することにより、位相を変えずに切り出し位置を変更することができる。このような調整を行うことにより、LSBアドレスp_lpfは、常に4から11までの間となる。その結果、位相を変えずに繰り上がりや繰り下がりの発生を抑制することができる。このようにして切り出し位相がシフトされると、次いで、同期コードの検出処理(S216)、データの受信処理(S218)が順次実行されて一連の処理が終了する。
なお、上記の方法を用いても、実施の態様に応じてパケット長を非常に長くすると、パケットの間の蓄積誤差によって繰り上がりや繰り下がりが発生してしまう可能性もある。このような長いパケットを利用する場合には、最大パケット長で蓄積誤差が出ても位相データが繰り上がったり、繰り下がったりしないように、サンプリングデータの長さを長く設定するのが好ましい。また、一定期間毎に切り出し位置を初期化するようなダミーの信号を入れておく方法も有効である。
以上、本実施形態に係る信号処理装置200による処理の流れについて説明した。また、マンチェスター符号を用いた場合に問題となる反対位相へのロック、及び位相の繰り上がり/繰り下がりに対する対策について説明した。上記の方法を用いることで、基盤技術に係る信号処理装置100よりも省電力化及び回路構成の簡略化が実現されると共に、安定したデータ検出が実現される。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上記実施形態の説明においては、サンプリングビット列rbufを24ビットに仮定したが、実施の態様に応じて適宜16ビットや32ビット等に変更されうる。
100 信号処理装置
102 サンプリングクロック発生部
104 サンプリングデータ生成部
106 バス
108 サンプリング別位相データ生成部
110 位相データ決定部
112 サンプリング別検波データ生成部
114 検波データ決定部
116 サンプリングクロック決定部
200 信号処理装置
202 サンプリングクロック発生部
204 サンプリングビット列生成部
206 ビット列切り出し部
208 検波・位相比較部
234、238、242 遅延部
232、236、240、244 インバータ
252、254、256、258、262、264、266、268、272、274、276、278、282、284、286、288、292、294、296、298、302、304、306、308、312、314、316、318、322、324、326、328、332、334、336、342、344、346、352、354、356、362、364、366、372、374、376、382、384、386、392、394、396、402、404、406 Dフリップフロップ
102 サンプリングクロック発生部
104 サンプリングデータ生成部
106 バス
108 サンプリング別位相データ生成部
110 位相データ決定部
112 サンプリング別検波データ生成部
114 検波データ決定部
116 サンプリングクロック決定部
200 信号処理装置
202 サンプリングクロック発生部
204 サンプリングビット列生成部
206 ビット列切り出し部
208 検波・位相比較部
234、238、242 遅延部
232、236、240、244 インバータ
252、254、256、258、262、264、266、268、272、274、276、278、282、284、286、288、292、294、296、298、302、304、306、308、312、314、316、318、322、324、326、328、332、334、336、342、344、346、352、354、356、362、364、366、372、374、376、382、384、386、392、394、396、402、404、406 Dフリップフロップ
Claims (8)
- 搬送波の周波数と同じ周波数を持つ駆動クロックの位相を所定量だけ遅延させて複数のサンプリングクロックを生成するサンプリングクロック生成部と、
前記搬送波の位相を偏移して得られる変調信号から前記サンプリングクロック生成部で生成された各サンプリングクロックを用いてサンプリングされ、かつ、所定の前記駆動クロックに同期された複数のロジックデータを生成するロジックデータ生成部と、
前記ロジックデータ生成部で生成されたロジックデータを前記所定の駆動クロックに合わせてシフトさせ、前記搬送波の一周期よりも長いサンプリングビット列を生成するサンプリングビット列生成部と、
前記サンプリングビット列生成部で生成されたサンプリングビット列から切り出された前記搬送波の一周期分のビット列を用いて当該ビット列の位相と前記搬送波の位相とのずれ量を表す位相誤差データとを生成する位相誤差データ生成部と、
前記位相誤差データ生成部で生成された位相誤差データに基づいて前記搬送波に近い位相を持つ前記一周期分のビット列を切り出す位置を決定する切り出し位置決定部と、
を備える、信号処理装置。 - 前記ロジックデータ生成部は、前記各サンプリングクロックの立ち上がりタイミングに同期して入力信号をサンプリングし、当該サンプリングしたロジックデータを次の立ち上がりタイミングまで保持する複数のレジスタを有し、
第1段目の前記レジスタには、第1の前記サンプリングクロックと共に、前記入力信号として前記変調信号が入力され、
第N段目(N≧2)の前記レジスタには、前記第1のサンプリングクロック又は当該第1のサンプリングクロックよりも前記所定の駆動クロックに位相が近いサンプリングクロックが入力されると共に、第N−1段目の前記レジスタで保持されたロジックデータが入力され、
前記サンプリングビット列生成部は、最終段目の前記レジスタで保持されたロジックデータを用いて前記搬送波の一周期よりも長いサンプリングビット列を生成する、請求項1に記載の信号処理装置。 - 前記位相誤差データ生成部は、
前記ビット列の各ビット値に第1の所定の重みを付けて加算した軟判定データを検波データとして算出する検波データ算出部と、
前記ビット列の各ビット値に前記第1の所定の重みとは異なる第2の所定の重みを付けて加算した軟判定データを位相データとして算出する位相データ算出部と、
前記検波データ算出部で算出された検波データ及び前記位相データ算出部で算出された位相データに基づいて前記位相誤差データを算出する位相誤差データ算出部と、
を含む、請求項1に記載の信号処理装置。 - 前記位相誤差データ算出部は、前記検波データ算出部で算出された検波データの符号が負の場合に前記位相データ算出部で算出された位相データの符号を反転させたデータを前記位相誤差データとして出力し、当該検波データの符号が正の場合に当該位相データを前記位相誤差データとして出力する、請求項3に記載の信号処理装置。
- 前記変調信号のプリアンブルには、同じビット値が連続して含まれており、
前記位相誤差データ算出部は、前記プリアンブルの検出前において前記位相データを前記位相誤差データとして出力し、前記プリアンブルの検出後において前記検波データの符号に応じて符号が反転された前記位相データを前記位相誤差データとして出力する、請求項4に記載の信号処理装置。 - 前記変調信号のプリアンブルには、互いに異なるビット値が交互に含まれており、
前記位相誤差データ算出部は、前記検波データが0に近い場合に前記位相誤差データとして所定値E(E>>0)を出力する、請求項4に記載の信号処理装置。 - 前記切り出し位置決定部は、前記切り出されたビット列の位置が前記サンプリングビット列の先頭ビット又は終端ビットに近い場合、当該ビット列の切り出し位置を当該サンプリングビット列の中央ビットに近い位置にシフトさせる、請求項1に記載の信号処理装置。
- 搬送波の周波数と同じ周波数を持つ駆動クロックの位相を所定量だけ遅延させて複数のサンプリングクロックを生成するサンプリングクロック生成ステップと、
前記搬送波の位相を偏移して得られる変調信号から前記サンプリングクロック生成ステップで生成された各サンプリングクロックを用いてサンプリングされ、かつ、所定の前記駆動クロックに同期された複数のロジックデータを生成するロジックデータ生成ステップと、
前記ロジックデータ生成ステップで生成されたロジックデータを前記所定の駆動クロックに合わせてシフトさせ、前記搬送波の一周期よりも長いサンプリングビット列を生成するサンプリングビット列生成ステップと、
前記サンプリングビット列生成ステップで生成されたサンプリングビット列から切り出された前記搬送波の一周期分のビット列を用いて当該ビット列の位相と前記搬送波の位相とのずれ量を表す位相誤差データとを生成する位相誤差データ生成ステップと、
前記位相誤差データ生成ステップで生成された位相誤差データに基づいて前記搬送波に近い位相を持つ前記一周期分のビット列を切り出す位置を決定する切り出し位置決定ステップと、
を含む、信号処理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009027768A JP4623216B2 (ja) | 2009-02-09 | 2009-02-09 | 信号処理装置、及び信号処理方法 |
US12/698,508 US8355479B2 (en) | 2009-02-09 | 2010-02-02 | Signal processing apparatus and signal processing method |
CN201010109898.8A CN101800635B (zh) | 2009-02-09 | 2010-02-02 | 信号处理装置与信号处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009027768A JP4623216B2 (ja) | 2009-02-09 | 2009-02-09 | 信号処理装置、及び信号処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010183527A JP2010183527A (ja) | 2010-08-19 |
JP4623216B2 true JP4623216B2 (ja) | 2011-02-02 |
Family
ID=42540425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009027768A Expired - Fee Related JP4623216B2 (ja) | 2009-02-09 | 2009-02-09 | 信号処理装置、及び信号処理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8355479B2 (ja) |
JP (1) | JP4623216B2 (ja) |
CN (1) | CN101800635B (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103178784B (zh) * | 2011-12-21 | 2017-02-08 | 北京普源精电科技有限公司 | 一种振荡键控调制方法、装置和函数信号发生器 |
CN108694898B (zh) * | 2017-06-09 | 2022-03-29 | 京东方科技集团股份有限公司 | 驱动控制方法、组件及显示装置 |
WO2021141008A1 (ja) * | 2020-01-08 | 2021-07-15 | ファナック株式会社 | 通信装置、産業機械及び通信方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06508494A (ja) * | 1992-03-26 | 1994-09-22 | モトローラ・インコーポレイテッド | クロック回復回路で用いられる位相調整方法および装置 |
JP2002190724A (ja) * | 2000-12-21 | 2002-07-05 | Nec Corp | クロックアンドデータリカバリ回路とそのクロック制御方法 |
JP2002544685A (ja) * | 1999-05-03 | 2002-12-24 | インフィネオン テヒノロギーズ アーゲー | 位相変調信号のサンプリングクロックを制御する方法及び回路構成 |
JP2005151087A (ja) * | 2003-11-14 | 2005-06-09 | Matsushita Electric Ind Co Ltd | 軟判定復号装置および軟判定復号方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07123257B2 (ja) * | 1992-12-25 | 1995-12-25 | 日本電気株式会社 | ディジタルデータ復調装置 |
US6334219B1 (en) * | 1994-09-26 | 2001-12-25 | Adc Telecommunications Inc. | Channel selection for a hybrid fiber coax network |
JP3412991B2 (ja) * | 1994-10-25 | 2003-06-03 | 三菱電機株式会社 | 受信位相同期回路 |
US7046694B2 (en) * | 1996-06-19 | 2006-05-16 | Digital Radio Express, Inc. | In-band on-channel digital broadcasting method and system |
US6477208B1 (en) * | 1997-10-30 | 2002-11-05 | Comtier | Composite trellis system and method |
JP2001111536A (ja) * | 1999-08-13 | 2001-04-20 | Lucent Technol Inc | 信号間に必要な対応関係を確保する信号処理方法および装置 |
US8411788B2 (en) * | 2005-11-18 | 2013-04-02 | Qualcomm, Incorporated | Digital transmitters for wireless communication |
JP5132906B2 (ja) * | 2006-09-13 | 2013-01-30 | 株式会社エヌ・ティ・ティ・ドコモ | 分子通信システムおよび分子通信方法 |
JP2008294730A (ja) | 2007-05-24 | 2008-12-04 | Sony Corp | 信号処理装置および方法、並びにプログラム |
US8817910B2 (en) * | 2008-08-15 | 2014-08-26 | Blackberry Limited | Systems and methods for communicating using ASK or QAM with uneven symbol constellation |
-
2009
- 2009-02-09 JP JP2009027768A patent/JP4623216B2/ja not_active Expired - Fee Related
-
2010
- 2010-02-02 CN CN201010109898.8A patent/CN101800635B/zh not_active Expired - Fee Related
- 2010-02-02 US US12/698,508 patent/US8355479B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06508494A (ja) * | 1992-03-26 | 1994-09-22 | モトローラ・インコーポレイテッド | クロック回復回路で用いられる位相調整方法および装置 |
JP2002544685A (ja) * | 1999-05-03 | 2002-12-24 | インフィネオン テヒノロギーズ アーゲー | 位相変調信号のサンプリングクロックを制御する方法及び回路構成 |
JP2002190724A (ja) * | 2000-12-21 | 2002-07-05 | Nec Corp | クロックアンドデータリカバリ回路とそのクロック制御方法 |
JP2005151087A (ja) * | 2003-11-14 | 2005-06-09 | Matsushita Electric Ind Co Ltd | 軟判定復号装置および軟判定復号方法 |
Also Published As
Publication number | Publication date |
---|---|
US8355479B2 (en) | 2013-01-15 |
US20100202579A1 (en) | 2010-08-12 |
CN101800635B (zh) | 2013-02-13 |
CN101800635A (zh) | 2010-08-11 |
JP2010183527A (ja) | 2010-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8165252B2 (en) | Signal processing device and method, and program | |
JP5188287B2 (ja) | 通信装置 | |
US6947493B2 (en) | Dual phase pulse modulation decoder circuit | |
US7936793B2 (en) | Methods and apparatus for synchronizing data transferred across a multi-pin asynchronous serial interface | |
JP2010041283A (ja) | 通信装置 | |
JP2959286B2 (ja) | Dqpsk遅延検波回路 | |
JP4623216B2 (ja) | 信号処理装置、及び信号処理方法 | |
EP2249534A1 (en) | Phase synchronization device and phase synchronization method | |
US8861648B2 (en) | Receiving device and demodulation device | |
US7194057B2 (en) | System and method of oversampling high speed clock/data recovery | |
JP5214990B2 (ja) | 差動位相偏移変調(DifferentialPhaseShiftKeying)された信号の復調回路、それを利用した無線機器 | |
JP2007181016A (ja) | 判定タイミング同期回路及び受信回路 | |
JP4054032B2 (ja) | フレーム同期検出方法 | |
US7321647B2 (en) | Clock extracting circuit and clock extracting method | |
KR100725486B1 (ko) | 통신기기용 타이밍 동기 검출 장치와 방법 및 이를 적용한 통신기기 | |
JP5742310B2 (ja) | 方式判定装置および方式判定方法 | |
JPH118659A (ja) | クロックタイミング再生方法および回路 | |
JP5750094B2 (ja) | π/2シフトBPSK信号相関方法及び相関器、並びに受信装置 | |
JP2003333110A (ja) | シリアルデータ受信回路 | |
JP4847373B2 (ja) | フレーム同期検出方法 | |
JP2621717B2 (ja) | 受信バースト同期回路 | |
JPH066398A (ja) | 復調装置 | |
JPH1127329A (ja) | Fsk復調回路 | |
US20120020438A1 (en) | Reception apparatus | |
JPH098859A (ja) | 遅延検波回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101005 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101018 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131112 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |