(57)【要約】［課題］オーバーラップＦＤＥ方式などの周波数領域におけるフィルタ処理において、回路規模および消費電力を小さくすることが可能なデジタルフィルタ回路およびデジタルフィルタ制御方法を提供する。［解決手段］本発明によるデジタルフィルタ回路は、Ｎ個のデータからなるブロックを直前のブロックとＭ個のデータだけオーバーラップさせるオーバーラップ付加手段と、生成したブロックをＦＦＴ処理で変換するＦＦＴ手段と、変換したブロックに対してフィルタ処理を行うフィルタ演算手段と、フィルタ処理したブロックをＩＦＦＴ処理で変換するＩＦＦＴ手段と、変換したブロックの両端からＭ個のデータを除去するオーバーラップ除去手段と、オーバーラップ付加手段の出力部とＦＦＴ手段とフィルタ演算手段とＩＦＦＴ手段とオーバーラップ除去手段の入力部を駆動するフィルタ処理クロック信号の周波数を、Ｍの値に基づいて設定するクロック生成手段と、を備える。
2012086262.tif 000002
【特許請求の範囲】
【請求項１】
時間領域上の入力データから、Ｎ個のデータ（Ｎは正整数）からなるブロックを、直前のブロックとはＭ個のデータ（Ｍは正整数）だけオーバーラップさせて生成するオーバーラップ付加手段と、
前記生成したブロックをＦＦＴ処理により周波数領域上のブロックに変換するＦＦＴ手段と、
前記変換した周波数領域上のブロックに対してフィルタ処理を行うフィルタ演算手段と、
前記フィルタ処理したブロックをＩＦＦＴ処理により時間領域上のブロックに変換するＩＦＦＴ手段と、
前記変換した時間領域上のブロックの両端から合計Ｍ個のデータを除去して出力信号を生成するオーバーラップ除去手段と、
前記オーバーラップ付加手段のデータ出力部と前記ＦＦＴ手段と前記フィルタ演算手段と前記ＩＦＦＴ手段と前記オーバーラップ除去手段のデータ入力部とを駆動するフィルタ処理クロック信号の周波数を、前記オーバーラップ数Ｍの値に基づいて設定するクロック生成手段と、
を備えることを特徴とするデジタルフィルタ回路。
【請求項２】
前記クロック生成手段は、前記フィルタ処理クロック信号の周波数を、前記オーバーラップ付加手段のデータ入力部、および前記オーバーラップ除去手段のデータ出力部と、を駆動する入出力クロック信号の周波数のＮ／（Ｎ−Ｍ）倍に設定することを特徴とする請求項２記載のデジタルフィルタ回路。
【請求項３】
前記デジタルフィルタ回路は、さらに、
前記オーバーラップ数Ｍに対して、前記ブロックを構成するデータ数Ｎを示すＦＦＴサイズ設定、およびクロック周波数設定を保持する設定テーブル手段を備え、
前記クロック生成手段は、入力する前記オーバーラップ数の設定値Ｍに応じて前記設定テーブル手段が出力する、前記ＦＦＴサイズ設定、および前記クロック周波数設定に基づいて前記フィルタ処理クロック信号の周波数を設定することを特徴とする請求項１または２に記載のデジタルフィルタ回路。
【請求項４】
時間領域上の入力データから、Ｎ個のデータ（Ｎは正整数）からなるブロックを、直前のブロックとはＭ個のデータ（Ｍは正整数）だけオーバーラップさせるオーバーラップ付加処理を行って生成し、
前記生成したブロックをＦＦＴ処理により周波数領域上のブロックに変換し、
前記変換した周波数領域上のブロックに対してフィルタ処理を行い、
前記フィルタ処理したブロックをＩＦＦＴ処理により時間領域上のブロックに変換し、
前記変換した時間領域上のブロックの両端から合計Ｍ個のデータを除去するオーバーラップ除去処理を行って出力信号を生成し、
前記オーバーラップ付加処理の出力と、前記ＦＦＴ処理と、前記フィルタ処理と、前記ＩＦＦＴ処理と、前記オーバーラップ除去処理の入力とに関わるフィルタ処理クロック信号の周波数を、前記オーバーラップ数Ｍの値に基づいて設定することを特徴とするデジタルフィルタ制御方法。
【請求項５】
前記フィルタ処理クロック信号の周波数を、前記オーバーラップ付加処理の入力と前記オーバーラップ除去処理の出力とに関わる入出力クロック信号の周波数の、Ｎ／（Ｎ−Ｍ）倍に設定すること、を特徴とする請求項４に記載のデジタルフィルタ制御方法。
【請求項６】
前記デジタルフィルタ制御方法は、さらに、
前記オーバーラップ数Ｍに対して、前記ブロックを構成するデータ数Ｎを示すＦＦＴサイズ設定、およびクロック周波数設定を保持し、
入力する前記オーバーラップ数の設定値Ｍに応じて、前記保持された前記ＦＦＴサイズ設定、および前記クロック周波数設定に基づいて前記フィルタ処理クロック信号の周波数を設定すること、を特徴とする請求項４または５に記載のデジタルフィルタ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル信号処理における演算処理回路に関し、特にデジタルフィルタ回路およびデジタルフィルタ制御方法に関する。
【背景技術】
【０００２】
無線通信や有線通信における信号伝送中の波形歪みを補償する技術として、周波数領域等化（Ｆｒｅｑｕｅｎｃｙ  ｄｏｍａｉｎ  ｅｑｕａｌｉｚａｔｉｏｎ：ＦＤＥ）技術が知られている。ＦＤＥでは、まず、高速フーリエ変換（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ、ＦＦＴ）により時間領域上の信号データを周波数領域上のデータに変換する。その後に、等化のためのフィルタ処理を実施し、逆高速フーリエ変換（Ｉｎｖｅｒｓｅ  ＦＦＴ、ＩＦＦＴ）により時間領域上の信号データに再変換する。ＦＤＥでは、以上の処理により、信号の波形歪みを補償する。
ところで、ＦＦＴは、信号が周期的に繰り返すことを仮定しているため、ＦＦＴの処理ブロックの両端付近の信号に演算歪みが発生するという問題がある。この問題を解消する技術として、例えば、特許文献１、特許文献２、および特許文献３に記載されている、オーバーラップＦＤＥ方式を挙げることができる。オーバーラップＦＤＥ方式は、隣接する処理ブロック同士を所定のデータ数だけオーバーラップさせてＦＦＴ処理を行い、次にフィルタ処理を実行した上で、ＩＦＦＴ処理により時間領域信号に再変換した後、演算歪みの生じた処理ブロック両端の信号データのみを除去する。
また、その他の関連する技術としては、特許文献４に記載の、デジタルデータのサンプリング間隔を変更するデジタルフィルタ装置が挙げられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３０４１９２号公報
【特許文献２】特開２０１０−１３０３５５号公報
【特許文献３】特開２００７−２０１５２３号公報
【特許文献４】特開平０９−１３５１５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、オーバーラップＦＤＥ方式において、ＦＦＴ処理をオーバーラップさせる部分では、同じ入力信号に対してオーバーラップしてＦＤＥ処理を行う必要がある。すなわち、オーバーラップ部分に対する演算量の増加により、ＦＤＥ処理には、信号データの入出力のスループットに比べて、オーバーラップの分だけ高い処理スループットが要求される。
例えば、ＦＦＴブロックサイズが４０９６データ、オーバーラップ数が１０２４データの場合、必要なＦＤＥの処理スループットは、データの入出力スループットの４／３倍になる。
このオーバーラップ部分の演算量増加に対するＦＤＥの処理スループットの向上方法として、ＦＤＥ処理回路を並列化することによる方法が考えられる。しかしながら、回路を並列化する方法は、回路規模や消費電力が増大するという課題がある。
本発明は、上述した課題を解決することが可能な、デジタルフィルタ回路およびデジタルフィルタ制御方法を提供することを目的としている。
【課題を解決するための手段】
【０００５】
本発明によるデジタルフィルタ回路は、時間領域上の入力データから、Ｎ個のデータ（Ｎは正整数）からなるブロックを、直前のブロックとはＭ個のデータ（Ｍは正整数）だけオーバーラップさせて生成するオーバーラップ付加手段と、前記生成したブロックをＦＦＴ処理により周波数領域上のブロックに変換するＦＦＴ手段と、前記変換した周波数領域上のブロックに対してフィルタ処理を行うフィルタ演算手段と、前記フィルタ処理したブロックをＩＦＦＴ処理により時間領域上のブロックに変換するＩＦＦＴ手段と、前記変換した時間領域上のブロックの両端から合計Ｍ個のデータを除去して出力信号を生成するオーバーラップ除去手段と、前記オーバーラップ付加手段のデータ出力部と前記ＦＦＴ手段と前記フィルタ演算手段と前記ＩＦＦＴ手段と前記オーバーラップ除去手段のデータ入力部とを駆動するフィルタ処理クロック信号の周波数を、前記オーバーラップ数Ｍの値に基づいて設定するクロック生成手段と、を備えることを特徴とする。
本発明によるデジタルフィルタ制御方法は、時間領域上の入力データから、Ｎ個のデータ（Ｎは正整数）からなるブロックを、直前のブロックとはＭ個のデータ（Ｍは正整数）だけオーバーラップさせるオーバーラップ付加処理を行って生成し、前記生成したブロックをＦＦＴ処理により周波数領域上のブロックに変換し、前記変換した周波数領域上のブロックに対してフィルタ処理を行い、前記フィルタ処理したブロックをＩＦＦＴ処理により時間領域上のブロックに変換し、前記変換した時間領域上のブロックの両端から合計Ｍ個のデータを除去するオーバーラップ除去処理を行って出力信号を生成し、前記オーバーラップ付加処理の出力と、前記ＦＦＴ処理と、前記フィルタ処理と、前記ＩＦＦＴ処理と、前記オーバーラップ除去処理の入力とに関わるフィルタ処理クロック信号の周波数を、前記オーバーラップ数Ｍの値に基づいて設定することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、オーバーラップＦＤＥ方式などの周波数領域におけるフィルタ処理において、回路規模および消費電力を小さくすることが可能となる。
【図面の簡単な説明】
【０００７】
【図１】本発明の第１の実施形態に係るデジタルフィルタ回路の構成例を示すブロック図である。
【図２】図１に示すデジタルフィルタ回路の動作の一例を示す動作図である。
【図３】図１に示すデジタルフィルタ回路の動作の一例を示すタイミング図である。
【図４】本発明の第２の実施形態に係るデジタルフィルタ回路の構成例を示すブロック図である。
【図５】図４に示すデジタルフィルタ回路の消費電力の一例を示すグラフである。
【図６】図４に示すデジタルフィルタ回路が備える設定テーブルの構成例を示すテーブル図である。
【図７】本発明の第３の実施形態に係るデジタルフィルタ回路の構成例を示すブロック図である。
【発明を実施するための形態】
【０００８】
［第１の実施形態］
図１は、本発明の第１の実施形態に係るデジタルフィルタ回路１００の構成例を示すブロック図である。デジタルフィルタ回路１００は、周波数領域でフィルタ処理を行う周波数領域フィルタ回路である。具体的には、デジタルフィルタ回路１００は、まず入力データとして入力する時間領域上の信号をＦＦＴにより周波数領域上のデータに変換した後にフィルタ処理を実施する。その後、デジタルフィルタ回路１００は、ＩＦＦＴにより時間領域上の信号データに再変換して出力データとして出力する。
デジタルフィルタ回路１００は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの上位回路（図示せず）から与えられるオーバーラップ数設定信号２８を参照して、オーバーラップ数を決定する。
デジタルフィルタ回路１００は、オーバーラップ付加回路１０と、ＦＦＴ回路１１と、フィルタ演算回路１２と、ＩＦＦＴ回路１３と、オーバーラップ除去回路１４と、クロック生成回路１５と、を少なくとも備える。
オーバーラップ付加回路１０は、時間領域上の入力信号である入力データから、Ｎ個のデータからなるブロックを順次生成し、ＦＦＴ回路１１へ出力する。このとき、オーバーラップ付加回路１０は、各ブロックに対して、直前のブロックとＭ個のデータだけオーバーラップさせる。なお、Ｎ、Ｍはともに正整数である。オーバーラップするデータ数Ｍは、オーバーラップ数設定信号２８に基づいて決定される。オーバーラップ付加回路１０は、クロックＤに同期して入力データを入力する。また、オーバーラップ付加回路１０は、フィルタクロック２５に同期して生成したブロックをＦＦＴ回路１１に出力する。
なお、オーバーラップ付加回路１０は、例えば、２ポートメモリにより構成することができる。このとき、２ポートメモリへの書き込みはクロックＤに同期して行い、２ポートメモリからの読み出しはフィルタクロック２５に同期して行えばよい。
ＦＦＴ回路１１は、オーバーラップ付加回路１０から出力される、Ｍ個のデータがオーバーラップされた時間領域上の入力信号に対して、ＦＦＴを行い、周波数領域上の信号に変換して、フィルタ演算回路１２へ出力する。ＦＦＴ回路１１は、フィルタクロック２５に同期して動作する。
フィルタ演算回路１２は、ＦＦＴ回路１１によって変換された周波数領域上の信号に対してフィルタ処理を行い、ＩＦＦＴ回路１３へ出力する。例えば、デジタルフィルタ回路１００が通信チャネルにおける信号歪みの等化処理を実行する場合、フィルタ演算回路１２は、複素数乗算器で構成することができる。フィルタ演算回路１２は、フィルタクロック２５に同期して動作する。
ＩＦＦＴ回路１３は、フィルタ演算回路１２から出力されるフィルタ処理後の周波数領域上の信号に対して、ＩＦＦＴを行い、時間領域上の信号に再変換して、オーバーラップ除去回路１４へ出力する。ＩＦＦＴ回路１３は、フィルタクロック２５に同期して動作する。
オーバーラップ除去回路１４は、ＩＦＦＴ回路１３によって再変換された時間領域上の信号であるＮ個のデータからなる各ブロックの両端から合計Ｍ個のデータを除去して、ブロックの中央部分のみを取り出し、出力データとして出力する。除去するデータ数Ｍは、オーバーラップ数設定信号２８に基づいて決定される。
オーバーラップ除去回路１４は、フィルタクロック２５に同期して、ＩＦＦＴ回路１３からデータを入力する。また、オーバーラップ除去回路１４は、クロックＤに同期して、出力データを出力する。
なお、オーバーラップ除去回路１４は、例えば、２ポートメモリにより構成することができる。このとき、２ポートメモリへの書き込みはフィルタクロック２５に同期して行い、２ポートメモリからの読み出しはクロックＤに同期して行えばよい。
クロック生成回路１５は、クロックＳから、新たなクロック信号であるフィルタクロック２５を生成し、オーバーラップ付加回路１０、ＦＦＴ回路１１、フィルタ演算回路１２、ＩＦＦＴ回路１３、およびオーバーラップ除去回路１４へ出力する。
クロック生成回路１５は、フィルタクロック２５の周波数を、入力するオーバーラップ数設定信号２８に基づいて決定する。
なお、クロックＳの周波数がフィルタクロック２５の周波数よりも高い場合、クロック生成回路１５は、例えば、分周回路で構成し、クロックＳを分周することで、フィルタクロック２５を生成することができる。一方、クロックＳの周波数がフィルタクロック２５の周波数よりも低い場合、クロック生成回路１５は、例えば、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路で構成し、クロックＳを逓倍することで、フィルタクロック２５を生成することができる。
以下、図１に示すデジタルフィルタ回路１００の動作について、図２および図３を参照して説明する。図２は、図１に示すデジタルフィルタ回路の動作の一例を示す動作図である。図３は、図１に示すデジタルフィルタ回路の動作の一例を示すタイミング図である。以下の説明において、処理ステップ（１）〜（５）は、図２および図３における処理ステップ（１）〜（５）にそれぞれ対応する。
（１）オーバーラップ付加処理
オーバーラップ付加回路１０は、時間領域上の入力信号である入力データから、Ｎ個のデータからなるブロックを順次生成する。このとき、オーバーラップ付加回路１０は、各ブロックに対して、直前のブロックとＭ個のデータだけオーバーラップさせる。
入力データをｘ［ｉ］（ｉ＝０、１、．．．）としたとき、
Ｎデータのブロックは、
ｘ［ｊ］（ｊ＝ｍ（Ｎ−Ｍ）−Ｎ〜ｍ（Ｎ−Ｍ）−１）、
で表される。ここで、ＮはＦＦＴブロックサイズ、Ｍはオーバーラップ数である。また、ｍは正整数である。
（２）ＦＦＴ処理
ＦＦＴ回路１１は、時間領域上の信号データからなるブロックに対して高速フーリエ変換（ＦＦＴ）を行い、周波数領域上の信号データからなるブロックに変換する。
Ｎ個の時間領域上の信号データからなるブロックをあらためて、
ｘ［ｎ］（ｎ＝０、１、．．．、Ｎ−１）
とおくと、ＦＦＴ処理後の周波数領域上のブロックＸ［ｋ］は、
2012086262.tif 000003
（ｋ＝０，１，．．．，Ｎ−１）
により与えられる。
（３）周波数領域フィルタ処理
フィルタ演算回路１２は、ＦＦＴ処理後のブロックを構成する周波数領域上の各信号データに対して、フィルタ処理を行う。
フィルタ処理前のブロックＸ［ｋ］に対するフィルタ処理後のブロックＸ’［ｋ］は、
2012086262.tif 000004
ｋ＝０、１、．．．、Ｎ−１
により与えられる。（式２）において、Ｈ（ｋ）は、フィルタ係数を示す。
（４）ＩＦＦＴ処理
ＩＦＦＴ回路１３は、フィルタ処理後の周波数領域上の信号データからなるブロックに対して、ＩＦＦＴを行い、時間領域上の信号データからなるブロックに再変換する。
ＩＦＦＴ処理前のブロックＸ’［ｋ］に対するＩＦＦＴ処理後のブロックｙ［ｎ］は、
2012086262.tif 000005
（ｎ＝０，１，．．．，Ｎ−１）
により与えられる。
（５）オーバーラップ除去処理
オーバーラップ除去回路１４は、ＩＦＦＴ処理後のＮ個の信号データからなるブロックｙ［ｎ］から、ブロック先頭及び末端からそれぞれＭ／２個のオーバーラップ分のデータを除いた中央部分を切り出すことで、
オーバーラップを除去した（Ｎ−Ｍ）個の信号データ系列
ｙ’［ｊ］（ｊ＝Ｍ／２〜Ｎ−１−Ｍ／２）
を生成する。
上述したように、デジタルフィルタ回路１００は、Ｎ個のデータに対して、Ｍ個のオーバーラップを付加してフィルタ処理を行い、再びＭ個のオーバーラップを除去する。したがって、データの入力及び出力のスループットよりも、オーバーラップの分だけ高い処理スループットが、フィルタ処理に要求される。具体的には、データの入力及び出力のスループットに対して、Ｎ／（Ｎ−Ｍ）倍以上の処理スループットが、フィルタ処理に要求される。
本実施形態では、デジタルフィルタ回路１００におけるデータの入力および出力スループットは、クロックＤの周波数によって決定される。なぜならば、オーバーラップ付加回路１０におけるデータの入力およびオーバーラップ除去回路１４におけるデータの出力は、クロックＤに同期して動作するからである。
一方、デジタルフィルタ回路１００におけるフィルタ処理の処理スループットは、フィルタクロック２５の周波数によって決定される。なぜならば、オーバーラップ付加回路１０におけるデータの出力およびオーバーラップ除去回路１４におけるデータの入力と、ＦＦＴ回路１１と、フィルタ演算回路１２と、ＩＦＦＴ回路１３とは、フィルタクロック２５に同期して動作するからである。
ここで、本実施形態では、フィルタクロック２５の周波数をクロックＤのＮ／（Ｎ−Ｍ）倍にすることで、データの入力および出力のスループットのＮ／（Ｎ−Ｍ）倍のスループットでフィルタ処理を実行する。
具体的には、フィルタクロック２５の周波数ｆＦは、クロックＤの周波数をｆＤとし、ＦＦＴブロックサイズをＮとし、オーバーラップ数をＭとしたとき、以下の（式４）により設定される。
2012086262.tif 000006
このとき、デジタルフィルタ回路１００は、クロックＤの毎サイクルにおいて入力されるデータに対して、フィルタクロック２５の毎サイクルにおいてフィルタ処理を行い、クロックＤの毎サイクルにおいてフィルタ処理したデータを出力することになる。
一般に、デジタルフィルタ回路では、入出力データと、フィルタ処理双方のスループットとが合わない場合に、データの入出力の停止や開始の制御、フィルタ処理の停止や開始の制御、などのフロー制御が必要となる。一方、本実施形態のデジタルフィルタ回路１００によれば、このフロー制御は不要となる。その結果、回路が簡単にできるので、回路規模や消費電力を小さくすることができる。
具体的には、例えば、オーバーラップ付加回路１０やオーバーラップ除去回路１４を２ポートメモリで実現する場合、メモリがデータで一杯になることや、空になることがない。したがって、メモリへの書き込みや、メモリからの読み出しを停止したり開始したりするフロー制御が不要になる。その結果、回路が簡単にできるので、回路規模や消費電力を小さくすることができる。
以上説明した第１の実施形態によれば、オーバーラップＦＦＴを使用した周波数領域フィルタ処理において、必要なオーバーラップ数Ｍ、およびＦＦＴブロックサイズＮに応じて、フィルタ処理の動作周波数をデータの入出力の動作周波数のＮ／（Ｎ−Ｍ）倍に設定している。
したがって、第１の実施形態によるデジタルフィルタ回路１００は、必要なオーバーラップ数に応じて、入力する入力信号を滞りなくフィルタ処理するのに必要十分な動作周波数で動作する。このため、消費電力を小さくすることができる。
また、データの入出力やフィルタ処理に関するフロー制御が必要ないので、デジタルフィルタ回路１００において、必要なメモリ量が少なく、かつ回路構成を単純化できる。このため、回路規模や消費電力を小さくすることができる。
［第２の実施形態］
図４は、本発明の第２の実施形態に係るデジタルフィルタ回路１０１の構成例を示すブロック図である。デジタルフィルタ回路１０１は、第１の実施形態のデジタルフィルタ回路１００と同様に、周波数領域でフィルタ処理を行う周波数領域フィルタ回路である。周波数領域フィルタ回路の基本的な動作は、第１の実施形態にて説明したとおりである。
デジタルフィルタ回路１０１は、第１の実施形態のデジタルフィルタ回路１００と同様に、ＣＰＵなどの上位回路から与えられるオーバーラップ数設定信号２８を参照して、オーバーラップ数を決定する。
デジタルフィルタ回路１０１の特徴は、第１の実施形態のデジタルフィルタ回路１００に、設定テーブル３６を追加する点にある。なお、設定テーブル３６以外の各構成要素の基本的な機能は、図１のデジタルフィルタ回路１００における各構成要素と同一であるが、設定テーブル３６の追加に伴い、一部機能が第１の実施形態とは異なっている。従って、上記各構成要素に関し、図４では、図１と別の符号を付すことにする。
デジタルフィルタ回路１０１は、オーバーラップ付加回路３０と、ＦＦＴ回路３１と、フィルタ演算回路３２と、ＩＦＦＴ回路３３と、オーバーラップ除去回路３４と、クロック生成回路３５と、設定テーブル３６と、を少なくとも備える。
オーバーラップ付加回路３０は、時間領域上の入力信号である入力データから、Ｎ個のデータからなるブロックを順次生成し、ＦＦＴ回路３１へ出力する。このとき、オーバーラップ付加回路３０は、各ブロックに対して、直前のブロックとＭ個のデータだけオーバーラップさせる。なお、第１の実施形態と同様、Ｎ、Ｍ双方ともに正整数である。ブロックを構成するデータ数Ｎは、設定テーブル３６から出力されるＦＦＴブロックサイズ設定信号２６に基づいて決定される。また、オーバーラップするデータ数Ｍは、オーバーラップ数設定信号２８に基づいて決定される。オーバーラップ付加回路３０は、クロックＤに同期して入力データを入力する。また、オーバーラップ付加回路３０は、フィルタクロック２５に同期して生成したブロックをＦＦＴ回路３１に出力する。
なお、オーバーラップ付加回路３０は、例えば、２ポートメモリにより構成することができる。このとき、２ポートメモリへの書き込みはクロックＤに同期して行い、２ポートメモリからの読み出しはフィルタクロック２５に同期して行えばよい。
ＦＦＴ回路３１は、オーバーラップ付加回路３０から出力される、Ｍ個のデータがオーバーラップされた時間領域上の入力信号に対して、ＦＦＴを行い、周波数領域上の信号に変換して、フィルタ演算回路３２へ出力する。このとき、ＦＦＴの処理単位（ブロックサイズ）は、設定テーブル３６から出力されるＦＦＴブロックサイズ設定信号２６に基づいて決定される。ここで、ブロックサイズは、ＦＦＴ回路３１を構成するバタフライ回路の段数を切り替えることで容易に変更することができる。ＦＦＴ回路３１は、フィルタクロック２５に同期して動作する。
フィルタ演算回路３２は、ＦＦＴ回路３１によって変換された周波数領域上の信号に対してフィルタ処理を行い、ＩＦＦＴ回路３３へ出力する。例えば、デジタルフィルタ回路１０１が通信チャネルにおける信号歪みの等化処理を実行する場合、フィルタ演算回路３２は、複素数乗算器で構成することができる。このとき、フィルタ処理の処理単位（ブロックサイズ）は、設定テーブル３６から出力されるＦＦＴブロックサイズ設定信号２６に基づいて決定される。フィルタ演算回路３２は、フィルタクロック２５に同期して動作する。
ＩＦＦＴ回路３３は、フィルタ演算回路３２から出力されるフィルタ処理後の周波数領域上の信号に対して、ＩＦＦＴを行い、時間領域上の信号に再変換して、オーバーラップ除去回路３４へ出力する。このとき、ＩＦＦＴの処理単位（ブロックサイズ）は、設定テーブル３６から出力されるＦＦＴブロックサイズ設定信号２６に基づいて決定される。ここで、ブロックサイズは、ＩＦＦＴ回路３３を構成するバタフライ回路の段数を切り替えることで容易に変更することができる。ＩＦＦＴ回路３３は、フィルタクロック２５に同期して動作する。
オーバーラップ除去回路３４は、ＩＦＦＴ回路３３によって再変換された時間領域上の信号であるＮ個のデータからなる各ブロックの両端から合計Ｍ個のデータを除去して、ブロックの中央部分のみを取り出し、出力データとして出力する。ブロックを構成するデータ数Ｎは、設定テーブル３６から出力されるＦＦＴブロックサイズ設定信号２６に基づいて決定される。また、除去するデータ数Ｍは、オーバーラップ数設定信号２８に基づいて決定される。
オーバーラップ除去回路３４は、フィルタクロック２５に同期して、ＩＦＦＴ回路３３からデータを入力する。また、オーバーラップ除去回路３４は、クロックＤに同期して、出力データを出力する。
なお、オーバーラップ除去回路３４は、例えば、２ポートメモリにより構成することができる。このとき、２ポートメモリへの書き込みはフィルタクロック２５に同期して行い、２ポートメモリからの読み出しはクロックＤに同期して行えばよい。
クロック生成回路３５は、クロックＳから、新たなクロック信号であるフィルタクロック２５を生成し、オーバーラップ付加回路３０、ＦＦＴ回路３１、フィルタ演算回路３２、ＩＦＦＴ回路３３、およびオーバーラップ除去回路３４へ出力する。
フィルタクロック２５の周波数は、設定テーブル３６が出力するフィルタクロック周波数設定信号２７に基づいて決定される。クロックＳの周波数がフィルタクロック２５の周波数よりも高い場合、クロック生成回路３５は、例えば、分周回路で構成し、クロックＳを分周することで、フィルタクロック２５を生成することができる。一方、クロックＳの周波数がフィルタクロック２５の周波数よりも低い場合、クロック生成回路３５は、例えばＰＬＬ回路で構成し、クロックＳを逓倍することで、フィルタクロック２５を生成することができる。
設定テーブル３６は、入力したオーバーラップ数設定信号２８に応じたＦＦＴブロックサイズの設定値を保持し、オーバーラップ付加回路３０、ＦＦＴ回路３１、ＩＦＦＴ回路３３、およびオーバーラップ除去回路３４に出力する。設定テーブル３６はまた、入力するオーバーラップ数設定に応じたフィルタクロック周波数の設定値を保持し、クロック生成回路３５に出力する。
以下、図４に示すデジタルフィルタ回路１０１の動作について説明する。デジタルフィルタ回路１０１のフィルタ処理に関する動作は、図２および図３において処理ステップ（１）〜（５）で示す第１の実施形態のデジタルフィルタ回路１００のフィルタ処理に関する動作と同等である。
すなわち、デジタルフィルタ回路１０１は、デジタルフィルタ回路１００と同様に、Ｎ個のデータに対して、Ｍ個のオーバーラップを付加してフィルタ処理を行い、再びＭ個のオーバーラップを除去する。したがって、データの入力及び出力のスループットよりも、オーバーラップの分だけ高い処理スループットが、フィルタ処理に要求される。具体的には、データの入力及び出力のスループットに対して、Ｎ／（Ｎ−Ｍ）倍以上の処理スループットが、フィルタ処理に要求される。
本実施形態においても、デジタルフィルタ回路１０１におけるデータの入力および出力スループットは、クロックＤの周波数によって決定される。なぜならば、オーバーラップ付加回路３０におけるデータの入力およびオーバーラップ除去回路３４におけるデータの出力は、クロックＤに同期して動作するからである。
一方、デジタルフィルタ回路１０１におけるフィルタ処理の処理スループットは、フィルタクロック２５の周波数によって決定される。なぜならば、オーバーラップ付加回路３０におけるデータの出力およびオーバーラップ除去回路３４におけるデータの入力と、ＦＦＴ回路３１と、フィルタ演算回路３２と、ＩＦＦＴ回路３３とは、フィルタクロック２５に同期して動作するからである。
ここで、本実施形態においても、フィルタクロック２５の周波数をクロックＤのＮ／（Ｎ−Ｍ）倍にすることで、データの入力および出力のスループットのＮ／（Ｎ−Ｍ）倍のスループットでフィルタ処理を実行する。具体的には、フィルタクロック２５の周波数ｆＦは、前述の（式４）により設定される。
このとき、デジタルフィルタ回路１０１は、クロックＤの毎サイクルにおいて入力するデータに対して、フィルタクロック２５の毎サイクルにおいてフィルタ処理を行い、クロックＤの毎サイクルにおいてフィルタ処理したデータを出力することになる。
一般に、デジタルフィルタ回路では、データの入出力と、フィルタ処理双方のスループットとが合わない場合に、データの入出力の停止や開始の制御、フィルタ処理の停止や開始の制御、などのフロー制御が必要となる。一方、本実施形態のデジタルフィルタ回路１０１によれば、このフロー制御は不要となる。その結果、回路が簡単にできるので、回路規模や消費電力を小さくすることができる。
具体的には、例えば、オーバーラップ付加回路３０やオーバーラップ除去回路３４を２ポートメモリで実現する場合、メモリがデータで一杯になることや、空になることがない。したがって、メモリへの書き込みや、メモリからの読み出しを停止したり開始したりするフロー制御が不要になる。その結果、回路が簡単にできるので、回路規模や消費電力を小さくすることができる。
ところで、上記したフィルタクロック２５の周波数ｆＦの（式４）から明らかなように、オーバーラップ数Ｍが小さいほど、またＦＦＴブロックサイズＮが大きいほど、フィルタクロック２５の周波数を低くすることができる。
しかしながら、必要なオーバーラップ数Ｍは、主にデジタルフィルタ回路１０１で実現するフィルタのインパルス応答長で決定されるため、自由に設定することが困難である。したがって、必要なオーバーラップ数Ｍに対してＦＦＴブロックサイズＮを大きくする方が、フィルタクロック２５の周波数を低くすることができる。周波数が低いほうが消費電力も小さいが、一方で、ＦＦＴブロックサイズＮを大きくすると、ＦＦＴ回路３１およびＩＦＦＴ回路３３自体の消費電力は大きくなってしまう。
したがって、必要なオーバーラップ数Ｍに対して、消費電力がもっとも小さくなるＦＦＴブロックサイズＮが存在するはずである。すなわち、オーバーラップ数Ｍに対して、消費電力がもっとも小さくなるＦＦＴブロックサイズＮを決定することができる。さらに、オーバーラップ数ＭとＦＦＴブロックサイズＮが決定されれば、（式２）からフィルタクロック２５の周波数ｆＦが決定される。
以下、第１の実施形態と第２の実施形態との差分について説明する。
図５は、オーバーラップ数Ｍを０〜１２８０まで１２８刻みで変えた場合に対して、ＦＦＴブロックサイズＮを２０４８、４０９６、８１９２と変えた場合の、デジタルフィルタ回路１０１の消費電力の一例を示すグラフである。
図５から、少なくともＦＦＴブロックサイズＮ＝２０４８、４０９６、８１９２において、オーバーラップ数Ｍによって、上記３つのＦＦＴブロックサイズＮの中で消費電力が最小となるＦＦＴブロックサイズＮが異なることが諒解できる。具体的には、オーバーラップ数Ｍが０、１２８、２５６の場合（図５における領域（ａ））、ＦＦＴブロックサイズＮが２０４８の場合に消費電力が最小になる。オーバーラップ数Ｍが３８４、５１２の場合（図５における領域（ｂ））、ＦＦＴブロックサイズＮが４０９６の場合に消費電力が最小になる。オーバーラップ数Ｍが６４０、７６８、８９６、１０２４、１１５２、１２８０の場合（図５における領域（ｃ））、ＦＦＴブロックサイズＮが８１９２の場合に消費電力が最小になる。
設定テーブル３６は、オーバーラップ数設定信号２６に基づくオーバーラップ数の設定値に対して、ＦＦＴブロックサイズ設定信号２６に基づくＦＦＴブロックサイズの設定値およびフィルタクロック周波数設定信号２７に基づくフィルタクロック周波数の設定値を保持する。設定テーブル３６は、入力されたオーバーラップ数に対応するＦＦＴブロックサイズ設定信号２６およびフィルタクロック周波数設定信号２７を出力する。
図６は、設定テーブル３６の構成例を示すテーブル図である。図６において、設定テーブル３６には、０〜１２８０まで１２８ステップの各オーバーラップ数設定に対して、図５に示した消費電力を最小にするＦＦＴブロックサイズが設定されている。さらに、各オーバーラップ数設定とＦＦＴブロックサイズから、（式４）によりフィルタクロック２５の周波数が設定されている。
すなわち、オーバーラップ数設定信号２８に必要なオーバーラップ数を設定すると、設定テーブル３６は、消費電力を最小にするＦＦＴブロックサイズ設定信号２６と、必要なフィルタ処理スループットを実現するフィルタクロック周波数設定信号２７を出力する。
その結果、デジタルフィルタ回路１０１は、入力するオーバーラップ数設定信号２８に対して、消費電力を最小にするＦＦＴブロックサイズおよびフィルタクロック２５の周波数の設定のもとで、動作することができる。
なお、設定テーブル３６の内容は、図５で示したような消費電力特性を参照して設定することもできる。この場合、消費電力特性は、シミュレーションにより求めてもよいし、実際の回路の消費電力を測定して求めてもよい。
また、設定テーブル３６の内容は、デジタルフィルタ回路１０１の設計時や製造時に設定してもよいし、ＣＰＵなどデジタルフィルタ回路１０１を制御する上位回路により、デジタルフィルタ回路１０１の動作時に設定してもよい。
また、設定テーブル３６は専用の回路でなくてもよい。例えば、デジタルフィルタ回路１０１を制御するＣＰＵが使用するメインメモリ上に設置してもよい。
以上説明した第２の実施形態によれば、オーバーラップＦＦＴを使用した周波数領域フィルタ処理において、必要なオーバーラップ数Ｍ、およびＦＦＴブロックサイズＮに応じて、フィルタ処理の動作周波数をデータの入出力の動作周波数のＮ／（Ｎ−Ｍ）倍に設定している。
したがって、必要なオーバーラップ数に応じて、入力する入力信号を滞りなくフィルタ処理するのに必要十分な動作周波数で動作するため、消費電力を小さくすることができる。
また、データの入出力やフィルタ処理に関するフロー制御が必要ないので、必要なメモリ量が少なく、かつ回路構成を単純化できるため、回路規模や消費電力が小さくすることができる。
さらに、第２の実施形態では、必要なオーバーラップ数に応じてＦＦＴブロックサイズを調整するので、消費電力をより小さくすることができる。
［第３の実施形態］
図７は、本発明の第３の実施形態によるデジタルフィルタ回路１０００の構成例を示した図である。図７によれば、デジタルフィルタ回路１０００は、オーバーラップ付加手段１００１、ＦＦＴ手段１００２、フィルタ演算手段１００３、ＩＦＦＴ手段１００４、オーバーラップ除去手段１００５、およびクロック生成手段１００６を備える。
オーバーラップ付加手段１００１は、時間領域上の入力データから、Ｎ個のデータからなるブロックを、直前のブロックとはＭ個のデータだけオーバーラップさせて生成する。なお、ＮおよびＭは、正整数である。
ＦＦＴ手段１００２は、オーバーラップ付加手段１００１で生成したブロックを、ＦＦＴ処理によって、周波数領域上のブロックに変換する。
フィルタ演算手段１００３は、ＦＦＴ手段１００２で変換した周波数領域上のブロックに対して、フィルタ処理を行う。
ＩＦＦＴ手段１００４は、フィルタ演算手段１００３でフィルタ処理を行ったブロックを、ＩＦＦＴ処理によって、時間領域上のブロックに変換する。
オーバーラップ除去手段１００５は、ＩＦＦＴ手段１００４で変換した時間領域上のブロックの両端から、合計Ｍ個のデータを除去することで、出力信号を生成する。
クロック生成手段１００６は、オーバーラップ付加手段１００１のデータ出力部と前記ＦＦＴ手段１００２と前記フィルタ演算手段１００３と前記ＩＦＦＴ手段１００４と前記オーバーラップ除去手段１００５のデータ入力部と、を駆動するフィルタ処理クロック信号の周波数を、前記オーバーラップ数Ｍの値に基づいて設定する。
以上説明した通り、第３の実施形態では、フィルタ処理クロック信号の周波数を、オーバーラップ数Ｍの値に基づいて設定している。従って、第３の実施形態によるデジタルフィルタ回路１０００においては、データの入出力やフィルタ処理に関するフロー制御を行う必要がない。よって、第３の実施形態によるデジタルフィルタ回路１０００では、必要なメモリ量が少なく、かつ回路構成を単純化することが可能となる。
従って、第３の実施形態によれば、オーバーラップＦＤＥ方式などの周波数領域におけるフィルタ処理において、回路規模および消費電力を小さくすることが可能となる。
［その他の実施形態］
本発明によるその他の実施形態は、デジタルフィルタ回路であって、時間領域上の入力データから、Ｎ個のデータ（Ｎは正整数）からなるブロックを、直前のブロックとはＭ個のデータ（Ｍは正整数）だけオーバーラップさせて生成するオーバーラップ付加手段と、前記生成したブロックをＦＦＴ処理により周波数領域上のブロックに変換するＦＦＴ手段と、前記変換した周波数領域上のブロックに対してフィルタ処理を行うフィルタ演算手段と、前記フィルタ処理したブロックをＩＦＦＴ処理により時間領域上のブロックに変換するＩＦＦＴ手段と、前記変換した時間領域上のブロックの両端から合計Ｍ個のデータを除去して出力信号を生成するオーバーラップ除去手段と、を備え、前記オーバーラップ付加手段のデータ出力部と前記ＦＦＴ手段と前記フィルタ演算手段と前記ＩＦＦＴ手段と前記オーバーラップ除去手段のデータ入力部とを駆動するフィルタ処理クロック信号の周波数を、前記オーバーラップ付加手段のデータ入力部と前記オーバーラップ除去手段のデータ出力部とを駆動する入出力クロック信号の周波数の、Ｎ／（Ｎ−Ｍ）倍に設定する。
本発明のその他の実施形態によるデジタルフィルタ制御方法は、時間領域上の入力データから、Ｎ個のデータ（Ｎは正整数）からなるブロックを、直前のブロックとはＭ個のデータ（Ｍは正整数）だけオーバーラップさせて生成するオーバーラップ付加手段と、前記生成したブロックをＦＦＴ処理により周波数領域上のブロックに変換するＦＦＴ手段と、前記変換した周波数領域上のブロックに対してフィルタ処理を行うフィルタ演算手段と、前記フィルタ処理したブロックをＩＦＦＴ処理により時間領域上のブロックに変換するＩＦＦＴ手段と、前記変換した時間領域上のブロックの両端から合計Ｍ個のデータを除去して出力信号を生成するオーバーラップ除去手段と、を備えるデジタルフィルタの制御方法であって、前記オーバーラップ付加手段のデータ出力部と前記ＦＦＴ手段と前記フィルタ演算手段と前記ＩＦＦＴ手段と前記オーバーラップ除去手段のデータ入力部とを駆動するフィルタ処理クロック信号の周波数を、前記オーバーラップ付加手段のデータ入力部と前記オーバーラップ除去手段のデータ出力部とを駆動する入出力クロック信号の周波数の、Ｎ／（Ｎ−Ｍ）倍に設定する。
本発明のその他の実施形態によるデジタルフィルタ制御方法は、時間領域上の入力データから、Ｎ個のデータ（Ｎは正整数）からなるブロックを、直前のブロックとはＭ個のデータ（Ｍは正整数）だけオーバーラップさせて生成するオーバーラップ付加手段と、前記生成したブロックをＦＦＴ処理により周波数領域上のブロックに変換するＦＦＴ手段と、前記変換した周波数領域上のブロックに対してフィルタ処理を行うフィルタ演算手段と、前記フィルタ処理したブロックをＩＦＦＴ処理により時間領域上のブロックに変換するＩＦＦＴ手段と、前記変換した時間領域上のブロックの両端から合計Ｍ個のデータを除去して出力信号を生成するオーバーラップ除去手段と、前記オーバーラップ数Ｍに対して、前記ブロックを構成するデータ数Ｎを示すＦＦＴサイズ設定、およびクロック周波数設定を保持する設定テーブル手段と、を備えるデジタルフィルタの制御方法であって、入力する前記オーバーラップ数の設定値Ｍに応じて前記設定テーブル手段が出力する、前記ＦＦＴサイズ設定、および前記クロック周波数設定に基づいてフィルタ処理を行う。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、２０１０年１２月２１日に出願された日本出願特願２０１０−２８４１３７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０００９】
１０  オーバーラップ付加回路
１１  ＦＦＴ回路
１２  フィルタ演算回路
１３  ＩＦＦＴ回路
１４  オーバーラップ除去回路
１５  クロック生成回路
２５  フィルタクロック
２６  ＦＦＴブロックサイズ設定信号
２７  フィルタクロック周波数設定信号
２８  オーバーラップ数設定信号
３０  オーバーラップ付加回路
３１  ＦＦＴ回路
３２  フィルタ演算回路
３３  ＩＦＦＴ回路
３４  オーバーラップ除去回路
３５  クロック生成回路
３６  設定テーブル
１００、１０１、１０００  デジタルフィルタ回路
１００１  オーバーラップ付加手段
１００２  ＦＦＴ手段
１００３  フィルタ演算手段
１００４  ＩＦＦＴ手段
１００５  オーバーラップ除去手段
１００６  クロック生成手段
【図１】
2012086262.tif 000007
【図４】
2012086262.tif 000008
【図５】
2012086262.tif 000009
【図６】
2012086262.tif 000010
【図７】
2012086262.tif 000011
【図２】
2012086262.tif 000012
【図３】
2012086262.tif 000013
【国際調査報告】
2012086262.tif 000014
2012086262.tif 000015