The complexity of the D-BLAST architecture makes it difficult to implement. In 1996, Wolniansky together with Foschini, Golden and Valenzuela proposed the V-BLAST architecture, which was implemented in real time at Bell Laboratories with the first bandwidth performance of up to 20-40 bps/Hz at signal-to-noise ratios of 24 to 34 dB.
3.4.1. V-BLAST Architecture
Unlike multiplexing techniques that use frequency, time, or code dimensions to increase capacity, V-BLAST can significantly increase system capacity thanks to the spatial dimension provided by MIMO systems. Unlike CDM, V-BLAST uses only a small portion of the bandwidth required for a traditional QAM system. Unlike FDM, each transmitted symbol occupies the entire system bandwidth. And finally, unlike TDM, the entire system bandwidth is used to transmit symbols simultaneously at all times.
V-BLAST uses ๐ ๐ transmitting antennas and ๐ ๐ receiving antennas with ๐ ๐ โค ๐ ๐ . At the transmitting side, the vector coder will arrange the bits of the original data stream into symbols and divide them into ๐ ๐ sub-data streams. In V-BLAST, there is no need for inter-stream coding because each of these sub-data streams will be modulated by ๐ ๐ transmitters according to the same QAM constellation and transmitted simultaneously on ๐ ๐ antennas above the same frequency at a rate of 1/๐ ๐ symbol/s, each time the transmitter will transmit a series of L symbols. The transmitted power of each stream is proportional to 1โ๐ ๐ so the total transmitted power is constant and does not depend on the number of transmitting antennas. At the receiving side, each receiving antenna will receive signals from ๐ ๐ transmitting antennas, the signals received from ๐ ๐ receiving antennas will be processed using V-BLAST algorithms such as Zero-Forcing or MMSE to return the original data.
Tx 1 Rx 1
Flower V _BLAST
Rx 2
Rx 3
Decode V _BLAST
Tx 2
Maybe you are interested!
-
d-blast algorithm in mimo technology - 8 -
Left V Key Planing Diagram Step 5: Rough Planing and Right V Key Planing -
Learn about synchronization techniques in OFDM and OFDMA systems - 2 -
Valid (V) and Invalid (I) Bits in a Page Table -
Foreign policy of the Russian Federation under President V. Putin - 13

Tx 3
Figure 3.10. V-BLAST system
The MIMO channel is modeled by a channel ๐ป . Assuming the channel is quasi-stationary, the channel does not vary significantly over time ๐ฟ. ๐ ๐ because
So the channel is accurately estimated by sending the training sequence according to the sequence ๐ฟ
symbol emitted.
Suppose, that the symbol synchronization at the receiver is ideal. We denote the transmit symbol vector by
๐ ๐
is ๐ฅ = [๐ฅ 1 , ๐ฅ 2 , โฏ , ๐ฅ ๐ ๐ ] , the th symbol vector will be ๐ = [๐ 1 , ๐ 2 , โฏ , ๐ ๐ ๐ ] .
๐ 1
โ 11 โ 11 โฏ
โ 1๐ ๐
๐ฅ 1
๐ 1
๐ 2
[ ] =
โ 11 โ 11 โฏ
โ 2๐ ๐[ ๐ฅ 2 ] + [ ๐ 2 ] (3.37a)
โฎ โฎ โฎ โฑ โฎ โฎ โฎ
๐ ๐ ๐
[ โ ๐ ๐
1 โ ๐ ๐ 2 โฏ
โ ๐ ๐
๐ ๐ ]
๐ฅ ๐ ๐
๐ 4
With:
๐ = ๐ป๐ฅ + ๐ (3.37b)
๐ : Represents the signal received from ๐ ๐ direction ( ๐ ๐ antenna).
๐ฅ : Represents the signal received from ๐ ๐ direction ( ๐ ๐ antenna).
๐ : is the ๐ ๐ -dimensional AWGN noise vector modeled according to IID, i.e. has the same distribution
each other and independent of each other.
The V-BLAST processor at the receiver side will use the linear combinatorial nulling method to separate each sub-stream. Each sub-stream when it comes to decoding will be considered as the desired signal, the remaining streams will be considered as noise. The nulling will be done by combining the received signals in a linear weighted way to decode the signal according to a certain criterion such as MMSE (Minimum mean-sqared error) or ZF (zero-forcing).
3.4.2. V-BLAST Zero-Forcing Receiver
The received signal vector at the mth symbol is represented as follows:
๐ ๐ = โ ๐ ๐
โ ๐ฅ ๐ + ๐ ๐
(3.38)
With:
โ ๐ is the ๐th column of ๐ป
๐=1
๐ ๐
๐ฅ ๐๐ is the data stream transmitted to the ๐th antenna , these data streams are all independent of each other.
Paying attention only to the ๐th data line , we can rewrite (3.38) as follows:
๐ ๐ = โ
๐ฅ ๐ + โ ๐ ๐
โ ๐ฅ ๐ + ๐ ๐
(3.39)
๐ ๐
๐โ ๐
๐ ๐
The above expression shows that the kth data stream is disturbed by the remaining ๐ ๐โ1 data streams. The idea to remove these interferences is to project the receiving vector ๐ ๐ onto the subspace ๐ ๐ which is orthogonal to the vectors โ 1 , โฏ , โ ๐โ1 , โ ๐โ2 , โฏ โ ๐ ๐ , ๐ ๐ which can be represented by the matrix
The matrix ๐ ๐ of size ๐ ๐ ร ๐ ๐ consists of ๐ ๐ rows which are the basis vectors of the space ๐ ๐ . The projection of the resulting vector ๐ ๐ is done by multiplying ๐ ๐ by the cancellation vector ๐ ๐ orthogonal to โ 1 , โฏ , โ ๐โ1 , โ ๐โ2 , โฏ โ ๐ ๐ , ๐ ๐ will cancel the crosstalk from
๐ ๐โ1 remaining data streams and extract the kth data stream. The kth data stream after
The extracted signal will be passed through the Matched-Filter, the combination of projection and Matched-Filter is called Zero-Forcing receiver or Decorrelator or Interference Nulling receiver. The signal-to-noise ratio SNR after Matched-Filter will be:
๐๐๐
๐ ๐ ๐ ๐ ๐ ๐
(3.40)
= =
๐ ๐
๐๐ฬ ๐โ
๐ 0 โ๐
2
๐ ๐ โ
โฅ
If we decode the IC (Interference Cancellation) combined stream by removing stream k from the ๐th vector , the ๐th vector is now just a linear combination of ๐ ๐ โ ๐ sub-streams. The signal-to-noise ratio SNR after the Matched-Filter will be:
๐ ๐ ๐ ๐
๐ ๐
๐๐๐ ๐๐ผ๐ถ = =
๐ ๐ ๐
(3.41)
๐ ๐
๐ ๐ฬ ฬ 2 2
๐ ๐ 0 โ๐ ๐ ๐ โ ๐ 0 โ๐ ๐ ๐ โ
In the case of decoding with sequential noise cancellation, the noise is canceled
2
2
โ ฬ ๐๐ผ๐ถ
consecutively leading to
๐ ๐ ๐ โ โค โ๐ ๐ ๐ โ so ๐๐๐ ๐ ๐
โฅ ๐๐๐ ๐ ๐ .
3.4.2.1. ZF weight vector
The weight vector ๐ ๐ used for decoding cancellation must satisfy the following property:
With:
๐ ๐ (๐ป) ๐
= { 0 ๐ โฅ ๐ 1 ๐ = ๐
(3.42)
๐ ๐ : Is the weight vector to decode the i-th data stream.
(๐ป) ๐ : Is the jth column of the channel matrix. The ๐th stream will be decoded according to the following expression:
๐ฆ ๐ = ๐ ๐ ๐ (3.43)
After decoding, stream i will be excluded from the r-th vector, the r-th vector will now be just a linear combination of ๐ ๐ โ ๐ sub-streams, so the next streams will be decoded more accurately. Since decoding data streams in different orders will give different BER bit error rates, so to get the smallest ber, we need to find the optimal order and decode the sub-streams in this order.
Vector ๐ ๐ exists only when the number of data lines is less than or equal to the receive antenna. Therefore the number
The antenna used to transmit ๐ ๐ must be smaller than the number of receiving antennas ๐ ๐ . (๐ ๐ โฅ ๐ ๐ ) so ๐ = min(๐ ๐ , ๐ ๐ ) = ๐ ๐ .
3.4.2.2. Optimal order
The optimal decoding order will be found based on calculations from the weight vector and the channel matrix.
The weight vector satisfying the expression (3.42) ๐ ๐ is the i-th row of the matrix
๐ป + , ๐ป ฬ ฬ ฬ ฬ is the symbol of the channel matrix obtained by removing columns 1,2, โฏ , ๐ โ 1
ฬ ๐ ฬ โ ฬ ฬ 1 ฬ ๐ โ1
In the channel matrix ๐ป , ๐ป + denotes the Moore-Penrose pseudo-inverse matrix. The optimal ordering is easy to see when considering the example of decoding the first symbol in the received vector.
Suppose the ๐ -th symbol in the received vector will be decoded first.
๐ 1
๐ฆ = ๐ ๐ = ๐ค ๐ค
โฏ ๐ค ๐
๐ 2
[ ] (3.44a)
๐ ๐ 1 2
๐ โฎ
๐ ๐ ๐
โ 11 โ 11 โฏ
โ 1๐ ๐
๐ฅ 1
๐ 1
๐ฆ = ๐ ๐ = ๐ค ๐ค
โฏ ๐ค ๐
โ 11 โ 11 โฏ
โ 2๐ ๐[ ๐ฅ 2 ] + [ ๐ 2 ](3.44b)
๐ ๐ 1 2
๐ โฎ โฎ โฑ โฎ โฎ โฎ
([ โ ๐ ๐
1 โ ๐ ๐ 2 โฏ
๐ฅ 1
โ ๐ ๐
๐ ๐ ]
๐ฅ ๐ ๐
๐ 4 )
๐ฅ 2
โฎ โฏ ๐ค
๐ 1
๐ 2
๐ฆ ๐ =0 0 โฏ 1 โฏ 0๐ฅ ๐
+ ๐ค 1 ๐ค 2
๐ ๐ [ โฎ
] (3.44c)
โฎ ๐ ๐ ๐
[ ๐ฅ ๐ ๐ ]
๐ฆ ๐ = ๐ฅ ๐ + ๐ ๐ (3.44d)
With: ๐ ๐ = ๐ค 1 ๐ 1 + ๐ค 2 ๐ 2 + โฏ + ๐ค ๐ ๐ ๐ ๐ ๐
We see that the weight vector, although it eliminates cross-talk between streams, has the effect of amplifying background noise.
2
The first symbol to be decoded will be the ๐ -th symbol such that the noise ๐ ๐ has the smallest variance, since the noises ๐ 1 , ๐ 2 , โฏ , ๐ ๐ ๐ are IID, so this is equivalent to finding
๐ such that โ๐ โ 2 = |๐ค | 2 + |๐ค
| 2 + โฏ + |๐ค
| smallest.
๐ ๐ 1 2
๐ ๐
Based on the above idea, the optimal decoding order ๐ = {๐ 1 , ๐ 2 , โฏ , ๐ ๐ ๐ } is a permutation of {1,2, โฏ , ๐ ๐ } which will be found as follows:
๐ โ 1
ฬ ๐ ฬ โ ฬ ฬ 1 ฬ
๐บ = ๐ป + (3.45)
๐ 1 = ๐๐๐ min
โ(๐บ) ๐ โ 2
๐โ{๐ 1 ,๐ 2 ,โฏ,๐ ๐โ1 }
๐ = ๐ + 1
With: (๐บ) ๐ is the ๐th row of matrix ๐บ
The decoding process will be performed as follows:
Step 1 : Use the cancellation vector ๐ค ๐ 1 to decode the ๐th sub-data stream
๐ฆ ๐ 1 = ๐ ๐ 1 ๐ (3.46)
Step 2 : Use the modulation constellation at the transmitter side to estimate ๐ฅ ๐ 1 from ๐ฆ ๐ 1
๐ฅ ๐ 1 = ๐(๐ฆ ๐ 1 ) (3.47)
Step 3 : Suppose ๐ฅ ๐ 1 is the original symbol ๐ฅ ๐ 1 , remove ๐ฅ ๐ 1 from the received signal ๐ 1 to obtain the modified received signal ๐ 2
๐ 2 = ๐ 1 โ ๐ฅ ๐ 1 (๐ป) ๐ 1 (3.48)
With (๐ป) ๐ 1 being the ๐ 1st column of matrix ๐ป
r
~ x
1
~ x
2
~ x
3
~ x
N T
Exclude stream 1
ZF 2 powder
Stream 2 Decoding
Exclude stream 1 , 2
Stream 3 Decoding
ZF 3 powder
Exclude streams 1, 2, 3,โฆ,N T -1
Decode N T stream
ZF N T Powder
Figure 3.11 is a schematic diagram of the Zero-forcing receiver combined with ZF-IC sequential noise cancellation.
ZF 1 powder
Stream 1 Decoding | ||
Figure 3.11. V-BLAST Zero-forcing Receiver The entire ZF algorithm cancels successively in the following optimal order: Start-up:
๐ 1 = ๐
๐บ = ๐ป +
2
Repeat ๐ = 1 โ ๐ ๐
๐ 1 = ๐๐๐ minโ(๐บ) ๐ โ
๐
๐ ฬ ๐ 1= (๐บ) ๐ 1
๐ฆ ๐ 1= ๐ ฬ ๐ 1๐ ๐
๐ฅ ๐ 1 = ๐(๐ฆ ๐ ๐ )
๐ ๐+1 = ๐ ๐ โ ๐ฅ ๐ ๐ (๐ป) ๐ ๐
๐ ฬ
๐บ = ๐ป +
๐
2
๐ ๐+1 = ๐๐๐ min โ(๐บ) ๐ โ
๐โ{๐ 1 ,๐ 2 ,โฏ,๐ ๐ }
๐ โ ๐ + 1
Receiver diagram using Zero Forcing algorithm to cancel consecutive interference in optimal order: The data transmission rate of the ๐th data stream according to Shannon's theorem will be:
๐ถ ๐
= log 2
(1 + ๐๐๐ ๐
) = log 2
(1 +๐ ๐) bits/s/Hz (3.49)
๐ 0 โ๐ ๐ โ 2
The transmission speed of the system will be:
๐ถ = โ
๐ ๐
๐=1
๐ถ ๐
bits/s/Hz (3.50)
In a fast-fading environment, the channel will vary, since the maximum transmission rate of the channel will be averaged.
๐ถ ๐ ฬ ๐น
= ๐ธ(๐ถ) = ๐ธ (โ ๐
log 2
(1 +๐ ๐) ) bits/s/Hz (3.51)
๐ 0 โ๐ ๐ โ 2
~ x
2
~ x
3
~ x
N T
Exclude 1st stream
Define flow
ZF receiver and decoder
Exclude stream 1 , 2
ZF receiver and decoder
Define flow
Exclude streams 1, 2, 3,โฆ,N T -1
ZF receiver and decoder
๐=1
Define flow | ZF receiver and decoder | ||
r~ x1
Figure 3.12. V-BLAST Zero-forcing receiver in optimal order
When the signal-to-noise ratio is high, we can approximate ๐ถ ๐๐น by the following expression:
๐ถ โ ๐ log
๐๐๐ + ๐ธ (โ ๐
log ( 1
)) (3.52a)
๐๐น
2 ๐
๐=1
2 โ๐ ๐ โ 2
๐ถ โ ๐ log
๐๐๐ + ๐ธ(โ ๐
(โ๐ โ 2 )) (3.52b)
๐๐น
2 ๐
๐=1 ๐
๐=1
In case of decoding with sequential noise cancellation:
๐ถ ๐ ฬ ๐นโ๐ผ๐ถ
= ๐ธ (โ ๐
log 2
(1 +๐ ๐) ) (3.53)
๐ 0 โ๐ ฬ ๐ โ 2
2
When the signal-to-noise ratio (SNR) is high, ๐ถ ๐ ฬ ๐น โ๐ผ๐ถ is approximated by the following expression:
๐ถ โ ๐ log ๐๐๐ + ๐ธ (โ ๐
log (โ๐ ฬ
โ )) (3.54)
๐๐นโ๐ผ๐ถ 2 ๐
3.4.2.3. Limitations of Zero-forcing
๐=1 2 ๐
When the signal-to-noise ratio is high, white Gaussian noise is negligible, the data streams interfere with each other mainly and overwhelm the white Gaussian noise. After the received signal vector is projected onto the orthogonal subspace to eliminate the Inter-Stream Interference, the remaining noise is just white noise which occupies a negligible amount, the signal is then passed through the Matched-Filter. Because the Matched-Filter works very effectively when the SNR is high.
When the signal-to-noise ratio is low, white Gaussian noise dominates the data streams, similar to when operating at high SNR, the Zero-forcing receiver also eliminates crosstalk from the decoded data stream caused by other data streams, however, when considering the optimal decoding order, we know that the projection of the received signal vector onto the orthogonal subspace has the effect of amplifying white Gaussian noise (the main component causing interference to the decoded data stream when the SNR is low), although the Matched-filter works very effectively when there is no crosstalk, at this time the white Gaussian noise is amplified much more than before the projection, for this reason, the ZF receiver does not work effectively when the SNR is low.
For the receiver to work effectively, we must design the receiver to optimize the signal to interference ratio and white noise SINR (Signal to Interference plus Noise Ratio) regardless of low or high SNR. Since the Matched-Filter works well when there is no cross-stream interference, if we use another algorithm that reduces cross-stream interference but does not amplify white noise, and then use the Matched-Filter, we will get a signal with a better signal to interference ratio and white noise SINR for the ZF receiver at low SNR. The receiver that can optimize the trade-off between cross-stream interference and Gaussian background noise is the MMSE receiver.
3.4.3. V-BAST Minimum Mean-Squared Error receiver
When the SNR is high, the Minimum Mean-Squared Error (MMSE) receiver acts like a ZF, and when the SNR is low the receiver takes advantage of the Matched-Filter.
Consider the general received signal of the following form:
๐ฆ = โ๐ฅ + ๐ง (3.55)
Where ๐ง is a complex circular color noise with an invertible correlation matrix ๐พ ๐ง , โ is any column vector and x is the unknown symbol to be estimated, assuming ๐ฅ and ๐ง are uncorrelated. We know that if the noise is white, the Matched-Filter is the optimal filter that will give the maximum output SNR, so for the case of color noise, we will flatten the color noise to white noise
๐ง
before passing the signal through the Matched-Filter. First y is multiplied by ๐ โ1 โ 2
to do
flat noise
In this case ๐งฬ will be white noise.
๐ฅ = ๐ โ1 โ 2 ๐ง (3.56)
๐ง
๐ โ1 โ 2 ๐ฆ = ๐ โ1 โ 2 โ๐ฅ + ๐งฬ (3.57)
With
๐ง ๐ง
๐ง
๐ โ1 โ 2 = ๐ฮ ๐ป ๐ ๐ป (3.58)
Where ๐ and ฮ are decomposed from ๐พ ๐ง . Since ๐พ ๐ง is invertible, ๐พ ๐ง can be written as:
๐พ ๐ง = ๐ฮ๐ ๐ป (3.59)
Where ๐ is the rotation matrix (or identity matrix) and ฮ is the diagonal matrix, the matrix ฮ 1โ2 is the square root of the matrix ฮ .
ฮ 1 0
0 ฮ 2
ฮ = [ โฎ โฎ
0 0
โฏ 0
โฏ 0
โฑ โฎ
โฏ ฮ N R
] (3.60)
ฮ 1โ2 =
โ ฮ 1 0 โฏ 0
0 โฮ 2 โฏ 0
(3.61)
โฎ โฎ โฑ โฎ
[ 0 0
โฏ โ ฮ N R ]
Then, the output signal ๐ โ1 โ 2 ๐ฆ will be projected in the direction โ๐ โ1 โ 2 by multiplying by
๐ง ๐ง
๐ฅ
(๐ โ1 โ 2 โ) ๐ป .
(๐ โ1 โ 2 โ) ๐ป ๐ โ1 โ 2 ๐ฆ = (๐ โ1 โ 2 โ) ๐ป ๐ โ1 โ 2 โ๐ฅ + (๐ โ1 โ 2 โ) ๐ป ๐งฬ (3.62a)
๐ฅ ๐ง ๐ฅ ๐ง ๐ฅ
โ ๐ป ๐ โ1 ๐ฆ = โ ๐ป ๐ โ1 โ๐ฅ + โ ๐ป ๐ โ1 ๐ง (3.62b)
๐ง ๐ง
From the above expression, the MMSE receiver will be represented through the vector:
๐ง
๐ = ๐ โ1 โ (3.63)
The signal x will be estimated by multiplying y by
๐ง
๐ โ = โ ๐ป ๐ โ1 (3.64)
The signal is then passed through the Match-Filter.





