JPH0148583B2 - - Google Patents
Info
- Publication number
- JPH0148583B2 JPH0148583B2 JP58063186A JP6318683A JPH0148583B2 JP H0148583 B2 JPH0148583 B2 JP H0148583B2 JP 58063186 A JP58063186 A JP 58063186A JP 6318683 A JP6318683 A JP 6318683A JP H0148583 B2 JPH0148583 B2 JP H0148583B2
- Authority
- JP
- Japan
- Prior art keywords
- walsh
- value
- acc
- adder
- buffer memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
本発明はウオルシユ関数系を多値化かつ複素数
化した関数系による変換である多値ウオルシユ変
換装置に関する。
従来、信号を直交変換する手段としては、フー
リエ変換やウオルシユ変換などがあつた。通常よ
く用いられているフーリエ変換は、三角関数系に
より直交変換であり、その演算には乗業器を必要
としていた。一方、ウオルシユ変換は、ウオルシ
ユ関数系による直交変換であり、ウオルシユ関数
系はその要素が+1と−1のみであるため、ウオ
ルシユ変換の演算は加減算のみで行える利点があ
り、フーリエ変換の近似として用いられていたが
近似が荒いという欠点があつた。
次にこのウオルシユ関数について説明する。(1)
式で定義される2i行2i列の行列(アダマール行列
と呼ばれる)
Hi=Hi-1H1 ……(1)
ただしH1=(1
1−1)であり、はクロネツカ
積を意味する。
の各行を第1図に示すように区間(−1/2、1/2)
の波形として見なすとHiより2i個の波形を生成す
ることができる。これらの波形がウオルシユ関数
である。ウオルシユ関数のゼロと交差する回数を
交番数と呼び、(1)式より生成される2i個のウオル
シユ関数は0〜2i−1の交番数を持つている。こ
のウオルシユ関数系は完備な正規直交関数系を成
しており、フーリエ変換は周波数分析と呼ばれる
ように、ウオルシユ変換は交番数分析と呼ばれ
る。また、フーリエ変換の結果はフーリエスペク
トルと呼ばれるように、ウオルシユ変換の結果を
ウオルシユスペクトルと呼ばれる。
さらに、ウオルシユ変換を高速に計算する高速
ウオルシユ変換(FWTと略称する)が知られて
おり、高速フーリエ変換(FFTと略称する)と
対応して行列にて表現する方法が、昭和51年12月
電子通信学会論文誌Vol.59−A、No.12の第1134頁
〜第1135頁の「フーリエ変換とウオルシユ変換に
関する一検討」に記載されている。入力時系列を
逆2進順に並べた列ベクトルをX、変換行列を
A、フーリエスペクトルをFとすれば、FFTは
F=A・X=Po・Po-1・…P1・X ……(2)
とn回の行列の積として表現できる。ここで各Pi
は(3)、(4)、(5)、式より決定される。
ただしai=exp(−jπ/2i)とし、Iiは2i行2i列の
単位行列であり、diag(・)は括弧内を対角要素
とする対角行列である。
ここで逆2進順序とは自然数を2進表現し、そ
の桁を逆転させた数を考え、その数の順序に並ら
べることであり、n=3の場合X=(x0、x4、x2、
x6、x1、x5、x3、x7)となる。また、PiはFFT
のi段目の演算を表現しており、n=3の場合
P1、P2、P3は
となり、各行ともゼロでない要素は2つでありバ
タフライ演算を表現している。
同様に、入力時系列を逆2進順に並べた列ベク
トルをX、変換行列をC、ウオルシユスペクトル
の列ベクトルをWとすれば、FWTは
W=C・X=Co・Go-1・…G1・X ……(7)
とn回の行列の積として表現できる。ここで各Gi
は(8)、(9)、(10)式より決定される。
n=3の場合、ウオルシユスペクトルはW=
(W0、W2、W4、W6、W7、W5、W3、W1)であ
る。さらに各段の演算G1、G2、G3は
G1=P1
となる。以上説明したようにFWTは、FFTにお
けるDiの要素ak iをak i=exp(−jθ)とし
0Θ<π/2なるとき ai k→1と置き換え
π/2Θ<πなるとき ai k→−1と置き換え
たものと考えることができる。
このようにウオルシユ変換はフーリエ変換にお
ける三角関数値を±1に量子化したものと考えら
れ、乗算のない演算でフーリエスペクトラムの近
似が求められる。しかし、量子化が荒いためフー
リエスペクトラムのよい近似値が得られない欠点
があつた。
本発明の目的は、加減算器またはシフタと加減
算器のみで求められ、かつウオルシユスペクトル
よりよりフーリエスペクトルに近い多値ウオルシ
ユスペクトルを求めることのできる多値ウオルシ
ユ変換装置を提供することにある。
本発明の多値ウオルシユ変換装置は、入力時系
列データを保持するバツフアメモリ部と、バツフ
アメモリ部より読み出されたデータを用いて多値
ウオルシユスペクトラムを求めるための加減算器
またはシフタと加減算器による多値ウオルシユ演
算部と、前記のバツフアメモリ部と、多値ウオル
シユ演算部を制御する制御部を有している。
本発明の多値ウオルシユ変換装置は、ウオルシ
ユ関数の多値化および複素数化をその要素を1ま
たは1/2に限定することにより加減算器またはシ
フタと加減算器による簡単な演算で構成すること
ができる。さらに、多値ウオルシユ変換装置はフ
ーリエスペクトラムとの近似度がウオルシユスペ
クトラムより高い多値ウオルシユスペクトラムを
得ることができる利点を持つている。
次に本発明の原理である多値ウオルシユ変換に
ついて説明する。ウオルシユ関数は三角関数を±
1へ量子化したものであるので、より細かい量子
化による多値ウオルシユ関数を導入することによ
つてよりフーリエスペクトラムへ近づけることが
できる。多値化の方法として、複素平面の単位円
上の数個の点へ対応させることが考えられる。例
えば第2図に示した
の8個の要素を持つ多値ウオルシユ関数が考えら
れる。しかし、前記の方法による多値ウオルシユ
関数はe〓/4jなどの要素を持つため、その変換には
乗算を必要とする。ここでe〓/4jの代わりに1+j
を用いる方法を提案する。すなわち第3図に示し
た(1、1+j、j、−1+j、−1、−1−j、−
j、1−j)の8個の要素を持つ8値ウオルシユ
関数を提案する。この関数系による8値ウオルシ
ユ変換の演算は(±1、±j)との積の演算であ
るため加減算のみで実行可能である。具体的な計
算方法は(2)、(3)、(4)、(5)式に示したFFTによる
計算手順の内より(5)式を(11)式へ変えたものとな
る。
Di=diag(1、〔ai〕、〔ai 2〕、…、〔ai 2i-1〕)…
…(11)
ただしai=exp(jπ/2i)、ai k=ej〓とし
〔ej〓〕=1、0Θ<π/4のとき
=1+j、π/4Θ<π/2のとき
=j、π/2Θ<3π/4のとき
=−1+j、3π/4Θ<πのとき
さらにフーリエスペクトラムの近似度を高める
ことのできる16値ウオルシユ関数を提案する。
すなわち、第4図に示した
(1、1+1/2j、1+j、1/2+j、j、−1
/2
+j、−1+j、−1+1/2j、−1、−1−1/2
j、
−1−j、−1/2−j、−j、1/2−j、1−j、
1
−1/2j)の16個の要素を持つ16値ウオルシユ関
数を提案する。
これによる関数系を用いる16値ウオルシユ変換
の演算は(±1/±1/2、±j/±1/2j)の積の
演算であるためシフタによる1/2化と加減算のみ
で実行可能である。具体的な計算方法は8値ウオ
ルシユ変換の方法と同様であり(11)式の代わりに(12)
式を用いる。
Di=diag(1、〔ai〕、〔ai 2〕、…、〔ai 2i-1〕)…
…(12)
ただし〔ej〓〕=1、0Θ<π/8のとき
=1+1/2j、π/8Θ<π/4のとき
=1+j、π/4Θ<3π/8のとき
=1/2+j、3π/8Θ<π/2のとき
j=、π/2Θ<5π/8のとき
=−1/2+j、5π/8Θ<3π/4のとき
=−1+j、3π/4Θ<7π/8のとき
=−1+1/2j、7π/8Θ<πのとき
次に本発明の装置の具体的な構成を図面を参照
しながら説明する。
本発明の第1の実施例は第5図に示すように、
バツフアメモリ部1、多値ウオルシユ演算部2、
制御部3より構成され、(2)、(3)、(4)、(11)式による
8値ウオルシユ変換を実行する装置である。
始めに一般に複素数の時系列データがバツフア
メモリ部1へ入力され、一時記憶される。第8図
aはn=4の場合の計算の流れ図であり、この図
に従つた制御部3の制御信号により、第1段より
順に第n段まで計算が進められる。第k段の処理
は、第8図aに示した第k段の2n-1個のバタフラ
イ演算を実行することであり、(2)式におけるPk
の行列を乗することを意味している。
各段の処理はバツフアメモリ部1よりデータを
読み出し、バタフライ演算を行い、その結果は再
びバツフアメモリ部1へ書き込まれる。
バタフライ演算は第8図bに示すように
yi=xi+xj・ak ……(13)
yj=xi−xj・ak ……(14)
であり、第6図に示す多値ウオルシユ演算部2に
て求められる。
バタフライ演算では始めにxi、xjがバツフアメ
モリ部1より読み出され、xiの実数部、虚数部が
レジスタ201,202へ、xjの実数部、虚数部
がレジスタ203,204へそれぞれ一時格納さ
れる。
xj・akの複素数乗算は次の4通りの加減算にて
実行される。
(ZR+jZI)=(xjR+jxjI)・akとすると、8値ウ
オルシユ変換の場合、
a0=a1=1、a2=a3=1+j、a4=a5=j、a6=
a7=−1+jとなることを考えると、
a0=a1=1のとき
ZR=xjR ……(15)
ZI=xjI ……(16)
a2=a3=1+jのとき
ZR=xjR−xjI ……(17)
ZI=xjR+xjI ……(18)
a4=a5=jのとき
ZR=−xjI ……(19)
ZI=xjR ……(20)
a6=a7=−1+jのとき
ZR=−xjR−xjI ……(21)
ZI=xjR−xjI ……(22)
となる。
これらの演算は制御部3の制御信号のもとでス
イツチ211と加減算器221と222により求
められる。すなわちスイツチ211は加減算器2
21と222の入力をxjR、xjI、0のどれかを選
択し、加減算器221と222は加算又は減算又
は加算と符号反転を行い前記の(15)〜(22)式
の演算を行う。
つづいて(13)、(14)式の加算および減算は、
実数部、虚数部に分けて実行され、加算器231
と232および減算器233と234にて求めら
れる。得られた結果yi、yjはバツフアメモリ部1
のxi、xjが記憶されていた場所へ書かれる。
最終段である第n段の処理の結果が、8値ウオ
ルシユ変換された8値ウオルシユスペクトルFiで
ある。
次に本発明の第2の実施例は、(2)、(3)、(4)、(12)
式による16値ウオルシユ変換を実行する装置であ
り、第1の実施例の多値ウオルシユ演算部2を第
7図に示す構成へ変更したものである。計算は第
1の実施例と同様に進められる。
第2の実施例と第1の実施例の異なる点は、制
御部3が第9図に示した計算の流れ図に従つて制
御信号を出力することとバタフライ演算における
乗算要素akの値が8種類あることである。第2の
実施例におけるバタフライ演算は第7図に示す多
値ウオルシユ演算部2にて求められる。バタフラ
イ演算では始めにxi、xjがバツフアメモリ部1よ
り読み出され、xiの実数部、虚数部がレジスタ2
01,202へ、xjの実数部、虚数部がレジスタ
203,204へそれぞれ一時格納される。
ところで、xj・akの複素数乗算は次の8通りの
演算にて実行される。
(ZR+jZI)=(xjR+jxjI)・akとし、
a0=1のとき
ZR=xjR ……(23)
ZI=xjI ……(24)
a1=1+1/2jのとき
ZR=xjR−1/2xjI ……(25)
ZI=1/2xjR+xjI ……(26)
a2=1+jのとき
ZR=xjR−xjI ……(27)
ZI=xjR+xjI ……(28)
a3=1/2+jのとき
ZR=1/2xjR−xjI ……(29)
ZI=xjR−1/2xjI ……(30)
a4=jのとき
ZR=−xjI ……(31)
ZI=xjR ……(32)
a5=−1/2+jのとき
ZR=−1/2xjR−xjI ……(33)
ZI=xjR−1/2xjI ……(34)
a6=−1+jのとき
ZR=−xjR−xjI ……(35)
ZI=xjR−xjI ……(36)
a7=−1+1/2jのとき
ZR=−xjR−1/2xjI ……(37)
ZI=1/2xjR−xjI ……(38)
これらの演算は制御部3の制御信号のもとで、
シフタ241と242スイツチ212と加減算器
221と222により求められる。すなわち、シ
フタ241と242は1ビツト右シフトすること
により1/2xjRおよび1/2xjIを求めることができ、
スイツチ212は加減算器221と222の入力
をxjR、xjI、1/2xjR、1/2xjI、0のどれかを選択
し、加減算器221と222は加算又は減算又は
加算と符号反転を行い、前記の(23)〜(38)式
の演算を行う。
つづいて(13)、(14)式の加算および減算は、
実数部、虚数部に分けて実行され、加算器231
と232および減算器233と234にて求めら
れる。得られた結果yi、yjはバツフアメモリ部1
のxi、xjが記憶されていた場所へ書かれる。
最終段である第n段の処理の結果が、16値ウオ
ルシユ変換された16値ウオルシユスペクトルFiで
ある。
次に第10図は本発明の第3の実施例のブロツ
ク図であり、(2)式の行列Aを直接乗算して求める
8値ウオルシユ変換装置であり、フーリエスペク
トラムを求める1方法であるDFTと同様な方法
で求める。今、(2)式の行列Aのk行i列の要素を
akiとし、X=(x0、x1、…、xi、…、x2o-1)とす
れば
Fk=2o-1
〓i=0
aki・xi ……(39)
のようにakiと入力時系列xiとの積和を求めること
により多値ウオルシユスペクトルFkが求められ
る。
ここでA=P1・P2…・Poであるのでakiは8値
ウオルシユ変換の場合第3図に示した(1、1+
j、j、−1+j、−1、−1−j、−j、1−j)
の8個の内の1つである。従つて(39)式の積は
加減算器にて演算できる。始めに第11図に示す
タイムチヤートに従つて制御部3よりの信号Clが
アキユムレータ261と262をクリアする。続
いて0より2n−1まで変化する信号iに従つてバ
ツフアメモリ部より入力時系列データxiを順次読
み出す。ここで多値ウオルシユ演算部2は、第1
2図に示すように実部用アキユムレータ261と
虚部用アキユムレータ262と、実部用加減算器
251と虚部用加減算器252と、データxiまた
はゼロを実部用加減算器251または虚部用加減
算器252へ入力するスイツチ213より構成さ
れ、制御部の制御により次の8通りの動作をす
る。実部用アキユムレータ261と虚部用アキユ
ムレータ262の内容をそれぞれACCR、ACCIと
すると
aki=1のとき
ACCR+xi→ACCR
ACCI+0→ACCI
aki=1+jのとき
ACCR+xi→ACCR
ACCI+xi→ACCI
aki=jのとき
ACCR+0→ACCR
ACCI+xi→ACCI
aki=−1+jのとき
ACCR−xi→ACCR
ACCI+xi→ACCI
aki=−1のとき
ACCR−xi→ACCR
ACCI−0→ACCI
aki=−1−jのとき
ACCR−xi→ACCR
ACCI−xi→ACCI
aki=−jのとき
ACCR+0→ACCR
ACCI−xi→ACCI
aki=1−jのとき
ACCR+xi→ACCR
ACCI−xi→ACCI
の演算を行うようスイツチ213と加減算器25
1と252が制御される。
信号iが2n−1となつた時アキユムレータ26
1と262に多値ウオルシユスペクトラムのk次
項であるFkの実部と虚部がそれぞれ得られる。
次に第4の実施例は(39)式に従つてakiと入
力時系列xiとの積和を直接求める16値ウオルシユ
変換装置である。(39)式のakiは16値ウオルシユ
変換の場合第4図に示した(1、1+1/2j、1
+j、1/2+j、j、−1/2+j、−1+j、−1
+
1/2j、−1、−1−1/2j、−1−j、−1/2
−j、−
j、1/2−j、1−j、1−1/2j)の16個の内の
1つであり、(39)式の積はシフタと加減算器に
て求められる。このため、第4の実施例における
多値ウオルシユ演算部2は、第3の実施例の多値
ウオルシユ演算部2を第13図に示すようにスイ
ツチ214の前にシフタ243を挿入した構成で
ある。第3の実施例と同様にして制御部3の制御
により次の16通りの動作をする。
The present invention relates to a multivalued Walsh transform device that converts a Walsh function system into a multivalued and complex function system. Conventionally, methods for orthogonally transforming signals include Fourier transform and Walsh transform. The commonly used Fourier transform is an orthogonal transform using a trigonometric function system, and its operation requires a multiplier. On the other hand, the Walsh transform is an orthogonal transform using a Walsh function system, and since the Walsh function system has only +1 and -1 elements, the Walsh transform has the advantage that calculations can be performed only by addition and subtraction, and it is used as an approximation of the Fourier transform. However, the drawback was that the approximation was rough. Next, this Walsh function will be explained. (1)
A matrix of 2 i rows and 2 i columns (called Hadamard matrix) defined by the formula H i = H i-1 H 1 ...(1) where H 1 = (1 1-1), and is the Kronecka product. means. As shown in Figure 1, each row of
Considering it as a waveform, 2 i waveforms can be generated from Hi. These waveforms are Walsh functions. The number of times the Walsh function crosses zero is called the number of alternations, and the 2 i Walsh functions generated from equation (1) have the number of alternations from 0 to 2 i -1. This Walsh function system constitutes a complete orthonormal function system, and just as Fourier transform is called frequency analysis, Walsh transform is called alternating number analysis. Further, the result of Fourier transform is called a Fourier spectrum, and the result of Walsh transform is called a Walsh spectrum. Furthermore, the fast Walsh transform (abbreviated as FWT), which calculates the Walsh transform at high speed, is known, and a method of expressing it in a matrix corresponding to the fast Fourier transform (abbreviated as FFT) was developed in December 1975. It is described in "Study on Fourier transform and Walsh transform" on pages 1134 to 1135 of IEICE Transactions Vol. 59-A, No. 12. If the column vector of the input time series arranged in reverse binary order is X, the transformation matrix is A, and the Fourier spectrum is F, then FFT is F=A・X=P o・P o-1・…P 1・X … ...(2) and n times of matrices. Here each P i
is determined from equations (3), (4), and (5). However, a i =exp(−jπ/2 i ), I i is a unit matrix with 2 i rows and 2 i columns, and diag(·) is a diagonal matrix with diagonal elements in parentheses. Here, reverse binary ordering means expressing natural numbers in binary, considering numbers with their digits reversed, and arranging them in the order of that number. In the case of n=3, X=(x 0 , x 4 , x 2 ,
x 6 , x 1 , x 5 , x 3 , x 7 ). Also, P i is FFT
It expresses the i-th operation of
P 1 , P 2 , P 3 are Therefore, each row has two non-zero elements, representing a butterfly operation. Similarly, if the column vector of the input time series arranged in reverse binary order is X, the transformation matrix is C, and the column vector of the Walsh spectrum is W, then the FWT is W=C・X=C o・G o-1・...G 1・X ...(7) It can be expressed as the product of n times of matrices. Here each G i
is determined from equations (8), (9), and (10). When n=3, the Walsh spectrum is W=
(W 0 , W 2 , W 4 , W 6 , W 7 , W 5 , W 3 , W 1 ). Furthermore, the calculations G 1 , G 2 , and G 3 at each stage are G 1 = P 1 becomes. As explained above, in FWT, element a k i of D i in FFT is set as a k i =exp(-jθ), and when 0Θ<π/2, replace a i k →1, and when π/2Θ<π, a It can be thought of as replacing i k →−1. In this way, the Walsh transform can be considered as quantizing the trigonometric function values in the Fourier transform to ±1, and an approximation of the Fourier spectrum can be obtained by calculations without multiplication. However, due to the rough quantization, a good approximation of the Fourier spectrum cannot be obtained. SUMMARY OF THE INVENTION An object of the present invention is to provide a multi-value Walsh transform device that can obtain a multi-value Walsh spectrum using only an adder/subtractor or a shifter and an adder/subtracter, and which is closer to a Fourier spectrum than a Walsh spectrum. The multi-level Walsh transform device of the present invention includes a buffer memory section that holds input time-series data, and an adder/subtracter or a shifter and an adder/subtracter for obtaining a multi-level Walsh spectrum using the data read out from the buffer memory section. It has a value processor, a buffer memory section, and a control section for controlling the multivalue processor. The multivalued Walsh transform device of the present invention can be configured by simple operations using an adder/subtractor or a shifter and an adder/subtracter by limiting the number of elements to 1 or 1/2 to convert the Walsh function into a multivalued and complex number. . Furthermore, the multi-value Walsh transform device has the advantage of being able to obtain a multi-value Walsh spectrum that has a higher degree of approximation to the Fourier spectrum than the Walsh spectrum. Next, multilevel Walsh transform, which is the principle of the present invention, will be explained. The Walsh function is a trigonometric function ±
Since it is quantized to 1, it can be made closer to the Fourier spectrum by introducing a multivalued Walsh function with finer quantization. As a method of multi-value conversion, it is possible to correspond to several points on a unit circle of a complex plane. For example, as shown in Figure 2 A multivalued Walsh function with eight elements is considered. However, since the multivalued Walsh function according to the above method has elements such as e〓 /4j , the conversion requires multiplication. Here e〓 1+j instead of /4j
We propose a method using That is, as shown in Figure 3 (1, 1+j, j, -1+j, -1, -1-j, -
We propose an 8-valued Walsh function with 8 elements of j, 1-j). The 8-value Walsh transform operation using this function system is a multiplication operation with (±1, ±j), so it can be executed only by addition and subtraction. The specific calculation method is the FFT calculation procedure shown in equations (2), (3), (4), and (5), with equation (5) changed to equation (11). Di=diag(1, [a i ], [a i 2 ],…, [a i 2i-1 ])…
…(11) However, when a i = exp(jπ/2 i ), a i k = e j 〓, [e j 〓] = 1, 0Θ<π/4, =1+j, π/4Θ<π/2 When = j, π/2Θ < 3π/4 = -1+j, 3π/4Θ < π We propose a 16-value Walsh function that can further improve the degree of approximation of the Fourier spectrum. That is, as shown in Figure 4 (1, 1+1/2j, 1+j, 1/2+j, j, -1
/2 +j, -1+j, -1+1/2j, -1, -1-1/2
j, -1-j, -1/2-j, -j, 1/2-j, 1-j,
We propose a 16-valued Walsh function with 16 elements of 1 - 1/2j). The calculation of 16-value Walsh transform using this function system is a calculation of the product of (±1/±1/2, ±j/±1/2j), so it can be executed only by halving using a shifter and addition/subtraction. be. The specific calculation method is the same as the 8-value Walsh transform method, and instead of formula (11), formula (12) is used.
Use the formula. Di=diag(1, [a i ], [a i 2 ],…, [a i 2i-1 ])…
…(12) However, [e j 〓]=1, when 0Θ<π/8 =1+1/2j, when π/8Θ<π/4 =1+j, when π/4Θ<3π/8 =1/2+j , when 3π/8Θ<π/2 j=, when π/2Θ<5π/8 =-1/2+j, when 5π/8Θ<3π/4 =-1+j, when 3π/4Θ<7π/8 =-1+1/2j, when 7π/8Θ<π Next, a specific configuration of the apparatus of the present invention will be described with reference to the drawings. The first embodiment of the present invention is as shown in FIG.
Buffer memory unit 1, multivalued Walsh calculation unit 2,
This device is composed of a control section 3 and executes 8-value Walsh conversion using equations (2), (3), (4), and (11). First, time-series data of complex numbers is generally input to the buffer memory section 1 and temporarily stored. FIG. 8a is a flowchart of the calculation when n=4, and the calculation is sequentially advanced from the first stage to the nth stage by control signals from the control section 3 according to this diagram. The process of the k-th stage is to execute 2 n-1 butterfly operations of the k-th stage shown in FIG. 8a, and P k in equation (2)
This means multiplying the matrix of . The processing at each stage reads data from the buffer memory section 1, performs a butterfly operation, and the result is written to the buffer memory section 1 again. The butterfly operation is as shown in Fig. 8b, y i = x i + x j・a k ...(13) y j = x i −x j・a k ...(14), and as shown in Fig. 6 It is determined by the multivalued Walsh calculation unit 2. In the butterfly operation, x i and x j are first read from buffer memory unit 1, and the real and imaginary parts of x i are temporarily stored in registers 201 and 202, and the real and imaginary parts of x j are temporarily stored in registers 203 and 204, respectively. Stored. Complex number multiplication of x j · a k is performed by the following four types of addition and subtraction. If (Z R + jZ I ) = (x jR + jx jI )・a k , then in the case of 8-value Walsh transform, a 0 = a 1 = 1, a 2 = a 3 = 1 + j, a 4 = a 5 = j, a 6 =
Considering that a 7 = -1 + j, when a 0 = a 1 = 1, Z R = x jR ... (15) Z I = x jI ... (16) when a 2 = a 3 = 1 + j Z R =x jR −x jI ……(17) Z I =x jR +x jI ……(18) When a 4 = a 5 = j Z R =−x jI ……(19) Z I =x jR ...(20) When a 6 = a 7 = -1 + j, Z R = -x jR -x jI ... (21) Z I = x jR -x jI ... (22). These calculations are performed by a switch 211 and adders/subtractors 221 and 222 under control signals from the control section 3. In other words, the switch 211 is the adder/subtractor 2
The inputs of 21 and 222 are selected from x jR , x jI , and 0, and the adder/subtractors 221 and 222 perform addition, subtraction, addition, and sign inversion to perform the calculations of equations (15) to (22) above. . Next, addition and subtraction in equations (13) and (14) are as follows:
It is executed separately for the real part and the imaginary part, and the adder 231
and 232 and subtracters 233 and 234. The obtained results y i and y j are buffer memory part 1
x i and x j of are written to the location where they were stored. The result of the processing at the n-th stage, which is the final stage, is an 8-value Walsh spectrum F i that has been subjected to 8-value Walsh transform. Next, the second embodiment of the present invention includes (2), (3), (4), (12)
This device executes 16-value Walsh conversion using the formula, and is obtained by changing the multi-value Walsh calculation section 2 of the first embodiment to the configuration shown in FIG. The calculation proceeds in the same manner as in the first embodiment. The difference between the second embodiment and the first embodiment is that the control unit 3 outputs a control signal according to the calculation flowchart shown in FIG. 9, and that the value of the multiplication element a k in the butterfly calculation is 8. There are different types. The butterfly calculation in the second embodiment is obtained by the multivalued Walsh calculation unit 2 shown in FIG. In the butterfly operation, x i and x j are first read from buffer memory section 1, and the real and imaginary parts of x i are stored in register 2.
01 and 202, the real part and imaginary part of x j are temporarily stored in registers 203 and 204, respectively. By the way, the complex number multiplication of x j · a k is executed by the following eight operations. (Z R + jZ I ) = (x jR + jx jI )・a k , and when a 0 = 1, Z R = x jR ... (23) Z I = x jI ... (24) a 1 = 1 + 1/2j When Z R = x jR −1/2x jI …(25) Z I =1/2x jR +x jI …(26) When a 2 =1+j Z R =x jR −x jI …(27) Z I = x jR + x jI ...... (28) When a 3 = 1/2 + j Z R = 1/2x jR -x jI ... (29) Z I = x jR -1/2x jI ... (30) When a 4 = j, Z R = -x jI ... (31) Z I = x jR ... (32) When a 5 = -1/2 + j, Z R = -1/2x jR -x jI ... ( 33) Z I =x jR −1/2x jI ……(34) When a 6 =−1+j Z R =−x jR −x jI ……(35) Z I =x jR −x jI ……(36 ) When a 7 = -1 + 1/2j, Z R = -x jR -1/2x jI ... (37) Z I = 1/2x jR -x jI ... (38) These calculations are controlled by the control unit 3. Under the signal
It is obtained by shifters 241 and 242, switch 212, and adder/subtractors 221 and 222. That is, the shifters 241 and 242 can obtain 1/2x jR and 1/2x jI by shifting one bit to the right, and the switch 212 changes the inputs of the adders/subtracters 221 and 222 to x jR , x jI , 1/2x jR . Next, addition and subtraction in equations (13) and (14) are as follows:
It is executed separately for the real part and the imaginary part, and the adder 231
and 232 and subtracters 233 and 234. The obtained results y i and y j are buffer memory part 1
x i and x j of are written to the location where they were stored. The result of the processing at the n-th stage, which is the final stage, is a 16-value Walsh spectrum F i that has been subjected to 16-value Walsh transform. Next, FIG. 10 is a block diagram of a third embodiment of the present invention, which is an 8-value Walsh transform device that directly multiplies the matrix A of equation (2), and is a DFT that is one method for obtaining a Fourier spectrum. Find it in the same way as. Now, the element in the k row and i column of the matrix A in equation (2) is
If a ki and X = (x 0 , x 1 , ..., x i , ..., x 2o-1 ), then F k = 2o-1 〓 i=0 a ki・x i ...(39) A multivalued Walsh spectrum F k is obtained by calculating the product sum of a ki and the input time series x i . Here, A=P 1・P 2 ...・P o , so a ki is shown in Figure 3 in the case of 8-level Walsh transformation (1, 1 +
j, j, -1+j, -1, -1-j, -j, 1-j)
It is one of the eight. Therefore, the product in equation (39) can be calculated using an adder/subtractor. First, the signal Cl from the control section 3 clears the accumulators 261 and 262 according to the time chart shown in FIG. Subsequently, input time series data x i is sequentially read out from the buffer memory section in accordance with the signal i varying from 0 to 2 n -1. Here, the multivalued Walsh calculation unit 2
As shown in Figure 2, the real part accumulator 261, the imaginary part accumulator 262, the real part adder/subtractor 251, the imaginary part adder/subtracter 252, and the data It is composed of a switch 213 that inputs input to an adder/subtracter 252, and performs the following eight operations under the control of a control section. Letting the contents of the real part accumulator 261 and the imaginary part accumulator 262 be ACC R and ACC I , respectively, when a ki = 1, ACC R +x i →ACC R ACC I +0 → ACC I , when a ki = 1 + j, ACC R +x i →ACC R ACC I +x i →ACC I a ki When = j ACC R +0 → ACC R ACC I +x i →ACC I a ki When =-1+j ACC R −x i →ACC R ACC I +x i → When ACC I a ki =-1 ACC R −x i →ACC R ACC I −0→ACC I a When ki =-1−j ACC R −x i →ACC R ACC I −x i →ACC I a When ki = -j ACC R +0 → ACC R ACC I -x i →ACC I a When ki = 1-j, switch 213 to perform the calculation ACC R +x i →ACC R ACC I -x i →ACC I and adder/subtractor 25
1 and 252 are controlled. When the signal i becomes 2 n −1, the accumulator 26
The real part and imaginary part of Fk , which is the k-th order term of the multilevel Walsh spectrum, are obtained at 1 and 262, respectively. Next, the fourth embodiment is a 16-value Walsh transform device that directly calculates the sum of products of a ki and the input time series x i according to equation (39). In the case of 16-value Walsh transform, a ki in equation (39) is shown in Figure 4 (1, 1+1/2j, 1 +j, 1/2+j, j, -1/2+j, -1+j, -1
+ 1/2j, -1, -1-1/2j, -1-j, -1/2
-j, -j, 1/2-j, 1-j, 1-1/2j), and the product of equation (39) is obtained using a shifter and an adder/subtracter. For this reason, the multi-valued Walsh calculation unit 2 in the fourth embodiment has a configuration in which a shifter 243 is inserted in front of the switch 214, as shown in FIG. . As in the third embodiment, the following 16 operations are performed under the control of the control section 3.
【表】
2
2
の演算を行うようスイツチ214とシフタ243
と加減算器251と252が制御される。シフタ
27は1/2xiを出力するものである。信号iが2n
−1となつた時アキユムレータ261と262に
多値ウオルシユスペクトラムFkの実部と虚部が
それぞれ得られる。
以上、本発明を実施例に基づき説明したが、こ
れらの記載は本発明の範囲を限定するものではな
い。特に本発明の実施例ではFFTアルゴ リズ
ムとして、入力時系列を逆2進順へ並びかえ、
P1よりPoへ乗算し、正順序に結果を得る方法で
あるが、入力時系列をそのままの順でPT oよりPT 1
を乗算し、結果が2進逆順に得る方法も採用でき
ることは明白である。ここまでに8値、16値ウオ
ルシユ変換について説明したが、8値、16値の拡
張として第4図に示した原点を中心とした単位正
方形上の点を32値、64値…等用いる多値ウオルシ
ユ関数が考えられ、これらはシフタによる1/2、
1/4、…等と加減算によつて求められることは明
白である。[Table] 2
2
The switch 214 and shifter 243
and the adders/subtractors 251 and 252 are controlled. The shifter 27 outputs 1/2 x i . When the signal i becomes 2 n -1, the real part and imaginary part of the multilevel Walsh spectrum F k are obtained in the accumulators 261 and 262, respectively. Although the present invention has been described above based on Examples, these descriptions do not limit the scope of the present invention. In particular, in the embodiment of the present invention, the FFT algorithm rearranges the input time series in reverse binary order,
This is a method of multiplying P o by P 1 and obtaining the results in positive order, but the input time series is multiplied by P T o by P T 1 in the same order.
It is obvious that the method of multiplying , and obtaining the results in binary reverse order can also be adopted. Up to this point, we have explained 8-value and 16-value Walsh transformations, but as an extension of 8-value and 16-value conversion, a multi-value conversion using points on a unit square centered on the origin shown in Figure 4 with 32 values, 64 values, etc. Walsh functions are considered, and these are 1/2 by shifter,
It is obvious that it can be obtained by addition and subtraction such as 1/4, . . .
第1図はウオルシユ変換行列とウオルシユ関数
を示した図であり、第2図は本発明の多値ウオル
シユ関数の関数値を表示した図であり、第3図は
8値ウオルシユ関数の関数値を表示した図であ
り、第4図は16値ウオルシユ関数の関数値を表示
した図であり、第5図は本発明の第1および第2
の実施例のブロツク図であり、第6図は第1の実
施例の多値ウオルシユ演算部2のブロツク図であ
り、第7図は第2の実施例の多値ウオルシユ演算
部2のブロツク図であり、第8図aは第1の実施
例の計算の流れ図であり、第8図bはバタフライ
演算の計算の流れ図であり、第9図は第2の実施
例の計算の流れ図であり、第10図は第3および
第4の実施例のブロツク図であり、第11図は第
3および第4の実施例における制御信号のタイム
チヤートであり、第12図は第3の実施例の多値
ウオルシユ演算部2のブロツク図であり、第13
図は第4の実施例の多値ウオルシユ演算部2のブ
ロツク図である。
第5図、第6図、第7図、第10図、第12
図、第13図において、1はバツフアメモリ部、
2は多値ウオルシユ演算部、3は制御部、20
1,202,203,204はレジスタ、21
1,212,213,214はスイツチ、22
1,222,251,252は加減算器、23
1,232は加算器、233,234は減算器、
241,242,243はシフタ、261,26
2はアキユムレータである。
Figure 1 is a diagram showing the Walsh transformation matrix and the Walsh function, Figure 2 is a diagram showing the function values of the multivalued Walsh function of the present invention, and Figure 3 is a diagram showing the function values of the 8-valued Walsh function. FIG. 4 is a diagram showing the function values of the 16-value Walsh function, and FIG. 5 is a diagram showing the first and second functions of the present invention.
FIG. 6 is a block diagram of the multivalued wallet calculation unit 2 of the first embodiment, and FIG. 7 is a block diagram of the multivalued waterfall calculation unit 2 of the second embodiment. 8a is a calculation flowchart of the first embodiment, FIG. 8b is a calculation flowchart of the butterfly operation, and FIG. 9 is a calculation flowchart of the second embodiment. FIG. 10 is a block diagram of the third and fourth embodiments, FIG. 11 is a time chart of control signals in the third and fourth embodiments, and FIG. 12 is a block diagram of the third embodiment. 13 is a block diagram of the value wallet calculation unit 2;
The figure is a block diagram of the multivalued Walsh calculation unit 2 of the fourth embodiment. Figure 5, Figure 6, Figure 7, Figure 10, Figure 12
13, 1 is a buffer memory section;
2 is a multivalued Walsh calculation unit, 3 is a control unit, 20
1, 202, 203, 204 are registers, 21
1,212,213,214 are switches, 22
1, 222, 251, 252 are adders and subtracters, 23
1,232 is an adder, 233,234 is a subtracter,
241, 242, 243 are shifters, 261, 26
2 is an accumulator.
Claims (1)
値ウオルシユ関数による変換を入力時系列信号に
行なう多値ウオルシユ変換装置であつて、入力時
系列データを保持するバツフアメモリ部と、前記
バツフアメモリ部より読み出されたデータと制御
部より与えられる複素定数とを乗算する多値ウオ
ルシユ演算部と、前記多値ウオルシユ演算部へ複
素平面の単位正方形の各辺を2n(nは自然数)分
割した点の複素数を与え前記バツフアメモリ部と
多値ウオルシユ演算部を制御する制御部を持つこ
とを特徴とする多値ウオルシユ変換装置。 2 前記多値ウオルシユ演算部における複素定数
との乗算を加減算器より構成する特許請求の範囲
第1項記載の多値ウオルシユ変換装置。 3 前記多値ウオルシユ演算部における複素定数
との乗算を加減算器およびシフタより構成する特
許請求の範囲第1項記載の多値ウオルシユ変換装
置。[Scope of Claims] 1. A multi-value Walsh transform device that transforms an input time-series signal using a multi-value Walsh function obtained by converting a Walsh function into a multi-value and complex number, comprising: a buffer memory section that holds input time-series data; a multivalued wallet calculation unit that multiplies the data read from the buffer memory unit by a complex constant given from the control unit; ) A multi-valued Walsh transform device, comprising a control section that gives complex numbers of divided points and controls the buffer memory section and the multi-valued Walsh calculation section. 2. The multi-value Walsh transform device according to claim 1, wherein multiplication with a complex constant in the multi-value Walsh calculation unit is performed by an adder/subtractor. 3. The multi-value Walsh transform device according to claim 1, wherein the multi-value Walsh calculation unit performs multiplication with a complex constant by an adder/subtractor and a shifter.
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58063186A JPS59188778A (en) | 1983-04-11 | 1983-04-11 | Multi-value walsh converter |
| EP84103993A EP0128298B1 (en) | 1983-04-11 | 1984-04-10 | Orthogonal transformer and apparatus operational thereby |
| DE8484103993T DE3482627D1 (en) | 1983-04-11 | 1984-04-10 | ORTHOGONAL TRANSFORMATION AND DEVICE FOR IMPLEMENTING IT. |
| US07/177,799 US4839844A (en) | 1983-04-11 | 1988-04-06 | Orthogonal transformer and apparatus operational thereby |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58063186A JPS59188778A (en) | 1983-04-11 | 1983-04-11 | Multi-value walsh converter |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS59188778A JPS59188778A (en) | 1984-10-26 |
| JPH0148583B2 true JPH0148583B2 (en) | 1989-10-19 |
Family
ID=13221950
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58063186A Granted JPS59188778A (en) | 1983-04-11 | 1983-04-11 | Multi-value walsh converter |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS59188778A (en) |
-
1983
- 1983-04-11 JP JP58063186A patent/JPS59188778A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS59188778A (en) | 1984-10-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4791598A (en) | Two-dimensional discrete cosine transform processor | |
| EP0128298B1 (en) | Orthogonal transformer and apparatus operational thereby | |
| Arai et al. | A fast DCT-SQ scheme for images | |
| JP2909333B2 (en) | Method and system for performing a multiplication-free discrete cosine transform | |
| US4275452A (en) | Simplified fast fourier transform butterfly arithmetic unit | |
| EP0736205B1 (en) | Method and apparatus for performing a fast hadamard transform | |
| US6078938A (en) | Method and system for solving linear systems | |
| JP3577325B2 (en) | Data processing method by discrete cosine transform (DCT), DCT method, and DCT data processing circuit | |
| US4328555A (en) | Apparatus for computing two-dimensional discrete Fourier transforms | |
| CN118981593B (en) | A Fourier transform in-memory computing system and its computing method | |
| JPH0148583B2 (en) | ||
| CN114007079A (en) | Conversion circuit, method, device and encoder | |
| Ibrahim et al. | A fast learning algorithm for Gabor transformation | |
| Falkowski et al. | Complex spectral decision diagrams | |
| Aizenberg et al. | Discrete generalized Fresnel functions and transforms in an arbitrary discrete basis | |
| Rybenkov et al. | 2-D non-separable integer implementation of paraunitary filter bank based on the quaternionic multiplier block-lifting structure | |
| RU2324972C2 (en) | Creator of random module reminder of number | |
| US20250028784A1 (en) | Fourier dot product analog matrix multiplier device | |
| Rybenkov et al. | High performance multiplier-less pipelined FPGA architecture for 2-D non-separable quaternionic filter banks | |
| US5987486A (en) | Apparatus and method for data processing | |
| KR100306745B1 (en) | Half-Band Sub-Band DC / ID Circuits Using LACs and Methods | |
| CN102025988B (en) | Mode-related fast transformation method | |
| Minasyan et al. | On unified architectures for synthesizing and implementation of fast parametric transforms | |
| Mersereau et al. | Row-column algorithms for the evaluation of multidimensional DFT'S on arbitrary periodic smapling lattices | |
| CN117640301A (en) | A channel estimation method, device, equipment and communication base station |