JPH0637592A - Method for designing digital filter - Google Patents

Method for designing digital filter

Info

Publication number
JPH0637592A
JPH0637592A JP19111292A JP19111292A JPH0637592A JP H0637592 A JPH0637592 A JP H0637592A JP 19111292 A JP19111292 A JP 19111292A JP 19111292 A JP19111292 A JP 19111292A JP H0637592 A JPH0637592 A JP H0637592A
Authority
JP
Japan
Prior art keywords
coefficient
digital filter
calculation
filter
amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP19111292A
Other languages
Japanese (ja)
Other versions
JP3221076B2 (en
Inventor
Seiichiro Iwase
清一郎 岩瀬
Atsushi Kikuchi
敦 菊池
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP19111292A priority Critical patent/JP3221076B2/en
Publication of JPH0637592A publication Critical patent/JPH0637592A/en
Application granted granted Critical
Publication of JP3221076B2 publication Critical patent/JP3221076B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Filters That Use Time-Delay Elements (AREA)

Abstract

PURPOSE:To reduce the number of program commands when an arithmetic amount is reduced by software and to decrease the circuitry when reduced by hardware in a real-time digital signal processing in such as picture, voice, acoustic signals. CONSTITUTION:The coefficient having an approximate value having the minimum error to reduce the arithmetic amount and satisfying the required filter characteristic when the minimum arithmetic redundant binary expression is performed for the set of coefficients obtained by the normal coefficient design of a digital filter is replaced and corrected. The operation is repeated until the coefficient set of the digital filter with less arithmetic amount can be obtaind.

Description

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

【0001】[0001]

【産業上の利用分野】本件は、画像信号のほか、音声、
音響信号などにおけるリアルタイムディジタル信号処理
において必要とされるディジタルフィルタの実現方法に
関する技術で、特に演算量を減らす効果があり、ソフト
ウェアで実現する場合はプログラム命令数を減らし、或
いはハードウェアで実現する場合は回路規模を小さく実
現するためのものである。特に固定的なフィルタ特性の
ための実現方法に関するものである。
[Industrial application field] In this case, in addition to image signals,
A technique related to a method for realizing a digital filter required for real-time digital signal processing of an acoustic signal, etc., which is particularly effective in reducing the amount of calculation. When implemented by software, the number of program instructions is reduced, or when implemented by hardware. Is for realizing a small circuit scale. In particular, it relates to an implementation method for a fixed filter characteristic.

【0002】[0002]

【従来の技術】画像信号のほか、音声、音響信号などに
おけるリアルタイムディジタル信号処理において、ディ
ジタルフィルタは不可欠で重要な構成要素である。しか
も、ソフトウェアで実現する場合はそのプログラム命令
数、ハードウェアで実現する場合は回路規模が、他の処
理に比べて大きく、常にシステム全体における比率が大
きいため、できるだけこれら命令数や回路規模を小さく
する努力が必要とされる。従来、ディジタルフィルタの
実現は、以下のような手順で行われていた。
2. Description of the Related Art A digital filter is an indispensable and important component for real-time digital signal processing of not only image signals but also sound and acoustic signals. Moreover, when implemented by software, the number of program instructions is large, and when implemented by hardware, the circuit size is large compared to other processes, and the ratio in the entire system is always large. Effort to do is required. Conventionally, realization of a digital filter has been performed by the following procedure.

【0003】即ち図3のように、まずフィルタの要求仕
様から、ディジタルフィルタの係数設計を行って、ディ
ジタルフィルタの係数を決定する(ディジタルフィルタ
の係数というのは複数の数値のセットになっている)。
That is, as shown in FIG. 3, first, the coefficient of the digital filter is determined from the required specifications of the filter to determine the coefficient of the digital filter (the coefficient of the digital filter is a set of a plurality of numerical values). ).

【0004】普通この段階ではその係数は、実現方法を
意識していないので実数である。そして、次にそのディ
ジタルフィルタの係数(実数)を、その要求フィルタ仕
様を満足しながら、その演算語長を、実現可能な、しか
し要求特性を満足する、最小限の短い語長に制限する。
すなわち係数の量子化をする。そしてその結果、整数表
現のできるディジタルフィルタ係数が得られる。
Usually, at this stage, the coefficient is a real number because the realization method is not taken into consideration. Then, the coefficient (real number) of the digital filter is then limited to the shortest possible word length that satisfies the required filter specifications and the operation word length is feasible but satisfies the required characteristics.
That is, the coefficient is quantized. As a result, digital filter coefficients that can be expressed as integers are obtained.

【0005】次に、もしその用途が "音" であれば、一
般にひとつの積和回路を持つ固定的なハードウェアにソ
フトウェアを載せて実現するので、その設計したフィル
タ係数を使ったフィルタ演算をするプログラムを作成す
ることになる。一方用途が "画像" の場合は、一般に設
計したフィルタ係数の数とその語長に合わせて、複数の
積和回路を用意することにより、並列演算により実現す
ることになる。なお "ディジタルフィルタの係数設計"
については、すでにいろいろな手法が知られており、例
えばIEEE PRESS編の書籍 "Programs for Digital Signa
l Processing"1979 などに詳しい。
Next, if the application is "sound", software is generally mounted on fixed hardware having one sum-of-products circuit, so that filter operation using the designed filter coefficient is performed. You will be writing a program to do this. On the other hand, when the application is "image", it can be realized by parallel operation by preparing a plurality of sum-of-products circuits according to the number of filter coefficients and the word length that are generally designed. "Digital filter coefficient design"
There are already known various methods for the above, for example, the book "Programs for Digital Signa" edited by IEEE PRESS.
l Processing "1979 etc.

【0006】また、音と画像の実現方法の違いは、半導
体で実現できる演算回路の演算速度と、それぞれの分野
における信号の標本化定理に従った標本化周期の比か
ら、自ずと決まってきている。
Further, the difference in the method of realizing sound and image is naturally determined from the ratio of the operation speed of an operation circuit that can be realized by a semiconductor and the sampling period according to the signal sampling theorem in each field. .

【0007】ここで、このような従来の一般的なディジ
タルフィルタ設計手順の中では、特に命令数や回路規模
を小さくする努力は考慮されず、この手順をやってみ
て、もし不都合があれば手順をやり直すという方法で行
われていた。
Here, in such a conventional general digital filter design procedure, the effort to reduce the number of instructions and the circuit size is not particularly considered, and if this procedure is tried and there is a problem, the procedure is performed. It was done by the method of starting over.

【0008】また、最初の "ディジタルフィルタの係数
設計" の段階から、2の冪乗数の簡単な組合せでできた
簡単な表現の数値のみを係数とする前提で "ディジタル
フィルタの係数設計" をする方法等もあって、その場合
にはかなり命令数や回路規模の小さいディジタルフィル
タを得ることが可能だが、しかしその種の設計法で設計
できるフィルタの特性は限定され、必ずしも所望フィル
タ特性を満足しないことがあるというような問題があっ
た。
Also, from the first stage of "designing the coefficient of the digital filter", "designing the coefficient of the digital filter" is performed on the assumption that only the numerical values of the simple expressions made by the simple combination of the powers of 2 are used as the coefficients. However, in that case, it is possible to obtain a digital filter with a considerably small number of instructions and a small circuit scale, but the filter characteristics that can be designed by such a design method are limited, and the desired filter characteristics are not always satisfied. There was a problem like that.

【0009】次にディジタルフィルタにおける演算につ
いて説明する。
Next, the calculation in the digital filter will be described.

【0010】ディジタルフィルタにおいては、よく知ら
れたことなので図示しないが、ディジタルフィルタの係
数は、積和演算器の乗数入力に導かれ、フィルタに入力
される標本信号データあるいはその遅延された信号デー
タは積和演算器の被乗数入力に導かれ、積和演算が行わ
れる。
Although not shown in the figure, since the digital filter is well known, the coefficient of the digital filter is introduced into the multiplier input of the product-sum calculator, and the sampled signal data or its delayed signal data is input to the filter. Is guided to the multiplicand input of the product-sum calculator, and the product-sum calculation is performed.

【0011】乗算は、我々が筆算で演算するのと同様な
手順で演算する方法においては、その乗数の下位ビット
から1ビットづつ取り出しては、被乗数と乗じて、部分
積をつくり、そのビットの重みを考慮してその全ての部
分積を加算することになる。従って、係数すなわち乗数
8ビットと、データすなわち被乗数8ビットの乗算にお
いては、9ビット(加算すべき2つの部分積は最低1ビ
ットずれているため)の加算が7回(部分積が8つあるた
め)必要である。この計算ではフルアダー(1ビット加算
器)は63個必要となる。ただし当然ながら音の信号処
理のように演算器の時分割多重が可能な場合は、この全
てのフルアダーをハードウェアとして用意する必要はな
い。
In the multiplication, in a method similar to that in which we calculate by handwriting, one bit is taken out from the lower bit of the multiplier, multiplied by the multiplicand, and a partial product is formed. Considering the weight, all the partial products will be added. Therefore, in the multiplication of the coefficient, that is, the multiplier 8 bits, and the data, that is, the multiplicand 8 bits, the addition of 9 bits (because the two partial products to be added are shifted by at least 1 bit) is added 7 times (there are 8 partial products). Necessary). In this calculation, 63 full adders (1-bit adders) are required. However, as a matter of course, when the time division multiplexing of the arithmetic unit is possible like the sound signal processing, it is not necessary to prepare all the full adders as hardware.

【0012】ここで気が付くことは、乗数の各ビットは
2進数であるために、"0"か "1"であり、 "0"の場合の
部分積は必ず "0"であるし、また乗数のビットが "1"で
ある場合の部分積は必ず被乗数の数値に一致する。よっ
て、部分積が必ず "0"になるはずの乗数のビットが "0"
である場合には、部分積を求めて加算する必要はない。
このことが利用できると、乗数すなわち係数の各ビット
における "0"と "1"の出現確率は50%づつなので、総
演算量は平均的に50%に出来る。
It should be noted here that since each bit of the multiplier is a binary number, it is "0" or "1", the partial product in the case of "0" is always "0", and the multiplier is also When the bit of is "1", the partial product always matches the numerical value of the multiplicand. Therefore, the bit of the multiplier, which should always be "0" for the partial product, is "0".
If, then there is no need to find and add partial products.
If this can be used, the probability of occurrence of "0" and "1" in each bit of the multiplier, that is, the coefficient is 50%, so that the total amount of calculation can be 50% on average.

【0013】このことは、ソフトウェアで実現する場合
は容易に利用できるし、また、特定のフィルタ特性のフ
ィルタを実現するハードウェアにおいても、その演算回
路を、特定の係数の演算に必要なだけ用意することによ
り、すなわち部分積が "0"となる部分の演算回路は始め
から用意しないというやりかたで実現できる。
This can be easily used when it is realized by software, and also in the hardware for realizing the filter having the specific filter characteristic, the operation circuit is prepared as much as necessary for the operation of the specific coefficient. By doing so, that is, the arithmetic circuit of the part where the partial product becomes "0" is not prepared from the beginning.

【0014】乗算回路の演算規模の削減手法として、"
2次ブースの乗算アルゴリズム"があるが、これは特定
のフィルタ特性に限定されずに演算量を半分にする方法
であると言える。しかも実現されたディジタルフィルタ
は特定の係数用に限定されない。なおこの2次のブース
の乗算アルゴリズムについては、例えば電子通信学会編
"ディジタル信号処理"1975 p145にその解説がある。
As a method of reducing the calculation scale of the multiplication circuit, "
There is a secondary Booth multiplication algorithm, but it can be said that this is a method of halving the amount of calculation without being limited to a specific filter characteristic. Moreover, the realized digital filter is not limited to a specific coefficient. The secondary Booth multiplication algorithm is, for example, edited by the Institute of Electronics and Communication Engineers.
The explanation is given in "Digital Signal Processing" 1975 p145.

【0015】このように、従来のディジタルフィルタ実
現方法においても、2次のブースの乗算アルゴリズムに
よる演算量の削減法などがあったが、例えばこの2次の
ブースの乗算アルゴリズムにしてもその演算量は半分に
ある程度で、そこで更に部分積が零の場合の演算をスキ
ップしたとしても、その残りの1/4しか削減できず、
37.5%にしかならない程度であった。
As described above, even in the conventional digital filter realization method, there is a method of reducing the amount of calculation by the secondary Booth's multiplication algorithm. Is half, and even if the operation when the partial product is zero is skipped there, only the remaining 1/4 can be reduced,
It was only about 37.5%.

【0016】[0016]

【発明が解決しようとする課題】画像信号のほか、音
声、音響信号などのリアルタイムディジタル信号処理に
おけるディジタルフィルタでは、その演算が他の処理に
比べて多く、システム中に占める割合が大きいため、よ
りコストを下げ、消費電力を下げるために、なお更にそ
の演算量の削減が望まれる。
In a digital filter for real-time digital signal processing of not only image signals but also voice and acoustic signals, the number of operations is larger than that of other processing, and the ratio occupied in the system is large. In order to reduce the cost and the power consumption, further reduction of the calculation amount is desired.

【0017】また、その演算量の削減手法は、ディジタ
ルフィルタ設計手順の一貫した流れに乗っていることが
望まれる。それは、今後のシリコンコンパイラなどによ
る自動設計システムに組み込むためである。
Further, it is desired that the method of reducing the amount of calculation should follow the consistent flow of the digital filter design procedure. This is because it will be incorporated in an automatic design system such as a silicon compiler in the future.

【0018】そこで本件では、画像信号のほか、音声、
音響信号などのリアルタイムディジタル信号処理におけ
るディジタルフィルタについて、常にその演算量が、よ
り少なくなるようにするための方法手順を提供しようと
するものである。すなわち、ソフトウェアで実現する場
合はそのプログラム命令数、ハードウェアで実現する場
合は回路規模を小さくする技術である。
Therefore, in this case, in addition to the image signal, the sound,
It is an object of the present invention to provide a method procedure for always reducing the amount of calculation of a digital filter in real-time digital signal processing of an acoustic signal or the like. That is, it is a technique for reducing the number of program instructions when implemented by software, and for reducing the circuit scale when implemented by hardware.

【0019】[0019]

【課題を解決するための手段】(1)本方式では、まず
図3の従来のディジタルフィルタ設計手順同様、 "ディ
ジタルフィルタの係数設計" を行い、所望フィルタ特性
を得られる実数の係数セットを得る。 (2)次に、所望フィルタ仕様を気にせずに、実現可能
で、適当に少し長めの、機械的に語長制限した係数セッ
トをつくる。(係数量子化) (3)次に、その量子化された係数について、それぞれ
最小演算冗長2進表現を探す。 (4)次に各係数について、当初の係数の数値の近傍
で、最も近くて、現状よりひとつ演算量の少ない最小演
算冗長2進表現ができる数値を探す。そしてそれら中
で、最初の係数値との誤差が最小の係数についてのみ、
最初の係数セットを修正し、所望フィルタ特性が得られ
るかどうかを確かめて、合格すればその修正後の係数セ
ットを新たな係数セットとする。 (5)(4)の操作を、所望フィルタ特性が得られなく
なるまで繰り返し、そこまでで所望フィルタ特性に合格
した最終係数セットを採用する。 (6)係数が決まったあとは、従来と同じである。プロ
グラム或いは、演算回路の並べ方に反映させればよい。
[Means for Solving the Problems] (1) In this method, first, "digital filter coefficient design" is performed in the same manner as the conventional digital filter design procedure of FIG. 3 to obtain a real number coefficient set that can obtain a desired filter characteristic. . (2) Next, a coefficient set that can be realized and is a little longer and is mechanically word length limited is created without worrying about the desired filter specifications. (Coefficient Quantization) (3) Next, for each of the quantized coefficients, a minimum arithmetic redundant binary representation is searched. (4) Next, for each coefficient, in the vicinity of the numerical value of the initial coefficient, the closest numerical value is searched for that allows the minimum operation redundant binary expression with one operation amount smaller than the current value. And among them, only for the coefficient with the smallest error from the first coefficient value,
The first coefficient set is modified, it is confirmed whether the desired filter characteristic is obtained, and if it is passed, the modified coefficient set is set as a new coefficient set. (5) The operations of (4) are repeated until the desired filter characteristic cannot be obtained, and the final coefficient set that has passed the desired filter characteristic up to that point is adopted. (6) After the coefficient is determined, it is the same as the conventional one. It may be reflected in the arrangement of the programs or the arithmetic circuits.

【0020】[0020]

【作用】ディジタルフィルタの係数設計を普通に行って
得た係数のセットに対し、最小演算冗長2進表現をした
ときに、最も誤差が小さくて演算量が減り、かつ所望フ
ィルタ特性を満たす近似値が存在する係数について、そ
れを置き換えて修正する操作をし、その操作を繰り返し
て、演算量の少ないディジタルフィルタの係数セットを
得る方法である。
When a set of coefficients obtained by normally designing the coefficient of a digital filter is represented by the minimum operation redundant binary expression, the error is the smallest, the operation amount is reduced, and the approximate value satisfying the desired filter characteristic is obtained. This is a method of obtaining a coefficient set of a digital filter with a small amount of calculation by performing an operation of replacing and modifying the coefficient that exists, and repeating the operation.

【0021】[0021]

【実施例】ディジタルフィルタの係数設計の結果として
出てくる実数係数は、例えば、 0.89840 0.50482 といった数値だが、例えばこの0.89840という数値につ
いて言うと、この10進数は、2進数で表現すると、 0.11100110000001 である。もっと下位のビットもあるが、15ビットまで
ではこのようになる。これを例えば10ビットに語長制
限すると、 0.111001100 となる。あるいはまた8ビットに語長制限するなら、 0.1110011 となる。
[Embodiment] The real number coefficient obtained as a result of coefficient design of a digital filter is a numerical value such as 0.89840 0.50482. For example, regarding this numerical value of 0.89840, this decimal number is 0.11100110000001 when expressed in a binary number. . Although there are lower bits, up to 15 bits will be like this. If the word length is limited to 10 bits, for example, it becomes 0.111001100. Alternatively, if the word length is limited to 8 bits, it becomes 0.1110011.

【0022】例えばこのような、8ビットの係数につい
て考えると、我々が筆算で演算するのと同様な手順で演
算する方法においては、ひとつの係数当たり、部分積は
8つであり、7回の部分積加算が必要であるが、係数の
各ビットにおける "0"と "1"の出現確率は50%づつで
あるので、係数のビットが "1"である場合のみ演算する
ようにすれば、ひとつの係数当たり部分積は平均4つで
あり、平均3回の部分積加算でよいことになる。
Considering, for example, such an 8-bit coefficient, in the method of calculating by a procedure similar to that by which we calculate by hand, there are 8 partial products per coefficient, and Partial product addition is required, but the occurrence probability of "0" and "1" in each bit of the coefficient is 50% each, so if you calculate only when the bit of the coefficient is "1", The number of partial products per coefficient is four on average, and it is sufficient to add partial products three times on average.

【0023】更にここで、目的がフィルタであることに
注目すると、その所望のフィルタ特性を満足しているこ
とと、フィルタ係数の誤差の大きさは、関係はあるが、
必ずしも連動しないので、多少フィルタ係数の数値を変
えても所望のフィルタ特性を満足することはありえるこ
とが知られている。よって、個々のフィルタ係数のそれ
ぞれの係数の数値を故意に変えて、それぞれの近傍の数
値の中で所望のフィルタ特性を満足し、しかも "1"のビ
ットの数の少ない数値にしてしまうことが可能であり、
このようにして、演算量を減らす手法が存在する。ここ
では、この考え方と同じであるが、特に冗長2進表現に
よる係数において、演算量の削減をする方法を以下に示
す。
Further, focusing on the fact that the purpose is a filter, there is a relation between the fact that the desired filter characteristic is satisfied and the magnitude of the error of the filter coefficient,
It is known that the desired filter characteristics may be satisfied even if the numerical values of the filter coefficients are changed a little because they are not necessarily linked. Therefore, it is possible to intentionally change the numerical value of each coefficient of the individual filter coefficients to satisfy the desired filter characteristics among the numerical values in each neighborhood and to make the numerical value with a small number of "1" bits. Is possible,
In this way, there is a method of reducing the calculation amount. Here, this method is the same as this idea, but a method of reducing the amount of calculation is shown below, particularly in the case of the coefficient by the redundant binary representation.

【0024】冗長2進表現にもいろいろな場合がある
が、ここでは以下の方法による。普通の2進数では、"
1桁(ひとけた)"は2つの表現 "0"と "1"のうちのどち
らかをとることができる。
There are various cases of redundant binary representation, but here, the following method is used. Ordinary binary number, "
"One digit" can take one of two expressions "0" and "1".

【0025】ここで使う冗長2進表現では、"1桁(ひと
けた)"は3つの表現 "0"と "1"と"-1"のどれかをとるこ
とができるとする。このような冗長2進表現を使うこと
により、ひと桁当たりの表現の自由度が大きくなりその
自由度の中から演算量の少ない表現を選ぶというような
ことが可能となるので、従来より演算量を減らすことが
可能となる。例えば先の 0.1110011 は、冗長2進表現では、 0.1110011 0.1110102 1.0020011 1.0020102 といった複数の表現が可能である。なおここで、各ビッ
ト桁における"-1"は、見やすくするために"2"として書
いてある。また、この冗長2進表現では、もともとの普
通の2進表現もそのひとつの表現として含まれている。
In the redundant binary representation used here, "one digit (one digit)" can take any of the three representations "0", "1" and "-1". By using such a redundant binary expression, the degree of freedom of expression per digit is increased, and it is possible to select an expression with a small amount of calculation from the degrees of freedom. Can be reduced. For example, the above-mentioned 0.1110011 can be expressed in a redundant binary representation as 0.1110011 0.1110102 1.0020011 1.0020102. Here, "-1" in each bit digit is written as "2" for easy viewing. Also, in this redundant binary representation, the original ordinary binary representation is also included as one of the representations.

【0026】それぞれの数値の場合の演算量とは、"1"
は加算、"2"は減算、"0"は演算なし、なので、 "1"と"
2"になっているビットの数に相当する。よってこのよう
にひとつの数値に複数の表現があると、その "1"と"2"
になっているビットの数を比較して、最も少ない表現を
選んで演算量を削減することが可能である。この複数の
表現の中に元の普通の2進表現も含まれているので、こ
の冗長2進表現を使うと必ず使わない場合より改善され
ることになる。なおその最小な演算に相当する数値表現
が複数ある場合には、最小演算数という意味ではどれを
採用しても良い。このことに関しては特開平4−672
27号公報に詳しい。
The calculation amount for each numerical value is "1"
Is addition, "2" is subtraction, "0" is no operation, so "1" and "
This is equivalent to the number of bits that are 2 ". Therefore, if there are multiple expressions in one number like this, the" 1 "and" 2 "
It is possible to reduce the amount of calculation by comparing the number of bits that are set to, and selecting the smallest expression. Since the original ordinary binary representation is also included in these multiple representations, using this redundant binary representation is an improvement over the case where it is not always used. When there are a plurality of numerical expressions corresponding to the minimum calculation, any one may be adopted in the sense of the minimum calculation number. Regarding this, Japanese Patent Laid-Open No. 4-672
For details, see No. 27.

【0027】ここで、"1"はフルアダー(1ビット加算
器)に相当し、また "2"は意味としては"-1"なので、サ
ブトラクター(1ビット減算器)に相当する演算である。
サブトラクター(1ビット減算器)は、回路構成としても
フルアダー(1ビット加算器)に似ており回路規模として
も同程度である。いわゆるALU(算術論理演ユニット)
回路は、この両方ができる回路である。
Here, "1" corresponds to a full adder (1-bit adder), and "2" has a meaning of "-1", so it is an operation equivalent to a subtractor (1-bit subtractor).
The subtractor (1-bit subtractor) is similar to the full adder (1-bit adder) in terms of circuit configuration, and has a similar circuit scale. So-called ALU (arithmetic logic unit)
A circuit is a circuit that can do both.

【0028】従ってこの例では、4つの各表現は、それ
ぞれ "1"と"2"のビットの数が、5、5、4、4なの
で、 1.0020011 1.0020102 の二つの表現の場合に演算量がひとつ減るので、そのど
ちらかを使うとよいということになる。ここで 1.0020011 は、できるだけ加算器を使用するという基準のときなど
に使えばよい。また 1.0020102 は、2次ブースのアルゴリズム同様、乗数の下位から2
ビットづつ演算していくような場合に適している。
Therefore, in this example, each of the four expressions has the number of bits of "1" and "2" of 5, 5, 4, and 4, respectively. Therefore, in the case of the two expressions of 1.0020011 1.0020102, the operation amount is one. Since it will decrease, it is better to use either one. Here, 1.0020011 should be used when the standard is to use an adder as much as possible. In addition, 1.0020102 is the same as the algorithm of the secondary booth, from the bottom of the multiplier to 2
It is suitable for cases where bitwise operations are performed.

【0029】例えば8ビットの場合、そのとりうる数値
はもともと256種類あり、そのそれぞれが8ビットな
ので、全ての数値のトータルのビット数は2048であ
る。ここで、 "0"と "1" の出現確率が50%であるか
ら、そのことを利用する演算量削減法では、1024の
演算になる。これはひとつの数値当たり部分積が平均4
個できるということである。
For example, in the case of 8 bits, there are originally 256 kinds of possible numerical values, and since each of them has 8 bits, the total number of bits of all numerical values is 2048. Here, since the appearance probabilities of "0" and "1" are 50%, the calculation amount reduction method using that results in 1024 calculations. This is an average of 4 partial products per number
It means that you can do it individually.

【0030】次にその256種のそれぞれの数値につい
て、この冗長2進表現を使って全ての数値表現を調べ
て、その "1"と"2"のビットの数が最小の表現を探して
いくと、その結果の最小演算冗長2進表現では、そのト
ータルの "1"と"2"のビットの数は、711となり、ひ
とつの数値当たり部分積が平均は2.77個となり、演
算量が削減される。(これは語長により異なる)
Next, for each of the 256 kinds of numerical values, all the numerical expressions are examined by using this redundant binary expression, and the expression having the smallest number of bits of "1" and "2" is searched. And in the resulting minimum arithmetic redundant binary representation, the total number of "1" and "2" bits is 711, the average partial product per number is 2.77, and the calculation amount is Be reduced. (This depends on the word length)

【0031】なお、この演算量は、2次ブースのアルゴ
リズムにおいて、"0"の部分積の演算を飛ばした時と比
べて、2次ブースのアルゴリズムにおいては、乗数を2
ビット毎に3ビットづつ見ていくという制約のために、
それよりも演算量は確立的に減少しているので、有望で
ある。
Note that this calculation amount has a multiplier of 2 in the secondary Booth algorithm, as compared with the case where the calculation of the partial product of "0" is skipped in the secondary Booth algorithm.
Because of the constraint of looking at 3 bits per bit,
It is promising because the amount of calculation has decreased definitely.

【0032】本方式のディジタルフィルタ設計手順を図
1に示す。 (1)本方式では、まず図3の従来のディジタルフィル
タ設計手順同様、 "ディジタルフィルタの係数設計" を
行い、所望フィルタ特性を得られる実数の係数セットを
得る。 (2)次に、所望フィルタ仕様を気にせずに、実現可能
で、適当に少し長めの、機械的に語長制限した係数セッ
トをつくる。(係数量子化) (3)次に、その量子化された係数について、それぞれ
最小演算冗長2進表現を探す。 (4)次に各係数について、当初の係数の数値の近傍
で、最も近くて、現状よりひとつ演算量の少ない最小演
算冗長2進表現ができる数値を探す。そしてそれら中
で、最初の係数値との誤差が最小の係数についてのみ、
最初の係数セットを修正し、所望フィルタ特性が得られ
るかどうかを確かめて、合格すればその修正後の係数セ
ットを新たな係数セットとする。 (5)(4)の操作を、所望フィルタ特性が得られなく
なるまで繰り返し、そこまでで所望フィルタ特性に合格
した最終係数セットを採用する。 (6)係数が決まったあとは、従来と同じである。プロ
グラム或いは、演算回路の並べ方に反映させればよい。
The digital filter design procedure of this system is shown in FIG. (1) In this method, first, the "digital filter coefficient design" is performed in the same manner as the conventional digital filter design procedure of FIG. (2) Next, a coefficient set that can be realized and is a little longer and is mechanically word length limited is created without worrying about the desired filter specifications. (Coefficient Quantization) (3) Next, for each of the quantized coefficients, a minimum arithmetic redundant binary representation is searched. (4) Next, for each coefficient, in the vicinity of the numerical value of the initial coefficient, the closest numerical value is searched for that allows the minimum operation redundant binary expression with one operation amount smaller than the current value. And among them, only for the coefficient with the smallest error from the first coefficient value,
The first coefficient set is modified, it is confirmed whether the desired filter characteristic is obtained, and if it is passed, the modified coefficient set is set as a new coefficient set. (5) The operations of (4) are repeated until the desired filter characteristic cannot be obtained, and the final coefficient set that has passed the desired filter characteristic up to that point is adopted. (6) After the coefficient is determined, it is the same as the conventional one. It may be reflected in the arrangement of the programs or the arithmetic circuits.

【0033】(2)において、所望フィルタ仕様につい
て気にしないのは、後で(4)において、係数の一部を故
意に変えるからである。また(2)において、適当に少し
長めの語長にするのも、やはり後の(4)の操作が語長を
縮める作用があるからである。
In (2), the reason why the desired filter specifications are not taken into consideration is that some of the coefficients are intentionally changed in (4) later. In (2), the reason why the word length is made slightly longer is that the operation of (4) after that also has a function of shortening the word length.

【0034】(3)の最小演算冗長2進表現の求め方
は、先に示した通りである。例えば 0.1110011 の場合 1.0020102 とすることができる。 (特開平4−67227号公報参
照)
The method (3) for obtaining the minimum operation redundant binary expression is as described above. For example, in the case of 0.1110011, it can be set to 1.0020102. (See Japanese Patent Laid-Open No. 4-67227)

【0035】(4)の手順は、例えば、 の場合、その近傍の数値は、図2のようになっているか
ら、この係数の場合の、最も近くて、ひとつ演算量の少
ない最小演算冗長2進表現ができる数値というのは "1"
と "2"のビットの数すなわち演算数が3となる両隣の数
のどちらかということになる。
The procedure of (4) is, for example, In the case of, the numerical value in the vicinity is as shown in Fig. 2. Therefore, the numerical value which is the closest to this coefficient and which can be represented by the minimum operation redundant binary expression with a small operation amount is "1".
And the numbers on both sides where the number of bits of "2", that is, the number of operations is 3, Either way.

【0036】この操作を各係数について行って、そのな
かで、最初の係数値との誤差が最小の係数を探すのだ
が、この最初の係数値との誤差というのは、この係数の
場合は隣であり 0.0000001 ということになる。他の係数の場合に比べて、この係数
の誤差が最も小さければ、この係数のみこの近似値に置
き換えて、所望フィルタ特性を満たすかどうか調べ、合
格ならば正式に置き換える。"誤差が最小の係数近似値"
の候補が複数ある場合は、なんらかの方法で順序を付
けてこれらを調べて捜し出すことになる。
This operation is performed for each coefficient, and the coefficient having the smallest error from the first coefficient value is searched for, and the error from the first coefficient value is the same as that of this coefficient. Which means 0.0000001. If the error of this coefficient is the smallest as compared with the case of other coefficients, only this coefficient is replaced with this approximate value, and it is checked whether or not the desired filter characteristic is satisfied. "Coefficient approximation with minimum error"
If there is more than one candidate, you will have to order them in some way to find out.

【0037】もしこの係数が置き換えられたなら、次に
(4)の手順が繰り返される時には、この係数について
は、今度は更に、最も近くてひとつ演算量の少ない最小
演算冗長2進表現ができる数値、すなわち、演算量が2
のものを選ぶことになるので、この場合は をこの係数近似値の次の候補として用意することにな
る。
If this coefficient is replaced, then
When the procedure of (4) is repeated, for this coefficient, this time, further, the numerical value that is closest to the minimum operation redundant binary expression with a small operation amount, that is, the operation amount is 2
In this case, Will be prepared as the next candidate for this coefficient approximation value.

【0038】本方式のディジタルフィルタ設計手順をで
は、所望フィルタ特性に合格しなくなったところで、最
終係数セットとしているが、この方法で必ず最良の係数
セットが得られるとは限らないので、その終了の仕方、
及び手順の進め方については、いろいろな変形が考えら
れる。即ち、例えば、ここに示した方法では、候補をひ
とつに絞っているところも、いつも複数の候補まで調べ
るようにするとかの変形などが考えられる。
In the digital filter design procedure of this system, the final coefficient set is set when the desired filter characteristic is no longer passed. However, the best coefficient set is not always obtained by this method, so that the end How
Also, various modifications can be considered for the procedure. That is, for example, in the method shown here, even if the number of candidates is narrowed down to one, a plurality of candidates may always be examined.

【0039】[0039]

【発明の効果】画像信号のほか、音声、音響信号などの
リアルタイムディジタル信号処理におけるディジタルフ
ィルタを、その演算量を小さく選んで、ソフトウェアの
場合ならそのプログラムの命令数、ハードウェアなら、
その演算器数を少なくすることができる。
EFFECTS OF THE INVENTION In addition to image signals, a digital filter for real-time digital signal processing of voice, acoustic signals, etc. is selected with a small amount of calculation. In the case of software, the number of instructions of the program, in the case of hardware,
The number of arithmetic units can be reduced.

【0040】その効果の度合いについては、冗長2進表
現を利用しているために、従来の並列乗算器の演算に比
べて35%以下(8ビット係数の場合。係数ビット数に
よりこの上限は異なる。)に演算量を小さくすることが
期待できる。2次ブースの乗算アルゴリズムを使う場合
は50%、またそこで部分積が零の場合に演算をスキッ
プする場合は37.5%であるが、ここに示した "最小
演算冗長2進表現" を使うと、最悪でも、8ビット係数
量子化の場合で約35%、それ以下の演算量に改善さ
れ、演算量が削減される。
As for the degree of the effect, since the redundant binary representation is used, it is 35% or less compared to the operation of the conventional parallel multiplier (in the case of 8-bit coefficient. This upper limit varies depending on the number of coefficient bits. .) Can be expected to reduce the calculation amount. It is 50% when using the secondary Booth multiplication algorithm, and 37.5% when skipping operations when the partial product is zero, but using the "minimum arithmetic redundant binary representation" shown here. In the worst case, the operation amount is reduced to about 35% or less in the case of 8-bit coefficient quantization, and the operation amount is reduced.

【0041】従来の一般的なディジタルフィルタ設計手
順と違って、設計手順の中で、所望フィルタ特性を満た
しながら、演算量の少ない係数を選ぶようにしており、
ディジタルフィルタコンパイラなど自動設計システムを
構築する時の方法になっている。
Unlike the conventional general digital filter design procedure, in the design procedure, a coefficient with a small amount of calculation is selected while satisfying a desired filter characteristic.
It is a method for constructing an automatic design system such as a digital filter compiler.

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

【図1】実施例のディジタルフィルタ設計手順を示す図
である。
FIG. 1 is a diagram showing a digital filter design procedure of an embodiment.

【図2】ある係数例について、近傍の数値の最小演算冗
長2進表現を示した図である。
FIG. 2 is a diagram showing a minimum arithmetic redundant binary representation of numerical values in the vicinity of a certain coefficient example.

【図3】従来のディジタルフィルタ設計手順を示す図で
ある。
FIG. 3 is a diagram showing a conventional digital filter design procedure.

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 ディジタルフィルタの係数設計を普通に
行って得た係数のセットに対し、最小演算冗長2進表現
をしたときに、最も誤差が小さくて演算量が減り、かつ
所望フィルタ特性を満たす近似値が存在する係数につい
て、それを置き換えて修正する操作をし、その操作を繰
り返して、演算量の少ないディジタルフィルタの係数セ
ットを得るディジタルフィルタ設計法。
1. A set of coefficients obtained by normally designing a coefficient of a digital filter is represented by a minimum operation redundant binary expression, the error is smallest and the operation amount is reduced, and a desired filter characteristic is satisfied. A digital filter design method that obtains a coefficient set of a digital filter with a small amount of calculation by performing an operation of replacing and modifying a coefficient for which an approximate value exists, and repeating the operation.
【請求項2】 ディジタルフィルタの係数設計を普通に
行って得た係数のセットに対し、最小演算冗長2進表現
をしたときに、最も誤差が小さくて演算量が減り、かつ
所望フィルタ特性を満たす近似値が存在する係数につい
て、それを置き換えて修正する操作をし、その操作を繰
り返して、演算量の少ないディジタルフィルタの係数セ
ットを得るディジタルフィルタ設計法。
2. A set of coefficients obtained by normally designing a coefficient of a digital filter is represented by a minimum operation redundant binary expression, which has the smallest error and a small amount of operation, and satisfies a desired filter characteristic. A digital filter design method that obtains a coefficient set of a digital filter with a small amount of calculation by performing an operation of replacing and modifying a coefficient for which an approximate value exists, and repeating the operation.
【請求項3】 ディジタルフィルタの係数設計を普通に
行って得た係数のセットに対し、最小演算冗長2進表現
をしたときに、最も誤差が小さくて演算量が減り、かつ
所望フィルタ特性を満たす近似値が存在する係数につい
て、それを置き換えて修正する操作をし、その操作を繰
り返して、演算量の少ないディジタルフィルタの係数セ
ットを得るディジタルフィルタ設計法。
3. A set of coefficients obtained by normally designing the coefficient of a digital filter is represented by a minimum operation redundant binary expression, the error is smallest and the operation amount is reduced, and a desired filter characteristic is satisfied. A digital filter design method that obtains a coefficient set of a digital filter with a small amount of calculation by performing an operation of replacing and modifying a coefficient for which an approximate value exists, and repeating the operation.
【請求項4】 ディジタルフィルタの係数設計を普通に
行って得た係数のセットに対し、最小演算冗長2進表現
をしたときに、最も誤差が小さくて演算量が減り、かつ
所望フィルタ特性を満たす近似値が存在する係数につい
て、それを置き換えて修正する操作をし、その操作を繰
り返して、演算量の少ないディジタルフィルタの係数セ
ットを得るディジタルフィルタ設計法。
4. A set of coefficients obtained by normally designing the coefficient of a digital filter is represented by a minimum operation redundant binary expression, the error is the smallest, the operation amount is reduced, and a desired filter characteristic is satisfied. A digital filter design method that obtains a coefficient set of a digital filter with a small amount of calculation by performing an operation of replacing and modifying a coefficient for which an approximate value exists, and repeating the operation.
【請求項5】 ディジタルフィルタの係数設計を普通に
行って得た係数のセットに対し、最小演算冗長2進表現
をしたときに、最も誤差が小さくて演算量が減り、かつ
所望フィルタ特性を満たす近似値が存在する係数につい
て、それを置き換えて修正する操作をし、その操作を繰
り返して、演算量の少ないディジタルフィルタの係数セ
ットを得るディジタルフィルタ設計法。
5. A set of coefficients obtained by normally designing the coefficient of a digital filter is represented by a minimum operation redundant binary expression, the error is smallest and the operation amount is reduced, and a desired filter characteristic is satisfied. A digital filter design method that obtains a coefficient set of a digital filter with a small amount of calculation by performing an operation of replacing and modifying a coefficient for which an approximate value exists, and repeating the operation.
JP19111292A 1992-07-17 1992-07-17 Digital filter design method Expired - Fee Related JP3221076B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19111292A JP3221076B2 (en) 1992-07-17 1992-07-17 Digital filter design method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19111292A JP3221076B2 (en) 1992-07-17 1992-07-17 Digital filter design method

Publications (2)

Publication Number Publication Date
JPH0637592A true JPH0637592A (en) 1994-02-10
JP3221076B2 JP3221076B2 (en) 2001-10-22

Family

ID=16269063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19111292A Expired - Fee Related JP3221076B2 (en) 1992-07-17 1992-07-17 Digital filter design method

Country Status (1)

Country Link
JP (1) JP3221076B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323567A (en) * 2006-06-05 2007-12-13 Nec Electronics Corp Multiplier and filter processing unit
AU2006240835B2 (en) * 2005-04-19 2009-10-01 Daikin Industries, Ltd. Branching refrigerant relay unit and method of manufacturing the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2314833C1 (en) 2006-11-07 2008-01-20 Элина Леонидовна Ладыченко Method of disinfecting air with negative oxygen ions and device for implementing the same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2006240835B2 (en) * 2005-04-19 2009-10-01 Daikin Industries, Ltd. Branching refrigerant relay unit and method of manufacturing the same
JP2007323567A (en) * 2006-06-05 2007-12-13 Nec Electronics Corp Multiplier and filter processing unit
JP4519807B2 (en) * 2006-06-05 2010-08-04 ルネサスエレクトロニクス株式会社 Multiplier and filter processing apparatus

Also Published As

Publication number Publication date
JP3221076B2 (en) 2001-10-22

Similar Documents

Publication Publication Date Title
EP3575952B1 (en) Arithmetic processing device, information processing device, method and program
US11222254B2 (en) Optimized neuron circuit, and architecture and method for executing neural networks
US5220525A (en) Recoded iterative multiplier
JP3244506B2 (en) Small multiplier
EP0613082B1 (en) 4:2 adder and multiplier circuit employing the same
JPH0235348B2 (en)
Venkatachalam et al. Approximate sum-of-products designs based on distributed arithmetic
US10853037B1 (en) Digital circuit with compressed carry
US6223197B1 (en) Constant multiplier, method and device for automatically providing constant multiplier and storage medium storing constant multiplier automatic providing program
JPH08508857A (en) Method and arrangement for multiplying a binary input signal by a tap coefficient in a transposed digital FIR filter and method for designing a transposed digital filter
US11551087B2 (en) Information processor, information processing method, and storage medium
JPH07234778A (en) Arithmetic circuit
JPH0312738B2 (en)
CN110659014B (en) Multiplier and neural network computing platform
JPH0637592A (en) Method for designing digital filter
KR101878400B1 (en) FIR filter calculation method using approximate synthesis
CN116166217A (en) System and method for performing floating point operations
JPH09128213A (en) Block floating processing system/method
Jamro et al. FPGA implementation of addition as a part of the convolution
JPH06223097A (en) Circuit description generating method for multiplier and product sum computing unit
Bose et al. Conditional differential coefficients method for the realization of powers-of-two FIR filter
US20100030836A1 (en) Adder, Synthesis Device Thereof, Synthesis Method, Synthesis Program, and Synthesis Program Storage Medium
JPH0635673A (en) Multiplying method and circuit
JP3456450B2 (en) Fixed point multiplier and method
JP2953918B2 (en) Arithmetic unit

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees