JPH03661B2 - - Google Patents

Info

Publication number
JPH03661B2
JPH03661B2 JP60212035A JP21203585A JPH03661B2 JP H03661 B2 JPH03661 B2 JP H03661B2 JP 60212035 A JP60212035 A JP 60212035A JP 21203585 A JP21203585 A JP 21203585A JP H03661 B2 JPH03661 B2 JP H03661B2
Authority
JP
Japan
Prior art keywords
adder
circuit
input
modulo
ntt
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
Application number
JP60212035A
Other languages
English (en)
Other versions
JPS6186872A (ja
Inventor
Deyuamuru Pieeru
Hooruman Hendoritsuku
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of JPS6186872A publication Critical patent/JPS6186872A/ja
Publication of JPH03661B2 publication Critical patent/JPH03661B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • G06F17/156Correlation function computation including computation of convolution operations using a domain transform, e.g. Fourier transform, polynomial transform, number theoretic transform

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
発明の分野 この発明は、信号のリアルタイム処理を行なう
ための、したがつて、高い計算速度を必要とする
ための装置に関するものであり、形式 Yn=N-1j=0 xK.ho-k の循環たたみこみに変換できるたたみこみ積の計
算を含んでおり、上記式において、n=0,1,
…,N−1,ならびにn−kはモジユロNと考え
られる。 この発明はデイジタル信号処理が必要な設備に
使用するのに適しており、かつ特に、デイジタル
システムおよび伝送チヤネル間にインターフエイ
スを形成するモデムに用いられるようなデイジタ
ルフイルタに重要である。 先行技術 高い処理速度を得ることができるかどうかは、
計算されるべき計算の複雑さを減少させることが
できるかどうかに依る。用いられている従来の解
決法は、x(n)およびh(n)についてのデイス
クリートなフーリエ変換(DFT)およびその結
果の積を計算し、次いでその結果の逆変換を計算
することである。しかし、この解決法は複素数を
用いており丸めの誤差を導く。さらに、進歩した
アルゴリズムが用いられるときでも、(高速フー
リエ変換、ワイノグラツド(Winograd)アルゴ
リズム)、たたみこみの各点ごとに要求される乗
算および加算の数は高いデータの流れのリアルタ
イム処理のためには多すぎる。 もつて有利なように思われる解決法は、数理論
変換(NTT:number theoretic transform)を
用いることにある。たたみこみ積を計算するため
のハードウエアは第1図に示される種類のもので
もよい。NTT回路の入力および出力間の関係は
次のとおりである。 XkN-1n=0 x(n)αnk(mod M) ここで、k=0,1,…,N−1である。 この式において、αはモジユロM1のN乗原始
根である。 NTT-1回路は逆変換を行なう。 NTT変換の、期待できる利点は2種類であ
る。たたみこみが、その値がMよりも小さいこと
を条件として、ノイズを計算することなく、正確
に得られる。もし長いN−モジユロMの対が正し
く選ばれれば、αは非常に簡単であり、たとえ
ば、2に等しい。この場合この変換はもはや一般
的な積を含まず、2進回路におけるシフトによつ
て得られる2kによる乗算のみである。より長い変
換のために、α=√2もまた採用される。再度、
乗算は、加算の数をかなり増やすことなく変換を
行なう部分において抑えられる。しかし、他方で
は、2つの欠点を存在する。すなわち、乗算はビ
ツトレベルで取扱うことによつて置換えられるこ
と、および演算、特に加算はモジユロMで行なわ
れなければならない。詳細に説明すると、そのよ
うな簡略化は、小さな長さの変換、特に、N=4
およびN=3に対して用いられる場合のみ有利で
ある。しかし、現実的には、非常に大きな全長に
ついての変換を行なう必要があり、かつそれはよ
り小さな長さの変換に分割できる変換を用いる必
要がある。 これらの理由を考慮して、NTT演算が、本質
的に、今日まで、2または3個の異なる2のの和
または差から生じるMの値を用いて採用されてい
る。 最初の場合、すなわち、M=2n±1の場合、2
つの公知の変換、すなわち、メルセン
(Mersenne)数変換(MNT)および演算が簡単
なフエルマ数変換(FNT)が用いられる。FNT
のインプリメンテーシヨンは、IEEE トランザ
クシヨンズ、Vol.ASSSP−22,No2,1974年4
月の第87頁ないし97頁のアガーワールほかによ
る、“デイジタルフイルタリングへの応用を伴な
うフエルマ数変換を用いる高速たたみこみ”に述
べられている。しかし、これらの変換は大きなた
たみこみ長Nを許容しない。 第2の場合、現在用いられる演算はモジユロM
整数の原始根として2が用いられることができる
ようにするMの値に対して興味にあるにすぎず、
そのとき M=22q2q+1またはM=22q-1−2q+1 第1の解決法は、高速アルゴリズムを用いて形
成されることができるより小さな長さの変換へ簡
単に分けることができるため好ましい。 これらの解決法は、シフトを簡略化するため、
xにC(x)=x−1を代入する“1だけ減少され
る”コーデイングと組合わせても、不十分であ
る。シフトの複雑さの程度は、M=22q−2q+1
の場合の3つの加算と同じである。 発明の目的 この発明の目的は、形式2p−2q+1のモジユラ
スMで、Pおよびqは整数であり、典型的にはM
はいくつかの演算のたわに有利である特定の形式
22q−2q+1を有する、NTT変換を用いたリアル
タイム処理装置を提供することである。より特定
的な目的は、必要な演算、特にビツトシフトを簡
略化することである。 この目的のため、 入力および出力を有する乗算手段と、 各々が前記入力のうちの1つに関連する、形式
2p−2q+1 のモジユラスMでNTTを行なうための回路と、 前記乗算手段の前記出力に関連するNTT-1
行なうための逆変換回路 とを備えたたたみこみによるデイジタル信号のリ
アルタイム処理のための装置が提供される。 NTT回路の各々の前には、算術底変化および
エンコーデイングを行なうための手段があり、
NTT-1を行なうための回路に続いて、デコーデ
イングおよび元の算術底へ戻すための回路があ
る。元の(2のべき)底における数XモジユロM
に、 X=p-q-1i=0 fixiq-1j=0 ej-q+p(modulo M) …(2) になるように数xp-1…xp-1…x1x0が新しい底に
おいて対応するように、それらの回路が構成され
る。 新しい算術底において、同じ演算回路が次の条
件を満す限り、同じ演算回路に至る値fiおよびej
の数組のうち1組を用いることができる。 (f0,M)=1(すなわち、f0およびMは互いに
素であり、f0は1と、M−1との間にある整数で
ある)、 2fp-q-1e0+f0(mod M)および 2eq-1=−f0(mod M) インデツクスiの他の値に対して 2fi=fi+1,2ei=ei+1である。 簡単であるため便利な2つのケースでは次のと
おりである。 f0=+1;fj=2j j=0,……,p−q−
1 ej=2p-q+j−2 j=0,……,q−1 または、 f0=−1;fj=−2i j=0,……,p−q
−1 ej=2p-q+j−2j j=0,……,q−1 理論的な検討によれば、それはモジユロM整数
の全体に対する算術底であり、任意の数0<x<
Mはまさに2つの表示を有する形式2q−1の数を
除く、新しい底における1個の2進表示を有し、
それは2つの表示がデコードされることができる
限りそれらの回路に対しては何の重要性もない。
この場合、実務上重要なのはp=2q,f0=1であ
り、これらの数の全体は2qの倍数によつて形成さ
れる。 (デコーデイングのみならず)エンコーデイン
グが、底の変化の後または底の変化前に行なわれ
てもよい。しかし、第2の場合、エンコーデイン
グによつて、C(X)=X−f0はXに対応する。こ
の後、f0=1で、エンコーデイングおよび底の変
更が同じ回路で行なわれてもよいことがわかるで
あろう。 例によつて与えられた特定の実施例の以下の詳
細な説明からこの発明はよりよく理解されよう。 実施例の説明 全体としての装置のブロツク図、そして、個々
のブロツクにより満されるべき機能を、この発明
を実現するための特定の回路を説明する前に定義
する。 第2図を参照して、乗算器10の組に至るチヤ
ネルの各々には、入力データXnまたはHn(バイ
トモジユロMで表わされる)が底変更およびエン
コード回路12へ与えられ、かつコード化された
値C(nx)またはC(hn)へ変換される。2つの
動作は任意の順序で行なわれてもよい。たとえば
Xnに対しては、 底変更をまず行ないかつ値Xをxに変換し、次
いででxをC(x)=x−f0へ変換するためエンコ
ードすることができるか、 またはXをC(X)=Xt0へエンコードしかつC
(x)を与える底変更を行なうことができる。 デコードしかつ最初の底へ戻すための回路14
は、f0=1の場合の2つの動作を組合わせること
からなる既に説明した可能性を用いる。 NTTおよびNTT-1変換を計算するための回路
16および18は一般にN=3または4に対応す
る。短い長さの変換を行なう複数個の回路を、必
要な長さを与えるようにそのような変換を組立て
るための回路に関連させる。短い長さの変換を供
給する回路は、好ましくは、回路の設計および製
造を容易にするように少数の形式のオペレータの
中から選ぶことによつて形成される。 引続き、その回路に用いられる基本的コンポー
ネントを説明する。 基本エレメントを組合わせる加算器−減算器ブ
ロツクの複数個の適当な構成: 長さ3および長さ4の変換を発生するための回
路; より大きな長さの変換を得るようにそのような
変換を組立てるための回路: および、最後に、NTTに対して“外部”とし
て考えられることができる回路、すなわち、底変
更、エンコード、デコードおよび一般の乗算のた
めの回路であり、たたみこみ積を計算するために
用いられる。 P=2qの場合の変換に適用できるものとして、
オペレータが説明される。しかし、それらの結果
は、また、一般に、この条件に合わないPおよび
qの他の対の値にもあてはまる。 基本的コンポーネント モジユロM算術加算器−減算器(第4図、第5
図および第5a図)を形成するために用いられる
基本コンポーネントの形式は、可能な限りその数
が小さい。それらは各々qビツトで作動する(ま
たは、qのサブ倍数であるビツト数を各々処理す
るエレメントの関連によつて形成される)。 基本的なコンポーネントは、従来のAND,OR
およびEXCLUSIVE OR(XOR)回路のみなら
ず、論理インバータを含む。これらは、さらに、
基礎的なまたは基本加算器−減算器コンポーネン
ト20を含む。第4図に示す回路では、それらは
加算器−減算器であり、第5図および第5a図の
回路では、それらは“2に対する補数”の数で作
動する加算器−減算器である。用いられる記法が
第3図に現われており、そこでは、xおよびyは
回路の入力へ与えられる数を示し、zは出力に現
われる数を示し、 riは入つてくるキヤリーオーバ(持越)であ
り、 roは出ていくキヤリーオーバ(持越)であり、 Fはワーキングモードを選択するための“フラ
グ”入力であり、たとえば F=0に対して、z=x+y+ri+2q.r0 F=1に対して、z=x+y+ri+2q.r0 ここに用いられる記号xおよびyは加算器およ
び減算器のみの動作を説明するためのものであ
る。それらは、全体のたたみこみ処理の定義に用
いられるものと区別できる。 記号g0およびg1は、次の表に従つて、必要
な動作の異なる形式を得るためのコマンドを示す
ために用いられる。
【表】 各々の演算の結果、C(x)およびC(y)とし
て既にコード化された2つの数xおよびyが入力
に与えられるとき和のコードC(x+y)(または
他の組合わせ)を与えることがわかる。 コード内の加算および減算は唯一の必須のもの
であり、他の演算はシフトに対してのみ有益なも
のであり、この場合モジユロ加算のみが簡略化を
行なう。 第4図を参照して、簡単な加算器−減算器のみ
を実施しながら、表の4つの演算を行なう第1
の回路を説明する。第5図に示す第2の回路は
“2に対する補数”加算器−減算器でこれらの演
算を行なう。コード内で加算および減算を行なう
だけの簡略化されたものを第5図に示す。 加算器−減算器 第4図は4個の簡単な基本加算器−減算器20
−11,20−12,20−13および20−1
4からなる“アウト・オブ・コード”加算器−減
算器の1つの可能な構成を示す。加算器−減算器
は、各々が2qビツトを有しかつまた2qビツトを
有するZを発生する数XおよびYを処理するよう
に構成される。各々の基本加算器−減算器は2個
の入力E1およびE2ならびにキヤリーオーバ入
力riを有する。それは結果出力Sおよびキヤリー
オーバ出力r0を有する。 第4図の回路では、コード加算(コード内での
加算)、モジユロ加算、コード減算、モジユロ減
算のような演算のどれかがデータXおよびYにつ
いて行なわれることができる。 行なわれるべき演算は、適当なレベルgをフラ
グ入力Fへ与えることによつてかつ適当な2進
(論理)レベルPを、基本加算器−減算器20−
12のキヤリーオーバ入力riへ与えることによつ
て選択される。 XのおよびYのq個のLSBは、それぞれ、基
本加算器−減算器20−12の入力E1およびE
2へ与えられ、XのかつYのMSBは、それぞれ、
基本加算器−減算器20−12の入力E1および
E2へ与えられる。加算器−減算器20−12の
出力roは、加算器−減算器20−11の入力riお
よび加算器−減算器20−14の入力riへ与えら
れる。加算器−減算器20−11のキヤリーオー
バ出力r0は加算器−減算器20−13および20
−14のフラグ入力Fへ与えられる。加算器−減
算器20−13の出力SはZのq個のMSBを供
給し、加算器−減算器20−14の出力SはZの
LSBのq−1を与える。最後に、ZのLSBは
EXCLUSIVE NORゲート54によつて供給さ
れ、このゲート54の入力は加算器−減算器20
−13および20−14のr0出力を受ける。これ
らの2つの加算器−減算器はキヤリーオーバの伝
搬である演算を行なうことに注目すべきである。
同一の基本ブロツクの使用が本質的に望まれない
程度で、エレメントの20−13および20−1
4をかなり簡略化してもよい。 このように、出力Zは次の表によつて得られ
る。
【表】 第5図の回路によれば、表で規定される関数
の全体は、たとえば、q=12で、qビツトの数に
よつて構成される入力信号について行なわれるこ
とができ、かつまた汎用の加算器−減算器が形成
されるが、今回は、“2に対する補数”記数で作
動する基本加算器−減算器を用いている。必要で
あれば、“2に対する補数”の基本加算−減算コ
ンポーネント20が、“2に対する補数”の各々
4ビツトで作動する直列の3個のエレメントを配
置することによつて形成されてもよい。 第5図の回路は4個の基本加算−減算コンポー
ネント20−1,20−2,20−3および20
−4を含み、これらのフラグ入力はそれぞれF
1,F2,F3およびF4で示される。これらの
加算器は、機能AND(Λで示される)、OR(Vで
示される)およびEXCLUSIVE OR(で示され
る)を行なう回路に関連する。回路を調べた結
果、F1=F2=g1であり、フラグF3およびF4の値
は F3=F4=g1(q−1 Λ r2q−1 Λ
gO)である。 このとき、出力U1およびU0は次の値をとる。 U1=O Λ rq−1 Λ 2q−1 U0=rq−1Or2q−1 このように、回路を出力として、zの値は、
2qビツトとしてgOおよびg1の各対の値ごとに、
すなわち、qLSBおよびqMSBごとに表1によつ
て与えられて得られる。 式(2)によつて規定される底を用いることによつ
て、唯一の回路図は表によつて規定される変換
を計算するために必要なモジユロM加算および減
算の4つの形式を計算するために用いられる必要
がある。 4個の加算器−減算器40は2個の層に分布さ
れる。第2の層は第1の層よりも、モノリシツク
集積化によつて形成するのがより簡単であり、第
2の層の基本加算−減算コンポーネント23およ
び24の各々に与えられる信号の1つはせいぜい
2ビツトのワードである。 第5図に示す図面に代わつて、第5a図の図面
が用いられてもよいが、変換コードで実行される
加算−減算を行なうためだけであり、これは表
の第2および第4行によつて規定される演算を含
んでいない。 すべてのフラグに対して、第5a図の回路は1
個の値gを使用しているだけであり、これは表
のg1の2つの値をとるかもしれない。この1個
の値はその表におけるg=0に対応するすべての
機能を満すのに十分なものである。 この簡略化した回路はその制限にもかかわらず
多くの場合に十分であるということがわかるであ
ろう。 ANDおよびEXCLUSIVE ORのカスケード接
続された構成はzのLSBを形成するのに全く本
質的なものではないということを説明しなければ
ならず、20−4のrO出力にEXCLUSIVE OR
機能、20−3のrO出力の補数および20−4
の結果出力のLSBを与える任意の他の構成は用
いられることができる。 これから説明しかつ第5図および第5a図に示
される種類のブロツクから長さ3および4の変換
を発生するための回路を示す図面では、入力g0
およびg1は簡略の目的のために示されてなく、
g0およびg1に与えられる値だが示される。 コード化されたワードについてかつ他の底にお
ける変換の後長さ3および4のNTTを詳細に説
明するための回路 第6図を参照して、回路は、前もつてエンコー
ドされかつ新しい底C(x0),C(x1)およびC
(x2)に変換された3つの数から長さ3のNTT
を与える。この回路はq個のMSBおよびq個の
LSBを別々に処理する。それは入力信号C(x0),
C(x1)およびC(x2)の反転を含まないので、
特に簡単である。異るオペレータによつて行なわ
れる演算を適当に選択することによつてこの結果
に達した。後者は、第4図におけるまたは第5図
または第5a図のいずれかに示される形式の回路
であつてもよい。 長さ3の変換はこのように、2個の層に分布さ
れた7個のモジユロM加算器のみを用いることに
よつて得られ、その結果基本コンポーネント20
の4個の層ができる。同じ長さのFFTを計算す
れば、複素数について各々演算する3個の加算器
の2つの層および乗算器の1つの層を必要とする
であろうし、より遅くなりはるかに複雑となつた
であろう。 第7図は、第6図と同様に、長さ4の数理論変
換を行なうための回路を示す。この回路もまた、
入力信号反転のための必要性を除去するように構
成されている。再び、すべての基本加算器−減算
器コンポーネントは、第4図および第5図の汎用
の加算器−減算器か、または第5a図の簡略化さ
れたもののどちらでもよい。さらに簡略化するた
めに、2qビツト接続およびqビツト接続は第7
図では異なつて示されていない。第7図を参照し
て、加算器−減算器22−1の2qビツト出力は
各々q/2ビツトの4個の部分に分けられる。2
つの最下位出力s0およびs1は加算器−減算器22
−5の加算入力へ、異なる構成で与えられる。最
上位出力s2およびs3は同様にして、加算器−減算
器22−5の加算入力および加算器−減算器22
−5の減算入力へ与えられる。q/2ビツトの第
4の組は1からなる。 長さ3および4の変換をより大きな長さの変換
に組立てるための回路 数の理論変換を組立てるための手順が知られて
いる。このような手順はFFTを組立てるための
回路に用いられる。変換を組立てるために必要な
演算は、本質的には、2および√2による乗算で
ある。しかし、この手順は、これから説明する回
路からも明らかになるように、本願発明の場合で
はかなり簡略化される。 1の根として2を用いる或るモジユールMおよ
び長さMの対が特に興味ある。ISCASSP,1983
のエイチ・ホルマンほかの論文“1”の根として
2を持つより長いNTT”に与えらるものが例と
して引用できる。 第8図を参照して、回路23はC(x)から始
まるC(2k.x)を与える。物理的には、この演
算は各々が2による乗算に対応する基本的なシフ
トによつて行なわれる。対応の回路は、第5a図
に示される簡略化された構成を有しなくてもよい
加算器−減算器24を含む。加算器24の2つの
入力はC(x)の最下位ビツトおよび最上位ビツ
トの組合せを受け、これはインバータ28への再
循環ループを持つレジスタ26へ導入される。2k
により乗算されるべき2qビツトのバイトが並列
に、入力(図示せず)に与えられる2つの端部部
分へロードされ、k個の連続するシフトがレジス
タで行なわれる。加算器−減算器24はモジユロ
M加算の結果を与える。 加算器−減算器24の入力へ与えられる4個の
半ワードのは第8図のものとは異なる方法で組合
わせられる。第9図は、他の実施例を構成しかつ
第8図におけると同じコンポーネント24,26
および28を含む回路23を示す。 第10図を参照して、他の実施例が、第5図に
示される形式の簡略化された加算器−減算器で実
現される。しかしながら、それはさらに2つのイ
ンバータ30を必要とする。 第8図、第9図および第10図のシフトレジス
タ26はk(シフト数)の値に応答して制御され
る、マルチプレクサによつて物理的に形成され、
したがつてk位置のシフトは1個のクロツクパル
スに応答して行なわれその結果時間の節約とな
る。 Nのの或る値に対し√2回路による乗算を行な
う必要があるだけであり、これは1のN乗根とし
て√2を用いることになる。たとえば、P=2q,
N=6qに対して、 N√1=√2=2N/8(2N-4−1)モジユロM この場合、底の変化のため、√2による乗算の
通常の方法と比較して、1回の加算ステツプが節
約される。乗算は第11図の回路32によつて行
なわれてもよく、かつ上述した簡略化された形式
のものでもよい2つの加算器−減算器24を用い
る。 コードワードC(x)はすべて同じ長さを有す
る8個の部分x0,…,x8に分割される。これら
の部分は“イン・コード”減算器24の入力へ再
分布される。第11図のブロツク図を容易に読む
ために、接続は示されてなく、入力へ与えられる
ワードは次のとおりである。 第1減算器 +入力:x2 x1 x0 1 1 x7 x6 x5 −入力:x6 x5 x4 x7 x6 x5 x4 x3 第2減算器 +入力:第1加算器の出力 −入力:x4 x3 x2 x1 x0 x3 x2 x1 NTTおよびNTT-1に対する外部回路 処理装置は、変換計算回路に加えて、回路12
および14(底変更、エンコーデイングおよびデ
コーデイング)ならびに一般の乗算回路10を含
む。 例によれば、式(2)によつて定義されるような底
変更がf0=−1で行なわれるときに適当な回路を
説明する。底変更およびエンコード回路は、非常
に簡単なものでもよい、なぜならば2つの演算の
みが、2の連続するべきの通常の底の2進数の
“2に対する補数”から、新しい底において表わ
されるコード化された数への変換からなる、ただ
1回の演算を形成するからである。 第12図および第13図は、処理されたすべて
の信号が正である場合における底変更およびエン
コーデイングのための2つの回路を示す。この条
件は、一定値を入力信号に加えることによつて容
易に満される。 第12図を参照して、この回路は、コマンド
g0=1が与えられる加算器−減算器24を含む。
この回路は結果的には第5a図に示される形式の
ものではあり得ない。入力のうちの1つは、C
(x)としてコード化されるべき値Xを受ける。
他の入力はMSBとしてq個の0を受け、かつ
LSBとしてxのq個の最上位の数字を受ける。
C(x)の反転が加算器−減算器24の出力に現
われ、かつC(x)はインバータ34で回復され
ることができる。それゆえに、この回路は1個の
加算器−減算器、2q個のインバータおよびXの
ビツトを再分布させるための手段のみを必要とす
るだけである。その結果は、ワードの“アウト・
オブ・コード”加算によつてかつその結果の補数
を計算することによつて得られる。 第13図に示される変形実施例は、第5a図に
示される簡略化された形式のものでもよい加算器
−減算器24を含む。この実施例の入力エレメン
トは、それらの出力で、Xの補数を与える1組の
インバータ36からなる。この補数は加算器−減
算器24の入力のうちの1つへ与えられる。他の
入力は、最上位ビツトとして、q個の“1”を受
け、かつ最下位ビツトとして、前記補数のq個の
最上位ビツトを受ける。結果C(x)は、次いで、
加算器24の出力で直接得られる。 エンコーデイングおよび底変更はXがq個以下
のビツトについてコード化された場合のみ補数で
あろう。しかし、Xを正または0にするため定数
を入力信号に加えるので、この条件は一般に満さ
れないであろう。 qビツトまたはそれ以下のビツトについて2に
対する補数としてXが与えられているものと想定
する場合、エンコーデイングおよび底変更は非常
に簡単な1回の演算を形成し、レジスタにおける
符号ビツトの伝搬によつて、2q個のビツトにわ
たりXを拡大し、次いで、そのようにして得られ
たレジスタの内容の補数をとるのに十分である。 新しい底においてコード化された数から、スタ
ートした底(2のべきの底)における2の補数と
してコピー化された数へ移すための回路もまた簡
単な方法で達成される。この演算は、第2図の反
転数理論変換NTT-1の結果C(y)について回路
14によつて行なわれる。 Yは正の2進数または0である場合、回路は第
14図に示されるものでもよい。これは入力信号
C(y)の補数をとるための1組のインバータ3
8と、従来の減算器40とを含む。減算器の+入
力はC(y)の補数を受ける。−入力は最上位ビツ
トとしてq個の0を受け、かつ最下位ビツトとし
て、C(y)の補数の4個の最上位ビツトを受け
る。 2に対する補数の形式のYを持つのが望まれる
程度で、回路は第15図のものでもよい。これ
は、この入力が0か1であるかどうかに依存し
て、2個の異なる動作モードを許容するフラグ入
力Fを有する加算器−減算器42を含む。加算器
−減算器42の+入力はインバータ44によつて
詳細にされた信号C(y)の2に対する補数を受
ける。他の入力は最上位ビツトとしてq個の0を
受け、最下位ビツトとして、2対1(two to
one)のマルチプレクサ46の出力を受ける。マ
ルチプレクサの入力のうちの1つはC(y)の最
上位ビツトを受け、他方はインバータ48によつ
て詳細に示されたqビツトのこの数の補数を受け
る。符号を表わす、C(y)の最上位ビツトは入
力Fおよびマルチプレクサ46の制御入力へ与え
られる。 この符号ビツトが0にあるとき、それは、加算
器−減算器42の第2の入力へ印加されるC(y)
の最上位ビツトであり、かつ行なわれる演算はC
(y)の加算にありかつC(y)のq個の最上位ビ
ツトからなり、それに対して最下位の重み付けが
割当てられる。加算器−減算器は、次いで、加算
モードになる。 それに対して、C(y)の最上位ビツトが1に
等しい場合、マルチプレクサの出力はC(y)の
最上位ビツトの補数によつて形成され、かつ加算
器−減算器42は減算モードで機能する。出力Y
は、C(y)と、C(y)のq個の最上位ビツトと
の間の差によつて形成され、最下位の重みに対し
て割当てられる。 底変更およびデコーデイング回路のさらなる変
更は、コードにおけるモジユロM加算−減算を用
いて可能である。 第16図および第17図は第15図に示される
もののバリアントを形成する2個の他の回路を示
し、C(y)から2の補数としてYを得かつおそ
らく、第3図に示される種類の基本加算器−減算
器を用い、かつそれはフラグFの状態によつて、
その出力に次のものを供給する。 F=0に対して、x+y+ri F=1に対して、x++ri 2q個のビツトの数について演算が行なわれる。 第16図の場合、C(y)はF=1に対して減
算入力へ与えられ、かつフラグが1セツトされ
る。C(y)(最上位ビツト)の符号ビツトがキヤ
リーオーバ入力riとして与えられる。この同じ符
号ビツトは、4個の最上位ビツトの値として、基
本加算器−減算器の加算入力へ与えられる。 第17図の場合、それはフラグ入力Fへ与えら
れるC(y)の符号ビツトである。 加算器−減算器20によつて行なわれる演算は
フラグFが0のときは加算であり、フラグが1の
ときは減算である。C(y)のビツト符号が0に
等しければその出力に、Y=C(y)が得られC
(y)のq個の最上位ビツトはYの最下位の重み
へもたらされる。マルチプレクサ50の出力は、
事実、C(y)のq個の最上位ビツトによつて形
成される入力である。 逆に、C(y)の符号ビツトが1に等しければ、
YはC(y)によつて形成され、このC(y)か
ら、最下位の重みへもたらされるC(y)のq個
の最上位ビツトが減算される。マルチプレクサの
出力は、次に、事実、この場合、インバータ52
を介してq個の最上位ビツトを受けるものであ
る。 最後に、一般の乗算を行なうに必要な第2図の
回路10は、項ごとに、 N個の入来ワードXnのN個の変換されたワー
ドによつて形成される乗算と、 N個の入来するワードHnから変換されたN個
のワードによつて形成されるN個の乗算器 との間でN個の乗算を行なうようになされなけれ
ばならない。 これらの乗算は連続する加算およびシフトの周
知な技術を用いることによつて行なわれてもよ
い。しかし、2の任意のモジユロMべきによる乗
算のために既に規定された簡単なオペレータ(第
8図、第9図および第10図)およびモジユロM
√2による乗算のための演算(第11図)を用い
るとより有利である。“一般化された加算−シフ
トの方法”として権限を与えられる処理手順によ
つてこの結果に達することができ、これについて
は今ここで説明する。2つの数XおよびHが互い
に乗算されるべきときかつHが固定されるとき、
Hはいくつかの項に分けられる。 H=ki=1 (√2)iモジユロM Hの項は次のような形式に構成されてもよい。 H=ji=1 2ki√2+ki=j+1 2ki 回路は、概略的に第18図に示されるものでも
よく、ここでは、頂部部分は、上述の方程式の第
1項に対応する。 Kは、この場合、符号が通常の計算のために割
当てられる2進数の形式の表示における場合より
もはるかに小さいかもしれないということに注目
すべきであり、上記2進数に対して符号が通常の
計算のために割当てられる。 この発明は、コンポーネントの構成に関するの
みならず、その関連に関する種々の数多くのバリ
アントをも受けやすい。 あらゆる場合において、基本回路は非常に大き
な汎用性を呈示しており、前述したモジユロM加
算器−減算器はf0の選ばれたどのような値でも用
いられ得る。このように、現行のエレメントに加
えて用いられるだけのブロツクが得られる。コー
デイング−底変更および開始底へのデコーデイン
グ−復帰回路のみがf0のために選ばれた値に依存
する。加算器−減算器もシフトエレメントもいず
れも全体の変換長さには依存しない。それらは単
に選ばれたモジユロMに依存するにすぎない。全
体の変換長さには依存しない。それらは単に選ば
れたモジユロMに依存するにすぎない。全体の変
換長さに依存して変形されるべき唯一のエレメン
トは、小さな長さの変換を再結合するための回路
であり、この回路はこの場合2および√2による
乗算を行なうための回路から形成され、それは最
も頻繁であり2または√2がモジユロM1のN乗
根としてとられる。
【図面の簡単な説明】
第1図はNTT回路を用いてたたみこみ積を計
算するための装置の既に説明された一般的な図で
ある。第2図は、第1図に類似するものであり、
通常の2進底(2の連続するべき)で表現され
た、モジユロM数に対応する、2個の入力信号X
およびHと、出力信号Yで作動しかつXおよびH
の循環たたみこみを与えるための信号処理装置を
示す。第3図はこの装置の異なる回路に用いられ
る基本加算器−減算器の入力および出力を示すた
めに用いられる記法を示す図である。第4図およ
び第5図は汎用の加算器−減算器のブロツク図で
あり、第5図のそれは“2の補数”について作動
するいくつかの基本加算器−減算器を関係付け
る。第5a図は、第5図に類似して、簡略化され
た構成を示す。第6図および第7図は、それぞれ
長さ3および4のNTT回路のブロツク図であ
る。第8図は小さな長さの変換を再結合するため
の回路に使用するため“インザコード”で2によ
る乗算のための回路のブロツク図である。第9図
および第10図は第8図の変形を示す。第11図
は短い変換を再結合するための回路に用いるため
“コードにおける”√2による乗算を行なうため
の回路のブロツク図である。第12図および第1
3図はC(x)をXに対応させる2個の可能なエ
ンコーデイングおよび底変更回路を示すブロツク
図である。第14図は、第12図および第13図
に類似するものであり、デコーデイングおよびも
との底へ戻すための回路の一般図であり、YをC
(y)に対応させている。第15図は、第14図
に類似するものであり、“2の補数”としてYを
与える、デコーデイングおよび最初の底へ戻すた
めの回路を示す。第16図および第17図は第1
5図の変形のブロツク図である。第18図は第3
図の装置に用いるために適した一般的な乗算回路
の全体的ブロツク図である。第12図ないし第1
7図はすべてf0=1の場合に対応するものであ
り、エンコーデイング(それぞれデコーデイン
グ)演算および底変更(それぞれ最初の底へ戻
す)演算が同じ回路で行なわれている。 図において、10は乗算器、12は底変更およ
びエンコーデイング回路、14はデコーデイング
および最初の底へ戻すための回路、16および1
8はそれぞれNTTおよびNTT-1変換を計算する
ための回路、26はシフトレジスタ、30はイン
バータ、24は加算器−減算器を示す。

Claims (1)

  1. 【特許請求の範囲】 1 たたみこみによるデイジタル信号のリアルタ
    イム処理のための装置であつて、 (a) 入力および出力を有する乗算器手段と、 (b) 2p−2q+1の形式のモジユラスMでNTTを
    行ない、各々が前記入力のうちの1つに関連し
    て前記入力の関連するものへ前記NTTを分け
    与えるための回路と、 (c) 前記乗算手段の前記出力に関連するNTT-1
    を行なつて前記出力のNTT-1変換を与えるた
    めの逆変換回路と、 (d) 前記NTT回路の各々に関連して算術底変更
    およびエンコーデイングを行ない、入力デイジ
    タル信号を受けかつ対応するエンコードされた
    信号を前記NTT回路の関連のものへ分配する
    ように接続される手段と、 (e) 前記回路の出力の元の算術底へ戻しかつデコ
    ードするための手段とを備え、前記手段は、も
    との(2のべき)底における前記入力信号のう
    ちの1つを示す数XモジユロMに対して、新し
    い底において、 X=p-q-1i=0 fixiq-1j=0 ej.xj-q+p(モジユロM) …(2) になるように数Xp-1…Xp-2X1X0が対応しここ
    で、f0は1からN−1の整数でありかつ、fiおよ
    びeは次の条件、すなわち、 2fp-q−1=e0+f0(mod M)および 2eq-1=−f0(mod M) インデツクiの他の値に対しては2fi=fi+1,2ei
    =ei+1を満す、 リアルタイム処理のための装置。 2 前記NTT回路の各々は複数個のブロツクか
    らなり、その各々は長さ3または4のNTTおよ
    び再結合ブロツクを与える、特許請求の範囲第1
    項記載の装置。 3 NTT回路の各々は式22q−2p+1を有するモ
    ジユロMを用いかつ単位モジユロMのN乗原始根
    として2または√2を用いるように構成される、
    特許請求の範囲第1項記載の装置。 4 前記底変更およびエンコーデイング手段は同
    じ回路で実施されかつコード変更においてf0=1
    である、特許請求の範囲第1項記載の装置。 5 前記NTTおよびNTT-1回路の各々およびデ
    コーデイングおよび底変更のための前記手段は
    各々少なくとも、コード内で、簡単な加算/減算
    および加算、次いで加算/減算を行なうための同
    一のモジユロMの基本加算器−減算器の関連から
    なる、特許請求の範囲第1項記載の装置。 6 コード内で2個のモジユロM加算を行なうた
    め構成された√2による乗算のための回路をさら
    に含む、特許請求の範囲第3項記載の装置。 7 モジユロMコードにおける1個の加算器の入
    力へ、または簡単なモジユロMの入力へまたは簡
    単なモジユロM加算器の入力へ接続された出力を
    有するシフトレジスタからなる2kによる乗算のた
    めの回路を含む、特許請求の範囲第3項記載の装
    置。 8 各々のNTT回路は長い長さN=3を有し、
    かつ第1および第2の層へ分布された7個のモジ
    ユロM加算器からなり、前記第1の層はエンコー
    ドされかつ新しい底に変更された3個の数の
    LSBおよびMSBの異なる組合わせを受ける4個
    の加算器を有し、前記第2の層は第1の層の加算
    器の出力の異なる組合わせを受ける2個の加算器
    を有する、特許請求の範囲第1項記載の装置。 9 N個の入力ワードXnの変換から生じるN個
    のワードC(−X)と、 N個の入力ワードHnから生じるN個のワード
    からなるN個の乗算フアクタ との間でN個の乗算を行なうための乗算回路を有
    し、 前記乗算回路の各々はC(X)で、√2の連続
    するべきの算術底のHnの分解の項を乗算するた
    めの手段と、乗算手段の出力を受けるための加算
    手段と、√2で加算器手段の出力を乗算するため
    の回路とを含む、特許請求の範囲第1項記載の装
    置。 10 デコーデイングおよび最初の底へ戻す回路
    は負の入力に2q個のビツトを有する変換C(y)
    を受けるように接続された加算器−減算器回路か
    らなり、 MSBはキヤリーオーバ入力についての変換C
    (y)の符号ビツトを構成し、 前記符号ビツトは正の入力のMSBにあり、 変換C(y)のLSBはその正の入力のLSBにあ
    り、 それによつて前記加算器−減算器は、2つ補数
    としてその最初の底へデコードされかつ戻された
    後、その出力にその数を分配する、特許請求の範
    囲第1項記載の装置。 11 コードの外のまたはコード内の各加算器−
    減算器は、単独で、加算およびキヤリーアウトを
    行なうための手段を含む、特許請求の範囲第5項
    記載の装置。 12 2q個のビツトを有する数を処理するため
    の、かつ2q個のビツトからなる数を分配するた
    めの装置であり、2個のビツトについて作動しか
    つMSBおよびLSBの異なる組合わせを受けるよ
    うに接続された4個の簡単な加算器−減算器と、
    XNOR出力回路とを備えた、特許請求の範囲第
    11項記載の装置。
JP60212035A 1984-09-24 1985-09-24 たたみこみによるデイジタル信号のリアルタイム処理のための装置 Granted JPS6186872A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR8414624A FR2570853B1 (fr) 1984-09-24 1984-09-24 Dispositif de traitement en temps reel de signal numerique par convolution
FR8414624 1984-09-24

Publications (2)

Publication Number Publication Date
JPS6186872A JPS6186872A (ja) 1986-05-02
JPH03661B2 true JPH03661B2 (ja) 1991-01-08

Family

ID=9307996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60212035A Granted JPS6186872A (ja) 1984-09-24 1985-09-24 たたみこみによるデイジタル信号のリアルタイム処理のための装置

Country Status (4)

Country Link
US (1) US4788654A (ja)
EP (1) EP0175623A1 (ja)
JP (1) JPS6186872A (ja)
FR (1) FR2570853B1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179529A (en) * 1989-03-31 1993-01-12 Hughes Aircraft Company High speed fourier transform engine
GB2238893A (en) * 1989-12-08 1991-06-12 Philips Electronic Associated Convolution apparatus
GB2238892A (en) * 1989-12-08 1991-06-12 Philips Electronic Associated Convolution apparatus
FI111592B (fi) * 2001-09-06 2003-08-15 Oulun Yliopisto Menetelmä ja laite peräkkäisten kuvien koodaamiseksi
US8500108B2 (en) * 2009-08-13 2013-08-06 John E. Rode Stackable belleville spring
US20210073316A1 (en) * 2019-09-09 2021-03-11 Facebook, Inc. Number-theoretic transform hardware

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2308143A1 (fr) * 1975-04-16 1976-11-12 Ibm France Dispositif generateur de fonction de convolution discrete et filtre numerique incorporant ledit dispositif
US4181968A (en) * 1978-06-14 1980-01-01 The United States Of America As Represented By The Secretary Of The Army Method and apparatus for forming convolutions of two complex number sequences using the fermat number transform
US4216475A (en) * 1978-06-22 1980-08-05 The United States Of America As Represented By The Secretary Of The Army Digital beam former

Also Published As

Publication number Publication date
EP0175623A1 (fr) 1986-03-26
FR2570853B1 (fr) 1987-01-02
FR2570853A1 (fr) 1986-03-28
US4788654A (en) 1988-11-29
JPS6186872A (ja) 1986-05-02

Similar Documents

Publication Publication Date Title
Sam et al. A generalized multibit recoding of two's complement binary numbers and its proof with application in multiplier implementations
JPH076161A (ja) 周波数から時間領域への変換方法及び装置
US4366549A (en) Multiplier with index transforms modulo a prime or modulo a fermat prime and the fermat prime less one
US5164724A (en) Data format converters for use with digit-serial signals
US5016011A (en) Increased performance of digital integrated circuits by processing with multiple-bit-width digits
JPH03661B2 (ja)
US20110270902A1 (en) Efficient Multipliers Based on Multiple-Radix Representations
JP3256251B2 (ja) 乗算器
US6816877B2 (en) Apparatus for digital multiplication using redundant binary arithmetic
US6938062B1 (en) Apparatus and method for providing higher radix redundant digit lookup tables for recoding and compressing function values
US5034908A (en) Digit-serial transversal filters
US5912904A (en) Method for the production of an error correction parameter associated with the implementation of modular operations according to the Montgomery method
EP1455270A2 (en) Method and apparatus for basis conversion in finite field and a multiplier
US4584563A (en) Method of residue to analog conversion
JPH0540608A (ja) テーブルルツクアツプ乗算器及びその乗算方法
JPS5841532B2 (ja) セキワケイサンカイロ
US4942396A (en) To-digit-serial converters for systems processing data in digit-serial format
JP3210420B2 (ja) 整数上の乗算回路
JP2606326B2 (ja) 乗算器
JP3129525B2 (ja) 整数上の乗算回路
EP0067862B1 (en) Prime or relatively prime radix data processing system
Nussbaumer Linear filtering technique for computing Mersenne and Fermat number transforms
US4584562A (en) Method of residue to analog conversion
SU1698886A1 (ru) Устройство дл умножени полиномов над конечными пол ми GF(2 @ )
SU1116427A1 (ru) Множительное устройство