Commit 8cb9828b authored by Joanne Hugé's avatar Joanne Hugé

read IQ file with all 0.77 matches

parent a6bef36b
...@@ -692,15 +692,47 @@ static void *recv_thread(void *p) { ...@@ -692,15 +692,47 @@ static void *recv_thread(void *p) {
// ORAN counters // ORAN counters
decode_oran_header(&o, iq_packet->oran_header); decode_oran_header(&o, iq_packet->oran_header);
lost_pkts = 0;
if(prev_o_defined[antenna_id]) {
lost_pkts = diff_oran_counters(&o, &prev_o[antenna_id]) - 1;
if(lost_pkts < 0) {
printf("o = %d %d %d %d\n", o.symbol_id, o.slot_id, o.subframe_id, o.frame_id);
printf("prev_o = %d %d %d %d\n", prev_o[antenna_id].symbol_id,
prev_o[antenna_id].slot_id,
prev_o[antenna_id].subframe_id,
prev_o[antenna_id].frame_id);
printf("lost_pkts = %d\n", lost_pkts);
stop = 1 ; break ;
}
}
//if(s->align_rx) {
// if((o.symbol_id == 0) &&
// (o.slot_id == 0) &&
// (o.subframe_id == 0) &&
// (o.frame_id == 0)) {
// received_hyper_frames++;
// // If we received at least 2 hyperframes and no packet has been lost
// if((received_hyper_frames > 1) && (prev_lost_pkts == lost_pkts)) {
// ready = 1;
// } else if(received_hyper_frames > 1) {
// printf("%d != %d\n", prev_lost_pkts, lost_pkts);
// }
// prev_lost_pkts = lost_pkts;
// }
// if(!ready)
// continue;
//}
if(s->align_rx) { if(s->align_rx) {
if((o.symbol_id == 0) && if((o.symbol_id == 0) &&
(o.slot_id == 0) && (o.slot_id == 0) &&
(o.subframe_id == 0) && (o.subframe_id == 0)) {
(o.frame_id == 0)) {
received_hyper_frames++; received_hyper_frames++;
// If we received at least 10 hyperframes and no packet has been lost // If we received at least 2 frames and no packet has been lost
if((received_hyper_frames > 1) && (prev_lost_pkts == lost_pkts)) { if((received_hyper_frames > 1) && (prev_lost_pkts == lost_pkts)) {
ready = 1; ready = 1;
} else if(received_hyper_frames > 1) {
printf("%d != %d\n", prev_lost_pkts, lost_pkts);
} }
prev_lost_pkts = lost_pkts; prev_lost_pkts = lost_pkts;
} }
...@@ -708,18 +740,7 @@ static void *recv_thread(void *p) { ...@@ -708,18 +740,7 @@ static void *recv_thread(void *p) {
continue; continue;
} }
lost_pkts = 0;
if(prev_o_defined[antenna_id]) { if(prev_o_defined[antenna_id]) {
lost_pkts = diff_oran_counters(&o, &prev_o[antenna_id]) - 1;
if(lost_pkts < 0) {
printf("o = %d %d %d %d\n", o.symbol_id, o.slot_id, o.subframe_id, o.frame_id);
printf("prev_o = %d %d %d %d\n", prev_o[antenna_id].symbol_id,
prev_o[antenna_id].slot_id,
prev_o[antenna_id].subframe_id,
prev_o[antenna_id].frame_id);
printf("lost_pkts = %d\n", lost_pkts);
stop = 1 ; break ;
}
update_counter(&lost_rx_counter[antenna_id], lost_pkts); update_counter(&lost_rx_counter[antenna_id], lost_pkts);
} }
...@@ -1392,22 +1413,22 @@ static int read_trxr(ring_buffer_t * rbuf, float * samples, int count_left, int ...@@ -1392,22 +1413,22 @@ static int read_trxr(ring_buffer_t * rbuf, float * samples, int count_left, int
memcpy((uint8_t*) trx_read_int_tab, rbuf_read(rbuf), nc); memcpy((uint8_t*) trx_read_int_tab, rbuf_read(rbuf), nc);
int mismatch = 0; int mismatch = 0;
for(int k = 0; k < nc / 2; k++) { //for(int k = 0; k < nc / 2; k++) {
if(((uint8_t*) trx_read_int_tab)[2 * k] != 0x62 || ((uint8_t*)trx_read_int_tab)[2 * k +1] != 0x8f) { // if(((uint8_t*) trx_read_int_tab)[2 * k] != 0x62 || ((uint8_t*)trx_read_int_tab)[2 * k +1] != 0x8f) {
printf("2 * k = %d (%d) - %x%x \n", 2 * k, nc/2, ((uint8_t*)trx_read_int_tab)[2 * k], ((uint8_t*)trx_read_int_tab)[2 * k+1]); // printf("2 * k = %d (%d) - %x%x \n", 2 * k, nc/2, ((uint8_t*)trx_read_int_tab)[2 * k], ((uint8_t*)trx_read_int_tab)[2 * k+1]);
mismatch++; // mismatch++;
break; // break;
} // }
} //}
if(mismatch) { //if(mismatch) {
printf("%d/%d mismatch\n", mismatch, nc/2); // printf("%d/%d mismatch\n", mismatch, nc/2);
for(int k = 0; k < nc / 2; k++) { // for(int k = 0; k < nc / 2; k++) {
printf("%x%x ", ((uint8_t*)trx_read_int_tab)[2 * k], ((uint8_t*)trx_read_int_tab)[2 * k+1]); // printf("%x%x ", ((uint8_t*)trx_read_int_tab)[2 * k], ((uint8_t*)trx_read_int_tab)[2 * k+1]);
} // }
printf("\n"); // printf("\n");
printf("ra = %d \n", rbuf_read_amount(rbuf)); // printf("ra = %d \n", rbuf_read_amount(rbuf));
exit(EXIT_FAILURE); // exit(EXIT_FAILURE);
} //}
for(int k = 0; k < nc / 2 ; k++) for(int k = 0; k < nc / 2 ; k++)
trx_read_int_tab[k] = ntohs(trx_read_int_tab[k]); trx_read_int_tab[k] = ntohs(trx_read_int_tab[k]);
......
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