Embodiments of the disclosed subject matter generally relate to the field of beamformed Multiple-Input Multiple-Output (MIMO) communications, and more particularly to estimating signal-to-noise ratios (SNRs) of beamformed signals from non-beamformed soundings.
Channel estimation and adaptation are used for optimizing communication reliability and throughput. For example, in powerline communication (PLC) systems, modems may support periodic channel estimation and adaptation based on channel conditions. Modems may use channel frequency responses and SNRs to estimate channel conditions.
Channel estimation and adaptation may be used in MIMO systems in which each channel comprises multiple signal paths. MIMO uses multiple signal paths between a transmitter and a receiver to provide enhanced capacity channels. MIMO has long been used for wireless communications. More recently, MIMO has been implemented in wireline communications, such as PLC. Spatial multiplexing is a modulation technique that may be utilized by MIMO communication systems. In a spatially multiplexed MIMO system, multiple distinct information streams are transmitted over different transmission paths.
Precoded spatial multiplexing (also known as beamforming or Eigen beamforming) can increase the reliability of a spatially multiplexed channel. Precoded spatial multiplexing may therefore increase data throughput. Beamforming (sometimes referred to as spatially multiplexed precoding or spatial filtering) is a signal processing technique for improving directional signal transmission or reception. Beamforming generally entails generating a focused signal transmission by shifting a signal in time (phase). Time shifting causes the signals to experience constructive or destructive interference at particular directions. Beamforming utilizes channel state information at the transmitter.
Known techniques for obtaining channel state and SNR feedback include training the transmitter using sounding signals, such as in the form of sounding packets, during channel estimation. While useful for obtaining channel state and SNR, the periodic use of sounding signals to maintain optimally adapted transmissions decreases overall transmission throughput.
A method for determining transmission properties of a MIMO channel is disclosed. In one embodiment, a MIMO receiver receives a non-beamformed, spatial-multiplexed (SM) sounding signal over multiple signal paths of the MIMO channel. The receiver may determine beamforming information including beamforming coefficients and beamforming Eigenvalues for the MIMO channel based, at least in part, on frequency responses of the signal paths. The receiver may also determine a first SNR estimate for one or more SM data streams of the SM sounding signal based, at least in part, on the determined beamforming information.
The present embodiments may be better understood, and numerous objects, and features made apparent to those skilled in the art by referencing the accompanying drawings.
The description that follows includes example systems, methods, techniques, instruction sequences and computer program products that embody techniques of the presently disclosed subject matter. However, it is understood that the described embodiments may be practiced without these specific details. In other instances, well-known instruction instances, protocols, structures and techniques have not been shown in detail in order not to obfuscate the description.
The disclosure describes techniques for determining MIMO channel transmission properties that can be used for beamformed transmissions. The transmission properties may include channel state information (CSI) and signal-to-noise ratios (SNRs). Some embodiments estimate beamformed signal SNRs from non-beamformed soundings. As disclosed herein, a MIMO receiver may receive, from a transmitter, a non-beamformed sounding signal as multiple spatial-multiplexed (SM) data streams. The SM data streams may be generated by the transmitter. The transmitter generates the SM data streams from one or more sounding packets containing known data. The receiver receives these streams over multiple signal paths of a MIMO channel during channel estimation. The receiver may determine frequency responses of the signal paths, and use the frequency responses to determine beamforming information including beamforming coefficients and beamforming Eigenvalues. The receiver may also use signal responses of the non-beamformed signals to determine non-beamformed SNR estimates for the SM data streams. The receiver can use the beamforming Eigenvalues to generate an SNR variation factor. The SNR variation factor may be applied to the non-beamformed SNR estimates to generate beamformed SNR estimates for the SM data streams. The receiver may utilize the beamformed SNR estimate(s) to determine bit loading values. The receiver may also generate a carrier tone map (also referred to as carrier modulation map) that incorporates the determined bit loading values. The receiver can transmit the beamforming coefficients and the carrier tone map to the transmitter. The transmitter may apply the beamforming coefficients and the carrier tone map to transmit beamformed data signals to the receiver. The receiver may apply an adaptation algorithm to the beamformed data signals to adjust the beamformed SNR estimate(s). The adjusted beamformed SNR estimates can be used to generate an updated carrier tone map which may be sent to the transmitter.
The receiver may utilize the beamforming Eigenvalues to determine whether to apply a positive or negative variation to the non-beamformed SNR estimates. In response to determining that a positive variation applies to a non-beamformed SNR estimate, the receiver increases a corresponding bit loading value by a specified amount. In response to determining that a negative variation applies to a non-beamformed SNR estimate, the receiver decreases a corresponding bit loading value by a specified amount.
The topology of the network 104 may comprise one or more types and forms. For example, the topology of the network 104 may be configured to support point-to-point connections and/or broadcast connectivity. The topology of the network 104 may be a bus, star, ring, or any other topology capable of supporting the operations described herein.
The nodes 102a-102n may be nodes of a PLC network that communicate using any of a variety of communication protocols. For example, the nodes 102a-102n may utilize one of the HomePlug specifications, such as HomePlug AV2. Each node in the network 104 may communicate using a physical (PHY) layer protocol that is used to transmit data and sounding signals (e.g., network messages) to other nodes.
In some implementations, the nodes 102a-102n communicate using data units, such as network packets. The network packets may be transmitted over the air (wireless) or over power line cables, coaxial cables, phone wire media, etc. The network packets may include control information fields and may also include a data, or “payload” field. The payload field may include, for example, application data and/or higher layer protocol management information. The control information fields may include communication protocol, packet encoding and/or signal modulation information.
Each of the nodes 102a-102n may include one or more network interfaces comprising one or more networking architectures. For example, the networking architecture may be compliant with the Open Systems Interconnect (OSI) model. The networking architecture may include a PHY layer that can convert upper layer data structures to and from a signal waveform. The signal waveform may be transmitted over or received from the transmission medium of the network 104. For example, a PHY Protocol Data Unit refers to the modulated signal waveform representing a higher layer data unit. In one embodiment, the nodes 102a-102n may employ a multi-carrier PHY layer such as implemented by Orthogonal Frequency-Division Multiplexing (OFDM).
The PHY layers of one or more of the network interfaces may implement MIMO and spatial multiplexing to exploit multipath propagation. MIMO multiplies link capacity by using multiple transmit and receive antennas over which data can be transmitted and received in parallel. MIMO is a feature of several wireless communication standards, such as Institute of Electronics and Electrical Engineers (IEEE) 802.11n (Wi-Fi). MIMO has also been applied to powerline communication for 3-wire installations as part of ITU G.hn standard and HomePlug AV2 specification. Spatial multiplexing is a transmission technique that may be used for MIMO communication to transmit independent data streams of a common originating signal from each of the multiple transmit ports or antennas.
In one embodiment, the nodes 102a and 102b share a MIMO channel across the network 104. For example, the MIMO channel may be a 2×2 channel between the two transmit (TX) ports and the two receive (RX) ports. A 2×2 MIMO channel thus comprises four signal propagation paths (signal paths). Spatial multiplexing may be used for the MIMO channel configuration between nodes 102a and 102b. In spatial multiplexing, data is split into multiple streams. Each spatial-multiplexed (SM) data stream is transmitted from a different transmit port. In the 2×2 MIMO channel example, the first SM data stream is transmitted from the first TX port and the second SM data stream is transmitted from the second TX port. The two SM data streams then propagate through the four signal paths and a different mixture of the two SM data streams arrive on each of the two RX ports of the MIMO channel. The receive node processes the received signals on its RX ports to recover the SM data streams using estimates of the MIMO channel.
Spatial multiplexing increases channel capacity at higher SNRs, such as may be encountered in PLC transmissions. Furthermore, if CSI is available at a node's transmitter, spatial multiplexing can be combined with beamforming (sometimes referred to as Eigen beamforming). In beamforming, the SM data streams are precoded using beamforming coefficients, which are based on CSI. In the depicted embodiment, the nodes 102a and 102b may include SNR estimate units 105a and 105b, respectively. As described in further detail vis-à-vis
Modules within the PLC modem 202 that implement a transmit PHY layer may include an encoder 206 and a MIMO stream parser 207. The encoder 206 can receive media access control (MAC) protocol data units (MPDUs) from a MAC layer 204. The encoder 206 performs processing such as scrambling, error correction coding, and interleaving. The encoder 206 may encode bit segments of the MPDU data stream and sub-divide the encoded bit segments into a number of sub-segments.
The encoded, sub-segmented data is fed into the MIMO stream parser 207. The MIMO stream parser 207 may divide (e.g., multiplex) the data into two independent spatial-multiplexed (SM) data streams carried on two transmit paths. The MIMO stream parser 207 feeds each of the two SM data streams into respective mappers 208a and 208b. Each of the mappers 208a and 208b receives an SM data stream (including sub-segmented data) as grouped bits (e.g., 1, 2, 3, 4, 6, 8, or 10 bits), depending on the constellation used for the current OFDM symbol. Example constellations used for OFDM include Binary Phase Shift Keying (BPSK), Quadrature Phase Shift Keying (QPSK), 8-Quadrature Amplitude Modulation (QAM), 16-QAM, 64-QAM, 256-QAM, 1024-QAM and 4096-QAM constellations. The mappers 208a and 208b can map data values represented by the grouped bits into corresponding amplitudes of in-phase (I) and quadrature-phase (Q) components for the current symbol. For example, the mappers 208a and 208b may perform QAM encoding of the sub-segments to map the sub-segments into complex-valued points in a constellation pattern. The constellation pattern may also be referred to as a QAM constellation map, or simply a QAM constellation. Each complex-valued point in the QAM constellation may comprise a frequency domain sub-symbol representing discrete values of phase and amplitude.
The mappers 208a and 208b may also determine the type and level of modulation to be used on each of the carriers (or “tones”). For example, and as explained in further detail below, the modulation levels may be determined based on carrier tone maps generated by PHY layer receive components within the PLC modem 222. The carrier tone maps may be received from the PLC modem 222 on a receive network interface 213 during channel estimation, as described in further detail below. The mapped SM data streams are fed from the mappers 208a and 208b to a MIMO precoder 209. During beamformed (i.e., non-sounding) communications, the MIMO precoder 209 performs beamforming operations on the SM data streams. For example, the MIMO precoder 209 may multiply the frequency domain symbols in each of the SM data streams by precoder matrices which are derived from the beamforming coefficients as described vis-à-vis
For beamformed operations, the MEMO precoder 209 may pass beamformed signals as input to an Inverse fast Fourier Transform (IFFT) unit 210. The IFFT unit 210 may comprise two inverse discrete Fourier transform (IDFT) modules (not depicted), each configured to receive and process a respective one of the input beamformed signals. The IDFT modules can perform inverse fast Fourier transforms on the sequence of symbols in each of the signals, in this manner, the IFFT unit 210 may generate time-domain OFDM symbols consisting of in-phase and quadrature-shifted digital components for each of the signals.
The time-domain outputs from the IFFT unit 210 are fed into a transmit analog front-end (AFE) 212. The transmit AFE 212 comprises amplification, filtering, mixing, and two-port transmission components. The components within the transmit AFE 212 are configured to generate and couple analog signals containing a continuous-time version of the symbol sets of the beamformed signals over two ports to the MIMO channel 215. The MIMO channel 215 comprises two physical transmit media (i.e., wire pairs in PLC) that each carry a beamformed signal from the two transmit ports to two receiver ports. In one embodiment, the MIMO channel 215 is a 2×2 channel comprising four signal paths between the two transmit ports and two receive ports.
The MIMO equalizer 225 sends the recovered SM data streams to a de-mapper 228. The de-mapper 228 demodulates the frequency domain symbols in the two SM data streams into metrics for SM data bit streams (bit streams) and sends the demodulated SM bit streams to a MIMO de-multiplexer 231. The MIMO de-multiplexer 231 recombines the two SM bit streams and sends the recombined signal to a decoder 230. The decoder 230 decodes the bit streams including de-interleaving and descrambling to recover the data payload and send to a MAC layer 232 as MPDUs.
In one embodiment, the PLC modems 202 and 222 may communicate using beamformed transmissions to increase SNRs and corresponding data throughput. Such beamformed transmissions may be implemented by the Eigen beamforming mode described in the HomePlug AV2 specification. Beamforming entails precoding the signals carried on each of the MIMO signal paths based on transmission properties which may include CSI. CSI refers to determined channel properties resulting from, for example, interference, scattering, and power decay, that effect signal propagation from a transmitter to a receiver. CSI may include channel properties such as frequency response information from which beamforming information can be derived. Optimized beamformed transmissions may require determining SNRs as well as CSI. The CSI and SNR determinations may be performed during channel estimation. CSI and SNRs may be determined at the receiver (e.g., receive PHY layer of the PLC modem 222) during channel estimation, and may be quantified and fed back to the transmitter (e.g., transmit PHY layer of the PLC modem 202).
The PLC modems 202 and 222 may be configured to perform channel estimation. Metrics determined from channel estimation may include CSI, such as beamforming information and channel frequency responses for each of the MIMO channel signal paths. The channel estimation metrics may further include SNRs and/or carrier tone maps of each of the SM data streams. The channel estimation may include a packet sounding period in which the PLC modem 202 is the transmitter and the PLC modem 222 is the receiver. For example, the PLC modem 202 may transmit a sounding packet containing pre-specified (i.e., known to the PLC modem 222) data to the PLC modem 222 without beamforming (i.e., without processing by MIMO precoder 209). The signal paths received over the MIMO channel 215 may interfere at the receive AFE 224 and this interference is usually more severe without beamforming.
The PHY layer receive components of the PLC modem 222 use the known structure of the sounding packets and the received signal characteristics to estimate the channel frequency response (i.e., frequency responses of each of the signal paths). For example, while processing non-beamformed sounding packets, output from the FFT unit 226 may be received at the channel estimator 227. As described vis-à-vis
After channel estimation, the receiving device (e.g., PLC modem 222) may determine and send PHY layer transmission properties to the transmitting device (e.g., PLC modem 202). The PHY layer transmission properties may include the beamforming coefficients and carrier tone maps. For example, the channel estimator 227 can utilize the SNR estimates to generate carrier tone maps for each of the SM data streams. The carrier tone map can includes channel adaptation information (e.g., modulation, coding rate, error correction, etc.) for the carrier frequencies on each SM data stream. The channel estimator 227 may transmit the carrier tone maps and beamforming coefficients to the transmit components of the PLC modem 202 via a transmit network interface 217.
At 310, the receiver 304 may also use the non-beamformed SNR estimates and the beamforming information to determine SNR estimates for each of the SM data streams. For example, and as described vis-à-vis
The beamforming coefficients and carrier tone map information may be sent collectively as an extended tone map message (shown at 312) to the transmitter 302. The beamforming coefficient data may be incorporated into a tone map configuration message. Alternatively, the beamforming coefficient data may be included as a separate portion of a configuration message that includes both carrier tone map data and beamforming coefficient data. As another alternative, the beamforming coefficient data may be transmitted as a separate configuration message.
Subsequent transmissions from the transmitter 302 may utilize the transmission properties from the received beamforming coefficients and carrier tone maps. At 314, following receipt and processing of the beamforming coefficients and carrier tone map information, channel estimation may end with the transmitter 302 transmitting one or more data payload packets (i.e., non-sounding packets). For example, the transmitter 302 may transmit a data payload packet that is beamformed based on the received beamforming coefficients. Further, the beamformed packet's modulation level, including power and bit loading, is set in accordance with the received SNR estimates.
At 316, the receiver 304 may process the beamformed data payload packet(s) to determine a beamformed SNR value. For example, the receiver 304 may compare received and demodulated QAM constellations with transmitted QAM constellations to determine beamformed SNR values for each of the SM data streams. The receiver 304 may then use the beamformed SNR values to modify or generate new carrier tone maps to be transmitted to the transmitter at 318.
The frequency responses may be characterized by the expression: y=Hx+n and x=Wu, where y corresponds to the received beamformed signal and H corresponds to the channel frequency response. Furthermore, n corresponds to receive port noise, and x corresponds to the beamformed transmit signal. W corresponds to the beamforming matrix, and u corresponds to the input transmit signals. In such a configuration, the channel frequency response values (H) comprises frequency response values for each of the signal paths in the MIMO channel. The beamforming matrix (W) comprises beamforming coefficients for each of the SM data streams.
In one embodiment, the receiver also determines non-beamformed SNR estimates for each of the SM data streams (block 406). For example, the non-beamformed SNR values may be calculated based on comparisons of QAM constellations between the received and transmitted signals. Furthermore, the SNR estimates for each SM data stream may comprise SNR values corresponding to carrier frequencies for each of the respective SM data streams (i.e., carrier SNRs). Next, at blocks 408-412, the receiver may commence an SNR estimate process. In one embodiment, the receiver compares the beamforming information for each of the SM data streams (block 408). For example, the receiver may compare the beamforming Eigenvalue of one SM data stream with the beamforming Eigenvalue of another SM data stream. At block 410, the receiver can determine one or more SNR variation factors based, at least in part, on the comparison(s) at block 408. Next, the receiver may adjust (i.e., increase or decrease) the non-beamformed SNR values based, at least in part, on the SNR variation factors (block 412). For example, the beamforming information comparison at block 408 may reveal a differential between the beamforming Eigenvalues of two SM streams (i.e., differential between respective Eigenvalues). The differential may be used by the receiver to determine an increment (variation factor) by which to increase or decrease the determined non-beamformed SNRs for one or both of the data streams. The adjustment at block 412 results in SNR estimates for each of the respective data streams.
At block 414, the receiver may generate carrier tone maps for one or more of the SM streams based on the SNR estimates. For example, the SNR estimates may be used to determine a bit loading (i.e., bit rate) value that may be used, in part, to generate the carrier tone map. Next, the receiver may transmit channel state information including the beamforming coefficients and the carrier tone maps to the transmitter that sent the non-beamformed sounding packet(s) (block 416). Sounding may terminate with the transmitter receiving and processing the channel state information. At block 418, the transmitter may commence beamformed communications by applying the beamformed coefficients to beamform and transmit data streams received on at least two signal paths by the receiver. At block 420, the receiver may determine SNR values of the beamformed data streams to generated beamformed SNR values which may be used to modify the carrier tone maps (block 422). The modified carrier tone maps may then be fed back to the transmitter to achieve optimal beamformed MIMO transmission quality.
The MIMO receiver 510 includes components (e.g., hardware, instructions, etc.) to implement functionality described above with reference to
As will be appreciated by one skilled in the art, aspects of the disclosed subject matter may be embodied as a system, method or computer program product. Accordingly, embodiments of the disclosed subject matter may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all be referred to herein as a “circuit,” “module,” or “system.” Furthermore, embodiments of the disclosed subject matter may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
It should be understood that