Commit aac0097b authored by Xiwen JIANG's avatar Xiwen JIANG

cosmetic changes

parent 101ffa07
......@@ -1443,12 +1443,12 @@ unsigned int ulsch_decoding(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,
/* To be improved according to alignment of j2
#if defined(__x86_64__)||defined(__i386__)
//#ifndef __AVX2__
for (iprime=0; iprime<G;iprime+=8,j2+=8)
*((__m128i *)&ulsch_harq->e[iprime]) = *((__m128i *)&y[j2]);
/*#else
for (iprime=0; iprime<G;iprime+=16,j2+=16)
*((__m256i *)&ulsch_harq->e[iprime]) = *((__m256i *)&y[j2]);
#endif*/
//for (iprime=0; iprime<G;iprime+=8,j2+=8)
// *((__m128i *)&ulsch_harq->e[iprime]) = *((__m128i *)&y[j2]);
//#else
//for (iprime=0; iprime<G;iprime+=16,j2+=16)
// *((__m256i *)&ulsch_harq->e[iprime]) = *((__m256i *)&y[j2]);
// #endif
#elif defined(__arm__)
for (iprime=0; iprime<G;iprime+=8,j2+=8)
*((int16x8_t *)&ulsch_harq->e[iprime]) = *((int16x8_t *)&y[j2]);
......
......@@ -49,9 +49,9 @@ void estimate_DLCSI_from_ULCSI(int32_t **calib_dl_ch_estimates, LTE_eNB_PUSCH *p
shift = log2_approx(ulsch_power[aa]*beta)>>1;
//printf("ulsch_power[%d]=%d\n", aa, ulsch_power[aa]);
// Temporal implementation for 5MHz band
multadd_cpx_vector((int16_t*)(&tdd_calib_coeffs[aa][12]),(int16_t*)(&ul_ch_estimates[aa][12]),(int16_t*)(&calib_dl_ch_estimates[aa][12]),1,20*12,shift);
//multadd_cpx_vector((int16_t*)(&tdd_calib_coeffs[aa][12]),(int16_t*)(&ul_ch_estimates[aa][12]),(int16_t*)(&calib_dl_ch_estimates[aa][12]),1,20*12,shift);
//multadd_cpx_vector((int16_t*)(&tdd_calib_coeffs[aa][0]),(int16_t*)(&ul_ch_estimates[aa][0]),(int16_t*)(&calib_dl_ch_estimates[aa][0]),1,frame_parms->N_RB_DL*12,15);
multadd_cpx_vector((int16_t*)(&tdd_calib_coeffs[aa][0]),(int16_t*)(&ul_ch_estimates[aa][0]),(int16_t*)(&calib_dl_ch_estimates[aa][0]),1,frame_parms->N_RB_DL*12,9);
/*
for (re=12; re<20*12; re++) {
......@@ -96,7 +96,7 @@ void compute_BF_weights(int32_t **beam_weights, int32_t **calib_dl_ch_estimates,
((int16_t*)(&beam_weights[aa][frame_parms->first_carrier_offset+re]))[1]);*/
}
//for (re=frame_parms->N_RB_DL*6; re<frame_parms->N_RB_DL*12; re++) {
// for (re=frame_parms->N_RB_DL*6; re<frame_parms->N_RB_DL*12; re++) {
for (re=frame_parms->N_RB_DL*6; re<20*12; re++) {
//normalisation simplied by a constent shift
((int16_t*)(&beam_weights[aa][re-frame_parms->N_RB_DL*6+1]))[0] = ((int16_t*)(&calib_dl_ch_estimates[aa][re]))[0]<<norm_factor;
......
......@@ -76,6 +76,8 @@ double t_rx_min = 1000000000; /*!< \brief initial min process time for rx */
int n_tx_dropped = 0; /*!< \brief initial max process time for tx */
int n_rx_dropped = 0; /*!< \brief initial max process time for rx */
char tdd_recip_calib_file[1024];
void handler(int sig)
{
void *array[10];
......@@ -124,7 +126,6 @@ int main(int argc, char **argv)
//int32_t **cell_spec_bf_weights;
int32_t *ue_spec_bf_weights;
uint8_t tdd_calib=0;
char tdd_recip_calib_file[1024];
int eNB_id = 0, eNB_id_i = 1;
unsigned char mcs1=0,mcs2=0,mcs_i=0,dual_stream_UE = 0,awgn_flag=0,round,dci_flag=0;
......@@ -263,7 +264,7 @@ int main(int argc, char **argv)
// num_layers = 1;
perfect_ce = 0;
while ((c = getopt (argc, argv, "ahdpZDe:Em:n:o:s:f:t:c:g:r:F:x:p:y:z:AM:N:I:i:O:R:S:C:T:b:u:v:w:B:PLl:WXY")) != -1) {
while ((c = getopt (argc, argv, "ahdpZDe:Em:n:o:s:f:t:c:g:r:F:W:x:p:y:z:AM:N:I:i:O:R:S:C:T:b:u:v:w:B:PLl:XY")) != -1) {
switch (c) {
case 'a':
awgn_flag = 1;
......@@ -534,7 +535,18 @@ int main(int argc, char **argv)
break;
case 'W':
tdd_calib=1;
if ((strcmp("null", optarg) == 0) || (strcmp("NULL", optarg) == 0)) {
//if (strlen(optarg) == 0){
printf("No tdd reciprocity filename is provided\n");
}
else if (strlen(optarg)<=1024){
strcpy(tdd_recip_calib_file,optarg);
tdd_calib = 1;
}else {
printf("TDD calibration filename is too long\n");
exit(-1);
}
break;
case 'X':
......
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