Silver Code

The Silver Code is a fast-decodable space-time block code for 2 transmit and 2 receive antennas.
Properties
  1. Full-rank : the determinant of the difference of 2 codewords is always different from 0.
  2. Full-rate : the four degrees of freedom of the system are used, which allows to send 4 information symbols.
  3. Non-vanishing determinant for increasing rate the minimum determinant is 1/7,slightly smaller than that of the Golden code.
  4. Cubic shaping : each layer is carved from a rotated version of Z[i]^2.
  5. 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
         Alamouti Code 
        Golden Code

3 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. But how to convert it into C code, pls anyone help me in converting this matlab code into C

    ReplyDelete