JP3177358B2 - Digital filter - Google Patents
Digital filterInfo
- 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】[0001]
【産業上の利用分野】本発明は、デジタルオーディオ機
器等に用いられるデジタルフィルタに係り、詳しくは、
QMF(Quadrature Mirror Filter)を用い、データを複
数の成分に分離する分離フィルタに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital filter used for digital audio equipment and the like.
The present invention relates to a separation filter that separates data into a plurality of components using a QMF (Quadrature Mirror Filter).
【0002】[0002]
【従来の技術】デジタルフィルタの代表的なものとし
て、FIR(Finite Impulse Responce)型及びIIR(In
finite Impulse Responce)型がある。FIR型は、出力
データに対する入力データのインパルス応答がの影響が
一定の期間に限られる方式であり、IIR型は、出力デ
ータに対する入力データのインパルス応答が無期限に影
響する方式である。2. Description of the Related Art As typical digital filters, a FIR (Finite Impulse Response) type and an IIR (Inline
finite Impulse Response) type. The FIR type is a method in which the influence of the impulse response of the input data on the output data is limited to a certain period, and the IIR type is a method in which the impulse response of the input data on the output data has an infinite effect.
【0003】FIR型デジタルフィルタは、式(1)に示
すように、入力データX(n)とインパルス応答との畳み
込みによって出力データY(n)を得るように構成され
る。[0003] The FIR digital filter is configured to obtain output data Y (n) by convolution of input data X (n) and an impulse response as shown in equation (1).
【0004】[0004]
【数1】 (Equation 1)
【0005】ここで、h(k)はフィルタ係数、Nはタッ
プ数である。そこで、式(1)をZ変換すると、[0005] Here, h (k) is a filter coefficient, and N is the number of taps. Then, when Expression (1) is Z-transformed,
【0006】[0006]
【数2】 (Equation 2)
【0007】が得られ、この式(2)より、[0007] From this equation (2),
【0008】[0008]
【数3】 (Equation 3)
【0009】となり、周波数応答がわかる。そして、ω
=2πk/Nとすると、式(3)は、Thus, the frequency response can be understood. And ω
= 2πk / N, equation (3) becomes
【0010】[0010]
【数4】 (Equation 4)
【0011】となる。この式(4)は、離散的フーリエ変
換(DFT:Discrete Fourier Transform)の式とみなす
ことができる。従って、フィルタ係数h(k)は、式(4)に
よって与えられる周波数特性を逆変換(IDFT:Invers
e Discrete Fourier Transform)することにより求めら
れる。標準的なFIR型デジタルフィルタの構成を図1
0に示す。## EQU1 ## This equation (4) can be regarded as an equation of a discrete Fourier transform (DFT). Therefore, the filter coefficient h (k) is obtained by inversely transforming the frequency characteristic given by the equation (4) (IDFT: Invers
e Discrete Fourier Transform). Figure 1 shows the configuration of a standard FIR digital filter
0 is shown.
【0012】直列に接続される複数の遅延素子1は、シ
フトレジスタにより構成され、入力データX(n)を順次
一定の期間(T)だけ遅延する。各遅延素子1の出力側
に接続された複数の乗算器2は、各遅延素子1の出力に
フィルタ係数h(k)をそれぞれ乗算する。これにより、
入力データX(n)に対してインパルス応答との畳み込み
処理が行われる。総和加算器3は、各乗算器2の出力、
即ち、所定のフィルタ係数h(k)が乗算された各遅延素
子1の出力の総和をとり、出力データY(n)を出力す
る。従って、式(1)に従う演算が実行されたことにな
る。A plurality of delay elements 1 connected in series are constituted by shift registers, and sequentially delay input data X (n) by a predetermined period (T). A plurality of multipliers 2 connected to the output side of each delay element 1 multiply the output of each delay element 1 by a filter coefficient h (k). This allows
Convolution processing with the impulse response is performed on the input data X (n). The sum adder 3 outputs the output of each multiplier 2,
That is, the sum of the outputs of the delay elements 1 multiplied by the predetermined filter coefficient h (k) is calculated, and output data Y (n) is output. Therefore, the operation according to equation (1) has been executed.
【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)とし
て出力する。Such an FIR digital filter is
There is a problem that the circuit scale increases as the number of taps N increases. Therefore, as shown in FIG. 11, an FIR digital filter of a stored program type has been proposed. The RAM 11 sequentially stores input data X (n) input in time series. ROM 12
A plurality of filter coefficients h (k) are stored, and a specific filter coefficient h (k) is read out and output corresponding to the value of k which increases in each step. Note that k is equal to k shown in Expression (1). The multiplier 13 multiplies the input data X (nk) read from the RAM 11 by the filter coefficient h (k) read from the ROM 12. The accumulator 14 includes an adder 15 and a first register 16, and accumulates the multiplication result of the multiplier 13. That is, the output of the multiplier 13 and the output of the register 16 are added by the adder 15, and the addition result is stored in the register 16 again, so that the multiplication results of the multiplier 13 are sequentially added. The second register 17 takes in the cumulative addition result output from the accumulator 14 and outputs it as output data Y (n).
【0014】このFIR型デジタルフィルタでは、RA
M11及びROM12からそれぞれ入力データX(n)及
びフィルタ係数h(k)を順次読み出して積和演算を繰り
返すことにより、式(1)に従う演算を実行して出力デー
タY(n)を得ている。このため、タップ数Nが大きくな
ったとしても、回路規模が大きくなることはない。とこ
ろで、第1のフィルタ係数h1(n)を有するFIR型デジ
タルフィルタに対し、In this FIR type digital filter, RA
By sequentially reading the input data X (n) and the filter coefficient h (k) from the M11 and the ROM 12 and repeating the product-sum operation, the operation according to the equation (1) is executed to obtain the output data Y (n). . Therefore, even if the number of taps N increases, the circuit scale does not increase. By the way, with respect to the FIR digital filter having the first filter coefficient h 1 (n),
【0015】[0015]
【数5】 (Equation 5)
【0016】により与えられる第2のフィルタ係数h
2(n)を有するFIR型デジタルフィルタは、その周波数
応答性からミラーフィルタと称される。このようなミラ
ーフィルタにおけるZ変換の関係は、The second filter coefficient h given by
The FIR digital filter having 2 (n) is called a mirror filter because of its frequency response. The relationship of Z conversion in such a mirror filter is as follows.
【0017】[0017]
【数6】 (Equation 6)
【0018】である。ここで、周波数応答性を考える
と、## EQU1 ## Here, considering the frequency response,
【0019】[0019]
【数7】 (Equation 7)
【0020】であることから、式(6)は、Therefore, equation (6) is
【0021】[0021]
【数8】 (Equation 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頁に詳述されてい
る。## EQU1 ## This indicates that the frequency response of the mirror filter is symmetric at π / 2. Here, since π / 2 is 4 of the sampling period, this mirror filter is a QMF (Quadrature Mirror).
Filter). About this QMF, IEE Transactions on Acoustic Speech and Signal Processing,
IESP, Vol. 32, No. 3, June 1984, (IEEE
Trans. Acoust., Speech, Signal Process., Vol.ASSP-32,
No. 3, June 1984), pages 522 to 531.
【0023】上述のQMFにより、周波数成分の帯域分
離が行われる分離フィルタにおいては、式(9)及び式(1
0)に示すように、入力データX(n)とインパルス応答と
の畳み込み処理と、それらの加算または減算処理によ
り、入力データX(n)の分離データである2つの出力デ
ータYa(n)、Yb(n)を得るように構成される。In the separation filter that separates the frequency components by the above-described QMF, the equations (9) and (1)
As shown in 0), the input data X (n) and the convolution of the impulse response, by their addition or subtraction processing, the separation data in the input data X (n) 2 two output data Y a (n) , Y b (n).
【0024】[0024]
【数9】 (Equation 9)
【0025】[0025]
【数10】 (Equation 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)
として出力する。FIG. 12 shows a separation filter for performing such band separation. Each delay element 21 connected in series
Delays the input data X (n) sequentially for a certain period (T). A multiplier 22 connected to the output side of the even-numbered delay elements 21 multiplies the output of each delay element 21 by a filter coefficient h (2k) and inputs the result to a sum adder 23. A multiplier 24 connected to the output side of the odd-numbered delay elements 21 multiplies the output of each delay element 21 by a filter coefficient h (2k + 1) and inputs the result to the sum adder 25. Thereby, the input data X (n)
And the impulse response are convolved. The sum adder 23 calculates the sum of the outputs of the respective multipliers 22, that is, the outputs of the respective delay elements 21 multiplied by a predetermined filter coefficient h (2k), and outputs data An. On the other hand, the sum adder 25
Calculates the sum of outputs of the delay elements 21 multiplied by a predetermined filter coefficient h (2k + 1), and outputs data Bn. Subtractor 26, from the data An for total adder 23 outputs, subtracts the data Bn of total adder 25 outputs, as output data Y a (n). Further, the adder 27
The data An output from the sum adder 23 and the sum adder 2
5 adds the data Bn of outputting, output data Y b (n)
Output as
【0027】[0027]
【発明が解決しようとする課題】しかしながら、図12
に示すような分離フィルタは、タップ数が大きくなるの
に伴い回路規模が増大するという問題を有している。特
に、1つの入力データを3つ以上の成分に分離するよう
な場合には、上述の分離フィルタを多重化する必要があ
り、回路規模はさらに増大する。However, FIG.
(2) has a problem that the circuit scale increases as the number of taps increases. In particular, when one input data is separated into three or more components, it is necessary to multiplex the above-described separation filters, and the circuit scale is further increased.
【0028】そこで本発明は、タップ数が大きくなって
も回路規模が増大することのない分離フィルタを提供す
ると共に、回路規模を増大させることなくフィルタを多
重化することを目的とする。It is therefore an object of the present invention to provide a separation filter that does not increase the circuit scale even when the number of taps increases, and to multiplex the filters without increasing the circuit scale.
【0029】[0029]
【課題を解決するための手段】本発明は、上述の課題を
解決するために成されたもので、第1の手段は、入力時
系列データを記憶するメモリと、このメモリから読み出
した入力時系列データに所定のフィルタ係数を乗算する
乗算器と、この乗算器の乗算結果を順次累加算するアキ
ュムレータと、このアキュムレータの累加算結果を交互
に取り込む一対のレジスタと、これら一対のレジスタか
ら取り出される2つの累加算結果を加算または減算し、
その演算値を入力時系列データの分離データとなる2つ
の出力時系列データとして出力する加減算器と、を備え
たことを特徴としている。SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and a first means is a memory for storing input time-series data, and a memory for storing input time-series data read from this memory. A multiplier for multiplying the series data by a predetermined filter coefficient; an accumulator for sequentially accumulating the multiplication results of the multiplier; a pair of registers for alternately receiving the accumulation results of the accumulator; Add or subtract the two accumulative addition results,
And an adder / subtractor that outputs the operation value as two output time-series data that becomes separated data of the input time-series data.
【0030】第2の手段は、入力時系列データを記憶す
るメモリと、このメモリから読み出した入力時系列デー
タに所定のフィルタ係数を乗算する乗算器と、この乗算
器の乗算結果を順次累加算するアキュムレータと、この
アキュムレータの累加算結果を交互に取り込む一対のレ
ジスタと、これら一対のレジスタから取り出される2つ
の累加算結果を加算または減算し、その演算値を入力時
系列データの分離データとなる2つの出力時系列データ
として出力する加減算器と、この加減算器から出力され
る出力時系列データを入力時系列データに置き換えて上
記メモリに入力するセレクタと、を備えたことを特徴と
している。The second means is a memory for storing the input time-series data, a multiplier for multiplying the input time-series data read from the memory by a predetermined filter coefficient, and sequentially accumulating the multiplication results of the multiplier. Accumulator, a pair of registers for alternately taking the accumulative result of the accumulator, and adding or subtracting the two accumulative results taken out from the pair of registers, and using the operation value as separated data of input time-series data. An adder / subtractor that outputs two output time series data, and a selector that replaces the output time series data output from the adder / subtracter with the input time series data and inputs the data to the memory.
【0031】第3の手段は、入力時系列データを記憶す
るメモリと、このメモリから読み出した入力時系列デー
タに所定のフィルタ係数を乗算する乗算器と、この乗算
器の乗算結果を順次累加算するアキュムレータと、この
アキュムレータの累加算結果を交互に取り込む一対のレ
ジスタと、これら一対のレジスタから取り出される2つ
の累加算結果を加算または減算し、その演算値を入力時
系列データの分離データとなる2つの出力時系列データ
として出力する加減算器と、この加減算器から出力され
る出力時系列データを入力時系列データに置き換えて上
記メモリに入力する第1のセレクタと、この第1のセレ
クタから上記メモリに入力され、所定期間が経過した後
に読み出される時系列出力データを上記加減算器から出
力される時系列出力データに置き換えて出力する第2の
セレクタと、を備えたことを特徴としている。The third means is a memory for storing the input time-series data, a multiplier for multiplying the input time-series data read from the memory by a predetermined filter coefficient, and sequentially accumulating the multiplication results of the multiplier. Accumulator, a pair of registers for alternately taking the accumulative result of the accumulator, and adding or subtracting the two accumulative results taken out from the pair of registers, and using the operation value as separated data of input time-series data. An adder / subtracter that outputs two output time-series data, a first selector that replaces the output time-series data output from the adder / subtractor with input time-series data and inputs the data to the memory, The time-series output data input to the memory and read after a predetermined period elapses is output to the time-series output data from the adder / subtractor. It is characterized by comprising a second selector for outputting the replaced data.
【0032】[0032]
【作用】本発明の第1の手段によれば、メモリから読み
出される時系列入力データに所定のフィルタ係数が乗算
され、その乗算値がアキュムレータで累加算される。そ
して、アキュムレータの累加算値が一対のレジスタに交
互に取り込まれ、各レジスタに取り込まれた累加算値が
互いに加算及び減算されて、2つの成分に分離された時
系列出力データが得られる。According to the first aspect of the present invention, the time-series input data read from the memory is multiplied by a predetermined filter coefficient, and the multiplied value is cumulatively added by the accumulator. Then, the accumulative values of the accumulator are alternately fetched into a pair of registers, and the accumulative values fetched into each register are added and subtracted from each other, thereby obtaining time-series output data separated into two components.
【0033】第2の手段によれば、セレクタが切り換え
られ、第1の手段と同様にして得られる時系列出力デー
タが再びメモリに記憶される。メモリに記憶された時系
列出力データは、新たな時系列入力データとして取り扱
われ、再度フィルタ係数の乗算、累加算及び加減算処理
が成される。従って、時系列入力データに対して多重の
分離処理が施され、3つ以上の成分に分離された時系列
出力データが得られる。According to the second means, the selector is switched, and the time-series output data obtained in the same manner as in the first means is stored again in the memory. The time-series output data stored in the memory is treated as new time-series input data, and multiplication, accumulation, and addition / subtraction of filter coefficients are performed again. Therefore, multiplex separation processing is performed on the time-series input data, and time-series output data separated into three or more components is obtained.
【0034】第3の手段によれば、第1のセレクタが切
り換えられ、第1の手段と同様にして得られる出力時系
列データが再びメモリに記憶される。メモリに記憶され
た時系列出力データは、第2の手段と同様に新たな時系
列入力データとして取り扱われると共に、第2のセレク
タが切り換えられてメモリから直接出力される。従っ
て、時系列入力データに対して多重の演算処理が施され
ると同時に、出力時系列データの出力を所望の期間遅延
させることができる。According to the third means, the first selector is switched, and the output time-series data obtained in the same manner as in the first means is stored in the memory again. The time-series output data stored in the memory is treated as new time-series input data as in the second means, and the second selector is switched to be directly output from the memory. Accordingly, it is possible to delay the output of the output time-series data for a desired period at the same time as performing the multiple arithmetic processing on the time-series input data.
【0035】[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)として出力する。FIG. 1 shows a separation filter according to the present invention. R
The AM 31 sequentially stores input data X (n) input in time series. The ROM 32 stores a filter coefficient h (k) in advance, and reads out and outputs a specific filter coefficient h (k) corresponding to the value of k that increases for each step.
Note that k is equal to k shown in the above equations (9) and (10). The multiplier 33 multiplies the input data X (nk) read from the RAM 31 by the filter coefficient h (k) read from the ROM 32. The accumulator 34 includes an adder 35 and a first register 36,
The result of multiplication by the multiplier 33 is cumulatively added. That is, the adder 35
Adds the output of the multiplier 33 and the output of the register 36,
By storing the addition result in the register 36 again, the outputs from the multipliers 33 are sequentially added. The second register 37 and the third register 38 store the accumulator 3
4 are alternately fetched and output at a predetermined timing. For example, the cumulative addition result (An) output at the odd number from the accumulator 34 is loaded into the second register 37, and the cumulative addition result (Bn) output at the even number is loaded into the third register 38. The adder / subtractor 39 subtracts and adds the cumulative addition results (An, Bn) taken into the two registers 37, 38. The fourth register 40 stores the subtraction result (An-Bn) of the adder / subtractor 39.
And the addition result captures (An + Bn), outputs the respective data Y a (n), and outputs as a Y b (n).
【0036】以上の分離フィルタの動作について、図2
のタイミングチャートに従って説明する。なお、ここで
はタップ数N=4としている。タップ数N=4として式
(9)及び式(10)を計算すると、式(9)について、FIG. 2 shows the operation of the above separation filter.
This will be described according to the timing chart of FIG. Here, the number of taps is set to N = 4. Equation assuming the number of taps N = 4
When calculating (9) and equation (10), for equation (9),
【0037】[0037]
【数11】 [Equation 11]
【0038】となり、式(10)について、Then, with respect to equation (10),
【0039】[0039]
【数12】 (Equation 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に格納される。## EQU4 ## In FIG. 2, input data X (0)
Although the input of .about.X (7) is omitted, it is input in the same manner as the input data X (8), X (9), etc., and written into the RAM 31. When n = 4, first, the input data X (8) is read from the RAM 31, and when the filter coefficient h (0) is read from the ROM 32, the multiplier x multiplies these by the multiplier 33. It is supplied to an accumulator 34. At this time, the data of the accumulator 34 has been cleared, and the result of multiplication of the input data X (8) and the filter coefficient h (0) becomes the first data as A1 = h (0) .X (8). It is stored in the register 36. Subsequently, input data X (6) is sequentially input from the RAM 31.
X (4) and X (2) are read out, and filter coefficients h (2), h (4) and h (6) are read out sequentially from the ROM 32, and each is multiplied by the multiplier 33. Are sequentially supplied to the accumulator 34. In the accumulator 34, the input multiplication results are cumulatively added, and A2 = h (2) .X (6) + A1 A3 = h (4) .X (4) + A2 A4 = h (6) .X (2) + A3 Are sequentially stored in the first register 36. The finally stored data of A4 = h (0) .X (8) + h (2) .X (6) + h (4) .X (4) + h (6) .X (2) is stored in the accumulator 34. And is stored in the second register 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に格納される。Similarly, the input data X (7)
Is read out, and when the filter coefficient h (1) is read out from the ROM 32, the multiplier 33 multiplies the filter coefficient h (1) and supplies the multiplication result to the accumulator 34.
At this time, the data of the accumulator 34 has been cleared, and the multiplication value of the input data X (7) and the filter coefficient h (1) becomes the first data as it is as B1 = h (1) .X (7). It is stored in the register 36. Subsequently, input data X (5) is sequentially input from the RAM 31.
X (3) and X (1) are read, and at the same time, filter coefficients h (3), h (5) and h (7) are read sequentially from the ROM 32, and the multiplication results are sequentially supplied to the accumulator 34. . Therefore, the data of B2 = h (3) .X (5) + B1 B3 = h (5) .X (3) + B2 B4 = h (7) .X (1) + B3 are sequentially stored in the first register 36. You. The finally stored data of B4 = h (1) .X (7) + h (3) .X (5) + h (5) .X (3) + h (7) .X (1) is stored in the accumulator 34. , And stored in the third register 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)で表される演算処理が成されたことにな
る。The data A4 and data B4 are supplied from the second register 37 and the third register 38 to the adder / subtracter 39.
After the data A4 and the data B4 are added,
Data B4 is subtracted from data A4. The operation result of the adder / subtractor 39 is stored in the fourth register 40, and the addition result, that is, 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) is the output data Y b (4) and similarly output the subtraction result, that is, 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) is the output data Y a Output as (4). As a result, equation (1)
This means that the arithmetic processing represented by 1) and Expression (12) has been performed.
【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)が読み出される。The addresses given to the RAM 31 and the ROM 32 are generated by an address generation circuit as shown in FIG. The preset counter 51 counts up by a first clock CK1 corresponding to a series of operation cycles of the accumulator 34, and generates preset data PD which is incremented each time the accumulator 34 completes the cumulative addition operation. After the preset data PD is preset, the first loop counter 52 outputs a second clock C that matches the operation cycle of the multiplier 33.
The address data A is counted up by K2 and incremented each time the multiplication operation of the multiplier 33 is completed.
Generate D1. This address data AD1 is stored in RAM
The address 31 is designated, and predetermined input data X (n) is read. The second loop counter 53 is reset by the reset clock RC that matches the cycle of the first clock CK1, then is counted up by the second clock CK2, and is incremented every time the multiplication operation of the multiplier 33 is completed. Address data AD2. The address data AD2 specifies an address of the ROM 32 and reads out a predetermined filter coefficient h (n). Thus, the address data AD1 supplied to the RAM 31 is
While the accumulator 34 shifts by one each time the accumulator operation is completed, the address data AD2 supplied to the ROM 32 repeats the same address each time the accumulator 34 performs the accumulator operation. Therefore, R
The same filter coefficient h (n) is repeatedly read from the OM 32, and the input data X (n) shifted one by one from the RAM 31 is read.
【0044】以上のように、QMFを用いた分離フィル
タにおいては、乗算器33によって入力データX(n)と
フィルタ係数h(n)との乗算処理が繰り返され、その乗
算結果がアキュムレータ34により累加算される。これ
により、上述の式(11)及び式(12)に従う演算が実行さ
れ、入力データX(n)に対して2つの出力データY
a(n)、Yb(n)が得られる。従って、タップ数Nを大きく
する場合でも回路規模を大きくする必要はない。As described above, in the separation filter using QMF, the multiplication process of the input data X (n) and the filter coefficient h (n) is repeated by the multiplier 33, and the multiplication result is accumulated by the accumulator 34. Is added. As a result, the operation according to the above-described equations (11) and (12) is executed, and two output data Y (Y) are input data X (n).
a (n) and Y b (n) are obtained. Therefore, it is not necessary to increase the circuit scale even when the number of taps N is increased.
【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)を得るようにしている。Next, the multiplexing of the separation filter will be described. Separated one input data X (n) to the three components, the three output data Y a (n), Y b (n), in the case of obtaining a Y c (n), using two separate filters It is configured to perform two separation processes. For example, as shown in FIG. 3, two output data Y c of QMF 1 receiving input data X (n)
(n), Z by an input data one the QMF2 of (n), finally the three output data Y a (n), Y b (n), Y
c (n).
【0046】このような多重化された分離フィルタにお
いては、式(9)及び式(10)に従い、入力データX(n)に対
して、まず、In such a multiplexed separation filter, according to the equations (9) and (10), first, the input data X (n) is
【0047】[0047]
【数13】 (Equation 13)
【0048】なる演算処理が施され、さらに、出力デー
タZ(n)に対して、The following arithmetic processing is performed, and the output data Z (n) is
【0049】[0049]
【数14】 [Equation 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)が得られ
る。The following arithmetic processing is performed. FIG.
In the case of the separation filter shown in FIG. 5, by adding one selector 41 as shown in FIG. 5, the same arithmetic processing as in the case where the separation filter is multiplexed becomes possible. That is, R
A selector 41 is provided on the input side of the AM 31 so that the input data X
By switching between (n) and the output data Z (n) output from the adder / subtractor 39 and storing them in the RAM 31, the output data Z (n) is handled again as input data. Therefore, two output data Y c (n) and Z (n) are obtained by the first arithmetic processing on the input data X (n),
Two additional output data Y a by a second operation to output data Z of the (n) (n), Y b (n) is obtained.
【0051】以上の分離フィルタについて、タップ数N
=2としたときの動作を図6のタイミングチャートに従
って説明する。まず、タップ数N=2として上述の式(1
3)及び式(14)を計算すると、For the above separation filter, the number of taps N
= 2 will be described with reference to the timing chart of FIG. First, assuming the number of taps N = 2, the above equation (1
When calculating 3) and equation (14),
【0052】[0052]
【数15】 (Equation 15)
【0053】となる。ここで、m=2n(mが偶数の場
合)またはm=2n−1(mが奇数の場合)である。ま
た、上述の式(15)及び式(16)を計算すると、Is as follows. Here, m = 2n (when m is an even number) or m = 2n-1 (when m is an odd number). Also, when calculating the above equations (15) and (16),
【0054】[0054]
【数16】 (Equation 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に格納さ
れる。Is as follows. In FIG. 6, input data X (0)
-X (7) and output data Z (1) -Z (3) are not shown in FIG.
(8), X (9) and output data Z (4)
It is stored in AM31. When m = 4, first, RAM
The input data X (8) is read out from the
When the filter coefficient h (0) is read from the counter 32, they are multiplied by a multiplier 33, and the multiplication result is stored in the accumulator 3.
4 is supplied. At this time, the data of the accumulator 34 has been cleared, and the result of multiplication of the input data X (8) and the filter coefficient h (0) is directly stored in the first register as data A1 = h (0) .X (8). 36. Subsequently, the input data X (6) is read from the RAM 31 and the filter coefficient h (2) is read from the ROM 32, each is multiplied by the multiplier 33, and the multiplication result is supplied to the accumulator. In the accumulator 34, the input multiplication results are cumulatively added, and the data of A2 = h (2) .X (6) + A1 = h (2) .X (6) + h (0) .X (8) is the first data. , And output from the accumulator 34 and stored in the second register 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に格納さ
れる。Similarly, the input data X (7)
Is read out, and when the filter coefficient h (1) is read out from the ROM 32, the multiplier 33 multiplies the filter coefficient h (1) and supplies the multiplication result to the accumulator 34.
At this time, the data of the accumulator 34 has been cleared, and the result of multiplication of the input data X (7) and the filter coefficient h (1) is represented as B1 = h (1) · X (7) in the first register. 36. Subsequently, the input data X (5) is read from the RAM 31 and the filter coefficient h (3) is read from the ROM 32, and the respective multiplication results are sequentially supplied to the accumulator. Therefore, the data of B2 = h (3) .X (5) + B1 = h (3) .X (5) + h (1) .X (7) is stored in the first register 36 and output from the accumulator 34. And stored in the third register 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)で表される演算処理が成されたことになる。Then, the data A 2 and the data B 2 are supplied from the second register 37 and the third register 38 to the adder / subtractor 39.
After the data A2 and the data B2 are added,
Data B2 is subtracted from data A2. The addition result of the adder / subtractor 39, that is, the data of A2 + B2 = h (2) .X (6) + h (0) .X (8) + h (3) .X (5) + h (1) .X (7) , And stored in the fourth register 40 and output as output data Y c (4). Also, the subtraction result of the adder / subtractor 39, that is, A2-B2 = h (2) .X (6) + h (0) .X (8) -h (3) .X (5) -h (1) .X (7) is stored in the RAM 31 from the selector 41 as new input data Z (4). As a result, the arithmetic processing represented by Expression (17) and Expression (18) is performed.
【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に格納さ
れる。When m = 4, n = 2. When the input data Z (4) is read from the RAM 31 and the filter coefficient h (0) is read from the ROM 32 at the same time, they are multiplied by each other by the multiplier 33, and the multiplication result is obtained. Is supplied to the accumulator 34. The accumulator 34 has the data cleared,
The multiplied value of the input data Z (4) and the filter coefficient h (0) is stored in the first register 36 as it is as C1 = h (0) .Z (4). Subsequently, the input data Z (2) is read from the RAM 31 and the filter coefficient h (2) is read from the ROM 32. Each of the filter coefficients h (2) is multiplied by the multiplier 33, and the multiplication result is supplied to the accumulator. In the accumulator 34, the input multiplication results are cumulatively added, and data of C2 = h (2) .Z (2) + C1 = h (2) .Z (2) + h (0) .X (4) is stored in the first data. , And output from the accumulator 34 and stored in the second register 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に格納さ
れる。Similarly, the input data Z (3)
Is read out, and when the filter coefficient h (1) is read out from the ROM 32, the multiplier 33 multiplies the filter coefficients h (1) by one another. The result of the multiplication is supplied to the accumulator 34. At this time, the accumulator 34 has cleared the data, and the multiplied value of the input data Z (3) and the filter coefficient h (1) becomes the first register as data of D1 = h (1) · Z (3). 36. Subsequently, the input data Z (1) is read from the RAM 31 and the filter coefficient h (3) is read from the ROM 32, and the multiplication results are sequentially supplied to the accumulator. Therefore, the data D2 = h (3) .Z (1) + D1 = h (3) .Z (1) + h (1) .Z (3) is stored in the first register 36 and output from the accumulator 34. And stored in the third register 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)で表される演算処理が成されたことにな
る。The data C2 and data D2 are supplied from the second register 37 and the third register 38 to the adder / subtractor 39.
After the data C2 and the data D2 are added,
Data D2 is subtracted from data C2. The operation result of the adder / subtractor 39 is stored in the fourth register 40, and the addition result,
That, C2 + D2 = h (2 ) · Z (2) + h (0) · Z (4) + h (3) · Z (1) + h (1) · Z (3) is output data Y b (2) as an output Similarly, the subtraction result, that is, C2-D2 = h (2) .Z (2) + h (0) .Z (4) -h (3) .Z (1) -h (1) .Z ( 3) is output as the output data Y a (2). As a result, equation (1)
This means that the arithmetic processing represented by 9) and Expression (20) has been performed.
【0061】なお、入力データZ(n)に対して乗算され
るフィルタ係数h(n)については、入力データX(n)に乗
算されるフィルタ係数h(1)と異なるものであってもよ
い。以上のようにして多重化された分離フィルタにおい
ては、図1に示す分離フィルタと比較してセレクタ41
のみが付加されており、多重化に起因する回路規模の増
大は極めて少ない。The filter coefficient h (n) by which the input data Z (n) is multiplied may be different from the filter coefficient h (1) by which the input data X (n) is multiplied. . In the separation filter multiplexed as described above, the selector 41 is compared with the separation filter shown in FIG.
Only, the increase in circuit scale due to multiplexing is extremely small.
【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)の出力タイミングの一致
が図られる。[0062] Incidentally, in the separation filter obtained by multiplexing a plurality of output data Y a (n), Y b (n), a problem the output timing of the Y c (n) does not match occurs. That is obtained by twice arithmetic processing output data Y a (n),
Y b (n) and output data Y obtained by one operation
The output timing with c (n) will be shifted. To compensate for such displacement of the output timing, as shown in FIG. 7, by delaying the output data Y c (n), the output data Y a (n), Y b (n), Y c ( The output timing of n) is matched.
【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)が同じタイミングで出力されるよ
うになる。In the separation filter shown in FIG. 5, by providing the second selector 42 in addition to the first selector 41, the delay processing on the output data Y c (n) becomes possible. That is, the input data X (n) is input to the RAM 31 input side.
And a first selector 41 for switching between data output from the adder / subtractor 39 and a second selector for switching data read from the RAM 31 and data output from the adder / subtractor 39 at the input side of the fourth register 40. Selector 42 is provided. Thereby, the adder / subtractor 39
The output data Y c (n) output from the RAM 31 is temporarily stored in the RAM 31, read out from the RAM 31 at a predetermined timing, and taken in from the second selector 42 to the fourth register 40. Therefore, the RAM 31 functions as a delay circuit, and the output data Y a (n) and Y b (n) obtained by the second operation are output data Y c (n) obtained by the one operation. Are output at the same timing.
【0064】以上の分離フィルタについて、タップ数N
=2としたときの動作を図9のタイミングチャートに従
って説明する。図9において、入力データX(0)〜X(7)
及び出力データZ(1)〜Z(3)の入力に関して省略してあ
るが、入力データX(8)、X(9)と同様に入力されてRA
M31に記憶されている。なお、ここで実行される演算
処理自体は、図6に示される演算処理と同一のもので、
それぞれ上述の式(19)及び式(20)に従う。For the above separation filter, the number of taps N
= 2 will be described with reference to the timing chart of FIG. In FIG. 9, input data X (0) to X (7)
And the input of output data Z (1) to Z (3) is omitted, but RA is input in the same manner as input data X (8) and X (9).
It is stored in M31. The arithmetic processing itself executed here is the same as the arithmetic processing shown in FIG.
They follow the above-mentioned equations (19) and (20), respectively.
【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に格納さ
れる。When m = 4, the input data X
(8) and X (6) are sequentially read out, and simultaneously when the filter coefficients h (0) and h (2) are read out from the ROM 32, they are multiplied by the multiplier 33, and the multiplication result is stored in the accumulator 34.
Supplied to In the accumulator 34, the multiplication results of the multiplier 33 are cumulatively added, and finally, A2 = h (2) .X (6) + A1 = h (2) .X (6) + h (0) .X (8) Data is stored in the first register 36, output from the accumulator 34, and stored in the second register 37. Similarly, input data X (7), X (5)
Are read out sequentially, and when the filter coefficients h (1) and h (3) are read out from the ROM 32, they are multiplied by the multiplier 33, and the multiplication result is supplied to the accumulator. In the accumulator 34 which has been reset, the multiplication results of the multiplier 33 are cumulatively added, and finally, B2 = h (3) .X (5) + B1 = h (3) .X (5) + h (1) .X ( 7) is stored in the first register 36, output from the accumulator 34, and stored in the third register 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に記憶される。After that, the output data Y c (2) stored in the past is read from the RAM 31 and the second selector 4
2 and stored in the fourth register 40. And
Data A2 and data B2 are input to the adder / subtractor 39 from the second register 37 and the third register 38, and the data A2
After adding 2 and data B2, data B2 is subtracted from data A2. The addition result of the adder / subtractor 39, that is, the data of A2 + B2 = h (2) .X (6) + h (0) .X (8) + h (3) .X (5) + h (1) .X (7) , Output data Y c (4) from the first selector 41 to the RAM 31 once. The output data Y c (4) stored here is read out after a predetermined period, and stored in the fourth register 40 through the second selector 42. Also, the subtraction result of the adder / subtractor 39, that is, A2-B2 = h (2) .X (6) + h (0) .X (8) -h (3) .X (5) -h (1) .X (7) is also stored in the RAM 31 from the selector 41 as new input data Z (4).
【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に格納さ
れる。Further, the input data Z
(4) and Z (2) are sequentially read out, and at the same time, when the filter coefficients are read out from the ROM 32 in the order of h (0) and h (2), the multiplier 3
The result is supplied to the accumulator 34. In the accumulator 34, the multiplication results of the multiplier 33 are cumulatively added, and data of C2 = h (2) · Z (2) + C1 = h (2) · Z (2) + h (0) · X (4) The data is stored in the first register 36, output from the accumulator 34, and stored in the second register 37. Similarly, input data Z (3), Z (1)
Are sequentially read out, and when the filter coefficients h (1) and h (3) are read out from the ROM 32 in response thereto, they are multiplied by each other in a multiplier 33, and the multiplication result is supplied to an accumulator. At this time, the data is cleared in the accumulator 34, and the multiplication results of the multiplier 33 are cumulatively added, and D2 = h (3) · Z (1) + D1 = h (3) · Z (1) + h (1 ) .Z (3) is stored in the first register 36, output from the accumulator 34, and stored in the third register 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)と共に出力されることになる。Then, the data C 2 and the data D 2 are supplied from the second register 37 and the third register 38 to the adder / subtractor 39.
After the data C2 and the data D2 are added,
Data D2 is subtracted from data C2. The operation result of the adder / subtractor 39 is stored in the fourth register 40, and the addition result,
That, C2 + D2 = h (2 ) · Z (2) + h (0) · Z (4) + h (3) · Z (1) + h (1) · Z (3) is output data Y b (2) as an output Similarly, the subtraction result, that is, C2-D2 = h (2) .Z (2) + h (0) .Z (4) -h (3) .Z (1) -h (1) .Z ( 3) is output as the output data Y a (2). Here, in the fourth register 40, the output data Y c (4) obtained by the previous operation processing is stored first, and the output data Y c
a (2), to be output together with Y b (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つ以上の成分に分離することも可能であ
る。In the multiplexed separation filter to which the delay function is added as described above, only two selectors 41 and 42 are added as compared with the separation filter shown in FIG. Is very small. In the above embodiment, one input data X (n)
Two or three output data Y a (n), Y b (n), Y
Although the case where c (n) is obtained has been exemplified, the data output from the adder / subtractor 39 is repeatedly stored in the RAM 31 and multiplied by the filter coefficient h (n), so that the input data X (n) becomes 4 It is also possible to separate them into more than one component.
【0070】[0070]
【発明の効果】本発明によれば、タップ数が大きくなっ
た場合でも回路規模を増大させることなく演算処理を行
わせることができる。また、フィルタを多重化し、1つ
の入力データから3つ以上の出力データを得る場合で
も、セレクタを追加することで対応することができた
め、回路規模の増大を防止することができる。According to the present invention, even when the number of taps is increased, the arithmetic processing can be performed without increasing the circuit scale. Further, even when filters are multiplexed and three or more output data are obtained from one input data, it is possible to cope by adding a selector, so that an increase in circuit scale can be prevented.
【図1】本発明のデジタルフィルタの第1の実施例を示
すブロック図である。FIG. 1 is a block diagram showing a digital filter according to a first embodiment of the present invention.
【図2】第1の実施例の動作を説明するタイミングチャ
ートである。FIG. 2 is a timing chart for explaining the operation of the first embodiment.
【図3】アドレス生成回路の構成を示すブロック図であ
る。FIG. 3 is a block diagram illustrating a configuration of an address generation circuit.
【図4】QMFを多重化する構成を示すブロック図であ
る。FIG. 4 is a block diagram showing a configuration for multiplexing QMF.
【図5】本発明のデジタルフィルタの第2の実施例を示
すブロック図である。FIG. 5 is a block diagram showing a second embodiment of the digital filter of the present invention.
【図6】第2の実施例の動作を説明するタイミングチャ
ートである。FIG. 6 is a timing chart for explaining the operation of the second embodiment.
【図7】QMFを多重化し、遅延回路を付加する構成を
示すブロック図である。FIG. 7 is a block diagram showing a configuration in which a QMF is multiplexed and a delay circuit is added.
【図8】本発明のデジタルフィルタの第3の実施例を示
すブロック図である。FIG. 8 is a block diagram showing a third embodiment of the digital filter of the present invention.
【図9】第3の実施例の動作を説明するタイミングチャ
ートである。FIG. 9 is a timing chart illustrating the operation of the third embodiment.
【図10】FIR型デジタルフィルタの構成図である。FIG. 10 is a configuration diagram of an FIR digital filter.
【図11】従来のデジタルフィルタを示すブロック図で
ある。FIG. 11 is a block diagram showing a conventional digital filter.
【図12】QMFを用いた分離フィルタの構成図であ
る。FIG. 12 is a configuration diagram of a separation filter using 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 ループカウンタ 1,21 delay element 2,22,24 multiplier 3,23,25 sum adder 26 subtractor 27 adder 11,31 RAM 12,32 ROM 13,33 multiplier 14,34 accumulator 15,35 adder 16, 36 first register 17, 37 second register 38 third register 39 adder / subtractor 40 fourth register 41 first selector 42 second selector 51 preset counter 52, 53 loop counter
フロントページの続き (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 Continuation of the front page (56) References JP-A-3-262206 (JP, A) JP-A-4-287413 (JP, A) JP-A-62-34412 (JP, A) JP-A-5-35774 (JP, A) , A) (58) Field surveyed (Int. Cl. 7 , DB name) H03H 17/00-17/08
Claims (3)
このメモリから読み出した入力時系列データに所定のフ
ィルタ係数を乗算する乗算器と、この乗算器の乗算結果
を順次累加算するアキュムレータと、このアキュムレー
タの累加算結果を交互に取り込む一対のレジスタと、こ
れら一対のレジスタから取り出される2つの累加算結果
を加算または減算し、その演算値を入力時系列データの
分離データとなる2つの出力時系列データとして出力す
る加減算器と、を備えたことを特徴とするデジタルフィ
ルタ。A memory for storing input time-series data;
A multiplier for multiplying the input time-series data read from the memory by a predetermined filter coefficient, an accumulator for sequentially accumulating the multiplication result of the multiplier, and a pair of registers for alternately receiving the accumulation result of the accumulator; An adder / subtractor for adding or subtracting two accumulated addition results obtained from the pair of registers, and outputting the operation value as two output time-series data serving as separated data of the input time-series data. And a digital filter.
このメモリから読み出した入力時系列データに所定のフ
ィルタ係数を乗算する乗算器と、この乗算器の乗算結果
を順次累加算するアキュムレータと、このアキュムレー
タの累加算結果を交互に取り込む一対のレジスタと、こ
れら一対のレジスタから取り出される2つの累加算結果
を加算または減算し、その演算値を入力時系列データの
分離データとなる2つの出力時系列データとして出力す
る加減算器と、この加減算器から出力される出力時系列
データを入力時系列データに置き換えて上記メモリに入
力するセレクタと、を備えたことを特徴とするデジタル
フィルタ。2. A memory for storing input time-series data,
A multiplier for multiplying the input time-series data read from the memory by a predetermined filter coefficient, an accumulator for sequentially accumulating the multiplication result of the multiplier, and a pair of registers for alternately receiving the accumulation result of the accumulator; An adder / subtracter for adding or subtracting two accumulative addition results taken out from the pair of registers, and outputting the operation value as two output time-series data serving as separated data of the input time-series data, and an output from the adder / subtractor. A selector for replacing output time-series data with input time-series data and inputting the input time-series data to the memory.
このメモリから読み出した入力時系列データに所定のフ
ィルタ係数を乗算する乗算器と、この乗算器の乗算結果
を順次累加算するアキュムレータと、このアキュムレー
タの累加算結果を交互に取り込む一対のレジスタと、こ
れら一対のレジスタから取り出される2つの累加算結果
を加算または減算し、その演算値を入力時系列データの
分離データとなる2つの出力時系列データとして出力す
る加減算器と、この加減算器から出力される出力時系列
データを入力時系列データに置き換えて上記メモリに入
力する第1のセレクタと、この第1のセレクタから上記
メモリに入力され、所定期間が経過した後に読み出され
る時系列出力データを上記加減算器から出力される時系
列出力データに置き換えて出力する第2のセレクタと、
を備えたことを特徴とするデジタルフィルタ。3. A memory for storing input time-series data,
A multiplier for multiplying the input time-series data read from the memory by a predetermined filter coefficient, an accumulator for sequentially accumulating the multiplication result of the multiplier, and a pair of registers for alternately receiving the accumulation result of the accumulator; An adder / subtracter for adding or subtracting two accumulative addition results taken out from the pair of registers, and outputting the operation value as two output time-series data serving as separated data of the input time-series data, and an output from the adder / subtractor. A first selector that replaces the output time-series data with input time-series data and inputs the time-series data to the memory; and a time-series output data that is input to the memory from the first selector and read after a predetermined period has elapsed. A second selector that replaces and outputs time-series output data output from the adder / subtracter,
A digital filter comprising:
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27869793A JP3177358B2 (en) | 1993-11-08 | 1993-11-08 | Digital filter |
KR1019940000940A KR100295257B1 (en) | 1993-01-20 | 1994-01-19 | Digital filter |
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 (en) | 1993-11-08 | 1993-11-08 | Digital filter |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07131295A JPH07131295A (en) | 1995-05-19 |
JP3177358B2 true JP3177358B2 (en) | 2001-06-18 |
Family
ID=17600928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27869793A Expired - Fee Related JP3177358B2 (en) | 1993-01-20 | 1993-11-08 | Digital filter |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3177358B2 (en) |
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 |
JP3349421B2 (en) | 1998-01-30 | 2002-11-25 | 三洋電機株式会社 | Audio data compression / decompression device and digital filter |
JP3291461B2 (en) | 1998-01-30 | 2002-06-10 | 三洋電機株式会社 | Digital filter |
-
1993
- 1993-11-08 JP JP27869793A patent/JP3177358B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH07131295A (en) | 1995-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3291461B2 (en) | Digital filter | |
US6405229B1 (en) | Digital filters | |
JPH0661792A (en) | Digital filter | |
KR100295257B1 (en) | Digital filter | |
JP2002158561A (en) | Fir filter, and data processing method therefor | |
JP3177358B2 (en) | Digital filter | |
JPH0834407B2 (en) | Input weighted transversal filter | |
JP3197648B2 (en) | Digital filter | |
JP2004525463A (en) | Pyramid filter | |
EP0464678B1 (en) | Input-weighted transversal filter | |
JP3296772B2 (en) | Digital filter | |
JPH11220358A (en) | Digital filter | |
JPH06216715A (en) | Digital filter | |
JP2513218B2 (en) | FIR Digital Filter | |
JP2004527025A (en) | Pyramid filter without multiplier | |
JPH11220357A (en) | Digital filter | |
JP3243831B2 (en) | FIR type filter | |
JPH0767065B2 (en) | Signal processing integrated circuit | |
JP2622962B2 (en) | Zooming device for FFT analyzer | |
JP2864827B2 (en) | Wavelet converter | |
US20100091829A1 (en) | Optimised architecture for a downsampling fir filter | |
JPH09298451A (en) | Digital filter circuit and its control method | |
JP3555551B2 (en) | Multi-pilot tone detection method and matched filter | |
JP2527019B2 (en) | Non-cyclic interpolation filter | |
KR0133402B1 (en) | An 1-dimension finite impulse response filter having symmetric |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |