JP3177358B2 - デジタルフィルタ - Google Patents
デジタルフィルタInfo
- Publication number
- JP3177358B2 JP3177358B2 JP27869793A JP27869793A JP3177358B2 JP 3177358 B2 JP3177358 B2 JP 3177358B2 JP 27869793 A JP27869793 A JP 27869793A JP 27869793 A JP27869793 A JP 27869793A JP 3177358 B2 JP3177358 B2 JP 3177358B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- output
- accumulator
- time
- series data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Complex Calculations (AREA)
Description
【0001】
【産業上の利用分野】本発明は、デジタルオーディオ機
器等に用いられるデジタルフィルタに係り、詳しくは、
QMF(Quadrature Mirror Filter)を用い、データを複
数の成分に分離する分離フィルタに関する。
器等に用いられるデジタルフィルタに係り、詳しくは、
QMF(Quadrature Mirror Filter)を用い、データを複
数の成分に分離する分離フィルタに関する。
【0002】
【従来の技術】デジタルフィルタの代表的なものとし
て、FIR(Finite Impulse Responce)型及びIIR(In
finite Impulse Responce)型がある。FIR型は、出力
データに対する入力データのインパルス応答がの影響が
一定の期間に限られる方式であり、IIR型は、出力デ
ータに対する入力データのインパルス応答が無期限に影
響する方式である。
て、FIR(Finite Impulse Responce)型及びIIR(In
finite Impulse Responce)型がある。FIR型は、出力
データに対する入力データのインパルス応答がの影響が
一定の期間に限られる方式であり、IIR型は、出力デ
ータに対する入力データのインパルス応答が無期限に影
響する方式である。
【0003】FIR型デジタルフィルタは、式(1)に示
すように、入力データX(n)とインパルス応答との畳み
込みによって出力データY(n)を得るように構成され
る。
すように、入力データX(n)とインパルス応答との畳み
込みによって出力データY(n)を得るように構成され
る。
【0004】
【数1】
【0005】ここで、h(k)はフィルタ係数、Nはタッ
プ数である。そこで、式(1)をZ変換すると、
プ数である。そこで、式(1)をZ変換すると、
【0006】
【数2】
【0007】が得られ、この式(2)より、
【0008】
【数3】
【0009】となり、周波数応答がわかる。そして、ω
=2πk/Nとすると、式(3)は、
=2πk/Nとすると、式(3)は、
【0010】
【数4】
【0011】となる。この式(4)は、離散的フーリエ変
換(DFT:Discrete Fourier Transform)の式とみなす
ことができる。従って、フィルタ係数h(k)は、式(4)に
よって与えられる周波数特性を逆変換(IDFT:Invers
e Discrete Fourier Transform)することにより求めら
れる。標準的なFIR型デジタルフィルタの構成を図1
0に示す。
換(DFT:Discrete Fourier Transform)の式とみなす
ことができる。従って、フィルタ係数h(k)は、式(4)に
よって与えられる周波数特性を逆変換(IDFT:Invers
e Discrete Fourier Transform)することにより求めら
れる。標準的なFIR型デジタルフィルタの構成を図1
0に示す。
【0012】直列に接続される複数の遅延素子1は、シ
フトレジスタにより構成され、入力データX(n)を順次
一定の期間(T)だけ遅延する。各遅延素子1の出力側
に接続された複数の乗算器2は、各遅延素子1の出力に
フィルタ係数h(k)をそれぞれ乗算する。これにより、
入力データX(n)に対してインパルス応答との畳み込み
処理が行われる。総和加算器3は、各乗算器2の出力、
即ち、所定のフィルタ係数h(k)が乗算された各遅延素
子1の出力の総和をとり、出力データY(n)を出力す
る。従って、式(1)に従う演算が実行されたことにな
る。
フトレジスタにより構成され、入力データX(n)を順次
一定の期間(T)だけ遅延する。各遅延素子1の出力側
に接続された複数の乗算器2は、各遅延素子1の出力に
フィルタ係数h(k)をそれぞれ乗算する。これにより、
入力データX(n)に対してインパルス応答との畳み込み
処理が行われる。総和加算器3は、各乗算器2の出力、
即ち、所定のフィルタ係数h(k)が乗算された各遅延素
子1の出力の総和をとり、出力データY(n)を出力す
る。従って、式(1)に従う演算が実行されたことにな
る。
【0013】このようなFIR型デジタルフィルタは、
タップ数Nが大きくなるのに伴い、回路規模が大きくな
るという問題を有している。そこで、図11に示すよう
に、ストアードプログラム方式のFIR型デジタルフィ
ルタが提案されている。RAM11は、時系列で入力さ
れる入力データX(n)を順次記憶する。ROM12は、
複数のフィルタ係数h(k)を記憶し、1ステップごとに
増加するkの値に対応して特定のフィルタ係数h(k)を
読み出して出力する。なお、このkは、式(1)に示した
kに一致するものである。乗算器13は、RAM11か
ら読み出された入力データX(n-k)にROM12から読
み出されたフィルタ係数h(k)を乗算する。アキュムレ
ータ14は、加算器15及び第1のレジスタ16からな
り、乗算器13の乗算結果を累加算する。即ち、加算器
15により乗算器13の出力とレジスタ16の出力とが
加算され、その加算結果が再びレジスタ16に格納され
ることにより、乗算器13の乗算結果が順次加算され
る。第2のレジスタ17は、アキュムレータ14から出
力される累加算結果を取り込み、出力データY(n)とし
て出力する。
タップ数Nが大きくなるのに伴い、回路規模が大きくな
るという問題を有している。そこで、図11に示すよう
に、ストアードプログラム方式のFIR型デジタルフィ
ルタが提案されている。RAM11は、時系列で入力さ
れる入力データX(n)を順次記憶する。ROM12は、
複数のフィルタ係数h(k)を記憶し、1ステップごとに
増加するkの値に対応して特定のフィルタ係数h(k)を
読み出して出力する。なお、このkは、式(1)に示した
kに一致するものである。乗算器13は、RAM11か
ら読み出された入力データX(n-k)にROM12から読
み出されたフィルタ係数h(k)を乗算する。アキュムレ
ータ14は、加算器15及び第1のレジスタ16からな
り、乗算器13の乗算結果を累加算する。即ち、加算器
15により乗算器13の出力とレジスタ16の出力とが
加算され、その加算結果が再びレジスタ16に格納され
ることにより、乗算器13の乗算結果が順次加算され
る。第2のレジスタ17は、アキュムレータ14から出
力される累加算結果を取り込み、出力データY(n)とし
て出力する。
【0014】このFIR型デジタルフィルタでは、RA
M11及びROM12からそれぞれ入力データX(n)及
びフィルタ係数h(k)を順次読み出して積和演算を繰り
返すことにより、式(1)に従う演算を実行して出力デー
タY(n)を得ている。このため、タップ数Nが大きくな
ったとしても、回路規模が大きくなることはない。とこ
ろで、第1のフィルタ係数h1(n)を有するFIR型デジ
タルフィルタに対し、
M11及びROM12からそれぞれ入力データX(n)及
びフィルタ係数h(k)を順次読み出して積和演算を繰り
返すことにより、式(1)に従う演算を実行して出力デー
タY(n)を得ている。このため、タップ数Nが大きくな
ったとしても、回路規模が大きくなることはない。とこ
ろで、第1のフィルタ係数h1(n)を有するFIR型デジ
タルフィルタに対し、
【0015】
【数5】
【0016】により与えられる第2のフィルタ係数h
2(n)を有するFIR型デジタルフィルタは、その周波数
応答性からミラーフィルタと称される。このようなミラ
ーフィルタにおけるZ変換の関係は、
2(n)を有するFIR型デジタルフィルタは、その周波数
応答性からミラーフィルタと称される。このようなミラ
ーフィルタにおけるZ変換の関係は、
【0017】
【数6】
【0018】である。ここで、周波数応答性を考える
と、
と、
【0019】
【数7】
【0020】であることから、式(6)は、
【0021】
【数8】
【0022】となる。これにより、ミラーフィルタの周
波数応答性が、π/2で対称となることがわかる。ここ
で、π/2がサンプリング周期の1/4であることか
ら、このミラーフィルタは、QMF(Quadrature Mirror
Filter)と称される。このQMFについては、アイイー
イーイー・トランザクションズ・オン・アコースティッ
クス・スピーチ・アンド・シグナル・プロセッシング,
エイエスエスピー32巻3号,1984年6月,(IEEE
Trans. Acoust.,Speech,Signal Process.,Vol.ASSP-32,
No.3,June1984)第522頁〜第531頁に詳述されてい
る。
波数応答性が、π/2で対称となることがわかる。ここ
で、π/2がサンプリング周期の1/4であることか
ら、このミラーフィルタは、QMF(Quadrature Mirror
Filter)と称される。このQMFについては、アイイー
イーイー・トランザクションズ・オン・アコースティッ
クス・スピーチ・アンド・シグナル・プロセッシング,
エイエスエスピー32巻3号,1984年6月,(IEEE
Trans. Acoust.,Speech,Signal Process.,Vol.ASSP-32,
No.3,June1984)第522頁〜第531頁に詳述されてい
る。
【0023】上述のQMFにより、周波数成分の帯域分
離が行われる分離フィルタにおいては、式(9)及び式(1
0)に示すように、入力データX(n)とインパルス応答と
の畳み込み処理と、それらの加算または減算処理によ
り、入力データX(n)の分離データである2つの出力デ
ータYa(n)、Yb(n)を得るように構成される。
離が行われる分離フィルタにおいては、式(9)及び式(1
0)に示すように、入力データX(n)とインパルス応答と
の畳み込み処理と、それらの加算または減算処理によ
り、入力データX(n)の分離データである2つの出力デ
ータYa(n)、Yb(n)を得るように構成される。
【0024】
【数9】
【0025】
【数10】
【0026】このような帯域分離が行われる分離フィル
タを図12に示す。直列に接続される各遅延素子21
は、入力データX(n)を順次一定期間(T)だけ遅延す
る。偶数段の遅延素子21の出力側に接続された乗算器
22は、各遅延素子21の出力にフィルタ係数h(2k)を
乗算し、総和加算器23に入力する。また、奇数段の遅
延素子21の出力側に接続された乗算器24は、各遅延
素子21の出力にフィルタ係数h(2k+1)を乗算し、総和
加算器25に入力する。これにより、入力データX(n)
とインパルス応答との畳み込み処理が成される。総和加
算器23は、各乗算器22の出力、即ち、所定のフィル
タ係数h(2k)が乗算された各遅延素子21の出力の総和
をとり、データAnを出力する。一方、総和加算器25
は、所定のフィルタ係数h(2k+1)が乗算された各遅延素
子21の出力の総和をとり、データBnを出力する。減
算器26は、総和加算器23が出力するデータAnか
ら、総和加算器25が出力するデータBnを減算し、出
力データYa(n)として出力する。また、加算器27は、
総和加算器23が出力するデータAnと、総和加算器2
5が出力するデータBnとを加算し、出力データYb(n)
として出力する。
タを図12に示す。直列に接続される各遅延素子21
は、入力データX(n)を順次一定期間(T)だけ遅延す
る。偶数段の遅延素子21の出力側に接続された乗算器
22は、各遅延素子21の出力にフィルタ係数h(2k)を
乗算し、総和加算器23に入力する。また、奇数段の遅
延素子21の出力側に接続された乗算器24は、各遅延
素子21の出力にフィルタ係数h(2k+1)を乗算し、総和
加算器25に入力する。これにより、入力データX(n)
とインパルス応答との畳み込み処理が成される。総和加
算器23は、各乗算器22の出力、即ち、所定のフィル
タ係数h(2k)が乗算された各遅延素子21の出力の総和
をとり、データAnを出力する。一方、総和加算器25
は、所定のフィルタ係数h(2k+1)が乗算された各遅延素
子21の出力の総和をとり、データBnを出力する。減
算器26は、総和加算器23が出力するデータAnか
ら、総和加算器25が出力するデータBnを減算し、出
力データYa(n)として出力する。また、加算器27は、
総和加算器23が出力するデータAnと、総和加算器2
5が出力するデータBnとを加算し、出力データYb(n)
として出力する。
【0027】
【発明が解決しようとする課題】しかしながら、図12
に示すような分離フィルタは、タップ数が大きくなるの
に伴い回路規模が増大するという問題を有している。特
に、1つの入力データを3つ以上の成分に分離するよう
な場合には、上述の分離フィルタを多重化する必要があ
り、回路規模はさらに増大する。
に示すような分離フィルタは、タップ数が大きくなるの
に伴い回路規模が増大するという問題を有している。特
に、1つの入力データを3つ以上の成分に分離するよう
な場合には、上述の分離フィルタを多重化する必要があ
り、回路規模はさらに増大する。
【0028】そこで本発明は、タップ数が大きくなって
も回路規模が増大することのない分離フィルタを提供す
ると共に、回路規模を増大させることなくフィルタを多
重化することを目的とする。
も回路規模が増大することのない分離フィルタを提供す
ると共に、回路規模を増大させることなくフィルタを多
重化することを目的とする。
【0029】
【課題を解決するための手段】本発明は、上述の課題を
解決するために成されたもので、第1の手段は、入力時
系列データを記憶するメモリと、このメモリから読み出
した入力時系列データに所定のフィルタ係数を乗算する
乗算器と、この乗算器の乗算結果を順次累加算するアキ
ュムレータと、このアキュムレータの累加算結果を交互
に取り込む一対のレジスタと、これら一対のレジスタか
ら取り出される2つの累加算結果を加算または減算し、
その演算値を入力時系列データの分離データとなる2つ
の出力時系列データとして出力する加減算器と、を備え
たことを特徴としている。
解決するために成されたもので、第1の手段は、入力時
系列データを記憶するメモリと、このメモリから読み出
した入力時系列データに所定のフィルタ係数を乗算する
乗算器と、この乗算器の乗算結果を順次累加算するアキ
ュムレータと、このアキュムレータの累加算結果を交互
に取り込む一対のレジスタと、これら一対のレジスタか
ら取り出される2つの累加算結果を加算または減算し、
その演算値を入力時系列データの分離データとなる2つ
の出力時系列データとして出力する加減算器と、を備え
たことを特徴としている。
【0030】第2の手段は、入力時系列データを記憶す
るメモリと、このメモリから読み出した入力時系列デー
タに所定のフィルタ係数を乗算する乗算器と、この乗算
器の乗算結果を順次累加算するアキュムレータと、この
アキュムレータの累加算結果を交互に取り込む一対のレ
ジスタと、これら一対のレジスタから取り出される2つ
の累加算結果を加算または減算し、その演算値を入力時
系列データの分離データとなる2つの出力時系列データ
として出力する加減算器と、この加減算器から出力され
る出力時系列データを入力時系列データに置き換えて上
記メモリに入力するセレクタと、を備えたことを特徴と
している。
るメモリと、このメモリから読み出した入力時系列デー
タに所定のフィルタ係数を乗算する乗算器と、この乗算
器の乗算結果を順次累加算するアキュムレータと、この
アキュムレータの累加算結果を交互に取り込む一対のレ
ジスタと、これら一対のレジスタから取り出される2つ
の累加算結果を加算または減算し、その演算値を入力時
系列データの分離データとなる2つの出力時系列データ
として出力する加減算器と、この加減算器から出力され
る出力時系列データを入力時系列データに置き換えて上
記メモリに入力するセレクタと、を備えたことを特徴と
している。
【0031】第3の手段は、入力時系列データを記憶す
るメモリと、このメモリから読み出した入力時系列デー
タに所定のフィルタ係数を乗算する乗算器と、この乗算
器の乗算結果を順次累加算するアキュムレータと、この
アキュムレータの累加算結果を交互に取り込む一対のレ
ジスタと、これら一対のレジスタから取り出される2つ
の累加算結果を加算または減算し、その演算値を入力時
系列データの分離データとなる2つの出力時系列データ
として出力する加減算器と、この加減算器から出力され
る出力時系列データを入力時系列データに置き換えて上
記メモリに入力する第1のセレクタと、この第1のセレ
クタから上記メモリに入力され、所定期間が経過した後
に読み出される時系列出力データを上記加減算器から出
力される時系列出力データに置き換えて出力する第2の
セレクタと、を備えたことを特徴としている。
るメモリと、このメモリから読み出した入力時系列デー
タに所定のフィルタ係数を乗算する乗算器と、この乗算
器の乗算結果を順次累加算するアキュムレータと、この
アキュムレータの累加算結果を交互に取り込む一対のレ
ジスタと、これら一対のレジスタから取り出される2つ
の累加算結果を加算または減算し、その演算値を入力時
系列データの分離データとなる2つの出力時系列データ
として出力する加減算器と、この加減算器から出力され
る出力時系列データを入力時系列データに置き換えて上
記メモリに入力する第1のセレクタと、この第1のセレ
クタから上記メモリに入力され、所定期間が経過した後
に読み出される時系列出力データを上記加減算器から出
力される時系列出力データに置き換えて出力する第2の
セレクタと、を備えたことを特徴としている。
【0032】
【作用】本発明の第1の手段によれば、メモリから読み
出される時系列入力データに所定のフィルタ係数が乗算
され、その乗算値がアキュムレータで累加算される。そ
して、アキュムレータの累加算値が一対のレジスタに交
互に取り込まれ、各レジスタに取り込まれた累加算値が
互いに加算及び減算されて、2つの成分に分離された時
系列出力データが得られる。
出される時系列入力データに所定のフィルタ係数が乗算
され、その乗算値がアキュムレータで累加算される。そ
して、アキュムレータの累加算値が一対のレジスタに交
互に取り込まれ、各レジスタに取り込まれた累加算値が
互いに加算及び減算されて、2つの成分に分離された時
系列出力データが得られる。
【0033】第2の手段によれば、セレクタが切り換え
られ、第1の手段と同様にして得られる時系列出力デー
タが再びメモリに記憶される。メモリに記憶された時系
列出力データは、新たな時系列入力データとして取り扱
われ、再度フィルタ係数の乗算、累加算及び加減算処理
が成される。従って、時系列入力データに対して多重の
分離処理が施され、3つ以上の成分に分離された時系列
出力データが得られる。
られ、第1の手段と同様にして得られる時系列出力デー
タが再びメモリに記憶される。メモリに記憶された時系
列出力データは、新たな時系列入力データとして取り扱
われ、再度フィルタ係数の乗算、累加算及び加減算処理
が成される。従って、時系列入力データに対して多重の
分離処理が施され、3つ以上の成分に分離された時系列
出力データが得られる。
【0034】第3の手段によれば、第1のセレクタが切
り換えられ、第1の手段と同様にして得られる出力時系
列データが再びメモリに記憶される。メモリに記憶され
た時系列出力データは、第2の手段と同様に新たな時系
列入力データとして取り扱われると共に、第2のセレク
タが切り換えられてメモリから直接出力される。従っ
て、時系列入力データに対して多重の演算処理が施され
ると同時に、出力時系列データの出力を所望の期間遅延
させることができる。
り換えられ、第1の手段と同様にして得られる出力時系
列データが再びメモリに記憶される。メモリに記憶され
た時系列出力データは、第2の手段と同様に新たな時系
列入力データとして取り扱われると共に、第2のセレク
タが切り換えられてメモリから直接出力される。従っ
て、時系列入力データに対して多重の演算処理が施され
ると同時に、出力時系列データの出力を所望の期間遅延
させることができる。
【0035】
【実施例】本発明による分離フィルタを図1に示す。R
AM31は、時系列で入力される入力データX(n)を順
次記憶する。ROM32は、予めフィルタ係数h(k)を
記憶しており、1ステップごとに増加するkの値に対応
して特定のフィルタ係数h(k)を読み出して出力する。
なお、このkは、上述の式(9)及び式(10)に示したkに
一致するものである。乗算器33は、RAM31から読
み出された入力データX(n-k)にROM32から読み出
されたフィルタ係数h(k)を乗算する。アキュムレータ
34は、加算器35及び第1のレジスタ36からなり、
乗算器33の乗算結果を累加算する。即ち、加算器35
が乗算器33の出力とレジスタ36の出力とを加算し、
その加算結果を再びレジスタ36に格納することによ
り、乗算器33からの出力を順次加算する。第2のレジ
スタ37及び第3のレジスタ38は、アキュムレータ3
4から出力される累加算結果を交互に取り込み、所定の
タイミングで出力する。例えば、アキュムレータ34か
ら奇数番目に出力される累加算結果(An)が第2のレ
ジスタ37に取り込まれ、偶数番目に出力される累加算
結果(Bn)が第3のレジスタ38に取り込まれる。加
減算器39は、2つのレジスタ37、38に取り込まれ
た累加算結果(An、Bn)を減算及び加算する。第4の
レジスタ40は、加減算器39の減算結果(An−Bn)
及び加算結果(An+Bn)を取り込み、それぞれを出力
データYa(n)、Yb(n)として出力する。
AM31は、時系列で入力される入力データX(n)を順
次記憶する。ROM32は、予めフィルタ係数h(k)を
記憶しており、1ステップごとに増加するkの値に対応
して特定のフィルタ係数h(k)を読み出して出力する。
なお、このkは、上述の式(9)及び式(10)に示したkに
一致するものである。乗算器33は、RAM31から読
み出された入力データX(n-k)にROM32から読み出
されたフィルタ係数h(k)を乗算する。アキュムレータ
34は、加算器35及び第1のレジスタ36からなり、
乗算器33の乗算結果を累加算する。即ち、加算器35
が乗算器33の出力とレジスタ36の出力とを加算し、
その加算結果を再びレジスタ36に格納することによ
り、乗算器33からの出力を順次加算する。第2のレジ
スタ37及び第3のレジスタ38は、アキュムレータ3
4から出力される累加算結果を交互に取り込み、所定の
タイミングで出力する。例えば、アキュムレータ34か
ら奇数番目に出力される累加算結果(An)が第2のレ
ジスタ37に取り込まれ、偶数番目に出力される累加算
結果(Bn)が第3のレジスタ38に取り込まれる。加
減算器39は、2つのレジスタ37、38に取り込まれ
た累加算結果(An、Bn)を減算及び加算する。第4の
レジスタ40は、加減算器39の減算結果(An−Bn)
及び加算結果(An+Bn)を取り込み、それぞれを出力
データYa(n)、Yb(n)として出力する。
【0036】以上の分離フィルタの動作について、図2
のタイミングチャートに従って説明する。なお、ここで
はタップ数N=4としている。タップ数N=4として式
(9)及び式(10)を計算すると、式(9)について、
のタイミングチャートに従って説明する。なお、ここで
はタップ数N=4としている。タップ数N=4として式
(9)及び式(10)を計算すると、式(9)について、
【0037】
【数11】
【0038】となり、式(10)について、
【0039】
【数12】
【0040】となる。図2において、入力データX(0)
〜X(7)の入力に関しては省略してあるが、入力データ
X(8)、X(9)等と同様に入力され、RAM31に書き込
まれる。n=4では、まず、RAM31から入力データ
X(8)が読み出され、これに対応してROM32からフ
ィルタ係数h(0)が読み出されると、乗算器33でこれ
らが乗算され、乗算結果がアキュムレータ34に供給さ
れる。このとき、アキュムレータ34のデータはクリア
されており、入力データX(8)とフィルタ係数h(0)との
乗算結果が、 A1=h(0)・X(8) なるデータとしてそのまま第1のレジスタ36に格納さ
れる。続いて、RAM31から順に入力データX(6)、
X(4)、X(2)が読み出されると共に、ROM32から順
にフィルタ係数h(2)、h(4)、h(6)が読み出され、そ
れぞれが乗算器33で乗算され、その乗算結果が順次ア
キュムレータ34に供給される。アキュムレータ34で
は、入力される乗算結果が累加算され、 A2=h(2)・X(6)+A1 A3=h(4)・X(4)+A2 A4=h(6)・X(2)+A3 なるデータが順に第1のレジスタ36に格納される。最
終的に格納された、 A4=h(0)・X(8)+h(2)・X(6)+h(4)・X(4)+h(6)・X(2) なるデータがアキュムレータ34から出力され、第2の
レジスタ37に格納される。
〜X(7)の入力に関しては省略してあるが、入力データ
X(8)、X(9)等と同様に入力され、RAM31に書き込
まれる。n=4では、まず、RAM31から入力データ
X(8)が読み出され、これに対応してROM32からフ
ィルタ係数h(0)が読み出されると、乗算器33でこれ
らが乗算され、乗算結果がアキュムレータ34に供給さ
れる。このとき、アキュムレータ34のデータはクリア
されており、入力データX(8)とフィルタ係数h(0)との
乗算結果が、 A1=h(0)・X(8) なるデータとしてそのまま第1のレジスタ36に格納さ
れる。続いて、RAM31から順に入力データX(6)、
X(4)、X(2)が読み出されると共に、ROM32から順
にフィルタ係数h(2)、h(4)、h(6)が読み出され、そ
れぞれが乗算器33で乗算され、その乗算結果が順次ア
キュムレータ34に供給される。アキュムレータ34で
は、入力される乗算結果が累加算され、 A2=h(2)・X(6)+A1 A3=h(4)・X(4)+A2 A4=h(6)・X(2)+A3 なるデータが順に第1のレジスタ36に格納される。最
終的に格納された、 A4=h(0)・X(8)+h(2)・X(6)+h(4)・X(4)+h(6)・X(2) なるデータがアキュムレータ34から出力され、第2の
レジスタ37に格納される。
【0041】同様に、RAM31から入力データX(7)
が読み出され、これに対応してROM32からフィルタ
係数h(1)が読み出されると、乗算器33でこれらが乗
算され、乗算結果がアキュムレータ34に供給される。
このとき、アキュムレータ34のデータはクリアされて
おり、入力データX(7)とフィルタ係数h(1)との乗算値
が、 B1=h(1)・X(7) なるデータとしてそのまま第1のレジスタ36に格納さ
れる。続いて、RAM31から順に入力データX(5)、
X(3)、X(1)が読み出されると共に、ROM32から順
にフィルタ係数h(3)、h(5)、h(7)が読み出され、そ
れぞれの乗算結果が順次アキュムレータ34に供給され
る。従って、 B2=h(3)・X(5)+B1 B3=h(5)・X(3)+B2 B4=h(7)・X(1)+B3 なるデータが順に第1のレジスタ36に格納される。最
終的に格納された、 B4=h(1)・X(7)+h(3)・X(5)+h(5)・X(3)+h(7)・X(1) なるデータがアキュムレータ34から出力され、第3の
レジスタ38に格納される。
が読み出され、これに対応してROM32からフィルタ
係数h(1)が読み出されると、乗算器33でこれらが乗
算され、乗算結果がアキュムレータ34に供給される。
このとき、アキュムレータ34のデータはクリアされて
おり、入力データX(7)とフィルタ係数h(1)との乗算値
が、 B1=h(1)・X(7) なるデータとしてそのまま第1のレジスタ36に格納さ
れる。続いて、RAM31から順に入力データX(5)、
X(3)、X(1)が読み出されると共に、ROM32から順
にフィルタ係数h(3)、h(5)、h(7)が読み出され、そ
れぞれの乗算結果が順次アキュムレータ34に供給され
る。従って、 B2=h(3)・X(5)+B1 B3=h(5)・X(3)+B2 B4=h(7)・X(1)+B3 なるデータが順に第1のレジスタ36に格納される。最
終的に格納された、 B4=h(1)・X(7)+h(3)・X(5)+h(5)・X(3)+h(7)・X(1) なるデータがアキュムレータ34から出力され、第3の
レジスタ38に格納される。
【0042】そして、第2のレジスタ37及び第3のレ
ジスタ38からデータA4及びデータB4が加減算器39
に入力され、データA4とデータB4とが加算された後、
データA4からデータB4が減算される。加減算器39の
演算結果は、第4のレジスタ40に格納され、加算結
果、即ち、 A4+B4=h(6)・X(2)+h(4)・X(4)+h(2)・X(6)+h(0)・X(8) +h(7)・X(1)+h(5)・X(3)+h(3)・X(5)+h(1)・X(7) が出力データYb(4)として出力され、同様に、減算結
果、即ち、 A4−B4=h(6)・X(2)+h(4)・X(4)+h(2)・X(6)+h(0)・X(8) −h(7)・X(1)−h(5)・X(3)−h(3)・X(5)−h(1)・X(7) が出力データYa(4)として出力される。この結果、式(1
1)及び式(12)で表される演算処理が成されたことにな
る。
ジスタ38からデータA4及びデータB4が加減算器39
に入力され、データA4とデータB4とが加算された後、
データA4からデータB4が減算される。加減算器39の
演算結果は、第4のレジスタ40に格納され、加算結
果、即ち、 A4+B4=h(6)・X(2)+h(4)・X(4)+h(2)・X(6)+h(0)・X(8) +h(7)・X(1)+h(5)・X(3)+h(3)・X(5)+h(1)・X(7) が出力データYb(4)として出力され、同様に、減算結
果、即ち、 A4−B4=h(6)・X(2)+h(4)・X(4)+h(2)・X(6)+h(0)・X(8) −h(7)・X(1)−h(5)・X(3)−h(3)・X(5)−h(1)・X(7) が出力データYa(4)として出力される。この結果、式(1
1)及び式(12)で表される演算処理が成されたことにな
る。
【0043】ところで、RAM31及びROM32に与
えられるアドレスは、図3に示すような、アドレス生成
回路により生成される。プリセットカウンタ51は、ア
キュムレータ34の一連の動作周期に一致する第1のク
ロックCK1によりカウントアップされ、アキュムレー
タ34の累加算動作が完了する度にインクリメントされ
るプリセットデータPDを発生する。第1のループカウ
ンタ52は、プリセットデータPDがプリセットされた
後、乗算器33の動作周期に一致する第2のクロックC
K2によりカウントアップされ、乗算器33の乗算動作
が完了する度にインクリメントされるアドレスデータA
D1を発生する。このアドレスデータAD1は、RAM
31のアドレスを指定し、所定の入力データX(n)を読
み出す。第2のループカウンタ53は、第1のクロック
CK1の周期に一致するリセットクロックRCによりリ
セットされた後、第2のクロックCK2によりカウント
アップされ、乗算器33の乗算動作が完了する度にイン
クリメントされるアドレスデータAD2を発生する。こ
のアドレスデータAD2は、ROM32のアドレスを指
定し、所定のフィルタ係数h(n)を読み出す。これによ
り、RAM31に供給されるアドレスデータAD1は、
アキュムレータ34が累加算動作を完了する度毎に1つ
ずつずれるのに対し、ROM32に供給されるアドレス
データAD2は、アキュムレータ34が累加算動作する
度毎に同じアドレスを繰り返すことになる。従って、R
OM32からは同じフィルタ係数h(n)が繰り返し読み
出され、RAM31からは1データずつ順にずれた入力
データX(n)が読み出される。
えられるアドレスは、図3に示すような、アドレス生成
回路により生成される。プリセットカウンタ51は、ア
キュムレータ34の一連の動作周期に一致する第1のク
ロックCK1によりカウントアップされ、アキュムレー
タ34の累加算動作が完了する度にインクリメントされ
るプリセットデータPDを発生する。第1のループカウ
ンタ52は、プリセットデータPDがプリセットされた
後、乗算器33の動作周期に一致する第2のクロックC
K2によりカウントアップされ、乗算器33の乗算動作
が完了する度にインクリメントされるアドレスデータA
D1を発生する。このアドレスデータAD1は、RAM
31のアドレスを指定し、所定の入力データX(n)を読
み出す。第2のループカウンタ53は、第1のクロック
CK1の周期に一致するリセットクロックRCによりリ
セットされた後、第2のクロックCK2によりカウント
アップされ、乗算器33の乗算動作が完了する度にイン
クリメントされるアドレスデータAD2を発生する。こ
のアドレスデータAD2は、ROM32のアドレスを指
定し、所定のフィルタ係数h(n)を読み出す。これによ
り、RAM31に供給されるアドレスデータAD1は、
アキュムレータ34が累加算動作を完了する度毎に1つ
ずつずれるのに対し、ROM32に供給されるアドレス
データAD2は、アキュムレータ34が累加算動作する
度毎に同じアドレスを繰り返すことになる。従って、R
OM32からは同じフィルタ係数h(n)が繰り返し読み
出され、RAM31からは1データずつ順にずれた入力
データX(n)が読み出される。
【0044】以上のように、QMFを用いた分離フィル
タにおいては、乗算器33によって入力データX(n)と
フィルタ係数h(n)との乗算処理が繰り返され、その乗
算結果がアキュムレータ34により累加算される。これ
により、上述の式(11)及び式(12)に従う演算が実行さ
れ、入力データX(n)に対して2つの出力データY
a(n)、Yb(n)が得られる。従って、タップ数Nを大きく
する場合でも回路規模を大きくする必要はない。
タにおいては、乗算器33によって入力データX(n)と
フィルタ係数h(n)との乗算処理が繰り返され、その乗
算結果がアキュムレータ34により累加算される。これ
により、上述の式(11)及び式(12)に従う演算が実行さ
れ、入力データX(n)に対して2つの出力データY
a(n)、Yb(n)が得られる。従って、タップ数Nを大きく
する場合でも回路規模を大きくする必要はない。
【0045】続いて、分離フィルタの多重化について説
明する。1つの入力データX(n)を3つの成分に分離
し、3つの出力データYa(n)、Yb(n)、Yc(n)を得る場
合には、2つの分離フィルタを用いて2度の分離処理を
施すように構成される。例えば、図3に示すように、入
力データX(n)を受けるQMF1の2つの出力データYc
(n)、Z(n)の一方をQMF2の入力データとすることに
より、最終的に3つの出力データYa(n)、Yb(n)、Y
c(n)を得るようにしている。
明する。1つの入力データX(n)を3つの成分に分離
し、3つの出力データYa(n)、Yb(n)、Yc(n)を得る場
合には、2つの分離フィルタを用いて2度の分離処理を
施すように構成される。例えば、図3に示すように、入
力データX(n)を受けるQMF1の2つの出力データYc
(n)、Z(n)の一方をQMF2の入力データとすることに
より、最終的に3つの出力データYa(n)、Yb(n)、Y
c(n)を得るようにしている。
【0046】このような多重化された分離フィルタにお
いては、式(9)及び式(10)に従い、入力データX(n)に対
して、まず、
いては、式(9)及び式(10)に従い、入力データX(n)に対
して、まず、
【0047】
【数13】
【0048】なる演算処理が施され、さらに、出力デー
タZ(n)に対して、
タZ(n)に対して、
【0049】
【数14】
【0050】なる演算処理が施されることになる。図1
に示す分離フィルタの場合、図5に示すように、1つの
セレクタ41を追加することにより、分離フィルタを多
重化した場合と同一の演算処理が可能になる。即ち、R
AM31の入力側にセレクタ41を設け、入力データX
(n)と加減算器39から出力される出力データZ(n)とを
切り換えてRAM31に記憶させることにより、出力デ
ータZ(n)を再度入力データとして取り扱うようにして
いる。従って、入力データX(n)に対する1回目の演算
処理により2つの出力データYc(n)、Z(n)が得られ、
このうちの出力データZ(n)に対する2回目の演算処理
によりさらに2つの出力データYa(n)、Yb(n)が得られ
る。
に示す分離フィルタの場合、図5に示すように、1つの
セレクタ41を追加することにより、分離フィルタを多
重化した場合と同一の演算処理が可能になる。即ち、R
AM31の入力側にセレクタ41を設け、入力データX
(n)と加減算器39から出力される出力データZ(n)とを
切り換えてRAM31に記憶させることにより、出力デ
ータZ(n)を再度入力データとして取り扱うようにして
いる。従って、入力データX(n)に対する1回目の演算
処理により2つの出力データYc(n)、Z(n)が得られ、
このうちの出力データZ(n)に対する2回目の演算処理
によりさらに2つの出力データYa(n)、Yb(n)が得られ
る。
【0051】以上の分離フィルタについて、タップ数N
=2としたときの動作を図6のタイミングチャートに従
って説明する。まず、タップ数N=2として上述の式(1
3)及び式(14)を計算すると、
=2としたときの動作を図6のタイミングチャートに従
って説明する。まず、タップ数N=2として上述の式(1
3)及び式(14)を計算すると、
【0052】
【数15】
【0053】となる。ここで、m=2n(mが偶数の場
合)またはm=2n−1(mが奇数の場合)である。ま
た、上述の式(15)及び式(16)を計算すると、
合)またはm=2n−1(mが奇数の場合)である。ま
た、上述の式(15)及び式(16)を計算すると、
【0054】
【数16】
【0055】となる。図6において、入力データX(0)
〜X(7)及び出力データZ(1)〜Z(3)のRAM31への
書き込みに関しては省略してあるが、入力データX
(8)、X(9)及び出力データZ(4)と同様に入力されてR
AM31に記憶されている。m=4では、まず、RAM
31から入力データX(8)が読み出され、同時にROM
32からフィルタ係数h(0)が読み出されると、乗算器
33でこれらが乗算され、乗算結果がアキュムレータ3
4に供給される。アキュムレータ34のデータはこのと
きクリアされており、入力データX(8)とフィルタ係数
h(0)との乗算結果が、 A1=h(0)・X(8) なるデータとしてそのまま第1のレジスタ36に格納さ
れる。続いて、RAM31から入力データX(6)が読み
出されると共に、ROM32からフィルタ係数h(2)が
読み出され、それぞれが乗算器33で乗算され、その乗
算結果がアキュムレータ34に供給される。アキュムレ
ータ34では、入力される乗算結果が累加算され、 A2=h(2)・X(6)+A1=h(2)・X(6)+h(0)・X(8) なるデータが第1のレジスタ36に格納され、アキュム
レータ34から出力されて第2のレジスタ37に格納さ
れる。
〜X(7)及び出力データZ(1)〜Z(3)のRAM31への
書き込みに関しては省略してあるが、入力データX
(8)、X(9)及び出力データZ(4)と同様に入力されてR
AM31に記憶されている。m=4では、まず、RAM
31から入力データX(8)が読み出され、同時にROM
32からフィルタ係数h(0)が読み出されると、乗算器
33でこれらが乗算され、乗算結果がアキュムレータ3
4に供給される。アキュムレータ34のデータはこのと
きクリアされており、入力データX(8)とフィルタ係数
h(0)との乗算結果が、 A1=h(0)・X(8) なるデータとしてそのまま第1のレジスタ36に格納さ
れる。続いて、RAM31から入力データX(6)が読み
出されると共に、ROM32からフィルタ係数h(2)が
読み出され、それぞれが乗算器33で乗算され、その乗
算結果がアキュムレータ34に供給される。アキュムレ
ータ34では、入力される乗算結果が累加算され、 A2=h(2)・X(6)+A1=h(2)・X(6)+h(0)・X(8) なるデータが第1のレジスタ36に格納され、アキュム
レータ34から出力されて第2のレジスタ37に格納さ
れる。
【0056】同様に、RAM31から入力データX(7)
が読み出され、これに対応してROM32からフィルタ
係数h(1)が読み出されると、乗算器33でこれらが乗
算され、乗算結果がアキュムレータ34に供給される。
このとき、アキュムレータ34のデータはクリアされて
おり、入力データX(7)とフィルタ係数h(1)との乗算結
果が、 B1=h(1)・X(7) なるデータとして第1のレジスタ36に格納される。続
いて、RAM31から入力データX(5)が読み出される
と共に、ROM32からフィルタ係数h(3)が読み出さ
れ、それぞれの乗算結果が順次アキュムレータ34に供
給される。従って、 B2=h(3)・X(5)+B1=h(3)・X(5)+h(1)・X(7) なるデータが第1のレジスタ36に格納され、アキュム
レータ34から出力されて第3のレジスタ38に格納さ
れる。
が読み出され、これに対応してROM32からフィルタ
係数h(1)が読み出されると、乗算器33でこれらが乗
算され、乗算結果がアキュムレータ34に供給される。
このとき、アキュムレータ34のデータはクリアされて
おり、入力データX(7)とフィルタ係数h(1)との乗算結
果が、 B1=h(1)・X(7) なるデータとして第1のレジスタ36に格納される。続
いて、RAM31から入力データX(5)が読み出される
と共に、ROM32からフィルタ係数h(3)が読み出さ
れ、それぞれの乗算結果が順次アキュムレータ34に供
給される。従って、 B2=h(3)・X(5)+B1=h(3)・X(5)+h(1)・X(7) なるデータが第1のレジスタ36に格納され、アキュム
レータ34から出力されて第3のレジスタ38に格納さ
れる。
【0057】そして、第2のレジスタ37及び第3のレ
ジスタ38からデータA2及びデータB2が加減算器39
に入力され、データA2とデータB2とが加算された後、
データA2からデータB2が減算される。加減算器39の
加算結果、即ち、 A2+B2=h(2)・X(6)+h(0)・X(8)+h(3)・X(5)+h(1)・X(7) なるデータは、第4のレジスタ40に格納され、出力デ
ータYc(4)として出力される。また、加減算器39の減
算結果、即ち、 A2−B2=h(2)・X(6)+h(0)・X(8)−h(3)・X(5)−h(1)・X(7) なるデータは、新たな入力データZ(4)としてセレクタ
41からRAM31に記憶される。この結果、式(17)及
び式(18)で表される演算処理が成されたことになる。
ジスタ38からデータA2及びデータB2が加減算器39
に入力され、データA2とデータB2とが加算された後、
データA2からデータB2が減算される。加減算器39の
加算結果、即ち、 A2+B2=h(2)・X(6)+h(0)・X(8)+h(3)・X(5)+h(1)・X(7) なるデータは、第4のレジスタ40に格納され、出力デ
ータYc(4)として出力される。また、加減算器39の減
算結果、即ち、 A2−B2=h(2)・X(6)+h(0)・X(8)−h(3)・X(5)−h(1)・X(7) なるデータは、新たな入力データZ(4)としてセレクタ
41からRAM31に記憶される。この結果、式(17)及
び式(18)で表される演算処理が成されたことになる。
【0058】m=4ではn=2であり、RAM31から
入力データZ(4)が読み出され、同時にROM32から
フィルタ係数h(0)が読み出されると、乗算器33で互
い乗算され、乗算結果がアキュムレータ34に供給され
る。アキュムレータ34はデータがクリアされており、
入力データZ(4)とフィルタ係数h(0)との乗算値が、 C1=h(0)・Z(4) なるデータとしてそのまま第1のレジスタ36に格納さ
れる。続いて、RAM31から入力データZ(2)が読み
出されると共に、ROM32からフィルタ係数h(2)が
読み出され、それぞれが乗算器33で乗算され、その乗
算結果がアキュムレータ34に供給される。アキュムレ
ータ34では、入力される乗算結果が累加算され、 C2=h(2)・Z(2)+C1=h(2)・Z(2)+h(0)・X(4) なるデータが第1のレジスタ36に格納され、アキュム
レータ34から出力されて第2のレジスタ37に格納さ
れる。
入力データZ(4)が読み出され、同時にROM32から
フィルタ係数h(0)が読み出されると、乗算器33で互
い乗算され、乗算結果がアキュムレータ34に供給され
る。アキュムレータ34はデータがクリアされており、
入力データZ(4)とフィルタ係数h(0)との乗算値が、 C1=h(0)・Z(4) なるデータとしてそのまま第1のレジスタ36に格納さ
れる。続いて、RAM31から入力データZ(2)が読み
出されると共に、ROM32からフィルタ係数h(2)が
読み出され、それぞれが乗算器33で乗算され、その乗
算結果がアキュムレータ34に供給される。アキュムレ
ータ34では、入力される乗算結果が累加算され、 C2=h(2)・Z(2)+C1=h(2)・Z(2)+h(0)・X(4) なるデータが第1のレジスタ36に格納され、アキュム
レータ34から出力されて第2のレジスタ37に格納さ
れる。
【0059】同様に、RAM31から入力データZ(3)
が読み出され、これに対応してROM32からフィルタ
係数h(1)が読み出されると、乗算器33で互いに乗算
され、乗算結果がアキュムレータ34に供給される。こ
のとき、アキュムレータ34はデータがクリアされてお
り、入力データZ(3)とフィルタ係数h(1)との乗算値
が、 D1=h(1)・Z(3) なるデータとして第1のレジスタ36に格納される。続
いて、RAM31から入力データZ(1)が読み出される
と共に、ROM32からフィルタ係数h(3)が読み出さ
れ、それぞれの乗算結果が順次アキュムレータ34に供
給される。従って、 D2=h(3)・Z(1)+D1=h(3)・Z(1)+h(1)・Z(3) なるデータが第1のレジスタ36に格納され、アキュム
レータ34から出力されて第3のレジスタ38に格納さ
れる。
が読み出され、これに対応してROM32からフィルタ
係数h(1)が読み出されると、乗算器33で互いに乗算
され、乗算結果がアキュムレータ34に供給される。こ
のとき、アキュムレータ34はデータがクリアされてお
り、入力データZ(3)とフィルタ係数h(1)との乗算値
が、 D1=h(1)・Z(3) なるデータとして第1のレジスタ36に格納される。続
いて、RAM31から入力データZ(1)が読み出される
と共に、ROM32からフィルタ係数h(3)が読み出さ
れ、それぞれの乗算結果が順次アキュムレータ34に供
給される。従って、 D2=h(3)・Z(1)+D1=h(3)・Z(1)+h(1)・Z(3) なるデータが第1のレジスタ36に格納され、アキュム
レータ34から出力されて第3のレジスタ38に格納さ
れる。
【0060】そして、第2のレジスタ37及び第3のレ
ジスタ38からデータC2及びデータD2が加減算器39
に入力され、データC2とデータD2とが加算された後、
データC2からデータD2が減算される。加減算器39の
演算結果は第4のレジスタ40に格納され、加算結果、
即ち、 C2+D2=h(2)・Z(2)+h(0)・Z(4)+h(3)・Z(1)+h(1)・Z(3) が出力データYb(2)として出力され、同様に、減算結
果、即ち、 C2−D2=h(2)・Z(2)+h(0)・Z(4)−h(3)・Z(1)−h(1)・Z(3) が出力データYa(2)として出力される。この結果、式(1
9)及び式(20)で表される演算処理が成されたことにな
る。
ジスタ38からデータC2及びデータD2が加減算器39
に入力され、データC2とデータD2とが加算された後、
データC2からデータD2が減算される。加減算器39の
演算結果は第4のレジスタ40に格納され、加算結果、
即ち、 C2+D2=h(2)・Z(2)+h(0)・Z(4)+h(3)・Z(1)+h(1)・Z(3) が出力データYb(2)として出力され、同様に、減算結
果、即ち、 C2−D2=h(2)・Z(2)+h(0)・Z(4)−h(3)・Z(1)−h(1)・Z(3) が出力データYa(2)として出力される。この結果、式(1
9)及び式(20)で表される演算処理が成されたことにな
る。
【0061】なお、入力データZ(n)に対して乗算され
るフィルタ係数h(n)については、入力データX(n)に乗
算されるフィルタ係数h(1)と異なるものであってもよ
い。以上のようにして多重化された分離フィルタにおい
ては、図1に示す分離フィルタと比較してセレクタ41
のみが付加されており、多重化に起因する回路規模の増
大は極めて少ない。
るフィルタ係数h(n)については、入力データX(n)に乗
算されるフィルタ係数h(1)と異なるものであってもよ
い。以上のようにして多重化された分離フィルタにおい
ては、図1に示す分離フィルタと比較してセレクタ41
のみが付加されており、多重化に起因する回路規模の増
大は極めて少ない。
【0062】ところで、多重化された分離フィルタにお
いては、複数の出力データYa(n)、Yb(n)、Yc(n)の出
力タイミングが一致しないといった問題が生じる。即
ち、2度の演算処理により得られる出力データYa(n)、
Yb(n)と、1度の演算処理により得られる出力データY
c(n)との出力タイミングがずれることになる。このよう
な出力タイミングのずれを補償するため、図7に示すよ
うに、出力データYc(n)を遅延することにより、各出力
データYa(n)、Yb(n)、Yc(n)の出力タイミングの一致
が図られる。
いては、複数の出力データYa(n)、Yb(n)、Yc(n)の出
力タイミングが一致しないといった問題が生じる。即
ち、2度の演算処理により得られる出力データYa(n)、
Yb(n)と、1度の演算処理により得られる出力データY
c(n)との出力タイミングがずれることになる。このよう
な出力タイミングのずれを補償するため、図7に示すよ
うに、出力データYc(n)を遅延することにより、各出力
データYa(n)、Yb(n)、Yc(n)の出力タイミングの一致
が図られる。
【0063】図5に示した分離フィルタにおいては、第
1のセレクタ41に加えて、第2のセレクタ42を設け
ることにより、出力データYc(n)に対する遅延処理が可
能になる。即ち、RAM31入力側に入力データX(n)
と加減算器39から出力されるデータとを切り換える第
1のセレクタ41が設けられると共に、第4のレジスタ
40の入力側にRAM31から読み出されるデータと加
減算器39から出力されるデータとを切り換える第2の
セレクタ42が設けられる。これにより、加減算器39
から出力される出力データYc(n)を一旦RAM31に記
憶し、所定のタイミングでRAM31から読み出して第
2のセレクタ42から第4のレジスタ40に取り込むよ
うにすることができる。従って、RAM31が遅延回路
として機能し、2度の演算処理により得られる出力デー
タYa(n)、Yb(n)に対して、1度の演算処理により得ら
れる出力データYc(n)が同じタイミングで出力されるよ
うになる。
1のセレクタ41に加えて、第2のセレクタ42を設け
ることにより、出力データYc(n)に対する遅延処理が可
能になる。即ち、RAM31入力側に入力データX(n)
と加減算器39から出力されるデータとを切り換える第
1のセレクタ41が設けられると共に、第4のレジスタ
40の入力側にRAM31から読み出されるデータと加
減算器39から出力されるデータとを切り換える第2の
セレクタ42が設けられる。これにより、加減算器39
から出力される出力データYc(n)を一旦RAM31に記
憶し、所定のタイミングでRAM31から読み出して第
2のセレクタ42から第4のレジスタ40に取り込むよ
うにすることができる。従って、RAM31が遅延回路
として機能し、2度の演算処理により得られる出力デー
タYa(n)、Yb(n)に対して、1度の演算処理により得ら
れる出力データYc(n)が同じタイミングで出力されるよ
うになる。
【0064】以上の分離フィルタについて、タップ数N
=2としたときの動作を図9のタイミングチャートに従
って説明する。図9において、入力データX(0)〜X(7)
及び出力データZ(1)〜Z(3)の入力に関して省略してあ
るが、入力データX(8)、X(9)と同様に入力されてRA
M31に記憶されている。なお、ここで実行される演算
処理自体は、図6に示される演算処理と同一のもので、
それぞれ上述の式(19)及び式(20)に従う。
=2としたときの動作を図9のタイミングチャートに従
って説明する。図9において、入力データX(0)〜X(7)
及び出力データZ(1)〜Z(3)の入力に関して省略してあ
るが、入力データX(8)、X(9)と同様に入力されてRA
M31に記憶されている。なお、ここで実行される演算
処理自体は、図6に示される演算処理と同一のもので、
それぞれ上述の式(19)及び式(20)に従う。
【0065】m=4では、RAM31から入力データX
(8)、X(6)が順に読み出され、同時にROM32からフ
ィルタ係数h(0)、h(2)が読み出されると、それぞれが
乗算器33で乗算され、乗算結果がアキュムレータ34
に供給される。アキュムレータ34では乗算器33の乗
算結果が累加算され、最終的に、 A2=h(2)・X(6)+A1=h(2)・X(6)+h(0)・X(8) なるデータが第1のレジスタ36に格納され、アキュム
レータ34から出力されて第2のレジスタ37に格納さ
れる。同様に、RAM31から入力データX(7)、X(5)
が順に読み出され、これに対応してROM32からフィ
ルタ係数h(1)、h(3)が読み出されると、乗算器33で
これらが乗算され、乗算結果がアキュムレータ34に供
給される。リセットされたアキュムレータ34では乗算
器33の乗算結果が累加算され、最終的に、 B2=h(3)・X(5)+B1=h(3)・X(5)+h(1)・X(7) なるデータが第1のレジスタ36に格納され、アキュム
レータ34から出力されて第3のレジスタ38に格納さ
れる。
(8)、X(6)が順に読み出され、同時にROM32からフ
ィルタ係数h(0)、h(2)が読み出されると、それぞれが
乗算器33で乗算され、乗算結果がアキュムレータ34
に供給される。アキュムレータ34では乗算器33の乗
算結果が累加算され、最終的に、 A2=h(2)・X(6)+A1=h(2)・X(6)+h(0)・X(8) なるデータが第1のレジスタ36に格納され、アキュム
レータ34から出力されて第2のレジスタ37に格納さ
れる。同様に、RAM31から入力データX(7)、X(5)
が順に読み出され、これに対応してROM32からフィ
ルタ係数h(1)、h(3)が読み出されると、乗算器33で
これらが乗算され、乗算結果がアキュムレータ34に供
給される。リセットされたアキュムレータ34では乗算
器33の乗算結果が累加算され、最終的に、 B2=h(3)・X(5)+B1=h(3)・X(5)+h(1)・X(7) なるデータが第1のレジスタ36に格納され、アキュム
レータ34から出力されて第3のレジスタ38に格納さ
れる。
【0066】この後、RAM31からは過去に記憶され
た出力データYc(2)が読み出されて、第2のセレクタ4
2を通して第4のレジスタ40に格納される。そして、
第2のレジスタ37及び第3のレジスタ38からデータ
A2及びデータB2が加減算器39に入力され、データA
2とデータB2とが加算された後、データA2からデータ
B2が減算される。加減算器39の加算結果、即ち、 A2+B2=h(2)・X(6)+h(0)・X(8)+h(3)・X(5)+h(1)・X(7) なるデータは、出力データYc(4)として、第1のセレク
タ41からRAM31に一旦記憶される。ここで記憶さ
れた出力データYc(4)は、所定の期間の後に読み出さ
れ、第2のセレクタ42を通して第4のレジスタ40に
格納される。また、加減算器39の減算結果、即ち、 A2−B2=h(2)・X(6)+h(0)・X(8)−h(3)・X(5)−h(1)・X(7) なるデータについても、新たな入力データZ(4)として
セレクタ41からRAM31に記憶される。
た出力データYc(2)が読み出されて、第2のセレクタ4
2を通して第4のレジスタ40に格納される。そして、
第2のレジスタ37及び第3のレジスタ38からデータ
A2及びデータB2が加減算器39に入力され、データA
2とデータB2とが加算された後、データA2からデータ
B2が減算される。加減算器39の加算結果、即ち、 A2+B2=h(2)・X(6)+h(0)・X(8)+h(3)・X(5)+h(1)・X(7) なるデータは、出力データYc(4)として、第1のセレク
タ41からRAM31に一旦記憶される。ここで記憶さ
れた出力データYc(4)は、所定の期間の後に読み出さ
れ、第2のセレクタ42を通して第4のレジスタ40に
格納される。また、加減算器39の減算結果、即ち、 A2−B2=h(2)・X(6)+h(0)・X(8)−h(3)・X(5)−h(1)・X(7) なるデータについても、新たな入力データZ(4)として
セレクタ41からRAM31に記憶される。
【0067】さらに、RAM31から入力データZ
(4)、Z(2)が順に読み出され、同時にROM32からフ
ィルタ係数h(0)、h(2)順に読み出されると、乗算器3
3で互い乗算され、乗算結果がアキュムレータ34に供
給される。アキュムレータ34では、乗算器33の乗算
結果が累加算され、 C2=h(2)・Z(2)+C1=h(2)・Z(2)+h(0)・X(4) なるデータが第1のレジスタ36に格納され、アキュム
レータ34から出力されて第2のレジスタ37に格納さ
れる。同様に、RAM31から入力データZ(3)、Z(1)
が順に読み出され、これに対応してROM32からフィ
ルタ係数h(1)、h(3)が読み出されると、乗算器33で
互いに乗算され、乗算結果がアキュムレータ34に供給
される。このとき、アキュムレータ34はデータがクリ
アされており、乗算器33の乗算結果が累加算されて、 D2=h(3)・Z(1)+D1=h(3)・Z(1)+h(1)・Z(3) なるデータが第1のレジスタ36に格納され、アキュム
レータ34から出力されて第3のレジスタ38に格納さ
れる。
(4)、Z(2)が順に読み出され、同時にROM32からフ
ィルタ係数h(0)、h(2)順に読み出されると、乗算器3
3で互い乗算され、乗算結果がアキュムレータ34に供
給される。アキュムレータ34では、乗算器33の乗算
結果が累加算され、 C2=h(2)・Z(2)+C1=h(2)・Z(2)+h(0)・X(4) なるデータが第1のレジスタ36に格納され、アキュム
レータ34から出力されて第2のレジスタ37に格納さ
れる。同様に、RAM31から入力データZ(3)、Z(1)
が順に読み出され、これに対応してROM32からフィ
ルタ係数h(1)、h(3)が読み出されると、乗算器33で
互いに乗算され、乗算結果がアキュムレータ34に供給
される。このとき、アキュムレータ34はデータがクリ
アされており、乗算器33の乗算結果が累加算されて、 D2=h(3)・Z(1)+D1=h(3)・Z(1)+h(1)・Z(3) なるデータが第1のレジスタ36に格納され、アキュム
レータ34から出力されて第3のレジスタ38に格納さ
れる。
【0068】そして、第2のレジスタ37及び第3のレ
ジスタ38からデータC2及びデータD2が加減算器39
に入力され、データC2とデータD2とが加算された後、
データC2からデータD2が減算される。加減算器39の
演算結果は第4のレジスタ40に格納され、加算結果、
即ち、 C2+D2=h(2)・Z(2)+h(0)・Z(4)+h(3)・Z(1)+h(1)・Z(3) が出力データYb(2)として出力され、同様に、減算結
果、即ち、 C2−D2=h(2)・Z(2)+h(0)・Z(4)−h(3)・Z(1)−h(1)・Z(3) が出力データYa(2)として出力される。ここで、第4の
レジスタ40には、過去の演算処理によって得られた出
力データYc(4)が先に格納されており、出力データY
a(2)、Yb(2)と共に出力されることになる。
ジスタ38からデータC2及びデータD2が加減算器39
に入力され、データC2とデータD2とが加算された後、
データC2からデータD2が減算される。加減算器39の
演算結果は第4のレジスタ40に格納され、加算結果、
即ち、 C2+D2=h(2)・Z(2)+h(0)・Z(4)+h(3)・Z(1)+h(1)・Z(3) が出力データYb(2)として出力され、同様に、減算結
果、即ち、 C2−D2=h(2)・Z(2)+h(0)・Z(4)−h(3)・Z(1)−h(1)・Z(3) が出力データYa(2)として出力される。ここで、第4の
レジスタ40には、過去の演算処理によって得られた出
力データYc(4)が先に格納されており、出力データY
a(2)、Yb(2)と共に出力されることになる。
【0069】以上のようにして遅延機能が付加され、且
つ、多重化された分離フィルタにおいては、図1に示す
分離フィルタと比較して2つのセレクタ41、42のみ
が付加されており、回路規模の増大は極めて少ない。な
お、以上の実施例においては、1つの入力データX(n)
から2つあるいは3つの出力データYa(n)、Yb(n)、Y
c(n)を得る場合を例示したが、さらに加減算器39から
出力されるデータを繰り返しRAM31に記憶させ、フ
ィルタ係数h(n)の乗算処理を施すことにより、入力デ
ータX(n)を4つ以上の成分に分離することも可能であ
る。
つ、多重化された分離フィルタにおいては、図1に示す
分離フィルタと比較して2つのセレクタ41、42のみ
が付加されており、回路規模の増大は極めて少ない。な
お、以上の実施例においては、1つの入力データX(n)
から2つあるいは3つの出力データYa(n)、Yb(n)、Y
c(n)を得る場合を例示したが、さらに加減算器39から
出力されるデータを繰り返しRAM31に記憶させ、フ
ィルタ係数h(n)の乗算処理を施すことにより、入力デ
ータX(n)を4つ以上の成分に分離することも可能であ
る。
【0070】
【発明の効果】本発明によれば、タップ数が大きくなっ
た場合でも回路規模を増大させることなく演算処理を行
わせることができる。また、フィルタを多重化し、1つ
の入力データから3つ以上の出力データを得る場合で
も、セレクタを追加することで対応することができた
め、回路規模の増大を防止することができる。
た場合でも回路規模を増大させることなく演算処理を行
わせることができる。また、フィルタを多重化し、1つ
の入力データから3つ以上の出力データを得る場合で
も、セレクタを追加することで対応することができた
め、回路規模の増大を防止することができる。
【図1】本発明のデジタルフィルタの第1の実施例を示
すブロック図である。
すブロック図である。
【図2】第1の実施例の動作を説明するタイミングチャ
ートである。
ートである。
【図3】アドレス生成回路の構成を示すブロック図であ
る。
る。
【図4】QMFを多重化する構成を示すブロック図であ
る。
る。
【図5】本発明のデジタルフィルタの第2の実施例を示
すブロック図である。
すブロック図である。
【図6】第2の実施例の動作を説明するタイミングチャ
ートである。
ートである。
【図7】QMFを多重化し、遅延回路を付加する構成を
示すブロック図である。
示すブロック図である。
【図8】本発明のデジタルフィルタの第3の実施例を示
すブロック図である。
すブロック図である。
【図9】第3の実施例の動作を説明するタイミングチャ
ートである。
ートである。
【図10】FIR型デジタルフィルタの構成図である。
【図11】従来のデジタルフィルタを示すブロック図で
ある。
ある。
【図12】QMFを用いた分離フィルタの構成図であ
る。
る。
1、21 遅延素子 2、22、24 乗算器 3、23、25 総和加算器 26 減算器 27 加算器 11、31 RAM 12、32 ROM 13、33 乗算器 14、34 アキュムレータ 15、35 加算器 16、36 第1のレジスタ 17、37 第2のレジスタ 38 第3のレジスタ 39 加減算器 40 第4のレジスタ 41 第1のセレクタ 42 第2のセレクタ 51 プリセットカウンタ 52、53 ループカウンタ
フロントページの続き (56)参考文献 特開 平3−262206(JP,A) 特開 平4−287413(JP,A) 特開 昭62−34412(JP,A) 特開 平5−35774(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03H 17/00 - 17/08
Claims (3)
- 【請求項1】 入力時系列データを記憶するメモリと、
このメモリから読み出した入力時系列データに所定のフ
ィルタ係数を乗算する乗算器と、この乗算器の乗算結果
を順次累加算するアキュムレータと、このアキュムレー
タの累加算結果を交互に取り込む一対のレジスタと、こ
れら一対のレジスタから取り出される2つの累加算結果
を加算または減算し、その演算値を入力時系列データの
分離データとなる2つの出力時系列データとして出力す
る加減算器と、を備えたことを特徴とするデジタルフィ
ルタ。 - 【請求項2】 入力時系列データを記憶するメモリと、
このメモリから読み出した入力時系列データに所定のフ
ィルタ係数を乗算する乗算器と、この乗算器の乗算結果
を順次累加算するアキュムレータと、このアキュムレー
タの累加算結果を交互に取り込む一対のレジスタと、こ
れら一対のレジスタから取り出される2つの累加算結果
を加算または減算し、その演算値を入力時系列データの
分離データとなる2つの出力時系列データとして出力す
る加減算器と、この加減算器から出力される出力時系列
データを入力時系列データに置き換えて上記メモリに入
力するセレクタと、を備えたことを特徴とするデジタル
フィルタ。 - 【請求項3】 入力時系列データを記憶するメモリと、
このメモリから読み出した入力時系列データに所定のフ
ィルタ係数を乗算する乗算器と、この乗算器の乗算結果
を順次累加算するアキュムレータと、このアキュムレー
タの累加算結果を交互に取り込む一対のレジスタと、こ
れら一対のレジスタから取り出される2つの累加算結果
を加算または減算し、その演算値を入力時系列データの
分離データとなる2つの出力時系列データとして出力す
る加減算器と、この加減算器から出力される出力時系列
データを入力時系列データに置き換えて上記メモリに入
力する第1のセレクタと、この第1のセレクタから上記
メモリに入力され、所定期間が経過した後に読み出され
る時系列出力データを上記加減算器から出力される時系
列出力データに置き換えて出力する第2のセレクタと、
を備えたことを特徴とするデジタルフィルタ。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27869793A JP3177358B2 (ja) | 1993-11-08 | 1993-11-08 | デジタルフィルタ |
KR1019940000940A KR100295257B1 (ko) | 1993-01-20 | 1994-01-19 | 디지탈필터 |
US08/183,601 US5438532A (en) | 1993-01-20 | 1994-01-21 | Digital filter for use in synthesizing filter or a separation filter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27869793A JP3177358B2 (ja) | 1993-11-08 | 1993-11-08 | デジタルフィルタ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07131295A JPH07131295A (ja) | 1995-05-19 |
JP3177358B2 true JP3177358B2 (ja) | 2001-06-18 |
Family
ID=17600928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27869793A Expired - Fee Related JP3177358B2 (ja) | 1993-01-20 | 1993-11-08 | デジタルフィルタ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3177358B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6405229B1 (en) | 1998-01-29 | 2002-06-11 | Sanyo Electric Co., Ltd. | Digital filters |
JP3291461B2 (ja) | 1998-01-30 | 2002-06-10 | 三洋電機株式会社 | デジタルフィルタ |
JP3349421B2 (ja) | 1998-01-30 | 2002-11-25 | 三洋電機株式会社 | 音声データの圧縮/伸長装置及びデジタルフィルタ |
-
1993
- 1993-11-08 JP JP27869793A patent/JP3177358B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH07131295A (ja) | 1995-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3291461B2 (ja) | デジタルフィルタ | |
US6405229B1 (en) | Digital filters | |
JP3636361B2 (ja) | 高精度及び高効率を有するディジタルフィルタ | |
KR100295257B1 (ko) | 디지탈필터 | |
JP2002158561A (ja) | Firフィルタ及びそのデータ処理方法 | |
JP3177358B2 (ja) | デジタルフィルタ | |
JPH0834407B2 (ja) | 入力加重形トランスバーサルフィルタ | |
JP3197648B2 (ja) | ディジタルフィルタ | |
JP2004525463A (ja) | ピラミッド・フィルタ | |
EP0464678B1 (en) | Input-weighted transversal filter | |
JP3296772B2 (ja) | デジタルフィルタ | |
JPH11220358A (ja) | デジタルフィルタ | |
JPH06216715A (ja) | ディジタルフィルタ | |
JP2513218B2 (ja) | Firデイジタルフイルタ | |
JP2004527025A (ja) | 乗算器のないピラミッド・フィルタ | |
JPH11220357A (ja) | デジタルフィルタ | |
JP3243831B2 (ja) | Fir型フィルタ | |
JPH0767065B2 (ja) | 信号処理集積回路 | |
JP2622962B2 (ja) | Fftアナライザのズーミング装置 | |
US20100091829A1 (en) | Optimised architecture for a downsampling fir filter | |
JPH09298451A (ja) | デジタルフィルタ回路およびその制御方法 | |
JP3555551B2 (ja) | マルチパイロットトーン検出方法および整合フィルタ | |
JP2527019B2 (ja) | 非巡回形補間フィルタ | |
KR0133402B1 (ko) | 대칭계수를 갖는 일차원 유한충격응답(fir) 필터 | |
JPH03211910A (ja) | ディジタルフィルタ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |