(58)【調査した分野】(Int.Cl.,DB名)
前記出力信号が前記複数のシンボルのうちいずれのシンボルに割り当てられているかのシンボル判定を行い、判定されたシンボルに応じて第2シンボル判定値を出力する第2判定部と、
前記第2シンボル判定値と、前記出力信号と、の誤差を計算する誤差計算部と、
前記第2タップ係数が選択された場合の前記誤差に統計処理を行って得られる第1誤差統計値と、前記第3タップ係数が選択された場合の前記誤差に統計処理を行って得られる第2誤差統計値と、を計算する誤差統計値計算部と、
をさらに備え、
前記第2フィルタ部は、前記遷移状態が遷移がないことを示し、かつ、前記第1誤差統計値が前記第2誤差統計値よりも小さい場合に、前記第2タップ係数を選択し、前記遷移状態が遷移がないことを示し、かつ、前記第2誤差統計値が前記第1誤差統計値よりも小さい場合に、前記第3タップ係数を選択する、請求項3または請求項4に記載のデジタルフィルタ。
【発明を実施するための形態】
【0009】
[本願発明の実施形態の説明]
最初に本発明の実施形態の内容を列記して説明する。
【0010】
本発明の一態様に係るデジタルフィルタは、入力信号に対して出力信号を出力するデジタルフィルタである。このデジタルフィルタは、第1タップ係数を用いて入力信号に信号処理を行って得た信号を判定用信号として出力する第1フィルタ部と、判定用信号の遷移状態を検出する遷移状態検出部と、遷移状態に応じて、立ち上がり用のタップ係数である第2タップ係数及び立ち下がり用のタップ係数である第3タップ係数のいずれかを選択し、選択したタップ係数を用いて入力信号に信号処理を行って得た信号を出力信号として出力する第2フィルタ部と、を備える。
【0011】
このデジタルフィルタによれば、第1フィルタ部からの判定用信号に基づいて、出力信号の遷移状態が検出される。そして、検出された遷移状態に応じて、立ち上がり用の第2タップ係数及び立ち下がり用の第3タップ係数が選択され、選択されたタップ係数が用いられて入力信号の信号処理が行われる。このため、入力信号の立ち上がりと立ち下がりとが非対称であっても、立ち上がり時には立ち上がり用の第2タップ係数が用いられ、立ち下がり時には立ち下がり用の第3タップ係数が用いられるので、入力信号に対して遷移状態に応じた適切な補償を行うことができる。その結果、出力信号の誤差を低減することができ、シンボル値の判定に係るノイズマージンの拡大が可能となる。
【0012】
本発明の別の態様に係るデジタルフィルタは、第1タップ係数を更新する第1更新部をさらに備えてもよい。この場合、第1タップ係数を微修正して収束させることができ、第1タップ係数の最適化が可能となる。
【0013】
本発明のさらに別の態様に係るデジタルフィルタは、第2タップ係数を更新する第2更新部と、第3タップ係数を更新する第3更新部と、をさらに備えてもよい。第2更新部は、遷移状態が立ち上がりを示す場合に、第2タップ係数を更新してもよく、第3更新部は、遷移状態が立ち下がりを示す場合に、第3タップ係数を更新してもよい。この場合、遷移状態に対応したタップ係数が更新されるので、第2タップ係数及び第3タップ係数を微修正して収束させることができ、第2タップ係数及び第3タップ係数の最適化が可能となる。
【0014】
第2更新部は、さらに、遷移状態が遷移がないことを示す場合に、第2タップ係数を更新してもよく、第3更新部は、さらに、遷移状態が遷移がないことを示す場合に、第3タップ係数を更新してもよい。この場合、イコライズを行う変調信号が同一のシンボル値が連続する部分を有していても、直流的な振幅値の誤差を小さくするようにタップ係数を更新することができる。
【0015】
入力信号は、多値変調によって生成される複数のシンボルを有してもよく、本発明のさらに別の態様に係るデジタルフィルタは、判定用信号が複数のシンボルのうちいずれのシンボルに割り当てられているかのシンボル判定を行い、判定されたシンボルに応じて第1シンボル判定値を出力する第1判定部をさらに備えてもよい。遷移状態検出部は、第1シンボル判定値を用いて、判定用信号の遷移状態を検出してもよい。判定用信号は、第1シンボル判定値に対して誤差を有することがある。このため、同じシンボルに割り当てられた信号であっても、異なる判定用信号となることがあるので、判定用信号を用いて遷移状態を検出した場合には、立ち上がり状態または立ち下がり状態のいずれかとして遷移状態が誤検出されるおそれがある。これに対し、同じシンボルに割り当てられた信号は同じ第1シンボル判定値を有する可能性が高いので、第1シンボル判定値を用いることによって、遷移状態の検出精度を向上することができる。
【0016】
遷移状態検出部は、第1シンボル判定値を所定の遅延量だけ遅延させてから判定用信号の遷移状態を検出してもよく、第2フィルタ部は、入力信号を上述の遅延量だけ遅延させた信号に信号処理を行って得た信号を出力信号として出力してもよい。この場合、状態遷移の検出対象となる信号のタイムスロットと、第2フィルタ部において信号処理される信号のタイムスロットと、を合わせることができる。このため、入力信号に対して遷移状態に応じたより適切な補償を行うことができる。その結果、出力信号の誤差をさらに低減することができ、シンボル値の判定に係るノイズマージンのさらなる拡大が可能となる。
【0017】
本発明のさらに別の態様に係るデジタルフィルタは、出力信号が複数のシンボルのうちいずれのシンボルに割り当てられているかのシンボル判定を行い、判定されたシンボルに応じて第2シンボル判定値を出力する第2判定部と、第2シンボル判定値と、出力信号と、の誤差を計算する誤差計算部と、第2タップ係数が選択された場合の誤差に統計処理を行って得られる第1誤差統計値と、第3タップ係数が選択された場合の誤差に統計処理を行って得られる第2誤差統計値と、を計算する誤差統計値計算部と、をさらに備えてもよい。第2フィルタ部は、遷移状態が遷移がないことを示し、かつ、第1誤差統計値が第2誤差統計値よりも小さい場合に、第2タップ係数を選択してもよく、遷移状態が遷移がないことを示し、かつ、第2誤差統計値が第1誤差統計値よりも小さい場合に、第3タップ係数を選択してもよい。この構成によれば、遷移がない場合に、第1誤差統計値及び第2誤差統計値のいずれか小さい方の誤差統計値に対応するタップ係数が用いられる。このため、遷移がない場合でも、出力信号の誤差を低減することができ、シンボル値の判定に係るノイズマージンのさらなる拡大が可能となる。
【0018】
本発明のさらに別の態様に係るデジタルフィルタは、遷移状態に応じて、第2フィルタ部に第2タップ係数及び第3タップ係数のいずれかを選択させるための選択信号を出力する切替部をさらに備えてもよい。第2フィルタ部は、選択信号に応じて第2タップ係数及び第3タップ係数のいずれかを選択してもよい。この場合、第2フィルタ部は、選択信号に応じて、第2タップ係数及び第3タップ係数のいずれかを選択すればよいので、第2フィルタ部の構成を簡単化することが可能となる。
【0019】
第1フィルタ部は、複数の遅延回路が直列に接続された第1遅延線を備える第1有限インパルス応答フィルタであってもよく、第2フィルタ部は、複数の遅延回路が直列に接続された第2遅延線を備える第2有限インパルス応答フィルタであってもよい。第1遅延線の複数の遅延回路の一部は、第2遅延線の複数の遅延回路の一部として用いられてもよい。この場合、遅延回路の数を低減することができる。
【0020】
[本願発明の実施形態の詳細]
本発明の実施形態に係るデジタルフィルタの具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0021】
図1は、一実施形態に係るデジタルフィルタを模式的に示す構成図である。
図2は、
図1のデジタルフィルタの一部拡大図である。
図1及び
図2に示されるデジタルフィルタ1は、受信器に搭載され、送信器において多値(M値)変調された信号の復調に用いられるデジタルフィルタである。デジタルフィルタ1は、入力信号xに対して出力信号yを出力するデジタルフィルタであり、例えば、適応フィルタ(アダプティブイコライザ)である。デジタルフィルタ1は、有限インパルス応答(FIR:Finite Impulse Response)フィルタを含んでいる。デジタルフィルタ1に入力される入力信号xは、多値変調によって生成される複数のシンボルを有しており、例えば、パルス振幅変調(Pulse Amplitude Modulation;PAM)等によって変調された信号が用いられ得る。なお、以下において、信号のタイムスロットを示して説明する場合には、信号を示す符号の後に括弧書きでタイムスロットを示す番号を付加している。例えば、入力信号xについて、あるタイムスロットの番号をn(nは正の整数値)とした場合に、そのタイムスロットにおける入力信号xの値をx(n)と表し、その1つ前のタイムスロットにおける入力信号xの値をx(n−1)、タイムスロット番号nの1つ後のタイムスロットにおける入力信号xの値をx(n+1)と表す。タイムスロットの番号については、小さい値ほど時間的に先であることを表し、大きい値ほど時間的に後であることを表す。すなわち、前記の例であれば、時間の経過と共にタイムスロット毎にx(n−1)、x(n)、x(n+1)の順で入力信号xの値が変化することを表す。
【0022】
図3は、PAM4信号のアイパターンを示す図である。PAM4信号は、例えば、所定の4つの電圧値にそれぞれ対応するシンボル値(例えば、電圧値の小さい方から大きい方へ順にそれぞれ“0”、“1”、“2”、“3”と呼ぶことにする)を有する信号で、一定の時間間隔(シンボル周期)で前のシンボル値から次のシンボル値へと次々に遷移を繰り返して情報を伝達する。ただし、シンボル値間の遷移は毎周期毎に必ず生じるわけではなく、例えば、シンボル値が“0”で、その次のシンボル値も“0”と言うように同じシンボル値が続くことにより遷移を生じない場合も頻繁に起こり得る。
図3に示されるアイパターンは、デジタル信号処理のためにサンプリングされる前のアナログ入力信号のアイパターンである。
図3の横軸はシンボル周期の1/10を1単位として規格化された時間を表している。シンボル周期は、具体的には、100GbpsDP−QPSK(Dual Polarization-Quadrature Phase Shift Keying)の場合には、30〜40psとなる。
図3の縦軸は、隣接するシンボル間の距離を1単位として規格化された入力信号の値を表している(より具体的には、隣接するシンボル間の電圧差を1単位として規格化された規格化電圧を表していると考えてもよい)。
【0023】
例えば、4値のPAM信号であるPAM4信号は、理想的には
図3の(a)に示されるように、あるシンボル値(例えば、“1”)から他のシンボル値(例えば、“3”)へ遷移する場合の立ち上がり時間とそれと反対に他のシンボル値(“3”)からあるシンボル値(“1”)へ遷移する場合の立ち下がり時間とが同程度であり、信号波形においてある2つの互いに異なるシンボル値間の遷移に関して立ち上がりと立ち下がりとがある時間で垂直方向に延びる直線を対称軸とした場合にアイパターンは図形的に対称である。しかしながら、実際には
図3の(b)に示されるように、ある2つの互いに異なるシンボル値間の遷移に関して立ち上がり時間と立ち下がり時間とが異なり、信号波形において立ち上がりと立ち下がりとが非対称であることがある。なお、
図3の(b)では、立ち上がり時間が立ち下がり時間よりも大きいが、立ち上がり時間が立ち下がり時間よりも小さくなることもある。
【0024】
図1及び
図2に示されるように、デジタルフィルタ1は、第1フィルタ部11と、仮判定部12(第1判定部)と、誤差計算部13と、更新部14(第1更新部)と、第2フィルタ部15と、本判定部16(第2判定部)と、誤差計算部17と、更新部18(第2更新部)と、更新部19(第3更新部)と、誤差統計値計算部21と、遷移状態検出部22と、切替部23と、を備えている。
【0025】
第1フィルタ部11は、第1遅延線を備えるFIRフィルタであり、タップ係数h0(第1タップ係数)を用いて入力信号x(n)に信号処理(補償)を行って得た信号を出力信号y0(n)(判定用信号)として出力する。タップ係数h0は、タップ係数h0(0)〜h0(6)を含むタップ係数ベクトルである。第1フィルタ部11は、遅延部111の一部と、乗算部112と、加算部113と、を備えている。遅延部111の一部は、直列に接続された遅延回路111a〜111fを有し、第1遅延線をなしている。乗算部112は、入力信号x(n)及び遅延部111から出力された信号x(n−0.5)〜x(n−3)の入力信号列と、更新部14から出力されたタップ係数h0(0)〜h0(6)と、の積をそれぞれ演算し、演算結果を出力する。乗算部112は、乗算器112a〜112gを有している。加算部113は、乗算部112から出力された各演算結果の総和を演算し、演算結果を出力信号y0(n)として出力する。加算部113は、加算器113a〜113fを有している。第1フィルタ部11は、FIRフィルタの特徴としてフィルタの構成内に信号のフィードバック・ループを持っておらず、有限インパルス応答によって信号処理を行う。なお、第1遅延線の長さ(遅延回路の個数)は本実施形態に限定される必要はなく、必要とする信号処理の特性に応じて短くしても長くしてもよい。また、第1遅延線の長さに付随して乗算器及び加算器の数が適宜変更されてもよい。
【0026】
以下、第1フィルタ部11について詳述する。各遅延回路111a〜111fは、入力された信号をシンボル周期Tの半周期(T/2)だけ遅延させ、遅延させた信号を出力する。遅延回路111aは、デジタルフィルタ1の入力信号x(n)をシンボル周期Tの半周期(T/2)だけ遅延させ、遅延させた信号x(n−0.5)を、遅延回路111b、乗算器112b及び更新部14に出力する。遅延回路111bは、遅延回路111aから出力された信号x(n−0.5)をシンボル周期Tの半周期(T/2)だけ遅延させ、遅延させた信号x(n−1)を、遅延回路111c、乗算器112c、更新部14、後述の乗算器152a、更新部18及び更新部19に出力する。
【0027】
遅延回路111cは、遅延回路111bから出力された信号x(n−1)をシンボル周期Tの半周期(T/2)だけ遅延させ、遅延させた信号x(n−1.5)を遅延回路111d、乗算器112d、更新部14、後述の乗算器152b、更新部18及び更新部19に出力する。遅延回路111dは、遅延回路111cから出力された信号x(n−1.5)をシンボル周期Tの半周期(T/2)だけ遅延させ、遅延させた信号x(n−2)を、遅延回路111e、乗算器112e、更新部14、後述の乗算器152c、更新部18及び更新部19に出力する。
【0028】
遅延回路111eは、遅延回路111dから出力された信号x(n−2)をシンボル周期Tの半周期(T/2)だけ遅延させ、遅延させた信号x(n−2.5)を、遅延回路111f、乗算器112f、更新部14、後述の乗算器152d、更新部18及び更新部19に出力する。遅延回路111fは、遅延回路111eから出力された信号x(n−2.5)をシンボル周期Tの半周期(T/2)だけ遅延させ、遅延させた信号x(n−3)を、遅延回路111g、乗算器112g、更新部14、後述の乗算器152e、更新部18及び更新部19に出力する。
【0029】
乗算器112aは、デジタルフィルタ1の入力信号x(n)と更新部14から出力されたタップ係数h0(0)との積を演算し、演算結果を加算器113aに出力する。乗算器112bは、遅延回路111aから出力された信号x(n−0.5)と更新部14から出力されたタップ係数h0(1)との積を演算し、演算結果を加算器113aに出力する。乗算器112cは、遅延回路111bから出力された信号x(n−1)と更新部14から出力されたタップ係数h0(2)との積を演算し、演算結果を加算器113bに出力する。
【0030】
乗算器112dは、遅延回路111cから出力された信号x(n−1.5)と更新部14から出力されたタップ係数h0(3)との積を演算し、演算結果を加算器113cに出力する。乗算器112eは、遅延回路111dから出力された信号x(n−2)と更新部14から出力されたタップ係数h0(4)との積を演算し、演算結果を加算器113dに出力する。乗算器112fは、遅延回路111eから出力された信号x(n−2.5)と更新部14から出力されたタップ係数h0(5)との積を演算し、演算結果を加算器113eに出力する。乗算器112gは、遅延回路111fから出力された信号x(n−3)と更新部14から出力されたタップ係数h0(6)との積を演算し、演算結果を加算器113fに出力する。
【0031】
加算器113aは、乗算器112aの演算結果と乗算器112bの演算結果とを加算し、加算結果を加算器113bに出力する。加算器113bは、乗算器112cの演算結果と加算器113aの加算結果とを加算し、加算結果を加算器113cに出力する。加算器113cは、乗算器112dの演算結果と加算器113bの加算結果とを加算し、加算結果を加算器113dに出力する。加算器113dは、乗算器112eの演算結果と加算器113cの加算結果とを加算し、加算結果を加算器113eに出力する。加算器113eは、乗算器112fの演算結果と加算器113dの加算結果とを加算し、加算結果を加算器113fに出力する。加算器113fは、乗算器112gの演算結果と加算器113eの加算結果とを加算し、加算結果を出力信号y0(n)として仮判定部12及び誤差計算部13に出力する。
【0032】
仮判定部12は、第1フィルタ部11から出力された出力信号y0(n)が複数のシンボルのうちいずれのシンボルに割り当てられているかのシンボル判定を行い、判定されたシンボルに応じてシンボル判定値d0(n)(第1シンボル判定値)を出力する。入力信号x(n)がPAM4信号である場合、仮判定部12は、4値シンボル判定を行う(例えば、前述の例であれば、入力信号x(n)の電圧値に応じて4つのシンボル値“0”、“1”、“2”、“3”のうちのどれに相当するかを判定する)。入力信号x(n)が8値のPAM信号であるPAM8信号である場合、仮判定部12は、8値シンボル判定を行う。仮判定部12は、シンボル判定値d0(n)を誤差計算部13及び遷移状態検出部22に出力する。
【0033】
誤差計算部13は、仮判定部12から出力されたシンボル判定値d0(n)と、第1フィルタ部11から出力された出力信号y0(n)と、の誤差e0(n)を計算する。誤差計算部13は、例えば、減算器であって、式(1)に示されるように、仮判定部12から出力されたシンボル判定値d0(n)から第1フィルタ部11から出力された出力信号y0(n)を減算することによって、誤差e0(n)を計算する。誤差計算部13は、計算した誤差e0(n)を更新部14に出力する。
【数1】
【0034】
更新部14は、タップ係数h0を更新する。更新部14は、誤差e0(n)に基づいて、例えば既存のLMSアルゴリズムを用いてタップ係数h0を更新する。更新部14は、タップ係数更新部141と、遅延回路142と、を備えている。遅延回路142は、タップ係数更新部141から出力されたタップ係数h0を1シンボル周期Tだけ遅延させ、遅延させたタップ係数h0’をタップ係数更新部141及び第1フィルタ部11に出力する。なお、タップ係数h0’は更新前のタップ係数ベクトルを示し、タップ係数h0は更新後のタップ係数ベクトルを示している。
【0035】
タップ係数更新部141は、例えば、一般的に振幅だけでなく位相の変調も伴うような変調信号の場合には式(2)に示されるように、タップ係数h0’、誤差e0(n)、及び、信号x(n)〜x(n−3)の共役複素数を用いて、タップ係数h0を算出する。つまり、タップ係数更新部141は、LMSアルゴリズムを用いて、ステップサイズμと、誤差e0(n)と、信号x(n−m/2)の共役複素数との積を演算し、その演算結果とタップ係数h0’(m)とを加算することによって、タップ係数h0(m)を算出する。タップ係数更新部141は、更新されたタップ係数h0を遅延回路142に出力する。本実施形態では、mは0〜6の整数値である。なお、例えば、PAM4信号の場合には、位相変調を伴わないので、実際の計算としては各共役複素数の虚数部を0として実数部のみの計算(すなわち、実数の計算)を行えばよい。
【数2】
【0036】
第2フィルタ部15は、第2遅延線を備えるFIRフィルタを基本形として構成されており、入力信号x(n)を所定の遅延量だけ遅延させた信号に信号処理を行って得た信号を出力信号y(n−1)(出力信号)として出力する。この例では、所定の遅延量は1シンボル周期Tである。第2フィルタ部15は、遷移状態検出部22によって検出された遷移状態に応じて、タップ係数hr(第2タップ係数)及びタップ係数hf(第3タップ係数)のいずれかを選択し、選択したタップ係数を用いて信号x(n−1)に信号処理(補償)を行って得た信号を出力信号y(n−1)として出力する。タップ係数hrは、立ち上がり用のタップ係数であって、タップ係数hr(0)〜hr(6)を含むタップ係数ベクトルである。タップ係数hfは、立ち下がり用のタップ係数であって、タップ係数hf(0)〜hf(6)を含むタップ係数ベクトルである。第2フィルタ部15は、FIRフィルタの特徴としてフィルタの構成内に信号のフィードバック・ループを持っておらず、有限インパルス応答によって信号処理を行う。なお、第2遅延線の長さ(遅延回路の個数)は本実施形態に限定される必要はなく、必要とする信号処理の特性に応じて短くしても長くしてもよい。また、第2遅延線の長さに付随して乗算器及び加算器の数が適宜変更されてもよい。
【0037】
ところで、本実施形態では第1フィルタ部11の第1遅延線の長さと第2フィルタ部15の第2遅延線の長さとは同じであるが、第1フィルタ部11の第1遅延線の長さは、第2フィルタ部15の第2遅延線の長さよりも短くてもよい。遅延線の長さが長くなると、それに応じてタップ係数の個数も増えるので、遅延線の長さが長くなるほどFIRフィルタの演算量、回路規模、及び消費電力の増大につながる。第1フィルタ部11は仮判定及び遷移検出を目的としているので、第1遅延線の長さを短くした方がデジタルフィルタ1全体の演算量、回路規模、及び消費電力を削減する上で好適となる場合がある。ただし、第1フィルタ部11の第1遅延線の長さが第2フィルタ部15の第2遅延線の長さに比べて極端に短すぎると、第1フィルタ部11の出力信号(判定用信号)の仮判定結果が第2フィルタ部15の出力信号の判定結果と一致しなくなる可能性が相対的に高くなるので、仮判定結果の信頼性が低下するおそれがある。
【0038】
第2フィルタ部15は、遷移状態検出部22によって検出された遷移状態が立ち上がりを示す場合に、タップ係数hrを選択し、遷移状態検出部22によって検出された遷移状態が立ち下がりを示す場合に、タップ係数hfを選択する。第2フィルタ部15は、遷移状態検出部22によって検出された遷移状態が遷移がないことを示し、かつ、後述の誤差統計値sr(第1誤差統計値)が後述の誤差統計値sf(第2誤差統計値)よりも小さい場合に、タップ係数hrを選択し、遷移状態検出部22によって検出された遷移状態が遷移がないことを示し、かつ、誤差統計値sfが誤差統計値srよりも小さい場合に、タップ係数hfを選択する。具体的には、第2フィルタ部15は、切替部23から出力された選択信号SELに基づいて、タップ係数hr及びタップ係数hfのいずれかを選択する。選択信号SELは、第2フィルタ部15にタップ係数hr及びタップ係数hfのいずれかを選択させるための信号である。第2フィルタ部15は、遅延部111の一部と、セレクタ部151と、乗算部152と、加算部153と、を備えている。
【0039】
遅延部111の一部は、直列に接続された遅延回路111c〜111hを有し、第2遅延線をなしている。このように、第1遅延線をなす遅延回路111a〜111fの一部は、第2遅延線をなす遅延回路111c〜111hの一部として用いられる。セレクタ部151は、切替部23から出力された選択信号SELに応じて、タップ係数hr(0)〜hr(6)と、タップ係数hf(0)〜hf(6)と、のいずれかを選択して、タップ係数h(0)〜h(6)として出力する。セレクタ部151は、セレクタ151a〜151gを有している。乗算部152は、第1フィルタ部11から出力された信号x(n−1)〜x(n−4)の入力信号列と、セレクタ部151から出力されたタップ係数h(0)〜h(6)と、の積をそれぞれ演算し、演算結果を出力する。乗算部152は、乗算器152a〜152gを有している。加算部153は、乗算部152から出力された各演算結果の総和を演算し、演算結果を出力信号y(n−1)として出力する。加算部153は、加算器153a〜153fを有している。
【0040】
以下、第2フィルタ部15について詳述する。遅延回路111gは、遅延回路111fから出力された信号x(n−3)をシンボル周期Tの半周期(T/2)だけ遅延させ、遅延させた信号x(n−3.5)を、遅延回路111h、乗算器152f、更新部18及び更新部19に出力する。遅延回路111hは、遅延回路111gから出力された信号x(n−3.5)をシンボル周期Tの半周期(T/2)だけ遅延させ、遅延させた信号x(n−4)を、乗算器152g、更新部18及び更新部19に出力する。
【0041】
セレクタ151a〜151gは、例えば、2入力1出力のデマルチプレクサであり、切替部23から出力された選択信号SELに応じて、入力を切り替える。セレクタ151aは、タップ係数hr(0)及びタップ係数hf(0)を入力し、切替部23から出力された選択信号SELに応じて、タップ係数hr(0)及びタップ係数hf(0)のいずれかを選択してタップ係数h(0)として乗算器152aに出力する。セレクタ151bは、タップ係数hr(1)及びタップ係数hf(1)を入力し、切替部23から出力された選択信号SELに応じて、タップ係数hr(1)及びタップ係数hf(1)のいずれかを選択してタップ係数h(1)として乗算器152bに出力する。
【0042】
セレクタ151cは、タップ係数hr(2)及びタップ係数hf(2)を入力し、切替部23から出力された選択信号SELに応じて、タップ係数hr(2)及びタップ係数hf(2)のいずれかを選択してタップ係数h(2)として乗算器152cに出力する。セレクタ151dは、タップ係数hr(3)及びタップ係数hf(3)を入力し、切替部23から出力された選択信号SELに応じて、タップ係数hr(3)及びタップ係数hf(3)のいずれかを選択してタップ係数h(3)として乗算器152dに出力する。セレクタ151eは、タップ係数hr(4)及びタップ係数hf(4)を入力し、切替部23から出力された選択信号SELに応じて、タップ係数hr(4)及びタップ係数hf(4)のいずれかを選択してタップ係数h(4)として乗算器152eに出力する。
【0043】
セレクタ151fは、タップ係数hr(5)及びタップ係数hf(5)を入力し、切替部23から出力された選択信号SELに応じて、タップ係数hr(5)及びタップ係数hf(5)のいずれかを選択してタップ係数h(5)として乗算器152fに出力する。セレクタ151gは、タップ係数hr(6)及びタップ係数hf(6)を入力し、切替部23から出力された選択信号SELに応じて、タップ係数hr(6)及びタップ係数hf(6)のいずれかを選択してタップ係数h(6)として乗算器152gに出力する。セレクタ151a〜151gは、例えば、選択信号SELがLowレベルの場合、タップ係数hr(0)〜hr(6)をそれぞれ選択し、選択信号SELがHighレベルの場合、タップ係数hf(0)〜hf(6)をそれぞれ選択する。
【0044】
乗算器152aは、セレクタ151aから出力されたタップ係数h(0)と遅延回路111bから出力された信号x(n−1)との積を演算し、演算結果を加算器153aに出力する。乗算器152bは、セレクタ151bから出力されたタップ係数h(1)と遅延回路111cから出力された信号x(n−1.5)との積を演算し、演算結果を加算器153aに出力する。乗算器152cは、セレクタ151cから出力されたタップ係数h(2)と遅延回路111dから出力された信号x(n−2)との積を演算し、演算結果を加算器153bに出力する。
【0045】
乗算器152dは、セレクタ151dから出力されたタップ係数h(3)と遅延回路111eから出力された信号x(n−2.5)との積を演算し、演算結果を加算器153cに出力する。乗算器152eは、セレクタ151eから出力されたタップ係数h(4)と遅延回路111fから出力された信号x(n−3)との積を演算し、演算結果を加算器153dに出力する。乗算器152fは、セレクタ151fから出力されたタップ係数h(5)と遅延回路111gから出力された信号x(n−3.5)との積を演算し、演算結果を加算器153eに出力する。乗算器152gは、セレクタ151gから出力されたタップ係数h(6)と遅延回路111hから出力された信号x(n−4)との積を演算し、演算結果を加算器153fに出力する。
【0046】
加算器153aは、乗算器152aの演算結果と乗算器152bの演算結果とを加算し、加算結果を加算器153bに出力する。加算器153bは、乗算器152cの演算結果と加算器153aの加算結果とを加算し、加算結果を加算器153cに出力する。加算器153cは、乗算器152dの演算結果と加算器153bの加算結果とを加算し、加算結果を加算器153dに出力する。加算器153dは、乗算器152eの演算結果と加算器153cの加算結果とを加算し、加算結果を加算器153eに出力する。加算器153eは、乗算器152fの演算結果と加算器153dの加算結果とを加算し、加算結果を加算器153fに出力する。加算器153fは、乗算器152gの演算結果と加算器153eの加算結果とを加算し、加算結果を出力信号y(n−1)として本判定部16及び誤差計算部17に出力する。出力信号y(n−1)は、デジタルフィルタ1のイコライザ出力としても用いられる。
【0047】
本判定部16は、第2フィルタ部15から出力された出力信号y(n−1)が複数のシンボルのうちいずれのシンボルに割り当てられているかのシンボル判定を行い、判定されたシンボルに応じてシンボル判定値d(n−1)(第2シンボル判定値)を出力する。入力信号x(n)がPAM4信号である場合、本判定部16は、4値シンボル判定を行う。入力信号x(n)が8値のPAM信号であるPAM8信号である場合、本判定部16は、8値シンボル判定を行う。本判定部16は、シンボル判定値d(n−1)を誤差計算部17に出力する。シンボル判定値d(n−1)は、デジタルフィルタ1のシンボル判定結果としても用いられる。
【0048】
誤差計算部17は、本判定部16から出力されたシンボル判定値d(n−1)と、第2フィルタ部15から出力された出力信号y(n−1)と、の誤差e(n−1)を計算する。誤差計算部17は、例えば、減算器であって、式(3)に示されるように、本判定部16から出力されたシンボル判定値d(n−1)から第2フィルタ部15から出力された出力信号y(n−1)を減算することによって、誤差e(n−1)を計算する。誤差計算部17は、計算した誤差e(n−1)を更新部18、更新部19及び誤差統計値計算部21に出力する。
【数3】
【0049】
更新部18は、タップ係数hrを更新する。ここで、タップ係数hrはタップ係数hr(0)〜hr(6)を含むベクトルである。更新部18は、誤差e(n−1)に基づいて、例えば既存のLMSアルゴリズムを用いてタップ係数hrを更新する。更新部18は、遷移状態検出部22によって検出された遷移状態が立ち上がりを示す場合、及び、遷移状態検出部22によって検出された遷移状態が遷移がないことを示す場合に、タップ係数hrを更新する。具体的には、更新部18は、切替部23から出力されたディスエーブル信号disrに基づいて、タップ係数hrを更新する。ディスエーブル信号disrは、更新部18にタップ係数hrの更新を行わせないように、更新部18(具体的には、タップ係数更新部181)の機能を無効にするための信号である。例えば、ディスエーブル信号disrがHighレベルである場合にディスエーブル信号disrがアクティブになり、更新部18の機能が無効にされ、ディスエーブル信号disrがLowレベルである場合にディスエーブル信号disrが非アクティブになり、更新部18の機能が有効にされる。更新部18は、タップ係数更新部181と、遅延回路182と、を備えている。
【0050】
遅延回路182は、タップ係数更新部181から出力されたタップ係数hrを1シンボル周期Tだけ遅延させ、遅延させたタップ係数hr’をタップ係数更新部181及び第2フィルタ部15に出力する。なお、タップ係数hr’は更新前のタップ係数ベクトルを示し、タップ係数hrは更新後のタップ係数ベクトルを示している。
【0051】
タップ係数更新部181は、ディスエーブル信号disrが非アクティブの場合に、例えば式(4)に示されるように、タップ係数hr’、誤差e(n−1)、及び、信号x(n−1)〜x(n−4)の共役複素数を用いて、タップ係数hrを算出する。つまり、タップ係数更新部181は、LMSアルゴリズムを用いて、ステップサイズμと、誤差e(n−1)と、信号x(n−m/2−1)の共役複素数との積を演算し、その演算結果とタップ係数hr’(m)とを加算することによって、タップ係数hr(m)を算出する。タップ係数更新部181は、更新されたタップ係数hrを遅延回路182に出力する。本実施形態では、mは0〜6の整数値である。なお、ここでは、一般的に振幅だけでなく位相の変調も伴うような変調信号について信号処理を行う場合を想定して説明したが、例えば、PAM4信号の場合には、位相変調を伴わないので、実際の計算としては各共役複素数の虚数部を0として実数部のみの計算(すなわち、実数の計算)を行えばよい。
【数4】
【0052】
更新部19は、タップ係数hfを更新する。ここで、タップ係数hfはタップ係数hf(0)〜hf(6)を含むベクトルである。更新部19は、誤差e(n−1)に基づいて、例えば既存のLMSアルゴリズムを用いてタップ係数hfを更新する。更新部19は、遷移状態検出部22によって検出された遷移状態が立ち下がりを示す場合、及び、遷移状態検出部22によって検出された遷移状態が遷移がないことを示す場合に、タップ係数hfを更新する。具体的には、更新部19は、切替部23から出力されたディスエーブル信号disfに基づいて、タップ係数hfを更新する。ディスエーブル信号disfは、更新部19にタップ係数hfの更新を行わせないように、更新部19(具体的には、タップ係数更新部191)の機能を無効にするための信号である。例えば、ディスエーブル信号disfがHighレベルである場合にディスエーブル信号disfがアクティブになり、更新部19の機能が無効にされ、ディスエーブル信号disfがLowレベルである場合にディスエーブル信号disfが非アクティブになり、更新部19の機能が有効にされる。更新部19は、タップ係数更新部191と、遅延回路192と、を備えている。
【0053】
遅延回路192は、タップ係数更新部191から出力されたタップ係数hfを1シンボル周期Tだけ遅延させ、遅延させたタップ係数hf’をタップ係数更新部191及び第2フィルタ部15に出力する。なお、タップ係数hf’は更新前のタップ係数ベクトルを示し、タップ係数hfは更新後のタップ係数ベクトルを示している。
【0054】
タップ係数更新部191は、ディスエーブル信号disfが非アクティブの場合に、例えば式(5)に示されるように、タップ係数hf’、誤差e(n−1)、及び、信号x(n−1)〜x(n−4)の共役複素数を用いて、タップ係数hfを算出する。つまり、タップ係数更新部191は、LMSアルゴリズムを用いて、ステップサイズμと、誤差e(n−1)と、信号x(n−m/2−1)の共役複素数との積を演算し、その演算結果とタップ係数hf’(m)とを加算することによって、タップ係数hf(m)を算出する。タップ係数更新部191は、更新されたタップ係数hfを遅延回路192に出力する。本実施形態では、mは0〜6の整数値である。なお、ここでは、一般的に振幅だけでなく位相の変調も伴うような変調信号について信号処理を行う場合を想定して説明したが、例えば、PAM4信号の場合には、位相変調を伴わないので、実際の計算としては各共役複素数の虚数部を0として実数部のみの計算(すなわち、実数の計算)を行えばよい。
【数5】
【0055】
誤差統計値計算部21は、誤差統計値srと誤差統計値sfとを計算する。誤差統計値srは、第2フィルタ部15においてタップ係数hrが選択された場合の誤差eに統計処理を行って得られる統計値である。誤差統計値sfは、第2フィルタ部15においてタップ係数hfが選択された場合の誤差eに統計処理を行って得られる統計値である。誤差統計値計算部21は、セレクタ211と、誤差統計部212と、誤差統計部213と、を備えている。
【0056】
セレクタ211は、誤差計算部17から出力された誤差eを入力し、入力した誤差eを誤差統計部212及び誤差統計部213のいずれかに出力する。セレクタ211は、例えば、1入力2出力のスイッチであり、切替部23から出力された選択信号SELに応じて、出力先を切り替える。セレクタ211は、例えば、選択信号SELがLowレベルの場合、誤差eを誤差統計部212に出力し、選択信号SELがHighレベルの場合、誤差eを誤差統計部213に出力する。
【0057】
誤差統計部212は、誤差統計値srを計算し、計算した誤差統計値srを切替部23に出力する。誤差統計部212は、例えば、セレクタ211を介して誤差eを入力するごとに、誤差統計値srを再計算する。誤差統計部212は、例えば、入力された誤差eの絶対値の移動平均、入力された誤差eの2乗値の移動平均等によって、誤差統計値srを計算する。誤差統計部212は、例えば、計算した誤差統計値srを記憶するためのFIFO(First-In First-Out)メモリ等の記憶装置を有していてもよい。
【0058】
誤差統計部213は、誤差統計値sfを計算し、計算した誤差統計値sfを切替部23に出力する。誤差統計部213は、例えば、セレクタ211を介して誤差eを入力するごとに、誤差統計値sfを再計算する。誤差統計部213は、例えば、入力された誤差eの絶対値の移動平均、入力された誤差eの2乗値の移動平均等によって、誤差統計値sfを計算する。誤差統計部213は、例えば、計算した誤差統計値sfを記憶するためのFIFOメモリ等の記憶装置を有していてもよい。
【0059】
遷移状態検出部22は、第1フィルタ部11から出力された出力信号y0に基づいて、出力信号y0の遷移状態を検出する。遷移状態検出部22によって検出される遷移状態は、立ち上がり状態、立ち下がり状態、及び遷移がない状態のいずれかである。遷移状態検出部22は、例えば、仮判定部12から出力されたシンボル判定値d0を用いて、出力信号y0の遷移状態を検出する。遷移状態検出部22は、シンボル判定値d0を所定の遅延量だけ遅延させてから出力信号y0の遷移状態を検出する。この例では、所定の遅延量は1シンボル周期Tである。遷移状態検出部22は、遅延回路221と、遅延回路222と、減算器223と、を備えている。
【0060】
遅延回路221は、仮判定部12から出力されたシンボル判定値d0(n)を1シンボル周期Tだけ遅延させ、遅延させたシンボル判定値d0(n−1)を遅延回路222及び減算器223に出力する。遷移状態検出部22によって遷移状態を検出するために用いられるシンボル判定値d0と、遷移状態の検出対象の出力信号yとのタイムスロットを合わせるために、遅延回路221の遅延量は、第2フィルタ部15の乗算器152aに入力される信号x(n−1)の入力信号x(n)に対する遅延量に等しい値に設定されている。つまり、第2フィルタ部15の乗算器152aに入力される信号の入力信号x(n)に対する遅延量が、例えば2Tである場合、遅延回路221の遅延量は2Tに設定される。
【0061】
遅延回路222は、遅延回路221から出力されたシンボル判定値d0(n−1)を1シンボル周期Tだけ遅延させ、遅延させたシンボル判定値d0(n−2)を減算器223に出力する。減算器223は、遅延回路221から出力されたシンボル判定値d0(n−1)から遅延回路222から出力されたシンボル判定値d0(n−2)を減算し、減算結果を遷移状態値として切替部23に出力する。この遷移状態値が正の値であることは、出力信号y0の遷移が立ち上がりの方向(正方向)であることを示し、遷移状態値が負の値であることは、出力信号y0の遷移が立ち下がりの方向(負方向)であることを示す。また、遷移状態値が0であることは、出力信号y0の遷移がないことを示す。
【0062】
切替部23は、遷移状態検出部22によって検出された遷移状態に応じて、選択信号SEL、ディスエーブル信号disr及びディスエーブル信号disfを出力する。切替部23は、例えば、誤差統計値計算部21から出力された誤差統計値sr及び誤差統計値sfと、遷移状態検出部22から出力された遷移状態値と、に基づいて、選択信号SEL、ディスエーブル信号disr及びディスエーブル信号disfを出力する。具体的に説明すると、切替部23は、遷移状態値が正の値である場合、セレクタ部151にタップ係数hrを選択させ、セレクタ211に誤差統計部212を出力先として選択させるように、選択信号SELを出力するとともに、更新部18にタップ係数hrの更新を行わせるために、ディスエーブル信号disrを非アクティブにし(「ディアサートする」ともいう。)、更新部19にタップ係数hfの更新を行わせないために、ディスエーブル信号disfをアクティブにする(「アサートする」ともいう。)。切替部23は、遷移状態値が負の値である場合、セレクタ部151にタップ係数hfを選択させ、セレクタ211に誤差統計部213を出力先として選択させるように、選択信号SELを出力するとともに、更新部18にタップ係数hrの更新を行わせないために、ディスエーブル信号disrをアクティブにし、更新部19にタップ係数hfの更新を行わせるために、ディスエーブル信号disfを非アクティブにする。
【0063】
切替部23は、遷移状態値が0である場合、誤差統計値sr及び誤差統計値sfのいずれが小さいかを判定する。切替部23は、誤差統計値srが小さいと判定した場合には、セレクタ部151にタップ係数hrを選択させ、セレクタ211に誤差統計部212を出力先として選択させるように、選択信号SELを出力する。切替部23は、誤差統計値sfが小さいと判定した場合には、セレクタ部151にタップ係数hfを選択させ、セレクタ211に誤差統計部213を出力先として選択させるように、選択信号SELを出力する。切替部23は、遷移状態値が0である場合、ディスエーブル信号disr及びディスエーブル信号disfをアクティブにしない。なお、セレクタ部151にタップ係数hrを選択させ、セレクタ211に誤差統計部212を出力先として選択させる場合、選択信号SELは例えばHighレベルに設定され、セレクタ部151にタップ係数hfを選択させ、セレクタ211に誤差統計部213を出力先として選択させる場合、選択信号SELは例えばLowレベルに設定される。
【0064】
次に、デジタルフィルタ1の動作を説明する。デジタルフィルタ1では、外部(例えば、前段の信号処理部)から入力信号x(n)が入力されると、第1フィルタ部11の遅延部111において、入力信号x(n)がシンボル周期Tの半周期ずつ遅延されて、信号(n−0.5)〜信号x(n−4)が生成される。そして、乗算部112において、信号x(n)〜信号x(n−3)がタップ係数h0(0)〜h0(6)とそれぞれ乗算され、加算部113において乗算部112の乗算結果の総和が演算されて、加算部113の演算結果が出力信号y0(n)として出力される。
【0065】
続いて、仮判定部12において、第1フィルタ部11から出力された出力信号y0(n)のシンボル判定が行われ、シンボル判定値d0(n)が出力される。そして、誤差計算部13において、仮判定部12から出力されたシンボル判定値d0(n)と、第1フィルタ部11から出力された出力信号y0(n)と、の誤差e0(n)が計算されて出力される。そして、更新部14において、誤差e0(n)に基づいてタップ係数h0が更新され、更新されたタップ係数h0が第1フィルタ部11に出力される。このタップ係数h0の更新は例えばLMSアルゴリズムを用いて行われる。
【0066】
また、遷移状態検出部22において、仮判定部12から出力されたシンボル判定値d0を用いて出力信号y0の遷移状態が検出される。具体的には、シンボル判定値d0(n)を1シンボル周期Tだけ遅延させたシンボル判定値d0(n−1)から、シンボル判定値d0(n)を2シンボル周期Tだけ遅延させたシンボル判定値d0(n−2)を減算した減算結果が遷移状態値として切替部23に出力される。
【0067】
そして、切替部23において、遷移状態に応じて選択信号SEL、ディスエーブル信号disr及びディスエーブル信号disfが出力される。具体的に説明すると、遷移状態値が立ち上がりを示す、つまり、遷移状態値が正の値である場合には、セレクタ部151にタップ係数hrを選択させ、セレクタ211に誤差統計部212を出力先として選択させるように、選択信号SELが出力されるとともに、更新部18にタップ係数hrの更新をさせるためにディスエーブル信号disrが非アクティブにされ、更新部19にタップ係数hfの更新をさせないためにディスエーブル信号disfがアクティブにされる。一方、遷移状態値が立ち下がりを示す、つまり、遷移状態値が負の値である場合、セレクタ部151にタップ係数hfを選択させ、セレクタ211に誤差統計部213を出力先として選択させるように、選択信号SELが出力されるとともに、更新部18にタップ係数hrの更新をさせないためにディスエーブル信号disrがアクティブにされ、更新部19にタップ係数hfの更新をさせるためにディスエーブル信号disfが非アクティブにされる。
【0068】
また、遷移状態値が遷移がないことを示す、つまり、遷移状態値が0である場合、誤差統計値sr及び誤差統計値sfのいずれが小さいかが判定される。そして、誤差統計値srが小さい場合には、セレクタ部151にタップ係数hrを選択させ、セレクタ211に誤差統計部212を出力先として選択させるように、選択信号SELが出力される。一方、誤差統計値sfが小さい場合には、セレクタ部151にタップ係数hfを選択させ、セレクタ211に誤差統計部213を出力先として選択させるように、選択信号SELが出力される。なお、遷移状態値が0である場合、ディスエーブル信号disr及びディスエーブル信号disfは非アクティブにされる。
【0069】
続いて、第2フィルタ部15のセレクタ部151において、選択信号SELに応じてタップ係数hr(0)〜hr(6)及びタップ係数hf(0)〜hf(6)のいずれかのタップ係数ベクトルが選択される。そして、乗算部152において、セレクタ部151によって選択されたタップ係数ベクトルがタップ係数h(0)〜h(6)として用いられ、信号x(n−1)〜信号x(n−4)とそれぞれ乗算される。そして、加算部153において乗算部152の乗算結果の総和が演算され、加算部153の演算結果が出力信号y(n−1)として出力される。この出力信号y(n−1)は、デジタルフィルタ1のイコライザ出力として外部(例えば、後段の信号処理部)に出力される。
【0070】
続いて、本判定部16において、第2フィルタ部15から出力された出力信号y(n−1)のシンボル判定が行われ、シンボル判定値d(n−1)が出力される。このシンボル判定値d(n−1)は、デジタルフィルタ1のシンボル判定結果として外部(例えば、後段の信号処理部)に出力される。そして、誤差計算部17において、本判定部16から出力されたシンボル判定値d(n−1)と、第2フィルタ部15から出力された出力信号y(n−1)と、の誤差e(n−1)が計算されて出力される。
【0071】
続いて、ディスエーブル信号disrが非アクティブである場合には、更新部18において、誤差e(n−1)に基づいてタップ係数hrが更新され、更新されたタップ係数hrが第2フィルタ部15に出力される。一方、ディスエーブル信号disfが非アクティブである場合には、更新部19において、誤差e(n−1)に基づいてタップ係数hfが更新され、更新されたタップ係数hfが第2フィルタ部15に出力される。このタップ係数hr及びタップ係数hfの更新は例えばLMSアルゴリズムを用いて行われる。
【0072】
また、誤差統計値計算部21において、選択信号SELに応じてセレクタ211の出力先が切り替えられ、誤差統計部212及び誤差統計部213のいずれかに誤差e(n−1)が出力される。誤差統計部212に誤差e(n−1)が出力された場合には、誤差統計値srが再計算され、再計算された誤差統計値srが切替部23に出力される。一方、誤差統計部213に誤差e(n−1)が出力された場合には、誤差統計値sfが再計算され、再計算された誤差統計値sfが切替部23に出力される。誤差統計値sr及び誤差統計値sfは、例えば、入力された誤差の絶対値の移動平均、入力された誤差の2乗値の移動平均等によって計算される。
【0073】
以上の一連の処理が、入力信号x(n)が入力されるごとに繰り返される。なお、このとき、ある信号zを適当なサンプリング周期にてサンプリングして得られる信号列をz(k)(kは正の整数)として、それについてイコライズを行う場合、例えば、ある周期kのz(k)が
図1及び
図2のx(n)としてデジタルフィルタ1に入力されたとすると、その次の周期k+1ではz(k+1)が同じくx(n)としてデジタルフィルタ1に入力されることになる。しかし、
図1及び
図2におけるn−0.5、n−1等はnを基準にした相対的な遅延を示しているので、x(n)、x(n−0.5)、x(n−1)等の実際の値は、信号列zが入力されるごとに入力された信号(例えば、z(k)、z(k+1))に応じて順次変化する。
【0074】
次に、
図4〜
図6を参照して、デジタルフィルタ1の作用効果を説明する。
図4は、比較例のデジタルフィルタにおける出力信号を説明するための図であり、
図4の(a)は比較例のデジタルフィルタにおける出力信号の時間変化の一例を示し、
図4の(b)は比較例のデジタルフィルタにおける出力信号の分布の一例を示す。
図5は、デジタルフィルタ1における出力信号を説明するための図であり、
図5の(a)はデジタルフィルタ1における出力信号の時間変化の一例を示し、
図5の(b)はデジタルフィルタ1における出力信号の分布の一例を示す。
図6は、比較例のデジタルフィルタにおける誤差の時間変化の一例とデジタルフィルタ1における誤差の時間変化の一例とを示す図であり、
図6の(a)は比較例のデジタルフィルタにおける誤差の時間変化の一例を示し、
図6の(b)はデジタルフィルタ1における誤差の時間変化の一例を示す。
図4の(a)及び
図5の(a)の横軸は10000シンボル周期を1単位として規格化された時間を示し、縦軸は隣接する2つのシンボル間の距離を1単位として規格化されたデジタルフィルタの出力値を示している。
図4の(b)及び
図5の(b)の横軸はヒストグラム区間に存在するシンボル数を示し、縦軸は
図4の(a)及び
図5の(b)と同様に規格化されたデジタルフィルタの出力値を示している。
図6の(a)及び
図6の(b)の横軸は10000シンボル周期を1単位として規格化された時間を示し、縦軸は隣接する2つのシンボル間の距離を1単位として計算されたエラー信号の値を示している。
【0075】
なお、比較例のデジタルフィルタとしては、デジタルフィルタ1の第1フィルタ部11、仮判定部12、誤差計算部13及び更新部14と同様の構成を備えるデジタルフィルタが用いられた。比較例のデジタルフィルタの出力信号は、第1フィルタ部11から出力される出力信号y0に相当し、比較例のデジタルフィルタの誤差は、誤差計算部13から出力される誤差e0に相当する。また、入力信号として、
図3の(b)に示されるような2つの互いに異なるシンボル値間の遷移に関して立ち上がりと立ち下がりとが非対称な入力信号が用いられた。
図6の(b)の黒のグラフは立ち上がりにおける誤差の時間変化を示し、グレーのグラフは立ち下がりにおける誤差の時間変化を示す。各グラフは、選択信号SELを用いて、誤差計算部17から出力された誤差eを、立ち上がりにおける誤差と立ち下がりにおける誤差とに分離して観測することによって得られた。なお、
図6の(b)は、黒のグラフの上にグレーのグラフを重ね書きした様子を示しており、実際にはグレーのグラフのみ見える部分にも黒のグラフの値は存在し得る。
【0076】
図4及び
図5に示されるように、デジタルフィルタ1では、比較例のデジタルフィルタと比較して、各シンボルに対する電圧値のばらつきが小さいことがわかる。また、
図6に示されるように、立ち上がりにおける誤差及び立ち下がりにおける誤差は同程度の大きさを有しており、いずれの誤差も比較例の誤差よりも大幅に小さくなっていることがわかる。
【0077】
以上のように、デジタルフィルタ1では、第1フィルタ部11からの出力信号y0に基づいて、出力信号y0の遷移状態が検出される。そして、検出された遷移状態が立ち上がりを示す場合にタップ係数hrが選択され、検出された遷移状態が立ち下がりを示す場合にタップ係数hfが選択され、選択されたタップ係数が用いられて入力信号xの信号処理が行われる。このため、入力信号xの立ち上がりと立ち下がりとが非対称であっても、立ち上がり時には立ち上がり用のタップ係数hrが用いられ、立ち下がり時には立ち下がり用のタップ係数hfが用いられるので、入力信号xに対して遷移状態に応じた適切な補償を行うことができる。その結果、出力信号yの誤差eを低減することができ、シンボル値の判定に係るノイズマージンの拡大が可能となる。
【0078】
また、デジタルフィルタ1は、タップ係数h0を更新する更新部14を備えることによって、タップ係数h0を微修正して収束させることができ、タップ係数h0の最適化が可能となる。
【0079】
また、デジタルフィルタ1では、更新部18は、遷移状態検出部22によって検出された遷移状態が立ち上がりを示す場合に、タップ係数hrを更新し、更新部19は、遷移状態検出部22によって検出された遷移状態が立ち下がりを示す場合に、タップ係数hfを更新する。このため、タップ係数hr及びタップ係数hfのうち遷移状態に対応したタップ係数が更新されるので、タップ係数hr及びタップ係数hfを微修正して収束させることができ、タップ係数hr及びタップ係数hfの最適化が可能となる。
【0080】
また、デジタルフィルタ1では、更新部18は、遷移状態検出部22によって検出された遷移状態が遷移がないことを示す場合に、タップ係数hrを更新し、更新部19は、遷移状態検出部22によって検出された遷移状態が遷移がないことを示す場合に、タップ係数hfを更新する。それによって、イコライズを行う変調信号が、同一のシンボル値が連続するような部分を有していても、直流的な振幅値の誤差を小さくするようにタップ係数を更新することができる。
【0081】
また、デジタルフィルタ1では、遷移状態検出部22は、仮判定部12から出力されたシンボル判定値d0を用いて、出力信号y0の遷移状態を検出している。出力信号y0は、シンボル判定値d0に対して誤差を有することがある。このため、同じシンボルに割り当てられた2つの出力信号y0であっても、異なる値を有することがあるので、出力信号y0を用いて遷移状態を検出した場合には、立ち上がり状態または立ち下がり状態のいずれかとして遷移状態が誤検出されるおそれがある。これに対し、同じシンボルに割り当てられた信号は同じシンボル判定値d0を有する可能性が高いので、シンボル判定値d0を用いることによって、遷移状態の検出精度を向上することができる。
【0082】
また、デジタルフィルタ1では、遷移状態検出部22は、シンボル判定値d0を所定の遅延量で遅延させて、出力信号y0の遷移状態を検出し、第2フィルタ部15は、入力信号xを上述の遅延量で遅延させた信号に対して信号処理を行って出力信号yを出力している。これにより、状態遷移の検出対象となる信号のタイムスロットと、第2フィルタ部15において信号処理される信号のタイムスロットと、を合わせることができる。このため、入力信号xに対して遷移状態に応じたより適切な補償を行うことができる。その結果、出力信号yの誤差eをさらに低減することができ、シンボル値の判定に係るノイズマージンのさらなる拡大が可能となる。
【0083】
また、デジタルフィルタ1では、第2フィルタ部15は、遷移状態検出部22によって検出された遷移状態が遷移がないことを示し、かつ、誤差統計値srが誤差統計値sfよりも小さい場合に、タップ係数hrを選択し、遷移状態検出部22によって検出された遷移状態が遷移がないことを示し、かつ、誤差統計値sfが誤差統計値srよりも小さい場合に、タップ係数hfを選択する。このように、遷移がない場合には、誤差統計値sr及び誤差統計値sfのいずれか小さい方の誤差統計値に対応するタップ係数が用いられる。このため、遷移がない場合でも、出力信号yの誤差eを低減することができ、ノイズマージンのさらなる拡大が可能となる。
【0084】
また、デジタルフィルタ1では、第2フィルタ部15は、切替部23から出力された選択信号SELに基づいて、タップ係数hr及びタップ係数hfのいずれかを選択している。このため、第2フィルタ部15の構成を簡単化することが可能となる。
【0085】
このように、デジタルフィルタ1は、タップ係数h0、タップ係数hr及びタップ係数hfの3系統のタップ係数ベクトルを有するアダプティブイコライザである。1系統のタップ係数ベクトル(タップ係数h0)は、第1フィルタ部11を一般的なアダプティブイコライザとして動作させ、第1フィルタ部11の出力信号y0に基づいて、出力信号yの遷移状態を検出するために用いられる。残りの2系統のタップ係数ベクトルの各タップ位置は、第1フィルタ部11の入力信号列である信号x(n)〜x(n−3)に対して1シンボル周期T遅れた入力信号列である信号x(n−1)〜x(n−4)に対応しており、遷移状態検出部22により検出されたイコライザ出力(出力信号y)の遷移有無及び遷移方向に基づいて残りの2系統のタップ係数が更新されるかどうかが切り替えられる。つまり、タップ係数hrは、イコライザ出力の遷移が立ち下がり方向(負方向)の場合は更新されず、イコライザ出力の遷移がない場合及びイコライザ出力の遷移が立ち上がり方向(正方向)の場合にのみ更新される。また、タップ係数hfは、イコライザ出力の遷移が立ち上がり方向の場合は更新されず、イコライザ出力の遷移がない場合及びイコライザ出力の遷移が立ち下がり方向の場合にのみ更新される。そして、第2フィルタ部15では、イコライザ出力の遷移があった場合には、タップ係数hr及びタップ係数hfのうち更新された方の1シンボル周期T前のタップ係数を用いて、イコライザ出力が算出され、遷移がなかった場合には、過去の誤差統計値sr及び誤差統計値sfのうち小さい方の誤差統計値に対応するタップ係数の1シンボル周期T前のタップ係数を用いて、イコライザ出力が算出される。
【0086】
なお、本発明に係るデジタルフィルタは上記実施形態に限定されない。例えば、デジタルフィルタ1は、更新部14、更新部18及び更新部19を備えている必要はない。つまり、タップ係数h0、タップ係数hr及びタップ係数hfは予め設定されていてもよく、タップ係数h0、タップ係数hr及びタップ係数hfの更新は必ずしも必要ではない。
【0087】
また、遷移状態検出部22は、シンボル判定値d0に基づいて遷移状態を検出しているが、出力信号y0に基づいて遷移状態を検出してもよい。
【0088】
また、第2フィルタ部15は、信号x(n−1)に限られず、入力信号xを所定の遅延量で遅延させた信号に対して信号処理を行って出力信号yを出力してもよい。このとき、遷移状態検出部22は、シンボル判定値d0を上述の遅延量で遅延させて、出力信号yの遷移状態を検出する。つまり、遷移状態の検出対象となるシンボル判定値d0のタイムスロットと、第2フィルタ部15における信号処理の対象となる信号のタイムスロットと、は同じにされる。
【0089】
また、遅延回路111a〜111hの遅延量は、デジタルフィルタ1のインパルス応答の時間分解能に対応し、タップ係数h0、タップ係数hr及びタップ係数hfはインパルス応答のプロファイルとなる。このため、遅延回路111a〜111hの遅延量は、シンボル周期Tの半分(T/2)に限られない。
【0090】
また、シンボル判定値と出力信号との誤差が最小となるようにタップ係数ベクトルはアダプティブに更新されるのが一般的であるが、遅延回路142の遅延量、遅延回路182の遅延量、及び遅延回路192の遅延量は、いずれも1シンボル周期Tに限られない。