Commit Graph

6927 Commits

Author SHA1 Message Date
Xavier Arteaga ac930003be SRSUE: Integrated NR workers 2020-12-12 15:59:26 +01:00
Xavier Arteaga 6fb56a3c62 LDPC: fix AVX tests compilation 2020-12-12 15:59:26 +01:00
Xavier Arteaga a908fb6c5b Fix NR srsue/srsenb. Initial PHY NR in SRSENB. 2020-12-12 15:59:26 +01:00
Xavier Arteaga 2b2db90933 SRSUE: initial NR workers 2020-12-12 15:59:26 +01:00
Xavier Arteaga 85afdf8ce3 SRSENB: moved phy workers to lte worker pool 2020-12-12 15:59:26 +01:00
Xavier Arteaga eed9405e40 Moved NR MAX MIMO layers to carrier 2020-12-12 15:59:26 +01:00
Xavier Arteaga df5e3414dc Fix segmentation fault 2020-12-12 15:59:26 +01:00
Xavier Arteaga c6798653be SRSUE: created initial PHY LTE worker pool 2020-12-12 15:59:26 +01:00
David Rupprecht c9c8a1db5c Added toRemoveList function for rrc asn lists 2020-12-12 15:59:26 +01:00
Xavier Arteaga 31a637adae Fix UCI SCH threshold, cover PUSCH 64QAM, check UCI-ACK valid in PUSCH test 2020-12-12 15:59:26 +01:00
Xavier Arteaga 12c076bf96 updated copyright headers 2020-12-12 15:59:26 +01:00
Xavier Arteaga 24297f973c Removed CTTC from file headers 2020-12-12 15:59:26 +01:00
Xavier Arteaga 035fcc9afb Removed FEC working directory 2020-12-12 15:59:26 +01:00
Xavier Arteaga bde1fa703d Added Polar RM and removed vectors with malloc from FEC NR 2020-12-12 15:59:26 +01:00
Francisco 2b59e90304 fix: limit number of encoded PHICH in the scheduler to the max size of the array 2020-12-12 15:59:26 +01:00
Francisco 2b97b2c8bb add bound checks for data, bc, and rar allocations in the scheduler to avoid array overflows. 2020-12-12 15:59:26 +01:00
Francisco 82d057345b fix compilation issue with user-defined fmt formatter 2020-12-12 15:59:26 +01:00
Francisco d98d14efcc remove tti_params struct from sched testers, and use tti_point instead 2020-12-12 15:59:26 +01:00
Francisco 86ab1864f7 The struct tti_point is now used ubiquitously in the scheduler 2020-12-12 15:59:26 +01:00
Pedro Alvarez 49bcffcdf8 Fix issue packing TEID in Error indication. 2020-12-12 15:59:26 +01:00
Pedro Alvarez 235f373af7 Started to add ability to send error indication when G-PDU from invalid TEID is received. 2020-12-12 15:59:26 +01:00
Francisco 8fb3ea6922 Added the ability to choose scheduling policy from enb.conf
- The two options provided at the moment are time-domain RR and PF
2020-12-12 15:59:26 +01:00
Francisco b71e8075f4 Refactoring of scheduling algorithms
- Use single interface for both DL and UL
- Wrote helper functions for tasks that are common to different algorithms
- created subfolder for all scheduling algorithms
2020-12-12 15:59:26 +01:00
Francisco 64ee0ac2ef New statistics were added in the random sched tester
- new stats allow to analyze the average bitrates of each user
- there is a new stat that computes the total of RBs allocated and total bitrate achieved by the scheduler
2020-12-12 15:59:26 +01:00
Francisco d7fae0b7a3 Implementation of time-domain PF scheduler
- PF scheduling becomes the new default
2020-12-12 15:59:26 +01:00
Andre Puschmann 07d2bc4fe8 change license header to agnostic version with hint to root LICENSE file 2020-12-12 15:59:25 +01:00
Francisco a5ef9f1eb9 potential fix for heap-overflow in scheduler, issue #2053. Added a bound check for the number RACH handled per tti. RACHs are ignored once the limit is surpassed. 2020-12-12 15:59:25 +01:00
Francisco 2fcb507de7 Fix gcc compilation errors with false_position_method in sched_ue.cc 2020-12-12 15:59:25 +01:00
Francisco 8d181ef41c Optimization of cc_sched_ue::cqi_to_tbs(...) method via the use of root-finding algorithm 2020-12-12 15:59:25 +01:00
Francisco 94efeab672 Optimization of sched_ue methods to derive required number of prbs to allocate to a rnti
This optimization has been achieved by:
- implementation of "false position method" root-finding algorithm
- application of the false position method in cc_sched_ue::get_required_prb_dl/ul(...)

The number of iterations in the worst case scenario, reduced from 100 to 5 with
the proposed algorithm.
2020-12-12 15:59:25 +01:00
Francisco 2dc3fce9bd fix derivation of UL-64QAM support from the UE Capabilities in the eNB
Before this PR, the eNB was not activating UL-64QAM if the UE release was below 12,
due to an erroneous convertion of the ASN1 EUTRA Capabilities struct into the flattened
srslte::ue_capabilities_t.

With this PR, the eNB activates UL-64QAM for the following cases:
- UE category 5
- UE category 8 and release >= 10
- UE category UL 8 and release >= 12
2020-12-12 15:59:25 +01:00
Francisco f07e52129c increase mcs ul upper bound to 24 when ue is cat4 and enb supports 64qam. Simplified max_mcs computation 2020-12-12 15:59:25 +01:00
Francisco 3d80ff4831 fix activation of PDCCH for adaptive retxs. 2020-12-12 15:59:25 +01:00
Francisco fc81a5c6ba harq ack state can now only be NACK or ACK. The ul_harq pending phich flag is now reset after phich scheduling. Thus, the existence of a crc_info(...) signal from the PHY is not required. 2020-12-12 15:59:25 +01:00
Xavier Arteaga 53d8319d2b SRSUE: protect secondary serving cell synch from concurrent access 2020-12-12 15:59:25 +01:00
Xavier Arteaga 287e651ef1 SRSUE: Protect nullptr buffer in secondary serving cell synch 2020-12-12 15:59:25 +01:00
Andre Puschmann 477fe77f24 rlc_am: reformat log message for PDU retx 2020-12-12 15:59:25 +01:00
Andre Puschmann 1ecfb88e46 txrx: fix double white space 2020-12-12 15:59:25 +01:00
Andre Puschmann 6d3af2d2bd rlc_um: fix bearer name in logging after re-configuration
the RLC bearer name was empty after reestablishing a UM bearer.

we need to pass the RLF config and RB name to the internal configure()
call of the Rx entity, like we already do for the Tx side
2020-12-12 15:59:25 +01:00
Xavier Arteaga 225bc9d260 Enable FEC SIMD acceleration 2020-12-12 15:59:25 +01:00
Jesus Gomez c9cdb0d53c Solve Issue 1: Invalid read in LDPC AVX2 Encoder/Decoder 2020-12-12 15:59:25 +01:00
Andre Puschmann d014a89cfb pdsch_ue: enable EVM measurements for PDSCH
enable EVM measurements by default and print them in to stdout.
This is very useful for manual receiver calibration with the
PDSCH eNB example.
2020-12-12 15:59:25 +01:00
Andre Puschmann 504d8fd9f0 pdsch: calculate average PDSCH EVM over all decoded codewords
when EVM measurements are enabled, instead of only logging them for
each decoded codeword, we also calculate the average.

this is useful for calibration.
2020-12-12 15:59:25 +01:00
Andre Puschmann cfee074756 pdsch_enodeb: add tx gain control over page-up/down keys
this allows to modify the tx gain of a running pdsch_enodeb
with the page-up/down keys in 1dB steps
2020-12-12 15:59:25 +01:00
Andre Puschmann 382f56fbea pdsch_{ue,enodeb}: add -Q switch to enable use of standard LTE rates
this is useful for RF equipment that doesn't support the shorter symbol
size we use by default, e.g. the N310
2020-12-12 15:59:25 +01:00
Xavier Arteaga 755325fc3e Avoid sizeof and standard memory functions 2020-12-12 15:59:25 +01:00
Xavier Arteaga 35bf5b8c6d Added generic memory malloc 2020-12-12 15:59:25 +01:00
Xavier Arteaga 83dddae525 Added vector zero 2020-12-12 15:59:25 +01:00
Xavier Arteaga a5537cc1ef Correct argument 2020-12-12 15:59:25 +01:00
Xavier Arteaga b7fc2299e5 Softbuffers initialise buffer pointers with zero memory 2020-12-12 15:59:25 +01:00