Parallel channels, such as those found in multiple input multiple output (MIMO) wireless communications, can be exploited to improve some characteristics of data transmission, such as bit error rate and/or data rate, by sending different data streams over different channels. In MIMO systems, spatial multiplexing decomposes a MIMO channel into separate spatial channels. The signal-to-noise ratio (SNR) on each spatial channel depends on the singular value decomposition of the MIMO channel matrix. In particular, the SNR of a spatial channel is proportional to its associated singular value.
A stream sent over a spatial channel with a large SNR can typically support higher data rates than a stream sent over a spatial channel with a small SNR with all other performance characteristics (such as bit error rate) staying the same. To take advantage of different SNRs per spatial channel, MIMO systems may adapt the modulation and coding of each spatial channel to its SNR. For example, the 802.11n standard allows different modulation and coding values to be assigned to different spatial data streams.
The complexity associated with having different modulation and coding for different spatial streams causes some systems to keep the modulation and coding the same for all spatial streams. In other words, in such MIMO systems the same modulation and coding would be used on all spatial channels. However, when modulation and coding is the same for all spatial channels/streams, performance can suffer. Specifically, in such systems the modulation and coding choice can be conservative (i.e. small signal constellations and/or high code rates) to keep the bit error rate low on all spatial channels, but then data throughput may suffer since larger constellations or small code rates on spatial channels with large SNRs could increase throughput. Alternatively, the modulation and coding choice on all spatial channels can be aggressive (i.e. large signal constellations or low code rates) to make the data rate high, but then the bit error rate on spatial channels will be high, which may reduce overall throughput and/or increase delay.
These types of issues are applicable to both MIMO wireless communications systems and other parallel channel configurations, such as systems that implement orthogonal frequency division multiplexing (OFDM) and systems implementing parallel physical cables. For OFDM systems, a modulator modulates over multiple frequencies (and demodulates upon receipt), while in a parallel physical cable system, a multiplexor multiplexes over multiple physical cables (and demultiplexes upon receipt).
The following is described and illustrated in conjunction with systems, tools, and methods that are meant to be exemplary and illustrative, not limiting in scope. In various embodiments, one or more of the above-described problems have been reduced or eliminated, while other embodiments are directed to other improvements.
Symbol mixing across multiple input multiple output (MIMO) parallel channels includes averaging out the singular values associated with multiple spatial streams by sending weighted sums of the coded/modulated data (data symbols) over each spatial channel. That way each data symbol is transmitted over an effective channel with a weighted sum of the singular values associated with all spatial channels. By averaging the singular values over all parallel channels, there is much less of a penalty associated with a single choice of modulation and coding on the data symbols, since all transmitted symbols experience roughly the same signal to noise ratio (SNR) in transmission.
These techniques are applicable to known or convenient parallel channel systems that do not incorporate MIMO, such as orthogonal frequency division multiplexing (OFDM) systems and systems implementing multiple parallel cables. For example, although the channels of a system implementing parallel cables are largely static, priority weighting of bits can be dynamic.
Examples of the claimed subject matter are illustrated in the figures.
In the following description, several specific details are presented to provide a thorough understanding of examples of the claimed subject matter. One skilled in the relevant art will recognize, however, that one or more of the specific details can be eliminated or combined with other components, etc. In other instances, well-known implementations or operations are not shown or described in detail to avoid obscuring aspects of the claimed subject matter.
In the example of
In this example, the meaning of “one-size-fits-all” is that the data bits use, for example, the same multiplexing or modulation and coding configuration, to allocate data bits to the multiple parallel channels. The configuration can vary depending upon the implementation. For example, the configuration could be a design choice made at the time of manufacture. In systems with dynamically changing channel characteristics, it may be desirable to change the configuration based upon channel estimation. In such a case, the configuration is uniform for a first group of data bits received in a time period 0, but can change over time for a second group of data bits received in a time period 1. So the channel allocation remains “one-size-fits-all” for a particular group of data bits, but can be referred to as a dynamic configuration in that the configuration can change over time in response to dynamically changing channel characteristics.
In the example of
In this paper, symbol mixing refers to the transformation of X to V, where each vi of V=[v1, . . . vN] is a function of a subset of X=xk=αDkVH,k,1FNsXk where constant α=(P/N)1/2 is chosen to satisfy per-channel power constraints, Dk is chosen such that the average power per-antenna and per-tone is constant, VH,k,1 is Mt×Ns matrix consisting of the 1st Nx columns of the right singular matrix VH,k, and FNs is a mixing matrix. For per-channel, per-tone singular value decomposition (SVD) scaling, Dk=diag((VH,k,1V*H,k,1)1,1−1/2, . . . , (VH,k,1V*H,k,1)Mt,Mt−1/2). For per-channel, SVD scaling across all tones Dk=diag(P1/2ΣN−1k=0(VH,k,1V*H,k,1)1,1−1/2, . . . , P1/2(ΣN−1k=0(VH,k,1V*H,k,1)Mt,Mt−1/2). It may be noted that for OFDM, Vk=[V1k, . . . , VNk], but for illustrative simplicity, V is described in this paper with the understanding that one of skill in the relevant art would understand that OFDM uses slightly different formulae.
Although any applicable convenient technique can be used, SVD is a common beamforming technique that is typically used in MIMO wireless systems. Alternatively, under a per-channel power constraint symbols can be transmitted at a limit of allowed transmit power. For example, the optimal performance may be based on trying to equalize the effective SNR on each data symbol, maximizing throughput, meeting delay constraints, meeting robustness constraints, or some combination of these. The linear combination of [x1, . . . , xR] may take into account data priorities so that high priority data has larger weights than low priority data.
Using spatial symbol mixing, each element in X can be sent over multiple spatial channels, thereby experiencing the average signal to noise ratio (SNR) associated with each of the spatial channels. Advantageously, when used in combination with a one-size-fits-all channel allocation block, it is not necessary to be conservative and use channel parameters for the worst channel for each of the data symbols xi, which is associated with reduced performance because of the inability to take advantage of the relatively good channels, or to be aggressive and use channel parameters for the best channel—or at least a channel that is not the worst—and risk an increased incidence of errors.
The symbol mixing block 104 can use bit priorities and channel characteristics to identify the most suitable channels over which to mix bits. In particular, high priority data bits can be mixed across channels with high SNRs such that the averaged SNR after symbol mixing is high, while low priority data bits can be mixed across channels with low SNRs such that the averaged SNR after symbol mixing is low, thereby reducing the probability of error and/or delay of the high priority data bits. Even where dynamic channel estimation is not particularly valuable, such as with multiple parallel channels implemented with multiple physical cables, this method of mixing high priority data bits over the high-SNR channels and low-priority data bits over the low-SNR channels can be used to provide different performance to the different classes of bits. It should be understood that high priority is relative to low priority, rather than some absolute standard even in systems that have specific designations (e.g., if “high priority” is defined for a particular protocol that has an even higher priority designation, such as “voice priority,” low priority in this paper could refer to data that is defined as “high priority” when other data has a “voice priority” designation). Bit priorities can also enable sending data in accordance with acceptable probability of error. Depending upon the implementation and/or configuration, this may or may not result in lower priority bits being dropped if in order to meet the performance requirements of the high priority bits, these bits needed to be mixed across all parallel channels, leaving no additional channels over which to send the low priority bits. This could also result in no bits being sent if acceptable probability of error requirements cannot be met after mixing over all parallel channels (perhaps triggering an attempt to reroute the data path, if circumstances permit).
When implemented with a channel estimation block 108, the symbol mixing block 104 maps the vector of data symbols, X, into a vector of transmit symbols, V, in accordance with estimated channel parameters from the channel estimation block 108. This can facilitate improved performance relative to transmit power constraints and time-variable channel characteristics. Thus, data symbols can be mapped differently when channel characteristics change. When used in conjunction with bit prioritization, channel estimation enables multi-dimensional mapping functionality that takes into account both bit priorities and channel characteristics (as well as, in some embodiments, default mapping preferences).
In the example of
The spatial mapping and transforming beamforming block 202 and the Tx antennae array 204 can be implemented on a wireless station. A station, as used in this paper, may be referred to as a device with a media access control (MAC) address and a physical layer (PHY) interface to a wireless medium that complies with the IEEE 802.11 standard. In alternative embodiments, a station may comply with a different standard than IEEE 802.11, or no standard at all, may be referred to as something other than a “station,” and may have different interfaces to a wireless or other medium. IEEE 802.11a-1999, IEEE 802.11b-1999, IEEE 802.11g-2003, IEEE 802.11-2007, and IEEE 802.11n TGn Draft 8.0 (2009) are incorporated by reference. As used in this paper, a system that is 802.11 standards-compatible or 802.11 standards-compliant complies with at least some of one or more of the incorporated documents' requirements and/or recommendations, or requirements and/or recommendations from earlier drafts of the documents.
In the example of
In the example of
Equalizers can be linear or non-linear. The most common linear equalizer is a minimum mean-square error (MMSE) equalizer, which achieves good performance with relatively low complexity. This or some other applicable convenient technology can be implemented, but the MMSE equalizer is used here as an example. It should initially be recognized that ykC1/2Hxxk+nk=C1/2Heff,kXk=nk, where C is the path power gain (includes reciprocal of path loss & shadowing power gain) and Heff,k is effective Mr×Ns channel. Average SNR across signal bandwidth per receive antenna: SNR=C*Mt*P/(N*N0). SINR for tone k and stream I using an MMSE equalizer: SINRk,lMMSE={[(I+H*eff,kHeff,kC/N0)−1]l,l}−1−1, k=0, . . . , N−1, I=1, . . . , Ns.
Referring once again to the example of
In the example of
In the example of
In an embodiment, the system 100 can operate with or without symbol mixing depending upon implementation, configuration, and/or environmental variables. When operating without symbol mixing, applicable known or convenient spatial mapping and transmit beamforming techniques can be implemented. Some examples of transmit beamforming techniques without symbol mixing include SVD; per-antenna, per-tone SVD scaling; and per-antenna, SVD scaling across all tones. These techniques are generally associated with different per tone signal to interference-plus-noise ratio (SINR).
As a second example, consider transmit beamforming without symbol mixing: per-antenna, SVD scaling across all tones.
As the third example, use per-antenna, per-tone scaling with stream DFT.
As the fourth example, use per-antenna scaling across all tones with stream DFT.
In the example of
In the example of
In the example of
In the example of
In the example of
In the example of
In the example of
With reference to
Systems described herein may be implemented on any of many possible hardware, firmware, and software systems. Algorithms described herein are implemented in hardware, firmware, and/or software that is implemented in hardware. The specific implementation is not critical to an understanding of the techniques described herein and the claimed subject matter.
As used in this paper, an engine includes a dedicated or shared processor and, hardware, firmware, or software modules that are executed by the processor. Depending upon implementation-specific or other considerations, an engine can be centralized or its functionality distributed. An engine can include special purpose hardware, firmware, or software embodied in a computer-readable medium for execution by the processor. As used in this paper, the term “computer-readable storage medium” is intended to include only physical media, such as memory. As used in this paper, a computer-readable medium is intended to include all mediums that are statutory (e.g., in the United States, under 35 U.S.C. 101), and to specifically exclude all mediums that are non-statutory in nature to the extent that the exclusion is necessary for a claim that includes the computer-readable medium to be valid. Known statutory computer-readable mediums include hardware (e.g., registers, random access memory (RAM), non-volatile (NV) storage, to name a few), but may or may not be limited to hardware.
As used in this paper, the term “embodiment” means an embodiment that serves to illustrate by way of example but not necessarily by limitation.
It will be appreciated to those skilled in the art that the preceding examples and embodiments are exemplary and not limiting to the scope of the present invention. It is intended that all permutations, enhancements, equivalents, and improvements thereto that are apparent to those skilled in the art upon a reading of the specification and a study of the drawings are included within the true spirit and scope of the present invention. It is therefore intended that the following appended claims include all such modifications, permutations and equivalents as fall within the true spirit and scope of the present invention.
This application claims priority to U.S. Provisional Patent Application No. 61/101,961, filed on Oct. 1, 2008, and which is incorporated by reference.
Number | Date | Country | |
---|---|---|---|
61101961 | Oct 2008 | US |