JPH02140010A - Low frequency band digital filter - Google Patents
Low frequency band digital filterInfo
- Publication number
- JPH02140010A JPH02140010A JP23752689A JP23752689A JPH02140010A JP H02140010 A JPH02140010 A JP H02140010A JP 23752689 A JP23752689 A JP 23752689A JP 23752689 A JP23752689 A JP 23752689A JP H02140010 A JPH02140010 A JP H02140010A
- Authority
- JP
- Japan
- Prior art keywords
- data
- multiplication
- address
- output
- constant
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000003111 delayed effect Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 31
- 238000004364 calculation method Methods 0.000 description 12
- 238000005070 sampling Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000000034 method Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 101001073211 Solanum lycopersicum Suberization-associated anionic peroxidase 2 Proteins 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 101000579490 Solanum lycopersicum Suberization-associated anionic peroxidase 1 Proteins 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 201000011244 Acrocallosal syndrome Diseases 0.000 description 1
- 101100004933 Arabidopsis thaliana CYP79F1 gene Proteins 0.000 description 1
- 208000030853 Asthma-Chronic Obstructive Pulmonary Disease Overlap Syndrome Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- NEOZOXKVMDBOSG-UHFFFAOYSA-N propan-2-yl 16-methylheptadecanoate Chemical compound CC(C)CCCCCCCCCCCCCCC(=O)OC(C)C NEOZOXKVMDBOSG-UHFFFAOYSA-N 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Abstract
Description
【発明の詳細な説明】
(イ)産業上の利用分野
本発明は、時系列で入力されるデータを所定のアルゴリ
ズムに基いて処理し、時系列データとして出力する低周
波帯域デジタルフィルタに関する。DETAILED DESCRIPTION OF THE INVENTION (A) Field of Industrial Application The present invention relates to a low frequency band digital filter that processes time-series input data based on a predetermined algorithm and outputs the processed data as time-series data.
(ロ)従来の技術
一般に、音声や画像等のように我々の周囲に存在する原
始情報源は、アナログ信号であることが多い。このアナ
ログ信号をデジタル的な手法によって処理するシステム
がデジタル信号9I!、埋装置(デジタル・シグナル・
プロセッシング・システム: DSPシステム)である
。(b) Conventional technology In general, primitive information sources that exist around us, such as sounds and images, are often analog signals. A system that processes this analog signal using digital methods is Digital Signal 9I! , embedded equipment (digital signal,
Processing system: DSP system).
近年、デジタル回路のLSI化が急速に進み、ワンチッ
プ上にDSPシステムが容易に実現できるようになり、
更に、アナログ信号処理に比べて高精度処理が可能、パ
ラメータの設定により任意の特性が安定して均一に得ら
れる、無調整化が可能となる等の特徴を有するため、D
SPシステムが急速に実用化されるようになった。また
、DSPシステムの応用範囲は、音声信号処理、通信信
号処理、計測信号処理、画像信号処理、地震波信号処理
、水中音響信号処理等に広がり利用されている。In recent years, the conversion of digital circuits to LSI has progressed rapidly, and it has become possible to easily implement a DSP system on a single chip.
Furthermore, compared to analog signal processing, D
SP systems have rapidly come into practical use. Further, the application range of DSP systems has expanded to include audio signal processing, communication signal processing, measurement signal processing, image signal processing, seismic wave signal processing, underwater acoustic signal processing, and the like.
また、オーディオ分野に於いてもCD(コンパクト・デ
ィスク)プレーヤやDAT (デジタル・オーディオ・
テープ)プレーヤの如く、オーディオ信号のデジタル処
理化が進むに伴って、オーディオ信号をデジタル処理す
るDSPシステムが実用化されている。In addition, in the audio field, CD (compact disc) players and DAT (digital audio
2. Description of the Related Art As the digital processing of audio signals such as in tape players progresses, DSP systems for digitally processing audio signals are being put into practical use.
従来のDSPシステムは、デジタルフィルタを容易に形
成できるように第7図に示すアーキテクチャを有してい
る。A conventional DSP system has the architecture shown in FIG. 7 so that a digital filter can be easily formed.
第7図に於いて、データバス(1)には、入出力回路(
Ilo)(2)、データRAM(2)、乗算器(3)、
演算回路(ALU)(4)、アキュームレータ(ACC
)(5)等が接続され、データRA M (2)の出力
とデータROM(6)の出力が乗算器(3)に接続され
、乗′!J、器(3)の乗算結果出力がA L U (
4)の一方の入力に印加されている。これらの各回路は
、プログラムROM (7)から順次読み出される命令
を解読するデコータ(8)からその命令に応じて出力さ
れるマイクロコード信号によって制御される。In Figure 7, the data bus (1) includes an input/output circuit (
Ilo) (2), data RAM (2), multiplier (3),
Arithmetic circuit (ALU) (4), accumulator (ACC)
) (5), etc. are connected, and the output of data RAM (2) and the output of data ROM (6) are connected to a multiplier (3), and the multiplier '!'! J, the multiplication result output of the device (3) is A L U (
4) is applied to one input. Each of these circuits is controlled by a microcode signal output from a decoder (8) that decodes instructions sequentially read from the program ROM (7) in response to the instructions.
ところで、オーディオの信号処理に於いて、グラフィッ
クイコライザを実現する場合、第8図に示される2次の
直接型FIRフィルタを複数段縦続接続することによっ
て得られる。第8図のIIR型フィルタは、
’I’1=CIXl+C!X、l−1+ CIxl−*
+C4Yl−1+ CsY+−t・・・・・・・・・
(1)式
(C+、 C!、 Cs、 C4,Csはフィルタ特性
を決定する定数)
の積和演算を行うものであり、(29)で示される2″
′は単位時間(ここではサンプリンダ周期)の遅延素子
であり、(30)は定数C1〜C6の乗算素子、(31
−)は加算素子である。By the way, when realizing a graphic equalizer in audio signal processing, it can be obtained by cascading a plurality of stages of second-order direct type FIR filters as shown in FIG. The IIR type filter in Fig. 8 is 'I'1=CIXl+C! X, l-1+ CIxl-*
+C4Yl-1+ CsY+-t・・・・・・・・・
(1) This is a product-sum operation of the formula (C+, C!, Cs, C4, Cs are constants that determine the filter characteristics), and 2'' shown in (29)
' is a delay element of unit time (sampler period here), (30) is a multiplication element of constants C1 to C6, (31
-) is an addition element.
このデジタルフィルタをDSPシステムで実現する場合
には、フィルタ内の節点の計算順序を決定して、プログ
ラムを作成し、そのプログラムをプログラムROM (
7)に格納すると共にデータROM(6)内に計算式の
定数を格納しておく。そして、プログラムを実行するこ
とにより、積和演算が為され、演算結果はデータRAM
(2)に順次記憶される。When realizing this digital filter with a DSP system, the calculation order of the nodes in the filter is determined, a program is created, and the program is stored in the program ROM (
7) and also store the constants of the calculation formula in the data ROM (6). Then, by executing the program, a product-sum operation is performed, and the operation result is stored in the data RAM.
(2) are stored sequentially.
(・・)発明が解決しようとする問題点グラフィックイ
コライザ機能は、中心周波数の異なるデジタルフィルタ
を多段縦続接続したものとして実現でき、各々の段に於
いて、(1)式の積和演算を行っている。(...) Problems to be Solved by the Invention The graphic equalizer function can be realized by cascading digital filters with different center frequencies in multiple stages, and in each stage, the product-sum operation of equation (1) is performed. ing.
しかしながら、中心周波数が200Hz程度の低周波帯
域のデジタルフィルタの場合、積和演算を行う定数の少
数点以下の有効桁が長くなり、限られたビット数、例え
ば16ビツトで積和演算を行うと演算精度が劣化し、フ
ィルタ特性が悪化して、低域でのオーディオ信号が歪む
等の欠点があった。However, in the case of a digital filter with a low frequency band with a center frequency of about 200 Hz, the significant digits below the decimal point of the constant for performing the sum-of-products operation are long, and when the sum-of-products operation is performed using a limited number of bits, for example, 16 bits, There were drawbacks such as deterioration of calculation accuracy, deterioration of filter characteristics, and distortion of audio signals in low frequencies.
また、低周波帯域での演算精度を上げるためには、定数
のビット数及び乗算器のピント数を増す必要があり、そ
のため、定数を記憶するメモリや乗算器が大きくなり、
集積回路化する際の障害となる不都合がある。In addition, in order to improve the calculation accuracy in the low frequency band, it is necessary to increase the number of bits of the constant and the number of focuses of the multiplier, which increases the size of the memory that stores the constant and the multiplier.
There is an inconvenience that becomes an obstacle when integrating the circuit.
(ニ)問題点を解決するための手段
本発明は、上述した点に鑑みて創作されたものであり、
所定の時間単位毎に入力されるデジタルデータを前記時
間単位で遅延する複数の第1の遅延手段と、前記入力さ
れたデジタルデータ及び前記第1の遅延手段の各遅延出
力に各々定められた定数を乗算する第1の乗算手段と、
出力デジタルデータを前記時間単位で遅延する複数の第
2の遅延手段と、該第2の遅延手段の各遅延出力に各々
定められた定数を乗算する第2の乗算手段と、前記第1
の乗算手段の各出力と前記第2の乗算手段の各出力を加
算する第1の加算手段と、該第1の加算手段の加算結果
に定数を乗算する第3の乗算丁段と、前記入力されたデ
ジタルデータがら出力されたデジタルデータを減算する
減算手段と、該減算手段の出力を前記時間単位で遅延す
る第3の遅延手段と、該第3の遅延手段の所定出力に所
定の定数を乗算する第4の乗算手段と、前記入力された
デジタルデータ、前記第3の乗算手段の乗算結果、前記
第4の乗算手段の乗算結果、及び、前記第3の遅延回路
の出力デジタルデを加算する第2の加算手段とによって
低周波帯域デジタルフィルタを構成したことを特徴とす
る。(d) Means for solving the problems The present invention was created in view of the above points,
a plurality of first delay means for delaying digital data input in each predetermined time unit; and a constant determined for each of the input digital data and each delay output of the first delay means. a first multiplication means for multiplying;
a plurality of second delay means for delaying the output digital data in units of time; a second multiplication means for multiplying each delayed output of the second delay means by a predetermined constant;
a first addition means for adding each output of the multiplication means and each output of the second multiplication means; a third multiplication stage for multiplying the addition result of the first addition means by a constant; subtracting means for subtracting the output digital data from the digital data obtained, a third delay means for delaying the output of the subtraction means by the time unit, and a predetermined constant for a predetermined output of the third delay means. A fourth multiplication means for multiplication, the input digital data, the multiplication result of the third multiplication means, the multiplication result of the fourth multiplication means, and the output digital data of the third delay circuit are added together. A low frequency band digital filter is configured by the second adding means.
(4t)作用
り述の手段によれば、デジタルフィルタを実現する(1
)式の定数C,,C,,C,・・・・・・を低周波帯域
の場合には、α+β・δ〔αは定数にもっとも近い整数
、βは整数aと定数の差を各定数を共通の定数δ(δく
く1)で割った値〕の形に分割し、入力されたデータに
対して各々の定数βの積和演算を行った後、定数δを乗
算し、該乗算結果に各々の定数αと入力されたデータの
積和演算の結果を加減算することができる。(4t) According to the means described in the operation description, a digital filter is realized (1
), the constants C,,C,,C,... in the low frequency band are α+β・δ [α is the integer closest to the constant, β is the difference between the integer a and the constant, and each constant divided by a common constant δ (δ divided by 1)], perform a product-sum operation of each constant β on the input data, then multiply by the constant δ, and calculate the multiplication result. It is possible to add and subtract each constant α and the result of the product-sum operation of the input data.
これにより、各々の定数の少数点以下は、β・δの如く
、有効数字βと1以下の非常に小さい共通定数δの積と
して表わされるため、βは限定された少ないビット数、
例えば16ビツトで表わされ、データとの積和演算を精
度良く行うことができる。そして、βの積和演算の結果
にδを乗算することで小数点以下の部分の演算結果が求
められる。一方、整数部分αとデータの積和演算を行っ
て、両方を加算することにより、全体としての演算結果
を得ることができ、低周波帯域での演算を16ビツトの
データ長で十分精度良く行え得る。As a result, the decimal point of each constant is expressed as the product of a significant figure β and a very small common constant δ of 1 or less, such as β and δ, so β is a limited small number of bits,
For example, it is expressed in 16 bits, and it is possible to perform multiply-accumulate operations with data with high precision. Then, by multiplying the result of the product-sum calculation of β by δ, the calculation result of the part below the decimal point is obtained. On the other hand, by performing a product-sum operation on the integer part α and the data and adding both, the overall calculation result can be obtained, and calculations in the low frequency band can be performed with sufficient accuracy with a data length of 16 bits. obtain.
(へ)実施例
第1図は本発明の実施例を示す低周波帯域デジタルフィ
ルタの回路図である。図において、(29)で示される
Z−Iは単位時間(ここではサンプリング周M)の遅延
素子であり、サンプリング信号によって動作するラッチ
回路やメモリによって構成することができる。(30)
は定数の乗算素子、(31)は加算素子であり、乗算回
路及び加算回路によって構成される。(F) Embodiment FIG. 1 is a circuit diagram of a low frequency band digital filter showing an embodiment of the present invention. In the figure, Z-I denoted by (29) is a delay element of unit time (sampling period M in this case), and can be constructed by a latch circuit or memory operated by a sampling signal. (30)
is a constant multiplication element, and (31) is an addition element, which is composed of a multiplication circuit and an addition circuit.
第8図に示された従来のデジタルフィルタの場合、中心
周波数が200Hz程度の低周波帯域になると、定数C
1〜C3の有効桁数は、16ビツトで表わすことができ
なくなる。そこで、本発明に於ては、各定数をα+β・
δという形に変換する。In the case of the conventional digital filter shown in Fig. 8, when the center frequency reaches a low frequency band of about 200Hz, the constant C
The number of effective digits from 1 to C3 cannot be represented by 16 bits. Therefore, in the present invention, each constant is α+β・
Convert to the form δ.
即ち、αは、定数の最も近い整数であり、βは整数αと
元の定数Cとの差を1より小さい数δで割った商である
。中心周波数を2001−1zとすると定数01〜C,
は、
C+ = 1 + a・δ
C,=−2+b・δ
C5=1+c・δ
C,=2+d・δ
ci=++−1+e・δ
となる。ここでδは1/2” (口は整数)とする。That is, α is the nearest integer to the constant, and β is the quotient of the difference between the integer α and the original constant C divided by a number δ smaller than 1. If the center frequency is 2001-1z, the constant 01~C,
C+ = 1 + a·δ C,=−2+b·δ C5=1+c·δ C,=2+d·δ ci=++−1+e·δ. Here, δ is 1/2" (integer is an integer).
これらを(1)式に代入すると
Y+=L−2L−++L−t+2Y+−+−Y+−f+
δ(aX、+bX+−++ CX+−x+dY+−++
eYl−s)=Xl−2(X+−+−’l’1−1)
+Xl−1−Y+−*+δ(aX+ bXl−+ +
CL−*+ dY+−1+eY+−*)となる。Substituting these into equation (1), Y+=L-2L-++L-t+2Y+-+-Y+-f+
δ(aX, +bX+-++ CX+-x+dY+-++
eYl-s)=Xl-2(X+-+-'l'1-1)
+Xl-1-Y+-*+δ(aX+ bXl-+ +
CL-*+ dY+-1+eY+-*).
第1図はこの積和演算を実現する回路である。即ち、a
X+ + bL−+ + CL−s+ dY+−+ +
eYl−*の演算結果を求めてδを乗算し、該乗算結
果に入力データ島と、2サンプリング前のデータX+−
t−Y+−tを加算し、更に、その結果から、1サンプ
リング前のデータX l−H−Y 1−1に2を乗算し
たものを引いて、出力データY、を算出する。従って、
16ビツトで十分有効桁が表わされる定数a + b
+ C+ d + eを用いて積和演算を行う
ので小数点以下の演算精度が向上する。FIG. 1 shows a circuit that realizes this product-sum operation. That is, a
X+ + bL-+ + CL-s+ dY+-+ +
Find the calculation result of eYl-*, multiply it by δ, and add the input data island and the data X+- from 2 samplings ago to the multiplication result.
The output data Y is calculated by adding t-Y+-t, and then subtracting the product of the data X l-H-Y 1-1 from one sampling ago multiplied by 2 from the result. Therefore,
Constant a + b whose significant digits are sufficiently represented by 16 bits
Since the product-sum operation is performed using +C+d+e, the accuracy of calculations below the decimal point is improved.
第2図は、グラフィックイコライザを実現する回路であ
る。即ち、第1図及び第8図に示されたフィルタを縦続
接続したものであり、1段目では、入力データがxl、
定数がA、B、C,D。FIG. 2 shows a circuit that implements a graphic equalizer. That is, the filters shown in FIGS. 1 and 8 are connected in cascade, and in the first stage, the input data is xl,
The constants are A, B, C, and D.
E、出力がylであり、2段目では、入力データがyl
、定数がa、b、Cv d+ e* δ、2.出カデ
ータが2.となる。E, the output is yl, and in the second stage, the input data is yl
, constants a, b, Cv d+ e* δ, 2. The output data is 2. becomes.
第1図及び第2図に示されたデジタルフィルタは、DS
Pを用いてプログラムソフトで実現することら可能であ
る。The digital filter shown in FIGS. 1 and 2 is a DS
This can be realized by using program software using P.
第3図は、デジタルフィルタ実現する場合に好都合なオ
ーディオ用DSPのブロック図であり、一対のデジタル
処理回路(9)(10)と、該デジタル処理回路(9)
(10)のデータバス(BUSI)(BUS2)(11
)に接続されたデータ入出力回路(12)と、同様にデ
ータバス(11)に接続されたインターフェイス回路(
13)と、これらデジタル処理回路(9)(10)、デ
ータ入出力回路(12)、及び、インターフェイス回路
(13)の動作を制御する制御回路(14)とから構成
される。FIG. 3 is a block diagram of an audio DSP that is convenient for implementing a digital filter, and includes a pair of digital processing circuits (9) and (10), and the digital processing circuit (9).
(10) Data bus (BUSI) (BUS2) (11
) and an interface circuit (12) connected to the data bus (11).
13), and a control circuit (14) that controls the operations of these digital processing circuits (9) and (10), a data input/output circuit (12), and an interface circuit (13).
データバス(11)は、各々8ビツト×3の24ビツト
構成である。データ入出力゛回路(12)は、入力端子
INに外部から印加された16ビツトの左チャンネルと
右チャンネルのサンプリングデータ(例えば、CDプレ
ーヤの場合はサンプリング周波数が44.1K)Izの
データ)をシリアルに入力5し、左チャンネルのデータ
はデータバス(11)のBUSIに、右チャンネルのデ
ータはデータバス(11)のBUS2に送出し、更に、
データバスBUS1に送出された処理済の左チャンネル
のデータとデータバスBUS2L、送出された処理済の
右チャンネルのデータを受は取り、出力端子OUTから
交互にシリアル出力するものである。インターフェイス
回路(13)は、DSPシステムとマイクロコンピュー
タ(不図示)の間のデータ送受を行うものであり、マイ
クロコンピュータから印加されたデジタルフィルタの定
数等をデータバス(11)に各々送出し、また、データ
バス(11)に送出されたシステムスティタスデータ等
を受は取りマイクロコンピュータに送出するものである
。データ処理回路(9)は左チャンネルのデータ処理用
で、データ処理回路(10)は右チャンネルのデータ処
理用であり、各々全く同じ構成から成る。即ち、データ
処理回路(9)(10)は、データバス(11)、デー
タRA M (15)、定数RA M (16)、定数
ROM (17)、アドレスポインタ(18)(19)
(20)、乗算器(MUL)(21)、A L U (
22)、アキュームレータ(ACC)(23)、テンポ
ラリ−レジスタ(TMPI、TMP2、・・・・・・)
(24)を有している。データRAM(15)は、デ
ータ入出力回路(12)から送出された処理前のデータ
及び演算処理後のデータを記憶する24ビツト×128
の容量を持つ第1のRA Mであり、データバス(11
)及び乗算器(21)の入力に接続される。定数RA
M (16)は、インターフェイス回路(13)から送
出されるデジタルフィルタの係数等の定数を記憶する1
6ビツ)x256の容量を持つ第2のRAMであり、デ
ータバス(11)及び乗算5(21)の他方の入力に接
続される。アドレスポインタ(18)は、8ビツトで構
成されデータRAM(15)のアドレス指定を行うもの
であり、制御回路(14)から出力されるマイクロコー
ドlNCl及びDECIで制御され、保持しているアド
レスデータをインクリメント(+1)及びデクリメント
(−1)する機能を備えると共に、プログラムによって
任意の値が設定できるレジスタと、設定された値とアド
レスデータを比較する回路を内蔵し、ア、ドレスデータ
をインクリメントした結果が設定値を越えるとrQJに
なり、デクリメントの結果が「0」未満になると設定値
になる機能、即ち、「0」と設定値の間を循環する機能
を有している。この循環アドレス指定機能を使用してデ
ジタルフィルタの積和演算を簡単化している。また、ア
ドレスポインタ(19)は、定数R,A M (16)
のアドレスを指定する10ビツトのポインタであり、制
御回路(14)から出力されるマイクロコードlNC2
で制御され、アドレスデータをインクリメントする機能
と、制御回路(14)から出力されるマイクロコードC
LEAR2によって「0」にクリアされる機能を有して
いる。更に、アドレスポインタ(20)は、定数ROM
(17)のアドレスを指定する8ビツトのポインタで
あり、制御回路(14)から出力されるマイクロコード
DEC3によってアドレスデータをデクリメントする機
能を有している。The data bus (11) has a 24-bit configuration of 8 bits x 3 each. The data input/output circuit (12) receives 16-bit left channel and right channel sampling data (for example, in the case of a CD player, the sampling frequency is 44.1K data Iz) applied from the outside to the input terminal IN. Input 5 serially, send the left channel data to BUSI of the data bus (11), send the right channel data to BUS2 of the data bus (11), and further,
It receives and receives the processed left channel data sent to the data bus BUS1 and the processed right channel data sent out to the data bus BUS2L, and alternately outputs them serially from the output terminal OUT. The interface circuit (13) performs data transmission and reception between the DSP system and the microcomputer (not shown), and sends the constants of the digital filter applied from the microcomputer to the data bus (11), and , receives system status data, etc. sent to the data bus (11), and sends it to the microcomputer. The data processing circuit (9) is for processing data of the left channel, and the data processing circuit (10) is for processing data of the right channel, and each has exactly the same configuration. That is, the data processing circuits (9) and (10) include a data bus (11), data RAM (15), constant RAM (16), constant ROM (17), and address pointers (18) (19).
(20), multiplier (MUL) (21), A L U (
22), accumulator (ACC) (23), temporary register (TMPI, TMP2, ...)
(24). The data RAM (15) is a 24-bit x 128 memory that stores unprocessed data sent from the data input/output circuit (12) and data after arithmetic processing.
It is the first RAM with a capacity of
) and the input of the multiplier (21). constant RA
M (16) is 1 that stores constants such as coefficients of the digital filter sent from the interface circuit (13).
The second RAM has a capacity of 6 bits) x 256, and is connected to the data bus (11) and the other input of the multiplier 5 (21). The address pointer (18) is composed of 8 bits and specifies the address of the data RAM (15), and is controlled by the microcode INCl and DECI output from the control circuit (14), and the address data held therein is controlled by the microcode INCl and DECI output from the control circuit (14). It has the function of incrementing (+1) and decrementing (-1) the address data, and also has a built-in register that can set any value by a program and a circuit that compares the set value with the address data. When the result exceeds the set value, it becomes rQJ, and when the result of decrement becomes less than "0", it becomes the set value, that is, it has a function of cycling between "0" and the set value. This circular addressing function is used to simplify the product-sum operation of the digital filter. Also, the address pointer (19) is the constant R, A M (16)
This is a 10-bit pointer that specifies the address of the microcode INC2 output from the control circuit (14).
The function of incrementing the address data and the microcode C output from the control circuit (14)
It has the function of being cleared to "0" by LEAR2. Furthermore, the address pointer (20) is a constant ROM
(17) is an 8-bit pointer that specifies the address, and has a function of decrementing the address data by the microcode DEC3 output from the control circuit (14).
乗算器(21)は、24ビツト×16ビツトの乗算をす
るものであり、六入力は24ビツト、B入力は16ビツ
トで、その乗算結果は1サイクル後に確定するものであ
る3更に、乗算器(21)の六入力とB入力には、入力
選択回路MPXAとMPXBが設けられ、入力選択回路
MPXAは、制御回路(14)からのマイクロコードA
−BUSによりデータバス(11)を選択し、マイクロ
コードA−DRAMによりデータRA M (15)を
選択して六入力に印加し、入力選択回路M P X B
は、マイクロコードB−Busによりデータバス(11
)を選択し、マイクロコードB−CRAMにより定数R
AM(16)を選択し、マイクロコードB−CROMに
より定数ROM (17)を選択してB入力に印加する
。乗算結果は32ビツトで出力される。The multiplier (21) performs 24-bit x 16-bit multiplication, the 6 inputs are 24 bits, the B input is 16 bits, and the multiplication result is determined after one cycle. The six inputs and the B input of (21) are provided with input selection circuits MPXA and MPXB, and the input selection circuit MPXA is connected to the microcode A from the control circuit (14).
-BUS selects data bus (11), microcode A-DRAM selects data RAM (15) and applies it to six inputs, input selection circuit M P
The data bus (11
) and set the constant R by microcode B-CRAM.
AM (16) is selected, and constant ROM (17) is selected by the microcode B-CROM and applied to the B input. The multiplication result is output in 32 bits.
ALじ(22)は32ビツトの演算回路であり、方に入
力された32ビツトの乗算結果と他方に入力された32
ビツトのA CC(23)のデータをマイクロコードA
ddによって加算処理して、その結果をA CC(23
)に転送する。A CC(23)の32ピントのうち、
上位24ビツトはデータバス(11)と接続され、下位
8ビツトは補助バス(25)によってテンポラリ−レジ
スタ(24)の下位8ビツトと接続されている。テンポ
ラリ−レジスタ(24)は、32ビツトのレジスタTM
PI、TMP2・・・・・・TMP8で構成され、32
ビツトのデータを最大8個保持するレジスタであり、各
々の上位24ビツトはデータバス(11)と接続される
。データバス(11)と補助バス(25)によって、テ
ンポラリ−レジスタ(24)とA CC(23)間で3
2ビツトデータの転送が行われる。AL (22) is a 32-bit arithmetic circuit, which calculates the 32-bit multiplication result input to one side and the 32-bit multiplication result input to the other side.
Bit ACC (23) data is microcode A
Addition processing is performed using dd, and the result is converted to ACC(23
). Of the 32 focus points of ACC (23),
The upper 24 bits are connected to the data bus (11), and the lower 8 bits are connected to the lower 8 bits of the temporary register (24) by an auxiliary bus (25). The temporary register (24) is a 32-bit register TM.
Consists of PI, TMP2...TMP8, 32
This is a register that holds up to eight bits of data, and the upper 24 bits of each are connected to the data bus (11). The data bus (11) and the auxiliary bus (25) provide three connections between the temporary register (24) and the ACC (23).
2-bit data is transferred.
制御回路(14)は、プログラムを記憶するプログラム
ROM(26)と、プログラムROM(26)のアドレ
スを指定するプログラムカウンタ(PC)(27)と、
読み出された命令を解読するインストラクションデコー
ダ(1−DEC) (28)とを有する。The control circuit (14) includes a program ROM (26) that stores programs, a program counter (PC) (27) that specifies the address of the program ROM (26),
The instruction decoder (1-DEC) (28) decodes the read instructions.
プログラムROM (26)は、32ビツト×512の
容量を有し、デジタルフィルタを実現するためのプログ
ラム、及び、その他必要なプログラムが格納される。イ
ンストラクションデコーダ(28)は、命令を解読して
マイクロコードを出力するものであり、アドレスポイン
タ(18)(19)(20)を制御するlNCl、lN
C2,DECI、CLEAR2゜DEC3や、入力選択
回路MPXA、MPXBを制御するA−BUS、A−D
RAM、B−BtJS、B−CRAM、B−CROM、
あるいはALU (22)を制御するADD、THR等
を出力する。The program ROM (26) has a capacity of 32 bits x 512, and stores a program for realizing a digital filter and other necessary programs. The instruction decoder (28) decodes instructions and outputs microcode, and controls the address pointers (18), (19), and (20).
A-BUS, A-D that controls C2, DECI, CLEAR2゜DEC3, and input selection circuits MPXA and MPXB.
RAM, B-BtJS, B-CRAM, B-CROM,
Alternatively, it outputs ADD, THR, etc. that control the ALU (22).
このマイクロコードは、各々データ処理回路(9)(1
0)の各部の共通する回路に印加されるため、つの命令
の実行によってデータ処理回路(9)(10)を同時に
同一の制御が行われる。This microcode includes data processing circuits (9) and (1), respectively.
Since the voltage is applied to a common circuit of each part of 0), the data processing circuits (9) and (10) are simultaneously controlled in the same way by executing two instructions.
第3図に示されたDSPシステムに於いて、デジタルフ
ィルタを構成するために必要な命令の例を第4図に示す
。第4図に於いて、MUL命令は乗算命令であり、乗算
器(21)の入力A及び入力Bに入力される対象を選択
し、乗算を行わせるものである。AP命令は、アドレス
ポインタ(18)(19)(20)のインクリメント、
デクリメントあるいはクノアを行うものである。ALU
命令はA L U (22)の制御命令であり、ALU
ADDは、入力された2つのデータをA L U (2
2)で加算し、加算結果をA CC(23)に保持させ
、ALUSUBは一方の入力のデータから他方の入力の
データを減算し、減算結果をA CC(23)に保持さ
せ、ALUTHRは、Nl算!(21)からの乗算結果
をそのままACC(23)に保持させる命令である。R
AM I D、 TMPID、TMP2D、TMP3D
はストア命令であり、データバス(11)のデータをデ
ータRAM(15)、テンポラリ−レジスタ(24)に
記憶させる。ACLS、TMPIS、TMP2S、TM
P3Sは転送命令であり、A CC(23)、テンポラ
リ−レジスタ(24)のデータをデータバス(11)及
び補助バス(25)に送出する命令である。FIG. 4 shows an example of instructions necessary to configure a digital filter in the DSP system shown in FIG. 3. In FIG. 4, the MUL instruction is a multiplication instruction that selects the objects input to input A and input B of the multiplier (21) and causes them to be multiplied. The AP instruction increments address pointers (18) (19) (20),
It is a decrement or a knoah. ALU
The command is a control command for ALU (22),
ADD converts the two input data into A L U (2
2), the addition result is held in ACC (23), ALUSUB subtracts the data of one input from the other input, and the result of subtraction is held in ACC (23), and ALUTHR is Nl calculation! This is an instruction to hold the multiplication result from (21) as is in ACC (23). R
AMID, TMPID, TMP2D, TMP3D
is a store instruction, which causes data on the data bus (11) to be stored in the data RAM (15) and temporary register (24). ACLS, TMPIS, TMP2S, TM
P3S is a transfer command, and is a command to send the data of the ACC (23) and temporary register (24) to the data bus (11) and the auxiliary bus (25).
次に、第3図に示されたDSPシステムを用いて、第2
図に示されるようなグラフィックイコライザを実現する
方法を説明する。Next, using the DSP system shown in FIG.
A method for realizing a graphic equalizer as shown in the figure will be explained.
第5図は、第2図のデジタルフィルタを実現するプログ
ラムを示す図であり、第6図は、データRA M (1
5)、定数RA M (16)、及びテンポラリ−レジ
スタ(24)に記憶されるデータの割付は図である。第
5図のプログラムにより定数の乗算は、C+ B *
A + E + D + C+ b * a
+ e + dの順で行うために定数RA M
(16)のアドレス「0」から1゛9」までには、同一
順序で定数が格納される。FIG. 5 is a diagram showing a program for realizing the digital filter of FIG. 2, and FIG.
5), the layout of data stored in the constant RAM (16) and the temporary register (24) is shown in the figure. Multiplication of constants using the program in Figure 5 is C+B*
A + E + D + C+ b * a
+ e + d order constant RAM
Constants are stored in the same order from address "0" to address "19" in (16).
一方、データRA M (15)には、Xl+ Y
l+ Zlのデータが3アドレスおきに書き込まれる
が、サンプリング周期、即ち、1つの入力データX、ゆ
、(二対する演算処理毎に、1アドレスずらしてX3’
i+1lZl。1を書き込むことにより、遅延素f−(
29)による遅延データを作成している。よって、第2
図に示されたデジタルフィルタの場合には、アドレスポ
インタ(18)は「o」〜「7」の循環アドレス指定、
及び、アドレスポインタ(19)は「0」〜「9」の循
環アドレス指定となるようにtめプログラムによって、
設定しておく。On the other hand, data RAM (15) contains Xl+Y
The data of l+Zl is written every 3 addresses, but the sampling period is, that is, for every operation process for one input data
i+1lZl. By writing 1, the delay element f-(
29) is created. Therefore, the second
In the case of the digital filter shown in the figure, the address pointer (18) has circular addressing from "o" to "7";
And, the address pointer (19) is set by the third program so that the addressing is circular from "0" to "9".
Set it.
ここで、入力データX、に対して第5図のプログラムの
ステップ「O」を実行する時点に於いて、データRA
M (15)の内容が第6図(イ)の如くであり、アド
レスポインタ(18)(19)が共にアドレスr□、で
あるとき、ステップ「o」が実行されると、乗算器(2
1)の入力A及びBには、データR、AM(15)のア
ドレス「0」に記憶されている。Here, at the time when step "O" of the program in FIG. 5 is executed for input data X, data RA
When the contents of M (15) are as shown in FIG. 6(a) and the address pointers (18) and (19) are both address r
In the inputs A and B of 1), data R and AM (15) are stored at address "0".
データx+−t(2サンプル前の入力データ)と定数R
A M (16)のアドレス「0」に記憶されている係
数Cが印加されるが、その乗算結果は、次のステップで
確定し出力される。また、ステップ「0」の最後に、命
令API INC,AP21NCにより、アドレスポイ
ンタ(18)(19)が共にインクリメントされ、その
内容が「1」となる。Data x+-t (input data 2 samples ago) and constant R
The coefficient C stored at address "0" of A M (16) is applied, and the multiplication result is determined and output in the next step. Furthermore, at the end of step "0", address pointers (18) and (19) are both incremented by instructions API INC and AP21NC, and their contents become "1".
ステップ「l」が実行されると、ステップ「O」と同様
にデータRA M (15)と定数RAM(16)が乗
算器(21)の入力として選択され、各々、アドレス「
1」に記憶されたデータx1−1と定数Bが乗算器(2
1)に印加される。また、前回のステップ「0」で乗算
された結果は、命令A L U T HRニヨリ、A
L U (22)を素通りし1: A CC(23)に
最初の乗算結果C’X+−*がストアされる。ステップ
「1」の最後に、命令API INC,AP21NCに
より、アドレスポインタ(18)(19)がインクリメ
ントされ、その内容はアドレス「2」となる。When step "l" is executed, similarly to step "O", data RAM (15) and constant RAM (16) are selected as inputs of the multiplier (21), and each address "
The data x1-1 stored in "1" and constant B are multiplier (2
1) is applied. Also, the result multiplied by the previous step "0" is the instruction A L U T HR Niyori, A
It passes through L U (22) and the first multiplication result C'X+-* is stored in 1: ACC (23). At the end of step "1", address pointers (18) and (19) are incremented by the instruction API INC, AP21NC, and their contents become address "2".
次に、ステップ「2」が実行されると、命令MULA−
BUS、B−CRAMi:よt)、乗算器(21)の入
力Aにはデータバス(11)、入力Bには定数RA M
(16)カ!択さiる。一方、命令TMP I Sに
より、テンポラリ−レジスタTMP lの内容がデータ
バス(11)に送出され、命令RAMIDによ)、デー
タバス(11)に送出されたデータが、アドレスポイン
タ(18)で指定されるデータRA M (15)のア
ドレス「2」にストアされる。このとき、テンポラリ−
レジスタTMP 1には、サンプリング周jυj毎にデ
ータ入力回路(12)に外部から印加された入力データ
x1が予めストアされている。従って、入力データx1
は、乗算器(21)によって定数RA M (16)か
ら読み出された定数Aと乗算されると共に、データRA
M (15)のアドレス「2」にストアされる。一方
、命令ALUADDにより、ACC(23)にストアさ
れているC−x、−、とステップ「l」の乗算結果B’
X+−+の加算が行われ、その結果B’X1−+ +
C−Xl−+がA CC(23)にストアされる。Next, when step "2" is executed, the instruction MULA-
BUS, B-CRAMi: data bus (11) at input A of multiplier (21), constant RAM at input B
(16) Ka! Choose. On the other hand, the contents of the temporary register TMP I are sent to the data bus (11) by the instruction TMP I S, and the data sent to the data bus (11) by the instruction RAMID is specified by the address pointer (18). The stored data is stored at address "2" of RAM (15). At this time, the temporary
Input data x1 externally applied to the data input circuit (12) every sampling period jυj is stored in the register TMP1 in advance. Therefore, input data x1
is multiplied by the constant A read from the constant RAM (16) by the multiplier (21), and the data RA
Stored at address "2" of M (15). On the other hand, by the instruction ALUADD, the multiplication result B' of C-x,-, stored in ACC (23) and step "l"
The addition of X+-+ is performed, resulting in B'X1-+ +
C-Xl-+ is stored in ACC (23).
ステップ「2」の最?麦に、アドレスポインタ(18)
(19)がインクリメントされ、その内容はアドレス「
3」となる。The most of step “2”? Mugi, address pointer (18)
(19) is incremented, and its contents are the address “
3".
ステップ「3」が実行されると、乗算器(21)の・入
力A及びBには、データRAM(15)と定数RAλ1
(16)のアドレス「3」にストアされているデータ
y1−8と定数Eが印加され、命令ALUADDにより
、ステップ「2」の乗算結果A−x+とACC(23)
の内容B−X+−++C−X+−xがA L U (2
2)に於いて加算され、加算結果A−x++B−x+−
++C−X+−*がACC(23)にストアされる。ス
テップ「3」の最後にアドレスポインタ(18)(19
)がインクリメントされ、アドレス「4」となる。When step "3" is executed, inputs A and B of the multiplier (21) include the data RAM (15) and the constant RAλ1.
Data y1-8 and constant E stored at address "3" in (16) are applied, and the multiplication result A-x+ of step "2" and ACC (23) are applied by instruction ALUADD.
The content of B-X+-++C-X+-x is A L U (2
2), and the addition result is A-x++B-x+-
++C-X+-* is stored in ACC (23). At the end of step "3", address pointers (18) (19)
) is incremented and becomes address "4".
ステップ「4」が実行されると、乗算器(21)の入力
A及びBには、データRA M (15)と定数RAM
(16)のアドレス「4」にストアされているデータ
Y +−+と定数りが印加され、命令ALUADDによ
り、ステップ「3」の乗算結果E−Y+−*とACC(
23)の内容A’X+−+ + B−X+−+ + C
’Xt−tがALU(22)に於いて加算され、加算結
果A−x++ B−X+−++C・x+−t+l”y+
−*がA CC(23)にストアされる。ステップ「4
」の最後に、命令APIDEC,AP21NCにより、
アドレスポインタ(18)はデクリメントされて、アド
レスr3J となり、アドレスポインタ(19)はイン
クリメントされてアドレス「5」となる。When step "4" is executed, data RAM (15) and constant RAM are input to inputs A and B of the multiplier (21).
The data Y+-+ stored at address "4" in (16) and the constant RI are applied, and the instruction ALUADD causes the multiplication result E-Y+-* of step "3" and ACC(
23) Contents A'X+-+ + B-X+-+ + C
'Xt-t is added in ALU (22), and the addition result is A-x++ B-X+-++C・x+-t+l”y+
-* is stored in ACC (23). Step "4"
At the end of ``, by command APIDEC, AP21NC,
The address pointer (18) is decremented to address r3J, and the address pointer (19) is incremented to address "5".
ステップ「5」が実行されると、5F!算u(21)の
人力A及びBには、データRA M (15)のアドレ
ス「3」にストアされたデータyl、と定数RAM(1
6)のアドレスr5.にストアされた定数Cが印加され
る。即ち、乗算器(21)は、このステップ「5」から
第2図に示されたデジタルフィルタの2段目の乗算を行
う。一方、命令ALUADDにより、ステップ「4」の
乗算結果D’)’+−+とACC(23)の内容A・X
1+ B−++−++ c−xl−1+ E’)’+−
tがALU (22)に於いて加算され、加算結果A−
x+ + B’X+−++C−X+−t+D−Y+−+
+E−’l+−tがA CC(23)にストアされる。When step “5” is executed, 5F! Human power A and B of calculation u (21) include data yl stored at address "3" of data RAM (15) and constant RAM (1).
6) address r5. A constant C stored in is applied. That is, the multiplier (21) performs the second stage multiplication of the digital filter shown in FIG. 2 from step "5". On the other hand, according to the instruction ALUADD, the multiplication result D')'+-+ of step "4" and the contents A/X of ACC (23)
1+ B-++-++ c-xl-1+ E')'+-
t is added in ALU (22), and the addition result A-
x+ + B'X+-++C-X+-t+D-Y+-+
+E-'l+-t is stored in ACC (23).
このときA CC(23)の内容は、1段目のデジタル
フィルタの出力y1となる。ステップ「5」の最後にア
ドレスポインタ(18)はインクリメントされてアドレ
ス「4」となり、アドレスポインタ(19)はインクリ
メントされてアドレス「6」 となる。At this time, the content of ACC(23) becomes the output y1 of the first stage digital filter. At the end of step "5", the address pointer (18) is incremented to address "4" and the address pointer (19) is incremented to address "6".
ステップ「6」が実行されると、乗算器(21)の入力
A及びBには、データRA M (15)のアドレス「
、1」にストアされたデータy、−1と定数RAM(1
6)のアドレス「6」にストアされた定数すが印加され
る。また、命令ACOSにより、A CC(23)にス
トアされたデータy;がデータバス(11)に送出され
、命令TMP I Dにより、データバス(11)に送
出されたデータylがテンポラリ−レジスタTMP+に
ストアされる。一方、命令ALUTHRにより、ステッ
プ「5」の乗算結果C・y、−2は、A、 LU(22
)を素通りしてA CC(23)にストアされる。When step "6" is executed, the inputs A and B of the multiplier (21) are set to the address "
, 1'' and the constant RAM (1
6) is applied to the constant stored at address "6". Furthermore, the instruction ACOS causes data y; stored in the ACC (23) to be sent to the data bus (11), and the instruction TMP ID causes the data yl sent to the data bus (11) to be transferred to the temporary register TMP+. Stored in On the other hand, according to the instruction ALUTHR, the multiplication result C・y,−2 in step “5” is A, LU(22
) and is stored in ACC (23).
ステップ「6」の最後にアドレスポインタ(1B)(1
9)はインクリメントされて、アドレスr5Jとアドレ
ス「7Jになる。At the end of step "6", address pointer (1B) (1
9) is incremented to become address r5J and address "7J.
ステップ「7」が実行されると、命令MULA−BUS
、B−CRAMにより、乗算器(21)の入力A及びB
には、データバス(11)に送出されたデータと定数、
RA M (16)のアドレス「7」にストアされた定
数aが印加される。また、命令T〜IPIS及びRAM
IDにより、テンポラリ−レジスタTMP 1にストア
されたデータy1は、データバス(11)に送出されて
乗算器(21)の入力Aに印加されると共に、アドレス
ポインタ(18)で指定されたデータRA M (15
)のアドレス「5」にストアされる。一方、命令ALU
ADDによりステップ「6」の乗算結果11y+−1と
A CC(23)のC’y1−tがA L U (22
)に於いて加算され、その結果’)’y+−+十C・y
、−1がA CC(23)にストアされる。ステップ「
7」の最後に、アドレスポインタ(18)(19)はイ
ンクリメントされてアドレス「6」とアドレス「8」に
なる。When step "7" is executed, the instruction MULA-BUS
, B-CRAM, the inputs A and B of the multiplier (21)
contains the data and constants sent to the data bus (11),
The constant a stored at address "7" of RAM (16) is applied. Also, instructions T~IPIS and RAM
The data y1 stored in the temporary register TMP1 according to the ID is sent to the data bus (11) and applied to the input A of the multiplier (21), and is also applied to the data RA specified by the address pointer (18). M (15
) is stored at address "5". On the other hand, the instruction ALU
By ADD, the multiplication result 11y+-1 of step "6" and C'y1-t of ACC (23) are A L U (22
) and the result is ')'y+-+10C・y
, -1 are stored in ACC (23). Step "
At the end of "7", address pointers (18) and (19) are incremented to address "6" and address "8".
ステップ「8」が実行されると、乗算器(21)の入力
A及びBには、データRAM(15)のアドレス「6」
にストアされたデータz1−8と定数RAM(16)の
アドレス「8」にストアされた定数eが印加され、一方
A L U (22)に於いてステップ「7」の乗算結
果a’y、とA CC(23)にストアされたデータh
’yl−++C−y+−tが加算され、その結果a−y
I+b−y−1+C−y1−*がA CC(23)にス
トアされる。ステップ「8」の最後にアドレスポインタ
(18)(19)はインクリメントされて、アドレス「
7」とアドレス「9」になる。When step "8" is executed, the address "6" of the data RAM (15) is input to the inputs A and B of the multiplier (21).
The data z1-8 stored in and the constant e stored at address "8" of constant RAM (16) are applied, while in ALU (22), the multiplication result a'y of step "7" is and data h stored in ACC (23)
'yl-++C-y+-t is added, resulting in a-y
I+b-y-1+C-y1-* is stored in ACC (23). At the end of step "8", the address pointers (18) and (19) are incremented, and the address pointer (18) (19) is incremented to
7” and the address becomes “9”.
ステップ「9」が実行されると、乗算器(21)の人力
A及びBには、データRAM(15)のアドレス「7」
にストアされたデータz1−5と定数RAM(16)の
アドレス「9」にストアされた定数dが印onされ、一
方A L T、’ (22)に於いて、ステップ「8」
の乗算結果e’Zl−1とA CC(23)にストアさ
れたデータa−y++b−)’+−++C・yl−3が
加算され、加算結果1−y++ FV’Jl−+ +
C’Y1−++ e−Zl−*がA CC(22)にス
トアされる。ステップ「9」の最後にアドレスポインタ
(18)(19)がインクリメントされると、アドレス
ポインタ(18)(19)は共にアドレスrQJ とな
る。When step "9" is executed, the address "7" of the data RAM (15) is stored in the multipliers A and B of the multiplier (21).
The data z1-5 stored in z1-5 and the constant d stored in address ``9'' of constant RAM (16) are marked on, while in ALT,' (22), step ``8''
The multiplication result e'Zl-1 and the data a-y++b-)'+-++C・yl-3 stored in A CC (23) are added, and the addition result 1-y++ FV'Jl-+ +
C'Y1-++ e-Zl-* is stored in ACC (22). When address pointers (18) and (19) are incremented at the end of step "9", both address pointers (18 and 19) become address rQJ.
ステップ「10」が実行されると乗算は行われず、ステ
5yプ「9」の乗算結果d−z、−,とA CC(23
)にストアされたデータa−yl+ b−yt−H+
C’y+−t+e’Z+−tがA L U (22)に
於いて加算され、その加り結果a−Y++ b−Y+−
++ Cf+−++ FZI−+ + eZ+−tがA
CC(23)にストアされる。When step "10" is executed, no multiplication is performed, and the multiplication results dz, -, and A CC (23
) Data stored in a-yl+ b-yt-H+
C'y+-t+e'Z+-t is added in A L U (22), and the addition result a-Y++ b-Y+-
++ Cf+-++ FZI-+ + eZ+-t is A
Stored in CC (23).
ステップ「ll」が実行されるとA CC(23)にス
トアされたデータがnビット右方向にシフトされる。シ
フトされた結果は、δ(a−y++ b−yI−1+C
−yI−tod−Zl−++1”Zt−z)となる。即
ち、δはl/2”と設定されているため、右方向にnピ
ットシフトすることがl/21を乗算したことになる。When step "ll" is executed, the data stored in ACC (23) is shifted to the right by n bits. The shifted result is δ(a-y++ b-yI-1+C
-yI-tod-Zl-++1"Zt-z). That is, since δ is set to 1/2", shifting n pits to the right means multiplying by 1/21.
ステップ「12」が実行されると、命令TMP3Sによ
り、テンポラリ−レジスタTMP 3に保持されている
データy+ −s −Z l−*がデータバス(11)
に送出され、A L U (22)に於いて、A CC
(23)のデータと加算され、その加算結果、Yl−*
−Zl−w+δ(a−y++b−Yl−++C−Y+−
m+clZ+−++(lZ+−t)がA CC(23)
に保持される。When step "12" is executed, the instruction TMP3S transfers the data y+ -s -Z l-* held in the temporary register TMP3 to the data bus (11).
, and in A L U (22), A CC
It is added to the data in (23), and the addition result is Yl−*
-Zl-w+δ(a-y++b-Yl-++C-Y+-
m+clZ+-++(lZ+-t) is A CC(23)
is maintained.
ステップ「13」が実行されると、命令T M P2S
によりテンポラリ−レジスタTMP 2のデータy+−
+−Z+−tがデータバス(11)に送出されると共に
、次のサンプリングデータの処理の遅延データを得るた
めに命令T M P 3 Dにより、データy+−+”
−21−+がテンボーラリ−レジスタTMP 3に書き
込まれる。一方、命令ALUSUBにより、ALU(2
2)に於いて、A CC(23)に保持されたデータか
、らデータバス(11)に送出されたデータ)’+−+
−Z+−+が引算され、その結果がA CC(23)に
保持される。When step "13" is executed, the instruction T M P2S
The data y+- of temporary register TMP2 is
+-Z+-t is sent to the data bus (11), and data y+-+'' is sent by instruction TMP3D to obtain delay data for the processing of the next sampling data.
-21-+ is written to the temporary register TMP3. On the other hand, the instruction ALUSUB causes ALU(2
2), the data held in the ACC (23) or the data sent from the data bus (11))'+-+
-Z+-+ is subtracted and the result is held in ACC (23).
ステップ「14」が実行されると、ステップ「13」と
同様、データバス(11)にデータy、−121−1が
送出され、A L U (22)に於いて、A CC(
23)に保持されたデータからyI−1−Z + −+
が引算され、その結果がA CC(23)に書き込まれ
る。このときのA CC(23)のデータは−2(yI
−+−2+−+)+ (Y 1− 鵞−z + −!
) + δ (a“y++b°y+−1+ Coy
l−g +d−z、−++e−z+−t)である。When step "14" is executed, similarly to step "13", data y, -121-1 is sent to the data bus (11), and in ALU (22), ACC (
23) from the data held in yI-1-Z + -+
is subtracted and the result is written to ACC (23). The data of ACC(23) at this time is -2(yI
-+-2+-+)+ (Y 1- Goose-z + -!
) + δ (a“y++b°y+-1+ Coy
l-g +d-z, -++e-z+-t).
ステップ「15」が実行されると、命令TMPISによ
り、テンポラリ−レジスタTMP 1のデータx、がデ
ータバス(11)に送出され、ALU(23)に於いて
、A CC(23)のデータと加算され、加算結果がA
CC(23)に書き込まれる。このときのA CC(
23)のデータは、Yl−x (V+−+−Z+−+)
+(S’+−*−Zl−1)+δ(a−yl+b−y
l−r+c’Y+−@+d・z、−++e−Z+−t)
、即ち、デジタルフィルタの出力データZiとなる。When step "15" is executed, the data x of the temporary register TMP 1 is sent to the data bus (11) by the instruction TMPIS, and added to the data of ACC (23) in the ALU (23). and the addition result is A
Written to CC (23). ACC at this time (
23) data is Yl-x (V+-+-Z+-+)
+(S'+-*-Zl-1)+δ(a-yl+b-y
l-r+c'Y+-@+d・z, -++e-Z+-t)
, that is, the output data Zi of the digital filter.
ステップ「16Jが実行されると、命令ACC8により
A CC(23)にストアされたデータz1がデータバ
ス(11)に送出され、命令RAMIDにより、アドレ
スポインタ(18)で指定されたデータRAM(15)
のアドレス「0」にストアされる。When step ``16J'' is executed, data z1 stored in ACC (23) is sent to the data bus (11) by instruction ACC8, and data z1 stored in ACC (23) by instruction RAMID is sent to data RAM (15) specified by address pointer (18). )
is stored at address "0".
ステップ「17」が実行されると、命令T M PIS
により、テンポラリ−レジスタTMP 1のデータyl
がデータバス(11)に送出され、命令ALUSUBに
より、データylからA CC(23)にストアされた
データ2.がA L tJ (22)で引算され、yI
−21がA CC(23)にストアされる。When step "17" is executed, the instruction T M PIS
As a result, data yl of temporary register TMP 1
is sent to the data bus (11), and the data 2. is subtracted by A L tJ (22), and yI
-21 is stored in ACC (23).
ステップ「18」が実行されると、命令ACC8により
、A CC(23)にストアされたデータY+−21が
データバス(11)に送出され、命令TMP 2 Dに
より、データバス(11)のブタY+ Zlがテンポ
ラリ−レジスタTMP 2にストアされ、次のサンプリ
ングデータの処理のための遅延データとなる。When step "18" is executed, the instruction ACC8 sends the data Y+-21 stored in the ACC (23) to the data bus (11), and the instruction TMP2D sends the data Y+-21 stored in the data bus (11) to the data bus (11). Y+Zl is stored in the temporary register TMP2 and becomes delay data for processing the next sampling data.
ステップ「18」の最後に命令APIINCにより、ア
ドレスポインタ(18)がインクリメントされてアドレ
スrlJ となる。従って、次のサンプリングデータX
l+1の処理開始時には、アドレスポインタ(18)で
アドレスされるデータRA M (15)は、アドレス
「1」からアクセスされることになり、前回のスタート
アドレスより1アドレス先にずれる。At the end of step "18", the address pointer (18) is incremented to the address rlJ by the instruction APIINC. Therefore, the next sampling data
At the start of processing l+1, the data RAM (15) addressed by the address pointer (18) will be accessed from address "1" and will be shifted one address ahead of the previous start address.
以上のステップ「0」〜「18」のプログラムをサンプ
リング周期毎に実行することにより、入力データX+、
X+++I X++1・・・・・・に対するフィルタ
処理が行われ、データRA M (15)の内容が第7
図(()(O)(・・)(ニ)・・・・・・の如く変化
し、フィルタ出力Zl+z1やto ZI+l+ ・・
・・・・が得られる。By executing the program of steps "0" to "18" above every sampling period, input data X+,
Filter processing is performed on X+++I X++1..., and the contents of data RAM (15) are
It changes as shown in the figure (()(O)(...)(d)..., and the filter output Zl+z1 and to ZI+l+...
... is obtained.
このように、第8図に示されたデジタルフィルタと第1
図に示された低周波帯域デジタルフィルタの積和演算が
連続して行え得ると共に、定数の小数点以下の有効数次
を16ビツトで表わされるようにして乗算するので乗算
精度が向上する。In this way, the digital filter shown in FIG.
The product-sum operation of the low frequency band digital filter shown in the figure can be performed continuously, and the multiplication accuracy is improved because the effective number orders below the decimal point of the constant are represented by 16 bits.
(ト)発明の効果
上述の如く本発明によれば、低周波帯域デジタルフィル
タにおいて、乗算のビット数を増加することなく乗算精
度を高くすることができるため、低周波帯域でのフィル
タ特性を良好に確保することができる。更に、他の低周
波帯域のフィルタ処理と連続して行うことがでる。特に
、DSPシステムによってグラフィックイコライザを実
現する場合、プログラムステップ数を短縮することがで
き、他の処理を行う余裕が生じ、DSPシステム全体の
スループットの向上にも貢献するものである。(G) Effects of the Invention As described above, according to the present invention, in a low frequency band digital filter, the multiplication precision can be increased without increasing the number of bits for multiplication, so that the filter characteristics in the low frequency band can be improved. can be secured. Furthermore, it can be performed continuously with other low frequency band filter processing. In particular, when implementing a graphic equalizer using a DSP system, the number of program steps can be shortened, creating more room for other processing, which also contributes to improving the throughput of the entire DSP system.
第1図は本発明の実施例を示す回路図、第2図は他の実
施例を示す回路図、第3図は第1図及び第2図に示され
たデジタルフィルタを実現するために好都合なりSPの
ブロック図、第4図は第3図のDSP装置に用いられる
命令の例を示す図、第5図は第2図のグラフィックイコ
ライザを実現するプログラムを示す図、第6図は、デー
タRAλ1、定数RAM、及び、テンポラリ−レジスタ
のデータ割付は図、第7図は一般的なりSP装置のブロ
ック図、第8図は従来のデジタルフィルタの回路図であ
る。
(9)(10)・・・デジタル処理回路、 (12)・
・・データ入出力回路、 (13)・・・インターフェ
イス回路、 (14)・・・制御回路、 (11)・
・・データバス、 (15)・・・データRAM、
(16)・・・定数RAM、 (17)・・・定数RO
M、 (18)(19)(20)・・・アドレスポイ
ンタ、(21)・・・乗算器、 (22)・・・ALU
、 (23)・・・アキュームレータ(ACC)、
(24)・・・テンボラノーレジスタ、(25)・・・
補助バス、 (26)・・・プログラムROM、 (2
7)・・・プログラムカウンタ、(28)・・・インス
トラクションデコーダ、 (29)・・・遅延素子、
(30)・・・乗算素子、 (31)・・・加算素子
。FIG. 1 is a circuit diagram showing an embodiment of the present invention, FIG. 2 is a circuit diagram showing another embodiment, and FIG. 3 is a circuit diagram convenient for realizing the digital filter shown in FIGS. 1 and 2. A block diagram of the SP, FIG. 4 is a diagram showing an example of instructions used in the DSP device of FIG. 3, FIG. The data allocation of RAλ1, constant RAM, and temporary register is shown in the figure, FIG. 7 is a block diagram of a general SP device, and FIG. 8 is a circuit diagram of a conventional digital filter. (9)(10)...Digital processing circuit, (12)-
...Data input/output circuit, (13)...Interface circuit, (14)...Control circuit, (11)...
...Data bus, (15)...Data RAM,
(16)...Constant RAM, (17)...Constant RO
M, (18) (19) (20)...address pointer, (21)...multiplier, (22)...ALU
, (23)...accumulator (ACC),
(24)...Tembora no register, (25)...
Auxiliary bus, (26)...Program ROM, (2
7)...Program counter, (28)...Instruction decoder, (29)...Delay element,
(30)...Multiplication element, (31)...Addition element.
Claims (1)
前記時間単位で遅延する複数の第1の遅延手段と、 前記入力されたデジタルデータ及び前記第1の遅延手段
の各遅延出力に各々定められた定数を乗算する第1の乗
算手段と、 出力デジタルデータを前記時間単位で遅延する複数の第
2の遅延手段と、 該第2の遅延手段の各遅延出力に各々定められた定数を
乗算する第2の乗算手段と、 前記第1の乗算手段の各出力と前記第2の乗算手段の各
出力を加算する第1の加算手段と、該第1の加算手段の
加算結果に定数を乗算する第3の乗算手段と、 前記入力されたデジタルデータから出力されたデジタル
データを減算する減算手段と、 該減算手段の出力を前記時間単位で遅延する第3の遅延
手段と、 該第3の遅延手段の所定出力に所定の定数を乗算する第
4の乗算手段と、 前記入力されたデジタルデータ、前記第3の乗算手段の
乗算結果、前記第4の乗算手段の乗算結果、及び、前記
第3の遅延回路の出力デジタルデを加算する第2の加算
手段と、 からなる低周波帯域デジタルフィルタ。(1) a plurality of first delay means for delaying digital data input every predetermined time unit by the time unit; and a plurality of first delay means each delaying the input digital data and the delay output of the first delay means respectively. a plurality of second delay means for delaying the output digital data by the time unit; and a plurality of second delay means for multiplying each delayed output of the second delay means by a predetermined constant. a second multiplication means for adding each output of the first multiplication means and each output of the second multiplication means; and a first addition means for adding each output of the first multiplication means and each output of the second multiplication means; a third multiplication means for subtracting the output digital data from the input digital data; a third delay means for delaying the output of the subtraction means by the time unit; fourth multiplication means for multiplying a predetermined output of the delay means by a predetermined constant; and the input digital data, the multiplication result of the third multiplication means, the multiplication result of the fourth multiplication means, and the third A low frequency band digital filter comprising: second adding means for adding the output digital signals of the delay circuits of No. 3;
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP23752689A JPH0695627B2 (en) | 1989-09-13 | 1989-09-13 | Low frequency digital filter |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP23752689A JPH0695627B2 (en) | 1989-09-13 | 1989-09-13 | Low frequency digital filter |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62179301A Division JP2630778B2 (en) | 1987-07-17 | 1987-07-17 | Method of configuring low frequency band digital filter |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02140010A true JPH02140010A (en) | 1990-05-29 |
| JPH0695627B2 JPH0695627B2 (en) | 1994-11-24 |
Family
ID=17016638
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP23752689A Expired - Fee Related JPH0695627B2 (en) | 1989-09-13 | 1989-09-13 | Low frequency digital filter |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0695627B2 (en) |
-
1989
- 1989-09-13 JP JP23752689A patent/JPH0695627B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0695627B2 (en) | 1994-11-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5216718A (en) | Method and apparatus for processing audio signals | |
| JPH11261376A (en) | Digital iir filter by few multipliers | |
| US5933360A (en) | Method and apparatus for signal compression and processing using logarithmic differential compression | |
| EP0577101A1 (en) | Multiplier accumulator | |
| JPH02140010A (en) | Low frequency band digital filter | |
| US6209012B1 (en) | System and method using mode bits to support multiple coding standards | |
| KR0134042B1 (en) | Digital Signal Processing Device and Signal Processing Method | |
| US6032081A (en) | Dematrixing processor for MPEG-2 multichannel audio decoder | |
| KR0147758B1 (en) | Synthesis filter of mpeg-2 audio decoder | |
| JPH04140827A (en) | Arithmetic method for floating point display data | |
| JPH0410009A (en) | Nonlinear converting method for digital data and signal processor using said converting method | |
| JP2647991B2 (en) | Audio signal processing device having directionality enhancement | |
| JPH02236693A (en) | Digital signal processor | |
| JP2630778B2 (en) | Method of configuring low frequency band digital filter | |
| JPS63316165A (en) | Digital signal processor | |
| JPH01179515A (en) | Digital signal processor and signal processing method | |
| JP2589199B2 (en) | Nonlinear conversion method of digital data and signal processing device using the same | |
| JP3672076B2 (en) | Operation unit, operation method, and processor | |
| EP0901106B1 (en) | System and method using mode bits to support multiple coding standards | |
| JP2686234B2 (en) | Digital signal processing device and signal processing method | |
| JPH07191964A (en) | Digital signal processor | |
| JPH0199312A (en) | Arithmetic unit | |
| JPH0375927A (en) | Square root arithmetic unit | |
| JPH0438541A (en) | Digital signal processor | |
| JPS59180733A (en) | Accumulating-adding circuit |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |