(57)【要約】【課題】回路規模やメモリ容量を増大させずに、必要最小限のフィルタ係数の群によって、デジタルフィルタを構築することができるデジタルフィルタおよびデジタル信号処理方法を提供する。【解決手段】フィルタ係数を選択または補完するデータセレクタによって、個々の入力信号に対応する（Ｎ＋１）個のフィルタ係数データから、（Ｎ＋１）／ｍ以下の最大の自然数個のフィルタ係数を選択または補完する。選択または補完により生成されたフィルタ係数をｍ倍して新たなフィルタ係数を生成する。乗算器により、個々の入力信号と個々のフィルタ係数とを乗算した後、加算器により、乗算器により得られた処理結果に対して、累積加算処理を実行して、結果を出力信号データとして出力する。【選択図】        図３
2004260755.tif 000002
【特許請求の範囲】
【請求項１】
サンプリングされた、少なくとも（Ｎ＋１）個（Ｎ：自然数）の入力信号を記憶可能に構成された第１の記憶手段と、
上記（Ｎ＋１）個の入力信号に対応した、（Ｎ＋１）個のフィルタ係数データが格納された第２の記憶手段と、
上記（Ｎ＋１）個のフィルタ係数データからフィルタ係数を選択するフィルタ係数選択手段と、
上記（Ｎ＋１）個の入力信号に対して個々のフィルタ係数を乗算する乗算処理を実行する乗算手段と、
上記乗算手段による処理の結果に対して累積加算処理を実行する加算手段とを有し、
上記第２の記憶手段に格納された上記（Ｎ＋１）個のフィルタ係数から、（Ｎ＋１）／ｍ以下の最大の自然数個のフィルタ係数が、周期的に順次選択または補完され、上記選択されたフィルタ係数と、上記（Ｎ＋１）個の入力信号のうちの上記選択または補完されたフィルタ係数に対応する入力信号とに対して、上記乗算処理および上記加算処理を順次実行する
ことを特徴とするデジタルフィルタ。
【請求項２】
上記（Ｎ＋１）個のフィルタ係数を、ａ（０），ａ（１），ａ（２），・・・，ａ（ｋ−１），ａ（ｋ），ａ（ｋ＋１），・・・，ａ（Ｎ−２），ａ（Ｎ−１），ａ（Ｎ）としたときに、
上記選択または補完された（Ｎ＋１）／ｍ以下の最大の自然数個のフィルタ係数を、それぞれ
【数１】
2004260755.tif 000017
（［Ｎ／２ｍ］は、Ｎ／２ｍ以下の最大の自然数）
倍する
ことを特徴とする請求項１記載のデジタルフィルタ。
【請求項３】
上記（Ｎ＋１）個のフィルタ係数を、ａ（０），ａ（１），ａ（２），…，ａ（ｋ−１），ａ（ｋ），ａ（ｋ＋１），…，ａ（Ｎ−１），ａ（Ｎ）としたときに、
上記（Ｎ＋１）個のフィルタ係数から選択された、（Ｎ＋１）／ｍ以下の最大の自然数個のフィルタ係数を、それぞれｍ倍するように構成されている
ことを特徴とする請求項１記載のデジタルフィルタ。
【請求項４】
上記（Ｎ＋１）個のフィルタ係数を、ａ（０），ａ（１），ａ（２），…，ａ（ｋ−１），ａ（ｋ），ａ（ｋ＋１），…，ａ（Ｎ−１），ａ（Ｎ）としたときに、
上記Ｎが偶数であるとともに、上記周期的に選択される複数のフィルタ係数が
【数２】
2004260755.tif 000018
を含むように選択される
ことを特徴とする請求項２または３記載のデジタルフィルタ。
【請求項５】
上記（Ｎ＋１）個のフィルタ係数を、ａ（０），ａ（１），ａ（２），…，ａ（ｋ−１），ａ（ｋ），ａ（ｋ＋１），…，ａ（Ｎ−１），ａ（Ｎ）とし、ｊを整数としたときに、上記周期的に選択されるフィルタ係数が
【数３】
2004260755.tif 000019
であることを特徴とする請求項２または３記載のデジタルフィルタ。
【請求項６】
上記乗算処理および上記加算処理を、上記サンプリングの一周期内に行うことを特徴とする請求項１から５のいずれか１項記載のデジタルフィルタ。
【請求項７】
上記デジタルフィルタがＦＩＲ型デジタルフィルタである
ことを特徴とする請求項１から６のいずれか１項記載のデジタルフィルタ。
【請求項８】
少なくとも（Ｎ＋１）個（Ｎ：自然数）の入力信号を記憶可能に構成された第１の記憶手段に、サンプリングされて入力された入力信号のうちの少なくとも（Ｎ＋１）個の入力信号に対して、
フィルタ係数を選択または補完するフィルタ係数選択手段により、上記（Ｎ＋１）個の入力信号に対応する（Ｎ＋１）個のフィルタ係数データが格納された第２の記憶手段におけるフィルタ係数データに基づいて、（Ｎ＋１）／ｍ以下の最大の自然数個のフィルタ係数を選択または補完し、
入力信号に対してフィルタ係数を乗算する乗算処理を実行する乗算手段により、上記選択されたフィルタ係数と上記（Ｎ＋１）個の入力信号のうちの上記選択されたフィルタ係数に対応する入力信号とに対してそれぞれ乗算処理を行い、
上記乗算手段による処理の結果に対して累積加算処理を実行する加算手段により加算処理を実行する
ことを特徴とするデジタル信号処理方法。
【請求項９】
上記（Ｎ＋１）個のフィルタ係数から選択された、（Ｎ＋１）／ｍ以下の最大の自然数個のフィルタ係数を、それぞれｍ倍し、上記乗算処理及び上記累積加算処理を実行する
ことを特徴とする請求項８記載のデジタル信号処理方法。
【請求項１０】
上記（Ｎ＋１）個のフィルタ係数を、ａ（０），ａ（１），ａ（２），・・・，ａ（ｋ−１），ａ（ｋ），ａ（ｋ＋１），・・・，ａ（Ｎ−１），ａ（Ｎ）とし、上記Ｎを偶数としたときに、
上記周期的に選択される複数のフィルタ係数を、
【数４】
2004260755.tif 000020
を含むように選択する
ことを特徴とする請求項８または９記載のデジタル信号処理方法。
【請求項１１】
上記（Ｎ＋１）個のフィルタ係数を、ａ（０），ａ（１），ａ（２），…，ａ（ｋ−１），ａ（ｋ），ａ（ｋ＋１），…，ａ（Ｎ−１），ａ（Ｎ）とし、ｊを整数としたときに、上記選択されるフィルタ係数を、
【数５】
2004260755.tif 000021
とする
ことを特徴とする請求項８または９記載のデジタル信号処理方法。
【請求項１２】
上記（Ｎ＋１）個のフィルタ係数を、ａ（０），ａ（１），ａ（２），・・・，ａ（ｋ−１），ａ（ｋ），ａ（ｋ＋１），・・・，ａ（Ｎ−１），ａ（Ｎ−１），ａ（Ｎ）としたときに、
上記選択または補完された（Ｎ＋１）／ｍ以下の最大の自然数個のフィルタ係数を、それぞれ
【数６】
2004260755.tif 000022
（［Ｎ／２ｍ］は、Ｎ／２ｍを超えない最大の自然数）
倍した後に、上記乗算処理および上記累積加算処理を実行する
ことを特徴とする請求項８記載のデジタル信号処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、デジタルフィルタおよびデジタル信号処理方法に関し、特に、音声や画像・通信などのデジタル信号処理に適した積和演算によるデジタルフィルタに適用して好適なものである。
【０００２】
【従来の技術】
従来、音声や画像などのデジタル信号処理を行う積和演算によるデジタルフィルタとしては、特許文献１に記載されたものがある。図７に、特許文献１に記載された積和演算による非巡回型デジタルフィルタ回路を示す。
【０００３】
図７に示すように、この非巡回型デジタルフィルタ回路においては、まず、周期ＴでＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０１に入力信号Ｘが入力されるたびに、ＲＡＭ１０１内のｎ個（ｎ：自然数）のデータと、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２内にあらかじめ格納されているｎ個のフィルタ係数とを乗算器１０３により乗算する。そして、この乗算結果は、加算器１０４により累積加算される。
【０００４】
この時、動作初期においては、ＲＡＭ１０１内に不確定データが格納されているため、加算器１０４からの積和演算結果の出力データＹには、ノイズが含まれる。このような動作初期に出力されるノイズを抑制するために、初期化アドレス生成回路１０５によりＲＡＭ１０１内に、「ゼロ」データを書き込み、かつ、レジスタ１０６の出力をクリアする。
【０００５】
ところが、特許文献１に記載された方式によると、フィルタ係数が固定されているため汎用性が不十分であるのみならず、フィルタのタップ数ｎも固定されて増加させることができないため、極めて汎用性に欠けるという問題があった。また、フィルタ動作時にフィルタ係数を変更するアダプティブフィルタとして使用することが困難であった。
【０００６】
そこで、特許文献２に記載されるようなデジタルフィルタ装置が提案された。この特許文献２に記載されたデジタルフィルタ装置は、第１の格納手段、第２の格納手段、乗算手段、累積手段および入力選択手段により構成されている。
【０００７】
そして、第１の格納手段により所定周期で順次入力される入力信号がｎ個格納され、第２の格納手段により入力信号の入力順に関連してフィルタ特性を規定するためのｎ個のフィルタ係数が初期設定時に格納され、これらの第１および第２の格納手段に格納された入力信号とフィルタ係数とが、乗算手段により所定周期内で乗算される。
【０００８】
また、この累積手段において、乗算手段によって乗算結果が累積加算され、入力選択手段により第１の格納手段に対して初期設定時に入力信号に代えて所定の初期値が入力される。このような構成により、初期設定時にフィルタ特性が変更自在となり、汎用性を有するように構成されている。
【０００９】
【特許文献１】
特開平４−５４０１３号公報
【特許文献２】
特開平６−１８１４２７号公報
【００１０】
【発明が解決しようとする課題】
しかしながら、上述した特許文献２に記載された従来のデジタルフィルタ装置には、次のような問題があった。
【００１１】
すなわち、上述のような汎用性を持つように構成されたデジタルフィルタにおいても、それぞれのデジタル処理回路に必要なデジタルフィルタ、すなわち所望のデジタルフィルタを、あらかじめ設計した後に回路を構成する必要がある。
【００１２】
また、それぞれ所望とするデジタルフィルタを設計する際に、設計に合致する複数のフィルタ係数を決定した後、これらのフィルタ係数に基づいたデジタルフィルタを構成する必要がある。これにより、回路規模やメモリ容量の増大を招いていた。
【００１３】
そのため、デジタル処理回路の特性に応じた、所望のデジタルフィルタを、容易に構成することができ、回路規模やメモリ容量の増大を大幅に抑制することができるデジタルフィルタの開発が熱望されていた。
【００１４】
したがって、この発明の目的は、回路規模やメモリ容量の増大を招くことなく、必要最小限のフィルタ係数の組み合わせ（群）によって、デジタルフィルタを構築することができるデジタルフィルタおよびデジタル信号処理方法を提供することにある。
【００１５】
【課題を解決するための手段】
上記目的を達成するために、この発明は、
記録手段に格納された、所定の特性に基づいて設計された複数のフィルタ係数から、所望の特性に基づいた複数のフィルタ係数を抽出または補完し、これらの抽出または補完されたフィルタ係数を用いて、デジタルフィルタを構成する
ことを特徴とするものである。
【００１６】
具体的に、この発明の第１の発明は、
サンプリングされた、少なくとも（Ｎ＋１）個（Ｎ：自然数）の入力信号を記憶可能に構成された第１の記憶手段と、
（Ｎ＋１）個の入力信号に対応した、（Ｎ＋１）個のフィルタ係数データが格納された第２の記憶手段と、
（Ｎ＋１）個のフィルタ係数データからフィルタ係数を選択するフィルタ係数選択手段と、
（Ｎ＋１）個の入力信号に対して個々のフィルタ係数を乗算する乗算処理を実行する乗算手段と、
乗算手段による処理の結果に対して累積加算処理を実行する加算手段とを有し、
第２の記憶手段に格納された（Ｎ＋１）個のフィルタ係数から、（Ｎ＋１）／ｍ以下の最大の自然数個のフィルタ係数が、周期的に順次選択または補完され、選択されたフィルタ係数と、（Ｎ＋１）個の入力信号のうちの選択または補完されたフィルタ係数に対応する入力信号とに対して、乗算処理および加算処理を順に実行する
ことを特徴とするデジタルフィルタである。
【００１７】
この発明の第２の発明は、
少なくとも（Ｎ＋１）個（Ｎ：自然数）の入力信号を記憶可能に構成された第１の記憶手段に、サンプリングされて入力された入力信号のうちの少なくとも（Ｎ＋１）個の入力信号に対して、
フィルタ係数を選択または補完するフィルタ係数選択手段により、（Ｎ＋１）個の入力信号に対応する（Ｎ＋１）個のフィルタ係数データが格納された第２の記憶手段におけるフィルタ係数データに基づいて、（Ｎ＋１）／ｍ以下の最大の自然数個のフィルタ係数を選択または補完し、
入力信号に対してフィルタ係数を乗算する乗算処理を実行する乗算手段により、選択されたフィルタ係数と（Ｎ＋１）個の入力信号のうちの選択されたフィルタ係数に対応する入力信号とに対してそれぞれ乗算処理を行い、
乗算手段による処理の結果に対して累積加算処理を実行する加算手段により、乗算処理により得られた結果に対して加算処理を実行する
ことを特徴とするデジタル信号処理方法である。
【００１８】
この発明において、フィルタ係数のゲインをほぼ１にするために、典型的には、（Ｎ＋１）個のフィルタ係数から選択された、（Ｎ＋１）／ｍ以下の最大の自然数個のフィルタ係数を、それぞれｍ倍し、乗算処理及び累積加算処理を実行する。
【００１９】
この発明において、フィルタ係数の対称性を維持するために、典型的には、（Ｎ＋１）個のフィルタ係数を、ａ（０），ａ（１），ａ（２），・・・，ａ（ｋ−１），ａ（ｋ），ａ（ｋ＋１），・・・，ａ（Ｎ−１），ａ（Ｎ）とし、Ｎを偶数としたときに、周期的に選択される複数のフィルタ係数は、
【数７】
2004260755.tif 000003
を含むように選択され、好適には、
【数８】
2004260755.tif 000004
である。
【００２０】
この発明において、フィルタのゲインを１にするために、好適には、（Ｎ＋１）個のフィルタ係数を、ａ（０），ａ（１），ａ（２），・・・，ａ（ｋ−１），ａ（ｋ），ａ（ｋ＋１），・・・，ａ（Ｎ−１），ａ（Ｎ−１），ａ（Ｎ）としたときに、選択または補完された（Ｎ＋１）／ｍ以下の最大の自然数個のフィルタ係数を、それぞれ
【数９】
2004260755.tif 000005
（［Ｎ／２ｍ］：Ｎ／２ｍ以下の最大の自然数）
倍した後に、乗算処理および累積加算処理を実行する。
【００２１】
この発明において、典型的には、乗算処理および加算処理を、サンプリングの１周期内において行うようにする。
【００２２】
この発明において、デジタルフィルタは、典型的には、ＦＩＲ型デジタルフィルタであるが、この発明の技術的思想は、そのほかのタイプのデジタルフィルタにも適用することも可能である。
【００２３】
この発明において、「ｍ」は、正の実数であるが、典型的には、自然数または自然数の逆数である。ｍが自然数の時には、（Ｎ＋１）個のフィルタ係数から（Ｎ＋１）／ｍ以下で最大の自然数の個数のフィルタ係数を選択する。他方、ｍが自然数の逆数（ｍ＝１／ｐ、ｐ：自然数）の場合には、（Ｎ＋１）個のフィルタ係数を（Ｎ＋１）／ｍ（＝ｐ（Ｎ＋１））に増加させるように補完する。
【００２４】
上述のように構成されたこの発明によるデジタルフィルタによれば、記憶手段にあらかじめ記録されている複数のフィルタ係数から、周期に合致しないフィルタ係数を間引くことによって、複数のフィルタ係数から周期的なフィルタ係数の組み合わせを選択し、このフィルタ係数の組み合わせからなる新たにフィルタ関数を設定していることにより、フィルタ係数の群を１つ設定するのみで、種々の特性を有するデジタルフィルタを構築することが可能となる。
【００２５】
【発明の実施の形態】
以下、この発明の実施形態について図面を参照しながら説明する。なお、以下の実施形態の全図においては、同一または対応する部分には同一の符号を付す。
【００２６】
まず、この発明の一実施形態によるデジタルフィルタについて説明する。図１に、この一実施形態によるデジタルフィルタを示す。
【００２７】
図１に示すように、この一実施形態によるデジタルフィルタにおいては、第１の格納手段としての第１のメモリ１、第２の格納手段としての第２のメモリ２、アドレス発生回路３、乗算手段としての乗算器４、これらのアドレス発生回路３と乗算器４との間に配設されたデータセレクタ５、乗算器４の出力側に接続された累積器６、この累積器６の出力側に接続されたレジスタ７、およびデータセレクタ８が設けられて構成されている。
【００２８】
第１のメモリ１は、所定周期Ｔの時間間隔で順次入力されるデータを少なくとも（Ｎ＋１）個格納するためのメモリである。また、第２のメモリ２は、フィルタ特性を規定するために外部から入力される、少なくとも（Ｎ＋１）個のフィルタ係数を格納するためのメモリである。
【００２９】
そして、アドレス発生回路３は、これらの第１のメモリ１および第２のメモリ２に対して、データまたはフィルタ係数の入出力アドレスを発生するための回路である。
【００３０】
また、乗算器（乗算手段）４は、第１のメモリ１および第２のメモリ２の出力側に接続されて、第１のメモリ１に格納されたデータと第２のメモリ２に格納されたフィルタ係数とを周期Ｔ内において乗算する演算回路である。
【００３１】
また、データセレクタ５は、第２のメモリ２から出力されるフィルタ係数を、選択的に乗算器４に供給するための選択回路である。すなわち、データセレクタ５により、第２のメモリ２から出力される複数のフィルタ係数データの群より選択された、必要なフィルタ係数のデータのみが乗算器４に供給され、この乗算器４に供給されたフィルタ係数のデータのみがデジタルフィルタの計算に用いられる。
【００３２】
また、累積器６は、加算器６ａと、この加算器６ａの出力を入力側に帰還させるレジスタ６ｂとから構成されており、乗算器４の出力側に接続されて、乗算結果を累積加算するための演算回路である。また、累積器６の出力側には、フィルタ出力となるデータを保持するレジスタ７が接続されている。
【００３３】
累積器６のレジスタ６ｂおよび累積器６の出力側に接続されたレジスタ７には、初期化のためのクリア信号を入力可能に設定されている。
【００３４】
また、第１のメモリ１の入力側には、入力選択手段となるデータセレクタ８が接続されている。このデータセレクタ８は、第１のメモリ１の入力側に設けられ、実際の外部からの入力信号と、所定の初期値データ、この一実施形態においては、例えば「ゼロ」データを、選択的に第１のメモリ１に入力する選択回路である。
【００３５】
次に、以上のように構成された、この一実施形態によるデジタルフィルタを用いたデジタル信号処理方法について説明する。
【００３６】
すなわち、図１に示すように、まず、データセレクタ８をａ端子側に設定する。これとともに、アドレス発生回路３から出力されるアドレスに従って、第１のメモリ１に「ゼロ」データが入力されるとともに、第２のメモリ２に（Ｎ＋１）個のフィルタ係数を入力される。
【００３７】
後述するように、これらのフィルタ係数は、入力信号の入力順に関連してフィルタ特性を規定するように設定されて外部入力されるものである。また、累積器６を初期化するとともに、初期のフィルタ出力を０にするために、クリア信号がレジスタ６ｂ，７に供給され、クリアされる。
【００３８】
この初期設定後、ＤＳＰ（図示せず）からの命令信号により、データセレクタ８がｂ端子側に切り替えられる。この切り替えにより、順次入力される入力信号が第１のメモリ１に順次格納される。
【００３９】
そして、この第１のメモリ１に入力信号が１個入力されるごとに、乗算器４において、第１のメモリ１内の（Ｎ＋１）個の入力信号データと、第２のメモリ２内の（Ｎ＋１）個のフィルタ係数とが、所定の順序に従ってそれぞれ乗算され、その乗算結果のデータが累積器６において累積加算される。この累積結果のデータは、レジスタ７を通じてフィルタ出力として出力される。
【００４０】
このようにして、入力信号格納用の第１のメモリ１が「ゼロ」データによって初期化されるとともに、第２のメモリ２にフィルタ係数が格納される初期設定動作が行われた後、デジタルフィルタとしての本来の動作を開始させる。
【００４１】
次に、この発明の一実施形態によるデジタルフィルタのフィルタ動作について説明する。
【００４２】
すなわち、まず、データセレクタ８がａ端子側に設定される。その後、アドレス発生回路３から出力されるアドレスに基づいて、第１のメモリ１に対して「ゼロ」データが入力される。これとともに、第２のメモリ２に（Ｎ＋１）個のフィルタ係数が入力される。
【００４３】
このフィルタ係数は、入力データの入力順にフィルタ特性を規定するように設定されて外部入力されるものである。また、累積器６を初期化するとともに、初期のフィルタ出力をゼロにするために、クリア信号によって、レジスタ６ｂ，７をクリアする。
【００４４】
このような初期設定後、続いて、データセレクタ８をｂ端子側に設定する。これにより、周期Ｔにより順次入力される本来の入力データが第１のメモリ１に順次格納される。
【００４５】
そして、入力データが１個入力されるごとに、第１のメモリ１に格納された（Ｎ＋１）個のデータが乗算器４に供給される。これとともに、第２のメモリ２に格納された（Ｎ＋１）個のフィルタ係数が順次出力される。このとき、第２のメモリ２から出力される（Ｎ＋１）個のフィルタ係数は、ＤＳＰ（図示せず）からの命令信号によるデータセレクタ５の切り替えによって、周期的に抽出または補完されて、所定の倍数乗算された後、乗算器４に供給される。なお、このフィルタ係数の抽出に関しての詳細は、後述する。
【００４６】
乗算器４においては、抽出されたフィルタ係数と、（Ｎ＋１）個のデータのうちの、この抽出されたフィルタ係数に対応するデータとが、対応する順序でそれぞれ乗算される。そして、この乗算された結果、すなわち抽出されたフィルタ係数と抽出されたフィルタ係数に対応するデータとの積算結果が、乗算器４から、順次出力される。
【００４７】
この乗算結果は、累積器６において累積加算される。そして、この累積結果が、レジスタ７を通してフィルタ出力として出力される。
【００４８】
次に、上述したデータセレクタ５によるフィルタ係数の抽出について説明する。ここで、この一実施形態によるデジタルフィルタに用いられる、基準のフィルタ係数の具体的な数値例を図２に示す。なお、図２においては、基準となるデジタルフィルタ（基準フィルタ）として、カットオフ周波数ｆが０．５ＭＨｚ、タップ数が１０１、サンプリング周波数が１０ＭＨｚのフィルタ係数である。また、これらのフィルタ係数は、図１に示すＲＯＭなどから構成される第２のメモリ２に、あらかじめ格納されている。また、以下の説明において、タップ数が（Ｎ＋１）のフィルタ係数を、ａ（０），ａ（１），ａ（２），…，ａ（ｋ），…，ａ（Ｎ−１），ａ（Ｎ）、入力信号データをＸ（ｉ）、出力信号データをＹ（ｉ）とする。
【００４９】
（第１の実施例）
このような基準フィルタに基づいて、この一実施形態の第１の実施例として、カットオフ周波数ｆ´が、基準フィルタのカットオフ周波数ｆの偶数倍の２ＭＨｚのＬＰＦを実現する場合について説明する。
【００５０】
まず、入力されたデータに対して、基準フィルタにおけるカットオフ周波数ｆ（例えば０．５ＭＨｚ）に対する、所望のカットオフ周波数ｆ´（例えば２ＭＨｚ）の比に基づいて、抽出するフィルタ係数が選択される。
【００５１】
すなわち、所望のカットオフ周波数ｆ´と、基準フィルタにおけるカットオフ周波数ｆとの比、および基準フィルタにおけるタップ数（Ｎ＋１）から、抽出するフィルタ係数の個数を、
【数１０】
2004260755.tif 000006
とする。なお、記号［□］は、□以下の最大の自然数である。
【００５２】
また、タップ数（Ｎ＋１）のフィルタ係数の真ん中のフィルタ係数ａ（Ｎ／２）が必ず抽出されるようにする。
【００５３】
具体的に、この第１の実施例においては、基準フィルタにおけるカットオフ周波数ｆに対する、この所望のカットオフ周波数ｆ´の比ｍが
【数１１】
2004260755.tif 000007
であるので、データセレクタ５が切り替えられて、タップ数（Ｎ＋１）が１０１のフィルタ係数から、（［１００／４］＝）２５個のフィルタ係数が周期的に抽出される。なお、このときに抽出される複数のフィルタ係数の中に、真ん中のフィルタ係数（ａ（Ｎ／２）＝）ａ（５０）が必ず選択されるようにする。この抽出されるフィルタ係数の具体的な数値を図３Ａに示す。
【００５４】
図３Ａに示すように、この第１の実施例による抽出される２５個のフィルタ係数は、第２のメモリ２に記録された１０１個のフィルタ係数（ａ（０）〜ａ（１００））から、中心のフィルタ係数（ａ（５０））を選択しつつ、周期的にフィルタ係数を選択するために、ａ（２）から、ｍを周期として周期的に、具体的には、４つおきに抽出される。
【００５５】
ところが、図３Ａのゲインの欄に示すように、上述のようにしてフィルタ係数を抽出するのみでは、フィルタのゲインが１より小さくなってしまう。そこで、それぞれのフィルタ計数値に対して、「抽出されたフィルタ係数の合計」の逆数倍する。これにより、フィルタのゲインを１とすることが可能となる。
【００５６】
具体的には、選択された［Ｎ／ｍ］個のフィルタ係数を、それぞれ
【数１２】
2004260755.tif 000008
倍して、新たにフィルタ係数を設定する。
【００５７】
すなわち、図３Ｂに示す新たなフィルタ係数ｂ（ｋ）は、
【数１３】
2004260755.tif 000009
として、求められる。
【００５８】
また、この場合、フィルタ係数の特性から、
【数１４】
2004260755.tif 000010
と、近似することができるため、新たなフィルタ係数（ｂ（ｋ））の算出を容易にするために、
【数１５】
2004260755.tif 000011
と、近似して算出することも可能である。この近似されて得られた新たなフィルタ係数ｂ（ｋ）の具体的な数値例を、図３Ｂに示す。
【００５９】
図３Ｂに示すように、この第１の実施例においては、抽出されたフィルタ係数（ａ（２），ａ（６），ａ（１０），…，ａ（５０），…，ａ（９０），ａ（９４），ａ（９８））が４倍されて、新たなフィルタ係数（ｂ（２），ｂ（６），ｂ（１０），…，ｂ（５０），…，ｂ（９０），ｂ（９４），ｂ（９８））となる。
【００６０】
これにより、入力信号データＸ（ｉ）に基づく出力信号データＹ（ｉ）は、
【数１６】
2004260755.tif 000012
として出力される。
【００６１】
以上のようにして算出された新たなフィルタ係数を用いた場合のＬＰＦの周波数・振幅特性を図４に示す。また、従来技術による、カットオフ周波数が２ＭＨｚのデジタルフィルタを設計した場合の周波数・振幅特性を図５に示す。
【００６２】
図４および図５から、この一実施形態の第１の実施例によるＬＰＦにおいては、従来のＬＰＦにおけると同様に、６０ｄＢの減衰を確保可能な特性を得ることができることがわかる。すなわち、従来の個々に設計されていたデジタルフィルタとほとんど同一の特性を得ることができ、所望とする周波数・振幅特性を確保可能となることがわかる。
【００６３】
（第２の実施例）
次に、所望のカットオフ周波数ｆ´を１．５ＭＨｚとして、基準フィルタの周波数ｆの奇数倍のＬＰＦを実現する場合について説明する。
【００６４】
この第２の実施例においては、基準フィルタにおけるカットオフ周波数ｆ（＝０．５ＭＨｚ）に対する所望のカットオフ周波数ｆ´（１．５ＭＨｚ）の比ｍは、ｍ＝３であるので、タップ数（Ｎ＋１）が１０１のフィルタ係数から、（［１００／３］＝）３３個のフィルタ係数が周期的に抽出される。
【００６５】
また、第１の実施例におけると同様に、真ん中のフィルタ係数（ａ（Ｎ／２）＝）ａ（５０）が必ず選択されるようにする。この第２の実施例による抽出されたフィルタ係数と、新たなフィルタ係数とを図６に示す。
【００６６】
図６Ａに示すように、この第２の実施例による抽出される３３個のフィルタ係数は、第２のメモリ２に記録された１０１個のフィルタ係数（ａ（０）〜ａ（１００））から、中心のフィルタ係数（ａ（５０））を選択しつつ、周期的にフィルタ係数を選択するために、ｍを周期として周期的に、具体的には３つおきに抽出される。
【００６７】
そして、第１の実施例におけると同様の理由から、それぞれのフィルタ計数値に対して、「抽出されたフィルタ係数の合計」の逆数倍する。これにより、フィルタのゲインを１とする。
【００６８】
具体的には、選択された［１００／３］＝３３個のフィルタ係数を、それぞれ
【数１７】
2004260755.tif 000013
倍して、新たにフィルタ係数を設定する。
【００６９】
すなわち、図６Ｂに示される新たなフィルタ係数ｃ（ｋ）は、
【数１８】
2004260755.tif 000014
と、近似して算出される。なお、中間項に記載された式を採用して、近似式を用いずに算出してもよい。この新たなフィルタ係数ｃ（ｋ）の具体例を、図６Ｂに示す。
【００７０】
図６Ｂに示すように、この第２の実施例においては、抽出されたフィルタ係数（ａ（２），ａ（５），ａ（８），…，ａ（５０），…，ａ（９２），ａ（９５），ａ（９８））が３倍されて、新たなフィルタ係数（ｃ（２），ｃ（５），ｃ（８），…，ｃ（５０），…，ｃ（９２），ｃ（９５），ｃ（９８））となる。
【００７１】
これにより、入力信号データＸ（ｉ）に基づく出力信号データＹ（ｉ）は、
【数１９】
2004260755.tif 000015
として、出力される。
【００７２】
以上説明したように、この第２の実施例においても、第１の実施例におけると同様の効果を得ることができる。
【００７３】
（第３の実施例）
また、所望のカットオフ周波数ｆ´が０．５ＭＨｚ以下である場合、すなわち基準フィルタの周波数ｆの分数倍のＬＰＦを実現する場合においては、基準フィルタにおけるカットオフ周波数ｆ（＝０．５ＭＨｚ）に対する所望のカットオフ周波数ｆ´の比ｍが分数となる。
【００７４】
この場合、必要となるフィルタ係数は、基準フィルタにおけるフィルタ係数の個数より多くなる。そのため、タップ数（Ｎ＋１）が１０１のフィルタ係数に対して、フィルタ係数を周期的に補完する。
【００７５】
また、第１の実施例におけると異なり、フィルタ係数を周期的に補完する。そのため、必然的に、真ん中のフィルタ係数（ａ（Ｎ／２）＝）ａ（５０）が選択されるため、フィルタ係数の補完の場合には、真ん中のフィルタ係数について考慮する必要はない。
【００７６】
そして、第１および第２の実施例におけると同様にして、新たなフィルタ係数を生成するために、補完を行う際には、それぞれ隣接する２個のフィルタ係数の間に、新たにフィルタ係数を生成する。このときの補完方法としては、線形補完が採用される。
【００７７】
すなわち、ａ（ｋ−１）とａ（ｋ）との２個のフィルタ係数の間に、必要となるフィルタ係数を補完して、
【数２０】
2004260755.tif 000016
（ｋ：Ｎ以下の自然数）
とし、ａ（０）〜ａ（Ｎ）のそれぞれのフィルタ係数における、それぞれの間に新たなフィルタ係数が生成されて、補完される。なお、基準フィルタにおけるカットオフ周波数ｆに対する所望のカットオフ周波数ｆ´の比ｍが１／２以下の分数（自然数の逆数）となる場合には、このｍの値に応じて、線形補完の式を随時適切な式を用いて補完すべきフィルタ係数を生成することで対応可能である。
【００７８】
そして、第１の実施例におけると同様の理由から、基準フィルタのそれぞれのフィルタ計数値に対して、「抽出されたフィルタ係数の合計」の逆数倍することにより、フィルタのゲインを１とする。
【００７９】
以上説明したように、この第３の実施例においても、第１の実施例におけると同様の効果を得ることができる。
【００８０】
以上、この発明の一実施形態について具体的に説明したが、この発明は、上述の一実施形態に限定されるものではなく、この発明の技術的思想に基づく各種の変形が可能である。
【００８１】
例えば、上述の一実施形態において挙げたフィルタ係数、タップ数、次数、カットオフ周波数（遮断周波数）、サンプリング周波数などの数値はあくまでも例に過ぎず、必要に応じてこれらと異なる数値とすることも可能である。
【００８２】
また、例えば上述の一実施形態においては、基準フィルタとして、カットオフ周波数を０．５ＭＨｚとしたデジタルフィルタを採用したが、基準フィルタとして、カットオフ周波数が０．１ＭＨｚ程度ものや、１．０ＭＨｚ程度のものを採用することも可能であり、その他の値のものを採用することも可能である。
【００８３】
また、例えば上述の一実施形態においては、この発明の技術的思想を、デジタルフィルタ回路に適用する例について説明したが、この発明の技術的思想は、デジタルフィルタを搭載したあらゆるデジタル信号処理装置に適用することが可能であり、これらの所定のフィルタ係数を格納した読み出し専用メモリを、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）やＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）などに混載させて、この発明によるデジタルフィルタを、あらゆるデジタル信号処理装置に搭載することが可能となる。
【００８４】
すなわち、所定のフィルタ係数をメモリに格納しておくだけで、デジタルフィルタごとの設計、メモリの書き換えなどが不要になるため、この所定のフィルタ係数を格納した読み出し専用メモリを、ＤＳＰ、ＣＰＵ、または、その他のＬＳＩに混載させることにより、デジタルフィルタのより一層の小型化を図ることができ、ソフトウェア無線機などの、あらゆるデジタル信号処理装置に、より広範囲の周波数に対応可能なデジタルフィルタを搭載することが可能となる。
【００８５】
このソフトウェア無線機の例としては、無線周波数部、中間周波数部およびベースバンド部の３つの機能ブロックから構成され、中間周波数部とベースバンド部とにプログラマブルなプロセッサーを採用したものを挙げることができる。そして、中間周波数部において、フィルタリングや波形整形、逆拡散などの処理を行うプリポストプロセッサを、フレキシブルレートタイプのプリポストプロセッサとしたものを挙げることができる。また、ソフトウェアを書き換えることによって、回路構成を変更できる半導体集積回路装置（例えば、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ））と、任意の周波数のクロックを直接生成できる回路（例えば、ＤＤＳ（ＤｉｒｅｃｔＤｉｇｉｔａｌ  Ｓｙｎｔｈｅｓｉｚｅｒ））とを利用したものも挙げることができる。
【００８６】
また、例えば上述の一実施形態によるデジタルフィルタを複数個接続することにより、さらに詳細な特性の変更が可能なデジタルフィルタを構成することも可能である。
【００８７】
【発明の効果】
以上説明したように、この発明によれば、デジタルフィルタにおいて、記憶手段に格納された（Ｎ＋１）個のフィルタ係数に基づいて、所定のタップ数のフィルタ係数を、周期的に順次選択または補完し、この選択または補完したフィルタ係数を用いて、選択または補完されたフィルタ係数に対応する入力信号に対して、乗算および加算を順に実行するように構成していることにより、回路規模やメモリ容量の増大を招くことなく、必要最小限のフィルタ係数の組み合わせによって、デジタルフィルタを構築することが可能となる。また、所定のフィルタ係数群のみを記憶手段に格納しておけばよいため、所望のデジタルフィルタに応じて、抽出または補完するフィルタ係数を回路内部で自由に構成することができるので、１つのデジタルフィルタを設計するのみで、所望の特性を有するデジタルフィルタを、記録手段の変更や回路変更をすることなく実現可能となる。
【図面の簡単な説明】
【図１】この発明の一実施形態によるデジタルフィルタを示すブロック図である。
【図２】この発明の一実施形態によるデジタルフィルタにおいて、あらかじめ格納されるフィルタ係数を示す表である。
【図３】この発明の一実施形態の第１の実施例によるデジタルフィルタにおいて、抽出されたフィルタ係数と新たなフィルタ係数との具体的な数値の一例を示す表である。
【図４】この発明の一実施形態によるデジタルフィルタの第１の実施例に基づいて、カットオフ周波数が２ＭＨｚのＬＰＦを構成した際の周波数・振幅特性を示すグラフである。
【図５】従来技術により、カットオフ周波数が２ＭＨｚのＬＰＦを設計した場合の、周波数・振幅特性を示すグラフである。
【図６】この発明の一実施形態の第２の実施例によるデジタルフィルタにおいて、抽出されたフィルタ係数と、新たなフィルタ係数との具体的な数値の一例を示す表である。
【図７】従来技術によるデジタルフィルタを示すブロック図である。
【符号の説明】
１  第１のメモリ
２  第２のメモリ
３  アドレス発生回路
４  乗算器
５  データセレクタ
６  累積器
６ａ  加算器
６ｂ，７，１０６  レジスタ
８  データセレクタ
１５  累積器
【図１】
2004260755.tif 000023
【図２】
2004260755.tif 000024
【図３】
2004260755.tif 000025
【図４】
2004260755.tif 000026
【図５】
2004260755.tif 000027
【図６】
2004260755.tif 000028
【図７】
2004260755.tif 000029