Commit efa72b1c authored by Elena Lukashova's avatar Elena Lukashova

1. Adding time_meas.c to PHY_MEX librariry to perform time measurements.

2. Consmetic changes in linear_preprocessing_rec.h and dlsch_demodulation.c
parent 1ce161c2
...@@ -1220,6 +1220,7 @@ set(PHY_MEX_UE ...@@ -1220,6 +1220,7 @@ set(PHY_MEX_UE
${OPENAIR_DIR}/common/config/config_cmdline.c ${OPENAIR_DIR}/common/config/config_cmdline.c
${OPENAIR_DIR}/common/config/config_userapi.c ${OPENAIR_DIR}/common/config/config_userapi.c
${OPENAIR_DIR}/common/config/config_load_configmodule.c ${OPENAIR_DIR}/common/config/config_load_configmodule.c
${OPENAIR1_DIR}/PHY/TOOLS/time_meas.c
) )
add_library(PHY_MEX ${PHY_MEX_UE}) add_library(PHY_MEX ${PHY_MEX_UE})
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
#include "linear_preprocessing_rec.h" #include "linear_preprocessing_rec.h"
#define NOCYGWIN_STATIC #define NOCYGWIN_STATIC
#define DEBUG_FRONT_END //#define DEBUG_FRONT_END
/* dynamic shift for LLR computation for TM3/4 /* dynamic shift for LLR computation for TM3/4
...@@ -4594,11 +4594,12 @@ void whitening_processing_core_flp(float complex **rxdataF_flp, ...@@ -4594,11 +4594,12 @@ void whitening_processing_core_flp(float complex **rxdataF_flp,
W_Wh_0[aatx*n_rx + aarx][re] = W_Wh_0_re[aatx*n_rx + aarx]; W_Wh_0[aatx*n_rx + aarx][re] = W_Wh_0_re[aatx*n_rx + aarx];
W_Wh_1[aatx*n_rx + aarx][re] = W_Wh_1_re[aatx*n_rx + aarx]; W_Wh_1[aatx*n_rx + aarx][re] = W_Wh_1_re[aatx*n_rx + aarx];
#ifdef DEBUG_FRONT_END
if (re == 0){ if (re == 0){
printf("whitening_processing_core_flp: W_Wh_0[%d] = (%f + i%f)\n", aatx*n_rx + aarx, creal(W_Wh_0[aatx*n_rx + aarx][re]), cimag(W_Wh_0[aatx*n_rx + aarx][re])); printf("whitening_processing_core_flp: W_Wh_0[%d] = (%f + i%f)\n", aatx*n_rx + aarx, creal(W_Wh_0[aatx*n_rx + aarx][re]), cimag(W_Wh_0[aatx*n_rx + aarx][re]));
printf("whitening_processing_core_flp: W_Wh_1[%d] = (%f + i%f)\n", aatx*n_rx + aarx, creal(W_Wh_1[aatx*n_rx + aarx][re]), cimag(W_Wh_1[aatx*n_rx + aarx][re])); printf("whitening_processing_core_flp: W_Wh_1[%d] = (%f + i%f)\n", aatx*n_rx + aarx, creal(W_Wh_1[aatx*n_rx + aarx][re]), cimag(W_Wh_1[aatx*n_rx + aarx][re]));
} }
#endif
if (fabs(creal(W_Wh_0_re[aatx*n_rx + aarx])) > max_0) if (fabs(creal(W_Wh_0_re[aatx*n_rx + aarx])) > max_0)
max_0 = fabs(creal(W_Wh_0_re[aatx*n_rx + aarx])); max_0 = fabs(creal(W_Wh_0_re[aatx*n_rx + aarx]));
if (fabs(cimag(W_Wh_0_re[aatx*n_rx + aarx])) > max_0) if (fabs(cimag(W_Wh_0_re[aatx*n_rx + aarx])) > max_0)
......
...@@ -11,34 +11,33 @@ void transpose(int N, float complex *A, float complex *Result); ...@@ -11,34 +11,33 @@ void transpose(int N, float complex *A, float complex *Result);
void conjugate_transpose (int rows_A, int col_A, float complex *A, float complex *Result); void conjugate_transpose (int rows_A, int col_A, float complex *A, float complex *Result);
void H_hermH_plus_sigma2I(int N, int M, float complex *A, float sigma2, float complex *Result); void H_hermH_plus_sigma2I (int rows_A, int col_A, float complex *A, float sigma2, float complex *Result);
void HH_herm_plus_sigma2I(int M, int N, float complex *A, float sigma2, float complex *Result); void HH_herm_plus_sigma2I (int rows_A, int col_A, float complex *A, float sigma2, float complex *Result);
void eigen_vectors_values(int N, float complex *A, float complex *Vectors, float *Values_Matrix); void eigen_vectors_values(int N, float complex *A, float complex *Vectors, float *Values_Matrix);
void lin_eq_solver(int N, float complex *A, float complex* B); void lin_eq_solver(int N, float complex *A, float complex *B);
//float complex* lin_eq_solver (int N, float complex* A, float complex* B);
/* mutl_matrix_matrix_row_based performs multiplications when matrix is row-oriented H[0], H[1]; H[2], H[3]*/ /* mutl_matrix_matrix_row_based performs multiplications when matrix is row-oriented H[0], H[1]; H[2], H[3]*/
void mutl_matrix_matrix_row_based(float complex* M0, float complex* M1, int rows_M0, int col_M0, int rows_M1, int col_M1, float complex* Result ); void mutl_matrix_matrix_row_based(float complex *M0, float complex *M1, int rows_M0, int col_M0, int rows_M1, int col_M1, float complex *Result );
/* mutl_matrix_matrix_col_based performs multiplications matrix is column-oriented H[0], H[2]; H[1], H[3]*/ /* mutl_matrix_matrix_col_based performs multiplications matrix is column-oriented H[0], H[2]; H[1], H[3]*/
void mutl_matrix_matrix_col_based(float complex* M0, float complex* M1, int rows_M0, int col_M0, int rows_M1, int col_M1, float complex* Result ); void mutl_matrix_matrix_col_based(float complex *M0, float complex *M1, int rows_M0, int col_M0, int rows_M1, int col_M1, float complex *Result );
void mutl_scal_matrix_matrix_col_based(float complex* M0, float complex* M1, float complex alpha, int rows_M0, int col_M0, int rows_M1, int col_M1, float complex* Result); void mutl_scal_matrix_matrix_col_based(float complex *M0, float complex *M1, float complex alpha, int rows_M0, int col_M0, int rows_M1, int col_M1, float complex *Result);
void compute_MMSE(float complex* H, int order_H, float sigma2, float complex* W_MMSE); void compute_MMSE(float complex *H, int order_H, float sigma2, float complex *W_MMSE);
float sqrt_float(float x); float sqrt_float(float x);
void compute_white_filter(float complex* H0_re, void compute_white_filter(float complex *H0_re,
float complex* H1_re, float complex *H1_re,
float sigma2, float sigma2,
int n_rx, int n_rx,
int n_tx, int n_tx,
float complex* W_Wh_0_re, float complex *W_Wh_0_re,
float complex* W_Wh_1_re); float complex *W_Wh_1_re);
void mmse_processing_oai(LTE_UE_PDSCH *pdsch_vars, void mmse_processing_oai(LTE_UE_PDSCH *pdsch_vars,
LTE_DL_FRAME_PARMS *frame_parms, LTE_DL_FRAME_PARMS *frame_parms,
...@@ -111,7 +110,7 @@ void mmse_processing_core(int32_t **rxdataF_ext, ...@@ -111,7 +110,7 @@ void mmse_processing_core(int32_t **rxdataF_ext,
int length, int length,
int start_point); int start_point);
void mmse_processing_core_flp(float complex** rxdataF_flp, void mmse_processing_core_flp(float complex **rxdataF_flp,
float complex **chan_est_flp, float complex **chan_est_flp,
int32_t **rxdataF_filt_fp, int32_t **rxdataF_filt_fp,
int32_t **chan_est_eff_fp, int32_t **chan_est_eff_fp,
......
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