Merge pull request #26 from suttonpd/master

Directory restructure and cmake cleanup
This commit is contained in:
Ismael Gómez-Miguelez 2014-06-17 17:16:22 +02:00
commit b4e625eddd
207 changed files with 633 additions and 574 deletions

View File

@ -129,15 +129,12 @@ ENDMACRO(LIBLTE_SET_PIC)
# through an internal cache variable. # through an internal cache variable.
######################################################################## ########################################################################
MACRO (APPEND_INTERNAL_LIST LIST_NAME VALUE) MACRO (APPEND_INTERNAL_LIST LIST_NAME VALUE)
# If the list in not in the cache, create it. # If the list in not in the cache, create it.
IF (${LIST_NAME}) IF (${LIST_NAME})
SET (${LIST_NAME} "${${LIST_NAME}};${VALUE}" CACHE INTERNAL "Internal SET (${LIST_NAME} "${${LIST_NAME}};${VALUE}" CACHE INTERNAL "Internal variable")
variable")
ELSE (${LIST_NAME}) ELSE (${LIST_NAME})
SET (${LIST_NAME} "${VALUE}" CACHE INTERNAL "Internal variable") SET (${LIST_NAME} "${VALUE}" CACHE INTERNAL "Internal variable")
ENDIF (${LIST_NAME}) ENDIF (${LIST_NAME})
ENDMACRO (APPEND_INTERNAL_LIST) ENDMACRO (APPEND_INTERNAL_LIST)
@ -150,16 +147,16 @@ MESSAGE(STATUS "Building for version: ${VERSION}")
######################################################################## ########################################################################
# Add general includes and dependencies # Add general includes and dependencies
######################################################################## ########################################################################
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/lte/include) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/common/include)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/lte/phy/include/)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/cuhd/include) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/cuhd/include)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/graphics/include) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/graphics/include)
######################################################################## ########################################################################
# Add the subdirectories # Add the subdirectories
######################################################################## ########################################################################
ADD_SUBDIRECTORY(common)
ADD_SUBDIRECTORY(lte)
ADD_SUBDIRECTORY(cuhd) ADD_SUBDIRECTORY(cuhd)
ADD_SUBDIRECTORY(graphics) ADD_SUBDIRECTORY(graphics)
ADD_SUBDIRECTORY(examples) ADD_SUBDIRECTORY(lte)

View File

@ -42,7 +42,7 @@ make
The library can also be installed using the command ```sudo make install```. The library can also be installed using the command ```sudo make install```.
Examples PHY Examples
========== ==========
* eNodeB and UE PBCH example * eNodeB and UE PBCH example
@ -50,12 +50,12 @@ Examples
Setup one or two computers connected to two USRP or UHD-compatible hardware. From the eNodeB, type Setup one or two computers connected to two USRP or UHD-compatible hardware. From the eNodeB, type
``` ```
examples/pbch_enodeb -f [frequency_in_Hz] -c [cell_id] [-a [UHD args]] [-h for more commands] lte/phy/examples/pbch_enodeb -f [frequency_in_Hz] -c [cell_id] [-a [UHD args]] [-h for more commands]
``` ```
From the UE, type From the UE, type
``` ```
examples/pbch_ue -f [frequency_in_Hz] -c [cell_id] [-a [UHD args]] [-h for more commands] lte/phy/examples/pbch_ue -f [frequency_in_Hz] -c [cell_id] [-a [UHD args]] [-h for more commands]
``` ```
And the output should look something like the following video. In this example, we removed the transmitter and receiver antennas in the middle of the demonstration, showing how reception is still possible (despite with some erros). And the output should look something like the following video. In this example, we removed the transmitter and receiver antennas in the middle of the demonstration, showing how reception is still possible (despite with some erros).
@ -70,12 +70,12 @@ If you don't have a pair of USRP, you can also test the demo by writing the samp
From the eNodeB, type From the eNodeB, type
``` ```
examples/pbch_enodeb -o [output_file] -c [cell_id] [-h for more commands] lte/phy/examples/pbch_enodeb -o [output_file] -c [cell_id] [-h for more commands]
``` ```
From the UE, type From the UE, type
``` ```
examples/pbch_ue -i [input_file] -c [cell_id] [-h for more commands] lte/phy/examples/pbch_ue -i [input_file] -c [cell_id] [-h for more commands]
``` ```
@ -85,7 +85,7 @@ This program uses any hardware supported by the UHD driver to scan an LTE band f
For instance, the command: For instance, the command:
``` examples/scan_mib -b 3 ``` ``` lte/phy/examples/scan_mib -b 3 ```
Scans the LTE band 3 (1805 to 1880 MHz). Note that you need a hardware supporting these frequencies (e.g. SBX daughterboard for USRP). For more command arguments, type ``` examples/mib_scan_usrp -h ``` Scans the LTE band 3 (1805 to 1880 MHz). Note that you need a hardware supporting these frequencies (e.g. SBX daughterboard for USRP). For more command arguments, type ``` examples/mib_scan_usrp -h ```

View File

@ -19,12 +19,18 @@
# and at http://www.gnu.org/licenses/. # and at http://www.gnu.org/licenses/.
# #
########################################################################
# Install headers
########################################################################
INSTALL(DIRECTORY include/ DESTINATION "${INCLUDE_DIR}"
FILES_MATCHING PATTERN "*.h"
PATTERN ".svn" EXCLUDE
)
######################################################################## ########################################################################
# Add headers to cmake project (useful for IDEs) # Add headers to cmake project (useful for IDEs)
######################################################################## ########################################################################
SET(HEADERS_ALL "") SET(HEADERS_ALL "")
FILE(GLOB_RECURSE tmp "*.h")
LIST(APPEND HEADERS_ALL ${tmp})
FILE(GLOB headers *) FILE(GLOB headers *)
FOREACH (_header ${headers}) FOREACH (_header ${headers})
IF(IS_DIRECTORY ${_header}) IF(IS_DIRECTORY ${_header})
@ -32,7 +38,5 @@ FOREACH (_header ${headers})
LIST(APPEND HEADERS_ALL ${tmp}) LIST(APPEND HEADERS_ALL ${tmp})
ENDIF(IS_DIRECTORY ${_header}) ENDIF(IS_DIRECTORY ${_header})
ENDFOREACH() ENDFOREACH()
ADD_CUSTOM_TARGET (add_graphics_headers SOURCES ${HEADERS_ALL}) ADD_CUSTOM_TARGET (add_common_headers SOURCES ${HEADERS_ALL})

View File

@ -22,16 +22,27 @@
######################################################################## ########################################################################
# Install headers # Install headers
######################################################################## ########################################################################
ADD_SUBDIRECTORY(include) INSTALL(DIRECTORY include/
INSTALL(DIRECTORY include/ DESTINATION "${INCLUDE_DIR}" DESTINATION "${INCLUDE_DIR}"
FILES_MATCHING PATTERN "*.h" FILES_MATCHING PATTERN "*.h"
PATTERN ".svn" EXCLUDE PATTERN ".svn" EXCLUDE
) )
########################################################################
# Add headers to cmake project (useful for IDEs)
########################################################################
SET(HEADERS_ALL "")
FILE(GLOB headers *)
FOREACH (_header ${headers})
IF(IS_DIRECTORY ${_header})
FILE(GLOB_RECURSE tmp "${_header}/*.h")
LIST(APPEND HEADERS_ALL ${tmp})
ENDIF(IS_DIRECTORY ${_header})
ENDFOREACH()
ADD_CUSTOM_TARGET (add_cuhd_headers SOURCES ${HEADERS_ALL})
######################################################################## ########################################################################
# Add the subdirectories # Add the subdirectories
######################################################################## ########################################################################
ADD_SUBDIRECTORY(lib) ADD_SUBDIRECTORY(lib)

View File

@ -1,38 +0,0 @@
#
# Copyright 2012-2013 The libLTE Developers. See the
# COPYRIGHT file at the top-level directory of this distribution.
#
# This file is part of the libLTE library.
#
# libLTE is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation, either version 3 of
# the License, or (at your option) any later version.
#
# libLTE is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# A copy of the GNU Lesser General Public License can be found in
# the LICENSE file in the top-level directory of this distribution
# and at http://www.gnu.org/licenses/.
#
########################################################################
# Add headers to cmake project (useful for IDEs)
########################################################################
SET(HEADERS_ALL "")
FILE(GLOB_RECURSE tmp "*.h")
LIST(APPEND HEADERS_ALL ${tmp})
FILE(GLOB headers *)
FOREACH (_header ${headers})
IF(IS_DIRECTORY ${_header})
FILE(GLOB_RECURSE tmp "${_header}/*.h")
LIST(APPEND HEADERS_ALL ${tmp})
ENDIF(IS_DIRECTORY ${_header})
ENDFOREACH()
ADD_CUSTOM_TARGET (add_cuhd_headers SOURCES ${HEADERS_ALL})

View File

@ -32,24 +32,25 @@ extern "C" {
#endif #endif
#include <stdbool.h> #include <stdbool.h>
#include "cuhd/cuhd_utils.h" #include "liblte/config.h"
#include "liblte/cuhd/cuhd_utils.h"
int cuhd_open(char *args, void **handler); LIBLTE_API int cuhd_open(char *args, void **handler);
int cuhd_close(void *h); LIBLTE_API int cuhd_close(void *h);
int cuhd_start_rx_stream(void *h); LIBLTE_API int cuhd_start_rx_stream(void *h);
int cuhd_start_rx_stream_nsamples(void *h, int nsamples); LIBLTE_API int cuhd_start_rx_stream_nsamples(void *h, int nsamples);
int cuhd_stop_rx_stream(void *h); LIBLTE_API int cuhd_stop_rx_stream(void *h);
bool cuhd_rx_wait_lo_locked(void *h); LIBLTE_API bool cuhd_rx_wait_lo_locked(void *h);
double cuhd_set_rx_srate(void *h, double freq); LIBLTE_API double cuhd_set_rx_srate(void *h, double freq);
double cuhd_set_rx_gain(void *h, double gain); LIBLTE_API double cuhd_set_rx_gain(void *h, double gain);
double cuhd_set_rx_freq(void *h, double freq); LIBLTE_API double cuhd_set_rx_freq(void *h, double freq);
int cuhd_recv(void *h, void *data, int nsamples, int blocking); LIBLTE_API int cuhd_recv(void *h, void *data, int nsamples, int blocking);
double cuhd_set_tx_srate(void *h, double freq); LIBLTE_API double cuhd_set_tx_srate(void *h, double freq);
double cuhd_set_tx_gain(void *h, double gain); LIBLTE_API double cuhd_set_tx_gain(void *h, double gain);
double cuhd_set_tx_freq(void *h, double freq); LIBLTE_API double cuhd_set_tx_freq(void *h, double freq);
int cuhd_send(void *h, void *data, int nsamples, int blocking); LIBLTE_API int cuhd_send(void *h, void *data, int nsamples, int blocking);
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -25,6 +25,6 @@
* *
*/ */
#include "liblte/config.h"
LIBLTE_API int cuhd_rssi_scan(void *uhd, float *freqs, float *rssi, int nof_bands, double fs, int nsamp);
int cuhd_rssi_scan(void *uhd, float *freqs, float *rssi, int nof_bands, double fs, int nsamp);

View File

@ -23,7 +23,7 @@ FIND_PACKAGE(UHD)
IF(UHD_FOUND) IF(UHD_FOUND)
ADD_LIBRARY(cuhd cuhd_imp.cpp cuhd_utils.c) ADD_LIBRARY(cuhd SHARED cuhd_imp.cpp cuhd_utils.c)
INCLUDE_DIRECTORIES(${UHD_INCLUDE_DIRS}) INCLUDE_DIRECTORIES(${UHD_INCLUDE_DIRS})
LINK_DIRECTORIES(${UHD_LIBRARY_DIRS}) LINK_DIRECTORIES(${UHD_LIBRARY_DIRS})
TARGET_LINK_LIBRARIES(cuhd ${UHD_LIBRARIES}) TARGET_LINK_LIBRARIES(cuhd ${UHD_LIBRARIES})

View File

@ -32,7 +32,7 @@
#include <uhd/utils/msg.hpp> #include <uhd/utils/msg.hpp>
#include "cuhd_handler.hpp" #include "cuhd_handler.hpp"
#include "cuhd.h" #include "liblte/cuhd/cuhd.h"
void my_handler(uhd::msg::type_t type, const std::string &msg){ void my_handler(uhd::msg::type_t type, const std::string &msg){

View File

@ -31,9 +31,9 @@
#include <unistd.h> #include <unistd.h>
#include "cuhd.h" #include "liblte/cuhd/cuhd.h"
#include "lte/utils/vector.h" #include "liblte/phy/utils/vector.h"
#include "lte/utils/debug.h" #include "liblte/phy/utils/debug.h"
int cuhd_rssi_scan(void *uhd, float *freqs, float *rssi, int nof_bands, double fs, int nsamp) { int cuhd_rssi_scan(void *uhd, float *freqs, float *rssi, int nof_bands, double fs, int nsamp) {
int i, j; int i, j;

View File

@ -22,15 +22,27 @@
######################################################################## ########################################################################
# Install headers # Install headers
######################################################################## ########################################################################
ADD_SUBDIRECTORY(include) INSTALL(DIRECTORY include/
INSTALL(DIRECTORY include/ DESTINATION "${INCLUDE_DIR}" DESTINATION "${INCLUDE_DIR}"
FILES_MATCHING PATTERN "*.h" FILES_MATCHING PATTERN "*.h"
PATTERN ".svn" EXCLUDE PATTERN ".svn" EXCLUDE
) )
########################################################################
# Add headers to cmake project (useful for IDEs)
########################################################################
SET(HEADERS_ALL "")
FILE(GLOB headers *)
FOREACH (_header ${headers})
IF(IS_DIRECTORY ${_header})
FILE(GLOB_RECURSE tmp "${_header}/*.h")
LIST(APPEND HEADERS_ALL ${tmp})
ENDIF(IS_DIRECTORY ${_header})
ENDFOREACH()
ADD_CUSTOM_TARGET (add_graphics_headers SOURCES ${HEADERS_ALL})
######################################################################## ########################################################################
# Add the subdirectories # Add the subdirectories
######################################################################## ########################################################################
ADD_SUBDIRECTORY(lib) ADD_SUBDIRECTORY(lib)

View File

@ -33,12 +33,12 @@
extern "C" { extern "C" {
#endif #endif
#include "lte/config.h" #include "liblte/config.h"
#include "plot/plot_real.h" #include "liblte/graphics/plot/plot_real.h"
#include "plot/plot_scatter.h" #include "liblte/graphics/plot/plot_scatter.h"
#include "plot/plot_complex.h" #include "liblte/graphics/plot/plot_complex.h"
#include "plot/plot_waterfall.h" #include "liblte/graphics/plot/plot_waterfall.h"
LIBLTE_API int plot_init(); LIBLTE_API int plot_init();
LIBLTE_API void plot_exit(); LIBLTE_API void plot_exit();

View File

@ -35,7 +35,7 @@ extern "C" {
#endif #endif
#include <stdbool.h> #include <stdbool.h>
#include "lte/config.h" #include "liblte/config.h"
typedef enum { typedef enum {
Ip, Q, Magnitude, Phase Ip, Q, Magnitude, Phase

View File

@ -34,7 +34,7 @@ extern "C" {
#endif #endif
#include <stdbool.h> #include <stdbool.h>
#include "lte/config.h" #include "liblte/config.h"
typedef void* plot_real_t; typedef void* plot_real_t;

View File

@ -34,7 +34,7 @@ extern "C" {
#endif #endif
#include <stdbool.h> #include <stdbool.h>
#include "lte/config.h" #include "liblte/config.h"
typedef void* plot_scatter_t; typedef void* plot_scatter_t;

View File

@ -34,7 +34,7 @@ extern "C" {
#endif #endif
#include <stdbool.h> #include <stdbool.h>
#include "lte/config.h" #include "liblte/config.h"
typedef void* plot_waterfall_t; typedef void* plot_waterfall_t;

View File

@ -26,7 +26,7 @@
*/ */
#include "plot.h" #include "liblte/graphics/plot.h"
#include <stdio.h> #include <stdio.h>
#include <QApplication> #include <QApplication>
#include <QMainWindow> #include <QMainWindow>

View File

@ -28,7 +28,7 @@
#include "plot/plot_complex.h" #include "liblte/graphics/plot/plot_complex.h"
#include "Complexplot.h" #include "Complexplot.h"
#include <complex> #include <complex>

View File

@ -27,7 +27,7 @@
#include "plot/plot_real.h" #include "liblte/graphics/plot/plot_real.h"
#include "Realplot.h" #include "Realplot.h"
#include <complex.h> #include <complex.h>

View File

@ -3,7 +3,7 @@
#include <string> #include <string>
#include <complex> #include <complex>
#include "lte/config.h" #include "liblte/config.h"
class ScatterplotWrapper; class ScatterplotWrapper;

View File

@ -27,7 +27,7 @@
#include "plot/plot_scatter.h" #include "liblte/graphics/plot/plot_scatter.h"
#include "Scatterplot.h" #include "Scatterplot.h"
#include <complex> #include <complex>

View File

@ -28,7 +28,7 @@
#include "plot/plot_waterfall.h" #include "liblte/graphics/plot/plot_waterfall.h"
#include "Waterfallplot.h" #include "Waterfallplot.h"
#include <complex.h> #include <complex.h>

View File

@ -19,18 +19,10 @@
# and at http://www.gnu.org/licenses/. # and at http://www.gnu.org/licenses/.
# #
########################################################################
# Install headers
########################################################################
ADD_SUBDIRECTORY(include)
INSTALL(DIRECTORY include/ DESTINATION "${INCLUDE_DIR}"
FILES_MATCHING PATTERN "*.h"
PATTERN ".svn" EXCLUDE
)
######################################################################## ########################################################################
# Add the subdirectories # Add the subdirectories
######################################################################## ########################################################################
ADD_SUBDIRECTORY(phy)
ADD_SUBDIRECTORY(lib) ADD_SUBDIRECTORY(mac)
ADD_SUBDIRECTORY(rlc)
ADD_SUBDIRECTORY(pdcp)

View File

@ -1,107 +0,0 @@
/**
*
* \section COPYRIGHT
*
* Copyright 2013-2014 The libLTE Developers. See the
* COPYRIGHT file at the top-level directory of this distribution.
*
* \section LICENSE
*
* This file is part of the libLTE library.
*
* libLTE is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version.
*
* libLTE is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* A copy of the GNU Lesser General Public License can be found in
* the LICENSE file in the top-level directory of this distribution
* and at http://www.gnu.org/licenses/.
*
*/
#include <complex.h>
#include <math.h>
#ifndef _LTE_
#define _LTE_
#ifdef __cplusplus
extern "C" {
#endif
#include "lte/config.h"
#include "lte/utils/bit.h"
#include "lte/utils/convolution.h"
#include "lte/utils/debug.h"
#include "lte/utils/dft.h"
#include "lte/utils/matrix.h"
#include "lte/utils/mux.h"
#include "lte/utils/cexptab.h"
#include "lte/utils/pack.h"
#include "lte/utils/vector.h"
#include "lte/common/base.h"
#include "lte/common/fft.h"
#include "lte/common/sequence.h"
#include "lte/ch_estimation/chest.h"
#include "lte/ch_estimation/refsignal.h"
#include "lte/channel/ch_awgn.h"
#include "lte/fec/viterbi.h"
#include "lte/fec/convcoder.h"
#include "lte/fec/crc.h"
#include "lte/fec/tc_interl.h"
#include "lte/fec/turbocoder.h"
#include "lte/fec/turbodecoder.h"
#include "lte/fec/rm_conv.h"
#include "lte/fec/rm_turbo.h"
#include "lte/filter/filter2d.h"
#include "lte/io/binsource.h"
#include "lte/io/filesink.h"
#include "lte/io/filesource.h"
#include "lte/io/udpsink.h"
#include "lte/io/udpsource.h"
#include "lte/modem/demod_hard.h"
#include "lte/modem/demod_soft.h"
#include "lte/modem/mod.h"
#include "lte/modem/modem_table.h"
#include "lte/mimo/precoding.h"
#include "lte/mimo/layermap.h"
#include "lte/phch/regs.h"
#include "lte/phch/dci.h"
#include "lte/phch/pdcch.h"
#include "lte/phch/pdsch.h"
#include "lte/phch/pbch.h"
#include "lte/phch/pcfich.h"
#include "lte/phch/phich.h"
#include "lte/scrambling/scrambling.h"
#include "lte/resampling/interp.h"
#include "lte/sync/pss.h"
#include "lte/sync/sfo.h"
#include "lte/sync/sss.h"
#include "lte/sync/sync.h"
#include "lte/sync/cfo.h"
#ifdef __cplusplus
}
#endif
#endif

21
lte/mac/CMakeLists.txt Normal file
View File

@ -0,0 +1,21 @@
#
# Copyright 2012-2013 The libLTE Developers. See the
# COPYRIGHT file at the top-level directory of this distribution.
#
# This file is part of the libLTE library.
#
# libLTE is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation, either version 3 of
# the License, or (at your option) any later version.
#
# libLTE is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# A copy of the GNU Lesser General Public License can be found in
# the LICENSE file in the top-level directory of this distribution
# and at http://www.gnu.org/licenses/.
#

21
lte/pdcp/CMakeLists.txt Normal file
View File

@ -0,0 +1,21 @@
#
# Copyright 2012-2013 The libLTE Developers. See the
# COPYRIGHT file at the top-level directory of this distribution.
#
# This file is part of the libLTE library.
#
# libLTE is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation, either version 3 of
# the License, or (at your option) any later version.
#
# libLTE is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# A copy of the GNU Lesser General Public License can be found in
# the LICENSE file in the top-level directory of this distribution
# and at http://www.gnu.org/licenses/.
#

View File

@ -19,12 +19,19 @@
# and at http://www.gnu.org/licenses/. # and at http://www.gnu.org/licenses/.
# #
########################################################################
# Install headers
########################################################################
INSTALL(DIRECTORY include/
DESTINATION "${INCLUDE_DIR}"
FILES_MATCHING PATTERN "*.h"
PATTERN ".svn" EXCLUDE
)
######################################################################## ########################################################################
# Add headers to cmake project (useful for IDEs) # Add headers to cmake project (useful for IDEs)
######################################################################## ########################################################################
SET(HEADERS_ALL "") SET(HEADERS_ALL "")
FILE(GLOB_RECURSE tmp "*.h")
LIST(APPEND HEADERS_ALL ${tmp})
FILE(GLOB headers *) FILE(GLOB headers *)
FOREACH (_header ${headers}) FOREACH (_header ${headers})
IF(IS_DIRECTORY ${_header}) IF(IS_DIRECTORY ${_header})
@ -34,5 +41,8 @@ FOREACH (_header ${headers})
ENDFOREACH() ENDFOREACH()
ADD_CUSTOM_TARGET (add_lte_headers SOURCES ${HEADERS_ALL}) ADD_CUSTOM_TARGET (add_lte_headers SOURCES ${HEADERS_ALL})
########################################################################
# Add subdirectories
########################################################################
ADD_SUBDIRECTORY(lib)
ADD_SUBDIRECTORY(examples)

View File

@ -25,10 +25,10 @@
################################################################# #################################################################
add_executable(hl_example hl_example.c) add_executable(hl_example hl_example.c)
target_link_libraries(hl_example lte) target_link_libraries(hl_example lte_phy)
add_executable(ll_example ll_example.c) add_executable(ll_example ll_example.c)
target_link_libraries(ll_example lte) target_link_libraries(ll_example lte_phy)
################################################################# #################################################################
@ -36,7 +36,7 @@ target_link_libraries(ll_example lte)
################################################################# #################################################################
add_executable(synch_file synch_file.c) add_executable(synch_file synch_file.c)
target_link_libraries(synch_file lte) target_link_libraries(synch_file lte_phy)
LINK_DIRECTORIES(${UHD_LIBRARY_DIRS}) LINK_DIRECTORIES(${UHD_LIBRARY_DIRS})
@ -52,10 +52,10 @@ LIST(FIND OPTIONAL_LIBS graphics GRAPHICS_FIND)
################################################################# #################################################################
add_executable(pbch_ue pbch_ue.c) add_executable(pbch_ue pbch_ue.c)
target_link_libraries(pbch_ue lte) target_link_libraries(pbch_ue lte_phy)
add_executable(pbch_enodeb pbch_enodeb.c) add_executable(pbch_enodeb pbch_enodeb.c)
target_link_libraries(pbch_enodeb lte) target_link_libraries(pbch_enodeb lte_phy)
IF(${CUHD_FIND} EQUAL -1) IF(${CUHD_FIND} EQUAL -1)
SET_TARGET_PROPERTIES(pbch_ue PROPERTIES COMPILE_DEFINITIONS "DISABLE_UHD") SET_TARGET_PROPERTIES(pbch_ue PROPERTIES COMPILE_DEFINITIONS "DISABLE_UHD")
@ -82,13 +82,13 @@ ENDIF(${GRAPHICS_FIND} EQUAL -1)
IF(${CUHD_FIND} GREATER -1) IF(${CUHD_FIND} GREATER -1)
add_executable(scan_rssi scan_rssi.c) add_executable(scan_rssi scan_rssi.c)
target_link_libraries(scan_rssi lte cuhd ) target_link_libraries(scan_rssi lte_phy cuhd )
add_executable(scan_pss scan_pss.c) add_executable(scan_pss scan_pss.c)
target_link_libraries(scan_pss lte cuhd ) target_link_libraries(scan_pss lte_phy cuhd )
add_executable(scan_mib scan_mib.c) add_executable(scan_mib scan_mib.c)
target_link_libraries(scan_mib lte cuhd ) target_link_libraries(scan_mib lte_phy cuhd )
MESSAGE(STATUS " UHD examples will be installed.") MESSAGE(STATUS " UHD examples will be installed.")

View File

@ -31,7 +31,7 @@
#include <strings.h> #include <strings.h>
#include <math.h> #include <math.h>
#include "lte.h" #include "liblte/phy/phy.h"
void usage(char *arg) { void usage(char *arg) {
printf("Usage: %s nbits snr_db\n",arg); printf("Usage: %s nbits snr_db\n",arg);

View File

@ -29,7 +29,7 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include "lte.h" #include "liblte/phy/phy.h"
int main(int argc, char **argv) { int main(int argc, char **argv) {
binsource_t bs; binsource_t bs;

View File

@ -31,10 +31,10 @@
#include <strings.h> #include <strings.h>
#include <unistd.h> #include <unistd.h>
#include "lte.h" #include "liblte/phy/phy.h"
#ifndef DISABLE_UHD #ifndef DISABLE_UHD
#include "cuhd.h" #include "liblte/cuhd/cuhd.h"
void *uhd; void *uhd;
#endif #endif

View File

@ -36,15 +36,15 @@
#include <assert.h> #include <assert.h>
#include <signal.h> #include <signal.h>
#include "lte.h" #include "liblte/phy/phy.h"
#ifndef DISABLE_UHD #ifndef DISABLE_UHD
#include "cuhd.h" #include "liblte/cuhd/cuhd.h"
void *uhd; void *uhd;
#endif #endif
#ifndef DISABLE_GRAPHICS #ifndef DISABLE_GRAPHICS
#include "plot.h" #include "liblte/graphics/plot.h"
plot_real_t poutfft; plot_real_t poutfft;
plot_complex_t pce; plot_complex_t pce;
plot_scatter_t pscatrecv, pscatequal; plot_scatter_t pscatrecv, pscatequal;

View File

@ -34,12 +34,12 @@
#include <sys/time.h> #include <sys/time.h>
#include <unistd.h> #include <unistd.h>
#include "lte.h" #include "liblte/phy/phy.h"
//#define DISABLE_UHD //#define DISABLE_UHD
#ifndef DISABLE_UHD #ifndef DISABLE_UHD
#include "cuhd.h" #include "liblte/cuhd/cuhd.h"
#endif #endif
#define MHZ 1000000 #define MHZ 1000000

View File

@ -34,8 +34,8 @@
#include <sys/time.h> #include <sys/time.h>
#include <unistd.h> #include <unistd.h>
#include "lte.h" #include "liblte/phy/phy.h"
#include "cuhd.h" #include "liblte/cuhd/cuhd.h"
#define MHZ 1000000 #define MHZ 1000000
#define SAMP_FREQ 1920000 #define SAMP_FREQ 1920000

View File

@ -32,8 +32,8 @@
#include <unistd.h> #include <unistd.h>
#include <math.h> #include <math.h>
#include "lte.h" #include "liblte/phy/phy.h"
#include "cuhd.h" #include "liblte/cuhd/cuhd.h"
int nof_frames=1000; int nof_frames=1000;
int band; int band;

View File

@ -31,7 +31,7 @@
#include <unistd.h> #include <unistd.h>
#include <sys/time.h> #include <sys/time.h>
#include "lte.h" #include "liblte/phy/phy.h"
char *input_file_name; char *input_file_name;
char *output_file_name="abs_corr.txt"; char *output_file_name="abs_corr.txt";

View File

@ -32,10 +32,10 @@
#include <stdio.h> #include <stdio.h>
#include "lte/config.h" #include "liblte/config.h"
#include "lte/ch_estimation/refsignal.h" #include "liblte/phy/ch_estimation/refsignal.h"
#include "lte/filter/filter2d.h" #include "liblte/phy/filter/filter2d.h"
#include "lte/common/base.h" #include "liblte/phy/common/base.h"
typedef _Complex float cf_t; /* this is only a shortcut */ typedef _Complex float cf_t; /* this is only a shortcut */

View File

@ -37,8 +37,8 @@
* *
*/ */
#include "lte/config.h" #include "liblte/config.h"
#include "lte/common/base.h" #include "liblte/phy/common/base.h"
typedef _Complex float cf_t; typedef _Complex float cf_t;

View File

@ -27,7 +27,7 @@
#include <complex.h> #include <complex.h>
#include "lte/config.h" #include "liblte/config.h"
#ifndef CH_AWGN_ #ifndef CH_AWGN_
#define CH_AWGN_ #define CH_AWGN_

View File

@ -29,7 +29,7 @@
#ifndef _LTEBASE_ #ifndef _LTEBASE_
#define _LTEBASE_ #define _LTEBASE_
#include "lte/config.h" #include "liblte/config.h"
#define NSUBFRAMES_X_FRAME 10 #define NSUBFRAMES_X_FRAME 10
#define NSLOTS_X_FRAME (2*NSUBFRAMES_X_FRAME) #define NSLOTS_X_FRAME (2*NSUBFRAMES_X_FRAME)

View File

@ -33,9 +33,9 @@
#include <strings.h> #include <strings.h>
#include <stdlib.h> #include <stdlib.h>
#include "lte/config.h" #include "liblte/config.h"
#include "lte/common/base.h" #include "liblte/phy/common/base.h"
#include "lte/utils/dft.h" #include "liblte/phy/utils/dft.h"
typedef _Complex float cf_t; /* this is only a shortcut */ typedef _Complex float cf_t; /* this is only a shortcut */

View File

@ -28,7 +28,8 @@
#ifndef LTESEQ_ #ifndef LTESEQ_
#define LTESEQ_ #define LTESEQ_
#include "lte/common/base.h" #include "liblte/config.h"
#include "liblte/phy/common/base.h"
typedef struct LIBLTE_API { typedef struct LIBLTE_API {
char *c; char *c;

View File

@ -31,7 +31,7 @@
#define CONVCODER_ #define CONVCODER_
#include <stdbool.h> #include <stdbool.h>
#include "lte/config.h" #include "liblte/config.h"
typedef struct LIBLTE_API { typedef struct LIBLTE_API {
int R; int R;

View File

@ -29,7 +29,7 @@
#ifndef CRC_ #ifndef CRC_
#define CRC_ #define CRC_
#include "lte/config.h" #include "liblte/config.h"
typedef struct LIBLTE_API { typedef struct LIBLTE_API {
unsigned long table[256]; unsigned long table[256];

View File

@ -28,7 +28,7 @@
#ifndef RM_CONV_ #ifndef RM_CONV_
#define RM_CONV_ #define RM_CONV_
#include "lte/config.h" #include "liblte/config.h"
#define RX_NULL 10000 #define RX_NULL 10000
#define TX_NULL 80 #define TX_NULL 80

View File

@ -28,6 +28,8 @@
#ifndef RM_TURBO_ #ifndef RM_TURBO_
#define RM_TURBO_ #define RM_TURBO_
#include "liblte/config.h"
#ifndef RX_NULL #ifndef RX_NULL
#define RX_NULL 10000 #define RX_NULL 10000
#endif #endif
@ -36,7 +38,7 @@
#define TX_NULL 100 #define TX_NULL 100
#endif #endif
#include "lte/config.h" #include "liblte/config.h"
typedef struct LIBLTE_API { typedef struct LIBLTE_API {
int buffer_len; int buffer_len;

View File

@ -28,7 +28,7 @@
#ifndef _TC_INTERL_H #ifndef _TC_INTERL_H
#define _TC_INTERL_H #define _TC_INTERL_H
#include "lte/config.h" #include "liblte/config.h"
typedef struct LIBLTE_API { typedef struct LIBLTE_API {
int *forward; int *forward;

View File

@ -28,8 +28,8 @@
#ifndef TURBOCODER_ #ifndef TURBOCODER_
#define TURBOCODER_ #define TURBOCODER_
#include "lte/fec/tc_interl.h" #include "liblte/config.h"
#include "lte/config.h" #include "liblte/phy/fec/tc_interl.h"
#define NUMREGS 3 #define NUMREGS 3

View File

@ -28,8 +28,8 @@
#ifndef TURBODECODER_ #ifndef TURBODECODER_
#define TURBODECODER_ #define TURBODECODER_
#include "lte/fec/tc_interl.h" #include "liblte/config.h"
#include "lte/config.h" #include "liblte/phy/fec/tc_interl.h"
#define RATE 3 #define RATE 3
#define TOTALTAIL 12 #define TOTALTAIL 12

View File

@ -30,7 +30,7 @@
#define VITERBI_ #define VITERBI_
#include <stdbool.h> #include <stdbool.h>
#include "lte/config.h" #include "liblte/config.h"
typedef enum { typedef enum {
viterbi_27, viterbi_29, viterbi_37, viterbi_39 viterbi_27, viterbi_29, viterbi_37, viterbi_39

View File

@ -30,7 +30,7 @@
#ifndef FILTER2D_ #ifndef FILTER2D_
#define FILTER2D_ #define FILTER2D_
#include "lte/config.h" #include "liblte/config.h"
/* 2-D real filter of complex input /* 2-D real filter of complex input
* *

View File

@ -31,7 +31,7 @@
#include <stdint.h> #include <stdint.h>
#include "lte/config.h" #include "liblte/config.h"
/* Low-level API */ /* Low-level API */
typedef struct LIBLTE_API{ typedef struct LIBLTE_API{

View File

@ -32,8 +32,8 @@
#include <stdint.h> #include <stdint.h>
#include <stdlib.h> #include <stdlib.h>
#include "lte/config.h" #include "liblte/config.h"
#include "lte/io/format.h" #include "liblte/phy/io/format.h"
/* Low-level API */ /* Low-level API */
typedef struct LIBLTE_API { typedef struct LIBLTE_API {

View File

@ -32,8 +32,8 @@
#include <stdint.h> #include <stdint.h>
#include <stdlib.h> #include <stdlib.h>
#include "lte/config.h" #include "liblte/config.h"
#include "lte/io/format.h" #include "liblte/phy/io/format.h"
/* Low-level API */ /* Low-level API */
typedef struct LIBLTE_API { typedef struct LIBLTE_API {

View File

@ -35,8 +35,8 @@
#include <stdint.h> #include <stdint.h>
#include <stdlib.h> #include <stdlib.h>
#include "lte/config.h" #include "liblte/config.h"
#include "lte/io/format.h" #include "liblte/phy/io/format.h"
/* Low-level API */ /* Low-level API */
typedef struct LIBLTE_API { typedef struct LIBLTE_API {

View File

@ -36,8 +36,8 @@
#include <stdint.h> #include <stdint.h>
#include <stdlib.h> #include <stdlib.h>
#include "lte/config.h" #include "liblte/config.h"
#include "lte/io/format.h" #include "liblte/phy/io/format.h"
/* Low-level API */ /* Low-level API */
typedef struct LIBLTE_API { typedef struct LIBLTE_API {

View File

@ -29,7 +29,7 @@
#ifndef LAYERMAP_H_ #ifndef LAYERMAP_H_
#define LAYERMAP_H_ #define LAYERMAP_H_
#include "lte/config.h" #include "liblte/config.h"
typedef _Complex float cf_t; typedef _Complex float cf_t;

View File

@ -28,6 +28,8 @@
#ifndef PRECODING_H_ #ifndef PRECODING_H_
#define PRECODING_H_ #define PRECODING_H_
#include "liblte/config.h"
typedef _Complex float cf_t; typedef _Complex float cf_t;
/** The precoder takes as input nlayers vectors "x" from the /** The precoder takes as input nlayers vectors "x" from the

View File

@ -32,7 +32,7 @@
#include <complex.h> #include <complex.h>
#include <stdint.h> #include <stdint.h>
#include "lte/config.h" #include "liblte/config.h"
#include "modem_table.h" #include "modem_table.h"
typedef _Complex float cf_t; typedef _Complex float cf_t;

View File

@ -32,7 +32,7 @@
#include <complex.h> #include <complex.h>
#include <stdint.h> #include <stdint.h>
#include "lte/config.h" #include "liblte/config.h"
#include "modem_table.h" #include "modem_table.h"
enum alg { EXACT, APPROX }; enum alg { EXACT, APPROX };

View File

@ -32,7 +32,7 @@
#include <complex.h> #include <complex.h>
#include <stdint.h> #include <stdint.h>
#include "lte/config.h" #include "liblte/config.h"
#include "modem_table.h" #include "modem_table.h"
typedef _Complex float cf_t; typedef _Complex float cf_t;

View File

@ -34,7 +34,7 @@
#include <complex.h> #include <complex.h>
#include <stdint.h> #include <stdint.h>
#include "lte/config.h" #include "liblte/config.h"
typedef _Complex float cf_t; typedef _Complex float cf_t;
typedef struct LIBLTE_API { typedef struct LIBLTE_API {

View File

@ -30,9 +30,9 @@
#include <stdint.h> #include <stdint.h>
#include "lte/config.h" #include "liblte/config.h"
#include "lte/common/base.h" #include "liblte/phy/common/base.h"
#include "lte/phch/ra.h" #include "liblte/phy/phch/ra.h"
typedef _Complex float cf_t; typedef _Complex float cf_t;

View File

@ -29,17 +29,17 @@
#ifndef PBCH_ #ifndef PBCH_
#define PBCH_ #define PBCH_
#include "lte/config.h" #include "liblte/config.h"
#include "lte/common/base.h" #include "liblte/phy/common/base.h"
#include "lte/mimo/precoding.h" #include "liblte/phy/mimo/precoding.h"
#include "lte/mimo/layermap.h" #include "liblte/phy/mimo/layermap.h"
#include "lte/modem/mod.h" #include "liblte/phy/modem/mod.h"
#include "lte/modem/demod_soft.h" #include "liblte/phy/modem/demod_soft.h"
#include "lte/scrambling/scrambling.h" #include "liblte/phy/scrambling/scrambling.h"
#include "lte/fec/rm_conv.h" #include "liblte/phy/fec/rm_conv.h"
#include "lte/fec/convcoder.h" #include "liblte/phy/fec/convcoder.h"
#include "lte/fec/viterbi.h" #include "liblte/phy/fec/viterbi.h"
#include "lte/fec/crc.h" #include "liblte/phy/fec/crc.h"
#define PBCH_RE_CPNORM 240 #define PBCH_RE_CPNORM 240
#define PBCH_RE_CPEXT 216 #define PBCH_RE_CPEXT 216

View File

@ -28,13 +28,14 @@
#ifndef PCFICH_ #ifndef PCFICH_
#define PCFICH_ #define PCFICH_
#include "lte/common/base.h" #include "liblte/config.h"
#include "lte/mimo/precoding.h" #include "liblte/phy/common/base.h"
#include "lte/mimo/layermap.h" #include "liblte/phy/mimo/precoding.h"
#include "lte/modem/mod.h" #include "liblte/phy/mimo/layermap.h"
#include "lte/modem/demod_hard.h" #include "liblte/phy/modem/mod.h"
#include "lte/scrambling/scrambling.h" #include "liblte/phy/modem/demod_hard.h"
#include "lte/phch/regs.h" #include "liblte/phy/scrambling/scrambling.h"
#include "liblte/phy/phch/regs.h"
#define PCFICH_CFI_LEN 32 #define PCFICH_CFI_LEN 32
#define PCFICH_RE PCFICH_CFI_LEN/2 #define PCFICH_RE PCFICH_CFI_LEN/2

View File

@ -28,18 +28,19 @@
#ifndef PDCCH_ #ifndef PDCCH_
#define PDCCH_ #define PDCCH_
#include "lte/common/base.h" #include "liblte/config.h"
#include "lte/mimo/precoding.h" #include "liblte/phy/common/base.h"
#include "lte/mimo/layermap.h" #include "liblte/phy/mimo/precoding.h"
#include "lte/modem/mod.h" #include "liblte/phy/mimo/layermap.h"
#include "lte/modem/demod_soft.h" #include "liblte/phy/modem/mod.h"
#include "lte/scrambling/scrambling.h" #include "liblte/phy/modem/demod_soft.h"
#include "lte/fec/rm_conv.h" #include "liblte/phy/scrambling/scrambling.h"
#include "lte/fec/convcoder.h" #include "liblte/phy/fec/rm_conv.h"
#include "lte/fec/viterbi.h" #include "liblte/phy/fec/convcoder.h"
#include "lte/fec/crc.h" #include "liblte/phy/fec/viterbi.h"
#include "lte/phch/dci.h" #include "liblte/phy/fec/crc.h"
#include "lte/phch/regs.h" #include "liblte/phy/phch/dci.h"
#include "liblte/phy/phch/regs.h"
typedef _Complex float cf_t; typedef _Complex float cf_t;

View File

@ -29,19 +29,19 @@
#ifndef PDSCH_ #ifndef PDSCH_
#define PDSCH_ #define PDSCH_
#include "lte/config.h" #include "liblte/config.h"
#include "lte/common/base.h" #include "liblte/phy/common/base.h"
#include "lte/mimo/precoding.h" #include "liblte/phy/mimo/precoding.h"
#include "lte/mimo/layermap.h" #include "liblte/phy/mimo/layermap.h"
#include "lte/modem/mod.h" #include "liblte/phy/modem/mod.h"
#include "lte/modem/demod_soft.h" #include "liblte/phy/modem/demod_soft.h"
#include "lte/scrambling/scrambling.h" #include "liblte/phy/scrambling/scrambling.h"
#include "lte/fec/rm_turbo.h" #include "liblte/phy/fec/rm_turbo.h"
#include "lte/fec/turbocoder.h" #include "liblte/phy/fec/turbocoder.h"
#include "lte/fec/turbodecoder.h" #include "liblte/phy/fec/turbodecoder.h"
#include "lte/fec/crc.h" #include "liblte/phy/fec/crc.h"
#include "lte/phch/dci.h" #include "liblte/phy/phch/dci.h"
#include "lte/phch/regs.h" #include "liblte/phy/phch/regs.h"
#define TDEC_ITERATIONS 1 #define TDEC_ITERATIONS 1

View File

@ -29,13 +29,13 @@
#ifndef PHICH_ #ifndef PHICH_
#define PHICH_ #define PHICH_
#include "lte/config.h" #include "liblte/config.h"
#include "lte/common/base.h" #include "liblte/phy/common/base.h"
#include "lte/mimo/precoding.h" #include "liblte/phy/mimo/precoding.h"
#include "lte/mimo/layermap.h" #include "liblte/phy/mimo/layermap.h"
#include "lte/modem/mod.h" #include "liblte/phy/modem/mod.h"
#include "lte/modem/demod_hard.h" #include "liblte/phy/modem/demod_hard.h"
#include "lte/scrambling/scrambling.h" #include "liblte/phy/scrambling/scrambling.h"
#include "regs.h" #include "regs.h"
typedef _Complex float cf_t; typedef _Complex float cf_t;

View File

@ -31,6 +31,8 @@
#include <stdint.h> #include <stdint.h>
#include <stdbool.h> #include <stdbool.h>
#include "liblte/config.h"
/** Structures and utility functions for DL/UL resource /** Structures and utility functions for DL/UL resource
* allocation. * allocation.
*/ */

View File

@ -30,8 +30,8 @@
#define _REGS_H_ #define _REGS_H_
#include <stdbool.h> #include <stdbool.h>
#include "lte/config.h" #include "liblte/config.h"
#include "lte/common/base.h" #include "liblte/phy/common/base.h"
#define REGS_PHICH_NSYM 12 #define REGS_PHICH_NSYM 12
#define REGS_PHICH_REGS_X_GROUP 3 #define REGS_PHICH_REGS_X_GROUP 3

View File

@ -0,0 +1,107 @@
/**
*
* \section COPYRIGHT
*
* Copyright 2013-2014 The libLTE Developers. See the
* COPYRIGHT file at the top-level directory of this distribution.
*
* \section LICENSE
*
* This file is part of the libLTE library.
*
* libLTE is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version.
*
* libLTE is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* A copy of the GNU Lesser General Public License can be found in
* the LICENSE file in the top-level directory of this distribution
* and at http://www.gnu.org/licenses/.
*
*/
#include <complex.h>
#include <math.h>
#ifndef _LTE_
#define _LTE_
#ifdef __cplusplus
extern "C" {
#endif
#include "liblte/config.h"
#include "liblte/phy/utils/bit.h"
#include "liblte/phy/utils/convolution.h"
#include "liblte/phy/utils/debug.h"
#include "liblte/phy/utils/dft.h"
#include "liblte/phy/utils/matrix.h"
#include "liblte/phy/utils/mux.h"
#include "liblte/phy/utils/cexptab.h"
#include "liblte/phy/utils/pack.h"
#include "liblte/phy/utils/vector.h"
#include "liblte/phy/common/base.h"
#include "liblte/phy/common/fft.h"
#include "liblte/phy/common/sequence.h"
#include "liblte/phy/ch_estimation/chest.h"
#include "liblte/phy/ch_estimation/refsignal.h"
#include "liblte/phy/channel/ch_awgn.h"
#include "liblte/phy/fec/viterbi.h"
#include "liblte/phy/fec/convcoder.h"
#include "liblte/phy/fec/crc.h"
#include "liblte/phy/fec/tc_interl.h"
#include "liblte/phy/fec/turbocoder.h"
#include "liblte/phy/fec/turbodecoder.h"
#include "liblte/phy/fec/rm_conv.h"
#include "liblte/phy/fec/rm_turbo.h"
#include "liblte/phy/filter/filter2d.h"
#include "liblte/phy/io/binsource.h"
#include "liblte/phy/io/filesink.h"
#include "liblte/phy/io/filesource.h"
#include "liblte/phy/io/udpsink.h"
#include "liblte/phy/io/udpsource.h"
#include "liblte/phy/modem/demod_hard.h"
#include "liblte/phy/modem/demod_soft.h"
#include "liblte/phy/modem/mod.h"
#include "liblte/phy/modem/modem_table.h"
#include "liblte/phy/mimo/precoding.h"
#include "liblte/phy/mimo/layermap.h"
#include "liblte/phy/phch/regs.h"
#include "liblte/phy/phch/dci.h"
#include "liblte/phy/phch/pdcch.h"
#include "liblte/phy/phch/pdsch.h"
#include "liblte/phy/phch/pbch.h"
#include "liblte/phy/phch/pcfich.h"
#include "liblte/phy/phch/phich.h"
#include "liblte/phy/scrambling/scrambling.h"
#include "liblte/phy/resampling/interp.h"
#include "liblte/phy/sync/pss.h"
#include "liblte/phy/sync/sfo.h"
#include "liblte/phy/sync/sss.h"
#include "liblte/phy/sync/sync.h"
#include "liblte/phy/sync/cfo.h"
#ifdef __cplusplus
}
#endif
#endif

View File

@ -28,7 +28,7 @@
#ifndef INTERP_H #ifndef INTERP_H
#define INTERP_H_ #define INTERP_H_
#include "lte/config.h" #include "liblte/config.h"
typedef _Complex float cf_t; typedef _Complex float cf_t;

View File

@ -31,7 +31,7 @@
#include <stdint.h> #include <stdint.h>
#include <complex.h> #include <complex.h>
#include "lte/config.h" #include "liblte/config.h"
typedef _Complex float cf_t; typedef _Complex float cf_t;

View File

@ -29,9 +29,9 @@
#ifndef SCRAMBLING_ #ifndef SCRAMBLING_
#define SCRAMBLING_ #define SCRAMBLING_
#include "lte/config.h" #include "liblte/config.h"
#include "lte/common/sequence.h" #include "liblte/phy/common/sequence.h"
#include "lte/common/base.h" #include "liblte/phy/common/base.h"
typedef _Complex float cf_t; typedef _Complex float cf_t;

View File

@ -31,7 +31,7 @@
#include <complex.h> #include <complex.h>
#include "lte/config.h" #include "liblte/config.h"
typedef _Complex float cf_t; typedef _Complex float cf_t;

View File

@ -32,9 +32,9 @@
#include <stdint.h> #include <stdint.h>
#include <stdbool.h> #include <stdbool.h>
#include "lte/config.h" #include "liblte/config.h"
#include "lte/common/base.h" #include "liblte/phy/common/base.h"
#include "lte/utils/convolution.h" #include "liblte/phy/utils/convolution.h"
typedef _Complex float cf_t; /* this is only a shortcut */ typedef _Complex float cf_t; /* this is only a shortcut */

View File

@ -29,7 +29,7 @@
#ifndef SFO_ #ifndef SFO_
#define SFO_ #define SFO_
#include "lte/config.h" #include "liblte/config.h"
LIBLTE_API float sfo_estimate(int *t0, int len, float period); LIBLTE_API float sfo_estimate(int *t0, int len, float period);
LIBLTE_API float sfo_estimate_period(int *t0, int *t, int len, float period); LIBLTE_API float sfo_estimate_period(int *t0, int *t, int len, float period);

View File

@ -32,9 +32,9 @@
#include <stdint.h> #include <stdint.h>
#include <stdbool.h> #include <stdbool.h>
#include "lte/config.h" #include "liblte/config.h"
#include "lte/common/base.h" #include "liblte/phy/common/base.h"
#include "lte/utils/dft.h" #include "liblte/phy/utils/dft.h"
typedef _Complex float cf_t; /* this is only a shortcut */ typedef _Complex float cf_t; /* this is only a shortcut */

View File

@ -31,7 +31,7 @@
#include <stdbool.h> #include <stdbool.h>
#include "lte/config.h" #include "liblte/config.h"
#include "pss.h" #include "pss.h"
#include "sss.h" #include "sss.h"
#include "sfo.h" #include "sfo.h"

View File

@ -32,7 +32,7 @@
#include <stdint.h> #include <stdint.h>
#include <stdio.h> #include <stdio.h>
#include "lte/config.h" #include "liblte/config.h"
LIBLTE_API uint32_t bit_unpack(char **bits, int nof_bits); LIBLTE_API uint32_t bit_unpack(char **bits, int nof_bits);
LIBLTE_API void bit_pack(uint32_t value, char **bits, int nof_bits); LIBLTE_API void bit_pack(uint32_t value, char **bits, int nof_bits);

View File

@ -30,7 +30,7 @@
#define CEXPTAB_ #define CEXPTAB_
#include <complex.h> #include <complex.h>
#include "lte/config.h" #include "liblte/config.h"
typedef _Complex float cf_t; typedef _Complex float cf_t;

View File

@ -29,8 +29,8 @@
#ifndef CONVOLUTION_H_ #ifndef CONVOLUTION_H_
#define CONVOLUTION_H_ #define CONVOLUTION_H_
#include "lte/config.h" #include "liblte/config.h"
#include "lte/utils/dft.h" #include "liblte/phy/utils/dft.h"
typedef struct LIBLTE_API { typedef struct LIBLTE_API {
_Complex float *input_fft; _Complex float *input_fft;

View File

@ -29,7 +29,7 @@
#define DEBUG_H #define DEBUG_H
#include <stdio.h> #include <stdio.h>
#include "lte/config.h" #include "liblte/config.h"
#define VERBOSE_DEBUG 2 #define VERBOSE_DEBUG 2
#define VERBOSE_INFO 1 #define VERBOSE_INFO 1

View File

@ -30,7 +30,7 @@
#define DFT_H_ #define DFT_H_
#include <fftw3.h> #include <fftw3.h>
#include "lte/config.h" #include "liblte/config.h"
/* dft is a frontend to the fftw3 library. It facilitates the computation of /* dft is a frontend to the fftw3 library. It facilitates the computation of

View File

@ -29,7 +29,7 @@
#define MATRIX_ #define MATRIX_
#include <stdio.h> #include <stdio.h>
#include "lte/config.h" #include "liblte/config.h"
typedef _Complex float cf_t; typedef _Complex float cf_t;

View File

@ -28,7 +28,7 @@
#ifndef MUX_ #ifndef MUX_
#define MUX_ #define MUX_
#include "lte/config.h" #include "liblte/config.h"
LIBLTE_API void mux(void **input, void *output, int *input_lengths, int *input_padding_pre, int nof_inputs, LIBLTE_API void mux(void **input, void *output, int *input_lengths, int *input_padding_pre, int nof_inputs,
int sample_sz); int sample_sz);

View File

@ -29,7 +29,7 @@
#ifndef PACK_ #ifndef PACK_
#define PACK_ #define PACK_
#include "lte/config.h" #include "liblte/config.h"
LIBLTE_API unsigned int unpack_bits(char **bits, int nof_bits); LIBLTE_API unsigned int unpack_bits(char **bits, int nof_bits);
LIBLTE_API void pack_bits(unsigned int value, char **bits, int nof_bits); LIBLTE_API void pack_bits(unsigned int value, char **bits, int nof_bits);

View File

@ -30,7 +30,7 @@
#define VECTOR_ #define VECTOR_
#include <stdio.h> #include <stdio.h>
#include "lte/config.h" #include "liblte/config.h"
typedef _Complex float cf_t; typedef _Complex float cf_t;

View File

@ -41,7 +41,6 @@ ENDIF(${DISABLE_VOLK})
######################################################################## ########################################################################
# Recurse subdirectories and compile all source files into the same lib # Recurse subdirectories and compile all source files into the same lib
######################################################################## ########################################################################
FILE(GLOB modules *) FILE(GLOB modules *)
SET(SOURCES_ALL "") SET(SOURCES_ALL "")
FOREACH (_module ${modules}) FOREACH (_module ${modules})
@ -51,15 +50,15 @@ FOREACH (_module ${modules})
ENDIF(IS_DIRECTORY ${_module}) ENDIF(IS_DIRECTORY ${_module})
ENDFOREACH() ENDFOREACH()
ADD_LIBRARY(lte SHARED ${SOURCES_ALL}) ADD_LIBRARY(lte_phy SHARED ${SOURCES_ALL})
TARGET_LINK_LIBRARIES(lte m ${FFTW3F_LIBRARIES}) TARGET_LINK_LIBRARIES(lte_phy m ${FFTW3F_LIBRARIES})
INSTALL(TARGETS lte DESTINATION ${LIBRARY_DIR}) INSTALL(TARGETS lte_phy DESTINATION ${LIBRARY_DIR})
LIBLTE_SET_PIC(lte) LIBLTE_SET_PIC(lte_phy)
IF(VOLK_FOUND) IF(VOLK_FOUND)
INCLUDE_DIRECTORIES(${VOLK_INCLUDE_DIRS}) INCLUDE_DIRECTORIES(${VOLK_INCLUDE_DIRS})
SET_TARGET_PROPERTIES(lte PROPERTIES COMPILE_DEFINITIONS "${VOLK_DEFINITIONS}") SET_TARGET_PROPERTIES(lte_phy PROPERTIES COMPILE_DEFINITIONS "${VOLK_DEFINITIONS}")
TARGET_LINK_LIBRARIES(lte ${VOLK_LIBRARIES}) TARGET_LINK_LIBRARIES(lte_phy ${VOLK_LIBRARIES})
MESSAGE(STATUS " Compiling with VOLK SIMD library.") MESSAGE(STATUS " Compiling with VOLK SIMD library.")
ELSE(VOLK_FOUND) ELSE(VOLK_FOUND)
MESSAGE(STATUS " VOLK SIMD library NOT found. Using generic implementation.") MESSAGE(STATUS " VOLK SIMD library NOT found. Using generic implementation.")
@ -69,7 +68,6 @@ ENDIF(VOLK_FOUND)
######################################################################## ########################################################################
# Recurse subdirectories and find all directories with a CMakeLists.txt file in it # Recurse subdirectories and find all directories with a CMakeLists.txt file in it
######################################################################## ########################################################################
FILE(GLOB_RECURSE cmakefiles CMakeLists.txt) FILE(GLOB_RECURSE cmakefiles CMakeLists.txt)
FOREACH (_file ${cmakefiles}) FOREACH (_file ${cmakefiles})
GET_FILENAME_COMPONENT(dir ${_file} PATH) GET_FILENAME_COMPONENT(dir ${_file} PATH)

View File

@ -32,10 +32,10 @@
#include <assert.h> #include <assert.h>
#include <math.h> #include <math.h>
#include "lte/ch_estimation/chest.h" #include "liblte/phy/ch_estimation/chest.h"
#include "lte/resampling/interp.h" #include "liblte/phy/resampling/interp.h"
#include "lte/utils/vector.h" #include "liblte/phy/utils/vector.h"
#include "lte/utils/debug.h" #include "liblte/phy/utils/debug.h"
#define SLOT_SZ(q) (q->nof_symbols * q->symbol_sz) #define SLOT_SZ(q) (q->nof_symbols * q->symbol_sz)
#define SF_SZ(q) (2 * SLOT_SZ(q)) #define SF_SZ(q) (2 * SLOT_SZ(q))

View File

@ -32,11 +32,11 @@
#include <stdlib.h> #include <stdlib.h>
#include <complex.h> #include <complex.h>
#include "lte/common/base.h" #include "liblte/phy/common/base.h"
#include "lte/ch_estimation/refsignal.h" #include "liblte/phy/ch_estimation/refsignal.h"
#include "lte/utils/vector.h" #include "liblte/phy/utils/vector.h"
#include "lte/utils/debug.h" #include "liblte/phy/utils/debug.h"
#include "lte/common/sequence.h" #include "liblte/phy/common/sequence.h"
#define idx(x, y) (l*nof_refs_x_symbol+i) #define idx(x, y) (l*nof_refs_x_symbol+i)

View File

@ -24,7 +24,7 @@
######################################################################## ########################################################################
ADD_EXECUTABLE(chest_test chest_test.c) ADD_EXECUTABLE(chest_test chest_test.c)
TARGET_LINK_LIBRARIES(chest_test lte) TARGET_LINK_LIBRARIES(chest_test lte_phy)
ADD_TEST(chest_test_all_cellids chest_test) ADD_TEST(chest_test_all_cellids chest_test)
ADD_TEST(chest_test_cellid chest_test -c 1) ADD_TEST(chest_test_cellid chest_test -c 1)

View File

@ -31,7 +31,7 @@
#include <unistd.h> #include <unistd.h>
#include <complex.h> #include <complex.h>
#include "lte.h" #include "liblte/phy/phy.h"
int cell_id = -1; int cell_id = -1;
int nof_prb = 6; int nof_prb = 6;

View File

@ -31,7 +31,7 @@
#include <strings.h> #include <strings.h>
#include "gauss.h" #include "gauss.h"
#include "lte/channel/ch_awgn.h" #include "liblte/phy/channel/ch_awgn.h"
void ch_awgn_c(const cf_t* x, cf_t* y, float variance, int buff_sz) { void ch_awgn_c(const cf_t* x, cf_t* y, float variance, int buff_sz) {
_Complex float tmp; _Complex float tmp;

View File

@ -29,11 +29,11 @@
#include <strings.h> #include <strings.h>
#include <stdlib.h> #include <stdlib.h>
#include "lte/common/base.h" #include "liblte/phy/common/base.h"
#include "lte/utils/dft.h" #include "liblte/phy/utils/dft.h"
#include "lte/common/fft.h" #include "liblte/phy/common/fft.h"
#include "lte/utils/debug.h" #include "liblte/phy/utils/debug.h"
#include "lte/utils/vector.h" #include "liblte/phy/utils/vector.h"
int lte_fft_init_(lte_fft_t *q, lte_cp_t cp_type, int nof_prb, dft_dir_t dir) { int lte_fft_init_(lte_fft_t *q, lte_cp_t cp_type, int nof_prb, dft_dir_t dir) {
int symbol_sz = lte_symbol_sz(nof_prb); int symbol_sz = lte_symbol_sz(nof_prb);

View File

@ -32,7 +32,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include "lte/common/base.h" #include "liblte/phy/common/base.h"
const int tc_cb_sizes[NOF_TC_CB_SIZES] = { 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, const int tc_cb_sizes[NOF_TC_CB_SIZES] = { 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120,
128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216, 224, 232, 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216, 224, 232,

Some files were not shown because too many files have changed in this diff Show More