JP3095395B2 - Digital filter - Google Patents

Digital filter

Info

Publication number
JP3095395B2
JP3095395B2 JP02022213A JP2221390A JP3095395B2 JP 3095395 B2 JP3095395 B2 JP 3095395B2 JP 02022213 A JP02022213 A JP 02022213A JP 2221390 A JP2221390 A JP 2221390A JP 3095395 B2 JP3095395 B2 JP 3095395B2
Authority
JP
Japan
Prior art keywords
data
bits
filter
coefficient
bit
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 - Lifetime
Application number
JP02022213A
Other languages
Japanese (ja)
Other versions
JPH03228422A (en
Inventor
浩一 浜下
Original Assignee
旭化成マイクロシステム株式会社
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 旭化成マイクロシステム株式会社 filed Critical 旭化成マイクロシステム株式会社
Priority to JP02022213A priority Critical patent/JP3095395B2/en
Publication of JPH03228422A publication Critical patent/JPH03228422A/en
Application granted granted Critical
Publication of JP3095395B2 publication Critical patent/JP3095395B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、オーディオ,通信,計測などの分野におい
て、アナログ信号を一定時間ごとにサンプリングして得
られたディジタル信号列に対して、ディジタル・フィル
タリング処理を行うディジタル・フィルタに関するもの
である。
DETAILED DESCRIPTION OF THE INVENTION [Industrial Application Field] The present invention relates to a digital signal train obtained by sampling an analog signal at regular intervals in a field such as audio, communication, and measurement. The present invention relates to a digital filter that performs a filtering process.

[従来の技術] ディジタル・フィルタリング処理におけるフィルタの
構成としては、インパルス応答が有限であるFIR(有限
インパルス応答)型と、無限に続くIIR(無限インパル
ス応答)型とがある。両者のうち、FIRフィルタは、IIR
型に比べてフィルタ次数(タップ数)は大きいが、群遅
延歪がなく、リミット・サイクル発振が発生しないとい
う長所を有するため、近年のLSIの微細化と共に、特に
オーディオ分野の用途に向けて発展してきている。
[Prior Art] Filter configurations in digital filtering processing include a FIR (finite impulse response) type in which the impulse response is finite and an IIR (infinite impulse response) type infinite. Among them, the FIR filter is IIR
Although the filter order (the number of taps) is larger than that of the type, it has the advantages of no group delay distortion and no limit cycle oscillation, so it has been developed especially for audio applications with the recent miniaturization of LSIs. Have been doing.

このFIR型のフィルタにも、サンプリング周波数をy:1
に低くするためのデシメーション・フィルタと、逆に1:
yに高くするためのインターポレーション・フィルタと
があり、前者は高速のA/Dコンバータ(アナログ信号を
ディジタル信号に変換する装置)と共に、後者は高速D/
Aコンバータ(ディジタル信号をアナログ信号に変換す
る装置)と共に用いられている。
This FIR filter also has a sampling frequency of y: 1
Decimation filter to reduce
There is an interpolation filter to increase the value of y, and the former has a high-speed A / D converter (a device that converts analog signals into digital signals) and the latter has a high-speed D /
It is used with an A-converter (a device that converts digital signals into analog signals).

これらのFIR型ディジタルフィルタが行う処理はいず
れも第11図に示すように、入力ディジタル信号aiに対し
て、所望のフィルタ特性を持ったフィルタ係数wiを乗累
算することにより、出力としてのディジタル信号 を得ることである。第11図において入力されたディジタ
ル信号aiは、1の入力データ記憶部に必要タップ数分だ
け貯えられ、2の係数データ記憶部からの係数データwi
と共に順次3の乗累算器に送られ、タップ数回の乗算と
累算を経て、出力データbjが求められ、7の出力レジス
タにより、fjのデータ・レートにて出力される。4は上
記各構成要素1,2,3,7のコントロール手段である。
As shown in FIG. 11, the processing performed by these FIR digital filters is performed by multiplying and accumulating the input digital signal a i by a filter coefficient w i having desired filter characteristics as an output. Digital signal It is to get. In FIG. 11, the input digital signal a i is stored in one input data storage unit for the required number of taps, and the coefficient data w i from the second coefficient data storage unit is stored.
Are sequentially sent to a power-of-three accumulator, and after multiplication and accumulation of several taps, output data b j is obtained. The output data b j is output from an output register 7 at a data rate of f j . Reference numeral 4 denotes control means for the above components 1, 2, 3, and 7.

なお、デシメーション型では、折り返しノイズが帯域
内に入り込むことを防止するために、またインターポレ
ーション型では、もとのディジタルデータのサンプリン
グ周波数のn倍の位置を中心として折り返し成分を除去
するために、ディジタルフィルタリングを行うものであ
るが、いずれの場合もフィルタの特性そのものは、前記
のyとタップ数nと、係数データwiの語長lにより決ま
る。すなわち、n/yとlとがいずれも大きいほど、良好
なフィルタ特性が得られる。
In the decimation type, in order to prevent aliasing noise from entering the band, and in the interpolation type, to eliminate aliasing components around a position n times the sampling frequency of the original digital data. , but performs a digital filtering, characteristic itself of the filter in any case, y and the number of taps n of the determined by the word length l of the coefficient data w i. That is, as both n / y and l are larger, better filter characteristics are obtained.

しかしながら、1個のbjを求めるための1演算サイク
ル内の乗累算回数はnに比例して大きくなり、また、l
が大きいほど乗累算器の回路規模が大きくなると共に乗
累算スピードが遅くなるということから、yが大きいフ
ィルタほど、良好なフィルタ特性を実現することが困難
になってくる。また、実用上の見地から言えば、オーデ
ィオ用に必要な18ビット×18ビットの乗算器は動作上限
スピードが12MHz程度であり、またその回路規模は20ビ
ット累算器の10倍程度の大きさとなるため、通常のディ
ジタルフィルタの設計に際しては、いかに効率よく、こ
の1個の乗算器を使用して最大限のフィルタ特性を引き
出すかが問題となっていた。
However, the number of times of multiplication / accumulation in one operation cycle for obtaining one b j increases in proportion to n, and l
Is larger, the circuit scale of the multiplier-accumulator becomes larger and the multiplier-accumulation speed becomes slower. Therefore, it becomes more difficult to realize a good filter characteristic with a filter having a larger y. Also, from a practical point of view, the 18-bit × 18-bit multiplier required for audio has an operating upper limit speed of about 12 MHz, and its circuit size is about 10 times as large as a 20-bit accumulator. Therefore, when designing an ordinary digital filter, there has been a problem how to efficiently use this single multiplier to extract the maximum filter characteristics.

一方、従来のA/D変換の方式としては、入力アナログ
信号を直接16ビットPCM信号に変換する多ビット型のも
のが主流で、fs=32KHz〜48KHzのオーディオ用サンプリ
ング周波数の2倍〜4倍程度のサンプリングスピードの
ものが主流であった。
Meanwhile, as a method of a conventional A / D converter, an input analog signal multi-bit type ones mainly to convert directly into 16-bit PCM signal, twice to four audio sampling frequency of f s = 32KHz~48KHz The sampling rate was about twice as fast.

したがって、上記の第1世代のディジタルフィルタと
しては、デジメーション比が2:1もしくは4:1のものが開
発され、この場合のタップ数はn=128〜256程度のもの
で、1個の乗累算器でも十分対応できるスピード(すな
わち、48KHz×256=12.288MHz)であった。この場合の
ディジタル・フィルタの主目的は、折り返し成分が原信
号帯域へ入り込むことを防ぐための前置アナログフィル
タの次数を軽減することが主目的で、そのためにはより
高いデシメーション比が望ましいが、デシメーション比
に比例してタップ数が増え、乗累算回数が増えるため
に、1個の乗累算器にて直接処理することが難しい点
と、16ビットA/Dコンバータのスピード向上そのものが
難しい点などから、上記より大きなデシメーション比の
ものは一般的でなかった。
Therefore, as the above-mentioned first-generation digital filters, those having a digitization ratio of 2: 1 or 4: 1 have been developed. In this case, the number of taps is about n = 128 to 256, and the number of taps is one. The speed was sufficient for an accumulator (that is, 48 kHz x 256 = 12.288 MHz). The main purpose of the digital filter in this case is to reduce the order of the pre-analog filter to prevent aliasing components from entering the original signal band. For this purpose, a higher decimation ratio is desirable. Since the number of taps increases in proportion to the decimation ratio and the number of multiply-accumulate times increases, it is difficult to directly process with one multiply-accumulator, and it is difficult to improve the speed of the 16-bit A / D converter itself From the point of view and the like, those having a decimation ratio higher than the above are not common.

上記従来型の多ビットA/Dコンバータに対して、近年
ΔΣ(デルタ・シグマ)変調方式を用いたオーバーサン
プリング・ノイズシェーピング型のA/Dコンバータが注
目されてきている。これは、入力アナログ信号を前記fs
の64〜256倍程度の高速の1ビットPDM信号(パルス密度
変調)に変換し、その量子化ノイズを原信号帯域より高
域にシフトさせるものである。この場合は、前置アナロ
グ・フィルタの次数は、1〜3次と、はるかに軽減され
るが、高域シフトされた量子化ノイズを十分に阻止し
て、64fs〜256fsの高速1ビットPDM信号データを1fs
多ビット(16〜20ビット)のPCM信号データに変換する
ための第2世代のディジタル・フィルタ(デシメーショ
ン比が1/64〜1/256程度のもの)が必要になってきた。
この際、例えばデシメーション比を1/64とすると、オー
ディオ用として必要なタップ数は2000〜4000タップが必
要となり、乗累算器は100〜200MHzのスピードが要求さ
れることとなり、現在のCMOSプロセスで実現することは
不可能と考えられていた。
In recent years, an oversampling noise shaping type A / D converter using a ΔΣ (delta sigma) modulation scheme has attracted attention as compared to the conventional multi-bit A / D converter. This, the input analog signal f s
Is converted to a high-speed 1-bit PDM signal (pulse density modulation) of about 64 to 256 times of the above, and the quantization noise is shifted to a higher frequency band than the original signal band. In this case, the order of pre-analog filters 1-3 primary and, although is much reduced, sufficiently prevents high frequency shifted quantization noise, high-speed 1-bit 64f s ~256f s A second-generation digital filter (with a decimation ratio of about 1/64 to 1/256) is required to convert PDM signal data to 1 fs multi-bit (16 to 20 bits) PCM signal data. Have been.
At this time, for example, if the decimation ratio is 1/64, the number of taps required for audio needs to be 2000 to 4000 taps, and the multiplier / accumulator requires a speed of 100 to 200 MHz. Was thought to be impossible to achieve.

したがって、複数のFIR型フィルタを多段縦続する手
段により、上記第2世代のディジタル・フィルタを実現
していた。一例として、3段のFIR型フィルタの縦続に
より総合デシメーション比1/64を達成したディジタル・
フィルタの概要を第12A,12B,12C図に示す。
Therefore, the second-generation digital filter has been realized by means of cascading a plurality of FIR filters in multiple stages. As an example, digital cascading with a total decimation ratio of 1/64 by cascading three-stage FIR filters
An outline of the filter is shown in FIGS. 12A, 12B and 12C.

第12A図は3段のフィルタの縦続構成を示す図で、入
力される64fs=3.072MHzの1ビットPDM信号データは、
8のFIR型ディジタル・フィルタ(FIR1)により1/8デシ
メーションされて8fs=384KHzの18ビットPCM信号データ
となり、9のFIR型ディジタル・フィルタ(FIR2)にて1
/4デシメーションされて2fs=96KHzの18ビットデータと
なり、10のFIR型ディジタル・フィルタ(FIR3)にて1/2
デシメーションされて1fs=48KHzの16ビットのデータと
して出力される。
FIG. 12A is a diagram showing a cascade arrangement of a three-stage filter, 1-bit PDM signal data 64f s = 3.072 MHz that is input,
The 8 FIR digital filters (FIR1) is 1/8 decimated to become a 18 bit PCM signal data 8f s = 384KHz, 1 in 9 of the FIR type digital filter (FIR2)
/ 4 is decimated becomes 2f s = 96KHz, 18-bit data, 1/2 at 10 FIR type digital filter (fir3)
It is decimated output as 16-bit data of 1f s = 48KHz.

FIR1〜FIR3に必要とされるフィルタ特性は、第12B図
に示すように、FIR1において8fsのn倍を中心とした±2
2KHzのノイズを、FIR2において2fsのn倍を中心とした
±22KHzのノイズを、FIR3においてfsのn倍を中心とし
た±22KHzのノイズを阻止するものであり、したがってF
IR1が最もゆるく、FIR3が最も急勾配の遷移領域特性と
なる(上記±22KHzとは、原信号の通過帯域を22KHzまで
とした場合である)。
Filter characteristics required for FIR1~FIR3, as shown in FIG. 12B, ± centered on n times 8f s in FIR1 2
Noise 2 KHz, the noise of ± 22 KHz around the n times of 2f s in FIR2, is intended to prevent the noise of ± 22 KHz around the n times f s in fir3, hence F
IR1 is the slowest and FIR3 is the steepest transition region characteristic (± 22 KHz is when the passband of the original signal is up to 22 KHz).

以上の結果としては、各フィルタの必要タップ数は、
例えばFIR1では、32タップ、FIR2では64タップ、FIR3で
は128タップ程度にでき、各々の乗累算スピードはFIR1
では32×384KHz=12.228MHz、FIR2では64×96KHz=6.14
4MHz、FIR3では128×48KHz=6.144MHzとなる。実際のハ
ード構成としては、第12C図に示す如く、FIR1用の12.28
8MHzの乗累算器11と、FIR2とFIR3の両方で併用しうる乗
算器12とで構成される。乗累算器11は乗算部11−aと累
算部11−bとを有し、乗累算器12は乗算部12−aと累算
部12−bとを有する。13,14,15はFIR1,2,3用データ記憶
部、16,17,18はFIR1,2,3用係数データ記憶部、19,20は
セレクタである。ここで、乗算部11−aは2値の1ビッ
トデータと係数wiとの積を行うが、これは+wiまたは−
wiを作ることであり、単純なセレクタで実現しうる。し
たがって、11の乗累算器は、11−bの累算器とセレクタ
とで構成され、十分に小規模である。逆に、12−aの乗
算部は、FIR1またはFIR2の出力である18ビットデータ
と、同じく18ビットの係数データwiとの積を行うため、
前述の如く累算器の10倍近い回路規模を要する。
As a result, the required number of taps for each filter is
For example, FIR1 can have 32 taps, FIR2 can have about 64 taps, and FIR3 can have about 128 taps.
32 × 384KHz = 12.228MHz in FIR2, 64 × 96KHz = 1.14 in FIR2
For 4MHz and FIR3, 128 × 48KHz = 6.144MHz. As an actual hardware configuration, as shown in FIG. 12C, 12.28 for FIR1 is used.
It is composed of an 8 MHz multiplier / accumulator 11 and a multiplier 12 that can be used for both FIR2 and FIR3. The multiplier / accumulator 11 has a multiplier 11-a and an accumulator 11-b, and the multiplier / accumulator 12 has a multiplier 12-a and an accumulator 12-b. 13, 14, 15 are data storage units for FIR1, 2, 3; 16, 17, 18 are coefficient data storage units for FIR1, 2, 3; and 19, 20 are selectors. Here, the multiplication unit 11-a is performed the product of the 1-bit data and coefficients w i of the binary, which is + w i or -
is to create w i, which can be realized with a simple selector. Therefore, the 11-th power accumulator is composed of the 11-b accumulator and the selector, and is sufficiently small. Conversely, the 12-a multiplication unit multiplies the 18-bit data output from FIR1 or FIR2 by the same 18-bit coefficient data w i ,
As described above, the circuit scale needs to be about ten times as large as the accumulator.

以上のようなFIRの多段縦続型のディジタル・フィル
タにおける問題点としては、 (1)フィルタ間のインターフェースのデータ語長およ
びフィルタ係数語長がFIR2以降の乗算器の語長に制約さ
れ、結果としてダイナミックレンジの拡大が難しい。
The problems with the multistage cascaded digital filter of FIR as described above are as follows: (1) The data word length of the interface between the filters and the filter coefficient word length are limited by the word length of the multiplier after FIR2. It is difficult to expand the dynamic range.

(2)乗算器の語長の拡大は回路規模を2乗的に拡大し
(例えば18×18(ビット)を20×20(ビット)にする
と、規模は(20/18)=1.23倍となる)、演算スピー
ドも遅くしてしまうため、商用CMOSプロセスにて12MHz
のスピードを達成するには18×18ビット程度が限界であ
る。
(2) To increase the word length of the multiplier, the circuit scale is squared (for example, if 18 × 18 (bit) is changed to 20 × 20 (bit), the scale becomes (20/18) 2 = 1.23 times). ), The operation speed is slowed down, so 12MHz in commercial CMOS process
In order to achieve the speed of about 18 × 18 bits is the limit.

(3)FIR1やFIR2などの小タップ数のフィルタでは、十
分な通過帯域特性が得られず、これらをFIR3にて補正す
る必要が生ずるが、その補正のためにFIR3での阻止帯域
特性に悪影響を与えてしまう。
(3) Filters with a small number of taps, such as FIR1 and FIR2, do not provide sufficient passband characteristics and need to be corrected by FIR3, but the correction has an adverse effect on the stopband characteristics at FIR3. Will be given.

などである。And so on.

[発明が解決しようとする課題] 前述の第1および第2世代のディジタル・フィルタに
おいては、いずれの場合も単一の乗累算器のみを用いて
ディジタル・フィルタリングの各演算サイクルを完結さ
せようという試みであり、したがって、実用的に実現し
うる乗算器単体の動作スピードや回路規模に応じてフィ
ルタ特性や係数語長,入力データ語長などが決定されて
しまい、設計の融通性に乏しく、性能向上はプロセス技
術の進歩による乗算器のスピード向上やビット数拡張を
待つしかなかった。
[Problems to be Solved by the Invention] In each of the first and second generation digital filters described above, in each case, each operation cycle of digital filtering is completed using only a single power accumulator. Therefore, the filter characteristics, coefficient word length, input data word length, etc. are determined according to the operation speed and circuit size of a multiplier that can be practically realized, and the design flexibility is poor. The only way to improve performance was to wait for the multiplier speed and the number of bits to be increased due to advances in process technology.

特に近年のΔΣ変調による高オーバーサンプリングデ
ータに対する第2世代ディジタルフィルタを第1世代の
フィルタの前段にFIR1,FIR2などを縦続しただけの多段
型であるため、各フィルタ間のインターフェース語長や
各々の係数語長は、最終段で使用される乗算器の性能に
より、高々18ビット程度に制限される。故に、ΔΣ変調
の高ダイナミックレンジを削減することになる。また、
多段化したことにより前段の粗いフィルタ特性の補正を
後段の多タップフィルタに強いることにもなり、全体と
してのフィルタ特性設計上、きわめて効率が悪い。
In particular, since the 2nd generation digital filter for high oversampling data by recent ΔΣ modulation is a multi-stage type in which FIR1 and FIR2 etc. are cascaded just before the 1st generation filter, the interface word length between each filter and each The coefficient word length is limited to at most about 18 bits depending on the performance of the multiplier used in the final stage. Therefore, the high dynamic range of the ΔΣ modulation is reduced. Also,
Due to the multi-stage configuration, the correction of coarse filter characteristics in the first stage is forced to the multi-tap filter in the second stage, which is extremely inefficient in designing the filter characteristics as a whole.

本発明の目的は、特にΔΣ変調などの高オーバーサン
プリングA/Dコンバータからのデータに対し、多ビット
の乗算器を排除し、1段のFIR型フィルタのみで高デシ
メーション比を実現し、ダイナミックレンジの拡大が可
能で、前段フィルタ特性の補正が不要なディジタル・フ
ィルタを提供することにある。
It is an object of the present invention to eliminate a multi-bit multiplier for data from a high oversampling A / D converter such as ΔΣ modulation, realize a high decimation ratio only with a single-stage FIR filter, and achieve a dynamic range. It is an object of the present invention to provide a digital filter which can be expanded and does not require correction of the pre-filter characteristics.

[課題を解決するための手段] 上記目的を達成するため本発明は、nワードの入力デ
ータを演算して1ワードの出力データを出力するディジ
タル・フィルタにおいて、n/2N(N≧2)ワードのデー
タ列からなり、それぞれデータ列の最後部から最前列に
データを転送させる自己ループを有する2N個のシフトレ
ジスタと、N個の係数データ記憶部と、前記シフトレジ
スタからのデータのうち同じ係数をかける2つのデータ
を加算するN個の加算手段と、前記加算手段からの加算
結果のデータと前記係数データ記憶部からの係数データ
とで演算するN個の演算部と、前記N個の演算部の出力
を累算し、前記1ワードの出力データを出力する累算部
と、を具えたことを特徴とする。
[Means for Solving the Problems] In order to achieve the above object, the present invention provides a digital filter which operates on n-word input data and outputs one-word output data, wherein n / 2N (N ≧ 2) words 2N shift registers each having a self-loop for transferring data from the last part of the data string to the front row, N coefficient data storage units, and the same coefficient among the data from the shift register N means for adding two data to be multiplied by N, N operation units for performing an operation on data of the addition result from the addition means and coefficient data from the coefficient data storage unit, and N operation units And an accumulator for accumulating the output of the unit and outputting the one-word output data.

[作 用] 本発明によれば、上記構成により、大タップ数のフィ
ルタを実現することが可能で、特に高デシメーション比
のディジタル・フィルタを1段フィルタのみで実現で
き、従来の多段フィルタの縦続による場合の欠点を排除
できる。すなわち、広いダイナミックレンジを有し、多
ビット乗算器のスピード限界に制約されず、前段フィル
タ特性の補正が不要で、フィルタ間のインターフェース
語長制限による丸め誤差の影響のない高性能フィルタを
提供できる。
[Operation] According to the present invention, a filter having a large number of taps can be realized by the above configuration. In particular, a digital filter having a high decimation ratio can be realized with only a single-stage filter, and a cascade of conventional multi-stage filters can be realized. The disadvantage in the case can be eliminated. That is, it is possible to provide a high-performance filter that has a wide dynamic range, is not restricted by the speed limit of the multi-bit multiplier, does not require correction of the pre-stage filter characteristics, and is free from the influence of rounding errors due to the limitation of the interface word length between filters.

[実施例] 以下、図面を参照して本発明の実施例を詳細に説明す
る。
[Example] Hereinafter, an example of the present invention will be described in detail with reference to the drawings.

ここでは具体例として、ΔΣ変調された64fs=3.072M
Hzの1ビットPDM信号に対して1/64デシメーションを実
施し、通過帯域が22KHz、出力レートが1fs=48KHzの28
ビットPCM信号を出力するディジタル・フィルタに本発
明を適用する場合について説明する。
Specific examples here, 64f s = 3.072M which is ΔΣ modulated
1/64 decimation is performed on a 1-bit PDM signal with a frequency of 22 kHz with a pass band of 22 kHz and an output rate of 1 fs = 48 kHz.
A case where the present invention is applied to a digital filter that outputs a bit PCM signal will be described.

ディジタル・フィルタのタップ数としてはデシメーシ
ョン比が1/64であることにより、n=2000〜4000程度が
オーディオ要として必要であるが、ここでは簡単のた
め、n=2048とする。1演算サイクル、すなわち、1個
を求めるための乗累算回数は、単純にはn=2048回だ
が、FIR型フィルタの特徴である係数の左右対称性を用
いた前段加算方式(後述)を用いれば1/2n=1048回とな
る。すなわち、wi=wn-i+1という性質を用いたもので、 を求めるものである。FIR型フィルタのフィルタ係数
wi、すなわち単位インパルス応答を概略的に示すと、第
13図のようになり、中央のメイン・ローブの値が大き
く、両端へいくにしたがって小さくなっていき、左右対
称である。ここでは、1/64デシメーション用であるた
め、概略フィルタ特性は、第14図の如く、パス・バンド
を0〜22KHz、ストップバンドを28KHz以上としたローパ
ス・フィルタである。フィルタ特性は、当然、1/2×3.0
72MHz=1.536MHzを中心に対称である。
Since the decimation ratio is 1/64, the number of taps of the digital filter needs to be about 2,000 to 4,000 for audio, but for simplicity, it is assumed that n = 2048. One operation cycle, that is, one operation cycle Is simply 2048 times, but 1 / 2n = 1048 if the pre-stage addition method (described later) that uses the left-right symmetry of the coefficient, which is a feature of the FIR filter, is used. Become. In other words, it uses the property of w i = w n-i + 1 , Is what you want. Filter coefficient of FIR type filter
w i , the unit impulse response,
As shown in Fig. 13, the value of the main lobe at the center is large, and decreases toward both ends, and it is symmetric. Here, since it is for 1/64 decimation, the rough filter characteristic is a low-pass filter with a pass band of 0 to 22 KHz and a stop band of 28 KHz or more as shown in FIG. Filter characteristics are, of course, 1/2 × 3.0
It is symmetric around 72MHz = 1.536MHz.

第1図は、前段加算を用いない場合の本発明の第1の
実施例のブロック図を示す。
FIG. 1 is a block diagram of a first embodiment of the present invention in which pre-stage addition is not used.

この実施例では、1個の乗累算器の演算スピードを1
2.288MHz=256fsとし、n・fs/256fs=2048/256=8個
の乗累算器(23,24,25,…30)による並列処理を行って
いる(各乗累算器は乗算部(例:23−a)と累算部(例;
23−b)とを有する)。入力されるΔΣ変調された1ビ
ットデータ(ai)は、±1の2値を表すことから、各乗
累算器の乗算部は、実質的には+wiか−wiを選択するセ
レクタでよい。係数データ記憶部21から出力されるデー
タが常に+wiで、2の補数形式のデータであれば、−wi
は上記を反転したものと、1LSBのキャリー入力を累算器
に入力することにより簡易に実現できる。したがって、
ここでの各乗累算器の回路規模は単なる累算器とほぼ同
等で、十分高速かつ多ビット化が可能で、故に高ダイナ
ミックレンジ化が可能である。
In this embodiment, the operation speed of one multiply-accumulator is set to 1
2.288MHz = and 256f s, n · f s / 256f s = 2048/256 = 8 pieces of multiply accumulators (23, 24, 25, ... 30) parallel processing is performed (each multiply accumulator by the Multiplication unit (example: 23-a) and accumulation unit (example;
23-b)). 1 bit data ΔΣ modulated input (a i), since that represents the binary ± 1, the multiplication of each multiply accumulator is substantially select a + w i or -w i selector Is fine. In the coefficient data storage section 21 data output from the always + w i, if the data of the 2's complement form, -w i
Can be easily realized by inverting the above and inputting a 1 LSB carry input to the accumulator. Therefore,
Here, the circuit scale of each power accumulator is almost the same as that of a simple accumulator, and it is possible to achieve a sufficiently high speed and multi-bit operation, and therefore a high dynamic range.

8個の乗累算器(23,24,25,…30)は、1演算サイク
ルを8等分した各256回の演算を分担する。すなわち入
力データ記憶部21からのデータa-iおよび係数記憶部22
からの係数データwiは各々8分割され、Q1〜Q8およびW1
〜W8の各8本のデータラインより第1〜第8の各乗累算
器(23,24,25,…30)に並列供給され、そこで各々256個
の乗累算により が求められる。これらの結果は31の最終累算器に送ら
れ、 により、bjが求められ、出力される。
The eight accumulators (23, 24, 25,..., 30) share 256 operations each obtained by dividing one operation cycle into eight. That is, the data a -i from the input data storage unit 21 and the coefficient storage unit 22
Coefficients from the data w i are respectively divided into eight, Q1 to Q8 and W1
To W8 are supplied in parallel to the first to eighth multiplying accumulators (23, 24, 25,..., 30). Is required. These results are sent to 31 final accumulators, Obtains and outputs b j .

第1〜第8図の乗累算器のビット数は必ずしも同数で
なく、各々が分担する演算分割のフィルタ係数の値によ
り決めることが可能である。すなわち、フィルタ係数wi
の大きさは第13図に示す如く中央値が大きく、両端が小
さいことから、例えば中央の第4,第5の乗累算器が28ビ
ットなら、両端の第1,第8の乗累算器は20ビット程度で
すむ。
The number of bits of the multiplying and accumulating units shown in FIGS. 1 to 8 is not necessarily the same, and can be determined by the value of the filter coefficient of the operation division shared by each. That is, the filter coefficient w i
Since the median value is large at the center and small at both ends as shown in FIG. 13, for example, if the fourth and fifth multipliers at the center are 28 bits, the first and eighth multipliers at both ends are The device needs only about 20 bits.

第2図は、前段加算(詳細は第3図以降で述べる)を
用いた場合の本発明の第2の実施例のブロック図であ
る。この実施例では乗累算器の演算スピードを前例と同
じとすると、(1/2×2048)/256=4個の乗累算器でよ
い。新たに必要となる前段加算器(例:34−a)は±1
の2値を表す2個(例:Q1,Q8)のデータ(a-i
a-n+i-1)の加算を行い、+2,0,−2の3値を出力す
る。これは数個のゲートで実現でき、回路規模は無視し
うる程度である。乗算器(例:34−b)はフィルタ係数w
iに対し、上記3値のいずれかを乗算し、+2wi,0,−2wi
のいずれかを作るが、これは係数データ記憶部33内のデ
ータをあらかじめ+2wiとしておけば+1倍か0倍か、
−1倍かを選択するのみであり、やはり簡単なセレクタ
で実現でき、十分小さな回路規模である。したがって、
前実施例(第1図)に比較して、約半分の回路規模の演
算部となりうる。
FIG. 2 is a block diagram of a second embodiment of the present invention in which pre-stage addition (details will be described later with reference to FIG. 3). In this embodiment, assuming that the operation speed of the multiplier-accumulator is the same as the previous example, (1/2 × 2048) / 256 = 4 multiplier-accumulators may be used. New pre-stage adder (eg 34-a) is ± 1
(Example: Q1, Q8) data (a -i and
a -n + i-1 ) and outputs three values of + 2,0, -2. This can be realized with several gates, and the circuit scale is negligible. The multiplier (eg, 34-b) has a filter coefficient w
i respect, multiplied by one of the three values, + 2w i, 0, -2w i
Of it making any, which is either +1 times or 0 times if as a pre-+ 2w i the data in the coefficient data storage unit 33,
Only -1 times is selected, and can be realized with a simple selector, and the circuit scale is sufficiently small. Therefore,
As compared with the previous embodiment (FIG. 1), it can be an operation unit having a circuit scale of about half.

入力データ記憶部32からの入力データaiは8分割され
てQ1〜Q8より、係数データ記憶部33からの係数データwi
は4分割されてW1〜W4より出力される。ここで、Q1〜Q4
は入力データaiの前半部a-1〜a-1024を、Q8〜Q4は同後
半部a-2048〜a-1025を出力し、しかもQ1とQ8,Q2とQ7,Q3
とQ6,Q4とQ5が各対称成分(a-iとa-n+i-1)を同時に出
力して各加算器34−a,35−a,36−a,37−aにて前段加算
され、その加算出力と前記係数データ記憶部33からのW1
〜W4とが第1〜第4の乗算器34−b,35−b,36−b,37−
b)に供給される。したがって、2048個のa-iと1024個
のwiを用いて第1〜第4の前段加算器(34−a〜37−
a)と乗算器(34−b〜37−b)と累算器(34−c〜37
−c)とは各々256回の演算にて、 を求め、38の最終累算器において を求めて出力する。
The input data a i from the input data storage unit 32 is divided into eight, and from Q1 to Q8, the coefficient data w i from the coefficient data storage unit 33
Is divided into four and output from W1 to W4. Where Q1-Q4
The first half portion a -1 ~a -1024 of the input data a i, Q8~Q4 outputs the same second half portion a -2048 ~a -1025, moreover Q1 and Q8, Q2 and Q7, Q3
And Q6, Q4 and Q5 simultaneously output the respective symmetrical components (a- i and a- n + i-1 ) and add the pre-stage at each adder 34-a, 35-a, 36-a, 37-a The sum output and W1 from the coefficient data storage unit 33
To W4 are the first to fourth multipliers 34-b, 35-b, 36-b, 37-
b). Therefore, using the 2048 a- i and 1024 w i , the first to fourth pre-stage adders (34-a to 37-
a), multipliers (34-b to 37-b) and accumulators (34-c to 37-37)
−c) means that each of the 256 calculations And in the 38 final accumulators Is output.

第1〜第4の各累算器34−c〜37−cのビット数は前
実施例の第1〜第4の各累算器のビット数と同じでよ
い。これは係数値が全て2倍化されているので、累算結
果そのものは前実施例の2倍化されねばならないが、係
数値のLSBが2倍化により常に0となったため累算器そ
のものもLSB単位を計算する必要がなく、実質構成とし
ては同ビット数でよいことになる。
The number of bits of each of the first to fourth accumulators 34-c to 37-c may be the same as the number of bits of each of the first to fourth accumulators of the previous embodiment. Since the coefficient values are all doubled, the accumulation result itself must be doubled as in the previous embodiment. However, since the LSB of the coefficient value is always 0 due to the doubling, the accumulator itself is also changed. There is no need to calculate the LSB unit, and the practical configuration requires the same number of bits.

次に、オーディオ用途に適したタップ数n=2048,デ
シメーション比y:1=64:1,データ出力レートfs=48KHz
の2チャンネルのディジタル・フィルタを実現するため
の第3の実施例を第3図に示す。これは前段加算方式を
用いた第2図の実施例を2チャンネル用に拡張したもの
で、乗累算器(前段加算器(例:43−a),乗算器(例:
43−b)および累算器(例:43−c)を有する)の個数
は、 が必要である。なお、2チャンネルの各々をLeftおよび
Rightと呼ぶこととする。
Then, the tap number n = 2048 suitable for audio applications, decimation ratio y: 1 = 64: 1, the data output rate f s = 48KHz
FIG. 3 shows a third embodiment for realizing the two-channel digital filter. This is an extension of the embodiment of FIG. 2 using the pre-stage addition method for two channels, and includes a multiplying accumulator (pre-stage adder (eg: 43-a), a multiplier (eg:
43-b) and the number of accumulators (eg with 43-c) is necessary. Note that each of the two channels is Left and
Right.

上記8個の乗累算器(43,44,…50)は、256/2=128個
ずつの演算を分担して各チャンネルの演算を行う。した
がって、後述のようにして得られるLeft用およびRight
用の入力データ記憶部63および64からのデータ出力は各
々2×8=16分割されて、Q1L〜Q16LとQ1R〜Q16Rより出
力され、コントロール部66からのCK17に基づいてLeftま
たはRightを選択する選択手段41によりQ1L〜Q16L出力と
Q1R〜Q16R出力とを交互に選択して第1〜第8の各前段
加算器に入力される。コントロール部66は後述のように
CL11〜CK19(L,R)のクロックを出力する。なお65のシ
フトレジスタは、両チャンネル間の位相差を補正するも
ので、Y/2=32ビット(本例では1ワード=1ビットで
ある)よりなり、コントロール部66からのCK11Rのタイ
ミングで動作し、Right用データ(ai,R)をLeft用デー
タ(ai,L)より32ワード分遅らせてデータ記憶部64に入
力し、最終累算器51から出力されるbjLとbjRが同時サン
プリングデータとなるようにする。
The eight accumulators (43, 44,..., 50) perform calculations for each channel by sharing 256/2 = 128 calculations. Therefore, for Left and Right obtained as described below
The data output from the input data storage units 63 and 64 is divided into 2 × 8 = 16 and output from Q1L to Q16L and Q1R to Q16R, and selects Left or Right based on CK17 from the control unit 66. Q1L to Q16L output by selecting means 41
Q1R to Q16R outputs are alternately selected and input to the first to eighth pre-stage adders. The control unit 66 is described below.
The CL11 to CK19 (L, R) clocks are output. The shift register 65 corrects the phase difference between the two channels, and consists of Y / 2 = 32 bits (1 word = 1 bit in this example), and operates at the timing of CK11R from the control unit 66. and, Right data (a i, R) Left for data (a i, L) is delayed 32 words from the input to the data storage unit 64, b jL and b jR is outputted from the final accumulator 51 Make it simultaneous sampling data.

また係数データ記憶部42からの係数データwiは8分割
されてW1〜W8より出力され、第1〜第8の各累算器に各
前段加算器出力と共に入力される。ここで、係数データ
wiは両チャンネル共に等しいので共用される。すなわ
ち、W1〜W8は各々1024個の係数データを、W1はw128
w1,W2はw256〜w127,…,W8はw1024〜w897,というように
分担して並列供給する。各チャンネルのデータ記憶部
(63,64)からの各16本の出力データラインからは各204
8個の過去データa-1L〜a-2048L,a-1R〜a-2048Rが各1/2
演算周期ごとに16個並列で、2048/16=128個のタイミン
グにて、順次各乗累算器へ送られ、前段加算後各乗算器
に上記wiと共に供給される。
The coefficient data w i from the coefficient data storage unit 42 is outputted from the 8 divided by W1 to W8, is input together with the previous stage adder output to the accumulator of the first to eighth. Where the coefficient data
w i is shared because both channels are equal. That, W1 to W8 are respectively 1024 coefficient data, W1 is w 128 ~
w 1 and W 2 are shared and supplied in parallel, such as w 256 to w 127 ,..., W 8 are w 1024 to w 897 . From each of the 16 output data lines from the data storage units (63, 64) of each channel, 204
Eight of the past data a -1L ~a -2048L, is a -1R ~a -2048R each 1/2
In 16 parallel to each calculation cycle, at 2048/16 = 128 timing is sent sequentially to each multiply-accumulate unit, supplied with the w i to each multiplier after the previous stage adder.

第1〜第8の各前段加算器と各乗算および累算器は、
各チャンネルごとに128回ずつの演算を分担し並列処理
しており、 を求め、51の最終累算器にて、 の各チャネルの出力データを求め出力する。
Each of the first to eighth pre-stage adders and each multiplication and accumulator are:
128 operations are assigned to each channel in parallel and processed in parallel. , And with the final accumulator of 51, The output data of each channel is obtained and output.

63のLeft用データ記憶部について、さらにその構成と
動作について第4図以降を用いて以下に説明する。な
お、64のRight側データ記憶部は、63と同一構成で、1/2
演算周期分の時間遅れがあるだけである。第4図におい
て、n=2048個の過去データを貯えるための記憶手段
は、前述の8個の前段加算および乗算および累算器に対
応して2N=16個のセクション・レジスタに分割されてい
る(図中101〜116で示す)。これらの各セクション・レ
ジスタは、いずれもn/(2N)=128ビットの一方向シフ
トレジスタである。100は次回演算サイクル用の入力デ
ータ(a0〜a63)を貯えるための入力レジスタで、fj×
y=48KHz×64=3.072MHzのクロックCK11により常にD0
より入力データaiを取り込み、内部シフト動作を続けて
いる。117の方向転換用レジスタは、a-n 〜a-(n
2)+y-1、すなわちa-1024〜a-961のデータを取り込み、1
19の転送手段により方向転換して第9セクション・レジ
スタ(109)に送り、データを方向転換するためのy=6
4ビットのシフトレジスタである。
The structure and operation of the 63 left data storage units will be further described below with reference to FIGS. Note that the 64 Right-side data storage unit has the same configuration as 63,
There is only a time delay for the operation cycle. In FIG. 4, the storage means for storing n = 2048 past data is divided into 2N = 16 section registers corresponding to the above-mentioned eight pre-stage addition, multiplication and accumulators. (Indicated by 101 to 116 in the figure). Each of these section registers is a unidirectional shift register of n / (2N) = 128 bits. 100 is an input register for storing the input data for the next calculation cycle (a 0 ~a 63), f j ×
y = 48KHz × 64 = 3.072MHz clock CK11 always D0
The input data ai is fetched more and the internal shift operation is continued. The direction change register 117 is a- n ] 2 to a- (n ).
2) + y-1 , i.e. data from a -1024 to a -961
The direction is changed by the 19 transfer means and sent to the ninth section register (109), and y = 6 for changing the direction of the data.
This is a 4-bit shift register.

121〜136はデータライン切換えのための選択手段であ
り、121〜128はCK18により、129〜136はCK19によりコン
トロールされ、いずれも制御信号(CK18,CK19)がHigh
のときは次セクションへの転送を、Lowのときには各セ
クション内の自己ループ型転送を行えるよう切換えられ
るものとする。ただし第8セクションにおける選択手段
128はCK18がHighのときには出力Q8を117の方向転換用レ
ジスタの入力ラインD17に接続する。また、136の選択手
段はCK19がLowのときにQ16をD16に接続し、CK19がHigh
のときにはQ16とD16とを解放する。すなわち選択手段13
6は自己ループのための機能と、前(第15)セクション
からのデータ転送を阻止しない機能とを備えているだけ
でよく、次セクションへの転送のための機能は不要であ
る。
121 to 136 are selection means for switching data lines, 121 to 128 are controlled by CK18, 129 to 136 are controlled by CK19, and control signals (CK18, CK19) are all High.
In this case, the transfer to the next section can be performed, and when it is Low, the transfer can be switched so that the self-loop transfer in each section can be performed. However, the selection means in Section 8
128 connects the output Q8 to the input line D17 of the direction change register 117 when CK18 is high. The selection means of 136 connects Q16 to D16 when CK19 is low, and CK19 is high.
In the case of, Q16 and D16 are released. That is, the selection means 13
6 only needs to have a function for the self-loop and a function for preventing data transfer from the previous (15th) section, and does not require a function for transfer to the next section.

118はy=64ビットの並列書換え転送手段で、レジス
タ100の第1〜第64ビットの各データをCK15によりレジ
スタ101の第1〜第64ビットへ並列書換え転送すること
ができる。119はy=64ビットの並列書換え転送手段
で、レジスタ117の第1〜第64ビットの各データをCK16
によりレジスタ109の第124〜第65ビットへデータのシフ
ト方向が逆転するように並列書換え転送することができ
る。
Numeral 118 denotes a parallel rewriting / transferring means of y = 64 bits, which is capable of parallel rewriting / transferring the data of the first to 64th bits of the register 100 to the first to 64th bits of the register 101 by CK15. Reference numeral 119 denotes a y = 64-bit parallel rewriting / transferring means for transferring each of the first to 64-bit data of the register 117 to CK16.
Thereby, parallel rewrite transfer can be performed to the 124th to 65th bits of the register 109 such that the data shift direction is reversed.

第5図は、1演算周期における各信号のタイミングの
一例である。ここで、第1期間はデータQ1L〜Q16LをL/R
選択手段41へ送出する期間、すなわち、乗累算器43〜50
へデータを送出する期間であり、第2期間は次の演算を
するための各データの移動期間(準備期間)である。第
1期間と第2期間の各々を、さらにa,bに分割して第1
−a〜第2−bの各々の区間での最終状態を第6図〜第
9図に示す。第1−a期間ではCK18=High,CK19=Lowで
あり、121〜128の選択手段は次セクションへの接続状態
となり、他の選択手段129〜136は第9〜第16セクション
を自己ループ状態にする。
FIG. 5 is an example of the timing of each signal in one operation cycle. Here, during the first period, the data Q1L to Q16L are L / R
The period of transmission to the selection means 41, that is, the multipliers 43 to 50
The second period is a period for moving each data (preparation period) for performing the next operation. Each of the first period and the second period is further divided into a and b, and
6 to 9 show the final state in each of the sections -a to 2-b. In the 1-a period, CK18 = High and CK19 = Low, the selection means 121 to 128 are connected to the next section, and the other selection means 129 to 136 set the ninth to sixteenth sections in a self-loop state. I do.

したがって、CK12〜CK14のy回、すなわち64回のクロ
ックにより、Q1〜Q16からは(a-128からa-65),…,
(a-1024からa-961),(a-1025からa-1088),…(a
-1921からa-1984)が出力され、上記のうちQ1からQ7の
出力データは次セクションのQ2からQ8の第64〜第1ビッ
トへシフト入力され、Q8の出力は方向転換用レジスタ11
7の第64〜第1ビットへシフト入力され、Q9〜Q16の出力
データは、各々自己ループして、第9〜第16セクション
・レジスタの第64〜第1ビットへ入力される。各セクシ
ョン・レジスタの第1〜第64ビットに存在していたデー
タはいずれも第65〜第128ビットへシフト移動する。
Accordingly, y times CK12~CK14, i.e. by 64 times the clock, from Q1 to Q16 (a -65 from a -128), ...,
(A -1024 to a -961 ), (a -1025 to a -1088 ), ... (a
-1921 to a -1984 ) are output, the output data of Q1 to Q7 is shifted into the 64th to 1st bits of Q2 to Q8 in the next section, and the output of Q8 is changed to the direction change register 11
7 is shifted to the 64th to 1st bit, and the output data of Q9 to Q16 are self-looped and input to the 64th to 1st bits of the 9th to 16th section registers. Any data existing in the first to 64th bits of each section register is shifted to the 65th to 128th bits.

100の入力レジスタには、CK11により次回用の16個の
データa0〜a15が第16〜第1ビット目にシフト入力され
る。以上の結果が第6図に示されている。なお、上記1
−a期間の初期状態は1演算周期内の動作から容易に理
解できる結果なので、説明は省略する。
The 100 input register, the 16 data a 0 ~a 15 for the next time the CK11 is shifted into the first 16 first bit. The above results are shown in FIG. The above 1
Since the initial state of the period -a is a result that can be easily understood from the operation within one operation cycle, the description is omitted.

次に第1−b期間においては、第7図に示すようにCK
18=Low,CK19=Highであり、選択手段121〜128は第1〜
第8セクション・レジスタを自己ループ状態にし、選択
手段129〜136はQ9〜Q15を各々D10〜D16に接続、すなわ
ち第9〜第16セクション・レジスタを次セクションのレ
ジスタへの接続状態とする。CK12とCK14の128−y=64
回のクロックにより、Q1〜Q16からは残りの(a-64からa
-1),…,(a-960から-897),(a-1089から
a-1152),…(a-1985からa-2048)が出力され、上記の
うちQ1からQ8の出力データは各々自己ループして第1〜
第8セクション・レジスタの第64〜第1ビットへ帰還入
力され、Q9からQ15の出力は各々次セクションのレジス
タ、すなわち第10〜第16セクション・レジスタの第64〜
第1ビットへシフト入力される。これらの各セクション
・レジスタの第1〜第64ビットに存在していたデータ
は、各々のセクション内にて第65〜第128ビットへシフ
ト移動する。CK13は停止しており、方向転換用レジスタ
117は第1−aの期間終了時と同じ状態である。入力レ
ジスタ100の中には、さらに16回のCK11のクロックによ
り第32〜第1ビットへa0〜a31のデータが入力される。
以上の動作の結果は第7図に示す通りである。
Next, in the 1-b period, as shown in FIG.
18 = Low, CK19 = High, and the selecting means 121 to 128
The eighth section register is set to a self-loop state, and the selection means 129 to 136 connect Q9 to Q15 to D10 to D16, respectively, that is, connect the ninth to sixteenth section registers to the register of the next section. 128-y of CK12 and CK14 = 64
The remaining clocks from Q1 to Q16 (a -64 to a
-1), ..., from (a -960 -897), from (a -1089
a -1152 ), ... (a -1985 to a -2048 ) are output, and the output data of Q1 to Q8 are self-
The feedback is input to the 64th to 1st bits of the 8th section register, and the outputs of Q9 to Q15 are the registers of the next section, that is, the 64th to 64th bits of the 10th to 16th section registers.
The data is shifted into the first bit. The data existing in the 1st to 64th bits of each section register shifts to the 65th to 128th bits in each section. CK13 is stopped, direction change register
Reference numeral 117 denotes the same state as at the end of the period 1-a. In the input register 100, data of a 0 ~a 31 is input further to 16 times the 32 to the first bit by a clock of CK11 in.
The result of the above operation is as shown in FIG.

次に、第2−a期間においては、第8図に示すよう
に、CK18=Low,CK19=Lowであり、第1〜第16のすべて
のセクション・レジスタが自己ループ状態となる。した
がって、CK12とCK14の64回クロックにより全セクション
・レジスタにおいて第1〜第64ビットのデータが第65〜
第128ビットへ移動し、第65〜第128ビットのデータが第
1〜第64ビットへ移動する。CK13が停止しており、方向
転換用レジスタ117のデータ内容は変化無しである。入
力レジスタ100の中には、さらに16回のCK11のクロック
により第48〜第1ビットへa0〜a47のデータが入力され
る。以上の結果は第8図に示すようになり、次回演算サ
イクルのための64ビットシフトが第1セクション・レジ
スタの第1〜第64ビットと第9セクション・レジスタの
第65〜第128ビットとを除いて完了したことになる。
Next, in the period 2-a, as shown in FIG. 8, CK18 = Low and CK19 = Low, and all the first to sixteenth section registers enter a self-loop state. Therefore, the 64th clock of CK12 and CK14 transfers the data of the 1st to 64th bits in all section registers to the 65th to 64th clocks.
The data moves to the 128th bit, and the data of the 65th to 128th bits moves to the 1st to 64th bits. CK13 is stopped, and the data content of the direction change register 117 remains unchanged. In the input register 100, data of a 0 ~a 47 is input further to 16 times the 48 to the first bit by a clock of CK11 in. The above results are as shown in FIG. 8, and the 64-bit shift for the next operation cycle is performed by shifting the first to 64th bits of the first section register and the 65th to 128th bits of the ninth section register. It is completed except.

最後に、第2−b期間では、方向転換用レジスタ117
の64個のデータa-1024〜a-961がCK16のクロックにより
転送手段(119)を介して第9セクション・レジスタ109
の第65〜第128ビットへ並列書換え転送される。100の入
力データ用シフト・レジスタには、CK11の残り16回のク
ロックにより第64〜第1ビットにa0〜a63の次回データ
が入力される。レジスタ100にa0〜a63がそろった後、転
送手段118を通してCK15のクロックによりa0〜a63のデー
タは第1セクション・レジスタ(101)の第64〜第1ビ
ットへ転送される。以上の結果が第9図に示されるよう
になり、全てのセクション・レジスタ内のデータは次回
演算サイクル用の64ビットシフトした形で記憶し直され
る。すなわち、今回の演算サイクルの初期状態(第1−
a期間の初期)に比べ、第1〜第8セクション・レジス
タの第1〜第64ビットのデータは、各々、同セクション
・レジスタの第65〜第128ビットへ同セクション内で64
ビットシフト移動し、第1〜第7セクション・レジスタ
の第65〜第128ビットのデータは、各々、次セクション
(第2〜第8)レジスタの第1〜第64ビットへシフト移
動し、第8セクション・レジスタの第65〜第128ビット
のデータは方向転換されて第9セクション・レジスタの
第128〜第65ビットへ移動し、第9〜第16セクション・
レジスタの第65〜第128ビットのデータは、各々、同セ
クション・レジスタの第1〜第64ビットへ逆方向に64ビ
ットシフト移動し、第9〜第15セクション・レジスタの
第1〜第64ビットのデータは、各々、次セクション(第
10〜第16)レジスタの第65〜第128ビットへ移動し、第
9セクション・レジスタの第1〜第64ビットの最古デー
タa-2048〜a-1985が捨てられ、第1セクション・レジス
タの第1〜第64ビットには、今回演算サイクル中に新た
に入力されたa63〜a0の64個の新データが入力され、次
回演算サイクル用の新たなデータ・セットが作られる。
Finally, in the 2-b period, the direction change register 117 is used.
The 64 data a -1024 to a -961 of the ninth section register 109 are transferred via the transfer means (119) by the clock of CK16.
Is transferred in parallel to the 65th to 128th bits. The input data for the shift register 100, the next data a 0 ~a 63 is input to the 64 to the first bit by a clock of the remaining sixteen CK 11. After a 0 ~a 63 is aligned to the register 100, data of a 0 ~a 63 by clock CK15 through transfer means 118 is transferred to the first 64 to the first bit of the first section register (101). The above result is as shown in FIG. 9, and the data in all the section registers are stored again in a form shifted by 64 bits for the next operation cycle. That is, the initial state of the current operation cycle (first-
The first to the 64th bit data of the first to the eighth section registers are respectively transferred to the 65th to the 128th bits of the section register by 64 bits in the same section.
The data is shifted by bits and the data of the 65th to 128th bits of the first to seventh section registers are shifted to the 1st to 64th bits of the next section (second to eighth) registers, respectively. The data of the 65th to 128th bits of the section register is changed in direction and moved to the 128th to 65th bits of the ninth section register, and the 9th to 16th sections
The data of the 65th to 128th bits of the register is shifted by 64 bits in the reverse direction to the 1st to 64th bits of the same section register, and the 1st to 64th bits of the 9th to 15th section registers are respectively shifted. The data in each of the following sections (No.
10th to 16th) Move to the 65th to 128th bits of the register, discard the oldest data a- 2048 to a- 1985 of the 1st to 64th bits of the 9th section register, and discard the 1st section register. 64 new data a 63 to a 0 newly input during the current operation cycle are input to the first to 64 bits, and a new data set for the next operation cycle is created.

以上の1演算サイクル動作の繰り返しにより、上述の
説明で用いた初期データ状態が作られることは容易に理
解されうる。
It can be easily understood that the initial data state used in the above description is created by repeating the above one operation cycle operation.

上記の第2−b期間において、第5図に示した例では
回路簡略化と理解し易さのために、CK15とCK16を最後の
1パルスとしたが、実際にはCK15は第1セクション・レ
ジスタの第1〜第yビット位置に次回データを書き込ん
で良い時期、すなわち第1期間のy回シフトが終了した
直後、または第2期間のy回シフトが終了した後ならい
つでもよい。また、CK16は第8セクション・レジスタか
ら第9セクション・レジスタへのyビット転送が完了
し、かつこれを第9セクション・レジスタの第n/2N〜第
((n/2N)−y+1)ビットへ転送してよい時期、すな
わち第1期間の((n/2N)−y)回シフト終了した直
後、または第2期間の((n/2N)−y)回シフトが終了
した後ならいつでもよい。
In the above-mentioned period 2-b, CK15 and CK16 are the last one pulse in the example shown in FIG. 5 for circuit simplification and easy understanding, but actually CK15 is the first section pulse. The timing may be any time when the next data can be written to the first to y-th bit positions of the register, that is, immediately after the shift y in the first period is completed or after the shift y in the second period is completed. CK16 completes the transfer of the y bits from the eighth section register to the ninth section register, and transfers this to the (n / 2N) th to ((n / 2N) -y + 1) bits of the ninth section register. The transfer may be performed at any time, that is, immediately after the end of the ((n / 2N) -y) shifts in the first period or after the end of the ((n / 2N) -y) shifts in the second period.

前記第3の実施例において、CK13とCK18は第5図に示
すCK13′とCK18′のように、第2期間の最初にあること
も可能である。
In the third embodiment, CK13 and CK18 can be at the beginning of the second period, like CK13 'and CK18' shown in FIG.

前記第3の実施例では(n/2N)−y=64,y=64と等し
い例であったが、これらが異なる場合も第10図に示すタ
イミングにてコントロールすれば同様のことが可能であ
る。すなわちCK13(もしくはCK13′)はCK18=High(ま
たはCK18′=High)なる第1期間(または第2期間)の
最初にy回シフトを行い、前半セクション・レジスタの
前進状態(次セクション・レジスタへの転送状態)時に
yビットの方向転換用データを方向転換レジスタに取り
込み、CK19は第1期間の最後のy回分のシフト動作を後
半セクション・レジスタの前進状態とさせ、第2期間で
はCK12がy回,CK14が((n/2N)−y)回のクロックに
より、前半および後半セクション・レジスタを自己ルー
プ型シフト動作させることにより可能である。
In the third embodiment, (n / 2N) -y = 64 and y = 64 are equal. However, when these are different, the same can be achieved by controlling at the timing shown in FIG. is there. That is, CK13 (or CK13 ') shifts y times at the beginning of the first period (or the second period) when CK18 = High (or CK18' = High), and advances the first half section register (to the next section register). CK19 fetches the y-bit direction change data into the direction change register at the time of (transfer state), CK19 causes the last y shift operations of the first period to advance the second half section register, and CK12 sets y at the second period. This is possible by causing the first half and second half section registers to perform a self-loop-type shift operation using ((n / 2N) -y) clocks.

なお、本発明はタップ数nが奇数の場合やn/2Nが整数
にならない場合にも適用しうる。タップ数nが奇数の場
合には1演算サイクルによる出力bjは、 により求まる。すなわち、中央値a−(n+1)/2に対
してのみ前段加算を省き、他のデータa-1〜a
−(n−1)/2,a−(n+3)/2〜a-nに対して(n−
1)/2回の前段加算を実行して、合計で(n+1)/2回
の乗累算を行うことが必要である。これを実現するため
のデータ記憶装置の一例としては、第4図に示す第3の
実施例において、後半部の最初である第9セクション・
レジスタのみを((n+1)/2N)−1ビットとし、他
セクション・レジスタは全て(n+1)/2Nビットと構
成して、第9セクション・レジスタのシフト動作用クロ
ックCK14′を第10〜第16セクション・レジスタ用のCK14
とは独立にコントロールすることにより実現しうる。す
なわち、CK14′は第1期間では最初の1パルスが無い
((n+1)/2N)−1回パルスであり、第2期間では
{(n+1/2N)−1−y}回のパルスである。なお、転
送手段119は方向転換用レジスタ117の第1〜第yビット
にあるデータを第9セクション・レジスタの第{(n+
1/2N)−1}〜{(n+1/2n)−y}ビットの位置に転
送するように構成される。この構成のデータ記憶装置か
ら出されるデータに関して、演算部では、Q8とQ9に対す
る前段加算を第1期間の最初の1回目のみ行わずにその
ままQ8のデータを乗算器に送るか、もしくはQ8のデータ
とゼロとを加算するなどの手法により、中央値に対する
前段加算を省略できる。
The present invention can be applied to a case where the number of taps n is an odd number or a case where n / 2N is not an integer. If the number of taps n is odd, the output b j in one operation cycle is Is determined by That is, the preceding-stage addition is omitted only for the median a− (n + 1) / 2 , and the other data a −1 to a
− (N−1) / 2 , a− (n + 3) / 2 to a− n , where (n−
1) It is necessary to carry out (n + 1) / 2 times of accumulative accumulation in total by executing the pre-stage addition twice. As an example of a data storage device for realizing this, in the third embodiment shown in FIG.
Only the register has ((n + 1) / 2N) -1 bits, and all other section registers have (n + 1) / 2N bits, so that the shift operation clock CK14 'of the ninth section register is the tenth to sixteenth bits. CK14 for section register
And can be realized by controlling independently. That is, CK14 'has ((n + 1) / 2N) -1 pulses without the first pulse in the first period, and {(n + 1 / 2N) -1-y} pulses in the second period. The transfer means 119 transfers the data in the first to y-th bits of the direction change register 117 to the {(n +
1 / 2N) -1} to {(n + 1 / 2n) -y} bits. Regarding the data output from the data storage device having this configuration, the arithmetic unit sends the data of Q8 to the multiplier without performing the first-stage addition for Q8 and Q9 only in the first time of the first period, or For example, the former-stage addition to the median value can be omitted by a method such as addition of zero and zero.

次に、第3の実施例において、n/2nが整数でない場合
については、nを超え、2Nの倍数となる最小数をn′と
し、このn′をタップ数として第3の実施例のデータ記
憶装置を構成し、両端のa-1〜a−(n′−n)/2,a
−n′〜a−n′+{(n′−n)/2}−1に対する乗
累算を行わないことにより実現される。ここでnを偶数
と考えたが、さらにnが奇数の場合には上記手法と組み
合わせることにより、容易に実現しうることは明白であ
る。
Next, in the third embodiment, when n / 2n is not an integer, the minimum number exceeding n and a multiple of 2N is defined as n ', and n' is used as the number of taps. A storage device is constructed, and a- 1 to a- (n'-n) / 2 , a at both ends are formed.
This is realized by not performing multiplication / accumulation on −n ′ to a− n ′ + {(n′−n) / 2} −1 . Here, n is considered to be an even number, but when n is an odd number, it is clear that it can be easily realized by combining with the above method.

各累算器のビット数は、累算個数が1/2になったこと
により、最大の第8累算器を27ビットとすると、第1累
算器は19ビット程度となる。
Since the number of bits of each accumulator is halved, if the maximum eighth accumulator is 27 bits, the first accumulator is about 19 bits.

以上の各実施例においては、タップ数n=2048とした
ため、最終累算器を使用したが、タップ数を少し減らせ
ば、各乗累算器の余分な演算サイクルを利用して最終累
算を行うことも可能である。
In each of the above embodiments, the final accumulator was used because the number of taps was n = 2048. However, if the number of taps is slightly reduced, the final accumulation is performed using an extra operation cycle of each power accumulator. It is also possible to do.

以上においては、タップ数nを2048としたが、タップ
数がさらに大きな高性能フィルタも、乗累算器個数の増
加により簡単に対応できる。累算器は、例えば4ビット
CLAの組み合わせにより実現できるため、多ビット乗算
器と異なり、ビット数増加によるスピードの遅れはな
い。したがって、より大きなビット語長を採用してダイ
ナミック・レンジを拡大することは容易である。
In the above description, the number of taps n is set to 2048. However, a high-performance filter having a larger number of taps can be easily coped with by increasing the number of multipliers. The accumulator is, for example, 4 bits
Since it can be realized by a combination of CLAs, unlike a multi-bit multiplier, there is no delay in speed due to an increase in the number of bits. Therefore, it is easy to increase the dynamic range by employing a larger bit word length.

[発明の効果] 本発明によれば、特にΔΣ変調などの高オーバーサン
プリングデータに対する高デシメーション比のディジタ
ル・フィルタを実現することが可能である。従来の多ビ
ット乗算器(例えば18ビット×18ビット)が不要である
のでより高速かつ大きなビット語長演算を小規模回路に
て実現でき、さらに、より大きなタップ数の高性能性フ
ィルタを実現することができる。
According to the present invention, it is possible to realize a digital filter having a high decimation ratio for high oversampling data such as Δ 高 modulation. Since a conventional multi-bit multiplier (for example, 18 bits × 18 bits) is not required, a higher speed and larger bit word length operation can be realized by a small-scale circuit, and a high-performance filter having a larger number of taps can be realized. be able to.

またさらに、従来の多段FIR縦続方式での欠点であっ
た、前段フィルタ特性の補正やフィルタ間インターフェ
ースでの有限ビット語長の丸め誤差により性能劣化も除
去することができる。
Further, the performance deterioration due to the correction of the pre-stage filter characteristics and the rounding error of the finite bit word length in the interface between filters, which are disadvantages of the conventional multi-stage FIR cascade system, can be eliminated.

【図面の簡単な説明】[Brief description of the drawings]

第1図〜第10図は本発明の各実施例に関するもので、 第1図は第1の実施例にかかる前段加算を用いずに8個
の演算部にて並列処理を行うフィルタのブロック図、 第2図は前段加算を用いて4個の演算部にて並列処理を
行うフィルタのブロック図、 第3図は2チャンネル分を前段加算を用いて8個の演算
部にて並列処理を行うフィルタのブロック図、 第4図は第3図の実施例におけるデータ記憶部の一方の
チャンネル部分の一例を詳細に示すブロック図、 第5図は第4図に示す一例に適用した各コントロール・
クロック信号のタイミングの一例を示す図、 第6図ないし第9図は第5図の中の各期間におけるデー
タの移動状態を示す図、 第10図は{(n/2N)−y}とyが等しくない場合に本発
明を適用した場合のタイミングの一例を示す図、 第11図はディジタル・フィルタの構成を示す図、 第12A図は3段のFIRフィルタ縦続により構成したデシメ
ーション比が1/64のディジタルフィルタの概略構成図、 第12B図は同フィルタにおける各段のフィルタ特性を示
す図、 第12C図は同フィルタの実際の構成を示すブロック図、 第13図はFIRフィルタのフイルタ係数wi、すなわち単位
インパルス応答を概略手に示す図、 第14図は1/64デシメーション用のフィルタ特性の一例を
示す図である。 21……入力データ記憶部、 22……係数データ記憶部、 23〜30……第1〜第8乗累算器、 23−a……1×nビット乗算器、 23−b……累算器、 31……最終累算器。
FIGS. 1 to 10 relate to each embodiment of the present invention. FIG. 1 is a block diagram of a filter according to the first embodiment which performs parallel processing in eight arithmetic units without using pre-stage addition. FIG. 2 is a block diagram of a filter for performing parallel processing in four operation units using pre-stage addition, and FIG. 3 is a diagram illustrating parallel processing in eight operation units for two channels using pre-stage addition. FIG. 4 is a block diagram showing an example of one channel portion of the data storage section in the embodiment of FIG. 3 in detail, and FIG. 5 is a block diagram showing each control applied to the example shown in FIG.
FIGS. 6 to 9 show an example of the timing of the clock signal, FIGS. 6 to 9 show the data movement states in each period in FIG. 5, and FIG. 10 shows {(n / 2N) -y} and y. FIG. 11 is a diagram showing an example of the timing when the present invention is applied when is not equal, FIG. 11 is a diagram showing the configuration of a digital filter, and FIG. 12A is a diagram showing a decimation ratio of 1 / FIG. 12B is a diagram showing the filter characteristics of each stage in the filter, FIG. 12C is a block diagram showing the actual configuration of the filter, and FIG. 13 is a filter coefficient w of the FIR filter. i , that is, a diagram schematically showing a unit impulse response, and FIG. 14 is a diagram showing an example of a filter characteristic for 1/64 decimation. 21: input data storage unit, 22: coefficient data storage unit, 23 to 30: first to eighth power accumulators, 23-a: 1 × n bit multiplier, 23-b: accumulation Container, 31 ... The final accumulator.

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−278411(JP,A) 特開 昭63−84313(JP,A) 特開 平1−233909(JP,A) 特開 昭61−288613(JP,A) 特開 昭61−277216(JP,A) 特開 昭59−22166(JP,A) 実開 昭59−166516(JP,U) (58)調査した分野(Int.Cl.7,DB名) H03H 17/00 - 17/08 ──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-63-278411 (JP, A) JP-A-63-84313 (JP, A) JP-A-1-233909 (JP, A) JP-A-61-1983 288613 (JP, A) JP-A-61-277216 (JP, A) JP-A-59-22166 (JP, A) JP-A-59-166516 (JP, U) (58) Fields investigated (Int. 7 , DB name) H03H 17/00-17/08

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】nワードの入力データを演算して1ワード
の出力データを出力するディジタル・フィルタにおい
て、 n/2N(N≧2)ワードのデータ列からなり、それぞれデ
ータ列の最後部から最前列にデータを転送させる自己ル
ープを有する2N個のシフトレジスタと、 N個の係数データ記憶部と、 前記シフトレジスタからのデータのうち同じ係数をかけ
る2つのデータを加算するN個の加算手段と、 前記加算手段からの加算結果のデータと前記係数データ
記憶部からの係数データとで演算するN個の演算部と、 前記N個の演算部の出力を累算し、前記1ワードの出力
データを出力する累算部と、 を具えたことを特徴とするディジタル・フィルタ。
1. A digital filter for calculating input data of n words and outputting output data of one word comprises a data string of n / 2N (N.gtoreq.2) words, wherein 2N shift registers having a self-loop for transferring data to the front row; N coefficient data storage units; and N addition means for adding two data multiplied by the same coefficient among the data from the shift registers. An N number of operation units that operate on data of the addition result from the addition unit and coefficient data from the coefficient data storage unit, and accumulate the outputs of the N number of operation units, and output the one-word output data. A digital filter, comprising: an accumulating unit that outputs.
【請求項2】特許請求の範囲第1項記載のディジタル・
フィルタにおいて、フィルタ係数の大きさに応じて前記
係数データ記憶部のビット数および前記演算部のビット
数の大きさが異なることを特徴とするディジタル・フィ
ルタ。
2. The digital communication device according to claim 1,
A digital filter, wherein the number of bits in the coefficient data storage unit and the number of bits in the arithmetic unit differ depending on the size of a filter coefficient.
JP02022213A 1990-02-02 1990-02-02 Digital filter Expired - Lifetime JP3095395B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02022213A JP3095395B2 (en) 1990-02-02 1990-02-02 Digital filter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02022213A JP3095395B2 (en) 1990-02-02 1990-02-02 Digital filter

Publications (2)

Publication Number Publication Date
JPH03228422A JPH03228422A (en) 1991-10-09
JP3095395B2 true JP3095395B2 (en) 2000-10-03

Family

ID=12076525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02022213A Expired - Lifetime JP3095395B2 (en) 1990-02-02 1990-02-02 Digital filter

Country Status (1)

Country Link
JP (1) JP3095395B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3584027B2 (en) 2002-03-12 2004-11-04 沖電気工業株式会社 Digital filter
JP4643939B2 (en) * 2004-07-26 2011-03-02 株式会社アドバンテスト Thinning filter and test device
JP2022115280A (en) * 2021-01-28 2022-08-09 Necプラットフォームズ株式会社 Analog-digital conversion circuit, analog-digital conversion device, analog-digital conversion method, and program

Also Published As

Publication number Publication date
JPH03228422A (en) 1991-10-09

Similar Documents

Publication Publication Date Title
US5212659A (en) Low precision finite impulse response filter for digital interpolation
US6057793A (en) Digital decimation filter and method for achieving fractional data rate reduction with minimal hardware or software overhead
US5696708A (en) Digital filter with decimated frequency response
US4344149A (en) Decimation, linear phase, digital FIR filter
US6260053B1 (en) Efficient and scalable FIR filter architecture for decimation
US6487573B1 (en) Multi-rate digital filter for audio sample-rate conversion
US5732004A (en) DSP architecture for a FIR-type filter and method
EP0476215B1 (en) Multi-channel decimator
JPH0340972B2 (en)
JP7344365B2 (en) Interpolation filter system realized by digital circuit
US7492848B2 (en) Method and apparatus for efficient multi-stage FIR filters
JPH0235493B2 (en)
US4796004A (en) Integrated analog-to-digital converter
US4860012A (en) Integrated analog-to-digital converter
US6000834A (en) Audio sampling rate conversion filter
US6408318B1 (en) Multiple stage decimation filter
JP3095395B2 (en) Digital filter
EP0531604B1 (en) Digital sigma-delta modulator
Saramaki et al. An efficient approach for conversion between arbitrary sampling frequencies
JP3042125B2 (en) Decimation filter
JPH10509011A (en) Improved digital filter
KR100789892B1 (en) Analog filter
JP2911515B2 (en) A / D converter
Brandt et al. A versatile, efficient digital filter for decimation and interpolation
JP3095394B2 (en) Data storage device

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080804

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080804

Year of fee payment: 8

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080804

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090804

Year of fee payment: 9

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090804

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100804

Year of fee payment: 10

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100804

Year of fee payment: 10