Commit Graph

6920 Commits

Author SHA1 Message Date
Xavier Arteaga d0a4b4d409 Changed DL-SCH LDPC scaling factor for decoding high rates 2020-12-28 10:11:08 +01:00
Xavier Arteaga 2e59f6a568 Applied LDPC fixes and minor aestheic modifications 2020-12-28 10:11:08 +01:00
Xavier Arteaga 13443c3f8c Added number of DMRS CDM groups without data to NR grant 2020-12-28 10:11:08 +01:00
Xavier Arteaga d413c1aaec Fix base graph selection and improved PHY LIB logging 2020-12-28 10:11:08 +01:00
Xavier Arteaga 808bb3fb94 Fix string to modulation conversion and apply clang-format 2020-12-28 10:11:08 +01:00
Xavier Arteaga 0a06074158 Skip NR PDSCH allocation in PDSCH DMRS symbols 2020-12-28 10:11:08 +01:00
Xavier Arteaga 1775052144 Fix NR PDSCH DMRS cinit and zero after free 2020-12-28 10:11:08 +01:00
Ismael Gomez 6348ddefd5 Add option to run prach_worker in the caller thread instead of by a background worker. This is useful when running simulations with ZMQ, to avoid the prach worker to take too much time and miss the RAR deadline 2020-12-26 23:49:42 +01:00
Francisco Paisana 74ffe393c6 asn1 update: s1ap asn1 is now v16.1 (2020-03) 2020-12-22 16:28:24 +01:00
Francisco Paisana 9de318c7e6 avoid allocating DL harqs when respective acks are still pending, when there is a reordering of ttis in the phy 2020-12-21 17:23:26 +01:00
faluco 92b11c1adb Backport misc changes from the fapi repo. 2020-12-21 13:45:22 +01:00
faluco 88611fe0ab Added the latency and buffered bytes bearer metrics. 2020-12-18 14:44:59 +01:00
faluco d3964c70ea Dump to the json reporter the missing bearer metrics. 2020-12-18 14:44:59 +01:00
Ismael Gomez 1d0e5d725f Do not hide symbols in debug mode so backtraces can display function info 2020-12-18 13:01:34 +01:00
Francisco Paisana 66aa34d173 update RRC NR ASN1 to 2020-09 v15.11 2020-12-18 12:50:37 +01:00
Andre Puschmann d5daf60773 pdu_test: add unpacking test for DL-SCH PDU containing TA command 2020-12-18 12:28:52 +01:00
Andre Puschmann c5514d7f80 pdu: fix to_string() for TA command
the get_ta_cmd() is returning uint8_t which stringstream
interprets as ASCII character by default. So the log message is bogus.
2020-12-18 12:28:52 +01:00
Pedro Alvarez 0ad0e9acac Make sure that RLC entity is only re-created if it switches modes. 2020-12-18 10:52:51 +00:00
Pedro Alvarez 0c20b7a455 Added support for S1AP modify bearer request support. This includes:
- Handle received E-RAB S1AP at s1ap.cc.
 - Added methods to rrc.cc, rrc_ue.cc and rrc_bearer_cfg.cc to handle erab modify request.
 - Made RLC add_bearer() function capable of re-creating the RLC entity.
 - Send RRC reconfiguration to the UE and reply to the EPC with S1AP
   modify bearer response.

This commit also adds support to srsEPC to send S1AP modify bearer request for
testing purposes.
2020-12-18 10:52:51 +00:00
Andre Puschmann 48b37394f1 rlc: remove unneeded log entry
was added for testing only
2020-12-18 10:25:30 +01:00
Francisco Paisana 099dad8cb1 disable PHR handling in the UL sched by default 2020-12-17 17:56:42 +01:00
Francisco Paisana e27c0869e5 update RRC ASN1 to 2020-09 v15.11 2020-12-17 17:55:58 +01:00
Andre Puschmann bc4c9606ce rlc_am: add extended bearer metrics
this patch adds support for measuring the:
* SDU rx latency (Average time in ms from first RLC segment to full SDU)
* amount of buffered bytes (sum of payload of PDUs buffered in rx_window)

the implementation is using std::chrono
2020-12-17 17:46:55 +01:00
Andre Puschmann d54c33258b rlc_metrics: add sdu rx latency and buffered bytes 2020-12-17 17:46:55 +01:00
Andre Puschmann 2e64fff1df common: extend timestamp interface for byte_buffer
* allow setting timestamp to a specific std::chrono::time_point
* add getter from raw tp
2020-12-17 17:46:55 +01:00
Andre Puschmann 81cfce6cf0 rlc_um: remove latency calculation from RLC UM 2020-12-17 17:46:55 +01:00
Xavier Arteaga 533222f245 NR PDCCH fixes 2020-12-17 15:48:21 +01:00
Xavier Arteaga a746e29395 Removed shadow variable 2020-12-17 15:48:21 +01:00
Xavier Arteaga 99ca2d2f14 Add polar interleaver 2020-12-17 15:48:21 +01:00
Xavier Arteaga 3662210842 Fix external softbuffer inclusion 2020-12-17 15:48:21 +01:00
Francisco Paisana 1ea635f9ae asn1 utils fix: avoid unpacking an unconstrained integer length twice 2020-12-17 01:40:30 +01:00
Francisco Paisana 6803f48cc0 cell selection and reest rrc procedures were causing a callstack reentrancy problem. This issue was circumvented with a defer_task call 2020-12-17 01:39:59 +01:00
Andre Puschmann e43eab8b5f rlc: fix rate metrics (nan,inf values), use std::chrono
similar to GW, we remove gettimeofday and use std::chrono.
we also make sure to reset the metrics after reestablishment
2020-12-16 20:39:21 +01:00
Andre Puschmann c8801578df gw: use std::chrono for metrics and fix nan display
* replace gettimeofday with std::chrono
* fix nan printing when nof_tti is zero (at startup)
2020-12-16 20:39:21 +01:00
David Rupprecht 81609d48dd Added measurment report for interrat nr15
Added function for removing interrat triggers
2020-12-16 14:12:38 +01:00
David Rupprecht 5df2fb1fa1 Added rrc has nr neighbour cells 2020-12-16 14:12:38 +01:00
David Rupprecht 0e4d77da76 Refactor eutra reporting code and add report triggers for inter rat measurements 2020-12-16 14:12:38 +01:00
David Rupprecht e4e67eebce Added infrastucture to process measurments and evaluate interrat triggers 2020-12-16 14:12:38 +01:00
David Rupprecht 25e5b88704 Added NR range_to_value function and debug logging for measurements 2020-12-16 14:12:38 +01:00
David Rupprecht ce4526a935 Extended measurements interrat nr r15 testcase with measurements 2020-12-16 14:12:38 +01:00
David Rupprecht 826dd32c89 Rename meas_cell to meas_cell_eutra
Added meas_cell_nr class

Make meas_cell list as template class

Inheritance rrc_cell to meas_cell_nr
Added process_new_cell_meas_nr function
2020-12-16 14:12:38 +01:00
David Rupprecht 62b558fccf Move rat type to common header
Removed phy measurement from rrc interface phy

Updated rrc interface for handling measurements
2020-12-16 14:12:38 +01:00
Ismael Gomez f9a02299f9 Use MAC PDU pointer instead of tti_rx and rnti as a key to associate buffers. Decouple crc_info() and push_pdu() functions. This allows for different timing architectures in the PHY 2020-12-16 13:49:29 +01:00
Ismael Gomez 0498439d41
Backport some changes from FAPI branch (#2124)
* Reorder DCI FORMAT enum

* Fix endianness issue

* Fix return codes in phy_ue_db

* Log members should be destructed after the layers.

* Add JSON metrics and Events. Add Alarm log channel. Simplify MAC metrics struct.

* Restore metrics_stdout change
2020-12-16 13:48:48 +01:00
Francisco Paisana ea36e46635 fix asn1 length determinant packing/unpacking. avoid subtracting len by zero before the packing 2020-12-15 23:42:40 +01:00
Francisco Paisana d198e8fb31 fix asn1 length determinant packing for upper bounds above 64K 2020-12-15 23:42:40 +01:00
Francisco Paisana 1304746bce use of fmt lib in asn1 utils 2020-12-15 15:56:59 +01:00
Andre Puschmann 9133135e12 rlc_tm: remove error from log when RLC TM PDU can't be sent
RLC TM can't be segmented so it may happen that a PDU
cannot be sent because the grant is too small. That is not
an error and should only be logged in info.
2020-12-15 15:19:08 +01:00
Francisco Paisana 7869c66fb7 avoid overwriting phy config ul64qam config for scell 2020-12-15 12:24:17 +01:00
Francisco Paisana 442843e276 enb metric bound check. Fix of heap-buffer overflow issue 2020-12-14 17:12:17 +01:00