JPH0689300A - Data processing method for lti system - Google Patents

Data processing method for lti system

Info

Publication number
JPH0689300A
JPH0689300A JP26541992A JP26541992A JPH0689300A JP H0689300 A JPH0689300 A JP H0689300A JP 26541992 A JP26541992 A JP 26541992A JP 26541992 A JP26541992 A JP 26541992A JP H0689300 A JPH0689300 A JP H0689300A
Authority
JP
Japan
Prior art keywords
input data
fixed point
data processing
mantissa
processing method
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.)
Pending
Application number
JP26541992A
Other languages
Japanese (ja)
Inventor
Satoru Kubota
悟 窪田
Keizo Hirano
圭蔵 平野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Radio Co Ltd
Nagano Japan Radio Co Ltd
Original Assignee
Japan Radio Co Ltd
Nagano Japan Radio Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Japan Radio Co Ltd, Nagano Japan Radio Co Ltd filed Critical Japan Radio Co Ltd
Priority to JP26541992A priority Critical patent/JPH0689300A/en
Publication of JPH0689300A publication Critical patent/JPH0689300A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To improve a system characteristic, to reduce the circuit configuration, and to speed up the data processing by representing each system constant in floating-point by limiting the range of the size of an exponential part. CONSTITUTION:Input data x[n] represented in fixed point is written in a RAM 4 by a write-in address Aw from a first address generator 5. On the other hand, the input data x[n] stored in the RAM 4 is read out by a read-out address Ar from the first address generator 5, and is given to a multiplying function part 8. Namely, in concrete terms, the input data x[n] for which a prescribed arithmetic operation is exculable and which is multiplied by a mantissa hm to be exponential part pm=-Q, is read successively out of the RAM 4, after that, the input data x[m] to be multiplied by the mantissa hm to be exponential part pm=-Q+1, is read out successively, and after that, the input data x[n] to be multiplied by the mantissa hm to be exponential part=-Q+2 is read out successively, and all the input data x[n] are read out by turns in this way.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はFIRディジタルフィル
タ、相互相関器等のディジタル信号処理に用いて好適な
LTI(線形時不変)システムのデータ処理方法に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing method for an LTI (linear time invariant) system suitable for digital signal processing such as FIR digital filters and cross-correlators.

【0002】[0002]

【従来の技術】一般に、入力データをx[n]、インパ
ルス応答を表すシステム定数をh[m](m=0,1,
2…N−1)とした場合、入力データx[n]とシステ
ム定数h[m]のたたみ込み演算を行う下記〔数1〕式
から出力データy[n]を求めることができるLTIシ
ステムは知られており、システム定数h[m]をインパ
ルス応答を表すタップ係数(フィルタ係数)とすれば、
このLTIシステムはFIRディジタルフィルタとな
る。
2. Description of the Related Art Generally, input data is x [n] and a system constant representing an impulse response is h [m] (m = 0, 1,
2 ... N-1), the LTI system that can obtain the output data y [n] from the following [Equation 1] formula that performs the convolution operation of the input data x [n] and the system constant h [m] is It is known that if the system constant h [m] is a tap coefficient (filter coefficient) representing an impulse response,
This LTI system is a FIR digital filter.

【0003】[0003]

【数1】 なお、〔数1〕式は入力データx[n]とシステム定数
h[m]の相互(自己)相関を求めることができるた
め、このLTIシステムは相互(自己)相関器とみなす
こともできる。
[Equation 1] Since the equation (1) can find the cross (auto) correlation between the input data x [n] and the system constant h [m], this LTI system can be regarded as a cross (auto) correlator.

【0004】ところで、この種のLTIシステムをFI
Rディジタルフィルタとして構成する場合、通常、入力
データx[n]と出力データy[n]は固定小数点表現
されるため、タップ係数(システム定数)h[m]も回
路構成の小規模化及び演算処理の高速化を確保する理由
から固定小数点表現され、前記〔数1〕式は固定小数点
により演算処理(データ処理)されていた。
By the way, this type of LTI system is used for FI.
When configured as an R digital filter, since the input data x [n] and the output data y [n] are usually expressed in fixed point, the tap coefficient (system constant) h [m] is also downsized and calculated. The fixed-point expression is used for the purpose of ensuring high-speed processing, and the equation [1] has been subjected to arithmetic processing (data processing) by the fixed-point.

【0005】図2はこのようなデータ処理を実行できる
FIRディジタルフィルタのブロック構成回路を示す。
このFIRディジタルフィルタによれば、前記〔数1〕
式の演算処理が固定小数点により忠実に実行され、一つ
の出力データ(出力値)y[n]が求められる。以下、
図2に示すFIRディジタルフィルタ50の概要につい
て説明する。
FIG. 2 shows a block configuration circuit of an FIR digital filter capable of executing such data processing.
According to this FIR digital filter, [Formula 1]
The arithmetic processing of the equation is faithfully executed by the fixed point, and one output data (output value) y [n] is obtained. Less than,
An outline of the FIR digital filter 50 shown in FIG. 2 will be described.

【0006】まず、固定小数点表現された入力データx
[n]は第一アドレス発生器52からの書込アドレスA
wによってRAM51に書き込まれる。この場合、書込
アドレスAwは、0000H…FFFFH,0000H
FFFFHのようにサイクリックに生成され、その数は
最低タップ数だけ必要になる。なお、入力データx
[n]を一旦RAM51に書き込む理由は、データ処理
の実行をハードウェア化する際、タップ数が多くなるに
従って回路規模も大きくなり、パイプライン処理が困難
になるためである。
First, the input data x expressed in fixed point
[N] is the write address A from the first address generator 52.
W is written in the RAM 51. In this case, the write address Aw is 0000 H ... FFFF H , 0000 H ...
It is generated cyclically like FFFF H , and the number of taps is required to be the minimum number of taps. Input data x
The reason why [n] is once written in the RAM 51 is that when the data processing is implemented by hardware, the circuit scale increases as the number of taps increases, and pipeline processing becomes difficult.

【0007】一方、RAM51に記憶された入力データ
x[n]は、第一アドレス発生器52からの読出アドレ
スAorによって、書き込まれた順番に読み出され、乗
算機能部53に付与される。この場合、タップ係数の数
が、例えば、256であれば、読出アドレスAorは、
0000H…00FFH,0001H…0100H,000
H…0101H,0003H…0102Hのように順番に
生成される。
On the other hand, the input data x [n] stored in the RAM 51 is read in the written order by the read address Aor from the first address generator 52 and given to the multiplication function unit 53. In this case, if the number of tap coefficients is 256, for example, the read address Aor is
0000 H ... 00FF H , 0001 H ... 0100 H , 000
2 H ... 0101 H , 0003 H ... 0102 H are sequentially generated.

【0008】他方、固定小数点表現されたタップ係数h
[m]は予めROM54に格納されており、第二アドレ
ス発生器55からの読出アドレスAofにより順次読み
出されるとともに、乗算機能部53に付与される。そし
て、乗算機能部53ではタップ係数と入力データの乗
算、即ち、h[m]・x[n−m]の乗算処理が実行さ
れる。また、得られた乗算結果は加算機能部56に付与
され、乗算結果の総和、即ち、前記〔数1〕式が求めら
れる。
On the other hand, tap coefficient h expressed in fixed point
[M] is stored in the ROM 54 in advance, is sequentially read by the read address Aof from the second address generator 55, and is given to the multiplication function unit 53. Then, the multiplication function unit 53 executes the multiplication of the tap coefficient and the input data, that is, the multiplication processing of h [m] · x [nm]. In addition, the obtained multiplication result is given to the addition function unit 56, and the sum of the multiplication results, that is, the above-mentioned [Equation 1] is obtained.

【0009】なお、57は前記〔数1〕式のΣ記号によ
る総和、即ち、出力データ(出力値)y[n]が得られ
る毎に加算機能部56を初期化するセレクタ、58は加
算機能部56から得た加算結果を必要なビット数に丸め
る四捨五入機能部、59は各ブロックにタイミング信号
を付与するタイミング信号発生器である。
Numeral 57 is a selector for initializing the addition function unit 56 every time the summation by the Σ symbol of the equation [1], that is, output data (output value) y [n] is obtained, and 58 is an addition function. A rounding function unit that rounds the addition result obtained from the unit 56 to a required number of bits, and 59 is a timing signal generator that gives a timing signal to each block.

【0010】[0010]

【発明が解決しようとする課題】しかし、上述したFI
Rディジタルフィルタ50における従来のデータ処理方
法は入力データx[n]及びタップ係数(システム定
数)h[m]は共に固定小数点表現により演算処理され
るため、量子化誤差や演算誤差が大きくなり、フィルタ
特性の低下を招く問題がある。
However, the above-mentioned FI
In the conventional data processing method in the R digital filter 50, since the input data x [n] and the tap coefficient (system constant) h [m] are both processed by the fixed-point representation, the quantization error and the calculation error increase. There is a problem that the filter characteristics are deteriorated.

【0011】一方、量子化誤差を低減するために、タッ
プ係数h[m]を浮動小数点表現するとともに、入力デ
ータx[n]を浮動小数点表現に拡大解釈し、前記〔数
1〕式を浮動小数点表現により演算した後、固定小数点
表現に変換して出力データy[n]を求めることも考え
られるが、このような単純な変換処理を行うだけでは、
回路規模が大きくなり、しかも、データの処理時間が長
くなるという新たな問題を生ずる。
On the other hand, in order to reduce the quantization error, the tap coefficient h [m] is expressed as a floating point, and the input data x [n] is expanded and interpreted as a floating point expression to float the above equation [1]. It is possible to calculate the output data y [n] by converting it to a fixed-point expression after performing calculation by the decimal point expression. However, if such a simple conversion process is performed,
A new problem arises that the circuit scale becomes large and the data processing time becomes long.

【0012】本発明はこのような従来の技術に存在する
課題を解決したものであり、量子化誤差及び演算誤差を
排除してシステム特性の向上を図り、加えて回路構成の
縮小化とデータ処理の高速化を実現できるLTIシステ
ムのデータ処理方法の提供を目的とする。
The present invention solves the problems existing in the prior art as described above, and improves the system characteristics by eliminating the quantization error and the calculation error. In addition, the circuit configuration is reduced and the data processing is performed. It is an object of the present invention to provide a data processing method of an LTI system capable of realizing high speed.

【0013】[0013]

【課題を解決するための手段】本発明に係るLTIシス
テムのデータ処理方法は、固定小数点表現された入力デ
ータx[n]とシステム定数h[m]を演算処理して固
定小数点表現された出力データy[n]を求めるに際
し、各システム定数h[m]を指数部の大きさの範囲を
限定して浮動小数点表現し、かつ絶対値が一定の大きさ
以上となるシステム定数h[m]を複数に分割したシス
テム定数h′[m]、h[m]に変換するとともに、各
システム定数h′[m]、h[m]の仮数部hm、h′
mと各入力データx[n]を固定小数点により乗算し、
かつ同一の指数部pm、p′mを有するシステム定数
h′[m]、h[m]について実行した乗算結果を、固
定小数点により加算して部分和を求めるとともに、異な
る指数部毎に求めた部分和を固定小数点により加算、例
えば、小さい指数部pm、p′mを有するシステム定数
h′[m]、h[m]に対応する部分和から順番に加算
して出力データy[n]のための総和を求めることを特
徴とする。
According to the data processing method of an LTI system of the present invention, a fixed-point representation of an input data x [n] and a system constant h [m] are processed to produce an output represented by a fixed-point representation. When obtaining the data y [n], each system constant h [m] is expressed as a floating point by limiting the range of the exponent size, and the system constant h [m] whose absolute value is a certain size or more. Is converted into a plurality of system constants h ′ [m] and h [m], and mantissa parts hm and h ′ of the respective system constants h ′ [m] and h [m] are converted.
m and each input data x [n] are multiplied by a fixed point,
And the multiplication results executed for the system constants h '[m] and h [m] having the same exponent parts pm and p'm are added by a fixed point to obtain a partial sum, and also to each different exponent part. The partial sums are added by fixed point, for example, the partial sums corresponding to the system constants h '[m] and h [m] having small exponents pm and p'm are sequentially added to output data y [n]. It is characterized by finding the sum total for

【0014】[0014]

【作用】本発明に係るLTIシステムのデータ処理方法
によれば、まず、各システム定数h[m]は指数部pm
の大きさの範囲を限定して浮動小数点表現し、かつ絶対
値が一定の大きさ以上となるシステム定数は複数に分割
したシステム定数h′[m]とh[m]に変換する。
According to the data processing method of the LTI system according to the present invention, first, each system constant h [m] is an exponent part pm.
The floating-point expression is limited to the range of the magnitudes of the system constants, and the system constants whose absolute values are equal to or greater than a certain magnitude are converted into a plurality of system constants h ′ [m] and h [m].

【0015】システム定数をこのような浮動小数点表現
に変換する理由は次の通りである。通常、システム定数
の値をQビット固定小数点表現した場合、ほとんどのシ
ステム定数はフルスケール値をとらずに零付近の値をと
ることが多い。このため、システム定数の上位ビットは
そのほとんどが演算処理に利用されず、結局、Qビット
の演算処理では極めて無駄が多くなる。
The reason for converting the system constant into such a floating point representation is as follows. Usually, when the value of the system constant is expressed by Q-bit fixed point, most of the system constants take a value near zero without taking the full-scale value. For this reason, most of the upper bits of the system constant are not used for the arithmetic processing, and in the end, the Q-bit arithmetic processing is extremely wasteful.

【0016】一方、システム定数を浮動小数点表現すれ
ば、仮数部の語長が減少し、演算処理においては各ビッ
トを有効に活用できる。しかし、単に、浮動小数点表現
を用いたとしても、入出力データは固定小数点表現され
ているので、各ビットは演算処理の最終結果に寄与しな
いこともあり得る。そこで、仮数部のとり得る値の範囲
を不要に広げないために、予め、Qビット固定小数点表
現したシステム定数から、Rビットずつ取り出して浮動
小数点表現する変換方法を採用した。
On the other hand, if the system constant is expressed in floating point, the word length of the mantissa part is reduced, and each bit can be effectively utilized in the arithmetic processing. However, even if the floating point representation is simply used, since the input / output data is represented in the fixed point representation, each bit may not contribute to the final result of the arithmetic processing. Therefore, in order not to unnecessarily widen the range of values that the mantissa can take, a conversion method is adopted in which R bits are extracted from the system constant that is expressed in Q-bit fixed point in advance and expressed in floating point.

【0017】他方、システム定数における零付近の値は
部分和を求める演算処理によって、桁上がりした部分の
みが最終結果に寄与するので、仮数部の語長Rは入出力
データの語長よりも短くてもよい。しかし、フルスケー
ル付近の値は全ビットが最終結果に寄与し得るので、仮
数部の語長を入出力データの語長よりも短くすれば、シ
ステム定数の量子化誤差を招き、結局、正しい演算結果
を得られない。そこで、通常はRビットの比較的短い誤
長での演算処理を行うとともに、フルスケール付近(絶
対値が2-S以上)の値については、SビットとRビット
の二つに分割して演算処理を行うようにした。
On the other hand, the value near the zero in the system constant is shorter than the word length R of the input / output data because only the carry part contributes to the final result by the arithmetic processing for obtaining the partial sum. May be. However, since all the bits near the full scale can contribute to the final result, if the word length of the mantissa is shorter than the word length of the input / output data, it causes a quantization error of the system constant, and in the end correct operation I can't get any results. Therefore, in general, arithmetic processing is performed with a relatively short error length of R bits, and for values near full scale (absolute value is 2 -S or more), it is divided into two, S bits and R bits. It was made to process.

【0018】なお、システム定数を浮動小数点表現し、
かつ上述した手法により演算処理を行った場合には、フ
ルスケール付近の値は重複して演算処理されることにな
るが、フルスケール近辺の値をとるシステム定数は全シ
ステム定数の数に比べて極めて少ないため、演算時間へ
の影響は極めて少ない。よって、高精度の高速演算処理
が実現される。
The system constants are expressed in floating point,
And when the arithmetic processing is performed by the above-mentioned method, the values near the full scale are duplicated, but the system constants that take values near the full scale are compared to the total number of system constants. Since it is extremely small, the influence on the calculation time is extremely small. Therefore, highly accurate and high-speed arithmetic processing is realized.

【0019】次に、本発明に係るデータ処理方法に基づ
く具体的処理手順について述べる。まず、│h[m]│
の最大値を1−2-Q(Q:正の整数)に正規化する。次
いで、│h[m]│を直線量子化するとともに、Qビッ
ト固定小数点で表現し、これをh[m]とする。な
お、h[m]におけるビットの重みは上位から下位に
行くに従って2-1,2-2,2-3…2-Qとなる。そして、
次に示す〜の条件に応じてh[m]を浮動小数点
表現する。なお、以下に記載する「INT()」は()
内の値を越えない最大の整数を表している。
Next, a specific processing procedure based on the data processing method according to the present invention will be described. First, │h [m] │
The maximum value of is normalized to 1-2 -Q (Q: positive integer). Next, | h [m] | is linearly quantized, and is expressed by a Q-bit fixed point, and this is set to ˜h [m]. The bit weights in ~ h [m] are 2 -1 , 2 -2 , 2 -3 ... 2 -Q from the higher order to the lower order. And
Floating point representation the ~ h [m] according to the conditions of ~ shown below. In addition, "INT ()" described below is ()
Represents the largest integer that does not exceed the value in.

【0020】 h[m]<2-Q+R(R:0<R<Q
となる整数)のとき、この場合、指数部pm=−Q、仮
数部hm=INT(h[m]/2pm)とし、h[m]
≒hm×2pmとする。仮数部hmはRビットで表現さ
れ、h[m]が負値を取り得るときは、hmに符号ビッ
トを付加してR+1ビットで表現する。
~ H [m] <2 -Q + R (R: 0 <R <Q
When an integer) as the, in this case, exponent pm = -Q, and mantissa hm = INT (h [m] / 2 pm), ~ h [m]
≈hm × 2 pm The mantissa part hm is expressed by R bits, and when h [m] can take a negative value, a sign bit is added to hm and expressed by R + 1 bits.

【0021】 2-Q+Rh[m]<2-S(S:0<
S<Qとなる整数)のとき、この場合、指数部pm=I
NT(log2│h[m]│)−R+1、仮数部hm=IN
T(h[m]/2pm)とし、h[m]≒hm×2pm
する。なお、仮数部hmのビット数はに準ずる。
[0021] 2 -Q + R ≦ ~ h [ m] <2 -S (S: 0 <
If S <Q), in this case, the exponent part pm = I
NT (log 2 | h [m] |) -R + 1, mantissa hm = IN
T (h [m] / 2 pm ), and ~ h [m] ≈hm × 2 pm . The number of bits of the mantissa part hm conforms to.

【0022】 h[m]>2-Sのとき、この場合、
指数部p′m=−S、仮数部h′m=INT(h[m]
/2pm)のシステム定数と、指数部pm=INT(log2
{│h[m]│−hm×2-S})−R+1(pm≦−Q
であればpm=−Q)、仮数部hm=INT(h[m]
/2pm)のシステム定数の二つで表現する。即ち、
[m]≒h′m×2pm+hm×2pmとする。この場
合、仮数部h′mはSビットで表現され、hmと同様
に、h[m]が負値を取り得るときは、符号ビットを付
加してS+1ビットで表現する。
[0022] ~ h [m]> time of 2 -S, in this case,
Exponent part p'm = -S, mantissa part h'm = INT (h [m]
/ 2 pm ) system constant and exponent part pm = INT (log 2
{│h [m] │-hm × 2 -S })-R + 1 (pm≤-Q
If so, pm = −Q), mantissa part hm = INT (h [m]
/ 2 pm ) system constants. That is, ~ h
[M] ≈h′m × 2 pm + hm × 2 pm . In this case, the mantissa part h'm is represented by S bits, and when h [m] can take a negative value, it is represented by S + 1 bits by adding a sign bit, like hm.

【0023】以上の浮動小数点表現方法は、Qビットの
システム定数からは最も高い精度でRビットを取り出せ
るとともに、絶対値の大きいシステム定数からはSビッ
トとRビットの双方を取り出せることを意味する。
The above floating-point representation method means that R bits can be extracted with the highest precision from the Q-bit system constant, and both S bits and R bits can be extracted from the system constant having a large absolute value.

【0024】一方、上述した浮動小数点表現により、
〔数1〕式は下記〔数2〕式に書き替えることができ、
本発明のデータ処理方法ではこの〔数2〕式が利用され
る。
On the other hand, according to the above-mentioned floating point representation,
[Equation 1] can be rewritten as the following [Equation 2],
The equation (2) is used in the data processing method of the present invention.

【0025】[0025]

【数2】 なお、〔数2〕式における下記〔数3〕はpm=−Qと
なるmに対するhm・x[n−m]の部分和を意味す
る。
[Equation 2] The following [Formula 3] in the formula [2] means a partial sum of hm · x [n−m] with respect to m where pm = −Q.

【0026】[0026]

【数3】 よって、〔数2〕式により出力データを得るための演算
処理を行うことができる。この場合、データ処理の高速
化と回路の簡略化のために次の手順で演算処理を行う。
まず、同一の指数部を有するシステム定数について実行
した乗算結果毎に各乗算結果を加算した部分和、即ち、
〔数3〕を固定小数点演算により求める。次に、求めた
部分和を指数部pmの小さい順番に加算して総和、即
ち、〔数2〕式のy[n]を固定小数点演算により求め
る。この場合、指数部pm=−Qの部分和のビットを下
位側へ1ビットシフトし、指数部pm=−Q+1の部分
和に加算し、さらに、この部分和のビットを下位側へ1
ビットシフトし、指数部pm=−Q+2の部分和に加算
するというように、順次各部分和を加算して総和を求め
る。
[Equation 3] Therefore, it is possible to perform the arithmetic processing for obtaining the output data by the formula [2]. In this case, in order to speed up data processing and simplify the circuit, arithmetic processing is performed in the following procedure.
First, a partial sum obtained by adding each multiplication result for each multiplication result executed for system constants having the same exponent part, that is,
[Equation 3] is obtained by fixed point arithmetic. Next, the obtained partial sums are added in the ascending order of the exponent part pm to obtain the total sum, that is, y [n] in the formula [2] by fixed-point arithmetic. In this case, the bit of the partial sum of the exponent part pm = -Q is shifted to the lower side by 1 bit and added to the partial sum of the exponent part pm = -Q + 1, and the bit of this partial sum is further shifted to the lower side by 1
Bit-shifting is performed, and the partial sums are sequentially added such that the partial sums of the exponent part pm = −Q + 2 are added to obtain the total sum.

【0027】このような加算処理はビットシフトによっ
て小数点位置を揃える処理を含むため、疑似浮動小数点
演算と呼ぶこともでき、特に、部分和を指数部pmの小
さい順番に加算することにより演算誤差を低減できる。
Since such an addition process includes a process of aligning decimal point positions by bit shift, it can be called a pseudo-floating point operation. In particular, by adding partial sums in the order of increasing exponent part pm, an operation error is generated. It can be reduced.

【0028】[0028]

【実施例】次に、本発明に係る好適な実施例を挙げ、図
面に基づき詳細に説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, preferred embodiments according to the present invention will be described in detail with reference to the drawings.

【0029】まず、本発明に係るデータ処理方法を実施
できるLTIシステムの構成について図1を参照して説
明する。なお、実施例はLTIシステムの一例としてF
IRディジタルフィルタを示す。
First, the configuration of an LTI system capable of implementing the data processing method according to the present invention will be described with reference to FIG. The embodiment is an example of the LTI system, which is F
An IR digital filter is shown.

【0030】図1中、1はFIRディジタルフィルタで
あり、入力データx[n]の入力部2と出力データy
[n]の出力部3を備える。ディジタルフィルタ1にお
いて、4はRAMであり、入力部2から入力する入力デ
ータx[n]を記憶する。また、5は第一アドレス発生
器であり、RAM4に入力データx[n]を書き込む際
の書込アドレスAwを生成するとともに、RAM4から
読み出す際の読出アドレスArを生成する。この場合、
読出アドレスArは最新の書込アドレスAwに応じて、
前記〔数2〕式の演算を実行できるように入力データx
[n]の読み出しを行う。即ち、具体的には、指数部p
m=−Qとなる仮数部hmを乗じる入力データx[n]
を順次読み出し、この後、指数部pm=−Q+1となる
仮数部hmを乗じる入力データx[n]を順次読み出
し、この後、指数部pm=−Q+2となる仮数部hmを
乗じる入力データx[n]を順次読み出し、以下、順番
に同様の読み出しを行う。
In FIG. 1, reference numeral 1 denotes an FIR digital filter, which has an input section 2 for input data x [n] and output data y.
The output unit 3 of [n] is provided. In the digital filter 1, 4 is a RAM, which stores the input data x [n] input from the input unit 2. A first address generator 5 generates a write address Aw for writing the input data x [n] in the RAM 4 and a read address Ar for reading from the RAM 4. in this case,
The read address Ar corresponds to the latest write address Aw,
Input data x so that the operation of the above [Formula 2] can be executed.
Read [n]. That is, specifically, the exponent part p
Input data x [n] multiplied by the mantissa hm for which m = -Q
Of the input data x [n], which is multiplied by the mantissa part hm with the exponent part pm = −Q + 1, and then with the mantissa part hm with the exponent part pm = −Q + 2. [n] are sequentially read, and thereafter, the same reading is sequentially performed.

【0031】一方、6はROMでありシステム定数h
[m]であるタップ係数(フィルタ係数)の仮数部h
m、h′mが格納されている。この場合、仮数部hm、
h′mは前記“作用”の欄で述べた条件に基づいて予め
設定される。また、仮数部hm、h′mはRAM4から
読み出された入力データx[n]との乗算が容易となる
順番に格納される。なお、指数部pmの格納は不要なた
め、ROMの小容量化が図られる。また、7は第二アド
レス発生器であり、ROM6から目的の仮数部hmを読
み出すための読出アドレスAfを生成する。
On the other hand, 6 is a ROM, which is a system constant h
Mantissa part h of tap coefficient (filter coefficient) that is [m]
m and h'm are stored. In this case, the mantissa part hm,
h'm is preset based on the conditions described in the above-mentioned "action" column. The mantissa parts hm and h'm are stored in an order that facilitates multiplication with the input data x [n] read from the RAM 4. Since it is unnecessary to store the exponent part pm, the ROM capacity can be reduced. A second address generator 7 generates a read address Af for reading the target mantissa part hm from the ROM 6.

【0032】他方、8は乗算機能部であり、タップ係数
の仮数部と入力データの乗算、即ち、hm・x[n−
m]を固定小数点により演算処理する。また、9は第一
加算機能部であり、同一の指数部pmを有するタップ係
数について実行した乗算結果毎に各乗算結果を加算した
前記〔数3〕で示す部分和、即ち、Σhm・x[n−
m]を固定小数点により演算処理する。なお、10はΣ
記号による総和が求められる毎に、第一加算機能部9を
初期化するセレクタである。
On the other hand, 8 is a multiplication function unit, which multiplies the mantissa part of the tap coefficient and the input data, that is, hm × x [n-
[m] is processed by a fixed point. Reference numeral 9 denotes a first addition function unit, which is a partial sum obtained by adding each multiplication result for each multiplication result executed for tap coefficients having the same exponent part pm, that is, Σhm · x [ n-
[m] is processed by a fixed point. Note that 10 is Σ
It is a selector that initializes the first addition function unit 9 every time the summation by symbols is obtained.

【0033】また、11は第二加算機能部であり、第一
加算機能部9から得られる前記〔数3〕で示す部分和を
全て加算した総和を固定小数点により演算する。なお、
12は〔数3〕の総和、即ち、前記〔数2〕式における
y[n]が求められる毎に、第二加算機能部11を初期
化するセレクタである。一方、13は第二加算機能部1
1の出力を1ビット下位側にシフトするためのシフトビ
ット部である。このシフトビット部13は回路素子を必
要としない配線のみで実現できる。
Reference numeral 11 denotes a second addition function unit, which calculates a total sum obtained by adding all the partial sums shown in [Equation 3] obtained from the first addition function unit 9 using a fixed point. In addition,
A selector 12 initializes the second addition function unit 11 every time the sum of [Equation 3], that is, y [n] in the above [Equation 2] is obtained. On the other hand, 13 is the second addition function unit 1.
A shift bit unit for shifting the output of 1 to the lower side by 1 bit. This shift bit unit 13 can be realized only by wiring that does not require a circuit element.

【0034】その他、14は第二加算機能部11から得
る加算結果に対して利得補正定数を乗じる利得補正機能
部及び利得補正された値を必要な語長に変換して出力デ
ータとする四捨五入機能部を含む出力処理部である。こ
のような、利得補正機能部によりタップ係数を構成する
値を浮動小数点表現することによって生じるフィルタ利
得を補正できる。また、15は各ブロックにタイミング
信号を付与するタイミング信号発生器である。なお、各
ブロックにおける機能はハードウェア、ソフトウェアの
いずれによっても実現できる。
In addition, 14 is a gain correction function unit that multiplies the addition result obtained from the second addition function unit 11 by a gain correction constant, and a rounding function that converts the gain-corrected value into a required word length and outputs it as output data. It is an output processing unit including a unit. With such a gain correction function unit, it is possible to correct the filter gain generated by expressing the values forming the tap coefficient in floating point. Reference numeral 15 is a timing signal generator that gives a timing signal to each block. The function in each block can be realized by either hardware or software.

【0035】次に、本発明に係るデータ処理方法を含む
FIRディジタルフィルタ1の機能について、図1を参
照して説明する。
Next, the function of the FIR digital filter 1 including the data processing method according to the present invention will be described with reference to FIG.

【0036】まず、固定小数点表現された入力データx
[n]は第一アドレス発生器5からの書込アドレスAw
によってRAM4に書き込まれる。この場合、書込アド
レスAwは、従来と同様、0000H…FFFFH,00
00H…FFFFHのようにサイクリックに生成される。
First, input data x represented in fixed point
[N] is the write address Aw from the first address generator 5.
Is written in the RAM4. In this case, the write address Aw is 0000 H ... FFFF H , 00 as in the conventional case.
It is cyclically generated like 00 H ... FFFF H.

【0037】一方、RAM4に記憶された入力データx
[n]は、第一アドレス発生器5からの読出アドレスA
rによって読み出され、乗算機能部8に付与される。即
ち、具体的には、RAM4から前記〔数2〕式の演算を
実行できるところの、指数部pm=−Qとなる仮数部h
mを乗じる入力データx[n]が順次読み出され、この
後、指数部pm=−Q+1となる仮数部hmを乗じる入
力データx[n]が順次読み出され、この後、指数部p
m=−Q+2となる仮数部hmを乗じる入力データx
[n]が順次読み出されるというように、全入力データ
x[n]が順番に読み出される。
On the other hand, the input data x stored in the RAM 4
[N] is the read address A from the first address generator 5.
It is read by r and given to the multiplication function unit 8. That is, specifically, the mantissa part h where the exponent part pm = -Q, where the operation of the above [Formula 2] can be executed from the RAM 4,
The input data x [n] that is multiplied by m is sequentially read, and then the input data x [n] that is multiplied by the mantissa part hm with the exponent part pm = −Q + 1 is sequentially read, and then the exponent part p
Input data x to be multiplied by the mantissa part hm such that m = -Q + 2
All the input data x [n] are sequentially read such that [n] is sequentially read.

【0038】他方、ROM6からは前記〔数2〕式の演
算を実行できるように、タップ係数の仮数部hm、h′
mが第二アドレス発生器7からの読出アドレスAfによ
り予め設定された順番に読み出され、乗算機能部8に付
与される。
On the other hand, from the ROM 6, the mantissa parts hm and h'of the tap coefficients can be calculated so that the operation of the formula [2] can be executed.
m is read in the order set in advance by the read address Af from the second address generator 7 and given to the multiplication function unit 8.

【0039】そして、RAM4から読み出さた入力デー
タx[n]とROM6から読み出されたタップ係数の仮
数部hm、h′mは乗算機能部8により乗算される。即
ち、hm・x[n−m]が固定小数点により演算処理さ
れる。この乗算結果は第一加算機能部9に付与され、同
一の指数部pmを有するタップ係数について実行した乗
算結果毎に各乗算結果を加算した部分和、即ち、前記
〔数3〕が固定小数点により演算処理される。この際、
セレクタ10により、当該〔数3〕が求められる毎に、
第一加算機能部9は初期化される。
The input data x [n] read from the RAM 4 and the mantissa parts hm and h'm of the tap coefficients read from the ROM 6 are multiplied by the multiplication function unit 8. That is, hm · x [n−m] is calculated by the fixed point. This multiplication result is given to the first addition function unit 9, and the partial sum obtained by adding each multiplication result for each multiplication result executed for the tap coefficient having the same exponent part pm, that is, [Formula 3] is a fixed point. It is processed. On this occasion,
Each time the [Equation 3] is obtained by the selector 10,
The first addition function unit 9 is initialized.

【0040】また、第一加算機能部9により求められた
部分和は第二加算機能部11に付与され、前記〔数3〕
で示す部分和の総和が固定小数点により演算処理され
る。この場合、シフトビット部13は第二加算機能部1
1の出力を1ビット下位側にシフトする機能を有し、さ
らに、セレクタ12は一つのy[n]が求められる毎
に、第二加算機能部11を初期化する機能を有するた
め、第二加算機能部11は部分和を指数部pmの小さい
順番に加算して前記〔数2〕式のy[n]を求める。具
体的には、指数部pm=−Qの部分和のビットを下位側
へ1ビットシフトし、指数部pm=−Q+1の部分和に
加算し、さらに、この部分和のビットを下位側へ1ビッ
トシフトし、指数部pm=−Q+2の部分和に加算する
というように、順次各部分和を加算して総和を求める。
The partial sum obtained by the first addition function unit 9 is given to the second addition function unit 11, and the above [Formula 3]
The total sum of the partial sums indicated by is calculated by the fixed point. In this case, the shift bit unit 13 is the second addition function unit 1
The selector 12 has a function of shifting the output of 1 to the lower side by 1 bit, and further, the selector 12 has a function of initializing the second addition function unit 11 every time one y [n] is obtained. The addition function unit 11 adds the partial sums in ascending order of the exponent part pm to obtain y [n] in the equation [2]. Specifically, the bit of the partial sum of the exponent part pm = -Q is shifted to the lower side by 1 bit, added to the partial sum of the exponent part pm = -Q + 1, and the bit of the partial sum is further shifted to the lower side by 1 Bit-shifting is performed, and the partial sums are sequentially added such that the partial sums of the exponent part pm = −Q + 2 are added to obtain the total sum.

【0041】一方、得られた前記〔数2〕式のy[n]
は出力処理部14に付与される。出力処理部14はその
利得補正機能部により、付与された総和、即ち、前記
〔数2〕式による一つのy[n]に利得補正定数を乗
じ、タップ係数を構成する値を浮動小数点表現すること
によって生じるフィルタ利得を補正するとともに、四捨
五入機能部により、利得補正された値を必要な語長に変
換する。よって、出力処理部14からは固定小数点表現
された出力データが出力部3に付与される。
On the other hand, y [n] of the obtained [Formula 2] is obtained.
Is provided to the output processing unit 14. The output processing unit 14 multiplies the added sum, that is, one y [n] according to the formula [2] by a gain correction constant by the gain correction function unit and expresses a value forming the tap coefficient in a floating point. The resulting filter gain is corrected, and the rounding function unit converts the gain-corrected value into a required word length. Therefore, the output processing unit 14 provides the output unit 3 with the output data in the fixed-point representation.

【0042】以上、実施例について詳細に説明したが、
本発明はこのような実施例に限定されるものではない。
例えば、実施例はFIRディジタルフィルタに適用した
場合を示したが、ディジタル自己相関器にも同様に適用
できるなど、一般的には各種LTIシステムに適用でき
る。その他、細部の構成において本発明の要旨を逸脱し
ない範囲で任意に変更できる。
The embodiment has been described in detail above.
The present invention is not limited to such an embodiment.
For example, although the embodiment has been shown to be applied to the FIR digital filter, it can be applied to the digital autocorrelator as well, and is generally applicable to various LTI systems. In addition, the detailed configuration can be arbitrarily changed without departing from the scope of the present invention.

【0043】[0043]

【発明の効果】このように、本発明に係るLTIシステ
ムのデータ処理方法は、各システム定数を指数部の大き
さの範囲を限定して浮動小数点表現し、かつ絶対値が一
定の大きさ以上となるシステム定数を複数に分割したシ
ステム定数に変換するとともに、各システム定数の仮数
部と各入力データを固定小数点により乗算し、かつ同一
の指数部を有するシステム定数について実行した乗算結
果を、固定小数点により加算して部分和を求めるととも
に、異なる指数部毎に求めた部分和を固定小数点により
加算して出力データのための総和を求めるようにしたた
め、量子化誤差及び演算誤差を排除してシステム特性
(フィルタ特性等)の向上を図ることができるととも
に、加えて回路構成の縮小化とデータ処理の高速化を実
現できるという顕著な効果を奏する。
As described above, in the data processing method of the LTI system according to the present invention, each system constant is expressed as a floating point by limiting the range of the size of the exponent part, and the absolute value is equal to or larger than a certain size. The system constant is converted into multiple system constants, and the mantissa part of each system constant and each input data are multiplied by a fixed point, and the multiplication result executed for the system constant having the same exponent part is fixed. The partial sum is calculated by adding decimal points, and the partial sum calculated for each different exponent part is added by the fixed decimal point to calculate the total sum for the output data. It is remarkable that the characteristics (filter characteristics, etc.) can be improved, and in addition, the circuit configuration can be reduced and the data processing can be speeded up. Achieve the results.

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

【図1】本発明に係るLTIシステムの一例であるFI
Rディジタルフィルタのブロック回路図、
FIG. 1 is an FI which is an example of an LTI system according to the present invention.
Block circuit diagram of R digital filter,

【図2】従来の技術に係るLTIシステムの一例である
FIRディジタルフィルタのブロック回路図、
FIG. 2 is a block circuit diagram of a FIR digital filter which is an example of an LTI system according to a conventional technique,

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

1 FIRディジタルフィルタ 1 FIR digital filter

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 固定小数点表現された入力データとシス
テム定数を演算処理して固定小数点表現された出力デー
タを求めるLTIシステムのデータ処理方法において、
各システム定数を指数部の大きさの範囲を限定して浮動
小数点表現し、かつ絶対値が一定の大きさ以上となるシ
ステム定数を複数に分割したシステム定数に変換すると
ともに、各システム定数の仮数部と各入力データを固定
小数点により乗算し、かつ同一の指数部を有するシステ
ム定数について実行した乗算結果を、固定小数点により
加算して部分和を求めるとともに、異なる指数部毎に求
めた部分和を固定小数点により加算して出力データのた
めの総和を求めることを特徴とするLTIシステムのデ
ータ処理方法。
1. A data processing method of an LTI system for calculating input data expressed in fixed point and a system constant to obtain output data expressed in fixed point,
Each system constant is expressed as a floating-point number with a limited exponent size range, and the system constant whose absolute value is greater than a certain size is converted into multiple system constants, and the mantissa of each system constant is also converted. Section and each input data are multiplied by a fixed point, and the multiplication results executed for system constants having the same exponent part are added by the fixed point to obtain a partial sum, and partial sums obtained for different exponent parts are also calculated. A data processing method for an LTI system, characterized by adding by fixed point to obtain a sum for output data.
【請求項2】 小さい指数部を有するシステム定数に対
応する部分和から順番に加算して出力データのための総
和を求めることを特徴とする請求項1記載のLTIシス
テムのデータ処理方法。
2. A data processing method for an LTI system according to claim 1, wherein partial sums corresponding to system constants having a small exponent are sequentially added to obtain a total sum for output data.
【請求項3】 システム定数はFIRディジタルフィル
タのタップ係数であることを特徴とする請求項1又は2
記載のLTIシステムのデータ処理方法。
3. The system constant is a tap coefficient of an FIR digital filter, according to claim 1 or 2.
A data processing method of the described LTI system.
JP26541992A 1992-09-07 1992-09-07 Data processing method for lti system Pending JPH0689300A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26541992A JPH0689300A (en) 1992-09-07 1992-09-07 Data processing method for lti system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26541992A JPH0689300A (en) 1992-09-07 1992-09-07 Data processing method for lti system

Publications (1)

Publication Number Publication Date
JPH0689300A true JPH0689300A (en) 1994-03-29

Family

ID=17416900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26541992A Pending JPH0689300A (en) 1992-09-07 1992-09-07 Data processing method for lti system

Country Status (1)

Country Link
JP (1) JPH0689300A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895423B2 (en) 2001-12-28 2005-05-17 Fujitsu Limited Apparatus and method of performing product-sum operation
US11660585B2 (en) 2008-11-06 2023-05-30 Basf Corporation Chabazite zeolite catalysts having low silica to alumina ratios

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895423B2 (en) 2001-12-28 2005-05-17 Fujitsu Limited Apparatus and method of performing product-sum operation
US11660585B2 (en) 2008-11-06 2023-05-30 Basf Corporation Chabazite zeolite catalysts having low silica to alumina ratios

Similar Documents

Publication Publication Date Title
US6304890B1 (en) Exponential calculation device and decoding device
US5111421A (en) System for performing addition and subtraction of signed magnitude floating point binary numbers
JP3345894B2 (en) Floating point multiplier
US7606850B2 (en) Method and apparatus for providing a base-2 logarithm approximation to a binary number
JP2001222410A (en) Divider
EP0366155A2 (en) Logarithmic function arithmetic unit including means for separately processing pseudo division and multiplication
US4979139A (en) Arithmetic unit for exponential function
JPH0689300A (en) Data processing method for lti system
US5379244A (en) Small-sized, low power consumption multiplication processing device with a rounding recoding circuit for performing high speed iterative multiplication
JPH05158656A (en) Sum of product arithmetic unit and method therefor
CN114860193A (en) Hardware operation circuit for calculating Power function and data processing method
CN112783469A (en) Method and device for executing floating-point exponential operation
US5886911A (en) Fast calculation method and its hardware apparatus using a linear interpolation operation
JP2645422B2 (en) Floating point processor
JPH08504046A (en) Device for converting a floating point binary number to a logarithm in binary form and vice versa
US6549924B1 (en) Function generating interpolation method and apparatus
JP2725524B2 (en) Waveform data compression method and waveform data reproducing apparatus
JP2008158855A (en) Correlation computing element and correlation computing method
US20230385370A1 (en) Method and apparatus for computation on convolutional layer of neural network
US5305246A (en) Device and method for evaluating inverse trigonometric functions
KR920006324B1 (en) Optimization method of 2&#39;s complement code multplier
JP3538512B2 (en) Data converter
KR100974190B1 (en) Complex number multiplying method using floating point
JP4196434B2 (en) Data rounding method and data rounding device
JP2828791B2 (en) A method for quantizing partial sums used in the product-sum operation