7
H. J. Nussbaumer Digital Filtering Using Complex Mersenne Transforms Abstract: Complex Mersenne Transforms are defined in a ring of integers modulo a Mersenne or pseudo-Mersenne number and can be computed without multiplications. It is shown that under certain conditions, these transforms can be computed by means of fast transform algorithms and permit the evaluation of digital convolutions with better efficiency and accuracy than does the Fast Fourier Transform. where any quantity enclosed by superfluous double parentheses is to be replaced by its value modulo p. The Inverse Mersenne Transform is defined by: Complex Mersenne Transform Let q be a prime and p = 2 q - 1. Mersenne numbers p are primes for q = 2,3,5,7,° 13,17,19,31,61'" [6]. The Mersenne Transform of an integer sequence {an} having q terms is defined by where R is such that ((R . q)) = 1, all exponents and indices being taken modulo q and all operations being performed modulo p. It can be demonstrated easily [1] that the Mersenne Transform satisfies the convolution theorem; that is to (1) ( 2) m = 0,1'" q - 1, k = 0, 1 .. · q - 1, show that these Complex Mersenne Transforms can be partly computed by a fast transform technique and have a maximum length up to four times that of conventional Mersenne Transforms. We discuss the use of such trans- forms for filtering complex signals and show that calcu- lations in the first stages of the direct transforms can be performed on words of reduced length. We then extend these results to cover the case of pseudo-Mersenne num- bers. We show that this leads to a definition of pseudo- Mersenne Transforms, which can be completely com- puted by means of a fast transform algorithm but in which the advantage of performing arithmetic operations mod- ulo a Mersenne number is retained. Introduction With the rapid advances in large scale integration, a growing number of complex digital signal processing applications are becoming economically feasible. In most cases the bulk of the processing workload appears to consist of digital filter computation. Future progress in digital signal processing, either towards high speed, real time operation or increased sophistication, thus largely depends on increased efficiency in digital filter computation. This can be achieved not only by imple- menting improved filter circuits but also by using better computation algorithms, as will be discussed in this paper. Rader [1] and Agarwal and Burrus [2, 3] have re- cently introduced Mersenne Transforms and Fermat Number Transforms. These two transforms have the circular convolution property and therefore can be used for evaluating digital filters in the same way as Discrete Fourier Transforms (DFT) [4, 5]. Mersenne Transforms and Fermat Number Trans- forms are very promising for digital filter computation because they can be calculated without multiplications. Their main drawback is a rigid relationship between transform length and word length, caused by the fact that all operations are performed in a finite ring with arithmetic carried out modulo an integer p, Another dif- ficulty arises because it is not possible to achieve si- multaneously optimum efficiency in reducing the number of operations and in implementing arithmetic operations. This is so because Fermat Number Transforms are ame- nable to a fast transform algorithm, and Mersenne Trans- forms are not, whereas arithmetic operations can be implemented more efficiently modulo a Mersenne num- ber than modulo a Fermat number. In this paper we consider complex transforms defined in the ring of integers modulo a Mersenne number. We 498 H. J. NUSSBAUMER IBM J. RES. DEVELOP.

Digital Filtering Using Complex Mersenne Transforms

  • Upload
    h-j

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Digital Filtering Using Complex Mersenne Transforms

H. J. Nussbaumer

Digital Filtering Using Complex Mersenne Transforms

Abstract: Complex Mersenne Transforms are defined in a ring of integers modulo a Mersenne or pseudo-Mersenne number and canbe computed without multiplications. It is shown that under certain conditions, these transforms can be computed by means of fasttransform algorithms and permit the evaluation of digital convolutions with better efficiency and accuracy than does the Fast FourierTransform.

where any quantity enclosed by superfluous doubleparentheses is to be replaced by its value modulo p.

The Inverse Mersenne Transform is defined by:

Complex Mersenne TransformLet q be a prime and p = 2q

- 1. Mersenne numbers p

are primes for q = 2,3,5,7,° 13,17,19,31,61'" [6].The Mersenne Transform of an integer sequence

{an} having q terms is defined by

where R is such that ((R . q)) = 1, all exponents andindices being taken modulo q and all operations beingperformed modulo p .

It can be demonstrated easily [1] that the MersenneTransform satisfies the convolution theorem; that is to

(1)

( 2)m = 0,1'" q - 1,

k = 0, 1 .. · q - 1,

show that these Complex Mersenne Transforms can bepartly computed by a fast transform technique and havea maximum length up to four times that of conventionalMersenne Transforms. We discuss the use of such trans­forms for filtering complex signals and show that calcu­lations in the first stages of the direct transforms can beperformed on words of reduced length. We then extendthese results to cover the case of pseudo-Mersenne num­bers. We show that this leads to a definition of pseudo­Mersenne Transforms, which can be completely com­puted by means of a fast transform algorithm but in whichthe advantage of performing arithmetic operations mod­ulo a Mersenne number is retained.

IntroductionWith the rapid advances in large scale integration, agrowing number of complex digital signal processingapplications are becoming economically feasible. Inmost cases the bulk of the processing workload appearsto consist of digital filter computation. Future progressin digital signal processing, either towards high speed,real time operation or increased sophistication, thuslargely depends on increased efficiency in digital filtercomputation. This can be achieved not only by imple­menting improved filter circuits but also by using bettercomputation algorithms, as will be discussed in thispaper.

Rader [1] and Agarwal and Burrus [2, 3] have re­cently introduced Mersenne Transforms and FermatNumber Transforms. These two transforms have thecircular convolution property and therefore can be usedfor evaluating digital filters in the same way as DiscreteFourier Transforms (DFT) [4, 5].

Mersenne Transforms and Fermat Number Trans­forms are very promising for digital filter computationbecause they can be calculated without multiplications.Their main drawback is a rigid relationship betweentransform length and word length, caused by the factthat all operations are performed in a finite ring witharithmetic carried out modulo an integer p, Another dif­ficulty arises because it is not possible to achieve si­multaneously optimum efficiency in reducing the numberof operations and in implementing arithmetic operations.This is so because Fermat Number Transforms are ame­nable to a fast transform algorithm, and Mersenne Trans­forms are not, whereas arithmetic operations can beimplemented more efficiently modulo a Mersenne num­ber than modulo a Fermat number.

In this paper we consider complex transforms definedin the ring of integers modulo a Mersenne number. We498

H. J. NUSSBAUMER IBM J. RES. DEVELOP.

Page 2: Digital Filtering Using Complex Mersenne Transforms

If {an} and {x,) are properly bounded [I], zm is equalto the output of the ordinary cyclic convolution with

499

(5)j=

m = 0, 1'" 4q - 1, (7)

N-l

L (hnY m-nn=O

,v-I

+j L (bnYm_ n + bnym- n)-n=O

N-I

zm = L anxm_nn=O

where all exponents and indices are taken modulo 4q.

We demonstrate that this Complex Mersenne Trans­form satisfies the convolution theorem. Taking the com­plex transform {X,,} of the complex sequence {r.}, per­forming the term-by-term complex multiplications X k

Ak

and taking the inverse transform yields

Because q has an inverse modulo p and the inverse of 4is 1'1-

2, 4q has an inverse R such that (( 4qR)) = 1 and theinverse transform of A k is

j=V-Lk O,I'''4q 1. (6)

The complex convolution (5) can be calculated by

means of real transforms provided that computation onreal and imaginary numbers is carried out in separatetransforms. It is even possible, with Fermat NumberTransforms, to reduce the number of multiplications bytaking advantage of the real number representation ofj= ~·qin a Fermat number system [9].

It is more natural, however, to compute complex con­volutions with complex transforms such as the Fouriertransform or Complex Number Theoretic Transforms[3, 10, 11]. In particular, complex transforms can bedefined in a Mersenne ring. Along these lines, we haveproposed a digital filter based on Complex MersenneTransforms [12]. The author thanks the referees forbringing to his attention the independent work of Veghand Leibowitz on the same subject [13].

In the following we restrict our discussion to ComplexMersenne Transforms that have simple roots and can becomputed without multiplications. In a Mersenne ring,with p = 2q

- I, 2 and -2 are respectively roots of unityof orders q and 2q, corresponding to transforms of lengthsq and 2q, respectively. Since q is a prime, 2'1 and -a'are also roots of orders q and 2q, provided d is not amultiple of q, This implies that 2j is a root of order 4q

and I + j or 1 - j are roots of order 8q. Higher-ordercomplex roots do not have a simple structure and there­fore will generally not be of practical interest.

Under these conditions, a Complex Mersenne Trans­form having 4q terms can be defined by

(4)

( 3)

([··-1

2 m = L On X m-n,n=O

say, if {Xk } is the Mersenne Transform of {xnL then withZk = «Ak ' X k} ), the Inverse Mersenne Transform{z~n} of {Zk} is given by

Under these conditions, digital filtering of real integersequences can be performed by dividing the sequencesinto blocks, padding the blocks with zeros [4] to preventfolding, and aliasing and computing the cyclic convolu­tions by means of Mersenne Transforms. This providesa very efficient way of computing digital filters becausecalculations of Mersenne Transforms reduce to one'scomplement additions and circular shifts. BecauseMersenne Transforms are evaluated without multiplica­tions, computation of a time-invariant circular convolu­tion having q points reduces to one multiplication peroutput sample, as opposed to q multiplications with directcalculation. This corresponds, in the case of a nonre­cursive digital filter having N taps, to a number of multi­plications per output sample that is small and essentiallyindependent of the number of taps. Direct computationwould require N multiplications in the general case andimplementation by means of the Fast Fourier Transform(FFT) would require K log, N multiplications.

The main limitations of the Mersenne Transform ap­proach are related to the fact that the number of trans­form terms q is a prime. This means that calculations ofthe transforms cannot be simplified by an FFT-typealgorithm and that the number of transform terms isequal to the word size. These limitations can be slightlyalleviated [I] by using a root -2 instead of 2 in (1) and(2). The maximum transform length then becomes 2q.It is also possible to increase the maximum convolutionsize by resorting to multidimensional convolutions[I, 2, 7]. Unfortunately, this result is achieved at theexpense of increased requirements for computation andstorage.

We show now that by defining Complex MersenneTransforms, it is possible to achieve higher computationefficiency while increasing both maximum transformlength and convolution length.

In many instances of digital signal processing, digitalfiltering of complex signals is required. Modem equalizersfor phase modulated signals are a good example of suchapplications [8]. In that case, a complex integer sequence{xn = Yn + IYn} is to be filtered by a complex sequence{an = bn + jbn}, having N terms, to produce a complexoutput sequence {zm urn + jl'".} with

SEPTEMBER 1976 COMPLEX MERSE~NE TRANSFORMS

Page 3: Digital Filtering Using Complex Mersenne Transforms

k = 0, 1··· 8q I, (10)

(12)+

Ak = ((± aqn.iqnk +/2k ± aqn+lfnk +...

n=O n~O

senne Transforms having 4q points and 8q points, com­puting the transforms of the real and imaginary parts ofa complex sequence would require 4q(4q 1) addi­tions and (4q - 1)2 shifts for 4q-point transforms and8q(8q 1) additions and (8q 1)2 shifts for 8q-pointtransforms. This means that in the practical range ofinterest for q (where q = 31), substituting ComplexMersenne Transforms for conventional Mersenne Trans­forms results approximately in an eightfold reductionin the number of operations.

Computation of a complex convolution by means ofComplex Mersenne Transforms is carried out as withDFT, with real and complex parts being evaluatedmodulo p separately. In order to avoid errors due tooverflow, the amplitudes of real and imaginary outputsmust be bounded to (p ~ I) /2. This means that usuallythe word length of real and imaginary parts of input se­quences {an} and {xn} is less than half that of outputsequences. In other words, all computations are carriedout modulo p on q-bit words, yielding q-bit word outputs,and the input sequences are represented by words ofless than (q 1) /2 bits. It is possible to take advantageof the input word length limitations to further reducethe processing workload. This is done by selecting a fasttransform decomposition such that the first two transformstages can be computed without multiplication by powersof two. In such an approach, a Complex Mersenne Trans­form having 4q points, with root 2j, is decomposed intoq four-point transforms with

Complex pseudo-Mersenne TransformsWe have seen above that a conventional q-point Mer­senne Transform could be extended to 8q points by oper-

The q four-point transforms corresponding to the firsttwo stages of the decomposition require only multipli­cations by ±I and and can therefore be computed innormal, complex arithmetic, on words of length approxi­mately half that of the final result.

If the two sequences {Yn } and {an} to be convolvedare real, the full benefit of using Complex MersenneTransforms can be retained by processing simultaneouslytwo successive blocks of the sequence {Yn} by means ofthe same Complex Mersenne Transforms. This is doneby computing the complex convolution {zm} of the se­quence {an} with the auxiliary complex sequence {r,Yn + jyn+

8Q} . The real part {um} and the imaginary part

{lfn,} of {zm} yield respectively the convolutions of {yn}and of the next block {yn+8q} with {an}'

(9)

( 8)

with I + n - m = rand k replaced by 4k + s.As in the case of conventional Mersenne Transforms,

the sum Ik:~ is equal to zero for (r)mod q ;6 0 andequal to q for (r)mod q = O. For (r)mod q = 0, r q t and(C~::=ojrs2rs» becomes (C~::=ojqtS». Because q is an oddprime, this sum is different from zero only when t is amultiple of 4 and is equal to 4 when t is a multiple of 4.Under these conditions, the product of the two sums isdifferent from zero only for (r) mod 4q 0 and zm becomes

zm = ((il

an x(m-nlmod 4q))'n=O

m = 0, 1·" 8q - I, (11)

with all exponents and indices taken modulo 8q. It canbe demonstrated easily, by using the same developmentas given above, that this transform permits evaluationof convolutions of length 8q with word lengths of q bits.

which shows that two complex sequences of length 4q

can be cyclically convolved by means of Complex Mer­senne Transforms modulo p = 2

q I. In such an ap­proach, all arithmetic operations are performed as innormal, complex arithmetic with / ~ I and real andimaginary parts treated separately modulo p.

Using a root j + 1 leads to a definition of a ComplexMersenne Transform having 8q terms with

Fast computation of Complex Mersenne TransformsWe have so far defined Complex Mersenne Transformsthat can be computed without multiplications and havea length up to four times that of conventional MersenneTransforms. The calculation of these transforms can bepartly simplified by an FFT-type algorithm because thenumber of terms is no longer a prime.

Using either decimation in time or decimation in fre­quency [14] allows a decomposition into transformshaving four q terms and transforms having eight q termsin the case of roots 2j and j + 1, respectively. These FFTdecompositions reduce the number of real operations to8q(q + I) additions and 8q(q 1) shifts for a complextransform having 4q points, and to 16 q(q 1) + 52qadditions and 16(q - 1)2 + 24(q 1) shifts for a complextransform having 8q points. If we assume, for the sakeof comparison, the existence of hypothetical real Mer-

and, with R such that « 8qR» = I, an inverse transform

500

H. J. NUSSBAUMER IBM J, RES. DEVELOP,

Page 4: Digital Filtering Using Complex Mersenne Transforms

Table 1 Maximum odd length and corresponding power-of-2 roots for real transforms modulo P 2q- 1 with q odd and P composite.

qPrime factorization of

p = 2q

- 1 Pl' P, ... Pi Prime factorization of Pi

Max.odd

length

Powerof2roots

------------- ----------------------------_ ...._._--

152123252729333537

39

414345

4749

7·31·1517' . 127· 33747' 17848131·601 . 18017 . 73 . 262657233 . 1103 . 20897 . 23 . 89 . 59947931 . 71 . 127 . 122921223·616318177

7 . 79 . 8 191 . 121369

13367· 164511353431·9719·20998637 . 31 . 73 . 151 . 631 . 23311

2351 ·4513 . 13264529127 . 4432676798593

2 . 3 2· 3 . 5 2· 3 . 522 . 3 2· 32

• 7 24• 3 . 7

2 . 23 z 5 . 23 . 972 . 3 . 5 23

• 3 . 5' 23• 3' . 5'

2 . 3 23. 3' 29

• 33. 19

2" . 29 2· 19 . 29 23• 3' . 29

2 . 3 2· I 1 23• 11 2· 3 . 11 . 31 . 293

2 . 3 . 5 2· 5 . 7 2· 3' . 7 23• 5 . 7 . 439

2· 3 . 37 25• 3 . 37· 167· 1039

2· 3 2· 3 . 13 2· 3' . 5· 7· 1323

• 3 . 13 . 3892·41 . 163 23

• 41 . 59 . 85012·5·432·43·113 2·43'3'·27132 . 3 2· 3 . 5 23

• 3' 2· 3 . 52 2· 3' . 5 . 72 . 3' . 5 . 7 . 37

2 . 5' . 47 25• 3 . 47 24

• 31 . 47 . 5692· 3' . 7 27

• 32• 7' . 43 . 337 . 5419

33

23153

29//37

III3

4143

3

4763

//2//2//2//

22/

2/

ating in the complex number field and replacing the root2 of order q, by a complex root (1 ) of order 8q. Upto now, the discussion has been restricted to Mersennenumbers, that is, to numbers P 2q

- 1 such that q is aprime.

If P is not a prime, its prime factorization is given by

An M-point real transform having the circular convolu­tion property can be defined in the ring of integers moduloP provided M-point transforms can be defined separatelyin the fields PI' Pz •.• p;- This follows directly from theChinese remainder theorem 15], and leads to thecondition for the existence of an M-point transform inthe ring P that M must simultaneously divide PI - 1,

Pz - I,' .. Pi - I. When p is a prime, the maximum lengthof the transform is M P 1. Transforms in a ring p,

with p nonprime, are therefore proportionally shorterthan transforms defined modulo a prime number. If p

and q are composites with q ql' % and q, prime, 2q1- 1

divides P and the maximum transform length is governedby that possible for 2q1 I. This has led us to considerthat the only transforms of interest in a ring modulo2q

- 1 are Mersenne transforms.The situation, however, changes noticeably if we con­

sider Complex Mersenne Transforms. In that case, thetransform length becomes 8M if 2 does not divide M.This means that even if M is too small to yield a realtransform of practical interest, useful Complex Mer­senne Transforms of length 8M can still be defined.

Let us define these points precisely. Assuming werestrict our discussion to transforms that can be com-

puted without multiplications, and therefore have roots211' of order M, we have by definition 2WM 1, with 2nw

taking M distinct values for n 0, 1... M 1. The ex­ponents Wn are taken modulo MW with (MW)mOdq=O.If we consider now a root (j + 1)w, this root will be oforder 8M in the ring p if (j + 1 )8MW == I and if (j + 1)Wn

takes 8M distinct values for n varying from °up to8M - 1. We first notice that as (j + 1)8 = 24

, (j + l)8MW

= 24MII' "" 1. If W is odd, (j + I) "w takes eight distinct

complex values for n varying from nOta n 7 and ifq = WAf is odd, (( (j + l)snw) «(24n w ») takes M dis-tinct values for n varying from 0 to M 1.

Under these conditions, (j + 1)lV is a root of order8M in the ring modulo p 2q I if q, M; and Ware odd.Moreover, the existence of an M-point real transformin the ring modulo p implies that M has an inverse, Rmodulo p. As the inverse of 8 modulo pis 2Q

-3

, 8M alwayshas an inverse, 2Q

-3R. This means that, given an M-point

real transform of root 2w with p composite and q, w, M

odd integers, we can define 8M-point complex transformsin the ring modulo p with

501

(14)

(15)

Ak= (C~l G"U + l)wnk))n=O

j ,.Crk 0, 1'" 8M - I,

m 0, I··· 8M- 1.

( 13)P = P d, • P dZ ••• P dj1 2i'

SEPTEMBER 1976 COMPLEX MERSENNE TRANSFORMS

Page 5: Digital Filtering Using Complex Mersenne Transforms

Table 2 Length and roots for real and complex transforms in the ring (2'1 - I) / p/i.

ApproximateTransform Real transform Complex transform word length.

q ring Lengtn Root Length Root Nb of bits

152' 5

- 15 2" 40 2(j- I) 127 (2" . 5)

21221

- 17 2" 56 2(j - I) 15-7-2- (2" . 7)

25 225- 1

25 2200

j+ I 2031 (2" . 5')

272'1 - I

27 2 216j+ 1 187.73 (2" . 3")

35235

- I35 2 280

j+1 2331.127 (2" . 5 . 7)

352"5 - 1

5 27 40 23(1 - j) 28127 (2" . 5)

352''' - I

7 25 56 -22 (1 + j) 3031 (23• 7)

45245

- 15 2" 40 24 (1 + j) 367.73 (2" . 5)

49 24 9- I

7 27 56 2"( 1- j} 42[27 (2" . 7)

492'" - I

49 2392

j+1 42127 (23• 7')

In most practical digital filtering applications, theinput signal samples are defined by a number of signifi­cant bits comprised between seven bits and 20 bits. Thismeans that, in order to avoid overflow, the transformsmust operate on word lengths approximately doublethat of input words, comprising between 15 bits and about50 bits.

The various possibilities for P nonprime and odd q arelisted in Table I. The case of q prime (q = 23, 29, 37,41,43, 47) corresponds to conventional Mersenne Trans­forms. When q is not a prime, the corresponding trans­forms have a very short length and their roots are notpowers of 2.

In order to achieve maximum effectiveness in comput­ing convolutions by means of pseudo-Mersenne Trans­forms, it would be desirable to have relatively long trans­forms with a number of terms highly factorizable. Thisdoes not seem possible with transforms computed moduloP = 2" - 1. We note, however, that when P is not a prime,with the prime factorization of P defined by (13), wecan define transforms modulo pip/i having power-of-Z

roots and such that the number of terms is large andhighly factorizable. These transforms can be defined by

502

(

8M - l )- .+ umk: d.A k - L un(J 1) modp!Pi 1

n=O

k= 0, I··· 8M - 1

j= v=T. (16)

Various possibilities for such transforms are listed inTable 2. It can be seen that the maximum number ofterms is both large (40 to 392 terms) and highly factor­able, thereby leading to efficient FFT-type computationwith a minimum number of operations.

It would seem, however, that these advantages areoffset by the fact that the various operations are per­formed modulo (2" - 1) I (p/i). The corresponding arith­metic circuits are obviously much more complex thanarithmetic circuits modulo 2'1 - 1.

This difficulty can be circumvented by noticing thatd t d2 d· t th I tias p = Pi . Pi ... Pi" we can compu e e convo u Ion

modulo p = 2" - 1 as with conventional Mersenne Trans­forms and obtain the final result by performing a lastoperation modulo p I p~i on the convolutions computedmodulo p ,

2 m mod pi p~i = (2m mod p)mod pi p~i. (17)

By proceeding in this fashion, relatively long convolu­

tions can be computed efficiently by means of FFT-typealgorithms with all but the last operation performed witheasily implemented arithmetic circuits operating modulo(2" - I). This technique is similar to what was proposedin [1] to compute Fermat Number Transforms withMersenne arithmetic. The only drawback of this ap­proach is that all the operations modulo (2q

- 1) are doneon words longer than that of the final result. It can beseen however, from Table 2 that many transforms with

H. J NUSSBAUMER IBM J RES. DEVELOP.

Page 6: Digital Filtering Using Complex Mersenne Transforms

Figure 1 Computation of complex circular convolutions bymeans of Complex pseudo-Mersenne Transforms.

on words of reduced length. Complex Mersenne Trans­forms also have the advantage of permitting operationon transform length and convolution lengths up to fourtimes longer than is possible with conventional Mer­senne Transforms.

These results have then been extended to cover thecase of transforms operating in a ring modulo a pseudo­Mersenne number or a submultiple of such a number.It has been shown that some of these transforms have ahighly composite transform length and therefore can becomputed with an efficient FFT-type algorithm.

Complex Mersenne Transforms can be used for im­plementing digital filters in the same manner as DiscreteFourier Transforms. They have the advantage over OFTof permitting exact calculations, without round-offerrors, and of being computationally much more efficientbecause they can be calculated without multiplications.

q bits words

arithmeticmodulop=2Q-l

}~%~::liCword length~q-l bits

2

Last stages

Complex MersenneTransform

4pointsFFT

Operationmodulo P/Ild i

Inverse ComplexMersenneTransform

4poinlsFFT

la=b+jSl{n n n

Last stages

Complex MersenneTransform

a highly factorable number of terms can be defined forwhich p~; is small compared to p ; so that the penalty inword length increase incurred when operating modulop instead of modulo p / p~; is only of the order of 20 per­cent.

The most interesting transforms are those which havea large, highly factorable number of terms combinedwith a useful word length as close as possible to q. Amongthese, the 200-point, 56-point, and 392-point Complexpseudo-Mersenne Transforms (corresponding, respec­tively, to q equal to 25, 35, and 49) seem particularlywell adapted for digital filtering applications. Taking asan example the case of transforms defined by q = 25,one can see from Table I that the maximum odd lengthfor real transforms computed modulo p = 225

- 1 is 15terms and that the corresponding roots are not powers oftwo. By operating modulo (225

- 1) /3 1, it is possibleto define real transforms having power-of-two roots witha maximum odd length increased to 25 terms. The maxi­mum length is then expanded to 200 terms by using com­plex roots. Such a transform can be computed veryefficiently by means of an FFT-type algorithm with athree-stage radix 2 decomposition, followed by a two­stage radix 5 decomposition.

One limitation of conventional Mersenne Transforms isthe rigid relationship between word length and transformlength. In this respect, pseudo-Mersenne Transformsprovide a significant improvement, because their maxi­mum number of terms M max is highly composite and anytransform length submultiple of M m ax can be selected.It is even possible to have several transforms of identicallength and defined modulo integers PI' ... Pi that arerelatively prime. The convolution can than be computedseparately modulo PI" .. Pi and the final result obtainedmodulo (PI' P2 ' •• p;J by the Chinese remainder theorem.This approach could, for instance, be used to computea 40-term convolution with an approximate word lengthof 32 bits by means of transforms defined by modulo(z15 - 1) /7 and (225_1)/31.

The computation of a time-variant convolution bymeans of Complex pseudo-Mersenne Transforms isshown in Fig. 1. Whl'n a time-invariant convolution is tobe evaluated, the various samples A k of the transform of{an} are constant. They are usually precomputed andstored in a memory. In this case, minor additional sav­ings on multiplication cost can be achieved by storing A k

Modulo p / p~i instead of A k modulo p.

Concluding remarksWe have discussed Complex Mersenne Transforms thatcan be computed without multiplications. These trans­forms are very promising for computing convolutionsbecause they can be partly computed with FFT-typealgorithms and some of the operations can be performed

ReferencesI. C. M. Rader, "Discrete Convolutions via Mersenne Trans­

forms," IEEE Trans. Computers C-21, 1269 (1972).2. R. C. Agarwal and C. S. Burrus, "Fast Convolution using

Fermat Number Transforms with Applications to DigitalFiltering," IEEE Trans. Acoustics, Speech and SignalProcessing ASSP-22, 87 (1974). 503

SEPTEMBER 1976 COMPLEX MERSENNE TRANSFORMS

Page 7: Digital Filtering Using Complex Mersenne Transforms

3. R. C. Agarwal and C. S. Burrus, "Number Theoretic Trans­forms to Implement Fast Digital Convolution," Proc. IEEE63,550 (1975).

4. B. Gold, C. M. Rader, A. V. Oppenheim, and T. G.Stockham, Digital Processing of Signals, McGraw-HillBook Company, Inc., New York, 1969, Ch. 7, pp. 203-213.

5. J. W. Cooley and J. W. Tukey, "An Algorithm for MachineCalculation of Complex Fourier Series," Math. Compo 19,297 (1966).

6. D. E. Knuth, The Art of Computer Programming: Semi­numerical Algorithms, Addison-Wesley Publishing, Co.,Inc., Reading, MA, 1969, Vol. 2, p. 356.

7. R. C. Agarwal and C. S. Burrus, "Fast One-DimensionalDigital Convolution by Multidimensional Techniques,"IEEE Trans. Acoustics, Speech and Signal ProcessingASSP-22, I (1974).

8. R. D. Gitlin, E. Y. Ho, andJ. E. Mazo, "Passband Equaliza­tion of Differentially Phase-Modulated Data Signals," BellSystem Tech. J. 52, 219 (1973).

9. H. J. Nussbaumer, "Complex Convolutions via FermatNumber Transforms," IBM J. Res. Develop. 20, 282 (1976).

10. I. S. Reed and T. K. Truong, 'The Use of Finite Fields toCompute Convolutions," IEEE Trans. l nf, Theory IT-21,208 (1975).

504

H. J. NUSSBAUMER

II. I. S. Reed and T. K. Truong, "Complex Integer Convolu­tions Over a Direct Sum of Galois Fields," IEEE Trans.Inf. Theory IT-21, 657 (1975).

12. H. J. Nussbaumer, "Dispositif Generateur de Fonction deConvolution Discrete et Filtre Nurnerique IncorporantLedit Dispositif," French Patent Application NO.7 ,512,557,April 1975.

13. L. M. Leibowitz, "Fast Convolution by Number TheoreticTransforms," NRL Report 7924, Naval Research Labora­tory, Washington, D. C., September 1975.

14. Gold, Rader, Oppenheim, and Stockham, op. cit., Ch. 6,pp.174-196.

15. J. M. Pollard, "The Fast Fourier Transform in a finiteField," Math. Camp. 25, 365 (1971).

Received December 22, 1975

The author is located at Compagnie IBM, France, Cen­tre d'Etudes et Recherches, 06610 La Caude, France.

IBM J. RES. DEVELOP.