16.07.2015 Views

efficient direct manual computation of discrete fourier transform in ...

efficient direct manual computation of discrete fourier transform in ...

efficient direct manual computation of discrete fourier transform in ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Sci.Int (Lahore), 25(4), 719 - 723, 2013 ISSN 1013-5316; CODEN: SINTE 8 719EFFICIENT DIRECT MANUAL COMPUTATION OFDISCRETE FOURIER TRANSFORM IN TIME DOMAINEjaz A. Ansari 1 , Saleem Akhtar 2 , Muhammad Nadeem 3Department <strong>of</strong> Electrical Eng<strong>in</strong>eer<strong>in</strong>g, COMSATS Institute <strong>of</strong> Information Technology1.5 km Defense Road, <strong>of</strong>f Raiw<strong>in</strong>d Road, 53700, Lahore, Pakistan{dransari 1 , sakhtar 2 , munadeem 3 {@ciitlahore.edu.pk}Correspond<strong>in</strong>g Author’s email: {dransari@ciitlahore.edu.pk}ABSTRACT: Digital Signal Process<strong>in</strong>g (DSP) is an important and <strong>in</strong>tegral component <strong>of</strong> WirelessCommunications, Speech, Image and Video Process<strong>in</strong>g <strong>in</strong> particular and <strong>of</strong> Electrical Eng<strong>in</strong>eer<strong>in</strong>g <strong>in</strong>general. With the advancement <strong>in</strong> <strong>in</strong>tegrated technology, sophisticated algorithms have been designed andimplemented on the mach<strong>in</strong>es to achieve the results <strong>of</strong> many complex problems related to real worldphenomena. In this paper, we thus propose an algorithm which facilitates the <strong>in</strong>structors teach<strong>in</strong>g DSPcourse <strong>in</strong> class to do <strong>manual</strong> <strong>computation</strong> <strong>of</strong> N-po<strong>in</strong>t <strong>discrete</strong> Fourier <strong>transform</strong> (DFT) and <strong>in</strong>verse <strong>discrete</strong>Fourier <strong>transform</strong> (IDFT) <strong>of</strong> a complex data signal, x[n] with ease <strong>in</strong> time doma<strong>in</strong>. We show <strong>in</strong> ouranalysis and through numerical results that our proposed algorithm is more <strong>efficient</strong> than the <strong>direct</strong><strong>computation</strong> <strong>of</strong> N-po<strong>in</strong>t DFT and IDFT <strong>of</strong> x[n]. It further provides 50 percent sav<strong>in</strong>g <strong>in</strong> terms <strong>of</strong> realadditions (RAs), real multiplications (RMs) and real arithmetic operations (RAops) us<strong>in</strong>g our proposedalgorithm <strong>in</strong> comparison with the <strong>direct</strong> <strong>computation</strong> <strong>of</strong> N-po<strong>in</strong>t DFT and IDFT <strong>of</strong> x[n] for large Npreferably (N ≥ 1000). Moreover, for real data, our percentage sav<strong>in</strong>g <strong>in</strong> the form <strong>of</strong> real arithmeticoperations rema<strong>in</strong>s unchanged even if we compute its N-po<strong>in</strong>t DFT and IDFT us<strong>in</strong>g the proposedalgorithm.Key Words: Computation, Discrete Fourier <strong>transform</strong>, Efficient Algorithm, Inverse <strong>discrete</strong> Fourier <strong>transform</strong>, sav<strong>in</strong>g1 INTRODUCTIONDigital signal process<strong>in</strong>g (DSP) is concerned with therepresentation <strong>of</strong> signals <strong>in</strong> digital form and with theirprocess<strong>in</strong>g along with the <strong>in</strong>formation which they carry. Thefield <strong>of</strong> DSP has been at explosive growth dur<strong>in</strong>g the pastfive decades as phenomenal advances both <strong>in</strong> research andapplications have been made. Fuel<strong>in</strong>g this growth have beendue to the advances <strong>in</strong> digital computer technology ands<strong>of</strong>tware development. With a tremendously rapid <strong>in</strong>crease<strong>in</strong> the speed <strong>of</strong> DSP processors along with correspond<strong>in</strong>g<strong>in</strong>crease <strong>in</strong> their sophistication and <strong>computation</strong>al power,DSP algorithms are extensively used for model<strong>in</strong>g <strong>discrete</strong>timesignals, estimat<strong>in</strong>g the channel parameters and powerspectrum <strong>of</strong> a random process [1-5].DSP course is taught at undergraduate level <strong>of</strong> electrical andcomputer eng<strong>in</strong>eer<strong>in</strong>g programs <strong>in</strong> all universities <strong>of</strong> theworld. Instructors teach<strong>in</strong>g this course del<strong>in</strong>eate theimportance <strong>of</strong> DFT and IDFT understandable to the class byperform<strong>in</strong>g their <strong>computation</strong> for small values <strong>of</strong> N = 2, 4, 6<strong>manual</strong>ly us<strong>in</strong>g the <strong>direct</strong> approach [1-2]. The <strong>manual</strong><strong>computation</strong> <strong>of</strong> DFT and IDFT <strong>of</strong> x[n] becomes quitedifficult to perform <strong>in</strong> class when N exceeds the value 6.Thus, <strong>in</strong> this paper, we present a simple and <strong>efficient</strong>algorithm to perform the <strong>manual</strong> <strong>computation</strong> <strong>of</strong> N-po<strong>in</strong>tDFT and IDFT <strong>of</strong> a complex or a real data sequence, x[n] <strong>in</strong>time doma<strong>in</strong>. For this purpose, we exploit the properties <strong>of</strong>l<strong>in</strong>ear <strong>transform</strong>ation matrix, W to improve the efficiency <strong>of</strong>our proposed algorithm. Due to unitary (orthogonal)<strong>transform</strong>ation <strong>of</strong> the matrix W [6], we succeed <strong>in</strong> achiev<strong>in</strong>g50 percent sav<strong>in</strong>g <strong>in</strong> real arithmetic operations (RAops)us<strong>in</strong>g the proposed algorithm <strong>in</strong> comparison with the <strong>direct</strong><strong>computation</strong> <strong>of</strong> N-po<strong>in</strong>t DFT and IDFT <strong>of</strong> x[n]. We shallmake use <strong>of</strong> matrix theory [6] to keep the analysis simple.The paper is organized as follows. In section 2, development<strong>of</strong> the proposed algorithm is presented. Section 3 describesits various associated steps. Section 4 discusses its timecomplexity. Section 5 describes the way how to compute<strong>in</strong>verse <strong>discrete</strong> Fourier <strong>transform</strong> <strong>of</strong> x[n] us<strong>in</strong>g the proposedalgorithm. Comparison <strong>of</strong> our proposed algorithm with the<strong>direct</strong> its <strong>computation</strong> is carried out <strong>in</strong> section 6. F<strong>in</strong>ally, wediscuss our numerical results <strong>in</strong> section 7 and conclusionsare drawn <strong>in</strong> Section 8.2 DEVELOPMENT OF THE PROPOSEDALGORITHMConsider x[n] = a[n] + j b[n] be a given complex signalwhich is def<strong>in</strong>ed for 0 ≤ n ≤ N – 1; where a[n] and b[n] aretwo real constants. We are <strong>in</strong>terested <strong>in</strong> the <strong>manual</strong><strong>computation</strong> <strong>of</strong> N-po<strong>in</strong>t DFT <strong>of</strong> x[n] easily but <strong>efficient</strong>ly.This can be achieved by exploit<strong>in</strong>g the properties <strong>of</strong> theunitary <strong>transform</strong>ation matrix, W obta<strong>in</strong>ed from the twiddlefactors, W N = exp(-j2π/N) [5] and express<strong>in</strong>g the N- po<strong>in</strong>tDFT <strong>in</strong>to some convenient form. The N- po<strong>in</strong>t DiscreteFourier Transform (DFT) <strong>of</strong> x[n] may be computed us<strong>in</strong>g itsdef<strong>in</strong>ition as [7 9]N−1 N−1 N−1kn ⎛ kn ⎞ ⎛ kn ⎞Xk [ ] = ∑xnW [ ] N= ⎜∑anW [ ] N ⎟+j⎜∑bnW[ ] N ⎟n= 0 ⎝n= 0 ⎠ ⎝n=01442443 1442443 ⎠[ ] = [ ] + [ ] ( 1)Xk Ak jBkWhere 0 ≤ k ≤ N – 1; and W N = exp(-j2π / N) also known astwiddle factor [2]. We first compute A[k] for all possiblevalues <strong>of</strong> ‘k’ by express<strong>in</strong>g it <strong>in</strong>to matrix form; <strong>computation</strong><strong>of</strong> B[k] will also be carried out <strong>in</strong> the similar way.[ ]Ak[ ]Bk


720[ 0] = [ 0] + [ 1] + K + [ −1]1 N−1[] 1 = [ 0] +N [] 1+ K +N [ −1]22( N−1) [ 2] = [ 0] + [ 1] + K + [ −1]A a a a NA a Wa W a NA a WNa WNa NM M M M( N−1) ( N−1)( N−1) [ − 1] = [ 0] + [] 1+ K + [ −1] ( 2)AN a W a W aNNIn matrix form, eq.(2) may be written as [6], R = Wa,where R and a are two column vectors each <strong>of</strong> size N x 1which are def<strong>in</strong>ed as R = ⎡A[ 0] A[ 1] A [ N −1]⎤t⎣Kand⎦[ ] [ ] K [ ]a = ⎡a 0 a 1 a N −1 ⎤t⎣⎦. The unitary matrix, W as [6]t[ r r r r r ]W = K(3)0 1 2 N−2 N−1is a square matrix <strong>of</strong> size N x N respectively <strong>in</strong> which r i ’srepresent its correspond<strong>in</strong>g ‘N’ rows for different values <strong>of</strong>i = 1, 2...,N – 1 and r 0 = (1 1 1….1) t is the first row <strong>of</strong> thematrix, W and ‘t’ denote the matrix transpose operationrespectively [6]. From the structure <strong>of</strong> the <strong>transform</strong>ationmatrix, W it is self evident that r 1= r ∗ N − 1; r2 = r ∗ N −2and soon, where * denotes the complex conjugate <strong>of</strong> the respectiverow. This argument can easily be proved from the rows <strong>of</strong>the unitary matrix, W asN( ) ( ) ( ) {N −1 −1 −1 1∗N N N N N;= 12⎛ ⎞2( N −1)N−2 −2 2∗N= {N × ( N ) =N= ( N ) ;⎜ ⎟⎝ = 1 ⎠N −1⎛ ⎞( N −1)( N −1)N−( N −1)−( N −1) N −1∗N= {N × ( N ) =N= ( N⎜ ⎟)⎝ = 1 ⎠∗1 2 ( N −1)∗N −1 = ⎡1⎤N N N=1W = W × W = W = WNISSN 1013-5316; CODEN: SINTE 8 Sci.Int(Lahore),25(4),719-723,2013N − 1t[ 0 ] =0. = ∑ [ ] ⇐ ( − 1 )A r a a n N RAsn = 0N −1⎛ 2 N RM s ⎞tnA[] 1 = r1. a = ∑ WNa[ n]⇐ ⎜ ⎟n = 0⎝ 2( N − 1)RAs ⎠N − 1⎛ 2 N RM s ⎞t2 nA[ 2 ] = r2. a = ∑ WNa[ n]⇐ ⎜ ⎟n = 0⎝ 2( N − 1)RAs ⎠M M Mt∗t∗[ − 2 ] = ( N − 2) . = ( 2 ) . = ( [ 2]) ⇐ ( )t∗t∗[ − 1 ] = ( N − 1) . = ( 1 ) . = ( [] 1 ) ⇐ ( ) ( 5)A N r a r a A NilA N r a r a A N ilwhere N, RAs, and RMs denote the total real values <strong>in</strong> thecolumn vector a, real additions and real multiplications <strong>in</strong>eq. (5) respectively. Two separate cases need to beconsidered accord<strong>in</strong>g to the <strong>in</strong>teger values <strong>of</strong> N.2.1 Case no. 1 (when N is even)Under this situation, we come to know that there is def<strong>in</strong>itelya middle row <strong>in</strong> the matrix, W after the first row (r 0 ) andcomplete group<strong>in</strong>g <strong>of</strong> rows is performed around this middlerow. This middle row is located <strong>in</strong> the matrix W at the <strong>in</strong>dexvalue (i= N/2) exclud<strong>in</strong>g r 0 (the first row). We need only tocompute the first half values <strong>of</strong> A[n] after r 0 till r N/2 (one rowbefore the middle row) for i = 1, 2, …N/2 – 1 values fromthe illustrated dot products <strong>in</strong> eq. (5) and the rema<strong>in</strong><strong>in</strong>g halfvalues <strong>of</strong> A[n] for i = N/2 + 1, …., N – 1 are automaticallycomputed by tak<strong>in</strong>g the conjugates <strong>of</strong> first half computedvalues <strong>of</strong> A[i]. Here, A[0] is computed by just tak<strong>in</strong>g the sum<strong>of</strong> ‘N’ real values <strong>of</strong> a and the middle row A[N/2] is alsocomputed <strong>in</strong> the similar manner as illustrated <strong>in</strong> eq.(6).kN−1 N 1N ⎛ ⎞−⎢ N 22 ⎥ ⎜ ⎟k= 0=−1k=0⎡ ⎤ N 2{ [ ] ( ) kA = r . a = ∑ ⎜ W [ ] ( )( )N ⎟ ak = ∑ − 1 ak ⇐ N − 1 real + ' s 6⎣ ⎦ ⎝ ⎠W W W W W2.2 Case no. 2 (when N is odd)We come to know under this situation that there will NOTbe any middle row <strong>in</strong> the matrix W after the first row (r 0 )W W W W W ; and complete group<strong>in</strong>g <strong>of</strong> rows is present there <strong>in</strong> the matrixW. We thus need only to compute the first half values <strong>of</strong> A[i]rfor i = 1, 2, …(N – 1)/2 values from the illustrated dot⎣W W K W⎦( r ) ( 4 ) products <strong>in</strong> eq. (5) and the rema<strong>in</strong><strong>in</strong>g half values <strong>of</strong> A[i] fori = (N + 1)/2, ….., N – 1 are automatically computed bytak<strong>in</strong>g the conjugates <strong>of</strong> first half computed values <strong>of</strong> A[n]Similarly, we can show that rN2r ∗−=2and so on. Hence, as shown <strong>in</strong> eq. (4). Complex conjugation is usuallywe may express the matrix, W given <strong>in</strong> eq. (3) with this implemented <strong>in</strong> hardware just by <strong>in</strong>terchang<strong>in</strong>g the real andtsubstitution as∗ ∗imag<strong>in</strong>ary part values <strong>of</strong> the result [5]. Thus, it requires NOW = ⎡ ⎣ r0 r1 r2 K r2 r ⎤1 ⎦ . Thus, wearithmetic operations (Aops) for its implementation.conclude that 2 nd row (r 1 ) <strong>of</strong> the matrix W is a complex However. A[0] is aga<strong>in</strong> computed by just tak<strong>in</strong>g the sum <strong>of</strong>conjugate <strong>of</strong> its last row, (r N-1 ). Similarly, 3 rd row (r 2 ) <strong>of</strong> W ‘N’ real constant values <strong>of</strong> a.is a complex conjugate <strong>of</strong> its second last row (r N-2 ) and so on 3 STEPS OF THE PROPOSED ALGORITHMtill we reach the middle row <strong>of</strong> the matrix W (when N is We describe our proposed algorithm <strong>discrete</strong>ly <strong>in</strong> theeven). The same is true with the columns <strong>of</strong> the unitary follow<strong>in</strong>g six simple steps:matrix W. We thus require the follow<strong>in</strong>g operations and 1. Compute the twiddle factors, W N for n = 0,1,… , N – 1complexity (i.e., <strong>in</strong> comput<strong>in</strong>g the dot products <strong>of</strong> r i ’s witha) <strong>in</strong> f<strong>in</strong>d<strong>in</strong>g the entries <strong>of</strong> the column vector R as(assume N to be even).2. Compute the first half values <strong>of</strong> A[n] by f<strong>in</strong>d<strong>in</strong>g the dotproduct <strong>of</strong> rows <strong>of</strong> W with real part <strong>of</strong> x[n]3. Compute the first and the middle row <strong>of</strong> A[n] us<strong>in</strong>geqs. (5) and (6)


Sci.Int (Lahore), 25(4), 719 - 723, 2013 ISSN 1013-5316; CODEN: SINTE 8 7214. Compute the rema<strong>in</strong><strong>in</strong>g half values <strong>of</strong> A[n] by simplycomplex conjugat<strong>in</strong>g the first half values <strong>of</strong> A[n].5. Repeat steps 2 – 4 by consider<strong>in</strong>g the imag<strong>in</strong>ary parts<strong>of</strong> x[n]This will provide us N-po<strong>in</strong>t DFT <strong>of</strong> the complex datasignal, x[n] which is X[k] for k = 0,1,2,…,N – 1.4 DETERMINING TIME COMPLEXITY OF THEPROPOSED ALGORITHMCase # 01 and eq. (5) show that <strong>in</strong> order to compute first halfsamples <strong>of</strong> A[n], we therefore require (N – 2)/2 x 2N =N(N – 2) real multiplications and (N – 2)/2 x 2(N – 1) =(N – 1)(N – 2) real additions. 2 x (N – 1) more real additionsare required to compute the first and the middle values <strong>of</strong> R,i.e., (A[0] and A[N/2]. Thus, to compute A[n] completely forall even <strong>in</strong>teger values <strong>of</strong> N, we require N(N – 2) realmultiplications and {(N – 1)(N – 2) + 2 x (N – 1)} =N(N – 1) real additions respectively.Case # 02 and eq. (5) show that <strong>in</strong> order to compute onesample <strong>of</strong> A[n] for n ≠ 0; we require 2N real multiplicationsand 2(N – 1) real additions. To compute first half samples <strong>of</strong>A[n], we therefore, require ( N - 1) 2× ( 2N ) = N ( N - 1 )real multiplications and ( N - 1) 2× 2( N - 1 ) = ( N - 1 ) 2real additions. To compute A[0], we also require (N – 1)more real additions. Thus, to compute A[n] completely forall odd <strong>in</strong>teger values <strong>of</strong> N, we require N(N – 1) realmultiplications and ( N - 1) 2+ ( N − 1) = N( N - 1)realadditions respectively.As the formulation <strong>of</strong> B[k] given <strong>in</strong> eq. (1) resembles withthat <strong>of</strong> A[k] except for the multiplication with the operator‘j’, we therefore conclude that the same arithmetic1. Compute the complex conjugate <strong>of</strong> the matrix, W2. Apply the proposed algorithm on the given sequence, Rus<strong>in</strong>g its stepsoperations will be required to compute B[k] as X = W a + 3. Divide the result obta<strong>in</strong>ed above by N <strong>in</strong> order to get backj W b = W(a + j b) = for 0 ≤ k ≤ N – 1. As A[k] and B[k] the orig<strong>in</strong>al complex sequence, x[n]comprise <strong>of</strong> complex values due to the matrix, W, so, weneed to add them up together <strong>in</strong> order to f<strong>in</strong>d out N – po<strong>in</strong>t 6 COMPARISON WITH DIRECT COMPUTATION OFDFT <strong>of</strong> x[n]. For this purpose, we make use <strong>of</strong> two real N-POINT DFT AND IDFTadditions to compensate for one complex addition. Thus, we To compute one sample <strong>of</strong> DFT us<strong>in</strong>g eq. (1) <strong>direct</strong>ly, onerequire additional 2 x (N – 1) / 2 = (N – 1) real additions requires N complex multiplications (CMs) and (N – 1)when N is odd and 2 x (N – 2) / 2 = (N – 2) real additions complex additions (CAs) respectively. To compute allwhen N is even. Thus, we require 2N(N – 1)+ (N – 1) = samples (N) <strong>of</strong> DFT, N 2 complex multiplications and(N – 1)(2N + 1) and 2N(N – 1)+(N – 2)=(2N + 1)(N – 1) – 1 N(N – 1) complex additions are required [4]. We nowreal additions to compute N – po<strong>in</strong>t DFT <strong>of</strong> x[n] when N is convert these complex arithmetic operations to realodd and even respectively. We determ<strong>in</strong>e the complexity <strong>of</strong> arithmetic operations us<strong>in</strong>g the follow<strong>in</strong>g relations as:our proposed algorithm (for large N) <strong>in</strong> terms <strong>of</strong> real 1 CM = 4 RMs and 2 RAs and 1 CA = 2 RAs, N 2 CMs = 4N 2additions (RAs) and real multiplications (RMs) asRMs and 2N 2 RAs and N(N -1) CAs = 2N(N – 1) RAs. Thus,2( N 1)( 2N 1)2 N ; for N 2k12( 2N + 1)( N −1) −1≈ 2 N ; for N = 2k( 7)2⎧⎪2N ( N −1)≈ 2 N ; for N = 2k+ 122N ( N − 2) ≈ 2 N ; for N = 2k( 8)⎧⎪− + ≈ = +RAs = ⎨⎪⎩RMs = ⎨⎪⎩5 COMPUTATION OF IDFT USING THE PROPOSEDALGORITHMMatrix representation <strong>of</strong> eq.(2) permits us to compute thevalue <strong>of</strong> the complex signal, x[n] after multiply<strong>in</strong>g it with<strong>in</strong>verse <strong>of</strong> the matrix, W as a = W -1 R . But, the def<strong>in</strong>ition <strong>of</strong><strong>in</strong>verse <strong>discrete</strong>-time Fourier <strong>transform</strong> (IDFT) [7]-[9] canalso be written <strong>in</strong>to Matrix form as Na = W * R, where *denote conjugate <strong>of</strong> the matrix W. The comparison <strong>of</strong> aboveFigure 1 shows the comparison <strong>of</strong> real additions required bythe computer to compute N-po<strong>in</strong>t DFT and IDFT <strong>of</strong> thecomplex sequence, x[n] us<strong>in</strong>g the proposed algorithm and its<strong>direct</strong> <strong>computation</strong> <strong>in</strong> time doma<strong>in</strong>. It can easily be seenfrom the graph that <strong>computation</strong> <strong>of</strong> N-po<strong>in</strong>t DFT and IDFTby <strong>direct</strong> <strong>computation</strong> requires twice real additions than theproposed algorithm when N ≥ 1000. Thus, we obta<strong>in</strong> apercentage sav<strong>in</strong>g <strong>of</strong> 50% <strong>in</strong> the <strong>computation</strong> <strong>of</strong> N-po<strong>in</strong>tDFT and IDFT <strong>of</strong> x[n] us<strong>in</strong>g the proposed algorithm.two representations reveal that W -1 = W * /N. This relationtells us to compute the <strong>in</strong>verse <strong>of</strong> the matrix, W by firstconjugat<strong>in</strong>g it and then normaliz<strong>in</strong>g its entries by N. W -1 canbe expressed ast∗t( ⎡⎣ 0 1 2K⎤2 1 ⎦ ) ⎡⎣ 0 1 2K⎤2 1⎦( 9)= =−1 −1 ∗ ∗ −1∗ ∗W N r r r r r N r r r r rwhere we have <strong>in</strong>terchanged the transpose operation with thecomplex conjugate operation <strong>in</strong> comput<strong>in</strong>g the <strong>in</strong>verse and r 0rema<strong>in</strong>s unchanged as its all entries comprise <strong>of</strong> real values.It can easily be seen from (9) that same relation existsamong the columns <strong>of</strong> <strong>in</strong>verse matrix, W. This also showsthat there will be no effect on the complexity <strong>of</strong> <strong>direct</strong><strong>manual</strong> <strong>computation</strong> <strong>of</strong> IDFT as conjugation <strong>in</strong>volvesexchange <strong>of</strong> real and imag<strong>in</strong>ary parts only. The follow<strong>in</strong>gsteps are essential to perform <strong>in</strong> order to compute <strong>direct</strong><strong>manual</strong> IDFT <strong>of</strong> a sequence, R with N complex values:total RAs = 2N 2 + 2N(N – 1) = 2N(2N – 1) ≈ 4N 2 for large N.Similarly, N 2 CMs = 4N 2 RMs. Sav<strong>in</strong>g <strong>in</strong> real arithmeticoperations (both additions and multiplications) = 4N 2 – 2N 2= 2N 2 . Percentage sav<strong>in</strong>g <strong>in</strong> real arithmetic operations (bothadditions and multiplications) = 2N 2 / 4N 2 x 100 = 50%.This shows that our proposed algorithm provides 50%sav<strong>in</strong>g <strong>in</strong> the <strong>computation</strong> <strong>of</strong> N-po<strong>in</strong>t DFT and IDFT forlarge N <strong>in</strong> time doma<strong>in</strong> and thus outperforms its <strong>direct</strong><strong>computation</strong>. There is no effect on the percentage sav<strong>in</strong>g, i.e,it rema<strong>in</strong>s 50 % when we want to compute N-po<strong>in</strong>t DFT <strong>of</strong> areal data sequence, ( x r [n] = x[n] with imag<strong>in</strong>ary part, b[n] =0) us<strong>in</strong>g the proposed algorithm. In this case, step 5) <strong>in</strong> the


722ISSN 1013-5316; CODEN: SINTE 8 Sci.Int(Lahore),25(4),719-723,2013proposed algorithm will not be performed. Moreover, itenables the <strong>in</strong>structors teach<strong>in</strong>g DSP course to compute it<strong>manual</strong>ly with comfort and ease <strong>in</strong> the class.6 NUMERICAL RESULTS AND DISCUSSIONIn this section, we present the numerical results to show theperformance <strong>of</strong> our proposed algorithm <strong>in</strong> comparison withthe <strong>direct</strong> <strong>computation</strong> <strong>of</strong> N-po<strong>in</strong>t DFT <strong>in</strong> time doma<strong>in</strong>. Forthis purpose, we have varied the length, N <strong>of</strong> the complexsequence, x[n] from 2 to 2500 and have computed itscorrespond<strong>in</strong>g N-po<strong>in</strong>t DFT and IDFT us<strong>in</strong>g the proposedalgorithm and <strong>direct</strong> <strong>computation</strong>. The results are thusgathered and plotted <strong>in</strong> Figures 1, 2 and 3 respectively.Comparison <strong>of</strong> Real Additionssav<strong>in</strong>g <strong>in</strong> <strong>computation</strong>s while perform<strong>in</strong>g N-po<strong>in</strong>t DFT andIDFT <strong>of</strong> x[n] us<strong>in</strong>g the proposed algorithm. We also showedthat the percentage sav<strong>in</strong>g rema<strong>in</strong>s unchanged when we x[n]reduces to a real data sequence. Instructors <strong>in</strong> class teach<strong>in</strong>gthe course <strong>of</strong> DSP can also demonstrate the <strong>manual</strong><strong>computation</strong> <strong>of</strong> DFT and IDFT us<strong>in</strong>g the steps <strong>of</strong> ourproposed algorithm with ease and comfort for reasonablylarge values <strong>of</strong> N without any complication.1614Comparison <strong>of</strong> Real Multiplicationssav<strong>in</strong>g = 50%DirectProposedA r ith m etic O p e ra tion s161412108618 x 106 Number <strong>of</strong> po<strong>in</strong>ts <strong>in</strong> DFT, Nsav<strong>in</strong>g = 50%DirectproposedA rithmetic O perations18 x 106 Number <strong>of</strong> po<strong>in</strong>ts <strong>in</strong> DFT, N12108642400 500 1000 1500 2000 2500200 500 1000 1500 2000 2500Figure 2: Comparison <strong>of</strong> real multiplications (RMs) <strong>of</strong> proposedalgorithm with <strong>direct</strong> <strong>computation</strong> <strong>of</strong> DFT and IDFT <strong>of</strong> x[n]Figure 1: Comparison <strong>of</strong> real additions (RAs) <strong>of</strong> proposedalgorithm with <strong>direct</strong> <strong>computation</strong> <strong>of</strong> DFT and IDFT <strong>of</strong> x[n]Comparison <strong>of</strong> Total Arithmetic Operations (+'s plus *'s)Sav<strong>in</strong>g = 50 %3.5 x 107 Number <strong>of</strong> po<strong>in</strong>ts <strong>in</strong> DFT, NFigure 2 and 3 describe the comparison <strong>of</strong> realmultiplications and arithmetic operations (<strong>in</strong>clud<strong>in</strong>g bothreal additions and multiplications) required by the computerto compute N-po<strong>in</strong>t DFT and IDFT <strong>of</strong> the complexsequence, x[n] us<strong>in</strong>g the proposed algorithm and its <strong>direct</strong><strong>computation</strong> <strong>in</strong> time doma<strong>in</strong>. It can easily be seen from thegraphs shown <strong>in</strong> figure 2 and 3 that <strong>computation</strong> <strong>of</strong> N-po<strong>in</strong>tDFT and IDFT by <strong>direct</strong> <strong>computation</strong> requires twice realmultiplications and real arithmetic operations than theproposed algorithm when N ≥ 1000. Thus, we aga<strong>in</strong> obta<strong>in</strong> apercentage sav<strong>in</strong>g <strong>of</strong> 50% <strong>in</strong> the <strong>computation</strong> <strong>of</strong> N-po<strong>in</strong>tDFT and IDFT <strong>of</strong> x[n] us<strong>in</strong>g the proposed algorithm.7 CONCULUSIONSIn this paper, we proposed an algorithm which computesN-po<strong>in</strong>t DFT and IDFT <strong>of</strong> a complex or real data sequence,x[n] very <strong>efficient</strong>ly and with ease <strong>in</strong> time doma<strong>in</strong>. For thispurpose, we made use <strong>of</strong> relationships existed amongvarious rows or (columns) <strong>of</strong> the l<strong>in</strong>ear <strong>transform</strong>ationmatrix, W. We showed analytically and demonstratedthrough numerical results that our proposed algorithmoutperforms the <strong>direct</strong> <strong>computation</strong> <strong>of</strong> N-po<strong>in</strong>t DFT andIDFT <strong>of</strong> x[n]. We also showed that we achieve 50 percentA rithm etic O perations32.521.510.5DirectProposed00 500 1000 1500 2000 2500Figure 3: Comparison <strong>of</strong> real arithmetic operations (RAops) <strong>of</strong>proposed algorithm with <strong>direct</strong> <strong>computation</strong> <strong>of</strong> DFT and IDFT.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!