(57)【特許請求の範囲】
【請求項１】
下記（１）〜（３）の手順からなる信号周波数検出方法。
（１）  周波数が未知である信号をサンプリング周波数ｆｓでサンプリングしたサンプルデータ列をサンプル点数ｎでＦＦＴ演算し、信号周波数が存在する周波数帯域Ａ（ｋ・ｆｓ／ｎ±ｆｓ／２ｎ；ｋ＝０〜ｎ）を検出する。
（２）  上記サンプルデータ列をデシメーションレートＤで再サンプルし、この再サンプルデータ列をサンプル点数ｍでＦＦＴ演算し、周波数０〜ｆｓ／２Ｄの領域で検出したピーク周波数ｆｐを非反転スペクトルとして写像する周波数（ｑ・ｆｓ／Ｄ＋ｆｐ；ｑ＝０，１，２，…）および反転スペクトルとして写像する周波数（ｑ・ｆｓ／Ｄ−ｆｐ）を上記周波数帯域Ａの範囲内で割り出す。
（３）  上記サンプルデータ列を所定の割合で間引きして、データ列を詰めることにより、信号周波数を上方にシフトし、これを上記デシメーションレートＤで再サンプルし、この再サンプルデータ列を前記サンプル点数ｍでＦＦＴ演算し、周波数０〜ｆｓ／２Ｄの領域で検出したピーク周波数ｆｐ′がｆｐよりも上方にシフトした場合には周波数（ｑ・ｆｓ／Ｄ＋ｆｐ）を信号周波数と判定し、前記ピーク周波数ｆｐ′がｆｐ以下にシフトした場合には周波数（ｑ・ｆｓ／Ｄ−ｆｐ）を信号周波数と判定する。
【請求項２】
下記（１）〜（３）の手順からなる信号周波数検出方法。
（１）  周波数が未知である信号をサンプリング周波数ｆｓでサンプリングしたサンプルデータ列をサンプル点数ｎでＦＦＴ演算し、信号周波数が存在する周波数帯域Ａ（ｋ・ｆｓ／ｎ±ｆｓ／２ｎ；ｋ＝０〜ｎ）を検出する。
（２）  上記サンプルデータ列をデシメーションレートＤで再サンプルし、この再サンプルデータ列をサンプル点数ｍでＦＦＴ演算し、周波数０〜ｆｓ／２Ｄの領域で検出したピーク周波数ｆｐを非反転スペクトルとして写像する周波数（ｑ・ｆｓ／Ｄ＋ｆｐ；ｑ＝０，１，２，…）および反転スペクトルとして写像する周波数（ｑ・ｆｓ／Ｄ−ｆｐ）を上記周波数帯域Ａの範囲内で割り出す。
（３）  上記サンプルデータ列に対して、所定のデータ個数毎にデータを挿入してデータ列を伸長することにより、信号周波数を下方にシフトし、これを上記デシメーションレートＤで再サンプルし、この再サンプルデータ列を前記サンプル点数ｍでＦＦＴ演算し、周波数０〜ｆｓ／２Ｄの領域で検出したピーク周波数ｆｐ′がｆｐよりも下方にシフトした場合には周波数（ｑ・ｆｓ／Ｄ＋ｆｐ）を信号周波数と判定し、前記ピーク周波数ｆｐ′がｆｐ以上にシフトした場合には周波数（ｑ・ｆｓ／Ｄ−ｆｐ）を信号周波数と判定する。
【請求項３】
上記手順（３）において、上記サンプルデータ列に対して挿入するデータは、その前後のデータと同じ値のデータ、またはその前後のデータを補間した値のデータである、請求項２に記載の信号周波数検出方法。
【請求項４】
下記（２）、（３）の手順からなる信号周波数検出方法。
（２）  概略周波数が既知である信号をサンプリング周波数ｆｓでサンプリングしたサンプルデータ列をデシメーションレートＤで再サンプルし、この再サンプルデータ列をサンプル点数ｍでＦＦＴ演算し、周波数０〜ｆｓ／２Ｄの領域で検出したピーク周波数ｆｐを非反転スペクトルとして写像する周波数（ｑ・ｆｓ／Ｄ＋ｆｐ；ｑ＝０，１，２，…）および反転スペクトルとして写像する周波数（ｑ・ｆｓ／Ｄ−ｆｐ）を上記概略周波数の範囲内で割り出す。
（３）  上記サンプルデータ列を所定の割合で間引きして、データ列を詰めることにより、信号周波数を上方にシフトし、これを上記デシメーションレートＤで再サンプルし、この再サンプルデータ列を前記サンプル点数ｍでＦＦＴ演算し、周波数０〜ｆｓ／２Ｄの範囲で検出したピーク周波数ｆｐ′がｆｐよりも上方にシフトした場合には周波数（ｑ・ｆｓ／Ｄ＋ｆｐ）を信号周波数と判定し、前記ピーク周波数ｆｐ′がｆｐ以下にシフトした場合には周波数（ｑ・ｆｓ／Ｄ−ｆｐ）を信号周波数と判定する。
【請求項５】
下記（２）、（３）の手順からなる信号周波数検出方法。
（２）  概略周波数が既知である信号をサンプリング周波数ｆｓでサンプリングしたサンプルデータ列をデシメーションレートＤで再サンプルし、この再サンプルデータ列をサンプル点数ｍでＦＦＴ演算し、周波数０〜ｆｓ／２Ｄの領域で検出したピーク周波数ｆｐを非反転スペクトルとして写像する周波数（ｑ・ｆｓ／Ｄ＋ｆｐ；ｑ＝０，１，２，…）および反転スペクトルとして写像する周波数（ｑ・ｆｓ／Ｄ−ｆｐ）を上記概略周波数の範囲内で割り出す。
（３）  上記サンプルデータ列に対して、所定のデータ個数毎にデータを挿入してデータ列を伸長することにより、信号周波数を下方にシフトし、これを上記デシメーションレートＤで再サンプルし、この再サンプルデータ列を前記サンプル点数ｍでＦＦＴ演算し、周波数０〜ｆｓ／２Ｄの領域で検出したピーク周波数ｆｐ′がｆｐよりも下方にシフトした場合には周波数（ｑ・ｆｓ／Ｄ＋ｆｐ）を信号周波数と判定し、前記ピーク周波数ｆｐ′がｆｐ以上にシフトした場合には周波数（ｑ・ｆｓ／Ｄ−ｆｐ）を信号周波数と判定する。
【請求項６】
上記手順（３）において、上記サンプルデータ列に対して挿入するデータは、その前後のデータと同じ値のデータ、またはその前後のデータを補間した値のデータである、請求項５に記載の信号周波数検出方法。
【請求項７】
サンプル点数ｎは、デシメーションレートＤ以上である請求項１乃至請求項２のいずれかに記載の信号周波数検出方法。
【請求項８】
上記（３）の手順における信号周波数のシフト量は、ｆｓ／（Ｄ・ｍ）以上、且つ、折り返しが発生しない範囲である請求項１乃至請求項７のいずれかに記載の信号周波数検出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、受信信号の周波数を高速に検出する周波数推定方法に関する。
【０００２】
【従来の技術】
ＧＰＳやインマルサット通信などの信号はたえず周波数変動を受けるため、受信装置は、その信号周波数をトラッキングし、受信系を同期させる必要がある。
特にインマルサット通信の信号は断続的な不連続信号であるため、信号が入力されたときに素早い同期が必要である。このため、受信装置にはＦＦＴ演算を行うＤＳＰが内蔵されており、このＤＳＰがＦＦＴ演算によって検出した周波数でＰＬＬ、ＮＣＯ（Ｎｕｍｅｒｉｃａｌｌｙ  Ｃｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）、ＤＤＳ（Ｄｉｒｅｃｔ  Ｄｉｇｉｔａｌ  Ｓｙｎｔｈｅｓｉｓｅｒ）などを制御して受信信号をトラッキングするようにしている。
【０００３】
【発明が解決しようとする課題】
しかし、ＦＦＴ演算で精度よく周波数を検出しようとすると、長いサンプル点数（たとえば１２８点以上）のＦＦＴ演算を行う必要があり、長いサンプル点数のＦＦＴ演算は演算量が多いため、演算に時間が掛かって短時間で周波数を同期させることが困難であるという問題点があった。
【０００４】
この発明は、少ない演算処理で長いサンプル点数のＦＦＴ演算と同精度の信号周波数の検出を行うことができる周波数検出方法を提供することを目的とする。
【課題を解決するための手段】
この発明の信号周波数検出方法は、下記（１）〜（３）の手順からなることを特徴とする。
（１）  周波数が未知である信号をサンプリング周波数ｆｓでサンプリングしたサンプルデータ列をサンプル点数ｎでＦＦＴ演算し、信号周波数が存在する周波数帯域Ａ（ｋ・ｆｓ／ｎ±ｆｓ／２ｎ；ｋ＝０〜ｎ）を検出する。
（２）  上記サンプルデータ列をデシメーションレートＤで再サンプルし、この再サンプルデータ列をサンプル点数ｍでＦＦＴ演算し、周波数０〜ｆｓ／２Ｄの領域で検出したピーク周波数ｆｐを非反転スペクトルとして写像する周波数（ｑ・ｆｓ／Ｄ＋ｆｐ；ｑ＝０，１，２，…）および反転スペクトルとして写像する周波数（ｑ・ｆｓ／Ｄ−ｆｐ）を上記周波数帯域Ａの範囲内で割り出す。
（３）  上記サンプルデータ列を所定の割合で間引きして、データ列を詰めることにより、信号周波数を上方にシフトし、これを上記デシメーションレートＤで再サンプルし、この再サンプルデータ列を前記サンプル点数ｍでＦＦＴ演算し、周波数０〜ｆｓ／２Ｄの領域で検出したピーク周波数ｆｐ′がｆｐよりも上方にシフトした場合には周波数（ｑ・ｆｓ／Ｄ＋ｆｐ）を信号周波数と判定し、前記ピーク周波数ｆｐ′がｆｐ以下にシフトした場合には周波数（ｑ・ｆｓ／Ｄ−ｆｐ）を信号周波数と判定する。
【０００５】
この発明の他の信号周波数検出方法は、下記（１）〜（３）の手順からなることを特徴とする。
（１）  周波数が未知である信号をサンプリング周波数ｆｓでサンプリングしたサンプルデータ列をサンプル点数ｎでＦＦＴ演算し、信号周波数が存在する周波数帯域Ａ（ｋ・ｆｓ／ｎ±ｆｓ／２ｎ；ｋ＝０〜ｎ）を検出する。
（２）  上記サンプルデータ列をデシメーションレートＤで再サンプルし、この再サンプルデータ列をサンプル点数ｍでＦＦＴ演算し、周波数０〜ｆｓ／２Ｄの領域で検出したピーク周波数ｆｐを非反転スペクトルとして写像する周波数（ｑ・ｆｓ／Ｄ＋ｆｐ；ｑ＝０，１，２，…）および反転スペクトルとして写像する周波数（ｑ・ｆｓ／Ｄ−ｆｐ）を上記周波数帯域Ａの範囲内で割り出す。
（３）  上記サンプルデータ列に対して、所定のデータ個数毎にデータを挿入してデータ列を伸長することにより、信号周波数を下方にシフトし、これを上記デシメーションレートＤで再サンプルし、この再サンプルデータ列を前記サンプル点数ｍでＦＦＴ演算し、周波数０〜ｆｓ／２Ｄの領域で検出したピーク周波数ｆｐ′がｆｐよりも下方にシフトした場合には周波数（ｑ・ｆｓ／Ｄ＋ｆｐ）を信号周波数と判定し、前記ピーク周波数ｆｐ′がｆｐ以上にシフトした場合には周波数（ｑ・ｆｓ／Ｄ−ｆｐ）を信号周波数と判定する。
【０００６】
この発明のさらに他の信号周波数検出方法は、下記（２）、（３）の手順からなることを特徴とする。
（２）  概略周波数が既知である信号をサンプリング周波数ｆｓでサンプリングしたサンプルデータ列をデシメーションレートＤで再サンプルし、この再サンプルデータ列をサンプル点数ｍでＦＦＴ演算し、周波数０〜ｆｓ／２Ｄの領域で検出したピーク周波数ｆｐを非反転スペクトルとして写像する周波数（ｑ・ｆｓ／Ｄ＋ｆｐ；ｑ＝０，１，２，…）および反転スペクトルとして写像する周波数（ｑ・ｆｓ／Ｄ−ｆｐ）を上記概略周波数の範囲内で割り出す。
【０００７】
（３）  上記サンプルデータ列を所定の割合で間引きして、データ列を詰めることにより、信号周波数を上方にシフトし、これを上記デシメーションレートＤで再サンプルし、この再サンプルデータ列を前記サンプル点数ｍでＦＦＴ演算し、周波数０〜ｆｓ／２Ｄの範囲で検出したピーク周波数ｆｐ′がｆｐよりも上方にシフトした場合には周波数（ｑ・ｆｓ／Ｄ＋ｆｐ）を信号周波数と判定し、前記ピーク周波数ｆｐ′がｆｐ以下にシフトした場合には周波数（ｑ・ｆｓ／Ｄ−ｆｐ）を信号周波数と判定する。
【０００８】
この発明のさらに他の信号周波数検出方法は、下記（２）、（３）の手順からなることを特徴とする。
（２）  概略周波数が既知である信号をサンプリング周波数ｆｓでサンプリングしたサンプルデータ列をデシメーションレートＤで再サンプルし、この再サンプルデータ列をサンプル点数ｍでＦＦＴ演算し、周波数０〜ｆｓ／２Ｄの領域で検出したピーク周波数ｆｐを非反転スペクトルとして写像する周波数（ｑ・ｆｓ／Ｄ＋ｆｐ；ｑ＝０，１，２，…）および反転スペクトルとして写像する周波数（ｑ・ｆｓ／Ｄ−ｆｐ）を上記概略周波数の範囲内で割り出す。
【０００９】
（３）  上記サンプルデータ列に対して、所定のデータ個数毎にデータを挿入してデータ列を伸長することにより、信号周波数を下方にシフトし、これを上記デシメーションレートＤで再サンプルし、この再サンプルデータ列を前記サンプル点数ｍでＦＦＴ演算し、周波数０〜ｆｓ／２Ｄの領域で検出したピーク周波数ｆｐ′がｆｐよりも下方にシフトした場合には周波数（ｑ・ｆｓ／Ｄ＋ｆｐ）を信号周波数と判定し、前記ピーク周波数ｆｐ′がｆｐ以上にシフトした場合には周波数（ｑ・ｆｓ／Ｄ−ｆｐ）を信号周波数と判定する。
【００１１】
ＦＦＴ演算はサンプル点数が増加すると演算量が級数的に増加するため、長いサンプル点数の演算を１回行うよりも短いデータ点数の演算を数回行ったほうが演算量が少なく短い演算時間で処理できる場合が多い。
この発明は、それを利用したものであり、（１）の処理でサンプル点数の短い（周波数分解能の粗い）ＦＦＴ演算を行って信号周波数がどの周波数帯域Ａにあるかを検出する。
次に（２）の処理で、このサンプルデータ列をデシメーションして再度サンプル点数の短いＦＦＴ演算を行う。デシメーションしたことにより、サンプル点数が短くてもデシメーションの分だけ周波数分解能が向上しているが、そのかわり検出できる領域が狭くなり（０〜ｆｓ／２Ｄ）、この領域を超える範囲に信号周波数が存在する場合には、写像として上記の領域に現れる。しかし、（１）の処理において信号周波数がどの周波数帯域Ａにあるかが検出されているため、その周波数帯域Ａにある周波数で上記の領域（０〜ｆｓ／２Ｄ）に現れた写像をマッピングする周波数に真の信号周波数（真の信号スペクトル）があると判断することができる。ただし、（１）のＦＦＴ演算も（２）のＦＦＴ演算もサンプル点数が短いため、周波数帯域Ａに真の信号周波数の候補が複数存在する。一般的にその候補は非反転スペクトルと反転スペクトルである。
【００１２】
そこで（３）の処理で、サンプルデータ列を所定の割合で間引きして、信号周波数を上方にシフトし、（２）の処理と同様にデシメーションしてサンプル点数の短いＦＦＴ演算を行う。信号周波数は間引きした分だけ周波数が上方にシフトされているため、基本となる領域（０〜ｆｓ／２Ｄ）には、（２）のＦＦＴ演算結果とは異なる周波数（離散周波数）にピークが現れる。このピーク周波数が上方にシフトされていれば真の信号周波数は非反転スペクトル側であると判断することができ、また、下方にシフトされていれば真の信号周波数は反転スペクトル側であると判断することができる。
【００１３】
また、（３）の処理をサンプルデータ列に所定の割合で新たなデータを挿入して信号周波数を下方にシフトすることによっても真の信号周波数を判定することができる。この場合、ＦＦＴ演算結果のピーク周波数が下方にシフトされていれば信号の信号周波数は非反転スペクトルであると判定することができ、上方にシフトされていれば信号の信号周波数は反転スペクトルであると判定することができる。
【００１４】
また、上記の信号周波数検出方法において、（１）のＦＦＴ演算のサンプル点数ｎを（２）のデシメーションレートＤ以上とすることにより、（２）で選出される信号周波数の候補が非反転スペクトル、反転スペクトルそれぞれ１つずつとなり短いサンプル点数のＦＦＴ演算で正確に信号周波数を検出できるようになる。また、（３）の周波数シフト量をｆｓ／（Ｄ・ｍ）以上とすることにより、（２）、（３）のＦＦＴ演算による離散ピーク周波数が確実に移動し、複数の候補のうちのどちらが真の信号周波数であったかを特定することができる。また、周波数シフト量を折り返しが発生しない範囲、例えばシフト後にｆｓ／２Ｄ以下となるようにすることにより、（２）、（３）のＦＦＴ演算による離散ピーク周波数の移動が上記領域（０〜ｆｓ／２Ｄ）の範囲内になり、領域を越えてピークが移動して移動方向が分からなくなることがない。
【００１５】
【発明の実施の形態】
図面を参照してこの発明の実施形態である信号周波数推定方法について説明する。図１はこの発明が適用される受信装置のブロック図である。この受信装置は、たとえばインマルサット通信装置やＧＰＳ信号の受信装置であって受信信号の周波数を短い間隔で繰り返し検出して、受信信号の周波数変動にローカル発振回路を追従させるようにしている。
アンテナ１で受信された信号はＲＦアンプ２およびアンプ４で増幅されるとともに、ミキサ３およびミキサ５で２段階に周波数変換され、バンドパスフィルタ６によって周波数変換された信号のみが取り出される。この周波数変換された信号はＡＤコンバータ７によってＡＤ変換され、サンプルデータ列とされる。このサンプルデータ列は、周波数検出用のＤＳＰ８に入力されるとともに、この信号に重畳されて送られてきた信号を復調するための復調回路（不図示）に入力される。
【００１６】
ＤＳＰ８は入力された信号（サンプルデータ列）の周波数をＦＦＴ演算によっ検出する。検出した周波数をローカル発信回路９に入力する。ローカル発信回路９はこの周波数に応じて発信周波数を制御し、受信信号に対してローカル発信周波数を同調させる。
【００１７】
以下、ＤＳＰ８が実行する信号周波数検出動作について説明する。
【００１８】
まず、図２のフローチャートを参照して概略の手順を説明する。
【００１９】
ＡＤコンバータ７から入力されたサンプルデータ列から短いサンプル点数ｎ＝１６のサンプルデータを取り出してＦＦＴ演算を実行し（ｓ１）、信号周波数を大ざっぱに検出する。すなわち信号周波数の存在する周波数帯域Ａを検出する。
ここで、ＡＤコンバータ７のサンプリング周波数を１３０ｋＨｚとすると、このＦＦＴ演算による周波数分解能は１３０／１６＝８．１２５ｋＨｚとなる。このとき、たとえば信号周波数が４６．５ｋＨｚであったとすると、ＦＦＴ演算によるピーク周波数は、図３に示すように離散周波数ｋ＝６に現れ、このＦＦＴ演算によって信号周波数が８．１２５×６＝４８．７５ｋＨｚを中心とする±８．１２５／２ｋＨｚの周波数帯域４４．６８７５〜５２．８１２５ｋＨｚ（周波数帯域Ａ）にあることが検出される。
【００２０】
次に、入力されたサンプルデータ列をディメイションレートＤで再サンプル（デシメーション）し（ｓ３）、再サンプルしたサンプルデータ列から短いサンプル点数ｍ＝１６のサンプルデータを取り出してＦＦＴ演算を実行する（ｓ４）。上記の例でディメイションレートＤ＝８とすると、このときのサンプリング周波数は、デシメーションにより１３０ｋＨｚ／８＝１６．２５ｋＨｚに相当し、周波数分解能は、１６．２５ｋＨｚ／１６＝１．０１５６２５ｋＨｚとなり、ＡＤコンバータ７から入力されたサンプルデータ列を１２８点ＦＦＴ演算した場合と同等の周波数分解能となる。ただしサンプリング周波数が１６．２５ｋＨｚであるため、０〜８．１２５ｋＨｚの領域の周波数しか検出することができず、信号周波数がそれ以上であった場合にはその写像スペクトルがこの領域に現れる。ただし、最初のＦＦＴ演算によって信号周波数の存在する周波数帯域Ａが８．１２５×６±４．０６２５ｋＨｚの範囲に絞り込まれているため、これによって、０〜８．１２５ｋＨｚの領域に現れた写像に対応する真の信号周波数をその周波数帯域から割り出すことができる。
【００２１】
ただし、上記写像スペクトルに対応する信号周波数は１つであるとは限らないたとえば、図４（Ａ）、（Ｃ）に示すように、４６．５ｋＨｚの信号によって生じる写像スペクトルは、５１ｋＨｚの信号によって生じる写像スペクトルと同じであり、４６．５ｋＨｚは、０〜８．１２５ｋＨｚの領域（２．２５ｋＨｚ）に反転写像され、５１ｋＨｚは、０〜８．１２５ｋＨｚの領域（２．２５ｋＨｚ）に非反転写像される。この両方の周波数とも上記４４．６８７５〜５２．８１２５ｋＨｚの周波数帯域Ａに入っており、このＦＦＴ演算のみではこれらの候補のうちのどちらが真の信号周波数であるかを特定することができない。
【００２２】
そこで、この信号周波数検出方法では以下の処理を実行し、再度ＦＦＴ演算を行う。上記サンプルデータ列から適当な間隔でサンプルデータを間引いて間引かれた項を詰めて波形の繰り返し周期すなわち信号周波数を若干高くシフトしたサンプルデータ列を生成する（ｓ６）。間引きはたとえば３２サンプルにつき１データ程度の割合で行う。この周波数シフトされたサンプルデータ列を上記と同じディメイションレートＤで再サンプルし（ｓ７）、再サンプルしたサンプルデータ列から上記と同じ短いサンプル点数ｍのサンプルデータを取り出してＦＦＴ演算を実行する（ｓ８）。０〜８．１２５ｋＨｚの領域に生じている写像スペクトルが真の信号周波数の反転スペクトル（たとえば４６．５ｋＨｚの写像）であれば、この周波数シフトによって信号周波数が０Ｈｚに写像される折り返し周波数（たとえば４８．７５ｋＨｚ）に接近するため、写像スペクトルは０Ｈｚに接近し、逆に、０〜８．１２５ｋＨｚの領域に生じている写像スペクトルが真の信号周波数の非反転スペクトル（たとえば５１ｋＨｚの写像）であれば、この周波数シフトによって信号周波数が折り返し周波数（たとえば４８．７５ｋＨｚ）から遠ざかるため、写像スペクトルは８．１２５ｋＨｚに接近する。この写像スペクトル（ピーク周波数）の移動により、上記２つの候補のうちどちらが真の信号周波数であるかを判定することができる（ｓ９）。
【００２３】
上記の処理を、図３〜図５を参照し、サンプリング周波数１３０ｋＨｚ、信号周波数４６．５ｋＨｚの場合について説明する。ＦＦＴ演算のサンプル点数ｎ＝ｍ＝１６、デシメーションレートＤ＝８の場合について説明する。
図３はサンプルデータ列を１６点ＦＦＴ演算した場合を説明する図である。信号周波数４６．５ｋＨｚであるから、離散周波数ｋ＝６にピークが存在する。そして、このＦＦＴ演算による周波数分解能は、８．１２５×６＝４８．７５ｋＨｚを中心とする±８．１２５／２ｋＨｚの範囲、すなわち４４．６８７５〜５２．８１２５ｋＨｚの範囲である。
【００２４】
次に、これをデシメーションレートＤ＝８でデシメーションして、ＦＦＴ演算を行う。そうすると、図４（Ａ）に示すように、この場合はｑ＝３に対応し４８．７５ｋＨｚが周波数０に写像され、４８．７５ｋＨｚ〜５６．８７５ｋＨｚの帯域の信号は非反転スペクトルとして０〜８．１２５ｋＨｚの領域に写像され、４８．７５〜４０．６２５ｋＨｚの帯域の信号は反転スペクトルとして同じく０〜８．１２５ｋＨｚの領域に写像される。したがって、この例における入力信号の真の周波数４６．５ｋＨｚは同図（Ａ）のように２．２５ｋＨｚの位置に写像されるが、同様に同図（Ｃ）に示すように、５１ｋＨｚの信号も同様に２．２５ｋＨｚの位置に写像され、このＦＦＴ演算のみではどちらの周波数が真の信号周波数であるかを判別することはできない。なお、この実施形態ではデシメーションした再サンプルデータ列を１６点ＦＦＴ演算するため、４６．５ｋＨｚの場合も５１ｋＨｚの場合も離散周波数ｋ＝２（２．０３１２５ｋＨｚ）にピークが現れる。すなわち、入力信号周波数は、
48.75＋( 1.015625×2 −1.015625/2)
〜 48.75＋( 1.015625×2 ＋1.015625/2)
または
48.75−( 1.015625×2 −1.015625/2)
〜 48.75−( 1.015625×2 ＋1.015625/2)
に存在することになる。上記写像周波数２．２５ｋＨｚまたはこの写像周波数が含まれる離散周波数ｋ＝２（２．０３１２５ｋＨｚ）がこの発明ｆｐに対応する。
【００２５】
真の信号周波数が４６．５ｋＨｚ（４６．７１８７５±１．０１５６２５／２ｋＨｚ）であるか５１ｋＨｚ（５０．７８１２５±１．０１５６２５／２ｋＨｚ）であるかを判定するため、上記のサンプルデータ列から３２個のデータあたり１個のデータを間引きし、データ列を詰める。図５にその手法の概略を示す。このようにサンプルデータ列を詰めることにより、信号周波数が、ほぼ３２／３１≒１．０３２２６すなわち３．２２６％だけ高くシフトされることになり、４６．５ｋＨｚの信号はほぼ４８ｋＨｚにシフトされ、５１ｋＨｚの信号はほぼ５２．６４５ｋＨｚにシフトされる。（図４（Ｂ）および図４（Ｄ）参照）。このように再構成されたサンプルデータ列を上記と同様にＤ＝８でデシメーションして１６点ＦＦＴ演算を行うと、元々の信号周波数が４６．５ｋＨｚであった場合には、信号周波数が４８ｋＨｚにシフトされて、０〜８．１２５ｋＨｚの領域内の０．７５ｋＨｚ付近に写像されて離散周波数ｋ＝１にピークが現れる。上記写像周波数０．７５ｋＨｚまたはこの写像周波数が含まれる離散周波数ｋ＝１（１．０１５６２５ｋＨｚ）がこの発明のｆｐ′に対応する。一方、元々の信号周波数が５１ｋＨｚであった場合には、信号周波数が５２．６４５ｋＨｚにシフトされて、０〜８．１２５ｋＨｚの領域内の３．８９５ｋＨｚ付近に写像されて離散周波数ｋ＝４にピークが現れる。このようにデータを間引いて信号周波数をシフトすることにより、同じ位置に写像が現れる２つの周波数のどちらが真の信号周波数であるかを判定することができる。
【００２６】
すなわち、ｋ＝１にピークが現れれば、入力信号周波数は４６．２１０９３８〜４６．９７６５６３ｋＨｚの領域にあり、ｋ＝４にピークが現れれば、入力信号周波数が５０．２７３４７５〜５１．２８９０６２の領域にあることが分かる。このように、以上の処理によって１２８点ＦＦＴと同じ分解能で周波数を検出可能である。
【００２７】
なお、インマルサット衛星通信やＧＰＳなどのようにほぼ正確な信号周波数が既知である場合には、図２のフローチャートにおけるｓ１、ｓ２の通常の１６点ＦＦＴ演算を省略し、ｓ３以下の２回のデシメーション＋ＦＦＴ演算のみで真の信号周波数を求めることができる。
【００２８】
なお、この実施形態では、サンプルデータ列を間引くことによって信号周波数を上方にシフトしたが、図６に示すようにサンプルデータ列に新たなデータを挿入することによって信号周波数を下方にシフトするようにしてもよい。この場合新たに挿入するデータは、その前後のデータと同じ値のデータ、または、前後のデータを補間した値のデータを用いれば不要なスペクトルを抑制することができる。このように新たなデータを挿入して信号周波数を下方にシフトした場合、ピーク周波数ｆｐ′がｆｐよりも上方にシフトした場合には反転スペクトル側の周波数を真の信号周波数と判定し、ピーク周波数ｆｐ′がｆｐよりも下方にシフトした場合には非反転スペクトル側の周波数を真の信号周波数と判定する。
【００２９】
この実施形態では、サンプリング周波数ｆｓ＝１３０ｋＨｚ、デシメーションレートＤ＝８、ＦＦＴ演算のサンプル点数ｎ＝ｍ＝１６、間引きの割合を３２個に１個の場合を例にあげて説明したが、この発明はこの例に限定することなく条件を満たすいかなるサンプリング周波数ｆｓ、デシメーションレートＤ、サンプル点数ｎ，ｍ間引きの割合を適用することも可能である。
【００３０】
なお、この実施形態では、ｎ＝１６、Ｄ＝８としたが、ｎ≧Ｄであればｓ５における候補周波数を非反転スペクトル側、反転スペクトル側の２つに絞り込むこことが可能である。
【００３１】
【発明の効果】
以上のようにこの発明によれば、短いサンプル点数のＦＦＴ演算を複数回（３回または２回）行うことで、長いサンプル点数のＦＦＴ演算を行った場合と同様の精度で信号周波数を求めることができ、演算処理の時間を短縮することができる。
【図面の簡単な説明】
【図１】この発明が適用される信号受信装置のブロック図である。
【図２】同信号受信装置のＤＳＰが行う信号周波数検出処理の手順を示すフローチャートである。
【図３】第１回目のＦＦＴ演算の結果とこれによって特定される信号周波数が存在する周波数帯域を示す図である。
【図４】第２回目および第３回目のＦＦＴ演算における信号周波数の移動とその写像の移動を説明する図である。
【図５】第３回目のＦＦＴ演算時に行うサンプルデータの間引きを説明する図である。
【図６】この発明の他の実施形態である第３回目のＦＦＴ演算時に行うサンプルデータの挿入を説明する図である。
【符号の説明】
７…ＡＤコンバータ、８…ＤＳＰ、９…ローカル発信回路
【図１】
0004667613.tif 000002
【図２】
0004667613.tif 000003
【図３】
0004667613.tif 000004
【図４】
0004667613.tif 000005
【図５】
0004667613.tif 000006
【図６】
0004667613.tif 000007