以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の第1の側面の検出装置(例えば、図9の広帯域搬送波周波数誤差検出回路125)は、OFDM(Orthogonal Frequency Division Multiplexing)信号の搬送波の周波数誤差を検出する検出装置において、第1の周波数の範囲内に含まれる各オフセット周波数について、前記搬送波の周波数が前記オフセット周波数だけシフトされた場合のパイロット信号の位置に対応する搬送波に含まれる信号と前記パイロット信号との相関を表す相関値を算出する相関値算出手段(例えば、図9のパイロット相関演算回路205−1乃至205−(2n+1))と、前記相関値の最大値と2番目に大きな値との差または比に基づいて、前記相関値の信頼度を検出する信頼度検出手段(例えば、図9の信頼度検出回路210)と、前記信頼度が所定の閾値以上となり、かつ、前記相関値が最大となる前記オフセット周波数を前記周波数誤差として検出する周波数誤差検出手段(例えば、図9の誤差検出回路211)とを備える。
本発明の第1の側面の検出方法、または、プログラムは、OFDM信号の搬送波の周波数誤差を検出する検出方法、または、OFDM信号の搬送波の周波数誤差を検出する処理をコンピュータに実行させるプログラムにおいて、所定の周波数の範囲内に含まれる各オフセット周波数について、前記搬送波の周波数が前記オフセット周波数だけシフトされた場合のパイロット信号の位置に対応する搬送波に含まれる信号と前記パイロット信号との相関を表す相関値を算出し(例えば、図12のステップS101乃至S105および図15のステップS153)、前記相関値の最大値と2番目に大きな値との差または比に基づいて、前記相関値の信頼度を検出し(例えば、図15のステップS156)、前記信頼度が所定の閾値以上となり、かつ、前記相関値が最大となる前記オフセット周波数を前記周波数誤差として検出する(例えば、図15のステップS158)ステップを含む。
本発明の第2の側面の受信装置(例えば、図8の受信装置101)は、OFDM信号の搬送波の周波数誤差を検出する受信装置において、第1の周波数の範囲内に含まれる各オフセット周波数について、前記搬送波の周波数が前記オフセット周波数だけシフトされた場合のパイロット信号の位置に対応する搬送波に含まれる信号と前記パイロット信号との相関を表す相関値を算出する相関値算出手段(例えば、図9のパイロット相関演算回路205−1乃至205−(2n+1))と、前記相関値の最大値と2番目に大きな値との差または比に基づいて、前記相関値の信頼度を検出する信頼度検出手段(例えば、図9の信頼度検出回路210)と、前記信頼度が所定の閾値以上となり、かつ、前記相関値が最大となる前記オフセット周波数を前記周波数誤差として検出する周波数誤差検出手段(例えば、図9の誤差検出回路211)とを備える。
以下、図を参照して、本発明の実施の形態について説明する。
図8は、本発明を適用した受信装置101の一実施の形態を示すブロック図である。受信装置101は、アンテナ111、チューナ112、バンドパスフィルタ(BPF)113、A/D(Analog/Digital)変換回路114、DC(Direct Current)キャンセル回路115、デジタル直交変換回路116、搬送波周波数誤差補正回路117、FFT演算回路118、FFT窓位相誤差補正回路119、等化回路120、デインタリーブ・誤り訂正回路121、トランスポートストリーム生成回路122、タイミング同期回路123、狭帯域搬送波周波数誤差検出回路124、広帯域搬送波周波数誤差検出回路125、数値制御発振回路(NCO)126、フレーム同期回路127、伝送制御情報復号回路128、および、TSクロック生成回路129を含むように構成される。
アンテナ111は、放送局により放送されたデジタル放送の放送を受信し、RF(Radio Frequency)信号としてチューナ112に供給する。
チューナ112は、乗算器112aおよび局部発振器112bを有し、アンテナ111から供給されたRF信号を、IF(Intermediate Frequency)信号に周波数変換し、IF信号をBPF113に供給する。
BPF113は、チューナ112から供給されたIF信号をフィルタリングして、A/D変換回路114に供給する。
A/D変換回路114は、BPF113から供給されたIF信号をA/D変換し、デジタル化されたIF信号をDCキャンセル回路115に供給する。
DCキャンセル回路115は、A/D変換回路114から供給されたIF信号のDC成分を除去し、DC成分が除去されたIF信号をデジタル直交復調回路116に供給する。
デジタル直交復調回路116は、DCキャンセル回路115から供給されたIF信号を、所定の搬送波周波数の搬送波信号により直交復調し、ベースバンドのOFDM信号(以下、OFDM時間領域信号とも称する)を生成する。デジタル直交復調回路116により生成されたOFDM時間領域信号は、実軸成分のIチャネル信号と、虚軸成分のQチャネル信号とから構成される複素信号となる。デジタル直交復調回路116は、生成したOFDM時間領域信号を搬送波周波数誤差補正回路117に供給する。
搬送波周波数誤差補正回路117は、デジタル直交復調回路116から供給されたOFDM時間領域信号に対して、NCO126から供給された搬送波周波数誤差補正信号を複素乗算し、OFDM時間領域信号の搬送波周波数誤差成分を除去する。搬送波周波数誤差補正回路117は、搬送波周波数誤差成分が除去されたOFDM時間領域信号をFFT演算回路118、タイミング同期回路123、および狭帯域搬送波周波数誤差検出回路124に供給する。
FFT演算回路118は、タイミング同期回路123からのFFT演算開始タイミングの指示に基づいて、搬送波周波数誤差補正回路117から供給されたOFDM時間領域信号に対してFFT演算を行い、各搬送波に直交変調されているデータを抽出し、抽出されたデータを、FFT窓位相誤差補正回路119に供給する。FFT演算回路118から出力される信号は、FFTされた後のいわゆる周波数領域の信号である。このことから、以下、FFT演算後の信号をOFDM周波数領域信号と称する。
FFT窓位相誤差補正回路119は、FFT演算回路118から供給されたOFDM周波数領域信号に対して、OFDMシンボルの実際の境界位置と、FFT演算範囲の開始タイミングとのずれによって生じてしまう位相回転成分の補正を行う。すなわち、FFT窓位相誤差補正回路119は、サンプリング周期以下の精度で生じるずれを位相補正している。具体的には、FFT演算回路118から出力されるOFDM周波数領域信号に対して、タイミング同期回路123から供給される複素信号の位相補正信号を複素乗算して、位相回転補正を行う。位相回転補正がされたOFDM周波数領域信号は、等化回路120、広帯域搬送波周波数誤差検出回路125、フレーム同期回路127、および伝送制御情報復号回路128に供給される。
等化回路120は、フレーム同期回路127から供給されるOFDMシンボル番号を基準にして、パイロット信号を特定し、特定されたパイロット信号を用いて、OFDM周波数領域信号の位相等化、および振幅等化を行い、位相等化、および振幅等化を実行されたOFDM周波数領域信号をデインタリーブ・誤り訂正回路121に供給する。
デインタリーブ・誤り訂正回路121は、等化回路120から供給されたOFDM周波数領域信号の各搬送波に変調されている情報を、その変調方式に応じて検波し、デマッピング処理等を行って、データを復号する。その後、デインタリーブ・誤り訂正回路121は、復号されたデータに対して、誤り訂正処理を行って、OFDM復調データをトランスポートストリーム生成回路122に供給する。
トランスポートストリーム生成回路122は、デインタリーブ・誤り訂正回路121から供給されたOFDM復調データに対して、放送方式で規定されたタイミングに基づいて、所定のデータ信号を多重するとともに、デインタリーブ・誤り訂正回路121から供給される断続的なOFDM復調データを、TSクロック生成回路129から供給されるTSクロックを用いて、平滑化して連続的に出力するようにスムージング処理を行い、MPEG-2トランスポートストリーム(TS)を出力する。なお、OFDM復調データに対して多重する所定のデータ信号は、例えば、ISDB-TSB規格では、OFDM信号で伝送されないヌルパケットである。
タイミング同期回路123は、搬送波周波数誤差補正回路117から供給されたOFDM時間領域信号に基づいて、OFDMシンボルの境界位置を特定し、FFT演算回路118がFFT演算を行なうべきタイミングを求め、求められたタイミングをFFT演算回路118に通知する。また、タイミング同期回路123は、OFDM時間領域信号のデータ生成クロック周波数と受信装置101のクロック周波数の違いから生じるクロック周波数誤差を推定し、この推定値を示すクロック周波数誤差信号をFFT窓位相誤差補正回路119およびTSクロック生成回路129に通知する。さらに、タイミング同期回路123は、特定したOFDMシンボルの境界位置を、後述する広帯域搬送波周波数誤差検出回路125の制御回路202に通知する。
狭帯域搬送波周波数誤差検出回路124は、搬送波周波数誤差補正回路117から供給されたOFDM時間領域信号に基づいて、搬送波の周波数間隔(例えば0.992kHz)の±1/2以下の精度の狭帯域搬送波周波数誤差を検出し、検出した狭帯域搬送波周波数誤差をNCO126に供給する。
広帯域搬送波周波数誤差検出回路125は、FFT窓位相誤差補正回路119から供給されたOFDM周波数領域信号に基づいて、搬送波の周波数間隔(例えば0.992kHz)精度の広帯域搬送波周波数誤差を検出し、検出した広帯域搬送波周波数誤差をNCO126に供給する。
NCO126は、狭帯域搬送波周波数誤差検出回路124から供給された狭帯域搬送波周波数誤差、および広帯域搬送波周波数誤差検出回路125から供給された広帯域搬送波周波数誤差を加算し、加算して得られた搬送波周波数誤差に応じて、周波数が増減する搬送波周波数誤差補正信号を生成し、生成された搬送波周波数誤差補正信号を搬送波周波数誤差補正回路117に供給する。なお、搬送波周波数誤差補正信号は、複素信号である。
フレーム同期回路127は、FFT窓位相誤差補正回路119から供給されたOFDM周波数領域信号に基づいて、OFDM伝送フレームの所定の位置に含まれる同期ワードを検出して、OFDM伝送フレームの開始タイミングを特定し、特定されたOFDM伝送フレームの開始タイミングに基づいて、OFDMシンボル番号を算出し、これを等化回路120に供給する。
伝送制御情報復号回路128は、FFT窓位相誤差補正回路119から供給されたOFDM周波数領域信号に基づいて、所定の搬送波位置に変調されている、例えばTMCCやTPS等の伝送制御情報を復号する。伝送制御情報復号回路128は、復号した伝送制御情報を、例えば、図示せぬシステムコントローラ等に供給する。システムコントローラは、供給された伝送制御情報を用いて、復調や再生の処理を制御する。
TSクロック生成回路129は、タイミング同期回路123から供給されたクロック周波数誤差信号を用いて、受信されたOFDM信号に同期したTSクロックを生成し、生成されたTSクロックをトランスポートストリーム生成回路122に供給する。
次に、図9は、図8の広帯域搬送波周波数誤差検出回路125の詳細な構成例を表している。広帯域搬送波周波数誤差検出回路125は、差動復調回路201、制御回路202、パイロット信号位置発生回路203、2n(nは2以上の整数)個の遅延器204−1乃至204−2n、2n+1(nは2以上の整数)個のパイロット相関演算回路205−1乃至パイロット相関演算回路205−(2n+1)、カウンタ206、セレクタ207、ピーク値検出回路208、周波数誤差記憶回路209、信頼度検出回路210、および、誤差検出回路211を含むように構成される。
差動復調回路201は、角度変換回路221、ファーストインファーストアウトメモリ(FIFO)222、および減算回路223を含むように構成される。差動復調回路201の角度変換回路221は、図8のFFT窓位相誤差補正回路119から供給された複素数信号であるOFDM周波数領域信号の、I軸とQ軸により形成される平面上での角度を求め、求められた角度に基づく角度信号をFIFO222および減算回路223に供給する。
FIFO222は、角度変換回路221から供給された角度信号を、1シンボル長分遅延させて、減算回路223に供給する。減算回路223は、角度変換回路221から供給された角度信号、およびFIFO222から供給された角度信号に基づいて、角度変換回路221により求められた角度から、FIFO222により遅延された角度を差し引くことにより、差動復調を行い、差動復調結果をパイロット相関演算回路205−1乃至205−(2n+1)に供給する。
制御回路202は、タイミング同期回路123から、OFDM周波数領域信号のシンボル開始位置を通知されると、OFDM周波数領域信号のシンボル開始位置をパイロット信号位置発生回路203、および累加算回路233−1乃至233−(2n+1)に、適宜、通知する。
また、制御回路202は、累加算回路233−1乃至233−(2n+1)により累加算するシンボル数を設定し、パイロット相関演算回路205−1が設定されたシンボル数の累加算を終了したタイミングでフラグ(以下、第1の累加算終了フラグと称する)を発生し、発生された第1の累加算終了フラグをカウンタ206、並びにセレクタ251およびセレクタ271に通知する。また、制御回路202は、最後のパイロット相関演算回路が設定されたシンボル数の累加算を終了したタイミングでフラグ(以下、第2の累加算終了フラグと称する)を発生し、発生された第2の累加算終了フラグを信頼度検出回路210に通知する。
さらに、制御回路202は、広帯域搬送波周波数誤差を検出する範囲、すなわち、オフセット周波数をシフトさせる範囲(以下、オフセット範囲とも称する)を設定する。なお、オフセット範囲は、搬送波周波数間隔Δf単位で設定されるため、その範囲は−R×Δf乃至R×Δf(Rは自然数)と表すことができる。このときRの値を、オフセット範囲量と称する。制御回路202は、設定したオフセット範囲に対応するオフセット範囲量Rをパイロット信号位置発生回路203、および、誤差検出回路211に通知する。
また、制御回路202は、設定したオフセット範囲に応じて、パイロット相関演算回路205−1乃至205−(2n+1)の位相補正回路231−1乃至231−(2n+1)に、オフセット範囲−R×Δf乃至R×Δf内で、Δf間隔でそれぞれ異なるオフセット周波数を設定する。具体的には、位相補正回路231−1には、オフセット周波数fs=−R×Δfが設定され、位相補正回路231−nには、オフセット周波数fs=−(R−n+1)×Δfが設定され、位相補正回路231−(n+1)には、オフセット周波数fs=−(R−n)×Δfが設定され、位相補正回路231−(n+2)には、オフセット周波数fs=−(R−n−1)×Δfが設定され、位相補正回路231−(2n+1)には、オフセット周波数fs=−(R−2n)×Δfが設定される。
例えば、R=nに設定されている場合、位相補正回路231−1には、オフセット周波数fs=−n×Δfが設定され、位相補正回路231−nには、オフセット周波数fs=−Δfが設定され、位相補正回路231−(n+1)には、オフセット周波数fs=0が設定され、位相補正回路231−(n+2)には、オフセット周波数fs=Δfが設定され、位相補正回路231−(2n+1)には、オフセット周波数fs=n×Δfが設定される。
パイロット信号位置発生回路203は、制御回路202から、OFDM周波数領域信号のシンボル開始位置が通知されると、このシンボル開始位置に基づいて、入力されたOFDM周波数領域信号に対して、パイロット信号が挿入されているべき位置にフラグ(以下、累加算実行フラグと称する)を発生し、発生された累加算実行フラグを、パイロット相関演算回路205−1の累加算回路233−1、および遅延器204−1に通知する。なお、パイロット信号位置発生回路203は、オフセット周波数fsが、fs=−R×Δfである場合の累加算実行フラグを発生する。
遅延量1の遅延器204−1乃至204−2nは、累加算実行フラグが供給されると、供給された累加算実行フラグを1動作分だけ遅延させて出力する。
パイロット相関演算回路205−1は、位相補正回路231−1、尤度変換回路232−1、および累加算回路233−1により構成される。位相補正回路231−1は、差動復調回路201から供給された角度信号を、設定されているオフセット周波数とガードインターバル長に基づいて位相補正し、位相補正された角度信号を尤度変換回路232−1に供給する。なお、位相補正回路231−1による位相補正の詳細な説明は後述する。
尤度変換回路232−1は、位相補正回路231−1から供給された角度信号を、0度(0ラジアン)および180度(2πラジアン)の場合に、最大値(例えば1)をとり、90度(π/2ラジアン)および270度(3π/2ラジアン)の場合に、最低値(例えば−1)をとるように、尤度変換する。尤度変換回路232−1は、尤度変換して得られた算出値を累加算回路233−1に供給する。
累加算回路233−1は、累加算実行フラグが入力された場合、尤度変換回路232−1から供給された算出値を累加算し、適宜、累加算した算出値(以下、累加算値とも称する)をセレクタ207に出力する。
パイロット相関演算回路205−2(図示せず)乃至205−(2n+1)の位相補正回路231−2(図示せず)乃至231−(2n+1)は、パイロット相関演算回路205−1の位相補正回路231−1と同様、差動復調回路201から供給された角度信号を、オフセット周波数とガードインターバル長に基づいて位相補正し、位相補正された角度信号を尤度変換回路232−2(図示せず)乃至232−(2n+1)に供給する。ただし、位相補正回路231−2乃至231−(2n+1)は、それぞれ異なるオフセット周波数が設定されており、それぞれに設定された、異なるオフセット周波数に基づいて、位相補正を行う。
また、パイロット相関演算回路205−2乃至205−(2n+1)の尤度変換回路232−2乃至232−(2n+1)、および累加算回路233−2乃至233−(2n+1)は、それぞれ、パイロット相関演算回路205−1の尤度変換回路232−1、および累加算回路233−1と同様の動作を実行するため、説明は適宜省略する。
カウンタ206は、制御回路202から、第1の累加算終了フラグが供給された場合、カウントを開始し、1から2R+1までカウントする。カウンタ206は、1カウントごとに、セレクタ207、およびセレクタ271に対して、カウントした値を通知する。なお、パイロット相関演算回路205−1乃至205−(2n+1)は、それぞれに設定されたオフセット周波数に応じて、累加算するタイミングがずれるため、カウンタ206の出力と、それぞれのパイロット相関演算回路205−1乃至205−(2n+1)の累加算終了のタイミングは同期する。
セレクタ207は、カウンタ206から供給される値に従って、パイロット相関演算回路205−1乃至205−(2n+1)の累加算回路233−1乃至233−(2n+1)から、順次、累加算値を読み出し、読み出した累加算値を、ピーク値検出回路208のセレクタ251、セレクタ253、および比較回路255に供給する。
すなわち、セレクタ207は、カウンタ206から、1が供給された場合、累加算回路233−1に記憶された累加算値を読み出し、以降も、順次、カウンタ206から、2が供給された場合、累加算回路233−2(図示せず)に記憶された累加算値を読み出し、カウンタ206から、2R+1が供給された場合、累加算回路233−(2R+1)に記憶された累加算値を読み出し、読み出した累加算値を、ピーク値検出回路208のセレクタ251、セレクタ253、および比較回路255に供給する。
ピーク値検出回路208は、セレクタ251、レジスタ252、セレクタ253、レジスタ254、および、比較回路255により構成され、セレクタ207から供給された累加算値の最大値および2番目に大きい値、換言すれば、セレクタ207から供給された累加算値のピーク値および2番目のピーク値を検出する。
セレクタ251およびセレクタ253は、比較回路255の制御に応じて、レジスタ252に格納されている値、レジスタ254に格納されている値、および、セレクタ207から新たに供給された累加算値のうち、値が大きい方から2つを選択して、レジスタ252およびレジスタ254に格納させる。また、セレクタ251およびセレクタ253は、制御回路202から第1の累加算終了フラグが供給された場合、それぞれレジスタ252に格納されている値、および、レジスタ254に格納されている値をリセットする。また、比較回路255は、レジスタ252に格納されている値、レジスタ254に格納されている値、および、セレクタ207から新たに供給された累加算値のうち、セレクタ207から新たに供給された累加算値が最大である場合、周波数誤差記憶回路209のセレクタ271にイネーブル信号を供給する。
周波数誤差記憶回路209は、セレクタ271およびレジスタ272により構成され、セレクタ207から最も大きい累加算値が出力された場合にカウンタ206から供給された値を、広帯域搬送波周波数誤差の推定値として記憶する。
すなわち、セレクタ271は、カウンタ206から値が入力された場合、カウンタ206から入力された値、およびレジスタ272に格納されている値のうちいずれか一方を選択して、レジスタ272に格納する。具体的には、セレクタ271は、比較回路255からイネーブル信号が入力された場合、カウンタ206から入力された値を、レジスタ272に格納し、比較回路255からイネーブル信号が入力されていない場合、レジスタ272から供給された値をレジスタ272に再格納する。また、セレクタ271は、制御回路202から第1の累加算終了フラグが供給された場合、レジスタ272に格納されている値をリセットする。
これにより、パイロット相関演算回路205−1乃至205−(2n+1)のうち、最も大きい累加算値を算出したパイロット相関演算回路を特定することができ、結果的に、広帯域搬送波周波数誤差を特定することができる。周波数誤差記憶回路209は、
信頼度検出回路210は、制御回路202から、第2の累加算終了フラグが供給されたタイミングで、レジスタ252およびレジスタ254に格納されている値、すなわち、累加算値の最大値と2番目に大きい値を読み出し、累加算値の最大値と2番目に大きい値の差または比に基づいて、累加算値の信頼度を検出する。信頼度検出回路210は、検出した累加算値の信頼度を所定の閾値と比較し、比較した結果を制御回路202および誤差検出回路211に通知する。
誤差検出回路211は、信頼度検出回路210から供給された累加算値の信頼度が所定の閾値以上である場合、周波数誤差記憶回路209のレジスタ272に格納されている値を読み出す。誤差検出回路211は、読み出した値に基づいて、広帯域搬送波周波数誤差を検出する。誤差検出回路211は、検出した広帯域搬送波周波数誤差を図8のNCO126に供給する。また、信頼度検出回路210から供給された累加算値の信頼度が所定の閾値未満である場合、搬送波の周波数の同期ができないと判断し、同期できない状態であることをNCO126に通知する。
次に、図10のフローチャートを参照して、受信装置101の受信処理について説明する。
ステップS1において、チューナ112は、アンテナ111により受信されたRF信号をIF信号に周波数変換し、IF信号をBPF113に供給する。
ステップS2において、BPF113は、チューナ112から供給されたIF信号をフィルタリングして、A/D変換回路114に供給する。
ステップS3において、A/D変換回路114は、BPF113から供給されたIF信号をA/D変換し、デジタル化されたIF信号をDCキャンセル回路115に供給する。
ステップS4において、DCキャンセル回路115は、A/D変換回路114から供給されたIF信号のDC成分を除去し、DC成分が除去されたIF信号をデジタル直交復調回路116に供給する。
ステップS5において、デジタル直交復調回路116は、IF信号を直交復調する。具体的には、デジタル直交復調回路116は、DCキャンセル回路115から供給されたIF信号を、搬送波周波数の搬送波信号により直交復調して、ベースバンドのOFDM信号、すなわち、OFDM時間領域信号を生成し、生成したOFDM時間領域信号を搬送波周波数誤差補正回路117に供給する。
ステップS6において、搬送波周波数誤差補正回路117は、OFDM時間領域信号から搬送波周波数誤差成分を除去する。具体的には、搬送波周波数誤差補正回路117は、デジタル直交復調回路116から供給されたOFDM時間領域信号に対して、NCO126から供給された搬送波周波数誤差補正信号を複素乗算して、OFDM信号の搬送波周波数誤差成分を除去し、搬送波周波数誤差成分が除去されたOFDM信号をFFT演算回路118、タイミング同期回路123、および狭帯域搬送波周波数誤差検出回路124に供給する。
ステップS7において、タイミング同期回路123は、FFT演算タイミングとクロック周波数誤差を求める。具体的には、タイミング同期回路123は、搬送波周波数誤差補正回路117から供給されたOFDM時間領域信号に基づいて、OFDMシンボルの境界位置を特定し、FFT演算回路118がFFT演算を行うべきタイミングを求め、求められたタイミングをFFT演算回路118に通知するとともに、OFDM時間領域信号のデータ生成クロック周波数と受信装置101のクロック周波数の違いから生じるクロック周波数誤差値を求め、これをFFT窓位相誤差補正回路119およびTSクロック生成回路129に通知する。
ステップS8において、FFT演算回路118は、OFDM時間領域信号に対してFFT演算を行う。具体的には、FFT演算回路118は、タイミング同期回路123からのFFT演算開始タイミングの指示に基づいて、搬送波周波数誤差補正回路117から供給されたOFDM時間領域信号に対してFFT演算を行い、各搬送波に直交変調されているデータを抽出して、抽出されたデータ、すなわち、OFDM周波数領域信号を、FFT窓位相誤差補正回路119に供給する。
ステップS9において、FFT窓位相誤差補正回路119は、OFDM周波数領域信号の位相回転成分の補正を行う。具体的には、FFT窓位相誤差補正回路119は、FFT演算回路118から供給されたOFDM周波数領域信号に対して、タイミング同期回路123から供給された複素信号である位相補正信号を複素乗算して、位相回転成分の補正を行い、補正後のOFDM周波数領域信号を等化回路120、広帯域搬送波周波数誤差検出回路125、フレーム同期回路127、および伝送制御情報復号回路128に供給する。
伝送制御情報復号回路128は、FFT窓位相誤差補正回路119から供給されたOFDM周波数領域信号に基づいて、所定の搬送波位置に変調されている伝送制御情報を復号し、復号した伝送制御情報を、例えば、図示せぬシステムコントローラ等に供給する。
ステップS10において、フレーム同期回路127は、OFDMシンボル番号を算出する。具体的には、フレーム同期回路127は、FFT窓位相誤差補正回路119から供給されたOFDM周波数領域信号に基づいて、OFDM伝送フレームの所定の位置に含まれる同期ワードを検出して、OFDM伝送フレームの開始タイミングを特定し、特定されたOFDM伝送フレームの開始タイミングに基づいて、OFDMシンボル番号を算出し、これを等化回路120に供給する。
ステップS11において、等化回路120は、OFDM周波数領域信号の位相等化と振幅等化を行う。具体的には、等化回路120は、フレーム同期回路127から供給されたOFDMシンボル番号を基準にして、パイロット信号を特定し、特定されたパイロット信号を用いて、OFDM周波数領域信号の位相等化、および振幅等化を行い、位相等化、および振幅等化を実行されたOFDM周波数領域信号をデインタリーブ・誤り訂正回路121に供給する。
ステップS12において、デインタリーブ・誤り訂正回路121は、データを復号し、誤り訂正処理を行う。具体的には、デインタリーブ・誤り訂正回路121は、各搬送波に変調されている情報を、その変調方式に応じて検波し、デマッピング処理等を行って、データを復号し、復号されたデータに対して誤り訂正処理を行って、OFDM復調データをトランスポートストリーム生成回路122に供給する。
ステップS13において、TSクロック生成回路129は、TSクロックを生成する。具体的には、TSクロック生成回路129は、タイミング同期回路123から供給されたクロック周波数誤差信号を用いて、受信されたOFDM信号に同期したTSクロックを生成し、生成されたTSクロックをトランスポートストリーム生成回路122に供給する。
ステップS14において、トランスポートストリーム生成回路122は、トランスポートストリームを生成し、出力し、受信処理は終了する。具体的には、トランスポートストリーム生成回路122は、デインタリーブ・誤り訂正回路121から供給されたOFDM復調データに対して、放送方式で規定されたタイミングに基づいて、所定のデータ信号を多重するとともに、デインタリーブ・誤り訂正回路121から供給される断続的なOFDM復調データを、TSクロック生成回路129から供給されるTSクロックを用いて、平滑化して連続的に出力するようにスムージング処理を行い、MPEG-2トランスポートストリーム(TS)を出力する。
以上のようにして、受信装置101の受信処理が実行される。
図10のステップS6において、搬送波周波数誤差補正回路117は、デジタル直交復調回路116から供給されたOFDM時間領域信号の搬送波周波数誤差成分を除去しているが、そのために、NCO126から供給された搬送波周波数誤差補正信号を利用している。次に、この搬送波周波数誤差補正信号が生成され、搬送波周波数誤差補正回路117に供給されるまでの処理、すなわち搬送波周波数誤差補正信号生成処理について、図11のフローチャートを参照して説明する。
ステップS51において、狭帯域搬送波周波数誤差検出回路124は、狭帯域搬送波周波数誤差を検出する。具体的には、狭帯域搬送波周波数誤差検出回路124は、搬送波周波数誤差補正回路117から供給されたOFDM時間領域信号に基づいて、搬送波の周波数間隔(例えば0.992kHz)の±1/2以下の精度の狭帯域搬送波周波数誤差を検出し、検出した狭帯域搬送波周波数誤差をNCO126に供給する。
ステップS52において、広帯域搬送波周波数誤差検出回路125は、広帯域搬送波周波数誤差検出処理を実行する。広帯域搬送波周波数誤差検出処理の詳細は、図15を参照して後述するが、この処理において、広帯域搬送波周波数誤差検出回路125は、FFT窓位相誤差補正回路119から供給されたOFDM周波数領域信号に基づいて、搬送波の周波数間隔(例えば0.992kHz)精度の広帯域搬送波周波数誤差を検出し、検出した広帯域搬送波周波数誤差をNCO126に供給する。
ステップS53において、NCO126は、搬送波周波数誤差補正信号を生成し、搬送波周波数誤差補正信号生成処理は終了する。具体的には、NCO126は、狭帯域搬送波周波数誤差検出回路124から供給された狭帯域搬送波周波数誤差、および広帯域搬送波周波数誤差検出回路125から供給された広帯域搬送波周波数誤差を加算し、加算して得られた搬送波周波数誤差に応じて、周波数が増減する搬送波周波数誤差補正信号を生成し、生成した搬送波周波数誤差補正信号を搬送波周波数誤差補正回路117に供給する。
以上のようにして、搬送波周波数誤差補正信号生成処理が実行される。
次に、広帯域搬送波周波数誤差検出回路125による広帯域搬送波周波数誤差の検出処理の詳細について説明する。広帯域搬送波周波数誤差検出回路125は、後述する図12のパイロット相関演算処理、および図15の広帯域搬送波周波数誤差検出処理により、広帯域搬送波周波数誤差を検出する。
まず、図12のフローチャートを参照して、受信装置101のパイロット相関演算処理について説明する。また、適宜、図13および図14を参照する。
ステップS101において、広帯域搬送波周波数誤差検出回路125の差動復調回路201は、OFDM周波数領域信号を角度変換し、差動復調する。具体的には、差動復調回路201の角度変換回路221は、FFT窓位相誤差補正回路119から供給された複素数信号、すなわち、OFDM周波数領域信号の、I軸とQ軸により形成される平面上での角度を求め、求められた角度に基づく角度信号をFIFO222および減算回路223に供給する。FIFO222は、角度変換回路221から供給された角度信号を、1シンボル長分遅延させて、減算回路223に供給する。減算回路223は、角度変換回路221から供給された角度信号、およびFIFO222から供給された角度信号に基づいて、角度変換回路221により求められた角度から、FIFO222により遅延された角度を差し引くことにより、差動復調を行い、差動復調結果の角度信号をパイロット相関演算回路205−1乃至205−(2n+1)に供給する。
図13Aは、FFT演算により各搬送波周波数成分に分解されたIチャンネルデータおよびQチャンネルデータを、シンボル毎に、位相平面上に示したものである。Da(n-1),Db(n-1)は、第n−1番目のOFDMシンボルのFFT後の搬送波周波数がDa,Dbであるデータ信号をそれぞれ示しており、Da(n),Db(n)は、第n番目のOFDMシンボルのFFT後の搬送波周波数がDa,Dbであるデータ信号をそれぞれ示している。また、Pa(n-1),Pb(n-1),Pc(n-1)は、第n−1番目のOFDMシンボルのFFT後の搬送波周波数がPa,Pb,Pcであるパイロット信号をそれぞれ示しており、Pa(n),Pb(n),Pc(n)は、第n番目のOFDMシンボルのFFT後の搬送波周波数がPa,Pb,Pcであるパイロット信号をそれぞれ示している。
また、図13Bは、差動復調回路201により差動復調された後の角度信号を位相平面上に示したものであり、dDa,dDbは、それぞれ搬送波周波数がDa,Dbである第(n−1)番目のシンボルと第n番目のシンボルとの差動復調信号である。またdPa,dPb,dPcは、それぞれ搬送波周波数がPa,Pb,Pcである第(n−1)番目のシンボルと第n番目のシンボルと差動復調信号である。
図12に戻って、ステップS102において、位相補正回路231−1乃至231−(2n+1)は、差動復調回路201から供給された角度信号を、予め設定されたオフセット周波数およびガードインターバル比に基づいて補正する。この処理について、図14を参照して説明する。
図14は、オフセット周波数およびガードインターバル比の関係を表している。図14において、横軸は時間軸である。
図14において、矢印で示されているTsの範囲は、1シンボル長を表している。また、矢印で示されているTuの範囲は、有効シンボル長を表している。また、矢印で示されているTgの範囲は、ガードインターバル長を表している。なお、ガードインターバル長の、有効シンボル長に対する比は、例えば、1/4、1/8、1/16、または1/32に設定されており、図14においては、ガードインターバル長の、有効シンボル長に対する比をGとする。そうすると、ガードインターバル長Tgは、以下の式(1)によって表される。
Tg=G×Tu ・・・(1)
また、図14において、矢印で示されているFFT windowの範囲は、FTT演算回路118によりFTT演算される信号の範囲であるFFTウィンドウの範囲を表している。なお、図14においては、FFTウィンドウの範囲は、有効シンボルTuの範囲と同一となっているが、必ずしも、有効シンボルTuの範囲と同一でなくて良い。
また、図14において、Nの値は、オフセット周波数fsを搬送波周波数間隔Δfを用いて、オフセット周波数fs=N×Δfと表した場合のNの値を表し、以下、オフセット周波数量と称する。すなわち、N=1の場合、オフセット周波数fs=Δfであり、N=2の場合、オフセット周波数fs=2×Δfであり、N=3の場合、オフセット周波数fs=3×Δfである。
図14において、1番上の波形は、オフセット周波数量N=1、ガードインターバル比G=1/4の場合の波形を表し、上から2番目の波形は、オフセット周波数量N=2、ガードインターバル比G=1/4の場合の波形を表し、上から3番目の波形は、オフセット周波数量N=3、ガードインターバル比G=1/4の場合の波形を表し、1番下の波形は、オフセット周波数量N=1、ガードインターバル比G=1/8の場合の波形を表している。
まず、図14の1番上の波形に注目すると、(n−1)番目のシンボルの開始位置では、位相は0だが、n番目のシンボルの開始位置では、位相がπ/2だけ位相回転して、π/2となり、(n+1)番目のシンボルの開始位置では、位相が、さらにπ/2だけ位相回転して、πとなっている。
図14の上から2番目の波形に注目すると、(n−1)番目のシンボルの開始位置では、位相は0だが、n番目のシンボルの開始位置では、位相がπだけ位相回転して、πとなり、(n+1)番目のシンボルの開始位置では、位相が、さらにπだけ位相回転して、2πとなっている。
図14の上から3番目の波形に注目すると、(n−1)番目のシンボルの開始位置では、位相は0だが、n番目のシンボルの開始位置では、位相が3π/2だけ位相回転して、3π/2となり、(n+1)番目のシンボルの開始位置では、位相が、さらに3π/2だけ位相回転して、3πとなっている。
図14の1番下の波形に注目すると、(n−1)番目のシンボルの開始位置では、位相は0だが、n番目のシンボルの開始位置では、位相がπ/4だけ位相回転して、π/4となり、(n+1)番目のシンボルの開始位置では、位相が、さらにπ/4だけ位相回転して、π/2となり、(n+1)番目のシンボルの終了位置では、位相が、さらにπ/4だけ位相回転して、3π/4となっている。
すなわち、搬送波をオフセット周波数だけシフトさせた場合、位相は、オフセット周波数量Nとガードインターバル比Gに基づいて、1シンボル毎に2π×G×Nずつ回転する。
そこで、位相補正回路231−1乃至231−(2n+1)は、この位相回転を補正する。
上述したように、位相補正回路231−1乃至231−(2n+1)には、それぞれ異なるオフセット周波数が設定される。また、位相補正回路231−1乃至231−(2n+1)には、受信されたOFDM信号に基づいて、ガードインターバル比Gが設定される。
位相補正回路231−1乃至231−(2n+1)は、それぞれに設定されたオフセット周波数fsとガードインターバル比Gに基づいて求められる位相回転量(=2π×G×N)に従って、位相回転量分だけ角度信号を位相補正する。
図13Cは、図13Bの位相から位相回転分だけ位相補正された角度信号を位相平面上に示したものであり、dDa,dDb、およびdPa,dPb,dPcはそれぞれ図13BにおけるdDa,dDb、およびdPa,dPb,dPcと対応している。
上述したように、パイロット信号Pa,Pb,Pcは、位相が一定の信号である。例えば、ISDB-TSB規格の場合、パイロット信号は、差動BPSK変調されているため、連続するシンボル間の位相差は0度(0ラジアン)または180度(πラジアン)となる。従って、位相回転分だけ位相補正された結果、パイロット信号の差動復調信号は、I軸上の値に収束する。図13Cにおいては、パイロット信号の差動復調信号dPa,dPbは、位相が0度(0ラジアン)に移動し、パイロット信号の差動復調信号dPcは、位相が180度(πラジアン)に移動している。
一方、データ信号Da,Dbは各シンボルにおいてほぼランダムな位相を取るために、差動復調を行った後も、その位相はデータ毎にほぼランダムとなる。従って、位相回転分だけ位相補正した後も、データ信号の差動復調信号の位相は、図13CのdDa、dDbに示されるように、ほぼランダムに分布する。
位相補正回路231−1乃至231−(2n+1)は、それぞれに設定されたオフセット周波数fsに基づいて、角度信号を位相補正した後、補正された角度信号を尤度変換回路232−1乃至232−(2n+1)に供給する。
図12に戻り、ステップS103において、尤度変換回路232−1乃至232−(2n+1)は、位相補正回路231−1乃至231−(2n+1)から供給された角度信号を、0度(0ラジアン)および180度(2πラジアン)の場合に、最大値(例えば1)をとり、90度(π/2ラジアン)および270度(3π/2ラジアン)の場合に、最低値(例えば−1)をとるように、尤度変換する。
図13Dは、尤度変換後の位相平面上における信号の位置を表している。図13Dに示されるように、信号は、0ラジアン(0度)、およびπラジアン(180度)の場合、最大値である1に変換され、π/2ラジアン(90度)、および3π/2ラジアン(270度)の場合、最低値である−1に変換される。
上述したように、パイロット信号の差動復調信号の位相は、ほぼ0度または180度に収束するので、パイロット信号に対する尤度は、+1または+1に近い値となる。一方、データ信号の差動復調信号の位相は、ほぼランダムに分布するため、データ信号に対する尤度は、+1から−1の範囲内でほぼランダムに分布する。
尤度変換回路232−1乃至232−(2n+1)は、角度信号を変換した尤度を、累加算回路233−1乃至233−(2n+1)に供給する。
図12に戻り、ステップS104において、累加算回路233−1乃至233−(2n+1)は、パイロット信号位置発生回路203、または遅延器204−1乃至204−2nから、累加算実行フラグが供給されたか否かを判定し、パイロット信号位置発生回路203、または遅延器204−1乃至204−2nから、累加算実行フラグが供給された場合、処理はステップS105に進む。
ステップS105において、累加算回路233−1乃至233−(2n+1)は、尤度加算回路232−1乃至232−(2n+1)から供給された尤度を累加算する。その後、処理はステップS101に戻り、上述したステップS101以降の処理がくり返される。
ステップS104において、累加算回路233−1乃至233−(2n+1)が、パイロット信号位置発生回路203、または遅延器204−1乃至204−2nから、累加算実行フラグが供給されていないと判定した場合、ステップS105の処理はスキップされ、ステップS101に戻り、上述したステップS101以降の処理がくり返される。
以上のようにして、パイロット相関演算処理が実行される。なお、ステップS104の処理は、累加算回路233−1乃至233−2n+1が、それぞれで実行しており、ある累加算回路に累加算実行フラグが供給されたとき、他の累加算回路には累加算実行フラグが供給されていないこともある。その場合、累加算実行フラグが供給された累加算回路は、ステップS105に進んで、尤度を累加算し、累加算実行フラグが供給されていない累加算回路は、ステップS105の処理をスキップし、供給された尤度は廃棄する。
次に、図15のフローチャートを参照して、図11のステップS52の広帯域搬送波周波数誤差検出処理の詳細について説明する。なお、図15の処理は、上述した図12のパイロット相関演算処理と並列して実行される。
なお、以下、オフセット範囲量R=nに設定されており、オフセット範囲が、−n×Δf乃至n×Δfに設定されているものとする。また、以下、位相補正回路231−1乃至位相補正回路231−(2n+1)のそれぞれに、−n×Δf乃至n×Δfまでの範囲内かつΔfの間隔でオフセット周波数が設定されているものとする。
ステップS151において、制御回路202は、シンボル開始位置を通知する。具体的には、制御回路202は、タイミング同期回路123から、OFDM周波数領域信号のシンボル開始位置を通知されると、OFDM周波数領域信号のシンボル開始位置を、パケット信号位置発生回路202、および累加算回路233−1乃至233−(2n+1)に通知する。
ステップS152において、累加算回路233−1乃至233−(2n+1)は、保持している累加算値をリセットする。
ステップS153において、パイロット信号位置発生回路203は、累加算実行フラグの発生タイミングを設定し、累加算実行フラグを発生する。具体的には、パイロット信号位置発生回路203は、オフセット周波数fs=−n×Δfである場合のタイミングを設定する。パイロット信号位置発生回路203は、設定したタイミングに基づいて、累加算実行フラグを発生し、出力する。ここで、図16を参照して、累加算実行フラグの発生タイミングについて説明する。
図16の「OFDM周波数領域信号」の記載の右側には、パイロット信号の配置例が示されている。すなわち、図16の「OFDM周波数領域信号」の記載の右側に示されている、上を向いた複数の矢印は、OFDM周波数領域信号の複数の搬送波に変調されたパイロット信号およびデータ信号を表しており、この矢印のうち、実線の矢印はデータ信号を表し、点線の矢印はパイロット信号を表している。図16に示される例においては、パイロット信号は、左から9番目、11番目、17番目、および21番目に配置されている。以下、左から9番目のパイロット信号をパイロット信号a、11番目のパイロット信号をパイロット信号b、17番目のパイロット信号をパイロット信号c、21番目のパイロット信号をパイロット信号dと称する。
上述したように、OFDM周波数領域信号の複数の搬送波における、パイロット信号の配置パターンは、規格によって予め定められており、パイロット信号位置発生回路203は、パイロット信号の配置パターン、すなわち、パイロット信号が変調されている搬送波のインデックス番号を予め記憶している。そこで、パイロット信号位置発生回路203は、記憶している配置に基づいて、累加算実行フラグを発生する。いまの場合、パイロット信号位置発生回路203は、オフセット周波数fs=−n×Δfである場合のパイロット信号の出現位置に一致するように、累加算実行フラグを発生する。
図16の「fs=−n×Δf」の記載の右側には、オフセット周波数fs=−n×Δfの場合に発生される累加算実行フラグ、および後述する第1の累加算終了フラグが示されている。以下、図16に示されるように、累加算実行フラグを、左側から順番に、累加算実行フラグa、累加算実行フラグb、累加算実行フラグc、および累加算実行フラグdと称する。
累加算実行フラグa乃至dを発生させるタイミングは、パイロット信号位置発生回路203に予め記憶された、パイロット信号の配置に対応しており、累加算実行フラグa乃至dは、遅延器により遅延されることにより、それぞれが異なるタイミングで、累加算回路233−1乃至233−(2n+1)に供給される。すなわち、パイロット信号位置発生回路203により発生された累加算実行フラグは、発生されたタイミングで、累加算回路233−1に供給され、1動作分遅延されて、累加算回路233−2(不図示)に供給され、さらに1動作分遅延されて、累加算回路233−3(不図示)に供給されてゆく。そして、パイロット信号位置発生回路203により発生された累加算実行フラグは、累加算回路233−(2n+1)には、2n動作分だけ遅延されて供給される。
パイロット信号位置発生回路203により、発生された累加算実行フラグaは、まず、累加算回路233−1に供給されるとともに、遅延器204−1に供給される。このとき、累加算回路233−1は、上記したように、ステップS104で、累加算実行フラグが供給されたと判定し、ステップS105で、尤度変換回路232−1から供給された尤度を累加算する。すなわち、尤度変換回路232−1から供給される尤度は、位相補正回路231−1により、各搬送波の周波数がオフセット周波数fs=−n×Δfだけシフトされているとして、すなわち、広帯域搬送波周波数誤差が−n×Δfであるとして、位相補正された角度信号を元に算出されたものである。従って、パイロット相関演算回路205−1は、各搬送波の周波数がオフセット周波数fs=−n×Δfだけずれているとの仮定に基づいて、位相補正し、尤度変換し、パイロット信号の出現位置に対応する尤度を累加算する。
ところで、パイロット信号位置発生回路203により、発生された累加算実行フラグaは、遅延器204−1により1動作分だけ遅延された後、図16の「fs=−(n−1)×Δf」の記載の右側に示されたタイミングで、累加算回路233−2(不図示)に供給されるとともに、遅延器204−2(不図示)に供給される。図16に示されるように、累加算フラグaは、搬送波周波数間隔分(Δf分)だけ右側にシフトしている。
このとき、累加算回路233−2も、累加算回路233−1と同様に、ステップS104で、累加算実行フラグが供給されたと判定し、ステップS105で、尤度変換回路232−2(不図示)から供給された尤度を累加算する。尤度変換回路232−2から供給される尤度は、位相補正回路231−2(不図示)により、各搬送波の周波数がオフセット周波数fs=−(n−1)×Δfだけシフトされているとして、すなわち、広帯域搬送波周波数誤差が−(n−1)×Δfであるとして、位相補正された角度信号を元に算出されたものである。従って、パイロット相関演算回路205−2(不図示)は、各搬送波の周波数がオフセット周波数fs=−(n−1)×Δfだけずれているとの仮定に基づいて、位相補正し、尤度変換し、パイロット信号の出現位置に対応する尤度を累加算する。
以下も同様に、累加算実行フラグaは、遅延器により遅延されるとともに、累加算回路に供給され、累加算回路は、累加算実行フラグaが供給されたタイミングで、尤度変換回路から供給された尤度を累加算してゆく。
その結果、パイロット相関演算回路205−nは、各搬送波の周波数がオフセット周波数fs=−Δfだけずれているとの仮定に基づいて、位相補正し、尤度変換し、パイロット信号の出現位置に対応する尤度を累加算し、パイロット相関演算回路205−(n+1)は、各搬送波の周波数がずれていないとの仮定に基づいて、位相補正し、尤度変換し、パイロット信号の出現位置に対応する尤度を累加算し、パイロット相関演算回路205−(n+2)は、各搬送波の周波数がオフセット周波数fs=Δfだけずれているとの仮定に基づいて、位相補正し、尤度変換し、パイロット信号の出現位置に対応する尤度を累加算し、パイロット相関演算回路205−(2n+1)は、各搬送波の周波数がオフセット周波数fs=n×Δfだけずれているとの仮定に基づいて、位相補正し、尤度変換し、パイロット信号の出現位置に対応する尤度を累加算する。
パイロット信号位置発生回路203は、累加算実行フラグaを発生した後、予め記憶しているパイロット信号の配置に基づいて、所定のタイミングで、次の累加算実行フラグbを発生し、累加算実行フラグbを累加算回路233−1および遅延器204−1に供給する。累加算実行フラグbにおいても、上記した累加算実行フラグaの場合と同様の処理が実行される。
以下、累加算実行フラグcおよびdも、上記と同様に、所定のタイミングで、パイロット信号位置発生回路203により発生され、これらの累加算実行フラグcおよびdに基づいて、上記と同様の処理が実行される。
この尤度を累加算した累加算値は、搬送波の周波数をオフセット周波数fsだけシフトさせた場合のパイロット信号の位置に対応する搬送波に含まれる信号、すなわち仮想パイロット搬送波に含まれる信号と、パイロット信号との相関を表している。従って、オフセット周波数fsと実際の広帯域搬送波周波数誤差とが一致し、仮想パイロット搬送波に実際にパイロット信号が含まれている場合、そのオフセット周波数に対する累加算値、すなわち、パイロット信号のみの尤度が累加算された累加算値は、他のオフセット周波数に対する累加算値、すなわち、データ信号のみの尤度が累加算された累加算値と比較して、大きい値となる。
ステップS154において、制御回路202は、設定されたシンボル数分の累加算が実行されたかを判定する。具体的には、制御回路202は、図17のフローチャートを参照して後述する累加算数制御処理により、累加算回路233−1乃至233−(2n+1)が尤度を累加算するシンボル数Xを設定している。そこで、制御回路202は、シンボル内で最後の累加算実行フラグdを発生したとき、すなわち、1シンボル分の累加算実行フラグが全て発生されたとき、設定されたシンボル数X分の累加算実行フラグがパイロット信号位置発生回路203から出力されたか否かを判定する。制御回路202は、まだ設定されたシンボル数X分の累加算実行フラグがパイロット信号位置発生回路203から出力されていない場合、設定されたシンボル数分の累加算が実行されていないと判定し、処理はステップS155に進む。
ステップS155において、ステップS151の処理と同様に、シンボル開始位置が通知され、処理はステップS153に戻る。その後、ステップS154において、設定されたシンボル数分の累加算が実行されたと判定されるまで、ステップS153乃至S155の処理が繰り返し実行され、予め設定されたシンボル数分の尤度が累加算回路233−1乃至233−(2n+1)により累加算される。
ステップS154で、制御回路202は、設定されたシンボル数X分の累加算実行フラグがパイロット信号位置発生回路203から出力された場合、設定されたシンボル数分の累加算が実行されたと判定し、処理はステップS156に進む。
ステップS156において、ピーク値検出回路208は、累加算値の信頼度を検出する。具体的には、制御回路202は、第1の累加算終了フラグを発生し、第1の累加算終了フラグをカウンタ206、セレクタ251、セレクタ253、およびセレクタ271に供給する。セレクタ251は、レジスタ252に格納されている値をリセットする。また、セレクタ253は、レジスタ254に格納されている値をリセットする。さらに、セレクタ271は、レジスタ272に格納されている値をリセットする。
カウンタ206は、カウントを開始し、カウントした値1をセレクタ207およびセレクタ271に供給する。これ以降、カウンタ206は、所定のタイミングで、2乃至2n+1までカウントする。
セレクタ207は、カウンタ206から供給された値に基づいて、累加算回路233−1乃至233−(2n+1)のうち、カウンタ206から供給された値に対応する累加算回路において累加算された値を読み出し、読み出した累加算値をセレクタ251、セレクタ253、および比較回路255に供給する処理を開始する。
すなわち、セレクタ207は、カウンタ206から1が供給された場合、累加算回路233−1に記憶された累加算値を読み出して、読み出した累加算値をセレクタ251、セレクタ253、および比較回路255に供給し、カウンタ206から2が供給された場合、累加算回路233−2(不図示)に記憶された累加算値を読み出して、読み出した累加算値をセレクタ251、セレクタ253、および比較回路255に供給し、カウンタ206から3が供給された場合、累加算回路233−3(不図示)に記憶された累加算値を読み出して、読み出した累加算値をセレクタ251、セレクタ253、および比較回路255に供給する。
以下同様に、セレクタ207は、カウンタ206からnが供給された場合、累加算回路233−nに記憶された累加算値を読み出して、読み出した累加算値をセレクタ251、セレクタ253、および比較回路255に供給し、カウンタ206からn+1が供給された場合、累加算回路233−(n+1)に記憶された累加算値を読み出して、読み出した累加算値をセレクタ251、セレクタ253、および比較回路255に供給し、カウンタ206からn+2が供給された場合、累加算回路233−(n+2)に記憶された累加算値を読み出して、読み出した累加算値をセレクタ251、セレクタ253、および比較回路255に供給し、カウンタ206から2n+1が供給された場合、累加算回路233−(2n+1)に記憶された累加算値を読み出して、読み出した累加算値をセレクタ251、セレクタ253、および比較回路255に供給する。
セレクタ207が累加算回路233−1乃至233−(2n+1)からそれぞれ累加算値を読み出すタイミングは、累加算回路233−1乃至233−(2n+1)が、それぞれ累加算実行フラグに基づいて、設定されたシンボル数X分の尤度を累加算し終えたタイミングである。したがって、セレクタ207により読み出される累加算値は、設定されたシンボル数X分の累加算実行フラグに基づく累加算値となる。
比較回路255は、セレクタ207から累加算値が供給されると、セレクタ207から供給された累加算値、レジスタ252に格納されている値、および、レジスタ254に格納されている値を比較する。比較回路255は、セレクタ207から供給された累加算値が最大である場合、レジスタ252に格納されている値がレジスタ254に格納されている値以上であるとき、セレクタ253およびセレクタ271にイネーブル信号を出力し、レジスタ252に格納されている値がレジスタ254に格納されている値未満であるとき、セレクタ251およびセレクタ271にイネーブル信号を出力する。
また、比較回路255は、セレクタ207から供給された累加算値が2番目に大きい場合、レジスタ252に格納されている値がレジスタ254に格納されている値以上であるとき、セレクタ253にイネーブル信号を出力し、レジスタ252に格納されている値がレジスタ254に格納されている値未満であるとき、セレクタ251にイネーブル信号を出力する。
さらに、比較回路255は、セレクタ207から供給された累加算値が最小である場合、イネーブル信号を出力しない。
セレクタ251は、比較回路255からのイネーブル信号の有無に基づいて、レジスタ252に格納されている値とセレクタ207から新たに供給された累加算値のうち、大きい方を選択してレジスタ252に供給する。すなわち、セレクタ251は、比較回路255よりイネーブル信号が供給された場合、セレクタ207から供給された累加算値を選択してレジスタ252に格納させ、比較回路255よりイネーブル信号が供給されなかった場合、レジスタ252に格納されている値を選択して、レジスタ252に再格納させる。
また、セレクタ253は、比較回路255からのイネーブル信号の有無に基づいて、レジスタ254に格納されている値とセレクタ207から新たに供給された累加算値のうち、大きい方を選択してレジスタ254に供給する。すなわち、セレクタ253は、比較回路255よりイネーブル信号が供給された場合、セレクタ207から供給された累加算値を選択してレジスタ254に格納させ、比較回路255よりイネーブル信号が供給されなかった場合、レジスタ254に格納されている値を選択して、レジスタ254に再格納させる。
これにより、累加算値の最大値および2番目に大きな値が、レジスタ252および254に格納される。
周波数誤差記憶回路209は、カウンタ206から、カウントされた値の供給が開始されたとき、カウンタ206から供給された値の記憶を開始する。すなわち、周波数誤差記憶回路209のセレクタ271には、カウンタ206から順次、値が供給される。セレクタ271は、カウンタ206から値が供給された場合、ピーク値検出回路208の比較回路255からイネーブル信号が供給されたとき、カウンタ206から供給された値をレジスタ272に格納し、ピーク値検出回路208の比較回路255からイネーブル信号が供給されなかったとき、レジスタ272から供給された値をレジスタ272に再格納する。これにより、累加算値が最大値をとるタイミングでカウンタ206から出力された値が、レジスタ272に記憶されることになる。
制御回路202は、カウンタ206によるカウントが終了するタイミング、すなわち、カウンタ206が2n+1を出力したタイミングで、第2の累加算終了フラグを信頼度検出回路210に供給する。信頼度検出回路210は、レジスタ252および254に格納されている値、すなわち、累加算値の最大値と2番目に大きな値を読み出す。信頼度検出回路210は、累加算値の最大値と2番目に大きな値との差または比に基づいて、累加算値の信頼度を検出する。例えば、信頼度検出回路210は、累加算値の最大値と2番目に大きな値との差または比を、そのまま累加算値の信頼度として検出する。
この累加算値の信頼度は、累加算値の最大値と2番目に大きな値との差または比が大きいほど、すなわち、累加算値が最大となるオフセット周波数における仮想パイロット搬送波に含まれる信号とパイロット信号との相関と、他のオフセット周波数における仮想パイロット搬送波に含まれる信号とパイロット信号との相関との差が大きいほど、大きな値に設定される。すなわち、累加算値の信頼度は、累加算値が最大となるオフセット周波数を広帯域搬送波周波数誤差として検出することに対する信頼度を示している。
ステップS157において、信頼度検出回路210は、累加算値の信頼度が所定の閾値以上であるかを判定する。誤差検出回路211は、累加算値の信頼度が所定の閾値以上であると判定した場合、処理はステップS158に進む。
ステップS158において、誤差検出回路211は、広帯域搬送波周波数誤差を検出し、広帯域搬送波周波数誤差検出処理は終了する。具体的には、信頼度検出回路210は、累加算値の信頼度が所定の閾値以上であることを制御回路202および誤差検出回路211に通知する。誤差検出回路211は、周波数誤差記憶回路209のレジスタ272に格納されている値を読み出す。誤差検出回路211は、読み出した値からオフセット範囲量R+1を引いた値にΔfを乗じた値、すなわち、累加算値が最大となるパイロット相関演算回路205に対して設定されているオフセット周波数を広帯域搬送波周波数誤差として検出する。換言すれば、累加算値の信頼度が所定の閾値以上となり、かつ、累加算値が最大となるオフセット周波数が広帯域搬送波周波数誤差として検出される。例えば、読み出した値が1である場合、すなわち、累加算回路233−1から読み出した累加算値が最大である場合、広帯域搬送波周波数誤差として−R×Δfが検出され、読み出した値がnである場合、すなわち、累加算回路233−nから読み出した累加算値が最大である場合、広帯域搬送波周波数誤差として、(n−R−1)×Δfが検出される。誤差検出回路211は、検出した広帯域搬送波周波数誤差をNCO126に供給する。
ステップS157において、累加算値の信頼度が所定の閾値未満であると判定された場合、処理はステップS159に進む。
ステップS159において、誤差検出回路211は、同期できない状態であることを通知し、広帯域搬送波周波数誤差検出処理は終了する。具体的には、信頼度検出回路210は、累加算値の信頼度が所定の閾値未満であることを制御回路202および誤差検出回路211に通知する。誤差検出回路211は、例えば、広帯域搬送波周波数誤差がオフセット範囲を超えていたり、電界強度が弱かったり、ノイズ等によりパイロット信号を検出できないなどの原因により、搬送波の周波数の同期ができないと判断し、同期できない状態であることをNCO126に通知する。
以上のようにして、広帯域搬送波周波数誤差検出処理が実行される。
以上のように、予め設定されたシンボル数X分の尤度が累加算されることになり、パイロット信号のみの尤度が累加算された累加算値を、データ信号のみの尤度が累加算された累加算値より、遥かに大きなものとすることができる。従って、パイロット信号のみの累加算値を、正確に最大値として検出することができる。また、累加算値の信頼度を検出することにより、広帯域搬送波周波数誤差がオフセット範囲を超えていたり、ノイズ等によりパイロット信号を検出できないなど、搬送波の周波数の同期ができない状態において、広帯域搬送波周波数誤差が誤検出されることが防止される。その結果、より正確に広帯域搬送波周波数誤差を検出することができる。
次に、制御回路202が、尤度を累加算するシンボル数Xを設定する処理、すなわち、累加算数制御処理について、図17のフローチャートを参照して説明する。
ステップS181において、制御回路202は、受信するOFDM信号の1OFDMシンボルに含まれるパイロット信号の数を取得する。例えば、ISDB-TSB規格においては、1OFDMシンボルに含まれているTMCCパイロット信号とACパイロット信号の総数は、変調方式がQPSK、16QAM、および64QAMのいずれかである場合、モード1で3本、モード2で6本、モード3で12本である。制御回路202は、受信するOFDM信号の規格やモードに応じて、1OFDMシンボル内に含まれるパイロット信号の数を特定する。例えば、受信されるOFDM信号の規格やモードは、ユーザが、図示せぬ操作部から入力するようにしても良い。
ステップS182において、制御回路202は、ステップS181で取得した、1OFDMシンボルに含まれるパイロット信号の数に基づいて、尤度を累加算すべきシンボル数Xを自らに設定する。すなわち、制御回路202は、予め、尤度を累加算すべきパイロット信号の数(Pnとする)を保持しており、シンボル数XのOFDMシンボルに含まれるパイロット信号の数が、この基準数Pn以上になるように、シンボル数Xを設定する。ここで、ステップS181で取得された、1OFDMシンボルに含まれるパイロット信号の数をSnとおくと、制御回路は、式(2)を満たすように、シンボル数Xを設定する。
Sn×X>Pn ・・・(2)
以上のようにして、尤度を加算するシンボル数Xが設定される。制御回路202は、設定されたシンボル数X分だけ、図15のステップS153乃至ステップS155の処理をくり返すことにより、正確に搬送波周波数誤差を検出することができる分だけ、尤度を累加算することができる。
ところで、基準数Pnを少なく設定した場合、累加算するシンボル数Xが少なくなり、広帯域搬送波周波数誤差が誤検出される可能性が高くなるため、無難に基準数Pnを適切な値より多く設定することが考えられる。しかし、基準数Pnを多く設定すると、その分、広帯域搬送波周波数誤差の検出時間が長くなってしまう。
そこで、検出時間を短縮するために、累加算値の信頼度が所定の閾値以上になった時点で累加算を止め、広帯域搬送波周波数誤差を検出するようにすることが考えられる。ここで、図18のフローチャートを参照して、累加算値の信頼度が所定の閾値以上になった時点で累加算を止め、広帯域搬送波周波数誤差を検出するようにした場合の広帯域搬送波周波数誤差検出処理について説明する。
ステップS201乃至S203の処理は、上述した図15のステップS151乃至S153の処理と同様であり、その説明は繰り返しになるので省略するが、これらの処理により、各オフセット周波数に対する1シンボル分の累加算値が算出される。
ステップS204において、上述した図15のステップS156の処理と同様に、累加算値の信頼度が検出される。すなわち、いまの場合、1シンボル分の累加算値の信頼度が検出される。
ステップS205において、上述した図15のステップS157の処理と同様に、累加算値の信頼度が所定の閾値以上であるかが判定される。すなわち、いまの場合、1シンボル分の累加算値の信頼度が所定の閾値以上であるかが判定される。累加算値の信頼度が所定の閾値未満であると判定された場合、処理はステップS206に進む。
ステップS206において、上述した図15のステップS154の処理と同様に、設定されたシンボル数分の累加算が実行されたかを判定する。設定されたシンボル数分の累加算が実行されていないと判定された場合、処理はステップS207に進む。
ステップS207において、上述した図15のステップS155の処理と同様に、シンボル開始位置が通知される。その後、処理はステップS203に戻り、ステップS205において、累加算値の信頼度が所定の閾値以上であると判定されるか、ステップS206において、設定されたシンボル数分の累加算が実行されたと判定されるまで、ステップS203乃至S207の処理が繰り返し実行される。すなわち、累加算値の信頼度が所定の閾値以上となるか、または、設定されたシンボル数分の累加算が実行されるまで、累加算値が1シンボル分ずつ累加算されていく。
ステップS205において、累加算値の信頼度が所定の閾値以上であると判定された場合、処理はステップS208に進む。
ステップS208において、上述した図15のステップS158の処理と同様に、広帯域搬送波周波数誤差が検出され、広帯域搬送波周波数誤差検出処理は終了する。すなわち、設定されたシンボル数分の累加算を行う前に、累加算値の信頼度が所定の閾値以上になった時点で、広帯域搬送波周波数誤差が検出される。
ステップS206において、設定されたシンボル数分の累加算が実行されたと判定された場合、すなわち、設定されたシンボル数分の累加算が実行された時点で、累加算値の信頼度が所定の閾値以上にならなかった場合、処理はステップS209に進む。
ステップS209において、上述した図15のステップS159の処理と同様に、同期できない状態であることが通知され、広帯域搬送波周波数誤差検出処理は終了する。
このようにして、広帯域搬送波周波数誤差の検出を高速化することができる。
図19は、図18の広帯域搬送波周波数誤差検出処理における累加算値の推移の例を示している。図19の横軸方向は累加算値を示しており、縦軸方向はオフセット周波数を示している。また、左端のグラフは、1シンボル分の累加算値の分布の例を示しており、左から2番目のグラフは、2シンボル分の累加算値の例を示しており、左から3番目のグラフは、3シンボル分の累加算値の例を示しており、左端のグラフは、4シンボル分の累加算値の分布の例を示している。
例えば、図19に示されるように、1シンボル乃至3シンボル分の累加算値では、最大値と2番目に大きい値との差が小さいため、ステップS205において、累加算値の信頼度が所定の閾値未満であると判定され、広帯域搬送波周波数誤差は検出されない。一方、4シンボル分の尤度を累加算したとき、最大値と2番目に大きい値との差が大きくなり、ステップS205において、累加算値の信頼度が所定の閾値以上であると判定され、広帯域搬送波周波数誤差は検出される。従って、例えば、累加算するシンボル数が5シンボル以上に設定されている場合、広帯域搬送波周波数誤差の検出を高速化することができる。
また、信頼度を用いることにより、累加算するシンボル数が少ない段階で、例えば、図19の1シンボル分の累加算値を求めた段階で、誤ったオフセット周波数が広帯域搬送波周波数誤差として検出されることが防止される。
以上の説明では、累加算を行うシンボル数、および、オフセット範囲を固定するようにしたが、状況に応じて可変とするようにしてもよい。ここで、図20および図21のフローチャートを参照して、累加算を行うシンボル数、および、オフセット範囲を可変とするようにした場合の広帯域搬送波周波数誤差検出処理について説明する。
ステップS251において、制御回路202は、累加算するシンボル数を少なく、オフセット範囲を狭く設定する。なお、以下、ステップS251において、累加算するシンボル数を、上述した図15の累加算数制御処理により設定されたシンボル数Xの2分の1に設定し、オフセット範囲を、(−n/2)×Δf乃至(n/2)×Δf、すなわち、オフセット範囲量R=n/2に設定した場合の例について説明する。
制御回路202は、設定したオフセット範囲量Rをパイロット信号位置発生回路203に通知する。また、制御回路202は、設定したオフセット範囲に応じて、位置補正回路231−1乃至231−(n+1)にオフセット周波数を設定する。すなわち、位置補正回路231−1乃至231−(n+1)のそれぞれに、(−n/2)×Δf乃至(n/2)×Δfの範囲内かつΔfの間隔でオフセット周波数が設定される。
ステップS252乃至S257の処理は、上述した図15のステップS151乃至ステップS156の処理と同様であり、その処理の詳細については繰り返しになるので省略するが、これらの処理により、パイロット信号位置発生回路203からは、オフセット周波数fs=(−n/2)×Δfである場合のパイロット信号の出現位置に一致するように、累加算実行フラグが発生される。また、パイロット相関演算回路205−1乃至205−(n+1)により、(−n/2)×Δf乃至(n/2)×Δfの範囲内にΔfの間隔で設定されている(n+1)個のオフセット周波数に対応する尤度をX/2シンボル分累加算した累加算値が算出される。さらに、算出した累加算値の信頼度が検出される。
ステップS258において、上述した図15のステップS157の処理と同様に、累加算値の信頼度が所定の閾値以上であるかが判定される。累加算値の信頼度が所定の閾値以上であると判定された場合、処理はステップS259に進む。
ステップS259において、上述した図15のステップS158の処理と同様に、広帯域搬送波周波数誤差が検出され、広帯域搬送波周波数誤差検出処理は終了する。この場合、図15の広帯域搬送波周波数誤差検出処理と比較して、少ないシンボル数で、かつ、狭いオフセット範囲内で、広帯域搬送波周波数誤差が検出することができ、広帯域搬送波周波数誤差の検出を高速化することができる。
ステップS258において、累加算値の信頼度が所定の閾値未満であると判定された場合、すなわち、現在設定されているオフセット範囲内において、設定されているシンボル数分の累加算値では、広帯域搬送波周波数誤差を検出できなかった場合、処理はステップS260に進む。
ステップS260において、制御回路202は、オフセット範囲を広くする。例えば、制御回路202は、オフセット範囲を−n×Δf乃至n×Δfに設定する。制御回路202は、設定したオフセット範囲量をパイロット信号位置発生回路203に通知する。また、制御回路202は、設定したオフセット範囲に応じて、位置補正回路231−1乃至231−(2n+1)にオフセット周波数を設定する。
ステップS261乃至S266の処理は、上述した図15のステップS151乃至ステップS156の処理と同様であり、その処理の詳細については繰り返しになるので省略するが、これらの処理により、ステップS260において設定されたオフセット範囲内の各オフセット周波数に対して、ステップS251において設定されたシンボル数分の累加算値が算出され、累加算値の信頼度が検出される。
ステップS267において、上述した図15のステップS157の処理と同様に、累加算値の信頼度が所定の閾値以上であるかが判定される。累加算値の信頼度が所定の閾値以上であると判定された場合、処理はステップS259に進み、ステップS259において、広帯域搬送波周波数誤差が検出され、広帯域搬送波周波数誤差検出処理は終了する。
ステップS267において、累加算値の信頼度が所定の閾値未満であると判定された場合、すなわち、現在設定されているオフセット範囲内において、設定されているシンボル数分の累加算値では、広帯域搬送波周波数誤差を検出できなかった場合、処理はステップS268に進む。
ステップS268において、制御回路202は、累加算するシンボル数を増やす。例えば、制御回路202は、累加算するシンボル数を、上述した図17の累加算数制御処理により設定されたシンボル数Xに設定する。
ステップS269乃至S274の処理は、上述した図15のステップS151乃至ステップS156の処理と同様であり、その処理の詳細については繰り返しになるので省略するが、これらの処理により、ステップS260において設定されたオフセット範囲内の各オフセット周波数に対して、ステップS268において設定されたシンボル数分の累加算値が算出され、累加算値の信頼度が検出される。
ステップS275において、上述した図15のステップS157の処理と同様に、累加算値の信頼度が所定の閾値以上であるかが判定される。累加算値の信頼度が所定の閾値以上であると判定された場合、処理はステップS259に進み、ステップS259において、広帯域搬送波周波数誤差が出力され、広帯域搬送波周波数誤差検出処理は終了する。
ステップS275において、累加算値の信頼度が所定の閾値未満であると判定された場合、処理はステップS276に進む。
ステップS276において、上述した図15のステップS159と同様の処理により、同期できない状態であることが通知され、広帯域搬送波周波数誤差検出処理は終了する。
このように、累加算するシンボル数が段階的に増やされ、および、オフセット範囲が段階的に広げられるので、例えば、受信環境の良い無線チャンネルを受信する場合、または、受信精度の良い受信装置を用いる場合など、搬送波の周波数誤差が小さい環境においては、累加算するシンボル数が少ない段階で、かつ、狭いオフセット範囲内で広帯域搬送波周波数誤差を検出することができ、広帯域搬送波周波数誤差の検出をより高速化することができる。
なお、累加算を行うシンボル数、および、オフセット範囲を可変とするとともに、さらに、累加算値の信頼度が所定の閾値以上になった時点で累加算を止め、広帯域搬送波周波数誤差を検出するようにしてもよい。ここで、図22および図23のフローチャートを参照して、累加算を行うシンボル数、および、オフセット範囲を可変とするとともに、累加算値の信頼度が所定の閾値以上になった時点で累加算を止め、広帯域搬送波周波数誤差を検出するようにした場合の広帯域搬送波周波数誤差検出処理について説明する。
ステップS301乃至ステップS304の処理は、上述した図20のステップS251乃至S254の処理と同様であり、その説明は繰り返しになるので省略するが、これらの処理により、ステップS301において設定されたオフセット範囲内の各オフセット周波数に対して、1シンボル分の累加算値が算出される。
ステップS305において、上述した図18のステップS204の処理と同様に、累加算値の信頼度が検出される。すなわち、いまの場合、1シンボル分の累加算値の信頼度が検出される。
ステップS306において、上述した図18のステップS205の処理と同様に、累加算値の信頼度が所定の閾値以上であるかが判定される。すなわち、いまの場合、1シンボル分の信頼度が所定の閾値以上であるかが判定される。累加算値の信頼度が所定の閾値未満であると判定された場合、処理はステップS307に進む。
ステップS307において、上述した図18のステップS206の処理と同様に、設定されたシンボル数分の累加算が実行されたかを判定する。設定されたシンボル数分の累加算が実行されていないと判定された場合、処理はステップS308に進む。
ステップS308において、上述した図18のステップS207の処理と同様に、シンボル開始位置が通知される。その後、処理はステップS304に戻り、ステップS306において、累加算値の信頼度が所定の閾値以上であると判定されるか、ステップS307において、設定されたシンボル数分の累加算が実行されたと判定されるまで、ステップS304乃至S308の処理が繰り返し実行される。すなわち、累加算値の信頼度が所定の閾値以上となるか、または、設定されたシンボル数分の累加算が実行されるまで、累加算値が1シンボル分ずつ累加算されていく。
ステップS306において、累加算値の信頼度が所定の閾値以上であると判定された場合、処理はステップS309に進む。
ステップS309において、上述した図15のステップS158の処理と同様に、広帯域搬送波周波数誤差が検出され、広帯域搬送波周波数誤差検出処理は終了する。すなわち、ステップS301において設定されたシンボル数分の累加算を行う前に、累加算値の信頼度が所定の閾値以上になった時点で、広帯域搬送波周波数誤差が検出される。従って、図20および図21を参照して上述した広帯域搬送波周波数誤差検出処理と比較して、広帯域搬送波周波数誤差の検出を高速化することができる。
ステップS307において、設定されたシンボル数分の累加算が実行されたと判定された場合、すなわち、現在設定されているオフセット範囲内において、設定されているシンボル数分の累加算値では、広帯域搬送波周波数誤差を検出できなかった場合、処理はステップS310に進む。
ステップS310において、上述した図20のステップS260の処理と同様に、オフセット範囲が広くされる。
ステップS311において、ステップS302の処理と同様に、シンボル開始位置が通知され、ステップS312において、ステップS303の処理と同様に、累加算値がリセットされる。
その後、上述したステップS304乃至S308の処理と同様に、ステップS315において、累加算値の信頼度が所定の閾値以上であると判定されるか、ステップS316において、設定されたシンボル数分の累加算が実行されたと判定されるまで、ステップS313乃至S317の処理が繰り返し実行される。すなわち、累加算値の信頼度が所定の閾値以上となるか、または、設定されたシンボル数分の累加算が実行されるまで、累加算値が1シンボル分ずつ累加算されていく。
ステップS315において、累加算値の信頼度が所定の閾値以上であると判定された場合、処理はステップS309に進み、ステップS309において、広帯域搬送波周波数誤差が検出され、広帯域搬送波周波数誤差検出処理は終了する。
ステップS316において、設定されたシンボル数分の累加算が実行されたと判定された場合、すなわち、現在設定されているオフセット範囲内において、設定されているシンボル数分の累加算値では、広帯域搬送波周波数誤差を検出できなかった場合、処理はステップS318に進む。
ステップS318において、上述した図21のステップS268の処理と同様に、累加算するシンボル数が増やされる。
ステップS319において、ステップS302の処理と同様に、シンボル開始位置が通知され、ステップS320において、ステップS303の処理と同様に、累加算値がリセットされる。
その後、上述したステップS304乃至S308の処理と同様に、ステップS323において、累加算値の信頼度が所定の閾値以上であると判定されるか、ステップS324において、設定されたシンボル数分の累加算が実行されたと判定されるまで、ステップS321乃至S325の処理が繰り返し実行される。すなわち、累加算値の信頼度が所定の閾値以上となるか、または、設定されたシンボル数分の累加算が実行されるまで、累加算値が1シンボル分ずつ累加算されていく。
ステップS323において、累加算値の信頼度が所定の閾値以上であると判定された場合、処理はステップS309に進み、ステップS309において、広帯域搬送波周波数誤差が検出され、広帯域搬送波周波数誤差検出処理は終了する。
ステップS324において、設定されたシンボル数分の累加算が実行されたと判定された場合、すなわち、現在設定されているオフセット範囲内において、設定されているシンボル数分の累加算値では、広帯域搬送波周波数誤差を検出できなかった場合、処理はステップS326に進む。
ステップS326において、上述した図15のステップS159と同様の処理により、同期できない状態であることが通知され、広帯域搬送波周波数誤差検出処理は終了する。
以上のようにして、正確に広帯域搬送波周波数誤差を検出することができる。また、図18および図20乃至図23の広帯域搬送波周波数誤差検出処理によれば、広帯域搬送波周波数誤差の検出を高速化することができる。
また、累加算するシンボル数、および、オフセット範囲を可変にすることにより、受信するチャンネルの違い、電波環境の違い、受信装置の違い、受信装置の周温の違い、受信装置の経年劣化などに応じて、広帯域搬送波周波数誤差検出の高速化を実現することができる。
なお、以上で説明した、累加算値、すなわち、パイロット信号との相関値を算出する方法は、その一例であり、他の方法を用いるようにしてもよい。
また、図9に示される広帯域搬送波周波数誤差検出回路の回路構成は、一例であり、本発明の実施の形態における広帯域搬送波周波数誤差検出回路の回路構成が、図9に示された回路構成に限定されることを意味するものではない。
さらに、累加算するシンボル数、および、オフセット範囲を可変にした場合、広帯域搬送波周波数誤差を検出したときのシンボル数およびオフセット範囲を受信したチャンネルごとに記憶するようにして、以後、そのチャンネルを受信する場合に記憶した値を用いるようにすることにより、さらに広帯域搬送波周波数誤差の検出を高速化することができる。
また、検出した広帯域搬送波周波数誤差を、各チャンネルごとに記憶するようにしてもよい。これにより、1度受信したチャンネルを再受信する場合のチャンネルの同期をより高速化することができる。なお、ワンセグ(1セグメント放送)などの普及により、チャンネル数が増加したり、異なる地域の放送局のチャンネルを受信する機会が増え、広帯域搬送波周波数誤差が記憶されていないチャンネルを受信するケースが増えたとしても、上述したように、広帯域搬送波周波数誤差の検出が高速化されているため、広帯域搬送波周波数誤差が記憶されている場合と比較して、チャンネルの同期が大きく遅延することが防止される。
さらに、図20乃至図23の処理においては、オフセット範囲および累加算するシンボル数を2段階に変更する例を示したが、さらに多くの段階を設けるようにしてもよい。
なお、本発明は、OFDM信号を受信し、復調する装置、例えば、テレビジョン受像機、チューナ、携帯電話機、PDA(Personal Digital Assistants)などに適用することができる。
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図24は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータ400の構成の例を示すブロック図である。CPU(Central Processing Unit)401は、ROM(Read Only Memory)402、または記録部408に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)403には、CPU401が実行するプログラムやデータなどが適宜記憶される。これらのCPU401、ROM402、およびRAM403は、バス404により相互に接続されている。
CPU401にはまた、バス404を介して入出力インタフェース405が接続されている。入出力インタフェース405には、キーボード、マウス、マイクロホンなどよりなる入力部406、ディスプレイ、スピーカなどよりなる出力部407が接続されている。CPU401は、入力部406から入力される指令に対応して各種の処理を実行する。そして、CPU401は、処理の結果を出力部407に出力する。
入出力インタフェース405に接続されている記録部408は、例えばハードディスクからなり、CPU401が実行するプログラムや各種のデータを記憶する。通信部409は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
また、通信部409を介してプログラムを取得し、記録部408に記憶してもよい。
入出力インタフェース405に接続されているドライブ410は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア411が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部408に転送され、記憶される。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図24に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア411、または、プログラムが一時的もしくは永続的に格納されるROM402や、記録部408を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部409を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
101 受信装置, 117 搬送波周波数誤差補正回路, 118 FFT演算回路, 119 FFT窓位相誤差補正回路, 124 狭帯域搬送波周波数誤差検出回路, 125 広帯域搬送波周波数誤差検出回路, 126 数値制御発振回路, 201 差動復調回路, 203 制御回路, 203 パイロット信号位置発生回路, 204−1乃至204−2n 遅延器, 205−1乃至205−(2n+1) パイロット相関演算回路, 206 カウンタ, 207 セレクタ, 208 ピーク値検出回路, 209 周波数誤差記憶回路, 210 信頼度検出回路, 211 誤差検出回路, 221 角度変換回路, 222 FIFO, 223 減算回路, 231−1乃至231−(2n+1) 位相補正回路, 232−1乃至232−(2n+1) 尤度変換回路, 233−1乃至233−(2n+1) 累加算回路, 251 セレクタ, 252 レジスタ, 253 セレクタ, 254 レジスタ, 255 比較回路, 271 セレクタ, 272 レジスタ