The Silver Code is a fast-decodable space-time block code for 2 transmit and 2 receive antennas.
Properties
Properties
- Full-rank : the determinant of the difference of 2 codewords is always different from 0.
- Full-rate : the four degrees of freedom of the system are used, which allows to send 4 information symbols.
- Non-vanishing determinant for increasing rate the minimum determinant is 1/7,slightly smaller than that of the Golden code.
- Cubic shaping : each layer is carved from a rotated version of Z[i]^2.
- The spectral efficiency is 2log2(Q) bits/s/Hz for Q-QAM.
The channel model considered is Y = H X + N, where H ={hij} is the 2x2 channel matrix with complex impulse responses from jth transmitter to ith receiver.
Where X denotes transmitted symbol Matrix and N denotes the 2x2 complex Gaussian noise matrix.
The codewords X of the Silver Code are 2x2 complex matrices of the following form :
X = GZ where
is the Generator matrix for Silver Code and Z is the martix containing real and imaginary parts of modulated symbols as rows.
This process is general for any linear STBC.
The channel matrix H for any 2 X 2 STBC is a 2 X 2 complex matrix and it can be expanded into an 8 X 8 real matrix given below.
Matlab Simulation
We use 4-QAM as the modulation technique in this simulation.
In a 2 X 2 channel, 4 channels are involved in every time slot whose channel impulse responses follow Rayleigh distribution.i.e h=x+iy; where x and y are Gaussian random variables.First generate H matrix(Channel matrix) as a 2 X 2 complex matrix and then form an 8 X 8 real matrix using that as explained above. Now generate Z matrix as an 8 x 1 real matrix whose rows are real and imaginary parts of the 4-QAM modulated input symbols. Then generate the N matrix which is the real AWGN noise matrix as given below
Y = HGZ + N. where Y is the received matrix.
DECODING THE SILVER CODE
We perform the decoding using a sphere decoder.
SPHERE DECODER
For any STBC , ML decoder yields the best performance over any other decoder. But the ML decoder has a very high complexity in MIMO channels. To lower the complexity, a new type of decoding method called sphere decoding can be used. The sphere decoding algorithm has near ML performance with reasonably low complexity.
THE SPHERE DECODING ALGORITHM
The principle of sphere decoding algorithm is to search the closest constellation point to the received signal with in a sphere of some initial radius. If a point is found and if the distance between the centre and the point is less than the radius, the radius is updated to that distance and the process is continued till only one point is left in the sphere. That will be the closest constellation point to the received point. If a point is not found initially, then the sphere radius is incremented and the same process is followed.
Let B=HG.
So, Y = BZ + N. where Y is the received matrix.
We perform Gram-Schmidt orthonormalization of the columns of B ( QR decomposition of B )
to get
B = QR
where R is an upper triangular matrix with positive diagonal elements and Q is a unitary matrix.
Let R = {r ij}.
The algorithm is presented for a fixed radius below.
To implement this algorithm in 4-QAM
A Note On The Complexities
Click the link below to view matlab code for Silver Code with Sphere Decoder
Silver Code 4-QAM 2X2.m
Related Posts
This comment has been removed by the author.
ReplyDeleteIt works for 2010 version
ReplyDeleteBut how to convert it into C code, pls anyone help me in converting this matlab code into C
ReplyDelete