(57)【要約】【課題】オフセットの累積を抑制する処理における処理量を削減する。【解決手段】歪補償装置は、ＬＵＴ４２と、線形項係数テーブル４１と、第１の更新量算出部５３と、加算器５２と、加算器５７とを有するＬＵＴ４２は、入力信号x(n)のフィルタリングに用いられるフィルタリング係数に含まれる線形項の係数および非線形項の係数のうち、非線形項の係数を、入力信号x(n)から求まる規定アドレス以外のアドレスに対応付けて保持する。線形項係数テーブル４１は、規定アドレスにおける線形項の係数を保持する。第１の更新量算出部５３は、出力信号に基づいて、非線形項の係数の更新量、および、線形項の係数の更新量を、それぞれ算出する。加算器５２は、非線形項の係数の更新量に基づいて、ＬＵＴ４２内の各係数を更新する。加算器５７は、線形項の係数の更新量に基づいて、線形項係数テーブル４１内の各係数を更新する。【選択図】図５
2018011139.tif 000002
【特許請求の範囲】
【請求項１】
電力増幅器に入力される入力信号をフィルタリングすることにより、前記電力増幅器から出力される出力信号の歪を補償する歪補償装置において、
前記入力信号のフィルタリングに用いられるフィルタリング係数に含まれる線形項の係数および非線形項の係数のうち、前記非線形項の係数を、前記入力信号から求まる規定アドレス以外のアドレスに対応付けて保持する第１のテーブルと、
前記規定アドレスにおける前記線形項の係数を保持する第２のテーブルと、
前記出力信号に基づいて、前記非線形項の係数の更新量、および、前記線形項の係数の更新量を、それぞれ算出する算出部と、
前記非線形項の係数の更新量に基づいて、前記第１のテーブル内の各係数を更新する第１の更新部と、
前記線形項の係数の更新量に基づいて、前記第２のテーブル内の各係数を更新する第２の更新部と
を有することを特徴とする歪補償装置。
【請求項２】
前記線形項の係数の更新量を、前記第１のテーブル内の各係数から差し引くことにより、前記第１のテーブル内の各係数を補正する補正部を有し、
前記第２の更新部は、
遅延タイミング毎に、更新後の前記線形項の係数を累積加算することにより、前記第２のテーブル内の各係数を更新することを特徴とする請求項１に記載の歪補償装置。
【請求項３】
前記補正部は、
前記算出部によって前記線形項の係数の更新量が算出された場合に、算出された前記線形項の係数の更新量に基づいて、前記第１のテーブル内の各係数を補正することを特徴とする請求項２に記載の歪補償装置。
【請求項４】
前記第１の更新部は、
前記規定アドレスに対応する線形項の係数の値を基準として、前記第１のテーブル内の各アドレスに対応する係数の値が連続性を満たすように更新することを特徴とする請求項１に記載の歪補償装置。
【請求項５】
前記第１の更新部は、
前記第１のテーブル内の各アドレスの係数において、更新対象のアドレスの係数の値を、前記更新対象のアドレスに隣接するアドレスの係数の値から所定範囲内の値となるように更新することにより、前記連続性を満たすように前記第１のテーブル内の各アドレスに対応する係数の値を更新することを特徴とする請求項４に記載の歪補償装置。
【請求項６】
前記第１の更新部は、
前記第１のテーブル内の各アドレスの係数において、更新対象のアドレスの係数の値を、前記更新対象のアドレスに隣接する２つのアドレスの係数の平均値から所定範囲内の値となるように更新することにより、前記連続性を満たすように前記第１のテーブル内の各アドレスに対応する係数の値を更新することを特徴とする請求項４に記載の歪補償装置。
【請求項７】
電力増幅器に入力される入力信号をフィルタリングすることにより、前記電力増幅器から出力される出力信号の歪を補償する歪補償装置における歪補償方法において、
前記入力信号のフィルタリングに用いられるフィルタリング係数に含まれる線形項の係数および非線形項の係数のうち、前記非線形項の係数を、前記入力信号から求まる規定アドレス以外のアドレスに対応付けて保持する第１のテーブルと、
前記規定アドレスにおける前記線形項の係数を保持する第２のテーブルと
を有する前記歪補償装置が、
前記出力信号に基づいて、前記非線形項の係数の更新量、および、前記線形項の係数の更新量を、それぞれ算出し、
前記非線形項の係数の更新量に基づいて、前記第１のテーブル内の各係数を更新し、
前記線形項の係数の更新量に基づいて、前記第２のテーブル内の各係数を更新する
処理を実行することを特徴とする歪補償方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、歪補償装置および歪補償方法に関する。
【背景技術】
【０００２】
無線送信装置には、送信信号の電力を増幅する電力増幅器が設けられている。無線送信装置では、一般的に、電力増幅器の電力効率を高めるために、飽和領域付近で電力増幅器を動作させる。しかし、電力増幅器を飽和領域付近で動作させる場合、電力増幅器の非線形歪が増大する。そこで、この非線形歪を抑えるために、無線送信装置には、非線形歪を補償する歪補償装置が設けられる。
【０００３】
歪補償装置で用いられる歪補償方式の一つに「デジタルプリディストーション（以下では「ＤＰＤ」と記載する）方式」がある。ＤＰＤ方式を用いた歪補償装置では、電力増幅器の非線形歪の逆特性を有する歪補償係数が電力増幅器に入力される入力信号に予め乗算される。これにより、電力増幅器における非線形歪が相殺される。
【０００４】
また、電力効率が高い電力増幅器には、メモリ効果と呼ばれる現象が発生することが知られている。メモリ効果とは、ある時点の電力増幅器の入力に対する出力が過去の時点の入力の影響を受ける現象である。電力増幅器のメモリ効果を補償する技術として、ボルテラ級数を用いた歪補償方式が知られている。また、ボルテラ級数における級数項を限定した一般化メモリポリノミアルモデルを用いた歪補償方式も知られている。
【０００５】
しかし、一般化メモリポリノミアルモデルをそのまま実装することは、処理量や回路規模の点で好ましくない。そこで、処理量や回路規模の削減の観点から、一般化メモリポリノミアルモデルに含まれる級数部分をＬＵＴ（Look  Up  Table）として予め準備しておく歪補償方式が知られている。ＬＵＴを用いた歪補償方式では、電力増幅器の出力がフィードバックされ、フィードバックされた信号に基づいて、ＬＵＴ内の各係数が随時更新される。
【０００６】
ところで、ＬＵＴを用いた歪補償方式では、電力増幅器からのフィードバック信号に基づく係数の更新の過程で、係数にオフセットが累積する場合がある。オフセットの累積により各係数の値が大きくなると、各係数の値が、無線送信装置において各係数に割り当てられた数値範囲を超えてしまい、歪を正しく補正することが困難となる。
【０００７】
これを防止するために、ＬＵＴ内の係数の平均値をオフセットとして推定し、推定したオフセットを各係数から差し引くことでＬＵＴ内の係数を補正し、歪補償を行う際には、推定したオフセットを加算することで元の係数を再現する技術が知られている。また、ＬＵＴ内の各係数の値を更新する際に、規定の忘却係数α（０＜α＜１）を掛けることで、累積されるオフセットを小さくする技術も知られている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１２−２３５３１６号公報
【特許文献２】特開２０１２−２３８９６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
オフセットの累積を抑制する従来の処理では、処理量が大きい。そのため、オフセットの累積を抑制するための処理における処理量の削減が求められている。
【００１０】
本願に開示の技術は、オフセットの累積を抑制する処理における処理量を削減する。
【課題を解決するための手段】
【００１１】
１つの側面では、電力増幅器に入力される入力信号をフィルタリングすることにより、電力増幅器から出力される出力信号の歪を補償する歪補償装置は、第１のテーブルと、第２のテーブルと、算出部と、第１の更新部と、第２の更新部とを有する。第１のテーブルは、入力信号のフィルタリングに用いられるフィルタリング係数に含まれる線形項の係数および非線形項の係数のうち、非線形項の係数を、入力信号から求まる規定アドレス以外のアドレスに対応付けて保持する。第２のテーブルは、規定アドレスにおける線形項の係数を保持する。算出部は、出力信号に基づいて、非線形項の係数の更新量、および、線形項の係数の更新量を、それぞれ算出する。第１の更新部は、非線形項の係数の更新量に基づいて、第１のテーブル内の各係数を更新する。第２の更新部は、線形項の係数の更新量に基づいて、第２のテーブル内の各係数を更新する。
【発明の効果】
【００１２】
１実施形態によれば、オフセットの累積を抑制する処理における処理量を削減することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１における歪補償装置の一例を示すブロック図である。
【図２】図２は、実施例１における第１の歪補償部の一例を示す図である。
【図３】図３は、実施例１におけるＬＵＴの一例を示す図である。
【図４】図４は、実施例１における第２の歪補償部の一例を示す図である。
【図５】図５は、実施例１における係数更新部の一例を示す図である。
【図６】図６は、実施例１における歪補償処理の一例を示すフローチャートである。
【図７】図７は、実施例１における係数更新処理の一例を示すフローチャートである。
【図８】図８は、実施例２における係数更新部の一例を示す図である。
【図９】図９は、実施例２における係数更新処理の一例を示すフローチャートである。
【図１０】図１０は、実施例３における係数更新部の一例を示す図である。
【図１１】図１１は、更新量制限処理の一例を説明する図である。
【図１２】図１２は、実施例３における係数更新処理の一例を示すフローチャートである。
【図１３】図１３は、歪補償装置のハードウェアの一例を示す図である。
【図１４】図１４は、更新量制限処理の他の例を説明する図である。
【図１５】図１５は、比較例における歪補償装置の一例を示すブロック図である。
【図１６】図１６は、比較例における第１の歪補償部の一例を示す図である。
【図１７】図１７は、比較例におけるＬＵＴの一例を示す図である。
【図１８】図１８は、比較例における第２の歪補償部の一例を示す図である。
【図１９】図１９は、比較例における係数更新部の一例を示す図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する歪補償装置および歪補償方法の実施例を、図面に基づいて詳細に説明する。なお、以下の実施例は開示の技術を限定するものではない。また、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００１５】
［比較例における歪補償装置１０ａの構成］
まず、本願において開示される歪補償装置１０を説明する前に、比較例における歪補償装置１０ａについて説明する。図１５は、比較例における歪補償装置１０ａの一例を示すブロック図である。比較例における歪補償装置１０ａは、ＲＦデジタル部、ＲＦアナログ部、およびアンテナ１５を有する。ＲＦアナログ部は、ＤＡＣ（Digital  to  Analog  Converter）１１、ミキサ１２、発振器１３、電力増幅器１４、カプラ１６、発振器１７、ミキサ１８、およびＡＤＣ（Analog  to  Digital  Converter）１９を有する。ＲＦデジタル部は、第１の歪補償部２００および更新処理部３００を有する。更新処理部３００は、保持部３１０、保持部３２０、減算器３３０、第２の歪補償部４００、および係数更新部５００を有する。
【００１６】
次に、図１５を参照して、前提とする歪補償装置システムの基本構成を説明する。本明細書では、具体例として、インダイレクトラーニング（ＩＤＬ）方式を用いた歪補償システムについて説明する。ただし、ダイレクトラーニング方式を用いた歪補償システムにおいても、以下の説明はほぼ成り立つ。
【００１７】
ＢＢ（Base  Band  signal）処理装置は、送信データを生成し、チャネルフィルタリングおよびオーバーサンプリング等の信号処理を行い、送信信号データx(n)を出力する。なお、送信信号データx(n)は、複素シンボルであり、nはサンプルタイミングを示す。また、以下では、送信信号データx(n)を、入力信号x(n)と記載する場合がある。
【００１８】
第１の歪補償部２００は、ＢＢ処理装置から出力された送信信号データx(n)に対して、歪補償係数に基づいて歪補償処理（以下、ＤＰＤと記載する場合がある）を行う。第１の歪補償部２００による歪補償処理の結果をu(n)と定義する。ＢＢ処理装置から出力された送信信号データx(n)、および、第１の歪補償部２００によって歪補償された信号u(n)は、保持部３１０に保持される。
【００１９】
第１の歪補償部２００によって歪みが補償された信号u(n)は、ＲＦアナログ部に入力され、実際にアンテナ１５から送信される信号へと変換される。具体的には、第１の歪補償部２００によって歪みが補償されたデジタルベースバンド信号である信号u(n)は、ＤＡＣ１１によりアナログ信号に変換され、ミキサ１２および発振器１３によって変調される。そして、変調された信号は、電力増幅器１４によって所定の電力まで増幅され、アンテナ１５から送信される。電力増幅器１４の出力は、カプラ１６を介してフィードバックされ、発振器１７およびミキサ１８により復調される。そして、復調された信号は、ＡＤＣ１９によってデジタル信号に変換される。ＡＤＣ１９によって変換されたデジタルベースバンド信号をy(n)と定義する。
【００２０】
ＲＦアナログ部からフィードバックされた信号y(n)は、保持部３２０に保持される。第２の歪補償部４００は、保持部３１０に保持された送信信号データx(n)に基づいて、保持部３２０に保持された信号y(n)に対して、歪補償処理を行う。第２の歪補償部４００による歪補償処理の結果をv(n)と定義する。
【００２１】
減算器３３０は、保持部３１０に保持された歪補償後の信号u(n)と、第１の歪補償部２００によって歪みが補償された信号v(n)とに基づいて、誤差データe(n)＝u(n)−v(n)を算出する。係数更新部５００は、誤差データe(n)と、ＲＦアナログ部からフィードバックされた信号y(n)とを用いて、第２の歪補償部４００内の歪補償係数を更新する。そして、係数更新部５００は、所定のタイミングで、第２の歪補償部４００内の歪補償係数を第１の歪補償部２００にコピーすることにより、第１の歪補償部２００内の歪補償係数を更新する。
【００２２】
［ＤＰＤの概要］
一般に、電力増幅器は、入力電力が低い領域では期待される線形の入出力特性を示すが、入力電力が高い領域では、飽和特性を示す。飽和特性を示す領域で電力増幅器を動作させると、電力増幅器から出力される信号に含まれる非線形歪み成分が大きくなる。入力電力が高い領域で電力増幅器を動作させることができれば、電力増幅器の全体の消費電力を低減させることができ、電力増幅器を高効率で動作させることができる。
【００２３】
ＤＰＤは、電力増幅器への入力信号に対して、歪み補償を行うことで、全体として入出力が線形応答となるようにする処理である。これにより、入出力特性の線形性の向上と、高効率動作とを両立することができる。ＤＰＤは、数学的な観点では、電力増幅器の非線形応答関数に対して、その逆関数を作用させることで実現される。本明細書では、特に、電力増幅器から出力された変調信号をフィードバックすることで、逆特性モデルの係数を推定し、その結果を送信信号のＤＰＤに用いられる係数にコピーして利用する適応的なＤＰＤを前提とする。このような方式のＤＰＤは、ＩＤＬ方式と呼ばれる。
【００２４】
［ＤＰＤモデル］
数学的な観点では、ＤＰＤの特性は、データの入出力応答を示す関数としてモデル化される。対象とする電力増幅器は、メモリ効果を持つことを前提とする。この場合、ＤＰＤの歪補償効果を表現するためのモデルとしては、ボルテラ級数モデルが最も一般的に利用される。本明細書では、簡単のため、さらに、その級数項の限定版である一般化メモリポリノミアルモデルを基本的な前提として説明する。歪補償後の信号u(n)は、一般化メモリポリノミアルモデルを用いて、例えば下記（１）式のように表される。
【数１】
2018011139.tif 000003
上記（１）式において、Ｑはメモリ効果の影響を受ける遅延信号の最大のタイミングを示し、Ｋは級数の最大次数を示す。
【００２５】
［ＬＵＴ方式］
［１］モデルの非線形関数化
一般化メモリポリノミアルモデルをそのまま実装することは、入力データに対してのベキ演算を行うことになるため処理量や回路規模が大きくなる。これを避けるために、モデルに含まれる級数部分をＬＵＴとして保持することが考えられる。上記（１）式に示した一般化メモリポリノミアルモデルを、ＬＵＴを用いた表現に書き換えると、歪補償後の信号u(n)は、例えば下記（２）式のように表される。
【数２】
2018011139.tif 000004
【００２６】
これにより、級数に対してのベキ演算は消去され、歪補償後の信号u(n)は、ＬＵＴ係数Li,j(|x(n-i)|)の和と、入力信号あたりに１回の積演算（線形フィルタリング相当）とで実現できるようになる。
【００２７】
また、電力増幅器の出力のフィードバックデータに対して行われた歪補償後の信号v(n)については、例えば下記（３）式のように表すことができる。
【数３】
2018011139.tif 000005
ここで、フィードバックデータに対する歪補償で使用されるＬＵＴ係数は、|y(n-i)|ではなく、|x(n-i)|に依存して決定されるものとする。
【００２８】
なお、ベキ級数とＬＵＴ係数との対応関係は、例えば下記（４）式を満たすものとする。
【数４】
2018011139.tif 000006
ただし、ＬＵＴ係数がひとたびLi,j(|x(n-i)|)と表現されると、元々それが右辺のベキ級数で表わされていたという情報に縛られない。Li,j(|x(n-i)|)は、|x(n-i)|に対してのみ依存する、何らかの非線形関数に対応するものと考えることができる。
【００２９】
［２］非線形関数のＬＵＴ化
上記（２）式や（３）式のままでは、級数関数を一般的な非線形関数に置き換えただけの表現である。ＬＵＴ方式では、文字通り、この非線形関数をＬＵＴとして、規定のバッファにより保持するものとする。バッファメモリの各アドレスは、連続信号である|x(n-i)|から離散的なインデックスへ対応づけることで定義される。
【００３０】
バッファメモリの各アドレスと信号との対応付けにはいくつかの方法が考えられる。本明細書では、具体的に説明を行うために、信号の振幅値に対して、予め推定される信号の範囲に対して、規定のバッファサイズに合わせて、等間隔の量子化を行うことを基本方式とする。なお、他の例として、信号の電力値に基づいて各アドレスが決定されてもよい。
【００３１】
実際の振幅と、対応するアドレスとを区別して明確化する場合には、ia＝ia(|x(n-i)|)といったマッピング関数を用いる。ただし、誤解がない限りにおいて、|x(n-i)|それ自身が、対応するアドレスそのものを表現するものとする。つまり、ＬＵＴにおけるLi,j(|x(n-i)|)は、|x(n-i)|に対応するアドレスの要素を意味するものとする。
【００３２】
［３］ＬＵＴの初期化
歪補償処理の初期的動作として、以下に示すように、u(n)＝x(n)となるように各ＬＵＴの係数が設定される。
L0,0(|x(n)|)＝１
Li,j(|x(n)|)＝０    ただし、i≠0あるいはj≠0に対して
【００３３】
［第１の歪補償部２００］
図１６は、比較例における第１の歪補償部２００の一例を示す図である。比較例における第１の歪補償部２００は、例えば図１６に示すように、歪補償処理部２１０、アドレス生成部２２０、および複数のＬＵＴ２３０を有する。それぞれのＬＵＴ２３０には、例えば図１７に示すように、０からＮa−１までのＮa個のアドレスのそれぞれに対応付けて、ＬＵＴの係数値が格納されている。
【００３４】
アドレス生成部２２０は、ＢＢ処理装置から出力された送信信号データx(n)の振幅からアドレスia(|x(n-i)|)を算出し、算出したアドレスia(|x(n-i)|)を各ＬＵＴ２３０へ出力する。なお、ｉは、０からＱまでの値をとる。
【００３５】
ＬＵＴ２３０は、（Ｑ＋１）×（Ｑ＋１）個設けられている。図１６に示したＬＵＴ２３０の配列において、縦方向をｉ方向、横方向をｊ方向とする。アドレス生成部２２０から出力されたｉ番目のアドレスia(|x(n-i)|)は、各ｊ列におけるｉ番目のＬＵＴ２３０に入力される。各ｊ列では、ｉ方向における各ＬＵＴ２３０からの出力の総和が歪補償処理部２１０へ出力される。各ＬＵＴ２３０内の係数値は、係数更新部５００によって所定のタイミング毎に更新される。
【００３６】
歪補償処理部２１０は、ＢＢ処理装置から出力された送信信号データx(n)に対して前述の（２）式を実行することにより、歪補償後の信号u(n)を生成する。そして、歪補償処理部２１０は、生成された歪補償後の信号u(n)を、ＤＡＣ１１および保持部３１０へ出力する。ＤＡＣ１１へ入力された信号u(n)は、ＤＡＣ１１によってアナログ信号に変換され、ミキサ１２および発振器１３によって変調され、電力増幅器１４によって所定の電力まで増幅され、アンテナ１５から送信される。
【００３７】
［第２の歪補償部４００］
図１８は、比較例における第２の歪補償部４００の一例を示す図である。比較例における第２の歪補償部４００は、例えば図１８に示すように、複数のＬＵＴ４２０、アドレス生成部４３０、および歪補償処理部４４０を有する。それぞれのＬＵＴ４２０には、例えば図１７に示したＬＵＴ２３０と同様に、０からＮa−１までのＮa個のアドレスのそれぞれに対応付けて、ＬＵＴの係数値が格納されている。
【００３８】
アドレス生成部４３０は、保持部３１０内に保持された送信信号データx(n)の振幅からアドレスia(|x(n-i)|)を算出し、算出したアドレスia(|x(n-i)|)を各ＬＵＴ４２０へ出力する。
【００３９】
ＬＵＴ４２０は、第１の歪補償部２００のＬＵＴ２３０と同様に、（Ｑ＋１）×（Ｑ＋１）個設けられている。図１８に示したＬＵＴ４２０の配列において、縦方向をｉ方向、横方向をｊ方向とする。アドレス生成部４３０から出力されたｉ番目のアドレスia(|x(n-i)|)は、各ｊ列におけるｉ番目のＬＵＴ４２０に入力される。各ｊ列では、ｉ方向における各ＬＵＴ４２０からの出力の総和が歪補償処理部４４０へ出力される。各ＬＵＴ４２０内の係数値は、係数更新部５００によって逐次更新される。
【００４０】
歪補償処理部４４０は、保持部３２０に保持されたフィードバック信号y(n)に対して前述の（３）式を実行することにより、歪補償後の信号v(n)を生成する。そして、歪補償処理部４４０は、生成された歪補償後の信号v(n)を減算器３３０へ出力する。
【００４１】
減算器３３０は、保持部３１０に保持された歪補償後の信号u(n)と、第２の歪補償部４００によって歪みが補償された信号v(n)とに基づいて、誤差データe(n)＝u(n)−v(n)を算出し、算出した誤差データe(n)を係数更新部５００へ出力する。
【００４２】
図１９は、比較例における係数更新部５００の一例を示す図である。比較例における係数更新部５００は、例えば図１９に示すように、コピー部５１０、加算器５２０、および更新量算出部５３０を有する。
【００４３】
更新量算出部５３０は、減算器３３０から出力された誤差データe(n)と、保持部３２０内に保持されたフィードバック信号y(n)とを用いて、下記の算出式により更新量ΔLi,jを算出する。そして、更新量算出部５３０は、算出した更新量ΔLi,jを、加算器５２０へ出力する。
【数５】
2018011139.tif 000007
【００４４】
加算器５２０は、更新量算出部５３０から出力された更新量ΔLi,jに基づいて、下記の式に示す演算により、第２の歪補償部４００の該当するＬＵＴ４２０内の該当するＬＵＴ係数Li,j(|x(n-i)|)を更新する。
【数６】
2018011139.tif 000008
なお、図１９では、第２の歪補償部４００内のＬＵＴ４２０が１つ示されているが、ＬＵＴ係数の更新は、ｉおよびｊの組み合わせによって特定されるＬＵＴ４２０について、それぞれ実行される。
【００４５】
保持部３２０内の全ての信号y(n)に基づいて、各ＬＵＴ４２０内のＬＵＴ係数が更新された後、コピー部５１０は、第２の歪補償部４００内の各ＬＵＴ４２０のデータを、第１の歪補償部２００内の各ＬＵＴ２３０にコピーする。これにより、第１の歪補償部２００内の各ＬＵＴ２３０内の係数が更新される。
【００４６】
［ＬＵＴ方式における係数の適応処理］
ＬＵＴ係数の単純で効果的な更新方式として、ＬＭＳ（Least  Mean  Square）方式が知られている。ＬＭＳ方式では、ＬＵＴ係数は、現時点での送信信号データx(n)，x(n-1)，・・・，x(n-Q)の振幅|x(n)|，|x(n-1)|，・・・，|x(n-Q)|に依存する要素のみが更新される。更新量は、フィードバック信号および誤差信号から推定され、対象となる係数は、単純な累積和によって更新される。すなわち、ｉ，ｊ＝０，１，・・・，Ｑのそれぞれに対して、下記の（５）式に示す演算が実行される。
【数７】
2018011139.tif 000009
上記（５）式において、μijは、規定のパラメータであり、ステップ係数と呼ばれる。
【００４７】
［オフセット問題］
ＬＵＴ方式による歪補償は、前述の（２）式で表わされるが、これは、形式的には、下記の（６）式に示すように線形フィルタリングの形をしている。
【数８】
2018011139.tif 000010
ここで、各入力信号の“線形”フィルタ係数は、下記の（７）式に示すように複数のＬＵＴの和として求められる。
【数９】
2018011139.tif 000011
ただし、ｘA(n)＝(|x(n)|，|x(n-1)|，・・・，|x(n-Q)|)である。
【００４８】
一方で、ＬＭＳ方式の係数更新では、個別のテーブルのＬＵＴ係数Li,j(|x(n-i)|)に対して更新処理が行われる。このとき、上記（７）式の和の結果が同じである限り、前述の（６）式による歪補償の結果は、同じ結果が与えられる。従って、各係数に対しては、以下のように係数をシフトする自由度Ｃi,jが含まれることが分かる。
【数１０】
2018011139.tif 000012
【００４９】
上記（８）式は、原理的には、個別のＬＵＴの要素は、歪補償の特性に影響を与えない形で、その振幅が非常に大きい数値を取り得ることを示している。実際、実機において観測される現象である。原理的には特性に影響しないが、デジタル処理のためにサンプリングおよび量子化されたデータを扱う歪補償装置においては、大きな数値は装置の数値表現能力を超えることになる。そのため、数値表現能力が有限である歪補償装置においては、特性の劣化が引き起こされることになる。
【００５０】
このようなオフセット問題を解決する技術として、ＬＵＴ内の係数の平均値をオフセットとして推定し、推定したオフセットを各係数から差し引くことでＬＵＴ内の係数を補正することが考えられる（以下では、この技術を比較例１と記載する）。比較例１の方法では、歪補償を行う際には、推定されたオフセットを加算することで元の係数が再現される。また、ＬＵＴ内の各係数の値を更新する際に、規定の忘却係数α（０＜α＜１）を掛けることで、累積されるオフセットを小さくすることも考えられる（以下では、この技術を比較例２と記載する）。しかし、いずれの方法も、オフセットの累積を抑制する処理における処理量が大きい。
【００５１】
オフセットの累積を抑制する処理における処理量を削減するために、以下の実施例では、次のような処理を行う。
【００５２】
［ＬＵＴに含まれる非線形項と線形項の分離］
基準となる一般化メモリポリノミアルモデルに対応するＬＵＴ表現である前述の（２）式には、非線形項の要素だけでなく線形項の要素も含まれている。そこで、以下の実施例では、従来のボルテラ級数の定義に立ち返り、例えば下記の（９）式に示すように、忠実に線形項および非線形項を分離し、非線形項のみをＬＵＴにテーブル化する。
【数１１】
2018011139.tif 000013
【００５３】
［非線形項におけるＬＵＴ係数の条件づけ］
上記（９）式において、ＬＵＴが級数モデルの非線形項であることを保証するための条件を付ける（そうでなければ、従来のＬＵＴによる公式と区別されない）。例えば、典型的には、対応する級数モデルが信号振幅に依存する場合には、
【数１２】
2018011139.tif 000014
とする。
【００５４】
［係数の更新方法］
アドレスの値がゼロでないＬＵＴ係数については、下記の（１１）式に示すように、従来と同様の係数更新を行う。
【数１３】
2018011139.tif 000015
【００５５】
また、線形項の係数ｈj,1に対しても同様に、下記の式に示すように、更新量を累積加算することによる係数更新を行う。
【数１４】
2018011139.tif 000016
ただし、更新量Δｈj,1は、前述の（１０）式に示す条件を満たすように、更新後のその他のＬＵＴ係数
【数１５】
2018011139.tif 000017
により推定されるものとする。
【００５６】
なお、線形項の各係数、および、非線形項の各係数の初期値は、以下の通りとする。
【数１６】
2018011139.tif 000018
【実施例１】
【００５７】
［実施例１における歪補償装置１０の構成］
図１は、実施例１における歪補償装置１０の一例を示すブロック図である。本実施例における歪補償装置１０は、ＲＦデジタル部、ＲＦアナログ部、およびアンテナ１５を有する。ＲＦアナログ部は、ＤＡＣ１１、ミキサ１２、発振器１３、電力増幅器１４、カプラ１６、発振器１７、ミキサ１８、およびＡＤＣ１９を有する。ＲＦデジタル部は、第１の歪補償部２０および更新処理部３０を有する。更新処理部３０は、保持部３１、保持部３２、減算器３３、第２の歪補償部４０、および係数更新部５０を有する。なお、図１において、図１５と同一の符号を付したブロックは、図１５で説明した比較例におけるブロックと同様であるため、詳細な説明を省略する。
【００５８】
［基本前提］
本実施例においても、前述の比較例において示した基本的な歪補償システムを前提とする。また、本実施例では、より具体性を持たせるために、入力信号の発生源として、ＬＴＥ（Long  Term  Evolution）等の移動通信システムのＤＬ（Downlink）信号を想定する。信号の時間領域表現における処理単位としては、例えば１０ミリ秒単位のフレームおよび１ミリ秒単位のサブフレームが定義される。１フレームあたりのサンプル数をＮsmp_f、１サブフレームあたりのサンプル数をＮsmp_sbfと定義する。それ以外にの技術的な要素については、原則ＬＴＥの定義に従うものとする。
【００５９】
［基本動作］
［１］ＩＤＬ方式の歪補償では、二つの異なる歪補償ブロックが存在する。本実施例では、例えば図１に示した第１の歪補償部２０および第２の歪補償部４０である。これらはリアルタイムに並列に動作する。
［２］第１の歪補償部２０の処理単位
フレーム単位でＬＵＴ係数の更新が行われ、更新されたＬＵＴ係数がフレーム内の全ての新規データに対して適用される。
［３］第２の歪補償部４０の処理単位
時間的な処理単位は第１の歪補償部２０の処理単位と同じである。ただし、実際に係数の更新処理に利用されるサンプルデータの量は、フィードバックデータy(n)を保存できる保持部３２のバッファサイズに依存して決まる。保持部３２における規定のバッファサイズをＮbfとする。本実施例において、Ｎbfは、例えば２０４８である。
［４］フィードバック動作
フィードバックデータy(n)は、フレームの先頭から順に、規定のバッファサイズ（例えば、Ｎbf＝２０４８）毎に、送信信号をフィードバックし、保持部３２内に保存されるものとする。
［５］係数更新部５０による係数更新処理
フレーム毎に、バッファ内のＮbf個の新規保存データサンプルに対して第２の歪補償部４０による歪補償処理が行われ、各サンプルタイミングで第２の歪補償部４０内のＬＵＴの係数の更新処理が並行して行われる。
【００６０】
［ＬＵＴ内のアドレス表現］
ＬＵＴ内のアドレスは、入力信号x(n)の振幅に対して規定のダイナミックレンジ［ａmin，ａmax］を、ビット数ｑaで一様間隔に量子化することにより対応づけられる。入力信号x(n)の振幅に対するアドレスは、Ｎa＝２qとすると、ａ＝０，・・・，Ｎa−１までの値をとりうる。
【００６１】
［第１の歪補償部２０］
図２は、実施例１における第１の歪補償部２０の一例を示す図である。本実施例における第１の歪補償部２０は、例えば図２に示すように、歪補償処理部２１、アドレス生成部２２、複数のＬＵＴ２３、および線形項係数テーブル２４を有する。それぞれのＬＵＴ２３には、例えば図３に示すように、１からＮa−１までのＮa−１個のアドレスのそれぞれに対応付けて、ＬＵＴの係数値が格納されている。即ち、それぞれのＬＵＴ２３には、値が０のアドレスに対応するＬＵＴの係数値は格納されていない。以下では、値が０のアドレスをゼロアドレスと記載する場合がある。それぞれのＬＵＴ２３は、第１のテーブルの一例である。
【００６２】
アドレス生成部２２は、ＢＢ処理装置から出力された送信信号データx(n)の振幅からアドレスia(|x(n-i)|)を算出し、算出したアドレスia(|x(n-i)|)を各ＬＵＴ２３へ出力する。なお、ｉは、０からＱまでの値をとる。
【００６３】
ＬＵＴ２３は、（Ｑ＋１）×（Ｑ＋１）個設けられている。図２に示したＬＵＴ２３の配列において、縦方向をｉ方向、横方向をｊ方向とする。アドレス生成部２２から出力されたｉ番目のアドレスia(|x(n-i)|)は、各ｊ列におけるｉ番目のＬＵＴ２３に入力される。各ｊ列では、ｉ方向における各ＬＵＴ２３からの出力の総和が歪補償処理部２１へ出力される。各ＬＵＴ２３内の係数値は、例えば１フレーム毎に係数更新部５０によって更新される。
【００６４】
線形項係数テーブル２４には、Ｑ＋１個の線形項の係数ｈj,1が格納されている。線形項係数テーブル２４内の線形項の係数ｈj,1は、例えば１フレーム毎に係数更新部５０によって更新される。線形項係数テーブル２４は、第２のテーブルの一例である。
【００６５】
歪補償処理部２１は、ＢＢ処理装置から出力された送信信号データx(n)に対して前述の（９）式を実行することにより、歪補償後の信号u(n)を生成する。そして、歪補償処理部２１は、生成された歪補償後の信号u(n)を、ＤＡＣ１１および保持部３１へ出力する。ＤＡＣ１１へ入力された信号u(n)は、ＤＡＣ１１によってアナログ信号に変換され、ミキサ１２および発振器１３によって変調され、電力増幅器１４によって所定の電力まで増幅され、アンテナ１５から送信される。
【００６６】
［更新処理部３０］
更新処理部３０は、保持部３１、保持部３２、減算器３３、第２の歪補償部４０、および係数更新部５０を有する。ＢＢ処理装置から出力された送信信号データx(n)、および、第１の歪補償部２０によって歪補償された信号u(n)は、保持部３１内に保持される。また、ＲＦアナログ部からフィードバックされた信号y(n)は、保持部３２内に保持される。
【００６７】
［第２の歪補償部４０］
図４は、実施例１における第２の歪補償部４０の一例を示す図である。本実施例における第２の歪補償部４０は、例えば図４に示すように、線形項係数テーブル４１、複数のＬＵＴ４２、アドレス生成部４３、および歪補償処理部４４を有する。線形項係数テーブル４１には、Ｑ＋１個の線形項の係数ｈj,1が格納されている。線形項係数テーブル４１内の線形項の係数ｈj,1は、後述する係数更新部５０の係数更新処理によって逐次更新される。それぞれのＬＵＴ４２には、例えば図３に示したＬＵＴ２３と同様に、１からＮa−１までのＮa−１個のアドレスのそれぞれに対応付けて、ＬＵＴの係数値が格納されている。それぞれのＬＵＴ４２は、第１のテーブルの一例である。線形項係数テーブル４１は、第２のテーブルの一例である。
【００６８】
アドレス生成部４３は、保持部３１内に保持された送信信号データx(n)の振幅からアドレスia(|x(n-i)|)を算出し、算出したアドレスia(|x(n-i)|)を各ＬＵＴ４２へ出力する。
【００６９】
ＬＵＴ４２は、第１の歪補償部２０のＬＵＴ２３と同様に、（Ｑ＋１）×（Ｑ＋１）個設けられている。図４に示したＬＵＴ４２の配列において、縦方向をｉ方向、横方向をｊ方向とする。アドレス生成部４３から出力されたｉ番目のアドレスia(|x(n-i)|)は、各ｊ列におけるｉ番目のＬＵＴ４２に入力される。各ｊ列では、ｉ方向における各ＬＵＴ４２からの出力の総和が歪補償処理部４４へ出力される。
【００７０】
歪補償処理部４４は、保持部３１に保持された送信信号データx(n)から特定された歪補償係数を用いて、保持部３２に保持されたフィードバック信号y(n)に対して、下記の算出式により、歪補償後の信号v(n)を生成する。そして、歪補償処理部４４は、生成された歪補償後の信号v(n)を減算器３３へ出力する。
【数１７】
2018011139.tif 000019
【００７１】
減算器３３は、保持部３１に保持された歪補償後の信号u(n)と、第２の歪補償部４０によって歪みが補償された信号v(n)とに基づいて、誤差データe(n)＝u(n)−v(n)を算出し、算出した誤差データe(n)を係数更新部５０へ出力する。
【００７２】
［係数更新部５０］
図５は、実施例１における係数更新部５０の一例を示す図である。本実施例における係数更新部５０は、例えば図５に示すように、コピー部５１、加算器５２、第１の更新量算出部５３、減算器５４、補助テーブル保持部５５、加算器５６、加算器５７、および第２の更新量算出部５８を有する。加算器５２は、第１の更新部の一例である。第１の更新量算出部５３は、算出部の一例である。減算器５４は、補正部の一例である。加算器５７は、第２の更新部の一例である。
【００７３】
第１の更新量算出部５３は、減算器３３から出力された誤差データe(n)と、保持部３２内に保持されたフィードバック信号y(n)とを用いて、下記の算出式により更新量ΔLi,jを算出する。
【数１８】
2018011139.tif 000020
そして、第１の更新量算出部５３は、非線形項のＬＵＴ係数
【数１９】
2018011139.tif 000021
について算出した更新量ΔLi,jを、加算器５２へ出力し、線形項のＬＵＴ係数
【数２０】
2018011139.tif 000022
について算出した更新量ΔLi,jを、加算器５６へ出力する。
【００７４】
加算器５２は、下記の（１２）式に示すように、ＬＵＴ４２内のＬＵＴ係数に、第１の更新量算出部５３から出力された更新量を加算することにより、ＬＵＴ４２内のＬＵＴ係数を更新する。
【数２１】
2018011139.tif 000023
【００７５】
補助テーブル保持部５５は、各遅延タイミングｊにおける線形項のＬＵＴ係数
【数２２】
2018011139.tif 000024
を保持する。
【００７６】
加算器５６は、補助テーブル保持部５５内の線形項のＬＵＴ係数に、第１の更新量算出部５３から出力された線形項のＬＵＴ係数の更新量ΔLi,jを加算することにより、補助テーブル保持部５５内の線形項のＬＵＴ係数を更新する。
【００７７】
減算器５４は、保持部３２内の全ての信号y(n)について第１の更新量算出部５３がＬＵＴ係数の更新を算出した場合に、各ＬＵＴ４２について、ＬＵＴ４２内の各係数値から、補助テーブル保持部５５内の線形項のＬＵＴ係数を一律に差し引く。
【００７８】
第２の更新量算出部５８は、保持部３２内の全ての信号y(n)について第１の更新量算出部５３がＬＵＴ係数の更新を算出した場合に、各遅延タイミングｊについて、線形項の更新量Δｈj,1を算出する。具体的には、第２の更新量算出部５８は、例えば下記に示す演算により、補助テーブル保持部５５内の線形項のＬＵＴ係数を累積加算することにより、線形項の更新量Δｈj,1を算出する。
【数２３】
2018011139.tif 000025
【００７９】
加算器５７は、例えば下記に示す演算により、各遅延タイミングｊについて、線形項係数テーブル４１内の線形項の係数ｈj,1に、第２の更新量算出部５８によって算出された更新量Δｈj,1を累積加算することにより、線形項の係数ｈj,1を更新する。
【数２４】
2018011139.tif 000026
【００８０】
コピー部５１は、保持部３２内の全ての信号y(n)について第１の更新量算出部５３がＬＵＴ係数の更新を算出した場合に、線形項係数テーブル４１および各ＬＵＴ４２内の係数に基づいて、線形項係数テーブル２４および各ＬＵＴ２３内の係数を更新する。具体的には、コピー部５１は、線形項係数テーブル４１内の係数を、線形項係数テーブル２４内に上書きコピーし、各ＬＵＴ４２内の係数を、各ＬＵＴ２３内に上書きコピーする。
【００８１】
［歪補償処理］
図６は、実施例１における歪補償処理の一例を示すフローチャートである。歪補償装置１０は、ＤＬ信号の送信を開始する場合に、本フローチャートに示す歪補償処理を開始する。
【００８２】
まず、第１の歪補償部２０は、各ＬＵＴ２３の初期化を行う（Ｓ１００）。具体的には、第１の歪補償部２０は、各ＬＵＴ２３内の係数を、例えば以下の値に初期化する。
L0,0(|x(n)|)＝１
Li,j(|x(n)|)＝０    ただし、i≠0あるいはj≠0に対して
【００８３】
次に、歪補償処理部２１は、送信すべきフレームが継続中か否かを判定する（Ｓ１０１）。フレームが継続中である場合（Ｓ１０１：Ｙｅｓ）、歪補償処理部２１は、歪補償処理を実行する（Ｓ１０２）。具体的には、歪補償処理部２１は、ＢＢ処理装置から出力された送信信号データx(n)に対して前述の（９）式を実行することにより、歪補償処理を実行し、歪補償後の信号u(n)を生成する。
【００８４】
歪補償処理部２１によって生成された歪補償後の信号u(n)は、ＤＡＣ１１へ出力され、ＤＡＣ１１によってアナログ信号に変換され、ミキサ１２および発振器１３によって変調され、電力増幅器１４によって所定の電力まで増幅される。そして、電力増幅器１４によって所定の電力まで増幅された信号は、アンテナ１５から送信される（Ｓ１０３）。
【００８５】
そして、歪補償処理部２１は、再びステップＳ１０１に示した処理を実行する。送信すべきフレームが継続中ではない場合（Ｓ１０１：Ｎｏ）、歪補償装置１０は、本フローチャートに示した歪補償処理を終了する。
【００８６】
［係数更新処理］
図７は、実施例１における係数更新処理の一例を示すフローチャートである。歪補償装置１０は、例えばフレーム毎に、本フローチャートに示す係数更新処理を実行する。
【００８７】
まず、歪補償処理部４４は、送信すべきフレームが継続中か否かを判定する（Ｓ２００）。送信すべきフレームが継続中ではない場合（Ｓ２００：Ｎｏ）、歪補償装置１０は、本フローチャートに示す係数更新処理を終了する。
【００８８】
一方、フレームが継続中である場合（Ｓ２００：Ｙｅｓ）、保持部３１は、ＢＢ処理装置から出力された送信信号データx(n)と、第１の歪補償部２０によって歪補償された信号u(n)とを所定のバッファサイズ分収集する。また、保持部３２は、ＲＦアナログ部からフィードバックされた信号y(n)を所定のバッファサイズ分収集する（Ｓ２０１）。
【００８９】
次に、歪補償処理部４４は、保持部３２のバッファ内のフィードバック信号y(n)のサンプルを全て選択したか否かを判定する（Ｓ２０２）。バッファ内のフィードバック信号y(n)のサンプルを全て選択していない場合（Ｓ２０２：Ｎｏ）、歪補償処理部４４は、歪補正処理を行う（Ｓ２０３）。具体的には、歪補償処理部４４は、保持部３１に保持された送信信号データx(n)から特定された歪補償係数を用いて、保持部３２に保持されたフィードバック信号y(n)に対して、前述の算出式を実行することにより、歪補償後の信号v(n)を生成する。
【００９０】
次に、減算器３３は、保持部３１に保持された歪補償後の信号u(n)と、第２の歪補償部４０によって生成された歪補償後の信号v(n)とに基づいて、誤差データe(n)＝u(n)−v(n)を算出する（Ｓ２０４）。
【００９１】
次に、第１の更新量算出部５３は、減算器３３によって算出された誤差データe(n)と、保持部３２内に保持されたフィードバック信号y(n)とを用いて、更新量ΔLi,jを算出する（Ｓ２０５）。
【００９２】
そして、第１の更新量算出部５３は、ia(|x(n-i)|)が規定のアドレスか否かを判定する（Ｓ２０６）。本実施例において、規定のアドレスとは、例えばゼロアドレスである。なお、規定のアドレスは、小さい値のアドレスであれば、ゼロアドレスでなくてもよい。小さい値のアドレスとは、例えば、アドレスの値の小さい方からアドレス範囲の例えば１％の範囲内に含まれるアドレスである。ia(|x(n-i)|)が規定のアドレスである場合（Ｓ２０６：Ｙｅｓ）、第１の更新量算出部５３は、算出した更新量ΔLi,jを加算器５６へ出力する。加算器５６は、補助テーブル保持部５５内の線形項のＬＵＴ係数に、第１の更新量算出部５３から出力された線形項のＬＵＴ係数の更新量ΔLi,jを加算することにより、補助テーブル保持部５５内の線形項のＬＵＴ係数を更新する（Ｓ２０７）。そして、歪補償処理部４４は、再びステップＳ２０２に示した処理を実行する。
【００９３】
一方、ia(|x(n-i)|)が規定のアドレスではない場合（Ｓ２０６：Ｎｏ）、第１の更新量算出部５３は、算出した更新量ΔLi,jを加算器５２へ出力する。加算器５２は、前述の（１２）式に示したように、ＬＵＴ４２内のＬＵＴ係数に、第１の更新量算出部５３から出力された更新量ΔLi,jを加算することにより、ＬＵＴ４２内のＬＵＴ係数を更新する（Ｓ２０８）。そして、歪補償処理部４４は、再びステップＳ２０２に示した処理を実行する。
【００９４】
また、歪補償処理部４４がバッファ内のフィードバック信号y(n)のサンプルを全て選択した場合（Ｓ２０２：Ｙｅｓ）、減算器５４は、各ＬＵＴ４２０内の係数を補正する（Ｓ２０９）。具体的には、減算器５４は、各ＬＵＴ４２について、ＬＵＴ４２内の各係数値から、補助テーブル保持部５５内の線形項のＬＵＴ係数を一律に差し引くことにより、各ＬＵＴ４２内の係数を補正する。
【００９５】
次に、第２の更新量算出部５８は、各遅延タイミングｊについて、補助テーブル保持部５５内の線形項のＬＵＴ係数を累積加算することにより、線形項の更新量Δｈj,1を算出する（Ｓ２１０）。加算器５７は、各遅延タイミングｊについて、線形項係数テーブル４１内の線形項の係数ｈj,1に、第２の更新量算出部５８によって算出された更新量Δｈj,1を累積加算することにより、線形項の係数ｈj,1を更新する（Ｓ２１１）。
【００９６】
次に、コピー部５１は、線形項係数テーブル４１内の係数を、線形項係数テーブル２４内にコピーし、各ＬＵＴ４２内の係数を、各ＬＵＴ２３内にコピーする（Ｓ２１２）。そして、歪補償処理部４４は、再びステップＳ２００に示した処理を実行する。
【００９７】
［実施例１の効果］
以上説明したように、本実施例の歪補償装置１０は、ＬＵＴ４２と、線形項係数テーブル４１と、第１の更新量算出部５３と、減算器５４と、加算器５７とを有する。ＬＵＴ４２は、入力信号x(n)のフィルタリングに用いられるフィルタリング係数に含まれる線形項の係数および非線形項の係数のうち、非線形項の係数を、入力信号x(n)から求まる規定アドレス以外のアドレスに対応付けて保持する。線形項係数テーブル４１は、規定アドレスにおける線形項の係数を保持する。第１の更新量算出部５３は、線形項係数テーブル４１からの出力信号に基づいて、非線形項の係数の更新量、および、線形項の係数の更新量を、それぞれ算出する。減算器５４は、非線形項の係数の更新量に基づいて、ＬＵＴ４２内の各係数を更新する。加算器５７は、線形項の係数の更新量に基づいて、線形項係数テーブル４１内の各係数を更新する。
【００９８】
ここで、より具体的に実施例１を前提として、前述の比較例１および比較例２に対する処理量の削減量について見積もる。ここで、１面あたりのＬＵＴのアドレス段数をＮa、１フレームあたりの更新サンプル数をＮbfと定義する。
【００９９】
１）実施例１における加算演算の回数
実施例１の歪補償装置１０では、１フレームあたりに全テーブルから規定の値を差し引く演算が行われる。従って、実施例１の歪補償装置１０では、加算演算の回数は、例えば以下のように表される。
２×（Ｑ＋１）×（Ｑ＋１）×Ｎa
【０１００】
２）比較例１（オフセット推定法）
フレームあたりにオフセット推定処理および補正処理が行われる。ＬＵＴの面毎に平均値を求めるための加算演算、および、係数スケーリング（加算数による割り算）の演算が行われる。算出されたオフセット推定値は、全アドレスの係数から差し引かれる。また、歪補償の処理時には、オフセットの推定値が全アドレスの係数に加算されて、元の係数が再現される。従って、比較例１における演算量は、例えば以下のように表すことができる。
２×（Ｑ＋１）×（Ｑ＋１）×Ｎa×３
比較例１の演算量は、実施例１における演算量の３倍である。即ち、実施例１の処理では、比較例１の処理よりも、演算量を約６７％削減することができる。
【０１０１】
３）比較例２（ＬＵＴ係数の忘却法）
フレームあたりに更新処理されるサンプル毎に、各ＬＵＴから１つの更新係数に対して忘却係数の掛け算が行われる。忘却係数の掛け算は、係数を１から１／２のべき乗の差分を取る形に限定すれば、シフトと差分（２つの加算）の演算に置き換えることができる。従って、比較例２における演算量は、例えば以下のように表すことができる。
２×（Ｑ＋１）×（Ｑ＋１）×Ｎbf×２
ここで、２×Ｎbf×＞Ｎaであれば、実施例１における演算量の方が小さくなる。具体的な数値例として、Ｎa＝１２８、Ｎbf＝１０２４を仮定すると、比較例１の処理量に対する実施例１の処理量の比は、１／１６＝０．０６２５となる。従って、実施例１の処理では、比較例２の処理よりも、演算量を約９３％削減することができる。
【０１０２】
また、上記した実施例における歪補償装置１０は、線形項の係数の更新量を、ＬＵＴ４２内の各係数から差し引くことにより、ＬＵＴ４２内の各係数を補正する減算器５４を有する。また、加算器５７は、遅延タイミング毎に、更新後の線形項の係数を累積加算することにより、線形項係数テーブル４１内の各係数を更新する。これにより、本実施例の歪補償装置１０は、オフセットの累積を抑制する処理を、少ない処理量で実現することができる。
【実施例２】
【０１０３】
実施例１では、バッファサイズ分のフィードバック信号y(n)の処理が終了するたびに、ＬＵＴ４２内の各係数から線形項の係数の更新量を差し引く処理が実行される。この処理は、ゼロアドレスのＬＵＴ係数の更新量が算出されたか否かにかからわず実行される。そのため、ゼロアドレスのＬＵＴ係数の更新量が算出されなかった場合には、無駄な処理を実行することになる。これに対し、実施例２では、ゼロアドレスのＬＵＴ係数の更新量が算出された場合に、ＬＵＴ４２内の各係数から線形項の係数の更新量を差し引く処理が実行される。これにより、オフセットの累積を抑制する処理における処理量をさらに削減できる。
【０１０４】
なお、本実施例においても、各ＬＵＴ２３および各ＬＵＴ４２には、ゼロアドレスに対応する係数値は割り当てられない。なお、以下では、入力データに対してia(|x(n-i)|)＝0となる信号が登場するとき、そのＬＵＴ更新量をΔLi,j,0と定義する。ｉおよびｊの組み合わせに対応するＬＵＴの全ての係数
【数２５】
2018011139.tif 000027
からΔLi,j,0が一律に差し引かれる。ここで、ΔLi,j,0は、以下の式により算出される。
【数２６】
2018011139.tif 000028
そして、ΔLi,j,0は、以下演算により線形項の更新量として累積される。
【数２７】
2018011139.tif 000029
【０１０５】
なお、実施例２の歪補償装置１０、第１の歪補償部２０、更新処理部３０、および第２の歪補償部４０の概要は、図１〜図４を用いて説明した実施例１の歪補償装置１０、第１の歪補償部２０、更新処理部３０、および第２の歪補償部４０と同様である。そのため、詳細な説明を省略する。
【０１０６】
［係数更新部５０］
図８は、実施例２における係数更新部５０の一例を示す図である。本実施例における係数更新部５０は、例えば図８に示すように、コピー部５１、加算器５２、第１の更新量算出部５３、減算器５４、加算器５７、および第２の更新量算出部５８を有する。なお、以下に説明する点を除き、図８において、図５と同じ符号を付したブロックは、図５におけるブロックと同一または同様の機能を有するため説明を省略する。
【０１０７】
第１の更新量算出部５３は、減算器３３から出力された誤差データe(n)と、保持部３２内に保持されたフィードバック信号y(n)とを用いて更新量ΔLi,jを算出する。そして、第１の更新量算出部５３は、非線形項のＬＵＴ係数
【数２８】
2018011139.tif 000030
について算出した更新量ΔLi,jを、加算器５２へ出力し、線形項のＬＵＴ係数
【数２９】
2018011139.tif 000031
について算出した更新量ΔLi,j,0を、減算器５４および第２の更新量算出部５８へ出力する。
【０１０８】
減算器５４は、第１の更新量算出部５３から更新量ΔLi,j,0が出力された場合に、各ＬＵＴ４２について、ＬＵＴ４２内の各係数値から、更新量ΔLi,j,0を一律に差し引く。
【０１０９】
第２の更新量算出部５８は、第１の更新量算出部５３から更新量ΔLi,j,0が出力された場合に、各遅延タイミングｊについて、実施例１と同様の演算により、更新量ΔLi,j,0を累積加算することにより、線形項の更新量Δｈj,1を算出する。
【０１１０】
［係数更新処理］
図９は、実施例２における係数更新処理の一例を示すフローチャートである。なお、以下に説明する点を除き、図９において、図７と同じ符号を付した処理は、図７において説明した処理と同様であるため説明を省略する。
【０１１１】
ステップＳ２０６において、第１の更新量算出部５３は、ia(|x(n-i)|)が規定のアドレスか否かを判定する（Ｓ２０６）。ia(|x(n-i)|)が規定のアドレスである場合（Ｓ２０６：Ｙｅｓ）、第１の更新量算出部５３は、ステップＳ２０５において算出した更新量ΔLi,j,0を、減算器５４および第２の更新量算出部５８へ出力する。減算器５４は、各ＬＵＴ４２について、ＬＵＴ４２内の各係数値から更新量ΔLi,j,0を一律に差し引くことにより、各ＬＵＴ４２内の係数を補正する（Ｓ２０９）。
【０１１２】
次に、第２の更新量算出部５８は、各遅延タイミングｊについて、第１の更新量算出部５３から出力された更新量ΔLi,j,0を累積加算することにより、線形項の更新量Δｈj,1を算出する（Ｓ２１０）。そして、歪補償処理部４４は、再びステップＳ２０２に示した処理を実行する。
【０１１３】
また、歪補償処理部４４がバッファ内のフィードバック信号y(n)のサンプルを全て選択した場合（Ｓ２０２：Ｙｅｓ）、加算器５７は、各遅延タイミングｊについて、線形項の係数ｈj,1を更新する（Ｓ２１１）。具体的には、加算器５７は、各遅延タイミングｊについて、線形項係数テーブル４１内の線形項の係数ｈj,1に、第２の更新量算出部５８によって算出された更新量Δｈj,1を累積加算することにより、線形項の係数ｈj,1を更新する。そして、コピー部５１は、ステップＳ２１２に示した処理を実行する。
【０１１４】
［実施例２の効果］
以上説明したように、本実施例において、減算器５４は、第１の更新量算出部５３によって線形項の係数の更新量が算出された場合に、算出された線形項の係数の更新量に基づいて、ＬＵＴ４２内の各係数を補正する。これにより、オフセットの累積を抑制する処理における処理量をさらに削減することができる。
【実施例３】
【０１１５】
実施例１では、ＬＵＴ４２内の各係数から線形項の係数の更新量を一律に差し引く処理が実行される。これに対し、本実施例３では、線形項の係数を０として、非線形項の各係数が、隣接する各アドレスの係数間で連続性を有する範囲で更新される。
【０１１６】
具体的には、非線形項のＬＵＴ係数の更新は、下記（１５）式に基づいて行われる。
【数３０】
2018011139.tif 000032
ただし、各ＬＵＴ係数は、
【数３１】
2018011139.tif 000033
との連続性を保つ範囲で更新される。具体的な更新の条件は、以下の通りである。即ち、ｉおよびｊの各組合せに対応するＬＵＴのアドレスｉaに対応付けられた係数は、例えば下記（１６）式に示すように、１つ隣のアドレスに対応付けられた係数の値を基準として、上下に所定範囲内の値となるように更新される。
【数３２】
2018011139.tif 000034
上記（１６）式において、Ｔｈは規定の閾値である。
【０１１７】
また、線形項の係数の更新は、下記（１７）式に示す演算により行われる。
【数３３】
2018011139.tif 000035
【０１１８】
なお、実施例３の歪補償装置１０、第１の歪補償部２０、更新処理部３０、および第２の歪補償部４０の概要は、図１〜図４を用いて説明した実施例１の歪補償装置１０、第１の歪補償部２０、更新処理部３０、および第２の歪補償部４０と同様である。そのため、詳細な説明を省略する。
【０１１９】
［係数更新部５０］
図１０は、実施例３における係数更新部５０の一例を示す図である。本実施例における係数更新部５０は、例えば図１０に示すように、コピー部５１、加算器５２、第１の更新量算出部５３、加算器５７、および変更量制限部５９を有する。なお、以下に説明する点を除き、図１０において、図５と同じ符号を付したブロックは、図５におけるブロックと同一または同様の機能を有するため説明を省略する。
【０１２０】
第１の更新量算出部５３は、減算器３３から出力された誤差データe(n)と、保持部３２内に保持されたフィードバック信号y(n)とを用いて更新量ΔLi,jを算出する。そして、第１の更新量算出部５３は、ゼロアドレス以外の非線形項のＬＵＴ係数について算出した更新量ΔLi,jを、変更量制限部５９へ出力する。また、第１の更新量算出部５３は、ゼロアドレスを含めた各ＬＵＴ係数について算出した更新量ΔLi,jを、加算器５７へ出力する。
【０１２１】
変更量制限部５９は、第１の更新量算出部５３から更新量ΔLi,jが出力された場合、該当するアドレスのＬＵＴ係数と、該当するアドレスに隣接するアドレス（本実施例では１つ小さい値のアドレス）のＬＵＴ係数とをＬＵＴ４２から取得する。そして、変更量制限部５９は、前述の（１６）式を満たすように、第１の更新量算出部５３から出力された更新量ΔLi,jを制限する更新量制限処理を実行する。
【０１２２】
図１１は、更新量制限処理の一例を説明する図である。例えば、第１の更新量算出部５３からアドレスｉaに対応する更新量ΔLi,jが出力された場合、変更量制限部５９は、当該更新量ΔLi,jをアドレスｉaに対応するＬＵＴ係数に加算する。図１１に示す点６１は、アドレスｉaに対応するＬＵＴ係数に更新量ΔLi,jが加算された結果を示す。
【０１２３】
次に、変更量制限部５９は、アドレスｉaの１つ下のアドレスｉa−１のＬＵＴ係数（図１１に示した点６０）をＬＵＴ４２から取得する。そして、変更量制限部５９は、取得したＬＵＴ係数に閾値Ｔｈを加えた値、および、該ＬＵＴ係数から閾値Ｔｈを引いた値と、アドレスｉaのＬＵＴ係数に更新量ΔLi,jが加算された結果と比較する。図１１に示した点６１は、アドレスｉa−１のＬＵＴ係数に閾値Ｔｈを加えた値と、該ＬＵＴ係数から閾値Ｔｈを引いた値との間の値であるため、変更量制限部５９は、アドレスｉaについて算出された更新量ΔLi,jを加算器５２へ出力する。
【０１２４】
なお、アドレスｉaのＬＵＴ係数に更新量ΔLi,jを加算した値が、アドレスｉa−１のＬＵＴ係数に閾値Ｔｈを加えた値より大きい場合、変更量制限部５９は、該更新量ΔLi,jを、加算後のＬＵＴ係数が図１１の点６２に示す値となるような更新量ΔL'i,jに置き換える。そして、変更量制限部５９は、置き換えられた更新量ΔL'i,jを加算器５２へ出力する。また、アドレスｉaのＬＵＴ係数に更新量ΔLi,jを加算した値が、アドレスｉa−１のＬＵＴ係数から閾値Ｔｈを引いた値より小さい場合、変更量制限部５９は、該更新量ΔLi,jを、加算後のＬＵＴ係数が図１１の点６３に示す値となるような更新量ΔL'i,jに置き換える。そして、変更量制限部５９は、置き換えられた更新量ΔL'i,jを加算器５２へ出力する。これにより、各アドレスのＬＵＴ係数は、各ＬＵＴ内で隣接するアドレス間でＬＵＴ係数の連続性が維持されながら更新されるようになる。
【０１２５】
加算器５７は、前述の（１７）式に基づいて、第１の更新量算出部５３から出力された更新量を累積加算することにより、線形項係数テーブル４１内の線形項の係数を更新する。
【０１２６】
［係数更新処理］
図１２は、実施例３における係数更新処理の一例を示すフローチャートである。なお、以下に説明する点を除き、図１２において、図７と同じ符号を付した処理は、図７において説明した処理と同様であるため説明を省略する。
【０１２７】
ステップＳ２０６において、第１の更新量算出部５３は、ia(|x(n-i)|)が規定のアドレスか否かを判定する（Ｓ２０６）。ia(|x(n-i)|)が規定のアドレスである場合（Ｓ２０６：Ｙｅｓ）、第１の更新量算出部５３は、ステップＳ２０５において算出した更新量ΔLi,j,0を、加算器５７へ出力する。加算器５７は、ステップＳ２２２に示す処理を実行する。
【０１２８】
一方、ia(|x(n-i)|)が規定のアドレスではない場合（Ｓ２０６：Ｎｏ）、第１の更新量算出部５３は、ステップＳ２０５において算出した更新量ΔLi,jを、加算器５７および変更量制限部５９へ出力する。
【０１２９】
次に、変更量制限部５９は、前述の（１６）式を満たすように、第１の更新量算出部５３から出力された更新量ΔLi,jを制限する更新量制限処理を実行する（Ｓ２２０）。そして、変更量制限部５９は、制限された更新量ΔLi,jを加算器５２へ出力する。加算器５２は、変更量制限部５９から出力された更新量ΔLi,jを加算することにより、ＬＵＴ４２内のＬＵＴ係数を更新する（Ｓ２２１）。
【０１３０】
次に、加算器５７は、各遅延タイミングｊについて、第１の更新量算出部５３から出力された更新量を用いて、前述の（１７）式に基づいて、線形項の係数ｈj,1を更新する（Ｓ２２２）。そして、歪補償処理部４４は、再びステップＳ２０２に示した処理を実行する。
【０１３１】
［実施例３の効果］
以上説明したように、本実施例３において、加算器５２は、規定アドレスに対応する線形項の係数の値を基準として、ＬＵＴ４２内の各アドレスに対応する係数の値が連続性を満たすように更新する。これにより、オフセットの累積を抑制する処理における処理量を削減することができると共に、各ＬＵＴ４２において、隣接アドレス間でＬＵＴ係数の値が不連続にばらつくことを防止することができる。これにより、ＬＵＴ係数の更新に伴う歪補償性能の低下を抑制することができる。
【０１３２】
また、上記した実施例３において、加算器５２は、ＬＵＴ４２内の各アドレスの係数において、更新対象のアドレスの係数の値を、更新対象のアドレスに隣接するアドレスの係数の値から所定範囲内の値となるように更新する。これにより、加算器５２は、簡易な処理で、ＬＵＴ４２内の各アドレスに対応する係数の値が連続性を満たすように、ＬＵＴ４２内の係数を更新することができる。
【０１３３】
［ハードウェア］
上記した実施例１〜３における歪補償装置１０は、例えば図１３に示すようなハードウェアにより実現される。図１３は、歪補償装置１０のハードウェアの一例を示す図である。歪補償装置１０は、例えば図１３に示すように、インターフェイス回路１００、メモリ１０１、プロセッサ１０２、無線回路１０３、およびアンテナ１５を有する。
【０１３４】
インターフェイス回路１００は、ＢＢ処理装置との間で有線通信を行うためのインターフェイスである。無線回路１０３は、電力増幅器１４等を有する。無線回路１０３は、プロセッサ１０２から出力された信号にアップコンバート等の処理を施し、処理後の信号を電力増幅器１４により増幅してアンテナ１５から送信する。また、無線回路１０３は、電力増幅器１４によって増幅された信号の一部にダウンコンバート等の処理を施し、処理後の信号をプロセッサ１０２へフィードバックする。無線回路１０３には、例えば、ＤＡＣ１１、ミキサ１２、発振器１３、電力増幅器１４、カプラ１６、発振器１７、ミキサ１８、およびＡＤＣ１９が含まれる。
【０１３５】
メモリ１０１には、例えば第１の歪補償部２０および更新処理部３０の機能を実現するための各種プログラム等が格納される。プロセッサ１０２は、メモリ１０１から読み出したプログラムを実行することにより、例えば第１の歪補償部２０および更新処理部３０の各機能を実現する。
【０１３６】
なお、図１３に例示した歪補償装置１０には、プロセッサ１０２、無線回路１０３、およびアンテナ１５がそれぞれ１つずつ設けられているが、プロセッサ１０２、無線回路１０３、およびアンテナ１５は、歪補償装置１０内にそれぞれ複数設けられていてもよい。
【０１３７】
また、上記のメモリ１０１内のプログラムやデータ等は、必ずしも全てが最初からメモリ１０１内に記憶されていなくてもよい。例えば、歪補償装置１０に挿入されるメモリカードなどの可搬型記録媒体に各プログラムやデータ等が記憶され、歪補償装置１０がこのような可搬型記録媒体から各プログラムやデータ等を取得して実行するようにしてもよい。また、各プログラムやデータ等を記憶させた他のコンピュータまたはサーバ装置などから、無線通信回線、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介して、歪補償装置１０が各プログラムを取得して実行するようにしてもよい。
【０１３８】
＜その他＞
なお、開示の技術は、上記した各実施例に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【０１３９】
例えば、上記した実施例３において、変更量制限部５９は、アドレスｉaのＬＵＴ係数の更新量ΔLi,jについて、前述の（１６）式を満たすように、第１の更新量算出部５３から出力された更新量ΔLi,jを制限する更新量制限処理を実行する。しかし、開示の技術はこれに限られず、ＬＵＴ４２内の各アドレスに対応する係数の値が連続性を満たすように更新されれば、更新量制限処理は、実施例３に示した処理に限られない。
【０１４０】
図１４は、更新量制限処理の他の例を説明する図である。例えば、第１の更新量算出部５３からアドレスｉaに対応する更新量ΔLi,jが出力された場合、変更量制限部５９は、当該更新量ΔLi,jをアドレスｉaに対応するＬＵＴ係数に加算する。図１４に示す点６７は、アドレスｉaに対応するＬＵＴ係数に更新量ΔLi,jが加算された結果を示す。
【０１４１】
次に、変更量制限部５９は、アドレスｉaの両隣のアドレスｉa−１およびｉa＋１のＬＵＴ係数（図１４に示した点６５および点６６）の平均値Ｌaveを算出する。そして、変更量制限部５９は、アドレスｉaのＬＵＴ係数に更新量ΔLi,jが加算された結果と、平均値Ｌaveに閾値Ｔｈを加えた値、および、該平均値Ｌaveから閾値Ｔｈを引いた値とを比較する。図１４に示した点６７は、平均値Ｌaveに閾値Ｔｈを加えた値と、該平均値Ｌaveから閾値Ｔｈを引いた値との間の値であるため、変更量制限部５９は、アドレスｉaについて算出された更新量ΔLi,jを加算器５２へ出力する。
【０１４２】
なお、アドレスｉaのＬＵＴ係数に更新量ΔLi,jを加算した値が、平均値Ｌaveに閾値Ｔｈを加えた値より大きい場合、変更量制限部５９は、該更新量ΔLi,jを、加算後のＬＵＴ係数が図１４の点６８に示す値となるような更新量ΔL'i,jに置き換える。そして、変更量制限部５９は、置き換えられた更新量ΔL'i,jを加算器５２へ出力する。また、アドレスｉaのＬＵＴ係数に更新量ΔLi,jを加算した値が、平均値Ｌaveから閾値Ｔｈを引いた値より小さい場合、変更量制限部５９は、該更新量ΔLi,jを、加算後のＬＵＴ係数が図１４の点６９に示す値となるような更新量ΔL'i,jに置き換える。そして、変更量制限部５９は、置き換えられた更新量ΔL'i,jを加算器５２へ出力する。
【０１４３】
このように、加算器５２は、ＬＵＴ４２内の各アドレスの係数において、更新対象のアドレスの係数の値を、当該更新対象のアドレスに隣接する２つのアドレスの係数の平均値から所定範囲内の値となるように更新する。これにより、加算器５２は、簡易な処理で、ＬＵＴ４２内の各アドレスに対応する係数の値が連続性を満たすように、ＬＵＴ４２内の各係数を更新することができる。
【符号の説明】
【０１４４】
１０  歪補償装置
２０  第１の歪補償部
２１  歪補償処理部
２２  アドレス生成部
２３  ＬＵＴ
２４  線形項係数テーブル
３０  更新処理部
３１  保持部
３２  保持部
３３  減算器
４０  第２の歪補償部
４１  線形項係数テーブル
４２  ＬＵＴ
４３  アドレス生成部
４４  歪補償処理部
５０  係数更新部
５１  コピー部
５２  加算器
５３  第１の更新量算出部
５４  減算器
５５  補助テーブル保持部
５６  加算器
５７  加算器
５８  第２の更新量算出部
５９  変更量制限部
【図１】
2018011139.tif 000036
【図２】
2018011139.tif 000037
【図３】
2018011139.tif 000038
【図４】
2018011139.tif 000039
【図５】
2018011139.tif 000040
【図６】
2018011139.tif 000041
【図７】
2018011139.tif 000042
【図８】
2018011139.tif 000043
【図９】
2018011139.tif 000044
【図１０】
2018011139.tif 000045
【図１１】
2018011139.tif 000046
【図１２】
2018011139.tif 000047
【図１３】
2018011139.tif 000048
【図１４】
2018011139.tif 000049
【図１５】
2018011139.tif 000050
【図１６】
2018011139.tif 000051
【図１７】
2018011139.tif 000052
【図１８】
2018011139.tif 000053
【図１９】
2018011139.tif 000054