(57)【要約】    【課題】入力信号と遅延された入力信号の差を用いることによって、従来の無限インパルス応答（ＩＩＲ）または有限インパルス応答（ＦＩＲ）フィルタ設計技術を克服し、ＩＩＲまたはＦＩＲベースのバンドパスフィルタに必要な複雑さ、コスト、消費電力、設計領域を大きく低減するバンドパスフィルタを作る別の方法を提供する。    【解決手段】データストリームのシーケンスで表わされる入力信号から所望の周波数帯域を抽出するバンドパスフィルタ（ＢＰＦ）。【選択図】  図１
2005027267.tif 000002
【特許請求の範囲】
【請求項１】
データストリームのシーケンスで表わされる入力信号から所望の周波数帯域を抽出するバンドパスフィルタ（ＢＰＦ）であって、
前記入力信号を受取るシフトレジスタであって、前記シフトレジスタは、前記入力信号データストリームを、前記シフトレジスタを通って同期的に移動させ、そのため、前記入力信号が前記シフトレジスタの入力端に入り、前記シフトレジスタの出力端から出て、前記シフトレジスタの前記入力端と前記出力端の間で、前記入力データのセグメントが蓄積され、前記入力信号および時間が進むにつれて、前記シフトレジスタに蓄積された前記入力信号セグメントが、全入力信号スペクトルを通ってスライドするシフトレジスタと、
前記シフトレジスタの前記出力端に蓄積された入力データと前記シフトレジスタの前記入力端に蓄積された入力データの差を得て、前記バンドパスフィルタの出力を形成する算術減算ユニットと
を含むバンドパスフィルタ。
【請求項２】
入力信号から所望の周波数帯域を得る方法であって、
時間フレームに基づいて前記入力信号を受取るステップと、
現在受取ったデータを現在の基準としてマークするステップと、
前記入力信号および時間が進むにつれて、現在の基準から前記入力信号のセグメントを記録するステップと、
前記記録された入力信号セグメントの両端の差をシーケンシャルに報告し、前記時間フレームに基づいて、前記方法の出力を得るステップとを含む、入力信号から所望の周波数帯域を得る方法。
【請求項３】
前記記憶された入力データセグメントの長さが、前記入力信号のサンプリングレートの半分と前記方法の目的所望周波数の比によって決定される、請求項２に記載の方法。
【請求項４】
入力信号から所望の周波数帯域を得る方法であって、
カスケード結合された、いくつかのレジスタを設けて、最初のレジスタと最後のレジスタとを有するシフトレジスタを形成するステップを含み、各レジスタは、少なくとも１ビットの記憶容量を有し、さらに
前記最初のレジスタと前記最後のレジスタに蓄積されているコンテンツの差を計算し、クロックフレームで前記方法の出力を形成するステップを含む、入力信号から所望の周波数帯域を得る方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バンドパスフィルタ（ＢＰＦ）を実現する新規の方法に関し、より詳しくは、バンドパスフィルタの機能性を達成する、シフトレジスタおよび減算器の使用に関する。ここで、本発明のＢＰＦの出力は、シフトレジスタの最初のレジスタの値から最後のレジスタの値を引くことによって得られる。
【背景技術】
【０００２】
入力信号から所望の周波数帯域を抽出するための広範囲のバンドパスフィルタおよび方法が知られている。典型的には、そのようなバンドパスフィルタは、周波数帯域抽出目的を達成するために、無限インパルス応答（ＩＩＲ）または有限インパルス応答（ＦＩＲ）フィルタ設計技術に依存する。ＦＩＲおよびＩＩＲベースのバンドパスフィルタが、それぞれ図２および図３に示されている。図２には、一般的なＦＩＲベースのバンドパスフィルタが示されており、図３には、ＩＩＲベースのバンドパスフィルタの実際の使用が示されている。ＩＩＲフィルタアーキテクチャ３００において、複雑な数学的計算によって２組の係数ａＸ、ｂＸを決定する必要があるだけでなく、フィルタ出力を得るために、これらの係数および入力データ間の演算にいくつかの加算器および乗算器も必要である。図３において、加算器は、３１０、３１１、３１２、３１３で表わされ、乗算器は、３２０、３２１、３２３、３２４で表わされる。入力線が多いほど、ハードウェアのコストが高くなる。加算器および乗算器が多いほど、デバイスを作るのに、より多くの消費電力、より大きいスペースが費やされる。ＦＩＲフィルタアーキテクチャ２００も同様に、１組の係数ａ１〜ａＮ、いくつかの加算器２１０および乗算器２２０により、１つのシフトレジスタと１つの減算器を用いてＢＰＦを形成する本発明と比べて、ＢＰＦのレイアウトが、コストがかかるだけでなく、複雑にもなる。
【０００３】
図２において、入力信号２３０が直列入力並列出力シフトレジスタに与えられる。シフトレジスタ２０１の全レジスタが、乗算器に接続され、乗算器は、レジスタに保持されているコンテンツに対して、プリセットされた係数ａＮを乗じる。乗算器の出力は、加算器に与えられ、加算器は、シフトレジスタに沿って、乗算器の結果と前の加算器の結果を合計する。この接続方式に従うことによって、加算器が次から次に接続され、最後の加算器で出力端子２４０を形成する。明らかに、直列入力並列出力シフトレジスタに加えて、１組の係数、いくつかの乗算器、およびいくつかの加算器が、ＦＩＲベースのバンドパスフィルタに必要である。
【０００４】
図３において、ＩＩＲベースのバンドパスフィルタの実例が示されている。シフトレジスタが垂直に並び、ブロック３０１、３０２が、それぞれシフトレジスタの入口端レジスタおよび出口端レジスタを表わしていることに留意されたい。入力信号が加算器３１０に与えられ、加算器３１１からの値と合計した後、加算結果がシフトレジスタの入口端レジスタ３０１に蓄積され、乗算器３２０に与えられ、係数ｂ０を乗じる。次に、乗算結果が加算器３１２の入力に与えられる。加算器３１２は、乗算器３２０からの値と加算器３１３からの値を合計し、ＩＩＲベースのバンドパスフィルタの出力を得る。
【０００５】
シフトレジスタクロックパルスに応答することによって、入力信号がシーケンシャルにシフトレジスタを通って進む。シフトレジスタクロックパルス後、入口端レジスタ３０１に蓄積されているデータが、出口端レジスタ３０２に移動し、次のデータが入口端レジスタに供給される。入口端レジスタ３０１に蓄積されている値が、乗算器３２１と加算器３１３に与えられる。乗算器３２１は、レジスタ３０１からの値に入力係数ａ１を乗じ、その結果を加算器３１１に与える。加算器３１３は、レジスタ３０１からの値と乗算器３２４からの値を合計し、その結果を加算器３１２に与える。次のレベルまでこの計算を続け、レジスタ３０２に蓄積されている値が、乗算器３２３および３２４に与えられる。乗算器３２３は、レジスタ３０２からの値に入力係数ａ２を乗じ、その結果を加算器３１１に与える。乗算器３２４は、レジスタ３０２からの値に入力係数ｂ２を乗じ、その結果を加算器３１３に与える。この演算ルーピング後、ＩＩＲベースのバンドパスフィルタの出力が得られる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明を比較すると、１つのシフトレジスタと１つの減算器を用いてバンドパスフィルタを形成することにより、計算の複雑さ、集積回路（ＩＣ）製作の複雑さ、および通常のＩＩＲまたはＦＩＲベースのバンドパスフィルタのコストを大きく低減する。
【課題を解決するための手段】
【０００７】
本発明は、一般のＩＩＲまたはＦＩＲベースのバンドパスフィルタの実現のための複雑さ、コスト、必要なスペース、および消費電力を大きく低減する、改良されたバンドパスフィルタアーキテクチャおよび方法に関する。本発明は、データストリームで表わされる入力信号の所望の周波数帯域が、入力データストリームから入力データストリームの遅延コピーを引くことによって得られることを確認する。入力データストリームの遅延期間が、入力データストリームから抽出する必要がある所望の周波数帯域を決定する。遅延期間は、入力信号サンプリングレートと目的所望周波数の２倍の比によって計算することができる。
【０００８】
入力データストリームを遅延させるためにシフトレジスタが用いられる場合、シフトレジスタ内のレジスタの数は、入力信号サンプリングレートと目的所望周波数の２倍の比の整数部分に１を加えることによって、決定される。この比の整数部分に１が加えられているが、シフトレジスタの最初と最後のレジスタに保持されているデータ間で遅延された時間単位の数が変わらないことに留意されたい。シフトレジスタ同期クロックによって測定される遅延時間単位は、入力信号サンプリングレートと、目的所望周波数の２倍との比の整数部分と全く同じである。
【０００９】
１つの実施の形態において、図１に示されるように、シフトレジスタと算術減算器を含み、バンドパスフィルタ機能性を達成するバンドパスフィルタを提供する。算術減算器は、シフトレジスタの最初のレジスタに保持されている値から最後のレジスタに保持されている値を引き、バンドパスフィルタの出力を形成する。シフトレジスタに用いられるレジスタの数は、前の段落で扱っている。
【００１０】
別の実施の形態において、所望の周波数帯域を得る方法を提供する。この方法は、時間フレームに従って一連のデータを受取るステップと、時間フレームに従って、「現在」受取ったデータと「前に」受取ったデータの差をシーケンシャルに報告し、この方法の出力を得るステップとを含む。上記文の「現在」および「前に」が、２つの受取ったデータ間の一定の期間を表わすことに留意されたい。関連する実施の形態において、前に受取ったデータは、入力信号サンプリングレートと目的所望周波数の２倍の比の計算によって決定される。別の関連する実施の形態において、バンドパスフィルタ方法の境界条件時、この方法の始まり、またはこの方法の終わりに、データ連続の両端に０が与えられる。たとえば、一連のデータが、「前に」受取ったデータとみなすほど古くない場合、この方法の前に受取ったデータに０が与えられ、現在受取ったデータから取除く。一方、データ連続の最後のデータが現在の時間フレームを通過する場合、この方法の現在受取ったデータに０が与えられ、「前に」受取ったデータを引く。
【００１１】
さらに別の実施の形態において、バンドパスフィルタを実施する方法を提供する。この方法は、カスケード結合された、いくつかのレジスタを設けて、最初のレジスタと最後のレジスタとを有するシフトレジスタを形成するステップを含み、各レジスタは、少なくとも１ビットの記憶容量を有し、さらに、最初のレジスタと最後のレジスタに蓄積されているコンテンツの差を、クロックフレームにおけるこの方法の出力として計算するステップを含む。
【００１２】
要約として、入力データストリームの遅延期間を慎重に選択することによって、本発明は、通常のＩＩＲまたはＦＩＲベースのバンドパスフィルタに必要なコスト、複雑さ、消費電力、およびスペースを大きく低減する、実行可能なバンドパスフィルタアーキテクチャを提供する。
【００１３】
本発明は、添付の図面とともに、以下の説明を参照することによって、より容易に理解される。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を「バンドパスフィルタ」との関連において説明する。「バンドパスフィルタ」への言及は、入力信号とタイムシフトされた入力信号の差を用いて、入力信号から所望の周波数帯域を抽出することを指すことが意図される。本発明を用いてバンドパスフィルタを作ることにより、多くの利点を確認することができる。たとえば、本発明のバンドパスフィルタアーキテクチャを用いることによって、通常のバンドパスフィルタに必要な消費電力、複雑さ、コスト、およびデバイス領域が、大きく低減する。デバイス領域の消費の観点から、加算器または減算器に必要な論理ゲートの領域および数が、乗算器に必要なよりもはるかに少ないことは、当業者には周知である。
【００１５】
広範囲のバンドパスフィルタは、周波数帯域抽出機能を達成するために加算器および乗算器だけでなく１組の係数も用いるＩＩＲまたはＦＩＲバンドパスフィルタアーキテクチャに基づいている。係数の入力線と加算器および乗算器のハードウェアレイアウトの両方により、バンドパスフィルタの複雑さおよび消費電力が増大する。その結果、バンドパスフィルタの消費電力による増加した熱により、ハードウェア動作時にハードウェア故障の起こる可能性が高くなる。一方、対照的に、ハードウェアにおいて本発明を実現するには、バンドパスフィルタの機能性を達成するために、所定の長さのシフトレジスタと算術減算器があれば十分である。
【００１６】
本発明は、ソフトウェアでの実行も可能である。本発明をソフトウェアに用いることで、より少ないコーディング、変数、およびソフトウェアオーバヘッドにより、ソフトウェアバンドパスフィルタアプリケーションの性能が高くなる。本発明は、ユーザが望む場合、コンピュータハードウェアまたはコンピュータソフトウェアだけでなく、アナログ回路においても実現することができる。本発明の３つの好ましい実施の形態を以下の通り扱う。しかし、本発明は、これらの好ましい実施の形態に限定されない。
【００１７】
本発明の第１の好ましい実施の形態は、シフトレジスタと算術減算器を用いて、図１に示されるようなバンドパスフィルタ１００を形成する。シフトレジスタ１０１は、カスケード結合された複数のレジスタによって構成される。したがって、シフトレジスタのデータ入口端１０４およびデータ出口端１０６が設けられる。算術減算器１１０は、入口端１０４のレジスタに保持されている値から出口端１０６のレジスタに保持されている値を引き、バンドパスフィルタ１４０の出力を生成する。バンドパスフィルタ機能の詳細は、以下の通りである。
【００１８】
最初に、システムが仕事をする準備ができる前に、シフトレジスタの全レジスタに対して、０がプリセットされる。データストリームのシーケンスによって表わされる入力信号が、バンドパスフィルタ１００の入力端子１３０に与えられる。シフトレジスタ１０１に接続されている同期クロックに応答して、入力信号が入口端１０４からシフトレジスタ１０１内にシフトする。時間がたつにつれて、入力信号がシフトレジスタ１０１を通って移動し、出口端１０６を介してシフトレジスタ１０１を出る。入力信号がスライドするにつれて、シフトレジスタ１０１は常に入力信号のセグメントを保持し、また、時間がたつにつれて、出口端１０６のレジスタは、入口端レジスタ１０４のデータの遅延コピーを保持していることに留意されたい。
【００１９】
シフトレジスタ１０１の長さを慎重に選択し、したがって、シフトレジスタ１０１の入口端１０４と出口端１０６の間で発生する入力信号の遅延期間を選択することで、入力信号から遅延入力信号を引くことによって、入力信号から所望の周波数帯域を抽出する。その結果、図１に示されるように、バンドパスフィルタ１００の出力１４０が得られる。
【００２０】
入力信号の遅延期間は、下記式によって決定することができる。
遅延期間＝ｆｓ／２ｆｏ…（式１）
ここで、ｆｓは、入力信号のサンプリングレートであり、ｆｏは、入力信号から抽出する必要がある所望の周波数帯域である。
一方、シフトレジスタの長さは、下記式によって決定することができる。
必要なレジスタの数＝［ｆｓ／２ｆｏ］＋１…（式２）
式１と同様に、ｆｓおよびｆｏは、それぞれ入力信号サンプリングレートおよび所望の周波数帯域を表わす。ｆｓ／２ｆｏ比の整数部分に１が加えられているが、シフトレジスタの最初と最後のレジスタに保持されているデータ間で遅延された時間単位の数が変わらないことに留意されたい。遅延時間単位は、入力信号サンプリングレートと、目的所望周波数の２倍の比との整数部分と全く同じである。遅延時間単位は、シフトレジスタ同期クロックによって、また、これに従って、測定される。
【００２１】
本発明の第１の好ましい実施の形態の実行は、以下の通りである。１００ｋＨｚデータストリームの入力信号サンプリングレートが、図１に示されたバンドパスフィルタ１００の入力端子１３０に与えられる。たとえば、１２．５ｋＨｚを中心とした所望の周波数帯域を、１００ｋＨｚサンプリングレートデータストリームから抽出することを目指す。式２によれば、目標を達成するのに必要なレジスタの数は、１００ｋＨｚを２（１２．５ｋＨｚ）で割り、１を足し、５つのレジスタとなる。５レジスタ長のシフトレジスタと算術減算器は、図１に示されたようなバンドパスフィルタとして構成され、１００ｋＨｚサンプリングレートデータストリームの入力信号に対するバンドパスフィルタ機能を達成し、図４および図５に示された出力結果を得る。
【００２２】
図４において、横軸は正規化された周波数帯域０〜１を表わし、縦軸は出力データの大きさをｄＢ単位で表わす。図４において、横軸に沿って、１は１００ｋＨｚのサンプリングレートを有する５０ｋＨｚ信号を表わす。明らかに、目的周波数１２．５ｋＨｚは、図４の垂直の矢印で示されるように、０．２５の目盛りに位置し、ここで、通過周波数が中心となる。他方の通過周波数は０．７５の目盛りで中心となり、ここに３７．５ｋＨｚ信号がある。１つの周波数帯域ではなく、バンドパスフィルタは、入力信号から２つの周波数帯域を抽出する。一方は目的周波数帯域であり、他方は目的周波数帯域のミラーである。入力信号が目的周波数帯域のミラーの信号周波数を含まない限り、バンドパスフィルタは、入力信号から正確にユーザの所望の周波数帯域を抽出する。図５は、バンドパスフィルタ出力位相図である。
【００２３】
図６および図７は、図３に示されたＩＩＲベースのバンドパスフィルタの出力結果を表わす。同じ入力信号データストリーム（１００ｋＨｚサンプリングレート）と同じ目的周波数（１２．５ｋＨｚ）が、ＩＩＲベースのバンドパスフィルタに与えられる。適合する結果に対して、ＩＩＲベースのバンドパスフィルタが、４つの乗算器、４つの加算器、２つのレジスタ、ならびに１組の係数、ｂ０、ａ１、ａ２、およびｂ２を用いることに留意されたい。係数に与えられる値は、ｂ０＝０．２４５２３７２７５２５２７９、ａ１＝０．９３２９３８０３４６７０５２、ａ２＝−０．５０９５２５４４９４９４４３、および  ｂ２＝−０．２４５２３７２７５２５２７９である。適合する結果と比較すると、本発明の好ましい実施の形態のバンドパスフィルタは、５レジスタ長の１つのシフトレジスタと、１つの減算器だけを用い、入力係数を用いないので、ＩＩＲベースのバンドパスフィルタに必要な複雑さ、コスト、消費電力、およびスペースを大きく低減する。ＦＩＲベースのバンドパスフィルタを図２に示すように用いた場合も、同様である。ＦＩＲベースのバンドパスフィルタ設計において、１組の係数および乗算器２２０と、１組の加算器２１０は排除できない。
【００２４】
本発明の第２の好ましい実施の形態は、図８に示されるように、入力信号から所望の周波数帯域を得る方法を提示する。図８において、この方法はフローチャート図（８００）によって示されている。この方法では、最初に、時間フレームに基づいて入力信号を受取る（８１０）。次に、この方法では、現在受取ったデータを現在の基準としてマークし（８２０）、入力信号および時間が進むにつれて、現在の基準から始まる入力信号のセグメントを記録する（８３０）。したがって、記録された入力信号セグメントのシーケンスが、セグメントの始端および終端を与える。最後に、この方法では、記録された入力信号セグメントの始端と終端の差をシーケンシャルに報告し、時間フレームに基づいて、この方法の出力を得る（８４０）。
【００２５】
上記方法では、記録された入力データセグメントの長さは、入力信号のサンプリングレートの半分とこの方法の目的所望周波数の比によって決定される。また、この方法の境界条件において、この方法の始まり、または終わりに、入力データシーケンスの両端に０が挿入される。
【００２６】
本発明の第３の好ましい実施の形態は、入力信号から所望の周波数帯域を得る別の方法を提示する。この方法は、図９に示されるようなフローチャート図に示されている。最初に、この方法では、カスケード結合された、いくつかのレジスタを設けて、シフトレジスタを形成する（９１０）。したがって、シフトレジスタのデータ入口端およびデータ出口において、最初のレジスタおよび最後のレジスタが特定される（９２０）。各レジスタは、少なくとも１ビットのディジタルデータの記憶容量を有する。最後に、この方法では、最初のレジスタと最後のレジスタに蓄積されているコンテンツの差を計算し、クロックフレームでこの方法の出力を形成する（９３０）。
【００２７】
本発明の最後の好ましい実施の形態で扱った方法において、レジスタの数は、入力信号サンプリングレートの半分とこの方法の目的所望周波数の比の整数部分に１を加えることによって決定される。最初と最後のレジスタに蓄積されているコンテンツの差は、最初のレジスタのコンテンツと最後のレジスタの負のコンテンツを足すことによって計算し、クロックフレームでこの方法の出力を形成する。また、この方法のシフトレジスタ内のレジスタは、ディジタルデータまたは数値データを蓄積するために用いることができる。この方法が、コンピュータハードウェアまたはコンピュータソフトウェアによって実現することが可能であり、この方法におけるクロックフレームがシフトレジスタ同期クロックであることに留意されたい。
【００２８】
本発明の構成または方法には、本発明の範囲または精神から逸脱することなく、様々な修正および変更を行うことができることは、当業者には明らかであろう。上記に鑑み、本発明の修正および変更が特許請求の範囲およびその均等物の範囲内である場合、本発明は、その修正および変更を網羅することが意図される。
【図面の簡単な説明】
【００２９】
【図１】本発明の好ましい実施の形態のバンドパスフィルタの図である。
【図２】ＦＩＲベースのバンドパスフィルタの図である。
【図３】ＩＩＲベースのバンドパスフィルタの図である。
【図４】本発明の好ましい実施の形態のバンドパスフィルタの振幅応答を示す。
【図５】本発明の好ましい実施の形態のバンドパスフィルタの位相応答を示す。
【図６】ＩＩＲベースのバンドパスフィルタの振幅応答を示す。
【図７】ＩＩＲベースのバンドパスフィルタの位相応答を示す。
【図８】本発明のバンドパスフィルタリング方法を表わすフローチャート図である。
【図９】本発明の別のバンドパスフィルタリング方法を表わすフローチャート図である。
【符号の説明】
【００３０】
１００ バンドパスフィルタ
１０１ シフトレジスタ
１０４ データ入口端
１０６ データ出口端
１１０ 算術減算器
１３０ 入力端子
１４０ バンドパスフィルタ
２００ フィルタアーキテクチャ
２０１ シフトレジスタ
２１０ 加算器
２２０ 乗算器
２３０ 入力信号
２４０ 出力端子
３００ フィルタアーキテクチャ
３０１ 入口端レジスタ
３０２ 出口端レジスタ
３１０ 加算器
３１１ 加算器
３１２ 加算器
３１３ 加算器
３２０ 乗算器
３２１ 乗算器
３２３ 乗算器
３２４ 乗算器
【図１】
2005027267.tif 000003
【図２】
2005027267.tif 000004
【図３】
2005027267.tif 000005
【図４】
2005027267.tif 000006
【図５】
2005027267.tif 000007
【図６】
2005027267.tif 000008
【図７】
2005027267.tif 000009
【図８】
2005027267.tif 000010
【図９】
2005027267.tif 000011