JPH07131295A - デジタルフィルタ - Google Patents

デジタルフィルタ

Info

Publication number
JPH07131295A
JPH07131295A JP27869793A JP27869793A JPH07131295A JP H07131295 A JPH07131295 A JP H07131295A JP 27869793 A JP27869793 A JP 27869793A JP 27869793 A JP27869793 A JP 27869793A JP H07131295 A JPH07131295 A JP H07131295A
Authority
JP
Japan
Prior art keywords
data
output
accumulator
input
adder
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.)
Granted
Application number
JP27869793A
Other languages
English (en)
Other versions
JP3177358B2 (ja
Inventor
Fumiaki Nagao
文昭 長尾
Koji Takano
浩二 高野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP27869793A priority Critical patent/JP3177358B2/ja
Priority to KR1019940000940A priority patent/KR100295257B1/ko
Priority to US08/183,601 priority patent/US5438532A/en
Publication of JPH07131295A publication Critical patent/JPH07131295A/ja
Application granted granted Critical
Publication of JP3177358B2 publication Critical patent/JP3177358B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 QMFを用いる分離フィルタの回路規模を縮
小する。 【構成】 RAM31から順に読み出される入力データ
X(n)にROM32から順に読み出されるフィルタ係数
h(n)が乗算され、その乗算結果がアキュムレータ34
で累加算される。そして、アキュムレータ34の累加算
結果が2つのレジスタ37、38に交互に取り込まれ、
加減算器39により互いに減算及び加算される。第4の
レジスタ40から、減算結果が出力データYa(n)として
出力され、加算結果が出力データYb(n)として出力され
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、デジタルオーディオ機
器等に用いられるデジタルフィルタに係り、詳しくは、
QMF(Quadrature Mirror Filter)を用い、データを複
数の成分に分離する分離フィルタに関する。
【0002】
【従来の技術】デジタルフィルタの代表的なものとし
て、FIR(Finite Impulse Responce)型及びIIR(In
finite Impulse Responce)型がある。FIR型は、出力
データに対する入力データのインパルス応答がの影響が
一定の期間に限られる方式であり、IIR型は、出力デ
ータに対する入力データのインパルス応答が無期限に影
響する方式である。
【0003】FIR型デジタルフィルタは、式(1)に示
すように、入力データX(n)とインパルス応答との畳み
込みによって出力データY(n)を得るように構成され
る。
【0004】
【数1】
【0005】ここで、h(k)はフィルタ係数、Nはタッ
プ数である。そこで、式(1)をZ変換すると、
【0006】
【数2】
【0007】が得られ、この式(2)より、
【0008】
【数3】
【0009】となり、周波数応答がわかる。そして、ω
=2πk/Nとすると、式(3)は、
【0010】
【数4】
【0011】となる。この式(4)は、離散的フーリエ変
換(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)に従う演算が実行されたことにな
る。
【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)とし
て出力する。
【0014】このFIR型デジタルフィルタでは、RA
M11及びROM12からそれぞれ入力データX(n)及
びフィルタ係数h(k)を順次読み出して積和演算を繰り
返すことにより、式(1)に従う演算を実行して出力デー
タY(n)を得ている。このため、タップ数Nが大きくな
ったとしても、回路規模が大きくなることはない。とこ
ろで、第1のフィルタ係数h1(n)を有するFIR型デジ
タルフィルタに対し、
【0015】
【数5】
【0016】により与えられる第2のフィルタ係数h
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頁に詳述されてい
る。
【0023】上述のQMFにより、周波数成分の帯域分
離が行われる分離フィルタにおいては、式(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)
として出力する。
【0027】
【発明が解決しようとする課題】しかしながら、図12
に示すような分離フィルタは、タップ数が大きくなるの
に伴い回路規模が増大するという問題を有している。特
に、1つの入力データを3つ以上の成分に分離するよう
な場合には、上述の分離フィルタを多重化する必要があ
り、回路規模はさらに増大する。
【0028】そこで本発明は、タップ数が大きくなって
も回路規模が増大することのない分離フィルタを提供す
ると共に、回路規模を増大させることなくフィルタを多
重化することを目的とする。
【0029】
【課題を解決するための手段】本発明は、上述の課題を
解決するために成されたもので、第1の手段は、入力時
系列データを記憶するメモリと、このメモリから読み出
した入力時系列データに所定のフィルタ係数を乗算する
乗算器と、この乗算器の乗算結果を順次累加算するアキ
ュムレータと、このアキュムレータの累加算結果を交互
に取り込む一対のレジスタと、これら一対のレジスタか
ら取り出される2つの累加算結果を加算または減算し、
その演算値を入力時系列データの分離データとなる2つ
の出力時系列データとして出力する加減算器と、を備え
たことを特徴としている。
【0030】第2の手段は、入力時系列データを記憶す
るメモリと、このメモリから読み出した入力時系列デー
タに所定のフィルタ係数を乗算する乗算器と、この乗算
器の乗算結果を順次累加算するアキュムレータと、この
アキュムレータの累加算結果を交互に取り込む一対のレ
ジスタと、これら一対のレジスタから取り出される2つ
の累加算結果を加算または減算し、その演算値を入力時
系列データの分離データとなる2つの出力時系列データ
として出力する加減算器と、この加減算器から出力され
る出力時系列データを入力時系列データに置き換えて上
記メモリに入力するセレクタと、を備えたことを特徴と
している。
【0031】第3の手段は、入力時系列データを記憶す
るメモリと、このメモリから読み出した入力時系列デー
タに所定のフィルタ係数を乗算する乗算器と、この乗算
器の乗算結果を順次累加算するアキュムレータと、この
アキュムレータの累加算結果を交互に取り込む一対のレ
ジスタと、これら一対のレジスタから取り出される2つ
の累加算結果を加算または減算し、その演算値を入力時
系列データの分離データとなる2つの出力時系列データ
として出力する加減算器と、この加減算器から出力され
る出力時系列データを入力時系列データに置き換えて上
記メモリに入力する第1のセレクタと、この第1のセレ
クタから上記メモリに入力され、所定期間が経過した後
に読み出される時系列出力データを上記加減算器から出
力される時系列出力データに置き換えて出力する第2の
セレクタと、を備えたことを特徴としている。
【0032】
【作用】本発明の第1の手段によれば、メモリから読み
出される時系列入力データに所定のフィルタ係数が乗算
され、その乗算値がアキュムレータで累加算される。そ
して、アキュムレータの累加算値が一対のレジスタに交
互に取り込まれ、各レジスタに取り込まれた累加算値が
互いに加算及び減算されて、2つの成分に分離された時
系列出力データが得られる。
【0033】第2の手段によれば、セレクタが切り換え
られ、第1の手段と同様にして得られる時系列出力デー
タが再びメモリに記憶される。メモリに記憶された時系
列出力データは、新たな時系列入力データとして取り扱
われ、再度フィルタ係数の乗算、累加算及び加減算処理
が成される。従って、時系列入力データに対して多重の
分離処理が施され、3つ以上の成分に分離された時系列
出力データが得られる。
【0034】第3の手段によれば、第1のセレクタが切
り換えられ、第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)として出力する。
【0036】以上の分離フィルタの動作について、図2
のタイミングチャートに従って説明する。なお、ここで
はタップ数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に格納される。
【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に格納される。
【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)で表される演算処理が成されたことにな
る。
【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)が読み出される。
【0044】以上のように、QMFを用いた分離フィル
タにおいては、乗算器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)を得るようにしている。
【0046】このような多重化された分離フィルタにお
いては、式(9)及び式(10)に従い、入力データX(n)に対
して、まず、
【0047】
【数13】
【0048】なる演算処理が施され、さらに、出力デー
タ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)が得られ
る。
【0051】以上の分離フィルタについて、タップ数N
=2としたときの動作を図6のタイミングチャートに従
って説明する。まず、タップ数N=2として上述の式(1
3)及び式(14)を計算すると、
【0052】
【数15】
【0053】となる。ここで、m=2n(mが偶数の場
合)または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に格納さ
れる。
【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に格納さ
れる。
【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)で表される演算処理が成されたことになる。
【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に格納さ
れる。
【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に格納さ
れる。
【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)で表される演算処理が成されたことにな
る。
【0061】なお、入力データZ(n)に対して乗算され
るフィルタ係数h(n)については、入力データX(n)に乗
算されるフィルタ係数h(1)と異なるものであってもよ
い。以上のようにして多重化された分離フィルタにおい
ては、図1に示す分離フィルタと比較してセレクタ41
のみが付加されており、多重化に起因する回路規模の増
大は極めて少ない。
【0062】ところで、多重化された分離フィルタにお
いては、複数の出力データYa(n)、Yb(n)、Yc(n)の出
力タイミングが一致しないといった問題が生じる。即
ち、2度の演算処理により得られる出力データYa(n)、
b(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)が同じタイミングで出力されるよ
うになる。
【0064】以上の分離フィルタについて、タップ数N
=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に格納さ
れる。
【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に記憶される。
【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に格納さ
れる。
【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)と共に出力されることになる。
【0069】以上のようにして遅延機能が付加され、且
つ、多重化された分離フィルタにおいては、図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】本発明のデジタルフィルタの第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 ループカウンタ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 入力時系列データを記憶するメモリと、
    このメモリから読み出した入力時系列データに所定のフ
    ィルタ係数を乗算する乗算器と、この乗算器の乗算結果
    を順次累加算するアキュムレータと、このアキュムレー
    タの累加算結果を交互に取り込む一対のレジスタと、こ
    れら一対のレジスタから取り出される2つの累加算結果
    を加算または減算し、その演算値を入力時系列データの
    分離データとなる2つの出力時系列データとして出力す
    る加減算器と、を備えたことを特徴とするデジタルフィ
    ルタ。
  2. 【請求項2】 入力時系列データを記憶するメモリと、
    このメモリから読み出した入力時系列データに所定のフ
    ィルタ係数を乗算する乗算器と、この乗算器の乗算結果
    を順次累加算するアキュムレータと、このアキュムレー
    タの累加算結果を交互に取り込む一対のレジスタと、こ
    れら一対のレジスタから取り出される2つの累加算結果
    を加算または減算し、その演算値を入力時系列データの
    分離データとなる2つの出力時系列データとして出力す
    る加減算器と、この加減算器から出力される出力時系列
    データを入力時系列データに置き換えて上記メモリに入
    力するセレクタと、を備えたことを特徴とするデジタル
    フィルタ。
  3. 【請求項3】 入力時系列データを記憶するメモリと、
    このメモリから読み出した入力時系列データに所定のフ
    ィルタ係数を乗算する乗算器と、この乗算器の乗算結果
    を順次累加算するアキュムレータと、このアキュムレー
    タの累加算結果を交互に取り込む一対のレジスタと、こ
    れら一対のレジスタから取り出される2つの累加算結果
    を加算または減算し、その演算値を入力時系列データの
    分離データとなる2つの出力時系列データとして出力す
    る加減算器と、この加減算器から出力される出力時系列
    データを入力時系列データに置き換えて上記メモリに入
    力する第1のセレクタと、この第1のセレクタから上記
    メモリに入力され、所定期間が経過した後に読み出され
    る時系列出力データを上記加減算器から出力される時系
    列出力データに置き換えて出力する第2のセレクタと、
    を備えたことを特徴とするデジタルフィルタ。
JP27869793A 1993-01-20 1993-11-08 デジタルフィルタ Expired - Fee Related JP3177358B2 (ja)

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 true JPH07131295A (ja) 1995-05-19
JP3177358B2 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6279021B1 (en) 1998-01-30 2001-08-21 Sanyo Electric Co. Ltd. Digital filters
US6363406B1 (en) 1998-01-30 2002-03-26 Sanyo Electric Co., Ltd. Audio data compression/expansion apparatus and digital filter
US6405229B1 (en) 1998-01-29 2002-06-11 Sanyo Electric Co., Ltd. Digital filters

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6405229B1 (en) 1998-01-29 2002-06-11 Sanyo Electric Co., Ltd. Digital filters
US6279021B1 (en) 1998-01-30 2001-08-21 Sanyo Electric Co. Ltd. Digital filters
US6363406B1 (en) 1998-01-30 2002-03-26 Sanyo Electric Co., Ltd. Audio data compression/expansion apparatus and digital filter

Also Published As

Publication number Publication date
JP3177358B2 (ja) 2001-06-18

Similar Documents

Publication Publication Date Title
JP3291461B2 (ja) デジタルフィルタ
US6405229B1 (en) Digital filters
JP3636361B2 (ja) 高精度及び高効率を有するディジタルフィルタ
GB2184312A (en) Linear phase filter
KR100295257B1 (ko) 디지탈필터
JP2002158561A (ja) Firフィルタ及びそのデータ処理方法
JP3177358B2 (ja) デジタルフィルタ
WO2008018197A1 (fr) Filtre numérique, son dispositif de synthèse, programme de synthèse, et support d'enregistrement de programme de synthèse
JPH0834407B2 (ja) 入力加重形トランスバーサルフィルタ
JP2004525463A (ja) ピラミッド・フィルタ
JP3197648B2 (ja) ディジタルフィルタ
JP3296772B2 (ja) デジタルフィルタ
JPH11220358A (ja) デジタルフィルタ
JP2513218B2 (ja) Firデイジタルフイルタ
JPH11220357A (ja) デジタルフィルタ
JPH06216715A (ja) ディジタルフィルタ
JP3141523B2 (ja) 有限インパルス応答フィルタ装置
JP2002117017A (ja) 再帰型離散フーリエ変換装置
JP2004128858A (ja) Firデジタルフィルタ
JP3555551B2 (ja) マルチパイロットトーン検出方法および整合フィルタ
JP4267293B2 (ja) フィルタ処理装置
JPH03211910A (ja) ディジタルフィルタ
JPH05283979A (ja) Fir型フィルタ
JP2001308946A (ja) マルチパイロットトーン検出方法および整合フィルタ
JP2001024480A (ja) 信号処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees