Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3130631B2 - Digital signal processor - Google Patents
[go: Go Back, main page]

JP3130631B2 - Digital signal processor - Google Patents

Digital signal processor

Info

Publication number
JP3130631B2
JP3130631B2 JP04077588A JP7758892A JP3130631B2 JP 3130631 B2 JP3130631 B2 JP 3130631B2 JP 04077588 A JP04077588 A JP 04077588A JP 7758892 A JP7758892 A JP 7758892A JP 3130631 B2 JP3130631 B2 JP 3130631B2
Authority
JP
Japan
Prior art keywords
ram
counter
data
address
rom
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
Application number
JP04077588A
Other languages
Japanese (ja)
Other versions
JPH0594467A (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 JP04077588A priority Critical patent/JP3130631B2/en
Publication of JPH0594467A publication Critical patent/JPH0594467A/en
Application granted granted Critical
Publication of JP3130631B2 publication Critical patent/JP3130631B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、演算装置およびFIR
フィルタなどのディジタル信号処理装置に利用され、特
に、係数の対称な多項式の計算手段を含むディジタル信
号処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an arithmetic unit and an FIR
The present invention relates to a digital signal processing device used for a digital signal processing device such as a filter, and particularly includes a calculating means for a polynomial having symmetric coefficients.

【0002】[0002]

【従来の技術】図10はかかる従来のディジタル信号処
理装置として演算装置の一例の要部を示すブロック構成
図で、乗算器104、加算器105、セレクタ114、
シフトレジスタ115、ROM(リードオンリーメモ
リ)107、およびROMアドレスコントローラ106
を備えている。
2. Description of the Related Art FIG. 10 is a block diagram showing an essential part of an example of an arithmetic unit as such a conventional digital signal processing apparatus. A multiplier 104, an adder 105, a selector 114,
Shift register 115, ROM (read only memory) 107, and ROM address controller 106
It has.

【0003】次に、この従来例の動作について説明す
る。
Next, the operation of this conventional example will be described.

【0004】シフトレジスタ115に蓄積された入力デ
ータ121は、セレクタ114によりシフトレジスタ1
15から順にデータを呼び出され、一方、ROMアドレ
スコントローラ106で設定したアドレスでROM10
7から順に係数が呼び出され、それぞれ呼び出されたデ
ータと係数とを乗算器104で掛け合わせ、その結果を
加算器105で足し込み結果を出力した後、シフトレジ
スタ115のデータをシフトさせ一番古いデータを捨て
新しいデータを取り込み、これを繰り返し実行する。
The input data 121 stored in the shift register 115 is supplied to the shift register 1 by the selector 114.
The data is called up sequentially from the address 15, while the ROM 10 is read at the address set by the ROM address controller 106.
The coefficients are called in order from 7, and the called data and the coefficient are multiplied by the multiplier 104, the result is added by the adder 105, and the result is outputted. Then, the data in the shift register 115 is shifted and the oldest data is shifted. Discard the data, import new data, and repeat this.

【0005】例えば、演算 ×1=k1a +k2b +k3c +k4d +k4e +k3f +k2g +k1h …(1) ×2=k1b +k2c +k3d +k4e +k4f +k3g +k2h +k1i …(2) ×3=k1c +k2d +k3e +k4f +k4g +k3h +k2i +k1j …(3) を行うときは、図11(a) に示すように、シフトレジス
タ115に蓄えられているデータ(a、b 、c 、…、h)を
セレクタ114でまずデータaを読み出し、またROM
アドレスコントローラ106で設定したアドレスでRO
M107に格納されている係数k1を読み出し、それぞ
れ読み出したデータを乗算器104で掛け合わせ、k1
×aを実行し、その結果を加算器105に入力する。
[0005] For example, calculation × 1 = k1a + k2b + k3c + k4d + k4e + k3f + k2g + k1h ... (1) × 2 = k1b + k2c + k3d + k4e + k4f + k3g + k2h + k1i ... (2) × 3 = k1c + k2d + k3e + k4f + k4g + k3h + k2i + k1j ... (3 )), Data (a, b, c,..., H) stored in the shift register 115 is first read out by the selector 114 as shown in FIG.
RO with the address set by the address controller 106
The coefficient k1 stored in M107 is read, and the read data is multiplied by the multiplier 104 to obtain k1.
× a is executed, and the result is input to the adder 105.

【0006】次に、セレクタ114でシフトレジスタ1
15からデータbを読み出し、ROM107から係数k
2を読み出し、乗算器104でk2×bを実行し、その
結果を加算器105に足し込むことにより前回のデータ
に加算したk1a+k2bを実行する。その後、セレク
タ114でデータc 、d 、…、h と順に選び、最終的
に、 k1a +k2b +k3c +k4d +k4e +k3f +k2g +k1h を実行しx1として出力する。
Next, the shift register 1 is
15 is read out from the memory 107, and the coefficient k is read out from the ROM 107.
2 is read, k2 × b is executed by the multiplier 104, and the result is added to the adder 105 to execute k1a + k2b added to the previous data. Thereafter, the selector 114 selects data c, d,..., H in this order, and finally executes k1a + k2b + k3c + k4d + k4e + k3f + k2g + k1h and outputs it as x1.

【0007】次に、図11(b) に示すように、シフトレ
ジスタ115のデータをシフトさせ、一番古いデータa
を捨て新しいデータiを取り込み、再びセレクタ114
によりデータb 、c 、d 、…、i を順に読み出し、 k1b +k2c +k3d +k4e +k4f +k3g +k2h +k1i を実行しx2を出力する。
Next, as shown in FIG. 11B, the data in the shift register 115 is shifted to
Is discarded, new data i is fetched, and the selector 114
, I are sequentially read, and the following are executed: k1b + k2c + k3d + k4e + k4f + k3g + k2h + k1i, and x2 is output.

【0008】次に、同様に図11(c) に示すように、シ
フトレジスタ115のデータを再びシフトさせ、一番古
いデータbを捨て新しいデータjを取り込み、再びセレ
タク114によりデータc 、d 、e 、…、j を順に読み
出し、 k1c +k2d +k3e +k4f +k4g +k3h +k2i +k1j を実行しx3を出力する。
Next, similarly, as shown in FIG. 11C, the data in the shift register 115 is shifted again, the oldest data b is discarded, new data j is fetched, and the data c, d,. e,..., j are read out in order, and k1c + k2d + k3e + k4f + k4g + k3h + k2i + k1j are executed, and x3 is output.

【0009】図12は従来のディジタル信号処理装置の
他の例としてFIRフィルタ回路の要部を示すブロック
構成図で、RAMアドレスコントローラ201、RAM
(1)201a、RAM(2)201b、加算器20
3、乗算器204、加算器205、ROMアドレスコン
トローラ206、ROM207、累算器214、および
レジスタ(TR)215を備えている。
FIG. 12 is a block diagram showing a main part of an FIR filter circuit as another example of a conventional digital signal processing apparatus.
(1) 201a, RAM (2) 201b, adder 20
3, a multiplier 204, an adder 205, a ROM address controller 206, a ROM 207, an accumulator 214, and a register (TR) 215.

【0010】次に、この従来例の動作について説明す
る。
Next, the operation of this conventional example will be described.

【0011】RAM(1)201aには入力データ12
1の内、新しいデータ半分が記憶されており、RAM
(2)201bには、古いデータ半分が記憶されてい
る。このとき、FIRフィルタのフィルタ係数が中心を
境に対称に並んでいるので、RAM(1)201aは最
も新しいデータから順次読み出し、RAM(2)201
bは最も古いデータから順次読み出すことにより同一係
数を有するデータを読み出せる。順次読み出されたデー
タは加算器203で順次加算される。順次読み出され加
算されたデータと前記同一係数に対応するフィルタ係数
をROM207から順次読み出し乗算器204により乗
算を行う。乗算器204から順次出力される乗算結果を
加算器205にて順次加算し、RAM(1)201aと
RAM(2)201bのデータが全て読み出され前述の
処理をへて加算器205にて加算を終了すると1回目の
フィルタ演算出力を得ることができる。このとき、新し
いデータ半分が記憶されているRAM(1)201aか
らの最後に読み出されたデータは加算器203にて加算
されると同時にレジスタ(TR)215に記憶される。
The input data 12 is stored in the RAM (1) 201a.
One half of the new data is stored in RAM
(2) Half of old data is stored in 201b. At this time, since the filter coefficients of the FIR filter are arranged symmetrically with respect to the center, the RAM (1) 201a sequentially reads out the newest data, and
As for b, data having the same coefficient can be read by sequentially reading from the oldest data. The sequentially read data is sequentially added by the adder 203. The sequentially read and added data and the filter coefficient corresponding to the same coefficient are sequentially read from the ROM 207 and multiplied by the multiplier 204. The multiplication results sequentially output from the multiplier 204 are sequentially added by the adder 205, and all the data in the RAM (1) 201 a and the RAM (2) 201 b are read out. Is completed, the first filter operation output can be obtained. At this time, the last read data from the RAM (1) 201a storing the new data half is added by the adder 203 and stored in the register (TR) 215 at the same time.

【0012】次に、2回目のFIRフィルタ演算の出力
を得るために入力されるデータはRAM(1)201a
のデータの中で一番古いデータが書き込まれているアド
レスに上書きされると同時に、RAM(2)201bか
ら読み出されたRAM(2)201bのデータの中で2
番目に古いデータと加算器203にて加算される。加算
器203はRAM(1)201aから新しいデータ順に
読み出されてくるデータとRAM(2)201bから古
いデータ順に読み出されてくるデータとを順次加算し出
力する。乗算器204では加算器203から出力された
データと、ROM207から1回目の出力を得たときと
同じ順番で読み出されるフィルタ係数との乗算を順次行
う。この乗算結果を最初の出力データを得るときと同様
に加算器205で順次加算し出力を得る。
Next, data input to obtain the output of the second FIR filter operation is stored in the RAM (1) 201a.
Of the data of the RAM (2) 201b read from the RAM (2) 201b at the same time as overwriting the address where the oldest data is written in the data of the RAM (2) 201b.
The second oldest data is added by the adder 203. The adder 203 sequentially adds the data read from the RAM (1) 201a in the new data order and the data read from the RAM (2) 201b in the old data order, and outputs the result. The multiplier 204 sequentially multiplies the data output from the adder 203 by filter coefficients read in the same order as when the first output was obtained from the ROM 207. The multiplication results are sequentially added by the adder 205 in the same manner as when the first output data is obtained, and an output is obtained.

【0013】ところが、RAM(1)201aから最後
のデータが読み出されてくるとき、RAM(2)201
bは2番目に古いデータから読み出しているので読み出
すデータが無くなってしまう。しかし、最初の出力デー
タを得るときにレジスタ(TR)215にRAM(2)
201bより読み出すデータが記憶されているのでこの
データを読み出し加算器203で加算する。同時にレジ
スタ(TR)215から読み出されたデータはRAM
(2)201bの中で最も古いデータが書き込まれてい
るアドレスに上書きされる。また、レジスタ(TR)2
15は3番目の出力を得るときのためにRAM(1)2
01aから読み出されたデータを新たに記憶する。
However, when the last data is read from the RAM (1) 201a, the RAM (2) 201a
Since b is read from the second oldest data, there is no data to be read. However, when the first output data is obtained, RAM (2) is stored in the register (TR) 215.
Since the data to be read from 201b is stored, this data is read and added by the adder 203. The data read from the register (TR) 215 at the same time
(2) The address in which the oldest data in 201b is written is overwritten. The register (TR) 2
15 is the RAM (1) 2 for when the third output is obtained.
01a is newly stored.

【0014】図13(a)、(b)および(c)は前述
の処理におけるRAM(1)201a、RAM(2)2
01b、ROM207、およびレジスタ(TR)215
のデータマップを示す説明図で、同図(a)は初期状
態、同図(b)はXn が入力されたときの状態、および
同図(c)はXn+1 が入力されたときの状態を示し、矢
印はアドレスの動きを示す。
FIGS. 13A, 13B and 13C show the RAM (1) 201a and the RAM (2) 2 in the above-described processing.
01b, ROM 207, and register (TR) 215
7A is an initial state, FIG. 7B is a state when Xn is input, and FIG. 7C is a state when Xn + 1 is input. , And the arrow indicates the movement of the address.

【0015】従来、FIRフィルタ演算を高速に行う方
法としてデータを一時記憶するレジスタを用いた前述の
ような手段が採られていた。しかし、昨今オーバサンプ
リング技術が普及するに連れ高いサンプリングレートの
データを1/2N の低いサンプリングレートのデータに
変換するデシメーションフィルタをディジタル信号処理
装置で実現する必要がでてきた。このデシメーションフ
ィルタも係数が中心を境に対称なFIRフィルタを用い
るケースが多く前述したようなフィルタ演算を高速に行
う手段を用いることが有効である。デシメーションフィ
ルタは高いサンプリングレートで入力されたデータを1
/Nの低いサンプリングレートのデータとして出力を得
る。このため入力されるデータN回に1回しか出力を得
るためのFIR演算を行う必要がない。入力と出力が同
じレートである通常のFIRフィルタでは、1回の出力
を得るために書き換えられるデータは1個だけである。
しかし、入力レートの1/Nのレートで出力レートが得
られるデシメーションフィルタは1回の出力を得るため
に書き換えられるデータがN個である。このため、RA
M(1)201aからRAM(2)201bに転送され
るデータもN個になり、データを一時記憶するレジスタ
(TR)215もN個必要となってしまう。このため、
従来の方法でフィルタ演算を行ったのでは、RAM
(1)201aからRAM(2)201bへデータの転
送を行うレジスタが複数個必要となり回路規模の大きな
回路となってしまう。
Conventionally, as a method of performing the FIR filter operation at high speed, the above-described means using a register for temporarily storing data has been adopted. However, as the oversampling technique has been widely used recently, it has become necessary to implement a decimation filter for converting data having a high sampling rate into data having a low sampling rate of 1/2 N by a digital signal processing device. In many cases, the decimation filter also uses an FIR filter whose coefficient is symmetrical with respect to the center, and it is effective to use means for performing the above-described filter operation at high speed. The decimation filter converts data input at a high sampling rate to 1
The output is obtained as data having a low sampling rate of / N. Therefore, it is not necessary to perform the FIR operation for obtaining the output only once every N times of the input data. In a normal FIR filter in which the input and the output have the same rate, only one piece of data can be rewritten to obtain one output.
However, in a decimation filter capable of obtaining an output rate at a rate of 1 / N of the input rate, N pieces of data are rewritten in order to obtain one output. For this reason, RA
The number of data transferred from the M (1) 201a to the RAM (2) 201b is also N, and N registers (TR) 215 for temporarily storing data are required. For this reason,
If the filter operation is performed by the conventional method, the RAM
(1) A plurality of registers for transferring data from the RAM 201 (2) to the RAM (2) 201b are required, resulting in a large circuit.

【0016】[0016]

【発明が解決しようとする課題】前述した従来のディジ
タル信号処理装置においては、例えば、従来の演算装置
では、係数が中心を境にして対称的に並んでいる演算を
行う場合、同じ値の係数でそれぞれの乗算処理を行うこ
とは余分なステップを要し、演算処理時間に無駄があり
処理速度が遅くなる欠点があった。
In the above-mentioned conventional digital signal processing apparatus, for example, in the conventional arithmetic unit, when performing calculations in which coefficients are arranged symmetrically with respect to the center, coefficients having the same value are used. Performing each of the multiplication processes requires an extra step, and has a disadvantage that the operation processing time is wasted and the processing speed is reduced.

【0017】また、従来のFIRフィルタにおいては、
必ずRAM(1)からRAM(2)へのデータ転送を行
うデータを一時記憶するためのレジスタ(TR)が必要
であるため、オーバサンプリング技術に用いられるデシ
メーションフィルタを実現するような場合、複数個のレ
ジスタ(TR)が必要となり回路規模が大きくなる欠点
があった。
In the conventional FIR filter,
Since a register (TR) for temporarily storing data to be transferred from the RAM (1) to the RAM (2) is required, a plurality of registers may be used to implement a decimation filter used in the oversampling technique. However, there is a disadvantage that the register (TR) is required and the circuit scale becomes large.

【0018】本発明の目的は、前記の欠点を除去するこ
とにより、係数が対象的に並んでいる演算を行う場合、
同じ値の係数での無駄な演算処理時間を無くし、処理速
度の向上を図るとともに、FIRフィルタ演算をレジス
タ(TR)を必要とせず回路規模を小さくできるディジ
タル信号処理装置を提供することにある。
An object of the present invention is to eliminate the above-mentioned drawbacks and to perform an operation in which coefficients are symmetrically arranged.
It is an object of the present invention to provide a digital signal processing device that eliminates useless calculation processing time with the same value of coefficient, improves processing speed, and can reduce the circuit scale without requiring a register (TR) for FIR filter calculation.

【0019】[0019]

【課題を解決するための手段】本発明は、多項式で表さ
れた演算式の各項の係数を記憶するROMと、このRO
Mから読み出される係数のアドレスを制御するROMア
ドレスコントローラと、入力データと前記ROMから読
み出された係数との乗算を行う乗算器と、この乗算器か
ら出力される乗算結果を順次加算し出力データを出力す
る第一の加算器とを備えたディジタル信号処理装置にお
いて、前記演算式はその係数が中心を境にして対称的に
並んでいる演算式であり、前記入力データを同一係数を
有するデータごとに加算して前記乗算器に対して出力す
る入力データ処理手段を備えたことを特徴とする。
According to the present invention, there is provided a ROM for storing a coefficient of each term of an arithmetic expression represented by a polynomial, and a ROM storing the ROM.
A ROM address controller for controlling the address of a coefficient read from M, a multiplier for multiplying input data by a coefficient read from the ROM, and a multiplication result output from the multiplier sequentially added to output data And a first adder for outputting the input data, wherein the arithmetic expression is an arithmetic expression whose coefficients are arranged symmetrically around a center, and the input data is a data having the same coefficient. And input data processing means for adding the data to the multiplier and outputting the result to the multiplier.

【0020】また、本発明の参考例は、前記入力データ
処理手段は、入力データを同一係数を有するデータごと
に対応するアドレスに格納するRAMと、このRAMの
アドレスを制御するのRAMアドレスコントローラと、
このRAMアドレスコントローラが設定するアドレスの
データを読み出し加算を行い加算結果を前記乗算器に対
して出力する第二の加算器とを含むことができる。
In a reference example of the present invention, the input data processing means includes a RAM for storing input data at an address corresponding to each data having the same coefficient, and a RAM address controller for controlling an address of the RAM. ,
And a second adder for reading and adding data at the address set by the RAM address controller and outputting the addition result to the multiplier.

【0021】また、本発明の参考例は、前記RAMアド
レスコントローラは、係数の個数分カウントするアップ
カウンタおよびダウンカウンタと、係数の個数分のカウ
ントを行い前記アップカウンタおよび前記ダウンカウン
タを制御する制御カウンタおよびセレクタと、この制御
カウンタの制御により前記アップカウンタと前記ダウン
カウンタの値を交換し前記RAMの読み出しアドレスと
して出力する交換器とを含むことができる。
Further, according to a reference example of the present invention, the RAM address controller includes an up counter and a down counter for counting the number of coefficients, and a control for counting the number of coefficients and controlling the up counter and the down counter. It can include a counter and a selector, and an exchange for exchanging the values of the up counter and the down counter under the control of the control counter and outputting the same as a read address of the RAM.

【0022】また、本発明は、前記ROMは前記演算式
の対称的に並んでいる係数の半分を記憶する構成であ
り、前記入力データ処理手段は、入力データを交互にそ
れぞれ記憶する第一および第二のRAMと、この第一お
よび第二のRAMのアドレスを制御するRAMアドレス
コントローラと、このRAMアドレスコントローラが設
定するアドレスの前記第一および第二のRAMのデータ
を読み出し加算を行い加算結果を前記乗算器に対して出
力する第二の加算器とを含むことができる。
Further, according to the present invention, the ROM stores half of the symmetrically arranged coefficients of the arithmetic expression, and the input data processing means stores first and second input data alternately. A second RAM, a RAM address controller for controlling the addresses of the first and second RAMs, and reading and adding the data of the first and second RAMs at the address set by the RAM address controller; And a second adder for outputting to the multiplier.

【0023】また、本発明は、前記ROMは前記演算式
の対称的に並んでいる係数の半分を記憶する構成であ
り、前記入力データ処理手段は、入力データをN個(N
は2以上の自然数)ごとに交互にそれぞれ記憶する第一
および第二のRAMと、この第一および第二のRAM
と、この第一および第二のRAMのアドレスを制御する
RAMアドレスコントローラと、このRAMアドレスコ
ントローラが設定するアドレスの前記第一および第二の
RAMのデータを読み出し加算を行い加算結果を前記乗
算器に対して出力する第二の加算器とを含むことができ
る。
Also, in the present invention, the ROM stores half of the symmetrically arranged coefficients of the arithmetic expression, and the input data processing means stores N input data (N
Are alternately stored for each of two or more natural numbers), and the first and second RAMs
And control the addresses of the first and second RAMs
A RAM address controller; and a second adder that reads and adds the data of the first and second RAMs at the address set by the RAM address controller, and outputs the addition result to the multiplier. it can.

【0024】また、本発明は、前記RAMアドレスコン
トローラは、係数の個数分カウントするアップカウンタ
およびダウンカウンタと、係数の個数分のカウントを行
い前記アップカウンタおよび前記ダウンカウンタを制御
する制御カウンタおよびセレクタと、この制御カウンタ
の制御により前記アップカウンタと前記ダウンカウンタ
の値を交換し前記第一および第二のRAMの読み出しア
ドレスとして出力する交換器とを含むことができる。
Further, according to the present invention, the RAM address controller includes an up counter and a down counter for counting the number of coefficients, and a control counter and a selector for counting the number of coefficients and controlling the up counter and the down counter. And an exchange for exchanging the values of the up counter and the down counter under the control of the control counter and outputting the same as read addresses of the first and second RAMs.

【0025】[0025]

【作用】入力データ処理手段は、入力データを同一係数
を有するデータごとに加算して乗算器に対して出力し、
乗算器はこの入力データに対する係数をROMから読み
出して乗算を行う。
The input data processing means adds the input data for each data having the same coefficient and outputs the result to the multiplier.
The multiplier reads the coefficient corresponding to the input data from the ROM and performs multiplication.

【0026】従って、係数の同じ入力データに対して
は、まとめて一回乗算を行うだけでよくなり、演算処理
速度を速めることが可能となる。
Therefore, it is only necessary to perform multiplication once for input data having the same coefficient, and the arithmetic processing speed can be increased.

【0027】また、入力データ処理手段は入力データを
同一係数ごとに対応させて格納するRAMと、そのアド
レスを制御するRAMアドレスコントローラと、RAM
から読み出された同一係数の入力データを加算して乗算
器に対して出力する加算器とを含み構成することができ
る。
The input data processing means includes a RAM for storing input data in correspondence with each same coefficient, a RAM address controller for controlling the address, and a RAM.
And an adder for adding input data of the same coefficient read from the adder and outputting the result to the multiplier.

【0028】なお、RAMとして、入力データを1個ご
とまたはN個ごとに交互に記憶する第一および第二のR
AMを設けることにより、例えばFIRフィルタ演算に
おいて、第一および第二のRAM間でのデータのシフト
回路が必要でなくなり、回路規模を小さくすることが可
能となる。
As a RAM, first and second Rs for alternately storing input data one by one or every N pieces of data are stored.
By providing the AM, for example, in a FIR filter operation, a data shift circuit between the first and second RAMs is not required, and the circuit scale can be reduced.

【0029】そして、RAMアドレスコントローラは、
係数の数だけカウントするアップカウンタおよびダウン
カウンタと、このアップカウンタおよびダウンカウンタ
を制御する制御カウンタおよびセレクタと、制御カウン
タの制御によりアップカウンタの値とダウンカウンタの
値とを交換してアドレスとして出力する交換器とを含み
構成することができる。
Then, the RAM address controller:
Up-counter and down-counter that counts by the number of coefficients, control counter and selector that controls the up-counter and down-counter, and exchanges the value of the up-counter and the value of the down-counter under control of the control counter to output as an address And a changer.

【0030】[0030]

【実施例】以下、本発明の実施例について図面を参照し
て説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0031】図1は本発明の参考例の要部を示すブロッ
ク構成図で演算装置を示す。また図2はそのRAMアド
レスコントローラの一例を示すブロック構成図である。
FIG. 1 is a block diagram showing an essential part of a reference example of the present invention, and shows an arithmetic unit. FIG. 2 is a block diagram showing an example of the RAM address controller.

【0032】本参考例は、多項式で表された演算式の各
項の係数を記憶するROM107と、このROM107
から読み出される係数のアドレスを制御するROMアド
レスコントローラ106と、入力データ121とROM
107から読み出された係数との乗算を行う乗算器10
4と、この乗算器104から出力される乗算結果を順次
加算し出力データ122を出力する第一の加算器105
とを備えたディジタル信号処理装置において、本発明の
特徴とするところの、前記演算式はその係数が中心を境
にして対称的に並んでいる演算式であり、入力データ1
21を同一係数を有するデータごとに加算して乗算器1
04に対して出力する入力データ処理手段としての、入
力データ121を同一係数を有するデータごとに対応す
るアドレスに格納するRAM(ランダムアクセスメモ
リ)102と、このRAM102のアドレスを制御する
RAMアドレスコントローラ101と、このRAMアド
レスコントローラ101が設定するアドレスのデータを
読み出し加算を行い加算結果を乗算器104に対して出
力する第二の加算器103とを備えている。
The present embodiment includes a ROM107 that stores the coefficients of the terms of an arithmetic expression represented by a polynomial, the ROM107
ROM address controller 106 for controlling the address of a coefficient read from
Multiplier 10 that performs multiplication with the coefficient read from 107
4 and a first adder 105 that sequentially adds the multiplication results output from the multiplier 104 and outputs output data 122.
In the digital signal processing device provided with the above, the arithmetic expression, which is a feature of the present invention, is an arithmetic expression whose coefficients are arranged symmetrically with respect to the center, and the input data 1
21 for each data having the same coefficient.
A RAM (random access memory) 102 serving as input data processing means for outputting data to the RAM 04 at an address corresponding to each piece of data having the same coefficient, and a RAM address controller 101 controlling an address of the RAM 102 And a second adder 103 for reading and adding data at an address set by the RAM address controller 101 and outputting the addition result to the multiplier 104.

【0033】そして、RAMアドレスコントローラ10
1は、係数の個数分カウントするアップカウンタ110
およびダウンカウンタ111と、係数の個数分のカウン
トを行いアップカウンタ110およびダウンカウンタ1
11を制御する制御カウンタ108およびセレクタ10
9と、この制御カウンタ108の制御によりアップカウ
ンタ110とダウンカウンタ111の値を交換しRAM
102の読み出しアドレスとして出力する交換器113
と、ダウンカウンタ111の出力と所定の定数とを加算
して交換器103に入力する加算器112とを含んでい
る。
Then, the RAM address controller 10
1 is an up counter 110 that counts the number of coefficients.
And the down counter 111 counts the number of coefficients, and the up counter 110 and the down counter 1
Control counter 108 and selector 10 for controlling
9 and the values of the up counter 110 and the down counter 111 are exchanged by the control of the control
Exchanger 113 which outputs as a read address of 102
And an adder 112 that adds the output of the down counter 111 and a predetermined constant and inputs the result to the exchanger 103.

【0034】次に、本参考例の動作について、前述の従
来例で取り上げた下記具体例に適用した場合を図3(a)
、(b) および(c) に示すRAM動作説明図を参照して
説明する。
Next, the operation of the present embodiment, the case 3 which are applied to the following specific examples discussed in the aforementioned conventional example (a)
, (B) and (c).

【0035】 ×1=k1a +k2b +k3c +k4d +k4e +k3f +k2g +k1h …(1) ×2=k1b +k2c +k3d +k4e +k4f +k3g +k2h +k1i …(2) ×3=k1c +k2d +k3e +k4f +k4g +k3h +k2i +k1j …(3) : : : の演算において、式(1) の計算を行うときのRAM10
2の中は図3(a) の状態になっている。最も古いデータ
が入っていた00番地に、いま、一番新しいデータhが
書き込まれると同時にデータhは加算器103にも入力
される。そして同時に13番地のaが読まれ加算器10
3に入力される。データaとhは足され乗算器104に
送られ、一方、ROM107に記憶されている係数k1
が読まれ乗算器104に入力される。乗算器104では
k1(a+h)が実行され、そしてk1(a+h)が加
算器105に入力保持される。次に、図3(a) に示すR
AM102内01番地のfと12番地のcを読み(c+
f)を実行し、ROM107から係数k3を読みk3
(c+f)を実行、加算器105でk1(a+h)+k
3(c+f)を実行する。RAMアドレスコントローラ
101でRAM102の一方のアドレスを00→01→
02→03と動かし、他方のアドレスを13→12→1
1→10と動かすことで、 k1(a+h)+k3(c+f)+k4(d+e)+k2(b+g) が実行される。
[0035] × 1 = k1a + k2b + k3c + k4d + k4e + k3f + k2g + k1h ... (1) × 2 = k1b + k2c + k3d + k4e + k4f + k3g + k2h + k1i ... (2) × 3 = k1c + k2d + k3e + k4f + k4g + k3h + k2i + k1j ... (3):: : RAM 10 when calculating equation (1) in the calculation of
2 is in the state of FIG. 3 (a). At the address 00 containing the oldest data, the newest data h is now written, and at the same time the data h is also input to the adder 103. At the same time, the address 13 is read and the adder 10
3 is input. The data a and h are added and sent to the multiplier 104, while the coefficient k1 stored in the ROM 107 is added.
Is read and input to the multiplier 104. In the multiplier 104, k1 (a + h) is executed, and k1 (a + h) is input and held in the adder 105. Next, R shown in FIG.
Read f at address 01 and c at address 12 in AM 102 (c +
f) is executed, the coefficient k3 is read from the ROM 107, and k3
Execute (c + f), and adder 105 calculates k1 (a + h) + k
Execute 3 (c + f). The RAM address controller 101 changes one address of the RAM 102 from 00 → 01 →
Move 02 → 03 and change the other address to 13 → 12 → 1
By moving from 1 to 10, k1 (a + h) + k3 (c + f) + k4 (d + e) + k2 (b + g) is executed.

【0036】次に、RAM102には図3(b) のよう
に、一番古いデータaのあった13番地に新しいデータ
iが書き込まれると同時に加算器103に送られ、一
方、03番地のデータbが読まれ加算される。前回同様
の手順を行うことで、 k1(b+i)+k2(c+h)+k4(e+f)+k3(d+g) が演算される。このときのアドレスは一方は13→12
→11→10、他方は03→00→01→02のように
動く。
Next, as shown in FIG. 3 (b), new data i is written into the RAM 102 at the address 13 where the oldest data a was located, and is sent to the adder 103 at the same time. b is read and added. By performing the same procedure as the previous time, k1 (b + i) + k2 (c + h) + k4 (e + f) + k3 (d + g) is calculated. The address at this time is 13 → 12 on one side
→ 11 → 10, the other moves like 03 → 00 → 01 → 02.

【0037】次の図3(c) の状態のときは、一方は03
→00→01→02と、他方は12→11→10→13
のように動くことで、 k1(c+j)+k3(e+h)+k4(f+g)+k2(d+i) が演算される。
In the state shown in FIG.
→ 00 → 01 → 02 and the other is 12 → 11 → 10 → 13
By operating as follows, k1 (c + j) + k3 (e + h) + k4 (f + g) + k2 (d + i) is calculated.

【0038】前記のように一方のアドレスを、00→0
1→02→03→13→12→11→10→03→00
→01→02……と、他方のアドレスを13→12→1
1→10→03→00→01→02→12→11→10
→13…と動かすために、アドレスコントローラ101
は図2のように構成されている。4進カウンタからなる
制御カウンタ108、アップカウンタ110およびダウ
ンカウンタ111は、クロックで同期しており制御カウ
ンタ108が1周するごとにセレクタ109が制御カウ
ンタ108から信号を受け、アップカウンタ110とダ
ウンカウンタ111のどちらか一方に交互に信号を与え
る。アップカウンタ110は、セレクタ109から信号
を受けると1クロック分カウント値を保持する。一方、
ダウンカウンタ111はセレクタ109から信号を受け
ると、1カウント余分にカウントダウンする。ダウンカ
ウンタ111から出力されたカウント値はアップカウン
タ110からの出力値と区別するために加算器112で
定数として10を加える。
As described above, one address is changed from 00 to 0
1 → 02 → 03 → 13 → 12 → 11 → 10 → 03 → 00
→ 01 → 02 ... and the other address is 13 → 12 → 1
1 → 10 → 03 → 00 → 01 → 02 → 12 → 11 → 10
→ To move to 13, ..., the address controller 101
Are configured as shown in FIG. The control counter 108 composed of a quaternary counter, the up counter 110 and the down counter 111 are synchronized by a clock, and the selector 109 receives a signal from the control counter 108 every time the control counter 108 makes one rotation, and the up counter 110 and the down counter A signal is alternately applied to one of the signals 111. When receiving a signal from the selector 109, the up counter 110 holds a count value for one clock. on the other hand,
When the down counter 111 receives the signal from the selector 109, it counts down by one. The adder 112 adds 10 as a constant to the count value output from the down counter 111 to distinguish it from the output value from the up counter 110.

【0039】交換器113は、入力in1およびin
2、出力out1およびout2を持ち、入力in1の
値を出力out1に、入力in2の値を出力out2に
直接伝える動作と、入力in1の値を出力out2に、
入力in2の値を出力out2に入れ換えて伝える動作
とを行う。そして交換器113は、制御カウンタ108
が1周するごとに出力を交換して設定すべきアドレス値
をRAM102に伝える。なお、本参考例では係数が4
個なので4進カウンタを用いたが、カウンタのビット数
を変えることで係数の数に応じられる。
The exchanger 113 has inputs in1 and in
2, having outputs out1 and out2, directly transmitting the value of the input in1 to the output out1, and directly transmitting the value of the input in2 to the output out2, and the operation of transmitting the value of the input in1 to the output out2.
And the operation of transmitting the value of the input in2 to the output out2. The exchange 113 then controls the control counter 108.
The output is exchanged every time one round is performed, and the address value to be set is transmitted to the RAM 102. In this reference example, the coefficient is 4
Since the number is four, a quaternary counter is used, but the number of coefficients can be changed by changing the number of bits of the counter.

【0040】以上説明したように、本参考例によると、
左右対象の係数を持つ演算は係数ごとにデータをくくる
ことにより、演算手順を少なくし、演算速度を速めるこ
とができる。
[0040] As described above, according to the present embodiment,
In the calculation having the coefficients of the left and right objects, the calculation procedure can be reduced by increasing the data for each coefficient, and the calculation speed can be increased.

【0041】図4は本発明の実施例の要部を示すブロッ
ク構成図でFIRフィルタ回路を示す。そして図2はそ
のRAMアドレスコントローラの一例を示すブロック構
成図である。
FIG. 4 is a block diagram showing a main part of an embodiment of the present invention, and shows an FIR filter circuit. FIG. 2 is a block diagram showing an example of the RAM address controller.

【0042】本実施例は、FIRフィルタ演算に使用す
る対称的なフィルタ係数の半分を記憶するROM207
と、このROM207から読み出される係数のアドレス
を制御するROMアドレスコントローラ206と、入力
データ221とROM207から読み出された係数との
乗算を行う乗算器204と、この乗算器204から出力
される乗算結果を順次加算し累算し出力データ222と
して出力する加算器205および累算器214とを備え
たディジタル信号処理装置において、本発明の特徴とす
るところの、入力データ221を同一係数を有するデー
タごとに加算して乗算器204に対して出力する入力デ
ータ処理手段としての、入力データ221を1個ごとま
たはN個ごとに交互にそれぞれ記憶する第一のRAM
(1)202aおよび第二のRAM(2)202bと、
このRAM(1)202aおよびRAM(2)202b
のアドレスを制御するRAMアドレスコントローラ20
1aと、このRAMアドレスコントローラ201aが設
定するアドレスのRAM(1)202aおよびRAM
(2)202bのデータを読み出し加算を行い加算結果
を乗算器204に対して出力する第二の加算器203と
を備えている。
In this embodiment , the ROM 207 stores half of the symmetrical filter coefficients used for the FIR filter operation.
A ROM address controller 206 for controlling an address of a coefficient read from the ROM 207, a multiplier 204 for multiplying the input data 221 by the coefficient read from the ROM 207, and a multiplication result output from the multiplier 204 And an accumulator 214 for sequentially adding and accumulating the input data 221 and outputting the same as output data 222. And a first RAM for alternately storing the input data 221 one by one or every N pieces as input data processing means for adding the data to the multiplier 204 and outputting the data to the multiplier 204.
(1) 202a and a second RAM (2) 202b;
The RAM (1) 202a and the RAM (2) 202b
RAM address controller 20 for controlling the address
1a, the RAM (1) 202a and the RAM of the address set by the RAM address controller 201a.
(2) a second adder 203 that reads out the data of 202b, performs addition, and outputs the addition result to the multiplier 204;

【0043】そして、RAMアドレスコントローラ20
1aは、係数の個数分カウントするアップカウンタ21
0およびダウンカウンタ211と、係数の個数分のカウ
ントを行いアップカウンタ210およびダウンカウンタ
211を制御する制御カウンタ208およびセレクタ2
09と、この制御カウンタ208の制御によりアップカ
ウンタ210とダウンカウンタ211の値を交換しRA
M(1)202aおよびRAM(2)202bの読み出
しアドレスとして出力する交換器213とを含んでい
る。
Then, the RAM address controller 20
1a is an up counter 21 that counts the number of coefficients.
0 and a down counter 211, and a control counter 208 and a selector 2 that count the number of coefficients and control the up counter 210 and the down counter 211.
09, the values of the up counter 210 and the down counter 211 are exchanged by the control of the control
M (1) 202a and an exchange 213 for outputting as read addresses of the RAM (2) 202b.

【0044】次に、本実施例の動作を、係数が中心を境
に折り返している8タップFIRフィルタ演算を行う場
合について具体的に説明する。
Next, the operation of the present embodiment will be specifically described for the case of performing an 8-tap FIR filter operation in which the coefficient is folded back at the center.

【0045】FIRフィルタの係数はa0〜a7であ
り、a0=a7、a1=a6、a2=a5、a3=a4
であり、ROM207はa0〜a3を記憶している。ま
た、RAM(1)202aおよびRAM(2)202b
はそれぞれ入力データ221の4ワードを記憶してい
る。このときのRAM(1)202aおよびRAM
(2)202bのデータマップを図6(a)に示す。こ
の状態において入力データ「Xn 」が入力されたとき出
力データ「Yn 」を得る手順に付いて図6(b)に示す
データマップを参照して説明する。
The coefficients of the FIR filter are a0 to a7, a0 = a7, a1 = a6, a2 = a5, a3 = a4
And the ROM 207 stores a0 to a3. Further, the RAM (1) 202a and the RAM (2) 202b
Store four words of input data 221 respectively. RAM (1) 202a and RAM at this time
(2) FIG. 6A shows a data map of 202b. A procedure for obtaining output data "Yn" when input data "Xn" is input in this state will be described with reference to a data map shown in FIG.

【0046】入力されたデータ「Xn 」はRAM(2)
202bの「Xn-8 」のデータの上に上書きされると同
時に、RAM(1)202aから読み出された「Xn-7
」のデータと加算器203にて加算される。加算器2
03の出力「Xn +Xn-7 」は乗算器204において
は、ROM207から読み出されるフィルタ係数「a
0」と乗算される。乗算器204の出力「a0(xn +
Xn-7 )」は加算器205にて累算器214のデータと
加算され再び累算器214に格納される。ただし、累算
器214はあらかじめリセットされているので乗算器2
04の出力「a0(Xn +Xn-7 )」はそのまま累算器
214に格納される。
The input data "Xn" is stored in the RAM (2).
At the same time as overwriting the data of “Xn−8” 202b, the “Xn−7” read from the RAM (1) 202a is overwritten.
Is added by the adder 203. Adder 2
In the multiplier 204, the output “Xn + Xn−7” of the filter coefficient “a
0 ". The output “a0 (xn +
Xn-7) "is added to the data of the accumulator 214 by the adder 205 and stored again in the accumulator 214. However, since the accumulator 214 has been reset in advance, the multiplier 2
The output “a0 (Xn + Xn−7)” of 04 is stored in the accumulator 214 as it is.

【0047】次に、RAM(2)202bのアドレスを
+1する。ここでRAM(1)202a、RAM(2)
202bおよびROM207のアドレスポインタは各々
モジュロ構成になっているので、RAM(2)202b
のアドレスは「0」に戻る。またRAM(1)202a
のアドレスを−1しROM207のアドレスを+1す
る。この状態で、RAM(1)202a、RAM(2)
202bおよびROM207よりデータを読み出し前記
演算処理と同様に処理を行うと、累算器214の内容は
「a0(Xn +Xn-7 )+a2(Xn-2 +Xn-5 )」に
なる。同様にアドレス処理を行い演算処理を全てのデー
タを読み出すまで繰り返すことにより出力データ「Yn
」は、 「Yn 」=a0(Xn +Xn-7 )+a1(Xn-1 +Xn-
6 )+a2(Xn-2 +Xn-5 )+a3(Xn-3 +Xn-4
) を得ることができる。出力データを得たとき、次の出力
データを得るためにRAM(1)202aのアドレスを
−1し、ROM207のアドレスを+1し、累算器21
4をリセットしておく。
Next, the address of the RAM (2) 202b is incremented by one. Here, the RAM (1) 202a and the RAM (2)
Since the address pointer of the ROM 202b and the address pointer of the ROM 207 have a modulo configuration, the RAM (2) 202b
Returns to "0". RAM (1) 202a
Is incremented by one, and the address of the ROM 207 is incremented by one. In this state, the RAM (1) 202a and the RAM (2)
When the data is read from the ROM 202b and the ROM 207 and the processing is performed in the same manner as the arithmetic processing, the content of the accumulator 214 becomes "a0 (Xn + Xn-7) + a2 (Xn-2 + Xn-5)". Similarly, the output data "Yn" is obtained by repeating the address processing and repeating the arithmetic processing until all the data is read.
Is "Yn" = a0 (Xn + Xn-7) + a1 (Xn-1 + Xn-
6) + a2 (Xn-2 + Xn-5) + a3 (Xn-3 + Xn-4
) Can be obtained. When the output data is obtained, the address of the RAM (1) 202a is decremented by one, the address of the ROM 207 is decremented by one, and the accumulator 21 is obtained.
4 is reset.

【0048】続いて二つめの入力データ「Xn+1 」が入
力されたとき出力データ「Yn+1 」を得る手順について
図6(c)に示すデータマップを参照して説明する。
Next, a procedure for obtaining output data "Yn + 1" when the second input data "Xn + 1" is input will be described with reference to a data map shown in FIG.

【0049】入力データ「Xn+1 」は、今度はRAM
(1)202aの「Xn-7 」のデータ上に上書きされる
と同時に、RAM(2)202bから読み出された「X
n-6 」のデータと加算器203にて加算される。以下出
力データ「Yn 」を得たときと同様な手順で最初の累算
器214のデータ「a0(Xn+1 +Xn-6 )」を得る。
このとき前の出力データ「Yn 」を得たときにRAM
(1)202aのアドレスを−1、RAM(2)202
bのアドレスをそのまま、ROM207のアドレスを+
1にしてあるので、RAM(1)202a、RAM
(2)202bおよびROM207からはアドレス処理
を行わずにそのままデータを読み出せばよい。続いて出
力データ「Yn 」を得たときと同じ処理を行い出力デー
タ「Yn+1 」を得ることができる。また出力データ「Y
n 」を得たときと同様にRAM(2)202bのアドレ
スを−1し、RAM(1)202aのアドレスを+1
し、ROM207のアドレスを+1し出力データ「Yn+
1 」を得る処理を終了する。
The input data "Xn + 1" is stored in the RAM
(1) At the same time as overwriting the data of "Xn-7" in 202a, the "Xn" read from the RAM (2) 202b
n−6 ”and the adder 203. Thereafter, data "a0 (Xn + 1 + Xn-6)" of the first accumulator 214 is obtained in the same procedure as when the output data "Yn" is obtained.
At this time, when the previous output data "Yn" is obtained, the RAM
(1) Address of 202a is −1, RAM (2) 202
The address of the ROM 207 is +
1, RAM (1) 202a, RAM
(2) The data may be read from the ROM 202b and the ROM 207 without performing address processing. Subsequently, the same processing as when the output data "Yn" is obtained can be performed to obtain the output data "Yn + 1". The output data "Y
n ”, the address of the RAM (2) 202b is decremented by 1, and the address of the RAM (1) 202a is incremented by +1.
Then, the address of the ROM 207 is incremented by 1, and the output data “Yn +
1 ”is ended.

【0050】このように、2回目の出力データ「Yn+1
」を得るときは、1回目の出力データ「Yn 」を得た
ときとは別のRAM(1)202aに入力データを書き
込み、RAM(1)202aとRAM(2)202bの
アドレス制御を入れ替えることにより出力データ「Yn+
1 」を得ることができる。また3回目の出力データ「Y
n+2 」を得るときは1回目の出力データ「Yn 」を得た
ときと同様な手順で出力データを得ることができる。
As described above, the second output data “Yn + 1”
Is obtained, the input data is written to the RAM (1) 202a different from the one obtained when the first output data "Yn" is obtained, and the address control of the RAM (1) 202a and the RAM (2) 202b is switched. Output data "Yn +
1 "you can get. The third output data "Y
n + 2 "when you get a can obtain output data by the same procedure as when obtaining the first output data" Y n ".

【0051】本実施例によれば、前述したように入力デ
ータごとにRAM(1)202aとRAM(2)202
bに交互に入力データ221を書き込むことにより、従
来のようにレジスタ(TR)を使用した回路を必要とし
ない回路規模の小さいFIRフィルタ回路を実現でき
る。
According to this embodiment , as described above, the RAM (1) 202a and the RAM (2) 202
By writing the input data 221 alternately to b, a small-scale FIR filter circuit that does not require a circuit using a register (TR) as in the related art can be realized.

【0052】次に、本実施例において、1/N(Nは2
以上の自然数)にデシメーションする動作について説明
する。
Next, in this embodiment , 1 / N (N is 2
The operation of decimation to the above (natural number) will be described.

【0053】1/Nにデシメーションする場合、入力デ
ータごとに出力データを得る必要がない。入力データN
回に対し1回の出力を得ればよい。
In the case of decimation by 1 / N, it is not necessary to obtain output data for each input data. Input data N
It is only necessary to obtain an output once.

【0054】いま、N=4で、FIRフィルタのタップ
数が32でフィルタ係数がK0 〜K31で中心を境に対称
なFIRフィルタであり、K0 =K31、K1 =K30、K
2 =K29、…、K15=K16、でありROM207は「K
0 〜K15」を記憶している。RAM(1)202aおよ
びRAM(2)202bはそれぞれ入力データ221の
16ワードを記憶している。このときのRAM(1)2
02a、RAM(2)202bおよびROM207のデ
ータマップを図7に示す。この状態から1/4にデシメ
ーションする手順について説明する。前述したように4
回の入力データに対し1回出力を得ればよいので4個の
データが連続して入力されるものとする。まず、「Xn-
3 〜Xn 」の4個の入力データが入力されたとき出力デ
ータ「Yn 」を得る手順について図8に示すデータマッ
プを参照して説明する。
Suppose that N = 4, the number of taps of the FIR filter is 32, the filter coefficient is K0 to K31, and the filter is symmetrical with respect to the center. K0 = K31, K1 = K30, K
2 = K29,..., K15 = K16, and the ROM 207 stores "K
0 to K15 ". Each of the RAM (1) 202a and the RAM (2) 202b stores 16 words of the input data 221. RAM (1) 2 at this time
FIG. 7 shows a data map of the RAM 02a, the RAM (2) 202b, and the ROM 207. A procedure for decimation by 1/4 from this state will be described. 4 as described above
Since it is sufficient to obtain an output for one input data, four data are continuously input. First, "Xn-
A procedure for obtaining output data "Yn" when four pieces of input data of "3 to Xn" are input will be described with reference to a data map shown in FIG.

【0055】入力されたデータ「Xn-3 」はRAM
(2)202bの「Xn-35」のデータの上に上書きされ
ると同時に、RAM(1)202aから読み出された
「Xn-28」のデータと加算器203にて加算される。加
算器203の出力データ「Xn-3 +Xn-28」は乗算器2
04においては、ROM207から読み出されるフィル
タ係数「K3 」と乗算される。乗算器204の出力「K
3 (Xn-3 +Xn-28 )は加算器205にて累算器214
のデータと加算され再び累算器214に格納される。た
だし累算器214はあらかじめリセットされているので
乗算器204の出力「K3 (Xn-3 +Xn-28)」はその
まま累算器204に格納される。
The input data "Xn-3" is stored in the RAM.
(2) At the same time as overwriting the data of “Xn-35” in 202b, the adder 203 adds the data of “Xn-28” read from the RAM (1) 202a. The output data “Xn−3 + Xn−28” of the adder 203 is the multiplier 2
At 04, the filter coefficient is multiplied by the filter coefficient "K3" read from the ROM 207. The output “K” of the multiplier 204
3 (Xn-3 + Xn-28) is added to the accumulator 214 by the adder 205.
And stored in the accumulator 214 again. However, since the accumulator 214 has been reset in advance, the output "K3 (Xn-3 + Xn-28)" of the multiplier 204 is stored in the accumulator 204 as it is.

【0056】次に、RAM(2)202bのアドレスを
+1する。またRAM(1)202aのアドレスを−1
しROM207のアドレスを+1する。この状態で次の
入力データ「Xn-2 」をRAM(2)202bの「Xn-
34」のデータの上に上書きし、同様に前述の演算処理を
行うと累算器214の内容は、「K3 (Xn-3 +Xn-2
8)+K2 (Xn-2 +Xn-29)」になる。同様にアドレ
ス処理、入力データ処理および演算処理を入力データ
「Xn 」まで繰り返す。このときの累算器214の内容
は「K3 (Xn-3 +Xn-28)+K2 (Xn-2 +Xn-29)
+K1 (Xn-1 +Xn-30)+K0 (Xn +Xn-31)」と
なる。再び同様にアドレス処理を行いRAM(2)20
2bからデータ「Xn-11」を読み出し、RAM(1)2
02aからデータ「Xn-20」を読み出し、前述と同様に
演算処理を全てのデータを読み出すまで繰り返すことに
より出力データ「Yn」、 「Yn 」=K0 (Xn +Xn-31)+K1 (Xn-1 +Xn-
30)+…+K15(Xn-15+Xn-16) を得ることができる。出力を得たとき次の出力を得るた
めにRAM(1)202aのアドレスを−4し、ROM
207のアドレスを+1し、累算器214をリセットし
ておく。
Next, the address of the RAM (2) 202b is incremented by one. Further, the address of the RAM (1) 202a is -1.
Then, the address of the ROM 207 is incremented by one. In this state, the next input data “Xn−2” is stored in “Xn−” of the RAM (2) 202b.
When the above operation is similarly performed by overwriting the data of "34", the content of the accumulator 214 becomes "K3 (Xn-3 + Xn-2)".
8) + K2 (Xn-2 + Xn-29) ". Similarly, address processing, input data processing and arithmetic processing are repeated up to input data "Xn". The content of the accumulator 214 at this time is "K3 (Xn-3 + Xn-28) + K2 (Xn-2 + Xn-29)
+ K1 (Xn-1 + Xn-30) + K0 (Xn + Xn-31) ". The address processing is again performed in the same manner, and the RAM (2) 20
2b, the data “Xn-11” is read from the RAM (1) 2
The data "Xn-20" is read from the data 02a, and the calculation process is repeated until all the data is read in the same manner as described above, whereby the output data "Yn", "Yn" = K0 (Xn + Xn-31) + K1 (Xn-1 + Xn) -
30) +... + K15 (Xn-15 + Xn-16) can be obtained. When the output is obtained, the address of the RAM (1) 202a is decremented by 4 to obtain the next output.
The address of 207 is incremented by 1, and the accumulator 214 is reset.

【0057】続いて、「Xn+1 〜XN+4 」の4個の入力
データが入力されたとき2つめの出力データ「Yn+1 」
を得る手順について図9に示すデータマップを参照して
説明する。
Subsequently, when four input data of "Xn + 1 to XN + 4" are input, the second output data "Yn + 1" is output.
Will be described with reference to a data map shown in FIG.

【0058】入力データ「Xn+1 」は、今度はRAM
(1)202aの「Xn-31」のデータの上に上書きされ
ると同時に、RAM(2)202bから読み出された
「Xn-24」のデータと加算器203にて加算される。以
下「Yn 」出力を得たときと同様な手順で最初の累算器
214のデータ「K3 (Xn+1 +Xn-24)」を得る。こ
のとき前の出力を得たときにRAM(1)202aのア
ドレスを−4、RAM(2)202bのアドレスをその
まま、ROM207のアドレスを+1にしてあるので、
RAM(1)202a、RAM(2)202bおよびR
OM207からはアドレス処理を行わずにそのままデー
タを読み出せばよい。続いてRAM(2)202bのア
ドレスを−1し、RAM(1)202aのアドレスを+
1し、ROM207のアドレスを+1し前の出力データ
「Yn 」を得たときと同じ処理を繰り返すことにより出
力データ「Yn+1 」を得ることができる。出力データを
得たとき、出力データ「Yn 」を得たときと同様に、R
AM(2)202bのアドレスを−4し、ROM207
のアドレスを+1し、累算器214をリセットしてお
く。
The input data "Xn + 1" is stored in the RAM
(1) The data is overwritten on the data of “Xn-31” in 202a, and at the same time, the data of “Xn-24” read from the RAM (2) 202b is added by the adder 203. Thereafter, data "K3 (Xn + 1 + Xn-24)" of the first accumulator 214 is obtained in the same procedure as when the "Yn" output is obtained. At this time, when the previous output is obtained, the address of the RAM (1) 202a is set to -4, the address of the RAM (2) 202b is set as it is, and the address of the ROM 207 is set to +1.
RAM (1) 202a, RAM (2) 202b and R
Data may be read from the OM 207 without performing address processing. Subsequently, the address of the RAM (2) 202b is decremented by 1, and the address of the RAM (1) 202a is decremented by +.
1, the output data "Yn + 1" can be obtained by repeating the same process as when the address of the ROM 207 is incremented by 1 and the previous output data "Yn" is obtained. When the output data is obtained, the same as when the output data “Yn” is obtained, R
The address of the AM (2) 202b is decremented by -4 and the ROM 207
Is incremented by 1, and the accumulator 214 is reset.

【0059】このように2回目の出力データ「Yn+1 」
を得るときは、1回目の出力データ「Yn 」を得たとき
と反対のデータ記憶回路であるRAM(1)202aに
入力データを4個書き込み、またこのときRAM(1)
202aとRAM(2)202bのアドレス制御を入れ
替えることにより出力データ「Yn+1 」を得ることがで
きる。また3回目の出力データ「Yn+2 」を得るとき
は、1回目の出力を得たときと同様な手順で得ることが
できる。
As described above, the second output data "Yn + 1"
Is obtained, four input data are written into the RAM (1) 202a which is a data storage circuit opposite to the one obtained when the first output data "Yn" is obtained, and at this time, the RAM (1)
The output data "Yn + 1" can be obtained by exchanging the address control between the RAM 202a and the RAM (2) 202b. When the third output data "Yn + 2" is obtained, it can be obtained in the same procedure as when the first output is obtained.

【0060】本実施例によれば、前述したように4回の
入力ごとにRAM(1)202aとRAM(2)202
bに交互にデータを書き込むことにより従来のようにレ
ジスタ(TR)を使用した回路を必要としない回路規模
の小さいFIRフィルタ回路を実現できる。
According to this embodiment , the RAM (1) 202a and the RAM (2) 202
By alternately writing data to b, it is possible to realize an FIR filter circuit with a small circuit size that does not require a circuit using a register (TR) as in the related art.

【0061】本実施例において、前述したRAM(1)
202aおよびRAM(2)202bのアドレス制御
は、図5に示したRAMアドレスコントローラ201a
により行われる。
In this embodiment , the above-mentioned RAM (1)
The address control of the RAM 202a and the RAM (2) 202b is performed by the RAM address controller 201a shown in FIG.
It is performed by

【0062】図5において、制御カウンタ208、アッ
プカウンタ210およびダウンカウンタ211は4進カ
ウンタで構成されており、クロック同期で動作する。こ
のクロックの周期は、本実施例の回路の演算周期と同一
である。制御カウンタ208は1周するごとにセレクタ
209および交換器213に信号を与える。セレクタ2
09は、制御カウンタ208からの信号をうけアップカ
ウンタ210とダウンカウンタ211のどちらか一方に
交互に信号を与える。アップカウンタ210はセレクタ
209からの信号を受けると1クロック分カウント値を
保持する。一方、ダウンカウンタ211はセレクタ20
9からの信号を受け取ると、1カウント余分にカウント
ダウンする。交換器213は、入力in1および入力i
n2、出力out1および出力out2を持ち、入力i
n1の値を出力out1に、入力in2の値を出力ou
t2に直接伝える動作と、入力in1の値を出力out
2に、入力in2の値を出力out1に入れ換えて伝え
る動作とを行う。交換器213は制御カウンタ208か
らの信号をうけるごとに出力を交換してRAM(1)2
02aおよびRAM(2)202bのアドレスを入れ換
える。このときのRAM(1)202aおよびRAM
(2)202bのアドレスの動きは図6(a)、(b)
および(c)ならびに図7、図8および図9に示したも
のと同一になる。
In FIG. 5, the control counter 208, the up counter 210 and the down counter 211 are composed of quaternary counters, and operate in synchronization with a clock. The cycle of this clock is the same as the operation cycle of the circuit of this embodiment . The control counter 208 provides a signal to the selector 209 and the exchange 213 every time the control counter 208 makes one rotation. Selector 2
09 receives a signal from the control counter 208 and alternately supplies a signal to either the up counter 210 or the down counter 211. Upon receiving a signal from the selector 209, the up counter 210 holds a count value for one clock. On the other hand, the down counter 211
When the signal from 9 is received, it counts down by one count. The exchange 213 has an input in1 and an input i.
n2, output out1 and output out2, and input i
The value of n1 is output to out1, and the value of input in2 is output to out
Operation to directly transmit to t2 and output of value of input in1 to output out
2, the operation of transmitting the value of the input in2 to the output out1. The exchange 213 exchanges the output each time it receives a signal from the control counter 208 to change the RAM (1) 2
02a and the address of the RAM (2) 202b are exchanged. RAM (1) 202a and RAM at this time
(2) FIG. 6 (a), (b)
And (c) and those shown in FIGS. 7, 8 and 9.

【0063】なお、このRAMアドレスコントローラに
よるアドレス制御は、プロセッサによるプログラム制御
も可能である。
Note that the address control by the RAM address controller can be controlled by a program by a processor.

【0064】[0064]

【発明の効果】以上説明したように、本発明は、左右対
象の係数を持つ演算は係数ごとにデータをくくることに
より、演算手順を少なくし、演算速度を速めることがで
きる効果がある。
As described above, the present invention has the effect of reducing the number of calculation steps and increasing the calculation speed by forming data for each coefficient in the calculation having symmetric coefficients.

【0065】また、例えばFIRフィルタ回路において
は、入力データを1個ごとまたはN個ごとに交互に二つ
のRAMに記憶させることにより、二つのRAM間でデ
ータを転送するレジスタが不必要となり回路規模を小さ
くできる効果がある。
In an FIR filter circuit, for example, by storing input data in two RAMs alternately one by one or every N pieces, a register for transferring data between the two RAMs becomes unnecessary, and the circuit scale is reduced. Has the effect of reducing

【0066】従って、本発明によれば、チップ面積を小
さくしコスト低減可能な半導体集積回路に好適の、高速
かつ回路規模の小さいディジタル信号処理装置を得るこ
とができ、その効果は大である。
Therefore, according to the present invention, a high-speed and small-scale digital signal processing device suitable for a semiconductor integrated circuit that can reduce the chip area and reduce the cost can be obtained, and the effect is great.

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

【図1】本発明の参考例の要部を示すブロック構成図。FIG. 1 is a block diagram showing a main part of a reference example of the present invention.

【図2】そのRAMアドレスコントローラの一例を示す
ブロック構成図。
FIG. 2 is a block diagram showing an example of the RAM address controller.

【図3】そのRAMの動作説明図。FIG. 3 is an explanatory diagram of the operation of the RAM.

【図4】本発明の実施例の要部を示すブロック構成図。FIG. 4 is a block diagram showing a main part of the embodiment of the present invention.

【図5】そのRAMアドレスコントローラの一例を示す
ブロック構成図。
FIG. 5 is a block diagram showing an example of the RAM address controller.

【図6】そのRAM(1)、RAM(2)およびROM
のデータマップ。
FIG. 6 shows the RAM (1), RAM (2) and ROM
Data map.

【図7】そのRAM(1)、RAM(2)およびROM
の初期状態のデータマップ。
FIG. 7 shows the RAM (1), RAM (2) and ROM
Initial data map of.

【図8】そのRAM(1)、RAM(2)およびROM
のデータ「Xn-3 〜Xn 」入力状態のデータマップ。
FIG. 8 shows the RAM (1), RAM (2) and ROM
Data map of the input state of the data "Xn-3 to Xn".

【図9】そのRAM(1)、RAM(2)およびROM
のデータ「Xn+1 〜Xn+4 」入力状態のデータマップ。
FIG. 9 shows the RAM (1), RAM (2) and ROM
Data map of the input state of the data "Xn + 1 to Xn + 4".

【図10】第一従来例の要部を示すブロック構成図。FIG. 10 is a block diagram showing a main part of a first conventional example.

【図11】そのRAMの動作説明図。FIG. 11 is an explanatory diagram of the operation of the RAM.

【図12】第二従来例を示すブロック構成図。FIG. 12 is a block diagram showing a second conventional example.

【図13】そのRAM(1)、RAM(2)およびRO
Mのデータマップ。
FIG. 13 shows the RAM (1), RAM (2) and RO
M data map.

【符号の説明】[Explanation of symbols]

101、201、201a RAMアドレスコントロー
ラ 102 RAM 103、105、112、203、205 加算器 104、204 乗算器 106、206 ROMアドレスコントローラ 107、207 ROM 108、208 制御カウンタ 109、114、209 セレクタ 110、210 アップカウンタ 111、211 ダウンカウンタ 113、213 交換器 115 シフトレジスタ 202a RAM(1) 202b RAM(2) 214 累算器 215 シフトレジスタ(TR) 121、221 入力データ 122、222 出力データ
101, 201, 201a RAM address controller 102 RAM 103, 105, 112, 203, 205 Adder 104, 204 Multiplier 106, 206 ROM address controller 107, 207 ROM 108, 208 Control counter 109, 114, 209 Selector 110, 210 Up counter 111, 211 Down counter 113, 213 Switch 115 Shift register 202a RAM (1) 202b RAM (2) 214 Accumulator 215 Shift register (TR) 121, 221 Input data 122, 222 Output data

───────────────────────────────────────────────────── フロントページの続き (72)発明者 丸山 勇一 神奈川県川崎市中原区小杉町一丁目403 番53 日本電気アイシーマイコンシステ ム株式会社内 (56)参考文献 特開 昭63−113756(JP,A) 信学技報 91[192](H3−8−23) p.49−55 ──────────────────────────────────────────────────続 き Continuation of the front page (72) Inventor Yuichi Maruyama 1-403-3, Kosugi-cho, Nakahara-ku, Kawasaki-shi, Kanagawa Prefecture Within NEC Icy Microcomputer Systems Co., Ltd. (56) References JP-A-63-113756 (JP, A) IEICE Technical Report 91 [192] (H3-8-23) p. 49−55

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 多項式で表された演算式の各項の係数を
記憶するROMと、 このROMから読み出される係数のアドレスを制御する
ROMアドレスコントローラと、 入力データと前記ROMから読み出された係数との乗算
を行う乗算器と、 この乗算器から出力される乗算結果を順次加算し出力デ
ータを出力する第一の加算器とを備えたディジタル信号
処理装置において、 前記演算式はその係数が中心を境にして対称的に並んで
いる演算式であり、 前記入力データを同一係数を有するデータごとに加算し
て前記乗算器に対して出力する入力データ処理手段を備
え、 前記ROMは前記演算式の対称的に並んでいる係数の半
分を記憶する構成であり、 前記入力データ処理手段は、入力データを交互にそれぞ
れ記憶する第一および第二のRAMと、この第一および
第二のRAMのアドレスを制御するRAMアドレスコン
トローラと、このRAMアドレスコントローラが設定す
るアドレスの前記第一および第二のRAMのデータを読
み出し加算を行い加算結果を前記乗算器に対して出力す
る第二の加算器とを含み、前記RAMアドレスコントローラは、係数の個数分カウ
ントするアップカウンタおよびダウンカウンタと、 係数の個数分カウントを行うごとに制御信号を出力し前
記アップカウンタおよびダウンカウンタを制御する制御
カウンタと、 前記制御カウンタの制御により制御の対象とする前記ア
ップカウンタとダウンカウンタのどちらか一方を交互に
選択するセレクタと、 前記制御カウンタの制御により前記アップカウンタと前
記ダウンカウンタの値を交換しそれぞれ前記第一および
第二のRAMの読み出しアドレスとして出力する交換器
とを含む ことを特徴とするディジタル信号処理装置。
1. A ROM for storing coefficients of respective terms of an arithmetic expression represented by a polynomial, a ROM address controller for controlling an address of a coefficient read from the ROM, input data and a coefficient read from the ROM. And a first adder for sequentially adding the multiplication results output from the multiplier and outputting output data, wherein the coefficients of the arithmetic expression are centered. And an input data processing means for adding the input data for each data having the same coefficient and outputting the result to the multiplier. The input data processing means comprises a first and a second RAM for alternately storing input data, respectively. A RAM address controller for controlling an address of the first and second RAM, to the multiplier the addition result to perform the addition reading data of said first and second RAM address this RAM address controller sets And a second adder for outputting the number of coefficients.
Control signal is output every time the up counter and down counter that count
Control to control the up counter and down counter
A counter and the above-mentioned object to be controlled by the control of the control counter.
One of the top counter and the down counter alternately
The selector to be selected and the up counter and the previous counter controlled by the control counter.
The values of the down counter are exchanged, and
Exchanger that outputs as read address of second RAM
Digital signal processing apparatus characterized by including and.
【請求項2】 多項式で表された演算式の各項の係数を
記憶するROMと、 このROMから読み出される係数のアドレスを制御する
ROMアドレスコントローラと、 入力データと前記ROMから読み出された係数との乗算
を行う乗算器と、 この乗算器から出力される乗算結果を順次加算し出力デ
ータを出力する第一の加算器と を備えたディジタル信
号処理装置において、 前記演算式はその係数が中心を境にして対称的に並んで
いる演算式であり、 前記入力データを同一係数を有するデータごとに加算し
て前記乗算器に対して出力する入力データ処理手段を備
え、 前記ROMは前記演算式の対称的に並んでいる係数の半
分を記憶する構成であり、 前記入力データ処理手段は、入力データをN個(Nは2
以上の自然数)ごとに交互にそれぞれ記憶する第一およ
び第二のRAMと、この第一および第二のRAMと、こ
の第一および第二のRAMのアドレスを制御するRAM
アドレスコントローラと、このRAMアドレスコントロ
ーラが設定するアドレスの前記第一および第二のRAM
のデータを読み出し加算を行い加算結果を前記乗算器に
対して出力する第二の加算器とを含み、前記RAMアドレスコントローラは、係数の個数分カウ
ントするアップカウンタおよびダウンカウンタと、 係数の個数分カウントを行うごとに制御信号を出力し前
記アップカウンタおよびダウンカウンタを制御する制御
カウンタと、 前記制御カウンタの制御により制御の対象とする前記ア
ップカウンタとダウンカウンタのどちらか一方を交互に
選択するセレクタと、 前記制御カウンタの制御により前記アップカウンタと前
記ダウンカウンタの値を交換しそれぞれ前記第一および
第二のRAMの読み出しアドレスとして出力する交換器
とを含む ことを特徴とするディジタル信号処理装置。
2. A ROM for storing coefficients of each term of an arithmetic expression represented by a polynomial, a ROM address controller for controlling an address of a coefficient read from the ROM, input data and a coefficient read from the ROM. And a first adder that sequentially adds the multiplication results output from the multiplier and outputs output data. And an input data processing means for adding the input data for each data having the same coefficient and outputting the result to the multiplier. And the input data processing means stores N pieces of input data (N is 2
A first and a second RAM for alternately storing each of the above natural numbers, a first and a second RAM, and a RAM for controlling addresses of the first and the second RAMs
An address controller and the first and second RAMs for addresses set by the RAM address controller
And a second adder for reading out and adding the data and outputting the addition result to the multiplier, wherein the RAM address controller counts the number of coefficients.
Control signal is output every time the up counter and down counter that count
Control to control the up counter and down counter
A counter and the above-mentioned object to be controlled by the control of the control counter.
One of the top counter and the down counter alternately
The selector to be selected and the up counter and the previous counter controlled by the control counter.
The values of the down counter are exchanged, and
Exchanger that outputs as read address of second RAM
Digital signal processing apparatus characterized by including and.
JP04077588A 1991-05-15 1992-03-31 Digital signal processor Expired - Fee Related JP3130631B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04077588A JP3130631B2 (en) 1991-05-15 1992-03-31 Digital signal processor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP14107391 1991-05-15
JP3-141073 1991-05-15
JP04077588A JP3130631B2 (en) 1991-05-15 1992-03-31 Digital signal processor

Publications (2)

Publication Number Publication Date
JPH0594467A JPH0594467A (en) 1993-04-16
JP3130631B2 true JP3130631B2 (en) 2001-01-31

Family

ID=26418666

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04077588A Expired - Fee Related JP3130631B2 (en) 1991-05-15 1992-03-31 Digital signal processor

Country Status (1)

Country Link
JP (1) JP3130631B2 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
信学技報 91[192](H3−8−23)p.49−55

Also Published As

Publication number Publication date
JPH0594467A (en) 1993-04-16

Similar Documents

Publication Publication Date Title
US4754421A (en) Multiple precision multiplication device
JP4704646B2 (en) Reconfigurable finite response filter using canonical sign digit coefficient representation
JPH01145778A (en) Image processor having pipeline bus of free flow
CN100499371C (en) Programmable interpolated filter device and realizing method therefor
JPH11266140A (en) Programmable circuits to implement digital filters
JPH0514936B2 (en)
JP3130631B2 (en) Digital signal processor
JP2526532B2 (en) Digital filter for image processing
JPH06152330A (en) Digital filter
JP3827207B2 (en) Digital filter and information communication equipment
JP3243831B2 (en) FIR type filter
JP3166781B2 (en) Adder circuit
GB2254754A (en) Time switch speech-store module
JPH08249273A (en) Asynchronous transfer circuit with transfer speed switching function
JPH10322164A (en) Digital filter
SU1388892A1 (en) Fast fourier transform processor
JP3675948B2 (en) Data conversion method and apparatus
JP2005535202A (en) Data processing circuit
SU750478A1 (en) Converter of integer binary-decimal numbers into binary
SU883900A1 (en) Device for taking antilogarithms
JPH05266060A (en) Matrix operation circuit
JPH0215099B2 (en)
JPH03139773A (en) Digital image processor
JPH07104974A (en) High-speed integration circuit
JPS63226170A (en) Enlarging, reducing and parallel moving device for image

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees