Commit ac39d3b4 authored by Roberto Louro Magueta's avatar Roberto Louro Magueta Committed by luis_pereira87

Remove the hardcoded channel matrix H_awgn_mimo from nr_ulsim

parent c3a51d77
...@@ -1322,31 +1322,11 @@ int main(int argc, char **argv) ...@@ -1322,31 +1322,11 @@ int main(int argc, char **argv)
} }
} }
// The multipath_channel() function calculates a channel matrix with only 1's. So the channel rank is 1, and we
// cannot use multi-layer. To solve this issue, for now we use the H_awgn_mimo matrix for multi-layer.
if (precod_nbr_layers == 1) {
if (UE2gNB->max_Doppler == 0) { if (UE2gNB->max_Doppler == 0) {
multipath_channel(UE2gNB, s_re, s_im, r_re, r_im, slot_length, 0, (n_trials==1)?1:0); multipath_channel(UE2gNB, s_re, s_im, r_re, r_im, slot_length, 0, (n_trials==1)?1:0);
} else { } else {
multipath_tv_channel(UE2gNB, s_re, s_im, r_re, r_im, 2*slot_length, 0); multipath_tv_channel(UE2gNB, s_re, s_im, r_re, r_im, 2*slot_length, 0);
} }
} else {
double H_awgn_mimo[4][4] ={{1.0, 0.2, 0.1, 0.05}, //rx 0
{0.2, 1.0, 0.2, 0.1}, //rx 1
{0.1, 0.2, 1.0, 0.2}, //rx 2
{0.05, 0.1, 0.2, 1.0}}; //rx 3
for (i=0; i<slot_length; i++) {
for (ap = 0; ap < frame_parms->nb_antennas_rx; ap++) {
// sum up signals from different Tx antennas
r_re[ap][i] = 0;
r_im[ap][i] = 0;
for (int aa=0; aa<n_tx; aa++) {
r_re[ap][i] += s_re[aa][i]*H_awgn_mimo[ap][aa];
r_im[ap][i] += s_im[aa][i]*H_awgn_mimo[ap][aa];
}
}
}
}
for (i=0; i<slot_length; i++) { for (i=0; i<slot_length; i++) {
for (ap=0; ap<frame_parms->nb_antennas_rx; ap++) { for (ap=0; ap<frame_parms->nb_antennas_rx; ap++) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment