Abstract:
Angle estimation for modulated signal. A novel compensation technique is presented by which angle estimation may be performed for a modulated signal. More specifically, the angle between a constellation corresponding to a received signal and a constellation corresponding to a received signal may be very efficiently estimated using any one of the possible embodiments corresponding to various aspects of the invention. After this angle has been estimated, the received signal or the expected constellation may be rotated (or de-rotated) to compensate for this angular difference. In doing so, better estimates of the information bits that are demodulated and decoded from the received signal may be made. This approach may be implemented and adapted to any of a wide variety of communication systems including, but not limited to, single-input-multiple-output (SISO), single-input-multiple-output (SIMO), multiple-input-single-output (MISO), multiple-input-multiple-output (MIMO), and even space-time block code (STBC) communication systems or other communication systems.

Description:
CROSS REFERENCE TO RELATED PATENTS/PATENT APPLICATIONS  
     Provisional Priority Claims  
       [0001]     The present U.S. Utility Patent Application claims priority pursuant to 35 U.S.C. § 119(e) to the following U.S. Provisional Patent Application which is hereby incorporated herein by reference in its entirety and made part of the present U.S. Utility Patent Application for all purposes:  
         [0002]     1. U.S. Provisional Application Ser. No. 60/701,073, entitled “Angle estimation for modulated signal,” (Attorney Docket No. BP4660), filed Wednesday, Jul. 20, 2005 (Jul. 20, 2005), pending.  
       Incorporation by Reference  
       [0003]     The following U.S. Utility Patent Applications is hereby incorporated herein by reference in its entirety and made part of the present U.S. Utility Patent Application for all purposes:  
         [0004]     1. U.S. Utility patent application Ser. No. 11/168,793, entitled “Reduced feedback for beamforming in a wireless communication,” (Attorney Docket No. BP4637), filed Jun. 28, 2005 (Jun. 28, 2005), pending. 
     
    
     BACKGROUND OF THE INVENTION  
       [0005]     1. Technical Field of the Invention  
         [0006]     The invention relates generally to communication systems; and, more particularly, it relates to processing of a modulated signal that is received within such a communication system.  
         [0007]     2. Description of Related Art  
         [0008]     Communication systems are known to support wireless and wire lined communications between wireless and/or wire lined communication devices. Such communication systems range from national and/or international cellular telephone systems to the Internet to point-to-point in-home wireless networks. Each type of communication system is constructed, and hence operates, in accordance with one or more communication standards. For instance, wireless communication systems may operate in accordance with one or more standards including, but not limited to, IEEE 802.11, Bluetooth, advanced mobile phone services (AMPS), digital AMPS, global system for mobile communications (GSM), code division multiple access (CDMA), local multi-point distribution systems (LMDS), multi-channel-multi-point distribution systems (MMDS), and/or variations thereof.  
         [0009]     Depending on the type of wireless communication system, a wireless communication device, such as a cellular telephone, two-way radio, personal digital assistant (PDA), personal computer (PC), laptop computer, home entertainment equipment, et cetera communicates directly or indirectly with other wireless communication devices. For direct communications (also known as point-to-point communications), the participating wireless communication devices tune their receivers and transmitters to the same channel or channels (e.g., one of the plurality of radio frequency (RF) carriers of the wireless communication system) and communicate over that channel(s). For indirect wireless communications, each wireless communication device communicates directly with an associated base station (e.g., for cellular services) and/or an associated access point (e.g., for an in-home or in-building wireless network) via an assigned channel. To complete a communication connection between the wireless communication devices, the associated base stations and/or associated access points communicate with each other directly, via a system controller, via the public switch telephone network, via the Internet, and/or via some other wide area network.  
         [0010]     For each wireless communication device to participate in wireless communications, it includes a built-in radio transceiver (i.e., receiver and transmitter) or is coupled to an associated radio transceiver (e.g., a station for in-home and/or in-building wireless communication networks, RF modem, etc.). As is known, the receiver is coupled to the antenna and includes a low noise amplifier, one or more intermediate frequency stages, a filtering stage, and a data recovery stage. The low noise amplifier receives inbound RF signals via the antenna and amplifies then. The one or more intermediate frequency stages mix the amplified RF signals with one or more local oscillations to convert the amplified RF signal into baseband signals or intermediate frequency (IF) signals. The filtering stage filters the baseband signals or the IF signals to attenuate unwanted out of band signals to produce filtered signals. The data recovery stage recovers raw data from the filtered signals in accordance with the particular wireless communication standard.  
         [0011]     As is also known, the transmitter includes a data modulation stage, one or more intermediate frequency stages, and a power amplifier. The data modulation stage converts raw data into baseband signals in accordance with a particular wireless communication standard. The one or more intermediate frequency stages mix the baseband signals with one or more local oscillations to produce RF signals. The power amplifier amplifies the RF signals prior to transmission via an antenna.  
         [0012]     In many systems, the transmitter will include one antenna for transmitting the RF signals, which are received by a single antenna, or multiple antennas, of a receiver. When the receiver includes two or more antennas, the receiver will select one of them to receive the incoming RF signals. In this instance, the wireless communication between the transmitter and receiver is a single-output-single-input (SISO) communication, even if the receiver includes multiple antennas that are used as diversity antennas (i.e., selecting one of them to receive the incoming RF signals). For SISO wireless communications, a transceiver includes one transmitter and one receiver. Currently, most wireless local area networks (WLAN) that are IEEE 802.11, 802.11a, 802,11b, or 802.11g employ SISO wireless communications.  
         [0013]     Other types of wireless communications include single-input-multiple-output (SIMO), multiple-input-single-output (MISO), and multiple-input-multiple-output (MIMO). In a SIMO wireless communication, a single transmitter processes data into radio frequency signals that are transmitted to a receiver. The receiver includes two or more antennas and two or more receiver paths. Each of the antennas receives the RF signals and provides them to a corresponding receiver path (e.g., LNA, down conversion module, filters, and ADCs). Each of the receiver paths processes the received RF signals to produce digital signals, which are combined and then processed to recapture the transmitted data.  
         [0014]     For a multiple-input-single-output (MISO) wireless communication, the transmitter includes two or more transmission paths (e.g., digital to analog converter, filters, up-conversion module, and a power amplifier) that each converts a corresponding portion of baseband signals into RF signals, which are transmitted via corresponding antennas to a receiver. The receiver includes a single receiver path that receives the multiple RF signals from the transmitter. In this instance, the receiver uses beam forming to combine the multiple RF signals into one signal for processing.  
         [0015]     For a multiple-input-multiple-output (MIMO) wireless communication, the transmitter and receiver each include multiple paths. In such a communication, the transmitter parallel processes data using a spatial and time encoding function to produce two or more streams of data. The transmitter includes multiple transmission paths to convert each stream of data into multiple RF signals. The receiver receives the multiple RF signals via multiple receiver paths that recapture the streams of data utilizing a spatial and time decoding function. The recaptured streams of data are combined and subsequently processed to recover the original data.  
         [0016]     One of the possible deleterious effects that may arise within such communication systems includes that of an angular rotation, or angular error, between a constellation corresponding to a received signal and a constellation corresponding to an expected signal. In some cases, this angular error between, the constellation corresponding to the received signal and the constellation corresponding to the expected signal is caused by CFO (Carrier Frequency Offset) between a reference frequency of a local signal reference and the actual carrier frequency of the received signal. This CFO and/or phase noise (e.g., jitter) in the various clock references employed within the communication system may result in this angular error. When this angular error is left uncorrected, then significant errors may be made when demodulated and decoding a received signal. In addition, for higher order modulation types (e.g., those including more constellation points), an angular rotation can be catastrophic when making symbol mapping decisions of a received symbol sequence generated from the received signal.  
         [0017]     As such, there exists a need in the art for an efficient and effective means by which compensation of this angular error between a constellation corresponding to a received signal and a constellation corresponding to an expected signal may be made.  
       BRIEF SUMMARY OF THE INVENTION  
       [0018]     The present invention is directed to apparatus and methods of operation that are further described in the following Brief Description of the Several Views of the Drawings, the Detailed Description of the Invention, and the claims. Other features and advantages of the present invention will become apparent from the following detailed description of the invention made with reference to the accompanying drawings. 
     
    
     BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS  
       [0019]      FIG. 1  is a diagram of a wireless communication system.  
         [0020]      FIG. 2  is a diagram of a wireless communication device.  
         [0021]      FIG. 3  is a diagram of another wireless communication device.  
         [0022]      FIG. 4  is a diagram of feedback control within a communication device.  
         [0023]      FIG. 5  and  FIG. 6  are diagrams illustrating various embodiments of a communication device including an angle estimation module.  
         [0024]      FIG. 7 ,  FIG. 8 , and  FIG. 9  are diagrams illustrating various embodiments of angular estimation functionality.  
         [0025]      FIG. 10  is a diagram illustrating another embodiment of angular estimation functionality.  
         [0026]      FIG. 11A  is a diagram illustrating an embodiment of a single-input-single-output (SISO) communication system.  
         [0027]      FIG. 11B  is a diagram illustrating an embodiment of a multiple-input-multiple-output (MIMO) communication system.  
         [0028]      FIG. 11C  is a diagram illustrating an embodiment of a multiple-input-single-output (MISO) communication system.  
         [0029]      FIG. 11D  is a diagram illustrating an embodiment of a single-input-multiple-output (SIMO) communication system.  
         [0030]      FIG. 12  is a diagram illustrating an embodiment of an apparatus that is operable to perform angle estimation.  
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0031]      FIG. 1  is a diagram illustrating a communication system  100  that includes a plurality of base stations and/or access points  12 ,  16 , a plurality of wireless communication devices  18 - 32  and a network hardware component  34 . Note that the network hardware  34 , which may be a router, switch, bridge, modem, system controller, et cetera provides a wide area network connection  42  for the communication system  100 . Further note that the wireless communication devices  18 - 32  may be laptop host computers  18  and  26 , personal digital assistant hosts  20  and  30 , personal computer hosts  24  and  32  and/or cellular telephone hosts  22  and  28 . The details of the wireless communication devices will be described in greater detail with reference to  FIG. 2 .  
         [0032]     Wireless communication devices  22 ,  23 , and  24  are located within an independent basic service set (IBSS) area and communicate directly (i.e., point to point). In this configuration, these devices  22 ,  23 , and  24  may only communicate with each other. To communicate with other wireless communication devices within the communication system  100  or to communicate outside of the communication system  100 , the devices  22 ,  23 , and/or  24  need to affiliate with one of the base stations or access points  12  or  16 .  
         [0033]     The base stations or access points  12 ,  16  are located within basic service set (BSS) areas  11  and  13 , respectively, and are operably coupled to the network hardware  34  via local area network connections  36 ,  38 . Such a connection provides the base station or access point  12   16  with connectivity to other devices within the communication system  100  and provides connectivity to other networks via the WAN connection  42 . To communicate with the wireless communication devices within its BSS  11  or  13 , each of the base stations or access points  12 - 16  has an associated antenna or antenna array. For instance, base station or access point  12  wirelessly communicates with wireless communication devices  18  and  20  while base station or access point  16  wirelessly communicates with wireless communication devices  26 - 32 . Typically, the wireless communication devices register with a particular base station or access point  12 ,  16  to receive services from the communication system  100 .  
         [0034]     Typically, base stations are used for cellular telephone systems and like-type systems, while access points are used for in-home or in-building wireless networks (e.g., IEEE 802.11 and versions thereof, Bluetooth, and/or any other type of radio frequency based network protocol). Regardless of the particular type of communication system, each wireless communication device includes a built-in radio and/or is coupled to a radio.  
         [0035]      FIG. 2  is a diagram illustrating a wireless communication device  200  that includes the host device  18 - 32  and an associated radio  60 . For cellular telephone hosts, the radio  60  is a built-in component. For personal digital assistants hosts, laptop hosts, and/or personal computer hosts, the radio  60  may be built-in or an externally coupled component.  
         [0036]     As illustrated, the host device  18 - 32  includes a processing module  50 , memory  52 , a radio interface  54 , an input interface  58 , and an output interface  56 . The processing module  50  and memory  52  execute the corresponding instructions that are typically done by the host device. For example, for a cellular telephone host device, the processing module  50  performs the corresponding communication functions in accordance with a particular cellular telephone standard.  
         [0037]     The radio interface  54  allows data to be received from and sent to the radio  60 . For data received from the radio  60  (e.g., inbound data), the radio interface  54  provides the data to the processing module  50  for further processing and/or routing to the output interface  56 . The output interface  56  provides connectivity to an output display device such as a display, monitor, speakers, et cetera such that the received data may be displayed. The radio interface  54  also provides data from the processing module  50  to the radio  60 . The processing module  50  may receive the outbound data from an input device such as a keyboard, keypad, microphone, et cetera via the input interface  58  or generate the data itself. For data received via the input interface  58 , the processing module  50  may perform a corresponding host function on the data and/or route it to the radio  60  via the radio interface  54 .  
         [0038]     Radio  60  includes a host interface  62 , digital receiver processing module  64 , an analog-to-digital converter  66 , a high pass and low pass filter module  68 , an IF mixing down conversion stage  70 , a receiver filter  71 , a low noise amplifier  72 , a transmitter/receiver switch  73 , a local oscillation module  74 , memory  75 , a digital transmitter processing module  76 , a digital-to-analog converter  78 , a filtering/gain module  80 , an IF mixing up conversion stage  82 , a power amplifier  84 , a transmitter filter module  85 , a channel bandwidth adjust module  87 , and an antenna  86 . The antenna  86  may be a single antenna that is shared by the transmit and receive paths as regulated by the Tx/Rx switch  73 , or may include separate antennas for the transmit path and receive path. The antenna implementation will depend on the particular standard to which the wireless communication device  200  is compliant.  
         [0039]     The digital receiver processing module  64  and the digital transmitter processing module  76 , in combination with operational instructions stored in memory  75 , execute digital receiver functions and digital transmitter functions, respectively. The digital receiver functions include, but are not limited to, digital intermediate frequency to baseband conversion, demodulation, constellation demapping, decoding, and/or descrambling. The digital transmitter functions include, but are not limited to, scrambling, encoding, constellation mapping, modulation, and/or digital baseband to IF conversion. The digital receiver and transmitter processing modules  64  and  76  may be implemented using a shared processing device, individual processing devices, or a plurality of processing devices. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on operational instructions. The memory  75  may be a single memory device or a plurality of memory devices. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, and/or any device that stores digital information. Note that when the processing module  64  and/or  76  implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory storing the corresponding operational instructions is embedded with the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.  
         [0040]     In operation, the radio  60  receives outbound data  94  from the host device via the host interface  62 . The host interface  62  routes the outbound data  94  to the digital transmitter processing module  76 , which processes the outbound data  94  in accordance with a particular wireless communication standard (e.g., IEEE 802.11, Bluetooth, et cetera) to produce outbound baseband signals  96 . The outbound baseband signals  96  will be digital base-band signals (e.g., have a zero IF) or digital low IF signals, where the low IF typically will be in the frequency range of one hundred kHz (kilo-Hertz) to a few MHz (Mega-Hertz).  
         [0041]     The digital-to-analog converter  78  converts the outbound baseband signals  96  from the digital domain to the analog domain. The filtering/gain module  80  filters and/or adjusts the gain of the analog signals prior to providing it to the IF mixing stage  82 . The IF mixing stage  82  converts the analog baseband or low IF signals into RF signals based on a transmitter local oscillation  83  provided by local oscillation module  74 . The power amplifier  84  amplifies the RF signals to produce outbound RF signals  98 , which are filtered by the transmitter filter module  85 . The antenna  86  transmits the outbound RF signals  98  to a targeted device such as a base station, an access point and/or another wireless communication device  200 .  
         [0042]     The radio  60  also receives inbound RF signals  88  via the antenna  86 , which were transmitted by a base station, an access point, or another wireless communication device. The antenna  86  provides the inbound RF signals  88  to the receiver filter module  71  via the Tx/Rx switch  73 , where the Rx filter  71  bandpass filters the inbound RF signals  88 . The Rx filter  71  provides the filtered RF signals to low noise amplifier  72 , which amplifies the signals  88  to produce an amplified inbound RF signals. The low noise amplifier  72  provides the amplified inbound RF signals to the IF mixing module  70 , which directly converts the amplified inbound RF signals into an inbound low IF signals or baseband signals based on a receiver local oscillation  81  provided by local oscillation module  74 . The down conversion module  70  provides the inbound low IF signals or baseband signals to the filtering/gain module  68 . The high pass and low pass filter module  68  filters, based on settings provided by the channel bandwidth adjust module  87 , the inbound low IF signals or the inbound baseband signals to produce filtered inbound signals.  
         [0043]     The analog-to-digital converter  66  converts the filtered inbound signals from the analog domain to the digital domain to produce inbound baseband signals  90 , where the inbound baseband signals  90  will be digital base-band signals or digital low IF signals, where the low IF typically will be in the frequency range of one hundred kHz to a few MHz. The digital receiver processing module  64 , based on settings provided by the channel bandwidth adjust module  87 , decodes, descrambles, demaps, and/or demodulates the inbound baseband signals  90  to recapture inbound data  92  in accordance with the particular wireless communication standard being implemented by radio  60 . The host interface  62  provides the recaptured inbound data  92  to the host device  18 - 32  via the radio interface  54 .  
         [0044]     As one of average skill in the art will appreciate, the wireless communication device  200  of  FIG. 2  may be implemented using one or more integrated circuits. For example, the host device may be implemented on one integrated circuit, the digital receiver processing module  64 , the digital transmitter processing module  76  and memory  75  may be implemented on a second integrated circuit, and the remaining components of the radio  60 , less the antenna  86 , may be implemented on a third integrated circuit. As an alternate example, the radio  60  may be implemented on a single integrated circuit. As yet another example, the processing module  50  of the host device and the digital receiver and transmitter processing modules  64  and  76  may be a common processing device implemented on a single integrated circuit. Further, the memory  52  and memory  75  may be implemented on a single integrated circuit and/or on the same integrated circuit as the common processing modules of processing module  50  and the digital receiver and transmitter processing module  64  and  76 .  
         [0045]      FIG. 3  is a diagram illustrating a wireless communication device  300  that includes the host device  18 - 32  and an associated radio  60 . For cellular telephone hosts, the radio  60  is a built-in component. For personal digital assistants hosts, laptop hosts, and/or personal computer hosts, the radio  60  may be built-in or an externally coupled component.  
         [0046]     As illustrated, the host device  18 - 32  includes a processing module  50 , memory  52 , radio interface  54 , input interface  58  and output interface  56 . The processing module  50  and memory  52  execute the corresponding instructions that are typically done by the host device. For example, for a cellular telephone host device, the processing module  50  performs the corresponding communication functions in accordance with a particular cellular telephone standard.  
         [0047]     The radio interface  54  allows data to be received from and sent to the radio  60 . For data received from the radio  60  (e.g., inbound data), the radio interface  54  provides the data to the processing module  50  for further processing and/or routing to the output interface  56 . The output interface  56  provides connectivity to an output display device such as a display, monitor, speakers, et cetera such that the received data may be displayed. The radio interface  54  also provides data from the processing module  50  to the radio  60 . The processing module  50  may receive the outbound data from an input device such as a keyboard, keypad, microphone, et cetera via the input interface  58  or generate the data itself. For data received via the input interface  58 , the processing module  50  may perform a corresponding host function on the data and/or route it to the radio  60  via the radio interface  54 .  
         [0048]     Radio  60  includes a host interface  62 , a baseband processing module  101 , memory  65 , a plurality of radio frequency (RF) transmitters  106 - 110 , a transmit/receive (T/R) module  114 , a plurality of antennas  81 - 85 , a plurality of RF receivers  118 - 120 , a channel bandwidth adjust module  87 , and a local oscillation module  74 . The baseband processing module  100 , in combination with operational instructions stored in memory  65 , executes digital receiver functions and digital transmitter functions, respectively. The digital receiver functions include, but are not limited to, digital intermediate frequency to baseband conversion, demodulation, constellation de-mapping, decoding, de-interleaving, fast Fourier transform (FFT), cyclic prefix removal, space and time decoding, and/or descrambling. The digital transmitter functions include, but are not limited to, scrambling, encoding, interleaving, constellation mapping, modulation, inverse fast Fourier transform (IFFT), cyclic prefix addition, space and time encoding, and digital baseband to IF conversion. The baseband processing modules  100  may be implemented using one or more processing devices. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on operational instructions. The memory  65  may be a single memory device or a plurality of memory devices. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, and/or any device that stores digital information. Note that when the processing module  100  implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory storing the corresponding operational instructions is embedded with the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.  
         [0049]     In operation, the radio  60  receives outbound data  94  from the host device via the host interface  62 . The baseband processing module  64  receives the outbound data  88  and, based on a mode selection signal  102 , produces one or more outbound symbol streams  90 . The mode selection signal  102  will indicate a particular mode of operation that is compliant with one or more specific modes of the various IEEE 802.11 standards. For example, the mode selection signal  102  may indicate a frequency band of 2.4 GHz, a channel bandwidth of 20 or 22 MHz and a maximum bit rate of 54 megabits-per-second. In this general category, the mode selection signal will further indicate a particular rate ranging from 1 megabit-per-second to 54 megabits-per-second. In addition, the mode selection signal will indicate a particular type of modulation, which includes, but is not limited to, Barker Code Modulation, BPSK, QPSK, CCK, 16 QAM and/or 64 QAM. The mode select signal  102  may also include a code rate, a number of coded bits per subcarrier (NBPSC), coded bits per OFDM (Orthogonal Frequency Division Multiplexing) symbol (NCBPS), and/or data bits per OFDM symbol (NDBPS). The mode selection signal  102  may also indicate a particular channelization for the corresponding mode that provides a channel number and corresponding center frequency. The mode select signal  102  may further indicate a power spectral density mask value and a number of antennas to be initially used for a MIMO communication.  
         [0050]     The baseband processing module  100 , based on the mode selection signal  102  produces one or more outbound symbol streams  104  from the outbound data  94 . For example, if the mode selection signal  102  indicates that a single transmit antenna is being utilized for the particular mode that has been selected, the baseband processing module  100  will produce a single outbound symbol stream  104 . Alternatively, if the mode select signal  102  indicates 2, 3 or 4 antennas, the baseband processing module  100  will produce 2, 3 or 4 outbound symbol streams  104  from the outbound data  94 .  
         [0051]     Depending on the number of outbound streams  104  produced by the baseband module  10 , a corresponding number of the RF transmitters  106 - 110  will be enabled to convert the outbound symbol streams  104  into outbound RF signals  112 . In general, each of the RF transmitters  106 - 110  includes a digital filter and upsampling module, a digital to analog conversion module, an analog filter module, a frequency up conversion module, a power amplifier, and a radio frequency bandpass filter. The RF transmitters  106 - 110  provide the outbound RF signals  112  to the transmit/receive module  114 , which provides each outbound RF signal to a corresponding antenna  81 - 85 .  
         [0052]     When the radio  60  is in the receive mode, the transmit/receive module  114  receives one or more inbound RF signals  116  via the antennas  81 - 85  and provides them to one or more RF receivers  118 - 122 . The RF receiver  118 - 122 , based on settings provided by the channel bandwidth adjust module  87 , converts the inbound RF signals  116  into a corresponding number of inbound symbol streams  124 . The number of inbound symbol streams  124  will correspond to the particular mode in which the data was received. The baseband processing module  100  converts the inbound symbol streams  124  into inbound data  92 , which is provided to the host device  18 - 32  via the host interface  62 .  
         [0053]     As one of average skill in the art will appreciate, the wireless communication device  300  of  FIG. 3  may be implemented using one or more integrated circuits. For example, the host device may be implemented on one integrated circuit, the baseband processing module  100  and memory  65  may be implemented on a second integrated circuit, and the remaining components of the radio  60 , less the antennas  81 - 85 , may be implemented on a third integrated circuit. As an alternate example, the radio  60  may be implemented on a single integrated circuit. As yet another example, the processing module  50  of the host device and the baseband processing module  100  may be a common processing device implemented on a single integrated circuit. Further, the memory  52  and memory  65  may be implemented on a single integrated circuit and/or on the same integrated circuit as the common processing modules of processing module  50  and the baseband processing module  100 .  
         [0054]      FIG. 4  is a diagram of feedback control  400  within a communication device. Initially, a plurality of signals, indicated by reference numeral  410 , is received after undergoing receive filtering and down sampling. Such initial processing as receive filtering and down sampling may be viewed as being performed within an AFE (Analog Front End) of a communication device. In some embodiments, the feedback control  400  may be viewed as being performed in a baseband processing module as depicted in some other of the embodiments disclosed herein.  
         [0055]     Within this feedback control  400 , a coarse/fine frequency estimation module  440  is operable to initially perform coarse frequency estimation and then subsequently fine frequency estimation as governed by PHY (physical layer) control, as indicated by PhySM control input  420 .  
         [0056]     Also within this feedback control  400 , cyclic prefix (CP) removal of this incoming signal streams may be performed as shown by the CP removal modules  421 - 422 ; the operation of these CP modules  421 - 422  is also governed by PHY control, as indicated by PhySM control input  420 . The CP removal functionality is based on an advance/retard signal  445  provided from a compute SFO (Sampling Frequency Offset) correction module  444  that operates using inputs received from a carrier PLL (Phase Locked Loop)  446  and the coarse/fine frequency estimation module  440 .  
         [0057]     Thereafter, predictive time-domain (TD) PLL correction is computed using a plurality of TD correction modules  423 - 424  (based on signals received from the carrier PLL  446  that correspond to a previous plurality of received symbols (e.g., previous N−1 st  symbol in one embodiment)). These outputs from the TD correction modules  423 - 424  are then passed to a plurality of FFT (Fast Fourier Transform) modules  425 - 426 . These FFT modules  425 - 426  operate to transform the signal processing from the time domain (T-dom) to the frequency domain (F-dom). An equalize module  430  is operable to perform equalization on the signals received from the FFT modules  425 - 426 . The equalize module  430  may be viewed as performing a channel inversion operation on the signals received from the FFT modules  425 - 426  in an effort to compensate for, at least in part, the imperfections and deleterious characteristics of the communication channel over which a signal has been transmitted and from which the signal has been received. During a first instance, this equalize module  430  may be viewed as performing a 1 st  pass of equalization, in that, the equalize processing may be viewed as being an iterative type process that compensates for any channel induced errors.  
         [0058]     Each of a plurality of CPE_SFO correction modules  431 - 432  is operable to apply predictive SFO correction that has been computed using a previous plurality of symbols (e.g., previous n−1 st  symbol in one embodiment) while also considering common phase error (CPE) correction values. After undergoing equalization in the equalize module  430 , these equalized signal streams are passed to the plurality of CPE_SFO correction modules  431 - 432 . The CPE_SFO correction modules  431 - 432  receive input signals from both the compute SFO correction module  444  as well as the carrier PLL  446 . In an initial pass through the receiver, the CPE correction value may be set to a phase of 0 (zero). The CPE correction value is updated upon any updated calculations of angle estimation using an angle estimation module  450  (more details of various embodiments of which are described below). The streams output from the CPE_SFO correction modules  431 - 432  are then provided to a plurality of symbol demap modules  433 - 434  that is operable to perform the appropriate symbol demapping of each of the symbols of these sequences of discrete values modulation symbols according to the appropriate modulation types (i.e., each modulation type includes a constellation shape and a corresponding mapping).  
         [0059]     An angle estimation module  450  is operable to compute the CPE correction values. It is noted that the angle estimation module  450  within this embodiment as well as any other angle estimation module in any pother embodiment) can be implemented within a larger functional block, module, and/or device that is capable to perform additional operations. This concept is generally depicted using reference numeral  451  in this diagram.  
         [0060]     These CPE correction values are then filtered by the carrier PLL  446  before being provided to the CPE_SFO correction modules  431 - 432 . A compute TD correction module  442  then computes the TD PLL correction from the current symbol (e.g., the nth symbol) for use with respect to the next symbol (e.g., n+1 st  symbol). The compute SFO correction module  444  then computes the SFO correction from the current symbol (e.g., the nth symbol) for use with respect to the next symbol (e.g., n+1 st  symbol). The equalize module  430  is then also adjusted using the SFO correction values that have been calculated using the angle estimation module  450 .  
         [0061]     The same SFO correction values computed and applied for the predictive SFO correction employed above as applied in conjunction with the CPE correction values from the current symbol (e.g., the n th  symbol). In this pass of the feedback control processing, the CPE correction has the current symbol phase estimate that has been calculated as described above. The plurality of symbol demap modules  433 - 434  is then operable to perform the appropriate symbol demapping of each of the symbols again. After this step, an LMS channel update module  452  is then operable to compute the LMS (Least Means Square) channel update error terms for use by the next symbol (e.g., n+1 st  symbol). The LMS channel update module  452  then is operable to provide updated channel information to a channel estimate module  454  for processing the next symbol (e.g., n+1 st  symbol).  
         [0062]     The angle estimation module  450  is operable to compute the angular phase error, θ(est) or {circumflex over (θ)}, between the outputs of the equalize module  430  and the expected constellation points of the expected modulation (having the expected constellation shape and corresponding mapping). This is employed by the carrier PLL  446  for CFO/SFO tracking by each of the corresponding appropriate modules.  
         [0063]     The angle estimation module  450  is also operable to receive any additional terms (i.e., variables and/or coefficients) that can or may be required for arctangent processing as shown by reference numeral  449 . These variables and/or coefficients can be provided via the signal, indicated by reference numeral  449 , or from additional functional blocks as desired in a wide variety of embodiments.  
         [0064]     It is noted that the angle estimation module  450  of  FIG. 4  (or the angle estimation module of any other embodiment described herein) may be implemented as the baseband processing module  100  of the  FIG. 3 . Alternatively, the angle estimation module  450  may be implemented as the processing module  50  of either of the  FIG. 2  or the  FIG. 3 . Generally speaking, any embodiment of angle estimation module described herein may be implemented as and generally referred to as a processing module with a memory communicatively coupled thereto to store operational instructions that enable the processing module to perform the angle estimation as described herein.  
         [0065]     It is also noted that the feedback control  400  within a communication device may be viewed as being implemented within a communication system operating using OFDM (Orthogonal Frequency Division Multiplexing) signaling. Several of the following embodiments are directed towards estimating an angle between a constellation that corresponds to an OFDM symbol of a signal received from a communication channel and an expected constellation. In doing so, the processing operates on data tones and pilot tones of each of the OFDM symbols.  
         [0066]      FIG. 5  and  FIG. 6  are diagrams illustrating various embodiments of a communication device including an angle estimation module.  
         [0067]     Referring to  FIG. 5 , which shows an implementation of an angle estimation module  550  within a communication device  500 , the signal that is processed is modeled as follows:
 
 Y   k   =H   k   X   k   e   jθ   +N   k 
 
         [0068]     It is noted that this formula above can be applied to a single-input-single-output (SISO) communication system (e.g. such as the SISO communication system  1101  of the  FIG. 11A ) or within a communication system having multiple streams in which the phase error for each of the streams is approximately the same (or assumed to be approximately the same).  
         [0069]     It is also noted that the various embodiments of performing angle estimation as presented herein can be applied to a wide variety of embodiments and generally applied to any modulation scheme. In some of the exemplary embodiments described below, OFDM is employed, but it again noted that these approaches can be generally applied to any modulation scheme.  
         [0070]     Each of the following is provided as function of the individual tone, denoted by subscript “k”, for an OFDM symbol, where:  
         [0071]     X k  is the transmitted signal;  
         [0072]     H k  is the transfer function of the communication channel  599 ;  
         [0073]     e jθ  is the incurred phase shift or angular rotation corresponding to θ;  
         [0074]     N k  is the additive noise incurred by the signal as it travels through the communication channel (it is assumed that var (N k )=σ 2 , ∀k ); and  
         [0075]     Y k  is the received signal.  
         [0076]     The received signal, Y k , is passed to an equalize module  530  that outputs an equalized signal, W k Y k . This equalized signal, W k Y k , is simultaneously passed to a symbol demap module  533  that is operable to perform symbol demapping of the symbol sequence according to an appropriate modulation (i.e., a constellation and a corresponding mapping of the constellation points included therein). The output of the symbol demap module  533  may be viewed as being soft bit information (e.g., LLR (Log-Likelihood Ratio) in some embodiments). This soft bit information is then fed back to a remapper module  537  that is operable to perform symbol remapping of the soft bit information according to an appropriate modulation (i.e., a constellation and a corresponding mapping of the constellation points included therein) to generate a corresponding symbol estimate that is shown as, α k X k  (est), where α k  may be viewed as being a scale factor corresponding to that particular tone, k. In some embodiments, any one of the more of the scale factors, α k , for any k, can be 1.0 (one) in which case the corresponding symbol estimate output from the remapper module  537  would be merely X k (est). This symbol estimate, α k X k (est), is then passed to an angle estimation module  550  that is operable to perform the angle estimation of θ (whose estimate may be referred to as θ(est) or {circumflex over (θ)}); this angle estimation of θ (i.e., θ(est)) is then passed back to an angle correction module  551  that is operable actually to perform any angular correction for received signals from the equalize module  530  based on the angle estimation of θ (i.e., θ(est)). The angle estimation module  550  also receives an estimate of the communication channel, H k (est) or Ĥ k . Also, to perform the appropriate calculations of angle estimation, the angle estimation module  550  also receives a plurality of pilot symbol, P k , that are predetermined (i.e., known), as shown by reference numeral  532 .  
         [0077]     As similarly mentioned above with respect to another embodiment, an angle estimation module is also operable to receive any additional terms (i.e., variables and/or coefficients) that can or may be required for arctangent processing as shown by reference numeral  549 . These variables and/or coefficients can be provided via the signal, indicated by reference numeral  549 , or from additional functional blocks as desired in a wide variety of embodiments.  
         [0078]     As mentioned above within another embodiment depicting one possible embodiment of an angle estimation module, the angle estimation module  540  may be operable to perform a variety of different functions including the estimation of the angular phase error, θ(est) or {circumflex over (θ)}, between the outputs of the equalize module  530  and the expected constellation points of the expected modulation (having the expected constellation shape and corresponding mapping);  
         [0079]     Referring to  FIG. 6 , which shows an implementation of an angle estimation module  650  within a communication device  600 , the signal that is processed is modeled similarly as with respect to  FIG. 5 , namely, Y k =H k X k e jθ +N k .  
         [0080]     The difference between this embodiment of  FIG. 6  when compared to the embodiment of  FIG. 5 , the equalized signal, W k Y k , output from the equalize module  530  is passed directly to the angle estimation module  650 . The equalized signal, W k Y k , includes a hard limiter  651  that is operable to make an estimate of the received data, X k (est) or {circumflex over (X)} k . This is in contradistinction to the previous embodiment where the symbol estimate, α k X k (est), is regenerated (i.e. remapped) from the already demapped symbol.  
         [0081]      FIG. 7 ,  FIG. 8 , and  FIG. 9  are diagrams illustrating various embodiments of angular estimation functionality.  
         [0082]     Referring to  FIG. 7 , the angle estimation, θ(est) or {circumflex over (θ)}, is shown pictorially with respect to reference numeral  700 . Mathematically, the processing as shown within the  FIG. 7  may be depicted as follows:  
           θ   ^     =     arctan   [         w   d     ⁢       ∑     k   ∈     S   d         ⁢         H   ^     k   *     ⁢       X   ^     k   *     ⁢     Y   k           +       w   p     ⁢       ∑     k   ∈     S   p         ⁢         H   ^     k   *     ⁢     P   k   *     ⁢     Y   k             ]       ,       
 
 where: 
 
         [0083]     Ĥ k : channel estimate;  
         [0084]     {circumflex over (X)} k : data estimate;  
         [0085]     P k : pilot symbol;  
         [0086]     S d : Set of all data tones;  
         [0087]     S p : Set of all pilot tones;  
         [0088]     w d =0 or 1; and  
         [0089]     w p =0 or 1  
         [0090]     It is noted here that the weights, w d  and w p , may alternatively be set to any value as desired in a particular embodiment. In one possible embodiment as indicated above, the setting of the weights, w d  and w p , is to allow each of them to be either 0 or 1, but generally speaking, they may be adjusted to any desired value.  
         [0091]     It is noted here that the superscript “*” of the variable A identifies the “conjugate” of the variable A; for example “A” indicates the “conjugate of A.” 
         [0092]     This angle estimation module  700  may be viewed as being performed using data tone processing (for each data tone) as shown by reference numeral  710  and using pilot tone processing (for each pilot tone) as shown by reference numeral  720 . Once each of a data tone product term and a pilot tone product term have been generated using the data tone processing  710  and the pilot tone processing  720 , respectively, these values are appropriately weighted and summed together thereby generating an argument term. The arctangent of the argument term is then determined (using arctangent processing  730 ) thereby generating the estimate of the angle, θ(est) or {circumflex over (θ)}.  
         [0093]     For each data tone of a plurality of data tones of the OFDM symbol, this approach involves multiplying a conjugate of a corresponding channel estimate, a conjugate of a corresponding data estimate, and a corresponding received signal component thereby generating a corresponding data tone product term. For each pilot tone of a plurality of pilot tones of the OFDM symbol, this approach involves multiplying a conjugate of a corresponding channel estimate, a conjugate of a corresponding pilot symbol, and a corresponding received signal component thereby generating a corresponding pilot tone product term.  
         [0094]     After the data tone product term and the pilot tone product term are determined, the approach involves summing each data tone product term thereby generating a first summed term and multiplying the first summed term by a first weighting term thereby generating a first weighted, summed term. The approach also involves summing each pilot tone product term thereby generating a second summed term and multiplying the second summed term by a second weighting term thereby generating a second weighted, summed term. The approach then involves adding the first weighted, summed term and the second weighted, summed term thereby generating an argument term, and ultimately determining an arctangent of the argument term thereby generating the estimate of the angle.  
         [0095]     Referring to  FIG. 8 , another embodiment of angle estimation, θ(est) or {circumflex over (θ)}, is shown pictorially with respect to reference numeral  800 . This embodiment operates according to a maximal ratio combining (MRC) approach for multiple received signals within a communication device. The communication channel may be modeled as follows:  
                     Rx   ⁢           ⁢   1     ←                 Rx   ⁢           ⁢   2     ←           ⁡     [           r   1               r   2           ]       =         [           h   1               h   2           ]     ⁢   X     +     [           n   1               n   2           ]         ,     
     ⁢     where   ⁢     :           
         var   ⁡     (     n   1     )       =     σ     n   1     2         
     and     
         var   ⁡     (     n   2     )       =       σ     n   2     2     .         
 
         [0096]     Using an MRC approach, a “combined” received signal, r C , may be generated.  
         [0097]     The modeling of such a system may be performed as follows. For every tone k, MRC combining gives the following:  
             [             h   1   *       σ     n   1                 h   2   *       σ     n   2               ]     ⁡     [             r   1       σ     n   1                     r   2       σ     n   2               ]         ︸     r   C         =           (                h   1          2       σ     n   1     2       +              h   2          2       σ     n   2     2         )       ︸     h   C         ⁢   X   ⁢           ⁢     ⅇ   jθ       +       (           h   1   *     ⁢     n   1         σ     n   1     2       +         h   2   *     ⁢     n   2         σ     n   2     2         )       ︸     n   C               
         r   C     =         h   C     ⁢   X   ⁢           ⁢     ⅇ   jθ       +     n   C           
     and     
         var   ⁡     (     n   C     )       =       σ     n   C     2     =                h   1          2       σ     n   1     2       +                h   2          2       σ     n   2     2       .             
 
         [0098]     It is noted again here that the subscript C denotes “combined.” 
         [0099]     Since the combined noise power could be different for each tone, it&#39;s necessary to perform whitening on the combined received signal of each tone. This can be carried out by dividing r C  by σ nC  to generate an effective received signal component (e.g., an effective received symbol), as r E =r C /σ nC . Also, the h C  is divided by σ nC  to generate an effective channel estimate as h E =h C /σ nC . Again, the subscript C denotes “combined”, and the subscript E denotes “effective.” 
         [0100]     For every tone, multiplying the effective received symbol with the conjugate of the effective channel estimate and the conjugate of the data estimate, the angle estimation of the  FIG. 8  is provided as follows:  
               θ   ^     =     arctan   ⁡     [               w   d     ⁢       ∑     k   ∈     S   d         ⁢         r     C   ,   k         σ     n     C   ,   k           ⁢       (           h   ^       C   ,   k         σ     n     C   ,   k           ⁢       X   ^     k       )     *           +                 w   p     ⁢       ∑     k   ∈     S   p         ⁢         r     C   ,   k         σ     n     C   ,   k           ⁢       (           h   ^       C   ,   k         σ     n     C   ,   k           ⁢     P   k       )     *                 ]               (   a1   )                 θ   ^     =     arctan   [               w   d     ⁢       ∑     k   ∈     S   d         ⁢       r     C   ,   k       ⁢       X   ^     k   *     ⁢         h   ^       C   ,   k     *       σ     n     C   ,   k       2             +                 w   p     ⁢       ∑     k   ∈     S   p         ⁢       r     C   ,   k       ⁢     P   k   *     ⁢         h   ^       C   ,   k     *       σ     n     C   ,   k       2                   ]             (   a2   )                 θ   ^     =     arctan   [               w   d     ⁢       ∑     k   ∈     S   d         ⁢       r     C   ,   k       ⁢       X   ^     k   *           +                 w   p     ⁢       ∑     k   ∈     S   p         ⁢       r     C   ,   k       ⁢     P   k   *                 ]             (   b   )             
 
         [0101]     where:  
         [0102]     r C,k : combined received data;  
         [0103]     {circumflex over (X)} k : data estimate;  
         [0104]     P k : pilot symbol;  
         [0105]     S d : Set of all data tones;  
         [0106]     S p : Set of all pilot tones; and  
         [0107]     w d =0 or 1; and  
         [0108]     w p =0 or 1  
         [0109]     In some embodiments that provide a highly accurate channel estimate, the above equivalent equations (a1) and (a2), the angle estimation, {circumflex over (θ)}, can be calculated using only following terms as shown in equation (b): the combined received data, r C,k , the conjugate of the data estimate, {circumflex over (X)} k *, and the conjugate of the pilot symbol, P k *. The implementation of equation (b) is shown in an embodiment of  FIG. 8 .  
         [0110]     As also mentioned with respect to another embodiment above, it is noted here that the weights, w d  and w p , may alternatively be set to any value as desired in a particular embodiment. In one possible embodiment as indicated above, the setting of the weights, w d  and w p , is to allow each of them to be either 0 or 1, but generally speaking, they may be adjusted to any desired value.  
         [0111]     It is again noted that {circumflex over (X)} k  may be either determined directly using a hard limiter within an angle estimation module or by remapping an already demapped symbol.  
         [0112]     Similar to the embodiment described above, this angle estimation  800  may be viewed as being performed using data tone processing (for each data tone) as shown by reference numeral  810  and using pilot tone processing (for each pilot tone) as shown by reference numeral  820 . Once each of a data tone product term and a pilot tone product term have been generated using the data tone processing  810  and the pilot tone processing  820 , respectively, these values are appropriately weighted and summed together thereby generating an argument term. The arctangent of the argument term is then determined (using arctangent processing  830 ) thereby generating the estimate of the angle, θ(est) or {circumflex over (θ)}.  
         [0113]     For each data tone of a plurality of data tones of the OFDM symbol, this approach involves multiplying a corresponding effective received signal component (e.g., an effective received symbol), a conjugate of a corresponding effective channel estimate, and a conjugate of a corresponding data estimate thereby generating a corresponding data tone product term. For each pilot tone of a plurality of pilot tones of the OFDM symbol, this approach involves multiplying a corresponding effective received signal component (e.g., an effective received symbol), a conjugate of a corresponding effective channel estimate, and a conjugate of a corresponding pilot symbol thereby generating a corresponding pilot tone product term.  
         [0114]     When whitening is employed, the effective channel estimate can be a whitened channel estimate, the effective received signal component can be a whitened received signal component.  
         [0115]     After the data tone product term and the pilot tone product term are determined, the approach involves summing each data tone product term thereby generating a first summed term and multiplying the first summed term by a first weighting term thereby generating a first weighted, summed term. The approach also involves summing each pilot tone product term thereby generating a second summed term and multiplying the second summed term by a second weighting term thereby generating a second weighted, summed term. The approach then involves adding the first weighted, summed term and the second weighted, summed term thereby generating an argument term, and ultimately determining an arctangent of the argument term thereby generating the estimate of the angle.  
         [0116]     Referring to  FIG. 9 , another embodiment of angle estimation, θ(est) or {circumflex over (θ)}, is shown pictorially with respect to reference numeral  900 . This embodiment may be viewed as being applicable to angle estimation within a 2×2 MIMO communication system (or even adapted to service higher order MIMO communication systems). These principles are presented with respect to a 2×2 MIMO communication system, but may be extended to higher order MIMO communication systems as well. The 2×2 MIMO communication system is employed for illustration and clarity for the reader.  
         [0117]     In this depiction of a 2×2 MIMO communication system, it is assumed that the phase noise is correlated in each of the antenna paths of a communication receiver device.  
         [0118]     Generally speaking, this approach involves treating each of the transmission streams within the 2×2 MIMO communication system separately. In such an approach, the model for the 2×2 MIMO communication system may be represented mathematically as follows:  
           Y   k     =           H   k     ⁡     [           ⅇ     jθ   1           0           0         ⅇ     jθ   2             ]       ⁢     X   k       +     N   k         ,       
 
 where: 
 
         [0119]     X k  is the transmitted signal;  
         [0120]     H k  is the transfer function of the communication channel;  
         [0121]     the matrix,  
         [           ⅇ     jθ   1           0           0         ⅇ     jθ   2             ]     ,       
 
 represents the angular rotations incurred, namely, θ 1  and θ 2 ; 
 
         [0122]     N k  is the additive noise incurred by the signal as it travels through the communication channel (it is assumed that var(N k )=σ 2 I, ∀k (added I where I is an identity matrix); and  
         [0123]     Y k  is the received signal.  
         [0124]     An equalizer, such as the simple zero forcing equalizer (ZFE), is implemented to process the signal received from the communication channel, and the signal after the ZFE may be represented as follows:  
           X   ~     k     =         H   k     -   1       ⁢     Y   k       =         [           ⅇ     jθ   1           0           0         ⅇ     jθ   1             ]     ⁢     X   k       +         H   k     -   1       ⁢     N   k         ︸     N     ZFE   ,   k                   
 
         [0125]     The final term, H k   −1 N k , may also be viewed as the noise at the output of the ZFE. Its variance is denoted by σ 2   ZFE,k .  
         [0126]     After undergoing whitening, the signal may be represented as follows:  
               X   ~       k   ,   n         σ     ZFE   ,   k   ,   n         =           X     k   ,   n         σ     ZFE   ,   k   ,   n         ⁢     ⅇ     jθ   ⁢           ⁢   n         +       N   ~       k   ,   n           ,     n   =   1     ,   2   ,       var   ⁢     (       N   ~       k   ,   n       )       =   1.         
 
         [0127]     In the above equation, for each tone k, it is noted that the left hand side of the equation,  
             X   ~       k   ,   n         σ     ZFE   ,   k   ,   n         ,       
 
 can be viewed as being a corresponding effective received signal component (e.g., an effective received symbol), and the term,  
         1     σ     ZFE   ,   k   ,   n         ,       
 
 can be viewed as being an effective channel estimate. To form the argument used for arctangent processing, again, the effective received symbol is multiplied with the conjugate of the effective channel estimate and the conjugate of the data estimate. It is noted that n varies and denotes a transmit stream. In a 2×2 MIMO communication system, n varies between 1 and 2. In an mxm MIMO communication system, n would vary between 1, 2, and . . . m. 
 
         [0128]     Based on this 2×2 MIMO communication system, the angle estimation for the n-th path as performed according to the  FIG. 9  is provided as follows:  
           θ   ^     n     =     arc   ⁢           ⁢       tan   [         w   d     ⁢       ∑     k   ∈     S   d         ⁢         X   ~       k   ,   n       ⁢       X   ^       k   ,   n     *     ⁢     1       σ     ZFE   ,   k   ,   n     2       ︸     SNR     ZFE   ,   k   ,   n                   +       w   p     ⁢       ∑     k   ∈     S   p         ⁢         X   ~       k   ,   n       ⁢     P     k   ,   n     *     ⁢     1       σ     ZFE   ,   k   ,   n     2       ︸     SNR     ZFE   ,   k   ,   n                     ]     .           
 
         [0129]     This term, 1/σ 2   ZFE,k,n =SNR ZFE,k,n , may also be viewed as being an SNR (Signal to Noise Ratio) weighting term. This per-tone SNR is a function of the channel, H k , and the noise, N k .  
         [0130]     In similar fashion to the way that angular rotation may be represented using a matrix notation, the communication channel transfer function, H k , may also be represented in matrix format.  
         H   k     =     [           H     11   ,   k             H     12   ,   k                 H     21   ,   k             H     22   ,   k             ]         
 
         [0131]     The inverse of the communication channel transfer function, H k , is then represented as follows:  
               H   k     -   1       =       1     det   (     H   k     )       ⁡     [           H     22   ,   k             -     H     12   ,   k                   -     H     21   ,   k               H     11   ,   k             ]                   =         1          det   (     H   k     )            ⁡     [           H     22   ,           ⁢   k             -     H     12   ,           ⁢   k                   -     H     21   ,           ⁢   k               H     11   ,           ⁢   k             ]       ⁢     ⅇ     -     j∠det   ⁡     (     H   k     )                       
 
         [0132]     For each of the streams (e.g., n=1 and n=2), the corresponding SNR weighting terms may be represented as a function of the communication channel transfer function, H k , and more specifically as a function of the individual elements of the matrix representation of the communication channel transfer function, H k :  
           1             ⁢     σ             ⁢     ZFE   ,   k   ,   1                 ⁢   2           =              det   (     H   ⁢           ⁢     &#34;&#34;   k       )          2               ⁢                H             ⁢     22   ,   k              2     ⁢           ⁢     σ       N             ⁢   k       ,   1               ⁢   2         +              H             ⁢     12   ,           ⁢   k              2     ⁢           ⁢     σ             ⁢       N             ⁢   k       ,   2                 ⁢   2                 ,     
     ⁢   and       
         1     σ             ⁢     ZFE   ,   k   ,   2                 ⁢   2         =                det   (     H   ⁢           ⁢     &#34;&#34;   k       )          2               ⁢                H             ⁢     21   ,   k              2     ⁢           ⁢     σ             ⁢       N             ⁢   k       ,   1                 ⁢   2         +              H             ⁢     11   ,           ⁢   k              2     ⁢           ⁢     σ       N             ⁢   k       ,   2               ⁢   2               .         
 
         [0133]     In the following expression, W k =H k   −1  (i.e., the equalizer transfer function does a channel inversion). Based on this, the following expressions denote the angle estimate for each of the 2 streams within one possible embodiment of angle estimation.  
             θ   ^     1     =     arctan   ⁡     [               w   d     ⁢       ∑     k   ∈     S   d         ⁢       (       W   k     ⁢     Y   k       )     ⁢       X   ^     k   *     ⁢              det   ⁡     (     H   k     )            2                  H     22   ,   k            2     ⁢     σ       N   k     ,   1     2       +              H     12   ,   k            2     ⁢     σ       N   k     ,   2     2                 +                 w   p     ⁢       ∑     k   ⁢           ∈           ⁢     S   p         ⁢       (       W   k     ⁢           ⁢     Y   k       )     ⁢     P   k     ⁢              det   ⁡     (     H   k     )            2                  H     22   ,           ⁢   k            2     ⁢           ⁢     σ       N   k     ,           ⁢   1     2       ⁢           +           ⁢              H     12   ,           ⁢   k            2     ⁢           ⁢     σ       N   k     ,           ⁢   2     2                       ]         ,     
     ⁢   and       
           θ   ^     2     =     arctan   ⁡     [               w   d     ⁢       ∑     k   ∈     S   d         ⁢       (       W   k     ⁢     Y   k       )     ⁢       X   ^     k   *     ⁢              det   ⁡     (     H   k     )            2                  H     21   ,   k            2     ⁢     σ       N   k     ,   1     2       +              H     11   ,   k            2     ⁢     σ       N   k     ,   2     2                 +                 w   p     ⁢       ∑     k   ⁢           ∈           ⁢     S   p         ⁢       (       W   k     ⁢           ⁢     Y   k       )     ⁢     P   k     ⁢              det   ⁡     (     H   k     )            2                  H     21   ,           ⁢   k            2     ⁢           ⁢     σ       N   k     ,           ⁢   1     2       ⁢           +           ⁢              H     11   ,           ⁢   k            2     ⁢           ⁢     σ       N   k     ,           ⁢   2     2                       ]           
 
         [0134]     The term, W k Y k , may be viewed as being the signal provided from an equalize module as depicted within many of the other embodiments above. The term, {circumflex over (X)} k , is the regenerated/remapped symbol estimate created from the LLRs that have been generated by the symbol demap module as depicted within many of the other embodiments above. The remaining terms, provided in the log domain, namely, log 2 (|det(H k )|) log 2 (|H 22,k | 2 σ N     k,1     2 +|H 12,k | 2 σ N     k,2     2 ), log 2 (|H 21,k | 2 σ N     k,1     2 +|H 11,k | 2 σ N     k,2     2 ), may be provided as the coefficients provided from another module, functional block, and/or device as generally depicted above within other embodiments (e.g., using the reference numeral  549  in  FIG. 5  and  FIG. 6 ). In addition to a reduction in the dynamic range that needs to be covered, the implementation and use of various parameters in the log domain can allow for significant reduction in complexity of hardware. For example, implementing various calculations within the log logarithmic domain enables multiplication operations to be performed using addition, and division operations to be performed using subtraction.  
         [0135]      FIG. 10  is a diagram illustrating another embodiment of angular estimation functionality is shown pictorially with respect to reference numeral  1000 . The generalized implementation  1000  can be adapted to any of a variety of communication system types. Three different inputs (a channel estimate  1011 , a data estimate  1012 , and a received signal component  1013 ) are provided to an effective processing module  1020 . The effective processing module  1020  generates three outputs (a conjugate of an effective channel estimate  1021 , a conjugate of a data estimate  1022 , and an effective received signal component  1023 ).  
         [0136]     It is noted that it any of the inputs to the effective processing module  1020  is a scalar (e.g., the channel estimate  1011  is a scalar in some embodiments), then the “conjugate” of that term would simply be that term. Each of these three terms output from the effective processing module  1020  is provided to an arctangent processing module  1030 . It is also noted that, in some embodiments, effective processing module  1020  can simply be a pass-through type of module. For example, the conjugate of the effective channel estimate  1021  can simply be one (e.g., 1.0) in some instances. In such an embodiment, the conjugate of the effective channel estimate  1021  would not really be employed by the arctangent processing module  1030 . Also, in some embodiments, the conjugate of the effective channel estimate  1021  can be an actual channel estimate corresponding to a communication channel from which a signal is received and processed to undergo angle estimation. Analogously, in some embodiments, the effective received signal component can be an actual received signal component that has been received from such the communication channel.  
         [0137]     Therefore, this embodiment  1000  may be generalized and applied to any of the previous embodiments depicted within the  FIG. 7 ,  FIG. 8 , and  FIG. 9 .  
         [0138]     There can be embodiments where the effective processing module  1020  does nothing more than take the conjugate of one or more of the inputs provided thereto. For example, in a communication system (such as the one depicted with reference to  FIG. 11 ), the only processing required by the effective processing module  1020  with respect to the “data estimate  1012 ” is to provide the conjugate of the “data estimate  1012 ”, in such case the “conjugate of the data estimate  1022 ” is merely the “conjugate” of the “data estimate  1012 ”. Similarly, the only processing required by the effective processing module  1020  with respect to the “channel estimate  1011 ” is to provide the conjugate of the “channel estimate  1011 ”, in such case the “conjugate of the effective channel estimate  1021 ” is merely the “conjugate” of the “channel estimate  1011 ”.  
         [0139]     Alternatively, within other communication system types such as a maximal ratio combining (MRC), the effective processing module  1020  may perform additional processing such as whitening of one or more of the inputs (the channel estimate  1011 , the data estimate  1012 , and the received signal component  1013 ) provided thereto, in addition to generating the conjugate of certain of the values as required.  
         [0140]     In even another embodiment, such as a MIMO communication system, the effective processing module  1020  can perform processing such as reducing the received signals into individual stream components, performing equalization (e.g., zero forcing equalization), and whitening of one or more of the inputs (the channel estimate  1011 , the data estimate  1012 , and the received signal component  1013 ) provided thereto, in addition to generating the conjugate of certain of the values as required. For example, the effective processing module  1020  can perform decomposition of the channel estimate  1011 , the data estimate  1012 , and the received signal component  1013  into its corresponding single stream components from its multiple streams components that corresponding to more than one communication path within such a MIMO communication system.  
         [0141]     It is noted that the arctangent processing module  1030  could alternatively simply receive an effective channel estimate and a data estimate from the effective processing module  1020 . Then, the arctangent processing module  1030  could take the conjugates thereof to form the conjugate of the effective channel estimate  1021  and the conjugate of the data estimate  1022 .  
         [0142]     Generally speaking, to accommodate any of a wide variety of communication systems, the arctangent processing module  1030  is operable to operate on a at least three inputs: the first of which corresponds to a channel estimate, the second of which corresponds to a data estimate, and the third of which corresponds to a received signal component (e.g., a received symbol).  
         [0143]     As one example, an apparatus that includes a processing module (with a memory coupled thereto) can be implemented to perform the following operations. For each data symbol of a plurality of data symbols, the processing module is operable to multiply a conjugate of a corresponding effective channel estimate, a conjugate of a corresponding data estimate, and a corresponding effective received signal component thereby generating a corresponding data product term. For each pilot symbol of a plurality of pilot symbols, the processing module is operable to multiply a conjugate of a corresponding effective channel estimate, a conjugate of a corresponding pilot symbol, and a corresponding effective received signal component thereby generating a corresponding pilot product term. Then, the processing module is operable to sum each data product term thereby generating a first summed term, multiply the first summed term by a first weighting term thereby generating a first weighted, summed term, sum each pilot product term thereby generating a second summed term, and multiply the second summed term by a second weighting term thereby generating a second weighted, summed term. The processing module is operable to add the first weighted, summed term and the second weighted, summed term thereby generating an argument term. The processing module is then operable to determine an arctangent of the argument term thereby generating an estimate of an angle between a constellation of at least one symbol of the plurality of data symbols and an expected constellation for the at least one symbol of the plurality of data symbols.  
         [0144]     It is also noted that the angle estimation functionality and methods presented herein may be applied to many other types of communication systems including, but not limited to those depicted with reference to the following diagrams.  
         [0145]      FIG. 11A  is a diagram illustrating an embodiment of a single-input-single-output (SISO) communication system  1101 . A transmitter (TX  1111 ) having a single transmit antenna communicates with a receiver (RX  1121 ) having a single receive antenna.  
         [0146]      FIG. 11B  is a diagram illustrating an embodiment of a multiple-input-multiple-output (MIMO) communication system  1102 . A transmitter (TX  1112 ) having multiple transmit antennae communicates with a receiver (RX  1122 ) having multiple receive antennae. Looking only at 2 of the plurality of antennae at either end of the communication channel, a first antenna transmits A and a second antenna transmits B. At the RX  1122 , a first antenna receives A′+B′ and a second antenna receives A″+B″. The RX  1122  includes the appropriate functionality to perform the extraction and generation of a signal that is a best estimate of the transmitted signal A and B.  
         [0147]      FIG. 11C  is a diagram illustrating an embodiment of a multiple-input-single-output (MISO) communication system  1103 . A transmitter (TX  1113 ) having multiple transmit antennae communicates with a receiver (RX  1123 ) having a single receive antenna.  
         [0148]      FIG. 11D  is a diagram illustrating an embodiment of a single-input-multiple-output (SIMO) communication system  1104 . A transmitter (TX  1114 ) having a single transmit antenna communicates with a receiver (RX  1124 ) having multiple receive antennae. A single-input-multiple-output (SIMO) communication system  1104  can be viewed as being the dual of a MISO communication system.  
         [0149]      FIG. 12  is a diagram illustrating an embodiment of an apparatus  1200  that is operable to perform angle estimation. The apparatus  1200  includes a processing module  1220 , and a memory  1210 . The memory  1210  is coupled to the processing module, and the memory  1210  is operable to store operational instructions that enable the processing module  1220  to perform a variety of functions. The processing module  1220  (serviced by the memory  1220 ) can be implemented as an apparatus capable to perform any of the functionality of any of the various modules and/or functional blocks described herein. For example, the processing module  1220  (serviced by the memory  1220 ) can be implemented as an apparatus capable to perform angle estimation in accordance with any of the various embodiments described above.  
         [0150]     The processing module  1220  can be implemented using a shared processing device, individual processing devices, or a plurality of processing devices. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on operational instructions. The memory  1210  may be a single memory device or a plurality of memory devices. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, and/or any device that stores digital information. Note that when the processing module  1220  implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory storing the corresponding operational instructions is embedded with the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.  
         [0151]     If desired in some embodiments, the apparatus  1200  can be any of a variety of communication devices  1230 , or any part or portion of any such communication device  1230 . Any such communication device that includes the apparatus  1200  can be implemented within any of a variety of communication systems  1240  as well.  
         [0152]     The preceding discussion has presented a method and apparatus for estimating an angle between a constellation that corresponds to a received signal and a constellation that corresponds to an expected signal. In some embodiments, this may involve estimating an angle between a constellation that corresponds to an OFDM (Orthogonal Frequency Division Multiplexing) symbol of a signal received via one signal path in a communication channel and an expected constellation.  
         [0153]     In view of the above detailed description of the invention and associated drawings, other modifications and variations will now become apparent. It should also be apparent that such other modifications and variations may be effected without departing from the spirit and scope of the invention.