JPH0447454A - Method and device for discrete fourier transformation or cosine transformation of digital data - Google Patents

Method and device for discrete fourier transformation or cosine transformation of digital data

Info

Publication number
JPH0447454A
JPH0447454A JP2154178A JP15417890A JPH0447454A JP H0447454 A JPH0447454 A JP H0447454A JP 2154178 A JP2154178 A JP 2154178A JP 15417890 A JP15417890 A JP 15417890A JP H0447454 A JPH0447454 A JP H0447454A
Authority
JP
Japan
Prior art keywords
matrix
product
discrete fourier
output
transformation
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
JP2154178A
Other languages
Japanese (ja)
Other versions
JP2869668B2 (en
Inventor
Keishin Jiyo
茹 慶新
Yutaka Mazaki
裕 真崎
Masato Yamazaki
真人 山崎
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP15417890A priority Critical patent/JP2869668B2/en
Publication of JPH0447454A publication Critical patent/JPH0447454A/en
Application granted granted Critical
Publication of JP2869668B2 publication Critical patent/JP2869668B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PURPOSE:To reduce the number of multipliers and to design a more compact VLSI by introducing Wallis transformation having a specific element in the operation process of a first stage. CONSTITUTION:In the operation method of discrete Fourier transformation or cosine transform of N=2<n> digital data (n is a positive integer), a product [Z]=[W] [x] between +1 and input data 1 of a Wallis transformation matrix [W] 2 having elements of only -1 is calculated by only addition and subtraction in an operation process 3 of the first stage. In an operation process 5 of a second stage, the product between a discrete Fourier transformation matrix [F] and an inverse Wallis transformation matrix [W-<1>] (=[W]) or between a discrete cosine transformation matrix [C] and the inverse Wallis transformation matrix [W-<1>] is preliminarily calculated in a process 4, and matrix operation of a product [yf] between the output [Z] of the operation process 3 and a product [Af] or a product [yc] between the output [Z] and [Ac] is performed.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は離散フーリエ又はコサイン変換方法及びその装
置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a discrete Fourier or cosine transform method and apparatus.

〔従来技術〕[Prior art]

従来、この種の分野の技術としては、日野幹雄著「スペ
クトル解析、12章3節、朝食書店、1977や、W、
H,チェン、エタール(Chen 、 etal)、I
EEE、hランサクションオンコミニュケーション(I
ransaction on communicati
on ) 。
Conventionally, techniques in this type of field include Mikio Hino, "Spectrum Analysis, Chapter 12, Section 3, Breakfast Shoten, 1977," W.
H, Chen, etal, I
EEE, h-transaction on communication (I)
transaction on communication
on).

Vol、C0M−25,NO,9,9,1977に開示
されたものがある。
Vol. C0M-25, NO, 9, 9, 1977.

ベクトル[X)””(X、、XI、Xt、”’−、!、
−1)で表わされるN個のデータの一次元離散フーリエ
変換Cyr)と離散コサイン変換〔yJはそれぞれ行列
(F)と〔C〕を用いて、(y=)=(F][x) (y、)=[C)(x) 但し、 ;f 、に=exp (2πi jk/N )’C4h
=c(j)cos (2π(2に+1)jπ/2N);
C(j)”1/、/2  for  j=o。
Vector [X)""(X,,XI,Xt,"'-,!,
-1) of N data represented by one-dimensional discrete Fourier transform Cyr) and discrete cosine transform [yJ are matrices (F) and [C], respectively, (y=)=(F][x) ( y, )=[C)(x) However, ;f,=exp (2πi jk/N)'C4h
=c(j)cos (2π(2+1)jπ/2N);
C(j)”1/, /2 for j=o.

C(j)=1  for  j=1.2.−1N−1)
と表わすことができる。
C(j)=1 for j=1.2. -1N-1)
It can be expressed as

従来、上記離散フーリエ変換〔y、〕或いは離散コサイ
ン変換〔y。〕計算する方法は、直接行列演算法と上記
文献に開示された高速演算方法がある。前者は上記行列
〔F〕或いは〔C〕と入力データ列〔x)との積を直接
に計算するものであり、後者は入力データ数がN=2n
(nは正整数)を満たす場合に限定し、上記行列の中の
要素の周期特性を利用し、加減算及び乗算をバタフライ
の形にすることにより、演算回数を大幅に削減したもの
であった。
Conventionally, the above-mentioned discrete Fourier transform [y,] or discrete cosine transform [y. ] Calculation methods include a direct matrix calculation method and a high-speed calculation method disclosed in the above-mentioned literature. The former directly calculates the product of the above matrix [F] or [C] and the input data string [x], and the latter when the number of input data is N=2n
(where n is a positive integer), the number of operations is significantly reduced by utilizing the periodic characteristics of the elements in the matrix and performing addition, subtraction, and multiplication in a butterfly form.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

しかしながら、上記直接行列演算法ではバイブライン処
理可能なプロセッサで実現しようとする場合、少なくと
も入力データ数と同じ数の乗算器を必要とするという問
題点がある。
However, when the above-mentioned direct matrix calculation method is attempted to be implemented with a processor capable of vibrating processing, there is a problem in that at least the same number of multipliers as the number of input data is required.

また、上記高速演算ではアルゴリズムが不規則であるた
め、−船釣には計算機でプログラムによって処理される
手法であるので、ハード構成で実現しようとすると制御
が複雑となり装置に導入するアルゴリズムには不向きで
あるという問題点があった。
In addition, since the algorithm used in the above-mentioned high-speed calculation is irregular, - Boat fishing is a method that is processed by a computer program, so if you try to implement it with a hardware configuration, the control will be complicated, making it unsuitable for algorithms to be introduced into equipment. There was a problem that.

本発明は上述の点に鑑みてなされたもので、上記問題点
を除去するため、制御が簡単なアルゴリズムを有し、従
来の行列演算手法の半分の乗算器によるバイブライン処
理が可能な優れた離散フーノエ又はコサイン変換方法及
びその装置を提供することを目的とする。
The present invention has been made in view of the above-mentioned points, and in order to eliminate the above-mentioned problems, it has an algorithm that is easy to control, and is capable of performing vibration line processing using half the number of multipliers used in conventional matrix calculation methods. It is an object of the present invention to provide a discrete Hoonoe or cosine transform method and apparatus.

〔課題を解決するための手段〕[Means to solve the problem]

上記課題を解決するため本発明はN=2n(nは正数)
個のデータの離散フーリエ変換或いは離散コサイン変換
方法を、入力データ列〔x〕と、離散フーリエ変換行列
〔F〕或いは離散コサイン変換行列〔C〕との間に、+
1と−1のみの要素を持つウオルシュ変換行列〔W)と
逆ウォルシュ変換行列〔W−1〕((W)=〔W−1〕
)とを挿入し、第1段階の演算では加減算のみで実現可
能な入力データ列〔x〕とウオルシュ変換行列〔W〕と
の積CZ )−〔Wl]’[x 〕を計算し、第2段階
の演算では離散フーリエ変換行列〔F〕或いは離散コサ
イン変換行列〔C〕と逆ウオルシュ変換行列(W−1〕
との積[Af:]=CF〕[:W−1〕或いは[Ac)
=(C)(W−1〕をあらかじめ計算し用意しておき、
第1段階の演算の出力〔z〕との積[y r ) = 
CA f ) CZ )或いは[y、)=[Ac〕〔Z
〕を計算するようにしたものである。
In order to solve the above problems, the present invention provides N=2n (n is a positive number)
The discrete Fourier transform or discrete cosine transform method for the data of +
Walsh transformation matrix [W] and inverse Walsh transformation matrix [W-1] ((W) = [W-1]
), and in the first step, the product CZ)-[Wl]'[x] of the input data string [x] and the Walsh transformation matrix [W], which can be realized only by addition and subtraction, is calculated, and the second In the step calculation, a discrete Fourier transform matrix [F] or a discrete cosine transform matrix [C] and an inverse Walsh transform matrix (W-1) are used.
Product [Af:]=CF] [:W-1] or [Ac)
Calculate and prepare = (C) (W-1) in advance,
Product [y r ) with output [z] of first stage operation =
CA f ) CZ ) or [y,)=[Ac][Z
] is calculated.

〔作用〕[Effect]

離散フーリエ変換或いは離散コサイン変換方法を上記の
如く行なうことにより、第1段階の演算過程においては
+1と−1のみの要素を持つウオルシュ変換を導入した
ので、入力データ数Nと同じ数の加減算器によるパイプ
ライン処理が可能となり、第2段階の演算過程において
は離散フーリエ或いはコサイン変換の行列とウオルシュ
変換の行列との積による行列にゼロである要素が多くN
/2行に圧縮できるので、N/2個の乗算とN個の加算
器によるパイプライン処理が可能となす〔実施例〕 以下、本発明の実施例を図面に基づいて説明する。
By performing the discrete Fourier transform or discrete cosine transform method as described above, a Walsh transform having only +1 and -1 elements is introduced in the first stage calculation process, so the number of adders and subtracters equal to the number of input data N is used. In the second step, the matrix resulting from the product of the discrete Fourier or cosine transform matrix and the Walsh transform matrix has many zero elements.
Since the data can be compressed to /2 lines, pipeline processing using N/2 multiplications and N adders is possible [Embodiment] Hereinafter, embodiments of the present invention will be described based on the drawings.

第1図は本発明の演算順序を示すブロック図である。恒
等式、 離散フーリエ変換: 〔y。L=[F)Ex:1 = 1/N[:F 〕[〕W−1〕(W)Cx )離散
コサイン変換: 〔y。〕=〔C〕〔x〕 =1/NEC)(W−1〕(W)[:x]により、第1
段階の演算3では入力データ列〔x〕1とウオルシュ変
換行列〔W〕2との積=[:Z)=〔W)〔x)を計算
し、第2段階の演算では既知である離散フーリエ変換行
列〔F〕と逆ウオルシュ変換行列〔W−1〕との積[:
Af)=[”H)(W−1〕或いは離散コサイン変換行
列〔C〕と逆ウオルシュ変換行列[:W−’]との積[
:Ac3−[:C](W−’]をあらかじめ計算し用意
しておき、第1段階の演算の出力との積〔y、)=[:
Af)[Z)或いはCy、]=(Ac)〔Z〕を計算す
る。
FIG. 1 is a block diagram showing the operational order of the present invention. Identity, Discrete Fourier Transform: [y. L=[F)Ex:1=1/N[:F][]W-1](W)Cx) Discrete cosine transform: [y. ]=[C][x] =1/NEC)(W-1](W)[:x], the first
In step 3, the product of input data string [x] 1 and Walsh transformation matrix [W] 2 = [:Z) = [W) [x)] is calculated, and in the second step, the known discrete Fourier Product of transformation matrix [F] and inverse Walsh transformation matrix [W-1] [:
Af)=[”H)(W-1] or the product of the discrete cosine transformation matrix [C] and the inverse Walsh transformation matrix [:W-'] [
:Ac3-[:C](W-'] is calculated and prepared in advance, and its product with the output of the first stage calculation is [y,)=[:
Af) [Z) or Cy,] = (Ac) [Z] is calculated.

例えば、N=8(n=3)の場合、ウオルシュ変換行列
〔W〕は、 で与えられ、すべての要素が+1か−1であるため、第
2図に示されるような、乗算器なしの8個の加算器のみ
によるパイプライン構成により第1段階の演算を実現す
ることができる。N=8の場合の離散フーリエ変換行列
(F)及び離散コサイン変換行列〔C〕は、 ;a=1 b=i c=exp (2πi/8) d=exp (−2πi/8 ) ;e=1/J2 f=cos (π/16) g=cos (3π/16) h=cos (5π/16) 1=cos (7π/16) m=cos (π/8) n=cos (3π/8) で与えられ、それぞれ上記つ CW)との積は、 オルシュ変換行列 ;*はゼロでない数値 ;*はゼロでない数値 となる。行列(Af)及び[Ac ’]にはゼロである
要素が多く現れ、となり合う任意の2行の同じ列におい
て必ず一つのゼロである要素が存在するため、例えば第
2図に示されるように、第1行と第2行、第3行と第4
行、第5行と第6行及び第7行と第8行を組みにして、
その各組で乗算器を1つ割り当てて、演算結果を各行の
演算結果を格納するレジスタに割り振る。また、第2図
に示したように、全ての組に対して乗算結果を割り振る
タイミングが同じなので制御信号が1本で実現可能であ
る。このようにN=2nを満たす限り、[Afl及び[
:Ac)は上記の性質を有するので、N個の入力データ
に対する離散フーリエ或いはコサイン変換はN/2個の
乗算器により実現可能である。
For example, in the case of N=8 (n=3), the Walsh transformation matrix [W] is given by The first stage operation can be realized by a pipeline configuration using only eight adders. The discrete Fourier transform matrix (F) and the discrete cosine transform matrix [C] in the case of N=8 are: ;a=1 b=ic c=exp (2πi/8) d=exp (−2πi/8) ;e= 1/J2 f=cos (π/16) g=cos (3π/16) h=cos (5π/16) 1=cos (7π/16) m=cos (π/8) n=cos (3π/8 ), and the product of each of the above and CW) is the Orsch transformation matrix; * is a non-zero number; * is a non-zero number. There are many elements that are zero in the matrices (Af) and [Ac'], and there is always one element that is zero in the same column of any two adjacent rows, so for example, as shown in Figure 2, , 1st and 2nd rows, 3rd and 4th rows
row, the 5th and 6th rows and the 7th and 8th rows are combined,
One multiplier is assigned to each set, and the operation results are allocated to registers that store the operation results of each row. Further, as shown in FIG. 2, since the timing of allocating the multiplication results to all groups is the same, it can be realized with one control signal. In this way, as long as N=2n is satisfied, [Afl and [
:Ac) has the above properties, so discrete Fourier or cosine transform for N input data can be realized by N/2 multipliers.

次に、第3図乃至第6図を用いて実数のベクトルデータ
を前記変換方法で実行する変換実装置の一例を説明する
Next, an example of a conversion actual device that performs the conversion method on real vector data will be described with reference to FIGS. 3 to 6.

第3図は前記変換装置の全体構成を示すブロック図であ
る。端子A、から直交変換を行なうベクトルデータが入
力される。そのデータは第1段階の演算ブロック10に
送られ、前記変換方法で説明したI”Z)−4W)〔x
)のマトリックス演算が行なわれる。この演算結果は、
例えば、第3図においてはN=23の場合であるので、
8次元のベクトルデータが入力されると端子B1〜B。
FIG. 3 is a block diagram showing the overall configuration of the conversion device. Vector data to be orthogonally transformed is input from terminal A. The data is sent to the first stage arithmetic block 10 and is converted into I"Z)-4W)[x
) matrix operations are performed. The result of this calculation is
For example, in Figure 3, N=23, so
When 8-dimensional vector data is input, terminals B1 to B are input.

にそれぞれ同時にデータが出力される。そのデータはア
ウトプットコントローラ20の入力データとなり、端子
A1からデータが8個入力すると一度に出力されるデー
タをこのアウトプットコントローラ20によってデータ
出力が制御きれ、8クロツクかかって端子B1から順番
に端子CIに出力する。
Data is output to each simultaneously. The data becomes the input data of the output controller 20, and when eight pieces of data are input from the terminal A1, the output controller 20 can control the data output at once, and it takes eight clocks to input the data to the terminals sequentially starting from the terminal B1. Output to CI.

第2段階の演算ブロック30では、前記変換方法の説明
でも示したように、離散ツー’/ 工変換の場合は(A
f)=[F)〔W−句、離散コカイン変換の場合は[A
c)=(C)(W−“〕をあらかじめ計算しておき、そ
の(Af1〕[Ac:lと端子CIからの入力データと
の間でマトリックス演算が行なわれる。この演算結果も
N=23の時は、入力データが8個入力されると一度に
り、からD8までの端子に、離散コサイン変換の場合は
8個、離散フーリエ変換の場合は16個(この場合は実
数部8個、虚数部8個)のデータが出力されるので、ア
ウトプットコントローラ40に入力し、端子り、からの
入力データから順番に端子E、に出力し、入力データの
出力制御を行なう。
In the second stage calculation block 30, as shown in the explanation of the conversion method, in the case of the discrete two'/to conversion, (A
f) = [F) [W-clause, [A
c)=(C)(W-“) is calculated in advance, and a matrix operation is performed between that (Af1)[Ac:l and the input data from the terminal CI.The result of this operation is also N=23 In this case, when 8 pieces of input data are input, they are sent to the terminals from to D8, 8 pieces in the case of discrete cosine transform, 16 pieces in the case of discrete Fourier transform (in this case, 8 pieces of real part, Since the data of 8 imaginary parts is outputted, it is input to the output controller 40, and the input data from the terminals 1 to 1 is sequentially outputted to the terminal E, thereby controlling the output of the input data.

第4図は第3図における第1段階の演算ブロック10の
演算を実現するための構成を示すブロック図である。本
例ではN=23の時の場合を示しており、この第1段階
の演算ブロック10は前述の〔z〕=〔W〕〔x〕のマ
トリックス演算が行なわれる。ここで〔W〕はウオルシ
ュ変換行列で、その変換係数は1と−1しか存在しない
ため、マトリックス演算においても、乗算器を用いるこ
となく、符号反転が行なえる符号制御器とその値を累積
加算が行なえる加算器とレジスタによって構成すること
ができる。次に、第4図を用いて各構成要素の接続状態
及びその動作について説明する。
FIG. 4 is a block diagram showing a configuration for realizing the calculation of the first stage calculation block 10 in FIG. 3. This example shows a case where N=23, and the first stage calculation block 10 performs the above-mentioned matrix calculation of [z]=[W][x]. Here, [W] is a Walsh transformation matrix, and its transformation coefficients are only 1 and -1, so in matrix operations, the sign controller that can perform sign inversion and its value can be cumulatively added without using a multiplier. It can be configured with adders and registers that can perform Next, the connection state of each component and its operation will be explained using FIG.

端子A1から直交変換を行なうベクトルデータが入力さ
れ、該ベクトルデータが各プロセスエレメント11〜1
8に同時に入力される。各プロセスエレメント11〜1
8では、マトリックス演算の1行分の演算を行なう。
Vector data to be orthogonally transformed is input from terminal A1, and the vector data is applied to each process element 11 to 1.
8 at the same time. Each process element 11-1
In step 8, one row of matrix calculation is performed.

また、各プロセスエレメント11〜18では、符号反転
を行なう符号制御部が異なるのみでその構成は全て同じ
であるので、ここではプロセスエレメント11を用いて
説明する。
Further, each of the process elements 11 to 18 has the same configuration except for the code control unit that performs code inversion, so the process element 11 will be used for explanation here.

先ず、入力データは符号制御器111に入力され、ウオ
ルシュ変換行列のマトリックス係数の値によって、入力
データの符号が制御される。つまり、この符号制御器1
11では、マトリックス係数の値が1であれはそのまま
入力データを出力し、−1である場合は、符号を反転し
て出力する。例えば、プロセスエし・メントがマトリッ
クス演算の2行目の演算を担当するとすれば、係数の値
が(1,−1,1,−1,1,−1,1゜1)であるの
で、最初のデータはそのまま出力し、次のデータは符号
を反転し、その次のデータは、またそのまま出力すると
いった動作を行なう。符号制御器111の出力は加算器
112に渡される。加算器112の出力はレジスタ11
3に格納きれ、レジスタ113の出力の一方は前記加算
器112の入力となっており、もう一方はレジスタ11
4に接続きれる。加算器112とレジスタ113は累積
加算器を構成しており、この例ではN=23であるから
、符号制御器111からの8個の出力を累積加算した後
、演算結果をレジスタ114に格納され端子B、に出力
される。他のプロセスエレメント12〜18でも同様の
処理が行なわれ、それぞれ出力端子B、〜B、に出力さ
れる。
First, input data is input to the sign controller 111, and the sign of the input data is controlled by the values of the matrix coefficients of the Walsh transform matrix. In other words, this code controller 1
In No. 11, if the value of the matrix coefficient is 1, the input data is output as is, and if it is -1, the sign is inverted and output. For example, if the process element is in charge of the second row of the matrix operation, the coefficient values are (1, -1, 1, -1, 1, -1, 1°1), so The first data is output as is, the sign of the next data is inverted, and the next data is output as is. The output of sign controller 111 is passed to adder 112. The output of adder 112 is sent to register 11
One of the outputs of the register 113 is input to the adder 112, and the other is the input of the register 113.
I can connect to 4. The adder 112 and the register 113 constitute a cumulative adder, and in this example, N=23, so after cumulatively adding the eight outputs from the sign controller 111, the operation result is stored in the register 114. It is output to terminal B. Similar processing is performed for the other process elements 12 to 18, and outputs are output to output terminals B, ~B, respectively.

第5図は離散フーリエ変換を行なう場合の第2段階の演
算ブロック30の構成例を示すプロ・ンク図、第6図は
離散コサイン変換を行なう場合の第2段階の演算ブロッ
ク30の構成例を示すブロック図である。以下それぞれ
の各構成要素の接続状態及びその動作について説明する
FIG. 5 is a Pronk diagram showing an example of the configuration of the second stage calculation block 30 when performing a discrete Fourier transform, and FIG. 6 is a diagram showing an example of the configuration of the second stage calculation block 30 when performing a discrete cosine transform. FIG. The connection state and operation of each component will be explained below.

第2段階の演算では、あらかじめ計算しておいた離散フ
ーリエ変換時の時のマトリ・7クス係数[Af)=CF
:] 〔W−1〕(離散コサイン変換時は[:Ac1〕
=[C:]〔W−’])と、前記において得られたベク
トルデータとウオルシュ変換のマトリックス演算結果と
の間でマトリ・ンクス演算を行なう。
In the second stage of calculation, the pre-calculated matrix at the time of discrete Fourier transform 7x coefficient [Af) = CF
:] [W-1] ([:Ac1] during discrete cosine transform)
=[C:][W-']), and a matrix operation is performed between the vector data obtained above and the matrix operation result of the Walsh transformation.

ここであらかじめ計算されているマトリックス係数[A
r1が特殊なものとなって、かなりゼロ係数が増し、先
に第2図を用いて説明したように、2行まとめて演算す
ることが可能となった場合は、乗算器の数が通常の場合
より半分の数で構成することができる。即ち、各行のマ
トリックス演算を行なうために、乗算結果を累積加算す
る最終段の累積加算器は各行数骨設け、マトリックス係
数はゼロ係数との乗算を行なう組合わせが考えられるた
め、乗算器を2行分に1個の割り合いで設けることで演
算が可能である。以下離散フーリエ変換を行なう場合の
第2段階の演算回路の一例を第5図を用いて説明する。
Here, the matrix coefficient [A
If r1 becomes special and the number of zero coefficients increases considerably, and as explained earlier using Figure 2, it becomes possible to perform calculations on two rows at once, the number of multipliers becomes smaller than usual. It can be configured with half the number than the case. That is, in order to perform matrix operations on each row, the final stage cumulative adder that cumulatively adds the multiplication results is provided for each row, and the matrix coefficients can be multiplied with zero coefficients, so two multipliers are used. Calculation is possible by providing one per row. An example of a second stage arithmetic circuit when performing a discrete Fourier transform will be described below with reference to FIG.

端子CIから、前記第1段階の演算結果が入力され、各
プロセスエレメント31〜34に入力きれる。各プロセ
スエレメント31〜34では2行分のマトリックス演算
を担当する。各プロセスエレメント31〜34は、乗算
に必要なROMデータの内容が異なるだけで基本的には
その構成及び動作は同じであるので、ここではプロセス
エレメント31を用いて説明する。図中でダッシュ符号
が付しているものがあるが、ダッシュ符号は、この演算
が離散フーリエ変換であるため、実数部と虚数部とを区
別するため虚数部の演算回路側に付加している。この実
数部と虚数部の演算回路も乗算に必要なROMデータが
異なるだけで基本的な構成及び動作は同一であるので実
数部のみの演算回路について説明する。
The calculation results of the first stage are input from the terminal CI and can be input to each of the process elements 31 to 34. Each of the process elements 31 to 34 is responsible for matrix calculations for two rows. Each of the process elements 31 to 34 is basically the same in configuration and operation except for the content of ROM data required for multiplication, so the process element 31 will be used for explanation here. Some of the figures are marked with dashes, but since this operation is a discrete Fourier transform, the dashes are added to the arithmetic circuit side of the imaginary part to distinguish between the real part and the imaginary part. . The arithmetic circuits for the real part and the imaginary part have the same basic configuration and operation except for the ROM data required for multiplication, so the arithmetic circuit for only the real part will be described.

ROM312にはあらかじめ計算されたマトリックス係
数データ[Ar:]=+:F)(w−1〕が格納されて
いる。端子C11から入力データが乗算器311に入力
されと、同じタイミングでこのROM312に格納きれ
ているマトリックス係数データ[Af1〕=〔F〕(W
−1〕がレジスタ113に入力される。乗算器311の
出力は2つの加算器313,314に接続きれており、
該加算器313.314の出力はそれぞれレジスタ31
5.316に接続されている。レジスタ315の一方の
出力は加算器313の入力に接続され、他の一方はレジ
スタ317に接続されている。また、レジスタ316の
一方の出力は加算器314の入力に接続され、他の一方
はレジスタ318に接続されている。つまり、加算器3
13とレジスタ315及び加算器314とレジスタ31
6はそれぞれ乗算結果を累積加算する累積加算器を構成
している。その累算加算結果は各々レジスタ317.3
18に格納されることになる。
Pre-calculated matrix coefficient data [Ar:]=+:F)(w-1] is stored in the ROM 312. When input data is input to the multiplier 311 from the terminal C11, the data is stored in the ROM 312 at the same timing. Matrix coefficient data [Af1] = [F] (W
-1] is input to the register 113. The output of the multiplier 311 is connected to two adders 313 and 314,
The outputs of the adders 313 and 314 are respectively input to the register 31.
5.316. One output of register 315 is connected to the input of adder 313, and the other output is connected to register 317. Further, one output of the register 316 is connected to the input of the adder 314, and the other output is connected to the register 318. In other words, adder 3
13 and register 315 and adder 314 and register 31
6 constitutes a cumulative adder that cumulatively adds the multiplication results. The cumulative addition results are in registers 317.3 and 317.3.
It will be stored in 18.

乗算器311は2行分の乗算を受は持つことになり、一
方の累積加算器で乗算結果を累積加算するときは、他方
は必ず乗算結果がゼロとなるため累積加算をする必要が
ない。このように乗算結果を累積加算側で加算するかし
ないかを制御することにより、マトリックス演算が可能
となる。例えば第2図のマトリックス係数がAfである
時の1行目の演算を加算器313で、2行目を加算器3
14に対応させるとすると、最初から4個までのデータ
と係数との乗算結果は、加算器313の方で累積加算を
行ない残りのデータ4個と係数との乗算結果は加算器3
14の方で累積加算が行なわれる。同様のことが虚数部
、他のプロセスエレメント32〜34でも行なわれる。
The multiplier 311 has two rows worth of multiplication, and when one cumulative adder cumulatively adds the multiplication results, the other cumulative adder always has a multiplication result of zero, so there is no need to perform cumulative addition. By controlling whether or not to add the multiplication results on the cumulative addition side in this manner, matrix calculation becomes possible. For example, when the matrix coefficient in FIG.
14, the results of multiplication of the first four data and coefficients are cumulatively added in adder 313, and the results of multiplication of the remaining four data and coefficients are accumulated in adder 313.
14, cumulative addition is performed. The same thing is done for the imaginary part and other process elements 32-34.

そしてその演算結果は端子り、〜D、、D、’〜Da’
から出力きれる。
And the result of the calculation is terminal, ~D,,D,'~Da'
You can output from.

離散コサイン変換の場合でも、第6図に示したように、
第5図と同様の処理が行なわれる。但し、第6図に示す
離散コサイン変換の場合は、実数部のみで第5図に示し
たような虚数部演算部は存在しない。
Even in the case of discrete cosine transform, as shown in Figure 6,
Processing similar to that in FIG. 5 is performed. However, in the case of the discrete cosine transform shown in FIG. 6, only the real part is used, and there is no imaginary part calculation section as shown in FIG.

第7図はプロセスエレメント内部を簡略化したものの構
成例を示すブロック図である。第5図。
FIG. 7 is a block diagram showing a simplified example of the internal structure of the process element. Figure 5.

第6図に示すプロセスエレメントは、ROM312と乗
算器311の説明を分かりやすくするために、別のもの
として示したが、実際は2つの機能をまとめて第7図に
示すようにROM乗算器311aとして構成することも
可能である。また、第5図、第6図に示すプロセスエレ
メントでは、プロセスエレメント内の加算器313と加
算器314が同時に演算することがないので、同一のも
のを使用する構成になることも可能であり、第7図にお
いては、加算器313の出力はレジスタ315とレジス
タ316に接読されており、累積加算する時は累積加算
する方のレジスタのデータ出力を選択器319で選択し
て演算を行ない、演算結果をレジスタ317に格納し、
出力することによってプロセスエレメントの機能を果た
している。
The process elements shown in FIG. 6 are shown as separate components to make the explanation of the ROM 312 and the multiplier 311 easier to understand, but in reality, the two functions are combined as a ROM multiplier 311a as shown in FIG. It is also possible to configure Furthermore, in the process elements shown in FIGS. 5 and 6, since the adder 313 and the adder 314 in the process element do not operate at the same time, it is possible to have a configuration in which the same adder 313 and adder 314 are used. In FIG. 7, the output of the adder 313 is directly read to a register 315 and a register 316, and when performing cumulative addition, the selector 319 selects the data output of the register to be cumulatively added and performs an operation. Store the calculation result in the register 317,
It fulfills the function of a process element by outputting.

〔発明の効果〕〔Effect of the invention〕

以上説明したように本発明によれば、第1段階の演算過
程においては+1と−1のみの要素を持つウオルシュ変
換を導入したので、入力データ数Nと同じ数の力り減算
器によるバイブライン処理が可能となり、第2段階の演
算過程においては離散フーリエ或いはコサイン変換の行
列とウオルシュ変換の行列との積による行列にゼロであ
る要素が多くN/2行に圧縮できるので、N/2個の乗
算とN個の加算器によるバイブライン処理が可能となり
、全体として従来よりN個の加減算器を増やした代わり
に、バイブライン処理を保ちながら、より大きいVLS
I面積を必要とする乗算器をN/2個減らすことができ
、よりコンパクトなVLSI設計が可能となる。
As explained above, according to the present invention, the Walsh transform having only +1 and -1 elements is introduced in the first step calculation process, so the vibration line is generated by the same number of force subtracters as the number N of input data. In the second step of the calculation process, there are many zero elements in the matrix obtained by multiplying the discrete Fourier or cosine transform matrix by the Walsh transform matrix, so it can be compressed into N/2 rows. It is now possible to perform multiplication and Vibration line processing using N adders, and instead of increasing the number of N adders and subtractors compared to the conventional system, a larger VLS can be achieved while maintaining Vibration line processing.
The number of multipliers that require I area can be reduced by N/2, allowing for a more compact VLSI design.

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

第1図は本発明の演算順序を示すブロック図、第2図は
行列(Af)及びCAc :]を半分に圧縮するための
概念図、第3図は本発明の変換装置の全体構成を示すブ
ロック図、第4図は第1段階の演算の構成例を示すブロ
ック図、第5図は離散フーリエ変換を行なう場合の第2
段階の演算の構成例を示すブロック図、第6図は離散コ
サイン変換を行なう場合の第2段階の演算の構成例を示
すブロック図、第7図は簡略化したプロセスエレメント
の構成例を示すブロック図である。 図中、10・・・・第1段階の演算ブロック、20・・
・・アウトプットコントローラ、30・・・・第2段階
の演算ブロック、40・・・・アウトプットコントロー
ラ、11〜1B・・・・プロセスエレメント。 特許出願人 沖電気工業株式会社 代理人 弁理士 熊 谷  隆(外1名)末終明め膚算
巧a々1ネ1フ゛ロソ7図第 図 B 、i’l[,4f 31A6〔Ac5g +’#”
&f4L 5 T=incvg、QFII第 2図
Fig. 1 is a block diagram showing the calculation order of the present invention, Fig. 2 is a conceptual diagram for compressing the matrix (Af) and CAc: ] in half, and Fig. 3 shows the overall configuration of the conversion device of the present invention. Figure 4 is a block diagram showing an example of the configuration of the first stage calculation, and Figure 5 is a block diagram showing an example of the configuration of the first stage calculation.
FIG. 6 is a block diagram showing an example of the configuration of the second stage calculation when performing discrete cosine transformation. FIG. 7 is a block diagram showing an example of the configuration of a simplified process element. It is a diagram. In the figure, 10...first stage calculation block, 20...
... Output controller, 30... Second stage calculation block, 40... Output controller, 11-1B... Process element. Patent Applicant Oki Electric Industry Co., Ltd. Agent Patent Attorney Takashi Kumagai (1 other person) #”
&f4L 5 T=incvg, QFII Fig. 2

Claims (3)

【特許請求の範囲】[Claims] (1)N=2^n(nは正整数)個のディジタルデータ
の離散フーリェ或いはコサイン変換の演算方法において
、 第1段階の演算では+1と−1のみの要素を持ちウォル
シュ変換行列〔W〕との入力データとの積〔Z〕=〔W
〕 〔x〕を加減算のみにより計算し、 第2段階の演算では離散フーリェ変換行列 〔F〕と逆ウオルシュ変換行列〔W^−^1〕(=〔W
〕)との積〔Af〕=〔F〕〔W^−^1〕或いは離散
コサイン変換行列〔C〕と逆ウォルシュ変換行列〔W^
−^1〕との積〔Ac〕=〔C〕〔W^−^1〕をあら
かじめ計算し用意しておき、前記第1段階の演算の出力
〔Z〕と該積〔Af〕との積〔yf〕=〔Af〕〔Z〕
或いは該出力〔Z〕と前記積〔Ac〕との積〔yc〕=
〔Ac〕〔Z〕のマトリックス演算をすることを特徴と
する離散フーリェ又はコサイン変換方法。
(1) In the calculation method of discrete Fourier or cosine transformation of N=2^n (n is a positive integer) digital data, in the first stage calculation, a Walsh transformation matrix [W] with only +1 and -1 elements is used. and the input data [Z] = [W
] [x] is calculated only by addition and subtraction, and in the second step, the discrete Fourier transformation matrix [F] and the inverse Walsh transformation matrix [W^-^1] (= [W
]) [Af] = [F] [W^-^1] or the product of the discrete cosine transformation matrix [C] and the inverse Walsh transformation matrix [W^
-^1] and the product [Ac] = [C] [W^-^1] is calculated and prepared in advance, and the product of the output [Z] of the first stage operation and the product [Af] is calculated and prepared in advance. [yf] = [Af] [Z]
Or the product [yc] of the output [Z] and the product [Ac] =
[Ac] A discrete Fourier or cosine transformation method characterized by performing a matrix operation of [Z].
(2)前記あらかじめ用意しておく積〔Af〕或いは〔
Ac〕をゼロでない要素が重ならないようにグループ分
けしてマトリックス演算をすることを特徴とする請求項
(1)記載の離散フーリェ又はコサイン変換方法。
(2) The product prepared in advance [Af] or [
2. The discrete Fourier or cosine transform method according to claim 1, wherein the matrix operation is performed by dividing the vectors [Ac] into groups such that non-zero elements do not overlap.
(3)前記グループ分けしてマトリックス演算を行なう
時に、2行部のマトリックス演算に対して1つの乗算器
を設けその乗算結果を2つの累積加算器に振り分けるこ
とによって、マトリックス演算を行なうようにし、該2
つの累積加算器に振り分けるタイミングが他のグルーピ
ングした各2つの累積加算器に振り分けるタイミングと
同一で同じ制御信号を使えることを特徴とする請求項(
2)記載の離散フーリェ又はコサイン変換方法を実行す
る変換装置。
(3) When performing a matrix operation by grouping, the matrix operation is performed by providing one multiplier for the matrix operation of the two rows and distributing the multiplication result to two cumulative adders; Part 2
Claim (1) characterized in that the timing of distributing to one cumulative adder is the same as the timing of distributing to each two cumulative adders of other groups, and the same control signal can be used.
2) A transform device for carrying out the discrete Fourier or cosine transform method described.
JP15417890A 1990-06-13 1990-06-13 Discrete Fourier or cosine transform device for digital data Expired - Lifetime JP2869668B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15417890A JP2869668B2 (en) 1990-06-13 1990-06-13 Discrete Fourier or cosine transform device for digital data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15417890A JP2869668B2 (en) 1990-06-13 1990-06-13 Discrete Fourier or cosine transform device for digital data

Publications (2)

Publication Number Publication Date
JPH0447454A true JPH0447454A (en) 1992-02-17
JP2869668B2 JP2869668B2 (en) 1999-03-10

Family

ID=15578542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15417890A Expired - Lifetime JP2869668B2 (en) 1990-06-13 1990-06-13 Discrete Fourier or cosine transform device for digital data

Country Status (1)

Country Link
JP (1) JP2869668B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009535721A (en) * 2006-04-28 2009-10-01 クゥアルコム・インコーポレイテッド General array processing
CN107077457A (en) * 2014-09-16 2017-08-18 高通股份有限公司 Spatial alternation based on event

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009535721A (en) * 2006-04-28 2009-10-01 クゥアルコム・インコーポレイテッド General array processing
US8250337B2 (en) 2006-04-28 2012-08-21 Qualcomm Incorporated Array processor with two parallel processing paths of multipliers and ALUs with idle operation capability controlled by portions of opcode including indication of valid output
CN107077457A (en) * 2014-09-16 2017-08-18 高通股份有限公司 Spatial alternation based on event

Also Published As

Publication number Publication date
JP2869668B2 (en) 1999-03-10

Similar Documents

Publication Publication Date Title
AU689439B2 (en) Digital filter having high accuracy and efficiency
US5270953A (en) Fast convolution multiplier
US3971927A (en) Modular discrete cosine transform system
KR950000386B1 (en) Discrete cosine transform circuit
US5001661A (en) Data processor with combined adaptive LMS and general multiplication functions
JPH11306163A (en) Product sum arithmetic unit
JPH0447454A (en) Method and device for discrete fourier transformation or cosine transformation of digital data
US4020333A (en) Digital filter for filtering complex signals
EP0037130B1 (en) Arrangement for calculating the discrete fourier transform by means of two circular convolutions
JP2529229B2 (en) Cosine converter
US5148384A (en) Signal processing integrated circuit
KR100193385B1 (en) Method and apparatus for performing DCT / DST / DHT by unified systolic array structure
KR950002072B1 (en) Digital filter
JP2953918B2 (en) Arithmetic unit
KR100488144B1 (en) Method of adding for matrix multiplier
KR890004649Y1 (en) Digital filter
KR100488145B1 (en) Matrix multiplier
JP3801368B2 (en) Digital transversal filter
JPH0374530B2 (en)
Bowlyn et al. A novel distributed arithmetic approach for computing a radix-2 FFT butterfly implementation
KR100227074B1 (en) Multiply and accumulator for fir filtering
JPH0619799B2 (en) High-speed Fourier converter
JP2000048008A (en) Data processor using high speed fourier transform
JPS59198020A (en) Digital signal processor
JPS6043743A (en) Signal processing circuit