[go: up one dir, main page]

HK1207489B - Methods and apparatuses for multi-antenna transmission for spatial division multiple access - Google Patents

Methods and apparatuses for multi-antenna transmission for spatial division multiple access Download PDF

Info

Publication number
HK1207489B
HK1207489B HK15107938.3A HK15107938A HK1207489B HK 1207489 B HK1207489 B HK 1207489B HK 15107938 A HK15107938 A HK 15107938A HK 1207489 B HK1207489 B HK 1207489B
Authority
HK
Hong Kong
Prior art keywords
transmitting entity
transmitting
entity
channel response
symbol streams
Prior art date
Application number
HK15107938.3A
Other languages
Chinese (zh)
Other versions
HK1207489A1 (en
Inventor
J.罗德尼.沃尔顿
约翰.W.凯彻姆
约翰.爱德华.斯米
马克.S.华莱士
史蒂文.J.霍华德
Original Assignee
高通股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/719,802 external-priority patent/US7298805B2/en
Application filed by 高通股份有限公司 filed Critical 高通股份有限公司
Publication of HK1207489A1 publication Critical patent/HK1207489A1/en
Publication of HK1207489B publication Critical patent/HK1207489B/en

Links

Description

Method and apparatus for multi-antenna transmission for space division multiple access
The present application is a divisional application of a patent application having an application date of 2004, 11/12, entitled "space division multiple access multiple antenna transmission," application No. 200480040710.1.
Technical Field
The present invention relates generally to data communications, and more particularly to multi-antenna transmission for Spatial Division Multiple Access (SDMA) in a Multiple Input Multiple Output (MIMO) communication system.
Background
For data transmission, MIMO systems employ multiple (N)T) Transmitting antenna and a plurality of (N)R) And a receiving antenna. May be composed of NTA transmitting antenna and NRMIMO channel composed of multiple receiving antennas is decomposed into NSA spaceChannel of which NS≤min{NT,NR}. N may be usedSOne spatial channel transmitting NSIndividual data streams in order to achieve greater overall throughput.
In a multiple-access MIMO system, an access point may communicate with one or more user terminals at any given moment. If the access point communicates with a single user terminal, then NTOne transmitting antenna is associated with one transmitting entity (access point or user terminal), and NROne receive antenna is associated with one receiving entity (user terminal or access point). The access point may also communicate with multiple user terminals simultaneously via SDMA. For SDMA, the access point employs multiple antennas for data transmission and reception, and each user terminal typically employs one antenna for data transmission and multiple antennas for data reception.
Some key challenges for SDMA in multiple access MIMO systems are: (1) selecting a suitable group of user terminals for simultaneous transmission; and (2) transmitting data to and/or from each selected user terminal in a manner that achieves good system performance. Accordingly, there is a need in the art for techniques to efficiently support SDMA for multiple access MIMO systems.
Disclosure of Invention
Techniques for performing multi-antenna transmission for SDMA in a MIMO system are described herein. These techniques may be used in conjunction with various wireless techniques, such as Code Division Multiple Access (CDMA), Orthogonal Frequency Division Multiplexing (OFDM), Time Division Multiple Access (TDMA), and so on. For uplink transmissions by multiple user terminals to a single access point, an uplink channel response matrix is obtained for each active user terminal (e.g., a terminal that desires to transmit on the uplink), and the uplink channel response matrix is decomposed to obtain steering vectors (steering vectors) for that user terminal. If a user terminal is selected for uplink transmission, each user terminal uses its steering vector for spatial processing to transmit on the uplink. A "valid" uplink channel response vector is constructed for each user terminal based on the steering vector for that user terminal and the uplink channel response matrix.
For each scheduling interval (e.g., each time slot), groups of active user terminals are formed and evaluated based on their effective channel response vectors (or their channel response matrices) to determine the best group of N for uplink transmissions in that scheduling intervalupAnd a user terminal. For example, the user group with the highest overall throughput may be selected. In practice, spatial signature (spatial signature) of the user terminals and multi-user diversity are employed, as described below, to select a "spatially compatible" group of user terminals for simultaneous transmission on the uplink. The same or different number of user terminals may be selected for uplink transmission in different scheduling intervals.
Each user terminal selected for uplink transmission processes its data stream in accordance with a basic radio technology (e.g., CDMA, OFDM, or TDMA) to obtain a data symbol stream. Each user terminal also spatially processes its data symbol stream with its steering vector to obtain a set of transmit symbol streams, one for each antenna at the user terminal. Each user terminal then transmits its transmit symbol stream from its multiple antennas through its MIMO channel to the access point. N is a radical ofupThe selected user terminals simultaneously transmit their N to the access point via their respective MIMO channelsupOne data symbol stream (e.g., one data symbol stream per terminal). The access point obtains a plurality of received symbol streams from its plurality of antennas. The access point then performs receiver spatial processing on the received symbol stream in accordance with linear or non-linear receiver spatial processing techniques, as described below, to recover the symbol stream represented by NupN sent by selected user terminalupA stream of data symbols.
Techniques for supporting SDMA transmission on the downlink are also described herein. Various aspects and embodiments of the invention are described in more detail below.
Drawings
Fig. 1 shows a multiple access MIMO system;
FIG. 2 shows a process for multi-antenna transmission on the uplink for SDMA;
FIG. 3 illustrates a process for evaluating and selecting user terminals for simultaneous transmission on the uplink;
fig. 4 shows a block diagram of an access point and two user terminals;
FIGS. 5A and 5B show block diagrams of Transmit (TX) data processors for CDMA and OFDM, respectively;
fig. 6 shows spatial processing at an access point and one user terminal for downlink and uplink transmissions;
FIG. 7 shows a receive spatial processor and a receive data processor; and
fig. 8 shows a controller and scheduler at an access point.
Detailed Description
The word "exemplary" is used herein to mean "serving as an example, instance, or illustration. Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
The multi-antenna transmission techniques described herein may be used in conjunction with various wireless technologies such as CDMA, OFDM, TDMA, etc. Multiple user terminals may simultaneously transmit/receive data through different (1) orthogonal code channels for CDMA, (2) time slots for TDMA, or (3) subbands for OFDM. A CDMA system may employ IS-2000, IS-95, IS-856, wideband CDMA (W-CDMA), or some other standard. An OFDM system may employ IEEE 802.11 or some other standard. A TDMA system may employ GSM or some other standard. These various standards are known in the art. As described below, spatial processing for multi-antenna transmission may be performed (before or after) in addition to data processing for the underlying wireless technology.
Fig. 1 shows a multiple access MIMO system 100 with an access point and user terminals. For simplicity, only one access point 110 is shown in fig. 1. An access point is generally a fixed station that communicates with the user terminals and may also be referred to as a base station or some other terminology. A user terminal may be fixed or mobile and may also be referred to as a mobile station, a wireless device, or some other terminology. At any given moment, access point 110 may communicate with one or more user terminals 120 on the downlink and uplink. The downlink (i.e., forward link) is the communication link from the access points to the user terminals, and the uplink (i.e., reverse link) is the communication link from the user terminals to the access points. A user terminal may also be in peer-to-peer communication with another user terminal. A system controller 130 is connected to the access points and provides regulation and control for the access points.
System 100 employs multiple transmit antennas and multiple receive antennas for data transmission on the downlink and uplink. Providing access point 110 with NapAnd the access point represents a plurality of inputs (MI) for downlink transmission and a plurality of outputs (MO) for uplink transmission. A group of NuThe selected user terminals 120 collectively represent a plurality of outputs for downlink transmissions and a plurality of inputs for uplink transmissions. For pure SDMA, N is not coded, frequency, or time in some way if not alreadyuThe data symbol streams of the individual user terminals are multiplexed, then it is desirable to have Nap≥NuNot less than 1. N if the data symbol streams can be multiplexed using different code channels for CDMA, disjoint groups of subbands for OFDM, etcuMay be greater than Nap. Each timeThe selected user terminal transmits and/or receives user-specific data to and/or from the access point. Typically, each selected user terminal may be equipped with one or more antennas (i.e., N)ut≥1)。NuThe selected user terminals may have the same or different numbers of antennas.
System 100 may be a Time Division Duplex (TDD) system or a Frequency Division Duplex (FDD) system. For a TDD system, the downlink and uplink share the same frequency band. For FDD systems, the downlink and uplink use different frequency bands. MIMO system 100 may also employ a single carrier or multiple carriers for transmission. For simplicity, the following description assumes (1) that system 100 is a single carrier system and (2) that each user terminal is equipped with multiple antennas. For clarity, data transmission on the uplink is described below.
By N at the access pointapAntenna and N at designated user terminal mut,mThe uplink MIMO channel composed of multiple antennas may be composed of Nap×Nut,mChannel response matrixH up,mTo express its characteristics, canH up,mExpressed as:
wherein for i 1apN and j ═ 1ut,mTerm h ofi,jIs the coupling (i.e., complex gain) between the access point antenna i and the user terminal antenna j. For simplicity, the MIMO channel is assumed to be non-dispersive (i.e., flat fading) and to be at a single complex gain hi,jTo represent the coupling between each transmit antenna and receive antenna pair. Typically, each user terminal is associated with a different uplink channel response matrix, where the uplink channel response matrix has dimensions determined by the number of antennas at that user terminal.
Uplink to user terminal m may be decomposed using singular value or eigenvalue decompositionLink channel response matrixH up,mDiagonalization is performed to obtainH up,mN of (A)mAn eigenmode.H up,mThe singular value decomposition of (a) can be expressed as:
wherein the content of the first and second substances,U up,mis thatH up,mN of the left eigenvector of (1)ap×NapUnitary matrix (unity matrix);
Σ up,mis thatH up,mN of singular value ofap×Nut,mA diagonal matrix;
V up,mis thatH up,mN of the right eigenvector ofut,m×Nut,mA unitary matrix; and is
"H" represents a conjugate transformation.
By attributeM H MITo represent a unitary matrixMIs characterized in thatIIs an identity matrix. The columns of the unitary matrix are orthogonal to each other.
To pairH up,mThe eigenvalue decomposition of the correlation matrix of (a) can be expressed as:
wherein the content of the first and second substances,R up,mis thatH up,mN of (A)ut,m×Nut,mA correlation matrix; and is
Λ up,mIs thatR up,mN of the characteristic value ofut,m×Nut,mA diagonal matrix.
Singular value decomposition and eigenvalue decomposition are known in the art and are described, for example, below: "Linear Algebra and Its Applications" by Gilbert Strang, second edition, Academic Press, 1980.
As shown in the formula (2) and the formula (3),V up,mis thatH up,mRight eigenvector andR up,mthe eigenvectors of (a).H up,mIs also referred to as a "steering" vector and may be used by user terminal m for spatial processing, e.g., in a cellH up,mN of (A)mData is transmitted on one eigenmode. Eigenmodes can be considered as orthogonal spatial channels obtained by decomposition.
Diagonal matrixΣ up,mIncluding non-negative real numbers along the diagonal and 0's at other locations. These diagonal terms are known asH up,mAnd represents the singular value ofH up,mN of (A)mChannel gain of the eigenmodes.Σ up,mThe singular value ofΛ up,mThe square root of the median eigenvalue. Can be paired in order from maximum to minimumΣ up,mAnd may be sorted accordinglyV up,mThe eigenvectors in (a) are ordered. The dominant (i.e., dominant) eigenmode isΣ up,mIs the first singular value after sorting.H up,mThe eigenvectors of the principal eigenmodes of (1) are orderedV up,mAnd is represented asv up,m
In a practical system, only pairs may be obtainedH up,mAnd only pairs can be derivedV up,mΣ up,mAndU up,mis estimated. For simplicity, the description herein assumes that the channel estimation and decomposition is performed error-free.
Using SDMA, NupThe user terminals may transmit data to the access point simultaneously on the uplink. Each user terminal performs spatial processing on its data using the steering vector, and may(1) Eigenvectors based on the dominant eigenmodes of the wireless channel for that terminalv up,mOr (2) derive the steering vector in some other way. As described below, NupEach of the individual user terminals may transmit data on the dominant eigenmodes of its uplink MIMO channel using "beam-forming" or "beam-steering".
1. Beamforming
For beamforming, each user terminal m has its steering vectorV up,mFor its data symbol stream sup,mCarry out spatial processing to obtain Nut,mA stream of transmit symbols, as follows:
x up,mv up,m·sup,min the formula (4)
Wherein s isup,mIs a data symbol to be transmitted by user terminal m; and is
x up,mIs to be transmitted from N at user terminal mut,mWith N transmitted by one antennaut,mN of one transmitted symbolut,m× 1 vector.
As used herein, "data symbols" refer to modulation symbols for data, and "pilot symbols" refer to modulation symbols for pilot. Although not shown in equation (4) for simplicity, each user terminal m may also use a scaling factor GmFor vectorx up,mN in (1)ut,mEach of the transmitted symbols is adjusted so that N isut,mThe total energy of the transmitted symbols is in units of 1(unity) or some other selected value. Each user terminal m sends its N to the access point via its uplink MIMO channelut,mA stream of transmit symbols.
At the access point, the received symbols obtained for each user terminal m may be represented as:
r up,mH up,m x up,m+n up,mH up,mvup,msup,m+n up,mh up,eff,msup,m+n up,min the formula (5), wherein,r up,mis from NapAcquired by an access point having N for a user terminal mapN of received symbolsap× 1 vector quantities;
h up,eff,mis N of user terminal map× 1 "effective" uplink channel response vector, which ish up,eff,mH up, m v up,m(ii) a And is
n up,mIs N of user terminal map× 1 noise vector.
The spatial processing by each user terminal m effectively has it a channel response matrixH up,mFor transforming a MIMO channel to have a channel response vectorh up,eff,mSingle Input Multiple Output (SIMO) channel.
For all NupThe symbols received at an access point for a simultaneously transmitted user terminal may be represented as:
wherein the content of the first and second substances,s upis composed of NupN sent by each user terminalupN of one data symbolup× 1 vector of
H up,effIs all NupN of individual user terminalsap×NupAn effective uplink channel response matrix ofAnd is
n upIs N at the access pointap× 1 noise vector.
The access point may recover from N using various receiver processing techniquesupN sent by each user terminalupSuch as a Channel Correlation Matrix Inversion (CCMI) technique, also commonly referred to as a zero-forcing (zero-forcing) technique, a Minimum Mean Square Error (MMSE) technique, a Successive Interference Cancellation (SIC) technique, and so forth.
A. CCMI spatial processing
For the CCMI technique, the access point performs receiver spatial processing as follows:
wherein the content of the first and second substances,M ccmiis N for CCMI technologyup×NapA spatial filter matrix ofWherein
Is for N with CCMI techniqueupOf a subscriber terminal having NupN of recovered data symbolsup× 1 vector, and
n ccmiM ccmi n upis the CCMI filtered noise.
For simplicity, noise is assumedn upIs Additive White Gaussian Noise (AWGN) withHas zero mean and varianceSum auto-covariance matrixWherein E [ x ]]Is the expected value of x. In this case, the recovered data symbol stream for each user terminal mThe signal-to-noise-and-interference ratio (SINR) of (A) can be expressed as:
wherein, Put,mIs the transmit power used by user terminal m;
rmmis thatR up,effThe mth diagonal element of (1); and is
γccmi,mIs the SINR of user terminal m with CCMI technique.
Due to the fact thatR up,effThe CCMI technique can amplify noise.
B. MMSE spatial processing
For MMSE technique, a spatial filter matrix is obtainedM mmseSo that the estimated data vectors and data vectors from the MMSE spatial filters upThe mean square error between them is minimized. The MMSE criterion can be expressed as:
wherein the content of the first and second substances,M mmseis N for MMSE techniqueup×NapA spatial filter matrix.
A solution to the optimization problem set forth in equation (9) can be obtained in various ways. In one exemplary method, an MMSE spatial filter matrix is obtained as followsM mmse
Spatial filter matrixM mmseIncluding for NupN of individual user terminalsupN of line vectors of MMSE spatial filterupAnd (6) rows. The MMSE spatial filter row vector for each user terminal can be represented asWherein
The access point performs receiver spatial processing as follows:
wherein the content of the first and second substances,D mmseis Nup×NupA diagonal matrix whose diagonal elements areM mmse H up,effDiagonal elements of, i.e.D mmse=diag[M mmse H up,eff];
Is N for MMSE techniqueup× 1 a recovered data symbol vector, and
n mmseM mmse n upis MMSE filtered noise.
In equation (11), the MMSE spatial filter provides a pairs upBy a diagonal matrixThe adjustment made provides a pairs upIs estimated by normalization.
Recovered data symbol stream for each user terminal mThe SINR of (d) may be expressed as:
wherein q ismmIs thatM mmse H up,effThe mth diagonal element of (1), i.e. qmmm mmse,m h up,eff,m(ii) a And is
γmmse,mIs the SINR of user terminal m with MMSE technique.
C. Successive interference cancellation spatial processing
The access point may use SIC techniques for NapProcessing the received symbol streams to recover NupA stream of data symbols. For SIC techniques, the access point first pairs NapThe received symbol streams are spatially processed (e.g., using CCMI, MMSE, or some other technique) and a recovered data symbol stream is obtained. The access point may then process (e.g., demodulate/symbol demap, deinterleave, and decode) the recovered data symbol stream to obtain a decoded data stream. The access point then pairs the flow to other Nup-estimating the interference caused by 1 data symbol stream and estimating the interference from NapCancelling in the received symbol stream to obtain NapA modified symbol stream. Subsequently, the access point pair NapThe same process is repeated for each modified symbol stream to recover another data symbol stream.
For SIC techniques, stages(wherein) The input (received or modified) symbol stream of (may be expressed as:
wherein the content of the first and second substances,is for stage l with NapN of input symbolap× 1, and for the first stage,
is for NnrA stream of data symbols but not yet in phaseRecovered Nnr× 1 vector, where N isnr=Nup-l + 1; and is
Is used for the stageN of (A)ap×NnrA reduced effective channel response matrix.
Equation (13) assumes that the preceding elimination is eliminatedThe stream of data symbols recovered in each phase. For each stage of recovering and canceling a data symbol stream, an effective channel response matrixH up,effSuccessively by one column. For the stageBy removing the initial matrixH up,effCorresponding to having been restored in a previous stageOf a stream of data symbolsColumns to obtain a reduced effective channel response matrixNamely, it isWhereinIs a user terminal jnN of (A)ap× 1 effective channel response vector for phaseRecovered in a preceding stageThe data symbol streams are given subscriptsBut not yet recovered NnrThe data symbol streams are given subscripts
For the stageAccess points are based on reduced effective channel response matrices using CCMI, MMSE, or some other technique(rather than the initial matrix)H up,eff) To obtain Nnr×NapSpatial filter matrixDue to each stageAre different, so the spatial filter matrix of each stageAs well as different.
The access point will be for NapVector of modified symbol streamAnd spatial filter matrixMultiplying to obtain a value for NnrVector of detected symbol streamThe following were used:
wherein the content of the first and second substances,and isIs for the stageThe filtered noise of (2). The access point then selects NnrOne of the detected symbol streams is used for recovery, where the selection criteria may be based on SINR and/or other factors. For example, one may choose to be at NnrThe detected symbol stream with the highest SINR among the detected symbol streams is used for recovery. Since only one data symbol stream is recovered in each phase, the access point can only get information about what phase is going to be inIn the recovered data symbol stream1 × NapLine vector of spatial filterLine vectorIs a matrixOne row of (a). In this case, the stageTo a stream of data symbolsThe spatial processing to recover can be expressed as:
wherein the content of the first and second substances,is corresponding to a data symbol streamIs/are as followsThe row(s).
In any case, the access point pairs the detected symbol streamMaking adjustments to obtain a recovered data symbol streamAnd further on the streamDemodulating, deinterleaving and decoding to obtain a decoded data streamThe access point also forms an estimate of the interference that the stream causes on other unrecovered data symbol streams. For estimating interference, an access point communicates with a user terminalTo the decoded data stream in the same way as the processing to be performedRecoding, interleaving and modulating, and obtaining a 'remodulated' symbol streamIs to the data symbol stream just recoveredIs estimated. Subsequently, the access point and the user terminalEffective channel response vector ofSpatially processing the remodulated symbol stream to obtain a stream having N caused by the streamapVector of interference componentsThen, from the pair stageN of (A)apA modified symbol streamMinus NapAn interference componentIn order to obtain a new phaseN of (A)apA modified symbol streamNamely, it isIf the data symbol stream has not been transmittedThen the modified symbol streamRepresenting the stream to be received by the access point (i.e., assuming interference cancellation is effectively performed).
Access point is at NupProcessing N in successive stagesapA received symbol stream. For each phase, the access point performs the following operations: (1) to NapMultiple received symbol streams or N from a previous stageapReceiver spatial processing the modified symbol stream to obtain a recovered data symbol stream, (2) processing the recovered data symbol stream to obtain a corresponding decoded data stream, (3) estimating and canceling interference caused by the stream, and (4) obtaining N for the next stageapA modified symbol stream. If the interference caused by each data stream can be accurately estimated and canceled, then the later recovered data stream experiences less interference and a higher SINR can be achieved.
For SIC techniques, the SINR of each recovered data stream depends on: (1) the spatial processing technique used for each stage (e.g., CCMI or MMSE), (2) the particular stage in which the data symbol stream is recovered, and (3) the amount of interference caused by the data symbol stream being recovered in the subsequent stage. In general, since interference from a data symbol stream recovered in a previous stage is canceled, SINR gradually increases for a data symbol stream recovered in a subsequent stage. This then allows a higher rate to be used for the data symbol stream that is later recovered.
2. Beam steering
For beam steering, each user terminal m uses a normalized steering vectorThe space treatment is carried out, and the space treatment is carried out,is using guide vectorsv up,mThe phase information in (1) is obtained. Normalized guide vectorCan be expressed as:
where, a is a constant (e.g.,and is
θm,iIs the phase of antenna i at user terminal m, which is:
as shown in the formula (16),n of (A)ut,mThe elements have equal amplitudes. As shown in the formula (17),is equal to each element in phasevup,mPhase of the corresponding element (i.e., from v)up,m,iObtain thetam,iWherein
Each user terminal m uses its normalized steering vectorFor its data symbol stream sup,mCarry out spatial processing to obtain Nut,mA stream of transmit symbols, as follows:
the constant A in equation (16) may be selected so that it is in a vectorN in (1)utmThe total energy of the transmitted symbol streams is in units of 1 or some other selected value. N per user terminal m with beam steeringap× 1 valid uplink channel response vectorCan be expressed as:
then, for all N used for beam steeringupN of individual user terminalsap×NupEfficient uplink channel response matrixIs that
The access point may use the CCMI, MMSE, or SIC techniques described above, or some other technique for receiver spatial processing. However, in a matrixRather than a matrixH up,effTo obtain a spatial filter matrix.
3. SDMA transmission
Fig. 2 shows a process 200 for multi-antenna transmission on the uplink for SDMA. First, an uplink channel response matrix is obtained for each active user terminal desiring to transmit on the uplinkH up,m(block 210). Matrix for each user terminalH up,mIs decomposed so as to beThe user terminal obtains a steering vectorv up,mOr(block 212). Forming an effective uplink channel response vector for each user terminal based on the steering vector and the uplink channel response matrix for that user terminalh up,eff,m(block 214). Blocks 210 through 214 are used for channel estimation and decomposition and may be performed by the access point, the user terminal, or both.
Forming different groups of active user terminals and based on their effective uplink channel response vectorsh up,eff,mOr their uplink channel response matricesH up,mThey are evaluated (block 220). The evaluation may be performed as described below. Selecting an optimal set of N for transmissionupThe user terminal (again block 220). The rate used by each selected user terminal (obtained from the evaluation in block 220) is sent to that user terminal (block 222). Blocks 220 and 222 are for user scheduling and are typically done by the access point.
Each selected user terminal having its steering vectorv up,mOrTo its data symbol stream sup,mIs spatially processed and from it Nut,mOne antenna transmits Nut,mThe symbol streams are sent to the access point via its MIMO channel (block 230). N is a radical ofupThe selected user terminals transmit their N simultaneously to the access point via their MIMO channelupA stream of data symbols. Block 230 provides for data transmission and is performed by each selected user terminal.
Access point from its NapOne antenna obtains NapThe received symbol stream (block 240). The access point then pairs N according to CCMI, MMSE, SIC, or some other techniqueapReceiver spatial processing of the received symbol streams to obtain NupA stream of recovered data symbols, NupThe recovered data symbol streams are paired by NupN sent by selected user terminalupAn estimate of each data symbol stream (block 242). Blocks 240 and 242 are for data reception and are performed by the access point.
Multiple user terminals may be selected for simultaneous transmission on the uplink. The user selection may be based on various factors. Certain factors are associated with system constraints and requirements such as quality of service, maximum latency, average data rate, etc. These factors may be required to satisfy each user terminal. Other factors may be related to system performance, which may be quantified by overall system throughput or some other performance metric. The scheduling scheme may evaluate the user terminals for transmission based on one or more metrics and one or more factors. Different scheduling schemes may use different metrics, take into account different factors, and/or make different tradeoffs between metrics and factors.
Regardless of the particular scheduling scheme selected for use, different groups of user terminals may be evaluated according to the scheduling scheme. The "spatial signature" (e.g., their MIMO channel responses) of individual user terminals and multi-user diversity can be employed to select the "best" set of "spatially compatible" user terminals for simultaneous transmission. Spatial compatibility may be quantified by a metric such as overall throughput or some other performance measure. The best user group may be the user group that achieves the highest score (e.g., highest overall throughput) for the metric while meeting system constraints and requirements.
For clarity, a particular scheduling scheme for selecting user terminals based on overall throughput is described below. In the following description, NactIndividual user terminals are active and desire to transmit data on the uplink.
Fig. 3 shows a process 220a for evaluating and selecting user terminals for transmission on the uplink. Process 220a represents a particular scheduling scheme and mayFor block 220 in fig. 2. First, a variable R for the highest overall throughput will bemaxSet to 0 (block 310).
From NactA new group of user terminals is selected from the active user terminals (block 312). The user group constitutes a precondition to be evaluated andwhere n represents the nth user group being evaluated and un,iIs the ith user terminal in group n. By N in the group NupEffective uplink channel response vector for individual user terminalsToConstructing an effective uplink channel response matrix for a user group nH up,eff,n(block 314).
Then, based on the effective uplink channel response matrixH up,eff,nAnd calculates the SINR for each user terminal in group n using CCMI, MMSE, SIC, or some other technique employed by the access point (block 316). The SINR for user terminals with CCMI and MMSE techniques can be calculated as shown in equations (8) and (12), respectively. The SINR of a user terminal with SIC technology depends on the order in which the user terminals are recovered. For SIC techniques, one or more orders of user terminals may be evaluated. For example, a particular order may be evaluated and the user terminal with the highest SINR in each phase may be processed accordingly by the access point. In any case, N in the group NupSINR of each user terminal is expressed as
The throughput for each user terminal in group n is then calculated based on the SINR for that user terminal (block 318), as follows:
wherein, cn,iIs a positive constant which reflects the intended use of the user terminal un,iPart of the theoretical capacity reached by the coding and modulation scheme used (e.g. for a coding and modulation scheme of 3dB from shannon capacity, c)n,i2) and r) isn,iIs a user terminal un,iIs given in units of bits per second per hertz (bps/Hz). The total throughput R achieved by the user group n can be calculatedn(block 320), as follows:
subsequently, the total throughput R of the user group n is determinednWhether greater than the maximum aggregate throughput that has been reached so far by all user groups that have already been evaluated (block 330). If the answer is yes, then the user group n and the total throughput R for that group are storedn(block 332). Otherwise, user group n is discarded.
It is then determined whether all user groups have been evaluated (block 340). If the answer is yes, the process returns to block 312 to select another set of user terminals for evaluation. Otherwise, the user terminals in the stored set are scheduled for transmission on the uplink (block 342).
For the embodiments described above, theoretical capacity based (albeit with the compensation factor c) is usedn,i) To select the best user group for uplink transmission. In another real-time example, a metric based on achievable throughput is used in order to select the best user group. For this embodiment, the set of users may be estimated based on a set of "rates" supported by the system. These rates can be regarded as quantized values of the throughput calculated in equation (20). Each non-zero rateAssociated with a particular coding and modulation scheme, a particular spectral efficiency (typically given in bps/Hz), and a particular desired SINR. The required SINR for each rate may be determined by computer simulation, experimental measurements, etc. and based on assumptions of the AWGN channel. A look-up table (LUT) may store the supported rate sets and their required SINRs. The SINR of each user terminal is mapped to a selected rate, which is the highest rate among the rates in the look-up table having the required SINR equal to or lower than the SINR of the user terminal. The selected rates for all user terminals in each group are accumulated to obtain an aggregate rate for the group. The user group with the highest aggregate rate is scheduled for transmission.
The different size user groups may be evaluated to determine the best user group for transmission. For example, a group with one user terminal (i.e., N) may be addressed firstup1) and then on a group of two user terminals (i.e. N)up2), etc., and finally with NapGroup of individual subscriber terminals (i.e. N)up=Nap) And (6) estimating.
According to Nup、NactAnd NapMay need to be evaluated over a large number of user groups in order to search for the best user group without omission. The number of user groups to be estimated may be reduced by prioritizing the active user terminals, taking into account other factors, etc. The priority of each active user terminal may be determined based on various factors such as the type of service (e.g., premium or general) of the user terminal, the average throughput achieved by the user terminal, the amount of data that the user terminal must transmit, the delay experienced by the user terminal, etc. The priority of each user terminal may be updated over time to reflect the current state of the user terminal. As an example, only N may be paired in each scheduling intervalapThe highest priority user terminal makes the estimation.
In the exemplary scheduling scheme of fig. 3 described above, the uplink channel response matrix is based only on each user terminalObtaining the effective uplink channel response vector independently (or "locally") for each user terminalForming an effective channel response matrix for each user group n using effective channel response vectors obtained independently for the user terminals in that user groupH up,eff,n. Matrix arrayH up,eff,nVector of(wherein i 1.. N)up) The highest possible total throughput may not be generated for user group n. Multiple sub-hypotheses may be evaluated for each group of users, where different number pairs may be used for each sub-hypothesisH up,eff,nThe vector in (1) is adjusted. For example, for each sub-hypothesis, the phase of the steering vectors for the user terminals in group n may be modified in a deterministic manner (e.g., by adding or subtracting a certain percentage) or in a pseudo-random manner while maintaining the power of each steering vector at unit 1 (i.e., the unit norm of each steering vector).
The scheduling scheme may also be based on the uplink MIMO channel response matrix of the user terminals in each user group nRather than the effective uplink channel response vectorTo evaluate the user group. For all user terminals in a group n, a steering vector may be derived ("globally") for each user terminal in the groupCan be based on (globally derived) steering vectorsAnd an uplink channel response matrixTo calculate an effective uplink channel response vector for each user terminalThe following were used:subsequently, based on the effective uplink channel response vector of the user terminals in user group nForming an effective uplink channel response matrix for the groupH'up,eff,n. Subsequently, using the matrixH'up,eff,n(rather than a matrix)H up,eff,n) The performance (e.g. the total throughput) of the user group n is estimated. As an example, a plurality of sub-hypotheses may be estimated for the user group n, where each sub-hypothesis corresponds to a different set of steering vectors for the user terminals in the group. Subsequently, the best sub-hypothesis is selected for the user group n. Multiple user groups may be evaluated in a similar manner and the best user group selected for uplink transmission.
Various other scheduling schemes may also be employed and are within the scope of the present invention. Different scheduling schemes may take into account different factors in selecting user terminals for each group, may obtain steering vectors for user terminals in different ways, may use other metrics to quantify the performance of each user group, etc.
The uplink channel response matrix for each user terminal m can be variously setH up,mAnd (6) estimating. Different channel response techniques may be used for TDD and FDD systems.
In an FDD system, the downlink and uplink use different frequency bands. Information of a linkThe channel response may be uncorrelated with the channel response of the other link. In this case, the access point may estimate the uplink MIMO channel response for each user terminal based on the pilot transmitted by that user terminal. The access point being dedicated to each user terminalH up,mDecomposing to obtain guide vectorv up,mOrAnd transmitting the steering vectors to each user terminal selected for transmission.
For an FDD system, each user terminal m may send an unguided pilot (or MIMO pilot) to allow the access point to estimate the uplink MIMO channel response and obtain a matrixH up,m. Unguided pilot channel formed by slave Nut,mN transmitted by antenna of subscriber terminalut,mOrthogonal pilot transmissions, where orthogonality may be achieved in time, frequency, coding, or a combination thereof. For code orthogonality, user terminal m simultaneously derives its Nut,mOne antenna transmits Nut,mPilot transmissions from each antenna are "covered" with different orthogonal (e.g., Walsh) sequences. Access point with the same N as used by user terminal mut,mThe orthogonal sequences "decover" the pilot symbols received from each access point antenna i to obtain access point antennas i and Nut,mAn estimate of the complex channel gain between each of the individual user terminal antennas. Coverage at the user terminal and decovering at the access point may be performed in a similar manner as Code Division Multiple Access (CDMA) systems. For frequency orthogonality, N may be transmitted simultaneously on different subbands of the entire system bandut,mN of individual subscriber terminal antennasut,mAnd transmitting the pilot frequency. For time orthogonality, N may be transmitted in different time slotsut,mN of individual subscriber terminal antennasut,mAnd transmitting the pilot frequency. In any case, Nut,mOrthogonality among the individual pilot transmissions allows the access point to distinguish the pilot transmissions from each user terminal antenna.
Multiple user terminals may simultaneously transmit unguided pilots on the uplink to the access point. The pilot transmissions for all user terminals are coded, time and/or frequency orthogonal to allow the access point to estimate the uplink channel response for each user terminal.
In a TDD system, the downlink and uplink share the same frequency band. There is typically a high correlation between the downlink and uplink channel responses. However, the response of the transmit/receive chain at the access point may be different from the response of the transmit/receive chain at the user terminal. If the difference can be determined by calibration and solved by employing a suitable correlation matrix at the access point and/or user terminal, then it can be assumed that all downlink and uplink channel responses are reciprocal (i.e., reciprocal).
For a TDD system, the access point may be from NapEach access point antenna transmits an unguided pilot. Each user terminal m may: (1) processing downlink unguided pilots to obtain downlink MIMO channel response matrix thereofH dn,m(2) estimating the uplink MIMO channel response as a transpose of the downlink MIMO channel response (i.e.) And (3) is based onH up,mObtaining a guide vectorv up,mOrAnd (4) calculating an effective uplink channel response vectorh up,eff,m. Each user terminal may be in direct form (e.g., by transmitting)h up,eff,mTerm (s)) or indirect form (e.g., by sending a pilot that is a steering vector for uplink transmissionv up,mOrGenerated) will vectorh up,eff,mTo the access point.
For clarity, SDMA transmission techniques have been described for uplink transmissions. These techniques may also be used for downlink transmissions. A downlink MIMO channel response matrix may be obtained for each user terminal mH dn,mAnd decomposed to obtain downlink steering vectors for the user terminalsv dn,m. The access point may estimate different sets of user terminals for downlink transmissions (e.g., in a similar manner as described above for the uplink), and select the best set of N for the downlink transmissionsdnAnd a user terminal.
For downlink transmission, the access point is given NdnN of selected user terminalsdnA downlink steering vector pair NdnThe data symbol streams are spatially processed to obtain NapA stream of transmit symbols, as follows:
x dnV dn·s dnin the formula (22), wherein,s dnis provided with NdnN of one data symboldn× 1 vector, NdnData symbols are to be sent to N on the downlinkdnA selected user terminal;
V dnis to have a value for NdnN of selected user terminalsdnN of downlink steering vectorsap×NdnA matrix ofAnd is
x dnIs provided with NapN of one transmitted symbolap× 1 vector, to be driven from NapAn access point antenna transmits the NapAnd a transmit symbol.
The access point may also use a normalized downlink steering vector for beam steeringThe downlink data symbol stream for each user terminal is spatially processed.
If the user terminal is equipped with at least NapAn antenna (i.e. N)ut,m≥Nap) The user terminal may then perform receiver spatial processing using CCMI, MMSE, or some other technique to separate and recover its downlink data symbol stream. If the user terminal is equipped with less than NapAn antenna (i.e. N)ut,m<Nap) The user terminal may then recover its downlink data symbol stream in the presence of crosstalk (crosstalk) from other data symbol streams.
For clarity, SDMA transmission techniques have been described for use in a single carrier narrowband MIMO system with flat fading. These techniques may also be used for wideband MIMO systems and multicarrier MIMO systems. Wideband MIMO systems may employ CDMA as the basic wireless technology. A multi-carrier MIMO system may employ OFDM or some other multi-carrier modulation technique. OFDM effectively partitions the overall system bandwidth into multiple (N)F) Orthogonal subbands. Each subband is associated with a respective carrier that may be modulated with data.
For a MIMO OFDM system, it may be N for each user terminalFEach of the sub-bands is channel estimated to obtain NFN of sub-bandsFA frequency domain channel response matrix. Spatial processing may be performed in various ways. In one embodiment, for NFEach of the channel response matrices is independently decomposed to obtain NFN of sub-bandsFA steering vector. Then, each sub-band is spatially processed with the steering vector obtained for that sub-band. In another embodiment, based on NFEach channel response matrix results in a single frequency independent steering vector for each user terminal. Then, all N are paired with the single steering vectorFThe subbands are spatially processed. In any case, in single or NFEach steering vector forming N for each user terminalFAn effective uplink channel response vectorh up,eff,m(k),k=1...NF. The user terminal may be estimated based on its frequency dependent effective channel response vector.
For wideband MIMO systems, there may be multiple (N) of MIMO channels for each user terminalP) Each of the signal paths may be decomposed to obtain a time-domain channel impulse response matrix. In one embodiment, based on NPObtaining N for each user terminal by each channel impulse response matrixPA steering vector, and the NPThe steering vectors are used to characterize the frequency selectivity of the MIMO channel. In another embodiment, a steering vector is derived for each user terminal, e.g., based on the channel impulse response matrix for the main signal path with the highest energy. In any case, the steering vector(s) can be used to derive one or more effective channel response vectors, which in turn are used to estimate and select user terminals for transmission.
4. Exemplary MIMO System
Fig. 4 shows a block diagram of an access point 110 and two user terminals 120m and 120x in a MIMO system 100. The access point 110 is equipped with N from 424a to 424apapAn antenna. User terminal 120m is equipped with N from 452ma to 452muut,mAn antenna, and user terminal 120x is equipped with N from 452xa to 452xuut,xAn antenna. The access point 110 is a transmitting entity for downlink and a receiving entity for uplink. Each user terminal 120 is a transmitting entity for the uplink and a receiving entity for the downlink. As used herein, a "transmitting entity" is an independently operating device or apparatus capable of transmitting data over a wireless channel, and a "receiving entity" is an independently operating device or apparatus capable of receiving data over a wireless channel. In the following description, the subscript "dn" stands for downlink and the subscript "up" for uplink, N being chosen for simultaneous transmission on the uplinkupA user terminal for simultaneous transmission on the downlinkSelecting NdnIndividual user terminal, NupMay or may not be equal to NdnAnd N isupAnd NdnMay be a static value or may vary for each scheduling interval. For simplicity, beam steering is used in the following description.
On the uplink, at each user terminal 120 selected for uplink transmission, a TX data processor 488 receives traffic data from a data source 486 and control data from a controller 480. TX data processor 488 processes (e.g., encodes, interleaves, and modulates) traffic data { d ] for each user terminal based on a coding and modulation scheme associated with the rate selected for that user terminalup,mAnd provides a stream of data symbols sup,m}. TX spatial processor 490 to direct the vectorsv up,mFor data symbol stream sup,mCarries on space process, multiplexes pilot symbols as needed, and is Nut,mOne antenna provides Nut,mA stream of transmit symbols. As described above, the uplink channel response matrix based on the user terminalsH up,mObtaining a guide vectorv up,m. Each transmitter unit (TMTR)454 receives and processes (e.g., converts to analog, amplifies, filters, and frequency upconverts) a respective transmit symbol stream to generate an uplink signal. N is a radical ofut,mA transmitter unit 454 of slave Nut,mTransmission of one antenna 452 to the access point provides Nut,mAn uplink signal.
For simultaneous transmission on the uplink, N may be pairedupEach user terminal performs scheduling. Each of these user terminals spatially processes its data symbol stream with its steering vector and transmits its set of transmit symbol streams on the uplink to the access point.
At access point 110, N from 424a to 424apapAll N of the antennas transmitting from the uplinkupEach user terminal receives an uplink signal. Each antenna 424 provides a received signal to a respective receiver unit (RCVR) 422. Each receiver unit 422 performsComplementary to that performed by transmitter unit 454, and provides a received symbol stream. RX spatial processor 440 to NapN of receiver unit 422apThe received symbol streams are receiver spatially processed and N is providedupA stream of recovered uplink data symbols. Receiver spatial processing is performed in accordance with CCMI, MMSE, SIC, or some other technique. Receiver spatial processing techniques based on (1) access point usage and (2) NupEffective uplink channel response matrix for individual user terminalsH up,effTo obtain a spatial filter matrix for an access pointM ap. Each recovered uplink data symbol streamIs to the data symbol stream s transmitted by the respective user terminalup,mAnd (4) estimating. RX data processor 442 can then process each recovered uplink data symbol streamThe rate used processes (e.g., demodulates, deinterleaves, and decodes) that stream to obtain the decoded data. The decoded data for each user terminal may be provided to a data sink 444 for storage and/or to controller 430 for further processing.
On the downlink, at access point 110, TX data processor 410 is scheduled for N for downlink transmissionsdnEach user terminal receives traffic data from a data source 408, control data from a controller 430, and possibly other data from a scheduler 434. Various types of data may be sent on different transport channels. TX data processor 410 processes (e.g., encodes, interleaves, and modulates) the traffic data for each user terminal based on the rate selected for that user terminal. TX data processor 410 is NdnIndividual user terminal providing NdnA stream of downlink data symbols. TX spatial processor 420 is clocked by NdnN of individual user terminalsdnMatrix of downlink steering vectorsV dnTo NdnOne downlink data symbol stream is spatially processed, pilot symbols are multiplexed, and NapOne antenna provides NapA stream of transmit symbols. Each transmitter unit 422 receives and processes a respective transmit symbol stream to generate a downlink signal. N is a radical ofapA transmitter unit 422 of slave NapTransmission of one antenna 424 to a user terminal provides NapA downlink signal.
At each user terminal 120, Nut,mAntenna 452 receives N from access point 110apA downlink signal. Each receiver unit 454 processes a received signal from an associated antenna 452 and provides a received symbol stream. RX spatial processor 460 on slave Nut,mN received by receiver unit 454ut,mThe symbol streams are receiver spatially processed and the recovered downlink data symbol streams are provided to the user terminalsReceiver spatial processing is performed in accordance with CCMI, MMSE, or some other technique. Based on (1) the receiver spatial processing technique used by the user terminal and (2) the downlink channel response matrix of the user terminalH dn,mTo obtain a spatial filter matrix for each user terminalM ut,m. An RX data processor 470 processes (e.g., demodulates, deinterleaves, and decodes) the recovered downlink data symbol stream to obtain decoded data for the user terminal.
At each user terminal 120, a channel estimator 478 estimates the downlink channel response and provides downlink channel estimates, which may include channel gain estimates, SINR estimates, etc. Similarly, a channel estimator 428 estimates the uplink channel response and provides an uplink channel estimate. As described above, the steering vectors for the downlink and uplink may be obtained in various ways depending on whether the MIMO system is a TDD system or an FDD system. If a steering vector is obtained by one entity (e.g., an access point) and needed by another entity (e.g., a user terminal), then the one entity sends the steering vector to the other entity.
The controller 480 for each user terminal is typically based on the downlink channel response matrix for that user terminalH dn,mTo obtain a spatial filter matrix for the user terminalM ut,m. Controller 430 is based on the effective uplink channel response matrixH up,effDeriving a spatial filter matrix for an access pointM ap. Controller 480 for each user terminal may send feedback information (e.g., downlink and/or uplink steering vectors, SINR estimates, etc.) to the access point. The controllers 430 and 480 also control the operation of various processing units at the access point 110 and the user terminal 120, respectively.
Fig. 5A shows a block diagram of a TX data processor 410a supporting CDMA. TX data processor 410a may be used for TX data processors 410 and 488 in fig. 4. In TX data processor 410a, an encoder 512 provides data streams { d } for user terminal mmReceives and applies a data stream d based on the coding scheme for the selected ratemEncode and provide code bits. A data stream may carry one or more data packets and each data packet is typically encoded separately to obtain an encoded data packet. The encoding increases the reliability of the data transmission. The coding scheme may include Cyclic Redundancy Check (CRC) coding, convolutional coding, turbo coding, block coding, and the like, or a combination thereof. Channel interleaver 514 interleaves the code bits based on an interleaving scheme. The interleaving provides time, frequency, and/or spatial diversity for the code bits. A symbol mapping unit 516 maps the interleaved bits based on the modulation scheme for the selected rate and provides data symbols. Unit 516 groups each set of B interleaved bits to form a B-bit binary value, where B ≧ 1, and unit 516 is further based on a modulation scheme (e.g., QPSK, M-PSK, or M-QAM, where M ═ 2B) Each B-bit value is mapped to a particular modulation symbol. Each modulation symbol being a signal defined by a modulation schemeComplex values in the constellation.
CDMA modulator 520 performs CDMA modulation. In CDMA modulator 520, a channelizer 522 receives and channelizes the data symbols and pilot symbols onto different code channels. Each code channel is associated with a respective orthogonal sequence, which may be a walsh sequence, an Orthogonal Variable Spreading Factor (OVSF) sequence, or the like. Channelization IS referred to as "coverage" in IS-2000 and IS-95 and "spreading" in W-CDMA. A scrambler 524 receives and spectrally spreads the channelized data with a pseudo-random number (PN) sequence for a plurality of code channels and provides a stream of data chips, which is represented for simplicity as a stream of data symbols { s }m}. Spectral spreading IS referred to as "spreading" in IS-2000 and IS-95 and "scrambling" in W-CDMA. Channelization and spectrum spreading are known in the art and are not described herein.
For the uplink, each data symbol stream is transmitted on a respective code channel, which is obtained by channelization with orthogonal sequences. N is a radical ofupThe selected user terminals can simultaneously transmit N on different orthogonal code channelsupOr more data streams. Using the same steering vector for each user terminalv up,mOrAll of its data symbol streams (or its data chip streams) are spatially processed. Similar processing occurs on the downlink.
Fig. 5B shows a block diagram of a TX data processor 410B supporting OFDM. TX data processor 410b may also be used for TX data processors 410 and 488 in fig. 4. TX data processor 410b includes an encoder 512, a channel interleaver 514, and a symbol mapping unit 516, which operate as described above for fig. 5A. TX data processor 410b also includes an OFDM modulator 530 that performs OFDM modulation. In OFDM modulator 530, an Inverse Fast Fourier Transform (IFFT) unit 532 is connected toSymbol mapping unit 516 receives data symbols and receives pilot symbols, provides data and pilot symbols on subbands designated for data and pilot transmission, and provides a zero signal value ("zero" symbol) for each subband not used for data/symbol transmission. For each OFDM symbol period, IFFT unit 532 uses NFInverse point fast Fourier transform converts a group of NFThe data, pilot and zero symbols are transformed to the time domain and a corresponding N is providedFA transformed symbol of chips. Cyclic prefix generator 534 repeats a portion of each transformed symbol to obtain a corresponding N-inclusive symbolF+NcpA one chip OFDM symbol. The repeated portion is called a cyclic prefix, and NcpIs the number of chips that are repeated. The cyclic prefix ensures that the OFDM symbol retains its orthogonal properties in the presence of multipath delay spread caused by frequency selective fading (i.e., the frequency response is not flat). Cyclic prefix generator 534 provides a stream of OFDM symbols, which for simplicity is also represented as a stream of data symbols { sm}。
For the uplink, each data symbol stream is sent on a respective group of subbands assigned to that stream. N is a radical ofupThe selected user terminals may transmit N simultaneously on different disjoint subband groupsupOne or more data streams, wherein N isFEach of the plurality of sub-bands is assigned to at most one group. Using the same steering vector for each user terminalv up,mOrAll of its data symbol streams (or its OFDM symbol streams) are spatially processed. Similar processing occurs on the downlink.
For simplicity, FIGS. 5A and 5B show the mapping for one data stream { d }mIs processed to obtain a stream of data symbols sm}. Multiple data streams (e.g., for multiple user terminals on the downlink) may be processed by multiple instances of the TX data processor to obtain multiple data symbol streams.
Fig. 5A and 5B illustrate particular implementations in which processing for CDMA and OFDM is performed prior to spatial processing for multi-antenna transmission. In this case, as shown in fig. 5A and 5B, the TX data processor includes a CDMA modulator or an OFDM modulator. Processing for CDMA and OFDM may also be performed after spatial processing for multi-antenna transmission. In this case, each transmitter unit (TMTR) would include a CDMA modulator or OFDM modulator that performs CDMA or OFDM processing on the respective transmit symbol stream to generate a corresponding modulated signal.
Fig. 6 shows spatial processing at the access point 110 and one user terminal 120m for downlink and uplink transmissions. For the uplink, at user terminal 120m, a stream of data symbols, { s }, is processed by a TX spatial processor 490mup,mAnd the guide vectorv up,mMultiplying to obtain a vector of transmitted symbols for the uplinkx up,m. At access point 110, the symbol vector to be received is passed through unit 640r up(for user terminal 120m and other user terminals) and spatial filter matrixM apMultiplied and further processed by unit 642 in a diagonal matrixFor received symbol vectorr upAdjustments are made to obtain recovered data symbol vectors for the uplinkUnits 640 and 642 are part of RX spatial processor 440 a. Efficient uplink channel response matrix basedH up,effAnd the matrix is derived using CCMI, MMSE or some other techniqueM apAnd
for the downlink, at access point 110, the data will be processed by TX spatial processor 420Data symbol vectors dn(which includes downlink data symbol streams for user terminal 120m and other user terminals) and a downlink steering matrixV dnMultiplying to obtain a vector of transmitted symbols for the downlinkx dn. At user terminal 120m, the symbol vector to be received is passed through unit 660r dn,mAnd spatial filter matrixM ut,mMultiplied and further passed through unit 662 in a diagonal matrixFor received symbol vectorr dn,mAdjustments are made to obtain a downlink recovered data symbol stream for user terminal 120mUnits 660 and 662 are part of RX spatial processor 460 m. User terminal 120m based downlink channel response matrixH dn,mAnd the matrix is derived using CCMI, MMSE or some other techniqueM ut,mAnd
fig. 7 illustrates a block diagram of an RX spatial processor 440b and an RX data processor 442b, which employ SIC techniques and may be used for access point 110. RX spatial processor 440b and RX data processor 442b are controlled by NupN sent by each user terminalupImplementation of N for a stream of data symbolsupA series (i.e., cascaded) of receiver processing stages. From 1 to NupEach stage of-1 includes a spatial processor 710, an interference canceller 720, an RX data stream processor 730, and a TX data stream processor 740. The final stage includes only the spatial processor 710u and the RX data stream processor 730 u.
For stage 1, spatial processor 710a pairs NapThe received symbol streams are subjected to receiver spatial processing and provide the user terminal j recovered in the first phase1A recovered data symbol stream ofRX data stream processor 730a may process the recovered data symbol streamPerforms demodulation, deinterleaving and decoding, and provides a decoded data streamTX data stream processor 740a for transmission by user terminal j1The decoded data stream is processed in the same way for that streamPerforms coding, interleaving and modulation, and provides a remodulated symbol streamInterference canceller 720a for user terminal j1Effective channel response vector ofh up,eff,j1For symbol stream after being remodulatedTransmitter spatial processing is performed to obtain a stream of data symbolsInduced NapAn interference component. From NapSubtracting N from the received symbol streamsapAn interference component to obtain NapA modified symbol stream, which is provided to stage 2.
Stage 2 to stage NupEach stage in-1 versus N from the previous stageapA modified symbol stream instead of NapThe received symbol streams undergo the same processing as phase 1. Last stage pair from stage NupN of-1apThe modified symbol streams are spatially processed and interference estimation and cancellation are not performed.
Each of spatial processors 710a through 710u may employ CCMI, MMSE, or some other technique. Each spatial processor 710 will input a (received or modified) symbol vectorAnd spatial filter matrixMultiplying to obtain a detected symbol vectorOne of the detected symbol streams is selected and adjusted and the adjusted symbol stream is provided as the recovered data symbol stream for that stage. Based on the reduced effective channel response matrix for this phaseObtaining a matrix
Fig. 8 shows a block diagram of an embodiment of a controller 430 and a scheduler 434 that controller 430 and scheduler 434 may be used to estimate and schedule user terminals for transmission on the downlink and uplink. In the controller 430, a request handler 810 receives access requests sent by the user terminal 120 and possibly from other sources. These access requests are for data transmission on the downlink and/or uplink. For clarity, scheduling for uplink transmissions is described below.
The request handler 810 processes the received access request and provides the Identity (ID) and status of all active user terminals. The user selector 820 selects a different set of user terminals from all active user terminals for evaluation. The user terminal used for estimation may be selected based on various factors such as user priority, amount of data to be transmitted, system requirements, etc.
The evaluation unit 830 evaluates each group of user terminals and provides a metric value for the group. For simplicity, the following description assumes: (1) the total throughput is used as a metric and (2) the effective uplink channel response vector is available to each active user terminal. The evaluation unit 830 includes a matrix calculation unit 840 and a rate selector 850. Matrix calculation section 840 performs SINR calculation for each group of user terminals. For each group, unit 840 computes an effective uplink channel response matrix for the groupH up,eff,nAnd is based onH up,eff,nAnd a receiver spatial processing technique used by the access point to calculate the SINR for each user terminal in the group. Rate selector 850 receives a set of SINRs for each user group and determines the rate of each user terminal in the set and the total throughput R of the setn. Rate selector 850 may access a look-up table (LUT)852 that stores a set of rates supported by the system and their required SINRs. Rate selector 850 determines the highest rate that can be used for uplink transmission by each user terminal based on the SINR calculated for the user terminal. Rate selector 850 also accumulates the rates or throughputs of all user terminals in each group to obtain an overall throughput R for the groupn
Scheduler 434 receives (1) the different groups of user terminals from user selector 820 (2) the rates for the user terminals from rate selector 850 and the total throughput for each group. The scheduler 434 selects the best user terminal group for each scheduling interval among all estimated groups and schedules the selected user terminals for transmission on the uplink. Scheduler 434 provides scheduling information including the identities of the selected user terminals, their rates, scheduled transmission times (e.g., start and duration of transmission), and the like. The scheduling information is transmitted to the selected user terminal.
Scheduling for downlink transmissions is performed in a similar manner.
The SDMA transmission techniques described herein may be implemented in various ways. For example, these techniques may be implemented in hardware, software, or a combination thereof. For a hardware implementation, the processing units used to support basic wireless techniques (e.g., CDMA or OFDM) and SDMA transmissions on the downlink and uplink (e.g., transmit and receive spatial processing at access points and user terminals, estimation of different user groups, etc.) may be implemented within one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof.
For a software implementation, the SDMA transmission techniques described herein may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in memory units (e.g., memory units 432 and 482 in fig. 4) and executed by processors (e.g., controllers 430 and 480). The memory unit may be implemented within the processor or external to the processor, in which case it can be communicatively coupled to the processor via various means as is known in the art.
Headings are included herein for reference and to aid in locating particular sections. These headings are not intended to limit the scope of the concepts described therein under, and these concepts may have applicability in other sections throughout the entire specification.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (15)

1. A method of receiving data in a multiple-input multiple-output (MIMO) communication system, comprising:
obtaining, from a plurality of receive antennas at a receiving entity, a plurality of received symbol streams for a plurality of data symbol streams transmitted by a plurality of transmitting entities, one data symbol stream for each transmitting entity, wherein the data symbol streams for each transmitting entity are spatially processed with steering vectors for the transmitting entity and transmitted from a plurality of transmit antennas at the transmitting entity; processing the plurality of received symbol streams in accordance with a receiver spatial processing technique to obtain a plurality of recovered data symbol streams, the plurality of recovered data symbol streams being estimates of the plurality of data symbol streams,
wherein the steering vector for each transmitting entity is obtained by:
decomposing a channel response matrix of the transmitting entity to obtain a plurality of eigenvectors and a plurality of singular values, an
Constructing the steering vector for the transmitting entity based on eigenvectors corresponding to the largest singular values of the plurality of singular values; and
transmitting a rate used by each selected transmitting entity to each transmitting entity selected based on the steering vector and the channel response matrix for each transmitting entity, wherein the selecting comprises calculating a signal to interference plus noise ratio, SINR, for each transmitting entity in a set of transmitting entities based on an effective uplink channel response matrix comprised of the steering vector and the channel response matrix for each transmitting entity, and the rate is a rate selected from a set of supported rates that is mapped to the SINR for each transmitting entity.
2. The method of claim 1, wherein the receiver spatial processing technique is a Channel Correlation Matrix Inversion (CCMI) technique or a Minimum Mean Square Error (MMSE) technique.
3. The method of claim 1, wherein the receiver spatial processing technique is a Successive Interference Cancellation (SIC) technique.
4. The method of claim 1, wherein the steering vector for each transmitting entity is equal to the eigenvector corresponding to the largest singular value.
5. The method of claim 1, wherein the steering vector for each transmitting entity comprises a plurality of elements having the same magnitude and phase equal to the phase of the plurality of elements of the eigenvector corresponding to the largest singular value.
6. A method of receiving data in a multiple-input multiple-output (MIMO) communication system, comprising:
obtaining, from a plurality of receive antennas at a receiving entity, a plurality of received symbol streams for a plurality of data symbol streams transmitted by a plurality of transmitting entities, one data symbol stream for each transmitting entity, wherein the data symbol streams for each transmitting entity are spatially processed with steering vectors for the transmitting entity and transmitted from a plurality of transmit antennas at the transmitting entity;
processing the plurality of received symbol streams in accordance with a receiver spatial processing technique to obtain a plurality of recovered data symbol streams, the plurality of recovered data symbol streams being estimates of the plurality of data symbol streams;
evaluating each of a plurality of groups of transmitting entities for possible transmission based on the transmitting entities' metrics and steering vectors in the group;
selecting a set of transmitting entities with highest metric values for transmission, wherein the selecting comprises calculating a signal to interference plus noise ratio, SINR, for each transmitting entity in the set of transmitting entities based on an effective uplink channel response matrix comprised of the steering vector and a channel response matrix for each transmitting entity in the set of transmitting entities; and
transmitting, to each transmitting entity selected based on the steering vector and the channel response matrix for each transmitting entity, a rate used by each selected transmitting entity, wherein the rate is a rate selected from a set of supported rates that is mapped to the SINR for each transmitting entity.
7. An apparatus at a receiving entity in a multiple-input multiple-output (MIMO) communication system, comprising:
a plurality of receiver units to obtain a plurality of received symbol streams for a plurality of data symbol streams transmitted by a plurality of transmitting entities from a plurality of receive antennas, one data symbol stream for each transmitting entity, wherein the data symbol streams for each transmitting entity are spatially processed with steering vectors for the transmitting entity and transmitted from a plurality of transmit antennas at the transmitting entity;
a receive spatial processor operative to process the plurality of received symbol streams in accordance with a receiver spatial processing technique to obtain a plurality of recovered data symbol streams, the plurality of recovered data symbol streams being estimates of the plurality of data symbol streams,
wherein the steering vector for each transmitting entity is obtained by:
decomposing a channel response matrix of the transmitting entity to obtain a plurality of eigenvectors and a plurality of singular values, an
Constructing the steering vector for the transmitting entity based on eigenvectors corresponding to the largest singular values of the plurality of singular values; and
a plurality of transmitter units to transmit a rate used by each selected transmitting entity to each transmitting entity selected based on the steering vector and the channel response matrix for each transmitting entity, wherein the selecting comprises calculating a signal to interference plus noise ratio, SINR, for each transmitting entity in a set of transmitting entities based on an effective uplink channel response matrix comprised of the steering vector and the channel response matrix for each transmitting entity in the set of transmitting entities, and the rate is a rate selected from a set of supported rates that is mapped to the SINR for each transmitting entity.
8. The apparatus of claim 7, wherein the receiver spatial processing technique is a Channel Correlation Matrix Inversion (CCMI) technique or a Minimum Mean Square Error (MMSE) technique.
9. An apparatus for receiving data in a multiple-input multiple-output (MIMO) communication system, comprising:
means for obtaining a plurality of received symbol streams for a plurality of data symbol streams transmitted by a plurality of transmitting entities from a plurality of receive antennas, one data symbol stream for each transmitting entity, wherein the data symbol stream for each transmitting entity is spatially processed with a steering vector for the transmitting entity and transmitted from a plurality of transmit antennas at the transmitting entity;
means for processing the plurality of received symbol streams in accordance with a receiver spatial processing technique to obtain a plurality of recovered data symbol streams, the plurality of recovered data symbol streams being estimates of the plurality of data symbol streams,
wherein the steering vector for each transmitting entity is obtained by:
decomposing a channel response matrix of the transmitting entity to obtain a plurality of eigenvectors and a plurality of singular values, an
Constructing the steering vector for the transmitting entity based on eigenvectors corresponding to the largest singular values of the plurality of singular values; and
means for transmitting a rate used by each selected transmitting entity to each transmitting entity selected based on the steering vector and the channel response matrix for each transmitting entity, wherein the selecting comprises calculating a signal to interference and noise ratio, SINR, for each transmitting entity in a set of transmitting entities based on an effective uplink channel response matrix comprised of the steering vector and the channel response matrix for each transmitting entity in the set of transmitting entities, and the rate is a rate selected from a set of supported rates that is mapped to the SINR for each transmitting entity.
10. The apparatus of claim 9, wherein the receiver spatial processing technique is a Channel Correlation Matrix Inversion (CCMI) technique or a Minimum Mean Square Error (MMSE) technique.
11. A method of deriving steering vectors for data transmission in a multiple-input multiple-output (MIMO) communication system, comprising:
obtaining a channel response matrix indicating a response of a MIMO channel between a transmitting entity and a receiving entity in the MIMO system;
decomposing the channel response matrix to obtain a plurality of eigenvectors and a plurality of singular values, each singular value corresponding to an eigenvector;
deriving the steering vector for the transmitting entity based on an eigenvector corresponding to a largest singular value of the plurality of singular values, and
wherein a plurality of steering vectors are obtained for a plurality of transmitting entities and used for spatial processing by the plurality of transmitting entities to simultaneously transmit a plurality of data symbol streams to the receiving entity; and
transmitting a rate used by each selected transmitting entity to each transmitting entity selected based on the steering vector and the channel response matrix for each transmitting entity, wherein the selecting comprises calculating a signal to interference plus noise ratio, SINR, for each transmitting entity in a set of transmitting entities based on an effective uplink channel response matrix comprised of the steering vector and the channel response matrix for each transmitting entity, and the rate is a rate selected from a set of supported rates that is mapped to the SINR for each transmitting entity.
12. The method of claim 11, wherein the steering vector for each transmitting entity is the eigenvector corresponding to the largest singular value.
13. The method of claim 11, wherein the steering vector for each transmitting entity comprises a plurality of elements having the same magnitude and phase equal to the phase of the plurality of elements of the eigenvector corresponding to the largest singular value.
14. An apparatus in a multiple-input multiple-output (MIMO) communication system, comprising:
a channel estimator for obtaining a channel response matrix indicating a response of a MIMO channel between a transmitting entity and a receiving entity in the MIMO system;
a controller for decomposing the channel response matrix to obtain a plurality of eigenvectors and a plurality of singular values, one eigenvector for each singular value, and for deriving the steering vector for the transmitting entity based on the eigenvector corresponding to the largest singular value of the plurality of singular values, and
wherein a plurality of steering vectors are obtained for a plurality of transmitting entities and used for spatial processing by the plurality of transmitting entities to simultaneously transmit a plurality of data symbol streams to the receiving entity; and
a transmit data processor to transmit a rate used by each selected transmitting entity to each transmitting entity selected based on the steering vector and the channel response matrix for each transmitting entity, wherein the selecting comprises calculating a signal to interference and noise ratio, SINR, for each transmitting entity in a set of transmitting entities based on an effective uplink channel response matrix comprised of the steering vector and the channel response matrix for each transmitting entity in the set of transmitting entities, and the rate is a rate selected from a set of supported rates that is mapped to the SINR for each transmitting entity.
15. An apparatus for deriving steering vectors for data transmission in a multiple-input multiple-output (MIMO) communication system, comprising:
means for obtaining a channel response matrix indicating a response of a MIMO channel between a transmitting entity and a receiving entity in the MIMO system;
means for decomposing the channel response matrix to obtain a plurality of eigenvectors and a plurality of singular values, each singular value corresponding to an eigenvector;
means for deriving the steering vector for the transmitting entity based on an eigenvector corresponding to a largest singular value of the plurality of singular values, an
Wherein a plurality of steering vectors are obtained for a plurality of transmitting entities and used for spatial processing by the plurality of transmitting entities to simultaneously transmit a plurality of data symbol streams to the receiving entity; and
means for transmitting a rate used by each selected transmitting entity to each transmitting entity selected based on the steering vector and the channel response matrix for each transmitting entity, wherein the selecting comprises calculating a signal to interference and noise ratio, SINR, for each transmitting entity in a set of transmitting entities based on an effective uplink channel response matrix comprised of the steering vector and the channel response matrix for each transmitting entity in the set of transmitting entities, and the rate is a rate selected from a set of supported rates that is mapped to the SINR for each transmitting entity.
HK15107938.3A 2003-11-21 2015-08-18 Methods and apparatuses for multi-antenna transmission for spatial division multiple access HK1207489B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/719,802 2003-11-21
US10/719,802 US7298805B2 (en) 2003-11-21 2003-11-21 Multi-antenna transmission for spatial division multiple access

Publications (2)

Publication Number Publication Date
HK1207489A1 HK1207489A1 (en) 2016-01-29
HK1207489B true HK1207489B (en) 2018-08-31

Family

ID=

Similar Documents

Publication Publication Date Title
CN104393899B (en) Method and apparatus for the multi-antenna transmission of space division multiple access
US8325844B2 (en) Data transmission with spatial spreading in a MIMO communication system
EP2267926B1 (en) MIMO system with multiple spatial multiplexing modes
US20050157805A1 (en) Data transmission with spatial spreading in a mimo communication system
HK1207489B (en) Methods and apparatuses for multi-antenna transmission for spatial division multiple access
KR100828466B1 (en) Broadcast Transmission Using Spatial Spread in Multi-antenna Communication Systems
HK1131292A (en) Mimo system with multiple spatial multiplexing modes