System and method for fast compression of OFDM channel state information (CSI) based on constant frequency sinusoidal approximation
09838104 · 2017-12-05
Assignee
Inventors
Cpc classification
H03M7/6047
ELECTRICITY
H03M7/30
ELECTRICITY
H04L27/2634
ELECTRICITY
H04B7/0626
ELECTRICITY
International classification
Abstract
A system and method for the efficient compression of the Channel State Information (CSI) in a wireless network with very low complexity and implementation cost. In accordance with the present invention, the CSI can be approximated as the summation of very few sinusoids on constant frequencies and the parameters of the sinusoids can be found efficiently by very simple calculations such as dot products of vectors which are implementable in hardware at very low cost.
Claims
1. A method for compressing channel state information (CSI) of a wireless channel, the method comprising: receiving, at a receiver of a wireless communication system, an orthogonal frequency division multiplexing (OFDM) wireless signal over a wireless channel comprising one or more antenna pair; measuring, at a receiver of a wireless communication system, a channel state information (CSI) vector of the wireless channel from the received OFDM wireless signal for each antenna pair, wherein the CSI vector is an N by 1 vector of complex numbers and wherein each complex number represents an amplitude and a phase of one of N orthogonal frequency division multiplexing (OFDM) subcarriers of the wireless channel; accessing a plurality of configurations stored at the receiver, wherein each of the plurality of configurations “u”, identifies a set of P.sub.u base sinusoid vectors on constant frequencies and wherein P.sub.u is the order of the configuration and is equal to the number of complex numbers of the compressed CSI if configuration u is selected; calculating, for each of the plurality of configurations, a dot product of the N by 1 CSI vector and a conjugate of each P.sub.u base sinusoid vector identified by the selected configuration to generate a P.sub.u by 1 projection vector; calculating, for each of the plurality of configurations, a product of a constant P.sub.u by P.sub.u matrix stored at the receiver and the P.sub.u by 1 projection vector to generate a P.sub.u by 1 coefficient vector; calculating, for each of the plurality of configurations, a minimum squared error (MSE) fit with the P.sub.u by 1 coefficient vector on L evenly-spaced locations, where L is smaller than N, by multiplying each of the P.sub.u base sinusoids with the corresponding coefficient in the coefficient vector and taking the summation, at each of the L evenly-spaced locations; selecting configuration u and use its P.sub.u by 1 coefficient vector as the compressed CSI, if the total fit residual of the MSE fit of configuration u is below a predetermined threshold times the minimum fit residual among all configurations, and u is such a configuration with the lowest order; transmitting the compressed CSI to a transmitter of the wireless communication system; decompressing the CSI at the transmitter by computing a linear combination of the base sinusoids, using the compressed CSI as the coefficients of the base sinusoids, and adjusting the transmission characteristics of one or more wireless signals transmitted by the transmitter based upon the decompressed CSI.
2. The method of claim 1, further comprising, prior to accessing a plurality of configurations stored at the receiver: computing each of a plurality base sinusoid vectors on constant frequencies; computing a conjugate of each of the plurality of base sinusoid vectors on constant frequencies; storing each base sinusoid vector and the conjugate of each base sinusoid vector at the receiver; and storing the plurality of configurations identifying, for configuration u, a set of P.sub.u base sinusoid vectors at the receiver.
3. The method of claim 1, wherein one or of the plurality of base sinusoid vectors are shared by one or more of the plurality of configurations.
4. The method of claim 1, further comprising, prior to calculating, for each of the plurality of configurations, computing the inverse of a constant P.sub.u by P.sub.u matrix and storing it at the receiver.
5. The method of claim 1, wherein accessing a plurality of configurations stored at the receiver further comprises accessing a plurality of configurations stored at the receiver in parallel.
6. The method of claim 1, further comprising, rotating the CSI vector to remove the shift frequency from the CSI vector.
7. A wireless communication system for compressing channel state information (CSI) of a wireless channel system, the system comprising: a receiver for receiving an orthogonal frequency division multiplexing (OFDM) wireless signal over a wireless channel comprising one or more antenna pair; the receiver for measuring a channel state information (CSI) vector of the wireless channel from the received OFDM wireless signal, wherein the CSI vector for each antenna pair is an N by 1 vector of complex numbers and wherein each complex number represents an amplitude and a phase of one of N orthogonal frequency division multiplexing (OFDM) subcarriers of the wireless channel; the receiver for accessing a plurality of configurations “u” stored at the receiver, identifies a set of P.sub.u base sinusoid vectors on constant frequencies and wherein P.sub.u is the order of the configuration and is equal to the number of complex numbers of the compressed CSI if configuration u is selected; the receiver for calculating, for each of the plurality of configurations, a dot product of the N by 1 CSI vector and a conjugate of each P.sub.u base sinusoid vector identified by the selected configuration to generate a P.sub.u by 1 projection vector; the receiver for calculating, for each of the plurality of configurations, a product of a constant P.sub.u by P.sub.u matrix stored at the receiver and the P.sub.u by 1 projection vector to generate a P.sub.u by 1 coefficient vector; the receiver for calculating, for each of the plurality of configurations, a minimum squared error (MSE) fit with the P.sub.u by 1 coefficient vector on L evenly-spaced locations, where L is smaller than N, by multiplying each of the P.sub.u base sinusoids with the corresponding coefficient in the coefficient vector and taking the summation, at each of the L evenly-spaced locations; the receiver for selecting configuration it and use its P.sub.u by 1 coefficient vector as the compressed CSI, if the total fit residual of the MSE fit of configuration u is below a predetermined threshold times the minimum fit residual among all configurations, and u is such a configuration with the lowest order; the receiver for transmitting the compressed CSI to a transmitter of the wireless communication system; and the transmitter for decompressing the CSI by computing a linear combination of the base sinusoids, using the compressed CSI as the coefficients of the base sinusoids, and adjusting the transmission characteristics of one or more wireless signals transmitted by the transmitter based upon the decompressed CSI.
8. The system of claim 7, further comprising, prior to the receiver accessing a plurality of configurations stored at the receiver, the receiver computing each of a plurality base sinusoid vectors on constant frequencies, computing a conjugate of each of the plurality of base sinusoid vectors on constant frequencies, storing each base sinusoid vector and the conjugate of each base sinusoid vector at the receiver and storing the plurality of configurations identifying a set of base sinusoid vectors of the plurality of base sinusoid vectors at the receiver.
9. The system of claim 7, wherein one or more of the plurality of base sinusoid vectors are shared by one or more of the plurality of configurations.
10. The system of claim 7, further comprising, prior to calculating, for each of the plurality of configurations, computing the inverse of a constant P.sub.u by P.sub.u matrix and storing it at the receiver.
11. The system of claim 7, wherein the receiver accessing a plurality of configurations stored at the receiver further comprises the receiver accessing a plurality of configurations stored at the receiver in parallel.
12. The system of claim 7, further comprising, the receiver rotating the CSI vector to remove the shift frequency from the CSI vector.
13. A non-transitory computer-readable storage recording medium storing a computer program used for executing a channel state information (CSI) compressing operation of an Orthogonal Frequency Division Multiplexing (OFDM) wireless channel of a wireless communication system, the computer program causing a wireless communication system to: receive, at a receiver of the wireless communication system, an orthogonal frequency division multiplexing (OFDM) wireless signal over a wireless channel comprising one or more antenna pair; measure, at a receiver of the wireless communication system, a channel state information (CSI) vector of the wireless channel from the received OFDM wireless signal, wherein the CSI vector for each antenna pair is an N by 1 vector of complex numbers and wherein each complex number represents an amplitude and a phase of one of N orthogonal frequency division multiplexing (OFDM) subcarriers of the wireless channel; access a plurality of configurations stored at the receiver, wherein each of the plurality of configurations “u” identifies a set of P.sub.u base sinusoid vectors on constant frequencies and wherein P.sub.u is the order of the configuration and is equal to the number of complex numbers of the compressed CSI if configuration u is selected; calculate, for each of the plurality of configurations, a dot product of the N by 1 CSI vector and a conjugate of each P.sub.u base sinusoid vector identified by the selected configuration to generate a P.sub.u by 1 projection vector; calculate, for each of the plurality of configurations, a product of a constant P.sub.u by P.sub.u matrix stored at the receiver and the P.sub.u by 1 projection vector to generate a P.sub.u by 1 coefficient vector; calculate, for each of the plurality of configurations, a minimum squared error (MSE) fit with the P.sub.u by 1 coefficient vector on L evenly-spaced locations, where L is smaller than N, by multiplying each of the P.sub.u base sinusoids with the corresponding coefficient in the coefficient vector and take the summation, at each of the L evenly-spaced locations; select configuration u and use its P.sub.u by 1 coefficient vector as the compressed CSI, if the total fit residual of the MSE fit of configuration u is below a predetermined threshold times the minimum fit residual among all configurations, and u is such a configuration with the lowest order transmit the compressed CSI to a transmitter of the wireless communication system; decompress the CSI by computing a linear combination of the base sinusoids, using the compressed CSI as the coefficients of the base sinusoids, and adjusting the transmission characteristics of one or more wireless signals transmitted by the transmitter based upon the decompressed CSI.
14. The non-transitory computer-readable storage recording medium of claim 13, further comprising, prior to accessing a plurality of configurations stored at the receiver, the computer program causing the wireless communication system to: compute each of a plurality base sinusoid vectors on constant frequencies; compute a conjugate of each of the plurality of base sinusoid vectors on constant frequencies, store each base sinusoid vector and the conjugate of each base sinusoid vector at the receiver; and store the plurality of configurations identifying a set of base sinusoid vectors of the plurality of base sinusoid vectors at the receiver.
15. The non-transitory computer-readable storage recording medium of claim 13, wherein one or more of the plurality of base sinusoid vectors are shared by one or more of the plurality of configurations.
16. The non-transitory computer-readable storage recording medium of claim 13, further comprising, prior the computer program causing the wireless communication system to calculate, for each of the plurality of configurations, the inverse of a constant P.sub.u by P.sub.u matrix and store it at the receiver.
17. The non-transitory computer-readable storage recording medium of claim 13, wherein the computer program causing the wireless communication system to access a plurality of configurations stored at the receiver further comprises the computer program causing the wireless communication system to access a plurality of configurations stored at the receiver in parallel.
18. The non-transitory computer-readable storage recording medium of claim 13, further comprising, the computer program causing the wireless communication system to preprocess the CSI vector to rotate the CSI vector to remove the shift frequency from the CSI vector.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) For a fuller understanding of the invention, reference should be made to the following detailed description, taken in connection with the accompanying drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)
(41)
(42)
(43)
(44)
(45)
(46)
(47)
(48)
DETAILED DESCRIPTION OF THE INVENTION
(49) In the following detailed description of the preferred embodiments, reference is made to the accompanying drawings, which form a part hereof, and within which are shown by way of illustration specific embodiments by which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the invention.
(50) OFDM is the choice of modulation for broadband wireless networks today. In OFDM, entire communication frequency bandwidth is divided into equal size chunks, where the center of each chunk is called a subcarrier. A subcarrier can be considered as a pure sinusoid on a certain frequency, the amplitude and phase of which are set based on the values of the data bits. The CSI of a subcarrier is basically the amplitude and phase of the subcarrier observed by the receiver, when the sender transmits the unchanged subcarrier. If there is only one path from the sender to the receiver, the phases of the CSI of adjacent subcarriers will differ by the same amount, which is the phase difference due to the difference in frequencies over the same path length. Therefore, the CSI of all subcarriers will be a sinusoid. A typical wireless environment has multiple paths, therefore the CSI is the summation of multiple sinusoids.
(51) Regarding the proof of the theorems supporting the present invention, the following detailed description proves that a target sinusoid on frequency g can be approximated as the linear combination of P base sinusoids, within certain error, under certain conditions. Therefore, the summation of many sinusoids, such as the CSI vector, can still be approximated as the linear combination of only P base sinusoids.
(52) To approximate the target sinusoid, the existence of polynomial approximation of sinusoids is used, such as those according to the Taylor series expansion, as a stepping stone. That is, if the target sinusoid can be approximated by a polynomial of degree P−1, within certain error, it can also be approximated by P base sinusoids, within comparable error, because coefficients for the base sinusoids can be found by solving a linear system guaranteed to be nonsingular and the coefficients are bounded by constants. Although it may appear from the proof that the sinusoidal approximation is only as good as the polynomial approximation, in practice, it is preferred to use sinusoids to approximate a sinusoid because they belong to the same function family which significantly eases the numerical computations. The frequencies of the base sinusoids are not very sensitive to g, making it possible to preselect constant base sinusoids to match a range of the target frequencies to simplify the computation. The linear combination of the base sinusoids is called a fit, and the number of base sinusoids the order. The fit error refers to the difference between the fit and the CSI vector, and the fit residual is the squared norm of the fit error vector.
(53) It can be said that, cos(Fx) with x in [0,1] can be approximated by a polynomial with degree P−1 and deviation ξ.sup.F,P, if a polynomial
(54)
can be found such that
max{|cos(Fx)−Φ.sup.F,P(Fx)|}≦ξ.sup.F,P,
where η.sub.l.sup.F,P are constants determined by F and P. F is intentionally separated from η.sub.l.sup.F,P because the same polynomial can be reused for lower frequencies; that is, for any f<F, using Σ.sub.l=0.sup.P−1η.sub.l.sup.F,P(fx).sup.l as the approximation for cos(fx) will lead to deviation no more than ξ.sup.F,P, because [0,f]⊂[0,F].
(55) It is important to note that the proof does not need the exact values of η.sub.l.sup.F,P, and only needs the existence of the polynomial approximation. It is well established that polynomial approximation exists, such as the one according to the Taylor series expansion. Further optimizations can be made to minimize P for a given desired deviation by solving minimum square error problems. However, polynomial approximation can be difficult to find numerically in practice due to the errors accumulated in the computation, because the optimization problem has to handle values with very large range, which is why sinusoidal approximation is preferred.
(56) First focusing on the approximation of one target sinusoid.
(57) Theorem 1
(58) cos(gx) for xε[0,1] and g in [0,F] can be approximated with deviation ξ.sup.F,P as the linear combination of Φ.sup.F,P(f.sub.1x), Φ(f.sub.2x), . . . , Φ.sup.F,P(f.sub.Px), where f.sub.1, f.sub.2 . . . , f.sub.P are distinct values in [0,F], and the coefficient of Φ.sup.F,P(f.sub.kx) in the linear combination is
(59)
(60) Proof.
(61) Clearly, if the linear combination of Φ.sup.F,P (f.sub.1x), Φ.sup.F,P (f.sub.2x), . . . , Φ.sup.F,P (f.sub.Px) can exactly reproduce Φ.sup.F,P (gx), cos(gx) can be approximated with deviation ξ.sup.F,P. Denote the coefficient for Φ.sup.F,P(f.sub.kx) as γ.sub.k for 1≦k≦P. To reproduce Φ.sup.F,P(gx) is to find coefficients such that
(62)
for all l; that is, the coefficients have to satisfy P linear equations:
(63)
(64) The matrix is a Vandermonde matrix with determinant
(65)
therefore, as long as f.sub.1, f.sub.2, . . . , f.sub.P are distinct, the determinate is not 0, and the solution always exists.
(66) For convenience, denote f.sub.k−g as d.sub.k. To obtain the values of γ.sub.k, it is first proved that for any γ.sub.k that satisfies the linear system in Eq. 1 must satisfy
(67)
(68) To show this, note that the first equation in Eq. 2 is identical to that in Eq. 1. For other equations, note that
(69)
therefore the claim is proved. According to linear algebra, γ.sub.k is the ratio of the determinant of the following matrix
(70)
and the determinate of the matrix in Eq. 2. Using the cofactor expansion on column k, it can be found that
(71)
(72) Therefore,
(73)
(74) Theorem 1 basically shows that a target sinusoid can be approximated as the linear combination of the polynomial approximations of the base sinusoids. However, in the present invention, the main interest is to approximate the target sinusoid by the base sinusoids. An obvious approach is to multiply base sinusoids by the coefficient values stated in Eq. 3, i.e., replacing the polynomial approximations by the base sinusoids themselves, and use the summation as the approximation, which is referred to as the Direct Fit. The Direct Fit will also have bounded error, if the coefficients are bounded, which is proved by the following theorem.
(75) Theorem 2
(76) Assume the frequencies of the base sinusoids are evenly distributed, i.e.,
(77)
Let
(78)
where δε[0,1] and h is an integer in [0,P−2].
(79) For
(80)
|γ.sub.k| is bounded by Θ(g,k) where
(81)
for k<h+1, k=h+1, and k>h+1, respectively. For
(82)
due to symmetry, Θ(g,k)=Θ(F−g,P−k+1).
(83) Proof.
(84) It is first noted that Eq. 3 cancels all common terms between the numerator and the denominator, therefore, it is convenient to normalize f.sub.k to k−1 and g to h+δ in this proof. If k≦h+1,
(85)
(86) As
(87)
is maximized when
(88)
results in
(89)
If k=h+1,
(90)
where the maximization occurs when δ=0. If k>h+1,
(91)
(92) Using the same bounding technique as for k<h+1, it can be shown that
(93)
(94) Theorem 2 bounds the amplitudes for one particular choice the base sinusoids, which is sufficient to prove the existence of bounded approximation. The bounding technique in the proof is simple, however is fairly good and usually is within a small factor of 2 or 3 to the actual value. It can be easily found that the coefficient absolute values are no more than 1 when P is 3 or less; for other typical values,
(95) Combining Theorems 1 and 2, if cos(gx) is approximated by the Direct Fit with evenly spaced base sinusoids, the total deviation is bounded by the difference between cos(gx) and Φ.sup.F,P (gx), which is bounded by ξ.sup.F,P, plus the deviation of the polynomial approximation of the scaled bases, which for base k is bounded by ξ.sup.F,PΦ(g,k). Therefore:
(96) Theorem 3
(97) There exists a sinusoidal approximation for cos(gx) with deviation ξ.sup.F,P[1+Σ.sub.k=1.sup.PΘ(g,k)] using P base sinusoids, where gε[0,F], xε[0,1], and the base sinusoids have evenly spaced frequencies in [0,F].
(98) It is important to note that as
(99) Several extensions to the above theorems will now be discussed. The focus so far has been on cos(gx) for x in [0,1]. However, the extension to [−1,1] is immediate. That is, if the approximation matches cos(gx) in [0,1], multiplying the base sinusoids by the same coefficients for values in [−1,0] should also result in a match, because the target sinusoid and the base sinusoids have the same parity. Although this extension is very simple, it in effect doubles the range of the frequencies that can be approximated by P sinusoids.
(100) The approximation for sin(gx) can use exactly the same coefficients as those for cos(gx). That is, given an approximation of cos(gx)≈Σ.sub.k=1.sup.Pγ.sub.k cos(f.sub.kx) for xε[−1,1], sin(gx)≈Σ.sub.k=1.sup.Pγ.sub.k sin(f.sub.kx) for xε[−1,1]. This is because although the cosine and sine functions have different polynomial approximations, as long as Eq. 1 is satisfied, the coefficients for any exponent of x in the polynomial approximation are the same for target sinusoid and the linear combination of the base sinusoids.
(101) The extension to complex wave e.sup.igx for xε[−1,1] is
(102)
(103) The CSI vector is the summation of more than one sinusoid. However, as each sinusoid can be approximated, the summation can also be approximated as the summation of the individual approximations. The deterministic maximum deviation will be the summation of all individual deviations multiplied by the amplitude of the individual sinusoids, and may be large. However, in practice, the sinusoids have different phases and the deviation will almost never add up constructively, therefore the approximation error is small.
(104)
(105) According to our theoretical findings, the CSI can be approximated by a linear combination of the base sinusoids. In practice, the coefficients of the base sinusoids can be found by solving a minimum square error problem to match the CSI as closely as possible. The fit is therefore called the MSE Fit, and requires very low computation complexity, mainly because the linear system to be solved in the optimization problem is defined by a constant matrix. As any sinusoid can be approximated in this manner, the simplest approach would be to select just one set of base sinusoids to be used for all CSI. However, different types of channels have different delay spreads, which translate to different frequency ranges of the sinusoids in the CSI, the larger the delay spread, the higher the frequency. As sinusoids on lower frequencies can be approximated with fewer base sinusoids, to further improve the compression ratio, CSIApx introduce a small number of configurations with different number of base sinusoids, and finds the fits for all configurations and selects a fit as the output, considering both compression ratio and fit residual. The complexity of calculating the fits are reduced by sharing certain base sinusoids among multiple configurations.
(106) The very core of CSIApx is to find the coefficients of the MSE Fit, denoted as a vector Γ. Let Y denote the CSI vector and N the length of Y. The following explanation is for the case where the CSI vector is measured at N consecutive subcarriers. However, the same method can be easily extended to the case where the subcarriers are not consecutive by minimizing squared error only at the subcarriers with measurements; that is, fitting only the measured subcarriers. To minimize the squared error is to select coefficients to minimize
J=Σ.sub.j=1.sup.N|(Σ.sub.k=1.sup.Pγ.sub.ke.sup.ijf.sup.
where P is the order, γ.sub.k and f.sub.k are the coefficient and frequency of base sinusoid k, respectively, y.sub.j is element j in the CSI vector Y. By taking the derivatives of J with respect to the coefficients and setting them to 0, Γ that minimizes J is the solution to a linear system QΓ=S, where: Q is a P by P matrix, in which q.sub.k,h=Σ.sub.j=1.sup.Ne.sup.i(f.sup.
(107) It can be seen that S is determined by the CSI vector, but is just the dot products of the CSI vector and the conjugate of the base sinusoids. On the other hand, as the frequency values are constants, Q.sup.−1 is a constant matrix and can be precomputed. Therefore, after S is obtained, Γ can be found by simply multiplying the constant matrix Q.sup.−1 with S.
(108) In an additional embodiment, CSIApx introduces U configurations to match Wi-Fi channel conditions. Configuration u is described by the frequencies of the P.sub.u base sinusoids it uses, denoted as f.sub.u,k for k=1, 2, . . . , P.sub.u, where the definition of frequency is as previously defined.
(109) CSIApx solves the constant linear system previously described to get the fit coefficients for each configuration, in parallel. Then, it calculates the MSE Fit on L evenly spaced sample locations for each configuration and finds the sampled fit residual for each configuration, denoted as η.sub.u for configuration u. CSIApx selects the fit coefficients of configuration u as the compressed CSI, if configuration u is the first configuration such that η.sub.u<ζmin(η.sub.1, η.sub.2, . . . , η.sub.U), where (is an empirical constant greater than 1.
(110) To reduce the overall computation complexity, different configurations may share some common base sinusoids, because the main computation in CSIApx is actually finding the dot products between the base sinusoids and the CSI. Overall, let W be the total number of unique base sinusoids in all configurations, the complexity of CSIApx, measured the number of complex multiplications, includes only: WN: for computing the dot products between the base sinusoids and the CSI Σ.sub.u=1.sup.U P.sub.u.sup.2: for finding the fit coefficients of all configurations Σ.sub.u=1.sup.U (P.sub.u+1)L: for computing the fits at sampled locations and the sampled fit residuals
(111) The selection of the base sinusoids should consider multiple issues that are dependent on each other, such as compression ratio, accuracy, implementation cost, and the range of the fit coefficients. Fortunately, CSIApx is to be applied to wireless systems with a fixed number of subcarriers and well-studied channel conditions, such as Wi-Fi. Therefore, the parameters can be empirically chosen. As such, based on experience, for configuration u, the maximum base sinusoid frequency should be the maximum frequency P.sub.u base sinusoids can approximate well. Also, for each configuration, the base sinusoids should be more closely spaced in the lower part of the spectrum than the upper part, because more energy is in the lower part of the spectrum.
(112) Table 1 shows exemplary choices targeting Wi-Fi channel with 64 subcarriers, in which there are 5 configurations with 27 unique base sinusoids, and ζ=1.75. For 40 subcarriers used for evaluating the experimental data, the frequencies for configurations 1 to 5 are shown in Table 2, there are 5 configurations with 27 unique base sinusoids and ζ=4.
(113) TABLE-US-00001 TABLE 1 Configuration For 64 subcarriers u P.sub.u Frequencies 1 3 0, 0.06, 0.12 2 5 0, 0.05, 0.1, 0.15, 0.25 3 7 0, 0.06, 0.12, 0.18, 0.24, 0.3, 0.42 4 11 0, 0.06, 0.12, 0.18. 0.24, 0.3, 0.36, 0.42, 0.525, 0.6375, 0.75 5 16 0, 0.075, 0.15, 0.225, 0.3, 0.375, 0.45, 0.525, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3
(114) TABLE-US-00002 TABLE 2 Configuration For 40 subearriers u P.sub.u Frequencies 1 3 0, 0.05, 0.1 2 4 0, 0.06, 0.12, 0.2 3 6 0, 0.075, 0.15, 0.225, 0.3, 0.45 4 10 0, 0.075, 0.15, 0.225, 0.3, 0.375, 0.525, 0.675, 0.825, 0.975 5 14 0, 0.09, 0.18, 0.27, 0.36, 0.45, 0.575, 0.7, 0.825, 0.95, 1.075, 1.2, 1.325, 1.45
(115) In practice, the raw measured CSI often has a shift frequency, which is a frequency value added to the frequencies of all sinusoids, caused by the sample timing offset to the OFDM symbol boundary. The shift frequency needs to be removed before running CSIApx, because it may force CSIApx to choose higher configurations to approximate sinusoids on higher frequencies and reduce the compression ratio. This can easily be achieved by multiplying the CSI with a sinusoid on the negative of the shift frequency, a process referred in the invention as “rotation”. The value of the shift frequency is known to the wireless receiver, because it selects the OFDM symbol boundary. The frequency used in the rotation can also be slightly adjusted to make sure that the sinusoids in the CSI are still on positive frequencies after the rotation.
(116) The implementation guideline of CSIApx described herein summarizes the earlier discussions and is for a given number of subcarriers in the Wi-Fi channel, denoted by N. The following explanation is for the case where the CSI vector is measured at N consecutive subcarriers; however, it can be easily extended to the case where the subcarriers are not consecutive, as explained earlier. It should also be noted that the same method applies to all possible values of N, except the values of the constants need to be adjusted.
(117) The CSI vector Y is an N by 1 vector of complex numbers, where each number represents the amplitude and phase of the OFDM subcarrier. CSIApx supports U configurations. Configuration u selects a set of P.sub.u base sinusoids, which are sinusoids on constant frequencies, denoted as f.sub.u,k for k=1, 2, . . . , P.sub.u. To reduce the complexity, different configurations may share some common base sinusoids. If configuration u is selected by CSIApx, Y will be compressed into P.sub.u complex numbers. P.sub.u is called the order of configuration u.
(118) The preprocessing steps of CSIApx are performed only once. A first preprocessing step includes, computing the original and conjugate of the base sinusoid vectors for all configurations. For example, the original base sinusoid vector k for configuration u is a sinusoid on frequency f.sub.u,k evaluated on N points. For any base sinusoid shared by multiple configurations, such computation is to be performed only once. In a second preprocessing step, for each configuration, say, configuration u, compute a P.sub.u by P.sub.u matrix Q.sub.u.sup.−1 which is a constant matrix and is the inverse of matrix Q.sub.u, where element (k,h) is Σ.sub.j=1.sup.Ne.sup.i(f.sup.
(119) Various methods are known in the art for measuring the CSI of the OFDM wireless signal at the receiver. The procedure of actual CSI measurement at the receiver is beyond the scope of the present invention. The present invention can successfully operate with any method of real-time CSI measurement, including, but not limited to, pilot based CSI measurement, blind SCI measure and data assisted n pilot based CSI measurement.
(120) After using the existing method to measure the CSI of the OFDM wireless signal at the receiver, a first real-time compression step includes, for each configuration, say, configuration u: (a) Obtain the dot product of Y with the conjugate of each base sinusoid. Note that for any base sinusoid shared by multiple configurations, such computation is to be done only once. Store the results in a P.sub.u by 1 vector S.sub.u, (b) Compute Γ.sub.u=Q.sub.u.sup.−1S.sub.u. Element k in Γ.sub.u is denoted as T.sub.u,k, and (c) Compute the sampled fit at L evenly spaced locations. For example, for a location h, it is Σ.sub.k=1.sup.P.sup.
(121) In various experimental embodiments, CSI data was collected using the Atheros CSITool installed on 2 laptops with the Atheros AR9462 wireless card with 2 antennas on 20 MHz channels. A total of 100 experiments in various location settings were conducted, which include typical environments like office buildings, apartment complexes, and large hallways. The experiments include both line of sight and non-line of sight cases as well as varying channel conditions due to human movements near the machines. Some of the experiments locations are shown in
(122) The CSITool reports the CSI on 56 selected subcarriers for 4 antenna pairs.
(123) For comparison, the known CTDP (Continuous Time Domain Parameters) channel estimation was implemented. The CTDP iteratively selects a sinusoid that best matches the current residual signal, until the power of the selected sinusoid is below a threshold. CTDP is chosen because it is one of the more recent methods and has a good performance. As CTDP requires the noise power value, which needs to be estimated with the experimental data and the original CTDP design does not specify how the noise level is estimated, the fit residual found by CSIApx is used as the estimate of the total noise power, which should be very close. Another constrained version of CTDP, referred to as cCTDP, is also evaluated, with which the fit residuals of CTDP and CSIApx can be compared when using similar number of sinusoids. That is, with cCTDP, the number of sinusoids used is the smallest upper bound of the average number of sinusoids used by CSIApx for the same CSI measurement, noting that CSIApx may use different configurations for different antenna pairs. The frequency range of sinusoids scanned in CTDP and cCTDP is [−0.785,157], which should cover all frequencies in the CSI. It should also be mentioned that as CTDP has to solve an optimization problem to select the frequency of a sinusoid in each iteration, it has much higher implementation complexity than CSIApx, because CSIApx avoids this problem altogether by using constant frequencies.
(124)
(125)
(126) It can be seen that the fit residual of CSIApx in most cases are very small with a median of 0.0828 for all antenna pairs, which translates to an error of 0.0005 per data point. The fit residual of CTDP is better with a median of 0.0467, however it is at a cost of a much lower compression ratio, as the average compression ratio of CSIApx against 40 subcarriers is 7.68, much better than CTDP, which is 3.59. Close examinations of the fits show that CSIApx actually fits the signal very well, and its fit residual is mainly the quantization noise, such as those shown in
(127) The end result of the compression method can be the MU-MIMO data rate of the users. In one embodiment, the MU-MIMO rate program is used, which first calculates the modulation parameters with the supplied imperfect CSI, then finds the achievable data rate when the selected parameters are used on the actual channel. The program is configured to use the greedy method for user selection and run at SNR of 20 dB. For each subcarrier, the program is run twice, feeding the compressed and the measured CSI to the program to obtain two values, representing total data rates to all users with imperfect and perfect CSI, respectively. The difference between the two, divided by the latter, is referred to as the “normalized rate difference”, and is used as the metric.
(128) In the experimental tests, a total of 1500 tests were run, where each test includes one sender and 2 receivers. In each test, the CSI collected from experiments where the sender was at a fixed location for 4 receivers is used and 2 receivers are randomly selected from the 4 actual receivers. As the link is 2 by 2 but each MU-MIMO receiver has only 1 antenna, the first antenna is selected for each receiver.
(129)
(130) One of the advantageous features of CSIApx is that the fit coefficients stay in a small range, making it simple and inexpensive to quantize and transmit the coefficients as the compressed CSI.
(131) In an additional exemplary embodiment, CSIApx is further tested with synthesized CSI data, which complements the experimental evaluation by challenging CSIApx with more channel types and testing CSIApx under controllable settings such as the Signal to Noise Ratio (SNR) level.
(132) In the exemplary embodiment, the known channel model code is used to generate CSI for all 64 subcarriers in Wi-Fi on 20 MHz channels for 3 by 3 links with 9 antenna pairs. Four cases, referred to as Model B, Model C, Model D and Model E, are used, which represent typical indoor environments with around 100 ns, 200 ns, 400 ns, and 800 ns delay spread, respectively, which should cover the majority of typical Wi-Fi channels.
(133) As in the experimental data, the maximum amplitude is normalized to 1. White Gaussian noise was added to the CSI vector and a total of 1000 test cases were performed for each SNR level. To simulate imperfect rotation, the CSI is further multiplied by a sinusoid with frequency randomly selected form [−0.0491,0.0491], which translate to within ±25 ns of timing error. The frequency range of sinusoids scanned in CTDP and cCTDP is [−0.0491,1.57], which includes all frequencies in the CSI. As with the experimental data, when evaluating CSIApx, the CSI for all antenna pairs are multiplied by a sinusoid with a positive frequency of 0.0491.
(134)
(135) MU-MIMO rate was also tested in a similar manner as with the experimental data.
(136)
(137) Even higher compression ratio can be achieved for CSIApx by running Huffman coding on the coefficients, taking advantage of the fact that the distribution of the real and imaginary parts of the coefficients, such as that in
(138) The Wi-Fi standard includes an option to use the Givens Rotation to compress CSI to be sent during the channel sounding procedure. That is, instead of sending the entire CSI, it calculates a compressed feedback matrix by zeroing out some elements, which is later reconstituted to obtain the full CSI. As detailed below, the present invention provides a head-to-head comparison between CSIApx and the Given's rotation method, and argues that CSIApx is a better alternative.
(139) Givens Rotation is lossless in the sense that it does not change the CSI during the compression, and the other end of the communication link can exactly reproduce the measured CSI. It therefore appears that Given's rotation will have higher accuracy than CSIApx, because CSIApx is based on approximation. This is true when the measured CSI is clean, i.e., without any noise. However, measurement noise and quantization noise always exist. In such cases, CSIApx actually achieves better accuracy than the Given's rotation, i.e., the CSI with CSIApx follows the shape of the actual CSI more closely than the Givens Rotation, which is corrupted by noise. To be more fair, before applying Given's Rotation, certain filter can be applied to reduce the noise level. Still, it is found that CSIApx achieves better accuracy, which, from a high level, is because when fitting a CSI curve, CSIApx also serves as a filter, which is better than other general purpose filters.
(140) In the following comparison, the model data is used, because the clean CSI is available for comparison. Before the Givens rotation, a low-pass filter is used in an attempt to filter out some noise, as it is expected that such filter will be used in practice. Due to the low pass filter, only the middle 50 subcarriers are used in this comparison.
(141) The first accuracy is further evaluated by comparing the data rate achieved in a MU-MIMO setting fro both CSIApx and Givens Rotation.
(142)
(143)
(144) In a second step illustrated with reference to
(145) In the third step, illustrated with reference to
(146)
(147) The method further includes, accessing a plurality of configurations stored at the receiver, wherein each of the plurality of configurations “u” identifies a set of P.sub.u base sinusoid vectors on constant frequencies and wherein P.sub.u is the order of the configuration which is equal to the number of complex numbers of the compressed CSI 510 if configuration u is selected, calculating, for each of the plurality of configurations, a dot product of the N by 1 CSI vector and a conjugate of each P.sub.u base sinusoid vector identified by the selected configuration to generate a P.sub.u by 1 projection vector 515, calculating, for each of the plurality of configurations, a product of a constant P.sub.u by P.sub.u matrix stored at the receiver and the P.sub.u by 1 projection vector to generate a P.sub.u by 1 coefficient vector 520 and calculating, for each of the plurality of configurations u, a minimum squared error (MSE) fit with the P.sub.u by 1 coefficient vector on L evenly-spaced locations 525, where L is smaller than N, by multiplying each of the P.sub.u base sinusoids with the corresponding coefficient in the coefficient vector and taking the summation, at each of the L evenly-spaced locations.
(148) After MSE fits for all configurations at the sampling locations have been calculated, the method continues by selecting a configuration u and use its P.sub.u by 1 coefficient vector as the compressed CSI, if the total fit residual of the MSE fit of configuration u is below a predetermined threshold 530 times the minimum fit residual among all configurations, and u is such a configuration with the lowest order, transmitting the compressed CSI to the transmitter of the wireless communication system 535, which may decompress the CSI by computing a linear combination of the base sinusoids, based upon the decompressed CSI 540.
(149) As such, in various embodiments, the present invention describes a system and method for compression of the CSI, referred to as CSIApx, which provides a fast and lightweight method for compressing the CSI of OFDM wireless links. Following the proof that almost any sinusoid can be approximated within a small bounded error as the linear combination of a small number of base sinusoids on constant frequencies and exploiting the constant frequencies of the base sinusoids, it is shown that CSIApx pre-computes key steps and can find a minimum square error fit of the CSI vector with very few computations.
(150) The evaluations of CSIApx with both experimental and synthesized CSI data, show that CSIApx achieves very good compression ratios and approximation accuracy, significantly outperforming the existing solution in nearly all cases at much lower computation cost. As such, CSIApx is considered to be a very useful tool to be incorporated into the Wi-Fi protocol, and will enable timely and accurate CSI feedback to improve the network performance.
(151) The present invention may be implemented in hardware, because of its simplicity and low complexity. It can also be embodied on various computing platforms that perform actions responsive to software-based instructions. The following provides an antecedent basis for the information technology that may be utilized to enable the invention.
(152) The computer readable medium described in the claims below may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any non-transitory, tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
(153) A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. However, as indicated above, due to circuit statutory subject matter restrictions, claims to this invention as a software product are those embodied in a non-transitory software medium such as a computer hard drive, flash-RAM, optical disk or the like.
(154) Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wire-line, optical fiber cable, radio frequency, etc., or any suitable combination of the foregoing. Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C#, C++, Visual Basic or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
(155) Aspects of the present invention are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
(156) These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
(157) It will be seen that the advantages set forth above, and those made apparent from the foregoing description, are efficiently attained and since certain changes may be made in the above construction without departing from the scope of the invention, it is intended that all matters contained in the foregoing description or shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.
(158) It is also to be understood that the following claims are intended to cover all of the generic and specific features of the invention herein described, and all statements of the scope of the invention which, as a matter of language, might be said to fall there between.