Commit b5d01833 authored by Ben Wojtowicz's avatar Ben Wojtowicz

Version 0.6.4: Optimized PRS generation, fixed 4 antenna receive, and added preconfigure for CRS

parent 3f434e1b
...@@ -39,3 +39,5 @@ v00.06.02 Added soft bit turbo decoding, random access and paging PDCCH deco ...@@ -39,3 +39,5 @@ v00.06.02 Added soft bit turbo decoding, random access and paging PDCCH deco
and more RRC support. and more RRC support.
v00.06.03 Added SIB2 support and interactive configuration to file_gen app. v00.06.03 Added SIB2 support and interactive configuration to file_gen app.
Added multiple eNB decode support to libraries and file_scan app. Added multiple eNB decode support to libraries and file_scan app.
v00.06.04 Optimized the psuedo random sequence generator, added pre-configuring
of the cell specific reference signals, and fixed 4 antenna reception.
...@@ -28,6 +28,8 @@ ...@@ -28,6 +28,8 @@
08/19/2012 Ben Wojtowicz Using the latest liblte library. 08/19/2012 Ben Wojtowicz Using the latest liblte library.
11/10/2012 Ben Wojtowicz Added SIB2 support and changed the parameter 11/10/2012 Ben Wojtowicz Added SIB2 support and changed the parameter
input method to be "interactive" input method to be "interactive"
12/01/2012 Ben Wojtowicz Using the latest liblte library and added
4 antenna support
*******************************************************************************/ *******************************************************************************/
...@@ -74,9 +76,6 @@ LTE_fdd_dl_fg_samp_buf::LTE_fdd_dl_fg_samp_buf() ...@@ -74,9 +76,6 @@ LTE_fdd_dl_fg_samp_buf::LTE_fdd_dl_fg_samp_buf()
gr_make_io_signature(MIN_IN, MAX_IN, sizeof(int8)), gr_make_io_signature(MIN_IN, MAX_IN, sizeof(int8)),
gr_make_io_signature(MIN_OUT, MAX_OUT, sizeof(int8))) gr_make_io_signature(MIN_OUT, MAX_OUT, sizeof(int8)))
{ {
// Initialize the LTE library
liblte_phy_init(&phy_struct);
// Initialize the LTE parameters // Initialize the LTE parameters
// General // General
bandwidth = 10; bandwidth = 10;
...@@ -223,6 +222,11 @@ int32 LTE_fdd_dl_fg_samp_buf::work(int32 ninput_items, ...@@ -223,6 +222,11 @@ int32 LTE_fdd_dl_fg_samp_buf::work(int32 ninput_items,
getline(&line, &line_size, stdin); getline(&line, &line_size, stdin);
line[strlen(line)-1] = '\0'; line[strlen(line)-1] = '\0';
change_config(line); change_config(line);
if(!need_config)
{
// Initialize the LTE library
liblte_phy_init(&phy_struct, N_id_cell);
}
} }
free(line); free(line);
...@@ -675,7 +679,8 @@ bool LTE_fdd_dl_fg_samp_buf::set_n_ant(char *char_value) ...@@ -675,7 +679,8 @@ bool LTE_fdd_dl_fg_samp_buf::set_n_ant(char *char_value)
if(false == char_to_uint32(char_value, &value) && if(false == char_to_uint32(char_value, &value) &&
(value == 1 || (value == 1 ||
value == 2))// FIXME: 4 antenna support value == 2 ||
value == 4))
{ {
N_ant = value; N_ant = value;
err = false; err = false;
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
10/06/2012 Ben Wojtowicz Updated to use the latest LTE library. 10/06/2012 Ben Wojtowicz Updated to use the latest LTE library.
11/10/2012 Ben Wojtowicz Using the latest libraries to decode more 11/10/2012 Ben Wojtowicz Using the latest libraries to decode more
than 1 eNB than 1 eNB
12/01/2012 Ben Wojtowicz Using the latest liblte library
*******************************************************************************/ *******************************************************************************/
...@@ -89,7 +90,7 @@ LTE_fdd_dl_fs_samp_buf::LTE_fdd_dl_fs_samp_buf() ...@@ -89,7 +90,7 @@ LTE_fdd_dl_fs_samp_buf::LTE_fdd_dl_fs_samp_buf()
uint32 i; uint32 i;
// Initialize the LTE library // Initialize the LTE library
liblte_phy_init(&phy_struct); liblte_phy_init(&phy_struct, LIBLTE_PHY_INIT_N_ID_CELL_UNKNOWN);
// Initialize the sample buffer // Initialize the sample buffer
i_buf = (float *)malloc(LTE_FDD_DL_FS_SAMP_BUF_SIZE*sizeof(float)); i_buf = (float *)malloc(LTE_FDD_DL_FS_SAMP_BUF_SIZE*sizeof(float));
......
...@@ -20,7 +20,7 @@ dnl the Free Software Foundation, Inc., 51 Franklin Street, ...@@ -20,7 +20,7 @@ dnl the Free Software Foundation, Inc., 51 Franklin Street,
dnl Boston, MA 02110-1301, USA. dnl Boston, MA 02110-1301, USA.
dnl dnl
AC_INIT(openlte,0.6.3) AC_INIT(openlte,0.6.4)
AC_PREREQ(2.57) AC_PREREQ(2.57)
AC_CONFIG_AUX_DIR([.]) AC_CONFIG_AUX_DIR([.])
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
SI PDSCH messages, added more sample defines, SI PDSCH messages, added more sample defines,
and re-factored the coarse timing and freq and re-factored the coarse timing and freq
search to find more than 1 eNB. search to find more than 1 eNB.
12/01/2012 Ben Wojtowicz Added ability to preconfigure CRS.
*******************************************************************************/ *******************************************************************************/
...@@ -144,6 +145,9 @@ typedef struct{ ...@@ -144,6 +145,9 @@ typedef struct{
Document Reference: N/A Document Reference: N/A
*********************************************************************/ *********************************************************************/
// Defines // Defines
#define LIBLTE_PHY_INIT_N_ID_CELL_UNKNOWN 0xFFFF
// Enums
// Structs
typedef struct{ typedef struct{
// PDSCH // PDSCH
float pdsch_y_est_re[5000]; float pdsch_y_est_re[5000];
...@@ -264,6 +268,11 @@ typedef struct{ ...@@ -264,6 +268,11 @@ typedef struct{
// Timing // Timing
float timing_abs_corr[LIBLTE_PHY_N_SAMPS_PER_SLOT*2]; float timing_abs_corr[LIBLTE_PHY_N_SAMPS_PER_SLOT*2];
// CRS Storage
float crs_re_storage[20][3][LIBLTE_PHY_N_RB_DL_20MHZ*LIBLTE_PHY_N_SC_RB_NORMAL_CP];
float crs_im_storage[20][3][LIBLTE_PHY_N_RB_DL_20MHZ*LIBLTE_PHY_N_SC_RB_NORMAL_CP];
uint32 N_id_cell_crs;
// Samples to Symbols & Symbols to Samples // Samples to Symbols & Symbols to Samples
fftw_complex *s2s_in; fftw_complex *s2s_in;
fftw_complex *s2s_out; fftw_complex *s2s_out;
...@@ -353,10 +362,9 @@ typedef struct{ ...@@ -353,10 +362,9 @@ typedef struct{
float rx_symb_re[LIBLTE_PHY_N_RB_DL_20MHZ*LIBLTE_PHY_N_SC_RB_NORMAL_CP]; float rx_symb_re[LIBLTE_PHY_N_RB_DL_20MHZ*LIBLTE_PHY_N_SC_RB_NORMAL_CP];
float rx_symb_im[LIBLTE_PHY_N_RB_DL_20MHZ*LIBLTE_PHY_N_SC_RB_NORMAL_CP]; float rx_symb_im[LIBLTE_PHY_N_RB_DL_20MHZ*LIBLTE_PHY_N_SC_RB_NORMAL_CP];
}LIBLTE_PHY_STRUCT; }LIBLTE_PHY_STRUCT;
// Enums
// Structs
// Functions // Functions
LIBLTE_ERROR_ENUM liblte_phy_init(LIBLTE_PHY_STRUCT **phy_struct); LIBLTE_ERROR_ENUM liblte_phy_init(LIBLTE_PHY_STRUCT **phy_struct,
uint16 N_id_cell);
/********************************************************************* /*********************************************************************
Name: liblte_phy_cleanup Name: liblte_phy_cleanup
......
This diff is collapsed.
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