2763 Commits (eec4a395d08e0e106f009ab1a513c9eb5e3cfab1)

Author SHA1 Message Date
Pedro Alvarez e4a72de342 lib,rlc_am_nr: refactored build_pdu helpers to receive the payload pointer for consistency. Added function to segment retx. Added some comments to build PDU helper functions. 3 years ago
Pedro Alvarez b1a33a07a1 lib,rlc_am_nr: starting to add test for segmenting retx. Changed sdu under segmentation to only hold the SN. The actual SDU already exists in the pdu stored in the tx_window. 3 years ago
Francisco 581a99c616 nr,gnb: use memory pool to allocate scheduler UEs 3 years ago
Francisco a2174a5714 Fix type storage copy and move assignment function helper
Previously, in the case both the lhs and rhs optionals were present, the copy/move assignments were erroneously destroying the lhs object.
3 years ago
faluco c9c2d6982f Implement a function to remove emergency handlers when a signal is raised.
Make PCAP handlers deregister from this list when they are destructed. This avoid the signal handler calling destructed objects under very rare circumstances.
3 years ago
Bedran Karakoc 83868fd2d2 lib,nas_5g: Implement to_string() for 5GSM Cause 3 years ago
Francisco Paisana e4a15c9c51 rrc,gnb: move non-phy fields out of phy_cell_nr_t 3 years ago
Francisco Paisana e8902c785f rrc,gnb: remove srsran_prach_cfg_t from gnb rrc config struct 3 years ago
Francisco Paisana 532a4b54e7 rrc,gnb: remove phy flat pdcch cfg struct from rrc nr cfg 3 years ago
Francisco Paisana 88a95e8e57 rrc,gnb: remove uneeded flat phy cfg fields from rrc_nr_cfg_t 3 years ago
Joaquim Broquetas b2075673e5
Crest Factor Reduction feature for the phy layer (#3720)
* Add CFR module to the phy lib

* Add dynamic threshold with PAPR estimation

* Add a CFR unit test, CFR module improvements and refactoring.
Swap the gain normalization before the CFR.

* Add CFR config interface to srsenb

* Add CFR support to pdsch_enodeb

* Add DL PAPR measurement to eNB.

Co-authored-by: Cristian Balint <cristian.balint@gmail.com>

* Add test coverage to srsran_vec_gen_clip_env
3 years ago
Carlo Galiotto 91502c87db rrc-nr: rename rrc_util function and fix indexing
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto e88a4fbe18 rrc-nr: add sr_resources RRCSetup cnf conversion
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Francisco 425b956ef1 revert hacky asn1 compilation fix related with default dtors 3 years ago
Robert Falkenberg 57f84d4ca4 Radio: add support for file-based RF device abstraction 3 years ago
Robert Falkenberg d3eca325f7 Add file-based RF device for rx from arbitrary FILE*
It comes with the following changes:

* Add RF frontend API function "srslte_rf_open_file()"
* Open file-based RF via explicit call of custom
  "rf_file_open_file()", instead of "srslte_rf_open_multi()"
  function pointer as for regular devices.
* Introduce device name "file"
* Introduce new SRSLTE_ERROR_RX_EOF error code
* ZMQ: make update_rates() static to resolve conflicts
3 years ago
Carlo Galiotto 9f25a91282 asn1: fix clang compiling issue #3827
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Xavier Arteaga a74fdb84c9 Added SSB encode and decode from grid, plus unit test 3 years ago
Bedran Karakoc 37280307b5 lib,nas_5g: Fix unpacking/packing for timezone IEs 3 years ago
Bedran Karakoc cf191d8306 lib,nas_5g: Fix packing/unpacking error for ipv4 addresses 3 years ago
dvdgrgrtt 73594cf704 Fix minor bug
SRS_API was used instead of SRSRAN_API. Did not seem to have major
consequences.
3 years ago
Andre Puschmann c3596cc684 ue_nas_interfaces.h: set default APN type to ipv4 3 years ago
Carlo Galiotto 362abfe3c9 rrc-nr: add conversion for pucch_cfg
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Bedran Karakoc efa13290a9 ue,rrc_nr,nas_5g: Introduce NR AS Key derivation and update context handling in 5G NAS 3 years ago
Bedran Karakoc a8eaf1cdd8 ue,nas_5g: Add get_k_amf() helper function and security context flag 3 years ago
Andre Puschmann 44a00feccb pdcp_entity_base: fix log typo 3 years ago
Xavier Arteaga a9591f1d45 Avoid poping queue if empty 3 years ago
Fabian Eckermann 12cc7cb4d7 Add support for RRC redirect. 3 years ago
Francisco 52106be3d5 sched,nr: remove phy cfg types from sched_nr_cell_cfg_t 3 years ago
Francisco 7ef206e15b sched,rrc,nr: remove need to pass sched ue cfg object to rrc during ra procedure 3 years ago
Francisco 7f200ac7f7 sched,nr: pass asn1 TDD configuration to scheduler as defined in ORAN 3 years ago
Xavier Arteaga 66f6c11561 Fix concurrent issues in dummy radio used in nr_phy_test 3 years ago
Xavier Arteaga 8a7a4a588d Fix concurrent access to decimator busy flag 3 years ago
dvdgrgrtt 3ffefe5ba7 Use copyright as file header 3 years ago
dvdgrgrtt a69fb1d50f ch_awgn: Improve API
The API of functions srsran_ch_awgn_X was causing confusion between
noise variance and standard deviation. Also, in the complex-valued case,
the noise variance did not take into account the fact that the signal is
two-dimensional.

All uses of these functions are modified accordingly.
3 years ago
Andre Puschmann 99c2d16c1b ue_nr_interface: include SRB ARFCN in cell search result 3 years ago
Andre Puschmann 02cdc66302 security: fix k_gnb* derivation for 5G
add FC code for gNB KDF and fix ARFCN encoding (can be more than 2 bytes)
3 years ago
Pedro Alvarez 9bd368e0a9 lib,rlc: changed back status and header logging helpers to log directly. Make sure RB name is automatically logged. 3 years ago
Pedro Alvarez b53da22eb1 lib,rlc: changed return of string helper functions from char* to std::string to avoid UB 3 years ago
Pedro Alvarez e157806db2 lib,rlc_am_lte: removed RB_NAME macro. changed status and data pdu logging helpers to return C strings. Using new logging macros to make sure that RB name is included when logging status and amd pdus. 3 years ago
Pedro Alvarez 0f4b64f13f lib,rlc: added macros for hex logging that automatically add the rb_name. changed logging to use new macros in multiple places. 3 years ago
Pedro Alvarez b687072815 lib,rlc: added rb_name and logger to rlc_common. Added macros to help making sure bearer name is always included to the log to rlc_common.h. Started using said macros in TM, UM and AM entities. 3 years ago
Francisco 3c25b6cb24 asn1: remove presence flag for lists and octet strings, as the size of the latter implicitly tell if the asn1 field is present 3 years ago
Xavier Arteaga 8694cc63ec Added SSB configuration conversion to string 3 years ago
faluco 634db621e4 Fix compiler error due to a bug in clang9. 3 years ago
Ismael Gomez dcd94649ef enb,parser: add option to set a default tx gain per cell 3 years ago
faluco 1ec8e8a94e Raise C++ version to 14 and fix ill-formed code that is considered by this new standard. 3 years ago
Xavier Arteaga a19d68710c Fix successful related typos 3 years ago
Xavier Arteaga 2c7287e4d4 Fix successful related typos 3 years ago
Xavier Arteaga db19941985 Minor changes on UE SA PHY 3 years ago
Xavier Arteaga 5760080b27 Fix multiple nr_phy_test tests 3 years ago
Xavier Arteaga d6ee282796 Created dummy radio and moved UE dummy PHY into real UE SA PHY 3 years ago
Xavier Arteaga 3b396c8a9a Implement and test initial SFN synchronization for UE standalone mode 3 years ago
Xavier Arteaga a5130673f6 More cell search development 3 years ago
Francisco f7efee9884 asn1: use typedefs for amf_ue_ngap_id, ran_ue_ngap_id, mme_ue_s1ap_id and enb_ue_s1ap_id and changed interface to access s1ap and ngap protocol_ies 3 years ago
Francisco 26f173e582 asn1: use template to generate ngap/s1ap elementary procedure option and reduce code duplication 3 years ago
Francisco Paisana d5f5df3e7b asn1: place common asn1 type for empty ie object sets in asn1_utils.h 3 years ago
Francisco Paisana ec1ed9d4a5 asn1: fix json generation for s1ap/ngap and improve ie protocol field interface 3 years ago
Francisco Paisana 61e225d762 asn1: move setup_release_c from rrc_nr_asn1 to asn1_utils and improved interface 3 years ago
Francisco Paisana e2b8a80f87 asn1: move all ie protocol container types to asn1_tuils to be reused in different layers 3 years ago
Francisco Paisana 2d2a5bee03 asn1: update procotol_ie_single_container interface to use -> operator instead of .value to access container content 3 years ago
Francisco Paisana 6b181e7a94 asn1: move protocol_ie_single_container_s to asn1_utils, so it can be used by ngap, s1ap, and other layers 3 years ago
Francisco Paisana c8f7976014 asn1: use byte buffer pool for temporary variable length field generation instead of stack array 3 years ago
Pedro Alvarez b0581ae5ae lib,rlc_am_nr: removed ugly hack to get last element of list. Renamed current_sdu to sdu_under_segmentation. 3 years ago
Pedro Alvarez bd8c7f7c57 lib,rlc_am_nr: added max_hdr and min_hdr variables, that are configured based on SN length. Replaced magic numbers with said variables. 3 years ago
Pedro Alvarez 5532c514ba lib,rlc_am_nr: added logging macros to make sure that the RB name is allways logged. 3 years ago
Pedro Alvarez f60259afb9 lib,rlc_am_nr: fixed multiple typos and deleted useless comments 3 years ago
Pedro Alvarez 9e6b852834 lib,rlc_am_nr: Added handle_full_sdu() and handle_segment_sdu() functions. Reduced duplicate code in handling SDU segments. 3 years ago
Pedro Alvarez 8afea13d9a lib,rlc_am_nr: added initial logic to support receiving PDU segments. 3 years ago
Pedro Alvarez aae1d9ad10 lib,rlc_am_nr: changed rlc_amd_nr_tx_sdu to use std::list to store
segment infomation. Segment infomation incluses, SO and payload length.
3 years ago
Pedro Alvarez 76c33c78a9 lib,rlc_am_nr: starting to add test for segmentation. Starting to add functions for creating new segments and segment continuation. 3 years ago
Pedro Alvarez 3e5b064a08 lib,rlc_am_nr: starting to add build_sdu_segment() function.
Also adding write_header function that receives as argument uint8_t* so
we can write the header straight to the payload.
3 years ago
Xavier Arteaga 6c4c1ea155 NR UE PHY: interfaced fix wideband CQI reporting in nr_phy_test 3 years ago
Carlo Galiotto b359c7b728 sched,nr: add comments and rename variables
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto 0f92869156 rrc,sched: add csi-MeasConfig setup in RRC
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto 9be9bd659e sched,nr: add CQI to SE and SE to MCS mapping ...
for scheduler + add CQi reporting from PHY to scheduler

Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto 2040a88bf9 sched: add comments + rename variable
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto cd32f1385a sched,test: add test for CQI->MCS mapping fnc
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto a7255cfac6 sched: add fnc to map CQI to MCS
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Francisco Paisana 40138c7125 changed namespace of asn1 ngap from 'ngap_nr' to simply 'ngap' 3 years ago
Merlin Chlosta c967b688ff emergency handler for NAS PCAP to close file
Previously NAS PCAP wasn't closed/fflushed on
unclean exit, resulting in missing or corrupted PCAP.
3 years ago
Matan Perelman 0dff58613f srsUE: Add option to filter N_id_1 / SSS to configuration 3 years ago
Fabian Eckermann 94c2967486 Return correct iterator value. 3 years ago
Francisco e8f6c723b6 refactor: isolate rrc interfaces for pdcp, rlc and s1ap into separate files. This will avoid importing lte asn1 symbols to srsgnb code 3 years ago
Fabian Eckermann 6252d94ef4 Change NSA RRC reconfiguration interface to prepare for SA. 3 years ago
Fabian Eckermann affdacd9b4 Add decoding of sib1. 3 years ago
Pedro Alvarez b425316936 lib,rlc_am_nr: fixed tx_mod_base_nr(). Added unit test for inside_tx_window(). 3 years ago
Pedro Alvarez ab8577ff43 lib,rlc_am_nr: switched back to unsigned rx_mod_base. Removed if that is always true. 3 years ago
Pedro Alvarez fea7828d3e lib,rlc_am_nr: added struct to hold state variables. This is consistent
with TX and makes it easier to make getter/setters.
3 years ago
Pedro Alvarez bca9ef2454 lib,rlc_am_nr: made mod_nr configurable 3 years ago
Pedro Alvarez 665aea599c lib,rlc_am_nr: made sure that the return of rx_mod_base and tx_mod_base is signed by changing from a macro to an class method. 3 years ago
Francisco 9a4a5345c4 nr,gnb,sched: improve sched sanity checks, and improve bwp_pdcch_allocator api 3 years ago
Ismael Gomez 9f1a1c297c
Merge pull request #3710 from softwareradiosystems/feature_nr_sa_igm
Initial version of UE NR SA
3 years ago
Ismael Gomez 3c929ed24c ue,sa: Sends PRACH and receives RAR, then Msg4, resolves contention resolution and pushes ConnectionSetup to RRC 3 years ago
Francisco 11b4a572a0 nr,gnb,rrc&ngap: implementation of NGAP UE Context Release Request and RRC Release for the case RRC_CONNECTED->RRC_IDLE 3 years ago
Ismael Gomez 46f4be458a ue,sa: can sync and receive pbch successfully 3 years ago
Ismael Gomez 219bae4fd3 srsue,sa: dummy rrc_nr to initiate dummy cell_select and phy_cfg 3 years ago
Ismael Gomez c71ab70b83 Completed basic sync module with bypass camping. Removed ue_phy_nr and ue_phy_lte base classes 3 years ago
Ismael Gomez 6947f87bcb Add minimum NR SA logic in parent PHY class 3 years ago
Ismael Gomez fb897d2998 Refactor PHY interfaces to remove difference between SA and NSA PHY 3 years ago