proper checking for detection of PDCCH/PDSCH, fix of error counters
This commit is contained in:
@@ -1396,6 +1396,7 @@ int main(int argc, char **argv)
|
|||||||
int DLSCH_RB_ALLOC = 0;
|
int DLSCH_RB_ALLOC = 0;
|
||||||
|
|
||||||
int log_level = LOG_ERR;
|
int log_level = LOG_ERR;
|
||||||
|
int dci_received;
|
||||||
|
|
||||||
#if defined(__arm__)
|
#if defined(__arm__)
|
||||||
FILE *proc_fd = NULL;
|
FILE *proc_fd = NULL;
|
||||||
@@ -2330,10 +2331,10 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
//if (trials%100==0)
|
//if (trials%100==0)
|
||||||
eNB2UE[0]->first_run = 1;
|
eNB2UE[0]->first_run = 1;
|
||||||
|
UE->dlsch[subframe&0x1][eNB_id][0]->harq_ack[subframe].ack = 0;
|
||||||
|
UE->dlsch[subframe&0x1][eNB_id][1]->harq_ack[subframe].ack = 0;
|
||||||
|
|
||||||
UE->dlsch_errors[0] = 1;
|
while ((round < num_rounds) && (UE->dlsch[subframe&0x1][eNB_id][0]->harq_ack[subframe].ack == 0)) {
|
||||||
|
|
||||||
while ((round < num_rounds) && (UE->dlsch_errors[0] > 0)) {
|
|
||||||
// printf("Trial %d, round %d\n",trials,round);
|
// printf("Trial %d, round %d\n",trials,round);
|
||||||
round_trials[round]++;
|
round_trials[round]++;
|
||||||
|
|
||||||
@@ -2509,7 +2510,7 @@ int main(int argc, char **argv)
|
|||||||
UE_rxtx_proc_t *proc = &UE->proc.proc_rxtx[subframe&1];
|
UE_rxtx_proc_t *proc = &UE->proc.proc_rxtx[subframe&1];
|
||||||
proc->subframe_rx = subframe;
|
proc->subframe_rx = subframe;
|
||||||
UE->UE_mode[0] = PUSCH;
|
UE->UE_mode[0] = PUSCH;
|
||||||
UE->dlsch_errors[0] = 0;
|
|
||||||
// first symbol has to be done separately in one-shot mode
|
// first symbol has to be done separately in one-shot mode
|
||||||
slot_fep(UE,
|
slot_fep(UE,
|
||||||
0,
|
0,
|
||||||
@@ -2550,12 +2551,15 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dci_received = UE->pdcch_vars[proc->subframe_rx & 0x1][eNB_id]->dci_received;
|
||||||
|
|
||||||
phy_procedures_UE_RX(UE,proc,0,0,dci_flag,normal_txrx,no_relay,NULL);
|
phy_procedures_UE_RX(UE,proc,0,0,dci_flag,normal_txrx,no_relay,NULL);
|
||||||
|
|
||||||
if (UE->dlsch[subframe&0x1][0][0]->active == 0) {
|
dci_received = dci_received - UE->pdcch_vars[proc->subframe_rx & 0x1][eNB_id]->dci_received;
|
||||||
|
|
||||||
|
if (dci_flag && (dci_received == 0)) {
|
||||||
//printf("DCI not received\n");
|
//printf("DCI not received\n");
|
||||||
dci_errors[round]++;
|
dci_errors[round]++;
|
||||||
UE->dlsch_errors[0] = 1;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
write_output("pdcchF0_ext.m","pdcchF_ext", UE->pdcch_vars[eNB_id]->rxdataF_ext[0],2*3*UE->frame_parms.ofdm_symbol_size,1,1);
|
write_output("pdcchF0_ext.m","pdcchF_ext", UE->pdcch_vars[eNB_id]->rxdataF_ext[0],2*3*UE->frame_parms.ofdm_symbol_size,1,1);
|
||||||
@@ -2626,7 +2630,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (UE->dlsch_errors[0] == 0) {
|
if (UE->dlsch[subframe&0x1][eNB_id][0]->harq_ack[subframe].ack == 1) {
|
||||||
|
|
||||||
avg_iter += UE->dlsch[subframe&0x1][eNB_id][0]->last_iteration_cnt;
|
avg_iter += UE->dlsch[subframe&0x1][eNB_id][0]->last_iteration_cnt;
|
||||||
iter_trials++;
|
iter_trials++;
|
||||||
@@ -2906,15 +2910,15 @@ int main(int argc, char **argv)
|
|||||||
errs2[0],
|
errs2[0],
|
||||||
round_trials[0],
|
round_trials[0],
|
||||||
errs[1],
|
errs[1],
|
||||||
round_trials[0],
|
round_trials[1],
|
||||||
errs[2],
|
errs[2],
|
||||||
round_trials[0],
|
round_trials[2],
|
||||||
errs[3],
|
errs[3],
|
||||||
round_trials[0],
|
round_trials[3],
|
||||||
(double)errs[0]/(round_trials[0]),
|
(double)errs[0]/(round_trials[0]),
|
||||||
(double)errs[1]/(round_trials[0]),
|
(double)errs[1]/(round_trials[1]),
|
||||||
(double)errs[2]/(round_trials[0]),
|
(double)errs[2]/(round_trials[2]),
|
||||||
(double)errs[3]/(round_trials[0]),
|
(double)errs[3]/(round_trials[3]),
|
||||||
dci_errors[0]+dci_errors[1]+dci_errors[2]+dci_errors[3],
|
dci_errors[0]+dci_errors[1]+dci_errors[2]+dci_errors[3],
|
||||||
round_trials[0]+round_trials[1]+round_trials[2]+round_trials[3],
|
round_trials[0]+round_trials[1]+round_trials[2]+round_trials[3],
|
||||||
(double)(dci_errors[0]+dci_errors[1]+dci_errors[2]+dci_errors[3])/(round_trials[0]+round_trials[1]+round_trials[2]+round_trials[3]),
|
(double)(dci_errors[0]+dci_errors[1]+dci_errors[2]+dci_errors[3])/(round_trials[0]+round_trials[1]+round_trials[2]+round_trials[3]),
|
||||||
|
|||||||
Reference in New Issue
Block a user