Device and method for dynamically reducing interference
11784852 · 2023-10-10
Assignee
Inventors
- Yoav Levinbook (Hod Hasharon, IL)
- Doron EZRI (Hod Hasharon, IL)
- Nadav Basson (Hod Hasharon, IL)
- Jie Fu (Nanjing, CN)
Cpc classification
H04L5/0046
ELECTRICITY
H04L5/0048
ELECTRICITY
H04B7/0854
ELECTRICITY
International classification
Abstract
A device is configured to calculate a set of channel estimates for a plurality of sub-carriers based on a plurality of pilot-symbols and/or data-symbols carried by said plurality of sub-carriers; calculate a set of equalizers for the plurality of sub-carriers based on the set of channel estimates; perform an equalization on a plurality of data-symbols using the set of equalizers for obtaining a plurality of equalized symbols; perform a soft-slicing or hard-slicing procedure comprising obtaining a plurality of estimated symbols based on the equalized symbols; calculate at least one diagonal-loaded interference-plus-noise covariance matrix, based on the set of estimated symbols; de-map the plurality of data symbols to soft-bits, based on the at least one diagonal-loaded interference-plus-noise covariance matrix, the set of channel estimates or an updated version thereof; and feed the soft-bits to a channel decoder.
Claims
1. A device, comprising: at least one processor; and a non-transitory computer-readable storage medium storing a program that is executable by the at least one processor, the program comprising instructions to: calculate a set of channel estimates for a plurality of sub-carriers based on a plurality of pilot symbols or a first plurality of data symbols carried by the plurality of sub-carriers; calculate a set of equalizers for the plurality of sub-carriers based on the set of channel estimates; perform an equalization on a second plurality of data symbols, using the set of equalizers, to obtain a plurality of equalized symbols, wherein the first plurality of data symbols and the second plurality of data symbols are a same set of data symbols or a different set of data symbols; perform a soft-slicing procedure or a hard-slicing procedure comprising obtaining a plurality of estimated symbols based on the plurality of equalized symbols; calculate at least one diagonal-loaded interference-plus-noise covariance matrix, based on the plurality of estimated symbols; de-map the second plurality of data symbols to soft-bits, based on the at least one diagonal-loaded interference-plus-noise covariance matrix, the set of channel estimates, or an updated version of the set of channel estimates; and feed the soft-bits to a channel decoder.
2. The device according to claim 1, wherein the program further comprises instructions to: calculate a subsequent set of equalizers for the plurality of sub-carriers, based on the at least one diagonal-loaded interference-plus-noise covariance matrix and the set of channel estimates or the updated version of the set of channel estimates.
3. The device according to claim 2, wherein the program further comprises instructions to: calculate at least one whitening matrix based on the at least one diagonal-loaded interference-plus-noise covariance matrix; and wherein calculating the subsequent set of equalizers for the plurality of sub-carriers, based on the at least one diagonal-loaded interference-plus-noise covariance matrix and the set of channel estimates or the updated version of the set of channel estimates, comprises: calculating the subsequent set of equalizers for the plurality of sub-carriers based on the at least one whitening matrix, the at least one diagonal-loaded interference-plus-noise covariance matrix, and the set of channel estimates or the updated version of the set of channel estimates; and wherein de-mapping the second plurality of data symbols to soft-bits, based on the at least one diagonal-loaded interference-plus-noise covariance matrix, the set of channel estimates, or the updated version of the set of channel estimates comprises: de-mapping the second plurality of data symbols into soft-bits, based on the at least one whitening matrix and the at least one diagonal-loaded interference-plus-noise covariance matrix, the set of channel estimates, or the updated version of the set of channel estimates.
4. The device according to claim 3, wherein the program further comprises instructions to: perform a whitening operation on the second plurality of data symbols, using the at least one whitening matrix, to obtain a plurality of whitened data symbols; and perform a whitening operation on the set of channel estimates or the updated version of the set of channel estimates, using the at least one whitening matrix, to obtain a set of whitened channel estimates; wherein calculating the subsequent set of equalizers for the plurality of sub-carriers based on the at least one whitening matrix, the at least one diagonal-loaded interference-plus-noise covariance matrix, and the set of channel estimates or the updated version of the set of channel estimates comprises: calculating the subsequent set of equalizers for the plurality of sub-carriers based on calculating the subsequent set of equalizers for the plurality of sub-carriers based on the set of whitened channel estimates, the at least one whitening matrix, and the at least one diagonal-loaded interference-plus-noise covariance matrix; and wherein de-mapping the second plurality of data symbols into soft-bits, based on the at least one whitening matrix and the at least one diagonal-loaded interference-plus-noise covariance matrix, and the set of channel estimates, or the updated version of the set of channel estimates, comprises: de-mapping the whitened data symbols into soft-bits, based on the subsequent set of equalizers or the whitened channel estimates, the at least one whitening matrix, and the at least one diagonal-loaded interference-plus-noise covariance matrix.
5. The device according to claim 4, wherein the program comprises instructions to: whiten a received input vector for a determined sub-carrier (SC) based on an inverse Cholesky matrix of the at least one diagonal-loaded interference-plus-noise covariance matrix, and apply the subsequent set of equalizers on the whitened input vector for the determined SC; or apply the subsequent set of equalizers on an inverse Cholesky matrix of the at least one diagonal-loaded interference-plus-noise covariance matrix, to obtain a result, and apply the obtained result on a received input vector for a determined sub-carrier (SC).
6. The device according to claim 4, wherein the program comprises further instructions to: perform an inner-iteration procedure comprising performing a predefined number of inner-iterations, wherein each inner-iteration is performed on the same plurality of data symbols, and wherein in each inner-iteration, the following steps are performed: performing the equalization using the set of equalizers calculated in a previous inner-iteration, or in a case of a first inner-iteration, using the set of equalizers calculated for the plurality of sub-carriers based on the set of channel estimates, performing the soft-slicing procedure or the hard-slicing procedure, calculating the at least one diagonal-loaded interference-plus-noise covariance matrix, calculating the at least one whitening matrix, performing the whitening operation on the second plurality of data symbols, performing the whitening operation to obtain the set of whitened channel estimates, and calculating another set of equalizers.
7. The device according to claim 4, wherein the program comprises instructions to: perform an outer-iteration procedure comprising performing a predefined number of outer-iterations, wherein each outer-iteration is performed on a different plurality of data-symbols than a previous outer-iteration, and wherein in each outer-iteration the following steps are performed: performing the equalization using the set of equalizers calculated in a previous outer-iteration or an inner-iteration, or in a case of a first outer-iteration, using the set of equalizers calculated for the plurality of sub-carriers based on the set of channel estimates, performing the soft-slicing procedure or the hard-slicing procedure, calculating the at least one diagonal-loaded interference-plus-noise covariance matrix, calculating the at least one whitening matrix, performing the whitening operation on the second plurality of data symbols, performing the whitening operation to obtain the set of whitened channel estimates, and calculating another set of equalizers.
8. The device according to claim 7, wherein a predefined number of outer-iterations is determined based on a detected drop in per-stream post processing Signal-to-Interference-Plus-Noise Ratio (pp-SINR) level.
9. The device according to claim 4, wherein performing the whitening operation on the set of channel estimates or the updated version of the set of channel estimates, using the at least one whitening matrix, to obtain the set of whitened channel estimates, comprises: multiplying at least one channel estimates matrix for a determined sub-carrier (SC), or an updated version thereof, by an inverse Cholesky matrix of the at least one diagonal-loaded interference-plus-noise covariance matrix.
10. The device according to claim 1, wherein calculating the at least one diagonal-loaded interference-plus-noise covariance matrix, based on the plurality of estimated symbols comprises: calculating at least one interference-plus-noise covariance matrix; and adding a diagonal matrix to the at least one interference-plus-noise covariance matrix, to calculate the at least one diagonal-loaded interference-plus-noise covariance matrix.
11. The device according to claim 1, wherein the program further comprises instructions to: calculate an inverse Cholesky matrix of the at least one diagonal-loaded interference-plus-noise covariance matrix.
12. The device according to claim 11, wherein the inverse Cholesky matrix is calculated by performing a Cholesky decomposition on the at least one diagonal-loaded interference-plus-noise covariance matrix.
13. The device according to claim 1, wherein the program further includes instructions to: divide a plurality of sub-carriers (SCs) into sub-bands, wherein each sub-band comprises a predetermined number of SCs, and wherein an interference-plus-noise covariance matrix is estimated per each sub-band.
14. The device according to claim 1, wherein the program further includes instructions to: calculate a first set of per-stream post processing Signal-to-Interference-Plus-Noise Ratio (pp-SINR) for the plurality of sub-carriers based on the plurality of pilot symbols, or the first plurality of data symbols or the set of channel estimates carried by the plurality of sub-carriers; and calculate a second set of per stream pp-SINR for the plurality of sub-carriers based on a plurality of equalized symbols and a plurality of estimated symbols.
15. The device according to claim 14, wherein the program further includes instructions to: calculate, from the first set of per-stream pp-SINR, a single per-stream pp-SINR vector representing an average pp-SINR of the first set of per-stream pp-SINR; calculate, from the second set of per-stream pp-SINR, a single per-stream pp-SINR vector representing an average pp-SINR of the second set of per-stream pp-SINR; and calculate a pp-SINR difference vector as the difference between the average pp-SINR of the first set of per-stream pp-SINR and the average pp-SINR of the second set of per-stream pp-SINR.
16. The device according to claim 15, wherein the program further includes instructions to: detect a drop in pp-SINR level for the plurality of sub-carriers.
17. The device according to claim 16, wherein the drop in the pp-SINR is detected based on the pp-SINR difference vector.
18. The device according to claim 1, wherein the set of equalizers is based on a Minimum Mean Square Error (MMSE) equalizer or a Zero Forcing (ZF) equalizer.
19. A method, comprising: calculating a set of channel estimates for a plurality of sub-carriers based on a plurality of pilot symbols or a first plurality of data symbols carried by the plurality of sub-carriers; calculating a set of equalizers for the plurality of sub-carriers based on the set of channel estimates; performing an equalization on a second plurality of data symbols using the set of equalizers, to obtain a plurality of equalized symbols, wherein the first plurality of data symbols and the second plurality of data symbols are a same set of data symbols or a different set of data symbols; performing a soft-slicing procedure or a hard-slicing procedure comprising obtaining a plurality of estimated symbols based on the plurality of equalized symbols; calculating at least one diagonal-loaded interference-plus-noise covariance matrix, based on the plurality of estimated symbols; de-mapping the second plurality of data symbols to soft-bits, based on the at least one diagonal-loaded interference-plus-noise covariance matrix, the set of channel estimates, or an updated version of the set of channel estimates; and feeding the soft-bits to a channel decoder.
20. A non-transitory computer-readable storage medium comprising codes that are executable by a computer, wherein the codes comprise instructions for: calculating a set of channel estimates for a plurality of sub-carriers based on a plurality of pilot symbols or a first plurality of data symbols carried by the plurality of sub-carriers; calculating a set of equalizers for the plurality of sub-carriers based on the set of channel estimates; performing an equalization on a second plurality of data symbols using the set of equalizers, to obtain a plurality of equalized symbols, wherein the first plurality of data symbols and the second plurality of data symbols are a same set of data symbols or a different set of data symbols; performing a soft-slicing procedure or a hard-slicing procedure comprising obtaining a plurality of estimated symbols based on the plurality of equalized symbols; calculating at least one diagonal-loaded interference-plus-noise covariance matrix, based on the plurality of estimated symbols; de-mapping the second plurality of data symbols to soft-bits, based on the at least one diagonal-loaded interference-plus-noise covariance matrix, the set of channel estimates, or an updated version of the set of channel estimates; and feeding the soft-bits to a channel decoder.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The above described aspects and implementation forms of this disclosure will be explained in the following description of specific embodiments in relation to the enclosed drawings, in which
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
(15)
(16) The device 100 is configured to calculate a set of channel estimates 101 for a plurality of sub-carriers no based on a plurality of pilot-symbols and/or data-symbols carried by said plurality of sub-carriers 110.
(17) The device 100 is further configured to calculate a set of equalizers 102 for the plurality of sub-carriers no based on the set of channel estimates 101.
(18) The device 100 is further configured to perform an equalization on a plurality of data-symbols using the set of equalizers 102 for obtaining a plurality of equalized symbols 103.
(19) The device 100 is further configured to perform a soft-slicing or hard-slicing procedure comprising obtaining a plurality of estimated symbols 104 based on the equalized symbols 103.
(20) The device 100 is further configured to calculate at least one diagonal-loaded interference-plus-noise covariance matrix 105, based on the set of estimated symbols 104.
(21) The device 100 is further configured to de-map the plurality of data symbols to soft-bits 106, based on the at least one diagonal-loaded interference-plus-noise covariance matrix 105, the set of channel estimates 101 or an updated version thereof.
(22) The device 100 is further configured to feed the soft-bits 106 to a channel decoder.
(23) The device 100 may be a receiver device. The device 100 may comprise a circuitry (not shown in
(24) Moreover, the device 100 may achieve a significant performance gain in the presence of dynamic interferer. Reference is made to
(25) In the diagram 200 of
(26) Reference is made to
(27) In the diagram 300 of
(28) For example, it may be assumed that the interferer transmits two spatial streams and polarized antennas are used by the AP, the station, and the interferer.
(29) Also, this process may be performed, one time with D-IRC being “on” and one time with D-IRC being “off”. Afterwards, the goodput between these two options may be compared. In the diagram 300 of
(30) For example, as it is indicated with the reference 301, the standard techniques enable working only when the interference is much weaker than the desired signal: SIR>˜14 dB.
(31) Moreover, as it is indicated with the reference 302, the D-IRC allows working when interference is as strong as the desired signal or even stronger.
(32) Reference is made to
(33) The diagram 400 of
(34) Moreover, in some embodiments of this disclosure, there is no negative gain (no degradation when there is no interferer or there is static interferer).
(35) Reference is made to
(36) Moreover, in some embodiments of this disclosure, with respect to the computational complexity, the D-IRC usually requires less than three iterations (even one iteration gives considerable gain) so it is feasible in terms of complexity.
(37) Reference is made to
(38) The device 100 may provide (e.g., perform) the D-IRC algorithm, for example, as it is illustrated in diagram 600 of
(39) The D-IRC block diagram 600 may include several variables which are briefly defined as follows: for a given matrix A, the variable [A].sub.i,j denotes the element in the i.sup.th row and j.sup.th column of the matrix A. For a given square matrix A, the variable diag(A) denotes the column vector resulted from taking its diagonal elements.
(40) For a given vector a, the variable [a].sub.i denotes the i.sup.th element of the vector a. For a given vector a, the variable diag(a) denotes the resulted diagonal matrix such that the [diag(A)].sub.i,i=[a].sub.i.
(41) Moreover, 1 denotes a vector of all ones (its dimension is implicitly implied from the equation). N.sub.r denotes the number of Rx antennas and N.sub.s denotes the number of spatial streams. Furthermore, M and d.sub.min denote the constellation size and constellation minimum distance, respectively.
(42) In the following, for the sake of illustration, an embodiment of this disclosure is discussed for the case that all streams have the same constellation. However, the embodiments of this disclosure are not limited to the above mentioned case, and the results can be extended to the more general case.
(43) For instance, the SCs are divided into sub-bands, each sub-band has N subcarriers. Moreover, a single covariance matrix is estimated per each sub-band (and also inverse Cholesky of the covariance matrix), this reduces complexity and also necessary for good covariance estimation. In the calculation of each sub-band's covariance matrix, the N sub-carriers of the sub-band are used and up to Ñ subcarriers from the adjacent sub-bands. Here, for simplicity we assume Ñ=0.
(44) Table I below summarizes the different variables (vectors, matrices, etc.) used by the D-IRC algorithm per the kth SC, and gives there dimensions and description.
(45) TABLE-US-00001 TABLE I Description of different variables of D-IRC algorithm and their dimensions Variable Dimensions Description y.sub.k N.sub.r × 1 Received input vector for the kth SC H.sub.k N.sub.r × N.sub.s Estimated channel for the kth SC C.sub.k N.sub.r × N.sub.r Estimated noise covariance matrix of the kth SC (same covariance for a sub-band of N SC) G .sub.k N.sub.s × N.sub.r LMMSE equalizer for the kth SC. C.sub.k.sup.−1/2 N.sub.r × N.sub.r Inverse Cholesky of the covariance matrix C.sub.k (same inverse Cholesky for a band of N SC) {circumflex over (σ)}.sub.k.sup.2 N.sub.s × 1 Post processing noise variance (1/ppSNR) of the kth SC {circumflex over (x)}.sub.k N.sub.s × 1 Estimated TX vector for the kth SC (at the LMMSE equalizer output) {circumflex over (x)}.sub.k = G .sub.kC.sub.k.sup.−1/2y .sub.k
(46) The inputs of the D-IRC algorithm may be, for each OFDM symbol y.sub.k of that symbol and H.sub.k (which may be calculated at the preamble). In addition, at the first symbol after preamble, the G.sub.prev, C.sub.prev.sup.−1/2 and {circumflex over (σ)}.sub.prev.sup.2 are initialized to G, C.sup.−1/2, and {circumflex over (σ)}.sup.2 from the preamble. The outputs of the D-IRC algorithm are G, C.sup.−1/2 and {circumflex over (σ)}.sup.2 (where linear decoder is assumed for now).
(47) In the diagram 600 depicting the D-IRC algorithm, the SC index k is omitted for the sake of simplicity.
(48) The D-IRC block diagram 600 may comprise several sub-blocks including the equalization sub-block 601, the soft-slicing sub-block 602, the covariance estimation sub-block 603, the inverse Cholesky sub-block 604, the H whitening sub-block 605, the Slicing var calculation sub-block 606, and the Equalizer and pp SNR calculation sub-block 607.
(49) Moreover, the D-IRC algorithm may perform a predefined number of L iterations and an additional equalization step each OFDM symbol. Each iteration comprises performing equalization, soft-slicing, covariance estimation, inverse Cholesky, H whitening, Slicing var calculation, and Equalizer and pp SNR calculation steps. At the first iteration, the equalizer, inverse Cholesky matrix and post processing noise variance are taken from previous symbol. Otherwise, they are taken from previous iteration.
(50) Let us elaborate on the sub-blocks of the D-IRC algorithm.
(51) For instance, the D-IRC algorithm may comprises several sub-blocks in which in each sub-blocks a respective operation is performed.
(52) The equalization sub-block 601 may whiten the y.sub.k and then applies the equalization matrix G.sub.k, according to Eq. (10) as follows:
{circumflex over (x)}.sub.k=G.sub.kC.sub.prev,k.sup.−1/2y.sub.k. Eq. (10)
(53) In some embodiments of this disclosure (for example, the multi-stream case), it seems better to first whiten y.sub.k, i.e., according to Eq. (11) as follows:
{tilde over (y)}.sub.k=C.sub.prev,k.sup.−1/2y.sub.k Eq. (11)
(54) and then equalize by G.sub.k.
(55) In some embodiments of this disclosure (for example, the single stream case), it may be sometimes better to first calculate, i.e., according to Eq. (12) as follows:
w.sup.H=G.sub.kC.sub.prev,k.sup.−1/2 Eq. (12)
and then apply
{circumflex over (x)}.sub.k=w.sup.Hy.sub.k. Eq. (13)
(56) The soft-slicing sub-block 602 applies on the r.sup.th stream the soft slicing function as follows:
(57)
and all the operations above on the vector {circumflex over (x)} may be understood as element-wise.
(58) Note that in constellations higher than QPSK, the soft slicing is an approximation of the full conditional mean. When treating the real and imaginary components of [
(59) The soft slicing noise variance
(60)
To see that, note that in the case of QPSK:
[
(61) In the case of higher modulations, the same approximation of considering only the two closest points in each component of [
(62) The D-IRC block diagram may further comprise the covariance estimation sub-block 603. Here, the SCs are divided into sub-bands and a single covariance is estimated per band.
(63) For example, when fixing a sub-band and when k denote a SC in the sub-band, then the covariance is estimated according to:
(64)
where the summation is over all N SC in the sub-band. The β parameter is needed to account for some necessary diagonal loading.
(65) A more accurate estimation for noise covariance may be:
(66)
(67) So in fact when C.sub.k is used instead of the more accurate {tilde over (C)}.sub.k, the resulted noise covariance matrix is not the identity matrix.
(68) On the other hand, when using the more accurate version {tilde over (C)}.sub.k, results in losing the property that the estimated covariance is fixed for the whole sub-band and significantly increases the complexity. This problem may be tackled by using the less accurate C.sub.k and compensating for the H.sub.kΔ.sub.kH.sub.k.sup.H term in the equalizer and post processing noise variance calculations.
(69) The Inverse Cholesky sub-block 604 performs Cholesky decomposition and then inversion of the resulted lower triangular matrix; it outputs the matrix C.sub.k.sup.−1/2.
(70) The H whitening sub-block 605 simply calculates Eq. (20) as follows:
{tilde over (H)}.sub.k=C.sub.k.sup.−1/2H.sub.k. Eq. (20)
(71) The Slicing var estimation sub-block 606 estimates the variance of the soft symbols per stream and outputs it as the diagonal of the diagonal matrix Δ.sub.k. This is done by averaging over all SCs in the band, i.e., according to Eq. (21) as follows:
(72)
where the summation is over all subcarriers in the band.
(73) The D-IRC block diagram may further comprise the equalizer and PP SINR calculation sub-block 607. For example, First, the H.sub.kΔ.sub.kH.sub.k.sup.H term mentioned earlier may be ignored Then in the multi-stream case, the following equations may be derived:
{circumflex over (σ)}.sub.k.sup.2′=diag(γ.sub.k′).sup.−1 diag(R.sub.k′) Eq. (22)
G.sub.k′=diag(γ.sub.k′).sup.−1R.sub.k′{tilde over (H)}.sub.k.sup.H, Eq. (23)
where
R.sub.k′=({tilde over (H)}.sub.k.sup.H{tilde over (H)}.sub.k+I).sup.−1 Eq. (24)
and
γ.sub.k′=1−diag(R.sub.k). Eq. (25)
(74) This is reduced in the single stream case to:
(75)
(76) Next, by taking into account the H.sub.kΔ.sub.kH.sub.k.sup.H term. It can be shown that:
{circumflex over (σ)}.sub.k.sup.2=diag(γ.sub.k).sup.−1diag(R.sub.k)+diag(Δ) Eq. (28)
G.sub.k=diag(γ.sub.k).sup.−1R.sub.k{tilde over (H)}.sub.k.sup.H, Eq. (29)
where
R.sub.k=({tilde over (H)}.sup.H{tilde over (H)}+(I+Δ).sup.−1).sup.−1 and γ.sub.k=1−(I+Δ).sup.−1diag(R.sub.k). Eq. (30)
In the single stream case this reduces into:
(77)
Note: in the single stream case the Δ correction only effects {circumflex over (σ)}.sub.k.sup.2 and in fact {circumflex over (σ)}.sub.k.sup.2={circumflex over (σ)}.sub.k.sup.2′+Δ and G.sub.k=G.sub.k′. In the multi-stream, this is not true anymore, but in fact holds approximately, in the sense that the whole Δ correction mainly effects the calculation of {circumflex over (σ)}.sub.k.sup.2. Indeed, if assuming [Δ].sub.r,r<1 for r=1, . . . , N.sub.s then it may be possible to approximate I+Δ≈I and it may be possible to get R.sub.k≈R.sub.k′ and γ.sub.k≈γ.sub.k′. So in fact,
{circumflex over (σ)}.sub.k.sup.2≈{circumflex over (σ)}.sub.k.sup.2′+diag(Δ) and G.sub.k≈G.sub.k′. Eq. (33)
(78) This can enable to work with standard MMSE equalizer and not make the necessary modifications. Note however, that the Δ term is significant in post-processing noise variance calculations and without it, the calculated post-processing noise variance {circumflex over (σ)}.sub.k.sup.2 can be significantly underestimated.
(79) Reference is made to
(80) The D-IRC SNR detector may determine whether to enable the D-IRC or not; this is important in order to avoid degradation in the case of no-interference and the case of static interference relative to non-IRC decoding and IRC, respectively.
(81) The D-IRC SNR detector can make decisions separately on 20 Mhz bands, i.e., it may employ D-IRC on 20 Mhz bands and non-IRC decoding on another band (other granularities are also possible). In the following, is focused on a single 20 Mhz band.
(82) Initially the processing starts from non-IRC or plain vanilla IRC, where non-IRC is the default choice and IRC is the choice in case that it is determined there is an interference on the preamble. Each OFDM symbol a detector is used to detect a drop in post-processing SINR level. Moreover, only if such a drop is detected the processing switches from non-IRC/IRC to the D-IRC and performs the D-IRC throughout the remaining symbols. Thus in the case of no interference or static interference, the performance should remain similar to that of non-IRC and IRC, respectively.
(83) Here, the processing is described up to the OFDM symbol in which dynamic interference is detected (afterwards the algorithm becomes D-IRC). The algorithm is based on part of the calculations done in the first iteration of D-IRC (mainly the soft-slicing) and a detector that detects post-processing SINR drop. If at a certain symbol the detector detects a drop, it outputs D-IRC enable=1; the D-IRC completes the first iteration and continues with remaining iterations, and in the remaining symbols it works as plan D-IRC.
(84) In the diagram 700, the G.sub.prev is the equalizer calculated on the preamble and it is not recalculated, unless SINR drop is detected. Also C.sub.prev.sup.−1/2 is based on the preamble. It should be understood as the inverse Cholesky of the covariance matrix estimated on the preamble, in the case of starting from IRC on the preamble. Moreover, in the case of non-IRC, it should be understood as a diagonal matrix whose i.sup.th diagonal element holds
(85)
where σ.sub.i is the estimated noise variance of the i.sup.th RX antenna. Finally, {circumflex over (σ)}.sub.prev.sup.2 is also taken from the preamble and is the post-processing noise variance vector and is also averaged (once during preamble) over all SCs in the 20 MHz band to yield the λ.sub.prev.
(86) The D-IRC sub-blocks that are employed each symbol are the equalization 701, which yields {circumflex over (x)}, the soft-slicing 702, which yields
(87) The post-processing noise variance estimation sub-block 704 works on each sub-band. The inputs of the post-processing noise variance estimation sub-block 704 are
(88) The output of the post-processing noise variance estimation sub-block 704 is:
(89)
where the sum is over all SCs in the sub-band.
(90) The Post-processing SINR drop detector sub-block 705 averages {circumflex over (σ)}.sup.2 over all sub-bands to yield λ and compares it to λ.sub.prev If max (λ−λ.sub.prev)≥SINR_DROP_TH, then D-IRC enable=1, otherwise it equals 0.
(91)
(92) The method 800 comprises a step 801 of calculating a set of channel estimates 101 for a plurality of sub-carriers no based on a plurality of pilot-symbols and/or data-symbols carried by said plurality of sub-carriers 110.
(93) The method 800 further comprises a step 802 of calculating a set of equalizers 102 for the plurality of sub-carriers no based on the set of channel estimates 101.
(94) The method 800 further comprises a step 803 of performing an equalization on a plurality of data-symbols using the set of equalizers 102 for obtaining a plurality of equalized symbols 103.
(95) The method 800 further comprises a step 804 of performing a soft-slicing or hard-slicing procedure comprising obtaining a plurality of estimated symbols 104 based on the equalized symbols 103.
(96) The method 800 further comprises a step 805 of calculating at least one diagonal-loaded interference-plus-noise covariance matrix 105, based on the set of estimated symbols 104.
(97) The method 800 further comprises a step 806 of de-mapping the plurality of data symbols to soft-bits 106, based on the at least one diagonal-loaded interference-plus-noise covariance matrix 105, the set of channel estimates 101 or an updated version thereof.
(98) The method 800 further comprises a step 807 of feeding the soft-bits 106 to a channel decoder.
(99) This disclosure has been described in conjunction with various embodiments as examples as well as implementations. However, other variations can be understood and effected by those persons skilled in the art and practicing the claimed invention, from the studies of the drawings, this disclosure and the independent claims. In the claims as well as in the description the word “comprising” does not exclude other elements or steps and the indefinite article “a” or “an” does not exclude a plurality. A single element or other unit may fulfill the functions of several entities or items recited in the claims. The mere fact that certain measures are recited in the mutual different dependent claims does not indicate that a combination of these measures cannot be used in an advantageous implementation.