信号処理装置、デジタルフィルタ、および、プログラム
【課題】タップ数を増やすことなく、信号通過帯域を制御する。
【解決手段】デジタルフィルタを用いて、デジタル信号を複素数の解析信号に変換する解析信号生成部と、非線形歪に応じた複素数の補償係数を用いて、解析信号を補正する補償部とを備え、デジタルフィルタは、デジタル信号のデータをn個(ただし、nは2以上の整数)のデータ系列に分割し、k番目(ただし、k=1、2、・・・、n)のデータ系列に、デジタル信号のn×L+k番目(ただし、L=0、1、・・・)のデータを割り当て、それぞれのデータ系列を、同一のフィルタ係数を用いてフィルタリングし、フィルタリングした各データ系列を合成して解析信号の虚数部分を生成する信号処理装置を提供する。
【解決手段】デジタルフィルタを用いて、デジタル信号を複素数の解析信号に変換する解析信号生成部と、非線形歪に応じた複素数の補償係数を用いて、解析信号を補正する補償部とを備え、デジタルフィルタは、デジタル信号のデータをn個(ただし、nは2以上の整数)のデータ系列に分割し、k番目(ただし、k=1、2、・・・、n)のデータ系列に、デジタル信号のn×L+k番目(ただし、L=0、1、・・・)のデータを割り当て、それぞれのデータ系列を、同一のフィルタ係数を用いてフィルタリングし、フィルタリングした各データ系列を合成して解析信号の虚数部分を生成する信号処理装置を提供する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信号処理装置、デジタルフィルタ、および、プログラムに関する。
【背景技術】
【0002】
信号処理装置は、デジタル信号の非線形歪を補償する場合に、デジタル信号の複素数信号を用いて補償信号を生成する。デジタル信号を複素数信号に変換する方法として、ヒルベルト変換が知られている。ヒルベルト変換については、特許文献1に記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−233946号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
信号処理装置は、デジタル信号処理回路を用いたヒルベルトフィルタにより、デジタル信号をヒルベルト変換することができる。ヒルベルトフィルタはバンドパスフィルタの一種であり、デジタル信号処理回路のタップ数およびタップ係数等に応じて周波数特性が定まる。ところが、ヒルベルトフィルタをさまざまな周波数帯域に適用するには、タップ数を増やす必要があるので、回路規模が増大するという課題があった。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明の第1の態様においては、デジタル信号の非線形歪を補償する信号処理装置であって、デジタルフィルタを用いて、デジタル信号を複素数の解析信号に変換する解析信号生成部と、非線形歪に応じた複素数の補償係数を用いて、解析信号を補正する補償部とを備え、デジタルフィルタは、デジタル信号のデータをn個(ただし、nは2以上の整数)のデータ系列に分割し、k番目(ただし、k=1、2、・・・、n)のデータ系列に、デジタル信号のn×L+k番目(ただし、L=0、1、・・・)のデータを割り当て、それぞれのデータ系列を、同一のフィルタ係数を用いてフィルタリングし、フィルタリングした各データ系列を合成して解析信号の虚数部分を生成する信号処理装置を提供する。
【0006】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0007】
【図1】本実施形態に係る信号処理装置100の構成を示す。
【図2】解析信号生成部200の構成の一例を示す。
【図3】n=1の場合のデジタルフィルタ20の周波数特性を示す。
【図4】n=2の場合のデジタルフィルタ20の周波数特性を示す。
【図5】n=4の場合のデジタルフィルタ20の周波数特性を示す。
【図6】本実施形態に係るデジタルフィルタ20の具体的な構成例を示す。
【図7】図6の変形例を示す。
【図8】他の実施形態に係るデジタルフィルタ20を示す。
【図9】図8の変形例を示す。
【図10】他の実施形態に係るデジタルフィルタ20の構成を示す。
【図11】図6に示すデジタルフィルタ20および図10に示すデジタルフィルタ20の周波数特性を示す。
【図12】他の実施形態に係る信号処理装置100の構成を示す。
【図13】他の実施形態に係る信号処理装置100の構成を示す。
【図14】非線形歪の発生モデルを示す。
【図15】アナログ回路404の出力信号yに含まれる高調波歪のスペクトルの概念図を示す。
【図16】デジタル信号のスペクトラム、および、インターリーブをしない場合(N=1)のデジタルフィルタ20の周波数特性の実験データを示す。
【図17】信号処理装置100が出力する信号のスペクトラムの実験データを示す。
【図18】デジタル信号のスペクトラム、および、インターリーブをする場合(N=2)のデジタルフィルタ20の周波数特性の実験データを示す。
【図19】信号処理装置100が出力する信号のスペクトラムの実験データを示す。
【図20】インターリーブチャネル数を6とした場合のデジタルフィルタ20の周波数特性を示す。
【図21】他の実施形態に係るデジタルフィルタ20の構成を示す。
【図22】他の実施形態に係る信号処理装置100を構成するコンピュータ1900のハードウェア構成の一例を示す。
【図23】本実施形態に係る信号処理装置100の動作フローチャートの一例を示す。
【発明を実施するための形態】
【0008】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0009】
図1は、本実施形態に係る信号処理装置100の構成を示す。信号処理装置100は、デジタル信号の非線形歪を補償する。信号処理装置100は、解析信号生成部200および補償部300を備える。解析信号生成部200は、デジタルフィルタ20を用いて、デジタル信号を複素数の解析信号に変換する。補償部300は、非線形歪に応じた複素数の補償係数を用いて、解析信号を補正する。デジタル信号は、例えば、アナログ/デジタル変換器によってアナログ信号をデジタル変換した信号であってよい。
【0010】
デジタルフィルタ20は、デジタル信号処理回路により構成するバンドパスフィルタであってよい。デジタルフィルタ20は、FIRフィルタ等により構成するヒルベルトフィルタであってよい。与えられるデジタル信号の帯域は一定に限られないので、デジタルフィルタ20の信号通過帯域は、可変であることが好ましい。
【0011】
デジタルフィルタ20がFIRフィルタである場合、デジタルフィルタ20の周波数特性は、入力されるデジタル信号のサンプリング周波数(ナイキスト周波数の2倍の周波数)、タップ数およびタップ係数によって定まる。デジタルフィルタ20のタップ数が固定されている場合には、タップ係数により定まる信号阻止帯域リップルと信号通過帯域幅との間には、トレードオフの関係が生じる。具体的には、信号阻止帯域リップルを小さくすると、信号通過帯域幅が狭くなる。
【0012】
例えば、デジタルフィルタ20の周波数特性は、DC付近および入力信号のナイキスト周波数付近に遷移領域を有する。信号阻止帯域リップルを小さくすると、当該遷移領域がなだらかになり、信号通過帯域が狭くなってしまう。このため、タップ係数の調整では、信号阻止帯域の低リップル化および信号通過帯域の広帯域化を両立することが困難である。
【0013】
このため、本例におけるデジタルフィルタ20は、デジタル信号のサンプリング周波数を低くすることにより、信号阻止帯域リップルを小さくすると共に、低域側の信号通過帯域を広げることができる。しかし、サンプリング周波数を低くすると、折り返しの発生により、SN比が低下するという問題が生じる。また、サンプリングにより得られるデジタル信号の帯域が狭くなってしまう。
【0014】
また、デジタルフィルタ20は、タップ数を増やすことにより、信号阻止帯域リップルを変化させないで信号通過帯域幅を広くすることができる。しかし、デジタルフィルタ20のタップ数を増やすと、デジタル信号処理回路の規模が増大するという問題が生じる。特に、FPGA等のプログラマブルデバイスを、デジタルフィルタ20として機能させる場合、回路規模が制限されるので、タップ数は固定されることが好ましい。
【0015】
そこで、本実施形態に係る信号処理装置100において、デジタルフィルタ20は、デジタル信号のデータをn個(ただし、nは2以上の整数)のデータ系列に分割する。以下、n個のデータ系列に分割することを、「nチャネルのインターリーブ」と称する。例えば、デジタル信号のデータ数が256の場合、デジタルフィルタ20は、128個ずつのデータを有する2個のデータ系列に分割する2チャネルのインターリーブをしてよい。また、デジタルフィルタ20は、64個ずつのデータを有する4個のデータ系列に分割する4チャネルのインターリーブをしてもよい。
【0016】
デジタルフィルタ20は、n個のデータ系列のうち、k番目(ただし、k=1、2、・・・、n)のデータ系列に、デジタル信号のn×L+k番目(ただし、L=0、1、・・・)のデータを割り当てる。例えば、n=4の場合、デジタルフィルタ20は、1番目、5番目、9番目、・・・、(4×L+1)番目のデータを第1のデータ系列に割り当ててよく、2番目、6番目、10番目、・・・、(4×L+2)番目のデータを第2のデータ系列に割り当ててよい。
【0017】
デジタルフィルタ20は、それぞれのデータ系列を、同一のフィルタ係数を用いてフィルタリングする。デジタルフィルタ20は、フィルタリングした各データ系列を合成して解析信号の虚数部分を生成する。さらに、デジタルフィルタ20は、デジタル信号を遅延させて、解析信号の実数部分を生成してよい。
【0018】
補償部300は、デジタルフィルタ20が生成した解析信号の実数部分および虚数部分に基づいて、補償信号を生成する。本例の補償部300は、補償信号生成部310および減算部320を有する。補償信号生成部310は、複素数の解析信号に基づいて、実数の補償信号を生成する。減算部320は、解析信号生成部200が出力する解析信号の実数部分から補償信号生成部310が出力する補償信号を減算することにより、非線形歪が補償された信号を生成する。
【0019】
図2は、解析信号生成部200の構成の一例を示す。同図において、解析信号生成部200は、デジタルフィルタ20および遅延部40を有する。デジタルフィルタ20は、解析信号の虚数部分の信号を生成する。遅延部40は、解析信号の実数部分の信号を生成する。遅延部40は、デジタルフィルタ20と並列にデジタル信号を受け取り、デジタルフィルタ20において生じる遅延時間に対応する時間だけ当該デジタル信号を遅延させて、解析信号の実数部分を生成する。
【0020】
帯域制御部30は、デジタルフィルタ20におけるデータ系列の分割数nを制御する。帯域制御部30は、当該制御により、デジタルフィルタ20における信号通過帯域を制御する。
【0021】
デジタルフィルタ20は、並列に設けられ、それぞれ同一のフィルタ係数が設定される、第1番目から第N番目までのフィルタ部50(50−1、50−2、50−3、・・・、50−N)を有する。また、デジタルフィルタ20は、第k番目のフィルタ部50−kにデジタル信号のN×L+k番目のデータが順次入力されるように、それぞれのフィルタ部50に対してデジタル信号の各データを振り分けて入力するデータ入力部62を有する。さらに、デジタルフィルタ20は、それぞれのフィルタ部50が出力する信号を合成する合成部64を有する。
【0022】
例えば、データ入力部62は、デジタル信号のデータを順次異なるフィルタ部50に入力することで、デジタル信号のデータを4個のデータ系列に分割し、対応するフィルタ部50に入力する。データ入力部62は、デジタル信号のサンプリング周期に等しい時間(以下、サンプリング時間)ごとに、デジタル信号を入力するフィルタ部50を循環して切り替える。
【0023】
データ入力部62は、第1のデータ系列に含まれる1番目のデータをフィルタ部50−1に入力する。サンプリング時間の経過後に、データ入力部62は、第2のデータ系列に含まれる2番目のデータをフィルタ部50−2に入力する。さらなるサンプリング時間の経過後に、データ入力部62は、第3のデータ系列に含まれる3番目のデータをフィルタ部50−3に入力する。同様に、データ入力部62は、第4のデータ系列に含まれる4番目のデータをフィルタ部50−4に入力する。次に、データ入力部62は、第1のデータ系列に含まれる5番目のデータをフィルタ部50−1に入力する。
【0024】
データ入力部62がサンプリング時間ごとに切り替え動作を繰り返すことにより、それぞれのフィルタ部50は、サンプリング時間×チャネル数に相当する時間ごとにデータが入力され、データ入力に応じてフィルタリング処理をする。合成部64は、サンプリング時間ごとに、それぞれのフィルタ部50からフィルタリング後のデータ系列を取得した上で、取得したデータ系列を合成することにより、解析信号の虚数部分を生成する。例えば合成部64は、データ入力部62と同期して、データを取得するフィルタ部50を循環して切り替えてよい。合成部64は、データ入力部62と同一のフィルタ部50を選択してよく、データ入力部62が選択するフィルタ部50の番号に対して一定の番号差を有するフィルタ部50を選択してもよい。
【0025】
図3は、n=1の場合(インターリーブしない場合)のデジタルフィルタ20の周波数特性を示す。図4は、n=2の場合のデジタルフィルタ20の周波数特性を示す。図5は、n=4の場合のデジタルフィルタ20の周波数特性を示す。
【0026】
各図において、横軸は周波数を示し、縦軸はデジタルフィルタ20のゲイン(dB)を示す。横軸のFs/2はサンプリング周波数の1/2の周波数を示す。n=1の場合には、周波数が0からFs/2の間の第1ナイキスト領域が、信号通過帯域となっていることがわかる。
【0027】
図3および図4を比較すると、n=2の場合の信号通過帯域は、n=1の場合の信号通過帯域よりも低域にシフトしていることがわかる。信号通過帯域が低域にシフトしているにもかかわらず、サンプリング周波数は変化していない。従って、n=2の場合のフィルタは、所定の基本波成分を通過させると同時に、より低い周波数の信号を通過させることができるフィルタとなっている。図4および図5を比較すると、n=4とすることにより、さらに信号通過帯域を制御できることがわかる。
【0028】
図3から図5によれば、分割数(インターリーブチャネル数)nの増加に伴い、信号通過帯域における遷移領域の立ち上がりおよび立ち下がりが急峻になることがわかる。例えば、n=4の場合には、デジタルフィルタ20のゲインの変化が、n=1の場合の変化に比べて急峻である。その結果、n=1の場合には信号通過帯域に含まれなかった周波数が、n=4の場合には信号通過帯域に含まれる。つまり、帯域制御部30は、分割数nを制御することで、デジタルフィルタ20における信号通過帯域の低域側のカットオフ周波数を制御することができる。
【0029】
帯域制御部30は、デジタルフィルタ20における信号通過帯域の低域側のカットオフ周波数が、デジタル信号の基本波周波数よりも低くなるように、分割数nを制御してよい。例えば、n=1のデジタルフィルタ20の低域側カットオフ周波数が1MHzの場合、当該デジタルフィルタ20は、基本波周波数が100KHzのデジタル信号を通過させない。しかし、デジタルフィルタ20は、分割数nを4にして、低域側カットオフ周波数が50KHzになるように制御すれば、基本波周波数が100KHzのデジタル信号を通過させることができる。
【0030】
以上のように、本実施形態に係るデジタルフィルタ20は、データ系列の分割数nを制御することにより、タップ数を増やすことなく、信号の通過帯域を広げること、および、信号通過帯域の低域側のカットオフ周波数を制御することができる。従って、本実施形態に係るデジタルフィルタ20は、デジタル信号処理回路の規模を増大させることなく、デジタル信号に適した信号通過帯域を設定することができる。
【0031】
また、図1に関連して説明したように、信号処理装置100においては、解析信号の虚数部分は、補償信号生成部310における補償信号の生成に用いられるだけで、減算部320における補償では、解析信号の虚数部分を用いない。このため、デジタルフィルタ20は、デジタル信号の基本波成分を通過できればよく、高調波成分については通過しても、通過しなくともよい。このため、図4および図5に示したように、デジタル信号の基本波周波数に応じて信号通過帯域の低域側を拡張したことに伴い、高域側の帯域が櫛状になっても、信号処理装置100の動作に支障が生じない。
【0032】
図6は、本実施形態に係る解析信号生成部200の具体的な構成例を示す。解析信号生成部200は、デジタルフィルタ20および遅延部40を有する。デジタルフィルタ20は、M個のタップを有するFIRフィルタである。
【0033】
デジタルフィルタ20は、それぞれのタップxに対応して設けられた複数の乗算器70(70−1、70−2、・・・、70−x、・・・、70−M)複数の遅延器80(80−1、80−2、・・・、80−x、・・・、80−(M−1))、および、複数の加算器90(90−2、・・・、90−x、・・・、90−M)を有する。
【0034】
乗算器70−xは、対応するタップxに入力されるデジタル信号のデータに、フィルタ係数に応じた乗算値を乗算する。遅延器80−xは、それぞれのタップ間(タップxおよびタップx+1)に設けられ、タップ間で伝送するデータを所定の遅延量で遅延させる。
【0035】
帯域制御部30は、デジタル信号のサンプリング周期に、分割数nを乗じた値に基づいて、遅延器80における遅延量を制御する。具体的には、デジタル信号の1サンプリング周期に相当する遅延量がz−1で示される場合に、帯域制御部30は、それぞれの遅延器80の遅延量をz−nの遅延量に設定する。z−nは、デジタル信号のサンプリング周期のn倍の遅延時間に等しい。従って、1つの遅延器80における遅延量は、図5におけるデータ入力部62および合成部64における切り替え時間に、フィルタ部50の数を乗じた時間に相当する。
【0036】
図6において、デジタル信号は、乗算器70−1および遅延器80−1に並列に入力される。乗算器70−1は、入力されたデジタル信号のデータに、タップごとに定められたフィルタ係数に応じた乗算値を乗算する。乗算器70−1は、乗算後のデータを後段のタップの加算器90−2に出力する。
【0037】
遅延器80−1は、入力されたデジタル信号のデータを、遅延量z−nだけ遅延させる。遅延器80−1は、遅延させたデータを、後段のタップの乗算器70−2および遅延器80−2に出力する。加算器90−2は、前段のタップの乗算器70−1が出力するデータと、同一タップの乗算器70−2が出力するデータとを加算する。デジタルフィルタ20は、同様の乗算処理、遅延処理、および、加算処理を全てのタップについて繰り返して、加算器90−Mが出力する信号から、解析信号の虚数部分を生成する。
【0038】
遅延部40は、デジタル信号を、デジタルフィルタ20におけるタップ数Mおよび分割数Nに基づいて遅延させることで、解析信号の実数部分を生成する。例えば、遅延部40は、デジタルフィルタ20に入力された信号が遅延される遅延時間z−n(M−1)の半分の時間に等しい遅延時間z−n(M−1)/2だけ遅延させて、解析信号の実数部分を生成してよい。
【0039】
以上のように、本実施形態に係るデジタルフィルタ20は、それぞれの遅延器80における遅延量を制御することにより、デジタル信号の分割数を変化させる。具体的には、デジタルフィルタ20は、それぞれの遅延器80における遅延量を、サンプリング周期に分割数を乗じた量にする。その結果、デジタルフィルタ20は、タップ数を増やすことなく、信号の通過帯域を広げること、および、信号通過帯域の低域側のカットオフ周波数を制御することができる。
【0040】
なお、図2に示した例では、それぞれのフィルタ部50が、図6に示したデジタルフィルタ20と同等の構成を有する。ただし、図2の各フィルタ部50においては、n=1である。これに対し、本例のデジタルフィルタ20は、各タップ間の遅延量を制御することで、フィルタ部50の1つ分の回路で、インターリーブ可能なフィルタを実現することができる。このため、回路規模を低減することができる。
【0041】
図7は、図6の変形例を示す。同図において、入力されたデジタル信号のデータは、それぞれの乗算器70に同時に入力される。乗算器70−1は、所定の係数を乗算した乗算値を遅延器80−1に出力する。その他の乗算器70は、同一タップの加算器90に乗算値を出力する。
【0042】
それぞれの加算器90は、前段のタップ内の遅延器80が出力したデータと、同一タップ内の乗算器70が出力した乗算値とを加算する。各タップの乗算器70、遅延器80、および、加算器90は、順次同じ処理を繰り返して、加算器90−Mは、デジタル信号の虚数部分のデータを出力する。
【0043】
図8は、他の実施形態に係るデジタルフィルタ20を示す。同図において、デジタルフィルタ20は、係数の対称性を利用して、図6および図7に示したデジタルフィルタ20に比べてタップ数をM/2個とすることにより、乗算器70の数を半減している。
【0044】
デジタルフィルタ20は、入力されたデジタル信号のデータを遅延器80−1から遅延器80−(M/2−1)まで、それぞれの遅延器80において遅延量z−nだけ遅延させながら順次伝搬する。遅延器80−(M/2−1)は、遅延したデータを乗算器70−M/2に出力すると同時に、遅延器80−M/2に出力する。デジタルフィルタ20は、遅延器80−M/2に入力されたデータを遅延器80−(M−2)まで順次伝搬する。
【0045】
それぞれのタップに設けられた加算器90は、それぞれのタップに接続される遅延器80−1から遅延器80−(M/2−1)までのいずれかの遅延器80と、それぞれのタップに接続される遅延器80−M/2から遅延器80−(M−2)までのいずれかの遅延器80とから出力されるデータを加算する。
【0046】
それぞれの乗算器70は、同一タップ内の加算器90が出力するデータに所定の係数を乗算した乗算値を加算部110に出力する。例えば、乗算器70−1は、加算器90−1が出力したデータに所定の係数を乗算した乗算値を加算部110に出力する。加算部110は、それぞれの乗算器70が出力した乗算値を加算することにより解析信号の虚数部分を生成する。
【0047】
以上の構成により、デジタルフィルタ20は、図6および図7の構成に示すデジタルフィルタ20に比べて半分の数の乗算器70により、インターリーブ可能なフィルタを構成することができる。その結果、信号処理装置100は、デジタルフィルタ20の回路規模を縮小することができる。
【0048】
図9は、図8の変形例を示す。同図において、入力されたデジタル信号のデータは、それぞれの乗算器70に同時に入力される。それぞれのタップの乗算器70は、所定の係数を乗算した乗算値を同一タップの加算器90に出力する。
【0049】
加算器90は、それぞれのタップに接続される乗算器70から出力されるデータと、前段のタップとの間の遅延器80から出力されるデータとを加算する。それぞれの遅延器80は、前段の加算器90から入力されるデータを遅延量z−nだけ遅延させた上で、後段の加算器90に出力する。遅延器80−1に入力されたデータは、順次遅延器80−(M−2)まで伝搬され、加算器90−Mに出力される。加算器90−Mは、同一タップの乗算器70−1が出力するデータと、遅延器80−(M−2)が出力するデータとを加算して、解析信号の虚数部分を生成する。
【0050】
図10は、他の実施形態に係るデジタルフィルタ20の構成を示す。本実施形態に係るデジタルフィルタ20は、各タップにおいて、フィルタ係数に応じた乗算値を、タップの順序に応じて順番に設定する。帯域制御部30は、乗算値の順番を逆順にしてそれぞれのタップに設定することで、デジタルフィルタ20における信号通過帯域を制御する。
【0051】
具体的には、図10に示すデジタルフィルタ20の構成は、各タップにおける乗算器70の係数が異なる以外は、図6に示すデジタルフィルタ20の構成と等しい。例えば、図10における乗算器70−1に用いられる係数は、図6における乗算器70−Mに用いられる係数に等しい。図10における乗算器70−Mに用いられる係数は、図6における乗算器70−1に用いられる係数に等しい。当該構成により、デジタルフィルタ20は、信号通過帯域を第2ナイキスト領域に切り替えることができる。なお、本例では、図6に示したデジタルフィルタ20の構成を基に、乗算値の順番を逆順にする例を説明したが、図7から図9のいずれかのデジタルフィルタ20の構成を基に、乗算値の順番を逆順に設定してもよい。
【0052】
図11は、図6に示すデジタルフィルタ20および図10に示すデジタルフィルタ20の周波数特性を示す。同図において、破線は図6のデジタルフィルタ20の周波数特性を示す。実線は、図10のデジタルフィルタ20の周波数特性を示す。それぞれのデジタルフィルタ20は、信号通過帯域および信号阻止帯域が、互いに入れ替わった周波数特性を有する。本実施形態の構成によれば、デジタルフィルタ20は、被測定信号に応じて、信号を通過させる領域を、第1ナイキスト領域または第2ナイキスト領域に容易に切り替えることができる。
【0053】
図12は、他の実施形態に係る信号処理装置100の構成を示す。デジタルフィルタ20は、データ系列の分割数nに応じて信号通過帯域を制御することができる。そこで、デジタルフィルタ20の設計においては、解析すべき信号の周波数に応じて、データ系列の分割数nが決定される。
【0054】
信号処理装置100は、アナログ信号を解析する場合、アナログ信号をアナログ/デジタル変換器でデジタル信号に変換した上で、変換後のデジタル信号をデジタルフィルタ20に入力する。広範囲の周波数帯域のアナログ信号を解析するために、アナログ/デジタル変換器におけるサンプリング周波数は、入力されうるアナログ信号の最大周波数に応じた周波数が選択される。
【0055】
従って、当該最大周波数に対して低い周波数のアナログ信号を解析する場合には、必要以上にサンプリング周波数が高い。サンプリング周波数が高い場合には、デジタルフィルタ20の動作周波数が高くなるので、消費電力および放射ノイズが増加するという問題が生じる。
【0056】
そこで、本実施形態に係る信号処理装置100は、図1に示した信号処理装置100に対して、デシメーション部350をさらに有する。デシメーション部350は、デジタル信号のデータ数を低減してデジタルフィルタ20に入力する。例えば、デシメーション部350は、デジタル信号のサンプリングデータを所定の間隔で選択した上で、選択したデータをデジタルフィルタ20に入力してよい。以上の構成により、デジタルフィルタ20は、解析すべき信号の周波数に応じて、最適なサンプリング周波数で動作するフィルタを構成することができる。
【0057】
図13は、他の実施形態に係る信号処理装置100の構成を示す。同図における補償部300は、補償信号生成部310および減算部320を有する。補償信号生成部310は、解析信号をべき乗した信号および補償係数に基づいて、デジタル信号の非線形歪を補償する補償信号を生成する。減算部320は、それぞれの補償信号を、デジタル信号から減じることで、非線形歪を補償する。
【0058】
補償部300の動作説明に先立ち、非線形歪の補償アルゴリズムの概要を説明する。図14は、非線形歪の発生モデルを示す。本モデルにおける入力信号は、周波数f0、位相θ0を有するd=Cos(2πf0t+θ0)であるとする。アナログ回路400は、ゲインM0を有しているので、x=M0Cos(2πf0t+θ0)をアナログ回路402に出力する。
【0059】
続いて、アナログ回路402は、アナログ回路402が有する非線形性により生じる歪みが重畳された信号を、後段のアナログ回路404に出力する。アナログ回路404は、ゲインGを有しているので、アナログ回路404の出力信号は、y=G(A1・x+A2・x2+A3・x3)となる。
【0060】
図15は、アナログ回路404が出力する信号yに含まれる高調波歪のスペクトラムの概念図を示す。f0は基本波成分、2f0は2次高調波成分、3f0は3次高調波成分を示す。2次高調波成分の振幅H2および3次高調波成分の振幅H3は次のように算出できる。
【数1】
これより、2次高調波および3次高調波成分の補償係数は、
【数2】
により算出することができる。
【0061】
信号処理装置100は、上記補償係数を用いることにより、信号yに含まれる非線形歪を補償する補償信号
【数3】
式(1)
を生成することができる。ここで、H[y]は、信号yを複素数に変換したデータ、θ2は2次高調波の位相、θ3は3次高調波の位相である。
【0062】
信号処理装置100は、信号yから補償信号を減算することにより、歪のない解析信号を得ることができる。具体的には、
【数4】
と近似すると、補償後の信号は、
【数5】
となり、歪のない解析信号を得られることがわかる。
【0063】
デジタルフィルタ20は、ヒルベルトフィルタを用いて、式(1)に含まれる信号yの複素数変換データを生成してよい。補償部300は、デジタルフィルタ20が生成した実数部分のデータおよび虚数部分のデータを用いて、式(1)に示す演算を行うことにより、補償信号を生成する。減算部320は、デジタルフィルタ20が出力する実数部分から、補償部300が出力する補償信号を減算することにより、非線形歪が補償された信号を生成する。
【0064】
図16は、デジタル信号のスペクトラム、および、インターリーブをしない場合(n=1)のデジタルフィルタ20の周波数特性の実験データを示す。図17は、信号処理装置100が出力する信号のスペクトラムの実験データを示す。両図において、横軸は周波数を示し、縦軸はデジタルフィルタ20のゲイン(dB)を示す。サンプリング周波数Fsは100Msps、デジタル信号の基本波周波数は60MHz、サンプリング数は8192である。
【0065】
図16において、デジタル信号の基本波成分と共に、波形歪の原因となる高調波成分(高調波の折り返し信号成分)が存在する。ところが、デジタル信号の基本波周波数は、デジタルフィルタ20の信号阻止帯域に含まれている。従って、補償部300は、デジタル信号をデジタルフィルタ20から取得できない。その結果、補償部300は、補償信号を生成できないので、図17に示すように、信号処理装置100が出力する信号からは、デジタル信号に含まれる高調波成分は除去されない。
【0066】
図18は、デジタル信号のスペクトラム、および、インターリーブをする場合(N=2)のデジタルフィルタ20の周波数特性の実験データを示す。図19は、信号処理装置100が出力する信号のスペクトラムの実験データを示す。図18のデジタルフィルタ20は、インターリーブをすることにより、図16のデジタルフィルタ20と異なる信号通過帯域特性を有しており、デジタル信号の基本波周波数が、デジタルフィルタ20の信号通過帯域に含まれる。
【0067】
デジタル信号の基本波周波数がデジタルフィルタ20の信号通過帯域に含まれるので、補償部300は、デジタル信号をデジタルフィルタ20から取得できる。従って、補償部300は、デジタル信号から補償信号を生成することができる。その結果、図19に示すように、信号処理装置100が出力する信号からは、デジタル信号に含まれていた高調波成分が除去される。
【0068】
図20は、インターリーブチャネル数を6とした場合のデジタルフィルタ20の周波数特性を示す。図21は、図20の低周波数領域の拡大図を示す。図20および図21において、デジタル信号の基本波周波数は、サンプリング周波数100Mspsに対して100分の1の周波数に相当する1MHzである。デジタルフィルタ20がインターリーブチャネル数を増やしたことにより、低域のカットオフ周波数がデジタル信号の基本波周波数よりも十分に低くなっている。その結果、デジタル信号の基本波周波数が、デジタルフィルタ20の信号通過帯域に含まれることがわかる。
【0069】
以上のように、本実施形態に係る信号処理装置100は、解析信号生成部200が生成した解析信号の複素数成分データを用いて、補償部300が補償信号を生成することにより、非線形歪を除去することができる。特に、デジタルフィルタ20は、データ系列の分割数、つまり、インターリーブチャネル数を変化することにより、タップ数を変更することなくフィルタの周波数特性を変化させることができる。従って、信号処理装置100は、解析信号の周波数等の特性に応じて、最適なフィルタ特性に調整した上で、デジタル信号の補償をすることができる。
【0070】
図22は、他の実施形態に係る信号処理装置100を構成するコンピュータ1900のハードウェア構成の一例を示す。図23は、本実施形態に係る信号処理装置100の動作フローチャートの一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
【0071】
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0072】
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
【0073】
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
【0074】
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
【0075】
コンピュータ1900にインストールされ、コンピュータ1900を信号処理装置100として機能させるプログラムは、コンピュータ1900を、デジタルフィルタ20を用いて、デジタル信号を複素数の解析信号に変換する解析信号生成部200と、非線形歪に応じた複素数の補償係数を用いて、解析信号を補正する補償部300として機能させ、デジタルフィルタ20に、デジタル信号のデータをN個(ただし、nは2以上の整数)のデータ系列に分割させ、k番目(ただし、k=1、2、・・・、n)のデータ系列に、デジタル信号のn×L+k番目(ただし、L=0、1、・・・)のデータを割り当てさせ、それぞれのデータ系列を、同一のフィルタ係数を用いてフィルタリングさせ、フィルタリングした各データ系列を合成して解析信号の虚数部分を生成させる。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、図1から図21に関連して説明した、いずれかの信号処理装置100として機能させてよい。
【0076】
具体的には、当該プログラムにより、コンピュータ1900は、入力されるデジタル信号のデータを所定の順番でn個のデータ系列に分割する(S101)。次に、コンピュータ1900は、分割したデータ系列ごとに、同一のフィルタ係数を用いてフィルタリングする(S102)。続いて、コンピュータ1900は、フィルタリングした各データ系列のデータを合成して、解析信号の虚数部分のデータを生成する(S103)。
【0077】
さらに、コンピュータ1900は、生成した解析信号の虚数部分のデータと、解析信号の実数部分のデータと、あらかじめ算出した補償係数とを用いて、補償信号を生成する(S104)。コンピュータ1900は、解析信号の実数部分のデータから、生成した補償信号を減算することにより、非線形歪を補償した信号を生成してよい(S105)。
【0078】
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である解析信号生成部200および補償部300として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の信号処理装置100が構築される。
【0079】
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【0080】
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。
【0081】
このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
【0082】
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【0083】
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
【0084】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
【0085】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0086】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0087】
20 デジタルフィルタ、30 帯域制御部、40 遅延部、50 フィルタ部、62 データ入力部、64 合成部、70 乗算器、80 遅延器、90 加算器、100 信号処理装置、110 加算部、200 解析信号生成部、300 補償部、310 補償信号生成部、320 減算部、350 デシメーション部、400 アナログ回路、402 アナログ回路、404 アナログ回路、1900 コンピュータ、2000 CPU、2010 ROM、2020 RAM、2030 通信インターフェイス、2040 ハードディスクドライブ、2050 フレキシブルディスク・ドライブ、2060 CD−ROMドライブ、2070 入出力チップ、2075 グラフィック・コントローラ、2080 表示装置、2082 ホスト・コントローラ、2084 入出力コントローラ、2090 フレキシブルディスク、2095 CD−ROM
【技術分野】
【0001】
本発明は、信号処理装置、デジタルフィルタ、および、プログラムに関する。
【背景技術】
【0002】
信号処理装置は、デジタル信号の非線形歪を補償する場合に、デジタル信号の複素数信号を用いて補償信号を生成する。デジタル信号を複素数信号に変換する方法として、ヒルベルト変換が知られている。ヒルベルト変換については、特許文献1に記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−233946号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
信号処理装置は、デジタル信号処理回路を用いたヒルベルトフィルタにより、デジタル信号をヒルベルト変換することができる。ヒルベルトフィルタはバンドパスフィルタの一種であり、デジタル信号処理回路のタップ数およびタップ係数等に応じて周波数特性が定まる。ところが、ヒルベルトフィルタをさまざまな周波数帯域に適用するには、タップ数を増やす必要があるので、回路規模が増大するという課題があった。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明の第1の態様においては、デジタル信号の非線形歪を補償する信号処理装置であって、デジタルフィルタを用いて、デジタル信号を複素数の解析信号に変換する解析信号生成部と、非線形歪に応じた複素数の補償係数を用いて、解析信号を補正する補償部とを備え、デジタルフィルタは、デジタル信号のデータをn個(ただし、nは2以上の整数)のデータ系列に分割し、k番目(ただし、k=1、2、・・・、n)のデータ系列に、デジタル信号のn×L+k番目(ただし、L=0、1、・・・)のデータを割り当て、それぞれのデータ系列を、同一のフィルタ係数を用いてフィルタリングし、フィルタリングした各データ系列を合成して解析信号の虚数部分を生成する信号処理装置を提供する。
【0006】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0007】
【図1】本実施形態に係る信号処理装置100の構成を示す。
【図2】解析信号生成部200の構成の一例を示す。
【図3】n=1の場合のデジタルフィルタ20の周波数特性を示す。
【図4】n=2の場合のデジタルフィルタ20の周波数特性を示す。
【図5】n=4の場合のデジタルフィルタ20の周波数特性を示す。
【図6】本実施形態に係るデジタルフィルタ20の具体的な構成例を示す。
【図7】図6の変形例を示す。
【図8】他の実施形態に係るデジタルフィルタ20を示す。
【図9】図8の変形例を示す。
【図10】他の実施形態に係るデジタルフィルタ20の構成を示す。
【図11】図6に示すデジタルフィルタ20および図10に示すデジタルフィルタ20の周波数特性を示す。
【図12】他の実施形態に係る信号処理装置100の構成を示す。
【図13】他の実施形態に係る信号処理装置100の構成を示す。
【図14】非線形歪の発生モデルを示す。
【図15】アナログ回路404の出力信号yに含まれる高調波歪のスペクトルの概念図を示す。
【図16】デジタル信号のスペクトラム、および、インターリーブをしない場合(N=1)のデジタルフィルタ20の周波数特性の実験データを示す。
【図17】信号処理装置100が出力する信号のスペクトラムの実験データを示す。
【図18】デジタル信号のスペクトラム、および、インターリーブをする場合(N=2)のデジタルフィルタ20の周波数特性の実験データを示す。
【図19】信号処理装置100が出力する信号のスペクトラムの実験データを示す。
【図20】インターリーブチャネル数を6とした場合のデジタルフィルタ20の周波数特性を示す。
【図21】他の実施形態に係るデジタルフィルタ20の構成を示す。
【図22】他の実施形態に係る信号処理装置100を構成するコンピュータ1900のハードウェア構成の一例を示す。
【図23】本実施形態に係る信号処理装置100の動作フローチャートの一例を示す。
【発明を実施するための形態】
【0008】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0009】
図1は、本実施形態に係る信号処理装置100の構成を示す。信号処理装置100は、デジタル信号の非線形歪を補償する。信号処理装置100は、解析信号生成部200および補償部300を備える。解析信号生成部200は、デジタルフィルタ20を用いて、デジタル信号を複素数の解析信号に変換する。補償部300は、非線形歪に応じた複素数の補償係数を用いて、解析信号を補正する。デジタル信号は、例えば、アナログ/デジタル変換器によってアナログ信号をデジタル変換した信号であってよい。
【0010】
デジタルフィルタ20は、デジタル信号処理回路により構成するバンドパスフィルタであってよい。デジタルフィルタ20は、FIRフィルタ等により構成するヒルベルトフィルタであってよい。与えられるデジタル信号の帯域は一定に限られないので、デジタルフィルタ20の信号通過帯域は、可変であることが好ましい。
【0011】
デジタルフィルタ20がFIRフィルタである場合、デジタルフィルタ20の周波数特性は、入力されるデジタル信号のサンプリング周波数(ナイキスト周波数の2倍の周波数)、タップ数およびタップ係数によって定まる。デジタルフィルタ20のタップ数が固定されている場合には、タップ係数により定まる信号阻止帯域リップルと信号通過帯域幅との間には、トレードオフの関係が生じる。具体的には、信号阻止帯域リップルを小さくすると、信号通過帯域幅が狭くなる。
【0012】
例えば、デジタルフィルタ20の周波数特性は、DC付近および入力信号のナイキスト周波数付近に遷移領域を有する。信号阻止帯域リップルを小さくすると、当該遷移領域がなだらかになり、信号通過帯域が狭くなってしまう。このため、タップ係数の調整では、信号阻止帯域の低リップル化および信号通過帯域の広帯域化を両立することが困難である。
【0013】
このため、本例におけるデジタルフィルタ20は、デジタル信号のサンプリング周波数を低くすることにより、信号阻止帯域リップルを小さくすると共に、低域側の信号通過帯域を広げることができる。しかし、サンプリング周波数を低くすると、折り返しの発生により、SN比が低下するという問題が生じる。また、サンプリングにより得られるデジタル信号の帯域が狭くなってしまう。
【0014】
また、デジタルフィルタ20は、タップ数を増やすことにより、信号阻止帯域リップルを変化させないで信号通過帯域幅を広くすることができる。しかし、デジタルフィルタ20のタップ数を増やすと、デジタル信号処理回路の規模が増大するという問題が生じる。特に、FPGA等のプログラマブルデバイスを、デジタルフィルタ20として機能させる場合、回路規模が制限されるので、タップ数は固定されることが好ましい。
【0015】
そこで、本実施形態に係る信号処理装置100において、デジタルフィルタ20は、デジタル信号のデータをn個(ただし、nは2以上の整数)のデータ系列に分割する。以下、n個のデータ系列に分割することを、「nチャネルのインターリーブ」と称する。例えば、デジタル信号のデータ数が256の場合、デジタルフィルタ20は、128個ずつのデータを有する2個のデータ系列に分割する2チャネルのインターリーブをしてよい。また、デジタルフィルタ20は、64個ずつのデータを有する4個のデータ系列に分割する4チャネルのインターリーブをしてもよい。
【0016】
デジタルフィルタ20は、n個のデータ系列のうち、k番目(ただし、k=1、2、・・・、n)のデータ系列に、デジタル信号のn×L+k番目(ただし、L=0、1、・・・)のデータを割り当てる。例えば、n=4の場合、デジタルフィルタ20は、1番目、5番目、9番目、・・・、(4×L+1)番目のデータを第1のデータ系列に割り当ててよく、2番目、6番目、10番目、・・・、(4×L+2)番目のデータを第2のデータ系列に割り当ててよい。
【0017】
デジタルフィルタ20は、それぞれのデータ系列を、同一のフィルタ係数を用いてフィルタリングする。デジタルフィルタ20は、フィルタリングした各データ系列を合成して解析信号の虚数部分を生成する。さらに、デジタルフィルタ20は、デジタル信号を遅延させて、解析信号の実数部分を生成してよい。
【0018】
補償部300は、デジタルフィルタ20が生成した解析信号の実数部分および虚数部分に基づいて、補償信号を生成する。本例の補償部300は、補償信号生成部310および減算部320を有する。補償信号生成部310は、複素数の解析信号に基づいて、実数の補償信号を生成する。減算部320は、解析信号生成部200が出力する解析信号の実数部分から補償信号生成部310が出力する補償信号を減算することにより、非線形歪が補償された信号を生成する。
【0019】
図2は、解析信号生成部200の構成の一例を示す。同図において、解析信号生成部200は、デジタルフィルタ20および遅延部40を有する。デジタルフィルタ20は、解析信号の虚数部分の信号を生成する。遅延部40は、解析信号の実数部分の信号を生成する。遅延部40は、デジタルフィルタ20と並列にデジタル信号を受け取り、デジタルフィルタ20において生じる遅延時間に対応する時間だけ当該デジタル信号を遅延させて、解析信号の実数部分を生成する。
【0020】
帯域制御部30は、デジタルフィルタ20におけるデータ系列の分割数nを制御する。帯域制御部30は、当該制御により、デジタルフィルタ20における信号通過帯域を制御する。
【0021】
デジタルフィルタ20は、並列に設けられ、それぞれ同一のフィルタ係数が設定される、第1番目から第N番目までのフィルタ部50(50−1、50−2、50−3、・・・、50−N)を有する。また、デジタルフィルタ20は、第k番目のフィルタ部50−kにデジタル信号のN×L+k番目のデータが順次入力されるように、それぞれのフィルタ部50に対してデジタル信号の各データを振り分けて入力するデータ入力部62を有する。さらに、デジタルフィルタ20は、それぞれのフィルタ部50が出力する信号を合成する合成部64を有する。
【0022】
例えば、データ入力部62は、デジタル信号のデータを順次異なるフィルタ部50に入力することで、デジタル信号のデータを4個のデータ系列に分割し、対応するフィルタ部50に入力する。データ入力部62は、デジタル信号のサンプリング周期に等しい時間(以下、サンプリング時間)ごとに、デジタル信号を入力するフィルタ部50を循環して切り替える。
【0023】
データ入力部62は、第1のデータ系列に含まれる1番目のデータをフィルタ部50−1に入力する。サンプリング時間の経過後に、データ入力部62は、第2のデータ系列に含まれる2番目のデータをフィルタ部50−2に入力する。さらなるサンプリング時間の経過後に、データ入力部62は、第3のデータ系列に含まれる3番目のデータをフィルタ部50−3に入力する。同様に、データ入力部62は、第4のデータ系列に含まれる4番目のデータをフィルタ部50−4に入力する。次に、データ入力部62は、第1のデータ系列に含まれる5番目のデータをフィルタ部50−1に入力する。
【0024】
データ入力部62がサンプリング時間ごとに切り替え動作を繰り返すことにより、それぞれのフィルタ部50は、サンプリング時間×チャネル数に相当する時間ごとにデータが入力され、データ入力に応じてフィルタリング処理をする。合成部64は、サンプリング時間ごとに、それぞれのフィルタ部50からフィルタリング後のデータ系列を取得した上で、取得したデータ系列を合成することにより、解析信号の虚数部分を生成する。例えば合成部64は、データ入力部62と同期して、データを取得するフィルタ部50を循環して切り替えてよい。合成部64は、データ入力部62と同一のフィルタ部50を選択してよく、データ入力部62が選択するフィルタ部50の番号に対して一定の番号差を有するフィルタ部50を選択してもよい。
【0025】
図3は、n=1の場合(インターリーブしない場合)のデジタルフィルタ20の周波数特性を示す。図4は、n=2の場合のデジタルフィルタ20の周波数特性を示す。図5は、n=4の場合のデジタルフィルタ20の周波数特性を示す。
【0026】
各図において、横軸は周波数を示し、縦軸はデジタルフィルタ20のゲイン(dB)を示す。横軸のFs/2はサンプリング周波数の1/2の周波数を示す。n=1の場合には、周波数が0からFs/2の間の第1ナイキスト領域が、信号通過帯域となっていることがわかる。
【0027】
図3および図4を比較すると、n=2の場合の信号通過帯域は、n=1の場合の信号通過帯域よりも低域にシフトしていることがわかる。信号通過帯域が低域にシフトしているにもかかわらず、サンプリング周波数は変化していない。従って、n=2の場合のフィルタは、所定の基本波成分を通過させると同時に、より低い周波数の信号を通過させることができるフィルタとなっている。図4および図5を比較すると、n=4とすることにより、さらに信号通過帯域を制御できることがわかる。
【0028】
図3から図5によれば、分割数(インターリーブチャネル数)nの増加に伴い、信号通過帯域における遷移領域の立ち上がりおよび立ち下がりが急峻になることがわかる。例えば、n=4の場合には、デジタルフィルタ20のゲインの変化が、n=1の場合の変化に比べて急峻である。その結果、n=1の場合には信号通過帯域に含まれなかった周波数が、n=4の場合には信号通過帯域に含まれる。つまり、帯域制御部30は、分割数nを制御することで、デジタルフィルタ20における信号通過帯域の低域側のカットオフ周波数を制御することができる。
【0029】
帯域制御部30は、デジタルフィルタ20における信号通過帯域の低域側のカットオフ周波数が、デジタル信号の基本波周波数よりも低くなるように、分割数nを制御してよい。例えば、n=1のデジタルフィルタ20の低域側カットオフ周波数が1MHzの場合、当該デジタルフィルタ20は、基本波周波数が100KHzのデジタル信号を通過させない。しかし、デジタルフィルタ20は、分割数nを4にして、低域側カットオフ周波数が50KHzになるように制御すれば、基本波周波数が100KHzのデジタル信号を通過させることができる。
【0030】
以上のように、本実施形態に係るデジタルフィルタ20は、データ系列の分割数nを制御することにより、タップ数を増やすことなく、信号の通過帯域を広げること、および、信号通過帯域の低域側のカットオフ周波数を制御することができる。従って、本実施形態に係るデジタルフィルタ20は、デジタル信号処理回路の規模を増大させることなく、デジタル信号に適した信号通過帯域を設定することができる。
【0031】
また、図1に関連して説明したように、信号処理装置100においては、解析信号の虚数部分は、補償信号生成部310における補償信号の生成に用いられるだけで、減算部320における補償では、解析信号の虚数部分を用いない。このため、デジタルフィルタ20は、デジタル信号の基本波成分を通過できればよく、高調波成分については通過しても、通過しなくともよい。このため、図4および図5に示したように、デジタル信号の基本波周波数に応じて信号通過帯域の低域側を拡張したことに伴い、高域側の帯域が櫛状になっても、信号処理装置100の動作に支障が生じない。
【0032】
図6は、本実施形態に係る解析信号生成部200の具体的な構成例を示す。解析信号生成部200は、デジタルフィルタ20および遅延部40を有する。デジタルフィルタ20は、M個のタップを有するFIRフィルタである。
【0033】
デジタルフィルタ20は、それぞれのタップxに対応して設けられた複数の乗算器70(70−1、70−2、・・・、70−x、・・・、70−M)複数の遅延器80(80−1、80−2、・・・、80−x、・・・、80−(M−1))、および、複数の加算器90(90−2、・・・、90−x、・・・、90−M)を有する。
【0034】
乗算器70−xは、対応するタップxに入力されるデジタル信号のデータに、フィルタ係数に応じた乗算値を乗算する。遅延器80−xは、それぞれのタップ間(タップxおよびタップx+1)に設けられ、タップ間で伝送するデータを所定の遅延量で遅延させる。
【0035】
帯域制御部30は、デジタル信号のサンプリング周期に、分割数nを乗じた値に基づいて、遅延器80における遅延量を制御する。具体的には、デジタル信号の1サンプリング周期に相当する遅延量がz−1で示される場合に、帯域制御部30は、それぞれの遅延器80の遅延量をz−nの遅延量に設定する。z−nは、デジタル信号のサンプリング周期のn倍の遅延時間に等しい。従って、1つの遅延器80における遅延量は、図5におけるデータ入力部62および合成部64における切り替え時間に、フィルタ部50の数を乗じた時間に相当する。
【0036】
図6において、デジタル信号は、乗算器70−1および遅延器80−1に並列に入力される。乗算器70−1は、入力されたデジタル信号のデータに、タップごとに定められたフィルタ係数に応じた乗算値を乗算する。乗算器70−1は、乗算後のデータを後段のタップの加算器90−2に出力する。
【0037】
遅延器80−1は、入力されたデジタル信号のデータを、遅延量z−nだけ遅延させる。遅延器80−1は、遅延させたデータを、後段のタップの乗算器70−2および遅延器80−2に出力する。加算器90−2は、前段のタップの乗算器70−1が出力するデータと、同一タップの乗算器70−2が出力するデータとを加算する。デジタルフィルタ20は、同様の乗算処理、遅延処理、および、加算処理を全てのタップについて繰り返して、加算器90−Mが出力する信号から、解析信号の虚数部分を生成する。
【0038】
遅延部40は、デジタル信号を、デジタルフィルタ20におけるタップ数Mおよび分割数Nに基づいて遅延させることで、解析信号の実数部分を生成する。例えば、遅延部40は、デジタルフィルタ20に入力された信号が遅延される遅延時間z−n(M−1)の半分の時間に等しい遅延時間z−n(M−1)/2だけ遅延させて、解析信号の実数部分を生成してよい。
【0039】
以上のように、本実施形態に係るデジタルフィルタ20は、それぞれの遅延器80における遅延量を制御することにより、デジタル信号の分割数を変化させる。具体的には、デジタルフィルタ20は、それぞれの遅延器80における遅延量を、サンプリング周期に分割数を乗じた量にする。その結果、デジタルフィルタ20は、タップ数を増やすことなく、信号の通過帯域を広げること、および、信号通過帯域の低域側のカットオフ周波数を制御することができる。
【0040】
なお、図2に示した例では、それぞれのフィルタ部50が、図6に示したデジタルフィルタ20と同等の構成を有する。ただし、図2の各フィルタ部50においては、n=1である。これに対し、本例のデジタルフィルタ20は、各タップ間の遅延量を制御することで、フィルタ部50の1つ分の回路で、インターリーブ可能なフィルタを実現することができる。このため、回路規模を低減することができる。
【0041】
図7は、図6の変形例を示す。同図において、入力されたデジタル信号のデータは、それぞれの乗算器70に同時に入力される。乗算器70−1は、所定の係数を乗算した乗算値を遅延器80−1に出力する。その他の乗算器70は、同一タップの加算器90に乗算値を出力する。
【0042】
それぞれの加算器90は、前段のタップ内の遅延器80が出力したデータと、同一タップ内の乗算器70が出力した乗算値とを加算する。各タップの乗算器70、遅延器80、および、加算器90は、順次同じ処理を繰り返して、加算器90−Mは、デジタル信号の虚数部分のデータを出力する。
【0043】
図8は、他の実施形態に係るデジタルフィルタ20を示す。同図において、デジタルフィルタ20は、係数の対称性を利用して、図6および図7に示したデジタルフィルタ20に比べてタップ数をM/2個とすることにより、乗算器70の数を半減している。
【0044】
デジタルフィルタ20は、入力されたデジタル信号のデータを遅延器80−1から遅延器80−(M/2−1)まで、それぞれの遅延器80において遅延量z−nだけ遅延させながら順次伝搬する。遅延器80−(M/2−1)は、遅延したデータを乗算器70−M/2に出力すると同時に、遅延器80−M/2に出力する。デジタルフィルタ20は、遅延器80−M/2に入力されたデータを遅延器80−(M−2)まで順次伝搬する。
【0045】
それぞれのタップに設けられた加算器90は、それぞれのタップに接続される遅延器80−1から遅延器80−(M/2−1)までのいずれかの遅延器80と、それぞれのタップに接続される遅延器80−M/2から遅延器80−(M−2)までのいずれかの遅延器80とから出力されるデータを加算する。
【0046】
それぞれの乗算器70は、同一タップ内の加算器90が出力するデータに所定の係数を乗算した乗算値を加算部110に出力する。例えば、乗算器70−1は、加算器90−1が出力したデータに所定の係数を乗算した乗算値を加算部110に出力する。加算部110は、それぞれの乗算器70が出力した乗算値を加算することにより解析信号の虚数部分を生成する。
【0047】
以上の構成により、デジタルフィルタ20は、図6および図7の構成に示すデジタルフィルタ20に比べて半分の数の乗算器70により、インターリーブ可能なフィルタを構成することができる。その結果、信号処理装置100は、デジタルフィルタ20の回路規模を縮小することができる。
【0048】
図9は、図8の変形例を示す。同図において、入力されたデジタル信号のデータは、それぞれの乗算器70に同時に入力される。それぞれのタップの乗算器70は、所定の係数を乗算した乗算値を同一タップの加算器90に出力する。
【0049】
加算器90は、それぞれのタップに接続される乗算器70から出力されるデータと、前段のタップとの間の遅延器80から出力されるデータとを加算する。それぞれの遅延器80は、前段の加算器90から入力されるデータを遅延量z−nだけ遅延させた上で、後段の加算器90に出力する。遅延器80−1に入力されたデータは、順次遅延器80−(M−2)まで伝搬され、加算器90−Mに出力される。加算器90−Mは、同一タップの乗算器70−1が出力するデータと、遅延器80−(M−2)が出力するデータとを加算して、解析信号の虚数部分を生成する。
【0050】
図10は、他の実施形態に係るデジタルフィルタ20の構成を示す。本実施形態に係るデジタルフィルタ20は、各タップにおいて、フィルタ係数に応じた乗算値を、タップの順序に応じて順番に設定する。帯域制御部30は、乗算値の順番を逆順にしてそれぞれのタップに設定することで、デジタルフィルタ20における信号通過帯域を制御する。
【0051】
具体的には、図10に示すデジタルフィルタ20の構成は、各タップにおける乗算器70の係数が異なる以外は、図6に示すデジタルフィルタ20の構成と等しい。例えば、図10における乗算器70−1に用いられる係数は、図6における乗算器70−Mに用いられる係数に等しい。図10における乗算器70−Mに用いられる係数は、図6における乗算器70−1に用いられる係数に等しい。当該構成により、デジタルフィルタ20は、信号通過帯域を第2ナイキスト領域に切り替えることができる。なお、本例では、図6に示したデジタルフィルタ20の構成を基に、乗算値の順番を逆順にする例を説明したが、図7から図9のいずれかのデジタルフィルタ20の構成を基に、乗算値の順番を逆順に設定してもよい。
【0052】
図11は、図6に示すデジタルフィルタ20および図10に示すデジタルフィルタ20の周波数特性を示す。同図において、破線は図6のデジタルフィルタ20の周波数特性を示す。実線は、図10のデジタルフィルタ20の周波数特性を示す。それぞれのデジタルフィルタ20は、信号通過帯域および信号阻止帯域が、互いに入れ替わった周波数特性を有する。本実施形態の構成によれば、デジタルフィルタ20は、被測定信号に応じて、信号を通過させる領域を、第1ナイキスト領域または第2ナイキスト領域に容易に切り替えることができる。
【0053】
図12は、他の実施形態に係る信号処理装置100の構成を示す。デジタルフィルタ20は、データ系列の分割数nに応じて信号通過帯域を制御することができる。そこで、デジタルフィルタ20の設計においては、解析すべき信号の周波数に応じて、データ系列の分割数nが決定される。
【0054】
信号処理装置100は、アナログ信号を解析する場合、アナログ信号をアナログ/デジタル変換器でデジタル信号に変換した上で、変換後のデジタル信号をデジタルフィルタ20に入力する。広範囲の周波数帯域のアナログ信号を解析するために、アナログ/デジタル変換器におけるサンプリング周波数は、入力されうるアナログ信号の最大周波数に応じた周波数が選択される。
【0055】
従って、当該最大周波数に対して低い周波数のアナログ信号を解析する場合には、必要以上にサンプリング周波数が高い。サンプリング周波数が高い場合には、デジタルフィルタ20の動作周波数が高くなるので、消費電力および放射ノイズが増加するという問題が生じる。
【0056】
そこで、本実施形態に係る信号処理装置100は、図1に示した信号処理装置100に対して、デシメーション部350をさらに有する。デシメーション部350は、デジタル信号のデータ数を低減してデジタルフィルタ20に入力する。例えば、デシメーション部350は、デジタル信号のサンプリングデータを所定の間隔で選択した上で、選択したデータをデジタルフィルタ20に入力してよい。以上の構成により、デジタルフィルタ20は、解析すべき信号の周波数に応じて、最適なサンプリング周波数で動作するフィルタを構成することができる。
【0057】
図13は、他の実施形態に係る信号処理装置100の構成を示す。同図における補償部300は、補償信号生成部310および減算部320を有する。補償信号生成部310は、解析信号をべき乗した信号および補償係数に基づいて、デジタル信号の非線形歪を補償する補償信号を生成する。減算部320は、それぞれの補償信号を、デジタル信号から減じることで、非線形歪を補償する。
【0058】
補償部300の動作説明に先立ち、非線形歪の補償アルゴリズムの概要を説明する。図14は、非線形歪の発生モデルを示す。本モデルにおける入力信号は、周波数f0、位相θ0を有するd=Cos(2πf0t+θ0)であるとする。アナログ回路400は、ゲインM0を有しているので、x=M0Cos(2πf0t+θ0)をアナログ回路402に出力する。
【0059】
続いて、アナログ回路402は、アナログ回路402が有する非線形性により生じる歪みが重畳された信号を、後段のアナログ回路404に出力する。アナログ回路404は、ゲインGを有しているので、アナログ回路404の出力信号は、y=G(A1・x+A2・x2+A3・x3)となる。
【0060】
図15は、アナログ回路404が出力する信号yに含まれる高調波歪のスペクトラムの概念図を示す。f0は基本波成分、2f0は2次高調波成分、3f0は3次高調波成分を示す。2次高調波成分の振幅H2および3次高調波成分の振幅H3は次のように算出できる。
【数1】
これより、2次高調波および3次高調波成分の補償係数は、
【数2】
により算出することができる。
【0061】
信号処理装置100は、上記補償係数を用いることにより、信号yに含まれる非線形歪を補償する補償信号
【数3】
式(1)
を生成することができる。ここで、H[y]は、信号yを複素数に変換したデータ、θ2は2次高調波の位相、θ3は3次高調波の位相である。
【0062】
信号処理装置100は、信号yから補償信号を減算することにより、歪のない解析信号を得ることができる。具体的には、
【数4】
と近似すると、補償後の信号は、
【数5】
となり、歪のない解析信号を得られることがわかる。
【0063】
デジタルフィルタ20は、ヒルベルトフィルタを用いて、式(1)に含まれる信号yの複素数変換データを生成してよい。補償部300は、デジタルフィルタ20が生成した実数部分のデータおよび虚数部分のデータを用いて、式(1)に示す演算を行うことにより、補償信号を生成する。減算部320は、デジタルフィルタ20が出力する実数部分から、補償部300が出力する補償信号を減算することにより、非線形歪が補償された信号を生成する。
【0064】
図16は、デジタル信号のスペクトラム、および、インターリーブをしない場合(n=1)のデジタルフィルタ20の周波数特性の実験データを示す。図17は、信号処理装置100が出力する信号のスペクトラムの実験データを示す。両図において、横軸は周波数を示し、縦軸はデジタルフィルタ20のゲイン(dB)を示す。サンプリング周波数Fsは100Msps、デジタル信号の基本波周波数は60MHz、サンプリング数は8192である。
【0065】
図16において、デジタル信号の基本波成分と共に、波形歪の原因となる高調波成分(高調波の折り返し信号成分)が存在する。ところが、デジタル信号の基本波周波数は、デジタルフィルタ20の信号阻止帯域に含まれている。従って、補償部300は、デジタル信号をデジタルフィルタ20から取得できない。その結果、補償部300は、補償信号を生成できないので、図17に示すように、信号処理装置100が出力する信号からは、デジタル信号に含まれる高調波成分は除去されない。
【0066】
図18は、デジタル信号のスペクトラム、および、インターリーブをする場合(N=2)のデジタルフィルタ20の周波数特性の実験データを示す。図19は、信号処理装置100が出力する信号のスペクトラムの実験データを示す。図18のデジタルフィルタ20は、インターリーブをすることにより、図16のデジタルフィルタ20と異なる信号通過帯域特性を有しており、デジタル信号の基本波周波数が、デジタルフィルタ20の信号通過帯域に含まれる。
【0067】
デジタル信号の基本波周波数がデジタルフィルタ20の信号通過帯域に含まれるので、補償部300は、デジタル信号をデジタルフィルタ20から取得できる。従って、補償部300は、デジタル信号から補償信号を生成することができる。その結果、図19に示すように、信号処理装置100が出力する信号からは、デジタル信号に含まれていた高調波成分が除去される。
【0068】
図20は、インターリーブチャネル数を6とした場合のデジタルフィルタ20の周波数特性を示す。図21は、図20の低周波数領域の拡大図を示す。図20および図21において、デジタル信号の基本波周波数は、サンプリング周波数100Mspsに対して100分の1の周波数に相当する1MHzである。デジタルフィルタ20がインターリーブチャネル数を増やしたことにより、低域のカットオフ周波数がデジタル信号の基本波周波数よりも十分に低くなっている。その結果、デジタル信号の基本波周波数が、デジタルフィルタ20の信号通過帯域に含まれることがわかる。
【0069】
以上のように、本実施形態に係る信号処理装置100は、解析信号生成部200が生成した解析信号の複素数成分データを用いて、補償部300が補償信号を生成することにより、非線形歪を除去することができる。特に、デジタルフィルタ20は、データ系列の分割数、つまり、インターリーブチャネル数を変化することにより、タップ数を変更することなくフィルタの周波数特性を変化させることができる。従って、信号処理装置100は、解析信号の周波数等の特性に応じて、最適なフィルタ特性に調整した上で、デジタル信号の補償をすることができる。
【0070】
図22は、他の実施形態に係る信号処理装置100を構成するコンピュータ1900のハードウェア構成の一例を示す。図23は、本実施形態に係る信号処理装置100の動作フローチャートの一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
【0071】
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0072】
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
【0073】
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
【0074】
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
【0075】
コンピュータ1900にインストールされ、コンピュータ1900を信号処理装置100として機能させるプログラムは、コンピュータ1900を、デジタルフィルタ20を用いて、デジタル信号を複素数の解析信号に変換する解析信号生成部200と、非線形歪に応じた複素数の補償係数を用いて、解析信号を補正する補償部300として機能させ、デジタルフィルタ20に、デジタル信号のデータをN個(ただし、nは2以上の整数)のデータ系列に分割させ、k番目(ただし、k=1、2、・・・、n)のデータ系列に、デジタル信号のn×L+k番目(ただし、L=0、1、・・・)のデータを割り当てさせ、それぞれのデータ系列を、同一のフィルタ係数を用いてフィルタリングさせ、フィルタリングした各データ系列を合成して解析信号の虚数部分を生成させる。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、図1から図21に関連して説明した、いずれかの信号処理装置100として機能させてよい。
【0076】
具体的には、当該プログラムにより、コンピュータ1900は、入力されるデジタル信号のデータを所定の順番でn個のデータ系列に分割する(S101)。次に、コンピュータ1900は、分割したデータ系列ごとに、同一のフィルタ係数を用いてフィルタリングする(S102)。続いて、コンピュータ1900は、フィルタリングした各データ系列のデータを合成して、解析信号の虚数部分のデータを生成する(S103)。
【0077】
さらに、コンピュータ1900は、生成した解析信号の虚数部分のデータと、解析信号の実数部分のデータと、あらかじめ算出した補償係数とを用いて、補償信号を生成する(S104)。コンピュータ1900は、解析信号の実数部分のデータから、生成した補償信号を減算することにより、非線形歪を補償した信号を生成してよい(S105)。
【0078】
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である解析信号生成部200および補償部300として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の信号処理装置100が構築される。
【0079】
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【0080】
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。
【0081】
このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
【0082】
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【0083】
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
【0084】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
【0085】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0086】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0087】
20 デジタルフィルタ、30 帯域制御部、40 遅延部、50 フィルタ部、62 データ入力部、64 合成部、70 乗算器、80 遅延器、90 加算器、100 信号処理装置、110 加算部、200 解析信号生成部、300 補償部、310 補償信号生成部、320 減算部、350 デシメーション部、400 アナログ回路、402 アナログ回路、404 アナログ回路、1900 コンピュータ、2000 CPU、2010 ROM、2020 RAM、2030 通信インターフェイス、2040 ハードディスクドライブ、2050 フレキシブルディスク・ドライブ、2060 CD−ROMドライブ、2070 入出力チップ、2075 グラフィック・コントローラ、2080 表示装置、2082 ホスト・コントローラ、2084 入出力コントローラ、2090 フレキシブルディスク、2095 CD−ROM
【特許請求の範囲】
【請求項1】
デジタル信号の非線形歪を補償する信号処理装置であって、
デジタルフィルタを用いて、前記デジタル信号を複素数の解析信号に変換する解析信号生成部と、
前記非線形歪に応じた複素数の補償係数を用いて、前記解析信号を補正する補償部と
を備え、
前記デジタルフィルタは、前記デジタル信号のデータをn個(ただし、nは2以上の整数)のデータ系列に分割し、k番目(ただし、k=1、2、・・・、n)のデータ系列に、前記デジタル信号のn×L+k番目(ただし、L=0、1、・・・)のデータを割り当て、それぞれのデータ系列を、同一のフィルタ係数を用いてフィルタリングし、フィルタリングした各データ系列を合成して前記解析信号の虚数部分を生成する信号処理装置。
【請求項2】
前記デジタルフィルタは、前記デジタルフィルタにおける前記データ系列の分割数nを制御することで、前記デジタルフィルタにおける信号通過帯域を制御する帯域制御部を有する
請求項1に記載の信号処理装置。
【請求項3】
前記帯域制御部は、前記分割数nを制御することで、前記デジタルフィルタにおける前記信号通過帯域の低域側のカットオフ周波数を制御する
請求項2に記載の信号処理装置。
【請求項4】
前記帯域制御部は、前記デジタルフィルタにおける前記信号通過帯域の低域側のカットオフ周波数が、前記デジタル信号の基本波周波数よりも低くなるように、前記分割数nを制御する
請求項3に記載の信号処理装置。
【請求項5】
前記デジタルフィルタは、
前記デジタルフィルタの各タップに対応して設けられ、対応する前記タップに入力される前記デジタル信号のデータに、前記フィルタ係数に応じた乗算値を乗算する乗算器と、
それぞれの前記タップ間に設けられ、前記タップ間で伝送するデータを所定の遅延量で遅延させる遅延器と
を更に有し、
前記帯域制御部は、前記遅延器における遅延量を制御することで、前記分割数nを制御する
請求項2から4のいずれかに記載の信号処理装置。
【請求項6】
前記帯域制御部は、前記デジタル信号のサンプリング周期に、前記分割数nを乗じた値に基づいて、前記遅延器における遅延量を制御する
請求項5に記載の信号処理装置。
【請求項7】
前記解析信号生成部は、前記デジタル信号を、前記デジタルフィルタにおけるタップ数および前記分割数nに基づいて遅延させることで、前記解析信号の実数部分を生成する
請求項5に記載の信号処理装置。
【請求項8】
前記デジタルフィルタの各タップにおいては、前記フィルタ係数に応じた乗算値が、前記タップの順序に応じて順番に設定され、
前記帯域制御部は、前記乗算値の順番を逆順にしてそれぞれの前記タップに設定することで、前記デジタルフィルタにおける前記信号通過帯域を制御する
請求項5に記載の信号処理装置。
【請求項9】
前記デジタル信号のデータ数を低減して前記デジタルフィルタに入力するデシメーション部を更に備える
請求項5に記載の信号処理装置。
【請求項10】
前記デジタルフィルタは、
並列に設けられ、それぞれ同一のフィルタ係数が設定される、第1番目から第n番目までのフィルタ部と、
第k番目の前記フィルタ部に前記デジタル信号のn×L+k番目のデータが順次入力されるように、それぞれの前記フィルタ部に対して前記デジタル信号の各データを振り分けて入力するデータ入力部と、
それぞれの前記フィルタ部が出力する信号を合成する合成部と
を有する請求項2から4のいずれかに記載の信号処理装置。
【請求項11】
前記補償部は、
前記解析信号をべき乗した信号および前記補償係数に基づいて、前記デジタル信号の非線形歪を補償する補償信号を生成する補償信号生成部と、
それぞれの補償信号を、前記デジタル信号から減じることで、前記非線形歪を補償する減算部と
を有する請求項1から10のいずれかに記載の信号処理装置。
【請求項12】
与えられるデジタル信号をフィルタリングするデジタルフィルタであって、
前記デジタル信号のデータをn個(ただし、nは2以上の整数)のデータ系列に分割し、k番目(ただし、k=1、2、・・・、n)のデータ系列に、前記デジタル信号のn×L+k番目(ただし、L=0、1、・・・)のデータを割り当て、それぞれのデータ系列を、同一のフィルタ係数を用いてフィルタリングし、フィルタリングした各データ系列を合成して前記デジタル信号の解析信号の虚数部分を生成するデジタルフィルタ。
【請求項13】
与えられるデジタル信号をフィルタリングするデジタルフィルタであって、
前記デジタルフィルタの各タップに対応して設けられ、対応する前記タップに入力される前記デジタル信号のデータに、フィルタ係数に応じた乗算値を乗算する乗算器と、
それぞれの前記タップ間に設けられ、前記タップ間で伝送するデータを所定の遅延量で遅延させる遅延器と、
前記デジタルフィルタの信号通過帯域を制御する帯域制御部と
を備え、
前記デジタルフィルタの各タップには、前記フィルタ係数に応じた乗算値が、前記タップの順序に応じて順番に設定され、
前記帯域制御部は、前記乗算値の順番を逆順にしてそれぞれの前記タップに設定することで、前記デジタルフィルタにおける前記信号通過帯域を変更するデジタルフィルタ。
【請求項14】
デジタル信号の非線形歪を補償する信号処理装置として、コンピュータを機能させるプログラムであって、
前記コンピュータを、
デジタルフィルタを用いて、前記デジタル信号を複素数の解析信号に変換する解析信号生成部と、
前記非線形歪に応じた複素数の補償係数を用いて、前記解析信号を補正する補償部と
して機能させ、
前記デジタルフィルタに、前記デジタル信号のデータをn個(ただし、nは2以上の整数)のデータ系列に分割させ、k番目(ただし、k=1、2、・・・、n)のデータ系列に、前記デジタル信号のn×L+k番目(ただし、L=0、1、・・・)のデータを割り当てさせ、それぞれのデータ系列を、同一のフィルタ係数を用いてフィルタリングさせ、
フィルタリングした各データ系列を合成して前記解析信号の虚数部分を生成させるプログラム。
【請求項1】
デジタル信号の非線形歪を補償する信号処理装置であって、
デジタルフィルタを用いて、前記デジタル信号を複素数の解析信号に変換する解析信号生成部と、
前記非線形歪に応じた複素数の補償係数を用いて、前記解析信号を補正する補償部と
を備え、
前記デジタルフィルタは、前記デジタル信号のデータをn個(ただし、nは2以上の整数)のデータ系列に分割し、k番目(ただし、k=1、2、・・・、n)のデータ系列に、前記デジタル信号のn×L+k番目(ただし、L=0、1、・・・)のデータを割り当て、それぞれのデータ系列を、同一のフィルタ係数を用いてフィルタリングし、フィルタリングした各データ系列を合成して前記解析信号の虚数部分を生成する信号処理装置。
【請求項2】
前記デジタルフィルタは、前記デジタルフィルタにおける前記データ系列の分割数nを制御することで、前記デジタルフィルタにおける信号通過帯域を制御する帯域制御部を有する
請求項1に記載の信号処理装置。
【請求項3】
前記帯域制御部は、前記分割数nを制御することで、前記デジタルフィルタにおける前記信号通過帯域の低域側のカットオフ周波数を制御する
請求項2に記載の信号処理装置。
【請求項4】
前記帯域制御部は、前記デジタルフィルタにおける前記信号通過帯域の低域側のカットオフ周波数が、前記デジタル信号の基本波周波数よりも低くなるように、前記分割数nを制御する
請求項3に記載の信号処理装置。
【請求項5】
前記デジタルフィルタは、
前記デジタルフィルタの各タップに対応して設けられ、対応する前記タップに入力される前記デジタル信号のデータに、前記フィルタ係数に応じた乗算値を乗算する乗算器と、
それぞれの前記タップ間に設けられ、前記タップ間で伝送するデータを所定の遅延量で遅延させる遅延器と
を更に有し、
前記帯域制御部は、前記遅延器における遅延量を制御することで、前記分割数nを制御する
請求項2から4のいずれかに記載の信号処理装置。
【請求項6】
前記帯域制御部は、前記デジタル信号のサンプリング周期に、前記分割数nを乗じた値に基づいて、前記遅延器における遅延量を制御する
請求項5に記載の信号処理装置。
【請求項7】
前記解析信号生成部は、前記デジタル信号を、前記デジタルフィルタにおけるタップ数および前記分割数nに基づいて遅延させることで、前記解析信号の実数部分を生成する
請求項5に記載の信号処理装置。
【請求項8】
前記デジタルフィルタの各タップにおいては、前記フィルタ係数に応じた乗算値が、前記タップの順序に応じて順番に設定され、
前記帯域制御部は、前記乗算値の順番を逆順にしてそれぞれの前記タップに設定することで、前記デジタルフィルタにおける前記信号通過帯域を制御する
請求項5に記載の信号処理装置。
【請求項9】
前記デジタル信号のデータ数を低減して前記デジタルフィルタに入力するデシメーション部を更に備える
請求項5に記載の信号処理装置。
【請求項10】
前記デジタルフィルタは、
並列に設けられ、それぞれ同一のフィルタ係数が設定される、第1番目から第n番目までのフィルタ部と、
第k番目の前記フィルタ部に前記デジタル信号のn×L+k番目のデータが順次入力されるように、それぞれの前記フィルタ部に対して前記デジタル信号の各データを振り分けて入力するデータ入力部と、
それぞれの前記フィルタ部が出力する信号を合成する合成部と
を有する請求項2から4のいずれかに記載の信号処理装置。
【請求項11】
前記補償部は、
前記解析信号をべき乗した信号および前記補償係数に基づいて、前記デジタル信号の非線形歪を補償する補償信号を生成する補償信号生成部と、
それぞれの補償信号を、前記デジタル信号から減じることで、前記非線形歪を補償する減算部と
を有する請求項1から10のいずれかに記載の信号処理装置。
【請求項12】
与えられるデジタル信号をフィルタリングするデジタルフィルタであって、
前記デジタル信号のデータをn個(ただし、nは2以上の整数)のデータ系列に分割し、k番目(ただし、k=1、2、・・・、n)のデータ系列に、前記デジタル信号のn×L+k番目(ただし、L=0、1、・・・)のデータを割り当て、それぞれのデータ系列を、同一のフィルタ係数を用いてフィルタリングし、フィルタリングした各データ系列を合成して前記デジタル信号の解析信号の虚数部分を生成するデジタルフィルタ。
【請求項13】
与えられるデジタル信号をフィルタリングするデジタルフィルタであって、
前記デジタルフィルタの各タップに対応して設けられ、対応する前記タップに入力される前記デジタル信号のデータに、フィルタ係数に応じた乗算値を乗算する乗算器と、
それぞれの前記タップ間に設けられ、前記タップ間で伝送するデータを所定の遅延量で遅延させる遅延器と、
前記デジタルフィルタの信号通過帯域を制御する帯域制御部と
を備え、
前記デジタルフィルタの各タップには、前記フィルタ係数に応じた乗算値が、前記タップの順序に応じて順番に設定され、
前記帯域制御部は、前記乗算値の順番を逆順にしてそれぞれの前記タップに設定することで、前記デジタルフィルタにおける前記信号通過帯域を変更するデジタルフィルタ。
【請求項14】
デジタル信号の非線形歪を補償する信号処理装置として、コンピュータを機能させるプログラムであって、
前記コンピュータを、
デジタルフィルタを用いて、前記デジタル信号を複素数の解析信号に変換する解析信号生成部と、
前記非線形歪に応じた複素数の補償係数を用いて、前記解析信号を補正する補償部と
して機能させ、
前記デジタルフィルタに、前記デジタル信号のデータをn個(ただし、nは2以上の整数)のデータ系列に分割させ、k番目(ただし、k=1、2、・・・、n)のデータ系列に、前記デジタル信号のn×L+k番目(ただし、L=0、1、・・・)のデータを割り当てさせ、それぞれのデータ系列を、同一のフィルタ係数を用いてフィルタリングさせ、
フィルタリングした各データ系列を合成して前記解析信号の虚数部分を生成させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【公開番号】特開2010−232714(P2010−232714A)
【公開日】平成22年10月14日(2010.10.14)
【国際特許分類】
【出願番号】特願2009−74869(P2009−74869)
【出願日】平成21年3月25日(2009.3.25)
【出願人】(390005175)株式会社アドバンテスト (1,005)
【Fターム(参考)】
【公開日】平成22年10月14日(2010.10.14)
【国際特許分類】
【出願日】平成21年3月25日(2009.3.25)
【出願人】(390005175)株式会社アドバンテスト (1,005)
【Fターム(参考)】
[ Back to top ]