(57)【要約】本発明の周波数オフセット補償装置は、入力信号の離散時間フーリエ変換を行う第１のＦＦＴ手段と、離散時間フーリエ変換を行う第２のＦＦＴ手段と、第１のＦＦＴ手段の出力データの順序を周波数オフセット補償量に応じて変え、さらに並び替えして第２のＦＦＴ手段に入力するオフセット補償手段とを備える。これにより、光通信において、新たな複素乗算器やメモリを必要とすることなく周波数オフセット補償を可能とする。
2014097583.tif 000002
【特許請求の範囲】
【請求項１】
入力信号の離散時間フーリエ変換を行う第１のＦＦＴ手段と、離散時間フーリエ変換を行う第２のＦＦＴ手段と、
前記第１のＦＦＴ手段の出力データの順序を周波数オフセット補償量に応じて変え、前記周波数オフセット補償量に応じた順序とした前記出力データを並び替えして前記第２のＦＦＴ手段に入力する、オフセット補償手段と、
を備えた周波数オフセット補償装置。
【請求項２】
前記オフセット補償手段が、
前記第１のＦＦＴ手段の出力データを書き込み、前記第２のＦＦＴ手段に入力するための並び替えを行う、並び替え用メモリ手段と、
前記並び替え用メモリ手段へ前記出力データを書き込む位置を決定する、書き込み位置決定手段と、
前記周波数オフセット補償量に基づいて、前記並び替え用メモリ手段に書き込まれた前記出力データの読み出し順序を決定する、読み出し位置決定手段と、
前記周波数オフセット補償量に基づいて、前記読み出し順序で読み出された順序に対応して前記出力データを並び替える、第１の並び替え手段と、
前記第１の並び替え手段で並び替えられた前記出力データを並び替えして前記第２のＦＦＴ手段へ入力する、第２の並び替え手段と、
を備えた、請求項１記載の周波数オフセット補償装置。
【請求項３】
前記オフセット補償手段が、前記入力信号の順序をカウントするカウンタ手段を備え、
前記書き込み位置決定手段が、前記カウンタ手段のカウント値に基づいて、前記並び替え用メモリ手段へ前記出力データを書き込む位置を決定し、
前記読み出し位置決定手段が、前記周波数オフセット補償量に基づいて、前記並び替え用メモリ手段に書き込まれた前記出力データの読み出し順序を決定し、
前記第１の並び替え手段が、前記カウンタ手段のカウント値と前記周波数オフセット補償量に基づいて、前記読み出し順序で読み出された順序に対応して前記出力データを並び替え、
前記第２の並び替え手段が、前記カウンタ手段のカウント値に基づいて、前記第１の並び替え手段で並び替えられた前記出力データを並び替えして前記第２のＦＦＴ手段へ入力する、
請求項２記載の周波数オフセット補償装置。
【請求項４】
前記オフセット補償手段が、
前記第１のＦＦＴ手段の出力データを書き込み、前記第２のＦＦＴ手段に入力するための並び替えを行う、並び替え用メモリ手段と、
前記周波数オフセット補償量に基づいて、前記並び替え用メモリ手段へ前記出力データを書き込む位置を決定する、書き込み位置決定手段と、
前記並び替え用メモリ手段に書き込まれた前記出力データの読み出し順序を決定する、読み出し位置決定手段と、
前記周波数オフセット補償量に基づいて、前記読み出し順序で読み出された順序に対応して前記出力データを並び替える、第１の並び替え手段と、
前記第１の並び替え手段で並び替えられた前記出力データを、並び替えして前記第２のＦＦＴ手段へ入力する、第２の並び替え手段と、
を備えた、請求項１記載の周波数オフセット補償装置。
【請求項５】
前記オフセット補償手段が、前記入力信号の順序をカウントするカウンタ手段を備え、
前記書き込み位置決定手段が、前記周波数オフセット補償量に基づいて、前記並び替え用メモリ手段へ前記出力データを書き込む位置を決定し、
前記読み出し位置決定手段が、前記カウンタ手段のカウント値に基づいて、前記並び替え用メモリ手段に書き込まれた前記出力データの読み出し順序を決定し、
前記第１の並び替え手段が、前記カウンタ手段のカウント値と前記周波数オフセット補償量に基づいて、前記読み出し順序で読み出された順序に対応して前記出力データを並び替え、
前記第２の並び替え手段が、前記カウンタ手段のカウント値に基づいて、前記第１の並び替え手段で並び替えられた前記出力データを並び替えして前記第２のＦＦＴ手段へ入力する、
請求項４記載の周波数オフセット補償装置。
【請求項６】
前記第１のＦＦＴ手段と前記第２のＦＦＴ手段の少なくとも一方が、逆離散時間フーリエ変換である、請求項１から５の内の１項記載の周波数オフセット補償装置。
【請求項７】
前記第２のＦＦＴ手段の後に、前記第２のＦＦＴ手段の所定の出力値をゼロにする強制ゼロ手段を備えた、請求項１から６の内の１項記載の周波数オフセット補償装置。
【請求項８】
入力信号を第１の離散時間フーリエ変換し、
前記第１の離散時間フーリエ変換した出力データの順序を周波数オフセット補償量に応じて変え、
前記周波数オフセット補償量に応じた順序とした前記出力データを並び替え、
前記並び替えした前記出力データを第２の離散時間フーリエ変換する、
周波数オフセット補償方法。
【請求項９】
前記第１の離散時間フーリエ変換した前記出力データのメモリへの書き込み位置を決定し、
前記書き込み位置に前記出力データを書き込み、
前記書き込み位置に書き込まれた前記出力データの読み出し順序を決定し、
前記読み出し順序で読み出された前記出力データを第１の並び替えをし、
前記第１の並び替えをした前記出力データを第２の並び替えをして前記第２の離散時間フーリエ変換する、
請求項８に記載の周波数オフセット補償方法。
【請求項１０】
前記周波数オフセット補償量に基づいて、前記読み出し順序を決定する、または、前記書き込み位置を決定する、請求項９に記載の周波数オフセット補償方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光通信における光コヒーレント受信器の周波数オフセット補償技術に関する。
【背景技術】
【０００２】
近年、インターネットや携帯電話端末などの普及により、データ通信量が増加し、光通信ネットワークが扱う通信トラフィック容量は３年間で４倍という率で増加している。このような伝送容量増加の要求に応えるために、伝送効率の良い直交振幅変調（ＱＡＭ）などを採用することが可能なデジタルコヒーレント光通信技術が注目されている。【０００３】
デジタルコヒーレント光通信技術では、受信器において搬送波の周波数と位相とが完全に一致したローカル光（図２、ローカル発振レーザー２０１）が必要となる。しかしながら、実際には、異なる場所にある送信器のレーザーの周波数や位相と、受信器のレーザーの周波数や位相とを一致させることは非常に困難である。このため、受信側のベースバンドの電気信号には、ゼロでない中間周波数、すなわち周波数オフセットが発生する。現在、商用で使用されているレーザーの発振周波数誤差は最大で±２．５ＧＨｚのため、周波数オフセットは最大±５ＧＨｚに達する。【０００４】
光通信システムにおいて、この周波数オフセットを補償する技術としては、光ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）を使う方法やデジタル信号処理で補償する方法などが挙げられる。デジタル信号処理で補償する技術として、非特許文献１の方法や特許文献１（図２）の方法がある。図２は、デジタル信号処理による光デジタルコヒーレント受信器の構成例である。入力光は光周波数混合器２００にて、ローカル発信レーザー２０１からの光と混合し、ＰＤ（フォトダイオード）２０２、ＡＤＣ（アナログ・デジタル変換器）２０３へと進む。特許文献１の方法は、周波数オフセット推定器２０７が周波数オフセット補償量を計算し、周波数オフセット補償器２０４がその補償を行う。その補償は、オフセットとして加わる位相を打ち消すために、同じ位相量で逆の値を持つ位相を複素乗算することで行われる。【０００５】
現在、研究開発が進められている光通信の速度は１００Ｇｂｐｓ超である一方、デジタル信号処理部２１０は高々数ＧＨｚ程度でしか動作させることができない。この速度差を埋めるために、同じ回路を複数個並べて補償することが行われ、例えば、周波数オフセット補償器２０４では、逆位相を乗算するための複素乗算器が複数個並べられる。より具体的には、１００個以上の複素乗算器が用意され、その規模は数メガゲート級になる。【０００６】
一方、デジタル信号処理部２１０には、この周波数オフセット補償器２０４以外にも、波長分散補償や偏波分離等を行う等化器２０５、積分器２０６、搬送波の位相を推定する位相推定器２０８、データ復元２０９など、様々な回路が内蔵される。特に等化器２０５に含まれる波長分散補償は、時間ドメインのＦＩＲ（Ｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ）フィルタでは回路規模が大きすぎるため、周波数ドメインで行われる。そのため時間軸のデータを周波数へ変換するＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）や、その逆の処理を行うＩＦＦＴ（Ｉｎｖｅｒｓｅ  Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）もデジタル信号処理部２１０に含まれる。そして、ＦＦＴやＩＦＦＴに必要となるサイズ（ポイント数）は波長分散補償量によって変化し、そのサイズは４０９６ポイントや補償する量が大きい場合には１６３８４ポイント程度必要となる。【０００７】
効率的なＦＦＴ／ＩＦＦＴとしてはＣｏｏｌｅｙ−Ｔｕｋｅｙ（非特許文献２）によるバタフライ演算が有名であるが、ポイント数の大きいＣｏｏｌｅｙ−ＴｕｋｅｙによるＦＦＴ／ＩＦＦＴは回路が複雑になる。そのため、Ｐｒｉｍｅ  Ｆａｃｔｏｒ法（非特許文献３）により２つの小さなＦＦＴ／ＩＦＦＴに分解して処理を行う。図３は４０９６ポイントＦＦＴ／ＩＦＦＴをＰｒｉｍｅ  Ｆａｃｔｏｒ法を利用して２つの６４ポイントＦＦＴ３０２に分解した図である。【０００８】
１００Ｇｂｐｓ超のデジタルコヒーレント受信器では、１２８並列あれば処理できるので、図３のＦＦＴブロック３０１が物理的なハードウェアとして実装される。ただし、以降の説明では説明を簡単にするため、１２８並列（ＦＦＴブロック３０１）ではなく６４並列（ＦＦＴブロック３００）として説明を行う。また、６４ポイントＦＦＴは、Ｃｏｏｌｅｙ−Ｔｕｋｅｙの方法やその他の手法、もしくは同じくＰｒｉｍｅ  Ｆａｃｔｏｒ法で８×８に分解しても良い。【０００９】
次に、図２におけるデータの流れ、特にデータの並び順について図面を用いて説明する。図６は、図２におけるＡｎａｌｏｇ／Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ（以下、ＡＤＣ２０３）、周波数オフセット補償器２０４、等化器２０５を拡大して表示したものである。そして、等化器２０５内部には波長分散補償を周波数ドメインで行うためのＦＦＴ６０２、フィルタ演算（複素乗算器）６０３、ＩＦＦＴ６０４が含まれる。また、図６には図示していないが、偏波分離など多くの機能が実装される。【００１０】
まずはじめに、ＡＤＣ２０３のデータの並びについて説明を行う。一般的なＡＤＣ２０３から出力されるデータは図４のようになる。ここで時刻１はＡＤＣのサンプリング間隔を表している。例えば６４ＧＳａｍｐｌｅ／ｓｅｃのＡＤＣ２０３では、サンプリング間隔が１５．６２５ｐｓ（＝１ｓｅｃ／６４ＧＳａｍｐｌｅ）となるため、時刻１は１５．６２５ｐｓ、時刻２は３１．２５ｐｓ、時刻１２７は１９８４．３７５（＝１２７×１５．６２５）ｐｓのサンプリングされた波形データである。しかしながら、一般的なデジタル回路の動作周波数は高々数ＧＨｚであるため、１つのデータを１クロックサイクルで受け取ることはできない。したがって、ＡＤＣ２０３から出力されるデータは、図４のように１クロックサイクルに６４個並べて、デジタル信号処理部２１０に入力される。【００１１】
一方、ＦＦＴへ入力すべきデータは、図３から、１サイクル目に入力するデータはｘ［０］，ｘ［６４］，・・・，ｘ［６３×６４］、２サイクル目に入力するデータはｘ［１］，ｘ［６５］，・・・，ｘ［６３×６４＋１］となることが分かる。したがって、ＦＦＴへ入力するデータ順序は図５のようになり、ＩＦＦＴの場合も同様である。ただし、ここでｘはＦＦＴへの入力信号を表し、ｙはＦＦＴの出力信号を表す。図４と図５を比較すると、ＡＤＣからの出力とＦＦＴへの入力順序が異なることが分かる。したがって、データの並び替えが必要となり、図６のように並び替え用メモリ（１）６０１、並び替え用メモリ（２）６０５が必要となる。【００１２】
また、同様の並び替えが、ＦＦＴ内部のクロスされている箇所（図３の並び替え用メモリ３０３）で必要となる。【００１３】
以降、４０９６ポイントＦＦＴで６４並列の場合のＦＦＴ内部のデータ並び換えについて、図７および図８を利用して具体的に説明する。【００１４】
ＦＦＴ内部でのデータの並び替えを行うために、図７のようなメモリブロックを用意する。このメモリブロックは幅が１データ分、深さ６４ワードの１Ｒ１Ｗメモリ７０１が６４個横に並べられ（６４個の１Ｒ１Ｗメモリを並べたもの７０２）、それが２セット（並べ替え用メモリ３０３）から構成される。１Ｒ１Ｗメモリ７０１は、幅が１データ分、深さ６４ワードのメモリの一般的な１Ｒ１Ｗメモリ（１サイクルで１回のリード処理と１回のライト処理が可能なメモリ）である。【００１５】
このメモリブロックに対して、図８の上側図に示す位置に値を書き込む。図８の［Ａ，Ｂ］は図３の左側のＦＦＴ列の出力を示している。つまり１サイクル目に計算された６４個の値［０，０］，［０，１］，・・・，［０，６３］は、図８の上側図の太字で記載された対角線上の位置に書き込まれる。同様に２サイクル目の［１，０］，［１，１］，・・・，［１，６３］も順次、図８の上側図のメモリに書き込まれる。このような動作を６４回続けメモリを一杯にする。逆に読み出すときは、図８の上側図の点線で囲まれた位置を読み出す。これにより、１サイクル目には［＊，０］（＊は０〜６３の値）が、２サイクル目には［＊，１］が読み出され、図３右側のＦＦＴ列に適切にデータを与えることができる。このように６４個のメモリを使用し、データの書き込む位置を図８の上側図のように工夫することでＦＦＴの１フレーム分（４０９６個のデータ）のメモリ容量だけで、並び替えを実現することができる。【００１６】
ただしメモリを読み出している途中で上書きされるため、図７に示すように、メモリセット（６４個の１Ｒ１Ｗメモリを並べたもの７０２）を２つ用意する。そして、最初の書き込みは上側のメモリ群に書き込み、その次は下側のメモリ群に、その次は上側のメモリ群に、と順々に書き込む。一方、読み出し側はその逆の順序で読み出すことで、上書きされる問題を解決することができる。【００１７】
次に、周波数オフセット補償を周波数ドメインで行う場合を考える。周波数ドメインでオフセット補償する場合は、図９のようにオフセットする量の分だけ、左もしくは右シフトすることで実現される。したがって、信号ｙをＦＦＴの結果とすると、左にｐシフトする場合（ｐは整数）は、ｙ［（ｎ−ｐ）％４０９６］（％はｎ−ｐを４０９６で割ったときの余りを示す）、右にｐシフトする場合はｙ［（ｎ＋ｐ）％４０９６］を計算すれば良い。つまり、右１シフトする場合は、ＦＦＴした結果のｙ［４０９５］をｙ［０］、ｙ［０］をｙ［１］、ｙ［１］をｙ［２］などとして取り扱えばよい。しかしながら、図５から、ｙ［４０９５］は６４サイクル目で出力されるが、それをｙ［０］として扱い、ｙ［０］をｙ［１］として扱うためには、少なくとも６４サイクル以上遅延させる必要がある。つまり、１つ右シフトする場合だけでも少なくとも４０９６個のデータを保持するだけのメモリが必要となり、このようなメモリも数百キロゲート必要となる。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開２００９−１３５９３０
【非特許文献】
【００１９】
【非特許文献１】Ａ．Ｌｅｖｅｎ，Ｎ．Ｋａｎｅｄａ，Ｕ．Ｋｏｃ，Ｙ．Ｃｈｅｎ，“Ｆｒｅｑｕｅｎｃｙ  Ｅｓｔｉｍａｔｉｏｎ  ｉｎ  Ｉｎｔｒａｄｙｎｅ  Ｒｅｃｅｐｔｉｏｎ”Ｐｈｏｔｏｎｉｃ  ｔｅｃｈｎｏｌｏｇｙ  ｌｅｔｔｅｒｓ，Ｖｏｌ．１９，ｐｐ３６６−３６８，２００７．
【非特許文献２】Ｊ．Ｗ．Ｃｏｏｌｅｙ，Ｊ．Ｗ．Ｔｕｋｅｙ，“Ａｎ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  ｔｈｅ  Ｍａｃｈｉｎｅ  Ｃａｌｃｕｌａｔｉｏｎ  ｏｆ  Ｃｏｍｐｌｅｘ  Ｆｏｕｒｉｅｒ  Ｓｅｒｉｅｓ”Ｍａｔｈｅｍａｔｉｃｓ  ｏｆ  Ｃｏｍｐｕｔａｔｉｏｎ，Ｖｏｌ．１９．
【非特許文献３】Ｄ．Ｐ．Ｋｏｌｂａ，“Ａ  Ｐｒｉｍｅ  Ｆａｃｔｏｒ  ＦＦＴ  Ａｌｇｏｒｉｔｈｍ  Ｕｓｉｎｇ  Ｈｉｇｈ−Ｓｐｅｅｄ  Ｃｏｎｖｏｌｕｔｉｏｎ”ＩＥＥＥ  Ｔｒａｎｓ．ｏｎ  Ａｃｏｕｓｔｉｃｓ，Ｓｐｅｅｃｈ  ａｎｄ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ，Ｖｏｌ２９，Ｎｏ．４，１９８１．
【発明の開示】
【発明が解決しようとする課題】
【００２０】
上記のように、周波数オフセット補償を行うための問題点は、時間ドメインで補償する場合は複素乗算器が、周波数ドメインで補償する場合は遅延させるためのメモリが、様々な補償回路とは別に追加されることである。これによりデジタル信号処理部の回路規模が増加し、その結果、消費電力増加やチップの歩留まり低下などの問題が生じている。【００２１】
本発明は、上記の課題に鑑みてなされたものであり、その目的は、新たな複素乗算器や新たなメモリを必要とすることなく周波数オフセット補償を行う周波数オフセット補償装置および周波数オフセット補償方法を実現することである。【００２２】
なお、本発明は周波数オフセットを補償するための発明であり、補償量を求めるためのものではない。すなわち、周波数オフセット補償量が与えられた後に、如何にして周波数オフセット補償を行うかの発明である。
【課題を解決するための手段】
【００２３】
本発明の周波数オフセット補償装置は、入力信号の離散時間フーリエ変換を行う第１のＦＦＴ手段と、離散時間フーリエ変換を行う第２のＦＦＴ手段と、前記第１のＦＦＴ手段の出力データの順序を周波数オフセット補償量に応じて変え、前記周波数オフセット補償量に応じた順序とした前記出力データを並び替えして前記第２のＦＦＴ手段に入力する、オフセット補償手段と、を備えた周波数オフセット補償装置である。【００２４】
本発明の周波数オフセット補償方法は、入力信号の離散時間フーリエ変換を行う第１のＦＦＴ工程と、離散時間フーリエ変換を行う第２のＦＦＴ工程と、前記第１のＦＦＴ工程の出力データの順序を周波数オフセット補償量に応じて変え、前記周波数オフセット補償量に応じた順序とした前記出力データを並び替えして前記第２のＦＦＴ手段に入力する、オフセット補償工程と、を有する周波数オフセット補償方法である。
【発明の効果】
【００２５】
本発明により、新たな複素乗算器や新たなメモリを必要とすることなく周波数オフセット補償を行う周波数オフセット補償装置および周波数オフセット補償方法を実現することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１および第２の実施形態の構成を示すブロック図である。
【図２】デジタル信号処理による光デジタルコヒーレント受信器の構成例である。
【図３】Ｐｒｉｍｅ  Ｆａｃｔｏｒ法を用いた４０９６ポイントＦＦＴ／ＩＦＦＴを行う回路である。
【図４】ＡＤＣからの６４並列の出力データ例である。
【図５】ＦＦＴブロックへ入力するデータ列である。
【図６】ＡＤＣからの処理の流れを記載したブロック図である。
【図７】ＦＦＴ／ＩＦＦＴ内部にある並び替え用メモリへの書き込み位置を示した図である。
【図８】ＦＦＴ／ＩＦＦＴ内部にある実際の並び替え用メモリの動作を示した図である。
【図９】周波数オフセット補償の原理について説明した図である。
【図１０】各周波数オフセット補償量に対して、ＦＦＴの出力順序を記載した図である。
【図１１】図１０を、ＦＦＴの出力順序ではなく、第二ＦＦＴへの入力に置き換えた図である。
【図１２】左６４シフト、左６５シフトに対して、周波数オフセット補償をした場合のＦＦＴの出力順序を記載した図である。
【図１３】図１２を、ＦＦＴの出力順序ではなく、第二ＦＦＴへの入力に置き換えた図である。
【図１４】左１シフトの時、１番目（１クロックサイクル目）の並び替え用メモリの値を示した図である。
【図１５】左１シフトの時、２番目（２クロックサイクル目）の並び替え用メモリの値を示した図である。
【図１６】左１シフトの時、６３番目（６３クロックサイクル目）の並び替え用メモリの値を示した図である。
【図１７】左１シフトの時、６４番目（６４クロックサイクル目）の並び替え用メモリの値を示した図である。
【図１８】左１シフトの時、６５番目（６５クロックサイクル目）の並び替え用メモリの値を示した図である。
【図１９】本発明の第３の実施形態の構成を示すブロック図である。
【図２０】本発明の第３の実施形態の、各シフト量に対する並び替え用メモリの値を示した図である。
【図２１】本発明の第４の実施形態の構成を示すブロック図である。
【図２２】本発明の第４の実施形態の構成を示すブロック図である。
【図２３】本発明の第５の実施形態の構成を示すブロック図である。
【図２４】強制ゼロ手段の動作について説明するための図である。
【図２５】本発明の第６の実施形態の構成を示すブロック図である。
【図２６】本発明の第６の実施形態の動作について説明するための図である。
【発明を実施するための最良の形態】
【００２７】
以下、図を参照しながら、本発明の最良の実施形態を詳細に説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
（第１の実施形態）
本発明の第１の実施形態について図１を参照して説明する。本実施形態の周波数オフセット補償装置は、入力信号の離散時間フーリエ変換を行う第一ＦＦＴ手段１０１と、離散時間フーリエ変換を行う第二ＦＦＴ手段１０５とを備える。さらに、第一ＦＦＴ手段１０１の出力データの順序を周波数オフセット補償量１０９に応じて変え、前記周波数オフセット補償量１０９に応じた順序とした前記出力データを並び替えして第二ＦＦＴ手段１０５に入力する、オフセット補償手段１１０を備える。【００２８】
本実施形態により、新たな複素乗算器や新たなメモリを必要とすることなく周波数オフセット補償を行う周波数オフセット補償装置を実現することができる。
（第２の実施形態）
図１は、本発明の第２の実施形態の周波数オフセット補償装置の構成を示すブロック図である。本実施形態の周波数オフセット補償装置となるＦＦＴブロック１００は、入力信号の離散時間フーリエ変換を行う第一ＦＦＴ手段１０１と、離散時間フーリエ変換を行う第二ＦＦＴ手段１０５とを備える。さらに、第一ＦＦＴ手段１０１の出力データの順序を周波数オフセット補償量１０９に応じて変え、周波数オフセット補償量１０９に応じた順序とした出力データを並び替えして第二ＦＦＴ手段１０５に入力する、オフセット補償手段１１０とを備える。【００２９】
オフセット補償手段１１０は、入力データの順序をカウントするカウンタ１０８を備える。さらに、第一ＦＦＴ手段１０１の出力結果を第二ＦＦＴ手段１０５へ適切に入力するための並び替え用メモリ１０２を備える。さらに、カウンタ１０８の値に基づいて、並び替え用メモリ１０２の書き込み位置を決定する書き込み位置決定手段１０７と、周波数オフセット補償量１０９に基づいて、並び替え用メモリ１０２への読み出し順序を変える読み出し位置決定手段１０６とを備える。さらに、カウンタ１０８の値と周波数オフセット補償量１０９に基づいて、並び替え用メモリ１０２の出力を並び替える第一並替手段１０３を備える。さらに、カウンタ１０８の値に基づいて、第一並替手段１０３からの読み出し結果を並び替えし、第二ＦＦＴ手段１０５へ入力するためのデータを作る第二並替手段１０４を備える。【００３０】
すなわち、オフセット補償手段１１０は、並び替え用メモリ１０２と、カウンタ１０８と、書き込み位置決定手段１０７と、読み出し位置決定手段１０６と、第一並替手段１０３、第二並替手段１０４とを備える。そして、周波数オフセット補償装置は、第一ＦＦＴ手段１０１と、第二ＦＦＴ手段１０５と、第一ＦＦＴ手段１０１と第二ＦＦＴ手段１０５の間にある前記オフセット補償手段１１０とを備える。【００３１】
本実施形態の動作の説明の前に、どのようにして周波数オフセット補償を行うのか、その原理を詳細に説明する。背景技術で述べた通り、周波数ドメインで周波数オフセット補償を行う場合、周波数オフセット補償は、図９のように、オフセットする量の分だけ、信号（オフセット補償前）９０１を左もしくは右にシフトすることで実現される。したがって、信号ｙをＦＦＴの結果とすると、左にｐシフトする場合はｙ［（ｎ−ｐ）％４０９６］（％はｎ−ｐを４０９６で割ったときの余りを示す）、右にｐシフトする場合はｙ［（ｎ＋ｐ）％４０９６］を計算すれば良い。つまり、右に１シフトする場合は、ＦＦＴした結果のｙ［４０９５］をｙ［０］、ｙ［０］をｙ［１］、ｙ［１］をｙ［２］などとして取り扱えばよい。【００３２】
したがって、左１シフト、左２シフト、右１シフト、右２シフトの場合、図１０に示すように出力すればよい。以下、左１シフトの場合を例として説明する。本来は、１サイクル目にｙ［０］，ｙ［６４］・・・，ｙ［４０３２］、２サイクル目にｙ［１］，ｙ［６５］，・・・，ｙ［４０３３］を出力して、後段の処理ブロック（例えば図６のフィルタ演算６０３）に伝搬させる。これを１サイクル目にｙ［１］，ｙ［６５］，・・・，ｙ［４０３３］を出力し、２サイクル目にｙ［２］，ｙ［６６］，・・・，ｙ［４０３４］を出力し、６４サイクル目にｙ［６４］，・・・，ｙ［４０３２］，ｙ［０］を出力する。これにより、後段の処理ブロックは、ｙ［１］，ｙ［６５］，・・・，ｙ［４０３３］をｙ［０］，ｙ［６４］，・・・，ｙ［４０３２］として処理することになるので、左１シフトしたときと同等の動作とすることができる。【００３３】
本実施形態では、図３の右側のＦＦＴへ入力する順序を変更することで、これを実現する。図１０はＦＦＴの出力に着目した表であるが、それを図３の右側のＦＦＴへの入力へ変換した表を図１１に示す。本実施形態では、図３の右側のＦＦＴへ入力する順序を図１１に示すようにすることで、周波数オフセット補償を実現する。【００３４】
次に、各手段の動作について、詳細に説明を行う。【００３５】
第一ＦＦＴ手段１０１と第二ＦＦＴ手段１０５は、入力されたデータに対して個別にＦＦＴを行い、その結果を出力する手段である。ＦＦＴの実現方法は一般的なＣｏｏｌｅｙ−Ｔｕｋｅｙ（非特許文献２）の方法でも良いし、理論的に離散時間フーリエ変換を計算する方法でも良い。第一ＦＦＴ手段１０１と第二ＦＦＴ手段１０５は、図３に対応させた場合、第一ＦＦＴ手段１０１は左側の１つの６４ポイントＦＦＴ３０２を指し、第二ＦＦＴ手段は右側の１つの６４ポイントＦＦＴ３０２を指す。【００３６】
並び替え用メモリ１０２は、図３のＦＦＴブロック３００において左側にあるＦＦＴ群と右側にあるＦＦＴ群との間で適切なデータ授受を行うためのメモリ（並び替え用メモリ３０３）である。その動作の詳細は、図７および図８を利用して説明したとおりである。書き込み位置決定手段１０７の動作も、図７を利用して説明したとおり、第一ＦＦＴ手段１０１から出力されたデータの書き込み位置を、カウンタ１０８の値にしたがって図８に表示したように決定するものである。なお、図８では、上側の図は図３の左側のＦＦＴの出力に着目した表（例えば図１０に対応）、下側の図は図３の右側のＦＦＴへの入力へ変換した表（例えば図１１に対応）を示す。【００３７】
第二並替手段１０４は、並び替え用メモリ１０２から読み出される値を並び替えさせるものである。図８によると、例えば２サイクル目は［６３，１］，［０，１］，［１，１］，・・・，［６２，１］となる。これを［０，１］，［１，１］，・・・，［６２，１］，［６３，１］と左へ一つ並び替えて（以下、左１ローテートと記す）、第二ＦＦＴ手段１０５へ入力する。３サイクル目は［６２，２］，［６３，２］，［０，２］，［１，２］，・・・，［６１，２］となるので、それを［０，２］，［１，２］，・・・，［６２，１］，［６３，１］と左２ローテートさせる。６４サイクル目は左６３ローテート（＝右１ローテート）させる。【００３８】
本実施形態の新規な特徴は、読み出し位置決定手段１０６と第一並替手段１０３を追加したことである。以下、これら２つの手段の動作について詳細に説明する。【００３９】
読み出し位置決定手段１０６は、周波数オフセット補償量１０９に基づいて並び替え用メモリ１０２の読み出し順序を変更するものである。周波数オフセット補償を行わない場合は、図８に示すようにアドレスの上位から順番に６４サイクル読み出しを行う。一方、左に１シフトする場合は、図１０、図１１に示すように本来は１サイクル目にｙ［０］，ｙ［６４］，・・・，ｙ［４０３２］に対する入力データ［０，０］，［１，０］，・・・，［６３，０］を第二ＦＦＴ手段１０５に供給すべきである。が、それを［０，１］，［１，１］，・・・，［６３，１］に変更する。つまり、読み出すアドレスを０からではなく１から開始するように動作する。そして最後の６４サイクル目はアドレス０を読み出すように動作する。【００４０】
また、第一並替手段１０３は、１サイクル目に何もしなければ、図８から［６３，１］，［０，１］，［１，１］，・・・，［６２，１］が供給されてしまう。本来であれば図１１に示すとおり、１サイクル目には［０，１］，［１，１］，・・・，［６２，１］，［６３，１］を供給する必要があるので、左１ローテートを行う。以降２〜６３サイクルすべてにおいて、入力データされるデータを１サイクル目と同じように左１ローテートする。ただし６４サイクル目の場合、アドレス０から読み出され、読み出されたデータは［０，０］，［１，０］，［２，０］，・・・，［６３，０］である。一方、第二ＦＦＴ手段１０５に入力すべきデータは図１１から［１，０］，［２，０］，・・・，［６３，０］，［０，０］と左１ローテートした状態である。前述したとおり、第二並替手段１０４は６４サイクル目には左６３ローテート（＝右１ローテート）するので、第一並替手段１０３は左２ローテートする必要がある。【００４１】
また、周波数オフセット補償量が左２シフトの場合、読み出しはアドレス２，・・・，６３，０，１の順序で読み出す。そして第一並替手段１０３は、１から６２サイクルまでは左２ローテートを行い、６３，６４サイクルは左３ローテートを行う。【００４２】
次に左６４シフトの場合、ＦＦＴの出力信号順を図１２に示す。これを図１１と同じように図３の右側のＦＦＴへの入力へ変換した表を図１３に示す。左６４シフトの場合は、読み出し位置決定手段１０６は周波数オフセット補償しない場合と同じようにアドレス０から並び替え用メモリ１０２の読み出しを行うが、第一並替手段１０３は常に左１ローテートを行う。また、左６５シフトの場合は、読み出し位置決定手段１０６は１から６３サイクル目は左２ローテートし、６４サイクル目は左３ローテートを行う。【００４３】
逆に右シフトの場合の読み出し位置決定手段１０６と第一並替手段１０３の動作について説明する。【００４４】
右１シフトする場合は、図１１に示すとおり、１サイクル目はアドレス［６３，６３］，［０，６３］［１，６３］，［２，６３］，・・・，［６２，６３］と読み出す必要がある。したがって、読み出し位置決定手段１０６は、アドレス６３，０，１，・・・，６２の順で読み出しを行う。一方、第二並替手段１０４は１サイクル目は何もしないため、第一並替手段１０３は、右２ローテートを行うように動作する。２サイクル目は、並び替え用メモリ１０２からは［０，０］，［１，０］，・・・，［６３，０］が読み出され、第二ＦＦＴ手段１０５にもそのまま入力すべきだが、第二並替手段１０４が左１ローテートを行うので、第一並替手段１０３は、右１ローテートを行う。【００４５】
同じく右２シフトする場合は、読み出し位置決定手段１０６はアドレス６２，６３，０，１，・・・，６１の順で読み出し、第一並替手段１０３は１、２サイクル目は右３ローテート、３〜６４サイクルは右２ローテートを行う。【００４６】
また右６４シフトの場合、読み出し位置決定手段１０６はアドレス０，１，・・・，６２，６３の順で読み出し、第一並替手段１０３は、すべてのサイクルで右１ローテートを行う。右６５シフトの場合は、読み出し位置決定手段１０６は、アドレス６３，０，１，・・・，６２の順で読み出しを行い、１サイクル目は右３ローテート、２〜６４サイクル目は右２ローテートすればよい。【００４７】
本実施形態では、その効果を分かりやすく説明するため第一並替手段１０３と第二並替手段１０４とを分けて記載したが、カウンタの値と周波数オフセット量に基づいて、並び替え用メモリ１０２の出力を並び替えするように動作する一つの並替手段として一体化しても良い。【００４８】
次に、本実施形態の全体の動作について、並び替え用メモリ１０２を中心に、左１シフトの場合について説明を行う。【００４９】
まず１サイクル目、並び替え用メモリ１０２は図１４のように変化する。並び替え用メモリ１０２の書き込み側のメモリにはＦＦＴの結果が太字で記載された対角線上の位置に書き込まれると同時に、読み出し側のメモリのアドレス１が読み出される。その後、第一並替手段１０３で並び替えした後、第二ＦＦＴ手段１０５に供給される。そして第二ＦＦＴ手段１０５のＦＦＴ結果は、図３のようにｙ［０］，ｙ［６４］，・・・，ｙ［６３×６４］となる。前述したとおり、１サイクル目、第二並替手段１０４はなにも行わず、第一並替手段１０３は左１ローテートを行う。【００５０】
次に２サイクル目、並び替え用メモリ１０２は図１５のように変化する。並び替え用メモリ１０２の書き込み側のメモリにはＦＦＴの結果が太字で記載された位置に書き込まれると同時に、読み出し側のメモリのアドレス２が読み出される。前述したとおり、２サイクル目、第二並替手段１０４は左１ローテートし、第一並替手段１０３も同じく左１ローテートを行い、第二ＦＦＴ手段１０５に供給される。そして第二ＦＦＴ手段１０５の結果は、図３のようにｙ［１］，ｙ［６５］，・・・，ｙ［６３×６４＋１］となる。【００５１】
このような動作が、３サイクルから６３サイクルまで続く。図１６には６３サイクル目の動作を記載している。【００５２】
次に６４サイクル目、並び替え用メモリは図１７のように変化する。並び替え用メモリ１０２の書き込み側のメモリにはＦＦＴの結果が太字で記載された位置に書き込まれると同時に、読み出し側のメモリのアドレス０が読み出される。前述したとおり、第一並替手段１０３では、左２ローテートされ、第二並替手段では左６３ローテート（合わせて左１ローテート）され、第二ＦＦＴ手段１０５へ供給される。そして第二ＦＦＴの結果は、図３のようにｙ［６３］，ｙ［６４］，・・・，ｙ［６３×６４＋６３］となる。【００５３】
次に６５サイクル目、並び替え用メモリは図１８のように変化する。このときは書き込まれるメモリと読み出されるメモリの位置が逆転するものの、その他の動作は１サイクル目と同じである。【００５４】
また、本実施形態で説明した、メモリに書き込むアドレスおよび読み出すアドレスは一例であり、それに限定されるものではない。同様に右左のローテート数も、それに限定されるものではない。【００５５】
以上のように、本実施形態では、ＦＦＴブロック１００に備えられた並び替え用メモリ１０２の読み出し順序を周波数オフセット補償量１０９に応じて変化させる。さらに、周波数オフセット補償量１０９に応じて並び替え用メモリから読み出されたデータを適切に並び替える第一並替手段１０３を備える。これにより、周波数ドメインで周波数オフセット補償するための新たなメモリを備える必要がなく、周波数オフセット補償を行うことが可能となる。一方、本実施形態では、読み出し位置決定手段１０６や第一並替手段１０３が必要となるが、これらを備えることは新たなメモリを備えることに比べて圧倒的に軽微である。
（第３の実施形態）
本発明の第３の実施形態について図面を参照して説明する。第２の実施形態では、周波数オフセット補償を、補償量に応じてメモリから読み出す順序を変えることで必要なデータを並び替えして実現したが、本実施形態では、これを書き込む順序を変更することで実現する。【００５６】
図１９は、本実施形態の周波数オフセット補償装置の構成を示すブロック図である。本実施形態は、周波数オフセット補償装置となる離散時間フーリエ変換を行うＦＦＴブロック１００の内部に、小さいＦＦＴを行う第一ＦＦＴ手段１０１、第二ＦＦＴ手段１０５と、入力データの順序をカウントするカウンタ１０８とを備える。さらに、第一ＦＦＴ手段１０１と第二ＦＦＴ手段１０５の間にあり、第一ＦＦＴ手段１０１の出力結果を第二ＦＦＴ手段１０５へ適切に入力するための並び替え用メモリ１０２とを備える。【００５７】
さらに、前記カウンタ１０８の値に基づいて、前記並び替え用メモリ１０２への読み出し位置を決定する読み出し位置決定手段１９０１を備える。さらに、前記カウンタ１０８の値および周波数オフセット量に基づいて、前記並び替え用メモリ１０２への書き込む位置を決定する書き込み位置決定手段１９０２とを備える。さらに、前記カウンタ１０８および周波数オフセット補償量１０９に基づいて、並び替え用メモリ１０２の出力を並び替えする第一並替手段１９０３を備える。さらに、前記カウンタ１０８の値に基づいて、第一並替手段１９０３から出力されるデータを並び替えする第二並替手段１０４とを備える。【００５８】
すなわち、オフセット補償手段１１１は、並び替え用メモリ１０２と、カウンタ１０８と、書き込み位置決定手段１９０２と、読み出し位置決定手段１９０１と、第一並替手段１９０３、第二並替手段１０４とを備える。そして、周波数オフセット補償装置は、第一ＦＦＴ手段１０１と、第二ＦＦＴ手段１０５と、第一ＦＦＴ手段１０１と第二ＦＦＴ手段１０５の間にある前記オフセット補償手段１１１とを備える。【００５９】
第一ＦＦＴ手段１０１、第二ＦＦＴ手段１０５、カウンタ１０８、並び替え用メモリ１０２、第二並替手段１０４は第２の実施形態と同じ動作をする。周波数オフセット補償を行うために、本実施形態での新規な特徴は、周波数オフセット補償量１０９に基づいて、第一ＦＦＴ手段１０１の結果を並び替え用メモリ１０２に書き込む位置を決定する書き込み位置決定手段１９０２と第一並替手段１９０３である。【００６０】
以下、書き込み位置決定手段１９０２の動作について、詳細に説明を行う。左１シフト、左２シフト、右１シフト、右２シフトを例に取り、書き込み位置決定手段１９０２が第一ＦＦＴ手段１０１の結果を並び替え用メモリ１０２に書き込む位置を図２０に示す。書き込み位置は左Ｘシフトの場合は、第一ＦＦＴ手段の結果を右に（Ｘ％６４）個ローテーションし、右Ｘシフトの場合は、（Ｘ％６４）個左にローテーションしてメモリに書き込む。【００６１】
第一並替手段１９０３は、結果が図１１と同じになるように並び替えする。つまり、左１シフトの場合は、１〜６３サイクルの場合は何も並び替えせず、６４サイクルの場合のみ左１ローテートさせる。また、左２シフトの場合は、１〜６２サイクルの場合は何も並び替えせず、６３，６４サイクルの場合のみ左１ローテートさせる。また、右１シフトの場合は、１サイクルの場合のみ右１ローテートさせ、２〜６４サイクルの場合は何も並び替えしない。また、右２シフトの場合は、１、２サイクルの場合のみ右１ローテートさせ、３〜６４サイクルの場合は何も並び替えしない。【００６２】
このように構成することで、周波数オフセット補償を実現することができる。本実施形態は、第２の実施形態では周波数オフセット補償量に対応して読み出し位置を変えたことを、周波数オフセット補償量に対応して書き込み位置を変えるように変更しただけであるので、その効果は第２の実施形態と同様である。
（第４の実施形態）
本発明の第４の実施形態について図面を参照して説明する。本実施形態は、ＦＦＴ手段が３つある場合である。図２１および図２２は、本実施形態の構成を示すブロック図である。図２１は、読み出し位置決定手段１０６、第一並替手段１０３を第一ＦＦＴ手段１０１と第二ＦＦＴ手段１０５の間に入れる方法である。また、図２２は、読み出し位置決定手段１０６、第一並替手段１０３を第二ＦＦＴ手段１０５と第三ＦＦＴ手段２１０１の間に入れる方法である。【００６３】
図２１および図２２ともに得られる効果は、第２の実施形態や第３の実施形態と同様である。また、ＦＦＴブロック１００が、４つ以上のＦＦＴに分割された場合も、いずれかのＦＦＴの間に、読み出し位置決定手段と第一並替手段を備えることで、周波数オフセット補償を行うことができる。また、本実施形態では、第２の実施形態をＦＦＴブロックが３つ以上に分解された場合へ適用したが、同様に第３の実施形態を適用することも可能である。
（第５の実施形態）
本発明の第５の実施形態について図面を参照して説明する。図２３は、本実施形態の構成を示すブロック図である。本実施形態は、第２の実施形態に強制ゼロ手段２３０１を付加したものである。強制ゼロ手段２３０１以外の手段については、第２の実施形態と同じである。【００６４】
強制ゼロ手段２３０１は、第二ＦＦＴ手段１０５から出力されたデータのうち、いくつかの出力を強制的にゼロにし、その他の値についてはそのまま出力するものである。強制的にゼロにする場所および量は周波数オフセット補償量１０９に基づいて決定される。ＦＦＴのポイント数が４０９６の場合、例えば、左１シフトの場合は２０４８のみを０とし、左２シフトの場合は２０４７，２０４８のみを０とする。逆に右１シフトの場合は２０４９のみを０とし、右２シフトの場合は２０４９，２０５０のみをゼロとする。強制ゼロ手段がゼロにすべきデータは、周波数オフセット補償量１０９およびカウンタ１０８の値に基づいて計算する。【００６５】
次に、本実施形態の効果について説明する。離散時間フーリエ変換の場合、そのデジタル信号で表せる周波数の上限はサンプリング周波数の半分である。本実施形態で強制ゼロ手段２３０１が出力値をゼロにするのは、図２４に示すように周波数オフセット分のシフト操作によって、シフト前は表すことのできず、シフト後新たに表せるようになった周波数領域の部分（図２４の（１））である。この操作により、第２の実施形態では、図２４の（２）の箇所が（１）に見えていたが、理論的にはそこはすでにカット（ＡＤＣの前の帯域フィルタでカットされている）されるため、強制ゼロ手段２３０１がこの部分をゼロとすることで、より理想的な動作となる。【００６６】
また、本実施形態では片側だけ強制的にゼロにしているが、理想的な波形は対称性がある場合もあるため、両側ともゼロにする形態も可能である。つまり、図２４において（１）だけでなく（２）もゼロとする形態も可能である。
（第６の実施形態）
本発明の第６の実施形態について図面を参照して説明する。図２５は、本実施形態の構成を示すブロック図である。本実施形態は、周波数オフセット補償をＦＦＴ６０２ではなくＩＦＦＴ２５０２の内部で行う方法である。ＩＦＦＴ２５０１内部での動作は、第２の実施形態のＦＦＴ１０１の場合と同じである。【００６７】
ただし、本実施形態では、図２５に示すとおりフィルタ演算２５０１を変える必要がある。第２の実施形態のようにＦＦＴで周波数オフセット補償しフィルタ演算を行う場合は、図２６においては、点線の信号（周波数オフセット補償後）９００に対して、点線のフィルタ特性（オフセット無し）を掛け合わせれば良い。それに対して、ＩＦＦＴで周波数オフセットする場合は、オフセット補償のされていない実線の信号（周波数オフセット補償前）９０１がフィルタ演算２５０１に入力される。そのため、フィルタ特性も、周波数オフセット分逆にシフトさせた実線のフィルタ特性（オフセット有り）とする必要がある。すなわち、フィルタ演算２５０１では、周波数オフセット補償量１０９に基づいてフィルタ特性をシフトさせた実線のフィルタ特性（オフセット有り）と、ＦＦＴ６０２の結果とを掛け合わせる。これにより、ＩＦＦＴ２５０２での周波数オフセット補償の効果を、第２の実施形態と同じとすることができる。【００６８】
以上、本実施形態により、ＦＦＴおよびＩＦＦＴを構成する元々の構成要素を利用して、周波数オフセット補償を行うことが可能となる。これにより、新たな複素乗算器やメモリを必要とすることなく周波数オフセット補償を行うことができる。その結果、システム全体として回路面積を削減でき、さらに、消費電力増加やチップの歩留まり低下などの問題が解決する。【００６９】
本実施形態は、光デジタルコヒーレント通信といった用途に適用できる。また無線通信など周波数オフセットがあるシステムに適用可能である。【００７０】
本発明は上記実施形態に限定されることなく、請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲内に含まれるものであることはいうまでもない。また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。【００７１】
付記
（付記１）
入力信号の離散時間フーリエ変換を行う第１のＦＦＴ手段と、離散時間フーリエ変換を行う第２のＦＦＴ手段と、前記第１のＦＦＴ手段の出力データの順序を周波数オフセット補償量に応じて変え、前記周波数オフセット補償量に応じた順序とした前記出力データを並び替えして前記第２のＦＦＴ手段に入力する、オフセット補償手段と、を備えた周波数オフセット補償装置。
（付記２）
前記オフセット補償手段が、前記第１のＦＦＴ手段の出力データを書き込み、前記第２のＦＦＴ手段に入力するための並び替えを行う、並び替え用メモリ手段と、前記並び替え用メモリ手段へ前記出力データを書き込む位置を決定する、書き込み位置決定手段と、前記周波数オフセット補償量に基づいて、前記並び替え用メモリ手段に書き込まれた前記出力データの読み出し順序を決定する、読み出し位置決定手段と、前記周波数オフセット補償量に基づいて、前記読み出し順序で読み出された順序に対応して前記出力データを並び替える、第１の並び替え手段と、前記第１の並び替え手段で並び替えられた前記出力データを並び替えして前記第２のＦＦＴ手段へ入力する、第２の並び替え手段と、を備えた、付記１記載の周波数オフセット補償装置。
（付記３）
前記オフセット補償手段が、前記入力信号の順序をカウントするカウンタ手段を備え、前記書き込み位置決定手段が、前記カウンタ手段のカウント値に基づいて、前記並び替え用メモリ手段へ前記出力データを書き込む位置を決定し、前記読み出し位置決定手段が、前記周波数オフセット補償量に基づいて、前記並び替え用メモリ手段に書き込まれた前記出力データの読み出し順序を決定し、前記第１の並び替え手段が、前記カウンタ手段のカウント値と前記周波数オフセット補償量に基づいて、前記読み出し順序で読み出された順序に対応して前記出力データを並び替え、前記第２の並び替え手段が、前記カウンタ手段のカウント値に基づいて、前記第１の並び替え手段で並び替えられた前記出力データを並び替えして前記第２のＦＦＴ手段へ入力する、付記２記載の周波数オフセット補償装置。
（付記４）
前記オフセット補償手段が、前記第１のＦＦＴ手段の出力データを書き込み、前記第２のＦＦＴ手段に入力するための並び替えを行う、並び替え用メモリ手段と、前記周波数オフセット補償量に基づいて、前記並び替え用メモリ手段へ前記出力データを書き込む位置を決定する、書き込み位置決定手段と、前記並び替え用メモリ手段に書き込まれた前記出力データの読み出し順序を決定する、読み出し位置決定手段と、前記周波数オフセット補償量に基づいて、前記読み出し順序で読み出された順序に対応して前記出力データを並び替える、第１の並び替え手段と、前記第１の並び替え手段で並び替えられた前記出力データを、並び替えして前記第２のＦＦＴ手段へ入力する、第２の並び替え手段と、を備えた、付記１記載の周波数オフセット補償装置。
（付記５）
前記オフセット補償手段が、前記入力信号の順序をカウントするカウンタ手段を備え、前記書き込み位置決定手段が、前記周波数オフセット補償量に基づいて、前記並び替え用メモリ手段へ前記出力データを書き込む位置を決定し、前記読み出し位置決定手段が、前記カウンタ手段のカウント値に基づいて、前記並び替え用メモリ手段に書き込まれた前記出力データの読み出し順序を決定し、前記第１の並び替え手段が、前記カウンタ手段のカウント値と前記周波数オフセット補償量に基づいて、前記読み出し順序で読み出された順序に対応して前記出力データを並び替え、前記第２の並び替え手段が、前記カウンタ手段のカウント値に基づいて、前記第１の並び替え手段で並び替えられた前記出力データを並び替えして前記第２のＦＦＴ手段へ入力する、付記４記載の周波数オフセット補償装置。
（付記６）
前記第１のＦＦＴ手段と前記第２のＦＦＴ手段の少なくとも一方が、逆離散時間フーリエ変換である、付記１から５の内の１項記載の周波数オフセット補償装置。
（付記７）
前記第２のＦＦＴ手段の後に、前記第２のＦＦＴ手段の所定の出力値をゼロにする強制ゼロ手段を備えた、付記１から６の内の１項記載の周波数オフセット補償装置。
（付記８）
前記強制ゼロ手段が、前記周波数オフセット補償量に基づいて前記出力値をゼロにする、付記７に記載の周波数オフセット補償装置。
（付記９）
入力信号を第１の離散時間フーリエ変換し、前記第１の離散時間フーリエ変換した出力データの順序を周波数オフセット補償量に応じて変え、前記周波数オフセット補償量に応じた順序とした前記出力データを並び替え、前記並び替えした前記出力データを第２の離散時間フーリエ変換する、周波数オフセット補償方法。
（付記１０）
前記第１の離散時間フーリエ変換した前記出力データのメモリへの書き込み位置を決定し、前記書き込み位置に前記出力データを書き込み、前記書き込み位置に書き込まれた前記出力データの読み出し順序を決定し、前記読み出し順序で読み出された前記出力データを第１の並び替えをし、前記第１の並び替えをした前記出力データを第２の並び替えをして前記第２の離散時間フーリエ変換する、付記９に記載の周波数オフセット補償方法。
（付記１１）
前記周波数オフセット補償量に基づいて、前記読み出し順序を決定する、または、前記書き込み位置を決定する、付記１０に記載の周波数オフセット補償方法。
（付記１２）
前記第１の並び替えは、前記周波数オフセット補償量に基づいて前記出力データを並び替える、付記１０または１１に記載の周波数オフセット補償方法。
（付記１３）
前記第１の離散時間フーリエ変換と前記第２の離散時間フーリエ変換の少なくとも一方が、逆フーリエ変換を行う、付記９から１２の内の１項記載の周波数オフセット補償方法。
（付記１４）
前記第２の離散時間フーリエ変換の後に、前記第２の離散時間フーリエ変換の所定の出力値をゼロにする、付記９から１３の内の１項記載の周波数オフセット補償方法。
（付記１５）
前記ゼロにするが、前記周波数オフセット補償量に基づいて前記出力値をゼロにする、付記１４に記載の周波数オフセット補償方法。【００７２】
この出願は、２０１２年１２月２０日に出願された日本出願特願２０１２−２７７８１８を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【００７３】
本発明は、光通信における光コヒーレント受信器の周波数オフセット補償技術に関し、光通信システムへの利用が可能である。
【符号の説明】
【００７４】
１００    ＦＦＴブロック
１０１    第一ＦＦＴ手段
１０２    並び替え用メモリ
１０３    第一並替手段
１０４    第二並替手段
１０５    第二ＦＦＴ手段
１０６    読み出し位置決定手段
１０７    書き込み位置決定手段
１０８    カウンタ
１０９    周波数オフセット補償量
１１０、１１１    オフセット補償手段
２００    光周波数混合器
２０１    ローカル発振レーザー
２０２    ＰＤ（フォトダイオード）
２０３    ＡＤＣ
２０４    周波数オフセット補償器
２０５    等化器
２０６    積分器
２０７    周波数オフセット推定器
２０８    位相推定器
２０９    データ復元
２１０    デジタル信号処理部
３００    ＦＦＴブロック
３０１    ＦＦＴブロック
３０２    ６４ポイントＦＦＴ
３０３    並び替え用メモリ
６０１    並び替え用メモリ（１）
６０２    ＦＦＴ
６０３    フィルタ演算（複素乗算器）
６０４    ＩＦＦＴ
６０５    並び替え用メモリ（２）
７０１    １Ｒ１Ｗメモリ
７０２    ６４個の１Ｒ１Ｗメモリを並べたもの
９００    信号（周波数オフセット補償後）
９０１    信号（周波数オフセット補償前）
１９０１    読み出し位置決定手段
１９０２    書き込み位置決定手段
１９０３    第一並替手段
２１０１    第三ＦＦＴ手段
２３０１    強制ゼロ手段
２５０１    フィルタ演算（複素乗算器）
２５０２    ＩＦＦＴ
【図１】
2014097583.tif 000003
【図２】
2014097583.tif 000004
【図３】
2014097583.tif 000005
【図４】
2014097583.tif 000006
【図５】
2014097583.tif 000007
【図６】
2014097583.tif 000008
【図７】
2014097583.tif 000009
【図８】
2014097583.tif 000010
【図９】
2014097583.tif 000011
【図１０】
2014097583.tif 000012
【図１１】
2014097583.tif 000013
【図１２】
2014097583.tif 000014
【図１３】
2014097583.tif 000015
【図１４】
2014097583.tif 000016
【図１５】
2014097583.tif 000017
【図１６】
2014097583.tif 000018
【図１７】
2014097583.tif 000019
【図１８】
2014097583.tif 000020
【図１９】
2014097583.tif 000021
【図２０】
2014097583.tif 000022
【図２１】
2014097583.tif 000023
【図２２】
2014097583.tif 000024
【図２３】
2014097583.tif 000025
【図２４】
2014097583.tif 000026
【図２５】
2014097583.tif 000027
【図２６】
2014097583.tif 000028
【国際調査報告】
2014097583.tif 000029
2014097583.tif 000030