(57)【要約】【課題】デジタル信号に対して実時間で効率よく解くことができるアルゴリズムに基づいて、広帯域な歪補償が可能な前置型非線形歪補償器を提供する。【解決手段】サポートベクトルマシンＳＶＭ５４は、無線周波数信号ＳＩＮをベースバンド信号ｘ（ｔ）に変換した信号を増幅器１６の逆特性を用いて、ベースバンド信号ｙ（ｔ）の実数部に変換し、ＳＶＭ５８は、信号ｘ（ｔ）を増幅器１６の逆特性を用いてベースバンド信号ｙ（ｔ）の虚数部に変換する。ＳＶＭ２６およびＳＶＭ６２は、直交検波器２２の出力に基づいて、ＳＶＭ５４および５８より出力されるベースバンド信号の実数部および虚数部の推定値を出力する。係数更新部４２および６６は、以後の計算に不用となったサポートベクトルを除去しつつ、ＳＶＭ２６，５４，５８，６２におけるサポートベクトルに対応する係数を更新する。【選択図】　　　　図４
2004007139.tif 000002
【特許請求の範囲】
【請求項１】
信号変換器の逆特性を用いて、入力信号を変換し、変換後の信号を信号変換器に供給する変換用サポートベクトルマシンと、
前記信号変換器で変換された変換出力信号を受け、前記変換出力信号列により構成される信号ベクトルと、過去に抽出された変換出力信号列により構成される信号ベクトルとに基づいて、前記変換用サポートベクトルマシンにおける変換後の入力信号を、第１の不感帯を有する損失関数に基づいて推定する推定用サポートベクトルマシンと、
前記変換用サポートベクトルマシンおよび前記推定用サポートベクトルマシンに接続され、前記変換用サポートベクトルマシンの出力および前記推定用サポートベクトルマシンの出力に基づいて、前記変換用サポートベクトルマシンおよび前記推定用サポートベクトルマシンの係数を更新するための係数更新手段とを含み、
前記係数更新手段は、
前記変換出力信号を受け、新たに受けた前記変換出力信号の信号列により構成されるベクトルであって、かつ、第２の不感帯の外にあるベクトルをサポートベクトルの候補として抽出し、既にサポートベクトルとして抽出されているベクトルの集合に加え、前記ベクトルの集合を新たにサポートベクトルの集合とみなし、前記ベクトルの集合の中から、前記第１の不感帯の外にあるベクトルをサポートベクトルとして再抽出する抽出手段と、
前記抽出されたサポートベクトルに対する係数を計算する計算手段とを有する、前置型非線形歪補償器。
【請求項２】
前記第２の不感帯の大きさは、前記第１の不感帯の大きさと等しい、請求項１記載の前置型非線形歪補償器。
【請求項３】
前記第２の不感帯は、前記第１の不感帯に対する拡張不感帯である、請求項１記載の前置型非線形歪補償器。
【請求項４】
前記抽出手段は、サポートベクトルの係数の絶対値が、所定のしきい値を下回った場合には、当該ベクトルをサポートベクトルとして再抽出しない、請求項１〜３のいずれか１項に記載の前置型非線形歪補償器。
【請求項５】
前記係数更新手段は、各学習データセットとして与えられる前記信号変換器の入出力信号のうち、前記変換出力信号の信号列を前記推定用サポートベクトルマシンにより変換して得られる出力データに前記不感帯の片側幅を加減して得られた２つの不感帯境界値のうち、当該出力データに近い方の不感帯境界値を前記信号変換器入力信号から減算した値を損失と定義するとき、前記ベクトルが不感帯の外にあるか否かを判定する際に、損失の符号の変化および損失の変化量に基づいて判定する、請求項１〜３のいずれか１項に記載の前置型非線形歪補償器。
【請求項６】
前記新しいサポートベクトルの追加の頻度が低下するにつれて前記第２の不感帯を規定するしきい値を前記第１の不感帯を規定するしきい値に漸近させる、請求項３記載の前置型非線形歪補償器。
【請求項７】
前記係数更新手段は、前記サポートベクトルを抽出する処理を計測する計測手段をさらに含み、
前記計測手段の計測結果に応じて、前記第２の不感帯を規定するしきい値を前記第１の不感帯を規定するしきい値に漸近させる、請求項６記載の前置型非線形歪補償器。
【請求項８】
前記推定用サポートベクトルマシンは、前記信号変換器で変換された変換出力信号を受ける、実数信号推定用サポートベクトルマシンを含み、
前記変換用サポートベクトルマシンは、
前記入力信号の実数部および虚数部を第１および第２のノードに受ける、実数信号変換用サポートベクトルマシンと、
前記入力信号の虚数部および極性を反転させた実数部を第３および第４のノードに受ける、虚数信号変換用サポートベクトルマシンとを含む、請求項１記載の前置型非線形歪補償器。
【請求項９】
前記入力信号、前記変換用サポートベクトルマシンの出力および前記信号変換器の出力は、中間周波数信号である、請求項１に記載の前置型非線形歪補償器。
【請求項１０】
前記信号変換器は、増幅器である、請求項１〜９のいずれかに記載の前置型非線形歪補償器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、前置型非線形歪補償器に関し、特に、サポートベクトルマシン（以下「ＳＶＭ」という）を回帰分析に用いた前置型非線形歪補償器に関する。
【０００２】
【従来の技術】
従来、通信系の非線形歪補償を実現するために、各種デジタル回路による前置型非線形歪補償器が作成されている。デジタル回路による前置型非線形歪補償器として代表的なものにルックアップテーブルを用いたものと、増幅器の逆関数を推定するものとがある。
【０００３】
ルックアップテーブルを用いた前置型非線形歪補償器は、増幅器の特性を入力信号の振幅値に対して微小区間に分け、その区間の代表値をテーブルに格納しておき、送信信号とそれに対応するテーブルの補償値を乗算して出力信号とするものである。
【０００４】
一方、増幅器の逆関数を推定する前置型非線形歪補償器として、ｐｔｈ−ｏｒｄｅｒ−ｐｒｅｄｉｓｔｏｒｔｅｒと呼ばれるものがある。この前置型非線形歪補償器は、信号変換器の逆関数を複素多項式近似するものである。複素多項式は、非線形関数の表現形式として最も一般的なボルテラ級数より導出され、歪補償が行なわれる。
【０００５】
しかし、ルックアップテーブルを用いた前置型非線形歪補償器では、テーブル内の値は離散値をとるため、値の不連続性により、フロアノイズが上昇する。フロアノイズを解消するためには、データ数を増やす必要があるが、データ数を増やすとメモリ容量が多くなるという問題がある。
【０００６】
ｐｔｈ−ｏｒｄｅｒ−ｐｒｅｄｉｓｔｏｒｔｅｒでは、計算精度を上げるために複素多項式の次数を増やす必要がある。このため、計算時間がかかり、解が収束しにくいという問題がある。
【０００７】
さらに、広帯域信号に対しては、ルックアップテーブル、ｐｔｈ−ｏｒｄｅｒ−ｐｒｅｄｉｓｔｏｒｔｅｒともに、信号帯域内の各周波数ごとに振幅、位相の非線形性を補償する必要があるため、ハードウェア化が困難であるという問題がある。
【０００８】
【発明が解決しようとする課題】
ところで、近年、入出力観測データからプロセスのモデリングを行うという問題は、非線形回帰問題やシステム同定などの多くの分野において研究の目的となっている。上記前置型非線形歪補償器の最適な特性を得るという問題も、ひずみを補償する対象となる増幅器を未知の非線形システムとみなせば、この補償する対象となる増幅器の特性の逆関数のモデリングの問題に帰着される。
【０００９】
このようなプロセスモデリングの問題に取り組む方法は、大きく分けてグローバルモデリングとローカルモデリングの２つに分けることができる。
【００１０】
ローカルモデリングは、重み平均法、局所重み回帰法やデータベース学習であるＪｕｓｔ−ｉｎ−ｔｉｍｅ法などがある。
【００１１】
これに対して、グローバルモデリングは、データベースの全てに適合する一つの関数を作る手法である。このような関数の作成は、ニューラルネットワークモデリングや非線型統計回帰の他の方法で使われている手法である。
【００１２】
このようなグローバルモデリングに対する統計的学習理論は、１９６０年代から存在していたが、実用的なツールとして用いられるようになったのは、１９９０年半ば以降にＶ．Ｎ．Ｖａｐｎｉｋ等によって、以下の文献に開示されるようなサポートベクトルマシンが提案されたことを契機とする。
【００１３】
文献１：Ｖ．Ｎ．Ｖａｐｎｉｋ　：　Ｔｈｅ　Ｎａｔｕｒｅ　ｏｆ　Ｓｔａｔｉｓｔｉｃａｌ　Ｌｅａｒｎｉｎｇ　Ｔｈｅｏｒｙ，　Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ，　Ｎｅｗ　Ｙｏｒｋ（１９９５）
文献２：Ｖ．Ｎ．Ｖａｐｎｉｋ　：　Ｓｔａｔｉｓｔｉｃａｌ　Ｌｅａｒｎｉｎｇ　Ｔｈｅｏｒｙ，　Ｊ．Ｗｉｌｌｅｙ　＆　Ｓｏｎｓ，　ＮｅｗＹｏｒｋ（１９９８）
文献３：Ｂ．Ｓｃｈｏｌｋｏｐｆ　ｅｔ　ａｌ．ｅｄ，　”Ａｄｖａｎｃｅｓ　ｉｎ　Ｋｅｒｎａｌ　Ｍｅｔｈｏｄｓ”，　Ｔｈｅ　ＭＩＴ　Ｐｒｅｓｓ，　１９９９．
このようなサポートベクトルマシンを用いた統計的学習理論によるプロセスモデリングには、一般的に、以下のような特徴がある。
【００１４】
（１）他の手法に比べると、収束速度に勝る。
（２）常に唯一の解を得ることができる。
【００１５】
（３）さまざまな学習問題に容易に適用できる。
（４）問題の複雑さを問題の次元とは独立であるサポートベクトルの個数によって特徴づけているために、いわゆる「次元の呪い（ｃｕｒｓｅ　ｏｆ　ｄｉｍｅｎｓｉｏｎａｌｉｔｙ）」から逃れることができる。
【００１６】
さらに、叙述したサポートベクトルマシンは、回帰問題の学習に用いることのできるサポートベクトル回帰（Ｓｕｐｐｏｒｔ　Ｖｅｃｔｏｒ　Ｒｅｇｒｅｓｓｉｏｎ（以下、「ＳＶＲ」と呼ぶ））に拡張されている。このようなＳＶＲについては、以下の文献に開示がある。
【００１７】
文献４：Ｎ．Ｃｒｉｓｔｉａｎｉｎｉ，　Ｊ．Ｓｈａｖｅ−Ｔａｙｌｏｒ　”Ａｎ　Ｉｎｔｒｏｄｕｃｔｉｏｎ　ｔｏ　Ｓｕｐｐｏｒｔ　Ｖｅｃｔｏｒ　Ｍａｃｈｉｎｅｓ”，　Ｃａｍｂｒｉｄｇｅ　Ｕｎｉｖｅｒｓｉｔｙ　Ｐｒｅｓｓ，　２０００．
さらに、このようなサポートベクトルマシンを上述した前置型非線形歪補償器に適用する試みが、以下の文献に開示されている。
【００１８】
文献５：伊藤隆徳，大森浩充，佐野昭　Ｂ−５−１２４「サポートベクトル法を用いた適応非線形歪補償」２００１年電子情報通信学会総合大会予稿集、ｐ．５２２，２００１年
しかしながら、サポートベクトルマシンをデジタル信号受信装置の前置型非線形歪補償器に用いる場合には、以下のような点を考慮する必要がある。
【００１９】
（１）一般に、デジタル信号の変調においては、変調後の信号が、２次元のコンスタレーション上の点として表現される。このため、信号は、複素数として扱われる必要がある。
【００２０】
（２）前置型非線形歪補償器として使用するためには、大量のデータを用いてＳＶＲを使い回帰問題を解くことになるため、上記のような複素数に対する問題を実時間で効率よく解くことができるアルゴリズムが必要である。
【００２１】
しかしながら、従来のサポートベクトルマシンを用いた手法では、上記の点について、いかなる解決を図るべきかが、必ずしも明確とは言えないという問題があった。
【００２２】
本発明は、上述の課題を解決するためになされたもので、その目的は、デジタル信号に対して実時間で効率よく解くことができるアルゴリズムに基づいて、広帯域な歪補償が可能な前置型非線形歪補償器を提供することである。
【００２３】
本発明の他の目的は、処理対象となる信号が複素数で表現される場合でも、高速に歪補償のための演算を行うことが可能な前置型非線形歪補償器を提供することである。
【００２４】
【課題を解決するための手段】
本発明のある局面に従う前置型非線形歪補償器は、信号変換器の逆特性を用いて、入力信号を変換し、変換後の信号を信号変換器に供給する変換用サポートベクトルマシンと、信号変換器で変換された変換出力信号を受け、変換出力信号列により構成される信号ベクトルと、過去に抽出された変換出力信号列により構成される信号ベクトルとに基づいて、変換用サポートベクトルマシンにおける変換後の入力信号を、第１の不感帯を有する損失関数に基づいて推定する推定用サポートベクトルマシンと、変換用サポートベクトルマシンおよび推定用サポートベクトルマシンに接続され、変換用サポートベクトルマシンの出力および推定用サポートベクトルマシンの出力に基づいて、変換用サポートベクトルマシンおよび推定用サポートベクトルマシンの係数を更新するための係数更新手段とを含み、係数更新手段は、変換出力信号を受け、新たに受けた変換出力信号の信号列により構成されるベクトルであって、かつ、第２の不感帯の外にあるベクトルをサポートベクトルの候補として抽出し、既にサポートベクトルとして抽出されているベクトルの集合に加え、ベクトルの集合を新たにサポートベクトルの集合とみなし、ベクトルの集合の中から、第１の不感帯の外にあるベクトルをサポートベクトルとして再抽出する抽出手段と、抽出されたサポートベクトルに対する係数を計算する計算手段とを有する。
【００２５】
好ましくは、第２の不感帯の大きさは、第１の不感帯の大きさと等しい。
あるいは、好ましくは、第２の不感帯は、第１の不感帯に対する拡張不感帯である。
【００２６】
さらに、好ましくは、第２の不感帯は、随時更新されるベクトルの集合に対応して縮小するように更新される。
【００２７】
好ましくは、抽出手段は、サポートベクトルの係数の絶対値が、所定のしきい値を下回った場合には、当該ベクトルをサポートベクトルとして再抽出しない。
【００２８】
好ましくは、係数更新手段は、各学習データセットとして与えられる信号変換器の入出力信号のうち、変換出力信号の信号列を推定用サポートベクトルマシンにより変換して得られる出力データに不感帯の片側幅を加減して得られた２つの不感帯境界値のうち、当該出力データに近い方の不感帯境界値を信号変換器入力信号から減算した値を損失と定義するとき、ベクトルが不感帯の外にあるか否かを判定する際に、損失の符号の変化および損失の変化量に基づいて判定する。
【００２９】
好ましくは、新しいサポートベクトルの追加の頻度が低下するにつれて第２の不感帯を規定するしきい値を不感帯を規定するしきい値に漸近させる。
【００３０】
好ましくは、係数更新手段は、サポートベクトルを抽出する処理を計測する計測手段をさらに含み、計測手段の計測結果に応じて、第２の不感帯を規定するしきい値を第１の不感帯を規定するしきい値に漸近させる。
【００３１】
好ましくは、推定用サポートベクトルマシンは、信号変換器で変換された変換出力信号を受ける、実数信号推定用サポートベクトルマシンを含み、変換用サポートベクトルマシンは、入力信号の実数部および虚数部を第１および第２のノードに受ける、実数信号変換用サポートベクトルマシンと、入力信号の虚数部および極性を反転させた実数部を第３および第４のノードに受ける、虚数信号変換用サポートベクトルマシンとを含む。
【００３２】
好ましくは、入力信号、変換用サポートベクトルマシンの出力および信号変換器の出力は、中間周波数信号である。
【００３３】
好ましくは、信号変換器は、増幅器である。
【００３４】
【発明の実施の形態】
以下、図面を参照しつつ本発明の実施の形態について詳細に説明する。以下の説明では、同一の構成部分には同一の符号を付してあり、それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００３５】
［サポートベクトルマシンによる回帰問題の学習の一般論］
以下、本発明の説明を行うにあたり、その前提となるサポートベクトルマシンによる回帰問題の学習について、まとめておく。
【００３６】
１−１．線形回帰問題の学習
１−１−１　線形回帰問題
まず、サポートベクトルマシン（ＳＶＭ）の考えに基づき、サポートベクトル回帰（Ｓｕｐｐｏｒｔ　Ｖｅｃｔｏｒ　Ｒｅｇｒｅｓｓｉｏｎ　：　ＳＶＲ〉の立場から線形回帰問題を解く方法について述べる。この問題は、以下のように定式化できる。
【００３７】
［問題］
ｍ入力１出力の未知線形回帰ｆ：ｘ→ｙ　があり、トレーニングデータ
（ｘ１，ｙｌ），…，（ｘｎ，ｙｎ）　　　ｘｉ∈　Ｒｍ，　ｙｉ∈Ｒ　　　　　　　　　　　　（１．１）
が与えられているとする。このとき、トレーニングデータを用いてこの線形回帰を近似する関数
ｆ（ｘ，ｗ）＝ｗＴｘ　　　　　　　　　　　　　　　　　　（１．２）
を求める。
【００３８】
１−１−２　損失関数
ここで，線形ε不感損失関数（Ｌｉｎｅａｒ　ε−Ｉｎｓｅｎｓｉｔｉｖｅ　Ｌｏｓｓ　Ｆｕｎｃｔｉｏｎ〉Ｌε（ｘ，ｙ，ｆ（ｘ，ｗ））ならびに二次ε不感損失関数（Ｑｕａｄｔａｔｉｃ　ε−Ｉｎｓｅｎｓｉｔｉｖｅ　Ｌｏｓｓ　Ｆｕｎｃｔｉｏｎ〉Ｌ２ε（ｘ，ｙ，ｆ（ｘ，ｗ））を次のように定義する。
【００３９】
【数１】
2004007139.tif 000003
【００４０】
図１は、このような線形ε不感損失関数および二次ε不感損失関数を示す図である。図１（ａ）は、線形ε不感損失関数であり、図１（ｂ）は、二次ε不感損失関数を示す。
【００４１】
１−１−３　二次ε不感損失関数による回帰問題
以下では、二次ε不感損失を用いた場合のサポートベクトル回帰について考える。サポートベクトルマシンに基づいた主問題は、以下のように表現できる。
【００４２】
【数２】
2004007139.tif 000004
【００４３】
この主題は、次のように書き換えることができる。
【００４４】
【数３】
2004007139.tif 000005
【００４５】
ただし、Ｃはモデルの複雑さと制約条件の媛和（トレーニング誤差）との閏のトレードオフを設定する正則化パラメータである。
【００４６】
【数４】
2004007139.tif 000006
【００４７】
式（１．１０）に対するＫａｒｕｓｈ−Ｋｕｈｎ−Ｔｕｃｋｅｒ（ＫＫＴ）条件により、以下の関係が成り立つ。
【００４８】
【数５】
2004007139.tif 000007
【００４９】
これらの関係式を式（１．１０）に代入すると次の双村問題に書き換えられる。
【００５０】
【数６】
2004007139.tif 000008
【００５１】
ここで、係数αｉを以下のように置き換えると、式（１．１４）は、最終的に以下の式（１．１５）のように書き換えることができる。また、式（１．１１）により、線形回帰を近似する関数ｆ（ｘ、ｗ）＝ｗＴｘは、以下の式（１．１６）のようになる。
【００５２】
【数７】
2004007139.tif 000009
【００５３】
図２は、線形近似関数とサポートベクトルとの関係を示す概念図である。
図２において、「●」がサポートベクトルであり，これらの近似関数による誤差の大きさはεよりも大きい。「○」は近似関数による誤差の大きさがεよりも小さいデータであり、これらは直接近似関数には影響しない。
１−２　非線形回帰問題の学習
１−２−１　非線形回帰問題
以上の説明では、サポートベクトル回帰（ＳＶＲ）を用いた線形回帰について説明した。以下では、それを応用したＳＶＲを用いた非線形回帰について説明する。この非線形回帰問題は、以下のように定式化できる
［問題］
ｍ入力１出力の未知非線形回帰ｆ：ｘ→ｙ　があり、トレーニングデータ
（ｘ１，ｙｌ），…，（ｘｎ，ｙｎ）　　　ｘｉ∈Ｒｍ，　ｙｉ∈Ｒ　　　　　　　　　　　　（１．１７）
が与えられているとする。このとき、トレーニングデータを用いてこの非線形回帰を近似する関数ｆ（ｘ，ｗ）＝ｗＴｘを求める。ここでは、損失関数として、
二次ε不感損失関数を用いることにする。
１−２−２　特徴空間
一般的に複雑な問題に応用するには，入力空間内で考えるよりも表現能力が優れている空間で考える必要がある。このような手法は高次元化と呼ばれている。
【００５４】
ここで、非線形回帰問題に対応するために、入力空間から高次元特徴空間への非線形写像を導入する。入力ベクトルｘを入力空間Ｘから特徴空間Ｆヘ写像し、その特徴空間でのベクトルφ（ｘ）をこれまでの入力ベクトルｘとみなすことにより入力空間ではなく特徴空間で線形回帰問題を取り扱う。ただし、φ：Ｘ→Ｆは、入力空間からある特徴空間への非線形写像である。
【００５５】
この作業は、実質的には元の入力空間において非線形回帰問題を解いていることになる。
【００５６】
ヒルベルトシュミット理論によるとヒルベルト空間における内積は次のような等価表現ができる。
【００５７】
【数８】
2004007139.tif 000010
【００５８】
以下に示すとおり、特徴空間で線形問題を考えると、式（１．２１）となり、また、線形回帰を近似する関数ｆ（φ（ｘ），ｗ）＝ｗＴφ（ｘ）は、式（１．２２）のようになる。この式（１．２２）は、入力空間における線形回帰問題となっており、式（１．２０）の関係により、最終的に式（１．２３）となる。さらに、式（１．２３）をベクトル表記すると、式（１．２４）となり、この非線形回帰問題を解くと、式（１．２５）の非線形近似関数を得ることができる。
【００５９】
【数９】
2004007139.tif 000011
【００６０】
ここで、注目すべき点は、特徴空間内での内積計算を入力空間内での計算に置き換えることができるカーネル関数Ｋ（ｘｉ，ｘｊ）を用いることにより、双対問題の式（１．２１）やそれを解くことによって得られる近似関数にはφ（ｘ）が含まれないので、実際には入力空間から特徴空間への非線形写像を計算する必要はない点である。これは、「カーネルトリック」と呼ばれている。
【００６１】
このような特徴があるため、高次元化を導入することにより、サポートベクトル回帰（ＳＶＲ）では特徴空間の次元を非常に大きくとることもでき、さらにモデルの複雑さと特徴空間の次元とを独立に制御することが可能となる。このことより、ＳＶＲはいわゆる次元の呪いから逃れることができる。
【００６２】
図３は、非線形近似関数とサポートベクトルを示す概念図である。図３でも、「●」がサポートベクトルであり、これらの近似関数による誤差の大きさはεよりも大きい。「○」は近似関数による誤差の大きさがεよりも小さいデータであり、これらは直接近似関数には影響しない。
１−２−３　サポートベクトルと係数の関係
二次ε不感損失関数を用いたＳＶＲ問題では、式（１．１４）から式（１．１５）に係数の置換えを行う前においては、式（１．１１）〜（１．１３）のＫＫＴ条件が成り立っていることから、係数の置換え後においては結局以下の関係式が成り立つ。
【００６３】
【数１０】
2004007139.tif 000012
【００６４】
また、二次ε不感損失関数は、不感帯εを有するので、推定誤差の大きさがεよりも小さい、以下の式（１．２７）を満たすデータセット（ｘｉ，ｙｉ）はサポートベクトルから外れる必要がある。このため、得られた解によるサポートベクトルの近似誤差の大きさは、式（１．２８）のようになる。
【００６５】
【数１１】
2004007139.tif 000013
【００６６】
さらに、ラグランジェ関数を式（１．１０）のようにおいたので、以下の式（１．２９）および式（１．３０）の符号が等しくなる。このため、式（１．２３）の解であるサポートベクトルの係数αｉは、式（１．３１）を満たすことになる。
【００６７】
【数１２】
2004007139.tif 000014
【００６８】
２−１　サポートベクトル回帰の学習に対する本発明の方法
以上の説明の方法をそのまま実行しようとすると、ＳＶＲ問題においてトレーニングデータが多い場合、問題を解くために非常に多くの時間を費やしてしまう。そこで、本発明においては、ＳＶＲ問題を効率良く解くために、以下に説明するとおり、ニュートン・ラフソン（Ｎｅｗｔｏｎ−Ｒａｐｈａｓｏｎ）法を変形させた基本的な更新式を求め、その更新式を用いた逐次形アルゴリズムを採用する。
２−１−１　問題設定
ここでは、二次ε不感損失関数を使用する次の問題を解く方法について説明する。
【００６９】
［問題］
ｍ入力１出力の未知非線形回帰ｆ：ｘ→ｙ　があり、トレーニングデータ
（ｘ１，ｙｌ），…，（ｘｎ，ｙｎ）　　　ｘｉ∈Ｒｍ，　ｙｉ∈Ｒ
が与えられているとする。このとき、トレーニングデータを用いてこの非線形回帰を近似する式（２．１）の関数を求めるために、式（２．２）で表される最大化問題を解く。
【００７０】
【数１３】
2004007139.tif 000015
【００７１】
ＳＶＲでは、誤差を評価するときに不感帯を設けているので、この問題を解いて得られたｆ（ｘ，α）とトレーニングデータには、以下に述べるような関係が成り立っていなければならない。
【００７２】
すなわち、データセット（ｘｉ，ｙｉ）が不感帯の内側にあるならば、つまり、｜ｙｉ−ｆ（ｘｉ，α）｜≦εを満たすならば、係数はαｉ＝０となる。
【００７３】
逆に、データセット（ｘｉ，ｙｉ）が不感帯の外側にあるならば、つまり、｜ｙｉ−ｆ（ｘｉ，α）｜＞εを満たすならば、係数αｉは、上述した式（１．３１）を満たす。
【００７４】
以下に述べるサポートベクトル回帰の学習では、上記の関係を考慮して、不必要となったデータセットをサポートベクトルから除外していく方法をとっている。
【００７５】
２−１−２　バッチ処理
以下では，はじめにｎ個のトレーニングデータからいくつかのデータセットを取り出し、その取り出したデータセットだけを用いてＳＶＲを求める方法について説明する。
【００７６】
（ニュートン・ラフソン法の修正）
以下、二次ε不感損失関数に対する双対問題をニュートン・ラフソン法を変形させて更新式を用いて解く方法について説明する。
【００７７】
式（２．２）の最大化問題をベクトル表記すると、式（２．３）のようになり、かつ、評価関数Ｗ（α）をテイラー展開すると、式（２．４）のようになる。
【００７８】
その上で、Ｗ（α）をαｉの近傍で二次関数近似を行ったとして、上式（２．４）の第３項までで打ち切る。
【００７９】
【数１４】
2004007139.tif 000016
【００８０】
この二次関数近似の最小値を与えるα＝αｉは、以下の式（２．５）の条件により与えられ、そのような最小値を与えるα＝αｉは、逐次的に以下の式（２．６）の関係を満たすことになる（ニュートン・ラフソン法）。
【００８１】
【数１５】
2004007139.tif 000017
【００８２】
（αの更新方法（初期値０の場合））
ニュートン・ラフソン法に基づきαを求める際、初期値α０＝０の場合について考える。式（２．６）で、α０＝０とすると、以下の式（２．１２）および式（２．１３）を満たすことになるが、本発明においては、ε＝０とおいて、式（２．１４）のように修正する。
【００８３】
【数１６】
2004007139.tif 000018
【００８４】
その後、さらに式（２．６）を用いて更新すると、以下の式（２．１５）および（２．１６）のようになる。さらに、αｉ１≠０のとき、式（２．１７）が成り立つので、式（２．１６）は、式（２．１８）および（２．１９）で表されるようになる。
【００８５】
【数１７】
2004007139.tif 000019
【００８６】
このように求めた係数ベクトルαで、以下の式（２．２０）が成り立っている場合、式（２．２１）のようになるので、上述した式（１．３１）を満たしていることがわかる。
【００８７】
【数１８】
2004007139.tif 000020
【００８８】
しかし，求めた解が式（２．２０）を満たしていない場合、その解は式（１．３１）を満たしてなく、解としてはふさわしくない。
【００８９】
（余分なデータセットの除去方法）
次に、式（２．２０）を満たしていない場合について考えることにする。
【００９０】
式（２．２０）を満たしていない場合は、求めた解は式（１．３１）を満たしてなく、ＫＫＴ条件を満たさないので解ではないことになる。そこで、このような場合は、余分なデータセット（ｘｉ，ｙｉ）が現在のサポートベクトルの候補の中に存在していると考え、現在のサポートベクトルの侯補の中から余分なデータセットを取り除くことにする。
【００９１】
以下では、さらに、余分なデータセットの選出方法について以下に述べる。
まずはじめに，先ほどの更新式を用いて、以下の式（２．２２）に基づいて、係数ベクトルαｎｓｖを求める（初期値：０）。
【００９２】
次に、係数ベクトルαｎｓｖの各要素はゼロではない（αｉ≠０，ｉ＝１，…，ｎｓｖ）と考え、さらに更新式（２．６）にステップサイズη（０＜η≦１）を導入して、以下の式（２．２３）のような新たな更新式をつくる。
【００９３】
【数１９】
2004007139.tif 000021
【００９４】
この更新式を用いて係数ベクトルαｎｓｖを更新する際、更新前後で係数ベクトルαｎｓｖの各要素の符号が変化しない範囲で更新を行うことにする。
【００９５】
次に、ステップサイズりの決め方について説明する。
ステップサイズは、１に近ければ近いほど評価関数が大きな値となるので、できる限り１に近いことが望ましい。そこで、次のようにしてそのステップサイズを求める。
【００９６】
まず、以下の式（２．２４）により、ステップサイズベクトルを計算する。
【００９７】
【数２０】
2004007139.tif 000022
【００９８】
だたし、ステップサイズベクトルη＝［η１，…，ηｎｓｖ］Ｔであり、ηｉは、更新式（２．２３）においてステップサイズη＝ηｉで、係数ベクトルαｎｓｖを更新するとαｉ＝０となる値である。
【００９９】
つぎに、ステップサイズベクトルηの要素の中で、０以上で、かつ、最も小さい要素ηｉをステップサイズとして更新を行う。このとき、αｉ＝０であり、データセット（ｘｉ，ｙｉ）を余分なデータセットであるとし、以下の式（２．２５）のようにサポートベクトルから外すことにする。
【０１００】
【数２１】
2004007139.tif 000023
【０１０１】
これに伴いサポートベクトルの個数が減少することになる（ｎｓｖ←ｎｓｖ−１）。
【０１０２】
サポートベクトルの個数が減少した後、再び更新式（２．２３）より係数ベクトルαｎｓｖを更新する。このときも先ほどと同じように、更新前後で係数ベクトルαｎｓｖの各要素の符号が変化しない範囲で更新を行うために式（２．２４）からステップサイズηを求める。
【０１０３】
ステップサイズベクトルηの要素の中で０以上で最も小さい要素ηｉが１以上の場合、更新式（２．２３）においてη＝１で更新した係数ベクトルαｎｓｖは更新前後で各要素の符号が変化しないことがわかる。
【０１０４】
このとき、係数ベクトルαｎｓｖが決定する。逆にステップサイズベクトルηの要素の中で０以上で最も小さい要素ηｉが１よりも小さい場合、先ほどと同じく更新式（２．２３）においてステップサイズη＝ηｉで係数ベクトルαｎｓｖを更新し、データセット（ｘｉ，ｙｉ）をサポートベクトルから外すことにする。以降、係数ベクトルαｎｓｖが決定するまでこの作業を繰り返し行う。
２−１−３　逐次処理
以上の説明では、ｎ個のトレーニングデータからいくつかのデータセットを取り出し、その取り出したデータセットだけからＳＶＲを求める方法について説明した。しかし、バッチ処理では逆行列の計算を行っているため、扱うデータ数には限界がある。そこで、このような問題を回避するために、次に逐次処理について説明する。
【０１０５】
ここでは，既に以下の式（２．２６）のようなＳＶＲによる近似関数が存在しており、新たなトレーニングデータ（ｘｓ，ｙｓ）を用いて、このＳＶＲによる近似関数を更新する方法について説明する。
【０１０６】
【数２２】
2004007139.tif 000024
【０１０７】
まずはじめに、新たなトレーニングデータ（ｘｓ，ｙｓ）が不感帯の内側にあるかどうかを調べる。
【０１０８】
もし、以下の式（２．２７）が成り立つならば、不感帯の内側にあることになりＳＶＲの更新は必要でないが、新たなトレーニングデータ（ｘｓ，ｙｓ）が不感帯の外側にある場合、つまり以下の式（２．２８）が成り立つ場合、ＳＶＲの更新が必要となる。
【０１０９】
【数２３】
2004007139.tif 000025
【０１１０】
そこで、新たなトレーニングデータ（ｘｓ，ｙｓ）が不感帯の外側にある場合について考えることにする。
【０１１１】
このとき、（ｘ１，ｙ１），…，（ｘｎｓｖ，ｙｎｓｖ），（ｘｓ，ｙｓ）をサポートベクトルであるとみなす。
【０１１２】
先ほど示した式（２．２３）を用いて、係数ベクトルαを更新しようとした場合、新たなトレーニングデータ（ｘｓ，ｙｓ）の係数αｓが決まっていないのでこの値の初期値を０とする。
【０１１３】
しかし、このままでは、式（２．２３）を計算する際、ｓｉｇｎ（αｓ）＝０となり、このまま係数ベクトルαを更新して求めても、ＫＫＴ条件を満たさない。
【０１１４】
そこで、更新式（２．２３）を次のように変更する。
【０１１５】
【数２４】
2004007139.tif 000026
【０１１６】
この後は、更新式（２．２９）を用いてαを更新することを考える。ここでも、更新前後で、係数ベクトルαｎｓｖの各要素の符号が変化しない範囲で更新を行うために式（２．２４）を次のように変更し、ステップサイズηを求める。
【０１１７】
【数２５】
2004007139.tif 000027
【０１１８】
これ以降は、バッチ処理のところで行ったようにαの更新を行い、αを決定する。
【０１１９】
実際には、本発明においては、以下の実施の形態の前置型非線形歪補償システムの処理において説明するとおり、大量のトレーニングデータセットが与えられている場合についてのＳＶＲを求めるアルゴリズムを用いる。
【０１２０】
このアルゴリズムは，バッチ処理・逐次処理を一つにまとめた計算方法である。
【０１２１】
［実施の形態１］
図４は、本発明の実施の形態１の前置型非線形歪補償システム１０００の構成を説明するための概略ブロック図である。
【０１２２】
図４に示した例では、増幅器１６の出力の歪を前置型非線形歪補償器により補償する構成となっている。
【０１２３】
図４を参照して、本発明の実施の形態１に係る前置型非線形歪補償システム１０００は、無線周波数信号ＳＩＮを中間周波数信号に変換するダウンコンバータ２と、ダウンコンバータ２に接続され、ダウンコンバータ２の出力する中間周波数信号をサンプリングしてデジタル信号に変換するＡ／Ｄ変換器４と、Ａ／Ｄ変換器４に接続され、サンプリングされた中間周波数信号をベースバンド信号ｘ（ｔ）に変換する直交検波器６と、直交検波器６に接続され、信号ｘ（ｔ）を、後述する増幅器１６の逆特性を用いて、ベースバンド信号ｙ（ｔ）の実数部Ｒｅ｛ｙ（ｔ）｝に変換するＳＶＭ５４と、直交検波器６に接続され、信号ｘ（ｔ）を、増幅器１６の逆特性を用いて、ベースバンド信号ｙ（ｔ）の虚数部Ｉｍ｛ｙ（ｔ）｝に変換するＳＶＭ５８と、ＳＶＭ５４および５８に接続され、変換後のベースバンド信号ｙ（ｔ）を中間周波数信号に変換する直交変調器１０と、直交変調器１０に接続され、直交変調器１０の出力する中間周波数信号をアナログ信号に変換するＤ／Ａ変換器１２とを含む。
【０１２４】
なお、本願発明は、図４において、ダウンコンバータ２、Ａ／Ｄ変換器４および直交検波器６からなる受信部１の代わりに、無線送信機のベースバンド信号の出力部が接続されるような態様にも適用可能である。
【０１２５】
前置型非線形歪補償システム１０００は、さらに、Ｄ／Ａ変換器１２に接続され、アナログの中間周波数信号を無線周波数信号Ｓ０に変換し、増幅器１６に供給するアップコンバータ１４と、増幅器１６に接続され、増幅器１６より出力される出力信号ＳＯＵＴを中間周波数信号に変換するダウンコンバータ１８と、ダウンコンバータ１８に接続され、中間周波数信号をデジタル信号に変換するＡ／Ｄ変換器２０と、Ａ／Ｄ変換器２０に接続され、デジタル信号をベースバンド信号ｚ（ｔ）に変換する直交検波器２２とを含む。
【０１２６】
前置型非線形歪補償システム１０００は、さらに、直交検波器２２の出力する信号ｚ（ｔ）と学習に用いたベースバンド信号ベクトルＶ＿ｚ（ｐｉ）（ｉ＝１，…，ｎＲ）とに基づいて、ＳＶＭ５４より出力されるベースバンド信号の実数部の推定値Ｒｅ｛ｙ′（ｔ）｝を出力するＳＶＭ２６と、直交検波器２２の出力する信号ｚ（ｔ）とベースバンド信号ベクトルＶ＿ｚ（ｑｊ）（ｊ＝１，…，ｎＩ）とに基づいて、ＳＶＭ５８より出力されるベースバンド信号の虚数部の推定値Ｉｍ｛ｙ′（ｔ）｝を出力するＳＶＭ６２と、ＳＶＭ５４およびＳＶＭ２６に接続され、ベースバンド信号の実数部の推定値Ｒｅ｛ｙ′（ｔ）｝とベースバンド信号ｙ（ｔ）の実数部Ｒｅ｛ｙ（ｔ）｝との差分を計算する減算器３０と、ＳＶＭ５８およびＳＶＭ６２に接続され、ベースバンド信号の虚数部の推定値Ｉｍ｛ｙ′（ｔ）｝とベースバンド信号ｙ（ｔ）の虚数部Ｉｍ｛ｙ（ｔ）｝との差分を計算する減算器６４と、直交検波部６および直交検波部２２に接続され、信号ベクトルおよびサポートベクトルのサイズｍと増幅器１６による遅延時間ｄとを求めるｍ・ｄ決定部４４と、減算器３０、ＳＶＭ５４、ＳＶＭ２６、直交検波部２２およびｍ・ｄ決定部４４に接続され、減算器３０の出力、直交検波部２２の出力およびｍ・ｄ決定部４４の出力に基づいて、ＳＶＭ５４およびＳＶＭ２６における、増幅器１６の逆特性を有する関数の係数αＲ（ｉ）を更新する係数更新部４２と、減算器６４、ＳＶＭ５８、ＳＶＭ６２、直交検波部２２の出力およびｍ・ｄ決定部４４に接続され、減算器６４の出力、直交検波部２２の出力およびｍ・ｄ決定部４４の出力に基づいて、ＳＶＭ５８およびＳＶＮ６２における、増幅器１６の逆特性を有する関数の係数αＩ（ｊ）を更新する係数更新部６６とを含む。
【０１２７】
ＳＶＭ２６は、後に説明する方法に従い、ベースバンド信号の実数部の推定値Ｒｅ｛ｙ′（ｔ）｝を求める。ＳＶＭ６２は、ＳＶＭ２６と同様の方法に従い、ベースバンド信号の虚数部の推定値Ｉｍ｛ｙ′（ｔ）｝を求める。
【０１２８】
係数更新部４２は、Ｒｅ｛ｙ（ｔ）｝とＲｅ｛ｙ′（ｔ）｝との誤差ｅＲ（ｔ）が最小になるように係数αＲ（ｉ）を制御する。係数更新部６６は、係数更新部４２と同様に、Ｉｍ｛ｙ（ｔ）｝とＩｍ｛ｙ′（ｔ）｝との誤差ｅＩ（ｔ）が最小になるようにαＩ（ｊ）を制御する。
【０１２９】
なお、直交検波器６をアナログで実現し、ダウンコンバータ２の出力を直交検波器６で受け、直交検波器６の出力をＡ／Ｄ変換器４でデジタルに変換し、その出力をＳＶＭ８に供給する構成であっても構わない。また、直交変調器１０をアナログで実現し、ＳＶＭ５４およびＳＶＭ５８の出力をＤ／Ａ変換器１２が受け、Ｄ／Ａ変換器１２の出力を直交変調器１０で受け、直交変調器１０の出力をアップコンバータ１２に供給する構成であっても構わない。さらに、直交検波器２２をアナログで実現し、ダウンコンバータ１８の出力を直交検波器２２で受け、直交検波器２２の出力をＡ／Ｄ変換器２０で受け、Ａ／Ｄ変換器２０の出力をＳＶＭ２６およびＳＶＭ６２に供給する構成であっても構わない。
【０１３０】
（前置型非線形歪補償システム１０００の動作）
以下、前置型非線形歪補償システム１０００の動作について説明する。
【０１３１】
まず、図４において、信号ＳＩＮ、Ｓ０およびＳＯＵＴは、式（１）〜（３）でそれぞれ表わされる。
【０１３２】
2004007139.tif 000028
ｘ（ｔ）、ｙ（ｔ）およびｚ（ｔ）は、それぞれ帯域信号ＳＩＮ、Ｓ０およびＳＯＵＴの複素包絡線　（ベースバンド信号）である。ｊは虚数を表わす。ｆＲＦは無線周波数（Ｒａｄｉｏ　Ｆｒｅｑｕｅｎｃｙ）を表わす。ｔは時刻を表わす。
【０１３３】
［非線形歪補償器の動作原理］
Ｐ＝｜ｙ（ｔ）｜２／２として、増幅器１６のベースバンド領域における入出力特性をｆを複素関数としてｆ（Ｐ）と置くと、ベースバンド信号ｙ（ｔ）およびｚ（ｔ）の関係は、下記の式（４）のように表すことができる。
【０１３４】
さらに、一般に、非線形歪補償器では、ｆ（Ｐ）に対し、次式（５）の関係を満たす入出力特性ｇ（Ｐ）を求めることを目的とする。仮に、入出力特性ｇ（Ｐ）を得ることができれば、次式（６）および（７）が成立ち、ＳＩＮに対してＳＯＵＴを線形化することができる。
【０１３５】
【数２６】
2004007139.tif 000029
【０１３６】
本実施の形態では、ｇ（Ｐ）を、ＳＶＭ２６および係数更新部４２ならびにＳＶＭ６２および係数更新部６６にて推定する。具体的には、ｙ（ｔ）とｚ（ｔ）より推定したｙ′（ｔ）との誤差ｅ（ｔ）が、実部および虚部のそれぞれにおいて最小になるように、ＳＶＭ２６およびＳＶＭ６２の関数の係数を更新する。この計算が収束すれば、ＳＶＭ２６およびＳＶＭ６２により近似される特性は、増幅器１６の逆特性に相当することとなる。
【０１３７】
［逆特性関数の計算］
上述したような逆特性関数の計算のための条件を以下に整理しておく。
・非線形の歪補償のための計算は時間連続信号ではなく離散信号に対して行なわれる。ハードウェア化の際は、Ａ／Ｄ変換器を使用し、連続信号を離散信号に変換し、計算後、離散信号を連続信号にＤ／Ａ変換器により復元する。
・信号処理は帯域系ではなくベースバンド系または中間周波数信号にて行なわれる。ベースバンド系の場合には、増幅器１６は等価的に複素ベースバンド信号ｙ（ｔ）を受け、複素信号ｚ（ｔ）を出力する系と見なすことができる。
【０１３８】
［サポートベクトルマシンの動作説明］
時刻ｋＴ（Ｔ：Ａ／Ｄ変換およびＤ／Ａ変換のサンプリング間隔）のとき、サポートベクトルマシンＳＶＭ５４の出力Ｒｅ｛ｙ（ｋＴ）｝およびＳＶＭ５８の出力Ｉｍ｛ｙ（ｋＴ）｝、ならびにサポートベクトルマシンＳＶＭ２６の出力Ｒｅ｛ｙ′ｓ（ｋＴ）｝およびＳＶＭ６２の出力Ｉｍ｛ｙ′ｓ（ｋＴ）｝は、次式（８）〜（１１）により得られる。
【０１３９】
【数２７】
2004007139.tif 000030
【０１４０】
ここで、変数の接頭辞”Ｖ＿”は、その変数がベクトルであることを表わす。また、ｍは信号ベクトルおよび後述するサポートベクトルのサイズ、ｎＲ、ｎＩは、それぞれ実部および虚部のサポートベクトルマシンのサポートベクトルの数であり、ｐｉはｉ番目のサポートベクトルを取得した時間であり、ｑｊはｊ番目のサポートベクトルを取得した時間である。
【０１４１】
Ｖ＿ｚ（ｐｉＴ）（ｉ＝１，…，ｎＲ），Ｖ＿ｚ（ｑｊＴ）（ｊ＝１，…，ｎＩ）は増幅器１６の入出力特性を学習した結果、時刻ｋＴまでに抽出されたサポートベクトルである。
【０１４２】
αＲ（ｉ），αＩ（ｊ）は、それぞれＶ＿ｚ（ｐｉＴ），Ｖ＿ｚ（ｑｊＴ）に対応した重み係数（実数）である。一般に、αＲ（ｉ）（または、αＩ（ｊ））が零の時、対応するＶ＿ｚ（ｐｉＴ）（または、Ｖ＿ｚ（ｑｊＴ））は計算に加える必要がなく廃却しても構わない。また、非零の係数αＲ（ｉ）（または、αＩ（ｊ））の個数をサポートベクトルマシンの次元と呼ぶ。例えば、非零の係数の個数が７３であればサポートベクトルマシンの次元数は７３である。さらに、この次元数は学習データを増やしても一定値以上に増えることがない。この上界値のことをＶＣ（Ｖａｐｎｉｋ　ａｎｄ　Ｃｈｅｒｖｏｎｅｎｋｉｓ）次元と呼ぶ。
【０１４３】
Ｋ（Ｖ＿ｘ，Ｖ＿ｙ）は「内積カーネル」の関数であり、本実施の形態では、内積カーネルの線形和である式（８）〜（１１）を、適切な係数αＲ（ｉ），αＩ（ｊ）を選択することにより、増幅器１６の入出力特性の逆特性ｇ（Ｐ）に適合させることを目標とする。このように未知の関数にシステムの入出力関数を適合させるような問題全般を総称して「回帰問題」という。次式（１５）〜（１７）は、一般的に用いられる内積カーネルの例である。
【０１４４】
【数２８】
2004007139.tif 000031
【０１４５】
どの内積カーネルが逆関数を表現するのに最も適しているかはシステムにより異なり、実際には動作前に何度か試験をした上で最も特性のよいものを選択する。もちろん、上記以外の関数でも逆関数ｇ（Ｐ）をよりよく推定でき、かつ期待する効果が得られるのであれば、その関数を使用してもよい。
【０１４６】
［係数更新部４２の動作説明］
以下では、サポートベクトルに対応する係数αＲ（ｉ），αＩ（ｊ）の更新計算を行う係数更新部４２および係数更新部６６の動作について説明する。
【０１４７】
上述したとおり、係数更新部４２は、Ｒｅ｛ｙ（ｔ）｝とＲｅ｛ｙ′（ｔ）｝との誤差ｅＲ（ｔ）が最小になるように係数αＲ（ｉ）を制御する。一方、係数更新部６６は、Ｉｍ｛ｙ（ｔ）｝とＩｍ｛ｙ′（ｔ）｝との誤差ｅＩ（ｔ）が最小になるように係数αＩ（ｊ）を制御する。
【０１４８】
【数２９】
2004007139.tif 000032
【０１４９】
なお、以下では、表記を簡単にするためＴ＝１としている。このようにしても一般性を失うことはない。
【０１５０】
係数αＲ（ｉ）は、次式（２０）で表わされる評価関数Ｗを最大化するという最適化問題を解くことにより得られる。また、係数αＩ（ｊ）についても同様である。
【０１５１】
【数３０】
2004007139.tif 000033
【０１５２】
ただし、定数Ｃと定数εは、通常、実験的に求められる。
増幅器１６の入出力特性の学習が完了するまでの間はサポートベクトルの追加・削除が繰返されるが、これと対応して係数αＲ（ｉ），αＩ（ｊ）の値を更新する必要がある。
【０１５３】
以下では、係数更新部４２の動作を例にとって説明する。係数更新部６６の動作も、入力される変数が異なるのみで、基本的に係数更新部４２と同様である。
【０１５４】
なお、後に詳しく説明するように、係数更新部４２の更新の計算の特徴の１つは、以下のようにして逐次的に係数αＲ（ｉ）の値を更新することである。
（１）　更新の計算の途中において、係数更新部４２は、ｎ−１組のサポートベクトルＶ＿ｚ（ｐｉ）および係数αＲ（ｉ）を取得している状態となる。
（２）　係数更新部４２は、さらに、ｎ個目のサポートベクトルの候補としてデータＶ＿ｚ（ｐｎ）を入手する。
（３）　Ｖ＿ｚ（ｐｎ）をサポートベクトルと見なし、その係数をαＲ（ｎ）＝０とおく。
（４）　Ｖ＿ｚ（ｐｎ）が加わったことによる最適解からのずれ（摂動）を補正するため、αＲ（ｉ）（ｉ＝１，…，ｎ）に関して誤差分（摂動分）ΔαＲ（ｉ）を計算する。
【０１５５】
上述のように逐次サポートベクトルを抽出することにより、１回の係数更新において計算対象となる係数の数を削減できるので、計算量を削減することができる。
【０１５６】
［係数の更新の具体的な計算方法］
係数の更新方法の具体例を以下に示す。ただし、この具体例は実現の一例であって、必ずしもこの通りである必要はない。
【０１５７】
図５および図６は、このような係数の更新の具体的な計算方法を説明するためのフローチャートである。
【０１５８】
図５を参照して、係数更新部４２は、まず、取得済みのＮ個の学習データセットからｎ個のデータセット（Ｖ＿ｚ（Ｐｉ），Ｒｅ｛ｙｓ（Ｐｉ）｝）（ｉ＝１〜ｎ）を取り出し、これらをサポートベクトルに採用する（ステップ１００）。
【０１５９】
次に、係数更新部４２は、上記サポートベクトルに対応する係数の第１次近似と、その符号ベクトルＳＲを、以下の式（２１）および（２２）により計算する（ステップ１０２）。
【０１６０】
【数３１】
2004007139.tif 000034
【０１６１】
さらに、ステップサイズベクトル［ηＲ（１），…，ηＲ（ｎ）］Ｔを以下の式（２４）および（２５）により計算する（ステップＳ１０４）。
【０１６２】
【数３２】
2004007139.tif 000035
【０１６３】
ステップサイズベクトルの要素の中で０以上でもっとも小さい要素をηＲ（ν）とし（ステップＳ１０６）、要素ηＲ（ν）が１以上であるか否かを判定する（ステップＳ１０８）。
【０１６４】
まず、要素ηＲ（ν）が１未満である場合、続いて、要素ηＲ（ν）を用いて、以下の式（２６）により、係数ベクトル［αＲ（１），…，αＲ（ｎ）］Ｔを更新する（ステップＳ１１０）。
【０１６５】
【数３３】
2004007139.tif 000036
【０１６６】
その上で、（Ｖ＿ｚ（Ｐν），Ｒｅ｛ｙｓ（Ｐν）｝）を余分なデータセットとして、サポートベクトルから削除し、係数αＲ（Ｐν）も削除する（ステップＳ１１２）。このような削除に対応して、ｉ＞νについて、以下の表にしたがって、ｉ番目の学習データを取得した時間、および係数αＲ（ｉ）の番号を読替える。
【０１６７】
【表１】
2004007139.tif 000037
【０１６８】
さらに、（ｎ−１）を新たにｎと読替える処理を行う（ステップＳ１１４）。以上の読替えの手続きの後、処理はステップＳ１０４に復帰する。
【０１６９】
一方、ステップＳ１０８において、要素ηＲ（ν）が１以上である場合、以下の式（２７）により、改めて係数ベクトルを計算する（ステップＳ１１６）。
【０１７０】
【数３４】
2004007139.tif 000038
【０１７１】
次に、図６を参照して、新しい学習データセット（Ｖ＿ｚ（ｋ），Ｒｅ｛ｙｓ（ｋ）｝）の取得が行われる（ステップＳ１１８）。
【０１７２】
さらに、以下の式（２８）により、誤差ｅＲが計算される（ステップ１２０）。続いて、誤差ｅＲとしきい値ε´との比較が行われて（ステップＳ１２２）、｜ｅＲ｜＜ε´であれば、処理は、ステップＳ１１８に復帰する。なお、ここで、ε≦ε´である。
【０１７３】
【数３５】
2004007139.tif 000039
【０１７４】
一方、｜ｅＲ｜≧ε´であれば、以下の式（２９）〜（３０）にしたがって、係数αＲ（１），…，αＲ（ｎ），および誤差ｅＲのそれぞれについて、符号を計算し、符号ベクトルを置き換え（ステップＳ１２４）、［αＲ（１），…，αＲ（ｎ），０］を新たに係数ベクトルに置き換えるとともに、（ｎ＋１）を新たにｎと置き換える（ステップＳ１２６）。
【０１７５】
【数３６】
2004007139.tif 000040
【０１７６】
（Ｖ＿ｚ（ｋ），Ｒｅ｛ｙｓ（ｋ）｝）をｎ番目のサポートベクトル（Ｖ＿ｚ（Ｐｎ），Ｒｅ｛ｙｓ（Ｐｎ）｝）として採用して、処理はステップＳ１０４に復帰する（ステップＳ１２８）。
【０１７７】
以上の処理により、係数更新部４２は、逐次適応的に係数ベクトルの更新を行う。
【０１７８】
［サポートベクトルマシンＳＶＭ５４，５８の動作説明］
ＳＶＭ５４は、係数更新部４２で更新された係数αＲ（ｉ）を用いて、上述した式（８）に従い、ベースバンド信号ｘ（ｔ）をベースバンド信号Ｒｅ｛ｙ（ｔ）｝に変換する。サポートベクトルマシンＳＶＭ５８は、上述したのと同様の手続きで、係数更新部６６で更新された係数αＩ（ｉ）を用いて、上述した式（９）に従い、ベースバンド信号ｘ（ｔ）をベースバンド信号Ｉｍ｛ｙ（ｔ）｝に変換する。
【０１７９】
［逐次計算における特徴的手続きの説明］
以上、図５および図６により、サポートベクトルマシンを用いて、非線形なプロセスであって、当該プロセスを表現する変数が複素数で表される場合に、回帰問題を解くことにより、前置型非線形歪補償システムを実現するための構成について説明した。特に、上記係数更新部４２の行う処理において、特徴的な手続きについて、以下に説明を付け加えておく。
【０１８０】
図７は、１入力１出力の非線形回帰ｆ：ｘ→ｙに関して、サポートベクトルマシンによる近似学習がある程度進んだ状態において、サポートベクトルによる学習データの近似特性を示す概念図である。
【０１８１】
図７においては、「損失」は、ε不感２次損失関数に基づく近似特性を表しているものとする。つまり、「損失」は、不感帯の片側幅を近似特性に加減して得られた２つの不感帯境界値のうち、学習データに近い方の不感帯境界値を減算することにより得られる値と定義する。
【０１８２】
図７で、２重丸はサポートベクトルであるデータを表しており、１重丸は、サポートベクトルによる近似特性に対する不感帯の内側に存在し、サポートベクトルではないデータを表す。なお、サポートベクトルの定義により、図７中で２重丸で表されるデータが真のサポートベクトルであるときは、この真のサポートベクトルの外側には、サポートベクトルは存在しない。
【０１８３】
ここで、たとえば、サポートベクトルによる近似特性の上側であって、かつ、不感帯の外側にあるサポートベクトルのデータＤ１＝（ｘ１，ｙ１）について見てみると、このデータＤ１についての損失Ｌ１は、以下の式で表される。
【０１８４】
Ｌ１＝α１／Ｃ
なお、ここで、α１はサポートベクトルｘ１に対する係数である。このとき、データＤ１の損失は、このデータがサポートベクトルによる近似特性の上側にあることに対応して、「上向き、かつ、外向き」であり、α１＞０である。
【０１８５】
一方、たとえば、サポートベクトルによる近似特性の下側であって、かつ、
不感帯の外側にあるサポートベクトルのデータＤ２＝（ｘ２，ｙ２）について見てみると、このデータＤ２についての損失Ｌ２も、Ｌ２＝α２／Ｃで表される。
【０１８６】
このとき、データＤ２の損失は、このデータがサポートベクトルによる近似特性の下側にあることに対応して、「下向き、かつ、外向き」であり、α２＜０である。
【０１８７】
（ステップＳ１２２におけるε´の値の設定）
ε´の値は、本来の不感帯を定義する値εと同じ値としても計算を実行することは可能である。しかし、本願発明では、ε´の値を本来の不感帯を定義する値εよりも大きくしている。
【０１８８】
そこで、以上の準備のもとに、まず、図６のステップＳ１２２において、ε´の値を本来の不感帯を定義する値εよりも大きくする理由について、まず、説明する。
【０１８９】
図８は、このようにε´の値を本来の不感帯を定義する値εよりも大きくすることの効果を説明するための概念図である。
【０１９０】
なお、εで決まる本来の不感帯に対し、εをステップＳ１２２のε´で置換えた場合に、ε´で決まる領域を本来の不感帯に対する「拡張不感帯」と定義する。
【０１９１】
拡張不感帯はステップＳ１２２のみにおいて用いられ、他のステップにおける不感帯は、εで決定される。
【０１９２】
図８においては、学習途中のサポートベクトルによる近似特性が直線ＬＳＶで表され、この近似特性よりもさらに近似が進んだ状態の近似特性が曲線ＣＳＶで表されているものとする。ただし、「学習途中のサポートベクトルによる近似特性」を直線としたのは、説明の便宜のためであって、より一般には、この特性も曲線で表される。
【０１９３】
まず、近似特性ＬＳＶについて、拡張不感帯をしきい値ε´（＝ε）で定義した場合は、データＤ３は、最終的にはサポートベクトルにはならないデータであるものの、近似特性ＬＳＶの段階では、サポートベクトルとして選択されることになる。これは、拡張不感帯を定義するしきい値を、しきい値εよりも大きなしきい値ε´（１）で定義した場合も同様である。
【０１９４】
これに対して、近似特性ＬＳＶについて、拡張不感帯をしきい値ε´（１）よりもさらに大きなしきい値ε´（２）で定義した場合は、データＤ３は、近似特性ＬＳＶの段階でも、サポートベクトルとして選択されない。
【０１９５】
上述したとおり、本発明においては、計算量を低減するために、逐次計算の途中において、サポートベクトルとして選択されなくなったデータを計算の対象から除外している。
【０１９６】
したがって、図６のステップＳ１２２において使用するしきい値ε´を、予め本来の不感帯に対応するしきい値εよりも大きなしきい値ε´としておけば、計算が進むにつれて、除外されていくはずのデータをそもそもサポートベクトルとして選択する確率が小さくなるので、一層の計算量の低減を期待できる。
【０１９７】
すなわち、１度、サポートベクトルとして抽出した古いデータセットが、学習（新しいサポートベクトルの追加）が進むにつれ、サポートベクトルとして不要となり除去されることが繰り返され、最終的には新しいサポートベクトルの追加が不要となって学習が終了することになる。しかしながら、「サポートベクトルの追加・除去の繰り返し」を低減することにより、計算量を削減するとともに学習の終了までの時間を短縮することが可能となる。
【０１９８】
なお、新しいサポートベクトルの追加の頻度が低下するにつれてしきい値ε´（≧ε）をεに近づけていくという処理を行うことも可能である。この場合、ある程度の近似精度までは早期に学習することになり、かつ、最終的な精度εも確実に得ることが可能となる。
【０１９９】
また、係数更新部４２や係数更新部６６において、直交検波器２２から受取る学習データの数をカウントするカウンタを備えて、一定数のデータを受取るごとにしきい値ε´を更新しつつ、εに近づけていくという処理を行うことも可能である。
【０２００】
あるいは、係数更新部４２や係数更新部６６において、時間を計測するカウンタまたは抽出されたサポートベクトルの数をカウントするカウンタを有し、処理期間の長さに対応して、しきい値ε´を更新しつつ、εに近づけていくという処理を行うことも可能である。
【０２０１】
（サポートベクトルを削除する基準）
さらに、図５のステップＳ１１０からＳ１１４において、サポートベクトルを削除する基準について、さらに説明する。
【０２０２】
図９は、図８で示される状態から、近似特性の逐次計算を進めた場合に、余分となったサポートベクトルの除去を行う手続きを説明するための概念図である。
【０２０３】
以下の説明では、図８で示される状態で、しきい値εと近似特性ＬＳＶにより決まる不感帯の外にデータＤ３があるため、データＤ３がサポートベクトルとして選択されており、図９に示す状態に近似を進めると、このデータＤ３がサポートベクトルから除去され、一方、データＤ１が新たにサポートベクトルとして追加されるものとする。
【０２０４】
図１０は、図９において、データＤ３について、損失の変化を説明するための概念図である。
【０２０５】
なお、ここでは、直線ＬＳＶで表される近似特性で、このデータＤ３に対応する係数をαｉ（１）とし、曲線ＣＳＶで表される近似特性でのデータＤ３に対応する係数をαｉ（２）と表すものとする。
【０２０６】
直線ＬＳＶの不感帯の境界の外側にデータＤ３が存在することに対応して、直線ＬＳＶに対するデータＤ３の損失は、αｉ（１）／Ｃ（αｉ（１）＞０）となる。
【０２０７】
これに対して、曲線ＣＳＶの不感帯の境界の内側にデータＤ３が存在することに対応して、曲線ＣＳＶに対するデータＤ３の損失は、αｉ（２）／Ｃ（αｉ（２）＜０）となる。
【０２０８】
したがって、近似が進んで、サポートベクトルによる近似特性が、直線ＬＳＶ（より一般的には曲線）から、曲線ＣＳＶへと変化することによる損失の変化量を、−Δαｉ／Ｃとすると、ステップＳ１０８で用いたステップサイズηは、η＝−αｉ（１）／Δαｉと表される。
【０２０９】
このとき、０≦η＜１が成り立っていれば、図１０で示すように、直線ＬＳＶ（より一般的には曲線）の不感帯の境界と曲線ＣＳＶの不感帯の境界との間にデータＤ３が存在することになる。これは、言い換えると、「データＤ３は、サポートベクトルによる近似特性が、直線ＬＳＶ（より一般的には曲線）から、曲線ＣＳＶと変化することにより、サポートベクトルから除去されるデータとなった」ということができる。なお、以上の説明では、データが近似特性の上側にある場合について説明したが、データが近似特性の下側にある場合にも同様である。
【０２１０】
したがって、図５のステップＳ１０８におけるような基準で判断することにより、それまでサポートベクトルとして選択していたデータをサポートベクトルから除外するべきか否かを判断することが可能となる。
【０２１１】
上述の例では、入出力特性が不明な、非線形の入出力特性を有する増幅器１６の出力の補正に対して、サポートベクトルマシンを用いたが、本発明は増幅器１６に対してのみ適用可能なわけではない。一般的に、入力される信号が複素数で表現でき、かつ入出力特性が不明な信号の変換回路に対しても本発明を適用することが可能である。
【０２１２】
以上説明したように、本実施の形態によると、ＳＶＭ２６およびＳＶＭ６２を用いて、増幅器１６の逆特性を有する信号を推定する。その信号とＳＶＭ５４およびＳＶＭ５８より出力される信号とに基づいて、係数更新部４２および係数更新部６６において、増幅器１６の逆特性を有する関数の係数が更新される。
【０２１３】
この構成では、ルックアップテーブルを必要としないため、ノイズフロアを低く押さえることができ、かつ、入力が複素信号である場合に適用可能であるので、簡単な構成で前置型非線形歪補償器を提供することができる。また、サポートベクトルマシンは、ｐｔｈ−ｏｒｄｅｒ−ｐｒｅｄｉｓｔｏｒｔｅｒに比べて、計算が簡単で収束時間が早い。さらに、学習する過程で、一度、サポートベクトルに加えられた信号ベクトルにおいて、不要となったサポートベクトルが削除されるため、高速処理が可能な前置型非線形歪補償器を提供することができる。
【０２１４】
また、広帯域信号が入力された場合、増幅器の非線形性が信号帯域に比較して狭帯域の場合にもデータベクトルのサイズｍを適切に設定することにより補償することが可能である。
【０２１５】
［実施の形態２］
図１１は、本発明の実施の形態２の前置型非線形歪補償システム２０００の構成を説明するための概略ブロック図である。
【０２１６】
図１１に示した例でも、増幅器１６の出力の歪を前置型非線形歪補償器により補償する構成となっている。
【０２１７】
図１１に示した前置型非線形歪補償システム２０００では、ＳＶＭ５４、ＳＶＭ５８およびＳＶＭ２６において、サポートベクトルマシンの実数入力端子ＮＲｅと虚数入力端子ＮＩｍを明示的に示している。
【０２１８】
図１１に示した前置型非線形歪補償システム２０００の構成が、図１に示した前置型非線形歪補償システム１０００の構成と異なる点は、以下のとおりである。
【０２１９】
まず、直交変調器６の出力のうち実数成分のＲｅ｛ｘ（ｔ）｝を受けて、（−１）を乗算した値を出力する乗算器７が設けられている。
【０２２０】
さらに、ＳＶＭ５８の実数入力端子ＮＲｅへは、直交変調器６の出力のうち、虚数成分のＩｍ｛ｘ（ｔ）｝が入力され、ＳＶＭ５８の虚数入力端子ＮＩｍには、乗算器７の出力が与えれる。
【０２２１】
これに応じて、ＳＶＭ５８の出力Ｉｍ｛ｙ（ｋＴ）｝を以下のような内積カーネルにより計算するものとする。
【０２２２】
【数３７】
2004007139.tif 000041
【０２２３】
さらに、ＳＶＭ６２、減算器６４、係数更新部６６が省略され、ＳＶＭ５４およびＳＶＭ５８は、ともに係数更新部４２において更新される係数αＲ（ｉ）を用いて演算を行う構成となっている。
【０２２４】
前置型非線形歪補償システム２０００の構成は、以上のような置き換えを行う以外は、前置型非線形歪補償システム１０００の構成と同様であるので、同一部分には同一符号を付してその説明は繰り返さない。
【０２２５】
このような置き換えを行えば、前置型非線形歪補償システム１０００で説明したのと同様の手続きで、ＳＶＭ２６を用いて、増幅器１６の逆特性を有する信号を推定することが可能である。
【０２２６】
したがって、以上のような構成により、前置型非線形歪補償システム１０００よりも、より簡単な構成で、実施の形態１と同様の効果を奏することができる。
【０２２７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０２２８】
【発明の効果】
以上説明したとおり、本発明によれば、サポートベクトルマシンを用いて、増幅器等の信号の変換回路の逆特性を有する信号を推定するので、ルックアップテーブルを必要としないため、ノイズフロアを低く押さえることができる。
【０２２９】
しかも、入力が複素信号である場合に適用可能であるので、簡単な構成で前置型非線形歪補償器を提供することも可能となる。
【０２３０】
さらに、学習する過程で、一度、サポートベクトルに加えられた信号ベクトルにおいて、不要となったサポートベクトルが削除されるため、高速処理が可能である。
【０２３１】
また、広帯域信号が入力された場合、増幅器の非線形性が信号帯域に比較して狭帯域の場合にもデータベクトルのサイズを適切に設定することにより補償することが可能である。
【図面の簡単な説明】
【図１】線形ε不感損失関数および二次ε不感損失関数を示す図である。
【図２】線形近似関数とサポートベクトルとの関係を示す概念図である。
【図３】非線形近似関数とサポートベクトルを示す概念図である。
【図４】本発明の実施の形態１の前置型非線形歪補償システム１０００の構成を説明するための概略ブロック図である。
【図５】係数の更新の具体的な計算方法を説明するための第１のフローチャートである。
【図６】係数の更新の具体的な計算方法を説明するための第２のフローチャートである。
【図７】サポートベクトルマシンによる近似学習がある程度進んだ状態において、サポートベクトルによる学習データの近似特性を示す概念図である。
【図８】ε´の値を本来の不感帯を定義する値εよりも大きくすることの効果を説明するための概念図である。
【図９】近似特性の逐次計算を進めた場合に、余分となったサポートベクトルの除去を行う手続きを説明するための概念図である。
【図１０】図９において、データＤ３について、損失の変化を説明するための概念図である。
【図１１】本発明の実施の形態２の前置型非線形歪補償システム２０００の構成を説明するための概略ブロック図である。
【符号の説明】
２，１８　ダウンコンバータ、４，２０　Ａ／Ｄ変換器、６，２２　直交検波器、５４，５８，２６，６２　ＳＶＭ、１０　直交変調器、１２　Ｄ／Ａ変換器、１４　アップコンバータ、１６　増幅器、３０，６４　減算器、４２，６６　係数更新部。
【図１】
2004007139.tif 000042
【図２】
2004007139.tif 000043
【図３】
2004007139.tif 000044
【図４】
2004007139.tif 000045
【図５】
2004007139.tif 000046
【図６】
2004007139.tif 000047
【図７】
2004007139.tif 000048
【図８】
2004007139.tif 000049
【図９】
2004007139.tif 000050
【図１０】
2004007139.tif 000051
【図１１】
2004007139.tif 000052