SINR calculation for PMI selection improvement for 2 layers; test golden values updated

(cherry picked from commit 59b26dd)
master
Xavier Arteaga 7 years ago
parent 38b38ee82f
commit d9d72e8f7b

@ -2195,7 +2195,7 @@ int srslte_precoding_pmi_select_2l_gen(cf_t *h[SRSLTE_MAX_PORTS][SRSLTE_MAX_PORT
} }
/* Divide average by noise */ /* Divide average by noise */
sinr_list[i] /= (2 * count); sinr_list[i] /= count;
if (sinr_list[i] > max_sinr) { if (sinr_list[i] > max_sinr) {
max_sinr = sinr_list[i]; max_sinr = sinr_list[i];
@ -2316,7 +2316,7 @@ int srslte_precoding_pmi_select_2l_sse(cf_t *h[SRSLTE_MAX_PORTS][SRSLTE_MAX_PORT
} }
/* Divide average by noise */ /* Divide average by noise */
sinr_list[i] /= 2 * count; sinr_list[i] /= count;
if (sinr_list[i] > max_sinr) { if (sinr_list[i] > max_sinr) {
max_sinr = sinr_list[i]; max_sinr = sinr_list[i];
@ -2463,7 +2463,7 @@ int srslte_precoding_pmi_select_2l_avx(cf_t *h[SRSLTE_MAX_PORTS][SRSLTE_MAX_PORT
} }
/* Divide average by noise */ /* Divide average by noise */
sinr_list[i] /= 2 * count; sinr_list[i] /= count;
if (sinr_list[i] > max_sinr) { if (sinr_list[i] > max_sinr) {
max_sinr = sinr_list[i]; max_sinr = sinr_list[i];

@ -42,195 +42,195 @@ typedef struct {
static pmi_select_test_case_gold_t pmi_select_test_case_gold [PMI_SELECT_TEST_NOF_CASES] = { static pmi_select_test_case_gold_t pmi_select_test_case_gold [PMI_SELECT_TEST_NOF_CASES] = {
{ /* Test case 1 */ { /* Test case 1 */
.h = { .h = {
{+0.861552f+0.205546f*_Complex_I, +0.955538f-0.052364f*_Complex_I}, {+0.626226f+0.060103f*_Complex_I, -0.233387f-0.449860f*_Complex_I},
{-0.812807f-0.287487f*_Complex_I, +0.323470f-0.048843f*_Complex_I} {+0.234558f-0.502742f*_Complex_I, +0.150990f-0.096722f*_Complex_I}
}, },
.n = 0.671022, .n = 0.227713,
.snri_1l = {1.233339f, 2.567786f, 2.065012f, 1.736113f}, .snri_1l = {2.728043f, 1.630673f, 3.226421f, 1.132295f},
.snri_2l = {0.893739f, 0.841600f}, .snri_2l = {1.797660f, 1.982149f},
.pmi = {1, 0}, .pmi = {2, 1},
.ri = 2, .ri = 1,
.k = 4.6758, .k = 6.4007,
}, },
{ /* Test case 2 */ { /* Test case 2 */
.h = { .h = {
{+0.919290f+0.824394f*_Complex_I, -0.821831f-0.797741f*_Complex_I}, {+0.608899f-0.825846f*_Complex_I, +0.972208f+0.604183f*_Complex_I},
{+0.595485f-0.413411f*_Complex_I, +0.181551f-0.896824f*_Complex_I} {-0.940016f+0.978290f*_Complex_I, +0.071328f-0.866107f*_Complex_I}
}, },
.n = 0.504128, .n = 0.939398,
.snri_1l = {5.697916f, 2.631874f, 4.143253f, 4.186538f}, .snri_1l = {0.686850f, 4.591972f, 3.773925f, 1.504897f},
.snri_2l = {1.897704f, 1.718554f}, .snri_2l = {2.298235f, 1.761859f},
.pmi = {0, 0}, .pmi = {1, 0},
.ri = 2, .ri = 1,
.k = 4.8715, .k = 11.1305,
}, },
{ /* Test case 3 */ { /* Test case 3 */
.h = { .h = {
{+0.536752f-0.093497f*_Complex_I, -0.434029f+0.474769f*_Complex_I}, {-0.963645f+0.770719f*_Complex_I, +0.367677f+0.798010f*_Complex_I},
{-0.549280f+0.019771f*_Complex_I, -0.337421f-0.234972f*_Complex_I} {+0.567473f+0.251875f*_Complex_I, +0.068275f-0.724262f*_Complex_I}
}, },
.n = 0.905483, .n = 0.217802,
.snri_1l = {0.363469f, 0.941684f, 0.408025f, 0.897129f}, .snri_1l = {3.209674f, 11.525338f, 11.962786f, 2.772226f},
.snri_2l = {0.311544f, 0.307074f}, .snri_2l = {3.226053f, 3.526363f},
.pmi = {1, 0}, .pmi = {2, 1},
.ri = 1, .ri = 1,
.k = 6.2219, .k = 15.4589,
}, },
{ /* Test case 4 */ { /* Test case 4 */
.h = { .h = {
{+0.930515f-0.233960f*_Complex_I, +0.256535f+0.982387f*_Complex_I}, {-0.635718f+0.879322f*_Complex_I, -0.916360f-0.291089f*_Complex_I},
{-0.735938f-0.426345f*_Complex_I, +0.236604f+0.412383f*_Complex_I} {-0.786117f-0.178742f*_Complex_I, +0.232887f+0.968699f*_Complex_I}
}, },
.n = 0.535206, .n = 0.945579,
.snri_1l = {2.487298f, 2.932872f, 4.009672f, 1.410498f}, .snri_1l = {1.818313f, 2.141519f, 1.995787f, 1.964045f},
.snri_2l = {1.082110f, 1.248639f}, .snri_2l = {1.965011f, 1.958537f},
.pmi = {2, 1}, .pmi = {1, 0},
.ri = 2, .ri = 2,
.k = 5.9758, .k = 1.2910,
}, },
{ /* Test case 5 */ { /* Test case 5 */
.h = { .h = {
{-0.613578f-0.908683f*_Complex_I, +0.378870f+0.770083f*_Complex_I}, {+0.353289f+0.324764f*_Complex_I, +0.976605f-0.511669f*_Complex_I},
{-0.899090f+0.679589f*_Complex_I, -0.631132f-0.763690f*_Complex_I} {+0.533663f-0.408985f*_Complex_I, -0.326601f+0.360357f*_Complex_I}
}, },
.n = 0.410415, .n = 0.527847,
.snri_1l = {2.929140f, 7.281276f, 7.632612f, 2.577804f}, .snri_1l = {1.173803f, 2.869865f, 2.273783f, 1.769885f},
.snri_2l = {2.045272f, 2.159393f}, .snri_2l = {1.871430f, 1.713879f},
.pmi = {2, 1}, .pmi = {1, 0},
.ri = 2, .ri = 2,
.k = 6.8485, .k = 5.5388,
}, },
{ /* Test case 6 */ { /* Test case 6 */
.h = { .h = {
{-0.759543f+0.979731f*_Complex_I, +0.144185f-0.300384f*_Complex_I}, {-0.176813f+0.103585f*_Complex_I, +0.205276f+0.167141f*_Complex_I},
{+0.898780f-0.582955f*_Complex_I, -0.487230f+0.331654f*_Complex_I} {+0.501040f+0.023640f*_Complex_I, +0.167066f-0.834815f*_Complex_I}
}, },
.n = 0.973345, .n = 0.719570,
.snri_1l = {0.151784f, 3.077111f, 2.165454f, 1.063441f}, .snri_1l = {0.490387f, 1.022313f, 1.111245f, 0.401456f},
.snri_2l = {0.755981f, 0.503361f}, .snri_2l = {0.578124f, 0.597176f},
.pmi = {1, 0}, .pmi = {2, 1},
.ri = 1, .ri = 1,
.k = 18.0800, .k = 21.8808,
}, },
{ /* Test case 7 */ { /* Test case 7 */
.h = { .h = {
{+0.245400f-0.537444f*_Complex_I, -0.872924f-0.895583f*_Complex_I}, {+0.992312f+0.773088f*_Complex_I, -0.290931f-0.090610f*_Complex_I},
{-0.252981f+0.803513f*_Complex_I, -0.667497f+0.586583f*_Complex_I} {+0.942518f-0.173145f*_Complex_I, -0.307102f-0.564536f*_Complex_I}
}, },
.n = 0.373014, .n = 0.125655,
.snri_1l = {3.403660f, 5.744504f, 7.385295f, 1.762868f}, .snri_1l = {19.459529f, 4.467420f, 18.044021f, 5.882928f},
.snri_2l = {1.642126f, 2.130892f}, .snri_2l = {8.055238f, 6.832247f},
.pmi = {2, 1}, .pmi = {0, 0},
.ri = 2, .ri = 1,
.k = 7.1484, .k = 9.9136,
}, },
{ /* Test case 8 */ { /* Test case 8 */
.h = { .h = {
{+0.664109f-0.281444f*_Complex_I, +0.507669f-0.822295f*_Complex_I}, {-0.382171f-0.980395f*_Complex_I, +0.452209f+0.686427f*_Complex_I},
{+0.243726f-0.316646f*_Complex_I, -0.211814f+0.097341f*_Complex_I} {+0.565744f+0.844664f*_Complex_I, +0.387575f+0.541908f*_Complex_I}
}, },
.n = 0.460547, .n = 0.042660,
.snri_1l = {1.948731f, 1.673386f, 2.389606f, 1.232511f}, .snri_1l = {26.560881f, 49.864772f, 33.269985f, 43.155668f},
.snri_2l = {0.623422f, 0.659548f}, .snri_2l = {37.201526f, 34.461078f},
.pmi = {2, 1}, .pmi = {1, 0},
.ri = 1, .ri = 2,
.k = 9.8582, .k = 3.1172,
}, },
{ /* Test case 9 */ { /* Test case 9 */
.h = { .h = {
{+0.290905f-0.072573f*_Complex_I, +0.027042f+0.179635f*_Complex_I}, {-0.243628f-0.461891f*_Complex_I, +0.408679f+0.346062f*_Complex_I},
{+0.628853f-0.625656f*_Complex_I, -0.805634f+0.222660f*_Complex_I} {+0.459026f-0.045016f*_Complex_I, -0.551446f+0.247433f*_Complex_I}
}, },
.n = 0.051942, .n = 0.236445,
.snri_1l = {20.229536f, 10.736104f, 15.206118f, 15.759523f}, .snri_1l = {1.429443f, 3.381496f, 0.227617f, 4.583322f},
.snri_2l = {2.426844f, 2.175025f}, .snri_2l = {1.272903f, 2.118832f},
.pmi = {0, 0}, .pmi = {3, 1},
.ri = 1, .ri = 1,
.k = 12.8396, .k = 24.1136,
}, },
{ /* Test case 10 */ { /* Test case 10 */
.h = { .h = {
{+0.151454f-0.701886f*_Complex_I, +0.684689f-0.943441f*_Complex_I}, {-0.645752f-0.784222f*_Complex_I, +0.659287f-0.635545f*_Complex_I},
{-0.000548f+0.513340f*_Complex_I, -0.121950f+0.592212f*_Complex_I} {+0.533843f-0.801809f*_Complex_I, +0.868957f-0.020472f*_Complex_I}
}, },
.n = 0.293556, .n = 0.193245,
.snri_1l = {0.848833f, 7.679596f, 3.011330f, 5.517099f}, .snri_1l = {13.697372f, 4.693597f, 1.561737f, 16.829232f},
.snri_2l = {1.442768f, 0.788147f}, .snri_2l = {2.961344f, 5.773049f},
.pmi = {1, 0}, .pmi = {3, 1},
.ri = 1, .ri = 1,
.k = 22.0345, .k = 17.5194,
}, },
{ /* Test case 11 */ { /* Test case 11 */
.h = { .h = {
{-0.769587f+0.330477f*_Complex_I, -0.249817f+0.920280f*_Complex_I}, {+0.791783f+0.544990f*_Complex_I, -0.801821f-0.376120f*_Complex_I},
{+0.657787f+0.886236f*_Complex_I, +0.683553f-0.774601f*_Complex_I} {-0.911669f-0.642035f*_Complex_I, +0.114590f-0.322089f*_Complex_I}
}, },
.n = 0.648287, .n = 0.210146,
.snri_1l = {1.312873f, 4.697041f, 5.064183f, 0.945731f}, .snri_1l = {2.340213f, 12.261749f, 5.921675f, 8.680286f},
.snri_2l = {0.993660f, 1.125611f}, .snri_2l = {6.912040f, 4.520201f},
.pmi = {2, 1}, .pmi = {1, 0},
.ri = 1, .ri = 2,
.k = 12.9593, .k = 7.7819,
}, },
{ /* Test case 12 */ { /* Test case 12 */
.h = { .h = {
{-0.038392f+0.542607f*_Complex_I, -0.866959f-0.879276f*_Complex_I}, {+0.020305f-0.218290f*_Complex_I, +0.812729f-0.890767f*_Complex_I},
{+0.795542f-0.475085f*_Complex_I, -0.005540f+0.302139f*_Complex_I} {+0.257848f+0.002566f*_Complex_I, -0.796932f-0.136558f*_Complex_I}
}, },
.n = 0.133604, .n = 0.997560,
.snri_1l = {6.257962f, 14.479088f, 15.459994f, 5.277056f}, .snri_1l = {0.591218f, 1.636514f, 1.880263f, 0.347469f},
.snri_2l = {3.523645f, 3.845011f}, .snri_2l = {0.869026f, 0.967991f},
.pmi = {2, 1}, .pmi = {2, 1},
.ri = 1, .ri = 1,
.k = 7.6196, .k = 12.9774,
}, },
{ /* Test case 13 */ { /* Test case 13 */
.h = { .h = {
{+0.277091f-0.237022f*_Complex_I, -0.230114f-0.399963f*_Complex_I}, {+0.623205f-0.219990f*_Complex_I, -0.028697f+0.854712f*_Complex_I},
{+0.531396f-0.319721f*_Complex_I, +0.305831f+0.837853f*_Complex_I} {+0.788896f+0.834988f*_Complex_I, -0.724907f+0.427148f*_Complex_I}
}, },
.n = 0.456267, .n = 0.618337,
.snri_1l = {1.272387f, 2.072182f, 1.744873f, 1.599696f}, .snri_1l = {3.706176f, 1.461946f, 0.479632f, 4.688490f},
.snri_2l = {0.720254f, 0.700519f}, .snri_2l = {1.444336f, 2.102567f},
.pmi = {1, 0}, .pmi = {3, 1},
.ri = 2, .ri = 1,
.k = 5.9972, .k = 17.0493,
}, },
{ /* Test case 14 */ { /* Test case 14 */
.h = { .h = {
{-0.115006f+0.764806f*_Complex_I, -0.091628f-0.960249f*_Complex_I}, {-0.313424f+0.292955f*_Complex_I, +0.872055f+0.666304f*_Complex_I},
{+0.890564f-0.316470f*_Complex_I, -0.561762f+0.532055f*_Complex_I} {-0.750452f-0.203436f*_Complex_I, +0.461171f+0.499644f*_Complex_I}
}, },
.n = 0.342804, .n = 0.835221,
.snri_1l = {2.060602f, 6.750694f, 8.002153f, 0.809143f}, .snri_1l = {2.560265f, 0.379539f, 0.976562f, 1.963242f},
.snri_2l = {1.036665f, 1.575640f}, .snri_2l = {1.380223f, 1.109300f},
.pmi = {2, 1}, .pmi = {0, 0},
.ri = 1, .ri = 1,
.k = 18.9097, .k = 10.1729,
}, },
{ /* Test case 15 */ { /* Test case 15 */
.h = { .h = {
{+0.237613f+0.203137f*_Complex_I, -0.093958f+0.298835f*_Complex_I}, {-0.355079f-0.339153f*_Complex_I, +0.104523f+0.238943f*_Complex_I},
{-0.979675f-0.314559f*_Complex_I, +0.198162f-0.013401f*_Complex_I} {+0.958258f-0.278727f*_Complex_I, +0.098617f+0.513019f*_Complex_I}
}, },
.n = 0.701774, .n = 0.413901,
.snri_1l = {0.466961f, 1.376956f, 0.827475f, 1.016442f}, .snri_1l = {1.633620f, 2.178855f, 0.809297f, 3.003178f},
.snri_2l = {0.386935f, 0.354722f}, .snri_2l = {1.250898f, 1.512017f},
.pmi = {1, 0}, .pmi = {3, 1},
.ri = 1, .ri = 1,
.k = 11.2469, .k = 10.8925,
}, },
{ /* Test case 16 */ { /* Test case 16 */
.h = { .h = {
{+0.775605f+0.528142f*_Complex_I, -0.889884f+0.975918f*_Complex_I}, {-0.015310f+0.675606f*_Complex_I, +0.389486f+0.478144f*_Complex_I},
{-0.803276f-0.749350f*_Complex_I, +0.299566f-0.271046f*_Complex_I} {+0.945468f+0.908349f*_Complex_I, -0.344490f-0.936155f*_Complex_I}
}, },
.n = 0.676230, .n = 0.356869,
.snri_1l = {0.661772f, 5.245671f, 3.261470f, 2.645973f}, .snri_1l = {5.024121f, 4.926495f, 7.364348f, 2.586268f},
.snri_2l = {1.354145f, 0.857372f}, .snri_2l = {3.165416f, 3.851590f},
.pmi = {1, 0}, .pmi = {2, 1},
.ri = 1, .ri = 2,
.k = 10.7137, .k = 7.7799,
}, },
}; };

Loading…
Cancel
Save