(57)【要約】【課題】OFDM方式の信号では、周波数オフセット（CFO）と直流成分オフセット（DCO）が発生する。これを是正するためにパイロット信号を通信信号に混入させ補償する方法などが提案されているが、パイロット信号期間が長いと、その間の信号補償にはパイロット信号なしの補償方法が必要となる。しかし、パイロット信号なしでCFOとDCOを共に補償する方法は従来無かった。【解決手段】OFDM信号の直交性を利用しCDOとDCOが発生したシステムの行列を特異値分解することで、受信信号からゼロを復調できるCFO候補値とCFOチェックデータの数値列を予め求めておき、補償部（１７）で受信信号にその数値を次々に乗算する。最も小さな値を復調したときのCFO代表値を推定値として出力し補償する。【選択図】  図２
2008135888.tif 000002
【特許請求の範囲】
【請求項１】
入力された信号を増幅するアンプと、
前記LNA部の出力を周波数変換する周波数変換部と、
前記周波数変換部の出力をA/D変換するA/D変換器と、
前記A/D変換器の出力の周波数オフセットおよびDCオフセットを補償する補償部と、
前記補償部の出力を復調する復調部とを有し、
前記補償部は、
前記復調前データのシンボル期間のデータの平均値をDCOとし、
予めCFO候補値vとCFO候補値に対応するCFOチェックデータG(v)の組み合わせを複数個有し、
前記復調前データに、前記CFOチェックデータG(v)を乗算し、その乗算結果が最も小さくなるときのCFO候補値vをCFOとして求め、
前記DCOと前記CFOを出力する補償量推定部と、
前記復調前データから前記DCOを差し引く加算器と、
前記加算器の出力に対して前記CFOを乗算し、補償された復調前データを出力する乗算器とを有するOFDM信号の受信機。
【請求項２】
入力された信号を増幅するアンプと、
前記LNA部の出力を周波数変換する周波数変換部と、
前記周波数変換部の出力をA/D変換するA/D変換器と、
前記A/D変換器の出力の周波数オフセットおよびDCオフセットを補償する補償部と、
前記補償部の出力を復調する復調部とを有し、
前記補償部は、
予めCFO候補値とCFO候補値に対応するCFOチェックデータの組み合わせを複数個有し、
前記復調前データに、前記CFOチェックデータを乗算し、その乗算結果が最も小さくなるときのCFO候補値をCFOとして求め、
前記求めたCFOに基いてDCOを求め出力する補償量推定部と、
前記復調前データから前記DCOを差し引く加算器と、
前記加算器の出力に対して前記CFOを乗算し、補償された復調前データを出力する乗算器とを有するOFDM信号の受信機。
【請求項３】
前記CFO候補値vは、サブキャリア幅より小さく、かつ前記サブキャリア幅で規格化した周波数であり、
前記CFOチェックデータG(v)は、
N個のデータからなるんシンボルをOFDM信号へ変換する行列FNを（数１０５）とし、
【数１０５】
2008135888.tif 000065
WQ+iHは前記OFDM信号へ変換する行列FNの中でnullを送信するサブキャリアを表す行列の共役転置行列であり、
EN(v)は全サブキャリアをvだけ周波数軸上をシフトさせる対角行列であり、
ΩNは対角要素が1-1/Nであり、その他の要素は-1/NであるN×Nの行列とした時、
G(v)= wQ+iHEN(v)ΩN
である請求項１のOFDM受信機。
【請求項４】
前記CFO候補値vは、サブキャリア幅より小さく、かつ前記サブキャリア幅で規格化した周波数であり、
前記CFOチェックデータG(v)は、
OFDM信号へ変換する行列FNを（数１０５）とし、
【数１０５】
2008135888.tif 000066
ΩNは対角要素が1-1/Nであり、その他の要素は-1/NであるN×Nの行列であり、
ΓN(v)は全サブキャリアをvだけ周波数軸上をシフトさせる対角行列であり、
WQは前記OFDM信号中nullを送信していないサブキャリアを全て抜き出して並べた行列であり、
Θ(v)= ΩNΓN(v) WQである行列Θ(v)を特異値分解した結果が（数１４３）で表されるとき、
【数１４３】
2008135888.tif 000067
UZ(v)の中の任意の縦行列UZ,i(v)を取り出し、
G(v)= UZ,iH(v)ΩN
である請求項１のOFDM受信機。
【請求項５】
前記CFO候補値vは、サブキャリア幅より小さく、かつ前記サブキャリア幅で規格化した周波数であり、
前記CFOチェックデータG(v)は、
OFDM信号へ変換する行列FNを（数１０５）とし、
【数１０５】
2008135888.tif 000068
ΩNは対角要素が1-1/Nであり、その他の要素は-1/NであるN×Nの行列であり、ΓN(v)は全サブキャリアをｖだけ周波数軸上をシフトさせる対角行列であり、
WQは前記OFDM信号中nullを送信していないサブキャリアを全て抜き出して並べた行列であり、
Θ(v)= ΩNΓN(v) WQである行列Θ(v)を特異値分解した結果が（数１４３）で表されるとき、
【数１４３】
2008135888.tif 000069
UZ(v)の中の任意の縦行列UZ,i(v)を取り出し、UZ,i(v)の共役転置行列をUZ,iHとして、
G(v)= UZ,iH(v)ΩN
であり、
前記もとめたCFOに基いて求めたDCOは、
前記もとめたCFOをδとし、
WQ+iHは前記OFDM信号中nullを送信するサブキャリアを表す行列の共役転置行列であり、
EN(δ)は全サブキャリアをδだけ周波数軸上をシフトさせる対角行列であり、
行列aは全ての要素が１であるN×1のベクトルであり、
ｙi,kを（数１５１）とし、
【数１５１】
2008135888.tif 000070
ｘi,kを（数１５２）としたときに、
【数１５２】
2008135888.tif 000071
DCO（βe）が（数１５３）で推定される
【数１５３】
2008135888.tif 000072
請求項２のOFDM受信機。
【請求項６】
前記周波数変換部はダイレクトコンバージョン方式である請求項１または２のいずれかに記載のOFDM信号の受信機。
【請求項７】
前記OFDM信号はｎｕｌｌデータを送信しているサブキャリアが事前に判明している請求項１または２のいずれかに記載のOFDM信号の受信機
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、OFDM方式の受信装置に係わるものであり、より詳しくは、キャリア周波数オフセット（Carrier  Frequency  Offset）とDCオフセット（DC Offset）をパイロット信号がない状態でも補償できる技術に関する発明である。
【背景技術】
【０００２】
ＯＦＤＭ信号は、制限された帯域内で高い転送レートを有し、送信信号のマルチパスにも強いという特徴を持っているため、近年種種の通信フォーマットとして実施されている。ＯＦＤＭ方式は、帯域内に多くのサブキャリアによる信号を含むため、正確な周波数の管理が必要となる。従って、ダウンコンバート時に生じるキャリア周波数と受信機の局部発振器との周波数のズレや、局部発振器による高周波が再度ダウンコンバートされる場合に生じる直流分のオフセットは復調時の障害となる。
【０００３】
図２０には、周波数オフセット（以後「ＣＦＯ」（Carrier  Frequency  Offset）という。）の発生原因を示す。信号の送信側には、ベースバンドの信号（Ｐ１００）と、乗算器（Ｐ１２）と周波数ｆ０をキャリア周波数とするキャリア発振器（Ｐ１０）とアンプ（Ｐ１４）と送信アンテナ（Ｐ１６）がある。信号（Ｐ１００）は、乗算器（Ｐ１２）とキャリア発振器（Ｐ１０）からなる周波数変換器により、高周波へ変調され、アンプ（Ｐ１４）で増幅された後、アンテナ（Ｐ１６）から送信される。
【０００４】
一方受信側は、受信アンテナ（Ｐ１８）と低雑音アンプ（Ｐ２４）と乗算器（Ｐ２２）および周波数ｆ１を局部発振周波数とする局部発振器（Ｐ２０）から構成される。送信された信号は、受信アンテナ（Ｐ１８）で受信され、低雑音アンプ（Ｐ２４）で増幅された後、局部発振器（Ｐ２０）の発生する高周波によりダウンコンバートされ、復調信号（Ｐ１１０）となる。
【０００５】
ここで、送信側のキャリア周波数ｆ０と受信側の局部発振周波数ｆ１が同じであれば、ＣＦＯは生じない。しかし、ｆ０とｆ１がわずかでも異なると、周波数オフセット（ＣＦＯ）が発生する。例えば、図では、送信された信号（Ｐ１００）は周波数がｆであるが、復号信号（Ｐ１１０）では周波数はｆ+Δfとなっている。このΔfがＣＦＯである。
【０００６】
図２１を用いて、直流オフセット(以後「ＤＣＯ」（Direct 
Current  Offset）という)の発生原因を説明する。受信機（P30）は、受信アンテナ（P31）と、低雑音アンプ（Ｐ３２）と、乗算器（Ｐ３３）と、局部発振器（Ｐ３４）と、ローパスフィルター（Ｐ３５）と、Ａ／Ｄ変換器（Ｐ３６）と、復調器（Ｐ３８）とを含む。
【０００７】
ここで、局部発振器（Ｐ３４）の発生する高周波は、低雑音アンプ（Ｐ３２）を回って乗算器（Ｐ３３）に入力される場合がある（図では符号Ｐ５０）。また、なんらかの影響により振幅の大きな干渉波が受信信号となり、乗算器（Ｐ３３）に洩れる場合がある（図ではＰ４０）。
【０００８】
これらの場合は、周波数変換のための局部発振器と同じ周波数の信号を乗算器（Ｐ３３）に入力しているのと同じであるので、直流成分として再生される。これがDCOの発生原因である。このようなCFOやDCOが同時に発生してしまった信号は、CFOとDCOを共に補償しなければ元の信号を復元できない。
【０００９】
このようなCFOやDCOの補償に関する方法は、多く提案されている。CFOの補償ではパイロット信号を用いて補償する方法（特許文献１および２参照）がある。
【００１０】
また、DCOの補償では、受信した信号のプリアンブル信号を時間積分して推定する方法（特許文献３参照）や、プリアンブル信号を用いてCFOを補正した後、DCOを補正する方法（特許文献４参照）といった方法がある。また、パイロット信号を用いずにＣＦＯを補償する方法も提案されている（非特許文献１）。
【００１１】
【特許文献１】特表２００４−５３１１６８号公報
【特許文献２】特表２００３−５０３９４４号公報
【特許文献３】特開２００３−３２２１６号公報
【特許文献４】特開２００４−３０４５０７号公報
【非特許文献１】H.Liu andU.Tureli,”A high-efficiency carrier estimator for OFDM communications,” IEEECommun. Lett., vol.2, pp.104-106, Apr. 1998.
【発明の開示】
【発明が解決しようとする課題】
【００１２】
CFOとDCOを補償するには、いずれかを先に補償した後、他方を補償するという手続きをとらねばならない。しかし、CFOとDCOが同時に発生している受信信号はすでに各サブキャリア間の直交性が失われた信号であるので、CFOとDCOを正確に推定することは難しい。
【００１３】
特にパイロット信号がない場合において、CFOとDCOを共に推定し補償する提案は従来されていない。このような状況は、送受信システムにおいて、パイロット信号が送られてない場合はもとより、パケットの中にシンボルが多く含まれる場合に、パケットの途中でCFOとDCOを補償する場合においても発生する。従って、従来パイロット信号がない状況でCFOとDCOを推定し、補償する方法がなかったという課題があった。本発明はかかる課題を解決するために創作されたものである。
【課題を解決するための手段】
【００１４】
本発明は、受信したCFOおよびDCOをパイロット信号を用いずに推定し、キャンセルすることで受信信号を補償する装置および方法を提供する。
【００１５】
すなわち、本発明は、入力された信号を増幅するアンプと、
前記LNA部の出力を周波数変換する周波数変換部と、
前記周波数変換部の出力をA/D変換するA/D変換器と、
前記A/D変換器の出力の周波数オフセットおよびDCオフセットを補償する補償部と、
前記補償部の出力を復調する復調部とを有し、
前記補償部は、
前記復調前データのシンボル期間のデータの平均値をDCOとし、
予めCFO候補値ｖとCFO候補値に対応するCFOチェックデータG(v)の組み合わせを複数個有し、
前記復調前データに、前記CFOチェックデータG(v)を乗算し、その乗算結果が最も小さくなるときのCFO候補値ｖをCFOとして求め、
前記DCOと前記CFOを出力する補償量推定部と、
前記復調前データから前記DCOを差し引く加算器と、
前記加算器の出力に対して前記CFOを乗算し、補償された復調前データを出力する乗算器とを有するOFDM信号の受信機である。
【００１６】
また、入力された信号を増幅するアンプと、
前記LNA部の出力を周波数変換する周波数変換部と、
前記周波数変換部の出力をA/D変換するA/D変換器と、
前記A/D変換器の出力の周波数オフセットおよびDCオフセットを補償する補償部と、
前記補償部の出力を復調する復調部とを有し、
前記補償部は、
予めCFO候補値とCFO候補値に対応するCFOチェックデータの組み合わせを複数個有し、
前記復調前データに、前記CFOチェックデータを乗算し、その乗算結果が最も小さくなるときのCFO候補値をCFOとして求め、
前記求めたCFOに基いてDCOを求め出力する補償量推定部と、
前記復調前データから前記DCOを差し引く加算器と、
前記加算器の出力に対して前記CFOを乗算し、補償された復調前データを出力する乗算器とを有するOFDM信号の受信機である。
【発明の効果】
【００１７】
本発明は、受信した信号に予め用意しておいた行列で表される数値を順次乗算し、その結果得られた行列の要素の総和を評価することで、最も確からしいCFOを推定し補償することができる。そしてその結果に基きDCOを推定し補償することができる。従って、パイロット信号が定義されていないOFDM方式の信号であっても、CFOとDCOを補償することができる。
【発明を実施するための最良の形態】
【００１８】
図１に本発明の受信機（１０）の構成を示す。アンテナ（１１）で受信した信号は、低雑音アンプ（１２）で増幅され、ミキサー（１３）と局部発振器（１４）からなる周波数変換部でキャリア帯域から、直接ベースバンド帯域へ周波数変換（ダイレクト・コンバージョン方式）を行う。ダウンコンバートされた信号はフィルター（１５）によって、不要な高周波成分を除去された後、AD変換器（１６）でデジタル信号に変換され受信信号（Drec）となる。
【００１９】
受信信号（Drec）は、補償部（１７）が受信信号自体から推定したCFOとDCOを補償した補償済データ（Cdd）に加工され、復調部（１８）で復調される。本発明では、受信する信号はOFDM方式の信号であるので、復調部（１８）では、FFT処理でサブキャリアが分離され、サブキャリア毎に復調され、パラレル・シリアル変換処理をへて信号が復調される。本発明は特に補償部（１７）で行うCFOとDCOの補償に関するものである。
【００２０】
図２に補償部（１７）の内部構造を示す。受信信号（Drec）は、前処理部（２１）に入力され、サイクリックプリフェックスの部分が取り除かれる。サイクリックプリフェックスとは、OFDM方式の信号が、シンボル期間の初めの部分に、シンボル期間のデータの一部を重複して記載しておく信号である。これはブロック間干渉の除去を行うために送信側が送信信号に付加するものである。
【００２１】
ここで、「取り除く」とは、単純に削除するだけでなく、これらを用いてシンボル信号を再生する処理を含む処理を意味する。従って、前処理部（２１）は補償前データ（Bcd）であるシンボル信号を出力する。
【００２２】
補償前データ（Bcd）は、推定部（２２）に入力される。この推定部（２２）にて、CFOとDCOの値が推定され、CFO補償データ（Dcc）とDCO補償データ（Dcd）が出力される。
【００２３】
補償前データ（Bcd）は、加算器（２３）でDCO補償データ（Dcd）が加算され、DCオフセットが補償される。次に乗算器（２４）で、CFO補償データが乗算され、キャリアオフセット（CFO）が補償された補償済データ（Cdd）となる。なお、ここで補償するとは、受信信号から本願発明によって推定したCFOとDCOに基く補償であるので、推定の範囲で誤差を含み、誤差なく補償されるという意味ではない。
【００２４】
図３に推定部（２２）の内部構成を示す。推定部（２２）は、演算器（３０）と、予め計算しておいたデータ群を記憶しておくROM（３１）と、計算結果を保持しておくRAM（３２）と、推定したCFOとDCOを補償する補償データに変換する補償データ変換器（３３）を有している。
【００２５】
演算部（３０）は、入力された補償前データ（Bcd）を保持し、行列データであるG(v)に補償前データ（Bcd）を次々に乗算する。ここで乗算するとは行列同士の積を求めることである。その結果をRAM（３２）に記録する。そして、RAM（３２）に記録された結果が最小となった時に、DCO補償データ（Dcd）とCFO補償データ（Dcc）を計算し出力する。
【００２６】
図４（ａ）には、ROM(31)に記憶するデータ内容をより具体的に示す。このデータはCFO候補値（４０）とCFOチェックデータ（４４）が対となって記憶されている。CFO候補値（４０）は、サブキャリア間隔で正規化した周波数で−１．０から１．０までの数字となる。すなわち、CFOは、サブキャリアの間隔以上がずれることは想定しない。ただし、サブキャリアのズレがサブキャリア間隔の整数倍の場合は、本願での補償はできないが、整数倍でなければ補償は可能である。なお、図４では、vはp個あることを表している。
【００２７】
CFO候補値（４０）はサブキャリアの区間を必要な分解精度が確保できるように分割する。例えば、０．０１ずつにすれば−１．０から１．０までの間を２００分割することになる。これに対して図４（ｂ）にCFOチェックデータ（４４）を示す。これはm番目のCFO候補値vmに対するCFOチェックデータを表す。CFOチェックデータ（４４）は、１つのCFO候補値（４０）に対して最小1×Nから、最大N-Q×Nの行列である。Nは、１シンボルを分割した数であり、また全サブキャリア数でもある。CFOチェックデータ（４４）は行列G(v)で表す。
【００２８】
このCFOチェックデータ（４４）は、対象とするOFDMシステムにおける信号帯域、サブキャリア数と、CFO候補値（４０）に基いて予め計算しておく。CFOチェックデータ（４４）の行列の列数が増えれば、計算精度は高くなるが計算量も多くなる。従ってCFOチェックデータ（４４）の大きさはシステム設計に適宜決めることとなる。
【００２９】
図３に戻って、演算器（３０）は、補正前データ（Bcd）を保持し、行列G(v)を順次乗算していく。より具体的には、CFOチェックデータ（４４）と補正前データ（Bcd）の行列同士の積を計算する。すなわちこれはベクトル量となる。得られたベクトルのノルムを結果のスカラー量とする。ノルムは具体的には、上記の行列同士の積によって得られたベクトルの各成分の２乗加算の平方根である。
【００３０】
この計算の目的は下記のように計算結果が最小となる時のCFO候補値を得ることであるので、単に得られたベクトルの各成分の２乗加算した値であってもよい。図３では、CFOチェックデータG(v)（４４）と補正前データ（Bcd）を「＊」印で連結することで行列同士の積を表し、二重縦線で囲むことで、ノルムを表した。以下同じ表現をする。ノルムを取ることで、行列G(v)*Bcdはスカラー量となる。また、「Min」は最小値を取ることを表す。
【００３１】
このスカラー量の中で最も小さいスカラー量を得ることができるCFOチェックデータ（４４）と対になっているCFO候補値（４０）を、推定するCFOの量とする。また、このCFOに基いてDCOを求めることができる。そして補償データ変換器（３３）でCFOをキャンセルするCFO補償データ（Dcc）とDCOをキャンセルするDCO補償データ（Dcd）を求め、出力する。以後CFO補償データとDCO補償データをまとめて補償データと呼ぶ。
【００３２】
この後は図２で説明したように加算器（２３）と乗算器（２４）でCFOとDCOを補償する。なお、本願では、補償前データ（Bcd）のシンボル内の平均値をDCOと推定し、補償する場合もある。また、補償データ変換器（３３）は、推定されたCFOやDCOの符号を逆転するだけなので、演算部（３０）が補償データ変換器（３３）の処理を行ってもよい。
【００３３】
このように本発明では、補正前データ（Bcd）に予め計算し求めておいた数値データであるCFOチェックデータ（４４）を順次乗算してゆき、計算結果が最小となる時のCFOチェックデータ（４４）に対応するCFO候補値（４０）をCFOと推定する。またDCOもこのCFOに基いて計算で求める。このようなCFOとDCOの推定値を算出する行列G(v)とDCOの算出の方法については、数学的な説明が必要であるので、後に詳細な説明を行う。
【００３４】
図５は、図３の演算器（３０）が行う処理フローを示したものである。この処理フローは、OFDM方式の信号のシンボル期間ごとに行うことができる。もちろん、あるシンボル期間で求めた補償データを後から受信する複数のシンボル信号に作用させても構わない。
【００３５】
この処理フローがスタート（S1000）すると、準備処理（S1002）を行う。ここでは、vとRminとDccの値を初期化している。vは、CFO候補値（４０）である。vは初期値であるvstratに設定する。Rminは、計算結果の最小を求めるための変数である。従って、最初に非常に大きな数Mを与えておく。例えば１以上の実数値であればよい。Dccはここで求めるCFO補償データである。
【００３６】
補償前データ（Bcd）が入力されると（S1004）、最初のCFOチェックデータであるG(v)と補償前データ（Bcd）の行列の積のノルムをRavとして計算する（S1008）。ここで説明の都合上ステップを１つスキップした。これは絶対値が最も小さくなる値をCFO補償データとするので、絶対値で計算する。もちろん、２乗を計算しても構わない。
【００３７】
なお、本発明ではいくつかの補償方法を提供するが、それらの違いによってステップ（S1005）、ステップ（S1008）とステップ（S1016）は処理内容が変わる。詳細は図６で説明するが、ここではそれを明確にするためにそれぞれのステップは点線の枠で描いた。
【００３８】
ここで計算したRavとRminを比較し（S1010）、Ravの方が小さければ、Ravを新たなRminとする（S1012）。また、このときのvをDccとして記録する。Ravの方が大きければこの工程をスキップする（S1010のN分岐）。ｖが、用意されたｖのうち、最後のv（＝vend）であるかどうかを調べ（S1014）最後でなければ、ｖをインクリメントし（S1006）、またS1008へ戻る（S1012のN分岐）。
【００３９】
最後のvであるvendまで調べ終わったら、その時のDccに記録されたvがCFOをキャンセルすることのできるCFO補償データとなる。次にこのDccに基いて所定の計算を行う（S1016）。この所定の計算によって、CFOを補償した時のDCOの値が求められる。先にも説明したようにステップ（S1005）を実施した場合はこのステップは実施しない。このときの値の逆符号の値がDCO補償データとなる。所定の計算の具体的な内容についても後述する（数５９）、（数６０）で説明を行う。
【００４０】
図６には、本発明で提供する補償方法によって、図５の処理で変わる部分をあらわに書き出した。本発明ではME−TDA法、NSE法、ANSE法の３つの補償方法を提供するが、それぞれの場合で、図５と変わる部分が図６には示されている。変わるのはS1005とS1008とS1016の３箇所である。それ以外の部分は点線矢印で省略した。
【００４１】
ステップ（S1005）は、補償前データ(Bcd)の各データの平均値をDCO補償データ（Dcd）とし、補償前データの各値からDcdを減算する処理である。補償前データ(Bcd)の各データの平均値であるDCO補償データ（Dcd）は、（数３２）で詳細を説明する。ME-TDA法では、S1005を行い、S1008では行列G1(v)というCFOチェックデータを用い、S1016は実行しない。すなわち、ME-TDA法は、補償前データ(Bcd)の各データの平均値をDCO補償データ（Dcd）とし、CFOはG1(v)というCFOチェックデータに基いて推定する。なお、S1016で「処理なし」と記載してあるのは、実行しないと同義である。
【００４２】
NSE法では、S1005を行い、S1008では行列G2(v)というCFOチェックデータを用い、S1016は実行しない。すなわち、補償前データ(Bcd)の各データの平均値をDCO補償データ（Dcd）とし、CFOはG2(v)というCFOチェックデータに基いて推定する。
【００４３】
また、ANSE法ではS1005は実行せず、S1008では行列G2(v)というCFOチェックデータを用い、S1016を実行する。すなわち、CFOはG2(v)というCFOチェックデータに基いて推定し、DCO補償データ（Dcd）はステップ（S1016）によって求める。ここでｘおよびｙはある列ベクトルで、DCO補償データ（Dcd）はｘおよびｙから最小2乗法によって求められる。（S1016）は（数５１）乃至（数５３）で詳細を説明する。
【００４４】
詳細な説明
OFDM方式の伝送方法では、伝送したい情報を直交する多数のサブキャリアに分けて送信する。これは、数学的には、線形代数を使って表すことができる。ここで、サブキャリアがN個あるOFDMの通信システムを考える。Sk,mは、QAM若しくはPSKなどで構成されるOFDMシステムにおける、m番目のサブキャリアにおけるk番目のシンボルを表すとする。すると送信される信号は（数１）のように表される。
【００４５】
【数１】
2008135888.tif 000003
nは周波数が２π/Nのサブキャリアの１周期をN等分したもので、時間に相当する。
このような信号が通信された結果（数２）のような形で受信されたとする。
【００４６】
【数２】
2008135888.tif 000004
Hmはm番目のサブキャリアのチャンネル周波数応答で、空間を伝送された結果、歪が生じたり、時間的に遅れるなどした効果を表す。εは、正規化CFOを表し、Δfをサブキャリア間隔fで正規化したものである。サブキャリア間隔とは、サブキャリアの中心周波数と、隣接するサブキャリアの中心周波数との間の周波数間隔をいう。右辺第2項は、中心値がゼロで分散σ２の白色雑音である。
【００４７】
これを行列表現すると以下のように表すことができる。以下行列を数式中では太字で、文中では「行列A」等と表す。
【数３】
2008135888.tif 000005
ここで、右辺各項および各変数は以下のようである。
【数４】
2008135888.tif 000006
【００４８】
Ncpは、サイクリックプレフィックスの期間である。従ってφkはCFOの存在下でのサイクリックプレフィックスによる位相ずれ分に相当する。サイクリックプレックスはガードインタバルの期間に送信され、マルチパスによる遅延受信の影響を緩和させるために設けられたものである。すなわち、マルチパスによる遅延が生じても、サイクリックプレックスがあるために、各サブキャリア間の直交性は保持される。以後の説明では、φkは省略する。
【００４９】
【数５】
2008135888.tif 000007
（数５）は行列FNを表す。行列FNは、N×NのIDFT行列である。それぞれの列は、サブキャリアに相当する。この行列FNを左からかけるという操作は、OFDM信号へ変調することを意味する。
【００５０】
（数５）の行列FNの１列目は全て１／√Nになっており、これはDC成分を表す。OFDM方式では、DC成分は、信号として送れないので、このキャリアに対応するデータは必ずゼロである。また、各列は右に行くほど指数部が大きくなるが、２π(N-1)／Nがπを超えると指数部の符号がマイナスになると考える。すなわち、（数５）のIDFT行列の右側の方の列は負の周波数部分を示す。
【００５１】
なお、行列は縦方向の並びを列と呼び、横方向の並びを行と呼ぶ。また行列のサイズを表すときには行数×列数で表す。すなわち、M×Nの行列とは、M行N列の行列である。ただし、横１列若しくは縦１行に並んだ行列は、ベクトルである。従って、１×Nの行列は、N個の要素が横に並んだ横ベクトルであり、N×１の行列はN個の要素が縦に並んだ縦ベクトルである。なお、本明細書中では、それぞれを横長行列、縦長行列と呼ぶ場合もある。
【００５２】
この行列は次のようにも書ける。
【数６】
2008135888.tif 000008
それぞれの行列fk（k＝０からN−１）は（数５）の縦行列（列の要素）を表す。
【００５３】
特に行列f0は（数７）のようになる。ここで行列aは要素がすべて１の列ベクトルである。
【数７】
2008135888.tif 000009
【００５４】
ところで、OFDMシステムは、全てのサブキャリアが使用されるのではなく、nullの信号が送信されてくるサブキャリアもある。実質的な信号部分がQ個あると考えると以下のように書ける。
【数８】
2008135888.tif 000010
これはN個のサブキャリアの中からnullを送信されてこないサブキャリアだけを順に並べたものであり、各行列wはN×１の縦長行列である。
【００５５】
残りのnull信号が送られてくるサブキャリアをあらわに記載すると以下のようになる。
【数９】
2008135888.tif 000011
これはnull信号を送信してくるサブキャリアを並べたものである。（数８）と（数９）をこのように定めたので、（数６）で示した行列FNと行列Wでは、サブキャリアの並び方が異なる。
【００５６】
ここで、行列wQ+1はDC部分を表す。すなわち、（数６）で示したIDFT行列のf0である。従ってwQ+1は、すべて１／√Nの縦長行列である。またwQ+1以外は、wQ+iと示し、これらはnullデータを伝送するサブキャリアである。
【００５７】
例えば、サブキャリアの数を８個あるOFDMの伝送システムを考える。すると、（数６）は具体的に（数１０）のようになる。
【数１０】
2008135888.tif 000012
【００５８】
ここで、nullを送信するサブキャリアは、行列f0、f3、f4、f5であるとすると、行列WQとW⊥は（数１１）、（数１２）のように表される。
【数１１】
2008135888.tif 000013
【数１２】
2008135888.tif 000014
【００５９】
【数１３】
2008135888.tif 000015
（数１３）で示す行列ΓN（ε）は、キャリア周波数オフセット（CFO）であるεの行列を表す。キャリア周波数オフセット（CFO）は全てのサブキャリアについて同じだけ発生するものとする。「diag」は対角行列を表す。すなわち、行列ΓN（ε）は、N×N行列の対角要素にだけ値があり、その他の要素は全てゼロである。
【００６０】
【数１４】
2008135888.tif 000016
（数１４）で示す行列dN(k)は、送信された信号Sk,mが、チャンネル周波数応答を受けた状態を示している。Hk（k＝０からN−１）は、それぞれのサブキャリアの周波数応答を表す係数である。右辺の中括弧の右肩にある「T」は、転置行列であることを示す（以後同じ）。
【００６１】
【数１５】
2008135888.tif 000017
（数１５）で示す行列z(k)は、その他のノイズ成分であり、ガウス分布に従うものとする。ノイズ成分も本願の説明には不要であるので、以後の説明では省略する。ただし、後述するシミュレーションでの評価では使用する。
【００６２】
（数３）で示された受信信号である行列r(k)は、結局１×Nの縦行列となり、以下のように表される。
【数１６】
2008135888.tif 000018
【００６３】
行列r(k)は、受信機で受信したk番目のOFDMシンボルである。（数１６）は、行列r(k)が基本波である２π/Nの１周期分のデータ（全部でN個のデータ）を持つことを示している。
【００６４】
以上の準備により、ノイズ、位相、CFOなどが全く存在していない理想的な受信信号は以下のように表される。
【数１７】
2008135888.tif 000019
また、CFOが生じている受信信号は以下のように表される。
【数１８】
2008135888.tif 000020
【００６５】
行列W⊥はnullのデータなので省略し、行列WQだけで表すことができる。
さらに、CFOとDCOが共に生じている受信信号は以下のように表される。
【数１９】
2008135888.tif 000021
（数１９）で、βはDCO成分である。行列aは、（数７）で示したが、全て１の縦行列である。
【００６６】
以上を図を用いて説明する。簡単のためにキャリアを８つとして説明する。図７はOFDM信号の作成を簡単に説明する図である。送りたい信号列S（５０）はデジタル信号である。１つの四角が１つのデータを表している。この信号列S（５０）を複数データ毎のブロックに分ける。図７では８個ずつのブロックにわけた。次にブロック毎にそれぞれのデータに対してIDFT処理を行う。なお、本明細書中で言うIDFT処理は、IFFT処理と置き換えても構わない。IFFT処理はIDFT処理を高速に計算するための処理であり、同じ結果を得ることができるからである。
【００６７】
ここで、k番目のデータブロックをSk（５１）とする。Skは８つデータからなるブロックである。IDFT処理部（５２）は８つのサブサブキャリア発振器を有している。図６では、基本波から周波数が２倍、３倍、４倍・・・、８倍の８つのサブキャリア発振器（５２aから５２h）を有していることを表している。
【００６８】
このIDFT処理部（５２）の処理が、（数５）の行列FNである。Sk（５１）のデータはそれぞれのサブキャリアで変調され、次の加算器（５４）で加算される。加算された結果は信号（５６）であり、これは（数１）の送信信号であるs（kN+n）となる。送信信号（５６）は横軸が時間で縦軸は信号強度を表す。
【００６９】
図８は、送信信号（５６）を表す図である。横軸を周波数として表した。縦軸は信号強度を表す。ここで縦軸は任意単位である。図８中、実線で示したサブキャリアは伝送情報があるサブキャリアで、点線で示したサブキャリアはnullが送られているサブキャリアを表す。
【００７０】
左から４番目のサブキャリア（７０）が周波数ゼロであり、DC成分を表す。実際に送信される場合は搬送波周波数で周波数変換され、サブキャリア（７０）は、キャリア周波数になる。隣接するサブキャリアは周波数間隔であるf（７２）ずつずれている。各サブキャリアは直交しているため、高調波成分の折り返し点がそれぞれ重なっている（例えば符号７４の点）。図８は（数１）を周波数軸で表したものになる。なお、実際はこれらの信号の加算された信号であるが、各サブキャリアを別々に表した。
【００７１】
図９は、伝送システム全体を示している。送信局（６０）は送信信号（５６）を搬送波で周波数変換した後、出力する。受信局（６２）はその信号を受信し、ベースバンドへ周波数変換するが、伝送路の影響や、受信機自身の局部発振器から回りこみで、DCオフセットや、周波数オフセットという誤差を含んだ受信信号（５８）として復調する。
【００７２】
この受信信号（５８）は（数２）のr(kN+n)である。受信信号（５８）は、チャンネル周波数応答がどのサブキャリアについても同じだけ受けたと考えると、周波数の絶対値はズレてしまっているかもしれないが、周波数軸で見た信号は図８と同じ形状の信号となる。従って、CFOもDCOもない、理想的な受信信号は、図８の送信信号と同様の周波数特性を有している。この理想的な受信信号は、（数１７）に対応する。
【００７３】
図１０は、理想的な受信信号にCFOだけが生じた場合を示している。周波数ゼロの点（７０）からΔf（７５）だけ周波数がずれている。このΔfをサブキャリア間隔fで割った値がεである。そして、理想的な受信信号（数１７）がεだけずれる操作は（数１３）の行列を（数１７）に左から作用させることに該当する。
【００７４】
ここで、CFOは全てのサブキャリアに関して同じだけ発生すると考えている。CFOは、送信側の局部発振器と受信側の局部発振器のわずかな誤差によるものであるから、周波数変換の際に全てのサブキャリアについて同じだけ誤差が発生するからである。最終的にCFOだけ発生している受信信号は（数１８）で表される。
【００７５】
図１１は、さらにDCOも発生した状態を示している。横軸は周波数であり、縦軸は強度を示している。縦軸は任意である。周波数ゼロ（７０）の部分にある太い実線で示した信号（７８）が、DCOである。DCOを除いた部分のサブキャリアはCFOが発生し、周波数ゼロにあったサブキャリア（７６）は周波数ゼロ（７０）からずれている。このズレ分（７５）がΔｆであるのは図１０で示した通りである。
【００７６】
実際の信号は、これらの信号の足し合わせとなる。すなわち、もともと直交していたサブキャリア同士の関係にCFOとDCOが発生して加算される。発生したDCOは直交関係を保持していたサブキャリア同士とは、ずれてしまっている。従ってCFOの発生だけでもサブキャリアの直交性は失われているが、DCOの発生によってさらに、直交関係を保持していたサブキャリア同士で成分がゼロとなるような点（７４）とは異なる点にゼロとなる点（８２）が発生する。従って、これらの加算となる受信信号（５８）は直交性を失った信号となる。この信号は（数１９）である。
【００７７】
次に、若干の行列式に関する説明を行う。（数５）で示されるIDFT処理を表す行列（数５）の各列は、サブキャリアを表す。これらのサブキャリアはそれぞれ直交しているので、異なるサブキャリアの内積はゼロとなる。例えばP番目とR番目のサブキャリア同士の内積では、PとRが異なる場合は必ずゼロになる。
【数２０】
2008135888.tif 000022
【００７８】
ここで、左辺第１項の行列fPの右肩にあるHは、行列fPの共役転置行列を示す。共役転置行列とは、行列の要素が複素数の場合に、各要素を共役にしたうえで、転置行列にするということである。P＝Rのときは（数２１）の関係となる。
【数２１】
2008135888.tif 000023
【００７９】
この関係を用いると、以下のことが可能である。（数１７）で示される理想的な受信信号である行列r(k)は、複数のサブキャリアからなる。例えば、図７に示されるような信号である。これらのサブキャリアは互いに直交しているため、（数１７）の理想的な受信信号に、いずれかのサブキャリアの信号の共役転置行列を左から乗算すると、そのサブキャリア成分だけが取り出せる。言い換えると、そのサブキャリアの成分だけを復調することができる。これは、実際のチューナの復調の動作を数学的に表したことに他ならない。
【００８０】
例えば、（数５）で示したIDFT処理を表す行列には、null信号を送信したサブキャリアがあった。これらのサブキャリアは（数９）で示される。そのうちの１つのサブキャリアを行列wQ+iとする。これを（数１７）の理想的な受信信号に作用させると（数２２）のようになる。
【数２２】
2008135888.tif 000024
【００８１】
右辺の行列WQにもdQにも、行列wQ+iの成分はないので、ゼロになるともいえるし、仮に行列WQの代わりに行列FNであったとしても、送信された信号がゼロであるので、やはり（数２２）のようになる。
すなわち、予めnullが送信されるサブキャリアを知っていれば、理想的な受信信号と、そのサブキャリアの内積を取ることで受信信号から必ずゼロを導出することができる。このような関係を利用して、以下にCFOとDCOを推定する方法を説明する。
【００８２】
CFOだけがあると仮定した場合の補償（ME法）
次に理想的な受信波に対してCFOだけが存在する場合のCFOを考える。これはアンテナの技術分野において、電波の到来方向を求めるためにアンテナの角度を変えながらコスト関数を求め、コスト関数が最も小さい若しくは大きい角度を求めるいわゆるMUSIC（Multiple Signal Classification）法に似ている推定方法である（H.Liu and U.Tureli,”A
high-efficiency carrier estimator for OFDM communications,” IEEE Commun. Lett.,
vol.2, pp.104-106, Apr. 1998.）。
【００８３】
従って、本推定方法をMUSIC−Like推定法（ME法）とよぶ。理想的な受信信号にCFOが重畳した信号は（数１８）に示したようになる。図での説明は図１０であった。（数１８）を再掲する。
【数１８】
2008135888.tif 000025
ここでεはΔfで規格化したCFOである。
【００８４】
（数１８）は、εの分だけ信号全体を周波数シフトした受信信号行列r(k)を示す。CFOがあるため、（数２２）のようにnullが送られるサブキャリアを復調してもゼロにならない。
【数２３】
2008135888.tif 000026
これは、各サブキャリアがεだけずれているため、サブキャリアの周波数を乗算してもHkSk,Q+iが正しく復調されず、nullすなわち、ゼロにならないためである。
【００８５】
このようなCFOに対して以下の操作を考える。これは全てのサブキャリアをvだけ周波数シフトする操作で、ちょうどキャリア周波数オフセットが周波数εだけ周波数シフトする操作の逆の操作に対応する。
【数２４】
2008135888.tif 000027
【００８６】
この（数２４）をCFOだけがあると仮定した（数１８）に作用させ、null信号を送ったサブキャリアの成分を調べると、ε＝vになった時に以下のようになる。
【数２５】
2008135888.tif 000028
【００８７】
行列ΓNと行列ＥNは同じ対角行列の形をしており、指数部の符号が異なる。行列ΓNと行列ＥNの各要素をあらわに示すと（数２６）となる。
【数２６】
2008135888.tif 000029
【００８８】
この（数２６）より明らかなように、ε＝vの時は行列ＥNと行列ΓNの乗算部分にある（ε−ｖ）がゼロになるため、CFOが打ち消され、オフセットのない理想状態の（数１７）と同じ結果になる。数学的には行列ＥNと行列ΓNの内積は、対角成分がすべて１で、その他の要素がゼロの行列すなわち単位行列になることを意味する。
【００８９】
（数２５）の左辺で行列wQ+iと行列EN(v)は、予め異なるv毎に計算しておくことが可能である。行列wQ+iとはnullが伝送されるサブキャリアであるし、行列EN(v)は一定の間隔で予め計算して用意しておくことができる。従って、受信信号r(k)に対し、行列wQ+iとv毎に求めた行列EN（v）の内積を次々に乗算してゆき、その結果がゼロになった時、若しくは最もゼロに近くなったときのCFOをvと推定することにすれば、パイロット信号なしでCFOを推定することが可能になる。これがME法である。(数２５)はこの場合コスト関数として用いる。
【００９０】
より具体的にME法の推定方法を示す。伝送システムは、（数１０）、（数１１）、（数１２）に従うサブキャリアが８つのシステムであるとする。行列EN(v)はこの場合、行列E8(v)となる。nullを送信するサブキャリアは、行列w5、行列w6、行列w7、行列w8である。ここで、nullを送信するサブキャリアである行列w6を選んで、行列E8(v)との内積を求める。なお、nullを送信するサブキャリアであれば、他の行列であってもよい。（数２７）に具体的に示す。
【数２７】
2008135888.tif 000030
【００９１】
一方、受信信号である行列r(k)は以下のような形をしている。
【数２８】
2008135888.tif 000031
【００９２】
(数２８)の３行目では、全ての要素にεが含まれている。すなわち、すべてのサブキャリアのシンボルに渡ってεだけ周波数がシフトしている。ここで、ある範囲のvに対して（数２７）を下記のように計算しておく。
【数２９】
2008135888.tif 000032
【００９３】
なお、０．５や０．４９等は、サブキャリア周波数で規格化したものであり、上記で示した分割幅（０．０１）はシステム設計時に適宜決めるものとする。周波数オフセットの補償を考慮する場合は、サブキャリアの帯域の半分までの周波数オフセットを考慮しておけば足りる。従って、上記のように行列EN(v)のvは０．５から−０．５までを必要な精度で分割すればよい。これが分割幅に対応する。
【００９４】
このように用意した数値を受信した信号に次々にかけてゆく。ここで「かける」というのは内積を計算するという意味である。
【数３０】
2008135888.tif 000033
そしてこれらの計算結果の中で最小の値を与えるvをCFOであると推定する。この計算は、以下の操作を行っていることになる。
【００９５】
図１２は、図１０のサブキャリアのうち、右端と真ん中のサブキャリアだけを抜き出して示している。ＣＦＯはΔf（７５）として示される。この場合（数３０）の行列wQ+iは図１０の符号（７７）のサブキャリアで、このサブキャリアはnullを送信しているのはわかっているものとする。
【００９６】
このサブキャリアの中心周波数をfnull（８４）とする。すると実際のサブキャリア（７７）の周波数は、fnull＋Δf（８６）である。従って、受信信号行列r(k)にこのサブキャリアの周波数fnull（８４）を乗算して信号成分を復号しようとしても、CFOの分だけずれているために、null信号を取り出せない。
【００９７】
しかし、サブキャリアの中心周波数を少しずつずらしながら、受信信号に乗算を行うと、fnull＋Δfの周波数で、取り出した信号がゼロになる点、若しくは最もゼロに近い点を得ることができる。（数３０）の操作は、そのようなΔfを探す操作に他ならない。この場合の分解能は、εの分解能に対応し、例えば上記の場合、サブキャリア間隔（Δf）×０．０１に相当する周波数となる。
【００９８】
このようにして受信信号にCFOだけが存在する場合は、上記のようにしてCFOを推定することができ、推定したCFO分を補償することで、オフセットのない受信信号を得ることができる。しかし、実際には受信信号にCFOだけが存在することはなく、DCOも同時に存在するため、次のDCOを考慮した補償を行う必要がある。
【００９９】
DCOをキャンセルしたCFO推定法(ME−TDA法)
次に、ＤＣＯを近似的にキャンセルした上で、CFOを補償する方法について説明する。オフセット量がβであるDCOがあった場合の受信信号は、（数１９)のように表すことができる。（数１９）を再掲載する。
【数１９】
2008135888.tif 000034
【０１００】
さて、受信信号である行列r(k)に左からCFOを補償する操作を表す行列EN(v)と、nullのキャリアである行列wQ+iをかけると以下のようになる。これはサブキャリアを少しずつずらしながら、null信号を送ってくるサブキャリアを復号する操作に当たる。
【数３１】
2008135888.tif 000035
【０１０１】
右辺第２項はDCオフセット成分を表す。行列EN(v)はサブキャリアの帯域の半分より小さい周波数シフトを表し、行列wQ+iの共役転置行列は、サブキャリアの帯域より大きな周波数シフトである。さらに行列aは全て１の縦行列であるので、これらの内積である右辺第２項は一般的にゼロにはならない。従って、この成分があるために、DCOを考慮しなかった場合のCFOの推定（ME法）のように、vを変化させて（数３１）の左辺を計算してもゼロにならない。そこでDC成分を消去することを考える。もちろん、DC成分がどれくらいあるのかはわからない。
【０１０２】
ここでOFDM信号の特徴を考える。OFDMでは、１シンボル期間の間のデータの総和は常にゼロになる。実際に受信した信号のデータの総和がゼロにならないのは、CFOやDCOなどの影響によるものである。DCOがどの程度実際の信号のデータの総和に影響を及ぼしているかはわからないが、それでも、１シンボル期間の信号の平均は、DCO成分とそれほど大きな違いはないと考えられる。
【０１０３】
そこで、（数１９）の信号において、１シンボル期間のデータの平均を求め、これを差し引くことで直流成分を消去する操作を考える。１シンボル期間のデータの平均は以下の式(数３２)で表される。
【数３２】
2008135888.tif 000036
【０１０４】
（数３２）で左辺の項は行列r(k)の平均値を示す（以後「平均値r(k)」という。）。行列aの共役転置行列を左からかけるのは、シンボル期間に渡って信号成分を積算する操作に対応する。すなわち、要素がすべて１のN×１の行列を左からかける。行列aは、IDFTのDC成分の√N倍であるが、要素がすべて１となるので、要素が全て１のN×１行列をこの行列で代表させた。従って行列r(k)の平均はスカラー量である。また、行列aは要素がN個あることを考慮し次の関係を使った。
【数３３】
2008135888.tif 000037
【０１０５】
次に、受信信号r(k)に変わって、以下のような行列Ψ(k)を定義しておく。行列Ψ(k)は受信信号から直流成分を差し引き、見かけ上CFOだけが存在する状態にしたものである。
【数３４】
2008135888.tif 000038
ここで、行列ΩNを次のように定義した。
【数３５】
2008135888.tif 000039
従ってΩNは対角要素が1-1/Nであり、その他の要素が-1/NであるN×Nの行列である。
【０１０６】
（数３４）で平均値ｒ(k)に行列aをかけているのは、行列として扱うためである。すなわち、シンボル期間の間の全受信データから平均値r(k)を減算する。ここで行列ΩNは、直流成分をなくすための行列として導入したものとなる。上記の操作を行うことでDCO成分であるβは考慮しなくてよくなっている。（数３５）の右辺第1項で、Ｉは単位行列であり、N×Nの正方行列である。（数３５）の右辺第２項は、N×１の縦長行列に１×Nの横長行列をかけているのでやはりN×Nの正方行列になる。またこれらの行列は行列aと、行列aの転置行列の積であるから、各要素がすべて１の行列である。
【０１０７】
このような行列Ψ(k)は、直流成分の項を行列式に吸収した形になっているが、信号の帯域自体は何も変わっていない。そして行列ΓN(ε)を有しているので、行列Ψ(k)は相変わらず行列r(k)とおなじCFO（＝ε）を有している。
【０１０８】
この式（数３４）は一見するとME法を適用できるように見える。すなわち、以下の式でvを様々に変化させるとv＝εの時にゼロにできそうにも見える。
【数３６】
2008135888.tif 000040
【０１０９】
（数３６）は、シンボル期間中のデータの平均値r(k)をDCOとみなして、差し引いているので、DCOを考慮しなかった前述のME法よりも改善した方法であると言える。そこで、この方法をME−TDA（MUSIC-Like-Estimator by a
Time-Domain Average）法と呼ぶ。
【０１１０】
ME−TDA法を実際に使うために（数３６）を以下のような形に変形しておく。
（数３５）の行列ΩNを（数１９）の行列r(k)にかけると以下のようになる。
【数３７】
2008135888.tif 000041
【０１１１】
ここで右辺第２項は次のようになる。
【数３８】
2008135888.tif 000042
【０１１２】
よって（数３７）は以下のように表される。
【数３９】
2008135888.tif 000043
この関係を（数３６）に適用する。
【数４０】
2008135888.tif 000044
【０１１３】
行列wQ+iは、nullが伝送されるサブキャリアであるので、予め分かっている。行列EN(v)もME法で説明した通りであるので、予め定められた刻み幅で求めておくことができる。
【０１１４】
行列ΩNはデータの分割数Ｎがわかれば、サイズと要素は（数３５）より簡単に分かる。行列r(k)は受信信号そのものである。従って、ME法と同様に、受信信号に予め計算しておいたデータを次々と掛け算することで実施することができる。すなわち、（数４０）をコスト関数とすることで、図３の構成の装置は、ME−TDA法を実施することができる。
【０１１５】
（数２９）と同じ具体例で説明すると、行列wQ+iや行列EN(v)は（数２９）と同じであり、行列ΩNは（数３５）で求められる。従って予め計算しておくのは、以下の数値である。
【数４１】
2008135888.tif 000045
【０１１６】
なお行列ΩNはN×Nの方形行列で、対角要素が（1-1/N）であり、その他の要素が（−1/N）である。従って各式の右辺の計算結果はN×１の横長行列である。これを図２乃至３の装置で実施する場合は、上記のそれぞれの式を図４のCFOチェックデータ（４４）とおけばよい。すなわち、図６の処理フロー（a）で示した行列G1(v)として、図５の処理フローを実行する。
【０１１７】
このようにME法と同様にCFOを推定する処理は求められるが、（数４０）の行列ΩNはvによらず一定なので、コスト関数となる（数４０）は基本的にゼロにはならない。すなわち、（数３４）で一見してME法を適用できそうに見えたME−TDA法ではあるが、ME法より改善されているものの、推定の精度にはまだ十分でない点がある。
【０１１８】
この原因は、受信信号からシンボル期間のデータの平均値r(k)をDCOに近いものとして差し引いたために、信号作成時のOFDMのサブキャリア間の直交性が壊れているにもかかわらず、無理やりME法を適用しようとした点にある。図６（ａ）で示したDcdは（数３２）の平均値r(k)である。
【０１１９】
つまり、直交性が失われた状態で、null信号を復号しようとしても、出力はゼロにはならず、またコスト関数（数４０）が最小になるvが最もCFOに近いという保証もない点に推定精度があがらない原因がある。そこで、（数３４）の行列Ψ(k)に対して新たな直交サブキャリアの組を求めることで、より精度の高いコスト関数を求めることを考える。
【０１２０】
DCOとCFOをともに推定する推定法
NSE法
MEL−TDA法で、考慮していなかった点は、DCOやCFOによって、信号作成時のOFDM信号のサブキャリアに生じた直交性の喪失という点である。直交性の喪失は（数３９）の右辺にある行列dQ(k)以外の項に現れている。行列dQ(k)は伝送中の周波数応答の影響を受けているとはいえ、送信信号そのものであるからである。そこで、行列Θを以下のように定める。
【数４２】
2008135888.tif 000046
【０１２１】
この行列ΘはN×Qの行列である。このような行列Θを直交行列を含むいくつかの行列に分解する方法として特異値分解(SVD=Singular Value Decomposition)という方法がある。
特異値分解の手法によると行列Θは以下のように表される。
【数４３】
2008135888.tif 000047
【０１２２】
ここで、行列U(v)はN×Nの直交正方行列である。行列US(v)はN×Qの縦長行列であり、行列UZ(v)はN×（N-Q）の縦長行列である。行列Σ(v)はN×Qの行列である。行列ΣS(v)は非対角要素がゼロである対角行列である。対角要素は特異値と呼ばれる。行列Σ(v)のその他の部分は全てゼロの要素である。行列VS(v)はQ×Nの横長行列であり、各行はそれぞれ直交している。すなわち、次の関係が成り立つ。
【数４４】
2008135888.tif 000048
【０１２３】
この特異値分解は、固有値分解に似ているが、固有値分解が正方行列に対してでないとできないのに対して、正方行列でない行列を、直交行列と非対角要素がゼロでない対角行列とに分解する際に用いられる。
【０１２４】
このように特異値分解をした利点は、行列UZ(v)の中の任意の列を抜き出し、その共役転置行列（１×Nの行）を行列Θに左側からかけると、その乗算をゼロにできる点にある。すなわち、以下の式が成り立つ。
【数４５】
2008135888.tif 000049
【０１２５】
詳しく追うと、行列UZ(v)は直交行列であるから、その１行である行列Uz,i(v)。を取り出し、共役転置にして行列U(v)に左側からかけると、自分自身の行との掛け算になった部分は１となり、それ以外はゼロである。ここでiはi番目の行である。
【数４６】
2008135888.tif 000050
【０１２６】
また、行列US(v)はN×Qの行列であるから、上記の値「１」は先頭からQ番目以後にある。この結果を行列ΣＳ(v)にかけると以下のようになる。
【数４７】
2008135888.tif 000051
【０１２７】
（数４６）の結果で得られた値「１」は、行列ΣS(v)のQ+1行目以下が全てゼロの要素であるので、必ずゼロとなる。また行列ΣS(v)がN×Qの行列であることを考慮すると行列のサイズは、１×Qの行列となる。（数４５）はこの結果にVs(v)を乗算したものである。つまり、要素が全てゼロの行列をかけるので、行列V(v)がいかなる要素を有していても、ゼロ行列となる。
【０１２８】
従って、（数３４）で定義した行列Ψ(k)は、行列UZ(v)から抜き出した行列Uz,i(v)がv=εの条件の時に、ゼロになる。
【数４８】
2008135888.tif 000052
【０１２９】
（数３４）のΨ(k)はDCOをΩNに負担させ、見かけ上見えなくした受信信号である。この信号は（数４２）で導入した行列Θによって、CFOをεとして行列Θ(ε)dQ(k)と表される。その行列Θ(ε)は（数４５）で導入した行列Uz,i(v)との乗算によってv=εの時にゼロとなる。
【０１３０】
さらに（数３９）を適用すると（数４８）は以下のように変形できる。
【数４９】
2008135888.tif 000053
【０１３１】
行列Uz,i(v)は行列Θから求まるものであるが、その行列Θは（数４２）で示すように、行列ΩNと行列ΓN(v)と行列WQからできている。これらは伝送システムのパラメータから求められる行列であるから、行列Uz,i(v)は種種のvに対して、予め計算しておくことができる。また、行列ΩNが予め求めておくことが可能であるのは、すでに説明した通りである。
【０１３２】
これは、（数４１）で示したME−TDA法をさらに改善させた方法である。すなわち、シンボル期間のデータの平均値をDCOと見なして補償し、さらに（数４９）をコスト関数として求めたvでCFOを補償することが可能である。この方法をNSE（Null space based estimator）法と呼ぶ。図６（ｂ）で示したDcdは（数３２）の平均値r(k)を用いる。
【０１３３】
ところで、（数４９）ができたのは、N×Qのサイズであった行列Θを特異値分解することによって得られた行列Uによるところである。このような行列Uは行列Θが正方行列でなかったからできたことである。すなわち、行列FNのIDFT行列において、nullを伝送するキャリアがあったから、行列ΘはN×Qの行列と見なせることができた。言い換えると、この手法はOFDMの伝送システムにおいて、null信号が送られているキャリアが存在しなければ使うことはできない。
【０１３４】
ANSE法
ところで、（数４９）を用いてさらに精度の高い補償が可能になる。（数４９）で推定したCFOは、DCOの補償をシンボル期間のデータの平均値r(k)で代用したものとはいえ、精度の高い推定である。従って、ここで推定したCFOを用いて、DCOを再度推定し直す。
【０１３５】
（数１９）の受信信号に対して先ほどのCFO分をδとして推定し、さらにQ+i番目のサブキャリアを復調させると以下のようになる。
【数５０】
2008135888.tif 000054
【０１３６】
今δはほぼεと符号が逆で大きさが同じであるとみなせるので、右辺第１項はほぼゼロになる。さて、１行目左辺は、全て計算若しくは観測（具体的には受信）することで、既知の値となる。また、２行目の行列wQ+i、行列EN(δ)、行列aも計算することができる。
【０１３７】
すなわち、２行目のβだけが未知数である。そこで、行列yi，kと行列xi，kを以下のように定義する。
【数５１】
2008135888.tif 000055
【数５２】
2008135888.tif 000056
【０１３８】
yi，k＝βxi，kとなる等式は全部で（N−Q）×K個ある。これらの行列yi，kと行列xi，kを列ベクトルy、列ベクトルxで表す。Least square法を用いると、βは以下のように推定することができる。βの推定値をβeと表す。
【数５３】
2008135888.tif 000057
【０１３９】
このβeは、シンボル期間のデータの平均値r(k)よりさらに精度の高い推定と言える。このβeは、図６（ｃ）のS1016で示したDcdである。なお、ここで推定したβeの値を（数１９）のβeの値に戻して、再度CFO、およびDCOを推定することも可能である。このようにNSE法に基づいてさらにDCOを推定する方法をANSE（Advanced Nullspace based
estimator）法と呼ぶ。
【０１４０】
次にNSE法やANSE法で用いたCFOの推定を、より具体的に説明する。（数４９）を具体的に実施するにはvを変化させた行列U(v)Ωを予め用意しておき、観測値r(k)に次々と掛ける。すなわち、内積を計算する。（数４９）は、行列Uz(v)の１つの列の共役転置行列を用いたが、行列UZ(v)の列であればどの列を用いてもよい。すなわち、下記の式が成り立つ。
【０１４１】
【数５４】
2008135888.tif 000058
【０１４２】
行列UZH(v)は（N−Q）×Nのサイズであり、行列ΩNはN×Nの行列であるので、行列UZH(v) ΩNは（N−Q）×Nのサイズとなる。ここで、行列UZH(v)ΩNを図６の行列G2(v)とする。
【数５５】
2008135888.tif 000059
【０１４３】
そして、行列G2(v)と行列r(k)の内積の値がゼロになったときのvがCFOすなわちεである。（数４９）をゼロにできるvの値が求められない場合は、（数４９）が最も小さくなるvをCFOの推定値とすればよい。
【０１４４】
具体的な計算を示す。vの時のG2(v)は、上記や図４（ｂ）に示したように（N−Q）×Nの行列である。
【数５６】
2008135888.tif 000060
【０１４５】
入力信号は（数１６）であった。（数１６）を再掲する。
【数１６】
2008135888.tif 000061
【０１４６】
従って、（数５４）の計算は以下のようになる。
【数５７】
2008135888.tif 000062
【０１４７】
このように行列G2(v)r(k)は複数個の値として求めることができるが、これらの値の総和を行列G2(v)r(k)の評価値としてかまわない。すなわち、以下の値を図５で説明した行列Ravとする。また、図６（ｂ）、（ｃ）で示した行列Ravとなる。
【数５８】
2008135888.tif 000063
【０１４８】
（数５７）の行列の各列は、どの列と入力信号r(k)の内積をとってもよい。もともと、行列G2(v)の列行列は、特異値分解によって得られた要素ゼロの行列であるからである。従って、N-Q個の列行列を全て使う必要はなく、使用する演算器（３０）の演算速度によって適宜、列の個数を選べばよい。また、DCOは（数５３）に基づいて計算すればよい。
【０１４９】
なお、NSE法、ANSE法のいずれにおいても上記で説明した行列G2(v)を用いることができる本発明の計算方法としては、ME−TDA法、NSE法、ANSE法を用いることができる。すなわち、図２乃至３の補償部（１７）ではこれらの何れかの方法を用いることができる。また、これらの方法のいくつかを有し、切り替えて用いることもできる。
【実施例】
【０１５０】
本発明の補償方法についてシミュレーションを用いてその効果を確認した。OFDMの伝送システムとして、IEEE802.11aのWLAN規格を想定した。バンド幅は20MHz、サブキャリアは、６４本、サブキャリア間隔は20M/64=0.3125MHｚ、転送レートは１２Mbpsである。変調方法はQPSKとした。シンボル長は３．２μsec、ガードインタバルは０．８μsecである。６４本のサブキャリアのうち、null信号を送るサブキャリアは１２本とした。vの刻み幅は０．０１（無単位）である。従って、CFOのスキャンは0.01×0.3125M=3.125kHz毎になる。
【０１５１】
サブキャリアの数Ｎが６４であることから（数３５）を用いて行列ΩNが求められる。null以外の信号を送信するサブキャリアが５２本あり、どのサブキャリアであるかを決めてあるので、（数１１）によって行列WQも求めることができる。上記のようにサブキャリア間隔とvの刻み幅がわかっているので、（数１３）より行列ΓN(v)も求めることができる。
【０１５２】
従って、（数４２）によって行列Θ(v)を求めることができる。これを特異値分解することで、行列UZ(ｖ)を求めることができる。CFOチェックデータである行列G2(v)は（数５５）によって行列Uz(v)と行列ΩNから求められる。行列G2(v)はあらかじめ計算しておく。
【０１５３】
受信信号は、以下のような手順で作成した。まず、OFDM方式によって送信波を作成し、周波数選択フェーディングパスの効果を与え、受信信号（CFO、DCO、ノイズが含まれていない）のパワーは１になるように調整した。その後、所定のCFOシフト、DCOの付与、そしてノイズを加算することで受信信号を作成した。
【０１５４】
周波数選択フェーディングは、送信波の電力がレイリー分散に従い指数関数的に減少するものとした。それぞれのパスを通過した信号はガードインタバルの区間内に到達するものとした。従って、各パスでの位相シフトは、ゼロから２πの間に均等に発生するものとした。
【０１５５】
図１３に本願のシミュレーターのフローを示す。シミュレーターがスタートすると（Ｓ１０５０）、初期値の設定を行う（Ｓ１０５２）。ここでは、vをvstartに設定する。vstartは、CFOを探し始める初期値であり、通常はLOの特性に依存する。搬送波中心周波数５GHzの場合、
2008135888.tif 000064
40PPMのLOに対して、-４０ppm＊５G/0.3125M=-0.64から始める。本シミュレーターでは、−０．６４から始めた。
【０１５６】
Rminには適当に大きな値を入れておく。Rminは計算結果の最小値を記録するための変数として使用する。従って、初期値として１以上の実数値を与えておけば足りる。Drtにはvの値を入れる。Drtはεに最も近いvが記録されることになる。CFOにあたるεとDCOにあたるaは、予め与えておく。
【０１５７】
次にオリジナルデータODを作成する（S１０５４）。まず、ランダムに発生させたQPSK信号を５２個づつに分け、シリアルパラレル変換を行った後、それぞれ５２個をサブキャリアに対応され、IFFTでOFDM変調される後、パラレルシリアル変換を行う。ここで、作成したデジタル情報が送信データである。これにガードインタバルを付加してオリジナルデータとした。実施の形態における（数１）よりオリジナルデータの一つOFDMシンボル信号は、時間軸方向に６４＋１６＝８０サンプルのデータとなる。
【０１５８】
次にノイズを作成する（S1056）。ノイズは理想信号のパワーを１に規格化し、それに所望のSNRになるように白色雑音を電力として加えた。ノイズの周波数特性はフラットである。
【０１５９】
次にシミュレーターへの入力信号rを作成する（S1058）。入力信号rは、オリジナルデータに周波数選択フェーディングパスの効果を与え、CFOにあたるεだけ周波数をシフトさせ、ノイズを加算し、そしてDCOであるaを付与することで作成した。
【０１６０】
次に行列G2(v)と入力信号rのノルムを求める（S1060）。これは行列G2(v)と入力信号rの内積を計算し、その結果を２乗して総和を取り、平方根をとることを意味する。本シミュレーションでは、行列G2(v)の列行列はnullデータを送信するサブキャリアを全部使った。従って、行列G2(v)は１２×６４の行列である。すなわち、行列G(v)とrの内積は１２個の要素が結果として得られるが、RNSEは、これらの要素の２乗の総和の平方根として得られる。
【０１６１】
次にRNSEとRMINを比較する（S1062）。ここで、RNSEの方がRMINより小さければ、RNSEを新たなRMINとし、Drtにこのときのvを代入する（S1064）。RNSEの方がRMINより大きければ、S1064をスキップする。このようにすることで、RMINには、計算した中で最も小さいRNSEが記録され、そのときのvはDrtとして記録される。
【０１６２】
次にvが計算する最後のvか否かを判定する（S1066）。本シミュレーションではvendは0.64である。まだ計算するvが残っている場合はvをΔvだけインクリメントし（S1068）、またRNSEを計算する。ここでΔvは、0.01刻みである。
【０１６３】
vを最後まで計算し終わると、DCOを計算する（S1070）。DCOは（数５１）乃至（数５３）に従って計算される。（数５１）と(数５２)にはδがあり、このδがDrtにあたる。
【０１６４】
次にεとDrtの差の絶対値を算出し、SNRとともに出力し（S1072）、終了する（S1074）。
【０１６５】
本発明の効果を比較するために、ME法とME−TDA法についてもシミュレートを行った。それぞれのフローを図１４および図１５に示す。
【０１６６】
ME法では、本願のフローとほとんど同じであるが、本願のシミュレーションのS1060で、入力信号である行列rとの内積をとる行列が異なる。そこで、ここはS1100とした。これは、ここで用いる行列は（数２７）の具体例で示した行列である。また、ME法ではDCOを求めることはできないので、本願のシミュレーションにおけるS1070に相当するステップはない。
【０１６７】
ME−TDA法も、ME法と同じであるが、本願のフローS1060の工程が異なる。ME−TDA法ではS1150とした。ここで、入力信号との内積をとるのは、行列G1(v)であり、（数４１）で例示した行列である。
【０１６８】
以上のようなシミュレーターを用いて本願の推定方法と、ME法、およびME−TDA法の違いを計算させたのが図１６である。図１６で、縦軸はεとDrtの差の２乗をである。横軸は受信した信号すなわち、シミュレーターでは、入力信号rのSNRを示す。CFOであるεは0.31であり、DCOであるβは0.3＋j0.4である。βは複素数として与えられる。
【０１６９】
εの0.31はCFOで96.875kHzに相当する。三角はME法、丸はME−TDA法、四角は本発明のANSE法である。図ではNSE法となっているが、CFOの推定では、NSE法もANSE法も全く同じである。SNRが低いところでは、３つの方法にはそれほど際はないが、SNRが高くなるに従い、まずME法でのCFOの推定は改善しなくなる。これはME法では、DCOを全く考慮していないためと考えられる。
【０１７０】
また、ME法では、受信信号のSNRが高くなってもCFOをほとんど推定できていないことを表している。すなわち、ME法ではパイロット信号のないOFDM信号のCFO推定が不十分であることを示している。
【０１７１】
次にME−TDA法ではSNRが１５dB程度以上では推定誤差が一定になってしまう。ME−TDA法はある程度DCOを考慮に入れているものの、原理的にコスト関数をゼロにできないので、やはり推定には限界がある。
【０１７２】
ANSE法では、SNRがよくなるに従ってCFOの推定はどんどん真値に近づいてゆくのがわかる。本発明の推定方法も完全にCFOを推定することはできないものの、従来の方法と比較すると、その推定の精度は非常に高い。
【０１７３】
図１６は、εとaをそれぞれ0.08と0.3＋j0.4にした場合の結果を示す。すなわち、DCOは変わっていない。この場合も、ME法ではCFOを全く推定されていないといえる。一方、ME−TDA法はＳＮＲが２０dB程度までは真値に近づくことができる。しかし、それ以上推定値は真値に近づかない。NSE法（ANSE法）では、SNRがよくなるに従ってCFOの推定はどんどん真値に近づいてゆく。
【０１７４】
図１８には、ANSE法のDCO推定能力を示す。図１８で縦軸はDCOの真値と推定値の差の２乗を表す。横軸は入力信号のSNRである。ANSE法では、入力信号のSNRが高くなるに従い、どんどん真値に近い推定を行うことができる。
【０１７５】
図１９には、ブロックエラーレートのシミュレーション結果を示す。縦軸はブロックエラーレートを表し、横軸は入力信号のＳＮＲを表す。ME法では、受信信号のSNRが向上しても、ブロックエラーレートに対する改善効果は全くない。しかし、ME-TDA法やANSE法では、受信信号のSNRが向上すると、ブロックエラーレートも改善する。ブロックエラーレートの目安は、１０００byteの長さに対するブロックエラーレートが１０％以下であることが望ましい。
【０１７６】
図１９では、ME-TDA法では、ブロックエラーレートは１０％以下になっていはいない。しかし、図１６、１７から明らかなように、受信信号のSNRに対するCFOの推定精度は、CFOの大きさに依存する。従って、CFOの大きさが小さければ、ME-TDA法でもブロックエラーレートを１０％以下にすることは可能である。ANSE法は、CFOの大きさが大きい場合でもブロックエラーレートに対して十分な効果を有する。以上のように本発明のME-TDA法、NSE法、ANSE法はパイロット信号が使えない局面で大変有用な補償方法である。
【図面の簡単な説明】
【０１７７】
【図１】本発明の受信装置の構成を示す図
【図２】本発明の補償部の構成を示す図
【図３】本発明の推定部の構成を示す図
【図４】CFO候補値およびCFOチェックデータを説明する図
【図５】本発明の推定部のフローを示す図
【図６】本発明の推定部のフローのバリエーションの部分を示す図
【図７】OFDM信号が作られる様子を説明する図
【図８】サブキャリアの説明する図
【図９】OFDM信号の送信受信を説明する図
【図１０】サブキャリアにCFOが発生している様子を説明する図
【図１１】サブキャリアにCFOとDCOが発生している様子を示す図
【図１２】ME法の原理を説明する図
【図１３】ANSE法のシミュレーションのフローを示す図
【図１４】ME法のシミュレーションのフローを示す図
【図１５】ME−TDA法のシミュレーションのフローを示す図
【図１６】シミュレーションの結果を示す図
【図１７】シミュレーションの結果を示す図
【図１８】シミュレーションの結果を示す図
【図１９】シミュレーションの結果を示す図
【図２０】CFOの発生を説明する図
【図２１】DCOの発生を説明する図
【符号の説明】
【０１７８】
１０    本願のOFDM受信機
１７    補償部
２１    前処理部
２２    推定部
２３    加算部
２４    乗算部
３０    演算器
３１    ROM
３２    RAM
３３    補償データ変換器
４０    CFO候補データ
４４    CFOチェックデータ
【図１】
2008135888.tif 000073
【図２】
2008135888.tif 000074
【図３】
2008135888.tif 000075
【図４】
2008135888.tif 000076
【図５】
2008135888.tif 000077
【図６】
2008135888.tif 000078
【図７】
2008135888.tif 000079
【図８】
2008135888.tif 000080
【図９】
2008135888.tif 000081
【図１０】
2008135888.tif 000082
【図１１】
2008135888.tif 000083
【図１２】
2008135888.tif 000084
【図１３】
2008135888.tif 000085
【図１４】
2008135888.tif 000086
【図１５】
2008135888.tif 000087
【図１６】
2008135888.tif 000088
【図１７】
2008135888.tif 000089
【図１８】
2008135888.tif 000090
【図１９】
2008135888.tif 000091
【図２０】
2008135888.tif 000092
【図２１】
2008135888.tif 000093