(57)【特許請求の範囲】
【請求項１】
低レイテンシィと長いフィルタ長さを含むインパルス応答を有するデジタルフィルタであって、レイテンシィとフィルタ長さとを含むインパルス応答をそれぞれが有する複数の構成要素フィルタを含み、それぞれの構成要素フィルタは、信号フィルタの入力に接続された入力及び加算することによって結合する加算手段に接続された出力を有し、デジタルフィルタのインパルス応答が要素インパルス応答の和となり、前記低レイテンシィが前記要素のレイテンシィの最も短いものと等しくなるように、それぞれの出力でデジタルフィルタの出力を形成し、前記構成要素フィルタの最初のものが時間領域フィルタとされ、他の構成要素フィルタの少なくとも一つが長いフィルタ長さに構成されることを特徴とするデジタルフィルタ。
【請求項２】
最初の構成要素フィルタを除き、残りの構成要素フィルタの最初の非ゼロインパルス構成要素が構成要素フィルタの他の一つのインパルス応答の間又はそのすぐ後に生じる請求項１記載のデジタルフィルタ。
【請求項３】
少なくとも一つの構成要素フィルタがカスケード接続された変換要素、フィルタ要素及び逆変換要素を有する高速畳み込みフィルタである請求項２記載のデジタルフィルタ。
【請求項４】
前記構成要素フィルタの少なくとも一つが乗算・加算演算を含む時間領域有限インパルス応答フィルタとして実現され、残りの構成要素フィルタの少なくとも一つが畳み込みフィルタを用いて実現され、時間領域フィルタが低レイテンシィであり、高速畳み込みフィルタが長いフィルタ長さを有する請求項３記載のデジタルフィルタ。
【請求項５】
前記高速畳み込みフィルタの少なくとも一つがフィルタ要素が並列に配置された複数のフィルタのサブ構成要素を備え、サブ構成要素のそれぞれが前記変換要素からの変換された信号出力を受信し、かつ逆変換要素に出力する加算要素の対応する入力を供給する請求項３記載のデジタルフィルタ。
【請求項６】
それぞれのサブ構成要素が変換された信号を対応する乗算ユニットに加えるのを遅延させ、その遅延させられた変換信号に、前記インパルス応答の少なくとも一部を形成するために事前に選択されたフィルタ係数を掛け、それぞれの乗算ユニットが加算要素に出力する請求項５記載のデジタルフィルタ。
【請求項７】
対応する乗算ユニットに適用する前に、前記遅延ユニットが所定の遅延期間の整数倍だけ前記変換された信号を遅延させる請求項６記載のデジタルフィルタ。
【請求項８】
前記フィルタ構成要素がカスケード接続された前記遅延ユニットをＮ−１（ここでのＮは整数で２以下）備え、前記遅延ユニットの最初の一つに変換された信号を入力させ、前記Ｎ個の乗算ユニットの最初の一つに変換された信号を入力させ、残りに遅延ユニットの対応するものの出力を入力させる請求項３記載のデジタルフィルタ。
【請求項９】
修正された畳み込みフィルタとして形成された２以上の構成要素フィルタを有する請求項１記載のデジタルフィルタ。
【請求項１０】
前記時間領域フィルタはゼロレイテンシィである請求項５記載のデジタルフィルタ。
【請求項１１】
前記ゼロレイテンシィ時間領域フィルタ、一つ以上の修正された畳み込みフィルタ及び一つ以上の高速畳み込みフィルタを有する請求項10記載のデジタルフィルタ。
【請求項１２】
時間領域フィルタが有限インパルス応答フィルタである請求項１記載のデジタルフィルタ。
【請求項１３】
前記高速畳み込みフィルタが離散フーリエ変換又は高速フーリエ変換で実現する請求項11記載のデジタルフィルタ。
【請求項１４】
前記低レイテンシィがデジタルフィルタをライブ音声信号を処理するために用いることができるほど十分に短い請求項１記載のデジタルフィルタ。
【請求項１５】
それぞれがフィルタする入力信号を受信し、フィルタされた出力の複合されたものを出力するために出力が加算される並列に配列された複数のフィルタモジュールを備え、それぞれのフィルタモジュールは対応するフィルタ長さとデジタルフィルタの所望のインパルス応答の選択された部分である対応するインパルス応答とを有し、それぞれのフィルタモジュールの長さが異なり、少なくとも最も短いフィルタモジュールが所望のインパルス応答の少なくとも最初の部分を処理するように構成された時間領域低レイテンシィフィルタであり、かつ長いフィルタモジュールが所望のインパルス応答の続く部分を処理するように構成された高速畳み込み長レイテンシィフィルタであるデジタルフィルタ。
【請求項１６】
前記フィルタモジュールの数がフィルタF1,F2...FNを含むＮであり、そのフィルタモジュールF1が時間領域技術で実現される非常に低いレイテンシィのフィルタであり、他の全てのフィルタFi（２≦ｉ≦Ｎ）が高速畳み込み技術で実現されたフィルタであり、それぞれのフィルタFiは先行するフィルタの長さより長いフィルタであって、それぞれ長いレイテンシィ（ｄ）を有し、diをフィルタFiの遅延とし、liをフィルタFiのレイテンシィとして、di+1＝di＋liの性質を保持し、それによってＮ個の構成要素フィルタの出力が合計されることによって形成される複合フィルタ出力が実質的に連続インパルス応答を形成することを確実にする請求項15記載のデジタルフィルタ。
【請求項１７】
長いインパルス応答と低レイテンシィを備えたデジタルフィルタを構築する方法において、いくつかの小さな構成要素フィルタを並列に動作させてそれらの出力を加算して結合させ、その際、各構成要素フィルタは異なる遅延で動作し、構成要素フィルタの全体の正味動作が長いインパルス応答の単一のフィルタと同じであり、さらに、フィルタの組み合わせたもののレイテンシィが構成要素フィルタの最短のレイテンシィに等しくなるように結合させる方法であって、前記構成要素フィルタのいくつかが乗算及び加算オペレーションを構築する時間領域有限インパルス応答フィルタとして実現され、前記要素の残りが高速畳み込みフィルタとして実現され、前記時間領域フィルタが、組み合わされたインパルスの最も低いレイテンシィを提供し、前記高速畳み込みフィルタが長いフィルタ要素を提供し、かつ前記畳み込みフィルタが離散フーリエ変換又は高速フーリエ変換を用いて形成され、前記構成要素フィルタの最初のものが前記低レイテンシィに構成され、他の構成要素フィルタの少なくもと一つが長いフィルタ長さに構成されることを特徴とする方法。
【請求項１８】
フィルタするための入ってくる入力信号を並列に受信する複数のフィルタモジュールを有し、そのフィルタモジュールのそれぞれからの出力を合計して複合フィルタリングされた出力信号を生成し、前記各フィルタモジュール複合フィルタのインパルス応答の選択された部分であるインパルス応答を有する複合電気フィルタであって、フィルタモジュールの数がフィルタF1,F2、...FNを含むＮであり、フィルタF1が時間領域技術で実現される非常に低いレイテンシィを有するフィルタで、他の全てのフィルタFiがそれより長いレイテンシィを備える高速畳み込みで実現され、それらの高速畳み込みフィルタFiが一連のフィルタとして構成され、それぞれがその前のものより長さが長いフィルタを備えており、ｄｉをフィルタFiの遅延とし、liをフィルタFiのレイテンシィとして、di+1＝di＋liを保持しており、それによって、Ｎ個の構成要素フィルタの出力を合計することによって得られる前記複合フィルタＦの出力が全体の組み合わされたインパルス応答を有することが補償される複合電気フィルタ。
【発明の詳細な説明】
本発明の分野
本発明は，電子信号処理技術、より詳細にであるが排他的ではない比較的高精度及び高効率が望まれ、かつ比較的短いフロースルー遅延（“レイテンシィ（latency）”と称される）が望まれる電子フィルタリング環境に関する。
従来技術の説明
図１に関して、電子フィルタは、入力する電子信号の特性を修正し、ある決められた態様の修正された出力信号を供給するために使用される。図１の場合では、周波数領域において入力する信号S1のスペクトル内の周波数が出力信号S2を生じるためにF1〜F2帯域で減衰される“ノッチ”フィルタが示される。
このようなフィルタは完全なアナログ構成要素で実現されていたが、より最近では、多くの環境において、ディジタル方式でフィルタを実現する選択がある。ディジタルによる実施は、専用ディジタル回路を使用するか、フィルタとして作動されるようにプログラムミングされたコンピュータ（マイクロプロセッサ）によってなされ得る。
フィルタは、実世界の状態を電子的にモデリングする分野に多くのアプリケーションを有する。例えば、フィルタは、部屋又はホールの音響特性のモデルを提供するために使用され得る。フィルタはまた、欠陥によって引き起こされた信号の不完全性を取り除く、すなわち解消するために適当は補正係数を適用するためにシステムの欠陥をモデル化するために使用される。
しばしば、このような処理は、“実時間”で行われることが望ましい。また、実際の／生の環境で発生された信号をフィルタする際遅延がなく、フィルタによって実行されるモデル化／補正化ステップを事実上エンドユーザが気づくほどのいかなる遅延もないことが望ましい。
これを達成するために、フィルタＦによって導入された遅延は、それがそのフィルタリング関数を実行する間、ごくわずかの数量に減少されねばならない。すなわち、信号S1が最初にフィルタＦに与えられる時間と、信号S1の最初の入力部のフィルタＦによるフィルタリングの結果がフィルタの出力S2で使用可能になる時間とは、ほとんど同じにならなければならない。これらの事象間の遅延は、以下、フィルタシステムの“レイテンシィ”と称する。
フィルタＦがディジタル方法で実現される場合、（アナログ／ディジタル変換器を介して）入力信号S1をサンプルし、次にフィルタリング関数を実行し、そして次に（ディジタル／アナログ変換器によって）ディジタル信号をアナログ信号に変換する。このサンプリング処理は、所定の間をおいた時間間隔t1で入力信号のサンプルをとる。各サンプル間の時間は通常同じである。
サンプリング処理そのものは有限な遅延をシステムに導入する。さらに、フィルタは、一般の高速畳み込み技術の一つによって実現される場合、非常に一般的な用語では、フィルタの精度（又は長さ）に比例する導入された遅延がある。
数学的には、フィルタリング演算（すなわち、出力信号S2を生じるために入力信号S1にフィルタ特性を課するステップ）は、時間領域内での“畳み込み”として公知である。時間領域の畳み込みのステップは、周波数領域の乗算演算になる。すなわち、もし入力信号S1は最初にサンプルされるならば、フーリエ変換が周波数領域で行われ、フィルタＦの周波数応答は、信号S1のフーリエ変換と乗算されるベクトルである。次に、この信号は、（もし必要ならば、アナログ形式に変換され得る）サンプルされた（畳み込みされた）出力を発生するために逆フーリエ変換される。
図２は、畳み込み器（また有限インパルス応答（FIR）フィルタとして公知である）は、（サンプルされたデータの処理に関して演算する畳み込み器のために）測定されるそのインパルス応答｛ak｝を有する。物理的フィルタに対して、ａkは、全てのｋ＜０に対して０である。一般の入力シーケンス｛xk｝に対して、フィルタの出力｛Yk｝は下記のように規定される。
0003636361.tif 000002
このような線形フィルタは、下記のように規定される測定可能なレイテンシィｄを有する。
ad≠０及び
全てのｋ＜ｄに対してak＝０                （２）
言い換えれば、adは出力シーケンスの最初の非ゼロ値である。レイテンシィｄは、物理的システムでは決して負ではない。同様な方法で、有限インパルス応答フィルタに対して、どれが出力シーケンスで最後の非ゼロ値であるかを決定することができる。これは、インパルス応答の長さを与える。長さｌを読み出すならば、これは、ad+1-1が出力シーケンスの最後の非ゼロ値であることを意味する（図３を参照）。
FIRフィルタを実現するための典型的な方式は２つのカテゴリーに分類される。
1.各新しい入力サンプルが到達するとき各出力サンプルを計算する時間領域フィルタ、したがってｄ＝０又はｄ＝１と同様に低いレイテンシィを可能にする。典型的なフィルタ長さ（ｌ）は短い。
2.ブロックの多数の出力サンプルを計算する高速畳み込み器フィルタ。典型的な長さ（ｌ）は長い。最低の達成できるレイテンシィは、通常、フィルタ長さ、ｄ≒ｌ÷Ｋ又は
Ｋ≒ｌ÷ｄ                                （３）
に関連される。
ここで、Ｋ＝使用される特定のアルゴリズムの効率の尺度である。図４及び図５に示されるような一般に使用される高速畳み込みアルゴリズムに対するＫの典型的な値は0.5である。
本発明の簡単な説明
本発明の少なくとも好ましい実施例の目的は、所与の長さに対して、他の方法によって通常発生されるよりも比較的高効率を得るようにディジタルサンプルされたデータに関して比較的長い畳み込みを実行するための方法及び装置を提供することにある。
この明細書では、フィルタ特性は、重畳の原理が適用されることができるようにおよそ線形としてモデル化されると仮定される。
したがって、本発明の一つの一般的形式では、多数のより小さい構成要素フィルタの全体の正味動作がより長いインパルス応答を有する単一のフィルタと同一であり、かつ全体のレイテンシィが前記構成要素フィルタの最短のレイテンシィに等しいように、前記構成要素フィルタが並列に作動し、異なる遅延で作動する各構成要素フィルタの出力を加算することによって結合して形成される長いインパルス応答及び低いレイテンシィを有するフィルタが提供される。
好ましくは、構成要素フィルタは異なる方法で実現される。その際、全体のフィルタが低いレイテンシィ及び長いインパルス応答特性を提供するように、いくつかのフィルタが低いレイテンシィを与え、いくつかがより長いフィルタ長を提供するようにする。
好ましくは、１つまたはいくつかの構成要素フィルタは、（乗算演算及び加算演算によって形成される）時間領域有限インパルスフィルタとして実現され、残りを高速畳み込み方法を使用して実現して、時間領域フィルタが全体のインパルス応答の最低レイテンシィ部分を与え、高速畳み込みフィルタがより長いフィルタ構成要素を与えるようにする。
好ましくは、高速畳み込みフィルタは、離散的フーリエ変換又は高速フーリエ変換を使用して形成される。
他の好まれる形式では、高速畳み込みフィルタは、本明細書で記載されているような修正された離散的フーリエ変換を使用して形成される。
好ましくは、構成要素フィルタの１つ以上のグループは、同一の長さの変換を使用して各グループの構成要素フィルタとともに高速畳み込み技術を使用して実現し、その際唯一の変換演算を各グループに対して実行して、各グループの構成要素フィルタがそれぞれの変換演算から変換された出力を共有するようにする。
他の好まれる形式では、構成要素フィルタの１つ以上のグループは、同一の長さの変換を使用して各グループの構成要素フィルタとともに高速畳み込み技術を使用して実現し、その際唯一の逆変換演算を各グループに対して実行して、各グループの構成要素フィルタからの出力がそれぞれの逆変換演算に送られる前に合計されるようにする。
さらに他の好まれる形式では、構成要素フィルタの１つ以上のグループは、同一の長さの変換を使用した各グループの構成要素フィルタとともに高速畳み込み技術を使用して実現され、その際、唯一の変換演算を各グループに対して実行して、各グループの構成要素フィルタはそれぞれの変換演算から変換された出力を共有するようにし、及び構成要素フィルタの１つ以上のグループは、同一の長さの変換を使用して各グループの構成要素フィルタとともに高速畳み込み技術を使用して実現され、その際、唯一の逆変換演算を各グループに対して実行して、各グループの構成要素フィルタからの出力がそれぞれの逆変換演算に送られる前に合計されるようにする。
本発明の他の一般的形式では、多数のより小さい構成要素フィルタの全体の正味動作がより長いインパルス応答を有する単一のフィルタと同一であり、かつ全体のレイテンシィが前記構成要素フィルタの最短のレイテンシィに等しいように、各構成要素フィルタを並列に動作させ、異なる遅延で作動する各構成要素フィルタを加算することによってそれらの出力を結合して、長いインパルス応答及び低いレイテンシィを有するフィルタを形成する方法が提供される。
好ましくは、構成要素フィルタは、集団フィルタが低いレイテンシィ及び長いインパルス応答特性の両方を提供するように低いレイテンシィを与えるように適合される幾つかのフィルタ及びより長いフィルタ長を提供するように適合される他のフィルタによって異なる方法で実現される。
好ましくは、１つまたはいくつかの構成要素フィルタは、（乗算演算及び加算演算によって形成される）時間領域有限インパルスフィルタとして実現され、残りを高速畳み込み方法を使用して実現して、時間領域フィルタが全体のインパルス応答の最低レイテンシィ部分を与え、高速畳み込みフィルタがより長いフィルタ構成要素を与えるようにする。
好ましくは、高速畳み込みフィルタは、離散的フーリエ変換又は高速フーリエ変換を使用して形成される。
好ましくは、高速畳み込みフィルタは、本明細書で記載されているような修正された離散的フーリエ変換を使用して形成される。
好ましくは、構成要素フィルタの１つ以上のグループは、同一の長さの変換を使用して各グループの構成要素フィルタとともに高速畳み込み技術を使用して実現し、その際唯一の変換演算を各グループに対して実行して、各グループの構成要素フィルタがそれぞれの変換演算から変換された出力を共有するようにする。
他の好まれる形式では、構成要素フィルタの１つ以上のグループは、同一の長さの変換を使用して各グループの構成要素フィルタとともに高速畳み込み技術を使用して実現し、その際唯一の逆変換演算が各グループに対して実行して、各グループの構成要素フィルタからの出力がそれぞれの逆変換演算に送られる前に合計されるようにする。
さらに他の好まれる形式では、構成要素フィルタの１つ以上のグループは、同一の長さの変換を使用した各グループの構成要素フィルタとともに高速畳み込み技術を使用して実現され、その際、唯一の変換演算を各グループに対して実行して、各グループの構成要素フィルタはそれぞれの変換演算から変換された出力を共有するようにし、及び構成要素フィルタの１つ以上のグループは、同一の長さの変換を使用して各グループの構成要素フィルタとともに高速畳み込み技術を使用して実現され、その際、唯一の逆変換演算を各グループに対して実行して、各グループの構成要素フィルタからの出力がそれぞれの逆変換演算に送られる前に合計されるようにする。
本発明のさらに他の一般的形式では、連続的なサンプルａ、ｂ、ｃ、d....の重複されたグルーピングをフィルタするためのディジタルフィルタが提供される。そのフィルタは、長さｍの変換プロセッサと、各々が長さｋのＮ個のフィルタプロセッサと、Ｎ個のフィルタプロセッサから並列に供給された出力を合計する加算器と、長さｍの逆変換プロセッサとを備えている。前記連続的なサンプルａ、ｂ、ｃ、ｄは、長さｍのブロックで供給される。前記ブロックの各々は、前記変換プロセッサを通って、次に前記Ｎ個のフィルタプロセッサのそれぞれを通る。その際、前記Ｎ個のフィルタプロセッサの第１のフィルタプロセッサを通る前の遅延はゼロであり、第２のフィルタプロセッサを通る前にはｋの遅延を有し、以下、第Ｎ番目のフィルタプロセッサを通る前に（Ｎ−１）ｋの遅延を有する。それによって、有効長Nkのフィルタは、長さｋの従来のフィルタのレイテンシィに対応するレイテンシィを達成する。
本発明の他の一般的形式では、比較的大きな長さ／レイテンシィ効率Ｋを有するフィルタを実現する方法が提供される。その方法は、入力データの漸増する、連続的な、重複する部分を周波数領域に変換して対応する変換されたデータを生じ、その対応する変換されたデータを記憶し、前記変換されたデータの部分を連続的に変換プロセッサを通す。第１のフィルタ関数プロセッサを通って第１の変換された部分を供給し、次に、その第１の変換された部分を第Ｎ−１番目の変換された部分が前記第１のフィルタ関数プロセッサを通して供給されている間に第Ｎ−１番目のフィルタ関数プロセッサを通って供給することを継続して、連続的に移動する入力データのＮ個の連続ブロックが変換され、かつＮ個のフィルタ関数プロセッサを通り、前記Ｎ個のフィルタ関数プロセッサからの出力を加算し、前記出力を逆変換し、必要とするような廃棄操作を実行して、フィルタされた出力データの連続的な部分を前記入力データの漸増する連続的で重複する部分から生じる。
本発明の他の一般的形式では、比較的大きな長さ／レイテンシィ効率Ｋを有するフィルタを実現する方法が提供される。その方法は、対応する変換されたデータを生じるために入力データの漸増する連続的で重複する部分に数学的変換を適用し、前記変換されたデータの個々のデータ（すなわち２つ以上）に数学的演算を実行し、結果データを生じるために前記数学的演算から生じるデータに（付加により）重畳し、フィルタされた出力データを生じるために前記結果データに逆数学的変換を適用することからなる。
好ましくは、各前記フィルタ関数プロセッサは、そのインパルス応答が変換プロセッサの長さの半分であるフィルタを処理する。
好ましくは、前記変換プロセッサは高速フーリエ変換プロセッサで、前記逆変換プロセッサは逆高速フーリエ変換プロセッサで、前記フィルタ関数プロセッサは、全フィルタのための所望のインパルス応答の選択された部分に対応するインパルス応答を有する変換された入力データの乗算演算によって実行される。
好ましくは、前記方法は最適化され、それによっておよそ等しい処理時間量がフィルタ関数（乗算）演算のようにフーリエ変換に費やされる。
本発明の他の一般的形式では、比較的大きな長さ／レイテンシィ効率Ｋを有するフィルタを実現する方法が提供される。その方法は、対応する変換されたデータを生じるために入力データの漸増する連続的な重複する部分を周波数領域に変換し、前記変換された信号の個々の信号に数学的演算を実行し、前記数学的演算から得られる連続信号に（加算による）重畳し、周波数領域から得られた信号を時間領域に逆変換し、前記信号を出力することからなる。
好ましくは、前記変換プロセッサは高速フーリエ変換プロセッサで、前記逆変換プロセッサは逆高速フーリエ変換プロセッサである。
好ましくは、前記数学的演算は、フーリエ変換された入力信号セグメントと所望の（時間領域）フィルタ特性の周波数応答とのベクトル乗算である。
好ましくは、基礎となる操作は、入力データの連続する重複部分に対する重複及び廃棄操作である。
その代わりに、基礎となる操作は、入力データの連続する重複部分に対する重複及び加算操作である。
特定の好まれる形式では、入力サンプルのいかなる所与の重複ブロックのフーリエ変換も、一度だけ行われ、必要とされるときは再使用される。
好ましくは、フィルタされたデータのいかなる所与の合計されたグルーピングの逆フーリエ変換も一度だけ実行される。
特定の好しい形式では、前記方法は、複合電気フィルタのフィルタモジュールの少なくとも幾つかを実現するために使用される。前記複合電気フィルタは、フィルタするための入ってくる入力信号を受信するように配置される複数のフィルタモジュールを備え、前記フィルタモジュールの各々からの出力は、複合フィルタされた出力信号を生じるように合計され、前記フィルタモジュールの各々は複合フィルタのインパルス応答の選択された部分であるインパルス応答を有するように適合される。
インパルス応答の選択された部分の重複を最小にするか又は全く重複させないようにすることが好ましい。
好ましくは、前記フィルタモジュールの各々の長さは、前記インパルス応答の最初の（又は初期の）部分を処理するように適合されたより短い長さのフィルタモジュール及び前記インパルス応答の次の（又は後の）部分を処理するように適合されたより長い長さのフィルタモジュールの特性と異なる。
好ましくは、前記より長い長さのフィルタモジュールは前記インパルス応答のより長い部分を順にフィルタするように適合される。
特定の好まれる形式では、前記複数のフィルタモジュールの最短モジュールは、時間領域（低いレイテンシィ）フィルタであるが、前記フィルタモジュールの追加モジュールが前述の高速フーリエ変換法又は他の伝統的な高速畳み込み法を使用して実現されるより長い高速畳み込み（より長いレイテンシィ）フィルタである。
本発明の少なくとも他の好ましい実施例の目的は、通常他の方法で受けられたよりも比較的低いレイテンシィを提供するためにディジタルのサンプルされたデータに関する比較的長い畳み込みを実行するための方法及び装置を提供することにある。
フィルタ特性は重畳の原理が適用され得るようにおよそ線形としてモデル化され得るものと仮定される。
したがって、本発明のさらに他の一般的形式では、フィルタするための入ってくる入力信号を並列に受信するように配置される複数のフィルタモジュールを備える複合電気フィルタが提供される。前記フィルタモジュールの各々からの出力は、複合フィルタされた出力信号を生じるために合計され、前記フィルタモジュールの各々は複合フィルタのインパルス応答の選択された部分であるインパルス応答を有するように適合される。
インパルス応答の選択された部分の重複を最少にするか又は全く重複させないようにすることが好ましい。
好ましくは、前記フィルタモジュールの各々の長さは、前記インパルス応答の最初の（又は初期の）部分を処理するように適合されたより短い長さのフィルタモジュール及び前記インパルス応答の次の（又は後の）部分を処理するように適合されたより長い長さのフィルタモジュールの特性と異なる。
好ましくは、前記より長い長さのフィルタモジュールは前記インパルス応答のより長い部分を順にフィルタするように適合される。
特定の好まれる形式では、前記複数のフィルタモジュールの最短モジュールは、時間領域（低いレイテンシィ）フィルタであるが、前記フィルタモジュールの追加モジュールは長い高速畳み込み（より長いレイテンシィ）フィルタである。
好ましくは、最短の前記フィルタモジュールのみが時間領域フィルタである。
他の特定の好まれる形式では、前記フィルタモジュール数は、フィルタF1、F2...FNを含むＮである場合、フィルタモジュールF1は、時間領域技術で実現されるが、全ての他のフィルタモジュールFiが高速畳み込み技術で実現され、かつこれらの高速畳み込みフィルタF1は、各々がその先行者よりも長いフィルタ長を有し、かつそれ故により長いレイテンシィを有するがなおdi+1＝di＋liである特性を保持する一連のフィルタからなり、それによってＮ個の構成要素フィルタ出力を一緒に合計することによって形成される複合フィルタＦの出力がそれの中にいかなる“ホール”もないインパルス応答を有することが保証される。
本発明の他の一般的形式では、データの比較的長い長さであるが短いレイテンシィのフィルタリングを達成するためにサンプルデータをフィルタリングする方法が提供される。その方法は、複数のサブフィルタを通って並列に前記データを送り、フィルタされたサンプルデータを生じるために前記サブフィルタの全てからの出力サンプルを合計し、前記サブフィルタの各々のインパルス応答は、前記サンプルデータから前記フィルタされたサンプルデータを生じるのに必要とされるフィルタ特性の所望のインパルス応答の選択された部分であり、各々の前記選択された部分は、合計されるとき、前記サブフィルタの全てからの出力が前記所望のインパルス応答を有するフィルタによってあたかもフィルタされるように挙動するように前記サブフィルタの各々のために選択される。
本発明の特定の実現では、実数のストリングを効率的に変換するように適合されるフーリエ変換プロセッサを組み込む方法及びフィルタが提供される。前記プロセッサは下記の方法により作動する。
1.長さＮの入力ベクトルｘ（ｋ）をとる。ここで、ｘ（ｋ）の各要素は実数である。
2.下記の式の適用によりベクトルｘ′（ｌ）、長さN/2の複素ベクトルを形成する。
０≦ｌ＜N/2に対して
0003636361.tif 000003
3.下記のN/2の複素結果ベクトルｚ（ｐ）を与えるためにｘ′（ｌ）のN/2点DFTを計算する。
Ｚ（ｐ）＝DFT（N/2）［ｘ′（ｌ）］        （10）
いま、本発明の実施例は添付図面に関して説明される。
【図面の簡単な説明】
図１は、周波数領域のフィルタ動作の一般化されたブロック図であり、
図２は、畳み込みフィルタのために使用される基本的用語を規定し、
図３は、図２のフィルタのレイテンシィ及び長さを規定し、
図４は、高速フーリエ変換方法によるサンプルされたデータを処理する従来の方法を図表のフローチャート形式で示し、
図５は、図４の方法をさらに示し、
図６、７、８は、図４の方法と比較すると比較的高効率係数Ｋが達成される、本発明の一般化された第１の実施例によるフィルタリングの方法を示し、
図９は、サブフィルタ数は６である図８の方法を実現する本発明の実施例の図、
図10は、その一部が図８のフィルタによって実現され得ることが有利である合計されたフィルタをブロック図形式で示し、
図11は、その多くが図８の方法を実現するサブフィルタを組み込む図10の合計されたフィルタのブロック図であり、
図12は、５つのフィルタ部分を使用した図10のフィルタ配置例による入力信号の処理方法を示し、
図13は、図12のフィルタのフィルタ特性の選択方法を示し、
図14は、図８の合計されたフィルタの他の実施のブロック図であり、
図15は、図12のフィルタF2〜F5に適している（従来の）高速畳み込みアルゴリズム実現の典型的なフローを示し、
図16は、実数ストリングを処理するように最適化されるフーリエ変換アルゴリズムの説明のための基礎を形成するDFTエンジンを示し、図17は、図10の合計されたフィルタが修正された離散的フーリエ変換を使用して実現される本発明の他の実施例のブロック図である。
本発明の好ましい実施例の詳細な説明
1.高効率フィルタ
図４は、典型的な高速畳み込みアルゴリズムの時間フローを示す。これは、高速フーリエ変換（FFT）を使用して実現された重複−廃棄アルゴリズムである。時間セグメントａ及びｂの間に到達する2Mワードの入力データは、正FFT、ベクトル乗算及び逆FFTによって時間セグメントｃの間に完全に処理される。得られるＭワードの出力データはバッファされ、時間セグメントｄの間に出力される。FFT及び逆FFT（IFFT）は、時間領域と周波数領域間のデータを変換するために使用されるだけである。実際のフィルタ動作は、全計算時間の何分の１だけを実際かかるベクトル乗算演算で実行される。それで、図４のフィルタの関連パラメータは、
長さ＝Ｍ、
レイテンシィ＝2M、
及び、したがって、ｋ＝0.5である。
図６、７及び８に関して、本発明の少なくとも一つの実施例による方法及び装置の背後の基本的原理が得られる。
図６は、構成要素フィルタF1、F2...Fnの各々のフィルタ特性が全フィルタアセンブリのための所望のフィルタ特性の別々の個別の構成要素の部分である長さMLのフィルタを示す。加算後の出力Ykが、フィルタF1、F2...のそれぞれのフィルタ特性から導かれるフィルタ特性を持つ一つのフィルタを入力サンプルXkが通過したのと同じになるように、それぞれのフィルタに遅延Ｌ、2L...（Ｍ−１）が示されるように与えられている。図７は、図５の高速フーリエ変換アルゴリズムを使用して図６のフィルタF1、F2...を実現することによって得られる。
図８では図７のフィルタを再構成して、唯一つの高速フーリエ変換モジュール11及び一つの逆高速フーリエ変換モジュール12の使用を可能にする。この高速フーリエ変換モジュールが、図８に示されるようにフィルタのフィルタ１、フィルタ２、フィルタ3...の各々の長さの２倍に等しい入力xkからのサンプルのブロックを処理するように適合されることは暗黙で示されている。
前述のように、各連続的なフィルタF1、F2...のフィルタ特性（インパルス応答）は、全フィルタモジュールの所望されたインパルス応答から選ばれ、かつその応答から連続的な対応する部分に対応する。
各高速フーリエ変換されたデータのブロックが次のフィルタを通って送られる前の時間遅延Ｌは、高速フーリエ変換モジュールによって最初に処理されるサンプル長の半分に等しい。
図９は、図４と同様の形式で図６、７及び８で得られる改良された長さ／レイテンシィ効率方法を使用した出力データの１ブロックの計算を示す。図９によって使用されるような図８の方法は下記に要約される。
時間セグメントｈ中、時間セグメントｆ及びｇの間に到達した入力データは高速フーリエ変換され、かつ周波数領域入力データの得られたブロックは将来の使用のために記憶される。次に、逆高速フーリエ変換され、かつ時間セグメントｉ中、出力として与えられる周波数出力データの次のブロックを計算する。高速畳み込みを計算する古い方法は、周波数領域入力データの最新ブロックを単に受け取り、新しい周波数領域出力データを与えるためにそれと所望されるフィルタ応答を表すベクトルとを乗算していた。改良された長さ／レイテンシィ効率方法は、図９に示されるような新しい周波数領域出力データブロックを計算するために多数の前の周波数領域入力データブロックを使用する。この例では、フィルタデータのブロックは、フィルタＡ、フィルタＢ、...フィルタＦと呼ばれる。この例では、実現されるフィルタは、図４で実現されるフィルタの６倍の長さであるがより大きなレイテンシィを有しない。図４と比較すると、図９のフィルタの関連するパラメータは、
長さ＝6M、
レイテンシィ＝2M、
及び、したがって、Ｋ＝３である。
図３は、図９の実施例の実現の背後の論理を要約する。
特に、図８の漸増する遅延Ｌ、2L、3L、...（Ｍ−１）Ｌは、連続的なａ、ｂ、ｃ、ｄの遅延され、重複されたグルーピングを取り込むことによって図９で達成されることは注目される。
前述のフィルタ配置は、図10で示されるような低いレイテンシィFIRフィルタで使用され得ることが有利である。
図10は、Ｎ個のフィルタを一緒に加えることによってFIRを実現するアーキテクチャを示す。もし各フィルタが、フィルタFi、レイテンシィdi、長さliと特徴付けられるならば、一般にＮ個のフィルタは、そのレイテンシィは上昇順に順序付けられ、さらにdi+1＝di＋liであるように選ばれる。これは、フィルタFi+1のインパルス応答の最初の非ゼロ値が、フィルタFiのインパルス応答の最後の非ゼロ値の次に直ぐ現れることを意味する。したがって、このフィルタの加算の結果が、Ｎ個の構成要素フィルタのインパルス応答の和であるそのインパルス応答を有する単一のより長いフィルタを生じる。
このフィルタの重要な特性は、構成要素フィルタ効率のどれよりも高い長さ／レイテンシィ効率Ｋである。
すなわち、図10のフィルタは、幾つかのフィルタを一緒に加え、構成要素フィルタの長さの和と同じ長さで、そのレイテンシィが最低レイテンシィの構成要素フィルタのレイテンシィと同じ短かさの新しいフィルタを形成する技術を使用する。
図11は、３つのフィルタモジュールF1、F2、F3がある図10の低レイテンシィフィルタ10の実現を示す。第１のモジュールF1は、低レイテンシィ（ｄ＝０）時間領域であるが、フィルタF2及びF3は、図８及び図９に関して説明された実施例により実現される。
2.低レイテンシィFIRフィルタ
前述のように、図10は、Ｎ個のフィルタを一緒に加えることによってFIRフィルタを実現するためのアーキテクチャを示す。もし各フィルタが、フィルタFi、レイテンシィdi、長さliと特徴付けられるならば、一般にＮ個のフィルタは、そのレイテンシィは上昇順に順序付けられ、さらにdi+1＝di＋liであるように選ばれる。これは、フィルタFi+1のインパルス応答の最初の非ゼロ値が、フィルタFiのインパルス応答の最後の非ゼロ値の次に直ぐ現れることを意味する。したがって、このフィルタの加算の結果が、Ｎ個の構成要素フィルタのインパルス応答の和である、そのインパルス応答を有する単一のより長いフィルタを生じる。
このフィルタの重要な特性は、構成要素フィルタ効率のどれよりも高い長さ／レイテンシィ効率Ｋである。
すなわち、図10及び図12のフィルタは、幾つかのフィルタを一緒にして、構成要素フィルタの長さの和と同じ長さで、そのレイテンシィは最低レイテンシィの構成要素フィルタのレイテンシィと同じ短かさの新しいフィルタを形成する技術を使用する。
特に、図12の複合フィルタアセンブリは、レイテンシィを最小にすると同時にフィルタの長さを最大にするために第１の時間領域（低レイテンシィ）フィルタと追加の高速畳み込み（より長いレイテンシィ）フィルタとを結合する技術を使用する。この技術はＮ個のフィルタF1、F2...FNを加えることによって実現される。ここでF1が時間領域技術で実現される非常に低いレイテンシィを有するフィルタであり、他のフィルタFiは各々高速畳み込み技術で実現される。より詳細には、アセンブリは、Ｎ−１個の高速畳み込みフィルタFiは、各々はその先行者よりも長いフィルタ長を有し、それ故に各々はより長いレイテンシィを有するが、di+1＝di＋liである特性をなお保持する一連のフィルタからなる技術を採用している。これは、Ｎ個の構成要素フィルタを加えることによって形成されるフィルタＦがいかなる“ホール”もなしにインパルス応答を有することを保証する。
特に図12を参照すると、複合フィルタＦは、５つのフィルタ部分F1、F2、F3、F4及びF5を含む。複合フィルタＦのインパルス応答akは図12の上部に示され、かつ全サンプル長1024のサンプルを有する。
フィルタF1は、インパルス応答akの最初の64サンプルを含むインパルス応答を有する。すなわち、このフィルタは64サンプル長を有する。実現されるようなフィルタは、（集積回路のDSP56000シリーズに関してモトローラドキュメントAPR7/Dで参照されるような）低レイテンシィフィルタを有する。このフィルタは０の有効レイテンシィを有する。
続くフィルタF2、F3、F4、F5は、高速畳み込みディジタル技術を使用して実現される。図15は、入力するサンプルされたデータの高速フーリエ変換の受け入れ、変換されたデータサンプルとフィルタのインパルス応答とを乗算し、逆高速フーリエ変換の使用によって高速フーリエ変換されたデータサンプルを時間領域に変換し、次にデータを出力することからなる技術のための基本アルゴリズムを示す。重複／廃棄方法が使用される。それによって出力データの一部だけが使用される。
追加のフィルタF2、F3、F4、F5の長さ及びレイテンシィは、図13に図表で示されている規則により選択される。それによって、各フィルタ部分は、直ぐ前のフィルタ部分の長さ及びレイテンシィの和に等しいレイテンシィを有する。
この場合、最終結果は、全長1024のサンプル及び０のレイテンシィを有するフィルタである。
図14は、フィルタアルゴリズムが周波数領域に適用された後に遅延が導入される図９のフィルタの変化を示す。
3.最適化された実数ストリング処理
図16を参照すれば、周波数分析の共通の方法は、高速フーリエ変換アルゴリズム（以下、FETと呼ばれる）を使用して電子装置で効率的に実現され得る離散的フーリエ変換（以下、DFTと呼ばれる）によってである。
その入力データ及び出力データは両方とも（実数及び虚数成分を有する）複素数であるとき、DFTは効率的に作動するように公式化される。DFTへのデータ入力が実数のとき、演算からの出力データは、この出力データへ導く処理の幾つかは不必要であることを指示するある冗長度を含む。
この実施例では、説明されることは、DFTと同じアプリケーションの多くを有するが実数演算のためにDFTの効率の悪さがないディジタル環境で実数演算するための新しい変換である。この文書のために、ここで説明されているアルゴリズムは修正された離散的フーリエ変換（MDFT）である。
このDFTは下記の式により計算される。
0003636361.tif 000004
もし入力データｘ（ｋ）が実数であるならば（すなわち、それは虚数成分を有しない）、出力データＸ（ｎ）は下記の特性を有する。
0003636361.tif 000005
ここで、＊演算子は複素共役を示すために使用される。これは、Ｘ（０）の虚数部、Ｘ（N/2）の虚数部及び全て｛Ｘ（ｎ）:N/2＜ｎ＜Ｎ｝は冗長であることを意味する。したがって、DFT出力から必要な情報だけを抽出する処理は平凡でない。
代わりの変換は下記に示される。
0003636361.tif 000006
これは、出力ベクトルＹ（ｎ）がDFTに対する異なる周波数での信号の周波数成分を表すことを除いて標準DFTと同様である。データの冗長部分がＸ（ｎ）からＹ（ｎ）からよりはっきりと抽出されることを除いて、出力ベクトルＹ（ｎ）は、（丁度DFT出力Ｘ（ｎ）が有するように）冗長度を有する。ｘ（ｋ）が実数であるとき、生じるＹ（ｎ）の冗長度は下記のように表され得る。
Ｙ（ｎ）＝［Ｙ（Ｎ−２）］”              （４）
これは、このベクトルＹ（ｎ）の２番目の半分は単に最初の半分の複素共役であるので、ｘ（ｎ）が実数であるとき、出力ベクトルの最初の半分だけが情報の全てを含むことが必要とされることを意味する。
上記の式の他の考察は、ベクトルの奇数要素の全てが単に偶数要素の複素共役であることである。すなわち、
0003636361.tif 000007
これは、実信号ｘ（ｋ）の修正されたDFTから必要とされる情報の全てを得るためにＹ（ｎ）の偶数要素を計算する必要だけがあることを意味する。Ｙ（ｎ）からの偶数要素を含むアレイを下記のようにアレイＺ（ｐ）と名付ける。
０≦ｐ＜N/2に対して、Ｚ（ｐ）＝Ｙ（2p）   （６）
Ｙ（ｎ）に対する上記の式に基づいて、下記の式を得る。
0003636361.tif 000008
ある操作の後に次のようになる。
0003636361.tif 000009
Ｎ長の実ベクトルからN/2長の複素ベクトルを形成するならば、
０≦ｌ＜N/2に対して、
0003636361.tif 000010
下記のようになることが分かる。
Ｚ（ｐ）＝DFT（N/2）［ｘ′（ｌ）］        （10）
これは、長さN/2のDFTを使用することによってベクトルＺ（ｐ）が計算されたことを意味する。
Ｚ（ｐ）＝MDFT［ｘ（ｋ）］（ここで、MDFTは修正された離散的フーリエ変換演算子を示す。）
Ｚ（ｐ）の計算の後に続く手順は下記のようになる。
1.長さＮの入力ベクトルｘ（ｋ）を調べる。ここで、ｘ（ｋ）の各要素は実数である。
2.ベクトルｘ′（ｌ）、すなわち長さN/2の複素ベクトルを上記の式（９）の方法によって形成する。
3.N/2の複素結果ベクトルＺ（ｐ）を与えるためにN/2点DFTを計算する。このMDFTは、DFTに対する同様な適用にそれを有用にする多くの特性を有する。第１に、それは、DFTと同様な方法で線形畳み込みを実行するために使用され得る。第２に、正変換と非常に類似している逆変換を有する。すなわち、
ｘ′（ｋ）＝IDFT（N/2）［Ｚ（ｐ）］       （11）
ここで、IDFTは、N/2点逆離散的フーリエ変換を示す。
このアルゴリズムは、Ｎ個の実数セットを供給され、かつ入力データのMDFTを表すN/2の複素出力数を発生する電子装置で実現され得る。この装置は、前述のように算術演算の各々を実行するためにディジタル演算素子を使用する。
本発明の他の実施例は、一対の装置である。この一対の装置の第１は、前述のパラグラフで説明したようにMDFTを計算し、その第２は、前述した演算手順を使用して逆MDFTを計算する。入力データの連続的なストリームからの重複されたデータのブロックをMDFTコンピュータを通して送り、次に、Ｚ（ｐ）の係数と適当なフィルタ係数を乗算し、次に、その結果のデータを逆MDFTコンピュータを通して送り、出力データのセグメントを適当に再結合することによって、修正された高速畳み込みプロセッサが形成され得る。
上記には、特に多数のアプリケーションにそれをより有用にするが前述の実時間フィルタアプリケーションに限定されないDFTに対する修正を説明した。DFTに対するこれらの拡張の全てはまた、FFTアルゴリズム及びDFTの他の高速インプリメンテーションに適用され得る。
例１
図17は、直ぐ前に説明された修正された離散的フーリエ変換（MDFT）がデータストリームを周波数領域へ変換する目的のために適用され、対応する逆修正された離散的フーリエ変換（IMDFT）がフィルタアルゴリズムの適用の後で、かつ周波数領域からの変換のために廃棄する前に適用される図11の合計されたフィルタの実現を示す。
図17のフィルタF2では、MDFTは64の実ワードの入力を取り入れ、かつ32の複合ワードの出力を生じる。IMDFTは32の複合ワードの入力を取り入れ、かつ64の実ワードの出力を生じる。
図17のフィルタF3では、MDFTは256の実ワードの入力を取り入れ、かつ128の複合ワードの出力を生じる。IMDFTは128の複合ワードの入力を取り入れ、かつ256の実ワードの出力を生じる。
図17のフィルタは、アルゴリズムを実現するために（ROMから又はホストコンピュータからブート可能な）ソフトウェアを組み込むモトローラDSP  56001プロセッサを使用して実現される。遅延素子は、３つのMCM  6206メモリチップを備えている外部メモリチップのバンクを使用して実現される。
アナログ領域とディジタル領域間のデータ入出力は、ADC及びDACチップ、DSP  56001の同期直列ポートを介して通信する水晶CS  4216によって達成される。
産業適用可能性
本発明の実施例は、ソフトウェア、ハードウェア又は音響システム特性のオーディオフィルタリング又は電子モデリングのようなアプリケーションための両方の組み合わせで実現されるディジタルフィルタに適用される。この方法は、信号処理の分野に広く適用可能であり、かつ例えば、下記のものに役立つように使用され得る。適応フィルタリング、オーディオ残響処理、適応エコー消去、空間処理、仮想現実感オーディオ、相関レーダ、レーダパルス圧縮、コンピュータ解析、地震分析、遠隔通信、パターン認識、ロボテイックス、3D音響モデリング、（オラリイゼイーション、自動反響マッチングを含む）オーディオポストプロダクション、音声等化、圧縮、ソナー、超音波、安全通信システム、ディジタルオーディオ放送、音響分析、監視、雑音消去、エコー消去。
上記には、本発明の幾つかの実施例のみを説明し、かつ当業者に明かな修正は、本発明の範囲及び精神を逸脱しないでなされ得る。
【図１】
0003636361.tif 000011
【図２】
0003636361.tif 000012
【図３】
0003636361.tif 000013
【図４】
0003636361.tif 000014
【図５】
0003636361.tif 000015
【図６】
0003636361.tif 000016
【図７】
0003636361.tif 000017
【図８】
0003636361.tif 000018
【図９】
0003636361.tif 000019
【図１０】
0003636361.tif 000020
【図１１】
0003636361.tif 000021
【図１２】
0003636361.tif 000022
【図１３】
0003636361.tif 000023
【図１４】
0003636361.tif 000024
【図１５】
0003636361.tif 000025
【図１６】
0003636361.tif 000026
【図１７】
0003636361.tif 000027