Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference
A newer version of this document is available. Customers should click here to go to the newest version.
MimoMMSE
DEPRECATED. Implements the MIMO MMSE estimator algorithm.
Syntax
IppStatus ippsMimoMMSE_1X2_16sc(Ipp16sc* pSrcH[2], int srcHStride2, int srcHStride1, int srcHStride0, Ipp16sc* pSrcY[4][12], int Sigma2, IppFourSymb* pDstX, int dstXStride1, int dstXStride0, int numSymb, int numSC, int SINRIdx, Ipp32f* pDstSINR, int scaleFactor);
IppStatus ippsMimoMMSE_2X2_16sc(Ipp16sc* pSrcH[2], int srcHStride2, int srcHStride1, int srcHStride0, Ipp16sc* pSrcY[4][12], int Sigma2, IppFourSymb* pDstX, int dstXStride1, int dstXStride0, int numSymb, int numSC, int SINRIdx, Ipp32f* pDstSINR, int scaleFactor);
IppStatus ippsMimoMMSE_1X4_16sc(Ipp16sc* pSrcH[2], int srcHStride2, int srcHStride1, int srcHStride0, Ipp16sc* pSrcY[4][12], int Sigma2, IppFourSymb* pDstX, int dstXStride1, int dstXStride0, int numSymb, int numSC, int SINRIdx, Ipp32f* pDstSINR, int scaleFactor);
IppStatus ippsMimoMMSE_2X4_16sc(Ipp16sc* pSrcH[2], int srcHStride2, int srcHStride1, int srcHStride0, Ipp16sc* pSrcY[4][12], int Sigma2, IppFourSymb* pDstX, int dstXStride1, int dstXStride0, int numSymb, int numSC, int SINRIdx, Ipp32f* pDstSINR, int scaleFactor);
Include Files
ippe.h
Parameters
| pSrcH | Pointer to line 2 of the H matrix. | 
| srcHStride2 | Stride between H matrices (H[symb0] and (H[symb1]). | 
| srcHStride1 | Stride between rows of the H matrix (h00 and h10) | 
| srcHStride0 | Stride between elements of the row (h00 and h01). | 
| pSrcY | Array of pointers to the RX signal Y. The maximum size is four TX antennas and 12 symbols. | 
| Sigma2 | Noise power. | 
| numSymb | Number of symbols. | 
| numSC | Number of subcarriers. | 
| pDstX | Pointer to the estimated TX signal grouped by four symbols (quads). | 
| dstXStride1 | Stride between TX signals (X[ant0] and X[ant1]). | 
| dstXStride0 | Stride between quads inside one antenna. | 
| SINRIdx | Index of symbol to calculate the SINR. | 
| pDstSINR | Pointer to an array of SINR for layer 1,2. | 
| scaleFactor | Scale factor, refer to Integer Scaling. | 
Description
This functionality is available only within the Intel® System Studio suite.
- Calculate B=HH*H, where H is the channel matrix, and superscript H denotes Hermitian operator (transpose and conjugate). 
- Calculate A=HH*H+σ2n*INt, where - Nt is the number of transmit antennas (1 or 2). 
- Calculate A-1=(HH*H+σ2n*INt)-1. 
- Calculate Z=HH*y. 
- Calculate x=A-1*Z=(HH*H+σ2n*INt)-1*HH*y. 
- Calculate D=W*H=A-1*HH*H. 
Signal to interference plus noise ratio (SINR) is computed as follows:

where
M is the number of subcarriers.
The destination data is grouped by four symbols.
Return Values
| ippStsNoErr | Indicates no error. | 
| ippStsNullPtrErr | Indicates an error if one of the specified pointers is NULL. | 
| ippStsSizeErr | Indicates an error if numSymb or numSC is less than, or equal to zero. |