以下、本発明の一実施の形態を図面を参照しつつ説明する。
図1は、本実施形態の質問器を含む適用される通信システム1の全体構成を表すシステム構成図である。
図1において、通信システム1は、少なくとも1つの(この例では2つの)本実施形態に係る質問器10,11と、例えば無線タグからなる応答器20,21,22,23とから構成されている。
質問器10からは主搬送波Fc1が送信され、この主搬送波Fc1は応答器20〜22で受信される。質問器11からは主搬送波Fc2が送信され、この主搬送波Fc2は応答器22,23で受信される。
応答器20からは反射波Fs1が返送される。このとき、質問器10から受信した主搬送波Fc1を、情報信号(データ)により1次変調した副搬送波(副搬送波)信号fs1を用いて変調(2次変調)することにより、反射波Fs1が生成される。
また応答器21からは反射波Fs2が返送され、応答器22からは反射波Fs3が返送され、応答器23からは反射波Fs4が返送される。このとき、上記応答器20と同様、各応答器21,22,23は、受信した主搬送波Fc1あるいはFc2を、情報信号(データ)により1次変調した副搬送波(副搬送波)信号fs2,fs3,fs4を用いて2次変調することにより、反射波Fs2,Fs3,反射波Fs4が生成される。
ここで、上記副搬送波信号の周波数は各応答器20,21,22,23毎に異なっているとともに、この例では周波数ホッピングが実行されている。図2は、それら副搬送波の周波数ホッピング挙動の一例を表す図であり、主搬送波Fc1より主搬送波Fc2の方が周波数が高い場合に質問器10の受信帯域に存在しうる側波帯信号を表している。ただし、主搬送波Fc1より高い周波数側のみ示してある。
この場合、側波帯信号の周波数としては、Fc1+Fs1,Fc1+Fs2,Fc1+Fs3の他にFc2−Fs3,Fc2−Fs4の合計5つの側波帯信号が存在している。そして、図示のように、T1タイミングでは、周波数の低い方からFc1+Fs3,Fc1+Fs2,Fc1+Fs1、Fc2−Fs4,Fc2−Fs3の順だったものが、T2タイミング、T3タイミング、T4タイミングと時間が変化するごとに、ランダムに位置が入れ替わる。従って、これらが互いに衝突する確率は非常に小さいので、質問器10は、各応答器20,21,22からの情報信号の情報信号を取り出すことができる。なお、応答器22,23からの返信を受信する質問器11についても、同様にして衝突確率が低くなり、各応答器22,23からの情報信号の情報信号を取り出すことができるようになっている。
図3は、質問器10,11の電気的構成を表す機能ブロック図である。
図3において、質問器10,11は、デジタル回路部30と、アナログ回路部40と、アナログ回路部40からのアナログ信号をデジタル変換してデジタル回路部30へ出力するA/D変換器(デジタル変換手段)70とを備えている。
アナログ回路部40は、900MHz、2.4GHz、5GHz等の周波数の主搬送波を発振する発振器41と、必要に応じて、当該質問器10,11のIDやホッピングタイミングあるいはホッピングパターン等に基づき、発振器41で発振された主搬送波をASK変調により変調する変調器42と、この変調器42で変調された主搬送波を電力増幅する電力増幅器43と、この電力増幅器43からの出力をアンテナ(受信手段)47に伝えるとともに、このアンテナ47が受信した電波を後述する低雑音増幅器(以下、「LNA」と称す。)45に伝えるように出力と入力の分離を行うサーキュレータ44と、上記アンテナ47が受信した応答器20〜23からの受信信号を増幅するLNA45と、このLNA45で増幅された受信信号を発振器41からの信号とミキシングしてホモダイン検波する主搬送波復調器46とを備えている。
また、デジタル回路部30は、上記主搬送波復調器46でホモダイン検波されA/D変換器70でA/D変換された受信信号をフィルター処理によりホッピング周波数帯域に対応したチャネルに分離し復調するフィルタバンク100(分離復調手段)と、上記A/D変換器70からの信号をフーリエ変換により周波数解析するFFT部(周波数解析手段)32と、このFFT部の周波数解析結果によって、上記複数の周波数帯域のうち復号を行うべき帯域を判別するチャネル選択部37(判別手段)と、このチャネル選択部37で選択された帯域の受信中心周波数(後述)と実際に受信された実応答周波数との周波数ずれ△fを検出するずれ検出部38と、その検出された周波数ずれ△fに応じてフィルタバンク100で分離復調された受信信号を補正する周波数補正部39と、周波数補正部39で補正された信号を復号化して元の情報信号を生成する復号器33(復号化手段)と、復号器33で生成された各チャネルからの出力を適正なフレームに分離するフレーム分割器34と、このフレーム分割器34で分割されたフレームを仕分けするフレーム仕分け器35と、このフレーム仕分け器35で仕分けられたフレームを応答器毎に時系列に連結するフレーム連結器36と、質問器10,11全体の制御を行うとともに、フレーム連結器36で連結された応答器毎に時系列に連結されたデータ信号が入力されるコントローラ31とを備えている。
図4は、応答器20,21,22,23の機能的構成を表す機能ブロック図である。
図4において、応答器20〜23は、それぞれ、アンテナ61と、このアンテナ61に接続された変復調器60と、デジタル回路部50とを備えている。
デジタル回路部50には、応答器20〜23全体の制御を行うコントローラ51と、所定の周波数(=目標応答周波数)で副搬送波を発振する副搬送波発振器53と、副搬送波発振器53で発振された副搬送波をコントローラ51を介して入力される情報信号で位相変調(PSK)で変調(一次変調)する副搬送波変調器52とが設けられている。副搬送波変調器52で変調された副搬送波は、変復調器60に入力されて質問器10,11から受信した主搬送波を変調(二次変調)して反射波としてアンテナ61から送信するように構成されている。
なお、副搬送波発振器53及び副搬送波変調器52は、コントローラ51のクロックを利用して、ソフト的に構成しても良い。また、副搬送波の変調は位相変調(PSK)以外に、振幅変調(ASK)としても良い。また、副搬送波発振器53、副搬送波変調器52は、コントローラ内に設け1チップ化しても良い。
上記のように構成された通信システム1の基本動作原理を以下に順を追って説明する。
まず、質問器10で、発振器41から例えば900MHz、2.4GHz、5GHz等の周波数の主搬送波Fc1を発振する。発振器41で発振された主搬送波Fc1は、変調器42で、コントローラ31の制御により、質問器10のID番号やホッピングタイミングあるいはホッピングパターン等を示す情報により必要に応じASK変調が行われ、サーキュレータ44を介して、アンテナ47から送信される。
図5(a)〜(k)は、一例として、質問器10及び応答器20,21の各部での信号の状態を表す図である。
質問器10からの主搬送波Fc1を受信した応答器20では、図5(a)に示す情報信号を用いて、副搬送波発振器53で上記目標周波数にて発振された副搬送波を副搬送波変調器52で位相変調すると、図5(b)に示す副搬送波fs1となり、この副搬送波fs1を変復調器60に印加する。
一方、質問器10からの主搬送波Fc1を受信した応答器21でも、応答器20と同様の処理が行われ、図5(c)に示す情報信号を用いて、副搬送波発振器53で発振された副搬送波を副搬送波変調器52で位相変調すると、図5(d)に示す副搬送波fs2となり、この副搬送波信号を変復調器60に印加する。
このとき、これら副搬送波(目標応答周波数fs1,fs2)は、例えば図5(e)に示すような周波数配置となっている(横軸は周波数であり、原点「0」は周波数0Hzを表している。)。そして、応答器20では、変復調器60で、主搬送波Fc1が副搬送波信号fs1で振幅変調(あるいは位相変調)されて反射され、アンテナ61から放射される。アンテナ61から放射された電波は、図5(f)に示すようなスペクトラムを有する(なお、図5(f)に示すスペクトラムは、Fc1に対して上側の側波帯のみを示している。下側の側波帯は図示省略している)。すなわち、この図5(e)において、fs1,fs2が質問器10の各周波数帯域における受信中心周波数と一致する副搬送波の目標応答周波数(理想値)を示している。
上記の応答器20,21からの受信信号を受信した質問器10では、受信信号がサーキュレータ44を介しLNA45で増幅され、主搬送波復調器46において、発振器41からの信号がミキシングされてホモダイン検波が行われる。受信帯域は、最高ホッピング周波数の側波帯を含む帯域で、隣接する主搬送波周波数は含まない帯域に選ばれる。これは、隣接する主搬送波帯域を含むと、この主搬送波の強度は応答器によって変調反射される反射波より非常に大きいため、相対的に反射波の強度が低下しS/N比が悪くなるためである。
図5(g)は上記のようにしてホモダイン検波が行われた結果を表しており、応答器20からの反射波の上記(理想)周波数fs1の副搬送波信号と、応答器21からの反射波の上記(理想)周波数fs2の副搬送波信号とが混ざった信号が復調される。この復調信号は、A/D変換器70によりデジタル値に変換された後、デジタル回路部30の上記フィルタバンク100と上記FFT部32とに入力される。
フィルタバンク100では、(詳細は後述するが)応答器20からの反射波fs1の副搬送波信号及び応答器21からの反射波fs2の副搬送波信号を、ポリフェーズフィルタ(後述)とフーリエ変換によるフィルタリング処理を行い、ホッピング周波数帯域に対応したチャネル(CH1,CH2,CH3,・・・・)に分離すると同時に、分離した信号を復調して時間系列に変換する。この結果、応答器20からの反射波Fs1の図5(h)に仮想的に示すように変調された副搬送波信号から図5(j)に示す波形(略矩形波)の情報信号として復調され、フィルタバンク100より出力される。(実際は図5(j)に示す波形に対応した数値列が取り出される)。同様に、応答器21からの反射波Fs2の図5(i)に仮想的に示すように変調された副搬送波信号から図5(k)に示す波形(略矩形波)の情報信号が復調され、フィルタバンク100より出力される。(実際は図5(k)に示す波形に対応した数値列が取り出される)。
このとき、上記のように副搬送波周波数がホッピングすることにより、ホッピング毎に異なったチャネルより副搬送波信号が出力され、それぞれが復調される(詳細は後述)ことにより、もとの情報信号が互いに妨害を与えることなく同時に取り出される。
なお、上記ホッピングに際しては、質問器10の変調器42における上記ASK変調により、応答器20,21,22に対し周波数ホッピングのタイミング信号を送信しても良く、この場合は応答器20,21,22はタイミング信号受信毎に周波数ホッピングを行うこととなる。また、上述したように質問器10において受信した応答器20,21,22からの反射波は主搬送波復調器46でホモダイン検波された後A/D変換器70でA/D変換されるが、A/D変換後のデータをこの周波数ホッピングのタイミングに応じてブロック化し、処理を行うと、後述するフレーム分割処理を簡単に行うことができる。
上述のようにしてフィルタバンク100の各チャネルから次々に出力された、周波数ホッピング毎に切り換わった副搬送波信号に基づく情報信号は、周波数補正部39により後述のように補正された後、復号器33に供給されて復号化(例えば0又は1の2値化処理)される。復号化された情報信号は、フレーム分割器34によって各チャネルごとに適切なフレームに分離された後、フレーム仕分け器35によって各応答器21,22,23ごとに仕分けされ、さらにフレーム連結器36によって時系列に連結されて再構築され、コントローラ31に入力される。
図6は、上述したようにしてフィルタバンク100から出力され、フレーム分割器34によりフレーム分離された各チャネルの出力の一例を表す模式図である。図中、四角枠内の数字は、応答器の番号を示し、数字の後のアルファベットは、時系列を表している(すなわち例えばフレームに含まれる情報が「4a」の場合には、応答器23のIDが「4」で、「a」はこの情報が時系列で最初であることを示している。尚、このフレームには応答器から送られた他の情報も含まれている)。
図6において、この例では、応答器20からのデータは、「1a」→「1b」→「1c」→「1d」→「1e」→「1f」→「1g」→・・・とデータが続いている。このとき、上記ホッピングによって、データ「1a」は時間T1においてフィルタバンク100内のチャネル3から出力され、以下、時間T2でデータ「1b」がチャネル13より出力→時間T3でデータ「1c」がチャネル10より出力→時間T4でデータ「1d」がチャネル6より出力→時間T5でデータ「1e」がチャネル8より出力→時間T6でデータ「1f」がチャネル9より出力→時間T7でデータ「1g」がチャネル15より出力、…となっている。
同様に、応答器21からのデータは、時間T1でデータ「2a」がチャネル9より出力→時間T2でデータ「2b」がチャネル6より出力→時間T3でデータ「2c」がチャネル13より出力→時間T4でデータ「2d」がチャネル11より出力→時間T5でデータ「2e」がチャネル11より出力→時間T6でデータ「2f」がチャネル7より出力、…となっている。
また同様に、応答器22からのデータは、時間T1でデータ「3a」がチャネル14より出力→時間T2でデータ「3b」がチャネル7より出力→時間T3でデータ「3c」がチャネル6より出力→時間T4でデータ「3d」がチャネル9より出力→時間T5でデータ「3e」がチャネル12より出力→時間T6でデータ「3f」がチャネル15より出力→時間T7でデータ「3g」がチャネル5より出力、…となっている。
また同様に、応答器23からのデータは、時間T1でデータ「4a」がチャネル15より出力→時間T2でデータ「4b」がチャネル12より出力→時間T3でデータ「4c」がチャネル9より出力→時間T4でデータ「4d」がチャネル2より出力→時間T5でデータ「4e」がチャネル6より出力→時間T6でデータ「4f」がチャネル11より出力→時間T7でデータ「4g」がチャネル13より出力、…となっている。
図7は、上記のようにしてフレーム分割器34によりフレーム分離されたデータに対する、フレーム仕分け器35による仕分け及びフレーム連結器36による連結挙動の一例を表す説明図である。
図7において、質問器10,11から無変調で主搬送波の送信を開始すると、各応答器20,21,22,23からの反射波(ホッピングする副搬送波を含む)がCH1〜CH9において一括して受信される。この例は上記図6に示した例に対応したもので、最初の一括受信で、副搬送波fsc1がCH3で受信されて「1a」を識別符号として含んだフレームが得られ、副搬送波fsc2がCH9で受信されて「2a」を識別符号として含んだフレームが得られ、副搬送波fsc3がCH14で受信されて「3a」を識別符号として含んだフレームが得られ、副搬送波fsc4がCH15で受信されて「4a」を識別符号として含んだフレームが得られる。
その後、次の一括受信で、副搬送波fsc1がCH13で受信されて「1b」を識別符号として含んだフレームが得られ、副搬送波fsc2がCH6で受信されて「2b」を識別符号として含んだフレームが得られ、副搬送波fsc3がCH7で受信されて「3b」を識別符号として含んだフレームが得られ、副搬送波fsc4がCH12で受信されて「4b」を識別符号として含んだフレームが得られる。
さらにその次の一括受信で、副搬送波fsc1がCH10で受信されて「1c」を識別符号として含んだフレームが得られ、副搬送波fsc2がCH13で受信されて「2c」を識別符号として含んだフレームが得られ、副搬送波fsc3がCH6で受信されて「3c」を識別符号として含んだフレームが得られ、副搬送波fsc4がCH9で受信されて「4c」を識別符号として含んだフレームが得られる。
以降、同様に一括受信ごとに各フレームの情報信号が得られる。フレーム連結器36では、これら各フレームを応答器20〜23のIDに従って仕分けた後、各応答器20〜23ごとに時系列的に連結することにより、図7中右側に示すように、「1a、1b、1c」、「2a、2b、2c」、「3a、3b、3c」、「4a、4b、4c」、「5a、5b、5c」と各応答器毎の情報信号を得ることができる。
なお、上記の方法では、各応答器20〜23からの反射波のホッピングする副搬送波を一括して受信しているので、副搬送波の周波数の衝突が生じたチャネルを、正常な復調ができなかったチャネル、あるいは正常な識別符号が得られなかったチャネル、あるいはエラーが発生したチャネルとして、コントローラ51が判断できる。従って、副搬送波の周波数の衝突が生じたチャネルを全ての応答器20〜23に報知するようにしても良い。これにより、衝突が生じた各応答器20〜23を個別に探索して、エラーが発生したことを通知するという複雑な処理は不要となる。衝突が生じたチャネル番号を報知するだけで、そのチャネルを使用した全ての応答器20〜23が同時衝突やエラー発生を知ることができる。
以上説明した基本構成及び基本動作の通信システム1において、本実施形態の最も大きな特徴は、上記受信信号について周波数帯域ごとの分離復調を行うフィルタバンク100の構成及びこのフィルタバンク100で復調された信号に対し周波数ずれに対応した補正を行うことにある。以下、その詳細を順を追って説明する。
(1)フィルタバンク100の構成
(1−1)フィルタバンクの原理
図8(a)は、一般的なFIRフィルタの構成を表す機能ブロック図である。この図8(a)において、FIRフィルタ200は、入力データx(n)に対し複数個(M個)の遅延処理部80−1〜80−Mを連続的に配置し、各遅延処理部80−1〜80−Mの直前及び処理後出力側に設けたM+1個の乗算部81−0〜81−Mにおいて係数ho(0)〜ho(M−1)を乗じる。この乗算後の各出力を加算部82で合算し、最終出力y(n)とする。
図8(b)は、このときの周波数特性の一例を表す図であり、上記の係数ho(0)〜ho(M−1)をチャネル帯域の半分の帯域の低域通過フィルタとなるように選ぶ(例えば専用のFIRフィルタ設計ソフトで計算)と、これを帯域通過フィルタに変換することにより、フィルタの帯域を低域通過フィルタの2倍とすることができる。なお、図中、fsampleはA/D変換器70のサンプリング周波数を示す。
ここで、上記図8(a)で示したFIRフィルタ200の係数をN個おきに取り出し、乗算部81において係数をh0(N−1),h0(2N−1),...,h0(M−1)のように並べたサブフィルタp0(m)、係数を h0(N−2),h0(2N−2),...,h0(M−2)のように並べたサブフィルタp1(m)、...、係数を
h0(0),h0(N),...,h0(M−N)のように並べたサブフィルタをpN−1(m)とすると、サブフィルタp0(m)は図8(c)に示すように表され、サブフィルタpN−1(m)は図8(d)に示すように表すことができる。これらサブフィルタp0(m)〜pN−1(m)のように、所定の低域通過フィルタのフィルタ係数の一部を取り出して構成された複数のフィルタは、ポリフェーズフィルタと呼ばれるものである。
(1−2)フィルタバンクその他の詳細構成
一般に、副搬送波(サブキャリア)変調信号は、目的の情報信号をAとして、Aexp(j2π・fs・t)で表されるため、これにexp
(-j2π・fs・t)を乗算すれば目的の情報信号Aを得ることができる。フィルタバンク100は、このような副搬送波変調信号をチャネルに対応する帯域に分け、各帯域の中心周波数fsnに対し、それぞれその中心周波数に応じたexp
(-j2π・fsn・t)を乗算する機能を備えるものである。
図9は、上記ポリフェーズフィルタを用いた本実施形態の上記フィルタバンク100及びその周辺機能の詳細構成を表す機能ブロック図である。
図9において、フィルタバンク100は、サブフィルタp0(m)〜pN−1(m)からなるポリフェーズフィルタ101と、上記A/D変換器70からの入力信号(入力データ)を、上記ポリフェーズフィルタ101のN個のサブフィルタp0(m)〜pN−1(m)に順番に振り分ける振分け手段としての振分けスイッチ102と、上記ポリフェーズフィルタ102からのN個の出力をフーリエ変換するフーリエ変換手段としての高速フーリエ変換部(FFT部)103とを備えている。
FFT部103からは、フーリエ変換の各サンプリング周波数を中心周波数とし、前述の図8(a)に示した低域フィルタの2倍の帯域を持つ帯域通過フィルタを通した信号をベースバンドに変換したもの、すなわち各中心周波数が直流(周波数=0)となるよう周波数変換、すなわち各チャネルの信号を復調したものが、出力として得られる。このときの出力は複素数で得られるので、I信号とQ信号成分とが複素数表示で出力される。なお、FFT部に代えて離散フーリエ変換のDFT部を用いてもよい。FFT部の方が変換速度が速いが入力データ数は2のべき乗とする必要があるからである。
以上のような構成により、フィルタバンク100では、各応答器20,21,22,23の上記目標応答周波数に応じた各受信中心周波数毎に帯域を分離して復調を行う。その際、複数の応答器20〜23からの返信信号を同時に受信し、それを各目標応答周波数別に分離すると同時に復調でき、FFT部103からの出力が複素数として得られる。この結果、後述するような周波数ずれに対応した乗算による補正が複数の応答器20〜23に対し同時に可能となっている。
(2)周波数ずれの発生とその補正
(2−1)周波数ずれの発生する背景
質問器10,11で設定されているチャネルの受信中心周波数は、A/D変換器70のサンプリング周波数とFFT部103のデータ数によって決まる。このため、A/D変換器70のサンプリング周波数が何らかの原因で変動するとチャネルの中心周波数も変動する。
ここで、一般に、応答器20,21,22,23は(例えば無線タグ回路素子のように)軽量小型を主眼とし、水晶発振回路のような高精度の発振器は用いられない。このため、副搬送波発信器53で実際に発生する副搬送波周波数fs1′fs2′は目標周波数fs1,fs2と若干ずれ、この結果、上記目標周波数に対応させて質問器10,11で設定されるチャネル受信中心周波数fs1,fs2とも若干ずれることとなる(図10参照)。なお、質問器10,11側から同期用のクロック信号を質問時に応答器20,21,22,23へ送信することも考えられる、この場合も同期後はフリーラン状態となるため、徐々に周波数ずれは大きくなる。
このようにして実際の副搬送波周波数と質問器10,11で設定されたチャネルの受信中心周波数とがずれると、FFT部103の出力として得られる復調信号はそのずれに相当する周波数でDC成分が変動する。すなわち、フィルタバンク100ではチャネルの中心周波数成分がDCに周波数変換されるので、副搬送波は図10に示した△f1あるいは△f2の周波数の正弦波に変換された復調波形となり(図11参照)、正常な復号ができなくなる。
(2−2)補正処理
本実施形態では、上記のように目標周波数fs1,fs2と実際の周波数fs1′,fs2′との周波数ずれ(偏差)△f1,△f2による弊害を回避するために、上記周波数ずれに応じた補正を行う。
まず、上記周波数ずれを検出しようとする場合、上記フィルタバンク100に備えれたFFT部103では、前述したN点分のデータしか把握できず、サンプリング周波数をNで割った値が周波数分解能となる。FFTを行った値が得られる周波数は各チャネルの中心周波数のみとなるため、上記図10の太線で表される値しか取得できず、周波数ずれを検出することはできない。
そこで、本実施形態では、上記フィルタバンク100に備えられたFFT部103とは別に、振分けスイッチ102の上流側で分岐してデータが供給される上記周波数解析部32を設ける。周波数解析部32は、上記データを一時蓄積するバッファ32Aと、このバッファ32Aに蓄積された全データ(個数M個)を用いてフーリエ変換により周波数解析を行うM点FFT部32Bとを備えている。M点FFT部32Bでは、周波数のサンプル点数をM点に増やすことで周波数分解能を上記フィルタバンク100のFFT部103に比べM/N倍に増大させることができる。なお、この意味で、M点FFT部32Bにおけるデータ数Mは、フィルタバンクの出力を得るのに必要なデータ数Nよりも十分大きく設定されており、この結果として、M点FFT部32Bにおける最小周波数間隔は、フィルタバンク100における受信中心周波数どうしの間隔よりも小さく設定されている。
上記周波数解析部32からの信号が入力される上記チャネル選択部37は、ピーク検出部37Aと、チャネル内信号有無判定部37Bとを備えている。応答器20〜23からの信号は変調されているためスペクトルが広がっているが、チャネル選択部37では、上記したM点FFT部32Bの分解能向上結果によって副搬送波周波数を高い精度で検出でき、ピークが生じている周波数を副搬送波周波数と判断することができる(図12参照)。このとき、フィルタバンク100に入力されるデータと同じデータを分岐させて用いて副搬送波周波数を検出していることから、時間的なずれのない副搬送波周波数を検出することができる。
なお、さらに分解能を高めるために、図9に示すように、入力データにバッファ32Aにおいて必要な数だけ分解能向上用のダミーデータとしての「0」データを追加することで、FFT部32Bにおける入力データ数を増加させても良い。この場合、サンプリング周波数をfsampleとすると入力データ数がM個の場合の周波数分解能はfsample/Mであるが、これをM+K個に増加させると周波数分解能はfsample/(M+K)に向上できるので、より正確に副搬送波周波数を検出することができる。
チャネル内信号有無判定部37Bでは、上記M点FFT部32Bにおける周波数解析の結果からチャネル内に所定値以上の強度の信号成分があるかどうかを判定する。所定値以上の強度の信号成分があれば、そのチャネルに副搬送波信号があると判定され、M点FFT部の結果から実際の副搬送波周波数fs′が算出され、周波数ずれ検出部38へ出力される。
周波数ずれ検出部38では、上記実際の副搬送波周波数fs′とチャネル中心周波数fsの差△fを求めて周波数補正部39へ出力する。周波数補正部39は、上記周波数ずれ△fから補正係数Ck(m)を
Ck(m)=exp(−j2πNm△fk/fsample)
により算出する。
すなわち、前述したようにフィルタバンク100は、副搬送波変調信号をチャネル毎に帯域に分け、exp (-j2π・fs・t)を乗算する機能を備える。ここで、fsがfs+△fだけ変化すると、フィルタバンク出力はAexp(j2π・(fs+△f)・t)×
exp (-j2π・fs・t)= Aexp(j2π・△f・t)となるので、これにCk=exp(-j2π・△f・t)を乗算すれば目的の情報信号Aを得ることができる。
この補正係数Ck(m)(mによって変化する)は、フィルタバンク100の上記FFT部103の対応する出力に設けられた乗算器104−0〜104−(N−1)にそれぞれ供給され、出力値に乗じられることで補正が行われる。これにより、上記周波数ずれの影響が補正された正しい復調波形を得ることができる(図13参照)。以上のようにして、精度の良い復号を復号器33にて行うことができる。
一方、チャネル内信号有無判定部37Bにてチャネル内に所定強度の信号成分がなかった場合、そのチャネルには副搬送波信号はないと判定し、そのチャネルは復号時に選択されないようにする(周波数補正部39からの上記補正係数Ck(m)=0となるようにする)。これにより当該チャネルについて復号処理は行われない(言い換えれば選択されたチャネルにのみ乗算を行うようにする)ことで、信号処理の負担を減らすことができる。もちろん、図3に示すように、チャネル選択部37から復号器33にどのチャネルのみ復号を行えばよいかの制御信号を与えてもよい。
なお、上記チャネル内信号有無判定部37Bにおける判定では、所定のスペクトルパターン(例えば、所定周波数帯域が所定値以上で、それ以外は強度が低下する)かどうかを判定し、副搬送波信号の有無を判定するようにしても良い。この場合、ノイズや他の変調パターンの妨害信号が混入して、所定値以上の信号成分が現れても復号を行わずに副搬送波信号かどうかを迅速に判定できる。
(3)制御フロー
図14は、上記の動作を実施するためにデジタル回路部30が実行する制御動作手順を表すフローチャートである。
図14において、まずステップS10において、各値の初期化を行う。すなわち、対象とするチャネルにおけるピーク近傍第1位置及びピーク近傍第2位置における信号レベルxmax1及びxmax2をそれぞれ0とし、各データのサンプル番号(データ位置)nを0とし、さらにチャネル番号ch=0とする。また、FFT部32Bからは上記のようにM+K個の出力が得られ、それがNチャネル(但し、実際は折り返し分があり、独立したチャネルはその半分なのでchend=N/2とすればよい)に区分けされることから1チャネル当たりのデータ数np=(M+K)/Nとなる。この結果、各チャネルにおける最大サンプル番号(データ位置上限)np1=np−1となる。また上記ピーク近傍第1及び第2位置におけるピーク近傍第1及び第2周波数をそれぞれFch1=Fch2=0とする。
以上のようにして初期化が終了したら、ステップS20に移り、FFT部32Bよりn=0〜M+K−1までの(M+K)個のデータxを読み出し、ステップS30に移る。
ステップS30では、上記ステップS20で読み出したデータxが所定レベルxlevel以上であるかどうかを判定する。信号レベルが所定レベル以上であればステップS30の判定が満たされ、ステップS40でさらにその信号レベルが上記ピーク近傍第1位置信号レベルxmax1より大きいかどうかを判定する。
上記したように最初はxmax1=0であるからこの判定が満たされてステップS50に移り、xmax2の値を、改めてそのxより小さかったxmax1の値(ここでは0)とするとともにピーク近傍第2位置周波数Fch2の値を、そのxmax1に対応するFch1の値(この時点では前述のように0)とする。その後、ステップS60に移り、当該xの値を改めてxmax1とするとともに、そのときのデータ位置nをピーク近傍第1周波数Fch1とする(データ位置nで周波数fを特定できる。すなわちf=fsample×n/(M+K))。その後、ステップS70に移る。なお、上記ステップS30の判定が満たされない場合は直接ステップS70に移る。
ステップS70では、次のデータの検討に移行するため、データ位置nに1を加えた後、ステップS80に移る。
ステップS80ではデータ位置nが上記データ位置上限np1より大きいかどうかを判定する。大きくなるまではステップS20に戻って同様の手順を繰り返す。このようにして、順次データ位置nを1つずつずらしながら、新たに読み出したxがそれまでの最大値xmax1(=直前のxの値)よりも大きい間(ピークに達するまでの間)は、ステップS20→ステップS30→ステップS40→ステップS50→ステップS60→ステップS70→ステップS80→ステップS20→…を繰り返し、新たなxの値をxmax1に置き換え(同時にFch1もnに置き換え)ながら、そのときの置き換える直前のxの値をxmax2とする(同時にFch2も直前のnとする)。
このような繰り返しの間に、新たなデータxがそれまでの最大値xmax1(=直前のxの値)以下となると、ステップS40の判定が満たされず、ステップS90に移る。ステップS90では、当該新たなデータxの信号レベルがそれまでのxmax2(xmax1の次に大きなピーク近傍第2位置の信号レベル)より大きいかどうかを判定する。xがxmax2以下の場合は判定が満たされず、このデータxは検知目標とするピーク位置より離れているとみなされ、上記ステップS70へ移る。xがxmax2より大きい場合は判定が満たされ、ステップS100に移って当該xのレベルを新たなピーク近傍第2位置信号レベルxmax2に設定するとともに、そのデータ位置nをピーク近傍第2位置の周波数Fch2に設定し、ステップS70に移る。これにより、既に確立したピーク近傍第1位置信号レベルxmax1よりは小さいが、それ以外のこれまでのデータxよりは大きい(言い換えれば2番目に大きい)ピーク近傍第2位置信号レベルxmax2とその周波数Fch2が決定される。
その後、上記同様、ステップS70でデータ位置を1つずらしてステップS80を経てステップS20より同様の手順を繰り返す。このようにして、ステップS80の判定が満たされるまで(言い換えれば当該チャネル内の全データの検索が終了するまで)繰り返すことにより、検知したい当該チャネル内の信号ピーク位置をはさんでそれに近いピーク近傍第1位置及び第2位置の周波数が確定される。このような手順が終了してステップS80の判定が満たされたら、ステップS110に移る。
ステップS110では、ピーク近傍第1位置周波数Fch1が0であるかどうかが判定される。チャネル内に前述の所定レベルを越える信号が受信されていればこの判定は満たされないから、ステップS120へ移る。
ステップS120では、上記ピーク近傍第1位置周波数Fch1とピーク近傍第2位置周端数Fch2との差が1であるかどうか(データサンプリング間隔に等しいかどうか、言い換えれば隣同士のデータであるかどうか)を判定する。通常の山型(凸型)のピーク形状であれば(そうでない例外については後述)前述した原理によりFch1−Fch2=1となるはずであるからこの判定が満たされ、ステップS130へ移ってこれらFch1とFch2のうち大きい方であるFch1をピーク位置とみなす。
これにより、実際にアンテナ47で受信した上記実際の副変調波周波数fs1′(又はfs2′)が検出されたこととなるので、ステップS140において、これと上記目標周波数fs1,fs2との偏差である周波数ずれ△f1,△f2を算出する。
一方、チャネル内のデータ分布が、ピーク位置において陥没した略M字型形状となる場合もありうる。すなわち、副搬送波周波数が位相変調されており、さらに、"0"、"1"の割合が等しい場合には、その平均値であるFFT部の出力は正相値と逆相値が互いに打ち消し合い、副搬送波周波数で0となる(図10に対応する図15(a)、図12に対応する図15(b)参照)。このような場合は上記ピーク近傍第1位置周波数Fch1とピーク近傍第2位置周波数Fch2との間は隣同士とならないため、ステップS120が満たされず、ステップS150へ移る。
ステップS150では、上記ピーク近傍第1位置周波数Fch1とピーク近傍第2位置周波数Fch2と中点をFchとして設定し、その後ステップS160でこの中点周波数Fchでの信号レベルxFchが予め定めた所定値xlowより小さいかどうかを(念のために)判定する。小さい場合は上記したような略M型形状に他ならないこととなるので、判定が満たされてステップS170に移り、上記中点周波数Fchをピーク位置として画定する。ステップS170が終了したら、ステップS140に移ってこのピーク位置Fchに基づき周波数ずれを算出する。
一方、xFchがxlow以上である場合には上記略M型形状というほどの凹みはなく、たまたまxmax1よりもxmax2よりも若干小さい信号レベルがそれらxmax1とxmax2との間に介在されたに過ぎず、基本的には前述と同様の凸型であることから、上記ステップS130に移ってFch1をピーク位置とし、同様にステップS140に移る。
以上のようにしてステップS140が終了したら、ステップS180に移り、前述したように、補正係数Cchをexp(−j2πNm△fk/fsample)により算出する。これにより、当該チャネルにおける補正係数の算出が終了して補正処理が完了し、ステップS200に移る。
なお、前述のステップS110において、チャネル内に信号が受信されていない場合、ピーク近傍第1位置周波数Fch1が0となるから、ステップS110の判定が満たされ、ステップS190に移って当該チャネルの補正係数Cch=0とし、ステップS200に移る。
ステップS200では、次のチャネルに移って同様の作業を行うための移行準備初期化処理を行う。すなわち、上記ステップS10と同様、ピーク近傍第1及び第2位置信号レベルxmax1及びxmax2をそれぞれ0とし、各データのサンプル番号(データ位置)nを0とし、上記ピーク近傍第1及び第2位置におけるピーク近傍第1及び第2周波数をそれぞれFch1=Fch2=0とする。そして、チャネル番号chを1加え、チャネルにおける最大サンプル番号(データ位置上限)np1に、1チャネル当たり総データ数npを加える。
その後、ステップS210では、チャネル番号が最終チャネルに等しくなったかどうかを判定する。最終チャネルにならない間はこの判定が満たされないため、ステップS20に戻って同様の手順を繰り返す。以上のようにして、全チャネルについて、ピーク位置を算出するとともに、対応する補正係数を算出することができる。
以上において、周波数補正部39及び乗算器104−1〜104−(N−1)が、各請求項記載の、分離復調手段で分離復調された受信信号を、受信手段で受信した受信信号の実際の実応答周波数と受信中心周波数とに応じて補正する補正手段を構成し、FFT部32、チャネル選択部37、及び周波数ずれ検出部38が、実応答周波数と受信中心周波数との対応関係のずれを検出する検出手段を構成する。
以上のように構成した本実施形態の質問器10,11においては、フィルタバンク100で所定の受信中心周波数fs1,fs2(図10参照)を中心とした(ずれを考慮しない)所定の周波数帯域ごとに分離復調された受信信号を、上記受信中心周波数fs1,fs2と実応答周波数fs1′,fs2′のずれ△f1,△f2に応じて補正する。これにより、上記ずれによる影響を是正できるので、復号器33において良好な復号化を行うことができる。
なお、周波数補正部39における補正係数の決定にあっては、上記副搬送波周波数のホッピングの周期に対応して行ってもよい。例えばホッピングごとに補正係数を決定し、ホッピング周期内ではその補正値を用いる。この場合、ホッピング直後に補正係数が決定でき、分離復調に必要なデータ数と同じデータ数で補正係数を決定するので、復調信号の出力時には補正係数を用いた補正が可能となる。ホッピング周期が比較的短く、応答周波数の時間変化が無視できる場合は、最初に求めた補正値で、復号が始まる前に周波数補正を終了しその後復号を行うようにすれば、復号中に新たに補正値を求める必要はなく、演算処理が重ならないので、CPUの処理負担を軽減することができる。
また、前述したフィルタバンク100に入力される全データxo(m−M/N+1)〜xN−1(m)が更新されるたびに上記補正処理を行うようにしても良い。この場合、ホッピング周期が比較的長い場合でも間欠的に補正を行うことができる。さらに、エラーが所定以上発生した場合に、上記補正処理を行うようにしても良い。
また、図9に対応する図16に示すように、乗算器104−0…の後段位に別途フィルタ(帯域通過フィルタ(BPF)あるいは低域通過フィルタ等)105を設けても良い。この場合、フィルタバンク100のフィルタの帯域は広めにしておき、周波数ずれがあっても不要な減衰が生じないようにし、周波数補正後の上記フィルタ105において、最適な帯域のフィルタとし、ノイズの少ない復調信号を得てもよい。
また、副搬送波はホッピングしなくてもよく、複数の副搬送波周波数を同時に受信し、復調及び復号を行うシステムであれば足りる。この場合の複数の副搬送波周波数とは、全ての副搬送波周波数を含んでも良いし、いくつかのグループに分割した、1つのグループ内の副搬送波周波数を一括して受信しても良い。
さらに、本発明の適用は高周波部における副搬送波の構成には限定されない。中間周波数に変換してAD変換を行い、主搬送波復調もディジタル処理で行っても良い。
その他、一々例示はしないが、本発明は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。