Abstract:
An apparatus is configured to perform both Fourier transform processing and Golay code processing. Each of a plurality of processing elements comprises a delay element configured for providing a predetermined delay to at least a first input signal, at least one seed vector insertion element configured for multiplying at least a second input signal by at least one seed-vector value for producing at least one scaled input signal value, and at least one multiplexer configurable by at least one control signal for selecting an operating mode of the apparatus. At least one twiddle-factor multiplier is coupled between stages of the processing elements and employed for Fourier transform processing. The apparatus may be configured to perform both multi-mode and multi-band operation. This Abstract is provided for the sole purpose of complying with the Abstract requirement rules that allow a reader to quickly ascertain the subject matter of the disclosure contained herein. This Abstract is submitted with the explicit understanding that it will not be used to interpret or to limit the scope or the meaning of the claims.

Description:
CROSS-REFERENCE TO RELATED APPLICATION  
       [0001]     This application claims priority to commonly owned and co-pending U.S. patent application Ser. No. 11/599,725, filed Nov. 15, 2006, which claims priority to U.S. Patent Application Ser. No. 60/737,065, filed Nov. 16, 2005, entitled “High Data Rate Ultra-Wide Band.” 
     
    
     BACKGROUND OF THE INVENTION  
       [0002]     I. Field of the Invention  
         [0003]     The present invention relates generally to processing both single-carrier and multicarrier signals, and particularly to sharing components of a processor for processing both Golay-coded signals and OFDM signals.  
         [0004]     II. Description of the Related Art  
         [0005]     Within millimeter-wave communications, several different types of networks, each with their own communication protocols are envisioned. For example, there are Local Area Networks (LANs), Personal Area Networks (PANs), Wireless Personal Area Networks (WPANs), sensor networks and others. Each network may have its own communication protocol.  
         [0006]     In one aspect of the related art, a Physical Layer supporting single carrier and OFDM modulation may be used for millimeter wave (e.g., 60 GHz) communications. In this case, the bandwidth is approximately 2.0 GHz, with a chip rate of 0.5 ns. Wireless communication systems typically employ data multiplexing for allowing multiple users or devices to share access to the communication system. Some wireless communications systems are designed to support simultaneous data transmission among multiple devices and multiple groups of devices. A group or network of devices having data connection among each other is sometimes referred to as a piconet, which is defined as a logical group of two or more devices communicating with each other.  
         [0007]     Different piconets may employ different transmission modes (e.g., single-carrier and OFDM modes). Furthermore, multiple transmission modes may be supported within a single piconet. Therefore, it is often advantageous for a transceiver to support multiple transmission modes.  
         [0008]     A single-carrier transceiver in an IEEE802.15.3c network typically employs at least one Golay-code generator to provide Golay codes to all of the fields of a transmitted data frame and to perform matched-filtering of a received Golay-coded signal. Complementary codes, first introduced by Golay, are sets of finite sequences of equal length such that the number of pairs of identical elements with any given separation in one sequence is equal to the number of pairs of unlike elements having the same separation in the other sequences. S. Z. Budisin, “Efficient pulse compressor for Golay complementary sequences,”  Electronic Letters,  27, no. 3, pp. 219-220, 31 Jan. 1991, which is hereby incorporated by reference, shows a transmitter for generating Golay complementary codes as well as a Golay matched filter.  
         [0009]     An OFDM transceiver typically employs a Fourier transform, such as a fast Fourier transform (FFT) and an inverse FFT (IFFT), and may optionally employ a Golay-code processor for processing Golay-coded preamble and/or header fields of a data frame. Furthermore, a receiver configured to perform frequency-domain equalization of a single-carrier signal may comprise an FFT/IFFT processor.  
         [0010]     Since there is a need for transceivers to perform both Fourier transform processing and Golay processing, it would be advantageous to provide for a single processor configured to process signals in a plurality of transmission modes. Furthermore, it would be advantageous if common hardware elements may be employed for performing Fourier processing and Golay processing.  
       SUMMARY OF THE INVENTION  
       [0011]     Embodiments disclosed herein may be advantageous to systems employing single-carrier and OFDM signals used in 60 GHz millimeter wave systems, such as defined by the IEEE802.15.3c protocol. However, the invention is not intended to be limited to such systems, as other applications may benefit from similar advantages.  
         [0012]     In one embodiment of the invention, a system is configured to perform both Fourier transform processing and Golay code processing. The system comprises a multi-stage processing means having a plurality of processing stages and a twiddle-factor multiplication means coupled between at least two of the processing stages. Each processing stage comprises a delaying means, a seed vector insertion means, and a multiplexing means.  
         [0013]     The delaying means is configured for providing a predetermined delay to at least a first input signal. The delaying means may include, by way of example, but without limitation, one or more delay elements, including programmable delay elements.  
         [0014]     The seed vector insertion means is configured for multiplying at least a second input signal by at least one seed-vector value for producing at least one scaled input signal value. The seed vector insertion means may include, by way of example, but without limitation, one or more multipliers configured for multiplying a signal by at least one seed vector. In one embodiment, the seed vector insertion means may include multiplexing means configured for selecting at least one of a plurality of scaled input signal values.  
         [0015]     The multiplexing means is configurable by at least one control signal for selecting an operating mode of the apparatus. The multiplexing means may include, by way of example, but without limitation, one or more multiplexers responsive to at least one control signal for multiplexing at least one of a plurality of signals in the processing stages. The multiplexing means controls the signal processing in the processing stages to perform at least one of Golay processing and Fourier transform processing (e.g., FFT and/or IFFT processing).  
         [0016]     The twiddle-factor multiplication means is coupled to at least one output of at least one of the plurality of processing elements. The twiddle-factor multiplication means may include, by way of example, but without limitation, one or more multipliers configured for multiplying at least signal output by at least one twiddle factor used in a Fourier transform. In one embodiment, the twiddle-factor multiplication means comprises a multiplying means coupled to at least one memory-storage means. In another embodiment, the twiddle-factor multiplication means comprises a multiplexing means coupled to a second multiplying means.  
         [0017]     In an alternative embodiment, the system is configured for Fourier transform processing and bypassing the twiddle-factor multiplication means to perform a fast Walsh-Hadamard transform. In one embodiment, the system is configured to perform matched filtering for Golay codes having a plurality of lengths. In another embodiment, the system is configured as a parallel processor. The system may be configured for processing both transmit signals and received signals. Other embodiments of the invention may comprise a digital computer system programmed to perform a method of the invention and/or a computer-readable medium storing a computer program implementing any of the methods of the inventions.  
         [0018]     Although particular embodiments are described herein, many variations and permutations of these embodiments fall within the scope and spirit of the invention. Although some benefits and advantages of the preferred embodiments are mentioned, the scope of the invention is not intended to be limited to particular benefits, uses, or objectives. Rather, embodiments of the invention are intended to be broadly applicable to different wireless technologies, system configurations, networks, and transmission protocols, some of which are illustrated by way of example in the figures and in the following description of the preferred embodiments. The detailed description and drawings are merely illustrative of the invention rather than limiting, the scope of the invention being defined by the appended claims and equivalents thereof. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0019]     Embodiments according to the present invention are understood with reference to the following figures.  
         [0020]      FIG. 1  illustrates a multi-mode receiving method for processing a plurality of received signal modes in accordance with one embodiment of the invention.  
         [0021]      FIG. 2A  illustrates a method and apparatus configured for performing FFT/IFFT processing in accordance with an embodiment of the invention.  
         [0022]      FIG. 2B  is a diagram of one of the processing elements shown in  FIG. 2A .  
         [0023]      FIG. 3  illustrates a method and apparatus configured to perform Golay matched filtering in accordance with an embodiment of the invention.  
         [0024]      FIG. 4A  shows the first four stages of a parallel Golay receiver in accordance with an embodiment of the invention.  
         [0025]      FIG. 4B  shows fifth and sixth stages of the parallel Golay receiver.  
         [0026]      FIG. 4C  shows a Golay receiver comprising the circuits shown in  FIGS. 4A and 4B , and having a parallelism factor of four.  
         [0027]      FIG. 4D  is a block diagram of one of the Golay processing elements shown in  FIG. 4C .  
         [0028]      FIG. 5  is a block diagram of a processor configured to perform FFT, IFFT, and Golay processing in accordance with an embodiment of the invention.  
         [0029]      FIG. 6A  is a block diagram of a processing element that may be used in stages one through four of the processor shown in  FIG. 5 .  
         [0030]      FIG. 6B  is a block diagram of a processing element that may be used in stages five and six of the processor shown in  FIG. 5 .  
         [0031]      FIG. 7A  is a block diagram of a voltage controlled oscillator-based phase locked loop (PLL) frequency synthesizer in accordance with one embodiment of the invention.  
         [0032]      FIG. 7B  illustrates a voltage controlled oscillator-based PLL frequency synthesizer in accordance with another embodiment of the invention.  
         [0033]      FIG. 7C  shows a voltage controlled oscillator-based PLL frequency synthesizer in accordance with yet another embodiment of the invention.  
         [0034]      FIG. 7D  illustrates a voltage controlled oscillator-based PLL frequency synthesizer in accordance with a further embodiment of the invention.  
         [0035]      FIG. 8  illustrates operating parameters employed in some of the possible embodiments of the invention 
     
    
     DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0036]     While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and are herein described in detail. It should be understood, however, that it is not intended to limit the invention to the particular form disclosed, but rather, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the claims.  
         [0037]     In accordance with one embodiment of the invention, a multi-mode processor for processing received single-carrier and OFDM signals is configured to employ a set of delay elements for both Golay processing and Fourier processing.  FIG. 1  illustrates a multi-mode receiving method for processing a plurality of received signal modes in accordance with one embodiment of the invention. Front-end processing  100  is performed on the received signal to produce a digital baseband signal. In this embodiment, front-end processing may further comprise determining which of a plurality of signal modes is in the received signal before the signal is routed to a corresponding sequence of baseband processing steps.  
         [0038]     If the received signal is determined to be an OFDM signal, the digital baseband signal undergoes fast Fourier transform (FFT) processing  101 , followed by filtering, such as minimum mean squared error (MMSE) filtering  102 . Other types of filtering may be employed, such as is well known in the art. In OFDM, the received signal model may be expressed as 
 
 x   n   A   n   h   n   +w   n    n =0 :N− 1, 
 
 where A 0:N−1  denotes an inverse FFT (IFFT) of length N of a data block a 0:N−1 , h 0:N−1  represents multipath channel taps, w 0:N−1  is additive white Gaussian noise with variance σ 2 , and the symbol           denotes cyclic convolution. The FFT of the received signal is expressed by 
 
 X   n   =a   n   ×H   n   +W   n    n =0 :N− 1 
 
 where H 0:N−1  denotes complex frequency-domain channel coefficients, and W 0:N−1  is additive white Gaussian noise. 
 
         [0039]     MMSE filtering  102  provides estimated data symbols  
           a   ^     n     =         X   n     ×       H   n   *                H   n          2     +     σ   2         ⁢           ⁢   n     =       0   ⁢     :     ⁢   N     -   1.           
 
 However, any type of filtering may be employed, and such filters may employ hard decision symbol estimation, soft-decision symbol estimation, or any combination thereof. 
 
         [0040]     A single-carrier signal may be processed by Golay filtering  111 , which detects the preamble and decodes the header and data, and it may be followed by filtering, such as MMSE filtering  112  for producing data symbol estimates.  
         [0041]     In another embodiment, the single-carrier signal may be processed in the frequency domain. The received single-carrier signal is expressed by a block of N symbols: 
 
 x   n   =a   n   h   n   +w   n    n =0 :N− 1 
 
 FFT processing  121  of the block produces frequency-domain symbols: 
 
 X   n   =A   n   H   n   +W   n    n =0 :N− 1 
 
 Wiener (MMSE) filtering  122  produces estimates of the frequency-domain symbols:  
           A   ^     n     =         X   n     ×       H   n   *                H   n          2     +     σ   2         ⁢           ⁢   n     =       0   ⁢     :     ⁢   N     -   1           
 
         [0042]     The symbol estimates may comprise hard decisions, soft decisions, or any combination thereof. In each of the filtering steps shown herein, the noise variance may be estimated for one or more symbols at a time, or a fixed value may be used.  
         [0043]     An IFFT  123  of the frequency-domain symbol estimates produces the estimated data symbols: 
 
â n =IFFT└Â n   ┘ n =0 :N− 1. 
 
 Embodiments of the invention may be configured for processing single carrier signals with or without a cyclic prefix. Without a cyclic prefix, an overlap-and-save method or an overlap-and-add method may be employed. 
 
         [0044]     Since OFDM employs an FFT at the receiver, single carrier with Golay coding employs a Golay filter, and single carrier with frequency-domain processing employs both an FFT and an IFFT, it would be advantageous to a single processor configured to perform FFT, IFFT and Golay code filtering for any spreading-code length. For example, one embodiment of the invention may provide for Golay filtering that reuses processing elements employed in FFT/IFFT processing.  
         [0045]      FIG. 2A  illustrates a method and apparatus of the invention configured in a mode for FFT/IFFT processing where N=64 and a parallel factor of four is implemented. An input vector x 0:63  is divided into four inputs, 
        x 0:15   (0) =x 0 , x 4 , . . . , x 60       x 0:15   (1) =x 1 , x 5 , . . . , x 61       x 0:15   (2) =x 2 , x 6 , . . . , x 62       x 0:15   (3) =x 3 , x 7 , . . . , x 63  
 
 and an output vector X 0:63  is generated at four outputs. The output vector values X n  are given by  
         X   n     =         ∑     k   =   0     63     ⁢       x   k     ⁢     W   N   nk     ⁢           ⁢   n       =     0   ⁢     :     ⁢   63           
         W   N     =     ⅇ       ±   j     ⁢           ⁢       2   ⁢   π     N             
 
 where the sign is positive for IFFT processing and negative for FFT processing. 
         
         [0050]     The radix-4 decimation-in-time and decimation-in-frequency FFTs enhance their speed by reusing results from smaller intermediate computations to compute multiple DFT frequency outputs. The radix-4 decimation-in-time algorithm rearranges the discrete Fourier transform (DFT) equation into four parts and sums over all groups of every fourth discrete-time index n=[0, 4, 8, . . . , N−4], n=[1, 5, 9, . . . , N−3], n=[2, 6, 10, . . . , N−2] and n=[3, 7, 11, . . . , N−1].  
         [0051]     A polyphase decomposition of the input vector x 0:63  is expressed by:  
               X   n     =       ⁢         ∑     k   =   0     15     ⁢       x     4   ⁢           ⁢   k       ⁢     W   64     n   ⁢           ⁢   4   ⁢   k           +       ∑     k   =   0     15     ⁢       x       4   ⁢           ⁢   k     +   1       ⁢     W   64     n   (           ⁢       4   ⁢   k     +   1     )           +                     ⁢         ∑     k   =   0     15     ⁢       x       4   ⁢           ⁢   k     +   2       ⁢     W   64     n   (           ⁢       4   ⁢   k     +   2     )           +       ∑     k   =   0     15     ⁢       x       4   ⁢           ⁢   k     +   3       ⁢     W   64     n   (           ⁢       4   ⁢   k     +   3     )                         =       ⁢         ∑     k   =   0     15     ⁢       x   k     (   0   )       ⁢     W   16   nk         +       W   64   n     ⁢       ∑     k   =   0     15     ⁢       x   k     (   1   )       ⁢     W   16   nk           +                     ⁢         W   64     2   ⁢   n       ⁢       ∑     k   =   0     15     ⁢       x   k     (   2   )       ⁢     W   N   nk           +       W   64     3   ⁢   n       ⁢       ∑     k   =   0     15     ⁢       x   k     (   3   )       ⁢     W   16   nk                       
 
 where x k   (p) =x 4k+1  is the p th  phase of the polyphase decomposition of x 0:63 . This equation shows that the FFT/IFFT for N=64 can be implemented as a combination of four small FFTs/IFFTs over 16 of the four phases of the input vector x 0:63 . Now let Z n   (p)  be the FFT/IFFT of the p th  phase of x 0:63 .  
         Z   n     (   p   )       =         ∑     k   =   0     15     ⁢       x   k     (   p   )       ⁢     W   16   nk     ⁢           ⁢   n       =     0   ⁢     :     ⁢   15           
 
 The X n  can be expressed as 
 
 X   n   =Z   n   (0)   +W   64   n   Z   n   (1)   +W   64   2n   Z   n   (2)   +W   64   3n   Z   n   (3)  
 
 Since Z n   (p)  is periodic with period 16, we can compute X n , X n+16 , X n+32 , and X n+48  together using a size-four FFT/IFFT 
 
 X   n   =Z   n   (0)   +W   64   n   Z   n   (1)   +W   64   2n   Z   n   (2)   +W   64   3n   Z   n   (3)  
 
 X   n+16   =Z   n   (0)   ∓jW   64   n   Z   n   (1)   −W   64   2n   Z   n   (2)   ±jW   64   3n   Z   n   (3)  
 
 X   n+32   =Z   n   (0)   −W   64   n   Z   n   (1)   +W   64   2n   Z   n   (2)   −W   64   3n   Z   n   (3)  
 
 X   n+48   =Z   n   (0)   ±jW   64   n   Z   n   (1)   −W   64   2n   Z   n   (2)   ∓jW   64   3n   Z   n   (3)  
 
 where the upper sign is used for the FFT and the lower sign is used for the IFFT. 
 
         [0052]     The multipliers may employ fixed coefficients and can be implemented either as generic multipliers with configurable coefficients, or as set of fixed-coefficient multipliers with a multiplexer. In this embodiment, the output of the last set of processing elements  208  comprises four FFTs/IFFTs of size 16 but in reverse order. For example, the output of one of the processing elements is:  
         [0000]     └Z 0   (0)  Z 8   (0)  Z 4   (0)  Z 12   (0)  Z 2   (0)  Z 10   (0)  Z 6   (0)  Z 14   (0)  Z 1   (0)  Z 9   (0)  Z 5   (0)  Z 13   (0)  Z 3   (0)  Z 11   (0)  Z 7   (0)  Z 15   (0) ┘ which may be denoted by:  
         [0000]    
       
         
           
              Z n   (0)  n=[0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15]
 
 In one embodiment, the processor is pipelined and can be fed one block of data after another. The processor produces an FFT/IFFT every 16 clock cycles, and the memories employed are of size 16, corresponding to the 16 clock cycles. 
 
           
         
       
     
         [0054]      FIG. 2B  is a diagram of one of the processing elements shown in  FIG. 2A . The processing element is of order m (wherein memory D m    230  may be implemented as a register file) and performs one stage of a radix 2 Decimation In Frequency (DIF) implementation of an FFT/IFFT operation. A radix-2 DIF is represented by:  
               Y   n     =       ∑     k   =   0       N   -   1       ⁢       y   k     ⁢     W   N   nk                     =         ∑     k   =   0         N   /   2     -   1       ⁢       y   k     ⁢     W   N   nk         +       ∑     k   =   0         N   /   2     -   1       ⁢       y     k   +     N   /   2         ⁢     W   N     n   ⁡     (     k   +     N   /   2       )                           =         ∑     k   =   0         N   /   2     -   1       ⁢       y   k     ⁢     W   N   nk         +         (     -   1     )     n     ⁢       ∑     k   =   0         N   /   2     -   1       ⁢       y     k   +     N   /   2         ⁢     W   N   nk                         
 where Y 0:N−1  is the FFT/IFFT of input y 0:N−1 . This expression can be written as  
         Y     2   ⁢   n       =       ∑     k   =   0         N   /   2     -   1       ⁢       (       y     2   ⁢   k       +     y     k   +     N   /   2           )     ⁢     W     N   /   2     nk                       Y       2   ⁢   n     +   1       =       ∑     k   =   0         N   /   2     -   1       ⁢       (       y     2   ⁢   k       -     y     k   +     N   /   2           )     ⁢       W     N   /   2     nk     .               
 During the first N12 cycles, a control signal of 0 is input to the multiplexers  231  and  232 . Input data y 0:N/2−1  is stored in the memory  230 , and the output comprises N/2 zeros, which corresponds to the latency of this circuit. During the second N/2 cycles, the control signal is 1, and the resulting output of the first adder  233 , y n+N/2 −y n , is stored in the memory  230  using the feedback path. The second adder  234  outputs the values y n+N/2 +y n . In the third N/2 cycles, the control signal is 0, the input data corresponds to the next data block, and the content of the memory  230 , y n+N/2 −y n , is output. 
 
         [0055]      FIG. 3  illustrates a method and apparatus configured to perform Golay matched filtering in accordance with an embodiment of the invention. A sequence of delay elements  301 - 309  is configured for providing a predetermined set of fixed delays D=[D( 0 ), D( 1 ), . . . , D(M−1)] to a first input signal. A sequence of adaptable seed vector insertion elements  321 - 329  is configured for multiplying a second input signal by at least one of a plurality of different seed vectors W i =[W i ( 0 ), W i ( 1 ), . . . , W i (M−1)], i=1, . . . , L, where L is the number of piconets, and, thus, code pairs. Furthermore, a first set of combiners  311 - 319  and a second set of combiners  331 - 339  are configured for combining delayed signals with signals multiplied by the seed vector.  
         [0056]     In one embodiment of the invention, a Golay matched filter comprising six stages may be matched to the Golay code pair a and b of length N=64, delay vector D=[D( 1 ) D( 2 ) D( 3 ) D( 4 ) D( 5 ) D( 6 )]=[32 16 8 4 2 1], and seed vector W=[W( 1 ) W( 2 ) W( 3 ) W( 4 ) W( 5 ) W( 6 )]. The function of the Golay processing operation may be expressed mathematically by  
         [             a   m     ⁡     (   z   )                   b   m     ⁡     (   z   )             ]     =           [           W   m           z     -     D   m                   W   m           -     z     -     D   m                 ]     ⁡     [             a     m   -   1       ⁡     (   z   )                   b     m   -   1       ⁡     (   z   )             ]       ⁢           ⁢   m     =     1   ⁢     :     ⁢   6           
     with     
             a   0     ⁡     (   z   )       =         b   0     ⁡     (   z   )       -     x   ⁡     (   z   )           ,       
 
 where a m (z) and b m (z) denote outputs of the m th  stage. 
 
         [0057]     An embodiment of the invention may provide for a parallel Golay receiver (and, thus, parallel receiver processing) with the same parallel factor of four as the FFT/IFFT processor shown in  FIG. 2A . A z-transform u(z) of input sequence u(n) can be written in terms of its polyphase decomposition as:  
           u   ⁡     (   z   )       =         u     (   0   )       ⁡     (   z   )       +       z     -   1       ⁢       u     (   1   )       ⁡     (   z   )         +       z     -   2       ⁢       u     (   2   )       ⁡     (   z   )         +       z     -   3       ⁢       u     (   3   )       ⁡     (   z   )             ,     
     ⁢   where       
           u     (   p   )       ⁡     (   z   )       =       ∑   k     ⁢       u   ⁡     (       4   ⁢   k     +   p     )       ⁢     z       -   4     ⁢   k               
 
 For stages one through four, the p th  phase of a m (z) and b m (z) can be computed as:  
         [             a   m     (   p   )       ⁡     (   z   )                   b   m     (   p   )       ⁡     (   z   )             ]     =           [           W   m           z       -     D   m       /   4                 W   m           -     z       -     D   m       /   4               ]     ⁡     [             a     m   -   1       (   p   )       ⁡     (   z   )                   b     m   -   1       (   p   )       ⁡     (   z   )             ]       ⁢           ⁢   p     =     0   ⁢     :     ⁢   3.           
 
         [0058]      FIG. 4A  shows the first four stages of the parallel Golay receiver in accordance with an embodiment of the invention. A serial-to-parallel converter (S/P)  400  converts a received digital sequence into a plurality of parallel symbol streams. A plurality of Golay processing elements  401 - 422  provide for matched-filtering the received signal.  
         [0059]     Embodiments of the invention may be configured for matched filtering Golay complementary code pairs having a common length or different lengths. The matched filter may be configured for processing all mother codes and/or daughter codes used by a plurality of piconets. In such embodiments, the matched filter may be configurable by programming at least one seed vector. Furthermore, the matched filter may be configured for decoding an entire frame, comprising a preamble, header, and packet payload.  
         [0060]      FIG. 4B  shows stages five and six of the parallel Golay receiver in accordance with an embodiment of the invention and comprising Golay processing elements  423 - 430 . For stages  5  and  6 , the p th  phase of a m (z) and b m (z) may be expressed mathematically as  
         [             a   5     (   p   )       ⁡     (   z   )                   b   5     (   p   )       ⁡     (   z   )             ]     =       [           W   5           z     -   1                 W   5           -     z     -   1               ]     ⁡     [             a   4     (   p   )       ⁡     (   z   )                   b   4       (     p   +   2     )     ⁢   mod   ⁢           ⁢   4       ⁡     (   z   )             ]                       for   ⁢           ⁢   p     =   0     ,   1                 and   ⁢     
     [             a   5     (   p   )       ⁡     (   z   )                   b   5     (   p   )       ⁡     (   z   )             ]     =       [           W   5         1             W   5           -   1           ]     ⁡     [             a   4     (   p   )       ⁡     (   z   )                   b   4       (     p   +   2     )     ⁢   mod   ⁢           ⁢   4       ⁡     (   z   )             ]                       for   ⁢           ⁢   p     =   2     ,       3   ⁢     
     [             a   6     (   p   )       ⁡     (   z   )                   b   6     (   p   )       ⁡     (   z   )             ]     =       [           W   6           z     -   1                 W   6           -     z     -   1               ]     ⁡     [             a   4     (   p   )       ⁡     (   z   )                   b   4       (     p   +   3     )     ⁢   mod   ⁢           ⁢   4       ⁡     (   z   )             ]                       for   ⁢           ⁢   p     =   0                 and   ⁢     
     [             a   6     (   p   )       ⁡     (   z   )                   b   6     (   p   )       ⁡     (   z   )             ]     =       [           W   6         1             W   6           -   1           ]     ⁡     [             a   5     (   p   )       ⁡     (   z   )                   b   5       (     p   +   3     )     ⁢   mod   ⁢           ⁢   4       ⁡     (   z   )             ]                       for   ⁢           ⁢   p     =   1     ,   2   ,   3         
         [0061]      FIG. 4C  shows a Golay receiver comprising the circuits shown in  FIGS. 4A and 4B . The circuit shown in  FIG. 4C  is an exemplary implementation with a parallelism factor of four. As in the case of the FFT/IFFT processor, the Golay processor is four times faster than a corresponding serial processor because it accepts four inputs at a time (corresponding to the four phases of the polyphase decomposition of the input) and produces four output pairs at a time (corresponding to the four phases of the polyphase decomposition of the output pair). This circuit may be implemented as a pipelined processor that can be provided with input data continuously. The outputs represent a polyphase decomposition of the matched filter to Golay code pairs a and b. However, alternative embodiments of the invention may comprise different circuit configurations and/or alternative parallelism factors.  
         [0062]      FIG. 4D  is a block diagram of one of the Golay processing elements  401 - 430 , such as shown in  FIG. 4C . A first signal input is coupled to a delay element  451 . A second signal input is coupled to a seed-vector insertion element  452 . Outputs from the delay element  451  and the seed-vector insertion element  452  are combined in adders  453  and  454 .  
         [0063]      FIG. 5  illustrates a processor configured to perform FFT, IFFT, and Golay processing. A first stage of processing elements is labeled GFI-II PE m=8. A second stage of processing elements is labeled GFI-I PE m=4, a third stage of processing elements is labeled GFI-I PE m=2, and a fourth stage of processing elements is labeled GFI-I PE m=1. Fifth and sixth stages of processing elements are labeled GFI-II PE. Input weights W k  are coded as two bits each as follows: 
        W k =+1         00, W k =−1         01, W k =+j         10, W k =−j         11. 
 
 The processor may be employed as a matched filter to any Golay code of length 64, 32, 8, 4, or 2. For example, for a Golay code length of 32, the first stage may be bypassed. Therefore, some embodiments of the invention may employ multiplexers (not shown) configured for bypassing one or more stages of the processor. 
         
         [0065]     In FFT and IFFT modes, twiddle-factor multipliers shown in  FIG. 5  are configured to multiply intermediate signals in the processor by coefficients from memories L 1  and L 2 . Alternatively, multiplexers (not shown) configured for selecting between a predetermined set of coefficients may be employed. In another embodiment of the invention, the processor may implement a fast Walsh-Hadamard transform by configuring each of the processing elements for FFT/IFFT processing and bypassing the multipliers.  
         [0066]      FIG. 6A  is a block diagram of a processing element of the type GFI-I, such as may be used in stages one through four. A first signal input is coupled to a first multiplexer  601 . A second signal input is coupled to the first multiplexer  601  and to a set of seed-vector insertion elements  611 - 614  coupled to a second multiplexer  615 . The second multiplexer  615  is configured in one of the positions “00”, “01”, “11”, or “10” depending on whether the current seed-vector value is −1, +1, +j, or −j, respectively. A delay element  603  is coupled after multiplexer  602 . Multiplexers  601 ,  602 , and  605  are configured with respect to control signals c 0 , c 3 , and c 4 , respectively, for controlling the operating mode. For example, to configure the processing element for the FFT/IFFT mode, the control signals are set to c 0 =0, c 1 c 2 =00, and c 3 =c 4  is set to the Most Significant Byte (msb) of a multi-byte value of a counter modulo 2m. To configure the processing element for Golay processing, the control signals are set to c 0 =1, c 1  and c 2  depend on the weight W k , c 3 =1, and c 4 =0.  
         [0067]      FIG. 6B  is a block diagram of a processing element of the type GFI-II, such as may be used in stages five and six. A first signal input is coupled to a first multiplexer  621 . A second signal input is coupled to the first multiplexer  621  and to a set of seed-vector insertion elements  631 - 634  coupled to a second multiplexer  635 . The second multiplexer  635  is configured in one of the positions “00”, “01”, “11”, or “10” depending on whether the current seed-vector value is −1, +1, +j, or −j, respectively. A delay element  623  is coupled between multiplexers  621  and  622 . Multiplexers  621  and  622  are configured with respect to control signals c 0  and c 3 , respectively, for controlling the operating mode. For example, to configure the processing element for an FFT/IFFT processing mode, the control signals are set to c 0 =0, c 1 c 2 =00, and c 3 =0. To configure the processing element for Golay processing, the control signals are set to c 0 =1, c 1 c 2  depends on the weight W k , and c 3  is 0 or 1 depending on whether or not a delay is employed.  
         [0068]     In some embodiments of the invention, a single processor may be used for packet detection and data demodulation in both single carrier and OFDM systems. In one embodiment, a single device may provide for processing both single carrier and OFDM signals in a received transmission. The scope of the invention should not be interpreted as being limited to the type of ordering illustrated in the embodiments. Rather, the Applicants anticipate that alternative code-set orderings may be implemented, and that such orderings fall within the scope and spirit of the invention.  
         [0069]     Embodiments of the invention may be configured for multi-band operation. For example, in one embodiment of the invention, transceivers may provide for four channels to cover the spectrum of 57 GHz-66 GHz in the United States. Similarly, three channels may be provided for covering 59 GHz-66 GHz in Japan. An exemplary set of channel parameters is shown in the following table.  
                                                   Channel   Low Freq.   Center Freq.   High Freq.   3 dB BW   Roll-Off       Number   (MHz)   (MHz)   (MHz)   (MHz)   Factor                   1   57240   58320   59400   1620.00   0.333       2   59400   60480   61560   1680.00   0.286       3   61560   62640   63720   1740.00   0.241       4   63720   64800   65880   1800.00   0.200                  
 
         [0070]     A single integer PLL employing direct synthesis may be used to generate the carrier (i.e., center) frequency for each channel and the analog-to-digital and digital-to-analog (ADC) clock signals. In one embodiment, an integer-power-of-two relation is employed between center frequencies and channel bandwidth. In another embodiment, product-of-three relationship may be employed between center frequencies and channel bandwidth. Embodiments may employ both integer-power-of-two and product-of-three relationships between carrier frequencies and channel bandwidth. High-frequency dividers in the PLL may be configured as powers of two and/or three, whereas low-frequency dividers may be programmable.  
         [0071]      FIG. 7A  illustrates a block diagram of a voltage controlled oscillator-based phase locked loop (PLL) frequency synthesizer in accordance with one embodiment of the invention. The PLL frequency synthesizer is configured to produce frequencies coherent to a reference frequency. A crystal oscillator  701  produces the reference signal, which may be divided prior to being coupled into a PLL circuit. An input reference counter may be used as a reference divider  702  to reduce the reference input frequency (i.e., divide the reference signal by a factor “R”). In the case where R=1, the reference divider  702  may be bypassed or eliminated from the circuit.  
         [0072]     The PLL circuit comprises a phase/frequency detector (PFD)  703 , a low pass filter (LPF)  704 , and a voltage-controlled oscillator (VCO)  705 . The PLL is typically formed as a single phase locked loop semiconductor chip, and may include other circuit components known to those skilled in the art. The PFD  703  compares a feedback frequency with a divided-down version of the reference frequency. A signal from the PFD  703  is output to the LPF  704 , which passes signals only below a predetermined cut-off frequency. The resulting error signal becomes a varying DC-level signal used to control the frequency of the VCO  705 , moving the PFD&#39;s  703  average output towards zero.  
         [0073]     The signal output from the VCO  705  is coupled into a feedback loop comprising frequency dividers  706 ,  707 , and  708  that can be operative for dividing the signal output before coupling the resulting divided signal back into the PFD  703 . For example, feedback counters may be used to reduce the output frequency for comparison with the scaled reference frequency. In an integer PLL frequency synthesizer, the output frequency is divided by an integer. The input frequency is multiplied by the ratio of the feedback divider (M*P*Q) to the reference divider (R) to generate the VCO  705  output frequency. Programmable divider circuits in the feedback loop between the VCO  705  and the PFD  703  divide the voltage controlled output signal by a factor “M*P*Q”. By programming the values of R, M, P, and Q, the VCO  705  output signal can be made equal to a desired multiple of the reference frequency. A microcontroller (not shown) may be operative with the PLL circuit for configuring the divide ratio. The output from the voltage VCO  705  is multiplied to produce the output carrier frequency.  
         [0074]     A divider  711  may be used to divide a signal frequency prior to coupling to an ADC  710 . Embodiments of the invention provide for an ADC  710  clock frequency that is an integer multiple of half the bandwidth. For Nyquist operation, the ADC  710  would run at exactly the bandwidth. For two times over-sampling, the ADC  710  clock would be twice the bandwidth.  
         [0075]      FIG. 8  illustrates operating parameters employed in some of the possible embodiments of the invention given a crystal oscillator frequency f X  of 45 MHz. A configuration number of I, II, and III corresponds to frequency synthesizer embodiments shown in  FIGS. 7A, 7B , and  7 C, respectively. The value f c  is the channel carrier frequency for each of four channels produced by the frequency synthesizer embodiments. ADC/BW indicates the ratio of the ADC&#39;s  710  clock frequency to the bandwidth, and values M, N, P, and Q are programmable frequency-divider values.  
         [0076]     In one embodiment of the invention, the same bandwidth (e.g., a bandwidth of 1620 MHz) may be employed for the four channels, in which case a separate PLL  712 , such as shown in  FIG. 7D , is used. The roll-off factor would be the same in this case.  
         [0077]     It should be appreciated that the apparatus and method embodiments of the invention may be implemented using a variety of hardware and software. For example, a Golay-code generator may be implemented using special-purpose hardware, such as an application specific integrated circuit (ASIC) and programmable logic devices such as gate arrays, and/or software or firmware running on a computing device, such as a microprocessor, microcontroller or digital signal processor (DSP). It also will be appreciated that although functions of the Golay-code generator may be integrated in a single device, such as a single ASIC, they may also be distributed among several devices.  
         [0078]     The invention is not intended to be limited to the preferred embodiments. Furthermore, those skilled in the art should recognize that the method and apparatus embodiments described herein may be implemented in a variety of ways, including implementations in hardware, software, firmware, or various combinations thereof. Examples of such hardware may include ASICs, Field Programmable Gate Arrays, general-purpose processors, DSPs, and/or other circuitry. Software and/or firmware implementations of the invention may be implemented via any combination of programming languages, including Java, C, C++, Matlab™, Verilog, VHDL, and/or processor specific machine and assembly languages.  
         [0079]     Computer programs (i.e., software and/or firmware) implementing the method of this invention may be distributed to users on a distribution medium, such as a SIM card, a USB memory interface, or other computer-readable memory adapted for interfacing with a wireless terminal. Similarly, computer programs may be distributed to users via wired or wireless network interfaces. From there, they will often be copied to a hard disk or a similar intermediate storage medium. When the programs are to be run, they may be loaded either from their distribution medium or their intermediate storage medium into the execution memory of a wireless terminal, configuring an onboard digital computer system (e.g. a microprocessor) to act in accordance with the method of this invention. All these operations are well known to those skilled in the art of computer systems.  
         [0080]     The term “computer-readable medium” encompasses distribution media, intermediate storage media, execution memory of a computer, and any other medium or device capable of storing for later reading by a digital computer system a computer program implementing the method of this invention.  
         [0081]     Various digital computer system configurations can be employed to perform the method embodiments of this invention, and to the extent that a particular system configuration is capable of performing the method embodiments of this invention, it is equivalent to the representative system embodiments of the invention disclosed herein, and within the scope and spirit of this invention.  
         [0082]     Once digital computer systems are programmed to perform particular functions pursuant to instructions from program software that implements the method embodiments of this invention, such digital computer systems in effect become special-purpose computers particular to the method embodiments of this invention. The techniques necessary for this programming are well known to those skilled in the art of computer systems.  
         [0083]     Various embodiments of the invention may include variations in system configurations and the order of steps in which methods are provided. In many cases, multiple steps and/or multiple components may be consolidated.  
         [0084]     The method and system embodiments described herein merely illustrate particular embodiments of the invention. It should be appreciated that those skilled in the art will be able to devise various arrangements, which, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope. Furthermore, all examples and conditional language recited herein are intended to be only for pedagogical purposes to aid the reader in understanding the principles of the invention. This disclosure and its associated references are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.  
         [0085]     It should be appreciated by those skilled in the art that the block diagrams herein represent conceptual views of illustrative circuitry, algorithms, and functional steps embodying principles of the invention. Similarly, it should be appreciated that any flow charts, flow diagrams, signal diagrams, system diagrams, codes, and the like represent various processes that may be substantially represented in computer-readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.  
         [0086]     The functions of the various elements shown in the drawings, including functional blocks labeled as “processors” or “systems,” may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, read-only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional and/or custom, may also be included. Similarly, the function of any component or device described herein may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.  
         [0087]     Any element expressed herein as a means for performing a specified function is intended to encompass any way of performing that function including, for example, a combination of circuit elements which performs that function, or software in any form, including, therefore, firmware, micro-code or the like, combined with appropriate circuitry for executing that software to perform the function. Embodiments of the invention as described herein reside in the fact that the functionalities provided by the various recited means are combined and brought together in the manner which the operational descriptions call for. Applicant regards any means that can provide those functionalities as equivalent to those shown herein.