(57)【要約】  入力データ（２１）の並び替えを実行して並替データ（３１）を出力するデータ並替手段（１１）と、特定時刻に入力した並替データ（３１）を処理して中間データを生成する中間データ計算手段（１２）と、中間データを用いて特定時刻における第１の出力値を計算するフィルタ出力第一計算手段（１３）と、中間データ計算手段（１２）及びフィルタ出力第一計算手段（１３）における処理時間だけ並替データ（３１）を遅延させる遅延手段（１５）と、遅延手段（１５）及びフィルタ出力第一計算手段（１３）からの出力値を入力し、特定時刻以外の時刻における第２の出力値を計算し、第１及び第２の出力値を合わせたフィルタ出力値を出力するフィルタ出力第二計算手段（１４）と、を備えるデジタルフィルタ装置（１）とする。その結果、非線形補償で使用されるデジタルフィルタの性能を損なわずに回路規模を削減し、非線形補償をＬＳＩで実現することが可能となる。
2014196180.tif 000002
【特許請求の範囲】
【請求項１】
入力データの並び替えを実行して並替データを出力するデータ並替手段と、
特定時刻に入力した前記並替データを処理して中間データを生成する中間データ計算手段と、
前記中間データを用いて前記特定時刻における第１の出力値を計算するフィルタ出力第一計算手段と、
前記中間データ計算手段及び前記ファイル出力第一計算手段における処理時間だけ前記並替データを遅延させる遅延手段と、
前記遅延手段及び前記フィルタ出力第一計算手段からの出力値を入力し、前記特定時刻以外の時刻における第２の出力値を計算し、前記第１及び第２の出力値を合わせたフィルタ出力値を出力するフィルタ出力第二計算手段と、を備えることを特徴とするデジタルフィルタ装置。
【請求項２】
前記データ並替手段は、
複数のデータを格子状にまとめたフレームを構成する前記入力データの異なる行にある前記データのうち同じ列にある前記データを同時刻に入力し、
前記入力データの行及び列の数を変更せずに前記フレームを構成する前記入力データの列と行を入れ替える並び替え処理を実行し、
前記中間データ計算手段は、
前記特定時刻において、前記並替データの同じ列の異なる行にある複数の前記データを用いて前記中間データを計算することを特徴とする請求項１に記載のデジタルフィルタ装置。
【請求項３】
前記データ並替手段は、
複数のデータを格子状にまとめたフレームを構成する前記入力データの異なる行にある前記データのうち同じ列にある前記データを同時刻に入力し、
前記データ並替手段が有する並替回路の数に合わせるように前記入力データの行の数を変更し、
前記フレームを構成する前記入力データの列と行を入れ替える並び替え処理を実行し、
前記中間データ計算手段は、
前記特定時刻において、前記並替データの同じ列の異なる行にある複数の前記データを用いて前記中間データを計算することを特徴とする請求項１に記載のデジタルフィルタ装置。
【請求項４】
前記フィルタ出力第一計算手段は、
入力信号を変数とする差分方程式を用いて前記第１の出力値を計算し、
前記フィルタ出力第二計算手段は、
前記差分方程式から導出される漸化式を用いて前記第２の出力値を計算することを特徴とする請求項１乃至３のいずれか一項に記載のデジタルフィルタ装置。
【請求項５】
前記並替データを構成する前記フレームは、Ｌ列Ｍ行（Ｌ、Ｍ：自然数）の行列であり、
インパルス応答が、
2014196180.tif 000047
ただし、
ｎ：データ番号
ｈ［ｎ］：インパルス応答
Ｎ：自然数
なる式であり、
前記中間データ計算手段は、
2014196180.tif 000048
ただし、
ｋ：整数
Ｔ［ｎ］：データ番号ｎにおける中間データ
ｘ［ｎ］：データ番号ｎにおける入力信号
なる式で前記中間データを算出し、
前記フィルタ出力第一計算手段は、
2014196180.tif 000049
なる式で前記第１の出力値を計算し、
前記フィルタ出力第二計算手段は、
2014196180.tif 000050
なる式で前記第２の出力値を計算することを特徴とする請求項１乃至４のいずれか一項に記載のデジタルフィルタ装置。
【請求項６】
前記並替データを構成する前記フレームは、Ｌ列Ｍ行（Ｌ、Ｍ：自然数）の行列であり、
インパルス応答が、
2014196180.tif 000051
ただし、
ａ：０より大きく、１より小さい実数
ｎ：データ番号
ｈ［ｎ］：インパルス応答
Ｎ：自然数
なる式であり、
前記中間データ計算手段は、
2014196180.tif 000052
ただし、
ｋ：整数
Ｔ［ｎ］：データ番号ｎにおける中間データ
ｘ［ｎ］：データ番号ｎにおける入力信号
なる式で前記中間データを算出し、
前記フィルタ出力第一計算手段は、
2014196180.tif 000053
なる式で前記第１の出力値を計算し、
前記フィルタ出力第二計算手段は、
2014196180.tif 000054
なる式で前記第２の出力値を計算することを特徴とする請求項１乃至４のいずれか一項に記載のデジタルフィルタ装置。
【請求項７】
前記並替データを構成する前記フレームは、Ｌ列Ｍ行（Ｌ、Ｍ：自然数）の行列であり、
インパルス応答が、
2014196180.tif 000055
ただし、
ａ：０より大きく、１より小さい実数
ｎ：データ番号
ｈ［ｎ］：インパルス応答
Ｎ：自然数
なる式であり、
前記中間データ計算手段は、
2014196180.tif 000056
及び、
2014196180.tif 000057
ただし、
ｋ：整数
Ｓ［ｎ］：データ番号ｎにおける第１の中間データ
Ｔ［ｎ］：データ番号ｎにおける第２の中間データ
ｘ［ｎ］：データ番号ｎにおける入力信号
なる式で前記中間データを算出し、
前記フィルタ出力第一計算手段は、
2014196180.tif 000058
ただし、
2014196180.tif 000059
2014196180.tif 000060
なる式で前記第１の出力値を計算することを特徴とする請求項１乃至４のいずれか一項に記載のデジタルフィルタ装置。
【請求項８】
前記フィルタ出力第二計算手段は、
前記Ａ［ｎ］を、
2014196180.tif 000061
なる漸化式から求め、
前記Ｂ［ｎ］を、
2014196180.tif 000062
なる漸化式から求めることを特徴とする請求項７に記載のデジタルフィルタ装置。
【請求項９】
前記フィルタ出力第二計算手段は、
前記Ａ［ｎ］を計算するタイミングを調整する第一遅延調整手段と、
前記Ｂ［ｎ］を計算するタイミングを調整する第二遅延調整手段と、を含み、
前記Ａ［ｎ］を、
2014196180.tif 000063
なる漸化式から求め、
前記Ｂ［ｎ］を、
2014196180.tif 000064
なる漸化式から求めることを特徴とする請求項７に記載のデジタルフィルタ装置。
【請求項１０】
入力データの並び替えを実行して並替データを出力し、
特定時刻に入力した前記並替データを処理して中間データを生成し、
前記中間データを用いて前記特定時刻における第１の出力値を計算し、
前記中間データ及び前記第１の出力値を算出する処理時間だけ前記並替データを遅延させ、
遅延させた前記並べ替えデータ及び前記第１の出力値を入力し、前記特定時刻以外の時刻における第２の出力値を計算し、前記第１及び第２の出力値を合わせたフィルタ出力値を出力することを特徴とする信号処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルフィルタ装置及びデジタルフィルタの信号処理方法に関し、特に光デジタルコヒーレント送受信器に用いられるデジタルフィルタに関する。
【背景技術】
【０００２】
近年、光通信の分野では、通信路で発生する様々な歪をデジタル信号処理技術で補償可能とするデジタルコヒーレント光通信技術が注目されている。通信路で発生する歪である非線形歪は、主に光の強度が強い場合に、分極が光の電界に比例しなくなることから生じる。非線形歪には、自身の光の強度により位相が変化する自己位相変調、波長分割多重などによる別の光により位相が変化する相互位相変調、２つ以上の光が相互作用して新しい光を発生させる四光波混合などがある。【０００３】
現在、研究開発が進められている光通信の速度は１００Ｇｂｐｓを越える一方、デジタル信号処理部は数ＧＨｚ程度でしか動作させることができない（Ｇｂｐｓ：Ｇｉｇａｂｉｔｓ  ｐｅｒ  ｓｅｃｏｎｄ、ＧＨｚ：Ｇｉｇａｈｅｒｔｚ）。すなわち、光通信は、デジタル信号処理と比べて１００倍程度速い。光通信とデジタル信号処理との速度差を埋めるためには、並列に並べられた入力信号の数だけ同じデジタル信号処理を行う回路を並べる必要がある。【０００４】
例えば、複素乗算器一つで済む処理であっても、光通信とデジタル信号処理との速度差を吸収するためには、複素乗算器を１００個並べる必要があり、その回路規模は数Ｍゲート程度になる。高速な信号処理を行うＬＳＩでは、たった一つの複素乗算器であってもその回路規模は数Ｍゲートとなり、すぐにＬＳＩの設計限界を超えてしまう（ＬＳＩ：Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）。そのため、高速な信号処理を行うＬＳＩでは回路規模を削減することが重要な課題となる。【０００５】
図１１には、一般的なＦＩＲフィルタ１１０の一例を示した（ＦＩＲ：Ｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ）。【０００６】
図１１のＦＩＲフィルタ１１０は、遅延器群１１１と、乗算器群１１３と、加算器群１１５と、によって構成される。遅延器群１１１は、複数の遅延器（１１１−１、１１１−２、１１１−３、・・・、１１１−Ｎ−１）からなる（Ｎは２以上の自然数）。乗算器群１１３は、複数の乗算器（１１３−１、１１３−２、・・・、１１３−Ｎ−１、１１３−Ｎ）からなる。また、加算器群１１５は、複数の加算器（１１５−１、１１５−２、・・・、１１５−Ｎ−２、１１５−Ｎ−１）からなる。【０００７】
図１１に示したＦＩＲフィルタ１１０では、１タップを実現するのに一つの乗算器を必要とするため、非線形補償で求められるデジタルフィルタは数１００個の乗算器を必要とする。そのため、光デジタルコヒーレント送受信器のような高速ＬＳＩにおいてデジタルフィルタの回路規模は数１００Ｍゲート規模になる。【０００８】
また、図１２には、一般的なＩＩＲフィルタ１２０の一例を示した（ＩＩＲ：Ｉｎｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ）。【０００９】
図１２のＩＩＲフィルタ１２０は、遅延器群１２１と、第１の乗算器群１２３と、第２の乗算器群１２４と、第１の加算器群１２５と、第２の加算器群１２６と、によって構成される。遅延器群１２１は、複数の遅延器（１２１−１、１２１−２、・・・、１２１−Ｎ）からなる。第１の乗算器群１２３は、複数の乗算器（１２３−１、・・・、１２３−Ｎ−１、１２３−Ｎ）からなる。第２の乗算器群１２４は、複数の乗算器（１２４−１、１２４−２、・・・、１２４−Ｎ、１２４−Ｎ＋１）からなる。第１の加算器群１２５は、複数の加算器（１２５−１、１２５−２、・・・、１２５−Ｎ）からなる。第２の加算器群１２６は、複数の加算器（１２６−１、１２６−２、・・・、１２６−Ｎ）からなる。【００１０】
図１２に示すＩＩＲフィルタ１２０によれば、ＦＩＲフィルタよりも少ない数の乗算器で良い振幅特性のフィルタを実現することができる。【００１１】
図１３は、ａ［１］のみが非零となり、ａ［１］以外は全て０となるＩＩＲフィルタを、２つの信号が並列に入力されるシステムで実現した構成例である。図１３のＩＩＲフィルタ１３０は、加算器１３１及び１３３と、乗算器１３２及び１３４と、遅延器１３５と、を含む。【００１２】
また、非線形歪を補償する有効な手法の一つとして、通信路で発生する歪の順番を逆から補償していくバックプロパゲーション法（Ｂａｃｋ  Ｐｒｏｐａｇａｔｉｏｎ）と呼ばれる手法がある。バックプロパゲーション法には、非特許文献１のように自己位相変調のみを補償する方法や、非特許文献２のように自己位相変調だけでなく別偏波の相互位相変調も補償する方法がある。
【先行技術文献】
【非特許文献】
【００１３】
【非特許文献１】Ｌ．Ｄｕ  ａｎｄ  Ａ．Ｌｏｗｅｒｙ、ｉｎ  Ｏｐｔｉｃｓ  Ｅｘｐｒｅｓｓ、Ｖｏｌ．１８、Ｎｏ．１６，Ａｕｇ．ｐｐ．１７０７５−１７０８８（２０１０）
【非特許文献２】Ｗ．Ｙａｎ、ｅｔ  ａｌ、ＯＦＣ２０１１、ｐａｐｅｒ  Ｔｕ．３．Ａ．２．
【発明の概要】
【発明が解決しようとする課題】
【００１４】
図１１に示したＦＩＲフィルタ１１０のように回路規模が増加すると、ＬＳＩの単価・消費電力・歩留まりなどに問題が生じるため、一般的なＦＩＲフィルタでは、ＬＳＩを実現することは困難である。【００１５】
また、図１２に示すようなＩＩＲフィルタ１２０は、フィードバック型の構成をしているため、並列に信号が入力されるフィルタを実現することが困難である。図１３に示したように、ＩＩＲフィルタを用いて並列に入力された信号のフィルタを構成することはできるものの、ＬＳＩの中で一番遅延量が大きいパスクリティカルパス１３６（点線）は２並列分となり、高速に動作させることはできない。すなわち、１００Ｇｂｐｓ超の光通信を処理するＬＳＩは、その信号処理量ゆえに高速動作が求められるが、ＩＩＲフィルタの場合はそれを達成できないという課題がある。【００１６】
また、デジタルフィルタのタップ長は、通信路の長さや光の強度、ファイバの種類など様々なパラメータに依存する。非特許文献１及び２などに示されたバックプロパゲーション法は、長距離伝送光通信システムにおいて有効であるものの、そのタップ長は数１００タップとなってしまい、やはりＬＳＩの回路規模が大きくなるという課題がある。【００１７】
本発明は、上記課題を解決することを目的とするものであり、非線形補償で使用されるデジタルフィルタの性能を損なわずに回路規模を削減し、非線形補償をＬＳＩで実現することが可能となるデジタルフィルタ装置を提供することにある。
【課題を解決するための手段】
【００１８】
本発明のデジタルフィルタ装置は、入力データの並び替えを実行して並替データを出力するデータ並替手段と、特定時刻に入力した並替データを処理して中間データを生成する中間データ計算手段と、中間データを用いて特定時刻における第１の出力値を計算するフィルタ出力第一計算手段と、中間データ計算手段及びファイル出力第一計算手段における処理時間だけ並替データを遅延させる遅延手段と、遅延手段及びフィルタ出力第一計算手段からの出力値を入力し、特定時刻以外の時刻における第２の出力値を計算し、第１及び第２の出力値を合わせたフィルタ出力値を出力するフィルタ出力第二計算手段と、を備える。【００１９】
本発明の信号処理方法においては、入力データの並び替えを実行して並替データを出力し、特定時刻に入力した並替データを処理して中間データを生成し、中間データを用いて特定時刻における第１の出力値を計算し、中間データ及び第１の出力値を算出する処理時間だけ並替データを遅延させ、遅延させた並べ替えデータ及び第１の出力値を入力し、特定時刻以外の時刻における第２の出力値を計算し、第１及び第２の出力値を合わせたフィルタ出力値を出力する。
【発明の効果】
【００２０】
本発明によれば、非線形補償で使用されるデジタルフィルタの性能を損なわずに回路規模を削減し、非線形補償をＬＳＩで実現することが可能となるデジタルフィルタ装置を得ることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態の概要に係るデジタルフィルタ装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態に係るデータ並替手段に入力するデータの一例である。
【図３】本発明の第１の実施形態に係るデータ並替手段から出力するデータの一例である。
【図４】本発明の第１の実施形態に係る中間データ計算手段を実現する回路の構成例である。
【図５】本発明の第１の実施形態に係るフィルタ出力第二計算手段を実現する回路の構成例である。
【図６】本発明の第２の実施形態に係る中間データ計算手段を実現する回路の構成例である。
【図７】本発明の第２の実施形態に係るフィルタ出力第二計算手段を実現する回路の構成例である。
【図８】本発明の第３の実施形態に係るフィルタ出力第二計算手段を実現する回路の構成例である。
【図９】本発明の第３の実施形態に係るデータ並替手段から出力するデータの一例である。
【図１０】本発明の第４の実施形態に係るフィルタ出力第二計算手段を実現する回路の構成例である。
【図１１】一般的なＦＩＲデジタルフィルタの構成図の一例である。
【図１２】一般的なＩＩＲデジタルフィルタの構成図の一例である。
【図１３】２並列構成とした一般的なＩＩＲデジタルフィルタの構成図の一例である。
【発明を実施するための形態】
【００２２】
以下に、本発明を実施するための形態について図面を用いて説明する。ただし、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
【００２３】
まず、本発明の実施形態の概要に係るデジタルフィルタ装置について、図１を参照して詳細に説明する。
【００２４】
図１を参照すると、本発明の実施形態の概要に係るデジタルフィルタ装置１は、データ並替手段１１と、中間データ計算手段１２と、フィルタ出力第一計算手段１３と、フィルタ出力第二計算手段１４と、遅延手段１５と、を備えている。
【００２５】
データ並替手段１１は、入力データの並び替えを行う。なお、並び替えた入力データのことを並替データと呼ぶ。データ並替手段１１は、中間データ計算手段１２及び遅延手段１５に並替データを出力する。
【００２６】
例えば、データ並替手段１１は、１フレームがＬ列×Ｍ行で構成されたデータ群を入力データとして入力した際に、行方向に整列されたデータを列方向に整列するように並び替え、入力データとはデータ配列が異なるＬ列×Ｍ行のデータ群に変換する。また、データ並替手段１１は、１フレームがＬ列×Ｍ行で構成されたデータ群を入力した際に、並替データの先頭方向を末尾方向に向けるように並び替えてもよい。
【００２７】
また、データ並替手段１１は、自身が有する並替回路の数に合わせて行数を変更した並替データを生成してもよい。データ並替手段１１が有する並替回路の数に合わせて行数を変更した並替データを用いれば、並替回路を効率的に利用することができる。
【００２８】
なお、データ並替手段１１によるデータの並べ替え方法はここであげた例に限らず、後段の構成要素において計算処理しやすいようなデータの配列となるように並び替えればよい。少なくとも、データ並替手段１１は、中間データ計算手段１２が中間データを計算しやすいような配列にデータを並び替えればよい。
【００２９】
ここで、データ番号ｎのデータのインパルス応答ｈ［ｎ］を、特定の時間範囲では非零であり、その他の時間範囲では０であると仮定する（ｎ：整数）。インパルス応答ｈ［ｎ］が連続している場合、インパルス応答ｈ［ｎ］の長さが上述の特定の範囲となる。なお、インパルス応答ｈ［ｎ］は、連続していない範囲で非零であってもよい。すなわち、インパルス応答ｈ［ｎ］が非零である時刻が離散していてもよい。
【００３０】
フィルタ出力ｙ［ｎ］は、入力信号をｘ［ｎ］とする差分方程式で表現できる。また、差分方程式は、特定時刻前後のフィルタ出力及び入力信号を用いた漸化式の形で表現することができる。なお、漸化式は、遅延手段１５の構成が大きくならなくて済むように、必要に応じて近似式としてもよい。
【００３１】
中間データ計算手段１２は、特定時刻において同時に処理するデータに対して、特定の数値ごとに区切った中間データを計算する。なお、特定時刻は、インパルス応答が非零となる時刻に含まれる時刻である。また、中間データの区切りは、中間データ計算手段１２に入力する並替データの行数と同じに設定すればよい。
【００３２】
例えば、中間データ計算手段１２において特定時刻に同時に処理するデータとしては、データ群の同じ列にあるＭ個のデータを選択すればよい。その場合、中間処理データ計算手段１２は、入力されたデータのうち、Ｍ個飛びのデータを処理することになる。
【００３３】
すなわち、中間データ計算手段１２は、デジタルフィルタ装置１の部分的な値を計算することになる。例えば、中間データ計算手段１２は、インパルス応答が非零となる時刻に含まれる特定時刻のデータに対してのみ、デジタルフィルタ装置１の出力値を算出するための中間データを計算する。中間データ計算手段１２は、フィルタ出力第一計算手段１３に計算した中間データを出力する。
【００３４】
フィルタ出力第一計算手段１３は、中間データ計算手段１２によって計算された中間データを用いて、特定時刻のデジタルフィルタ装置１の出力値（第１の出力値）を計算する。
【００３５】
例えば、Ｌ列×Ｍ行のデータ群が入力された場合、フィルタ出力第一計算手段１３は、中間データ計算手段１２に特定時刻に入力されたＭ個飛びのデータについてデジタルフィルタ装置１の出力値を計算することになる。
【００３６】
遅延手段１５は、中間データ計算手段１２が中間データを計算し、フィルタ出力第一計算手段１３が第１の出力値を計算する時間だけ入力データを遅延させるとともに、フィルタ出力第二計算手段１４で必要とする入力データを適切なタイミングで供給する。遅延手段１５による遅延時間は、中間データ計算手段１２の回路長・処理性能やフィルタ出力第二計算手段１４の計算順序などによって決定される。
【００３７】
フィルタ出力第二計算手段１４は、遅延手段１５が遅延させた並替データと、フィルタ出力第一計算手段１３が算出したデジタルフィルタ装置１の出力値と、を入力する。フィルタ出力第二計算手段１４は、フィルタ出力第一計算手段１３によって処理されていない時刻のデータについて、差分方程式から求められる漸化式を用いてデジタルフィルタ装置１の出力値を計算する。例えば、特定時刻における出力値と、特定時刻以外の時刻における出力値と、を漸化式の形で設定しておけば、その漸化式を用いて特定時刻以外の時刻における出力値（第２の出力値）を計算できる。
【００３８】
フィルタ出力第二計算手段１４は、特定時刻における出力値（第１の出力値）と、特定時刻以外の時刻における出力値（第２の出力値）を合わせてフィルタ出力として出力する。
【００３９】
以上のように、本発明の実施形態に係るデジタルフィルタ装置では、まず、データ並替手段によって、入力されたデータを並び替え、そのデータを中間データ計算手段と遅延手段とに分配する。中間データ計算手段は、特定時刻に入力されたデータを中間データに変換し、フィルタ出力第一計算手段は、その中間データを用いてフィルタ出力を計算する。そして、フィルタ出力第二出力手段は、特定時間以外に入力されたデータと中間データを用いて計算されたフィルタ出力とを、漸化式によって計算し、フィルタ出力を出力する。そのため、本実施形態に係るデジタルフィルタ装置によれば、一般的なデジタルフィルタ装置と比較して少ない計算処理によってフィルタ出力を得ることができ、回路規模を削減することができる。
【００４０】
言い換えると、特定時刻において飛び飛びのフィルタ出力値を計算するときは演算を共通化し、特定時刻以外の時刻におけるフィルタ出力値は、それ以前のサイクルで求めた飛び飛びのファイル出力値から漸化式を用いて求めることができる。そのため、非線形補償で使用されるデジタルフィルタの性能を損なわずに回路規模を削減し、非線形補償をＬＳＩで実現することが可能となるデジタルフィルタを得ることができる。
【００４１】
また、本発明の実施形態に係るデジタルフィルタ装置によれば、通信路で発生する歪のうち、これまでＬＳＩでは補償できなかった非線形歪を補償することができる。
【００４２】
なお、本発明の実施形態に係るデジタルフィルタ装置による信号処理方法及びその信号処理方法を用いたプログラムも本発明の範囲に含まれるものである。
【００４３】
以下において、本実施形態に係るデジタルフィルタ装置について、具体的な数値を加えた実施形態をあげて詳細に説明する。
【００４４】
（第１の実施形態）
まず、本発明の第１の実施形態に係るデジタルフィルタ装置について説明する。なお、第１の実施形態に係るデジタルフィルタ装置の構成は、図１に示したデジタルフィルタ装置１の構成をとる。なお、第１の実施形態においては、１フレームがＬ列×Ｍ行のデータからなるデータ群を入力する例において、Ｌ列として３２列、Ｍ行として１２８行というように具体的な数値として説明する。
【００４５】
データ並替手段１１は、図２のように並列に入力された入力データ２１を、図３のような配列の並替データ３１に並び替える。
【００４６】
なお、入力データ２１の上方に示した数字は時刻を表す。ある時刻において、データ並替手段１１には、入力データ２１において同じ列にあるデータが入力される。
【００４７】
通常ＡＤＣから出力されたデータは、図２に示した入力データ２１のように、１２８個のデータが並列して入力される（ＡＤＣ：Ａｎａｌｏｇ  Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ）。なお、本発明の実施形態に係るデジタルフィルタ装置に入力するデータは、１２８個以外の数のデータを並列で入力してもよく、数値範囲を限定することはない。
【００４８】
図２の入力データ２１において、０は０番目のデータ、１は１番目のデータ、・・・、４０９５は４０９５番目のデータを表している。
【００４９】
例えば、入力データ２１において、時刻１において入力されるデータは０、１、２、・・・、１２６、１２７番目のデータであり、時刻２において入力されるデータは１２８、１２９、１３０、・・・、２５４、２５５番目のデータである。
【００５０】
データ並替手段１１は、例えば、４０９６個（＝３２列×１２８行）のデータを１フレームとして扱い、図３の並替データ３１となるように、クロックサイクルごとにデータが並ぶように並び替える。なお、本実施形態においては、フレームの行数と列数を変更しない。
【００５１】
ここで、図２及び図３に示した各データ群の一番上の行に注目する。データ並替手段１１は、図２の入力データ２１のように０、１２８、２５６、・・・のような１２８飛びの配列であったものを、図３の並替データ３１のように０、１、２、・・・というような本来のデータの並びに並び替える。一方で、時刻１では、０、３２、６４、・・・と３２飛びの配列のデータが並列して出力される。すなわち、本実施形態に係るデータ並替手段１１は、列方向に並んでいた入力データ２１を、行方向に並び替えた並替データ３１に変換して出力する。
【００５２】
非特許文献１にあるようなバックプロパゲーション法においては、線形補償部、非線形補償部が交互に処理される。そして、線形補償部は一般的には周波数ドメインで処理されるため、ＦＦＴ、乗算処理、ＩＦＦＴのように構成される（ＦＦＴ：Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ、ＩＦＦＴ：Ｉｎｖｅｒｓｅ  Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）。
【００５３】
一般に、並列で動作するＩＦＦＴの出力データは、図３の並替データ３１のように出力されるため、非線形補償部におけるデジタルフィルタ装置ではデータ並替手段１１は不要となる。すなわち、非特許文献１のようなバックプロパゲーション法においては、ＩＦＦＴの出力をそのまま利用することができる。
【００５４】
次に、中間データ計算手段１２、フィルタ出力第一計算手段１３、フィルタ出力第二計算手段１４の動作について、具体的な数式を用いて説明する。
【００５５】
例えば、デジタルフィルタ装置のインパルス応答ｈ［ｎ］を式１のように仮定する。
2014196180.tif 000003
【００５６】
このとき、フィルタ出力ｙ［ｎ］は、入力信号をｘ［ｎ］とすると式２のような差分方程式で表現できる。なお、式２中のｋは整数である。
2014196180.tif 000004
【００５７】
式２から得られるｙ［ｎ］とｙ［ｎ−１］の展開式において、ｙ［ｎ］とｙ［ｎ−１］の差をとり、ｙ［ｎ−１］を左辺から右辺に移項すると、式３の漸化式が得られる。
2014196180.tif 000005
【００５８】
式３において、ｘ［ｎ］及びｘ［ｎ−２５６］には入力信号の値をそのまま代入すればよく、ｙ［ｎ−１］には既に求められたフィルタ出力を代入すればよい。例えば、ｙ［ｎ−１］に第１の出力値を代入して第２の出力値であるｙ［ｎ］を計算する。次に入力されたｘ［ｎ］については、既に算出した第２の出力値であるｙ［ｎ］をｙ［ｎ−１］として式３に代入すれば、次の第２の出力値を得ることができる。よって、式３の漸化式を用いれば、特定時刻以外の時刻に入力されるデータについて、特定時刻に入力されたデータの第１の出力値を用いて、第２の出力値を漸次的に計算することができる。
【００５９】
ここで、式２の差分方程式を展開し、３２個ごとの和に分割すると、式４のように表現できる。なお、同一時刻において入力するデータが３２個であるため、式２においては３２個ごとの和に分割している。
2014196180.tif 000006
【００６０】
ここで、中間データとして、中間変数Ｔ［ｎ］を式５のように定義する。
2014196180.tif 000007
【００６１】
ｙ［ｎ］は、中間変数Ｔ［ｎ］を用いると、式６のように表現できる。
2014196180.tif 000008
【００６２】
例えば、ｎ−３２における出力値はｙ［ｎ−３２］とすればよく、ｎ−６４における出力値はｙ［ｎ−６４］とすればよい。
【００６３】
本実施形態において、中間データ計算手段１２は、式５に示した中間変数Ｔ［ｎ］を計算する。中間データ計算手段１２は、例えば、図４のように、加算器４１と遅延器４２とを備える構成の回路４０として実現できる。
【００６４】
フィルタ出力第一計算手段１３は、式６を用いて、中間変数Ｔ［ｎ］から特定時刻におけるフィルタ出力値（第１の出力値）ｙ［ｎ］、ｙ［ｎ−３２］、・・・を計算する。また、フィルタ出力第二計算手段１４は、図５のように、減算器５１と、加算器５２と、遅延器５３と、を備える回路５０によって実現できる。
【００６５】
そして、フィルタ出力第二計算手段１４は、フィルタ出力第一計算手段１３及び遅延手段１５の出力データ（第１の出力値及び並替データ）を入力する。フィルタ出力第二計算手段１４は、入力したフィルタ出力第一計算手段１３及び遅延手段１５の出力データに式３の漸化式を適用し、インパルス応答の範囲に含まれる特定時刻以外の時刻におけるフィルタ出力値（第２の出力値）ｙ［ｎ］を計算する。すなわち、フィルタ出力第二計算手段１４は、ｙ［ｎ−１］、ｙ［ｎ−２］、・・・、ｙ［ｎ−３１］、ｙ［ｎ−３３］、・・・を計算する。
【００６６】
以上の具体的な数値で示した説明を、Ｌ列×Ｍ行（Ｌ、Ｍは自然数）のフレームを有する並替データに適用するには、以下のような数式（式７〜１１）を用いればよい。ただし、以下の数式中のＮは自然数である。
【００６７】
式７はインパルス応答の式であり、式１に相当する。
2014196180.tif 000009
【００６８】
式８は差分方程式であり、式２に相当する。
2014196180.tif 000010
【００６９】
式９は中間データを算出するための式であり、式５に相当する。
2014196180.tif 000011
【００７０】
式１０は特定時刻における出力値（第１の出力値）を計算するための式であり、式６に相当する。
2014196180.tif 000012
【００７１】
式１１は、特定時刻以外の時刻における出力値（第２の出力値）を計算するための漸化式であり、式３に相当する。
2014196180.tif 000013
【００７２】
以上のような数式（式７〜１１）を用いれば、Ｌ列×Ｍ行のフレームを有する並替データからフィルタ出力値を計算することができる。
【００７３】
次に、第１の実施形態に係るデジタルフィルタ装置の効果について説明する。
【００７４】
一般に、１２８個のデータが並列で入力される入力データ２１に関して、式２で示されるような計算を直接的に実現しようとすると、３２６４０個（＝２５５×１２８個）の加算器が必要になる。
【００７５】
それに対し、本発明の第１の実施形態に係るデジタルフィルタ装置では、中間データ計算手段１２によるＴ［ｎ］の計算では１２８個（＝１×１２８個）の加算器を必要とする。また、フィルタ出力第一計算手段１３は８９６個（＝７×１２８個）の加算器を必要とし、フィルタ出力第二計算手段１４は２５６個（＝２×１２８個）の加算器を必要とする。すなわち、本発明の第１の実施形態に係るデジタルフィルタ装置は、合計すると１２８０個（＝１０×１２８個）の加算器で構成でき、一般的な構成の回路と比較して、回路の規模を約１／２５に削減することができる。
【００７６】
以上のように、本発明の第１の実施形態に係るデジタルフィルタ装置では、一般的なデジタルフィルタ装置と比較して回路規模を削減することができる。第１の理由は、特定時刻における離散したフィルタ出力値を計算するときは、必要な演算を共通化させることで求めるからである。第２の理由は、特定時刻以外の時刻におけるフィルタ出力値は、その前のサイクルで求めた離散したファイル出力値を用いて、漸化式によって求めるからである。
【００７７】
また、本発明の第１の実施形態に係るデジタルフィルタ装置によれば、通信路で発生する歪のうち、これまでＬＳＩでは補償できなかった非線形歪を補償することができる。
【００７８】
また、これまでの光通信においては、光強度を下げて非線形歪の影響が少ない範囲で通信する必要があったために、中継器の数が増加して敷設コストが増加するという課題があった。本発明の第１の実施形態に係るデジタルフィルタ装置によれば、上述の敷設コストが増加するという課題を解決することができ、デジタルフィルタ装置の性能を損なわない非線形補償を実現できる。
【００７９】
なお、本発明は、非線形補償におけるデジタルフィルタ装置の構成や、非線形補償におけるフィルタ装置に限定されるものではなく、デジタルフィルタ装置一般、さらにはデジタルフィルタ装置を含む信号処理装置に利用可能なものである。
【００８０】
（第２の実施形態）
次に、本発明の第２の実施形態に係るデジタルフィルタ装置について説明する。なお、第２の実施形態に係るデジタルフィルタ装置の構成は、図１に示した第１の実施形態に係るデジタルフィルタ装置と同じである。なお、第２の実施形態においても、１フレームがＬ列×Ｍ行のデータからなるデータ群を入力する例において、Ｌ列として３２列、Ｍ行として１２８行というように具体的な数値として説明する。
【００８１】
第２の実施形態は、デジタルフィルタ装置のインパルス応答ｈ［ｎ］が式１２で表せる場合の例である。ただし、式１２において、ａは０よりも大きく、１よりも小さい実数である（ａ：実数：０＜ａ＜１）。
2014196180.tif 000014
【００８２】
第２の実施形態において、データ並替手段１１及び遅延手段１５の動作は、第１の実施形態と同様である。
【００８３】
第２の実施形態に係るデジタルフィルタ装置の中間データ計算手段１２、フィルタ出力第一計算手段１３、フィルタ出力第二計算手段１４の動作について、第１の実施形態と同様に具体的な数式を用いて説明する。
【００８４】
このとき、フィルタ出力ｙ［ｎ］は、入力信号をｘ［ｎ］とすると式１３のような差分方程式の形で表現できる。
2014196180.tif 000015
【００８５】
式１３から得られるｙ［ｎ］とｙ［ｎ−１］の展開式において、ｙ［ｎ］とａ×ｙ［ｎ−１］の差をとり、ａ×ｙ［ｎ−１］を左辺から右辺に移項すると、式１４の漸化式が得られる。
2014196180.tif 000016
【００８６】
式１３を３２個ごとの和に分割すると、式１５のように書ける。
2014196180.tif 000017
【００８７】
ここで、式１５の右辺の各項を中間データである中間変数Ｔ［ｎ］として式１６のように定義する。
2014196180.tif 000018
【００８８】
ｙ［ｎ］は、中間変数Ｔ［ｎ］を用いると、式１７のように表現できる。
2014196180.tif 000019
【００８９】
第２の実施形態において、中間データ計算手段１２は、式１６で示した中間変数Ｔ［ｎ］を計算する。中間データ計算手段１２は、図６のように、加算器６１と、遅延器６２と、乗算器６３と、を備える回路６０によって実現される。
【００９０】
フィルタ出力第一計算手段１３は、式１７を用いて、中間変数Ｔ［ｎ］から特定時刻におけるフィルタ出力値（第１の出力値）ｙ［ｎ］、ｙ［ｎ−３２］、・・・を計算する。また、フィルタ出力第二計算手段１４は、図７のように、減算器７１と、乗算器７２と、加算器７３と、乗算器７４と、遅延器７５と、を備える回路７０によって実現される。
【００９１】
そして、フィルタ出力第二計算手段１４は、フィルタ出力第一計算手段１３及び遅延手段１５の出力データ（第１の出力値及び並替データ）を入力する。フィルタ出力第二計算手段１４は、入力したフィルタ出力第一計算手段１３及び遅延手段１５の出力データに式１４の漸化式を適用し、特定時刻以外の時刻におけるフィルタ出力値（第２の出力値）ｙ［ｎ］を計算する。
【００９２】
以上の具体的な数値で示した説明を、Ｌ列×Ｍ行のフレームを有する並替データに適用するには、以下のような数式（式１８〜２２）を用いればよい。ただし、Ｎは自然数である。
【００９３】
式１８はインパルス応答の式であり、式１２に相当する。
2014196180.tif 000020
【００９４】
式１９は差分方程式であり、式１５に相当する。
2014196180.tif 000021
【００９５】
式２０は中間データを算出するための式であり、式１６に相当する。
2014196180.tif 000022
【００９６】
式２１は特定時刻における出力値（第１の出力値）を計算するための式であり、式１７に相当する。
2014196180.tif 000023
【００９７】
式２２は、特定時刻以外の時刻における出力値（第２の出力値）を計算するための漸化式であり、式１４に相当する。
2014196180.tif 000024
【００９８】
以上のような数式（式１８〜２２）を用いれば、Ｌ列×Ｍ行のフレームを有する並替データからフィルタ出力値を計算することができる。
【００９９】
次に、第２の実施の形態に係るデジタルフィルタ装置の効果について説明する。
【０１００】
一般に、式７で示すインパルス応答をＦＩＲデジタルフィルタ装置で実現する場合、Ｎ個の乗算器、２Ｎ−１個の加算器、Ｎ−１個の遅延器から構成される。一般には、デジタルフィルタ装置の回路規模は乗算器が支配的であるため、乗算器のみで考えると、１２８並列、２５６タップを直接的に実現する場合３２７６８個（＝１２８×２５６個）の乗算器が必要になる。
【０１０１】
それに対し、本発明の第２の実施形態に係るデジタルフィルタ装置では、中間データ計算手段１２によるＴ［ｎ］の計算では１２８個（＝１×１２８個）の乗算器を必要とする。また、フィルタ出力第一計算手段１３は８９６個（＝７×１２８個）の乗算器を必要とし、フィルタ出力第二計算手段１４は２５６個（＝２×１２８個）の乗算器を必要とする。すなわち、本発明の第２の実施形態に係るデジタルフィルタ装置は、合計１２８０個（＝１０×１２８個）の乗算器で構成でき、一般的な構成の回路と比較して、回路の規模を約１／２４に削減することができる。
【０１０２】
なお、第２の実施形態に係るデジタルフィルタ装置では、遅延手段１５を実現するメモリが別途必要となるが、一般的には遅延手段１５を実現するメモリの数が乗算器削減量を上回ることはない。
【０１０３】
以上のように、本発明の第２の実施形態に係るデジタルフィルタ装置では、第１の実施形態に係るデジタルフィルタ装置と同様に、一般的なデジタルフィルタ装置と比較して回路規模を削減することができる。
【０１０４】
また、第１の実施形態に係るデジタルフィルタ装置では、インパルス応答が式１のようなものに限られたが、第２の実施形態に係るデジタルフィルタ装置によれば、式７に示したようなインパルス応答についても計算を実行することができる。
【０１０５】
（第３の実施形態）
次に、本発明の第３の実施形態に係るデジタルフィルタ装置について説明する。なお、第３の実施形態に係るデジタルフィルタ装置の構成は、図１に示した第１の実施形態に係るデジタルフィルタ装置と同じである。なお、第３の実施形態においても、１フレームがＬ列×Ｍ行のデータからなるデータ群を入力する例において、Ｌ列として３２列、Ｍ行として１２８行というように具体的な数値として説明する。
【０１０６】
第３の実施形態は、デジタルフィルタ装置のインパルス応答ｈ［ｎ］が式２３で表せる場合の例である。ただし、式２３において、ａは０よりも大きく、１よりも小さい実数である（ａ：実数：０＜ａ＜１）。
2014196180.tif 000025
【０１０７】
なお、データ並替手段１１は、図３に示した並替データ３１の他に、図９に示した並替データ９１を出力する。並替データ９１は、並替データ３１の入力順序を逆順にしたデータである。
【０１０８】
第３の実施形態において、遅延手段１５の動作は第１の実施形態と同様であり、入力データを遅らせるだけである。
【０１０９】
第３の実施形態に係るデジタルフィルタ装置の中間データ計算手段１２、フィルタ出力第一計算手段１３、フィルタ出力第二計算手段１４の動作について説明する。
【０１１０】
このとき、フィルタ出力ｙ［ｎ］は、入力信号をｘ［ｎ］とすると式２４のような差分方程式で表現できる。
2014196180.tif 000026
【０１１１】
ここで、式２４の右辺の第一項をＡ［ｎ］、第二項をＢ［ｎ］とする。
【０１１２】
式２４の右辺第一項のＡ［ｎ］から得られるＡ［ｎ］とＡ［ｎ−１］の展開式において、ａ×Ａ［ｎ］とＡ［ｎ−１］の差をとると、式２５の上段のような漸化式で表現できる。なお、式２５の下段の式は、上段の漸化式においてＡ［ｎ−１］を左辺から右辺に移項した式である。実際には、式２５の下段の漸化式を用いる。
2014196180.tif 000027
【０１１３】
同様に、式２４の右辺第二項から得られるＢ［ｎ］とＢ［ｎ−１］の展開式において、Ｂ［ｎ］とａ×Ｂ［ｎ−１］の差をとると、式２６の上段のような漸化式で表現できる。なお、式２６の下段の式は、上段の漸化式においてａ×Ｂ［ｎ−１］を左辺から右辺に移項した式である。実際には、式２６の下段の漸化式を用いる。
2014196180.tif 000028
【０１１４】
式２５において、ａの２５５乗はほぼ０であるため、ａの２５５乗の項を削除した近似式を使用している。また、式２６においても同様に、ａの２５６乗の項を削除した近似式を示している。なお、この近似は必ずしも行わなくてもよいが、式２５で近似を用いていないと、ｙ［ｎ］の計算時にｘ［ｎ＋２５５］が必要となり、２５５が３２の倍数でないため別の遅延手段が必要になってしまう。そのため、式２５及び式２６のように近似することが好ましい。
【０１１５】
ここで、第１及び第２の実施形態と同様に、Ａ［ｎ］を３２ずつに分割すると、式２７のように表現できる。
2014196180.tif 000029
【０１１６】
ここで、中間データとして、中間変数Ｓ［ｎ］を式２８のように定義する。
2014196180.tif 000030
【０１１７】
Ａ［ｎ］は、式２９のように中間変数Ｓ［ｎ］を用いて表現できる。
2014196180.tif 000031
【０１１８】
また、Ａ［ｎ］と同様に、Ｂ［ｎ］を３２ずつに分割すると、式３０のように表現できる。
2014196180.tif 000032
【０１１９】
ここで、中間データとして、中間変数Ｔ［ｎ］を式３１のように定義する。
2014196180.tif 000033
【０１２０】
Ｂ［ｎ］は、式３２のように中間変数Ｔ［ｎ］を用いて表現できる。
2014196180.tif 000034
【０１２１】
式２４より、ｙ［ｎ］＝Ａ［ｎ］＋Ｂ［ｎ］であるため、ｙ［ｎ］、ｙ［ｎ−３２］、・・・、ｙ［ｎ−２２４］は、Ａ［ｎ］、Ａ［ｎ−３２］、・・・、Ａ［ｎ−２２４］、Ｂ［ｎ］、Ｂ［ｎ−３２］、・・・、Ｂ［ｎ−２２４］、ｘ［ｎ］を用いて計算可能であることが分かる。
【０１２２】
第３の実施形態において、中間データ計算手段１２は、式２８及び式３１で示すように中間変数Ｓ［ｎ］及びＴ［ｎ］を計算する。なお、中間データ計算手段１２は、図６の回路６０を２個用いて実現でき、Ｓ［ｎ］及びＴ［ｎ］を計算できる。Ｔ［ｎ］は、並替データ３１を用いて計算され、Ｓ［ｎ］は、並替データ９１を用いて計算される。
【０１２３】
また、フィルタ出力第一計算手段１３は、式２９及び式３２を用いて中間変数Ｓ［ｎ］、Ｔ［ｎ］から特定時刻におけるフィルタ出力値（第１の出力値）ｙ［ｎ］、ｙ［ｎ−３２］、・・・をそのまま計算することができる。
【０１２４】
さらに、フィルタ出力第二計算手段１４は、フィルタ出力第一計算手段１３及び遅延手段１５の出力データ（第１の出力値及び並替データ）を入力し、式２５及び式２６を用いて、特定の時刻以外の時刻におけるフィルタ出力値（第２の出力値）ｙ［ｎ］を計算する。なお、フィルタ出力第二計算手段１４は、図８のように、減算器８１と、乗算器８２と、遅延器８３と、加算器８４と、乗算器８５と、遅延器８６と、加算器８７と、を備える回路８０として実現される。
【０１２５】
以上の具体的な数値で示した説明を、Ｌ列×Ｍ行のフレームを有する並替データに適用するには、以下のような数式（式３３〜４３）を用いればよい。ただし、Ｎは自然数である。
【０１２６】
式３３はインパルス応答の式であり、式２３に相当する。
2014196180.tif 000035
【０１２７】
式３４は差分方程式であり、式２４に相当する。
2014196180.tif 000036
【０１２８】
ここで、式３４の右辺の第一項を式３５のようにＡ［ｎ］、第二項を式３６のようにＢ［ｎ］とする。
2014196180.tif 000037
【０１２９】
2014196180.tif 000038
【０１３０】
式３７及び式３８は第１の中間データＳ［ｎ］及び第２の中間データＴ［ｎ］を算出するための式であり、式２８及び式３１に相当する。
2014196180.tif 000039
【０１３１】
2014196180.tif 000040
【０１３２】
式３９及び式４０は、Ａ［ｎ］及びＢ［ｎ］を計算するための式であり、式２９及び式３１に相当する。
2014196180.tif 000041
【０１３３】
2014196180.tif 000042
【０１３４】
式４１は特定時刻における出力値（第１の出力値）を計算するための式である。
2014196180.tif 000043
【０１３５】
式４２及び式４３は、特定時刻以外の時刻における出力値（第２の出力値）を計算するための漸化式であり、式２５及び式２６の下段の式と同じ式である。
2014196180.tif 000044
【０１３６】
2014196180.tif 000045
【０１３７】
以上のような数式（式３３〜４３）を用いれば、Ｌ列×Ｍ行のフレームを有する並替データからフィルタ出力値を計算することができる。
【０１３８】
次に、第３の実施形態に係るデジタルフィルタ装置の効果について説明する。
【０１３９】
一般に、式１３で示すインパルス応答をＦＩＲデジタルフィルタ装置で実現する場合、Ｎ／２個の乗算器、２Ｎ−１個の加算器、Ｎ−１個の遅延器から構成される。なお、Ｎが奇数の場合、乗算器はＮ／２＋０．５個となる。このとき、デジタルフィルタ装置の回路規模は乗算器が支配的であるため、１２８並列、５１３タップを直接的に実現しようとすると、３２７６８個（＝１２８×２５６個）の乗算器が必要になる。
【０１４０】
それに対し、本発明の第３の実施形態に係るデジタルフィルタ装置では、中間データ計算手段１２（Ｓ［ｎ］、Ｔ［ｎ］の計算）では２５６個（＝２×１２８個）の乗算器を必要とする。また、フィルタ出力第一計算手段１３は、１７９２個（＝２×７×１２８個）の乗算器を必要とし、フィルタ出力第二計算手段１４は、２５６個（＝２×１２８個）の乗算器を必要とする。すなわち、本発明の第３の実施形態に係るデジタルフィルタ装置は、合計２３０４個（＝１８×１２８個）の乗算器で構成でき、一般的な構成の回路と比較して、回路の規模を約１／１４に削減することができる。
【０１４１】
なお、第３の実施形態に係るデジタルフィルタ装置では、遅延手段１５を実現するメモリが２つ必要となるが、一般的には遅延手段１５を実現するメモリの数が乗算器削減量を上回ることはない。
【０１４２】
本発明の第１〜３の実施形態において、インパルス応答の長さを２５６としたり、１フレームの長さを４０９６にしているのは分かりやすさを重視したりした結果である。そのため、インパルス応答の長さや１フレームの長さは、必要に応じて変更することができ、本発明の範囲を上述の数値に限定するものではない。
【０１４３】
（第４の実施形態）
次に、本発明の第４の実施形態に係るデジタルフィルタ装置について説明する。なお、第４の実施形態に係るデジタルフィルタ装置の構成は第３の実施形態に係るデジタルフィルタ装置と同じであり、フィルタ出力第二計算手段及び遅延手段の動作以外は第３の実施形態と同じである。
【０１４４】
第４の実施形態に関わるデジタルフィルタ装置のフィルタ出力第二計算手段及び遅延手段の動作について説明する。フィルタ出力ｙ［ｎ］は、入力信号をｘ［ｎ］とすると、第３の実施形態で示した式２４のような差分方程式で表現できる。
【０１４５】
第３の実施形態で示した式２４の右辺第一項のＡ［ｎ］から得られるＡ［ｎ］とＡ［ｎ−１］の展開式において、ａ×Ａ［ｎ］とＡ［ｎ−１］の差をとると、式４４の上段のような漸化式で表現できる。なお、式４４の下段の式は、上段の漸化式においてＡ［ｎ−１］を左辺から右辺に移項した式である。実際には、式４４の下段のように近似した漸化式を用いる。
2014196180.tif 000046
【０１４６】
第３の実施形態のように、式２４の差分方程式から求めた式２５の下段に示した漸化式のように、１より大きい数である１／ａを図８のようにループして使用すると、丸め誤差が常に１／ａ倍され、いずれは無限大に発散してしまう。そのため、計算精度を向上するため、式４４の下段の漸化式を用いてＡ［ｎ］を計算する。この場合、丸め誤差は常にａ倍されるために無限大に発散することはない。
【０１４７】
また、式４４において、ａの２５５乗はほぼ０であるため、ａの２５５乗の項を削除した近似式を使用している。この近似は必ずしも行わなくてもよいが、式４４で近似を用いないと、ｙ［ｎ］の計算時にｘ［ｎ＋２５５］が必要となり、２５５が３２の倍数でないため別の遅延手段が必要になってしまう。そのため、式４４及び式２６のように近似することが好ましい。
【０１４８】
さらに、フィルタ出力第二計算手段１４は、フィルタ出力第一計算手段１３及び遅延手段１５の出力データを入力し、式４４及び式２６を用いて、特定の時刻以外の時刻におけるフィルタ出力値（第２の出力値）ｙ［ｎ］を計算する。
【０１４９】
ただし、式４４では、例えば、Ａ［３１］を計算する場合、Ａ［３１］＝ａＡ［３２］＋ｘ［３２］で計算するためにｘ［３２］が必要となる。同様に、Ａ［３０］は、Ａ［３０］＝ａＡ［３１］＋ｘ［３１］で計算するためにｘ［３１］が必要となり、Ａ［２９］は、Ａ［２９］＝ａＡ［３０］＋ｘ［３０］で計算するためにｘ［３０］が必要となる。すなわち、Ａ［３１］、Ａ［３０］、Ａ［２９］、・・・を計算する際に、ｘ［３２］、ｘ［３１］、ｘ［３０］、・・・などといった逆順のデータ（ｎが大きい項）が必要となる。
【０１５０】
そのため、遅延手段１５は、図３に示した並替データ３１の他に、図９に示した並替データ９１も同様に遅延させてから、フィルタ出力第二計算手段１４に供給することでこの課題を解決する。
【０１５１】
また、Ａ［ｎ］を逆順に計算する都合上、例えばＡ［３１］は時刻１に、Ａ［３０］は時刻２に計算され、一方のＢ［３１］は時刻３１にＡ［３０］は時刻３０に出力されるので、その時刻を調整した上でフィルタ出力値ｙ［ｎ］を計算する必要がある。そのため、フィルタ出力第二計算手段１４は、そのタイミングを調整する第一遅延調整手段１０１と、第二遅延調整手段１０２と、を含む回路１００で実現される（図１０）。なお、図１０の回路１００は、図８の回路８０における乗算器８２を乗算器１０３に入れ替え、第一遅延調整手段１０１及び第二遅延調整手段１０２を追加した以外は、回路８０と同様の構成である。
【０１５２】
第４の実施形態では、式２６を式４４とする以外は、第３の実施形態と同様の計算によって、第１の出力値及び第２の出力値を算出する。すなわち、第４の実施形態をＬ列×Ｍ行のフレームを有する並替データに適用するには、第３の実施形態で示した式３３〜４３において、式４３を式４４の下段の式に入れ替えさえすればよい。Ａ［ｎ］とＢ［ｎ］を計算するタイミングは、第一遅延調整手段１０１及び第二遅延調整手段１０２によって調整される。
【０１５３】
次に、第４の実施形態に係るデジタルフィルタ装置の効果について説明する。
【０１５４】
第４の実施形態に係るデジタルフィルタ装置では、第３の実施形態と同じように、回路規模を約１／１４に削減することができる。さらに、ループ回数が多い場合は、第３の実施形態より精度良くフィルタ出力を計算することができる。一方、別途第一遅延調整手段１０１、第二遅延調整手段１０２などを必要とするが、一般的には、それらが乗算器削減量を上回ることはない。
【０１５５】
本発明の第１〜４の実施形態において、インパルス応答の長さを２５６としたり、１フレームの長さを４０９６にしているのは分かりやすさを重視したりした結果である。そのため、インパルス応答の長さや１フレームの長さは、必要に応じて変更することができ、本発明の範囲を上述の数値に限定するものではない。
【０１５６】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１５７】
この出願は、２０１３年６月３日に出願された日本出願特願２０１３−１１６７６０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１５８】
本発明の実施形態に係るデジタルフィルタ装置は、光デジタルコヒーレント通信の非線形補償に適用することができる。また、本発明の実施形態に係るデジタルフィルタ装置に関する技術は、音声処理、画像処理、無線通信など、デジタルフィルタ装置を利用するシステムであれば適用可能である。
【符号の説明】
【０１５９】
１    デジタルフィルタ装置
１１    データ並替手段
１２    中間データ計算手段
１３    フィルタ出力第一計算手段
１４    フィルタ出力第二計算手段
１５    遅延手段
２１    入力データ
３１、９１    並替データ
４０、５０、６０、７０、８０、１００    回路
４１、５２、６１、７３、８４、８７    加算器
４２、５３、６２、７５、８３、８６    遅延器
５１、７１、８１    減算器
６３、７２、７４、８２、８５、１０３    乗算器
１０１    第一遅延調整手段
１０２    第二遅延調整手段
１１０    ＦＩＲフィルタ
１１１    遅延器群
１１３    乗算器群
１１５    加算器群
１２０、１３０    ＩＩＲフィルタ
１２１    遅延器群
１２３    第１の乗算器群
１２４    第２の乗算器群
１２５    第１の加算器群
１２６    第２の加算器群
１３１    加算器
１３２    乗算器
１３５    遅延器
【図１】
2014196180.tif 000065
【図２】
2014196180.tif 000066
【図３】
2014196180.tif 000067
【図４】
2014196180.tif 000068
【図５】
2014196180.tif 000069
【図６】
2014196180.tif 000070
【図７】
2014196180.tif 000071
【図８】
2014196180.tif 000072
【図９】
2014196180.tif 000073
【図１０】
2014196180.tif 000074
【図１１】
2014196180.tif 000075
【図１２】
2014196180.tif 000076
【図１３】
2014196180.tif 000077
【手続補正書】
【提出日】平成26年10月31日(2014.10.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力データの並び替えを実行して並替データを出力するデータ並替手段と、
特定時刻に入力した前記並替データを処理して中間データを生成する中間データ計算手段と、
前記中間データを用いて前記特定時刻における第１の出力値を計算するフィルタ出力第一計算手段と、
前記中間データ計算手段及び前記フィルタ出力第一計算手段における処理時間だけ前記並替データを遅延させる遅延手段と、
前記遅延手段及び前記フィルタ出力第一計算手段からの出力値を入力し、前記特定時刻以外の時刻における第２の出力値を計算し、前記第１及び第２の出力値を合わせたフィルタ出力値を出力するフィルタ出力第二計算手段と、を備えることを特徴とするデジタルフィルタ装置。
【請求項２】
前記データ並替手段は、
複数のデータを格子状にまとめたフレームを構成する前記入力データの異なる行にある前記データのうち同じ列にある前記データを同時刻に入力し、
前記入力データの行及び列の数を変更せずに前記フレームを構成する前記入力データの列と行を入れ替える並び替え処理を実行する請求項１に記載のデジタルフィルタ装置。
【請求項３】
前記データ並替手段は、
複数のデータを格子状にまとめたフレームを構成する前記入力データの異なる行にある前記データのうち同じ列にある前記データを同時刻に入力し、
前記データ並替手段が有する並替回路の数に合わせるように前記入力データの行の数を変更し、
前記フレームを構成する前記入力データの列と行を入れ替える並び替え処理を実行する請求項１に記載のデジタルフィルタ装置。
【請求項４】
前記フィルタ出力第一計算手段は、
入力信号を変数とする差分方程式を用いて前記第１の出力値を計算し、
前記フィルタ出力第二計算手段は、
前記差分方程式から導出される漸化式を用いて前記第２の出力値を計算することを特徴とする請求項１乃至３のいずれか一項に記載のデジタルフィルタ装置。
【請求項５】
前記並替データは、Ｌ列Ｍ行（Ｌ、Ｍ：自然数）の行列であり、
インパルス応答が、
2014196180.tif 000078
ただし、
ｎ：データ番号
ｈ［ｎ］：インパルス応答
Ｎ：自然数
なる式であり、
前記中間データ計算手段は、
2014196180.tif 000079
ただし、
ｋ：整数
Ｔ［ｎ］：データ番号ｎにおける中間データ
ｘ［ｎ］：データ番号ｎにおける入力信号
なる式で前記中間データを算出し、
前記フィルタ出力第一計算手段は、
2014196180.tif 000080
なる式で前記第１の出力値を計算し、
前記フィルタ出力第二計算手段は、
2014196180.tif 000081
なる式で前記第２の出力値を計算することを特徴とする請求項１乃至４のいずれか一項に記載のデジタルフィルタ装置。
【請求項６】
前記並替データは、Ｌ列Ｍ行（Ｌ、Ｍ：自然数）の行列であり、
インパルス応答が、
2014196180.tif 000082
ただし、
ａ：０より大きく、１より小さい実数
ｎ：データ番号
ｈ［ｎ］：インパルス応答
Ｎ：自然数
なる式であり、
前記中間データ計算手段は、
2014196180.tif 000083
ただし、
ｋ：整数
Ｔ［ｎ］：データ番号ｎにおける中間データ
ｘ［ｎ］：データ番号ｎにおける入力信号
なる式で前記中間データを算出し、
前記フィルタ出力第一計算手段は、
2014196180.tif 000084
なる式で前記第１の出力値を計算し、
前記フィルタ出力第二計算手段は、
2014196180.tif 000085
なる式で前記第２の出力値を計算することを特徴とする請求項１乃至４のいずれか一項に記載のデジタルフィルタ装置。
【請求項７】
前記並替データは、Ｌ列Ｍ行（Ｌ、Ｍ：自然数）の行列であり、
インパルス応答が、
2014196180.tif 000086
ただし、
ａ：０より大きく、１より小さい実数
ｎ：データ番号
ｈ［ｎ］：インパルス応答
Ｎ：自然数
なる式であり、
前記中間データ計算手段は、
2014196180.tif 000087
及び、
2014196180.tif 000088
ただし、
ｋ：整数
Ｓ［ｎ］：データ番号ｎにおける第１の中間データ
Ｔ［ｎ］：データ番号ｎにおける第２の中間データ
ｘ［ｎ］：データ番号ｎにおける入力信号
なる式で前記中間データを算出し、
前記フィルタ出力第一計算手段は、
2014196180.tif 000089
ただし、
2014196180.tif 000090
なる式で前記第１の出力値を計算することを特徴とする請求項１乃至４のいずれか一項に記載のデジタルフィルタ装置。
【請求項８】
前記フィルタ出力第二計算手段は、
前記Ａ［ｎ］を、
2014196180.tif 000091
なる漸化式から求め、
前記Ｂ［ｎ］を、
2014196180.tif 000092
なる漸化式から求めることを特徴とする請求項７に記載のデジタルフィルタ装置。
【請求項９】
前記フィルタ出力第二計算手段は、
前記Ａ［ｎ］を計算するタイミングを調整する第一遅延調整手段と、
前記Ｂ［ｎ］を計算するタイミングを調整する第二遅延調整手段と、含み、
前記Ａ［ｎ］を、
2014196180.tif 000093
なる漸化式から求め、
前記Ｂ［ｎ］を、
2014196180.tif 000094
なる漸化式から求めることを特徴とする請求項７に記載のデジタルフィルタ装置。
【請求項１０】
入力データの並び替えを実行して並替データを出力し、
特定時刻に入力した前記並替データを処理して中間データを生成し、
前記中間データを用いて前記特定時刻における第１の出力値を計算し、
前記中間データ及び前記第１の出力値を算出する処理時間だけ前記並替データを遅延させ、
遅延させた前記並替データ及び前記第１の出力値を入力し、前記特定時刻以外の時刻における第２の出力値を計算し、前記第１及び第２の出力値を合わせたフィルタ出力値を出力することを特徴とする信号処理方法。
【国際調査報告】
2014196180.tif 000095
2014196180.tif 000096
2014196180.tif 000097
2014196180.tif 000098