Agora
1.2.0
Agora project
|
▼ build | |
► CMakeFiles | |
► 3.16.3 | |
► CompilerIdC | |
CMakeCCompilerId.c | |
► CompilerIdCXX | |
CMakeCXXCompilerId.cpp | |
▼ microbench | |
► condition_number_distribution | |
bench.cc | |
timer.h | |
► high_condition | |
bench.cc | |
timer.h | |
► inverse_perf | |
bench.cc | |
timer.h | |
► mat_mult_perf | |
bench.cc | |
timer.h | |
▼ simulator | |
channel.cc | |
channel.h | Implementation file for the channel class |
channel_sim.cc | Implementation file for the channel simulator class |
channel_sim.h | Declaration file for the channel simulator class |
chsim_main.cc | Main file for the chsim executable |
chsim_worker_storage.h | Declaration file for the ChSimWorkerStorage class |
main.cc | Main file for the simulator executable |
receiver.cc | Implementation file for the receiver class |
receiver.h | Declaration file for the receiver class |
sender.cc | Implementation file for the sender class |
sender.h | Declaration file for the sender class |
sender_cli.cc | Main file for the sender executable |
simulator.cc | Implementation file for the simulator class |
simulator.h | Declaration file for the simulator class |
time_frame_counters.h | Declaration file for the TimeFrameCounters class |
▼ src | |
► agora | |
► radio | |
radio.cc | |
radio.h | Defination file for the Radio class |
radio_calibrate_analog.cc | Implementation file for the radio analog calibration functions , i.e. DC offset and IQ imbalance |
radio_calibrate_digital.cc | Implementation file for the digital (baseband) calibration functions such as sample offset and reciprocity calibration |
radio_data_plane.cc | Defination file for the RadioDataPlane Class |
radio_data_plane.h | Declaration file for the RadioDataPlane Class |
radio_data_plane_soapy.cc | Defination file for the RadioDataPlaneSoapy Class |
radio_data_plane_soapy.h | Declaration file for the RadioDataPlaneSoapy Class |
radio_data_plane_socket.cc | Defination file for the RadioDataPlaneSocket Class |
radio_data_plane_socket.h | Declaration file for the RadioDataPlaneSocket Class |
radio_lib.cc | Implementation file for the RadioConfig class |
radio_lib.h | Declaration file for the RadioConfig class |
radio_soapysdr.cc | |
radio_soapysdr.h | Defination file for the RadioSoapySdr class |
radio_socket.cc | Implementation file for the RadioSocket class |
radio_socket.h | Declaration file for the RadioSocket class |
► txrx | |
► workers | |
rx_status_tracker.h | Implementation of RxStatusTracker helper class |
txrx_worker.cc | Implementation of PacketTxRx initialization functions, and datapath functions for communicating with simulators |
txrx_worker.h | Txrx worker thread definition. This is the parent / interface |
txrx_worker_dpdk.cc | Implementation of PacketTxRx initialization functions, and datapath functions for communicating with simulators over dpdk |
txrx_worker_dpdk.h | Txrx worker dpdk definition. This is the simulator declaration with dpdk enhancements |
txrx_worker_hw.cc | Implementation of PacketTxRx datapath functions for communicating with real iris / faros hardware |
txrx_worker_hw.h | Implementation of PacketTxRx datapath functions for communicating with real iris / faros hardware |
txrx_worker_sim.cc | Implementation of PacketTxRx initialization functions, and datapath functions for communicating with simulators |
txrx_worker_sim.h | Txrx worker thread definition. This is the simulator declaration |
txrx_worker_usrp.cc | Implementation of PacketTxRx datapath functions for communicating with usrp hardware |
txrx_worker_usrp.h | Implementation of PacketTxRx datapath functions for communicating with usrp hardware |
packet_txrx.cc | Implementation of PacketTxRx initialization functions, and datapath functions for communicating with simulators |
packet_txrx.h | Common definations for PacketTxRx. Including datapath functions for communicating with simulators |
packet_txrx_dpdk.cc | Implementation of PacketTxRxDpdk datapath functions for communicating with DPDK |
packet_txrx_dpdk.h | Implementation of PacketTxRxDpdk datapath functions for communicating with DPDK |
packet_txrx_radio.cc | Implementation of PacketTxRxRadio initialization functions, and datapath functions for communicating with hardware |
packet_txrx_radio.h | Common definations for PacketTxRxRadio. Including datapath functions for communicating with hardware |
packet_txrx_sim.cc | Implementation of PacketTxRxSim initialization functions, and datapath functions for the base station code |
packet_txrx_sim.h | Common definations for PacketTxRxSim. Including datapath functions for communicating with the base station code |
agora.cc | Implementation file for the main agora class |
agora.h | Declaration file for the main agora class |
agora_buffer.cc | |
agora_buffer.h | Defination file for the AgoraBuffer class |
agora_worker.cc | Implementation file for the main Agora worker class |
agora_worker.h | Declaration file for the main Agora worker class |
concurrent_queue_wrapper.h | |
dobeamweights.cc | Implementation file for the DoBeamWeights class. Calculates Precoder/Detector for one subcarrier |
dobeamweights.h | Declaration file for the DoBeamWeights class. Zero forcing for one subcarrier |
dodecode.cc | Implmentation file for the DoDecode class. Currently, just supports basestation |
dodecode.h | Declaration file for the DoDecode class |
dodemul.cc | Implmentation file for the DoDemul class |
dodemul.h | Declaration file for the DoDemul class |
doencode.cc | Implmentation file for the DoEncode class. Currently, just supports basestation |
doencode.h | Declaration file for the Docoding class. Includes the DoEncode and DoDecode classes |
doer.h | Declaration file for the Doer class. The is the base class for all agora doers |
dofft.cc | Implementation file for the DoFFT class |
dofft.h | Declaration file for the DoFFT class |
doifft.cc | Implementation file for the DoIFFT class |
doifft.h | Declaration file for the DoIFFT class |
doprecode.cc | Implementation file for the DoPrecode class |
doprecode.h | Declaration file for the DoPrecode class |
main.cc | Main file for the agora server |
receiver_cli.cc | Main file for the receiver class testing |
stats.cc | Implmentation file for the Stats class |
stats.h | Declaration file for the Stats class. Includes definations for DurationStat and FrameSummery types |
► client | |
► txrx | |
► workers | |
txrx_worker_client_hw.cc | |
txrx_worker_client_hw.h | Implementation of PacketTxRxRadio datapath functions for communicating with real iris / faros hardware |
txrx_worker_client_sim.cc | Implementation of PacketTxRx initialization functions, and datapath functions for communicating with simulators in the user equptiment |
txrx_worker_client_sim.h | Txrx worker thread definition. This is the simulator declaration for the userequiptment code |
packet_txrx_client_radio.cc | Implementation of PacketTxRxClientRadio initialization functions, and datapath functions for communicating with user hardware |
packet_txrx_client_radio.h | Common definations for PacketTxRxClientRadio. Including datapath functions for communicating with user hardware |
packet_txrx_client_sim.cc | Implementation of PacketTxRxClientSim initialization functions, and datapath functions for the client code |
packet_txrx_client_sim.h | Common definations for PacketTxRxClient. Including datapath functions for communicating with the client code |
client_radio.cc | Implementation file for the client radio config class |
client_radio.h | Declaration file for the client radio config class |
dodecode_client.cc | Implmentation file for the DoDecodeClient class |
dodecode_client.h | Declaration file for the DoDecode class |
doifft_client.cc | Implementation file for the DoIFFTClient class |
doifft_client.h | Declaration file for the DoIFFTClient class |
phy-ue.cc | Implementation file for the phy ue class |
phy-ue.h | Declaration file for the phy ue class |
ue_worker.cc | Implementation file for the ue worker class. Provides storage for each worker |
ue_worker.h | Declaration file for the phy ue class |
user-main.cc | Command line executable for the user code |
► common | |
► ipc | |
network_utils.cc | Helper definations for networking |
network_utils.h | Helper definations for networking |
udp_client.h | Provides the UDPClient functions from the UDPComm class. Sender only support |
udp_comm.cc | Definition file for the UDPComm class. This class is used to send/recv messages from a remote endpoint |
udp_comm.h | Declaration file for the UDPComm class. This class is used to send messages and receive messages from a udp endpoint |
udp_server.h | Provides the UDPServer functions from the UDPComm class. Receiver only support |
► loggers | |
csv_logger.cc | Implementation file for the CsvLogger class which records runtime physical-layer performance into csv files. Enabled or disabled by cmake |
csv_logger.h | Declaration file for the CsvLogger class which records runtime physical-layer performance into csv files. Enabled or disabled by cmake |
logger.h | Logging macros that can be optimized out by the compiler |
mat_logger.cc | Implementation file for the MatLogger class which records runtime zero-forcing matrices into csv files. Enabled or disabled by cmake |
mat_logger.h | Declaration file for the MatLogger class which records runtime zero-forcing matrices into csv files. Enabled or disabled by cmake |
comms-constants.inc | |
comms-lib-avx.cc | Select signal processing and communications blocks implemented using Intel AVX2 |
comms-lib.cc | |
comms-lib.h | Communications Library: a) Generate pilot/preamble sequences b) OFDM modulation |
config.cc | Implementation file for the configuration class which importants json configuration values into class variables |
config.h | Declaration file for the configuration class which importants json configuration values into class variables |
crc.cc | |
crc.h | |
datatype_conversion.h | |
dpdk_transport.cc | |
dpdk_transport.h | Declaration file for the DpdkTransport class |
eth_common.h | Common definitons for Ethernet-based transports |
framestats.cc | Class implementation for frame tracking |
framestats.h | Class defination for frame tracking |
gettime.h | |
ldpc_config.h | |
memory_manage.cc | |
memory_manage.h | |
message.h | Self defined functions for message storage and passing |
modulation.cc | |
modulation.h | |
modulation_srslte.cc | |
net.cc | |
net.h | |
phy_stats.cc | Declaration file for the PhyStats class |
phy_stats.h | Declaration file for the PhyStats class |
ran_config.h | |
scrambler.cc | Implmentation file for the Scramble Class |
scrambler.h | Scramble Class and helper functions |
shared_counters.h | |
signal_handler.cc | |
signal_handler.h | |
simd_types.h | Aligned types for SIMD compatibility |
symbols.h | |
utils.cc | Utility functions for file and text processing |
utils.h | Utility functions for file and text processing |
utils_ldpc.h | |
version_config.h | Agora project version configuration file |
► data_generator | |
data_generator.cc | Data generator to generate binary files as inputs to Agora, sender and correctness tests |
data_generator.h | Implementation file for the Data generator class to generate binary files as inputs to Agora, sender and correctness tests |
data_generator_main.cc | Data generator to generate binary files as inputs to Agora, sender and correctness tests |
► encoder | |
cyclic_shift.cc | Cyclic right bit shift. The shift values are defined by the 5gnr ldpc standard in TS38212 5.3.2 |
cyclic_shift.h | Declaration for for the avx2enc cyclic shift functions |
encoder.cc | Implementations for Agora's AVX2-based LDPC encoder |
encoder.h | Definitions for Agora's AVX2-based LDPC encoder |
encoder_test.cc | Test functions for the ldpc encoding routines |
gcc_phy_ldpc_encoder_5gnr_internal.h | |
iobuffer.cc | Read the input files into z-bit segments; regroup the output from z-bit segments to bytes |
iobuffer.h | Declaration for for the avx2enc iobuffer functions |
► mac | |
file_receiver.cc | Implementation file for the FileReceiver class |
file_receiver.h | Declaration file for the FileReceiver class |
mac_basestation.cc | Main file for the mac bs transmitter/receiver executable |
mac_client.cc | Main file for the mac client executable |
mac_data_receiver.h | Declaration file for the MacDataReceiver interface class |
mac_receiver.cc | Declaration file for the simple mac receiver class |
mac_receiver.h | Declaration file for the simple mac receiver class |
mac_sender.cc | Implementation file for the simple mac sender class |
mac_sender.h | Declaration file for the simple mac sender class |
mac_thread_basestation.cc | |
mac_thread_basestation.h | |
mac_thread_client.cc | |
mac_thread_client.h | |
video_receiver.cc | Implementation file for the VideoReceiver class |
video_receiver.h | Declaration file for the VideoReceiver class |
► recorder | |
hdf5_lib.cc | |
hdf5_lib.h | |
recorder.cc | Record received frames from massive-mimo base station in HDF5 format |
recorder.h | Record received frames from massive-mimo base station in HDF5 format |
recorder_thread.cc | |
recorder_thread.h | |
recorder_worker.cc | |
recorder_worker.h | Recorder worker interface factory |
recorder_worker_hdf5.cc | Recorder worker to write hdf5 output file with all rx symbols |
recorder_worker_hdf5.h | |
recorder_worker_multifile.cc | Recorder worker to write to multiple bin files per rx symbol |
recorder_worker_multifile.h | Recorder worker to write to multiple bin files per rx symbol |
▼ test | |
► compute_kernels | |
► ldpc | |
test_ldpc.cc | Accuracy and performance test for LDPC. The encoder is Agora's avx2enc - unlike FlexRAN's encoder, avx2enc works with AVX2 (i.e., unlike FlexRAN's encoder, avx2enc does not require AVX-512). The decoder is FlexRAN's decoder, which supports AVX2 |
test_ldpc_baseband.cc | Test LDPC performance in baseband procesing when different levels of Gaussian noise is added to CSI |
test_ldpc_mod.cc | |
cpu_attach.cc | Implementation file for cpu attachment helper functions |
cpu_attach.h | Declaration file for cpu attachment helper functions |
test_fft_mkl.cc | Testing functions for fft using the mkl library |
test_matrix.cc | Testing functions for zf matrix computations |
test_modulation.cc | Testing functions for benchmarking modulation routines |
test_mufft.cc | Testing functions for benchmarking mu fft routines |
test_transpose.cc | Testing functions for benchmarking transpose computations |
► radio_test | |
main.cc | Main file for the radio test program |
► test_agora | |
main.cc | |
► unit_tests | |
test_256qam_demod.cc | |
test_armadillo.cc | Utility functions for file and text processing |
test_avx512_complex_mul.cc | |
test_concurrent_queue.cc | |
test_datatype_conversion.cc | Unit tests for data type and bit-level conversions |
test_demul_threaded.cc | |
test_ptr_grid.cc | |
test_scrambler.cc | Unit tests for WLAN scrmabler and descrambler |
test_udp_client_server.cc | |
test_zf.cc | |
test_zf_threaded.cc | |
▼ third_party | |
► nlohmann | |
► single_include | |
► nlohmann | |
json.hpp | |
► spdlog | |
► bench | |
async_bench.cpp | |
bench.cpp | |
formatter-bench.cpp | |
latency.cpp | |
utils.h | |
► example | |
example.cpp | |
► include | |
► spdlog | |
► cfg | |
argv.h | |
env.h | |
helpers-inl.h | |
helpers.h | |
► details | |
backtracer-inl.h | |
backtracer.h | |
circular_q.h | |
console_globals.h | |
file_helper-inl.h | |
file_helper.h | |
fmt_helper.h | |
log_msg-inl.h | |
log_msg.h | |
log_msg_buffer-inl.h | |
log_msg_buffer.h | |
mpmc_blocking_q.h | |
null_mutex.h | |
os-inl.h | |
os.h | |
periodic_worker-inl.h | |
periodic_worker.h | |
registry-inl.h | |
registry.h | |
synchronous_factory.h | |
tcp_client-windows.h | |
tcp_client.h | |
thread_pool-inl.h | |
thread_pool.h | |
udp_client-windows.h | |
udp_client.h | |
windows_include.h | |
► fmt | |
► bundled | |
args.h | |
chrono.h | |
color.h | |
compile.h | |
core.h | |
format-inl.h | |
format.h | |
locale.h | |
os.h | |
ostream.h | |
printf.h | |
ranges.h | |
xchar.h | |
bin_to_hex.h | |
chrono.h | |
compile.h | |
fmt.h | |
ostr.h | |
ranges.h | |
xchar.h | |
► sinks | |
android_sink.h | |
ansicolor_sink-inl.h | |
ansicolor_sink.h | |
base_sink-inl.h | |
base_sink.h | |
basic_file_sink-inl.h | |
basic_file_sink.h | |
daily_file_sink.h | |
dist_sink.h | |
dup_filter_sink.h | |
hourly_file_sink.h | |
mongo_sink.h | |
msvc_sink.h | |
null_sink.h | |
ostream_sink.h | |
qt_sinks.h | |
ringbuffer_sink.h | |
rotating_file_sink-inl.h | |
rotating_file_sink.h | |
sink-inl.h | |
sink.h | |
stdout_color_sinks-inl.h | |
stdout_color_sinks.h | |
stdout_sinks-inl.h | |
stdout_sinks.h | |
syslog_sink.h | |
systemd_sink.h | |
tcp_sink.h | |
udp_sink.h | |
win_eventlog_sink.h | |
wincolor_sink-inl.h | |
wincolor_sink.h | |
async.h | |
async_logger-inl.h | |
async_logger.h | |
common-inl.h | |
common.h | |
formatter.h | |
fwd.h | |
logger-inl.h | |
logger.h | |
pattern_formatter-inl.h | |
pattern_formatter.h | |
spdlog-inl.h | |
spdlog.h | |
stopwatch.h | |
tweakme.h | |
version.h | |
► scripts | |
extract_version.py | |
► src | |
async.cpp | |
cfg.cpp | |
color_sinks.cpp | |
file_sinks.cpp | |
fmt.cpp | |
spdlog.cpp | |
stdout_sinks.cpp | |
► tests | |
catch.hpp | |
includes.h | |
main.cpp | |
test_async.cpp | |
test_backtrace.cpp | |
test_cfg.cpp | |
test_create_dir.cpp | |
test_daily_logger.cpp | |
test_dup_filter.cpp | |
test_errors.cpp | |
test_eventlog.cpp | |
test_file_helper.cpp | |
test_file_logging.cpp | |
test_fmt_helper.cpp | |
test_macros.cpp | |
test_misc.cpp | |
test_mpmc_q.cpp | |
test_pattern_formatter.cpp | |
test_registry.cpp | |
test_sink.h | |
test_stdout_api.cpp | |
test_stopwatch.cpp | |
test_systemd.cpp | |
test_time_point.cpp | |
utils.cpp | |
utils.h | |
concurrentqueue.h | |
matplotlibcpp.h | |
▼ tools | |
► matlab | |
► parse_multi_file_dl | |
parse_all_dl.m | |
parse_dl_file.m | |
► parse_multi_file_ul | |
parse_all_ul.m | |
parse_ul_file.m | |
generate_data.m | |
generate_data_dl.m | |
inspect_agora_results.m | |
inspect_agora_ul_results.m | |
inspect_single_frame.m | |
inspect_single_ul_frame.m | |
parsedata_detail.m | |
parsedata_dl.m | |
parsedata_ul.m | |
process_beacon.m | |
process_rx_frame.m | |
simulate_performance.m | |
► python | |
BeamformerWrapper.py | |
hdf5_lib.py | |
mm_gui.py | |
ofdmtxrx.py | |
plot_csv.py | |
plot_hdf5.py | |
plot_lib.py | |
user_gui.py | |
UserWrapper.py | |
.ycm_extra_conf.py |