Commit 934373e1 authored by Raymond Knopp's avatar Raymond Knopp

bugfix in dci_tools_ue.c (check_format1_1a_coherency issue)

parent 7f2459ed
......@@ -943,7 +943,7 @@ int check_dci_format1_1a_coherency(DCI_format_t dci_format,
}
}
if ((rnti==si_rnti) || (rnti==p_rnti) || (rnti==ra_rnti))
if (dci_format == format1a && ((rnti==si_rnti) || (rnti==p_rnti) || (rnti==ra_rnti)))
{
NPRB = (TPC&1) + 2;
switch (N_RB_DL) {
......@@ -961,7 +961,7 @@ int check_dci_format1_1a_coherency(DCI_format_t dci_format,
break;
}
}
else
else if (dci_format == format1a)
{
switch (N_RB_DL) {
case 6:
......@@ -996,13 +996,13 @@ int check_dci_format1_1a_coherency(DCI_format_t dci_format,
}
if(dci_format == format1)
else if (dci_format == format1)
{
NPRB = conv_nprb(rah, rballoc, N_RB_DL);
}
if(rballoc > RIV_max)
if(dci_format == format1a && rballoc > RIV_max)
{
// LOG_I(PHY,"bad dci rballoc rballoc %d RIV_max %lld \n",rballoc, RIV_max);
// DCI false detection
......
......@@ -287,9 +287,9 @@ typedef struct {
#ifndef malloc16
# ifdef __AVX2__
# define malloc16(x) memalign(32,x)
# define malloc16(x) memalign(32,x+32)
# else
# define malloc16(x) memalign(16,x)
# define malloc16(x) memalign(16,x+16)
# endif
#endif
#define free16(y,x) free(y)
......@@ -306,9 +306,9 @@ typedef struct {
static inline void* malloc16_clear( size_t size )
{
#ifdef __AVX2__
void* ptr = memalign(32, size);
void* ptr = memalign(32, size+32);
#else
void* ptr = memalign(16, size);
void* ptr = memalign(16, size+16);
#endif
DevAssert(ptr);
memset( ptr, 0, size );
......
......@@ -521,6 +521,7 @@ int main(int argc, char **argv)
int k,i,j,aa;
int re;
int s,Kr,Kr_bytes;
double SNR,snr0=-2.0,snr1,rate = 0;
......@@ -1306,7 +1307,9 @@ int main(int argc, char **argv)
}
*/
UE->pdcch_vars[UE->current_thread_id[subframe]][0]->crnti = n_rnti;
UE->n_connected_eNB = 1;
printf("Allocating %dx%d eNB->UE channel descriptor\n",eNB->frame_parms.nb_antennas_tx,UE->frame_parms.nb_antennas_rx);
eNB2UE[0] = new_channel_desc_scm(eNB->frame_parms.nb_antennas_tx,
......@@ -1318,8 +1321,10 @@ int main(int argc, char **argv)
rx_sample_offset,
0);
reset_meas(&eNB2UE[0]->random_channel);
reset_meas(&eNB2UE[0]->interp_time);
if(num_rounds>1) {
for(n=1; n<4; n++)
for(n=1; n<4; n++) {
eNB2UE[n] = new_channel_desc_scm(eNB->frame_parms.nb_antennas_tx,
UE->frame_parms.nb_antennas_rx,
channel_model,
......@@ -1328,6 +1333,9 @@ int main(int argc, char **argv)
forgetting_factor,
rx_sample_offset,
0);
reset_meas(&eNB2UE[n]->random_channel);
reset_meas(&eNB2UE[n]->interp_time);
}
}
if (eNB2UE[0]==NULL) {
......
......@@ -39,7 +39,7 @@ eNBs =
downlink_frequency = 2685000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 50;
N_RB_DL = 100;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 1;
nb_antennas_tx = 1;
......
......@@ -39,7 +39,7 @@ eNBs =
downlink_frequency = 2685000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 50;
N_RB_DL = 100;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 1;
nb_antennas_tx = 1;
......
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