【国等の委託研究の成果に係る記載事項】(出願人による申告)平成23年度、独立行政法人情報通信研究機構「高度通信・放送研究開発委託研究/トランスペアレント伝送技術の研究開発(λリーチ)」、産業技術力強化法第19条の適用を受ける特許出願
(58)【調査した分野】(Int.Cl.,DB名)
前記低精度係数演算手段は、さらに、複数の前記第2係数の間の値を補間した結果に基づいて前記第1A係数を算出する近似係数演算手段を備える、請求項1又は2に記載されたデジタル処理装置。
前記時間領域デジタル信号あるいは前記周波数領域信号のひとつまたは複数の異なる周波数成分のスペクトル強度をモニタし、前記周波数成分のスペクトル強度のモニタ結果に基づいて前記第2係数を設定する簡易スペクトルモニタ手段と、
前記時間領域デジタル信号のスペクトルを、前記簡易スペクトルモニタ手段よりも多くの複数の異なる周波数成分のスペクトル強度をモニタする高精度スペクトルモニタ手段と、
前記高精度スペクトルモニタのモニタ結果に基づいて前記第3係数を算出する高精度係数目標値演算手段と、をさらに備える、請求項1乃至4のいずれかに記載されたデジタル処理装置。
【発明の概要】
【発明が解決しようとする課題】
【0007】
インターネットトラフィックの爆発的な増大に伴い、通信システムの大容量化が求められている。そして、大容量の通信システムでは、伝送路の特性に応じて適応的にフィルタ処理を行う場合などに、通信途中でフィルタの特性を高速に切り替える必要がある。
【0008】
しかしながら、通信システムの容量が大きくなると、先に述べた波形等化処理を行うFDE回路において、フーリエ変換回路の規模が増大し、これに伴って、設定しなければならないデジタルフィルタの係数の数も増加する。
図18に示すFDE回路990では、デジタルフィルタの係数の数が増加すると、係数の設定に必要な処理が多くなり、高速な係数制御が困難となる。一方で、FDE回路990において、フィルタ係数の設定の簡略化によって波形等化処理の高速化を図ると、フィルタの精度が低下する恐れがある。フィルタの精度が低下すると、所望のフィルタ特性が得られなくなる。このため、通信システムの大容量化に伴い、デジタルフィルタの係数制御の高速化とフィルタの高精度化との両立が求められる。しかしながら、特許文献1、2及び非特許文献1、2に記載された技術は、デジタルフィルタの係数制御の高速化とフィルタの高精度化とを両立させることができない。
【0009】
また、以上の問題は、波形歪の補償を行うFDE回路のみならず、フィルタの係数の高速な制御とフィルタの高精度化とが求められる、一般のデジタルフィルタにおいても生じうる。
【0010】
本発明の目的は、フィルタの係数の設定に必要な処理を高速化するとともに、フィルタの精度も維持できるデジタル処理装置、デジタル処理方法及びデジタル処理プログラムを提供することにある。
【課題を解決するための手段】
【0011】
本発明のデジタル処理装置は、時間領域デジタル信号をフーリエ変換してN個(Nは自然数)の周波数領域信号を生成するフーリエ変換手段と、
N個の第1係数を用いて、前記周波数領域信号を周波数領域で処理するフィルタ手段と、
前記フィルタ手段で処理された前記周波数領域信号を時間領域デジタル信号に変換する逆フーリエ変換手段と、
m個(N>m、mは自然数)の第2係数を用いて、N個の第1A係数を算出する低精度係数演算手段と、
N個の第3係数とN個の前記第1A係数との各々の比を算出する係数除算手段及び1から前記各々の比まで段階的に変化するN個の第1B係数を算出する係数可変手段を備える高精度係数演算手段と、
前記第1A係数と前記第1B係数とを乗算して前記第1係数を算出する乗算手段と、
第1B係数を1として前記低精度係数演算手段のみを動作させた後、前記第3係数に基づいて前記高精度係数演算手段が前記第1B係数を算出するように前記低精度係数演算手段及び前記高精度係数演算手段を制御する制御手段と、を備える。
【0012】
本発明のデジタル処理方法は、時間領域デジタル信号をフーリエ変換してN個(Nは自然数)の周波数領域信号を生成し、
N個の第1係数を用いて、前記周波数領域信号を周波数領域で処理し、
前記処理された前記周波数領域信号を時間領域デジタル信号に変換し、
m個(N>m、mは自然数)の第2係数を用いて、N個の第1A係数を算出し、
N個の第3係数とN個の前記第1A係数との各々の比を算出し、
1から前記各々の比まで段階的に変化するN個の第1B係数を算出し、
前記第1A係数を前記第1係数として算出した後、前記第3係数に基づいて前記第1A係数前記第1B係数とを乗算して前記第1係数を算出する、ことを特徴とする。
【0013】
本発明の記憶媒体は、デジタル処理プログラムを記憶する、一時的でない記憶媒体であって、
前記デジタル処理プログラムは、デジタル処理装置のコンピュータに、
時間領域デジタル信号をフーリエ変換してN個(Nは自然数)の周波数領域信号を生成する手順、
N個の第1係数を用いて、前記周波数領域信号を周波数領域で処理する手順、
前記処理された前記周波数領域信号を時間領域デジタル信号に変換する手順、
m個(N>m、mは自然数)の第2係数を用いて、N個の第1A係数を算出する手順、
N個の第3係数とN個の前記第1A係数との各々の比を算出する手順、
1から前記各々の比まで段階的に変化するN個の第1B係数を算出する手順、
前記第1A係数を前記第1係数として算出した後、前記第3係数に基づいて前記第1A係数と前記第1B係数とを乗算して前記第1係数を算出する手順、
を実行させる。
【発明の効果】
【0014】
本発明のデジタル処理装置、デジタル処理方法及びデジタル処理プログラムは、フィルタの係数を高速に設定しつつ、高いフィルタ精度も実現させることができる。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態について、図面を用いて説明する。なお、すべての図面において、同様な構成要素には同様の符号を付し、重複する説明は省略する。
【0017】
(第1の実施形態)
図1は、第1の実施形態に係るデジタル処理装置100の構成を示すブロック図である。デジタル処理装置100は、周波数領域デジタルフィルタ200、低精度係数演算部300、高精度係数演算部400、係数乗算部500、及び、制御部600を備える。
【0018】
周波数領域デジタルフィルタ200は、FDE回路990と同様の構成を備える。すなわち、周波数領域デジタルフィルタ200は、フーリエ変換部210、逆フーリエ変換部220、フィルタ部230を備える。フーリエ変換部210は、時間領域のデジタル信号(入力信号Din(t))をフーリエ変換して、周波数領域信号201を生成する。フィルタ部230は、N個(Nは自然数)の第1係数700を用いて、周波数領域で周波数領域信号201に対して等化等の処理を行い、周波数領域信号202を生成する。逆フーリエ変換部220は、フィルタ部230で処理された周波数領域信号202を逆フーリエ変換して、時間領域のデジタル信号(出力信号Dout(t))を出力する。例えば、フィルタ部230が周波数領域信号201に対して等化処理を行う場合には、デジタル信号に含まれる波形歪が低減される。
【0019】
係数乗算部500は、低精度係数演算部300から入力された第1A係数700Aと、高精度係数演算部400から入力された第1B係数700Bとを乗算して、第1係数700を算出する。そして、係数乗算部500は、フィルタ部230に、N個の第1係数700を設定する。
【0020】
制御部600は、第1A係数700A及び第1B係数700Bを含むすべての係数の値を1として初期化した後、最初に低精度係数演算部300を動作させ、その後、高精度係数演算部400を動作させる。以下、その手順について説明する。
【0021】
低精度係数演算部300は、m個(mはN>mである自然数)の第2係数701を用いて第1A係数700Aを算出し、算出した結果を係数乗算部500に入力する。ここで、高精度係数演算部400が動作していない場合には、第1B係数700Bは初期値である1である。従って、係数乗算部500は、入力された第1A係数700Aを第1係数700として出力する。その結果、フィルタ部230には、第1A係数700Aが設定される。
【0022】
例えば、N=4096である場合に、m<10としてもよい。このため、m個の第2係数701のみを用いて第1係数700が算出される場合は、N個の係数を用いて第1係数が算出される場合と比較して、フィルタ部230の特性の設定に用いられる係数の算出に必要な演算処理が少なくなる。すなわち、低精度係数演算部300は、フィルタ係数を短時間で設定できる。
【0023】
続いて、制御部600は、高精度係数演算部400の動作を開始させる。高精度係数演算部400は、N個の第3係数702と第1A係数700Aとの比に基づいて、第1B係数700Bを演算し、演算結果を係数乗算部500に入力する。高精度係数演算部400の動作中は、低精度係数演算部300は、高精度係数演算部400の動作開始時点で出力された第1A係数700Aを保持して係数乗算部500へ出力する。
【0024】
ここで、第3係数702には、第2係数701から算出された第1A係数700Aと比較して、より目標とするフィルタ特性に近い値が、計算によって算出されて設定される。あるいは、第3係数702には、目標とするフィルタ特性を実現する係数の値が、計算によって算出されて設定される。
【0025】
このような第3係数702が算出されて高精度係数演算部400に入力されるまでには比較的長い時間を要する場合がある。しかし、高精度係数演算部400は、低精度係数演算部300よりも遅れて動作を開始するため、第3係数702は、高精度係数演算部400の動作開始前までに算出されればよい。すなわち、制御部600は、第3係数702が高精度係数演算部400に入力された後に高精度係数演算部400の動作を開始させる。また、前述のとおり第1係数700には低精度係数演算部300により算出された第1A係数700Aが保持されて設定されているため、若干フィルタの精度が劣るものの、概ね期待するフィルタ特性となっていれば通信上の問題は生じない。したがって、第3係数702の算出にはある程度の時間を要してもよい。
【0026】
係数乗算部500は、第1A係数700Aと第1B係数700Bとを乗算して、フィルタ部230で用いられるN個の第1係数700を算出する。そして、係数乗算部500は、算出された第1係数700をフィルタ部230に設定する。ここで、第1B係数700Bは、第3係数702と第1A係数700Aとの比に基づいて設定される。具体的には、後述するように、第1B係数700Bは、初期値の1から目標値となる第3係数702と第1A係数700Aとの比の値まで、段階的に変化する。したがって、第1A係数700Aと第1B係数700Bとを乗算することにより、第1A係数700Aのみを用いて第1係数700が設定される場合よりも、第1係数700が高精度に設定される。なお、「高精度」とは、第1係数700が、低精度係数演算部300のみを用いて設定された場合と比較して、目標とするフィルタ特性に近い値に設定されることを意味する。
【0027】
このように、第1の実施形態のデジタル処理装置100においては、低精度係数演算部300で生成されたm個(ただしN>m)の第2係数701によって、フィルタ部230で用いられるN個の第1係数700が、N個全ての係数目標値を演算して設定する場合と比較して短時間で設定される。
【0028】
そして、第3係数702に第1係数700の目標値が設定されることにより、高精度係数演算部400によって、第3係数702と第1A係数700Aとの比が高精度に計算され、その比に基づいて、第1B係数700Bが算出される。
【0029】
さらに、高精度係数演算部400は、低精度係数演算部300の動作開始後に、第1B係数700Bを出力する。第1B係数700Bは、初期値の1から、第3係数702と第1A係数700Aとの比、まで変化する値である。第1B係数700Bを段階的に徐々に変化させることにより、フィルタ係数の急激な変化による出力信号Dout(t)の信号品質の不連続な変化やビット誤りなどの発生を抑えつつ、フィルタ部230で用いられる第1係数700の精度を向上させることができる。従って、デジタル処理装置100は、低精度係数演算部300を用いて第1係数700を短時間で設定できるとともに、高精度係数演算部400を用いることによって、最終的にフィルタ部230における処理の精度を向上させることができる。以下、デジタル処理装置100の各部の動作についてさらに詳細に説明する。
【0030】
まず、周波数領域デジタルフィルタ200に関して説明する。周波数領域デジタルフィルタ200に入力されるデジタル信号(入力信号)Din(t)は、例えば光通信又は無線通信によって、受信装置が受信したアナログ信号をアナログ−デジタル変換器等でデジタル化した信号である。フーリエ変換部210は、例えばポイント数Nのフーリエ変換回路である。フーリエ変換部210が行うフーリエ変換処理は、DFT(discrete Fourier transform)、又はFFT(fast Fourier transform)である。フーリエ変換部210がDFTを行う場合、逆フーリエ変換部220は、IDFT(Inverse discrete Fourier transform)を行う。またフーリエ変換部210がFFTを行う場合、逆フーリエ変換部220はIFFT(Inverse fast Fourier transform)処理を行う。
【0031】
図2は、デジタル処理装置100を詳細に説明するための図である。フーリエ変換部210は、サイズNのフーリエ変換回路であり、時間領域のデジタル信号である入力信号Din(t)をN個の周波数領域のデジタル信号に変換する。変換後のデジタル信号の周波数間隔は、一定の周波数Δω
sである。なお、Δω
s=2πf
s/Nであり、f
sはサンプリング周波数である。そしてフィルタ部230は、N個の周波数領域のデジタル信号それぞれに対して、第1係数H(x)(xは0≦x≦N−1の整数)を乗算する。第1係数700は、N個の周波数領域信号201のそれぞれに対して設定されている。すなわち、第1係数700は周波数毎に設定された係数である。そして第1係数700が乗算された後のN個の周波数領域信号202は、逆フーリエ変換部220によって、時間領域のデジタル信号Dout(t)に変換される。
【0032】
次に、第1係数700の設定手段に関して説明する。第1係数700は、周波数領域デジタルフィルタ200のフィルタ係数である。具体的には、第1係数700は、フィルタ部230に設定される。
図2に示すとおり、第1係数700は、第1A係数700Aと第1B係数700Bとの、係数乗算部500における乗算結果である。すなわち、低精度係数演算部300と高精度係数演算部400で算出された各々のフィルタ係数(第1A係数700Aおよび第1B係数700B)が乗算された特性が、第1係数700となる。第1係数700によって、フィルタ部230は周波数領域信号201の波形歪を低減するための等化処理を行う。
【0033】
通信装置立ち上げ時などの初期状態では、まず、制御部600は、第1制御信号710によって低精度係数演算部300を動作させる一方、第2制御信号711によって高精度係数演算部400を停止させる。さらに、制御部600は、第1A係数700A及び第1B係数700Bを含むすべての係数の値を1として初期化する。
【0034】
図3は、低精度係数演算部300の構成を示すブロック図である。低精度係数演算部300は、簡易係数演算部301を備える。簡易係数演算部301は、m個(ただしN>m)の第2係数701をもとに、第1係数700と同じ数のN個の第1A係数700Aを算出する。すなわち、簡易係数演算部301は、N個の第1係数700をそれぞれ演算するのではなく、N個よりも少ないm個の第2係数701から、例えば隣り合う2個の第2係数701の間の値を補間することで、N個の第1A係数700Aを算出する。その結果、簡易係数演算部301における係数演算処理の計算量及び回路規模が低減される。このとき、第2係数701は第1係数と同様に周波数別に設定された係数でもよいが、これに限定されない。低精度係数演算部300の具体的な動作例は後に述べる。
【0035】
低精度係数演算部300によって算出された第1A係数700Aは、係数乗算部500で第1B係数700Bと乗算される。係数乗算部500の出力は第1係数700として設定され、周波数領域デジタルフィルタ200における処理に用いられる。なお、この時点では、高精度係数演算部400は無効状態であり、第1B係数700Bの値はすべて1である。このため、第1係数700は第1A係数700Aと等しい。
【0036】
次に、制御部600は、第1制御信号710によって低精度係数演算部300を動作させたまま、第2制御信号711によって高精度係数演算部400を動作させる。低精度係数演算部300は、高精度係数演算部400が動作を開始した時点で出力していた第1A係数700Aの値を、高精度係数演算部400の動作開始後も維持する。
【0037】
図4は、高精度係数演算部400の構成を示すブロック図である。高精度係数演算部400は、係数除算部410及び係数可変部420を備える。係数除算部410は、第3係数702と第1A係数700Aとの比を計算して、この比を第1B係数目標値703とする。係数可変部420は、第1B係数目標値703に基づいて第1B係数700Bを変化させる。具体的には、高精度係数演算部400が動作を開始すると、係数可変部420は、第1B係数700Bを初期値の1から第1B係数目標値703まで段階的に徐々に変化させる。
【0038】
図5及び
図6は、高精度係数演算部400の動作を説明する図である。
図5は、第1A係数700Aとフィルタ係数目標値である第3係数702との関係の例を示す図である。先に述べたように、低精度係数演算部300における係数演算処理は簡略化されている。このため、第1A係数700Aのみにより設定されたフィルタ部230の特性は、
図5に例として示すように、目標とされる特性、すなわち第3係数702に対していくらかの誤差を持つ。
図6は、第1A係数700Aとフィルタ係数目標値である第3係数702との誤差を補償するための、第1B係数目標値703の一例を示す図である。第1B係数目標値703は、第3係数702と第1A係数700Aとの比である。
【0039】
図7は係数可変部420の動作を説明するための図である。N個の第1B係数700Bの初期値は全て1である。そして、係数可変部420は、第1B係数700Bを、初期値の1から第1B係数目標値703へ徐々に近づくように変化させる。
図7の例では6段階にわたって、第1B係数700Bを、最終目標値である第1B係数目標値まで変化させている。なお、第1B係数700Bの変化の段階の数は6段階に限られない。例えば、変化の段階を10段階、100段階等、より多くしてもよい。第1B係数700Bの変化の段階を多くすることで、第1B係数700Bを初期値の1から第1B係数目標値703へ、よりなめらかに変化させながら、第1A係数700Aと第3係数702との誤差を補償できる。
【0040】
高精度係数演算部400によって算出された第1B係数700Bは、係数乗算部500において第1A係数700Aと乗算される。そして、その乗算結果が第1係数700として設定される。第1B係数700Bは、1から第1B係数目標値703まで変化する。従って、第1A係数700Aと第1B係数700Bとが乗算されることにより、第1係数700は、フィルタ係数目標値として設定された第3係数702に次第に近づく。
【0041】
第1B係数700Bがこのように徐々に変化することにより、フィルタ部230の急激なフィルタ特性の変化による、出力信号Dout(t)の信号品質の不連続な変化やビット誤りなどの発生を抑えることができる。
【0042】
以上説明したように、第3係数702としては、目標とされる周波数領域デジタルフィルタ処理のフィルタ係数(フィルタ係数目標値)が設定されてもよい。このフィルタ係数目標値は、一般的に用いられる通信信号の品質を示す信号Q値が最大となるようなフィルタ特性でもよい。あるいは、出力信号Dout(t)のビット誤り率が最小となるようなフィルタ特性でもよい。さらに、フィルタ係数目標値には、何らかのモニタ信号に基づいて高精度な目標値として計算された結果が設定されてもよい。さらに、理論的な計算値等、様々な手段により算出された係数が第3係数702として設定されてもよい。
【0043】
図8は、低精度係数演算部300で行われる処理の第1例を説明するための図である。第1例において、低精度係数演算部300は、
図8に示すように、係数ルックアップテーブル(LUT)選択部310及び予め用意された係数LUT群320を備える。係数LUT群320は、複数のLUTであるX個の係数LUT−1〜LUT−X(Xは自然数)を含む。
【0044】
図9は、係数LUTに対応するフィルタ特性の例を示す図である。
図9の縦軸はフィルタのゲイン、横軸は周波数を示す。低精度係数演算部300は、第2係数701をもとに、予め用意された係数LUT−1〜係数LUT−Xの中から、第2係数701に最も近い係数LUTを選択し、第1A係数700Aとして設定する。
【0045】
ここで、低精度係数演算部300は、目標とされるフィルタ特性を第2係数701として設定してもよい。そして、あらかじめ計算された様々なフィルタ特性を含む係数LUT群320を用いることで、低精度係数演算部300は、係数LUT選択部310がLUTを選択するアルゴリズムのみを実行するだけで、第1A係数700Aを設定できる。その結果、低精度係数演算部300の係数演算処理が大幅に簡略化される。
【0046】
図10は、低精度係数演算部300で行われる処理の第2例を説明するための図である。第2例において、低精度係数演算部300は、折れ線近似係数演算部330を備える。折れ線近似係数演算部330は、m個(ただしN>m)の第2係数701に対して折れ線近似による補間を行い、N個の第1A係数700Aを算出する。
【0047】
図11は、低精度係数演算部300の第2例の係数の例を示す図である。第2例の低精度係数演算部300は、目標とされるフィルタ係数をいくつかの周波数領域上のセグメントに分けられたm個の第2係数701のそれぞれの値の間を直線で補間することで、N個の第1A係数700Aを求める。なお、第2例では折れ線近似が用いられるため、係数演算処理が簡略化できる一方で、求められたフィルタ係数は、目標とされるフィルタ係数に対していくらかの誤差が生じる。
【0048】
なお、
図11においてm個のセグメントの周波数の間隔は全て等間隔でも良いし、間隔が異なるセグメントが含まれていても良い。
【0049】
また、上記した低精度係数演算部300、高精度係数演算部400における係数の算出は、ハードウェア(FPGA(field programmable gate array)等のLSI(Large Scale Integration))、または、ソフトウェアで制御されたCPU(Central Processing Unit、マイクロコンピュータ)で行われてもよい。また、PC(Personal Computer)などを用いて、係数が算出されてもよい。さらに、これらの処理は、一部がソフトウェアを用いて行われ、残りがハードウェアで行われてもよい。
【0050】
以上、第1の実施形態のデジタル処理装置100は、低精度係数演算部300において、m個の第2係数701を用いて、N個の第1係数700を設定することができる。このため、フィルタの係数設定に必要な演算処理が少なくなり、高速なフィルタ係数設定が可能となる。また、高精度係数演算部400は、高精度に算出されたフィルタ係数目標値である第3係数702と、前記低精度係数演算部300によって算出された第1A係数700Aとを比較する。この比較の結果に基づいて、高精度係数演算部400は、両者の差分を補正するためのフィルタ係数となる第1B係数700Bを高精度に算出して第1係数700を補正する。従って、デジタル処理装置100は、最終的にはフィルタ特性の精度を高めることもできる。言い換えれば、デジタル処理装置100は、高速に周波数領域デジタルフィルタ200の特性を高速に設定しつつ、高いフィルタ精度も実現させることができる。
【0051】
さらに、デジタル処理装置100は、高精度係数演算部400から出力される第1B係数700Bを段階的に徐々に変化させることにより、急激なフィルタ係数の変化による出力信号Dout(t)の信号品質の不連続な変化やビット誤りなどの発生を抑えることができる。
【0052】
(第2の実施形態)
図12は、第2の実施形態に係るデジタル処理装置100Aの構成を示す図である。デジタル処理装置100Aは、第1の実施形態の構成に加えて、簡易スペクトルモニタ800、高精度スペクトルモニタ810、高精度係数目標値演算部820を備える。デジタル処理装置100Aのそれ以外の構成は、第1の実施形態に係るデジタル処理装置100と同様である。
【0053】
簡易スペクトルモニタ800は、入力信号Din(t)から、任意の周波数成分のスペクトル強度をいくつかの周波数でモニタする。この例では、DC(direct current)成分のスペクトル強度Pdcと、ある周波数fmonにおける電力スペクトル強度P1をモニタする。例えば、ある周波数帯だけを通過させるBPF(band pass filter)と電力検出回路とを組み合わせて、特定の周波数におけるスペクトル強度を電力として簡単にモニタすることができる。簡易スペクトルモニタ800は、得られた2つのパラメータ(PdcおよびP1)を第2係数701として、低精度係数演算部300へ出力する。
【0054】
高精度スペクトルモニタ810は、同じく入力信号Din(t)から、広い周波数領域にわたって高精度にスペクトル強度をモニタし、得られたスペクトル強度を高精度係数目標値演算部820へ出力する。スペクトル強度がモニタされる周波数の範囲は、例えば直流から(N−1)Δω
sまでの周波数を含んでいてもよい。また、高精度スペクトルモニタ810は、簡易スペクトルモニタ800の構成に、さらにBPFの通過帯域を変化させる機能を持たせた構成としてもよい。あるいは、高精度スペクトルモニタ810は、既知のスペクトルアナライザのように、周波数のスイープが可能な基準発振器の出力と入力信号Din(t)とのミキシングにより得られた信号をダウンコンバートし、その電力を測定してもよい。また、より安定なスペクトル強度をモニタするために、前述のモニタ動作を複数回実行し、その平均を取っても良い。このように、一般的な技術を用いることで、モニタされた信号の処理に時間は要するものの、高精度な入力信号Din(t)のスペクトル強度のモニタが可能である。
【0055】
高精度係数目標値演算部820は、得られた高精度なスペクトルをもとに、予め設定されたスペクトル形状目標値821との比を算出し、フィルタ係数の目標値を高精度に求め、第3係数702として高精度係数演算部400へ出力する。
【0056】
第1係数700の具体的な係数設定の手順に関して、
図13及び
図14を用いて説明する。
【0057】
図13は、第2の実施形態に係るデジタル処理装置の係数目標値の例を示す図である。
図13は、フィルタ処理前の入力信号スペクトル(1)、スペクトル形状目標値(2)及びフィルタ係数目標値(3)、を示す。ここで、入力信号スペクトル(1)は、フィルタ処理前の入力信号のスペクトルである。スペクトル形状目標値(2)は、出力信号Dout(t)のスペクトルの目標値である。フィルタ係数目標値(3)は、入力信号スペクトル(1)をスペクトル形状目標値(2)へと補償するために必要なフィルタ係数を示す。スペクトル形状目標値(2)は、例えば、通信システムで生じる線形歪による周波数特性への影響が全くない場合の、理論的に求められるスペクトル形状などを想定することで求められる。あるいは、スペクトル形状目標値(2)は、実験などにより経験的に求められた値でもよい。
図13は、何らかの通信システムで生じる線形歪により周波数特性が劣化し、帯域が狭くなっている状態の例を示す。
【0058】
まず、簡易スペクトルモニタ800は、フィルタ処理前の入力信号Din(t)のスペクトルのうち、DC成分のスペクトル強度Pdcおよび周波数fmonにおけるスペクトル強度P1を測定する。このとき、低精度係数演算部300を用いて設定される第1A係数700Aによるフィルタ処理によって、
図13のP1で示す点のスペクトル強度を、P2まで持ち上げることができれば、少なくとも周波数fmonにおいては、出力信号のスペクトル強度をスペクトル目標値と一致させることが可能となる。なお、ここでは、例として、スペクトル目標値のDC成分とスペクトル強度が等しい周波数範囲のうち最高の周波数が、fmonとして選ばれた。すなわち、第2係数701として、Pdc及びP1という強度のスペクトルを受け取った低精度係数演算部300は、Pdc=P1となるように、フィルタ係数(第1A係数700A)を算出する。そして、係数乗算部500によって第1係数700が設定される。
【0059】
低精度係数演算部300の具体的な係数演算処理手順として、第1の実施形態の
図6にて説明した低精度係数演算部300が行う処理の第1例を例にとって説明する。まず、低精度係数演算部300の係数LUT選択部は、受け取ったスペクトル強度Pdc及びP1の値をもとに、Pdiff=Pdc−P1を計算する(
図13)。このPdiffは周波数fmonにおいてP1をP2まで周波数特性を持ち上げる量(ゲイン)に相当する。
【0060】
図14は、第2の実施形態に係るデジタル処理装置の係数制御方法を説明するための図である。低精度係数演算部300は、予め持ち合わせている複数の係数LUT群320(係数LUT−1、・・・、係数LUT−X)のうち、周波数fmonにおけるゲイン(G1〜Gx)がPdiffに最も近い係数LUTを選択する。
図14では、係数LUT−2のゲインG2が最もPdiffに近いため、係数LUT選択部310は第1A係数700Aとして係数LUT−2を選択する。このように、簡易的なスペクトルモニタと係数LUT選択を組み合わせることで、後述する高精度スペクトルモニタ810を用いた場合よりも精度は低いものの、LUTを選択する処理を行うだけなので、高速に周波数領域デジタルフィルタ200の係数設定処理を行うことができる。
【0061】
第1A係数700Aの設定は前述のとおり比較的精度は低いが、高速に行われる。このため、低精度係数演算部300は、第1係数700に概ね目標とされるフィルタ係数に近い値を短時間で設定できる。このため、低精度係数演算部300によって、周波数領域デジタルフィルタ処理の品質は通信上問題のない程度となる。ただし、この状態では、条件変動などに対してマージンが少なく、何らかの要因によって条件が変動した場合、通信品質劣化を起こす可能性がある。よって、後述の高精度係数演算部400ならびに高精度スペクトルモニタ810を用いて、より高精度なフィルタ係数設定処理を行う。なお、前述のとおり、低精度係数演算部300によって、周波数領域デジタルフィルタ処理の品質は通信上問題のない程度となる。このため、高精度なスペクトル強度の測定や高精度係数演算処理には、ある程度長い時間を要してもよい。
【0062】
高精度スペクトルモニタ810は、フィルタ処理前の入力信号Din(t)のスペクトル強度を、簡易スペクトルモニタ800よりも広い周波数範囲で高精度にモニタする。そして、高精度係数目標値演算部820は、高精度スペクトルモニタ810がモニタしたスペクトル強度とスペクトル形状目標値821との比から、周波数全域にわたるフィルタ係数の目標値であるフィルタ係数目標値(3)を高精度に演算する。そして、高精度係数目標値演算部820は、演算結果を第3係数702として高精度係数演算部400へ出力する。このフィルタ係数目標値(3)は、
図13に示されている。
【0063】
そのあと、高精度係数演算部400は、
図14に示すように、高精度係数目標値演算部820で算出されたフィルタ係数目標値である第3係数702と、低精度係数演算部300で選択及び設定された第1A係数との比を算出する。
図14の例では、第1A係数として係数LUT−2が選択される。
【0064】
高精度係数演算部400は、徐々に第1B係数を変化させながら、最終的には第1係数700が第3係数702に設定したフィルタ係数目標値と等しくなるように設定する。
【0065】
このような、高精度なスペクトルモニタと高精度係数の目標値の演算とを組み合わせた構成により、周波数領域デジタルフィルタ200の係数設定処理を高精度に行うことができる。
【0066】
以上説明したように、第2の実施形態によっても、第1の実施形態と同様の効果を得ることができる。すなわち、入力信号のスペクトル形状に応じて、簡易的にスペクトルをモニタする簡易スペクトルモニタ800を用いて周波数領域デジタルフィルタ200の係数を高速に設定し、さらに、高精度にスペクトルをモニタする高精度スペクトルモニタ810を用いることで、周波数領域デジタルフィルタ200の係数を高精度に設定することが可能となる。
【0067】
(第3の実施形態)
図15は、第3の実施形態に係るデジタル処理装置100Bの構成を示す図である。デジタル処理装置100Bは、簡易スペクトルモニタ800、高精度スペクトルモニタ810の入力信号として、周波数領域デジタルフィルタ200に備えられたフーリエ変換部210後の信号、すなわち周波数領域信号201を用いている。それ以外の構成は、第2の実施形態に係るデジタル処理装置100Aと同様である。
【0068】
第3の実施形態によれば、第2の実施形態で説明した、時間領域の信号Din(t)を用いてスペクトルモニタする方式と比べて、スペクトルモニタの構成を簡便化できる。なぜならば、フーリエ変換後の周波数領域信号201は、ある一定期間(フーリエ変換の処理単位時間)の瞬間的なスペクトルを表しているため、周波数領域の信号を時間的に平均化することで、容易にデジタル処理装置100Bへの入力信号Din(t)のスペクトルをモニタすることが可能となるからである。
【0069】
以上のように、第3の実施形態のデジタル処理装置100Bによっても、第1、第2の実施形態のデジタル処理装置100、100Aと同様の効果を得ることができる。
【0070】
(第4の実施形態)
図16は、第4の実施形態に係るデジタル処理装置100Cの構成を示す図である。デジタル処理装置100Cは、
図1に示したデジタル処理装置100の構成に、さらに、係数初期値設定部900を備える。係数初期値設定部900には、固定された係数初期値が記憶される。そして、係数乗算部500は、フィルタ係数制御時に、第1A係数700A及び第1B係数700Bに加えて、係数初期値を掛け合わせる。第4の実施形態に係るデジタル処理装置の構成は、係数初期値設定部900を備える点を除いて、第1の実施形態に係るデジタル処理装置と同様である。
【0071】
第4の実施形態のデジタル処理装置100Cは、第1〜第3の実施形態のデジタル処理装置と同様の効果を奏する。さらに、第4の実施形態のデジタル処理装置100Cは、たとえば、通信システムに特有の既知の固定的なフィルタ係数が求められる場合には、このフィルタ係数を係数初期値として係数初期値設定部900に設定しておくことで、係数演算処理をさらに簡略化でき、より高速なフィルタ係数制御が可能となる。なお、係数初期値設定部900は、第2及び第3の実施形態のデジタル処理装置100B、100Cが備えてもよい。
【0072】
(第5の実施形態)
図17は、第5の実施形態の通信システム110の構成を示す図である。通信システム110は、送信装置111及び受信装置112を備える。送信装置111は、デジタル信号を生成して受信装置112に送信する。送信装置111と受信装置112との間には、伝送媒体113が存在する。送信装置111と受信装置112との間の通信が有線で行われる場合、伝送媒体113は、例えば光ファイバである。また送信装置111と受信装置112との間の通信が無線で行われる場合、伝送媒体113は空間である。
【0073】
受信装置112は、フロントエンド部114及びデジタル処理装置115を備える。フロントエンド部114は、伝送媒体113を介して受信された信号を増幅するアンプや、増幅された信号をデジタル信号に変換するアナログ−デジタル変換器などを含む。また、デジタル処理装置115は、第1〜第4の実施形態のいずれかで説明したデジタル処理装置である。デジタル処理装置115は、フロントエンド部114から入力された入力信号に対する等化処理を行う。
【0074】
通信システム110においては、例えば、経路切り替えなどの通信の切断が発生した場合に、デジタル処理装置115が備える低精度係数演算部のみが起動されて、第1A係数に基づいて第1係数が算出されてもよい。また、通常の通信中は、低精度係数演算部及び高精度係数演算部の双方が動作する状態で第1係数が算出されてもよい。すなわち、システム条件に応じて、大きく係数切替えが必要な場合は、低精度係数演算部を動作させて高速にフィルタ特性を切替え、ある程度ゆるやか且つ係数調整が微小な場合は高精度係数演算部を動作させてもよい。
【0075】
第5の実施形態の通信システム110は、伝送媒体の状況変化や、伝送経路の切り替えなど、通信システムの状態に応じて高速にデジタル処理装置内部の周波数領域デジタルフィルタの特性を可変しつつ、フィルタの精度も両立させることが可能な通信システムを実現できる。
【0076】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0077】
例えば、各実施形態では第1係数700が設定されたフィルタ部230は、周波数領域信号201に対して等化処理を行うものとして説明した。しかし、第1係数700により行われる処理は、等化処理に限られない。デジタル処理装置は、入力信号Din(t)に対して、第1係数を用いた処理を行うものであればよい。
【0078】
たとえば、第2および第3の実施形態の簡易スペクトルモニタ800および高精度スペクトルモニタ810は、いずれも、フィルタ処理前の信号を用いてそれぞれスペクトルをモニタする。しかし、簡易スペクトルモニタ800および高精度スペクトルモニタ810は、フィルタ処理後の信号をモニタしてもよい。すなわち、簡易スペクトルモニタ800および高精度スペクトルモニタ810は、目標とされるスペクトル形状とフィルタ処理後の信号のスペクトルとの比からフィルタ係数目標値を算出し、第2係数701、第3係数702をそれぞれ設定してもよい。
【0079】
また、第2、第3の実施形態における簡易スペクトルモニタ800は、DC及び周波数fmonの2つのスペクトル強度をモニタする。しかし、モニタされる周波数はこれらには限られない。すなわち、簡易スペクトルモニタ800は、複数の周波数成分のスペクトルをモニタし、その複数のスペクトルモニタ結果を第2係数701として設定してもよい。例えば、複数のスペクトルモニタ結果を用いて、第1の実施形態の低精度係数演算部300の第2例のような折れ線近似処理(
図10、
図11)によって係数を演算することができる。この場合、低精度係数演算部300の処理はやや複雑になる一方、それによって算出される第1A係数700A自体の精度を向上させることができる。これらの処理においては、係数演算処理時間(演算回路規模)と所要精度とがトレードオフの関係となる。従って、具体的な処理の手順は、上記の手順が適用されるシステムに応じて決定すればよい。
【0080】
また、第2係数701、第3係数702は、必ずしも周波数別に設定された係数でなくともよい。例えば、第2係数701及び第3係数702は、時間領域のデジタルフィルタとして知られるFIR(finite impulse response)フィルタのタップ係数として設定されてもよく、各係数演算部の内部処理で第1係数700と同じN個の周波数別に設定された係数に変換されてもよい。
【0081】
また、第2及び第3の実施形態においては、スペクトルモニタを用いて第2係数701及び第3係数702が設定された。しかし、第2係数701及び第3係数702の設定手順は、これらに限られない。光通信用途では、伝送媒体である光ファイバで生じる波長分散の影響が支配的となる。このため、例えば、波長分散モニタの結果を第2係数701として設定し、第1A係数700Aとして複数の条件の波長分散を補償するフィルタ係数をLUTとして予め用意すれば、係数LUT選択部310は、その中から最も適した係数LUTを選択するだけよい。
【0082】
また、一般的な通信システムでは、本発明のデジタル処理装置の後段にはタイミング抽出部やエラー訂正処理を含むビット判定装置が接続される。このような場合には、ビット判定装置から出力されるエラー訂正情報をもとに、ビット誤り率が最小となるようなフィルタ係数目標値を算出して、第3係数702として設定してもよい。
【0083】
この出願は、2013年9月4日に出願された日本出願特願2013−182854を基礎とする優先権を主張し、その開示の全てをここに取り込む。