Commit Graph

3030 Commits

Author SHA1 Message Date
Codebot 43082e8d6a enb/ue: turn various warning messages into info
turn events that may happen in the normal life of a eNB/UE
into info rather than warning to allow strict
warning/error checking in tests.
2020-12-12 15:59:27 +01:00
Codebot f5d14d7649 polar_chain_test: fix compilation issue when AVX2 isn't used
this fixes compilation on aarch64:

FAILED: lib/src/phy/fec/polar/test/CMakeFiles/polar_chain_test.dir/polar_chain_test.c.o
/usr/bin/gcc -DENABLE_TIMEPROF -DENABLE_TTCN3 -DHAVE_5GNR -DHAVE_MBEDTLS -I/usr/include/SoapySDR -Ilib/include -I../lib/include -Wno-unused-but-set-variable -Wall -Wno-comment -Wno-write-strings -Wno-unused-result -Wformat -Wmissing-field-initializers -Wtype-limits -std=c99 -fno-strict-aliasing -D_GNU_SOURCE -O3 -fno-trapping-math -fno-math-errno -DBUILD_TYPE_RELEASE -DIS_ARM -DHAVE_NEON -DHAVE_NEONv8 -fvisibility=hidden -fdiagnostics-color=always -Werror --param large-function-growth=1600 -O3 -DNDEBUG -fPIE -MD -MT lib/src/phy/fec/polar/test/CMakeFiles/polar_chain_test.dir/polar_chain_test.c.o -MF lib/src/phy/fec/polar/test/CMakeFiles/polar_chain_test.dir/polar_chain_test.c.o.d -o lib/src/phy/fec/polar/test/CMakeFiles/polar_chain_test.dir/polar_chain_test.c.o   -c ../lib/src/phy/fec/polar/test/polar_chain_test.c
../lib/src/phy/fec/polar/test/polar_chain_test.c: In function ‘main’:
../lib/src/phy/fec/polar/test/polar_chain_test.c:214:11: error: unused variable ‘gain_c_avx2’ [-Werror=unused-variable]
  214 |   float   gain_c_avx2 = NAN;
      |           ^~~~~~~~~~~
../lib/src/phy/fec/polar/test/polar_chain_test.c:191:7: error: unused variable ‘errors_symb_c_avx2’ [-Werror=unused-variable]
  191 |   int errors_symb_c_avx2 = 0;
      |       ^~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
2020-12-12 15:59:27 +01:00
David Rupprecht 848496bb0f Moved get_earfcn to srslte get_carrier_freq func 2020-12-12 15:59:27 +01:00
David Rupprecht 2e51cfc1a5 Added black cells with index function
Added new index functios
Use asn1 list functions for toAddMod and toRem lists
2020-12-12 15:59:27 +01:00
David Rupprecht 96b75b6433 Fixes clang compiler error in case of UHD_ENABLE_RFNOC enable 2020-12-12 15:59:27 +01:00
Andre Puschmann c0883291f6 rlc: pass TTI to get_metrics to calculate "real" LTE rx/tx rate
when retrieving the RLC metrics, the number of TTIs since the last
call are passed. This allows to calculate the actual rate
based on the LTE timing rather than only the system timing.
2020-12-12 15:59:27 +01:00
Andre Puschmann cff9f03a11 rlc_am_lte: remove unused rx/tx metrics members
those variables aren't used and are included in the bearer metrics already
2020-12-12 15:59:27 +01:00
Andre Puschmann 3c169e6be1 rlc_am: increment retx counter for segments
we've only incremented the retx when retransmitting a full PDU,
but not when only retransmitting segments.

This might lead to many more retx than allowed.
2020-12-12 15:59:27 +01:00
Francisco b41fc96d6d fix asn1 integer packing for integer values whose length is equal or above 32 bits 2020-12-12 15:59:27 +01:00
Pedro Alvarez 38206bea69 Fixed RLC AM fixed header size in get_buffer_state function. Fixed RLC AM tests accordingly. 2020-12-12 15:59:27 +01:00
Francisco 99f94d9a1a Bug fixes of srseNB scheduler TPC
- fix encoding of TPC command
- use of exponential average with irregular sampling for the ULSNR average estimate.
  Turns out using a time-windowed average for the SNR was a bad idea.
  If the UL grants are very sporadic, the SNR time window will never have samples
  when a TPC is encoded
- update of TPC sched test
- other fixes in accumulators lib
2020-12-12 15:59:27 +01:00
Xavier Arteaga d6b5229dbe Added CSI-RS unit test and fix defects 2020-12-12 15:59:27 +01:00
Xavier Arteaga 6127681102 Added csi_rs header 2020-12-12 15:59:27 +01:00
Xavier Arteaga 08799cfe0f NR CSI-RS initial put/measure 2020-12-12 15:59:27 +01:00
Xavier Arteaga b7d74ef70b Initial CSI RS 2020-12-12 15:59:27 +01:00
Francisco 7ee99a529a fix assertion messages for bounded_vector::back() method 2020-12-12 15:59:27 +01:00
Francisco 5cce2e4dc7 extension of bounded_vector unit test and fix of compilation issues
- now bounded_vector::resize(N) works for move-only types
- bounded_vector assertions now print error messages
- fixed move ctor/assignment of bounded_vector
- created a unit test for bounded_vectors of move-only types
2020-12-12 15:59:27 +01:00
Francisco 2598989f7d replace msg3grant type from C-array to bounded vector 2020-12-12 15:59:27 +01:00
Francisco fc451f17f0 implementation of bounded_vector and respective unit test 2020-12-12 15:59:27 +01:00
Francisco 22229adf08 fix: normal phr is only sent for PCell 2020-12-12 15:59:27 +01:00
Francisco 69748e9313 fix compilation issue regarding definition of size_t in header and declaration of static member null_value in sliding average class 2020-12-12 15:59:27 +01:00
Francisco d42dc50c44 Write TPC sched unit test and fix sched logical channel test 2020-12-12 15:59:27 +01:00
Francisco 479602ed1d add option to specify target ul sinr for UL power control to the enb rr.conf parser 2020-12-12 15:59:27 +01:00
Francisco 5865df39d1 created class that implements the scheduler transmit power control and PHR handling 2020-12-12 15:59:27 +01:00
Xavier Arteaga 788ed5ce70 Corrected PDCCH SEGFAULT 2020-12-12 15:59:27 +01:00
Xavier Arteaga 8cc023e168 Fix PDCCH NR Test 2020-12-12 15:59:27 +01:00
Xavier Arteaga c0cdce6450 Updated license 2020-12-12 15:59:27 +01:00
Xavier Arteaga e07cf513d0 Improved NR blind search and DL test 2020-12-12 15:59:27 +01:00
Xavier Arteaga 90aa4fbea7 Improved srslte_chest_set_smooth_filter_gauss 2020-12-12 15:59:27 +01:00
Xavier Arteaga c635b1e467 Initial NR DCI blind-search 2020-12-12 15:59:27 +01:00
Xavier Arteaga 85d5026e38 Improved NR PDCCH unit test 2020-12-12 15:59:27 +01:00
Xavier Arteaga 315394560d Fix Polar unitialised read 2020-12-12 15:59:27 +01:00
Xavier Arteaga cd1aef7d76 Added NR PDCCH unit test plus fixes 2020-12-12 15:59:26 +01:00
Xavier Arteaga 53f6ac118e Initial PDCCH encode/decode 2020-12-12 15:59:26 +01:00
Xavier Arteaga 159a3d84bd Fix minor precoding issue 2020-12-12 15:59:26 +01:00
Xavier Arteaga 65d5fcf45d Add minor DCI location comment 2020-12-12 15:59:26 +01:00
Xavier Arteaga 67ce4c1491 Avoid std memory functions in EVM measurement 2020-12-12 15:59:26 +01:00
Andre Puschmann 00a6e16c14 update license header for liblte_*.{h,cc} files
user license-agnostic text to refer to license file.
make sure copyrights/years are correct.
2020-12-12 15:59:26 +01:00
Andre Puschmann 47c5f9e85b remove AGPL header from remaining cpp files
* also add commercial header to come CMake helpers
2020-12-12 15:59:26 +01:00
Andre Puschmann b9f363db9a ssl: rename liblte_ssl.h to ssl.h 2020-12-12 15:59:26 +01:00
Andre Puschmann ef19b1a9bd fix various uninit vars detected by cppcheck
non-critical fixes in tests mostly, still good to have those clean
2020-12-12 15:59:26 +01:00
Xavier Arteaga 81d72380b5 Reduce FEC Polar chain test time 2020-12-12 15:59:26 +01:00
Xavier Arteaga f9643843a0 SRSENB/UE Fixed NR workers 2020-12-12 15:59:26 +01:00
Xavier Arteaga b501f2eeaf SRSENB/UE: Added NR workers 2020-12-12 15:59:26 +01:00
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 eed9405e40 Moved NR MAX MIMO layers to carrier 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 82d057345b fix compilation issue with user-defined fmt formatter 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
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
Andre Puschmann 07d2bc4fe8 change license header to agnostic version with hint to root LICENSE file 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
Andre Puschmann 477fe77f24 rlc_am: reformat log message for PDU retx 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
Andre Puschmann 7f81f44427 rf_uhd: treat N3xx like the X3xx and do not set timespec on every burst iteration
the N310 too doesn't seem to like setting the timespec for each call to
send in a single burst
2020-12-12 15:59:25 +01:00
Francisco 7a74bf28d1 forward declare s1ap types in enb interfaces 2020-12-12 15:59:25 +01:00
Francisco 66712023bb remove unneeded includes of full rrc asn1 lib 2020-12-12 15:59:25 +01:00
Francisco 0ffea62411 Wrote logging functions for SCHED MAC CE/LCID allocations 2020-12-12 15:59:25 +01:00
Francisco 68eda336bd remove ENB_METRICS_MAX_USERS compile time macro and use run-time variable to set maximum number of UEs the srseNB can have connected at a given instant. 2020-12-12 15:59:25 +01:00
Pedro Alvarez d05bc064b5 Reduced SCTP connect() timeout.
Added configuration for RTO_MAX. Cleanup debug prints.
2020-12-12 15:58:34 +01:00
yagoda bdc1964335 consolidating RRC eMBMS configuration into single function, setting some parameters to const 2020-12-12 15:58:34 +01:00
yagoda b90574975b refactoring asn1 eMBMS code, removing asn1 from PHY and MAC in eNodeB 2020-12-12 15:58:34 +01:00
Francisco 1cb65f07f1 enable meas gaps in RRC and enb parser 2020-12-12 15:58:34 +01:00
Xavier Arteaga c2bc042713 Disable SIMD AVX decoder 2020-12-12 15:58:34 +01:00
Francisco Paisana 9579931f16 added meas gap checks to scheduler ue 2020-12-12 15:58:34 +01:00
Andre Puschmann 43a6cd50e5 rf_imp: fix stopping of AGC thread
hard killing of AGC thread causes issue on some RF devices,
such as the N310. The thread still seemed to access the device while
the radio was already killed (or the streamer object deleted).

It's unclear why this isn't causing similar issues on B210 or X310,
at least not visible, but it is obviously not the correct way to stop a thread.

The patch now correctly sets the stop flag for the AGC thread, wakes it
it up and waits until it has terminated.
2020-12-12 15:58:34 +01:00
Xavier Arteaga 7495986b5c Minor aesthetic changes and fix memory issue 2020-12-12 15:58:34 +01:00
Xavier Arteaga 0396ebae17 Fix UE/ENB DL NR 2020-12-12 15:58:34 +01:00
Xavier Arteaga 8de2870788 Added NR ue_dl, enb_dl and test 2020-12-12 15:58:34 +01:00
Xavier Arteaga 6b5c4148c8 DL Channel estimation results accepts nof RE 2020-12-12 15:58:34 +01:00
Xavier Arteaga ce330a6dfb OFDM's DC is optional 2020-12-12 15:58:34 +01:00
Xavier Arteaga c6a2e4578e Refactored PHY object arguments 2020-12-12 15:58:34 +01:00
Xavier Arteaga e621a1cde3 EVM buffer takes number of bits 2020-12-12 15:58:34 +01:00
Xavier Arteaga a278a49e42 Limit PDSCH-NR unit test 2020-12-12 15:58:34 +01:00
Xavier Arteaga bff71761a9 PDSCH-NR: Added single layer channel equalization 2020-12-12 15:58:34 +01:00
Xavier Arteaga 0138c3b856 PDSCH-NR fixed with unit test 2020-12-12 15:58:34 +01:00
Jesus Gomez 6defd2658c Solve Issue 2: Rate matching zeroes output data prior to soft-combine 2020-12-12 15:58:34 +01:00
Xavier Arteaga fb64c2a460 Initial NR PDSCH encode/decode 2020-12-12 15:58:34 +01:00
Xavier Arteaga 666ba7d590 Added unpacked bit sequence XOR 2020-12-12 15:58:33 +01:00