JPH0619797B2 - Convolution operation circuit - Google Patents
Convolution operation circuitInfo
- Publication number
- JPH0619797B2 JPH0619797B2 JP59022756A JP2275684A JPH0619797B2 JP H0619797 B2 JPH0619797 B2 JP H0619797B2 JP 59022756 A JP59022756 A JP 59022756A JP 2275684 A JP2275684 A JP 2275684A JP H0619797 B2 JPH0619797 B2 JP H0619797B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- signal
- output
- counter
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
【発明の詳細な説明】 〔発明の技術分野〕 本発明は、例えばデジタルフィルタ等のデジタル信号処
理システムに適用されるたたみ込み演算回路に関する。Description: TECHNICAL FIELD OF THE INVENTION The present invention relates to a convolutional arithmetic circuit applied to a digital signal processing system such as a digital filter.
近時、音響機器の分野では可及的に高忠実度再生化を図
るために、PCM(パレスコードモジュレーション)技術
を利用したPCMレコーダやDAD(デジタルオーディオディ
スク)プレーヤ等のデジタル記録再生装置が普及されつ
つある。そこで、このデジタル記録再生装置の基本的な
構成について第1図を参照して説明する。先ず、入力端
子(11)に供給された音声信号等のアナログ信号は、ロー
パスフィルタ(12)によって不要な高周波成分が除去され
た後、サンプル・ホールド回路(13)に供給されて所定の
サンプリング周波数(例えばDADプレーヤの場合44.1KH
z)の周期間隔でサンプリングされる。このサンプリン
グされたアナログ信号は、A/D(analog to digital)変
換器(14)によって量子化及び符号化されてデジタル信号
に変換され、デジタル処理回路(15)によってエラー訂正
コード付加及びデジタル変調の処理が施された後、テー
プやディスク等の記録媒体(16)に記録される。そして、
再生時に記録媒体(16)から取り出される再生信号は、デ
ジタル復調処理回路(17)によって復調及び記録媒体(16)
の欠陥等によるエラーの訂正が施され元のデジタル信号
に戻される。このデジタル信号はD/A(digital to anal
og)変換器(18)によって階段状のアナログ信号に変換さ
れた後、ローパスフィルタ(19)によりノイズとなる高調
波成分を除去して連続的なアナログ信号つまり元の音声
信号として出力端子(24)より取り出されるようになって
いる。In recent years, in the field of audio equipment, digital recording / playback devices such as PCM recorders and DAD (digital audio disc) players that use PCM (palace code modulation) technology have become popular in order to achieve high fidelity playback. Is being done. Therefore, the basic configuration of this digital recording / reproducing apparatus will be described with reference to FIG. First, an analog signal such as an audio signal supplied to the input terminal (11) is supplied to the sample-hold circuit (13) after removing unnecessary high-frequency components by the low-pass filter (12) and then supplied to a predetermined sampling frequency. (For example, 44.1KH for DAD player
z) is sampled at periodic intervals. This sampled analog signal is quantized and encoded by an A / D (analog to digital) converter (14) to be converted into a digital signal, and an error correction code is added and digitally modulated by a digital processing circuit (15). After being processed, it is recorded on a recording medium (16) such as a tape or a disk. And
The reproduction signal extracted from the recording medium (16) during reproduction is demodulated and recorded by the digital demodulation processing circuit (17).
The error is corrected due to the defect of 1) and is returned to the original digital signal. This digital signal is D / A (digital to anal
After being converted to a stepwise analog signal by the converter (18), the harmonic component that becomes noise is removed by the low-pass filter (19) to output a continuous analog signal, that is, the original audio signal at the output terminal (24 ).
ところで、上記のようなデジタル記録再生装置は、アナ
ログ信号をサンプリングして再び元に戻すと、原信号に
含まれる周波数成分にサンプリング周波数を中心として
折返される高調波成分が発生し、結果として原信号の帯
域上限付近に高調波が分布することになるため、これを
取り除く必要からローパスフィルタ(19)に急峻なフィル
タ特性を持たせている。しかるに、A/D変換器(14)の後
段あるいはD/A変換器(18)の前段に第1図中点線で示し
たデジタルフィルタ(21)を介在させ、デジタル信号の段
階で上記高調波成分を取り除くようにすれば、ローパス
フィルタ(19)のフィルタ特性を軽減することができる。By the way, in the digital recording / reproducing apparatus as described above, when the analog signal is sampled and returned to the original state, a harmonic component folded around the sampling frequency is generated in the frequency component included in the original signal, and as a result, the original component is generated. Since the harmonics are distributed near the upper band limit of the signal, the low-pass filter (19) has a steep filter characteristic in order to remove the harmonics. However, the digital filter (21) shown by the dotted line in Fig. 1 is interposed in the stage after the A / D converter (14) or in the stage before the D / A converter (18), and the above-mentioned harmonic component is generated at the stage of digital signal. If is removed, the filter characteristic of the low-pass filter (19) can be reduced.
ここで、上記のデジタルフィルタ(21)は、その作用を周
波数軸(w)でみた場合、A/D変換器(14)によって作られる
デジタル信号の周波数スペクトルX(w)に対し、フィル
タ特性として設定した伝達関数G(w)を乗じて(Y(w)=
G(w)×X(w))、高調波成分を除去した理想的な周波数
スペクトルY(w)を得る機能を有し、このことを上記演
算を逆フーリエ変換することにより時間軸上で実現する
ものである。すなわち、実際にはA/D変換器(14)によっ
て作られるサンプリング周期(τ)間隔の離散的な入力
信号列x(t)(tはτ間隔の時間列で整数値で表わすこと
にする)と後述する係数データg(k)(k=0,1,2,…,n)をた
たみ込み演算式 に基いて累積加算することにより、入力信号x(t)を演算
値のデジタル信号y(t)に変換するもので、上記周波数軸
における作用を現実的な処理領域である時間軸上ででな
し得るようにしてある。ここで、上記係数データg(k)に
は、所望の伝達係数G(w)を逆フーリエ変換して求めら
れるインパルス応答の各所定時点の値が割り当てられ
る。Here, the digital filter (21) has a filter characteristic with respect to the frequency spectrum X (w) of the digital signal produced by the A / D converter (14) when the action is viewed on the frequency axis (w). Multiply the set transfer function G (w) (Y (w) =
G (w) x X (w) ), which has a function of obtaining an ideal frequency spectrum Y (w) from which harmonic components are removed, and this is realized on the time axis by performing an inverse Fourier transform on the above calculation. To do. That is, actually, a discrete input signal sequence x (t) with a sampling period (τ) interval generated by the A / D converter (14) (t is a time sequence with τ interval and is represented by an integer value). And the coefficient data g (k) (k = 0,1,2, ..., n), which will be described later, are convoluted The input signal x (t) is converted to a digital signal y (t) of the calculated value by performing cumulative addition on the basis of the above. I am trying to get it. Here, the coefficient data g (k) is assigned a value at each predetermined time point of the impulse response obtained by inverse Fourier transform of the desired transfer coefficient G (w) .
また、デジタルフィルタ(21)においては、入力信号x(t)
と係数データg(k)とのたたみ込み操作の段階でサンプリ
ング周波数を数倍にあげることが考えられる。つまり、
サンプリング周期間隔で供給される入力信号x(t)を1サ
ンプル分取り入れる間にたたみ込み操作を数回実行すれ
ばその操作間隔で複数の出力をることができる。そし
て、フィルタのたたみ込み操作をこのように設定した場
合には、上記高調波成分と原信号の周波数成分が引き離
され、その結果、サンプリング操作のエラー等により折
返し部分に発生する折返しひずみを除去できる共に、デ
ジタルフィルタの前述の作用と相乗してローパスフィル
タ(19)の特特性を軽減できることになる。In the digital filter (21), the input signal x (t)
It is conceivable to increase the sampling frequency several times at the stage of the convolution operation with the coefficient data g (k). That is,
If the convolution operation is executed several times while the input signal x (t) supplied at the sampling cycle interval is taken in for one sample, a plurality of outputs can be output at the operation interval. Then, when the convolution operation of the filter is set in this way, the harmonic component and the frequency component of the original signal are separated, and as a result, the aliasing distortion generated in the aliasing part due to an error in the sampling operation can be removed. In both cases, the special characteristics of the low-pass filter (19) can be reduced in synergy with the above-described operation of the digital filter.
このように、デジタル記録再生装置にデジタルフィルタ
(21)を設けることによって、ローパスフィルタ(19)はフ
ィルタ特性を低次にした簡易な構成のもので済むように
なり、デジタル記録再生装置全体としても性能の向上及
び製造費用の削減を図れるようになる。In this way, the digital filter
By providing (21), the low-pass filter (19) can have a simple structure with low-order filter characteristics, and can improve the performance and reduce the manufacturing cost of the digital recording / reproducing apparatus as a whole. become.
そこで、上記のことを背景として、次にデジタルフィル
タ(21)の主動作をなすたたみ込み演算回路について説明
する。第2図は従来試案されているたたみ込み演算回路
の構成を示すものである。図中、ROM(読み出し専用メ
モリ)((31)には予め設定した係数データ群g(k)を格納
しており、この係数データg(k)はマイクロコンピュータ
(32)のアドレス指定信号に基いて順次読み出され、ROM
(31)の出力端子(OLSB〜OMSB)より累積加算器(33)の
係数データ入力端子(IgLSB〜IgMSB)に供給される。ま
た、たたみ込み演算のもう一方のデータ列をなす入力信
号x(t)は、外部装置より所定間隔で供給されるもので、
例えば図に示したように信号の各ビットデータ(DLSB
〜DLSB)に対応してビット数分のトライステートバフ
ァ(34)を並列に配置したゲート(35)に一旦入力され、そ
の後マイクロコンピュータ(32)の指令によって適時RAM
(読み出し/書き込みメモリ)(36)の入/出力端子(I/
OLSB〜I/OMSB)及び累積加算器(33)の入力信号入力端子
(IxLSB〜IxMSB)に出力される。ここで、RAM(36)は所
定時に入力信号x(t)を記憶すると共に、通常は読み出し
モードなり既に格納した入力信号を入/出力端子(I/O
LSB〜I/OMSB)より累積加算器(33)に供給する。なお、R
AM(36)の作用モード(読み出し/書き込みモード)の指
定及びアドレス指定は全てマイクロコンピュータ(32)に
よってなされる。Then, with the above as a background, the convolution operation circuit that performs the main operation of the digital filter (21) will be described next. FIG. 2 shows the configuration of a convolution operation circuit which has been conventionally proposed. In the figure, a ROM (read-only memory) ((31) stores a preset coefficient data group g (k). This coefficient data g (k) is stored in a microcomputer.
Sequential read based on (32) addressing signal, ROM
It is supplied to the coefficient data input terminals of the output terminal of the (31) (O LSB ~O MSB ) from the cumulative adder (33) (Ig LSB ~Ig MSB ). Further, the input signal x (t) forming the other data string of the convolution operation is supplied from the external device at a predetermined interval,
For example, as shown in the figure, each bit data of the signal (D LSB
Corresponding to ~ D LSB ), it is once input to the gate (35) in which the tri-state buffers (34) for the number of bits are arranged in parallel, and then the timely RAM is issued by the command of the microcomputer (32).
(Read / write memory) (36) input / output terminal (I /
O LSB ~I / O MSB) and is output to an input signal input terminal of the accumulator (33) (Ix LSB ~Ix MSB ). Here, the RAM (36) stores the input signal x (t) at a predetermined time and normally enters the read mode to input the already stored input signal to the input / output terminal (I / O).
Supplied to cumulative adder (33) from LSB to I / O MSB . Note that R
The specification of the operation mode (read / write mode) and the addressing of the AM (36) are all performed by the microcomputer (32).
ここで、上記たたみ込み演算回路の動作の流れを簡単に
説明しておく。そこで、 の演算を行う場合を例にとると、先ずマイクロコンピュ
ータ(32)はROM(31)に格納された係数データg(2),g(4),
…,g(2m)とRAM(36)に既に格納したx(t-1),x(t-2),…,
x(t-m)をg(2k)対x(t-k)の対応関係に従って順次読み出
すべくアドレス指定をなし、ここで読み出されたデータ
は累積加算器(33)に供給されて順次乗算及び加算され
る。その間、マイクロコンピュータ(32)から出力される
▲▼(書込み/読み出し指定)信号はL(ロー)
レベルであり、RAM(36)を読み出しモードにすると共
に、ゲート(35)の各トライステートバッフア(34)のセレ
クト端子に印加され、ここをハイインピーダンス状態つ
まり外部装置から供給される入力信号x(t)の入力を遮断
した状態にする。また、マイクロコンピュータ(32)は上
記操作の前,後あるいは最中の適当な時期に▲▼
信号をH(ハイ)レベルに変え、RAM(36)を書き込みモ
ードにすると共にゲート(35)のハイインピーダンス状態
を解除して最新の入力信号x(t)を累積加算器(33)及びRA
M(36)に導くようにする。なお、その際にもマイクロコ
ンピュータ(32)はROM(31)及びRAM(36)のアドレス指定を
なし、ROM(31)からは入力信号x(t)に対応する係数デー
タg(0)を出力するようにし、RAM(36)では入力信号x(t)
を次の演算に使用すべく所定のアドレスに格納する。そ
して、累積加算器(33)はたたみ込み演算 に係る全てのデータを入力した段階で、マイクロコンピ
ュータ(32)の出力制御信号によりその演算結果を出力す
ることになる。Here, the flow of operation of the convolution operation circuit will be briefly described. Therefore, Taking the case of performing the calculation of as an example, first, the microcomputer (32) first calculates the coefficient data g (2), g (4),
… , G (2m) and x (t-1), x (t-2),… that have already been stored in RAM (36)
Addressing is performed to sequentially read x (tm) according to the correspondence relationship of g (2k) to x (tk), and the data read here is supplied to the cumulative adder (33) and sequentially multiplied and added. . Meanwhile, the ▲ ▼ (write / read designation) signal output from the microcomputer (32) is L (low).
This is the level, the RAM (36) is set to the read mode, and it is applied to the select terminal of each tri-state buffer (34) of the gate (35) and is in the high impedance state, that is, the input signal x supplied from the external device. Turn off the input of (t). Also, the microcomputer (32) should be operated at an appropriate time before, after or during the above operation.
The signal is changed to H (high) level, the RAM (36) is set to the write mode, the high impedance state of the gate (35) is released, and the latest input signal x (t) is added to the accumulator (33) and RA.
Try to lead to M (36). At that time, the microcomputer (32) also addresses the ROM (31) and the RAM (36), and outputs the coefficient data g (0) corresponding to the input signal x (t) from the ROM (31). Input signal x (t) in RAM (36).
Is stored at a predetermined address for use in the next calculation. Then, the cumulative adder (33) is a convolution operation. At the stage of inputting all the data related to the above, the calculation result is output by the output control signal of the microcomputer (32).
このように、従来の技術から考えられるたたみ込み演算
回路では、係数データg(k)及びその被乗数データとなる
入力信号x(t)の演算に係る2組のデータを所定のメモリ
に格納すると共に、それらを一定の対応関係の基に順次
累積加算器に供給するものであって、その操作を全てマ
イクロコンピュータ(32)が制御する構成になっている。As described above, in the convolution operation circuit considered from the conventional technique, the coefficient data g (k) and two sets of data related to the operation of the input signal x (t) which is the multiplicand data thereof are stored in a predetermined memory and , And these are sequentially supplied to a cumulative adder based on a fixed correspondence relationship, and the operation is entirely controlled by the microcomputer (32).
上記のような従来のたたみ込み演算回路は、マイクロコ
ンピュータを使用している点で汎用性を有するものであ
る。しかしながら、このようなたたみ込み演算回路を仮
にDADプレーヤ用のデジタルフィルタに採用しようとす
ると、マイクロコンピュータの処理速度に問題がありた
たみ込み演算回路が他の信号処理システムの流れについ
ていけないという極めて不都合な事態に陥いる場合があ
る。すなわち、前述のデジタル記録再生装置に用いるデ
ジタルフィルタにおいては、入力信号x(t)がサンプリン
グされた周期間隔で次々に入力されるため、その信号処
理であるたたみ込み演算を実時間で行う必要があり、し
かも高調波成分が多く含まれる信号を扱うデジタルフィ
ルタではフィルタ特性となる伝達関数を設定する上でた
たみ込み演算に使用される係数データg(k)のサンプル数
をかなり多く取らなければならず高次の演算になる。こ
のようなことから、マイクロコンピュータによって前述
のアドレス指定信号等の各信号をコントロールしていた
のではCPU(中央処理装置)への負担が過重になり定時
間での演算処理は不可能となる。そしてこのような問題
は演算が複雑化するほどより顕著になり、実用化に当っ
てはたたみ込み演算回路の信号処理機能を限定するもの
であった。The conventional convolution operation circuit as described above is versatile in that it uses a microcomputer. However, if such a convolutional arithmetic circuit were to be adopted in a digital filter for a DAD player, there was a problem in the processing speed of the microcomputer, which is extremely inconvenient because the convolutional arithmetic circuit cannot keep up with the flow of other signal processing systems. There are times when you are in trouble. That is, in the digital filter used in the digital recording / reproducing apparatus described above, since the input signal x (t) is sequentially input at the sampled cycle intervals, it is necessary to perform the convolution calculation which is the signal processing in real time. In addition, in a digital filter that handles a signal that contains many harmonic components, a large number of samples of coefficient data g (k) used for convolution calculation must be taken when setting the transfer function that is the filter characteristic. Instead, it becomes a higher-order calculation. Therefore, if each signal such as the above-mentioned addressing signal is controlled by the microcomputer, the load on the CPU (central processing unit) becomes too heavy and the arithmetic processing cannot be performed in a constant time. Such a problem becomes more remarkable as the calculation becomes more complicated, and in practical use, the signal processing function of the convolution calculation circuit is limited.
また、第2図のROM31およびRAM36の前段にカウンタを具
備した従来例もあったが、これらのカウンタをマイクロ
コンピュータ32側でで制御しなければならず、制御が
複雑になったり、回路が複雑になるのを避けられなかっ
た。Further, there is a conventional example in which counters are provided in front of the ROM 31 and the RAM 36 shown in FIG. 2, but these counters must be controlled by the microcomputer 32 side, which complicates the control and complicates the circuit. I couldn't avoid becoming.
本発明は上記のような問題点を考慮してなされたもの
で、デジタル信号のたたみ込み操作において実時間処理
に好適するたたみ込み演算回路を提供することを目的と
する。The present invention has been made in consideration of the above problems, and an object thereof is to provide a convolution operation circuit suitable for real-time processing in a convolution operation of a digital signal.
上記目的を達成するために、この発明では、離散的な2
組のデータ列の互いの要素をなす係数データおよび被乗
数データを順次乗算加算する累積加算手段と、前記2組
のデータ列のうち一方の前記係数データ列を格納した第
1のメモリと、前記2組のデータ列のうち他方の前記被
乗数データ列を格納する第2のメモリと、前記第1のメ
モリに格納された前記係数データを順次読み出すための
アドレス指定を行う第1のカウント手段と、前記第2の
メモリに前記被乗数データとなる入力信号を書込む際あ
るいは前記第2のメモリに格納された前記被乗数データ
を読み出すためのアドレス指定を行う第2のカウント手
段と、前記第1のカウント手段の出力が所定値のとき前
記第2のカウント手段の出力を一時的に変更する制御信
号を生成する制御信号生成手段と、前記第2のメモリの
作用モードを指定する信号を生成する作用モード指定信
号生成手段と、前記第2のメモリが書き込み状態にある
ときに前記入力信号を第2のメモリおよび前記累積加算
手段に導入する入力信号導入手段とを具備している。In order to achieve the above object, in the present invention, the discrete 2
A cumulative addition means for sequentially multiplying and adding coefficient data and multiplicand data that form mutual elements of a set of data strings; a first memory storing one of the coefficient data strings of the two sets of data strings; A second memory for storing the other multiplicand data string of the set of data strings; a first counting means for addressing to sequentially read the coefficient data stored in the first memory; Second counting means for writing an input signal to be the multiplicand data in the second memory or for addressing for reading the multiplicand data stored in the second memory; and the first counting means. Control signal generating means for generating a control signal for temporarily changing the output of the second counting means when the output of the second memory is a predetermined value, and the operation mode of the second memory. And an input signal introduction means for introducing the input signal to the second memory and the cumulative addition means when the second memory is in the write state. There is.
本発明の実施例について、以下図面を参照して詳細に説
明する。なお、以下に述べる実施例ではたたみ込み演算
に係る係数データ及びその被乗数データが共に16ビビツ
トの信号である場合を想定して説明するが、実際は何ビ
ツトでも構わない。Embodiments of the present invention will be described in detail below with reference to the drawings. In the embodiments described below, a case is assumed in which the coefficient data relating to the convolution operation and the multiplicand data thereof are both 16-bit signals, but any number of bits may actually be used.
先ず、第3図は本発明のたたみ込み演算回路における一
実施例(第1の実施例)の回路構成を示すものである。
この実施例は係数データg(k)のサンプル数を32個に設
定してある。図中、累積加算器(41)の一方の入力端子
(Ig0〜Ig15)は係数データg(0)〜g(31)を格納したROM
(42)の出力端子(O0〜O15)に接続されており、このROM
(42)のアドレス入力端子(AD0〜AD4)は同期式の32進カ
ウンタ(43)の出力端子Q0〜Q4)に接続されている。ま
た、被乗数データが印加される累積加算器(41)の他方の
入力端子(Ix0〜Ix15)は、外部装置から供給される入
力信号x(t)(各ビツトの情報がD0,D1,…,D15)をその
各ビツトに対応して16個のトライステートバッファ(4
4)が並列に配置されたゲート(45)を介して後述する所定
のタイミングで取り入れると共に、前段までの複数個の
入力信号を被乗数データとして格納したRAM(46)の入/
出力端子(I/O0〜I/O15)に接続れている。そして、こ
のRAM(46)のアレス入力端子(AD0〜AD4)に印加される
アドレス信号は、後述する8進可変カウンタ(47)によっ
て生成されその出力端子(Q0〜Q2)より供給されるよう
になっている。また、RAM(46)の作用モードを指定する
▲▼信号は上記の32進カウンタ(43)の出力端子
(Q0〜Q2,3,4)に接続された5入力ANDゲート(48)
によって生成され、ここで生成且つコントロールされる
▲▼信号はRAM((46)に供給されると共に、その一
方ではゲート(45)において各トライステートバッファ(4
4)のセレクト端子に入力され入力信号x(t)のRAM(46)及
び累積加算器(41)への供給を制御する。First, FIG. 3 shows a circuit configuration of an embodiment (first embodiment) of the convolution operation circuit of the present invention.
In this embodiment, the number of samples of coefficient data g (k) is set to 32. In the figure, one input terminal (Ig 0 to Ig 15 ) of the cumulative adder (41) is a ROM that stores coefficient data g (0) to g (31).
This ROM is connected to the output terminals (O 0 to O 15 ) of (42).
The address input terminals (AD 0 to AD 4 ) of (42) are connected to the output terminals Q 0 to Q 4 of the synchronous 32-ary counter (43). The other input terminal (Ix 0 ~Ix 15) of the accumulator (41) which multiplicand data is applied to the input signal x (t) (information of each bit supplied from an external device D 0, D 16 tri-state buffers (4, 1 , ..., D 15 ) corresponding to each bit
4) is taken in through a gate (45) arranged in parallel at a predetermined timing to be described later, and an input / output of a RAM (46) storing a plurality of input signals up to the preceding stage as multiplicand data.
It is connected to the output terminals (I / O 0 to I / O 15 ). The address signal applied to the ares input terminals (AD 0 to AD 4 ) of the RAM (46) is generated by an octal variable counter (47) described later and supplied from its output terminals (Q 0 to Q 2 ). It is supposed to be done. Also, the ▲ ▼ signal that specifies the operation mode of the RAM (46) is a 5-input AND gate (48) connected to the output terminals (Q 0 to Q 2 , Q 3 , Q 4 ) of the above-mentioned 32-bit counter (43).
The signal generated by, and generated and controlled by, the RAM is supplied to the RAM ((46)) while the tristate buffer (4
The supply of the input signal x (t) input to the select terminal of 4) to the RAM (46) and the cumulative adder (41) is controlled.
ここで、上記の8進可変カウンタ(47)について説明する
と、このカウンタは上記32進カウンタ(43)と同一のクロ
ック(CLOCK)パルスをカウントする3ビットの同期式
カウンタであって3個のDFF(D型フリップフロップ)
からなる。そして、1段目のDFF(49)の入力側には排他
的論理和ゲート(50)が置かれ、且つ出力端子Q0は2入力
ORゲート(51)及び排他的論理和ゲート(52)を介して2段
目のDFF(53)の入力端子Dに接続されている。さらに2
段目のDFF(53)の出力端子Q1は2入力ANDゲート(54)及び
排他的論理和ゲート(55)を介して3段目のDFF(56)の入
力端子Dに接続されている。そこで、排他的論理和ゲー
ト(50)はその入力一端に後述するカウンタ制御信号が印
加され、入力他端には1段目のDFF(49)の負相出力が印
加されるものであり、2入力ORゲート(51)は1段目のDF
F(49)の正相出力及びカウンタ制御信号を入力し、排他
的論理和ゲート(52)は2入力ORゲート(51)の出力及び2
段目のDFF(53)の正相出力を入力する。さらに2入力AND
ゲート(54)は2段目のDFF(53)の正相出力及び2入力OR
ゲート(51)の出力を入力し、排他的論理和ゲート(55)は
2入力ANDゲート(54)の出力及び3段目のDFF(56)の正相
出力を入力する構成になている。そして、各段のDFF(4
9),(53),(56)はクロックの立ち上がりで動作し、その正
相出力がRAM(46)のアドレス信号となる。ところで、上
記のカウンタ制御信号は32進カウンタ(43)の出力端子
(Q0〜Q4)に接続された5入力ANDゲート(57)によって
生成され、8進可変カウンタ(47)にイネイブル(enable)
信号として入力されるものである。そこで、上記構成の
8進可変カウンタ(47)はカウンタ制御信号のレベル状態
に対応してカウント様式が次のように変化する。すなわ
ち、この8進可変カウンタ(47)はカウンタ制御信号がL
レベルの間は1段目のDFF(49)の出力がクロックに同期
して反転する一般のカウンタ動作をなすが、Hレベルの
カウンタ制御信号が入力されると1段目のDFF(49)の出
力はホールドされ2段目のDFF(53)の出力が反転するよ
うになる。つり、8進可変カウンタ(47)のカウント値は
カウンタ制御信号がLレベルの場合クロック毎に+1さ
れるのに対し、Hレベルの場合には次のカウント値が+
2されることになる。The octal variable counter (47) will now be described. This counter is a 3-bit synchronous counter that counts the same clock (CLOCK) pulse as the 32-bit counter (43), and includes three DFFs. (D-type flip-flop)
Consists of. An exclusive OR gate (50) is placed on the input side of the first stage DFF (49), and the output terminal Q 0 has 2 inputs.
It is connected to the input terminal D of the second-stage DFF (53) via the OR gate (51) and the exclusive OR gate (52). 2 more
The output terminal Q 1 of the DFF (53) in the third stage is connected to the input terminal D of the DFF (56) in the third stage via the 2-input AND gate (54) and the exclusive OR gate (55). Therefore, the exclusive OR gate (50) has a counter control signal, which will be described later, applied to one input end thereof, and a negative phase output of the DFF (49) of the first stage applied to the other input end thereof. Input OR gate (51) is the first DF
The positive-phase output of F (49) and the counter control signal are input, and the exclusive OR gate (52) outputs the output of the 2-input OR gate (51) and 2
Input the positive phase output of DFF (53) at the second stage. 2 more inputs AND
Gate (54) is the positive phase output and 2 input OR of the second stage DFF (53)
The output of the gate (51) is inputted, and the exclusive OR gate (55) is inputted with the output of the 2-input AND gate (54) and the positive phase output of the DFF (56) of the third stage. Then, the DFF (4
9), (53), and (56) operate at the rising edge of the clock, and the positive phase output becomes the address signal of RAM (46). By the way, the above counter control signal is generated by the 5-input AND gate (57) connected to the output terminals (Q 0 to Q 4 ) of the 32-bit counter (43) and is enabled by the octal variable counter (47). )
It is input as a signal. Therefore, the octal variable counter (47) having the above-mentioned configuration changes the counting mode as follows in accordance with the level state of the counter control signal. That is, the octal variable counter (47) has a counter control signal of L
While the level is in the normal counter operation, the output of the first-stage DFF (49) is inverted in synchronization with the clock. However, when the H-level counter control signal is input, the first-stage DFF (49) outputs The output is held and the output of the second stage DFF (53) is inverted. That is, the count value of the octal variable counter (47) is incremented by 1 every clock when the counter control signal is at L level, while the next count value is + when it is at H level.
2 will be done.
また、前述の累積加算器(41)はその詳細を第4図に示す
ように、乗算器及び加算器を構成要素とする累積加算回
路(61)と、その出力をラッチするラッチ回路(62)を備
え、さらに32進カウンタ(43)下位3ビットのデータを入
力する3入力ANDゲート(63)と、その出力を32進カウン
タ(43)の入力クロックをインバータ(64)により反転させ
たクロックの立ち上がりでラッチするラッチ回路(65)を
有するものである。そして、3入力ANDゲート(63)の出
力はラッチ回路(65)にデータ入力されると共に、累積加
算回路(61)にクリア(CLEAR)信号として入力される。
ここで、累積加算回路(61)の累積加算回路はROM((42)の
出力g(k)とROM(46)の出力x(t)を乗算しその乗算値を次
々に加算したものであり、クリア信号の立ち下がりによ
ってクリアされる。また、この累積加算出力を入力する
ラッチ回路(62)はラッチ回路(65)の出力をクロック入力
し、ここでラッチされたデータが累積加算器(41)の出力
すなわちたたみ込み演算回路の出力データy(t)となる。The cumulative adder (41) described above, as shown in detail in FIG. 4, has a cumulative adder circuit (61) having a multiplier and an adder as constituent elements, and a latch circuit (62) for latching its output. And a 3-input AND gate (63) for inputting the data of the lower 3 bits of the 32-bit counter (43) and a clock obtained by inverting the output of the 32-bit counter (43) by the inverter (64). It has a latch circuit (65) for latching at the rising edge. The output of the 3-input AND gate (63) is input to the latch circuit (65) as data and is input to the cumulative addition circuit (61) as a CLEAR signal.
Here, the cumulative addition circuit of the cumulative addition circuit (61) multiplies the output g (k) of the ROM ((42) and the output x (t) of the ROM (46) and adds the multiplied values one after another. The latch circuit (62) which inputs the cumulative addition output clocks the output of the latch circuit (65), and the data latched here is added to the cumulative adder (41). ), That is, the output data y (t) of the convolution operation circuit.
次に、この実施例の動作について第3図及び第4図と共
に第5図を参照して説明する。ここで、第3図のたたみ
込み演算回路は次式の で定義されるような演算をなし、サンプリング周波数を
4倍にするものである。すなわち、入力信号x(t)を1サ
ンプル分取り入れる間にたたみ込み操作を4回実行し、
出力データy(t)のサンプリング周波数を入力信号x(t)の
サンプリング周波数の4倍にする。なお、上式左辺の出
力データy(4t+α)(ただしα=0,1,2,3)はその変数(4t
+α)が時間軸上にあるため実際には入力信号x(t)に対し
て となるが、便宜上変数を整数化して表現することにす
る。Next, the operation of this embodiment will be described with reference to FIG. 5 together with FIG. 3 and FIG. Here, the convolution operation circuit of FIG. The sampling frequency is quadrupled. That is, the convolution operation is executed four times while the input signal x (t) is taken in for one sample,
The sampling frequency of the output data y (t) is made four times the sampling frequency of the input signal x (t). Note that the output data y (4t + α) on the left side of the above equation (where α = 0,1,2,3) is the variable (4t
+ α) is on the time axis, so for the input signal x (t) However, for convenience, the variables will be expressed as integers.
そこで、このようなたたみ込み操作について第5図に示
したタイミングチャート(この図では入力信号がx(7)の
段階から示しその一部を省略してある)に沿って説明す
ると、先ず32進カウンタ(43)はクロック(CLOCK)の立
ち上がりに同期してカウントアップし、その出力に従っ
てROM(42)のアドレス(ROMアドレス)は0,1,2,…と変化
する。また、これと同じタイミングで8進可変カウンタ
(47)の出力がRAM(46)のアドレス入力端子(AD0〜AD2)
に印加し、RAM(46)のアドレス(RAMアドレス)は0,1,2,
…と変化する。ここで、ROM(42)にはROMアドレス0,1,2,
…,7に対し係数データg(28),g(24),g(20),…,g(0)(第
5図中▲▼,▲▼,▲▼,…で表す)が格
納されており、これらが順に読み出される。これに対
し、RAM(46)からはRAMアドレス0,1,2,…,6に対応して被
乗数データx(0),x(1),x(2),…,x(6)(第5図中0,1,2,…
で表す)が出力され、その間累積加算器(41)において
は、入力した係数データと被乗数データを乗算してその
乗算値を次々に加算して、g(28)x(0)+g(24)x(1)+g(20)x
(2)+……の計算がなされ、その累積加算出力が累積加算
回路(61)よりラッチ回路(62)に出力されている。なお、
32進カウンタ(43)のカウント値が「0」から「6」まで
の期間は、▲▼信号及びカウンタ制御信号は共に
Lレベルである。そして、32進カウンタ(43)のカウント
値が「7」になったとき、5入力ANDゲート(48)の入力
端子には全て“1”の信号が印加され、▲▼信号
はHレベルとなり、RAM(46)が書き込みモードに変わる
と共にゲート(45)のイインピーダンス状態が解除されて
RAM(46)のアドレス「7」に最新の入力信号x(7)が書き
込まれる。また、このとき累積加算器(41)にはRAM(46)
の出力に代わり入力信号x(7)が供給され、この入力信号
x(7)はROMアドレス「7」に対応する係数データg(0)と
乗算される。依って、累積加算器(41)では入力信号x(7)
に対応する出力データy(28)を算出するための最終の計
算がなされ、その計算終了時点で累積加算回路(62)の累
積加算出力は に相当する。ここで、32進カウンタ(43)のカウント値が
「7」のときはカウントタの下位3ビットの出力が全て
“1”になるため、第4図に示した3入力ANDゲート(6
3)はHレベルの信号を出力し、その信号がラッチ回路(6
5)によりクロックの立ち下がりでラッチされ半クロック
だけ遅延された状態でラッチ回路(62)にクロック信号
(ラッチクロック)として入力される。従って、ラッチ
回路(62)では累積加算出力がy(28)に確定したところで
それをラッチし、そのデータを次のラッチクロックが入
るまでたたみ込み演算回路の出力データy(28)として出
力する。また、3入力ANDゲート(63)の出力は一方では
累積加算回路(61)のクリア信号入力端子(▲▼)に
印加されており、累積加算回路(61)はそのクリア信号の
立ち下がりによってクリアされるため32進カウンタ(43)
のカウント値が次の「8」に変わる際にクリアされ次の
演算に備えることになる。Therefore, the convolution operation will be described with reference to the timing chart shown in FIG. 5 (in this figure, the input signal is from the stage of x (7) and a part thereof is omitted). The counter (43) counts up in synchronization with the rising edge of the clock (CLOCK), and the address (ROM address) of the ROM (42) changes to 0, 1, 2, ... In accordance with its output. Also, at the same timing as this, an octal variable counter
The output of (47) is the address input pin (AD 0 to AD 2 ) of RAM (46).
The RAM (46) address (RAM address) is 0, 1, 2,
… Changes. Here, ROM (42) has ROM addresses 0, 1, 2,
…, 7, coefficient data g (28), g (24), g (20),…, g (0) (represented by ▲ ▼, ▲ ▼, ▲ ▼,… in Fig. 5) are stored. And these are read in order. On the other hand, from the RAM (46), the multiplicand data x (0), x (1), x (2), ..., x (6) (corresponding to RAM addresses 0,1,2, ..., 6 5 0 , 1 , 2 , ...
During this time, the cumulative adder (41) multiplies the input coefficient data by the multiplicand data, adds the multiplication values one after another, and g (28) x (0) + g (24 ) x (1) + g (20) x
(2) + ... is calculated, and the cumulative addition output is output from the cumulative addition circuit (61) to the latch circuit (62). In addition,
During the period in which the count value of the 32-ary counter (43) is from "0" to "6", both the ▲ ▼ signal and the counter control signal are at the L level. Then, when the count value of the 32-bit counter (43) becomes "7", the signals of "1" are all applied to the input terminals of the 5-input AND gate (48), and the ▲ ▼ signal becomes H level, When the RAM (46) is changed to the write mode and the impedance state of the gate (45) is released.
The latest input signal x (7) is written in the address “7” of the RAM (46). At this time, the RAM (46) is added to the cumulative adder (41).
The input signal x (7) is supplied instead of the output of
x (7) is multiplied by the coefficient data g (0) corresponding to the ROM address “7”. Therefore, in the accumulator (41), the input signal x (7)
The final calculation for calculating the output data y (28) corresponding to is performed, and at the end of the calculation, the cumulative addition output of the cumulative addition circuit (62) is Equivalent to. Here, when the count value of the 32-bit counter (43) is "7", the outputs of the lower 3 bits of the counter are all "1", so the 3-input AND gate (6
3) outputs an H level signal, and the signal is the latch circuit (6
It is input as a clock signal (latch clock) to the latch circuit (62) after being latched at the falling edge of the clock by 5) and delayed by half a clock. Therefore, in the latch circuit (62), when the cumulative addition output is determined to be y (28), it is latched and the data is output as the output data y (28) of the convolution operation circuit until the next latch clock is input. On the other hand, the output of the 3-input AND gate (63) is applied to the clear signal input terminal (▲ ▼) of the cumulative addition circuit (61), and the cumulative addition circuit (61) is cleared by the fall of the clear signal. 32-bit counter for (43)
When the count value of is changed to the next "8", it is cleared to prepare for the next calculation.
このようにして出力データy(28)が算出された後は、▲
▼信号がLレベルに戻ることに伴って、RAM(46)
は再び読み出しモードとなる。そして、そのモードは32
進カウンタ(43)のカウント値が新たに「7」になるまで
継続される。そこで、8進可変カウンタによるRAMアド
レスは再び0,1,2,…,7変化し、このアドレスに対応して
被乗数データx(0),x(1),x(2),…,,x(7)が読み出され
る。ここで、RAMアドレス「7」には前後において既
に入力信号x(7)が格納されている。また、これに対応す
べくROM(42)からは32進カウンタ(43)の出力8,9,10,…,1
5をROMアドレスとして係数データg(29),g(25),g(21),
…,g(1)が出力され、依って累積加算器(41)において
は、g(29)x(0)+g(25)x(1)+g(21)x(2)+…+g(1)x(7)の計
算が実行れることになる。そして、31進カウンタ(43)の
カウント値が「15」のとき、すなわち31進カウンタ(43)
の下位ビットの出力が全て“1”のときに前段の操作と
同様にラッチクロックの立ち上がりで累積加算出力がラ
ッチされ、そのラッチされたデータが出力データ となる。そして、累積加算回路(61)は31進カウンタ(43)
のカウント値が「16」に変わる際にクリア信号の立ち下
がりによりクリアされる。After the output data y (28) is calculated in this way,
▼ RAM (46) as the signal returns to L level
Becomes the read mode again. And that mode is 32
It is continued until the count value of the advance counter (43) newly becomes "7". Therefore, the RAM address by the octal variable counter changes 0, 1, 2, ..., 7 again, and the multiplicand data x (0), x (1), x (2) ,. (7) is read. Here, the input signal x (7) is already stored before and after the RAM address “7”. Also, in order to correspond to this, the output of the 32-bit counter (43) from the ROM (42) is 8, 9, 10, ..., 1
Coefficient data g (29), g (25), g (21), with 5 as the ROM address
,, g (1) is output, and accordingly, in the cumulative adder (41), g (29) x (0) + g (25) x (1) + g (21) x (2) + ... + The calculation of g (1) x (7) will be performed. Then, when the count value of the 31-base counter (43) is "15", that is, the 31-base counter (43)
When all the lower bits of the output are "1", the cumulative addition output is latched at the rising edge of the latch clock as in the previous operation, and the latched data is the output data. Becomes Then, the cumulative addition circuit (61) is a 31-ary counter (43)
It is cleared by the falling edge of the clear signal when the count value of changes to "16".
さらに、このような動作が継続して行われ、32進カウン
タ(43)のカウント値が「16」から「23」に移行する間
に、ROMアドレス16,17,18,…,23に対応してROM(42)から
は係数データg(30),g(26),g(22),…,g(2)が出力され、R
AM(46)からは8進可変カウンタ(47)のRAMアドレスに従
って被乗数データx(0),x(1),x(2),…,x(7)が出力され
る。そこで累積加算器(41)においては、前段と同様のタ
イミングで、g(30)x(0)+g(26)x(1)+g(22)x(2)+…+g(2)x
(7)の計算がなされ、出力データ が得られる。また、32進カウンタ(43)のカウント値が
「24」から「31」に移行する間には、そのカウント値と
同一のROMアドレスに対応してROM(42)から係数データg
(31),g(27),g(23),…,g(3)が出力され、それらがRAM(4
6)から出力される被乗数データx(0),x(1),x(2),…,x(7)
と同期して累積加算器(41)に供給され、累積加算器(41)
は、g(31)x(0)+g(27)x(1)+g(23)x(2)+…+g(3)x(7)の計
算をなし、出力データ を得る。なお、この時点に至ってROM(42)に格納された
係数データは全て読み出され、同時に入力信号x(7)を最
新の被乗数データとする一連のたたみ込み演算も全て完
したことになる。Further, while such an operation is continuously performed, while the count value of the 32-bit counter (43) shifts from “16” to “23”, it corresponds to the ROM addresses 16, 17, 18, ..., 23. The ROM (42) outputs coefficient data g (30), g (26), g (22), ..., g (2) and R
The AM (46) outputs multiplicand data x (0), x (1), x (2), ..., X (7) according to the RAM address of the octal variable counter (47). Therefore, in the cumulative adder (41), g (30) x (0) + g (26) x (1) + g (22) x (2) + ... + g (2) at the same timing as the previous stage. x
(7) is calculated and output data Is obtained. Also, while the count value of the 32-bit counter (43) shifts from "24" to "31", the coefficient data g from the ROM (42) corresponds to the same ROM address as the count value.
(31), g (27), g (23), ..., g (3) are output, and these are RAM (4
Multiplicand data x (0), x (1), x (2), ..., x (7) output from 6)
Is supplied to the cumulative adder (41) in synchronization with
Is the calculation of g (31) x (0) + g (27) x (1) + g (23) x (2) +… + g (3) x (7), and the output data To get At this point in time, all the coefficient data stored in the ROM (42) is read out, and at the same time, a series of convolution operations using the input signal x (7) as the latest multiplicand data are all completed.
ところで、上記のたたみ込み操作において最終のアドレ
ス指定をなす際、すなわち32進カウンタ(43)のカウント
値が「31」のときには、第3図に示した5入力ANDゲー
ト(57)はその入力端子の全てに“1”の信号が印加さ
れ、そのAND出力であるカウンタ制御信号がHレベルに
変化する。そのため、8進可変カウンタ(47)は前述した
ように次のクロックに対して1段目のフリップフロップ
(49)の出力がホールドされ2段目のフリップフロップ(5
3)の出力が反転するという動作をなす。その結果、次の
RAMアドレスは前アドレスに対して+2され「7」から
「1」に変化する。By the way, when the final addressing is performed in the above convolution operation, that is, when the count value of the 32-ary counter (43) is "31", the 5-input AND gate (57) shown in FIG. The signal "1" is applied to all of them, and the AND control output of the counter control signal changes to the H level. Therefore, the octal variable counter (47) is the first-stage flip-flop for the next clock as described above.
The output of (49) is held and the second stage flip-flop (5
The output of 3) is inverted. As a result, the following
The RAM address is incremented by 2 with respect to the previous address and changes from "7" to "1".
そこで、次のたたみ込み演算においてはROMアドレスが
0,1,2,…,6,7と移行するのに対し、RAMアドレスは1,2,
3,…,7,0と変化する。さらに、32進カウンタ(43)のカウ
ント値が「7」のとき、すなわちRAMアドレスが「0」
のときには▲▼信号がHレベルとなり、新たな入
力信号x(8)がRAM(46)及び累積加算器(41)に供給される
ことになる。従って累積加算器(41)は、係数データとそ
の被乗数データをg(28),g(24),g(20),…,g(0)対x(1),x
(2),x(3),…,x(8)の対応関係で入力し、g(28)x(1)+g(2
4)x(2)+g(20)x(3)+…+g(0)x(8)の計算をなし、出力デー
タ を算出する。また、最新の入力信号x(8)は次の演算に供
すべくRAM(46)のアドレス「0」に格納される。すなわ
ち、RAM(46)では格納してあった被乗数データのうち最
も古いデータx(0)を最新のデータx(8)に書き替えたこと
になる。なお、RAM(46)より出力される被乗数データは
入力信号がこのようにして順次32進カウンタ(43)のカウ
ント値が「7」のときに格納されたものである。Therefore, in the next convolution operation, the ROM address
0,1,2, ..., 6,7, while RAM address is 1,2,
It changes to 3,…, 7,0. Furthermore, when the count value of the 32-bit counter (43) is "7", that is, the RAM address is "0".
At this time, the signal ▲ ▼ becomes H level, and the new input signal x (8) is supplied to the RAM (46) and the cumulative adder (41). Therefore, the cumulative adder (41) calculates the coefficient data and its multiplicand data as g (28), g (24), g (20), ..., g (0) vs. x (1), x
Input in correspondence of (2), x (3), ..., x (8), g (28) x (1) + g (2
4) x (2) + g (20) x (3) +… + g (0) x (8) is calculated and output data To calculate. The latest input signal x (8) is stored in the address "0" of the RAM (46) for the next calculation. That is, the oldest data x (0) among the multiplicand data stored in the RAM (46) is rewritten to the latest data x (8). The multiplicand data output from the RAM (46) is stored when the count value of the input 32-bit counter (43) is "7".
そして、上記のようにして出力データy(32)を算出した
後は、ROMアドレス及びそれに従って読み出される係数
データが前述の入力信号x(7)を最新の被乗数データとし
た一連のたたみ込み演算を行ったときと同一形態で移行
し、これに対してRAMアドレスは32進カウンタ(43)のカ
ウント値が「31」に至るまで各段のたたみ込み演算を行
う毎に1,2,3,…,7,0のサイクルで繰り返され、依って被
乗数データはx(1),x(2),x(3),…,x(7),x(8)の順に繰り
返し読み出される。従って、累積加算器(41)においては
入力信号x(8)を最新の被乗数データとするたたみ込み演
算が行われ、32進カウンタ(43)のカウント値が「15」,
「23」,「31」のとき出力データ を得る。Then, after calculating the output data y (32) as described above, a series of convolution operations in which the ROM address and the coefficient data read according to the same are the above-mentioned input signal x (7) as the latest multiplicand data are calculated. In the same form as when it was performed, the RAM address, on the other hand, is 1,2,3, ... , 7,0, so that the multiplicand data is repeatedly read out in the order of x (1), x (2), x (3), ..., X (7), x (8). Therefore, the accumulator (41) performs a convolution operation using the input signal x (8) as the latest multiplicand data, and the count value of the 32-ary counter (43) is "15",
Output data when "23" or "31" To get
さらに、32進カウンタ(43)のカウント値が再び「31」に
なったときにカウンタ制御信号がHレベルに変化してRA
Mアドレスが「0」から「2」に移行し、32進カウンタ
(43)のカウント値が「7」のときには▲▼信号が
Hレベルとなり最も古い被乗数データx(1)を格納したRA
Mアドレス「1」に最新のデータx(9)が書き込まれる。
そして、以後このようにして入力信号を次々と取り入れ
る毎にRAMアドレスが1つずつずれて、それぞれその入
力信号を最新の被乗数データとする4回のたたみ込み演
算が実行されることになる。Furthermore, when the count value of the 32-bit counter (43) becomes "31" again, the counter control signal changes to H level and RA
M address shifts from "0" to "2", and a 32-bit counter
When the count value of (43) is "7", the ▲ ▼ signal goes to H level and the oldest multiplicand data x (1) is stored in RA.
The latest data x (9) is written in the M address “1”.
Then, thereafter, every time the input signals are successively taken in, the RAM addresses are deviated by one, and four convolution operations are performed with the input signals as the latest multiplicand data.
ここで、以上説明したことを整理する意味でこの実施例
において行われるたたみ込み演算の一部を列すると、次
のようになり y(28)=g(0)x(7)+g(4)x(6)+g(8)x(5)+…+g(24)x(1)+g(2
8)x(0) y(29)=g(1)x(7)+g(5)x(6)+g(9)x(5)+…+g(25)x(1)+g(2
9)x(0) y(30)=g(2)x(7)+g(6)x(6)+g(10)x(5)+…g(26)x(1)+g(3
0)x(0) y(31)=g(3)x(7)+g(7)x(6)+g(11)x(5)+…+g(27)x(1)+g
(31)x(0) y(32)=g(0)x(8)+g(4)x(7)+g(8)x(6)+…+g(24)x(2)+g(2
8)x(1) y(33)=g(1)x(8)+g(5)x(7)+g(9)x(6)+…+g(25)x(2)+g(2
9)x(1) 上記の各演算が前述の定義式に則したものであることが
確認できる。Here, if a part of the convolution operation performed in this embodiment is arranged in order to sort out the above description, it becomes as follows: y (28) = g (0) x (7) + g (4 ) x (6) + g (8) x (5) + ... + g (24) x (1) + g (2
8) x (0) y (29) = g (1) x (7) + g (5) x (6) + g (9) x (5) +… + g (25) x (1) + g (2
9) x (0) y (30) = g (2) x (7) + g (6) x (6) + g (10) x (5) +… g (26) x (1) + g ( 3
0) x (0) y (31) = g (3) x (7) + g (7) x (6) + g (11) x (5) +… + g (27) x (1) + g
(31) x (0) y (32) = g (0) x (8) + g (4) x (7) + g (8) x (6) +… + g (24) x (2) + g (2
8) x (1) y (33) = g (1) x (8) + g (5) x (7) + g (9) x (6) +… + g (25) x (2) + g (2
9) x (1) It can be confirmed that each of the above calculations is in accordance with the above-mentioned definition formula.
次に本発明のたたみ込み演算回路に係る他の実施例につ
いて説明する。Next, another embodiment relating to the convolution operation circuit of the present invention will be described.
第6図は本発明の他の実施例(第2の実施例)における
回路構成を示すものである。なお、この実施例は前実施
例を一般化したものであって、すなわちサンプリング周
数をa倍にあげるように構成したたたみ込み演算回路で
ある。以下この実施例を図面に従って説明するが、構成
上あるいは機能面で前実施例と重複する部分については
その説明を簡略化する。ここで、累積加算器(74)に係数
データg(k)を供給するROM(72)は同期式のN進カウンタ
(73)によってアドレス指定がなされ、このROM(72)には
N個の係数データが格納されている。また、被乗数デー
タとなる入力信号x(t)は複数個のトライステートバッフ
ァ(74)を並列に配置したゲート(75)を介して、適時RAM
(76)及び累積加算器(71)に供給される。そして、RAM(7
6)のアドレス指定はRAM(76)のアドレス入力端子(AD0〜
ADC-1)に接続れたN/a進カウンタ(77)によってなされ、
このN/a進可変カウンタ(77)の出力に従ってRAM(76)は読
み出しモードの期間それまで格納した被乗数データを累
積加算器(71)に供給する。そこで、N進カウンタ(73)の
出力端子(Q0〜Qb-1)には▲▼信号生成回路(78)
が接続されており、ここで生成される▲▼信号は
ゲート(75)の各トライステートバッファ(74)及びRAM(7
6)に供給されて、入力信号x(t)の取り込み及びRAM(76)
の作用モードを制御するようになっている。また、N/a
進可変カウンタ(77)は第3図中に示した8進可変カウン
タ(47)と同様に1段目のDFF(79)の入力側に排他的論理
和ゲート(80)が置かれ、その排他的論理和ゲート(80)の
入力端子には1段目のDFF(79)の負相出力とカウンタ制
御信号が入力されるものであり、1段目のDFF(79)の正
相出力はRAM(76)のアドレス入力端子AD0に供給されると
共に、カウンタ制御信号を入力する2入力ORゲート(81)
の他方の入力端子に印加され、その2入力ORゲート(81)
の出力はRAM(76)のアドレス入力端子(AD1〜ADc-1)に
接続された通常のN/2a進カウンタ(82)にイネイブル信号
として供給される。ここで、カウンタ制御信号はN進カ
ウンタ(73)の出力端子(Q0〜Qb-1)に接続されたアンド
ゲート(83)によって生成され、このカウンタ制御信号が
Hレベルになると、すなわちN進カウンタ(73)のカウン
ト値が「N-1」のときにN/a進可変カウンタ(77)のカウン
ト値は次のクロックで+2される。FIG. 6 shows a circuit configuration in another embodiment (second embodiment) of the present invention. Note that this embodiment is a generalization of the previous embodiment, that is, a convolutional arithmetic circuit configured to increase the sampling frequency by a times. This embodiment will be described below with reference to the drawings, but the description of the portions which are the same as the previous embodiment in terms of configuration or function will be simplified. The ROM (72) for supplying the coefficient data g (k) to the cumulative adder (74) is a synchronous N-ary counter.
Addressing is performed by (73), and N coefficient data are stored in this ROM (72). The input signal x (t), which is the multiplicand data, is sent to the RAM at appropriate times through the gate (75) in which a plurality of tristate buffers (74) are arranged in parallel.
(76) and the cumulative adder (71). And RAM (7
The address designation of (6) is made by the address input pin (AD 0 ~
Made by a N / a base counter (77) connected to AD C-1 ),
According to the output of the N / a base variable counter (77), the RAM (76) supplies the multiplicand data stored until then during the read mode to the cumulative adder (71). Therefore, the signal generation circuit (78) is provided at the output terminals (Q 0 to Q b-1 ) of the N-ary counter (73).
Are connected, and the signals generated here are the tristate buffer (74) of the gate (75) and the RAM (7
6), input signal x (t) capture and RAM (76)
Is designed to control the mode of action of. Also, N / a
The decimal variable counter (77) has an exclusive OR gate (80) on the input side of the first-stage DFF (79) as in the octal variable counter (47) shown in FIG. The negative-phase output of the first-stage DFF (79) and the counter control signal are input to the input terminal of the logical OR gate (80), and the positive-phase output of the first-stage DFF (79) is the RAM. A 2-input OR gate that is supplied to the address input terminal AD 0 of (76) and also inputs a counter control signal (81)
Applied to the other input terminal of the 2-input OR gate (81)
Is supplied as an enable signal to a normal N / 2a base counter (82) connected to the address input terminals (AD 1 to AD c-1 ) of the RAM (76). Here, the counter control signal is generated by the AND gate (83) connected to the output terminals (Q 0 to Q b-1 ) of the N-ary counter (73), and when the counter control signal becomes H level, that is, N When the count value of the base counter (73) is "N-1", the count value of the N / a base variable counter (77) is incremented by 2 at the next clock.
そこで、この実施例の動作について第6図と共に第7図
を参照して説明する。このたたみ込み演算回路は前述し
たようにN個の係数データを用いてサンプリング周波数
をa倍にあげるように構成したものであり、入力信号x
(t)のサンプリング周期毎に次式で定義するようなa回
の一連のたたみ込み演算を繰り返し実行するものであ
る。Therefore, the operation of this embodiment will be described with reference to FIG. 7 as well as FIG. This convolution operation circuit is configured to increase the sampling frequency by a times by using N coefficient data as described above.
In each sampling cycle of (t), a series of convolution operations a times as defined by the following equation are repeatedly executed.
なお、上式中mはN/aを置き換えたものであり、これよ
り1回のたたみ込み演算に係る係数データ及び被乗数デ
ータの個数は共にmとなる。以下実際の動作について第
7図のタイミングチャートに沿って説明するが、この図
ではたたみ込み演算回路の動作の流れを決定するに重要
なN進カウンタ(73)から出力されるROMアドレスとN/a進
可変カウンタ(77)から出力されるRAMアドレス、さらに
カウンタ制御信号▲▼信号のみ示し、図面が難解
になるのを避けることにする。そこで、今ROMアドレス
が0」のときにRAMアドレスも「0」にあるとする。依
って、ROMアドレスが「0」から「N-1」に至るまでにRA
Mアドレスは0,1,2,…,m-2,m-1がa勘繰り返され、その
間RAM(76)はROMアドレスが「m-1」のときを除き▲
▼信号がLレベルにあるため読み出しモードとなり、
ROM(72)及びRAM(76)から係数データと被乗数データが累
積加算器(71)に供給され、累積加算器(71)では前実施例
と同様にRAMアドレスが一巡する毎にたたみ込み演算に
よる出力データを算出する。なお、ROMアドレスが「m-
1」のときは▲▼信号生成回路(78)によって生成
される▲▼信号がHレベルに変化し、RAM(76)が
書き込みモードに変わると共にゲート(75)のハイインピ
ーダンス状態が解除されて、入力信号x(t)(t=dとする)
がRAM(76)に書き込まれ且つ累積加算器(71)に供給され
る。その時点でRAM(76)には、前段までに格納した被乗
数データも含めて、RAMアドレス0,1,2,…,m-1に対し順
に被乗数データx(d-(m-1)),x(d-(m-2)),x(d-(m-3)),…,
x(d)が外納されている。また、ROM(72)にはROMアドレス
0,1,2,…,N-1に対して係数データg(0)〜g(N-1)が、前述
の各定義式に則した被乗数データとの対応関係の基に一
定の規則で格納されている。 Note that m in the above equation replaces N / a, so that the number of coefficient data and multiplicand data for one convolution operation is m. The actual operation will be described below with reference to the timing chart of FIG. 7. In this figure, the ROM address and N / N output from the N-ary counter (73), which is important for determining the flow of operation of the convolution operation circuit, are shown. Only the RAM address output from the a-ary variable counter (77) and the counter control signal ▲ ▼ signal are shown to avoid making the drawing difficult. Therefore, it is assumed that the RAM address is also "0" when the ROM address is "0". Therefore, when the ROM address is from "0" to "N-1", RA
The M address is 0,1,2, ..., m-2, m-1 repeated a times, during which the RAM (76) is excluding when the ROM address is "m-1".
▼ Because the signal is at L level, it becomes the read mode,
The coefficient data and the multiplicand data are supplied from the ROM (72) and the RAM (76) to the cumulative adder (71), and in the cumulative adder (71), the convolution operation is performed every time the RAM address makes one cycle, as in the previous embodiment. Calculate the output data. The ROM address is "m-
When it is 1 ”, the ▲ ▼ signal generated by the ▲ ▼ signal generation circuit (78) changes to H level, the RAM (76) changes to the write mode, and the high impedance state of the gate (75) is released, Input signal x (t) (t = d)
Is written into the RAM (76) and supplied to the cumulative adder (71). At that time, the RAM (76) including the multiplicand data stored up to the previous stage is sequentially stored in the multiplicand data x (d- (m-1)), RAM addresses 0, 1, 2, ..., m-1. x (d- (m-2)), x (d- (m-3)),…,
x (d) is paid out. Also, ROM (72) has a ROM address
The coefficient data g (0) to g (N-1) for 0,1,2, ..., N-1 are set according to a certain rule based on the corresponding relationship with the multiplicand data according to the above definition equations. It is stored.
そして、第7図中左側のROMアドレスが「0」から「N-
1」に移行する過程において上記各データを用いて一連
(a回)のたたみ込み演算がなされた後は、その最後の
ROMアドレス「N-1」のときにカウンタ制御信号がHレベ
ルに変化しているため、RAMアドレスが次のクロックで
+2され「0」を飛び越して「1」から始まる。そのた
め、続いてROMアドレスが「0」から「N-1」に移行する
間には、RAMアドレスが1,2,…,m-1,0のサイクルでa回
繰り返される。すなわち、ここではROMアドレスに対応
するRAMアドレスが前段の一連のたたみ込み演算の場合
と比べて1つずつずれることになる。さらに、その間の
ROMアドレスが「m-1」のときにはRAMアドレス「0」に
新しい入力信号x(d+1)が書き込まれ、それまで格納して
あった被乗数データのうち最も古いデータx(d-(m-1))が
最新の被乗数データx((d+1)に書き替えられる。従っ
て、各係数データと乗算される被乗数データはx(d+1)を
最新としてそれぞれ次のデータにシフトされ、x(d-(m-
2)),x(d-(m-3)),…,x(d),x(d+1)の順に繰り返し読み出
され累積加算器(71)に供給される。依って、累積加算器
(71)では前述の定義式においてtをd+1に置き換えた
一連のたたみ込み演算を実行することになる。Then, the ROM address on the left side in FIG. 7 changes from "0" to "N-
After performing a series (a times) of convolutional operations using the above data in the process of shifting to "1",
Since the counter control signal has changed to the H level at the ROM address "N-1", the RAM address is incremented by 2 at the next clock, jumping from "0" and starting from "1". Therefore, while the ROM address subsequently shifts from "0" to "N-1", the RAM address is repeated a times in the cycle of 1, 2, ..., M-1,0. That is, here, the RAM address corresponding to the ROM address is shifted by one as compared with the case of the series of convolution operations in the preceding stage. Furthermore, in between
When the ROM address is "m-1", the new input signal x (d + 1) is written to the RAM address "0", and the oldest data x (d- (m- 1)) is rewritten to the latest multiplicand data x ((d + 1). Therefore, the multiplicand data to be multiplied with each coefficient data is shifted to the next data with x (d + 1) being the latest, and x (d- (m-
2)), x (d- (m-3)), ..., X (d), x (d + 1) are repeatedly read in this order and supplied to the cumulative adder (71). Therefore, cumulative adder
In (71), a series of convolutional operations in which t is replaced by d + 1 in the above-mentioned definition formula is executed.
さらに、上記のような動作を継続して行う場合、この実
施例では一連のたたみ込み演算終了後RAMアドレスを+
2し且つ次の演算を行う際に最も古い被乗数データを最
新の入力信号に書き替えることにより、その入力信号を
最新の被乗数データとする一連のたたみ込み演算を次々
と実行するようになる。Further, when the above operation is continuously performed, in this embodiment, the RAM address is set to + after completion of a series of convolution operations.
2 and rewriting the oldest multiplicand data to the latest input signal when performing the next operation, a series of convolution operations using the input signal as the latest multiplicand data are executed one after another.
以上のように上記2つの実施例(第2の実施例は第1の
実施例を一般化したもの)では、係数データを一定の規
則で格納したROMのアドレス指定にN進カウンタを用
い、且つ被乗数データを格納するRAMのアドレス指定にN
/a進可変カウンタを使用したことにより、サンプリング
周波数をa倍にするという複雑なたたみ込み操作を簡単
な回路構成で実現でき、しかもそのようなたたみ込み演
算処理を実時間軸上で可能にしたものである。さらに
は、RAMの作用モードを指定する▲▼信号あるい
はN/a進可変カウンタを制御するカウンタ制御信号の生
成及びコントロールにN進カウンタの出力を利用したこ
とによって、回路構成をより効率のよいものにすると共
に各信号の切り換えが正確なタイミングでできるように
なつている。As described above, in the above two embodiments (the second embodiment is a generalization of the first embodiment), the N-ary counter is used for addressing the ROM storing the coefficient data according to a certain rule, and N for addressing the RAM that stores the multiplicand data
By using the / a-adic variable counter, the complicated convolution operation of multiplying the sampling frequency by a can be realized with a simple circuit configuration, and such convolution calculation processing is possible on the real-time axis. It is a thing. Furthermore, by using the output of the N-ary counter to generate and control the ▲ ▼ signal that specifies the RAM operation mode or the counter control signal that controls the N / a-ary variable counter, the circuit configuration can be made more efficient. In addition, each signal can be switched at an accurate timing.
なお、上記実施例では▲▼信号の切り換えのタイ
ミングをN進カウンタのカウント値が「m-1」のときに
選定し、カウンタ制御信号の切り換えをN進カウンタの
カウント値が「N-1」のときになすように設定したが、
これに限らずこれらの信号は一連のたたみ込み演算をど
の演算から開始するか、さらにROMアドレス対係数デー
タの対応をどのようにするかによって決定され、カウン
タ制御信号が一連のたたみ込み演算を完了する最後のア
ドレス指定をなす際にHレベルになり、▲▼信号
が一連のたたみ込み演算終了後の次の演算において最も
古い被乗数データを格納したところのアドレス指定がな
される際にHレベルになるようにし、他の期間は共にL
レベルであるようにすればよい。In the above embodiment, the switching timing of the signal is selected when the count value of the N-ary counter is "m-1", and the switching of the counter control signal is changed when the count value of the N-ary counter is "N-1". I set it to do when
Not limited to this, these signals are determined by which operation to start the series of convolutional operations and how the correspondence between the ROM address and coefficient data is made, and the counter control signal completes the series of convolutional operations. Goes to H level when the last address designation is performed, and goes to H level when the address is designated where the ▲ ▼ signal has stored the oldest multiplicand data in the next computation after the series of convolution computations. And L for all other periods
You just have to be level.
第8図乃至第10図は本発明のさらに他の実施例(第3の
実施例)を示すものである。ここではたたみ込み操作に
おいてサンプリング周波数を変えない場合あるいは前実
施例とは逆にサンプリング周波数を1/a倍にするような
場合に適用されるたたみ込み演算回路を紹介する。な
お、この実施例では係数データのサンプル数を16個に設
定した場合について述べることにする。そこで、この実
施例のたたみ込み演算回路は第8図に示すように、累積
加算器(91)に係数データg(0)〜g(15)を供給するROM(92)
のアドレス指定を同期式の16進カウンタ(93)でなし、被
乗数データを供給するRAM(94)のアドレス指定を16進カ
ウンタ(95)で行う。また、16進カウンタ(93)の出力端子
(Q0〜Q3)には▲▼信号生成回路(96)が接続され
ており、ここで生成且つコントロールされる▲▼
信号はRAM(94)の作用モードを指定すると共にゲート(9
7)の各トライステートバッファ(98)のセレクト端子に印
加され、外部装置からゲート(97)に入力される入力信号
x(t)のRAM(94)及び累積加算器(91)への供給を制御す
る。一方、16進可変カウンタ(95)の出力を前実施例と同
様に一時的に変更(+2)させるカウンタ制御信号は16進カ
ウンタ(93)の出力端子(Q0〜Q3)に接続された4入力AN
Dゲート(99)によって生成される。また、累積加算器(9
1)は第4図に示した第1の実施例の累積加算器(41)とほ
ぼ同様に構成されているが、この実施例では16進カウン
タ(93)のカウント値が「15」のときの累積加算出力をラ
ッチし出力データy(t)とする。8 to 10 show still another embodiment (third embodiment) of the present invention. Here, a convolution operation circuit applied when the sampling frequency is not changed in the convolution operation or when the sampling frequency is increased by 1 / a, contrary to the previous embodiment, is introduced. In this embodiment, the case where the number of coefficient data samples is set to 16 will be described. Therefore, as shown in FIG. 8, the convolution operation circuit of this embodiment is a ROM (92) for supplying coefficient data g (0) to g (15) to a cumulative adder (91).
The address is specified by the synchronous hexadecimal counter (93), and the RAM (94) that supplies the multiplicand data is addressed by the hexadecimal counter (95). Further, a ▲ ▼ signal generation circuit (96) is connected to the output terminals (Q 0 to Q 3 ) of the hexadecimal counter (93) and is generated and controlled here.
The signal specifies the mode of operation of RAM (94) and gate (9
Input signal applied to the select terminal of each tristate buffer (98) in 7) and input to the gate (97) from an external device.
It controls the supply of x (t) to the RAM (94) and cumulative adder (91). On the other hand, the counter control signal for temporarily changing (+2) the output of the hexadecimal variable counter (95) is connected to the output terminals (Q 0 to Q 3 ) of the hexadecimal counter (93). 4 inputs AN
Generated by D-gate (99). In addition, the cumulative adder (9
1) has substantially the same structure as the cumulative adder (41) of the first embodiment shown in FIG. 4, but in this embodiment, when the count value of the hexadecimal counter (93) is "15" The cumulative addition output of is latched and used as output data y (t).
ところで、上記構成のたたみ込み演算回路はROM(92)に
予め格納する係数データ及び▲▼信号生成回路(9
6)を後述するような所望の状態に設定することにより、
次に述べる各種のたたみ込み演算を実現できるものであ
る。先ずその一例(第1例)として、入力信号x(t)のサ
ンプリング周期毎に で定義されるような一般的なたたみ込み演算を行う場合
について説明する。つまり、ここではサンプリング周波
数を変えないでたたみ込み操作を行う場合の例を示す。
この場合、第8図のたたみ込み演算回路は▲▼信
号生成回路(96)に4入力ANDゲート回路を用い、ROM(92)
にはROMアドレス0,1,2,…,15に対して係数データをg(1
5),g(14),g(13),…,g(0)の順に格納しておく。なお、そ
の際▲▼信号生成回路(96)はカウンタ制御信号を
生成する4入力ANDゲート(99)と兼用することができ
る。By the way, the convolution operation circuit with the above-mentioned configuration is used for the coefficient data and the signal generation circuit (9) stored in the ROM (92) in advance.
By setting 6) to the desired state as described below,
Various convolution operations described below can be realized. First, as an example (first example), for each sampling cycle of the input signal x (t) A case of performing a general convolution operation as defined in 1. will be described. That is, here, an example is shown in which the convolution operation is performed without changing the sampling frequency.
In this case, the convolution operation circuit of FIG. 8 uses a 4-input AND gate circuit for the signal generation circuit (96) and the ROM (92)
To the ROM address 0,1,2, ..., 15 with coefficient data g (1
5), g (14), g (13), ..., G (0) are stored in this order. At this time, the signal generation circuit (96) can also be used as a 4-input AND gate (99) for generating a counter control signal.
そこで、このようなたたみ込み演算回路はその動動作の
流れを第9図に示すように、ROMアドレスをコントロー
ルする16進カウンタ(93)とRAMアドレスをコントロール
する16進可変カウンタ((95)の進数が等しいため、ROMア
ドレスが「0」から「15」まで移行する毎にRAMアドレ
スも一巡する。しかも、その最後のRAMアドレスがカウ
ントされる際つまりROMアドレスが「15」のときにカウ
ンタ制御信号がHレベルに変化するため、RAMアドレス
は一巡後の次のクロックで+2される。また、ROMアド
レスが「75」のときには▲▼信号もHレベルに変
化し、その都度RAM(94)に新しい入力信号x(t)が書き込
まれる。従って、RAMアドレスが+2されるとROM出力
(係数データ)に対応するRAM出力(被乗数データ)が
それぞれ次のデータにシフトされ、且つ+2されたこと
によって飛び越された一巡中最後のRAMアドレスがカウ
ントされた際に、そこに格納されてあった被乗数データ
(最も古いデータ)が最新の入力信号x(t)に書き替えら
れることになる。ここで、今ゲート((97)に印加された
入力信号をx(15)とすると、累積加算器(91)ではROM(92)
から出力される係数データg(15),g(14),…,g(1)とRAM(9
4)から出力される被乗数データx(0),x(1),…,x(14)が累
積加算されており、続いて係数データg(0)とゲート(97)
から入力信号x(15)を入力した段階でその累積加算出力
がラッチされる。依って、ここでラッチしたデータを出
力データy(15)とすると、 y(15)=g(0)x(15)+g(1)x(14)+…+g(14)x(1)+g(15)x(0) となる。その後、ゲート(97)には次の入力信号x(16)が
印加され、またRAMアドレスが+2されることに従ってR
AM(94)から出力される被乗数データはx(1),x(2),…,x(1
5)となり、これら被乗数データx(1),x(2),…,x(15),x(1
6)が係数データg(15),g(14),…,g(1),g(0)と共に順に累
積加算器(91)に供給される。依って、累積加算器(91)で
は前段と同様にして次の出力データy(16)すなわち y(16)=g(0)x(16)+g(1)x(15)+…+g(14)x(2)+g(15)x(1) を算出する。さらにその後も同様に、このたたみ込み演
算回路は、入力信号x(17),x(18),…を取り入れる毎にそ
の入力信号を最新の被乗数データx(t)として、前述の定
義式 に則した出力データy(17),y(18),…を算出する。Therefore, as shown in FIG. 9, the convolution arithmetic circuit has a hexadecimal counter (93) for controlling a ROM address and a hexadecimal variable counter ((95) for controlling a RAM address). Since the decimal numbers are the same, the RAM address also makes one cycle each time the ROM address changes from “0” to “15.” Moreover, when the last RAM address is counted, that is, when the ROM address is “15”, counter control is performed. Since the signal changes to the H level, the RAM address is incremented by 2 at the next clock after one cycle, and when the ROM address is "75", the ▲ ▼ signal also changes to the H level and the RAM (94) is changed each time. A new input signal x (t) is written in. Therefore, when the RAM address is +2, the RAM output (multiplicand data) corresponding to the ROM output (coefficient data) is shifted to the next data and +2. Yo When the last RAM address in one cycle that has been skipped over is counted, the multiplicand data (oldest data) stored there is rewritten to the latest input signal x (t). Then, if the input signal applied to the gate ((97) is now x (15), the cumulative adder (91) reads ROM (92)
Coefficient data g (15), g (14), ..., g (1) and RAM (9
Multiplicand data x (0), x (1), ..., x (14) output from 4) are cumulatively added, and then coefficient data g (0) and gate (97)
When the input signal x (15) is input from, the cumulative addition output is latched. Therefore, if the data latched here is output data y (15), y (15) = g (0) x (15) + g (1) x (14) + ... + g (14) x (1 ) + g (15) x (0). After that, when the next input signal x (16) is applied to the gate (97) and the RAM address is increased by +2, R
The multiplicand data output from AM (94) is x (1), x (2), ..., x (1
5), and these multiplicand data x (1), x (2), ..., x (15), x (1
6) is sequentially supplied to the cumulative adder (91) together with the coefficient data g (15), g (14), ..., G (1), g (0). Therefore, in the cumulative adder (91), the next output data y (16), that is, y (16) = g (0) x (16) + g (1) x (15) + ... + g Calculate (14) x (2) + g (15) x (1). Similarly thereafter, this convolutional arithmetic circuit sets the input signal x (17), x (18), ... as the latest multiplicand data x (t) every time it takes in the input signal x (17), x (18), ... Output data y (17), y (18), ...
次に、第8図に示したたたみ込み演算回路において他の
動作をなさしめる場合について説明する。すなわち、こ
こに示す例(第2例)は で定義されるように、サンプリング周波数を1/2倍にす
るものであり、入力信号のサンプリング周期に対しその
2倍の周期で出力データを得る。なお、上式で定義され
るたたみ込み演算は第1例でしたたたみ込み演算を1つ
置きに実行する場合と同じ意味を有する。この場合、▲
▼信号生成回路(96)は16進カウンタ(93)の下位3
ビットの出力のみを有効データとする3入力ANDゲート
回路を備え、そのAND出力を▲▼信号とし、16進
カウンタ(93)のカウント値が「7」と「15」のときに▲
▼信号がHレベルになるようにする。また、ROM
(92)にはROMアドレスα(α=0,1,2,…,15)に対して係
数データg(0)〜g((15)を g(15-2α) (α=0,1,…,7のとき) g(14-2(α-8)) (α=8,9,…,15のとき) の対応関係で格納しておく。Next, a case where another operation is performed in the convolution operation circuit shown in FIG. 8 will be described. That is, the example (second example) shown here is The sampling frequency is halved as defined by the above, and the output data is obtained at a cycle twice the sampling cycle of the input signal. Note that the convolution operation defined by the above equation has the same meaning as the case where every other convolution operation is executed in the first example. In this case, ▲
▼ The signal generation circuit (96) is the lower 3 of the hexadecimal counter (93).
Equipped with a 3-input AND gate circuit that uses only bit output as valid data, and uses the AND output as a ▲ ▼ signal, and when the count value of the hexadecimal counter (93) is “7” and “15”,
▼ Make the signal high. Also ROM
In the (92), the coefficient data g (0) to g ((15) for the ROM address α (α = 0,1,2, ..., 15) is g (15-2α) (α = 0,1, ..., 7) g (14-2 (α-8)) (when α = 8, 9, ..., 15) is stored in correspondence.
そこで、このようなたたみ込み演算回路はその動作の流
れを第10図に示すように、ROMアドレス及びRAMアドレス
が一巡する毎に、▲▼信号が等間隔で2回(ROM
アドレスが「7」と「15」のとき)Hレベルに変化する
ようになっており、外部装置により供給される入力信号
のサンプリング周期(第1例のときの1/2の周期)に合
わせ、RAM(94)にはRAMアドレスの一巡中2データ分の入
力信号が書き込まれる。また、RAMアドレスはカウンタ
制御信号により一巡後のアドレスが+2され、その後1
つずつカウントアップされるため、新しく入力信号を格
納するところのRAMアドレスは前回格納したときの2つ
のアドレス(例えば「7」,「15」)に対しそれぞれ次
のアドレス(「8」,「0」)にシフトされる。そし
て、このようにRAM(94)に一定の規則で格納された入力
信号はその後▲▼信号がLレベルの期間被乗数デ
ータとして順次読み出され、係数データと共に累積加算
器(91)に供給される。また、▲▼信号がHレベル
のときはゲート(97)に印加された入力信号が直接累積加
算器(91)に入力される。ここで、今ゲート(97)に印加さ
れた入力信号をx(15)とすると、第10図に示すようにROM
アドレス0,1,…,7に対応して係数データg(15),g(13),
…,g(1)が出力され、この係数データと共に被乗数デー
タx(1),x(3),…,x(15)が累積加算器(91)に供給される。
続いて、ゲート(97)には次の入力信号x(16)が印加さ
れ、累積加算器(91)にはROMアドレス8,9,…,15に対応し
た係数データg(14),g(12),…,g(0)と共に被乗数データx
(2),x(4),…,x(16)が入力される。そこで、累積加算器
(91)ではこれらのデータを累積加算した結果、その累積
加算出力をラッチし出力データy(16)を得る。すなわ
ち、累積加算器(91)はこの時点で y(16)=g(15)x(1)+g(13)x(3)+…+g(1)x(15) +g(14)x(2)+g(12)x(4)+…+g(0)x(16) の計算をなしたことになる。ちなみに、この演算式は右
辺を整理すると y(16)=g(0)x(16)+g(1)x(15)+…+g(14)x(2)+g(15)x(1) となり、第1例のサンプリング周波数を変えないたたみ
込み操作によって出力データy(16)を算出したときと同
じになる。そして、このようにして出力データ(16)を算
出した後は、ROM(92)から前回と同様に出力される係数
データに対しその被乗数データがRAM(94)から1つずつ
ずれた状態で出力され、これに加えて新しく入力信号x
(17),x(18)を取り入れることにより、累積加算器(91)で
は y(18)=g(15)x(3)+g(13)x(5)+…+g(1)x(17) +g(14)x(4)+g(12)x(6)+…+g(0)x(18) の計算が実行される。さらに、その後も同様にして、こ
のたたみ込み演算回路は入力信号を2データ分取り入れ
る毎に前述の定義式 に則した出力データを算出する。Therefore, as shown in FIG. 10, the operation flow of such a convolution operation circuit is such that every time the ROM address and the RAM address make one cycle, the ▲ ▼ signal is sent twice at equal intervals (ROM
When the address is "7" and "15"), it changes to the H level, and according to the sampling cycle (1/2 cycle of the first example) of the input signal supplied by the external device, Input signals for two data are written in the RAM (94) during one cycle of the RAM address. In addition, the RAM address is incremented by 2 by one after the cycle by the counter control signal, and then 1
Since the RAM address for newly storing the input signal is counted up one by one, the next address (“8”, “0”) is stored for the two addresses (for example, “7”, “15”) stored previously. )). Then, the input signal thus stored in the RAM (94) according to a certain rule is sequentially read out as the multiplicand data during the period when the signal is at the L level, and is supplied to the cumulative adder (91) together with the coefficient data. . When the signal (H) is at H level, the input signal applied to the gate (97) is directly input to the cumulative adder (91). Here, assuming that the input signal applied to the gate (97) is x (15), as shown in FIG.
Coefficient data g (15), g (13), corresponding to addresses 0,1, ..., 7
, G (1) are output, and the multiplicand data x (1), x (3), ..., x (15) are supplied to the cumulative adder (91) together with the coefficient data.
Then, the next input signal x (16) is applied to the gate (97), and the cumulative adder (91) receives coefficient data g (14), g (corresponding to the ROM addresses 8, 9, ..., 15). 12),…, g (0) and multiplicand data x
(2), x (4), ..., x (16) are input. So, the cumulative adder
At (91), as a result of cumulative addition of these data, the cumulative addition output is latched and output data y (16) is obtained. That is, the cumulative adder (91) is y (16) = g (15) x (1) + g (13) x (3) +… + g (1) x (15) + g (14) at this point. This means that x (2) + g (12) x (4) +… + g (0) x (16) has been calculated. By the way, when rearranging the right side of this formula, y (16) = g (0) x (16) + g (1) x (15) +… + g (14) x (2) + g (15) x ( 1), which is the same as when the output data y (16) is calculated by the convolution operation that does not change the sampling frequency in the first example. Then, after calculating the output data (16) in this way, the multiplicand data is output from the RAM (94) one by one with respect to the coefficient data output from the ROM (92) as in the previous time. In addition to this, a new input signal x
By incorporating (17) and x (18), the cumulative adder (91) has y (18) = g (15) x (3) + g (13) x (5) + ... + g (1) x The calculation of (17) + g (14) x (4) + g (12) x (6) + ... + g (0) x (18) is executed. Further, after that, similarly, this convolutional arithmetic circuit outputs the above-mentioned definition equation every time the input signal for two data is taken in. Calculate the output data according to.
なお、このようなサンプリング周波数を1/2倍にするた
たみ込み演算は、その演算式からわかるように、サンプ
リング周波数を変えないたたみ込み演算を1つ置きに実
行していくものでであり、その間省略される演算の出力
データは不要なデータである。そこで、通常サンプリン
グ周波数1/2倍にする場合には、第1例で行った操作の
ように新しく入力信号を取り入れる毎にそれぞれ出力デ
ータを算出し、その後出力データを1つ置きに取り出す
方法が考えられる。しかるに、この実施例(第2例)の
たたみ込み操作においては、不要なデータを算出するこ
とになる演算を実行せず、必要なデータのみを連続的に
算出するため、時間的に無駄がなく、第1例で扱った入
力信号の1/2の周期でで供給される入力信号に対しても
第1例と同じ係数の演算処理ができるようになってい
る。It should be noted that such a convolution operation that halves the sampling frequency is, as can be seen from the expression, executes every other convolution operation that does not change the sampling frequency. The output data of the omitted operation is unnecessary data. Therefore, when halving the normal sampling frequency, a method is to calculate output data each time a new input signal is input, and then take out every other output data as in the operation performed in the first example. Conceivable. However, in the convolution operation of this embodiment (second example), since the calculation that calculates unnecessary data is not executed and only the necessary data is calculated continuously, there is no waste of time. The same coefficient calculation processing as that in the first example can be performed on the input signal supplied in the half cycle of the input signal handled in the first example.
また、この実施例の第1例及び第2例では、サンプリン
グ周波数を変えない場合と1/2倍にする場合のたたみ込
み演算回路を紹介したが、さらに第2例を示した方法を
基にして、▲▼信号の切り換え及びROMにおける
係数データの配置を工夫することにより、サンプリング
周波数を1/a倍にすることが可能である。そして、その
際にも本発明のたたみ込み演算回路は、構成が複雑化す
ることなく、実時間の演算処理ができるようになってい
る。In addition, in the first and second examples of this embodiment, the convolution operation circuit for the case where the sampling frequency is not changed and the case where the sampling frequency is halved have been introduced, but based on the method shown in the second example. Then, the sampling frequency can be increased by 1 / a by devising the signal switching and the arrangement of the coefficient data in the ROM. Also in that case, the convolutional arithmetic circuit of the present invention can perform real-time arithmetic processing without complicating the configuration.
ここで、これまでに説明した第1の実施例乃至第3の実
施例によれば、係数データを格納したROMのアドレス指
定をなすカウンタと被乗数データを格納するRAMのアド
レス指定をなすカウンタの進数を所定の割合で定め、▲
▼信号及びカウンタ制御信号を所定のタイミング
で切り換えることにより、使用目的に合わせて種々のた
たみ込み演算回路を設計することができる。なお、上記
3つの実施例では、▲▼信号及びカウンタ制御信
号の生成手段、あるいは入力信号を導入する手段を各実
施例間でほぼ同様に構成したが、その実現方法としては
上記実施例に記載したものに限らず、現在の技術水準か
らして様々な方法が適用できるものである。その他、係
数データを格納するメモリにRAMを用い、所望時に係数
データの数値あるいは出力順序を変更させるようにして
も構わない。また、上記実施例のカウンタ制御信号は、
カウンタのカウント値を一時的+2させるものであった
が、カウンタの設計次第では、実行すべき演算に合わせ
て他の動作をなさせることができる。Here, according to the first to third embodiments described so far, the decimal numbers of the counter that addresses the ROM that stores the coefficient data and the counter that addresses the RAM that stores the multiplicand data. Is set at a predetermined ratio, ▲
By switching the signal and the counter control signal at a predetermined timing, various convolution operation circuits can be designed according to the purpose of use. In the above-mentioned three embodiments, the means for generating the signal and the counter control signal or the means for introducing the input signal are configured in substantially the same manner among the respective embodiments. In addition to the above, various methods can be applied according to the current state of the art. Alternatively, a RAM may be used as a memory for storing the coefficient data, and the numerical value of the coefficient data or the output order may be changed when desired. Further, the counter control signal of the above embodiment is
Although the count value of the counter is temporarily increased by +2, depending on the design of the counter, another operation can be performed according to the calculation to be executed.
そこで、次に示す実施例(第4の実施例)では、被乗数
データを格納するメモリのアドレス指定をなすカウント
手段と、そのカウント手段の出力を一時的に変更させる
制御手段の他の例を紹介し、第3の実施例の第1例で行
った演算を他の方法で実行した場合について説明する。
なお、第11図はこの実施例の回路構成を示すものであ
り、第12図はその動作を説明するためのタイミングチャ
ートである。以下図面を参照して説明するが、第11図
において第8図と同様に構成される部分については同一
符号を付してその説明を省略する。そこで、このたたみ
込み演算回路は、RAM(94)のアドレス指定をなす手段と
して、通常の同期式16進カウンタ(101)と、その出力を
ラッチするラッチ回路(102)を備えており、このラッチ
回路(102)の出力をRAMアドレスに使用している。そし
て、この16進カウンタ(101)は、そのクロック入力端子
に2入力ORゲート(103)が接続されており、そこに印加
されるクロック(CLOCK)と後述するカウンタ制御信号
との和をカウントパルスとして入力する。また、このた
たみ込み演算回路は、ROMアドレスとRAMアドレスの同期
をとるために、16進カウンタ((93)とROM(92)の間にもラ
ッチ回路(104)を設けている。なお、これら2つのラッ
チ回路(102),(104)は共にクロックの立ち下がりで入力
データをラッチする。ここで、上記カウンタ制御信号に
ついて説明すると、この信号は制御信号生成回路(105)
によって生成され、クロックのパルス幅よりも小さい幅
のパルスが、16進カウンタ(93)のカウント値が「15」の
ときにクロックの立ち下がりから次の立ち上がりまでの
間に発生するようになっている。なお、このような信号
の生成方法としては、例えば、クロックの4倍の周波数
を有するクロックパルスから一定間隔(クロックの116
倍の周期)で単一のパルスを取り出し、そのパルスを遅
延回路を用いてタイミングを計りつつ出力するようにす
ればよい。Therefore, the following embodiment (fourth embodiment) introduces another example of the counting means for addressing the memory for storing the multiplicand data and the control means for temporarily changing the output of the counting means. Then, a case where the calculation performed in the first example of the third embodiment is executed by another method will be described.
Note that FIG. 11 shows the circuit configuration of this embodiment, and FIG. 12 is a timing chart for explaining the operation thereof. Hereinafter, description will be given with reference to the drawings. In FIG. 11, the same components as those in FIG. 8 are designated by the same reference numerals and the description thereof will be omitted. Therefore, this convolution operation circuit is provided with a normal synchronous hexadecimal counter (101) and a latch circuit (102) for latching its output as a means for addressing the RAM (94). The output of the circuit (102) is used for the RAM address. The hexadecimal counter (101) has a 2-input OR gate (103) connected to its clock input terminal, and counts the sum of a clock (CLOCK) applied to the OR gate (103) and a counter control signal described later as a count pulse. Enter as. In addition, this convolutional arithmetic circuit also includes a latch circuit (104) between the hexadecimal counter ((93) and ROM (92) in order to synchronize the ROM address and the RAM address. The two latch circuits (102) and (104) both latch the input data at the falling edge of the clock.Here, the counter control signal will be explained. This signal is the control signal generation circuit (105).
A pulse with a width smaller than the pulse width of the clock is generated between the falling edge of the clock and the next rising edge when the count value of the hexadecimal counter (93) is "15". There is. As a method of generating such a signal, for example, a clock pulse having a frequency four times as high as that of a clock can be used at a constant interval (116
It is sufficient to take out a single pulse with a doubled period) and output the pulse while measuring the timing using a delay circuit.
そこで、上記構成の動作について第12図を用い具体的に
説明すると、先ず、カウンタ制御信号がLレベルの期間
は、16進カウンタ(101)に入力されるカウントパルスが
クロックと同一となり、16進カウンタ(101)はその立ち
上がりでカウントアッブする。依って、16進カウンタ(1
01)の出力端子(Q0〜Q3)から出力されるカウンタ出力
は順に0,1,2,…と変化する。そして、そのカウンタ出力
はラッチ回路(102)によってクロックの立ち下がりでラ
ッチされ、半クロック分遅延された状態でRAMアドレス
となる。このようにして16個のクロックパルスがカウン
トされ、16個目のクロックが立ち下がった後、カウンタ
制御信号はHレベルに変化し、次のクロックの立ち上が
りまでに再びLレベルに戻る。そのため、カウントパル
スはクロックのパルス周期内に2個のパルスが現れるこ
とになる。依って、カウンタ出力はその間に「15」から
「0」に変化し、次のクロックの立ち上がりでは「1」
になる。そこで、ラッチ回路(102)は、このカウンタ出
力に対しクロックの立ち下がりでラッチするため、カウ
ンタ出力「15」をラッチした後、「0」を飛び越して
「1」をラッチする。つまり、RAMアドレスは「15」か
ら「1」に変化することになる。さらに、その後も同様
に、カウンタ制御信号が一定の周期で変化するため、RA
Mアドレスは一巡後に+2され、第9図に示したRAMアド
レスと同一経緯で移行する。また、説明は省略したが、
ROMアドレス及び▲▼信号についても第9図に示
したものと同じ展開をなす。Therefore, the operation of the above configuration will be specifically described with reference to FIG. 12. First, while the counter control signal is at the L level, the count pulse input to the hexadecimal counter (101) becomes the same as the clock, and the hexadecimal counter The counter (101) counts up at its rising edge. Therefore, the hexadecimal counter (1
The counter output that is output from the output terminals (Q 0 to Q 3 ) of 01) sequentially changes to 0, 1, 2, .... Then, the counter output is latched at the falling edge of the clock by the latch circuit (102) and becomes a RAM address in a state delayed by half a clock. In this way, 16 clock pulses are counted, and after the 16th clock has fallen, the counter control signal changes to H level and returns to L level again by the rising edge of the next clock. Therefore, as the count pulse, two pulses appear within the pulse period of the clock. Therefore, the counter output changes from "15" to "0" during that time, and "1" at the next rising edge of the clock.
become. Therefore, since the latch circuit (102) latches the counter output at the falling edge of the clock, it latches the counter output “15” and then skips “0” and latches “1”. That is, the RAM address changes from "15" to "1". Furthermore, after that, the counter control signal changes in a constant cycle in the same manner.
The M address is incremented by 2 after one cycle, and the M address shifts in the same process as the RAM address shown in FIG. Also, although the explanation is omitted,
The ROM address and ▲ ▼ signal have the same development as shown in FIG.
従って、この実施例では、第3の実施例の第1例で行っ
た演算と同様の演算処理が可能であり、本発明を実現す
る手段は多様に存在することが証明される。Therefore, in this embodiment, the same arithmetic processing as the arithmetic operation performed in the first example of the third embodiment is possible, and it is proved that there are various means for realizing the present invention.
以上述べた第1の実施例乃至第4の実施例からも明らか
なように、本発明のたたみ込み演算回路は、実時間軸上
でたたみ込み演算をなすべくマイクロコンピュータによ
る制御を排除したものであるが、ハード的に構成したに
もかかわらず種々のたたみ込み演算に適応でき、実用性
の高いものである。従って、このたたみ込み演算回路
は、伝達関数となる係数データを自由に設定することに
より、前述のデジタルフィルタにはもちろんのこと、エ
コーマシン等の各種デジタル信号処理装置に使用でき
る。As is clear from the first to fourth embodiments described above, the convolution operation circuit of the present invention does not include the control by the microcomputer in order to perform the convolution operation on the real time axis. However, it is highly practical because it can be adapted to various convolutional operations despite the hardware configuration. Therefore, this convolutional arithmetic circuit can be used not only for the above-mentioned digital filter but also for various digital signal processing devices such as an echo machine by freely setting the coefficient data as the transfer function.
以上説明したように、本発明のたたみ込み演算回路は、
第1のカウンタの出力を第2のカウンタに与えることに
より、たたみ込み演算回路に係る2組のデータ列を比較
的簡単な回路構成でで効率よく制御することができる。As described above, the convolution operation circuit of the present invention is
By giving the output of the first counter to the second counter, it is possible to efficiently control the two sets of data strings related to the convolution operation circuit with a relatively simple circuit configuration.
第1図はデジタル記録再生装置の基本的な構成を示すブ
ロック図、第2図は従来に試案されたたたみ込み演算回
路を示す回路構成図、第3図は本発明のたたみ込み演算
回路に係る第1の実施例を示す回路構成図、第4図は第
3図に示したたたみ込み演算回路の一部の詳細を示す回
路構成図、第5図は第1の実施例の動作を説明するため
のタイミングチャート、第6図は本発明のたたみ込み演
算回路に係る第2の実施例を示す回路構成図、第7図は
第2の実施例の動作を説明するためのタイミングチャー
ト、第8図は本発明のたたみ込み演算回路に係る第3の
実施例を示す回路構成図、第9図及び第10図は第3の実
施例の動作を説明するためのタイミングチャート、第11
図は本発明のたたみ込み演算回路に係る第4の実施例を
示す回路構成図、第12図は第4の実施例の動作を説明す
るためのタイミングチャートである。 41……累積加算器、42……ROM、43……32進カウンタ、4
5……ゲート、46……RAM、47……8進可変カウンタ、4
8,57……5入力ANDゲート。FIG. 1 is a block diagram showing a basic configuration of a digital recording / reproducing apparatus, FIG. 2 is a circuit configuration diagram showing a convolution operation circuit conventionally proposed, and FIG. 3 is a convolution operation circuit of the present invention. FIG. 4 is a circuit configuration diagram showing the first embodiment, FIG. 4 is a circuit configuration diagram showing details of a part of the convolution operation circuit shown in FIG. 3, and FIG. 5 is a diagram for explaining the operation of the first embodiment. 6 is a circuit diagram showing the second embodiment of the convolution operation circuit of the present invention, FIG. 7 is a timing chart for explaining the operation of the second embodiment, and FIG. FIG. 9 is a circuit configuration diagram showing a third embodiment of the convolution operation circuit of the present invention, FIGS. 9 and 10 are timing charts for explaining the operation of the third embodiment, and FIG.
FIG. 12 is a circuit configuration diagram showing a fourth embodiment of the convolution operation circuit of the present invention, and FIG. 12 is a timing chart for explaining the operation of the fourth embodiment. 41 …… Cumulative adder, 42 …… ROM, 43 …… 32-base counter, 4
5 …… Gate, 46 …… RAM, 47 …… Octal variable counter, 4
8,57 …… 5-input AND gate.
Claims (2)
す係数データおよび被乗数データを順次乗算加算する累
積加算手段と、 前記2組のデータ列のうち一方の前記係数データ列を格
納した第1のメモリと、 前記2組のデータ列のうち他方の前記被乗数データ列を
格納する第2のメモリと、 前記第1のメモリに格納された前記係数データを順次読
み出すためのアドレス指定を行う第1のカウント手段
と、 前記第2のメモリに前記被乗数データとなる入力信号を
書込む際あるいは前記第2のメモリに格納された前記被
乗数データを読み出すためのアドレス指定を行う第2の
カウント手段と、 前記第1のカウント手段の出力が所定値のとき前記第2
のカウント手段の出力を一時的に変更する制御信号を生
成する制御信号生成手段と、 前記第2のメモリの作用モードを指定する信号を生成す
る作用モード指定信号生成手段と、 前記第2のメモリが書き込み状態にあるときに前記入力
信号を第2のメモリおよび前記累積加算手段に導入する
入力信号導入手段とを具備したことを特徴とするたたみ
込み演算回路。1. A cumulative addition means for sequentially multiplying and adding coefficient data and multiplicand data, which form mutual elements of two discrete data strings, and one of the two data strings storing the coefficient data string. A first memory, a second memory for storing the other multiplicand data string of the two sets of data strings, and addressing for sequentially reading the coefficient data stored in the first memory. A first counting means for performing, and a second count for writing an input signal to be the multiplicand data in the second memory or for addressing for reading the multiplicand data stored in the second memory. Means and the second counting means when the output of the first counting means is a predetermined value.
Control signal generating means for generating a control signal for temporarily changing the output of the counting means, an operation mode specifying signal generating means for generating a signal specifying the operation mode of the second memory, and the second memory. A convolution operation circuit, comprising: an input signal introducing means for introducing the input signal to the second memory and the accumulative adding means when is in a write state.
ント手段をN進のカウンタとするとN/a進(aは自然
数)のカウンタであることを特徴とする請求項1記載の
たたみ込み演算回路。2. The convolution according to claim 1, wherein the second counting means is an N / a-adic counter (a is a natural number) when the first counting means is an N-adic counter. Arithmetic circuit.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59022756A JPH0619797B2 (en) | 1984-02-13 | 1984-02-13 | Convolution operation circuit |
US06/674,844 US4701875A (en) | 1983-11-26 | 1984-11-26 | High speed convolution arithmetic circuit with multiple counters |
DE8484308175T DE3485491D1 (en) | 1983-11-26 | 1984-11-26 | ARITHMETIC CONVOLUTION CIRCLE. |
EP84308175A EP0143632B1 (en) | 1983-11-26 | 1984-11-26 | A convolution arithmetic circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59022756A JPH0619797B2 (en) | 1984-02-13 | 1984-02-13 | Convolution operation circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS60168269A JPS60168269A (en) | 1985-08-31 |
JPH0619797B2 true JPH0619797B2 (en) | 1994-03-16 |
Family
ID=12091527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59022756A Expired - Lifetime JPH0619797B2 (en) | 1983-11-26 | 1984-02-13 | Convolution operation circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0619797B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62295269A (en) * | 1986-06-16 | 1987-12-22 | Matsushita Electric Ind Co Ltd | Digital audio equipment |
US5414568A (en) * | 1989-10-23 | 1995-05-09 | Matsushita Electric Industrial Co., Ltd. | Variable speed digital signal reproducing apparatus |
EP0548359B1 (en) * | 1989-10-23 | 1996-04-24 | Matsushita Electric Industrial Co., Ltd. | Variable-speed digital signal reproducing device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6040069B2 (en) * | 1979-05-19 | 1985-09-09 | ケイディディ株式会社 | Arithmetic method for signals and trigonometric functions |
JPS57136278A (en) * | 1981-02-17 | 1982-08-23 | Aihon Kk | Convolutional arithmetic circuit |
-
1984
- 1984-02-13 JP JP59022756A patent/JPH0619797B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS60168269A (en) | 1985-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4715257A (en) | Waveform generating device for electronic musical instruments | |
US5566101A (en) | Method and apparatus for a finite impulse response filter processor | |
US4727505A (en) | Convolution arithmetic circuit for digital signal processing | |
JPH07112144B2 (en) | Digital filter | |
US4701875A (en) | High speed convolution arithmetic circuit with multiple counters | |
JPH082014B2 (en) | Multi-stage digital filter | |
JPH0619797B2 (en) | Convolution operation circuit | |
US4023454A (en) | Tone source apparatus for an electronic musical instrument | |
JPH09284094A (en) | Digital filter bank device and its operating method | |
EP0156648B1 (en) | Convolution arithmetic circuit for digital signal processing | |
JP3252296B2 (en) | Waveform data output device | |
JP3258938B2 (en) | Decimation filter | |
JP3097599B2 (en) | Digital filter | |
JPH09266463A (en) | Data interpolation circuit ant data signal application circuit | |
JPH02149011A (en) | Sampling frequency converting device | |
JPS61152115A (en) | Digital filter | |
JPS6095599A (en) | Time-based compressor/stretcher | |
RU2097828C1 (en) | Programmable digital filter | |
JPH0125443B2 (en) | ||
JP2540757B2 (en) | Digital filter circuit for decimation | |
JP2907051B2 (en) | Apparatus and method for generating waveform | |
JPH0716145B2 (en) | Digital transversal filter | |
JPS6336573B2 (en) | ||
JPH0279614A (en) | Digital filter | |
JPH06252701A (en) | Linear interpolation device for time series signal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |