COMPUTATIONALLY EFFICIENT ANALYSIS AND SYNTHESIS OF REAL SIGNALS USING DISCRETE FOURIER TRANSFORMS AND INVERSE DISCRETE FOURIER TRANSFORMS

Abstract: The present invention significantly reduces the number of complex computations that must be performed to compute a DFT or IDFT when a pattern is identified in an original input data sequence and is used to modify the data sequence in order to reduce the size of the sequence to be transformed. A DFT (IDFT) is performed on the modified input data sequence to generate a transformed sequence. The transformed data sequence is then manipulated to generate an output sequence that corresponds to the DFT (IDFT) of the original input data sequence without having actually calculated the DFT (IDFT) of the entire, original input data sequence. Three symmetrical patterns are used in the invention to simplify and render more efficient DFT and IDFT computations: Hermite symmetry, index-reversed, complex-conjugate symmetry, and mirror symmetry. As a result, the number of complex multiplications required to perform the DFT (or IDFT) is considerably less than the number of complex multiplications required to calculate the DFT (or IDFT) of the original input data sequence. The computational reduction increases signal processing speed and decreases power consumption, both attributes are highly desirable in virtually every DFT/IDFT application.

Description: COMPUTATIONALLY EFFICIENT ANALYSIS AND SYNTHESIS OF REAL SIGNALS USING DISCRETE FOURIER TRANSFORMS AND INVERSE DISCRETE FOURIER TRANSFORMS FIELD OF THE INVENTION The present invention relates to the use of the discrete Fourier transform (DFT) and the inverse discrete Fourier transform (IDFT) in a wide variety of signal processing applications. In particular, the invention presents more efficient and less complex methods for computing the DFT and IDFT. BACKGROUND AND SUMMARY OF THE INVENTION Orthogonal transforms and transform properties are extraordinarily useful in solving new technological problems. Such transforms permit analysis of most signals given some knowledge of its constituent parts. The Fourier transform in particular has become a powerful tool in increasingly diverse fields including linear systems, communications systems, image processing applications, etc. to name just a few. The discrete Fourier transform (DFT) is the counterpart of the Fourier transform in the discrete time domain. In general, the DFT may be defined as follows: X k = ∑* n k = 0, l..., N - l (1) «=0 and the inverse DFT (IDFT) is expressed as: X n = VX ∑ x ι < W- k " k = 0, \..., N - \ (2) where W^ = e jlnklN . in equations (1) and (2), x n is the sample value in the time domain, and X k is the sample value in the frequency domain. Direct calculation of the DFT and the IDFT is computationally intensive and requires N 2 complex multiplications and N(N - 1) complex additions. Such computational overhead is quite burdensome in terms of reduced signal processing speed, increased power consumption, and higher expense. One important tool in modern digital signal processing applications that helps to reduce that overhead is the Fast Fourier Transform (FFT). The FFT computes the DFT by mapping an N-point complex sequence to its corresponding N-point complex frequency spectrum and vice versa for the IFFT and IDFT. Although FFT algorithms are typically designed to compute the DFT of a complex sequence, in many applications, the sequence to be transformed is real valued. But even for real value sequence applications, the FFT/IFFT requires multiple complex multiplications and additions. Thus, there is an ongoing need to reduce the number of FFT/IFFT computations, and in particular the number of complex multiplications, that must be performed in order to more efficiently compute the FFT and the IFFT. The present invention meets this need and significantly reduces the number of complex computations that must be performed in computing the DFT and IDFT of real value sequences. The computational reduction increases signal processing speed and decreases power consumption, both of which are highly desirable in virtually every DFT/IDFT application. The present invention achieves these goals by taking advantage of various symmetries and regularities of processed data sequences. A pattern is identified in an original data sequence and is used to modify the data sequence in order to reduce the length of the FFT. A DFT (or IDFT) is then performed on the modified input data sequence to generate a transformed sequence. The transformed data sequence is then manipulated to generate an output sequence that corresponds to the DFT (or IDFT) of the original input data sequence without having to actually calculate the DFT (or IDFT) of the entire, original input data sequence. Moreover, the IDFT may then be determined using the complex-conjugate of the already-calculated DFT rather than independently calculating the IDFT (and vice versa). The pattern in the original data sequence may include a particular symmetry. Three symmetrical patterns, corresponding to three example embodiments of the present invention, are used to simplify and render more efficient DFT and IDFT computations: Hermite symmetry, index-reversed complex-conjugate symmetry, and mirror symmetry. In the Hermite and mirror symmetry example embodiments, the modified data sequence is substantially shorter than the original data sequence, e.g., one-half the length of the original data sequence, one-fourth of the length of the original data sequence, etc. In all three embodiments, the number of complex multiplications required to perform the DFT (or IDFT) of the modified data sequence is considerably less than the number of complex multiplications required to calculate the DFT (or IDFT) of the original input data sequence. In the Hermite symmetry example embodiment, an original, N-point input data sequence is efficiently transformed using either a DFT (or an IDFT). From the original, N-point Hermite symmetric input data sequence, an N/2 sequence of complex numbers is defined. A DFT (or an IDFT) is executed on the N/2 sequence to generate a transformed data sequence. The real part of the transformed sequence is output as the even numbered samples and the imaginary part as the odd numbered samples of the output sequence corresponding to the DFT (or the IDFT) of the original, N-point, Hermite symmetric input data sequence. In the index-reversed, complex-conjugate symmetry example embodiment, first and second input data sequences are defined. A DFT (or IDFT) is executed on the first input data sequence to generate a transformed data sequence. The DFT (or IDFT) of the second input data sequence is then determined using the DFT (or IDFT) of the first input data sequence. In other words, the DFT (or IDFT) of the second input data sequence is determined without formally calculating the DFT (or IDFT) of the second input data sequence. This computational saving is achieved as a result of the first and second sequences being index-reversed, complex-conjugate sequences. More specifically, the DFT (or IDFT) of the second input data sequence is determined by complex-conjugating the DFT (or IDFT) of the first input data sequence and multiplying by a complex number. The third example embodiment of the present invention takes advantage of mirror symmetric data sequences, i.e., a sequence of length N where the elements starting with index N/2 through N - 1 are the complex-conjugate of the elements with index 0 through N/2 - 1 in reverse order. A mirror symmetric input data sequence is split into first and second sub-sequences. The first sub-sequence includes the even components of the mirror symmetric input data sequence, and the second sub- sequence includes the odd components of the mirror symmetric input data sequence. The DFT (or IDFT) is executed on the first sub-sequence to generate a transformed data sequence. A first half of the DFT (or IDFT) of the input data sequence is then determined using the DFT (or IDFT) of the first sub-sequence and adding its complex- conjugated sequence multiplied by a twiddle factor. The second remaining half of the DFT (or IDFT) of the input data sequence is determined using the DFT (or IDFT) of the first sub-sequence and subtracting its complex-conjugate sequence multiplied by a twiddle factor. One practical application of the present invention is to digital modems where one information sequence to be transmitted is modulated onto discrete multi-tone (DMT) carriers using an inverse fast Fourier transform (IFFT) and the received sequence is demodulated by using a fast Fourier transform (FFT). A pre-transform processor modifies an original sequence based upon an identified pattern in that sequence to reduce the number of samples. Transform circuitry then performs an IFFT on the modified data sequence to modulate the DMT carriers to be transmitted in a transmit direction and an FFT to demodulate DMT carriers received in the receive direction. A transform processor manipulates the transformed data sequence to generate an output sequence corresponding to the FFT or the IFFT of the original data sequence. In one example embodiment of a DMT system, even numbered DMT carriers are employed in the transmit direction and odd numbered DMT carriers are employed in the receive direction. The number of DMT carriers in both directions can be substantially the same (symmetric communication), or substantially different (asymmetric communication). While the primary object of the present invention is to provide efficient DFT/TDFT computational procedures, other objects and advantages of the present invention will become apparent to those skilled in the art as described below in further detail in conjunction with the figures and the pending claims. DETAILED DESCRIPTION OF THE DRAWINGS Fig. 1 is a flowchart diagram illustrating efficient DFT/IDFT transformation procedures in accordance with a general embodiment of the present invention; Fig. 2 is a flowchart diagram illustrating one example embodiment of the present invention pertaining to a Hermite symmetric input sequence; Fig. 3 is a flowchart diagram illustrating one example embodiment of the present invention pertaining to an index-reversed conjugate input sequence; Fig. 4 is a flowchart diagram illustrating another example embodiment of the present invention pertaining to a mirror-symmetric input sequence; Fig. 5 is a block diagram illustrating a basic multi-carrier transmitter, communication channel, and receiver using the IDFT and the DFT as modulator and demodulator, respectively; Fig. 6 is a diagram conceptually illustrating frequency domain discrete multi-tone modulation (DMT); and Fig. 7 is a diagram schematically depicting the basic structure of a discrete multi-tone modulation system. DETAILED DESCRIPTION OF INVENTION In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular modulation/demodulation techniques, applications, protocols, etc. in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known methods, protocols, devices, and circuits are omitted so as not to obscure the description of the present invention with unnecessary detail. General Embodiments The present invention will be described in the context of several general example embodiments and then applied as an example to a discrete multi-tone modulation (DMT) digital communications system that conforms to a particular communications protocol. While the following explanation and in the invention apply fully to both time and frequency domains, the descriptive examples are generally provided in only one domain for purposes of illustration. Fig. 1 is a flowchart diagram which illustrates the general procedures for efficiently performing DFT/IDFT operations (block 10) in accordance with the present invention. First, the input data to be transformed is analyzed to identify one or more patterns, symmetries, or redundancies (block 11). The input data is then manipulated to remove redundancies or exploit symmetries to shorten or otherwise simplify the input data sequence to be transformed (block 12). Advantageously, the manipulation of the input data sequence is performed such a way so as to preserve the essential properties of the input data sequence. A DFT or IDFT is then performed on the manipulated input data sequence using the well-known fast Fourier transform or inverse fast Fourier transform, respectively (block 14). Having already performed a transform, that same DFT operation can be "reused" to perform the IDFT as shown in block 14. In particular, the same piece of hardware or the same software algorithm used to implement the DFT can be used to also implement the IDFT using only relatively minor operations to pre-process and post-process the data. The pre-processing includes complex conjugating the input data sequence upon which the IDFT is to be performed. The DFT operation is then performed on that complex-conjugated sequence. The post-processing includes complex conjugating the transformed results. A more detailed description of the operations included in block 16 is set forth in the above-identified parent application, the disclosure of which is incorporated herein by reference. Alternatively, if the IDFT is executed in block 14, the DFT may be calculated using the same IDFT operation (e.g., hardware or software algorithm) as long as the input sequence is complex- conjugated before transformation and the transformed output sequence is then complex- conjugated. In any event, the transformed output data sequence is manipulated to retrieve spectral information in the frequency domain or synthesize a signal sequence in the time domain (block 18). These procedures significantly reduce the complexity of the DFT/IDFT operations thereby increasing the signal processing speed without a loss of information or computational accuracy. Moreover, if the procedures outlined in block 16 are implemented, additional efficiency is achieved because the same hardware and/or software resources are essentially used to perform both the DFT and IDFT operations. Three example embodiments of the invention use corresponding symmetries to simplify DFT/IDFT computations: Hermite symmetry, index-reversed complex-conjugate symmetry, and mirror symmetry. Each example embodiment is described in turn. 1. Hermite Symmetry A first example embodiment of the invention provides efficient or simplified DFT/IDFT computations by taking advantage of Hermite symmetry. In the formal definition of the DFT/IDFT, both x n and X k are assumed to be complex. But if one of these sequences is real- valued, then half of the numbers corresponding to the imaginary parts are zero. Accordingly, DFT computations for real valued sequences are based on the fact that real value sequences in one domain exhibit Hermite symmetry in the other domain. An example of an eight point, Hermite symmetric sequence, (i.e., the number of samples or data points N in the sequence is 8), is X k = 0, 1 + / ' , 2 - , 3 + t ' ,4, 3 - /, 2 + /, 1 - / ' k 0 1 2 3 4 5 6 7 Formally, Hermite symmetry may be described as follows: X N = X N (4) — m m 2 2 * N Observe that for m = 0 , it follows that X N = X N therefore X N is real. For m = — , 7 7 7 it similarly follows that -Ny. = N 0 = N^ therefore NO is real. If X k is an N-point Hermite symmetric series, the Fourier transformation of X k is a real sequence, x n . Regarding subscripts, the index for frequency sequences is k, sequences in the time domain (lower case) are indexed by n, and index m is a general substitution index that can be used for both time and frequency sequences. We construct a new complex sequence v m using the real sequence x n V m = X 2m + J - χ 2m+l (5) N N for an index m = 0, 1,..., 1 which is only half as long (i.e., — complex points) as the N-point, original, real series, x n . Therefore, computation of the complex series v m N requires only an point IDFT which reduces the number of arithmetical operations roughly by factor of two. In more detail, the real part of v m may be expressed by Λ Xk - W " N/2 (6) Splitting the sum above into two sums yields Using the formal definition of Hermite symmetry from equation (4) repeated below %N _ ~ %N _ —+k * (8) 2 2 the following expression may be obtained: Similarly, the imaginary part of v m may be expressed as Again, splitting the sum above into two sums yields The following congruence relation may be used to simplify equation (11): Inserting equation (8) into equation (11) and applying equation (12) results in lma gi ( v : k 2 +l ~ . w rr N k I • w "Λ ~ . / m 2 k (13) Consequently, v m may be expressed as the IDFT of half the sequence, X k , i.e., Hence, the sequence v m defined by equation (5), v m = v 2m +j- x 2m+l , may be obtained by taking a Fourier transform of just one-half of the original sequence The real part of series v m corresponds to the evenly-numbered samples, and the imaginary part of series v m corresponds to the odd-numbered samples of the desired real series x n„ . ' Thus, applying the steps of Fig. 1 to the Hermite symmetry example embodiment, the original input data sequence is manipulated in order to form a modified input data sequence defined by equation (15) that is just one-half of the size of the original input data sequence. Accordingly, the IDFT is executed (using the IFFT) on a much smaller size data sequence thereby considerably reducing the number of IFFT mathematical computations that must be performed. The output data generated by the Fourier transform calculated in accordance with equation (15) is then manipulated to generate an output sequence corresponding to the IDFT of the original input data sequence. Specifically, the real parts of the transformed sequence are assigned as the even numbered samples and the imaginary part the odd samples. This considerable reduction in the size of the input sequence to be N transformed is achieved at the relatively small expense of — complex multiplications 3 and — N additions as indicated in equation (14). Accordingly, this Hermite symmetry example embodiment of the invention only requires N ■ log 2 — j H = — log 2 ( N) complex multiplications and • log 2 — I + — • N = — log 2 (4 N) additions as compared to the — log 2 (N) 2 complex multiplications and N ■ log 2 (N) additions typically required by each DFT/IDFT. The number of operations saved increases significantly as the value of N increases. Fig. 2 illustrates procedures in flowchart format in accordance with the present invention for determining the DFT/IDFT of a Hermite symmetric sequence (block 20). From an N-point Hermite symmetric series X k , a half-length series (i.e., N points) is defined N for k = 0..., 1. The DFT or IDFT is then executed using the FFT or IFFT, respectively, on the half-length series X k (block 24). The real part of the DFT/IDFT result is extracted and output as the even-numbered samples of the desired series x n . The imaginary part of the DFT/IDFT result is similarly extracted but output as the odd- numbered samples of the desired series x n (block 26). Thus, in this embodiment, the output manipulation is the extraction process where the real and imaginary parts are assigned to even and odd numbered samples, respectively. 2. Index-Reversed, Complex-Conjugate Symmetry A second example embodiment of the present invention provides efficient DFT/IDFT computation by taking advantage of index-reversed, complex-conjugate symmetry. Unlike Hermite symmetry which may exist within a single input data sequence, index-reversed conjugate symmetry may exist between two data sequences. The following is a simple example of two index-reversed complex-conjugate sequences X k ma Y k : X k = l + ι 9 2 - i, 3 + , 4 - 1 Jfc = 0, ..., 3 (16) Y k = 4 + , 3 - /, 2 + 1, 1 - 1 = 0, .... , 3 (17) In this example, the first element of series X k is the complex-conjugate of the last element of series Y k , the second element of series X k is the complex-conjugate of the second to last element of series Y k , etc. More formally, two sequences are index-reversed, complex-conjugates if the following property exists: X k = ^N-ϊ-k (I 8 ) *„ => ----- (19) where X k and Y k are complex sequences in the frequency domain, x n and y n are complex sequences in the time domain, and Nis the number of data points in each sequence. In the above example, N equals 4. In conventional DFT/IDFT algorithms, the Fourier transforms and inverse Fourier transforms of both the X k and Y k sequences must be calculated. However, in the case of index-reversed, complex-conjugated series, the transform of series X k may also be used directly in determining the transform of series Y k with considerably less computational effort than independently and separately computing the transform of Y k . More formally, let us perform an IDFT of the sequence X k : χ n = y- - ∑ χ y w N kn (20) According to the property expressed by equation (18), we can substitute X k = Y N _ \ _ k which gives: If we change summation index from : to m = N - l - k , wQ can rewrite equation (21) as follows: -V-l Notably, observe that the expression ∑Y m w Σ=0' • W™ n is the DFT of the sequence Y m Using a general property of complex numbers, the IDFT may be expressed in terms of the DFT for an arbitrary sequence Y of length N: In other words, the sequence Y k may be first complex-conjugated, transformed using the DFT, then again complex-conjugated, and scaled to compute the IDFT of Y k . Combining equations (20), (21), and (22) with property of equation (23) yields x„ = IDFT(X k ) = W N " ■ [lDFT(Y k )] (24) Accordingly, once the IDFT of sequence X k is calculated, it may also be used to determine the IDFT of sequence Y k with very little additional computational effort as is evident from equation (25). IDFT(Y k ) = W N n - [lDFT(X k ) (25) Hence, the IDFT of an index-reversed, complex-conjugated sequence (e.g., 7*) is efficiently obtained simply by multiplying the complex-conjugate (*) of the IDFT of the original sequence X k by a complex phase factor W^ . Computing the second Fourier transform of an index-reversed, complex- conjugated sequence in accordance with the present invention does not require N x log 2 [ Nj complex multiplications but instead only N complex multiplications and - N additions. Beginning with N = 4 , therefore, the number of arithmetical operations is reduced using the present invention. For large values of N, quite a large number of computations may be eliminated. This property may be advantageously exploited for instance at different stages of divide-and-conquer type FFT/IFFT algorithms. A general procedure for taking a DFT or IDFT for index-reversed, complex-conjugate sequence X k and Y k is now described in accordance with flowchart procedures beginning at block 30. Initially, one of the index-reversed, complex-conjugate sequences, e.g., X k is chosen (block 32). The DFT (via the FFT) or IDFT (via the IFFT) is executed to transform the sequence X k (block 34). The IDFT or DFT of the index-reversed, complex-conjugate sequence Y k is then computed in a much simplified manner using the following: DFT(y„) = WZ"[DFT(x n )) * or (26) IDFT(Y k ) = Wϊ [lDFT(X k )]' (27) rather than computing the IDFT (or DFT) of the sequence Y k directly (block 36). Equation (26) is derived in a similar manner as that for equation (25) (equation (25) is repeated here as equation (27) for convenience), starting with the DFT instead of the IDFT in equation (25). 3. Mirror Symmetry A third example embodiment of the invention provides efficient or simplified DFT/IDFT computations by taking advantage of mirror symmetry. A single "mirror-symmetric" sequence consists of two index-reversed, complex-conjugate sequences following one another. An example of a mirror-symmetric sequence is as follows: X k = l + /,2 -/,3 + /,4 -/,4 +/,3 -/,2 +/, l - / k = 0,...,7 (28) Formally, a mirror-symmetric sequence is defined as follows: X k ~ X N-\-k (29) where k = 0, ... ,N - I . Again, although the complex series is defined in the frequency domain, X k , the properties described are valid for a complex series in time domain x n as long as the same condition is fulfilled, i.e., x n = x " N - * V- .,l-..._ . The IDFT of a mirror- symmetric sequence X k is by definition ι Λ kn (30) N k N Splitting the sequence N in the summation in equation (30) into two sub-sequences — of even and odd numbered components yields the IDFT of X k as: From equation (29), it follows that ^2m+l — -^N-\-(2m+l) ~ N-2-2m ^2(^-l- ) ~) Accordingly, in the mirror-symmetric sequence X k , the even-numbered component sequence X 2m and the odd-numbered component sequence N 2m+1 are index-reversed conjugates. For instance, the example sequence in equation (24) has even numbered components: X 2m = l + i. 3 + z, 4 + z, 2 + i and odd numbered components: x 2m+ ι =2-i,4-i,3-i,\-i. Applying the property set forth above for index-reversed conjugate sequences equation (25), we get the following expression for the IDFT: where W -W^ = W N n . Substituting the term "IDFT" for the mathematical IDFT expression in N equation (33), samples in the interval defined by n = 0,..., 1 are calculated using: The second term in the brackets of equation (33) is the complex-conjugate of the first term because of the properties of the index-reversed, complex-conjugate symmetric N series discussed earlier. Samples in the interval defined by n = — ,...,N - 1 are obtained by executing x n = IDFT{X 2m ) - W [lDFT{X 2m )] (35) Thus, in the mirror-symmetry embodiment of the invention, instead of computing an N-point Fourier transform which requires — g 2 (N) complex / N multiplications and N • log 2 (N) additions, only one point Fourier transform plus N an — complex multiplications and N-additions are computed. Hence, the total number N (Nλ N N , of calculations — log 2 1 — j + — = — log 2 (2 N) is less than that for conventional DFT/IDFT computational methods for values of N greater than 2. More specifically, the number of the complex additions is reduced to — log 2 — j + N = — log 2 (IN) , i.e., about halved. Fig. 4 illustrates procedures in accordance with the present invention for determining the DFT/IDFT of a mirror-symmetric sequence X k = X N _ι_ k (block 40). From an N-point mirror-symmetric sequence X k , a sub-sequence X 2m is formed that contains the even components of X k (block 42). The DFT or IDFT of the subsequence is then executed (block 44). Rather than computing the DFT (or IDFT) of the odd-component sub-sequence directly, the DFT (or IDFT) is calculated in a much simplified manner using the following relationships corresponding to equations (26) and (27) above: DFT(y„) = W n [DFT(x n ) or IDFT(Y k ) = WZ [lDFT(X k )] * The result obtained in block 44 for the sub-sequence is applied in the following way. N To obtain samples in the interval defined by n, k - 0, ... , 1 , execute x n = IDFT(X 2m ) + WZ[lDFT(X 2m )]' or X k = DFT(x 2 /> + To N obtain samples for the interval n,k - — , ... , N - 1 , execute x n = IDFT(X 2m ) - WZ [lDFT(X 2m )} * or X k = DFT(x 2m ) - W-[DFT(x 2m jf (block 46). Digital Communication Example Applications of the Invention The principles set forth in the generic embodiments disclosed above may be illustrated in a real world application to discrete multi-tone (DMT) modulation and demodulation used in a digital communications system. In particular, the present invention may be advantageously employed in Very high speed Digital Subscriber Links (VDSLs) where digital information is communicated using an Orthogonal Frequency Divided Duplex (OFDD) scheme based on an evolving DMT-type protocol named "Zipper." 1. Discrete Multi-Tone (DMT) Modulation/Demodulation The general DMT principle of transmitting data by dividing it into several interleaved bit streams, and using these bit streams to modulate several carriers is well known. In a Discrete Multitone system, the input bit stream is first serial-to-parallel converted. The parallel output is then grouped into Ν groups of bits corresponding to the number of bits per symbol. Portions of bits are allocated to each DMT carrier or subchannel. The power transmitted over each subchannel corresponds to the number of bits transmitted over each DMT subchannel. Fig. 5 shows an example Discrete Multitone (DMT) communication system in which the present invention may be advantageously employed. Transmitter 100 includes a serial-to-parallel converter 140, a multicarrier IDFT modulator 160, and a pretransmit processor 180. Receiver 120 includes a post channel processor 200, a multicarrier DFT demodulator 220, and a parallel-to-serial converter 240. The transmitter and receiver are linked in this example by a digital subscriber line (DSL) or other form of communication channel 260. Serial input data at a rate of b total I T bits per second are grouped by converter 140 into blocks of b tolal I T each multicarrier symbol, with a symbol period of T. The b total in each multicarrier symbol are used to modulate N separate carriers in modulator 160 with b { bits modulating the i ~th carrier. An Inverse Discrete Fourier Transform (IDFT) is used during modulation to generate N s time-domain samples of a transmit signal for each block of b total bits, where N s is preferably equal to 2N . The corresponding multicarrier demodulator performs a Discrete Fourier Transform (DFT), where b. bits are recovered from the i ~th carrier. As depicted in Fig. 6, the carriers or subchannels in a DMT system are spaced \/T Hz apart across N/T Hz of the frequency band. More detailed discussion of the principles of multicarrier transmission and reception in general is given by J. A. C. Bingham in "Multicarrier Modulation for Data Transmission: An Idea Whose Time Has Come", IEEE Communications Magazine, Volume 28, Number 5, pp. 5-14, May 1990. The general structure of a Discrete Multitone Modulation DMT system is illustrated in Fig. 7, where | 0 , j ,...,X N _ X J are the original, complex, input data symbols, {x n } is the modulated data sequence (before cyclic prefix), } is the discrete-time channel response, } is the additive noise sequence, } is the received sequence (after the removal of cyclic prefix), and \X λ , ... , X N _ } are the decoded, complex data symbols. The p. 's and p. * 's in Fig. 7 are known as the modulating and the demodulating vectors, and preferably they are chosen to be orthonormal. Adding the cyclic prefix is a discrete-time technique used to eliminate interblock interference (IBI) in the DMT system. The independent modulating and demodulating vectors in Fig. 7 used in the modulator 160 and demodulator 220 in Fig. 5, respectively, are the IDFT and the DFT vectors given by the of relationships in equations (1) and (2) above. 2. The Zipper Protocol In a typical, full duplex DMT transmission, one of two schemes are used for the duplexing. Either all subcarriers are used to send information in each direction at different times, known as time division duplexing (TDD), or different subcarriers send information in different directions at the same time, known as frequency division duplexing (FDD). However, there are advantages to assigning certain subcarriers to the upstream direction and the remaining subcarriers to the downstream direction of the full duplex communication. One preferred way to split the bandwidth in such a scenario is to divide it into two equal halves with the even subcarriers being used in one direction and the odd subcarriers being used in another direction. This particular sub-carrier allocation lends itself well to the present invention in which efficiencies are gained by performing the IDFT on only even components and the DFT only on odd components, or the IDFT on only odd components and the DFT only on even components. With the sub-carriers configured in this fashion, the Hermite symmetry and mirror symmetry algorithms detailed above may be directly applied to efficiently perform DFT/IDFT calculations in the demodulator and modulator, respectively. Since the sequence is real, it is Hermite symmetric which means that only one-half of the components contain information. Therefore, the IDFT of the even components may be efficiently computed using the Hermite symmetry embodiment. The IDFT of odd components may be efficiently computed using the mirror symmetry embodiment. The DFT of the even components is straightforwardly handled, and the DFT of odd components is efficiently computed using the mirror symmetry embodiment of the present invention. In the description of the mirror symmetric embodiment in the preceding section, the presentation highlights the problem of computing a Fourier transform of a mirror symmetric complex sequence from which a real sequence is obtained. But there are advantages of applying the present invention going the other direction, i.e., from real to complex. In the example application of the Zipper protocol, a mirror symmetric series may be created by choosing only odd spectral components corresponding to odd DMT subcarriers 1, 3, 5, 7, ..., etc. which are complex. Yet when the transmitted, modulated sub-carriers are received, they are received as real signals. The problem therefore is how to effectively evaluate only that data on the odd carriers and discard the other data if we know that the data originally transmitted on the odd carriers is complex and mirror symmetric. More generally, the problem is how to effectively compute complex, mirror symmetric sequences from a received real sequence. Helpful towards solving the problem, is an observation that half of the components of the received real sequence are simply the complex-conjugates of the other half, and therefore do not contain any new information, i.e., if we Fourier transform the lower part of the spectra of the sequence, the upper part of the spectra of the sequence can be reconstructed by simply reversing the indexing and then complex- conjugating the result. No complex multiplications or additions are required to accomplish the index reversing and complex-conjugating operations. Accordingly, if we remove the even components from the spectra (making the sequence half as long) and then compute the Fourier transform of only half of the remaining sequence (i.e., the odd components), the size of the Fourier transform is ultimately reduced four times from N to N/4 . This means that the number of arithmetic operations are reduced roughly by a factor of 4 for this stage. . . N . . ,. . N . If the remaining pomt sequence is split mto two pomt sequences N in such a way that only trivial operations are needed to reconstruct the — point 4 sequence, the number of complex multiplications is reduced even more as follows: ( N N ( Nλ N ) N complex multiplications and 2 2 1 log 2 — M = — l g 2 N additions. v 8 8 V 8 / 8 / 4 The issue is then how to manipulate the N-point, received real sequence to get two N point sequences that will be further processed. 8 It was discovered after quite exhaustive algebraic manipulation (not N repeated here) that choosing the two point sequences "g" and "h" set forth below 8 N fulfills the requirement of splitting the N-point real sequence into two point 8 N sequences with only trivial operations required to reconstruct the point sequence: 4 h = X 2m+\ , N N 3 w y N m /,2 (37) 2/M+1+- 2/M+1+— 2m+l+-N 4 Performing a DFT on each of the series g and h, we obtain their respective Fourier N transforms G and H. It may be demonstrated that for an index k = 0, ... , 1 , the 8 N DMT sub-earners numbered as 4k + 1 (i.e., 1, 5, 9, ... , 3 ) may be obtained as follows: N The subcamers with indexes 4k + 3 (i.e., 3, 7, 11, ..., 1 ) may be obtained as follows: X <k+i = G 1-A - #; (39) 8 S Consequently, this means we can assemble the half of the spectrum consisting of odd components. But as set forth at the beginning of this discussion, the upper part of the spectrum is only the complex-conjugate of the lower part of the spectrum because of the mirror symmetry, and therefore, the other half spectrum is easily determined by the symmetry relationship to satisfy with about one-fourth the number of operations. 3. Other Example Applications In the DMT Zipper application, the full duplex communications were assumed to be symmetric ~ substantially equal amounts of traffic flowing in both directions of the full duplex communication. However, the present invention may also be applied to asymmetric communications where a disproportionately large amount of information flows on one path while only a relatively small amount of information is conveyed along the other path, e.g., video-on-demand, file transfer in response to a user request, etc. For example, only DMT subcarriers 0, 4, 8, ..., or 0, 8, 16, ... might be assigned to the low traffic direction with the remaining subcarriers being assigned to the other heavier traffic direction. The Hermite symmetry and mirror symmetry embodiments may also be applied to this situation, with the length of the IDFT or DFT being modified to accommodate the ratio of carriers between the two directions. In the two DMT sub-carrier allocation examples just provided, the most appropriate length of the DFT/IDFT would be N/4 , i.e., 1/4 in one duplex path and 3/4 in the other duplex path, because this leads to trivial twiddle factors in equations (31) and (33). If the sequence is split more than four times, the twiddle factor multiplications are no longer simply trivial. Indeed, the present invention may be applied in any context where the DFT and IDFT have to be calculated. Consider for example two-dimensional data arrays stored in memory oftentimes used in Divide-and-Conquer algorithms used in FFT/IFFT algorithms. If each row of data in the array is identified as being either Hermite symmetric or minor-symmetric, the present invention can be used to efficiently calculate the FFT/IFFT of those rows using the Hermite symmetry and minor symmetry embodiments described above. While the invention has been described in connection with practical and prefened embodiments, it is to be understood that the invention is not to be limited to the disclosed embodiments, but on the contrary, is intended to cover various modifications and equivalent anangements included within the spirit and scope of the appended claims.

Claims: WHAT IS CLAIMED IS: 1. A method for efficiently transforming an original input data sequence, comprising the steps of: identifying a pattern in the original input data sequence; modifying the original input data sequence based on the identified pattern to reduce the number of samples in the original data sequence; calculating a discrete Fourier transform (DFT) on the modified input data sequence to generate a transformed data sequence; manipulating the transformed data sequence to generate an output sequence conesponding to the DFT of the original input data sequence. 2. The method in claim 1, further comprising: determining an inverse discrete Fourier transform (IDFT) using the DFT rather than calculating the IDFT. 3. The method in claim 2, wherein the determining step includes: complex-conjugating a sequence of data for which the IDFT is to be determined; determining the DFT of the complex-conjugated data sequence; and complex-conjugating the resulting sequence. 4. The method in claim 2, wherein the same mechanism used to calculate the DFT is used to determine the IDFT. 5. The method in claim 1, wherein the pattern identifies a redundancy in the original input data sequence. 6. The method in claim 1, wherein the pattern is a symmetry in the original input data sequence. 7. The method in claim 6, wherein the original input data sequence is Hermite symmetric. 8. The method in claim 6, wherein the original input data sequence includes two sub-sequences that are index-reversed conjugate symmetric sequences. 9. The method in claim 6, wherein the original input data sequence is minor symmetric. 10. The method in claim 1, wherein the modified input data sequence is substantially one half of the length of the original data sequence. 11. The method in claim 1, wherein the modified input data sequence is substantially one fourth of the length of the original data sequence. 12. The method in claim 1, wherein the number of complex multiplications required to perform the calculating step is less than a number of complex multiplications required to calculate a DFT of the original input data sequence. 13. The method in claim 1, wherein the original input data sequence is real valued. 14. A method for efficiently transforming an original input data sequence, comprising the steps of: identifying a pattern in the original input data sequence; modifying the original input data sequence based on the identified pattern to reduce the number of samples in the original data sequence; calculating an inverse discrete Fourier transform (IDFT) on the modified input data sequence to generate a transformed data sequence; manipulating the transformed data sequence to generate an output sequence conesponding to the IDFT of the original input data sequence. 15. The method in claim 14, further comprising: determining a discrete Fourier transform (DFT) using the IDFT rather than calculating the IDFT. 16. The method in claim 15, wherein the determining step includes: complex-conjugating a sequence of data for which the DFT is to be determined; determining the IDFT of the complex-conjugated data sequence; and complex-conjugating the resulting sequence. 17. The method in claim 15, wherein the same mechanism used to calculate the IDFT is used to determine the DFT. 18. The method in claim 14, wherein the pattern identifies a redundancy in the original input data sequence. 19. The method in claim 14, wherein the pattern is a symmetry in the original input data sequence. 20. The method in claim 19, wherein the original input data sequence is Hermite symmetric. 21. The method in claim 19, wherein the original input data sequence includes two sub-sequences that are index-reversed conjugate symmetric sequences. 22. The method in claim 19, wherein the original input data sequence is mirror symmetric. 23. The method in claim 14, wherein the modified input data sequence is substantially one half of the length of the input data sequence. 24. The method in claim 14, wherein the modified input data sequence is substantially one fourth of the length of the input data sequence. 25. The method in claim 14, wherein a number of complex multiplications required to perform the executing step is less than a number of complex multiplications required to calculate an IDFT of the original input data sequence. 26. A method, comprising the steps of: establishing an original, N-point Hermite symmetric input data sequence; N defining an — sequence of complex numbers; and executing a discrete Fourier transform (DFT) or an inverse discrete Fourier N transform (IDFT) on the — sequence of complex numbers to generate a transformed data sequence. 27. The method in claim 26, further comprising the steps of: outputting the real part of the transformed sequence as the even numbered samples of an output sequence conesponding to the DFT or the IDFT of the original, N- point, Hermite symmetric input data sequence, and outputting the imaginary part of the transformed sequence as the odd numbered samples of an output sequence conesponding to the DFT or the IDFT of the original, N- point, Hermite symmetric input data sequence. 28. A method comprising the steps of : defining a first input data sequence and a second data sequence; executing a discrete Fourier transform (DFT) or an inverse discrete Fourier transform (IDFT) on the first input data sequence to generate a transformed data sequence; and determining a DFT or IDFT of the second input data sequence using the DFT or IDFT of the first input data sequence. 29. The method in claim 28, wherein the DFT or IDFT of the second input data sequence is determined without calculating the DFT or IDFT of the second input data sequence. 30. The method in claim 28, wherein the first and second sequences are index-reversed complex-conjugate sequences. 31. The method in claim 28, wherein the DFT of the second input data sequence is determined by complex-conjugating the DFT of the first input data sequence and multiplying by a complex number. 32. The method in claim 28, wherein the IDFT of the second input data sequence is determined by complex-conjugating the IDFT of the first input data sequence and multiplying by a complex number. 33. A method comprising the steps of : establishing a mirror symmetric sequence; forming a subsequence containing the even components of the minor symmetric sequence; calculating a discrete Fourier transform (DFT) or an inverse discrete Fourier transform (IDFT) on the subsequence; and determining the DFT or the IDFT of the mirror symmetric sequence using the calculated DFT or the IDFT of the subsequence and the DFT or the IDFT of a complex- conjugate of the calculated DFT or IDFT. 34. The method in claim 33, wherein the determining step includes: calculating a first half of the DFT or IDFT of the minor symmetric sequence using the calculated DFT or IDFT summed with a product of a twiddle factor and the complex-conjugate of the calculated DFT or IDFT. 35. The method in claim 34, wherein the determining step includes: calculating a second half of the DFT or IDFT of the minor symmetric sequence using the calculated DFT or IDFT differenced with a product of the twiddle factor and the complex-conjugate of the calculated DFT or IDFT. 36. A transceiver for transmitting and receiving signals, where one information sequence to be transmitted is modulated onto discrete multi-tone (DMT) carriers using an inverse fast Fourier transform (IFFT) and another information sequence is demodulated from received DMT carriers using a fast Fourier transform (FFT), comprising: a pre-transform processor modifying an original data sequence based on the identified pattern to reduce the size of the fast Fourier transform to be calculated, and transform circuitry performing an IFFT on the modified data sequence to modulate DMT carriers to be transmitted by the transceiver in a transmit direction and a FFT to demodulate DMT carriers received by the transceiver in a receive direction, the transform circuitry including a transform processor that manipulates the transformed data sequence to generate an output sequence conesponding to the FFT or the IFFT of the original data sequence. 37. The transceiver in claim 36, wherein the DMT carriers in the transmit direction include even number DMT carriers and the DMT carriers in the receive direction include odd number DMT carriers or vice versa. 38. The transceiver in claim 36, wherein the number of DMT carriers in the transmit direction is substantially the same as the number of DMT carriers in the receive direction. 39. The transceiver in claim 36, wherein the number of DMT carriers in the transmit direction is substantially different than the number of DMT carriers in the receive direction. 40. The transceiver in claim 36, wherein the pattern identifies a redundancy in the original input data sequence. 41. The transceiver in claim 36, wherein the pattern is a symmetry in the original input data sequence. 42. The transceiver in claim 41, wherein the original input data sequence is Hermite symmetric. 43. The transceiver in claim 41, wherein the original input data sequence includes two sub-sequences that are index-reversed conjugate symmetric sequences. 44. The transceiver in claim 41, wherein the original input data sequence is mirror symmetric.

Inventors: FERTNER ANTONI, HYLL MATTIAS, OERLING ANDERS, FERTNER, ANTONI, HYLL, MATTIAS, OERLING, ANDERS
Applicants: ERICSSON TELEFON AB L M, TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Application year: 1998
Main classification: G06F17
IPC codes: G06F17