JP4035195B2 - デジタル信号処理の方法および装置 - Google Patents

デジタル信号処理の方法および装置 Download PDF

Info

Publication number
JP4035195B2
JP4035195B2 JP05674497A JP5674497A JP4035195B2 JP 4035195 B2 JP4035195 B2 JP 4035195B2 JP 05674497 A JP05674497 A JP 05674497A JP 5674497 A JP5674497 A JP 5674497A JP 4035195 B2 JP4035195 B2 JP 4035195B2
Authority
JP
Japan
Prior art keywords
rns
hot
input
format
encoded
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 - Fee Related
Application number
JP05674497A
Other languages
English (en)
Other versions
JPH1032493A (ja
Inventor
アール. ウェルランド デイビッド
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.)
Cirrus Logic Inc
Original Assignee
Cirrus Logic Inc
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 Cirrus Logic Inc filed Critical Cirrus Logic Inc
Publication of JPH1032493A publication Critical patent/JPH1032493A/ja
Application granted granted Critical
Publication of JP4035195B2 publication Critical patent/JP4035195B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/18Conversion to or from residue codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/729Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic using representation by a residue number system

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、デジタル信号を処理する方法および装置に関する。
【0002】
【従来の技術】
デジタルフィルタ等のデジタル信号処理回路のアーキテクチャは、当該分野において様々なものが公知である。これらのアーキテクチャは、そのほとんどが従来の2進数記数方式によってパラメータおよび信号を表すものであるが、中には、剰余数記数方式(Residue Number System)(以下、RNS)を用いてパラメータおよび信号の両方を表すものもある。RNS表記の利点は、フィルタ処理および信号検出等において基本的な演算である乗算、加算および減算等の演算が非常に高速に行えることである。これは、2進数記数方式とは対照的に、上記演算の際にキャリーが不要である(桁間の繰り上げ/繰り下げを行う必要がない)ことに起因する。従来の記数方式に対するRNS方式の利点は、この処理速度に関する利点であることが文献に報告されている。
【0003】
RNS表記の場合、ある数Xは、以下のように、それぞれ範囲が限定された複数の桁によって表される。
【0004】
X=xma、xmb、...、xmN
但し、
X=整数
であり、xma、xmb、...、xmNは、整数XをRNS表記した場合のそれぞれの桁である。また、
ma=Xmod(ma)=(Xをmaで割った余り)
であり、この余りはmaよりも小さい。また、
mb=Xmod(mb)=(Xをmbで割った余り)
である(Xmc以降も同様)。さらに、ma、mb、...、mNは、整数XをRNS表記したときの各桁に関連するモジュラス(整数)であり、各モジュラスの値は異なる。
【0005】
これらのモジュラスが互いに素である場合、即ち、どのモジュラスでも割り切れる最小の数が全モジュラスの積に等しい場合、任意のRNS形式X=xma、xmb、...、xmNで個別に表記できる数の範囲はma×mb×...×mNである。ここでは、1つのモジュラスが繰り返して用いられることはないものとしている。但し、偶数や完全平方の可能性を排除するものではない。例えば、3、4、5の場合、4は偶数且つ完全平方であるが、3、4、5の全てで割り切れる最小の数は60であるから、3、4、5は互いに素である。
【0006】
上記方法の一例として、表1に示されるRNSの例について考察を行う。この例では、各整数は3つのRNS桁x3、x5、x7によってRNS表記される。各桁の添字は関連するモジュラスの値である。この3、5、7RNSでは、3×5×7=105個の個別の整数を区別することができる。表1から分かるように、0〜104の範囲内ではRNS表記の繰り返しはないが、この範囲を105以上に拡張する場合には、このシーケンス全体が繰り返される。
【0007】
【表1】
Figure 0004035195
【0008】
RNS方式の動作の例として、整数14を考える。x3桁は、14mod(3)=余り2(即ち、14/3=4余り2)、x5桁は、14mod(5)=余り4(即ち、14/5=2余り4)、x7桁は、14mod(7)=余り0(即ち、14/7=2余り0)である。RNS表記においては、どの桁も他の桁を参照せずに決定される。
【0009】
この3、5、7RNS表記を用いて105〜209の数を個別に表すこともできる。しかし、105〜209の範囲の中の任意の2数の加算、減算および乗算の結果はいずれも105〜209の範囲外の値になってしまう。そのような場合、本発明のスキームをデジタル信号処理に使用できなくなる。しかし、デジタル信号処理に関して特に注目すべきことは、負の数の導入である。負の数を導入する際には、RNS方式で表記可能な数の範囲を制限して、正と負の数が同数あるいは実質的に同数になる様に選択し、処理されるほとんどの信号の平均値が実質的に0となるようにあるいは0にできるようにする。このような3、5、7RNS方式の割り付けの一例を表2に示す。このRNSによっても、−52〜+52の105個の数が個別に表記できる。但し、53以上および−53以下では、表記が繰り返される。また、RNSにおいては、数の正負に応じて別の符号を付けるのではなく、RNSの方式および範囲を選択した時点で、それらの桁自身によって符号が決まる。最後に、ある整数をRNS形式で表した場合、その整数に対するRNS表記の桁が1つでも欠けていれば、その整数の符号さえも決定できなくなる。
【0010】
【表2】
Figure 0004035195
【0011】
RNS加算を行う場合、2つのRNS数の対応するRNS桁同士を加算し、それぞれの和に適切なモジュロ演算を行う。
【0012】
Figure 0004035195
ここで、3mod(3)=0且つ7mod(5)=2である。よって、和375の(当該RNS方式による)RNS数は025となる。これは、整数12を表している(表2参照)。
【0013】
減算についても同じ手順で行うが、「残差」にモジュラスを加えて「残差」を0〜(各モジュラス−1)の範囲内の値にする必要がある。
【0014】
Figure 0004035195
ここで、適切なモジュラス7を−5に加えると、「残差」は2となる。よって、+8から+13を引いた(当該RNS方式による)RNS数は102となる。これは、整数−5を表している(表2参照)。
【0015】
負の数を扱う加算の場合も、正の数の加算と同様の手順で行う。
【0016】
Figure 0004035195
ここで、4mod(3)=1且つ5mod(5)=0である。よって、+8に−13を加えた(当該RNS方式による)RNS数は102となる。これも、整数−5を表している(表2参照)。
【0017】
最後に、乗算を行う場合について、以下の例を考える。
【0018】
Figure 0004035195
ここで、12mod(7)=5である。よって、(−3)×(−4)の(当該RNS方式による)RNS数は025となる。これも、整数12を表している(表2参照)。
【0019】
上記のように、あるRNS方式を用いて、そのRNS形式で表現された正負の数に対して加算、減算および乗算を行うことが可能であることが分かる。ここで最も注目すべき点は、他のRNS桁の演算結果を参照することなく、各RNS桁について演算が独立して行われることである。RNS計算の高速性は、演算の際に「キャリーが不要」である性質に起因する。一方、従来の計算方法で乗算、加算あるいは減算を行う場合、ある桁の演算結果は、それより下位の桁の演算結果が出るまで最終決定できない。
【0020】
また、ある限定条件の下に、RNS方式を用いて除算を行うことも可能である。以下に、RNS方式による除算の原則を説明する。ある整数XをRNS表記した場合の1つの桁xについて、
X=m×N+x
但し、
m=当該桁のモジュラス(正の整数)、
N=整数(Xが負の場合、負の整数となる)、
x=当該RNS桁の値(Xからm×Nを引いた余りであり、0≦x≦m−1)
である。
【0021】
すべての独立RNS桁について、その桁自身の値であるxだけが分かっている。1つの桁だけのxが分かっていても、その桁のXあるいはNは分からない。
【0022】
Xについての上記等式は、以下に示すように多様な書き方ができる。
【0023】
X=m×N+x
X=m×(N−1)+(x+m)
X=m×(N−2)+(x+2×m)
X=m×(N−3)+(x+3×m)
........
X=m×(N−n)+(x+n×m)
........
但し、n=任意の正の整数である。
【0024】
以下に示す2つの条件が満たされる場合には、各RNS桁毎の除算を行うことができる。(この2つの条件を満たすかどうかについては、以下で、場合に応じて説明する)。
【0025】
1)Xが整数の除数dによっても割り切れること(余り=0)。この場合、明らかにX/dは整数であり、Xと同じRNS方式を用いてRNS形式で表現できる。
【0026】
2)除数および各RNS桁のモジュラスは互いに素であること。
【0027】
Xについての上記の等式を用いれば、以下の等式のいずれかによってX/dを従来の記数方式で表現することが可能である。
【0028】
X/d=m×N/d+x/d
X/d=m×(N−1)/d+(x+m)/d
X/d=m×(N−2)/d+(x+2×m)/d
X/d=m×(N−3)/d+(x+3×m)/d
........
X/d=m×(N−n)/d+(x+n×m)/d
........
ここで、X/dは整数であるから、もし、(x+n×m)/dが整数となるようなnの値が存在するならば、m×(N−n)/dも整数である。よって、m×(N−n)は因数dを必ず含む。mはdに対して素であると仮定しているので、(N−n)は因数dを必ず含み、よって、(N−n)/dも同様に整数である。
【0029】
さらに、唯一の値nについて(x+n×m)/dが0〜(m−1)の範囲の整数であれば、X/d=m×(N−n)/d+(x+n×m)/dは以下の等式の形をとる。
【0030】
X/d=m×Nd+xd
但し、Nd=((X/d)/mの整数値)=(N−n)/d、
d=(x+n×m)/d=(X/dのRNS表記における当該RNS桁の値)
である。
【0031】
m、dが互いに素であれば、証明を行わなくとも、(x+n×m)/dが0〜(m−1)の範囲の整数となるような唯一の値nが存在すると言える。
【0032】
以下に例を示して、dで割り切れる数XをRNS表記したときのモジュラスが5である桁(以下、「モジュラス5RNS桁」)について考える。まず、56÷7=8の場合を考える。56のモジュラス5RNS桁xの値は1であり、8のモジュラス5RNS桁xdの値は3である。よって、x=1であり、xdは3となるはずである。xからは分からないが、N=(56/5の整数値)=11である。n=0〜4の範囲においてxd=(x+n×m)/dがとり得る値、およびNd=(N−n)/dがとり得る値を以下の表3に示す。
【0033】
【表3】
Figure 0004035195
【0034】
上記の例では、56を7で割る場合のみを示したが、数Xが7で割り切れ且つそのモジュラス5RNS桁が1である場合、いかなる数Xについても表3の第2欄および第3欄は同じである。モジュラス5RNS桁を持つどのRNS方式においても、7で割り切れる数XをRNS表記した場合のモジュラス5RNS桁の値が1である場合、X÷7の演算結果をRNS表記したときのモジュラス5RNS桁の値は常に3である。Xのモジュラス5RNS桁の値が他の値、0、2、3、4(それぞれxd=0、1、4、2に対応)のいずれかである場合も、同じ手順で、X/7のモジュラス5RNS桁の値を求めることができる。
【0035】
無論、除数と各桁のモジュラスとが互いに素であり且つX/dが整数であることが分かっている場合、一般の除算にも、この方法を容易に拡張できる。また、この方法は負の数についても適用可能である。例えば、−49÷7の場合を考える。−49のモジュラス5RNS桁も1である。よって、前記と同様に、演算結果をRNS表記したときのモジュラス5RNS桁の値は3である。これは、−7をRNS表記したときのモジュラス5RNS桁と同じである。
【0036】
以下に示すように、dの「乗法的逆数(multiplicative inverse)」と呼ばれる数をxに掛けるRNS乗算を用いてxdを直接求めることも可能である。(x+n×m)/d=xdであるので、
x+n×m=xd×d
となり、この等式の両辺にある整数Idmをかけると、
x×Idm+n×m×Idm=xd×d×Idm
となる。ここで、両辺のmod(m)をとると、
(x×Idm+n×m×Idm)mod(m)=(xd×d×Idm)mod(m)
となる。
【0037】
上記等式の左辺のn×m×Idm項はモジュラスmの整数倍であるので、このn×m×Idm項を落とすことができる。さらに、右辺に対してさらにmod(m)演算を行っても結果は変わらないので、
x×Idmmod(m)=[xd×(d×Idmmod(m))]mod(m)
となる。
【0038】
もし、
d×Idmmod(m)=1
となるような整数Idmを求めることができれば、
x×Idmmod(m)=xdmod(m)=xd
となる。
【0039】
この場合、Idmは、モジュラスmについてのdの乗法的逆数である。dがmに対して素であれば、乗法的逆数(以下、dm -1と表記する)が存在する(ここでは証明は行わない)。
【0040】
モジュラスmについてのdの乗法的逆数dm -1を求める際に、下記に示す整数dm -1を全整数から検索する必要はない。
【0041】
d×dm -1mod(m)=1
もし、dm -1が存在するならば、
[d×(dm -1mod(m))]mod(m)=1
もまた真である。
【0042】
dmod(m)が与えられれば、1〜(m−1)の範囲を検索するだけでモジュラスmについてのdの逆数(逆数は0ではあり得ない)を求めることができる。
【0043】
dmod(m)=0である場合、乗法的逆数は求められない。無論、dmod(m)=0の場合、dとmとは互いに素ではなくなり、上記除法の2条件の一方は満たされていない。
【0044】
上述の通り、あるdという数によって除算を行う代わりに、dの乗法的逆数であるdm -1を用いて乗算を行うことが可能である。乗法的逆数について説明するために、あるRNS数のモジュラス5桁について、13による除算を考える。モジュラス5桁の値は0、1、2、3あるいは4である。13による除算を行う前記第1の方法を用いて、当該RNS桁の値にモジュラス5を繰り返し加えて13で割り切れる和を得ることが可能である。この観点から、以下の表4に示される様にさらに13で割り切れて0、1、2、3あるいは4の結果を生じるような数は1つしかない。
【0045】
【表4】
Figure 0004035195
【0046】
しかしながら、モジュラス5桁の値を2倍しても同じ結果となる。よって、モジュラス5桁に関して、13による除算は2による乗算と同じである。等式
m -1×dmod(m)=1
を用いれば、
135 -1×13mod(5)=1
であり、結局、
135 -1=2
である。
【0047】
RNS方式の加算、減算および乗算については、キャリーが不要であるため簡単且つ高速に実行できる。しかし、2進数記数方式では簡単且つ高速に行えるのにRNS方式では面倒になる演算もある。例えば、2進数方式による打ち切り(truncation)は、打ち切る数の最下位桁(最小重み桁)を単に落とすだけの演算であるのに、RNS方式の各桁は相対的な重みを持たないため、打ち切りを行う際には問題が伴う。
【0048】
その他、除算、スケーリング(scaling)(固定因数による除算)、符号検出、比較およびダイナミックレンジの拡張(dynamic range extension)等もRNS記数方式では困難な演算である。これらは2進数を用いれば簡単な演算であるので、RNS形式の数を2進数に一旦変換し、その2進数に対して演算を行い、その後必要に応じてRNS形式の数に再変換するという方法が、原理的には可能である。(比較および符号検出はその結果もそれら自身となるため、演算を行ったRNS数をRNS形式で保存しておいて後で用いてもよい。)しかし、RNS表記された数を変換する場合、2進数表記よりも、関連混合基数(Associated Mixed Radix)(以下、AMR)表記の方が、対応する数がより自然に求められる。
【0049】
2進数あるいは10進数と同様に、混合基数方式による数は、相対的に重みが異なる桁によって表現される。しかし、2進数あるいは10進数と異なる点は、ある桁の重みが1つ下位の桁の重みの固定倍数(「基数」)ではないことである。
【0050】
10進数の基数は10である。最下位桁は0〜9の範囲の値を取る。1つ上位の桁も0〜9の値を取るが、この桁の重みは10である。もう1つ上位の桁の重みは100となり、1つ下位の桁の重みの10倍である(以降の桁についても同様)。2進数の基数は2である。最下位の2進数桁は0〜1の値を取る。1つ上位の2進数桁も0〜1の値を取るが、この桁の重みは2である。もう1つ上位の桁の重みは4となり、1つ下位の桁の重みの2倍である(以降の桁についても同様)。
【0051】
混合基数方式の場合、基数が桁毎に異なる。まず、正の数のみを考えると、最下位桁は0〜(p−1)の値を取る。その1つ上位の桁の重みは「p」であるが、この桁は0〜(q−1)の値を取る(ただし、一般に、「q」は「p」に等しくない)。次の桁における重みは、この桁の重み×「q」(即ち、「p」×「q」)であり、そのとり得る値の範囲は、0〜「また別の最大値」、となる。
【0052】
ここで、整数Xを混合基数表記したときの基数と、整数XをRNS表記したときのモジュラスm1、m2、...とを等しくした場合(即ち、「関連」させた混合基数表記)に注目したい。最下位桁がとり得る値の範囲は0〜(m1−1)(但し、m1はRNSモジュラスの1つ)である。尚、以下の記載において、表記方法が変わっていることに留意されたい。以下、添字は、モジュラスの値を示すものではなく、単に、RNS表記の桁を区別するだけのものである。次のAMR桁の重みはm1であり、その値の範囲は0〜(m2−1)である(以降の桁についても同様)。よって、整数XをAMR形式で表現すると以下のようになる。
【0053】
X=a1+a2×m1+a3×(m1×m2)+a4×(m1×m2×m3)+...但し、a1、a2、...は各AMR桁の値である。ここで、AMR表記によって表記される数Xの範囲は、RNS表記によって表記される数Xの範囲と同じである。例えば、4つのAMR桁(a1、a2、a3、a4)を想定した場合、Xの範囲は、0〜Xmaxとなる。但し、
max=(m1−1)+(m2−1)×m1+(m3−1)(m1×m2
+(m4−1)×(m1×m2×m3)=m1×m2×m3×m4−1
である。
【0054】
AMR桁a1、a2、...の値は、以下の方法を用いて、XのRNS表記から得ることができる。
【0055】
ここで、モジュラスm1、m2、...、mNに対してx1、x2、...、xNとRNS表記される整数Xを考えると、Xは、
X=a1+a2×m1+a3×m1×m2+...+aN×m1×m2×...×mN-1
とも表現される。但し、a1、a2、...はx1、x2、...の関数である。
【0056】
上記等式の両辺のmod(m1)をとると、
Xmod(m1)=(a1+a2×m1+...+aN×m1×...×mN-1)mod(m1
となる。
【0057】
すると、上記等式の左辺は、単に、x1となる。またm1は上記等式の右辺の第1項を除く全ての項の因数であるので、第1項を除くこれら全ての項を落とすことができる。よって、
1=a1mod(m1)=a1
である。
【0058】
ここで、RNS減算によってXからa1を引いて、RNS除算によってその減算の結果をm1で割ると、その結果X’はRNS形式で以下のように表される。
【0059】
X’=(X−a1)/m1=a2+a3×m2+...+aN×m2×...×mN-1
Xからa1を引くことによって、XのRNS表記に使用したx1桁の値が0になる。これは、演算結果X−a1がm1でさらに割り切れることを意味する。よって、X’はRNS形式で表記可能な整数である。また、除数m1はそれ以外の全てのモジュラスに対して素である。従って、有効なRNS除算のための上記2条件は第1の桁を除く全RNS桁について満たされたことになる。また、第1の桁が割り切れなくても問題はない。なぜなら、演算結果のとり得る値の範囲は縮減されるので、残りの桁だけで個別に表現可能となるからである。
【0060】
ここで、X’のmod(m2)を取ると、
X’mod(m2)=(a2+a3×m2+...+aN×m2×...×mN-1)mod(m2
となり、結果的に、
2’=a2mod(m2)=a2
となる。但し、x2’は、a1による減算とm1による除算とを行った後の第2RNS桁の値である。必要に応じて、上記処理を繰り返すと、
1=x1、a2=x2’、a3=x3”、...
となる。
【0061】
上記方法の一例として、表1に示した3、5、7RNS方式で表記された整数41を考える。整数41は、RNSでは216である。よって、
X=216RNS
1=a1=2
X−a1=X−2=044RNS
X’=(X−a1)/3=36RNS (35 -1=2、37 -1=5)
2’=a2=3
X’−3=03RNS
X”=(X’−3)/5=2RNS=x3”=a3 (57 -1=3)
となる。よって、
1=2、a2=3、a3=2
である。以下に検算を示す。
【0062】
X=a1+a2×m1+a3×m1×m2
X=2+3×3+2×3×5=2+9+30=41
次に、表2において3、5、7RNSで表記した正負の数をAMR表記することを考える。ここで、数Xのとり得る値の範囲は−52〜+52である。再び、数XをAMR表記すると、
X=a1+a2×m1+a3×m1×m2
である。
【0063】
モジュラスm1、m2、m3は正の値である必要があるが、a1、a2、a3の値はそれ程限定されない。但し、a1、a2、a3の各値の範囲はそれぞれm1、m2、m3の範囲に限定される。従って、もし、
−1≦a1≦+1
−2≦a2≦+2
−3≦a3≦+3
であれば、Xの範囲は、表2に示されるように、−1+(−2×3)+(−3×3×5)=−52〜+1+(+2×3)+(+3×3×5)=+52となる。
【0064】
上記方法の一例として、再び、表2において3、5、7RNSで表記した整数41を考える。整数41は、RNSでは216である。よって、
X=216RNS
1=a1mod(3)=2
であり、ここで
1=a1mod(3)=2且つ−1≦a1≦+1であるから、a1は必ず−1となる。さらに、
X−a1=X−(−1)=216RNS+111RNS=020RNS
X’=(X−a1)/3=40RNS
2’=4=a2mod(5)
2=−1 (なぜなら、−2≦a2≦+2)
X’−a2=X’−(−1)=40RNS+11RNS=01RNS
X”=(X’−a2)/5=3RNS
3”=3=a3mod(7)=a3
であるので、
1=−1、a2=−1、a3=3
となる。以下に検算を示す。
【0065】
X=a1+a2×m1+a3×m1×m2
X=−1+(−1×3)+3×3×5=−1+(−3)+45=41
負の数を範囲に含む上記の例では、モジュラスは全て奇数(即ち、3、5、7)であり、AMR形式で表記可能な数の範囲は−52〜+52であった。モジュラスが2、5、11のような別の方式の場合、正負の数を含む表記可能な数の範囲は、−55〜+54である。より一般化すれば、AMR形式で表記可能な合計範囲はM=m1×m2×...(即ち、全モジュラスの積)である。0および正の数のみを考える場合は0≦X≦M−1である。負の数も含む場合、興味深い2つの場合があり得る。モジュラスの内いずれか1つが偶数であればMは偶数となり、そうでない場合にはMは奇数である。よって、正負両方の数を含む場合の2つの可能な範囲は以下のように特定される。
【0066】
−M/2≦X≦M/2−1(正/負、Mが偶数の場合)
−(M−1)/2≦X≦(M−1)/2(正/負、Mが奇数の場合)
独立AMR桁がとり得る値の範囲は、上記2つの可能な範囲のうちどちらが適用されるかによって決まる。全てのモジュラスが奇数である場合、Mは奇数であり、合計範囲は0に関して対称的になる。従って、全てのAMR桁の範囲が、それぞれ、0に関して対称的でなければならない。モジュラス「m」に関連付けられている全てのAMR桁「a」に対し、全AMR桁について(Mが奇数の場合)、
−(m−1)/2≦a≦(m−1)/2
となる。これは、上記3、5、7方式の説明で例示した通りである。
【0067】
モジュラスの1つが偶数であり、そのために、Mが偶数である場合、正負の数を含む表記可能な数の範囲は、0に関して対称的にはならず、AMR桁の値の範囲の決定はより複雑なものとなる。第1に、偶数のモジュラスは1つだけしかあり得ない。さもなくば、そのRNS方式の各モジュラスが互いに素ではなくなるからである(全ての偶数のモジュラスは、共通の因子2を有している)。AMR桁の値の範囲は、偶数モジュラスに関連付けられた桁の位置(重み)に依存する。
【0068】
偶数モジュラスに関連付けられたAMR桁:
−m/2≦a≦m/2−1
偶数モジュラスに関連付けられた桁よりも上位の奇数モジュラスに関連付けられたAMR桁:
−(m−1)/2≦a≦(m−1)/2
偶数モジュラスに関連付けられた桁よりも下位の奇数モジュラスに関連付けられたAMR桁:
0≦a≦m−1
上記構成(arrangement)を理解するために、Mが偶数の場合、全体的な範囲が0に関して僅かに非対称になるので、対称的な範囲をとり得る最上位桁の範囲も同様に僅かに非対称でなければならないことに留意されたい。偶数桁の範囲は、負の方向に僅かに偏った非対称でなければならない。また、偶数桁が最下位桁でない場合、その偶数桁の範囲の非対称性が僅かであったとしても、合計範囲においては、負の方向に過度に偏った非対称性となるため、下位の奇数桁には正の値のみを与えて、この非対称性を補償する必要がある。
【0069】
例えば、先に簡単に触れた2、5、11RNS方式を用いても−55〜+54の範囲の整数を表記することが可能である。最上位から最下位までのAMR桁が、それぞれ、11、2、5のモジュラスに関連付けられているAMR表記の場合、これらの桁の範囲は、
−5≦a3≦+5
−1≦a2≦0
0≦a1≦+4
となる。次のように検算を行う。AMR形式によって表記可能な最小の整数Xminは、
min=0+(−1)×5+(−5)×5×2=0−5−50=−55
であり、最大の整数Xmaxは、
max=4+0×5+5×5×2=4+0+50=+54
である。
【0070】
数値のAMR表記の用途は様々であり、例えば、AMR表記を利用して追加RNS桁を生成することによりその数値の拡張RNS表記を行うことなどができる。以下のように、モジュラスmN+1の追加RNS桁xN+1を生成する。
【0071】
X=a1+a2×m1+a3×m1×m2+...+aN×m1×m2×...×mN-1
N+1=Xmod(mN+1)=(a1+...+aN×m1×...×mN-1)mod(mN+1
N+1=((a1)mod(mN+1)+(a2×m1)mod(mN+1)+...)mod(mN+1
例として、再び、3、5、7RNS数216と表現される整数41の場合のモジュラス11の追加RNS桁の生成を考える。まず、正の数のみを表す表1のRNS表記について考える。a1=2、a2=3、a3=2は既に求められている。この場合、
N+1=((a1)mod(mN+1)+(a2×m1)mod(mN+1)+(a3×m1×m2)mod(mN+1))mod(mN+1
N+1=(2mod(11)+(3×3)mod(11)+(2×3×5)mod(11))mod(11)
N+1=((2)+(9)+(30mod(11)))mod(11)
N+1=(2+9+8)mod(11)=19mod(11)=8
となる。
【0072】
41mod(11)=8であるので、上記は明らかに正しい。このように、整数41は、3、5、7RNSでは216RNSと表現され、3、5、7、11RNSでは2168RNSと表現される。整数41の場合は、追加RNS桁は冗長であるが、1桁追加した4桁3、5、7、11RNSで表現可能な整数の範囲は、3桁の3、5、7RNSに比べて11倍である。また、X=41という実際の数を決定する必要はなく、単にRNS桁とAMR桁とによってXN+1が決まる。上記の方法は、「基数拡張(Base Extension)」と呼ばれる。
【0073】
表2の3、5、7正負RNS表記で表した整数41について、モジュラス11の追加RNS桁の生成を考える。正負の数を含む範囲を扱う方式において、a1=−1、a2=−1、a3=3は既に求められている。この場合、
N+1=((a1)mod(mN+1)+(a2×m1)mod(mN+1)+(a3×m1×m2)mod(mN+1))mod(mN+1
N+1=((−1)mod(11)+(−1×3)mod(11)+(3×3×5)mod(11))mod(11)、よって、
N+1=((10)+(8)+(45)mod(11))mod(11)
N+1=(10+8+1)mod(11)=19mod(11)=8
となる。
【0074】
【発明が解決しようとする課題】
電子回路に用いられ、桁の値を表記する様々な符号化スキームが公知である。まず、2進数による従来の符号化では、各桁が1つの信号あるいは1つの「ライン」によって表される。電圧が「ハイ(high)」であるラインが2進数の「1」を表し、電圧が「ロー(low)」であるラインが「0」を表す。また、2進化10進数による従来の符号化の場合、10進数の各桁は4本のラインによって表され、各ラインに印加されている電圧レベルによって、その10進数桁の値が決まる。一般に用いられているデジタル信号処理の方法および装置では、整数を表記できるこれら2つの表記方法の内のいずれかが用いられている。最も一般的なのは、2進数による符号化である。一方、1つの桁を1/N桁形式に復号(Decoding of a digit to a 1 of N form)する方法も一般的ではあるが、この方法は、むしろ、装置のアドレッシングまたは制御の目的で一般的に用いられているものであって、デジタル処理においては一般的ではなかった。
【0075】
【課題を解決するための手段】
本発明は、高速且つ電力消失の少ないデジタル信号処理の方法および装置を開示する。この装置は、剰余数記数方式(RNS)によって信号および/またはパラメータを表し、RNS方式の各桁は「ワンホット」符号化スキームによって符号化される。このような「ワンホット」符号化スキームにおいては、1つの桁がとり得る値のそれぞれに信号ラインが1本関連付けられる。ハイ状態の信号ラインはどの時点においてもこの内の1本のみである。RNS方式とワンホットスキームとを組み合わせることによって、信号活性レベルおよび信号ラインの負荷が低減されて、結果的に低電力となる。加算、減算、乗算等の演算、ならびに整数から/への変換を行うための方法および装置が開示される。RNSを利用した他のアーキテクチャによって得られる高速性も維持される。代替的な実施形態も開示される。
【0076】
本発明による信号処理方法は、複数の信号を、ワンホットRNS形式で物理的に表記された複数のRNS桁を有するRNS数としてそれぞれ表現するステップ(a)と、ワンホットRNS形式で入力を受け取り、ワンホットRNS形式で出力を提供する処理回路部を用いて該信号を処理するステップ(b)とを有する信号処理方法であり、そのことにより上記目的が達成される。
【0077】
上記方法は、ワンホットRNS形式で表記された前記処理済み信号を2進数信号に変換するステップをさらに含んでもよい。
【0078】
ワンホットRNS形式で表記された処理済み信号を2進数信号に変換する前記ステップは、該処理済み信号を、まず、ワンホットRNS形式からワンホットAMR形式に変換し、次いで、該処理済み信号をワンホットAMR形式から2進数信号に変換するステップを含んでもよい。
【0079】
上記方法は、処理前の信号を、ある形式から、ワンホットRNS形式で物理的に表記された複数のRNS桁を有するRNS数に変換する初期ステップをさらに含んでもよい。
【0080】
前記処理前の信号は、2進数信号として表現されていてもよい。
【0081】
前記処理は、ワンホットRNS形式の2つの信号を加算する処理を含んでもよい。その場合、前記2つの信号の一方がワンホットRNS形式の変数であって、他方が定数であってよい。また、前記2つの信号が共にワンホットRNS形式の変数であってもよい。
【0082】
前記処理は、ワンホットRNS形式の2つの信号の減算を含んでもよい。その場合、前記2つの信号の一方がワンホットRNS形式の変数であって、他方が定数であってよい。また、前記2つの信号が共にワンホットRNS形式の変数であってもよい。
【0083】
前記処理は、ワンホットRNS形式の2つの信号の乗算を含んでもよい。その場合、前記2つの信号の一方がワンホットRNS形式の変数であって、他方が定数であってよい。また、前記2つの信号が共にワンホットRNS形式の変数であってもよい。
【0084】
前記処理は、前記複数の信号の1つを表現するワンホットRNS形式に対するモジュラスを変更するステップを含んでもよい。
【0085】
前記処理は、前記複数の信号の1つを表現するワンホットRNS形式に対してスケーリングを行うステップを含んでもよい。
【0086】
前記処理は、前記複数の信号の1つを表現するワンホットRNS形式に対する前記スケーリングの際に失われたモジュラスを再生するステップを含んでもよい。
【0087】
前記RNS数が正および負の数を表記可能であり且つ前記処理が、前記複数の信号の1つを表現するワンホットRNS形式が正の数または負の数のいずれを表しているかを決定するステップを含んでいてもよい。
【0088】
前記処理はデジタルフィルタ処理を含んでもよい。
【0089】
前記デジタルフィルタ処理は、有限インパルス応答フィルタ処理を含んでもよい。
【0090】
前記処理は、判定帰還等化処理を含んでもよい。
【0091】
また、本発明の方法は、複数の整数XのそれぞれがN個(N>1)の桁で表記可能であり、該桁の範囲は桁毎に独自に限定されており、各整数Xを、
X=xma、xmb、...、xmN
(但し、xma、xmb、...、およびxmNは、それぞれ、該整数XのRNS表記における桁であり、ma、mb、...、およびmNは、それぞれ、該整数XのRNS表記における各桁に関連付けられた、互いに異なる整数のモジュラスであり、xma、xmb、...、およびxmNの範囲は、それぞれ、ma、mb、...、およびmNである)
のようにRNS形式で表現するステップ(a)と、
該整数Xの桁xma、xmb、...、およびxmNを、それぞれ、ma本、mb本、...、およびmN本の導電性ラインの状態によって表すステップであって、
該導電性ラインのそれぞれには2つの状態があり、各桁の値の表記は該桁の他のいずれの値の表記とも異なり、その差異は、各桁を表記する導電性ラインのうちの2本のラインの状態の違いであるステップ(b)と、
ステップ(b)の形式で表記された情報を受け取り、該情報を処理する処理回路部を用いて入力情報を処理するステップ(c)とを有し、これにより上記目的が達成される。
【0092】
前記処理は加算処理を含んでもよい。
【0093】
前記処理は減算処理を含んでもよい。
【0094】
前記処理は乗算処理を含んでもよい。
【0095】
前記処理はモジュラスを変更するステップを含んでもよい。
【0096】
前記処理はスケーリングを行うステップを含んでもよい。
【0097】
前記処理は、前記スケーリングの際に失われたモジュラスの桁を再生するステップを含んでもよい。
【0098】
前記整数は正および負の数を表記可能であり且つ前記処理は、該整数が正の数または負の数のいずれを表しているかを決定するステップを含んでいてもよい。
【0099】
前記処理はデジタルフィルタ処理を含んでもよい。
【0100】
前記デジタルフィルタ処理は、有限インパルス応答フィルタ処理を含んでもよい。
【0101】
前記処理は、判定帰還等化処理を含んでもよい。
【0102】
本発明の装置は、(mai+mbi+...+mNi)本の複数の第1入力ラインを有する第1の入力であって、
ai、mbi、...、およびmNiはNi個(Ni>1)の異なる整数であり、
該複数の入力ラインのそれぞれには2つの状態があり、
該複数の入力ラインは、mai本、mbi本、...、およびmNi本のラインをそれぞれ有するNi個のライン群になるように論理的に構成され、
処理前の情報を表す各整数は該ラインの状態によって表され、
ある表記された整数に対する該Ni個のライン群それぞれの該ラインの状態は、他の表記可能ないかなる整数に対するライン群の該ラインの状態とも異なり、その差異は、各ライン群のラインのうちの2本のラインの状態の違いである第1の入力と、
(mao+mbo+...+mNo)本の複数の出力ラインであって、
ao、mbo、...、およびmNoはNo個(No>1)の異なる整数であり、
該複数の出力ラインのそれぞれには2つの状態があり、
該複数の出力ラインは、mao本、mbo本、...、およびmNo本のラインをそれぞれ有するNo個のライン群になるように論理的に構成され、
処理前の情報を表す各整数は該ラインの状態によって表され、
ある表記された整数に対する該No個のライン群それぞれの該ラインの状態は、他の表記可能ないかなる整数に対するライン群の該ラインの状態とも異なり、その差異は、各ライン群のラインのうちの2本のラインの状態の違いである、出力ラインと、
該第1入力ラインの現在の状態に応答する該出力ラインの状態を決定する回路部とを有する、整数として表記可能な情報を処理する装置であり、これにより上記目的が達成される。
【0103】
前記出力ラインの状態を決定する前記回路部は、前記第1入力ラインの前の状態にも応答してよい。
【0104】
前記装置は、(mai+mbi+...+mNi)本の複数の第2入力ラインを有する第2の入力であって、
該複数の入力ラインのそれぞれには2つの状態があり、
該複数の入力ラインは、mai本、mbi本、...、およびmNi本のラインをそれぞれ有するNi個のライン群になるように論理的に構成され、
ある表記された整数に対する該Ni個のライン群それぞれの該第2入力ラインの状態は、他の表記可能ないかなる整数に対するライン群の該ラインの状態とも異なり、その差異は、各ライン群のラインのうちの2本のラインの状態の違いである第2の入力をさらに備え、前記第1入力ラインの現在の状態に応答する、前記出力ラインの状態を決定する前記回路部は、該第1入力ラインおよび該第2入力ラインの両方の状態に応答してもよい。
【0105】
前記出力ラインの状態は、前記第1および第2の入力ラインの状態によって表記される整数の和を表してもよい。
【0106】
前記出力ラインの状態は、前記第1および第2の入力ラインの状態によって表記される整数の差を表してもよい。
【0107】
前記出力ラインの状態は、前記第1および第2の入力ラインの状態によって表記される整数の積を表してもよい。
【0108】
本発明のデバイスは、ワンホットRNS形式で物理的に表記された複数のRNS桁を有するRNS数として表現された処理前の複数の信号を受け取る入力装置と、該入力装置に接続され、該ワンホットRNS形式の信号を処理し、ワンホットRNS形式の処理済み信号出力を提供する処理装置とを有する、信号処理デバイスであり、このことにより上記目的が達成される。
【0109】
前記デバイスは、ワンホットRNS形式で表記された前記処理済み信号を2進数信号に変換する装置をさらに有してもよい。
【0110】
ワンホットRNS形式で表記された前記処理済み信号を2進数信号に変換する前記装置は、該処理済み信号をワンホットRNS形式からワンホットAMR形式に変換する装置と、該処理済み信号をワンホットAMRから2進数信号に変換する装置とを有してもよい。
【0111】
前記デバイスは、処理前の信号を、ある形式から、ワンホットRNS形式で物理的に表記された複数のRNS桁を有するRNS数に変換する装置をさらに有してもよい。
【0112】
処理前の信号を、ある形式から、ワンホットRNS形式で物理的に表記された複数のRNS桁を有するRNS数に変換する前記装置は、処理前の信号を2進数信号からワンホットRNS形式で物理的に表記された複数のRNS桁を有するRNS数に変換する装置を有してもよい。
【0113】
前記処理装置は、ワンホットRNS形式の2つの信号の加算を行う装置を含んでもよい。
【0114】
前記加算装置は、一方はワンホットRNS形式の変数であり、他方は定数である2つの信号の加算を行う装置を含んでもよい。
【0115】
前記加算装置は、共にワンホットRNS形式の変数である2つの信号の加算を行う装置を含んでもよい。
【0116】
前記処理装置は、ワンホットRNS形式の2つの信号の減算を行う装置を含んでもよい。
【0117】
前記減算装置は、一方はワンホットRNS形式の変数であり、他方は定数である2つの信号の減算を行う装置を含んでもよい。
【0118】
前記減算装置は、共にワンホットRNS形式の変数である2つの信号の減算を行う装置を含んでもよい。
【0119】
前記処理装置は、ワンホットRNS形式の2つの信号の乗算を行う装置を含んでもよい。
【0120】
前記乗算装置は、一方はワンホットRNS形式の変数であり、他方は定数である2つの信号の乗算を行う装置を含んでもよい。
【0121】
前記乗算装置は、共にワンホットRNS形式の変数である2つの信号の乗算を行う装置を含んでもよい。
【0122】
前記処理装置は、前記複数の信号の1つを表現するワンホットRNS形式に対してモジュラスを変更する装置を含んでもよい。
【0123】
前記処理装置は、前記複数の信号の1つを表現するワンホットRNS形式に対してスケーリングを行う装置を含んでもよい。
【0124】
前記処理装置は、前記複数の信号の1つを表現するワンホットRNS形式に対する前記スケーリングの際に失われたモジュラスを再生する装置を含んでもよい。
【0125】
前記RNS数が正および負の数を表記可能であり且つ前記処理装置が、前記複数の信号の1つを表現するワンホットRNS形式が正の数または負の数のいずれを表しているかを決定する装置を含んでいてもよい。
【0126】
前記処理装置はデジタルフィルタ処理を行う装置を含んでもよい。
【0127】
前記デジタルフィルタ処理装置は、有限インパルス応答フィルタ処理を行う装置を含んでもよい。
【0128】
前記処理装置は判定帰還等化処理を行う装置を含んでもよい。
【0129】
【発明の実施の形態】
本発明においては、数(信号、因数等)のRNS表記と、「ワンホット」符号化スキームとが組み合わされる。ワンホットスキームにおいては、1つの桁がとり得る値のそれぞれに信号ラインが1本ずつ関連付けられる。ある桁が特定の値を取ると、その値に関連付けられたラインがハイとなる。このラインがハイの間は、その他のラインは全てローである。「ワンホット」という用語は、このスキームにおける、「どの時点においても、信号ラインは1桁につき1本のみハイである」という特徴を表現するものである。例えば、3、5、7RNSの場合、第1の桁を表記するのに3本、第2の桁を表記するのに5本、そして、第3の桁を表記するのに7本のラインを使用する。このRNSの場合、第1から第3の桁は、それぞれ、0〜2、0〜4、0〜6の範囲の値を取る。従って、各桁に関連する桁ラインの番号についても同様に、それぞれ、0〜2、0〜4、0〜6とするのが最も都合が良い。−52〜+52の範囲を用いて、221RNSと表記される−13という整数は、3+5+7=15本のラインによって表される。この15本のラインの内3本がハイ電圧(またはハイ状態)であり、その間、他のラインは全てローである。その状態が桁を表すこれらのラインの番号は、以下の表5に示すように0から始まる。
【0130】
【表5】
Figure 0004035195
【0131】
以下に示される本発明の例示的な記載においては、特に示されない限り、3、5、7RNSを用いているものとする。しかし、実際には、正確さを高める目的で、および/または、演算結果のスケーリングおよび/または打ち切りを行うまで演算結果を保持しておく目的で、より大きな値のモジュラスおよび/またはより多くのモジュラスを用いる場合もよくある。また、当業者にとっては、このような目的のために、必要に応じて、本発明の方法および回路が拡張可能であることは、以下の記載から理解できる。
【0132】
また、本明細書中に記載される回路において、回路図の簡略化のために、2方向性スイッチ記号を用いている。この記号は図1(a)に示されており、2方向性スイッチの実際のMOS回路が図1(b)に示されている。MOS回路は、並列に接続されたnチャネル素子およびpチャネル素子を備えている。このnチャネル素子およびpチャネル素子は、それぞれスイッチング信号BおよびBバー(図中ではBの上部に横線を付して示す)によって制御される。Bバーは信号Bを反転した信号である。あるスイッチにおいてBがハイの間は、そのスイッチの出力OUTはAに接続される。Bがハイでない間は、Aの状態に関係なく、そのスイッチの出力は電気的に浮いている。
【0133】
まず、本発明の方式における加算を考える。ある2数のx3桁を加算する場合、特定の演算結果を生じる加算の組み合わせは3通りしかない。例えば、0の結果が得られる加算は、0+0、1+2、または2+1、1の結果が得られる加算は、0+1、1+0、または2+2、そして、2の結果が得られる加算は、1+1、0+2、または2+0である。加算を行う2数のx3桁に対して加算を行う回路を図2に示す。この図において、スイッチの入力Aとして、加数Aのライン0、1および2が設けられている(図1(a)および(b)参照)。図に示されるように、加数Bのライン上の信号は反転器によって反転される。これにより、好適な実施形態において使用されるスイッチに必要な、加数Bのライン上の信号およびその反転信号の両方が利用できるようになる。このスイッチは、論理的に、3つ(この桁のモジュラスが加算される)のスイッチ群に分割され、各スイッチ群はそれぞれ3つ(ここでも、この桁のモジュラスが加算される)のスイッチからなる。第1の3つのスイッチSW1、SW2およびSW3の出力によって、SUMのライン0の状態がハイ(high)であるのかロー(low)であるのかが決定される。同様に、第2の3つのスイッチSW4、SW5およびSW6の出力によって、SUMのライン1の状態、第3の3つのスイッチSW7、SW8およびSW9の出力によって、SUMのライン2の状態がハイであるのかローであるのかが決定される。
【0134】
図2の回路の動作を説明するために、2つの例を考える。まず、加数Aとしての整数4(144RNS)と、加数Bとしての整数8(231RNS)とを加算して和12(025RNS)を得る場合について考える。図2の回路では、これら2数の第1のRNS桁のみの加算を行っており、加数Aの入力は1であり、加数Bの入力は2である。つまり、加数Aのライン1および加数Bのライン2の電圧信号がそれぞれハイであり、加数AおよびBのその他のラインの電圧信号はローである。加数Bのライン2の電圧によって、スイッチSW2、SW6およびSW7はオンとなる。その他のスイッチSW1、SW3、SW4、SW5、SW8およびSW9はオフである。スイッチSW2がオンなので、加数Aのライン1の電圧(ハイ)がSUMのライン0に接続される。スイッチSW6がオンなので、加数Aのライン2の電圧(ロー)がSUMのライン1に接続される。また、スイッチSW7がオンなので、加数Aのライン0の電圧(ロー)がSUMのライン2に接続される。よって、SUMのx3のライン0、1、2の中で、ライン0のみがハイとなり、和12(025RNS)に対応する状態となっている。
【0135】
次に、加数を反対にして、同じ和について考える。つまり、今度は、整数4(144RNS)を加数B、整数8(231RNS)を加数Aとして、これらを加算して、再び、和12(025RNS)を得る。同様に、図2の回路では、これら2数の第1のRNS桁のみの加算を行っており、加数Aの入力は2であり、加数Bの入力は1である。つまり、加数Aのライン2および加数Bのライン1の電圧信号がそれぞれハイであり、加数AおよびBのその他のラインの電圧信号はローである。加数Bのライン1の電圧によって、スイッチSW3、SW4およびSW8はオンとなる。その他のスイッチSW1、SW2、SW5、SW6、SW7およびSW9はオフである。スイッチSW3がオンなので、加数Aのライン2の電圧(ハイ)がSUMのライン0に接続される。スイッチSW4がオンなので、加数Aのライン0の電圧(ロー)がSUMのライン1に接続される。また、スイッチSW8がオンなので、加数Aのライン1の電圧(ロー)がSUMのライン2に接続される。再び、SUMのx3のライン0、1、2の中で、ライン0のみがハイとなり、和12(025RNS)に対応する状態となっている。
【0136】
2つのRNS数のx5桁同士およびx7桁同士の加算についても同じ回路形式が適用できることは、上記記載から理解できる。例えば、x5桁同士の加算を行う場合、決定しなければならない出力ラインは5本ある。従って、25個のスイッチを、論理的に、それぞれ5個のスイッチを含む5個のスイッチ群に分割したものを用いることができる。以下の表6に示すように、加数入力の5通りの組み合わせによって、上記5本の出力ラインのそれぞれをハイに駆動できる。
【0137】
【表6】
Figure 0004035195
【0138】
同様に、x7桁同士の加算の場合、決定しなければならない出力ラインは7本ある。従って、49個のスイッチを、論理的に、それぞれ7個のスイッチを含む7個のスイッチ群に分割したものを用いることができる。加数入力の7通りの組み合わせによって、上記7本の出力ラインのそれぞれをハイに駆動できる。
【0139】
次に、本発明の方式による減算を考える。ある2数のx3桁についての減算を行う場合も、特定の演算結果を生じる加算の組み合わせは、3通りしかない。例えば、0の結果が得られる減算は、0−0、1−1、または2−2、1の結果が得られる減算は、1−0、2−1、または0−2、そして、2の結果が得られる減算は、2−0、0−1、または1−2である。2数のx3桁についての減算を行う回路を図3に示す。この図において、スイッチ(図1(a)および図1(b)参照)の入力Aとして、被減数Aのライン0、1、および2が設けられている。図に示されるように、減数Bのライン上の信号は反転器によって反転される。これにより、好適な実施形態において使用されるスイッチに必要な、減数Bのライン上の信号およびその反転信号の両方が利用できるようになる。回路の構成要素は加算用回路と同じであるが、構成要素の相互接続が異なっている。再び、このスイッチは、論理的に、3つ(この桁のモジュラスが加算される)のスイッチ群に分割され、各スイッチ群はそれぞれ3つ(ここでも、この桁のモジュラスが加算される)のスイッチからなる。第1の3つのスイッチの出力によって、DIFFERENCE(残差)のライン0の状態がハイであるのかローであるのかが決定される。同様に、第2の3つのスイッチの出力によって、DIFFERENCEのライン1の状態、第3の3つのスイッチの出力によって、DIFFERENCEのライン2の状態がハイであるのかローであるのかが決定される。
【0140】
乗算についても、モジュラスが素数の場合(素数でない場合については後述)、どちらも0でない桁同士については加算および減算と同様である。しかし、乗数側または被乗数側のいずれかの桁が0(ライン0がハイ)である場合、乗算の結果は0(ライン0がハイ)となる。再び、x3桁について考えると、1×1=1、2×1=2、1×2=2、および2×2=4mod(3)=1。この4つの乗算については、加算用回路および減算用回路におけるスイッチ接続によって計算できる。これは、図4において、4つのスイッチ接続によって示されている。しかし、乗数または被乗数のいずれかが0の場合、積が0(ライン0がハイ)にならなければならない。これを行うために、図4には、ORゲートが設けられている。このORゲートは、乗数Aのライン0または被乗数Bのライン0のいずれかがハイであれば、PRODUCT(積)のライン0をハイにする。しかし、被乗数Bのライン0がハイである場合、スイッチSW4、SW5、SW6およびSW7はいずれもオンにならない。その結果、PRODUCTのライン1および2は電気的に浮くことになる。被乗数Bのライン0がハイであるときにこれらのラインを積極的にローに引き下げるために、被乗数Bのライン0によって駆動する2つのnチャネル素子が設けられている。被乗数Bのライン0がハイの場合、このnチャネル素子をオンにして、ライン1および2をローに引き下げる。
【0141】
次に、モジュラスが素数でないRNS桁同士の乗算を考える。この場合、1でもなくモジュラスでもない少なくとも2つの整数の積として、モジュラスを表すことができる。例として、モジュラスが6である2つのRNS桁に対して乗算を行う場合を考える。このRNS桁は、それぞれ、0、1、2、3、4、5のいずれかの値を取ることができる。前記同様、0に対して、他のいかなる桁の値を掛けても結果は0である。しかし、今度は、2×3および3×2のRNS乗算も0となる。また、3×4および4×3も同様に0となる。これに対応するためには、ワンホットRNS入力のどちらか(あるいは両方)が0であることを検出し、それに応答して、ワンホットライン0をハイに駆動し且つ結果的に浮いているラインを、図4の場合のように、ローに駆動しなければならず、さらに、これと同じことを、入力が、2と3、3と2、3と4、4と3である場合にも行わなければならない。これを行うには、1)乗数Aのワンホットライン2と被乗数Bのワンホットライン3との論理積をとり、2)乗数Aのワンホットライン3と被乗数Bのワンホットライン2との論理積をとり、3)乗数Aのワンホットライン3と被乗数Bのワンホットライン4との論理積をとり、4)乗数Aのワンホットライン4と被乗数Bのワンホットライン3との論理積をとり、そして、5)上記4つの論理積演算の結果と、乗数Aのワンホットライン0と、被乗数Bのワンホットライン0との論理和をとる。ここで、この論理和演算の結果が真である場合、PRODUCTのライン0をハイに駆動し、図4の2つのnチャネルトランジスタのようなnチャネルトランジスタを用いる等の方法で、電気的に浮いている他のラインをローに駆動する。上記あるいはそれ以外の同様な煩雑さが生じるため、素数でないモジュラスを用いるのは避けることが好ましい。
【0142】
整数/RNS数変換およびRNS数に対する他の演算について考える前に、加算、減算および乗算において、その演算を行う2数の一方が固定された数である場合を考える。固定された係数による乗算は、デジタル信号処理、フィルタ処理、信号検出および/または復調、およびその他多数の処理において特に一般的である。無論、それぞれ図2、図3および図4に示した加算回路、減算回路および乗算回路の入力AまたはBのどちらかが固定入力であっても良い。固定数を回路の入力Bとして与えるものとすると、固定値の付与によって回路のスイッチは永久にある状態にセットされることになる。したがって、このようなスイッチを削除でき、これらのスイッチのために必要であった接続を(ICの形態に)固定配線(hardwiring)する必要もなくなる。例として、整数10(上記例のRNS方式では103RNS)による加算、減算および乗算を考える。図5は、整数10のRNS等価値(103)を任意のワンホットRNS入力に加算する場合を示す。x3桁がいかなる値であろうと、1を加えた場合その値が1増加することは明らかである。従って、入力側のライン0は、出力側のライン1に直接接続され、入力側のライン1は出力側のライン2に直接接続される。和(2+1)mod(3)=0であるので、入力側のライン2は出力側のライン0に接続される。x7桁の接続も同様に決定されるが、ライン同士の相互接続部におけるラップ・アラウンド(wrap around)が1つから3つに増えている。x5桁は0であり、入力側と出力側とで変化が全くないので、これらの入力と出力とは直接接続される。しかし、最終的に得られる効果を考えると、定数の加算による和は、大ざっぱに言えば、入力ライン番号の再表記(renumbering)(および、ラインの再配線)に過ぎない。
【0143】
図6に示すように、整数10のRNS等価値(103)を任意のワンホットRNS入力から引く動作は、(回路の相互接続は同一ではないが)上記加算の動作に良く似ている。定数を用いた減算による差もまた、大ざっぱに言えば、入力ライン番号の再表記に過ぎない。実際、加算回路の入力と出力を反対にすれば、この減算回路は加算回路と同一である。もっとも、X+10−10=Xであることを考えればこれは当然のことである。このことは、本発明のもう1つの注目すべき点を示している。つまり、定数を用いた演算を連続して行う操作は、これらの演算を連結することにより、1回の「番号再表記」操作になる。これについては、以下に開示される定数による乗算および数の符号の反転(−1による乗算)の後に考察を行う。
【0144】
10による乗算を行う回路を図7に示す。どんな整数でも10を掛ければ、5で割り切れる数になるため、x5桁のライン0は、入力に関係なく常にハイになる。同様に、−1による乗算を行う回路を図8に示す。ここで、0に何を掛けても0であり、−1×(mod(m)の任意のRNS桁)=m−(元のRNS桁)である。
【0145】
「入力から10を引き、その結果に10を掛けて、その結果に−1を掛けて、その符号を反転させる」という演算を例にとって、連結について考える。次の表7に、この演算動作をステップ毎に示す。
【0146】
【表7】
Figure 0004035195
【0147】
表7の第1欄および第2欄は、図6に示した整数10による減算における入力から出力へのマッピングを表している。第3欄は、第2欄に示されるラインが図7に示した乗算回路の出力に接続されているか否かを示している。第4欄は、第2欄に関連しており、図7に示される整数10を用いた乗算における入力から出力へのマッピングを表している。最後の第5欄は、第4欄に関連しており、図8に示される、前の演算の結果に−1を掛けることによりその符号を反転させる動作における入力から出力へのマッピングを表している。しかし、この演算の組み合わせは、1つの回路として表すことができる。これは、入力リードおよび出力リードについての1回の「番号再表記」に相当し、表7の内容をそのまま抜き出した次の表8に示されている。
【0148】
【表8】
Figure 0004035195
【0149】
上記の動作は、図9において回路として示されている。例として、整数14(240RNS)を入力する場合を考えると、(14−10)×10×(−1)=−(4×10)=−40となる。整数−40を3、5、7RNS表記すると、−40mod(3)、−40mod(5)、−40mod(7)=202RNSである。よって、入力整数14(240RNS)により、モジュラス3桁のライン2、モジュラス5桁のライン4、およびモジュラス7桁のライン0がそれぞれハイとなり、その他のラインは全てローとなる。このとき、入力リード2、7および8がハイとなり、その他の入力リードは全てローとなる。入力リード2によって出力リード2がハイに、入力リード8によって出力リード10がハイになる。そして、出力リード3〜7は固定接続されているので、この中のどれがハイであるかに関わらず出力リード3がハイになる。出力リード2、3および10に対応する桁リード2、0および2がハイであるので、RNS表記は202となる。これは、整数−40であり、期待通りの結果が得られたことになる。
【0150】
次に、2進数からRNS数への変換操作を考える。0〜104の範囲の整数を表記可能な3、5、7RNS方式を用いる。7ビットの2進数を利用する場合、注意すべきことは、合計範囲が128まである7ビットの2進数が、3、5、7RNS表記の合計範囲105を越えないようにすることである。6ビットの2進数のみを変換する場合、RNS数の定義域ではなく、2進数の定義域において範囲限定を行えば良い。この性質を考慮して、この例では、6ビットの2進数を想定する。従って、最下位ビットによって0または1が加算され、次のビットによって0または2が加算され、その次のビットによって0または4が加算される(以降のビットについても同様)。このように、その2進数ビットの重みモジュラス(即ち、それぞれのモジュラス)に応じて各ビットが加算される。これを行う回路のブロック図を図10に示す。また、図11には、この回路をx3桁およびx5桁についてさらに詳細に示す。図10の回路において、中に「R」と表記された四角は、固定乗算回路を表している。これは、即ち、各入力「b」の番号再表記(および再配線)を表すものである。ワンホット形式の信号「b」それぞれについて、ハイになり得るラインは2本ずつ(ライン1および0)しかないことに留意されたい。伝統的な2進数符号化スキームに基づいて各ラインbnをワンホットライン1に接続し、その反転信号bnバーをワンホットライン0に接続すれば、これら2本のラインを容易に得られる。その他のワンホットラインは実効的にローに接続される(effectively tied low)。また、図10における中に「+」のある円、および図11における中に「ADD」と表記された四角は、図2の加算器に対応する加算器回路である。
【0151】
以下、図10および図11、特に図11を参照して、2進数/RNS変換器のx3桁ワンホットライン3本を形成する加算器列を説明する。各加算器への入力信号b0は、その加算器のx3桁入力ライン1に接続され、その反転信号b0バーはその加算器のライン0を形成する。また、加算器への入力信号b0は、信号b0がローまたはハイのいずれであるかによって、それぞれ、0または1を表すだけなので、この加算器入力への入力ライン2はローに接続される。各加算器への入力信号b1は、その加算器のx3桁入力ライン2に接続され、その反転信号b1バーはその加算器のライン0を形成する。信号b1がローまたはハイのいずれであるかによって、それぞれ、0または2を表すだけなので、この加算器入力への入力ライン1はローに接続される。次の加算器への入力信号b2はx3桁入力ライン1(4mod(3)=1)に接続され、その反転信号b2バーはその加算器のライン0を形成する。信号b2がローまたはハイのいずれであるかによって、それぞれ、0または4を表すだけなので、この加算器への入力ライン2はローに接続される(以降信号についても同様)。
【0152】
再び図10および図11を参照して、6ビット2進数表記から3、5、7RNS表記への変換を行うために、それぞれ5個の加算器からなる加算器列が3列用いられることに留意されたい。各加算器列において、第1の加算器はb0+b1の加算を行い、第2の加算器は、その和+b2の加算を行う(以降の加算器についても同様)。この構成では、リプル通過時間遅延(ripple-through time delay)が生じる。また、リプル通過の間に生じ得る様々な状態の変化のために、多少の電力損失がある。図12に示される代替例においては、各加算器列において、第1、第2および第3の各加算器を用いて、それぞれ、b0+b1、b2+b3およびb4+b5の加算を同時に行う。そして、2個の加算器からなる加算器列を用いて、(b0+b1)+(b2+b3)の加算と(その結果)+(b4+b5)の加算を行う。必要となる加算器の数は同じであるが、加算器の連鎖数は、5連鎖から3連鎖へと低減される。これにより、リプル通過時間が短くなり、リプル通過による状態変化も低減される。
【0153】
本発明のワンホット方式による特定の計算においては、汎用回路が簡略化される。例えば、定数を扱う加算、減算および乗算を行う場合、図2、図3および図4に示される汎用回路において、定数を入力「B」として与えれば、スイッチが永久に固定される。従って、スイッチが常に開いているラインには接続が不要になり、また、スイッチが常に閉じているラインは固定配線とすることができる。これにより、トランジスタを全く用いずに、単にライン番号の再表記によって、加算、減算および乗算を行うことが可能になる。また別の例として、図11に示した2進数/RNS変換器のx3RNS桁用の第1の加算器(即ち、図11の左上の加算器)を考える。汎用x3加算器として図2の回路を参照する。加数Bのライン1は常にローである(図11の左上の加算器を参照)。つまり、スイッチSW3、SW4およびSW8は常にオフである。従って、これらのスイッチおよび関連するラインを排除して、図13に示すような構成とすることができる。また、加数Bの入力は0または2を表す1ビットの2進数であり、ライン0はライン2の反転信号且つライン2はライン0の反転信号であるので、ライン2およびその反転信号のみが必要である。同様に、加数Aの入力もまた、0または1を表す1ビットの2進数であり、ライン1およびその反転信号のみが必要である。これも、図13に示されている。
【0154】
図10および図11の回路は、基本的に、最下位ビットから順に変換を行うタイプの2進数/RNS変換回路である。図14のブロック図に示されている回路は、最上位ビットから順に変換を行うタイプの、本発明による2進数/RNS変換回路である。この回路では、1つ下位のビットの値を加える前に、各段階の和の値が2倍される。図10および図11に示した回路と結果は同じであるが、図14の回路の場合、固定乗数が繰り返し用いられるので、回路配列に関する利点が得られる。
【0155】
上記の例では、2進数からワンホットRNS表記への変換を負の数であるという可能性を考慮せずに、また、負の数をどのように2進数表記するかを考慮せずに行った。本発明のワンホットRNS表記へと変換される数の2進数表記は、通常、2の補数の形式である。この2の補数の形式では、最上位ビットは符号用ビットであり、0が正、1が負を表す。最上位ビットが0の場合、残りのビットは数Xの絶対値を2進数形式で表している。また、最上位ビットが1の場合、残りのビットを反転して1を加えたものが、負の数Xの絶対値を2進数形式で表したものとなる。つまり、最上位ビットが1の場合、残りのビットが表す値は−(2N-1)より大きい値となる。
【0156】
図10および図11、あるいは図14のような回路を用いて、正の数を表す2の補数の2進数からワンホットRNS表記への変換(最上位ビット=0)を行うことができる。図15は、負の数を含むXを2の補数の2進数で表記したものをワンホットRNS表記に変換する回路を示す。これは、最上位ビットが0の場合、残りのビットが数Xの絶対値を2進数形式で表し、最上位ビットが1の場合、残りのビットが表す値が−(2N-1)より大きくなるように−(2N-1)を加える、前記方法をそのまま実現するものである。
【0157】
先にも述べたように、RNS方式では困難な演算がある。そのような演算を行う場合、従来の技術で説明した関連混合基数(AMR)変換が有用である。例えば、正負の数を表すRNS方式において、AMR表記を用いて数Xの符号を検出することができる。具体的には、数XをAMR表記したときのAMR桁a1、a2、...aN-1、aNについて、mN=2の場合を考えると、Xについての等式は、
X=a1+a2×m1+a3×(m1×m2)+...+aN-1×(m1×m2×...×mN-2)+aN×(m1×m2×...×mN-2×mN-1
但し、aN=0または−1、a1〜aN-1は0または正の数。
【0158】
N=0の場合、Xの範囲は、0〜((m1×m2×...×mN-2×mN-1)−1)である。
【0159】
N=−1の場合、Xの範囲は、−(m1×m2×...×mN-2×mN-1)〜−1である。
【0160】
Xの符号は、aNの値によって示され、aN=0は正、aN=−1は負を示す。(X=0は正とみなす。X=0を検出する場合、ワンホットRNS桁全てのライン0の論理積を取ることによって検出を行えば良い。)つまり、正負RNS表記で表現された数Xの符号を以下のように検出できる。
【0161】
1.その数、あるいは処理されている数の最初のワンホット表記に、モジュラス2のワンホットRNS桁が含まれていなければならない。
【0162】
2.モジュラス2の桁が最後のRNS桁であり且つ最上位AMR桁aNに関連付けられるように、RNS桁を並べる。
【0163】
3.数XのRNS表記をXのAMR表記等価値に変換する。
【0164】
4.Xの符号を決定する値aNを決める(0ならば正、−1ならば負)。(モジュラス2桁の代わりに、2よりも大きい偶数モジュラスを用いても良い。その場合、aNが0または正であるときXの符号は+、aNが負であるときXの符号は−となる。)
図16(a)に示す回路は、AMR表記(ワンホット形式)を行い、モジュラス2RNS桁を持つワンホットRNS方式の一例によって表記される数Xの符号を決定する回路である。この回路には合計10個の加算器/減算器が含まれる。1番上の列の減算回路30、32、34および36はX−a1を生成する。a1は、mod(13)に関連付けられた第1のAMR桁であり、RNS数のx1に等しい。このワンホット方式において、x1入力は13ライン入力(x1ライン0〜12)、x2入力は5ライン入力(x2ライン0〜4)、x3入力は7ライン入力(x3ライン0〜6)、x4入力は11ライン入力(x4ライン0〜10)、そしてx5入力は2ライン入力(x5ライン0〜1)である。減算回路30、32、34および36は、それぞれ、モジュラス5、モジュラス7、モジュラス11およびモジュラス2の減算回路である。従って、a1の範囲は0〜12であるが、a1mod(5)、a1mod(7)、a1mod(11)およびa1mod(2)が決定される。これは、以下の表9に示されるような、ラインの再マッピングである。
【0165】
【表9】
Figure 0004035195
【0166】
図17は、図16(a)に示す減算器30の5個の入力を決定するための専用回路を示し、図18は、減算器36の2個の入力を決定するための専用回路を示す。他の加算器/減算器の入力に対しても、ORゲートまたはその等価物を用いた同様の専用回路を表9を参考にして容易に構成することできる。あるモジュラスのワンホットRNS信号から、より小さなモジュラスのワンホットRNS信号への変換を行うこの一般型の回路は、図16(a)において、図16(b)に示す記号を用いて表記されている。減算器30、32、34および36の出力は、ワンホットRNS形式のX−a1である。このRNS数からx1桁の値を引くことによって、そのRNS桁の値は0に減少する。これは、この時点で、RNS数の値が13で割り切れるようになっていることを意味している。x1桁は、次の除算において落とされる。なぜなら、従来の技術において述べたように、この除算を行った後は、x1桁の値は分からないからである。
【0167】
図17の回路および図18の回路は、所望のモジュラス変換を実現するものではあるが、スイッチング(ゲーティング)遅延を生じる。また、モジュラス変換の直後に続く減算器も同様に遅延を生じる。この2つの遅延の一方は、これら2つの機能を組み合わせることによって排除できる。例えば、x2−a1mod(5)の出力ライン0について図19および図20に示され、また、x2−a1mod(5)の出力ライン1について図19および図21に示されるように、図17の回路を減算器と組み合わせることが可能である。減算器30の入力として、mod(13)信号の13本全てのラインが使用され、13個のスイッチの出力が合わされてmod(5)の結果が出る。
【0168】
X’=(X−a1)/m1を求めるには、m1による除算あるいはm1の乗法的逆数による乗算を行う必要がある。図16(a)において使用される乗法的逆数を以下の表10に示す。
【0169】
【表10】
Figure 0004035195
【0170】
先にも述べたように、乗法的逆数を含む定数を用いた乗算は単なるライン番号の再表記(通常再配線を含む)である。これは、図16(a)に示される乗算(再表記あるいは再配線)回路38、40、42および44(並びにその他の四角で表された乗算回路)に示されている。これで、X’が分かるので、a2=x2’である。
【0171】
X”=(X’−a2)/m2を求めるべく、2番目の列の減算器46、48および50は、残っている3つのRNS桁からa2を値を引く。x2桁のモジュラスは次の2桁のモジュラスよりも小さいので、以下の表11に示すように、余分なラインを全て接地(ロー接続)すれば、RNS減算器によって次の2桁からa2を直接引くことができる。あるモジュラスのワンホットRNS信号から、より大きなモジュラスのワンホットRNS信号への変換を行うこの汎用回路も、図16(a)において、図16(b)に示す記号を用いて表記されている。
【0172】
【表11】
Figure 0004035195
【0173】
さてここで、減算器へのある入力の複数のラインは常にローであることに留意されたい。これらの入力を減算器への入力Bとして用いた場合(図3参照)、減算器回路を実質的に簡略化できる。なぜなら、これらの減算器に対応するスイッチは常にオフなので、これらのスイッチおよび関連するラインの全てを排除できるからである。
【0174】
ここで、減算器46、48、50の出力は、必要に応じて切り捨てを行い、13による除算を行い、さらに切り捨てを行って整数5で割り切れるようにした状態での整数XのRNS表記のx3桁、x4桁、x5桁にそれぞれ対応する。残りのワンホットRNS桁からa2の値を引いたことにより、x2RNS桁の値は0に減少している。ここでまた、x2桁を落とす。5による除算は、乗算器52、54および56のライン番号を再表記して5の乗法的逆数(即ち、5-1)による乗算を行うことにより行われる。
【0175】
以下に示すように、他の2つのRNS桁からa3を引いて、その後7-1を掛けることによって、a4が求められる。a3のモジュラス(7)はa4のモジュラス(11)よりも小さいので、加算器/減算器58の入力a3の後方部分の入力ラインをローにした状態で、a3の7本のラインを加算器/減算器58に直接付与できる。加算器/減算器60への対応する入力については、まず、図18に示される方法でa3のワンホットライン0〜6に対して論理和をとって、この7本のラインをmod(2)信号(2本のライン)とするか、あるいは、論理的に等価な、加算スイッチをその加算器/減算器に追加することによって得られる。次に、乗算器62および64によって、この減算の結果に乗法的逆数7-1を掛けてa4を得る。このa4をモジュラス2に変換し、加算器/減算器66によって乗算器64の出力からその変換値を引き、そして、乗算器68によって乗法的逆数11ー1を掛けてa5を得る。ここで、x5の範囲は0〜1であるが、a5の範囲は−1〜0である。従って、a5のワンホットライン0はワンホット0ラインであり、第2番目のa5ラインは実際はa5の−1ワンホットラインである。
【0176】
本発明によって実現される図16(a)の回路およびその他の回路は、演算が順次行われるために、好ましくない遅延を生じる場合がある。これは、クロック速度が遅い場合には許容可能であるが、速いクロック速度が要求される場合には、限界がある。従って、図16(a)の回路およびその他の回路については、1つ以上のレベルのパイプライン方式を用いて、非常に高速なクロック速度において演算が行えるようにすることが望ましい。
【0177】
次に、本発明のRNSワンホット方式におけるスケーリングの問題を考える。スケーリングでは、定数を用いた数Xの除算が行われる。本発明の好適な実施形態よるスケーリングは、扱う数をAMR表記して行われる。上記のように、ある数のAMR表記におけるAMR桁をその数のワンホットRNS表記を利用して決定する場合、各項を、それぞれのモジュラスで(ワンホットRNS方式)除算する(X’=(X−a1)/m1、X”=(X’−a2)/m2、...)。本発明のワンホットRNS方式による除算は前述の通りである。
【0178】
スケーリングに用いられる因数としては2通りの可能性がある。つまり、各RNS方式におけるモジュラスの1つ(または2つ以上のモジュラスの積)に等しい因数か、そうでない因数かである。因数がモジュラスの1つ(または2つ以上のモジュラスの積)に等しくない場合、スケーリングを行うRNS数に対してどれだけ切り捨てを行えばスケーリング因数で割り切れるようになるのかを、事前に知ることはできない。従って、切り捨て因数を決定するために、1つ(あるいは2つ以上)のモジュラスをスケーリング因数に等しくしておかなければならない。例えば、4によってスケーリングダウン(scale down)(除算)を行いたい場合、まず、整数mod(4)(新しいRNS桁)を求め、剰余(新しい桁の値)0、1、2または3を各RNS桁から引くことにより、その整数を4の整数倍の数にする。
【0179】
スケーリング因数が、残っているモジュラスの中の1つに等しい場合、切り捨て因数が分かる。切り捨て後は、切り捨て因数に等しいRNS桁の値は0になる。除算後は、この桁は消去される。切り捨て因数に等しいRNS桁の値が0になり、実質的に消去されても、他のモジュラスに対する除算を行って、正しい唯一の解を得ることができる。これは、ダイナミックレンジがスケーリング因数によって減少しても、スケーリングされた数のダイナミックレンジも同じだけ減少しており、このRNS方式の新しい範囲に適合するからである。ここで、消去されたモジュラスを再生することにより、元のダイナミックレンジを復元できる。
【0180】
上記いずれの場合も、除算の問題に関して重要なのは、残っているRNS桁を用いて別のRNS桁を生成することである。つまり、(1)除数と消去された1つモジュラス(または2つ以上のモジュラスの積)とが等しくない場合には、被除数が除数で割り切れるようにその整数に対して切り捨て/切り上げを行うことができるように、除算の前に別のRNS桁の生成を行い、(2)除数と消去された1つモジュラス(または2つ以上のモジュラスの積)とが等しい場合には、除算の後に別のRNS桁を生成して、その除算で失われたモジュラスを再生する。これは、従来の技術で説明した「基数拡張」と呼ばれる方法によって行われる。この方法自体はもはや一般的なものであるが、本発明のワンホットRNS方式と組み合わせることによって独自の特徴を呈する。
【0181】
図22は、13、5、7、11、2RNS方式に基づくスケーラの回路を示すブロック図である。ここでは、スケーリング因数は5×13=65である。図22の回路では、モジュラス5桁およびモジュラス13桁が一旦消去されるが、これらの桁は後に再生されて13、5、7、11、2RNS方式の完全な範囲が再構築される。残された3つのRNS桁は、乗算器52、54および56出力として得られる。この図22の回路は図16(a)に示した回路に類似であり、AMR表記の数のa1〜a5を求めるために用いられる。
【0182】
3、a4およびa5が得られたところで、上記の等式を用いてスケーリングで失われたx1/65およびx2/65を再生する。
【0183】
1/65=((a3)mod(13)+(a4×7)mod(13)+(a5×7×11)mod(13))mod(13)
2/65=((a3)mod(5)+(a4×7)mod(5)+(a5×7×11)mod(5))mod(5)
加算器/減算器74の一方の入力は、ワンホット形式のa3mod(13)であり、加算器/減算器74の他方の入力は、a4mod(13)に7を掛けたものである。a4のとり得るワンホットRNS値の範囲は0〜10であり、7を掛けると、0〜70の範囲のmod(13)値が得られ、これが加算器/減算器74の入力となる。この加算器/減算器74への入力の残りのワンホットラインはローに接続される。加算器/減算器76への各入力は、(a4×7)mod(5)=(a4×5)mod(5)+(a4×2)mod(5)=(a4×2)mod(5)である。このように、乗算器72によってa4に2が掛けられる。また、図17および図18に類似の回路を用いて、mod(11)ワンホットRNS信号からmod(5)ワンホットRNS信号へのa4の変換を行うこともできる。
【0184】
加算器/減算器74および76の出力(それぞれ、(a3)mod(13)+(a4×7)mod(13)および(a3)mod(5)+(a4×7)mod(5))は、それぞれ、加算器/減算器82および84の第1の入力に接続される。さらに、(a5×7×11)mod(13)および(a5×7×11)mod(5)は、加算器/減算器82および84の第2の入力に接続される。これにより、65による除算で失われたRNS桁の再生が完了する。Xの値の範囲に応じて、a5が正しく解釈されるように注意しなければならない。第1の解釈では(Xの範囲が正のみの場合)、a5は0または+1の値をとり得る。ここで、a5mod(5)およびa5mod(13)は共にa5に等しい(即ち、0または+1)。第2の解釈では(Xの範囲が正および負の場合)、a5は0または−1の値をとり得る。ここで、a5が0である場合、a5mod(5)およびa5mod(13)は0であるが、a5が−1である場合、a5mod(5)は4、a5mod(13)は12である。よって、a5の2本のワンホットRNSラインを乗算器78および80に入力する前の、これらのラインの再表記は、Xの範囲が正のみである場合と、正および負の場合とで異なったものとなる。
【0185】
最後に、(a5×7×11)mod(13)=(a5×77)mod(13)=(a5×65)mod(13)+(a5×12)mod(13)=(a5×12)mod(13)であり、(a5×7×11)mod(5)=(a5×77)mod(5)=(a5×75)mod(5)+(a5×2)mod(5)=(a5×2)mod(5)であるので、乗算器78および80によって掛ける値には、12および2を用いることができる。このようにして、加算器/減算器82および84の出力は、既に、モジュラス13およびモジュラス5になっており、それぞれ、x1/65およびx2/65である。
【0186】
ここまで、本発明のワンホットRNS方式における様々な基本演算を説明したが、上記の演算を組み合わせればその他の演算も可能であることは明らかである。例えば、ワンホットRNS形式で表記された数Xの絶対値を求める場合、まず、上記の方法によってXが正か負かを決定し、Xが負の場合、ワンホットRNS形式でXに−1を掛ければ良い。同様に、ワンホットRNS形式の2数XおよびYを比較する場合、ワンホットRNS形式によってX−Yの減算を行い、上記の方法によってその差(X−Y)の符号を決定する、および/または、その差が0であることを検出すれば良い。差「0」の検出は、減算結果をワンホットRNS表記したときの「0」ラインが全てハイであることを検出して行えば良い。
【0187】
本発明のワンホットRNS方式によるデジタル信号またはデジタル情報の処理が終了した後、さらなる情報の処理、格納ならびに他のハードウェアあるいは相対的に離れた位置への転送を行うために2進数方式へ戻される場合がほとんどである。また、本発明のワンホットRNS方式によって特定の処理を行い、1つあるいは複数の処理を行うために2進数に変換し、そして、本発明のワンホットRNS方式に再変換してさらなる処理を行う場合もある。
【0188】
本発明のワンホットRNS方式から2進数への変換を行う場合、数XのワンホットRNS表記を用いて、XをAMR表記したときのan値を(ワンホット方式に基づいて)決定する。
【0189】
X=a1+a2×m1+a3×(m1×m2)+...+aN-1×(m1×m2×...×mN-2)+aN×(m1×m2×...×mN-2×mN-1
但し、各anの値は変数であるが、その全モジュラスは所定の(既知の)値である。よって、Xについての上記の等式は、
X=a1+a2×c1+a3×c2+...+aN-1×cN-2+aN×cN-1
但し、c1、c2、...は、所定の(既知の)定数である。
【0190】
ワンホットRNS表記された数を用いて、ワンホット形式の各anの値を決定する方法については、図16(a)を参照して先に説明した通りである。ワンホット形式のanの様々な値が与えられたとき、それらの値は、anの2進数表記の完全に復号された値に等しい。これをふまえて、2進数への最終的な変換を行う非常に簡便な方法として、ワンホット形式のanの各値を復号アドレスとして(ROM等の)チップ上にある関連したルックアップテーブル(以下、LUT)に格納する方法がある。このルックアップテーブルは、それぞれ、anでアドレスされたとき、2進数形式でan×cn-1を出力するようにプログラムされている。これらの出力を標準的な2進数加算器を用いて加算する。これは、図23に示されている。
【0191】
図23および関連する等式について、各ルックアップテーブル(LUT)に必要なエントリ(アドレス)の数は、XをワンホットRNS表記したときのモジュラスに関連する値に依存するが、いずれの場合も、各ルックアップテーブルは比較的小さい。また、最小の定数はc0=1であり、最大の定数はcN-1である。変数a1〜aNのそれぞれがとり得る最大値は、そのワンホットRNS方式の各モジュラスに依存するが、aN×cN-1はa1よりもずっと大きくなる。従って、aN×cN-1に対するルックアップテーブルの出力はa1に対する出力よりもずっと幅広(多ビット)になる。それでも、その2進数加算器(あるいは、カスケードされた加算器)に対して必要とされる幅同様、最も幅広のルックアップテーブル出力に対して必要な出力の幅は適当なものである。従って、2進数加算器の出力は、ビットシリアルまたはバイトシリアル形式等の完全並列形式(full parallel form)以外の形式で読み出される場合があるものの、高速性の観点から、全幅ルックアップテーブルおよび2進数加算器が好まれる。例えば、図16(a)の説明の際に用いられた13、5、7、11、2RNS方式の場合、その合計範囲は13×5×7×11×2=10,010(10進)である。この範囲は、幅13ビット+キャリービットの加算器で2進数表記できる。正のみの範囲を考えると、N番目のルックアップテーブルが2進数形式で収容する必要がある出力は、13×5×7×11=5005である。この出力に対して必要な2進数出力幅は13ビットとなるが、エントリは、0および+5005(2進数表記:1001110001101)の2つで済む。正負の数を含む範囲を考えた場合、N番目のルックアップテーブルは、0および−5005(14ビットの2の補数2進数表記:10110001110011)を収容する必要がある。
【0192】
本発明の多くの用途において、その演算結果の潜在的な正確さは、2進数形式に戻す際に必要な程度以上である。よって、Xを、
X=a1+...+an×cn-1+...+aN×cN-1
のようにAMR表記すると、XのAMR表記におけるn>1である値の項のみをXの2進数表記への変換に含めれば良いことになる。これもまた、設計の時点で決定すれば良い。
【0193】
これまでに、本発明のワンホットRNS方式、ならびに2進数から本発明のワンホットRNS方式へ、またその逆方向の変換方法への様々な応用例を説明したが、ここで、本発明の典型的な応用例を記載する。図24は、2進数で入力および出力され、内部ではワンホットRNS数で処理を行う4タップの有限インパルス応答(FIR)フィルタを示す図である。図24の右下に、この図において用いられている様々な構成要素の名称が書かれている。各RNS桁毎の処理の縦列は、どれも同じ構成となっている(フィルタ入力および係数用の2進数/ワンホットRNS変換器、乗算器および加算器)。しかし、これらの縦列はそれぞれ別のワンホットRNS桁、即ち、別のモジュラス(ワンホットラインの数が異なる)に対応しており、その詳細なワンホットRNS回路はそれぞれ異なる。図24に示されるフィルタの応答についての等式は、
out=(c4+c3×Z-1+c2×Zー2+c1×Zー3)Xin
となる。
【0194】
図24に示されるフィルタの好適な実施形態においては、2進数入力Xinは6ビット2進数信号、2進数出力Youtは8ビット2進数信号、そして、係数c1〜c4は6ビットであり、内部ワンホットRNS回路は、2、5、7、11、13RNS方式によって動作する。
【0195】
図24に示されるフィルタはデジタル信号処理の一例に過ぎない。このようなデジタル信号処理においては、加算、減算および乗算等の演算を行う際に2進数加算器に生じがちなリプル通過を考慮して、各演算処理における信号変換の数を大幅に制限し、多重変換信号をなくしている。これにより、電力の消失を最小限に抑えつつ高効率且つ高速な信号処理を実現している。本発明のワンホットRNS方式による素子は、その機能レベル(即ち、構造の複雑さ)によって、特定のライン上に1箇所あるいは複数箇所にわたってラインドライバを設けなければならない、あるいは設けるべき場合がある。また、適当なレベルのパイプライン方式を用いて、ライン容量および他の遅延の原因を排除すべき場合もある。これらの措置によって、必要に応じてより高速なクロック速度にも対応できる信号処理が実現される。
【0196】
図24に示されるフィルタ例では、出力の際、信号が2進数形式に再変換される。用途によっては、以降の信号処理においてもワンホットRNS形式で行われる場合もある。そのような場合、ワンホットRNSフィルタ出力ラインを次のワンホットRNS信号処理回路に直接接続することもできる。また、上記例のフィルタの場合、フィルタ処理が全て終了した後に結果のスケーリングを行っているが、信号処理中のより以前のプロセスにおいてスケーリングを行う方が良い場合もある。本明細書中に開示される回路例においては、特定の演算を詳細に示したが、数学的な同一性(mathematical identities)を用いたり、他の順番で演算を行うことにより、多くの同等な形態が可能である。
【0197】
本発明のワンホットRNS方式の応用例としてFIRフィルタを例に挙げたが、本発明のワンホットRNS方式によって他の多くの素子が実現できる。例えば、変調、復調、信号検出等、従来のデジタル信号プロセッサ(DSP)によって一般的に実現されているほとんど全ての機能が実現可能となる。また、2進数から本発明のワンホットRNS方式への変換を記載したが、ワンホットRNS入力信号が得られる他の方法および装置を用いることもできる。例えば、アナログ/デジタル専用変換器を用いて、アナログ信号を直接ワンホットRNS表記に変換することが可能である。
【0198】
本明細書中に開示される概念の別の応用例は、デジタル通信に関するものである。この分野においてはデジタル情報は、パルスの存在が「1」を表し、パルスがないことで「0」を表す信号によって伝達される。概して、パルス自体は連続時間の性質を有する。理想的には、デジタル「1」を表すパルス1つ分の長さは短い方が良いが、多くの場合、このパルスの長さは、そのデジタルビットに割り当てられた時間よりも長い。このようなパルスは、同じデジタルシーケンス内の隣接ビットの値(「0」または「1」)の検出に干渉する。この作用は、シンボル間干渉(inter-symbol interference)(ISI)として知られている。それ自体は望ましくないものであるが、バンド幅効率や他の経済的な面を考慮して、ISIをデジタル通信チャネル内にあえて導入することもよくある。ISIは受信システム内に残り、混線作用(confounding effect)を解明する。
【0199】
このISIの問題に対処するべく、受信システムにおいてデジタル信号処理を行うことが可能である。つまり、受信システムにおいて、受信信号をサンプルし、アナログ/デジタル変換器を用いてそれをデジタル化するのである。通常、サンプリングレートはビットレートに等しい。このようにサンプルされたデータシーケンスもISIを示す。つまり、デジタル「1」を表す時間連続パルスが、サンプルデータパルスとなる。このサンプルデータパルスの長さ(継続時間)は、1ビット時間よりも長いため、隣接ビットの検出に干渉する。
【0200】
1ビット時間内にパルスの長さを納めておくために、サンプルデータ「等化」フィルタを信号路に配設しても良い。先に説明したような、FIRフィルタをこの用途に用いることが可能である。しかし、ノイズが存在する場合(高周波ノイズの増幅に起因)、そのエラーレートを考えるとこのような方法が最良でないことは、デジタル通信の分野では周知である。また別の解決方法は「判定帰還等化器(Decision Feedback Equalizer)」(DFE)の使用である。これもやはり最良の手段ではないが、その簡便性によって関心を集めている。その性能は、等化フィルタよりも優れている。
【0201】
図25のブロック図にはDFEが示されており、2つのFIRフィルタおよび比較器を含んでいる。これらのフィルタは、それぞれ、G(z)、H(z)として示されている。サンプルデータ入力パルスはISIを示す。このISIは、「前方部」ISIおよび「後方部」ISIの2つの成分に分解される。FIRフィルタG(z)は、「前方部」ISIを除去する目的で設けられている。上記の等化フィルタと対照的に、概して、G(z)は、「前方部」ISIを除去しつつ高周波ノイズを増幅しないように設計することができる。FIRフィルタH(z)は「後方部」ISIを除去する目的で設けられている(除去されなければ、「後方部」ISIは以降のビットの検出に干渉する)。H(z)は、比較器の出力によって作動するので、ノイズの発生に寄与しない。フィルタがISIを除去すればするほど、比較器へ入力される信号のISIが低減され、比較器がパルスの有無を検出しやすくなる。パルスの有無の検出は、入力が閾値より高いか低いかに基づいて行われる。
【0202】
上記DFE内のデジタル信号処理ブロックの代わりに、RNS処理ブロックを用いても良い。FIRフィルタは、(出力においてRNS/2進数変換あるいはスケーリングブロックのない)上記フィルタと同様のものであって良い。加算接合(summing junction)は1つのRNS減算器である。比較器は、(閾値を設定するための)減算器とRNS符号検出ブロックとを組み合わせて形成できる。閾値が固定されれば、減算器ブロックは、トランジスタなしの単なるラインの再表記(再配線)になる。入力値が「0」および「1」の2つしかないことが分かっているので、フィルタH(z)も簡略化できる。具体的には、H(z)への入力における2進数/RNS変換器は重要でなくなる。
【0203】
本発明のワンホットRNS方式は、チップ面積に関しては不十分なものである。しかし、このスキームを用いた演算ブロックが簡潔に構成されるのでライン上の負荷は小さい。あるいは、負荷が全くない場合もある。これによって、電力の消失が最低限に抑えられ、処理速度が最大化される。また、本発明の好適な実施形態においては、各桁のワンホット物理的表記による多重RNS記数方式を用いたが、ワンコールド(one-cold)方式を代わりに用いても良い。さらに、各桁の各ラインがそれぞれ独自にその状態を定義されていても良い。しかし、論理的状態の割り当てとしては、本明細書中に記載されたワンホット構成が好ましい。
【0204】
上記のように、本発明の様々な実施形態を詳細に記載且つ開示したが、本発明の概念および範囲から逸脱することなく、その形態および細部に様々な改変を行うことは、当業者にとっては自明である。
【0205】
【発明の効果】
本発明によれば、ワンホットRNS形式で表された入力を受け取り、ワンホットRNS形式で出力を行う処理回路部を用いて信号を処理するステップおよび装置とを有する信号処理方法および装置が提供される。
【0206】
RNS方式とワンホットスキームとを組み合わたワンホットRNS形式をデジタル信号処理に利用することにより、 RNS方式による高速化と、ワンホットスキームによる信号活性レベルおよび信号ラインの負荷の低減による低電力化が可能な信号処理方法および装置を提供することができる。
【図面の簡単な説明】
【図1】(a)は、特定の回路図を簡略化するための2方向性スイッチ記号を示し、(b)は、(a)のスイッチ記号にあたる実際のMOS回路を示す。
【図2】ワンホットRNS方式で表記された2数のモジュラス3桁同士を加算する回路の一例を示す回路図である。
【図3】ワンホットRNS方式で表記された2数のモジュラス3桁同士の減算を行う回路の一例を示す回路図である。
【図4】ワンホットRNS方式で表記された2数のモジュラス3桁同士の乗算を行う回路の一例を示す回路図である。
【図5】3、5、7ワンホットRNS方式において、整数10のRNS等価値(103)を任意のワンホットRNS入力に加算する回路の一例を示す回路図である。
【図6】3、5、7ワンホットRNS方式において、整数10のRNS等価値(103)を任意のワンホットRNS入力から減算する回路の一例を示す回路図である。
【図7】3、5、7ワンホットRNS方式において、10による乗算を行う回路の一例を示す回路図である。
【図8】3、5、7ワンホットRNS方式において、符号の反転(−1による乗算)を行う回路の一例を示す回路図である。
【図9】ワンホットRNS方式において、特定の演算を連結して行う回路の一例を示す回路図である。
【図10】符号なしの2進数から3、5、7ワンホットRNS表記への変換を行う回路を示すブロック図である。
【図11】符号なしの2進数から3、5、7ワンホットRNS表記のモジュラス3桁およびモジュラス5桁への変換を行う回路を示すブロック図である。
【図12】符号なしの2進数からワンホットRNS表記のモジュラス3桁への変換を行う別の回路を示すブロック図である。
【図13】特定のワンホットRNS入力ラインの状態が予め決まっている場合に可能となる回路の簡略化を加算器回路の例で示す回路図である。
【図14】符号なしの2進数から3、5、7ワンホットRNS表記への変換を行う回路であって、最上位ビットから順に変換を行うタイプのものを示すブロック図である。
【図15】2の補数の2進数で表記した数を、その数のワンホットRNS表記に変換する回路を示すブロック図である。
【図16】(a)は、13、5、7、11、2ワンホットRNS形式で表現された数Xの符号を決定する回路を示すブロック図であり、(b)は(a)において用いられている、ある値のモジュラス(ラインの数)の変換を示す記号を示す図である。
【図17】図16(a)の減算器30のための、モジュラスを13から5に変換する回路を示す回路図である。
【図18】図16(a)の減算器36のための、モジュラスを13から2に変換する回路を示す回路図である。
【図19】図20または図21と組み合わされ、x2−a1mod(5)のライン0またはライン1について、図17の回路と図16(a)の減算器30との連結を説明するための図である。
【図20】図19と組み合わされ、x2−a1mod(5)のライン0について、図17の回路と図16(a)の減算器30との連結を説明するための図である。
【図21】図19と組み合わされ、x2−a1mod(5)のライン1について、図17の回路と図16(a)の減算器30との連結を説明するための図である。
【図22】スケーラおよびワンホットRNS方式によるスケーリングによって失われたRNS桁を再生するための回路を示すブロック図である。
【図23】ワンホットRNS形式で表現された数Xを2進数表記に変換する回路の一例を示すブロック図である。
【図24】2進数で入力および出力され、内部ではワンホットRNS数で処理を行う4タップ有限インパルス応答(FIR)フィルタを示す図である。
【図25】判定帰還等化器(DFE)を示すブロック図である。
【符号の説明】
SW1〜SW9 2方向性スイッチ

Claims (61)

  1. 電子処理回路における性能を向上させ、電力消費を低減するように複数の電気信号を処理する方法であって、
    該方法は、
    (a)複数の入力信号ライン上で複数の電気信号を受信するステップであって、RNS数を表すために、複数のRNS桁のそれぞれの桁の1つの入力信号ラインのみが異なる状態にあるように、各電気信号がワンホットRNS形式で符号化される、ステップと、
    (b)ワンホットRNS形式で符号化された複数の電気信号を処理するように設計された該電子処理回路を提供するステップと、
    (c)ワンホットRNS形式で符号化された複数の電気信号を処理するように設計された該電子処理回路を用いて、該複数の電気信号を処理することにより、ワンホットRNS形式で表された複数の処理済み電気信号を生成するステップと、
    (d)該電子処理回路から該複数の処理済み電気信号を複数の出力信号ラインに出力するステップと
    を包含する、方法。
  2. 前記複数の処理済み電気信号を出力する前に、ワンホットRNS形式で符号化された該複数の処理済み電気信号を2進数形式で符号化された複数の処理済み電気信号に変換するステップをさらに包含する、請求項1に記載の方法。
  3. 前記ワンホットRNS形式で符号化された前記複数の処理済み電気信号を2進数形式で符号化された複数の処理済み電気信号に変換するステップは、先ず、該複数の処理済み電気信号の符号化をワンホットRNS形式からワンホット関連混合基数形式に変換し、次いで、該複数の処理済み電気信号の符号化をワンホット関連混合基数形式から2進数形式に変換するステップを包含する、請求項2に記載の方法。
  4. RNS数を表すために、複数のRNS桁数のそれぞれの桁の1つの信号ラインのみが異なる状態にあるように、ワンホットRNS符号化形式以外の符号化形式で受信された複数の電気信号をワンホットRNS形式で符号化された複数の電気信号に変換する初期ステップをさらに包含する、請求項1に記載の方法。
  5. 前記受信された複数の電気信号は、はじめに、2進数形式で符号化される、請求項4に記載の方法。
  6. 前記処理ステップは、ワンホットRNS形式で符号化された2つの電気信号の和を取ることにより、ワンホットRNS形式で符号化された処理済み電気信号を生成することを包含する、請求項1に記載の方法。
  7. 前記2つの電気信号のうちの第1の電気信号は、ワンホットRNS形式で符号化された変数であり、該2つの電気信号のうちの第2の電気信号は、ワンホットRNS形式で符号化された定数である、請求項6に記載の方法。
  8. 前記2つの電気信号の両方は、ワンホットRNS形式で符号化された変数である、請求項6に記載の方法。
  9. 前記処理するステップは、ワンホットRNS形式で符号化された1つの電気信号をワンホットRNS形式で符号化された別の電気信号から減算することにより、ワンホットRNS形式で符号化された処理済み電気信号を生成することを包含する、請求項1に記載の方法。
  10. 前記複数の電気信号のうちの1つは、ワンホットRNS形式の変数であり、該複数の電気信号のうちの他は、ワンホットRNS形式で符号化された定数である、請求項9に記載の方法。
  11. 各電気信号は、ワンホットRNS形式で符号化された変数である、請求項9に記載の方法。
  12. 前記処理するステップは、ワンホットRNS形式で符号化された1つの電気信号をワンホットRNS形式で符号化された別の電気信号に乗算することを包含する、請求項1に記載の方法。
  13. 前記複数の電気信号のうちの1つは、ワンホットRNS形式で符号化された変数であり、該複数の電気信号のうちの他は、ワンホットRNS形式で符号化された定数である、請求項12に記載の方法。
  14. 前記2つの電気信号の両方は、ワンホットRNS形式で符号化された変数である、請求項12に記載の方法。
  15. 前記処理するステップは、ワンホットRNS形式で符号化された複数の電気信号のうちの1つのモジュラスを変更するステップを包含する、請求項1に記載の方法。
  16. 前記処理するステップは、ワンホットRNS形式で符号化された複数の電気信号のうちの1つのスケーリングを行うステップを包含する、請求項1に記載の方法。
  17. 前記処理するステップは、ワンホットRNS形式で符号化された複数の電気信号のうちの1つのスケーリングの際に失われたモジュラスを再生成するステップを包含する、請求項16に記載の方法。
  18. 前記複数の電気信号は、正および負の数を表すことができ、
    前記処理するステップは、ワンホットRNS形式で符号化された複数の電気信号のうちの1つが正または負の数を表しているかを決定するステップを包含する、請求項1に記載の方法。
  19. 前記処理するステップは、デジタルフィルタ処理を包含する、請求項1に記載の方法。
  20. 前記デジタルフィルタ処理は、有限インパルス応答フィルタ処理を包含する、請求項19に記載の方法。
  21. 前記処理するステップは、判定帰還等価処理を包含する、請求項1に記載の方法。
  22. ワンホットRNS形式で複数の電気信号を処理するように設計された前記電子処理回路は、複数の2方向性スイッチ、複数の論理ゲート、複数のプルダウンスイッチ、または、複数の入力信号ラインから複数の出力信号ラインへの再ルーティングのセットのうちの1つ以上の回路要素である、請求項1に記載の方法。
  23. 電子処理回路における性能を向上させ、電力消費を低減するように複数の電気信号を処理する方法であって、
    該方法は、
    (a)複数の導電性入力信号ライン上でワンホットRNS形式で符号化された複数の電気信号を受信するステップであって、剰余数記数方式(Residue Number System)における数を表すために、複数のRNS桁のそれぞれの桁の1つの導電性入力信号ラインのみが異なる状態にあるように、各電気信号がワンホットRNS形式で符号化され、剰余数記数方式における各数は、N個の桁によって表され、Nは1より大きく、各桁は、それ自身の限定された範囲を有し、
    X=Xma、Xmb、...、XmN
    ここで、Xma、Xmb、...、XmNのそれぞれは、自然数XのRNS表記における桁であり、
    、m、...mは、異なる整数のモジュラスであり、m、m、...mのそれぞれは、自然数NのRNS表記におけるそれぞれの桁に関連付けられており、
    ma、Xmb、...、XmNのそれぞれは、それぞれ、m、m、...mの範囲を有しており、
    自然数XにおけるXma、Xmb、...、XmNの各桁は、それぞれ、複数の導電性入力信号ラインのm、m、...mの状態によって表され、該複数の導電性入力信号ラインのそれぞれは、2つの状態を有し、各桁の値の表記は、それぞれの桁を表す該複数の導電性入力信号ラインのうちの正確に2つの状態における差分だけ、それぞれの桁の他のいずれの桁の値の表記とは異なる、ステップと、
    (b)ワンホットRNS形式で符号化された複数の電気信号を処理するように設計された該電子処理回路を提供するステップと、
    (c)ワンホットRNS形式で符号化された複数の電気信号を処理するように設計された該電子処理回路を用いて、受信された複数の電気信号を処理することにより、ワンホットRNS形式で符号化された複数の処理済み電気信号を生成するステップと、
    (d)該複数の処理済み電気信号を複数の導電性出力信号ラインに出力するステップと
    を包含する、方法。
  24. 前記処理するステップは、ワンホットRNS形式で符号化された複数の電気信号を加算するように設計された加算器回路による加算処理を包含する、請求項23に記載の方法。
  25. 前記処理するステップは、ワンホットRNS形式で符号化された複数の電気信号を減算するように設計された減算器回路による減算処理を包含する、請求項23に記載の方法。
  26. 前記処理するステップは、ワンホットRNS形式で符号化された複数の電気信号を乗算するように設計された乗算器回路による乗算処理を包含する、請求項23に記載の方法。
  27. 前記処理するステップは、ワンホットRNS形式で符号化された電気信号のモジュラスを変更するステップを包含する、請求項23に記載の方法。
  28. 前記処理するステップは、ワンホットRNS形式で符号化された電気信号のスケーリングを行うステップを包含する、請求項23に記載の方法。
  29. 前記処理するステップは、ワンホットRNS形式で符号化された電気信号のスケーリングの際に失われたモジュラスの桁を再生成するステップを包含する、請求項28に記載の方法。
  30. ワンホットRNS形式で符号化された前記電気信号は、正および負の数を表すことができ、
    前記処理するステップは、ワンホットRNS形式で符号化された電気信号が正または負の数を表しているかを決定するステップを包含する、請求項23に記載の方法。
  31. 前記処理するステップは、デジタルフィルタ処理を包含する、請求項23に記載の方法。
  32. 前記デジタルフィルタ処理は、有限インパルス応答フィルタ処理を包含する、請求項31に記載の方法。
  33. 前記処理するステップは、判定帰還等価処理を包含する、請求項23に記載の方法。
  34. ワンホットRNS形式で電気信号を処理するように設計された前記電子処理回路は、複数の2方向性スイッチ、複数の論理ゲート、複数のプルダウンスイッチ、または、複数の入力信号ラインから複数の出力信号ラインへの再ルーティングのセットのうちの1つ以上の回路要素である、請求項23に記載の方法。
  35. 性能を向上させ、電力消費を低減するように、ワンホットRNS形式で符号化された複数の電気信号を処理する装置であって、
    該装置は、
    ワンホットRNS形式で符号化され、複数の第1の入力ラインmai+mbi+...+mNiを有する第1の入力電気信号を受信するための第1の入力であって、mai、mbi、...mNiは、N個の異なる整数であり、Nは1より大きく、各入力ラインは、2つの状態を有し、該複数の第1の入力ラインは、N個のライン群に論理的に構成されており、各ライン群は、それぞれ、mai、mbi...mNi個のラインを有し、各第1の入力電気信号は、該複数のラインの状態によって表され、表されたいずれの第1の入力電気信号に対する該N個のライン群のそれぞれにおける該複数のラインの状態は、他のいずれの第1の入力電気信号のそれぞれのライン群における該複数のラインの状態とは、あったとしても、それぞれの群における正確に2つのライン分だけ異なり、該第1の入力電気信号を表すために、第1の入力ラインのそれぞれの群において1つのラインのみが他のラインとは異なる状態にある、第1の入力と、
    複数の処理済み出力信号を出力するための複数の出力ラインmao+mbo+...+mNoであって、mao、mbo...mNoは、N個の異なる整数であり、Nは1より大きく、各出力ラインは2つの状態を有し、該複数の出力ラインは、N個のライン群に論理的に構成されており、各ライン群は、それぞれ、mao、mbo...mNo個のラインを有し、各処理済み電気信号は、該複数のラインの状態によって表され、表されたいずれかの処理済み電気信号に対するN個のライン群のそれぞれにおける該複数の出力ラインの状態は、他のいずれの処理済み電気信号のそれぞれのライン群における該複数のラインの状態とは、あったとしても、それぞれの群における正確に2つのライン分だけ異なり、該処理済み電気信号を表すために、出力ラインののそれぞれの群において1つのラインのみが他のラインとは異なる状態にある、複数の出力ラインmao+mbo+...+mNoと、
    ワンホットRNS形式で符号化された電気信号を処理するように設計されたワンホットRNS回路であって、該ワンホットRNS回路は、ワンホットRNS形式で符号化された該第1の入力電気信号を受信するための該複数の第1の入力ラインを有する該第1の入力と該処理済み電気信号を出力するための該複数の出力ラインとに結合されており、該ワンホットRNS回路は、該第1の入力電気信号の現在の入力を表す該複数の第1の入力ラインの現在の状態に応答して、該処理済み電気信号を表す該複数の出力ラインの状態を生成する、ワンホットRNS回路と
    を備えた、装置。
  36. 前記複数の出力ラインの状態を生成する前記ワンホットRNS回路は、前記第1の入力電気信号の前の入力を表す前記複数の第1の入力ラインの前の状態にも応答する、請求項35に記載の装置。
  37. ワンホットRNS形式で符号化され、複数の第2の入力ラインmai+mbi+...+mNiを有する第2の入力電気信号を受信するための第2の入力をさらに有し、各入力ラインは、2つの状態を有し、該複数の第2の入力ラインは、N個のライン群に論理的に構成されており、各ライン群は、それぞれ、mai、mbi...mNi個のラインを有し、各第2の入力電気信号は、該複数のラインの状態によって表され、表されたいずれの第2の入力電気信号に対する該N個のライン群のそれぞれにおける該複数の第2の入力ラインの状態は、他のいずれの表され得る第2の入力電気信号のそれぞれのライン群における該複数のラインの状態とは、あったとしても、それぞれの群における正確に2つのライン分だけ異なり、該第2の入力電気信号を表すために、第2の入力ラインのそれぞれの群において1つのラインのみが他のラインとは異なる状態にあり、
    該第1の入力に結合された前記ワンホットRNS回路は、ワンホットRNS形式で符号化された該第2の入力電気信号を受信するための該複数の第2の入力ラインを有する該第2の入力に結合されており、該ワンホットRNS回路は、該第1の入力電気信号の現在の入力および該第2の入力電気信号の現在の入力をそれぞれ表す該複数の第1の入力ラインの現在の状態および該複数の第2の入力ラインの現在の状態に応答して、該処理済み電気信号を表す該複数の出力ラインの状態を生成する、請求項35に記載の装置。
  38. 前記ワンホットRNS回路は、加算器を含み、該ワンホットRNS回路よって生成される前記複数の出力ラインの状態は、前記第1の入力電気信号と、前記第2の入力電気信号と、前記複数の第1の入力ラインおよび前記複数の第2の入力ラインのそれぞれの状態とによって表される情報の和を表す、請求項37に記載の装置。
  39. 前記ワンホットRNS回路は、減算器を含み、該ワンホットRNS回路よって生成される前記複数の出力ラインの状態は、前記第1の入力電気信号と、前記第2の入力電気信号と、前記複数の第1の入力ラインおよび前記複数の第2の入力ラインのそれぞれの状態とによって表される情報の差を表す、請求項37に記載の装置。
  40. 前記ワンホットRNS回路は、乗算器を含み、該ワンホットRNS回路よって生成される前記複数の出力ラインの状態は、前記第1の入力電気信号と、前記第2の入力電気信号と、前記複数の第1の入力ラインおよび前記複数の第2の入力ラインのそれぞれの状態とによって表される情報の積を表す、請求項37に記載の装置。
  41. 性能を向上させ、電力消費を低減するように複数の電気信号を処理する電子回路であって、
    該電子回路は、
    複数の入力信号ラインに入力される複数の入力電気信号を受信する複数の入力信号ラインであって、RNS数を表すために、複数のRNS桁の各桁の1つの入力信号ラインのみが異なる状態にあるように、各入力電気信号がワンホットRNS形式で符号化される、複数の入力信号ラインと、
    ワンホットRNS形式で符号化された複数の電気信号を処理するように設計されたワンホットRNSプロセッサであって、該ワンホットRNSプロセッサは、該複数の入力電気信号に応答して、ワンホットRNS形式で符号化された複数の処理済み電気信号を生成するように該複数の入力信号ラインに結合されており、該ワンホットRNSプロセッサは、ワンホットRNS形式で符号化された複数の電気信号を処理するように設計された、ワンホットRNS加算器、ワンホットRNS減算器、または、ワンホットRNS乗算器のうちの1つ以上を含む、ワンホットRNSプロセッサと、
    該ワンホットプロセッサに結合された複数の出力信号ラインであって、複数の出力信号ラインは、該複数の処理済み電気信号を出力し、RNS数を表すために、複数のRNS桁の各桁の1つの出力信号ラインのみが異なる状態にあるように、各処理済み電気信号がワンホットRNS形式で符号化される、複数の出力信号ラインと
    を備えた電子回路。
  42. 前記ワンホットRNSプロセッサと前記複数の出力信号ラインとの間に結合された電気信号符号化変換器をさらに備え、
    該電気信号符号化変換器は、ワンホットRNS形式で符号化された前記複数の処理済み電気信号を受信し、2進数形式で符号化された複数の処理済み電気信号を該複数の出力信号ラインに生成する、請求項41に記載の電子回路。
  43. 前記電気信号符号化変換器は、
    ワンホットRNS形式で符号化された前記複数の処理済み電気信号をワンホット関連混合基数形式で符号化された複数の処理済み電気信号に変換する装置と、
    ワンホット関連混合基数形式で符号化された該複数の処理済み電気信号を2進数形式で符号化された複数の処理済み電気信号に変換する装置と
    をさらに備える、請求項42に記載の電子装置。
  44. 前記複数の入力信号ラインに結合された電気信号符号化変換器をさらに備え、
    該電気信号符号化変換器は、ワンホットRNS形式以外の形式で符号化された複数の入力電気信号を受信し、ワンホットRNS形式で符号化された複数の入力電気信号を該複数の入力信号ラインに生成する、請求項41に記載の電子回路。
  45. 前記ワンホットRNS形式以外の形式は、2進数形式であり、前記電気信号符号化変換器は、2進数形式で前記複数の入力電気信号を受信し、ワンホットRNS形式で符号化された複数の入力電気信号を前記複数の入力信号ラインに生成する、請求項44に記載の電子回路。
  46. 前記ワンホットRNSプロセッサは、ワンホットRNS形式で符号化された2つの入力電気信号を加算するワンホットRNS加算器を含む、請求項41に記載の電子回路。
  47. 前記ワンホットRNS加算器は、ワンホットRNS形式で符号化された2つの入力電気信号を加算する装置を含み、該2つの電気信号のうちの第1の電気信号は、ワンホットRNS形式で符号化された変数であり、該2つの電気信号のうちの第2の電気信号は、ワンホットRNS形式で符号化された定数である、請求項46に記載の電子回路。
  48. 前記ワンホットRNS加算器は、ワンホットRNS形式で符号化された2つの入力電気信号を加算する装置を含み、該2つの入力電気信号の両方は、ワンホットRNS形式で符号化された変数である、請求項46に記載の電子回路。
  49. 前記ワンホットRNSプロセッサは、ワンホットRNS形式で符号化された2つの入力電気信号を減算するワンホットRNS減算器を含む、請求項41に記載の電子回路。
  50. 前記ワンホットRNS加算器は、2つの入力電気信号を減算する装置を含み、該2つの信号のうちの第1の入力電気信号は、ワンホットRNS形式で符号化された変数であり、該2つの入力電気信号のうちの第2の入力電気信号は、ワンホットRNS形式で符号化された定数である、請求項49に記載の電子回路。
  51. 前記ワンホットRNS減算器は、ワンホットRNS形式で符号化された2つの入力電気信号を減算する装置を含み、該2つの入力電気信号の両方は、ワンホットRNS形式で符号化された変数である、請求項49に記載の電子回路。
  52. 前記ワンホットRNSプロセッサは、ワンホットRNS形式で符号化された2つの入力電気信号を乗算するワンホットRNS乗算器を含む、請求項41に記載の電子回路。
  53. 前記ワンホットRNSプロセッサは、2つの入力電気信号を乗算するワンホットRNS乗算器を含み、該2つの入力電気信号のうちの第1の入力電気信号は、ワンホットRNS形式で符号化された変数であり、該2つの入力電気信号のうちの第2の入力電気信号は、ワンホットRNS形式で符号化された定数である、請求項41に記載の電子回路。
  54. 前記ワンホットRNSプロセッサは、2つの入力電気信号を乗算するワンホットRNS乗算器を含み、該2つの入力電気信号の両方は、ワンホットRNS形式で符号化された変数である、請求項41に記載の電子回路。
  55. 前記ワンホットRNSプロセッサは、ワンホットRNS形式で符号化された前記複数の入力電気信号のうちの1つのモジュラスを変更する装置をさらに含む、請求項41に記載の電子回路。
  56. 前記ワンホットRNSプロセッサは、ワンホットRNS形式で符号化された前記複数の入力電気信号のうちの1つのスケーリングを行う装置をさらに含む、請求項41に記載の電子回路。
  57. 前記ワンホットRNSプロセッサは、ワンホットRNS形式で符号化された前記複数の入力電気信号のうちの1つのスケーリングの際に失われたモジュラスを再生成する装置を含む、請求項56に記載の電子回路。
  58. 前記RNS数は、正および負の数を表すことができ、
    前記ワンホットRNSプロセッサは、ワンホットRNS形式で符号化された複数の入力信号のうちの1つが正または負の数を表しているかを決定する装置を含む、請求項41に記載の電子回路。
  59. 前記ワンホットRNSプロセッサは、デジタルフィルタ処理を行う装置をさらに含む、請求項41に記載の電子回路。
  60. 前記デジタルフィルタ処理を行う装置は、有限インパルス応答フィルタ処理を行う装置を含む、請求項59に記載の電子回路。
  61. 前記ワンホットRNSプロセッサは、判定帰還等価処理を行う装置をさらに含む、請求項41に記載の電子回路。
JP05674497A 1996-03-11 1997-03-11 デジタル信号処理の方法および装置 Expired - Fee Related JP4035195B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US1311296P 1996-03-11 1996-03-11
US60/013,112 1996-03-11
US08/751,967 1996-03-11
US08/751,967 US5987487A (en) 1996-03-11 1996-11-19 Methods and apparatus for the processing of digital signals

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007041463A Division JP2007181236A (ja) 1996-03-11 2007-02-21 デジタル信号処理の方法および装置

Publications (2)

Publication Number Publication Date
JPH1032493A JPH1032493A (ja) 1998-02-03
JP4035195B2 true JP4035195B2 (ja) 2008-01-16

Family

ID=26684445

Family Applications (2)

Application Number Title Priority Date Filing Date
JP05674497A Expired - Fee Related JP4035195B2 (ja) 1996-03-11 1997-03-11 デジタル信号処理の方法および装置
JP2007041463A Withdrawn JP2007181236A (ja) 1996-03-11 2007-02-21 デジタル信号処理の方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2007041463A Withdrawn JP2007181236A (ja) 1996-03-11 2007-02-21 デジタル信号処理の方法および装置

Country Status (4)

Country Link
US (1) US5987487A (ja)
EP (1) EP0795819A1 (ja)
JP (2) JP4035195B2 (ja)
KR (1) KR100461714B1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1167927A (ja) * 1997-06-09 1999-03-09 Mitsubishi Electric Corp 半導体装置およびその製造方法
US6662201B1 (en) * 1999-11-01 2003-12-09 Kabushiki Kaisha Toshiba Modular arithmetic apparatus and method having high-speed base conversion function
US7523151B1 (en) * 2000-05-12 2009-04-21 The Athena Group, Inc. Method and apparatus for performing computations using residue arithmetic
US7685221B1 (en) 2003-03-17 2010-03-23 Marvell Israel (M.I.S.L.) Ltd. Efficient remainder calculation for even divisors
US7584235B2 (en) * 2004-03-18 2009-09-01 Tektronix, Inc. Variable passband autoregressive moving average filter
MY155992A (en) 2008-12-26 2015-12-31 Ulvac Inc Film-forming method for forming passivation film and manufacturing method for solar cell element
US8307184B1 (en) * 2009-06-01 2012-11-06 Nissani Nissensohn Daniel Nathan Communication and memory capacity enhancement method and apparatus
US9891934B2 (en) 2013-02-12 2018-02-13 Nxp Usa, Inc. Configuration controller for and a method of controlling a configuration of a circuitry
US9379687B1 (en) * 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
KR102100408B1 (ko) 2014-03-04 2020-04-13 삼성전자주식회사 인코더 및 그것의 인코딩 방법
IT201700008949A1 (it) 2017-01-27 2018-07-27 St Microelectronics Srl Procedimento di funzionamento di reti neurali, rete, apparecchiatura e prodotto informatico corrispondenti
EA033759B1 (ru) * 2018-02-06 2019-11-22 Belarusian State Univ Bsu Устройство для умножения унитарных кодов
CN110620566B (zh) * 2019-09-25 2021-07-02 电子科技大学 基于随机计算与余数系统相结合的fir滤波系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4107783A (en) * 1977-02-02 1978-08-15 The Board Of Trustees Of The Leland Stanford Junior University System for processing arithmetic information using residue arithmetic
EP0166563A3 (en) * 1984-06-21 1987-07-15 Texas Instruments Incorporated Residue number system universal digital filter
US4598266A (en) * 1984-09-24 1986-07-01 Gte Communications Systems Corporation Modulo adder
US4862402A (en) * 1986-07-24 1989-08-29 North American Philips Corporation Fast multiplierless architecture for general purpose VLSI FIR digital filters with minimized hardware
US4816805A (en) * 1987-02-02 1989-03-28 Grumman Aerospace Corporation Residue number system shift accumulator decoder
KR0129751B1 (ko) * 1987-10-12 1998-10-01 오가 노리오 잉여수시스템에 있어서의 데이타의 엔코딩장치 및 디코딩장치와 방법
CA1318027C (en) * 1987-10-12 1993-05-18 Jun Takayama Method and apparatus for encoding and decoding data in residue number system
FR2622713A1 (fr) * 1987-10-30 1989-05-05 Thomson Csf Circuit de calcul utilisant une arithmetique residuelle
EP0409185B1 (en) * 1989-07-18 1995-11-08 Mita Industrial Co., Ltd. Method of calculating motor control voltage and motor control device using the method
JP2930325B2 (ja) * 1989-07-29 1999-08-03 ソニー株式会社 ディジタル信号処理回路
US5077793A (en) * 1989-09-29 1991-12-31 The Boeing Company Residue number encryption and decryption system
US5050120A (en) * 1989-09-29 1991-09-17 The Boeing Company Residue addition overflow detection processor
US5107451A (en) * 1990-01-30 1992-04-21 The Boeing Company Method and apparatus for pipelined detection of overflow in residue arithmetic multiplication
JPH04270510A (ja) * 1990-12-28 1992-09-25 Advantest Corp ディジタルフィルタ及び送信機
JPH05252045A (ja) * 1992-03-04 1993-09-28 Sony Corp 剰余演算処理回路

Also Published As

Publication number Publication date
JP2007181236A (ja) 2007-07-12
US5987487A (en) 1999-11-16
KR100461714B1 (ko) 2005-02-28
KR19980041680A (ko) 1998-08-17
JPH1032493A (ja) 1998-02-03
EP0795819A1 (en) 1997-09-17

Similar Documents

Publication Publication Date Title
JP2007181236A (ja) デジタル信号処理の方法および装置
US5500811A (en) Finite impulse response filter
JP3948801B2 (ja) サンプリングされた振幅リードチャネル
Skavantzos et al. Implementation issues of the two-level residue number system with pairs of conjugate moduli
CN1153346C (zh) 流水线式并行-串行架构最小均方自适应滤波器及其方法
JPS5827238A (ja) ランレングス制限記号発生装置
US4598266A (en) Modulo adder
JPS6364100B2 (ja)
JP2585649B2 (ja) 除算回路
US6279020B1 (en) Programmable circuit for realizing a digital filter
JP2001188600A5 (ja)
JPH09511375A (ja) (n−1)ビット情報語系列をnビット・チャネル語系列に符号化する符号化装置およびnビット・チャネル語系列を(n−1)ビット情報語系列に複号する複号装置
TW567680B (en) Compression device and method, decompression device and method, compression/decompression system, program, recording medium
JP2000252795A (ja) 移動平均フィルタ
US6609142B1 (en) Method of performing multiplication with accumulation in a Galois body
US4584561A (en) Method of residue to analog conversion
JP3913921B2 (ja) 有限フィールドでの任意要素の逆数具現回路
JPH0540608A (ja) テーブルルツクアツプ乗算器及びその乗算方法
US4584563A (en) Method of residue to analog conversion
JPH06350398A (ja) デジタル信号をろ波する方法及びデジタル・フィルタ
JPH0981541A (ja) 累算器
Skavantzos et al. New efficient RNS-to-weighted decoders for conjugate-pair-moduli residue number systems
JP2699365B2 (ja) デコーダ回路
JP3008842B2 (ja) ディジタルフィルタ
EP0353041A2 (en) Signal processing apparatus and method using modified signed digit arithmetic

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060821

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061121

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070530

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070829

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071001

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071019

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071029

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees