Francisco Paisana
e4a15c9c51
rrc,gnb: move non-phy fields out of phy_cell_nr_t
2022-02-08 18:21:07 +01:00
Francisco Paisana
e8902c785f
rrc,gnb: remove srsran_prach_cfg_t from gnb rrc config struct
2022-02-08 18:21:07 +01:00
Francisco Paisana
532a4b54e7
rrc,gnb: remove phy flat pdcch cfg struct from rrc nr cfg
2022-02-07 18:26:15 +01:00
Francisco Paisana
88a95e8e57
rrc,gnb: remove uneeded flat phy cfg fields from rrc_nr_cfg_t
2022-02-07 18:26:15 +01:00
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
2022-02-04 10:35:35 +01:00
Carlo Galiotto
91502c87db
rrc-nr: rename rrc_util function and fix indexing
...
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-02-03 18:50:44 +01:00
Carlo Galiotto
e88a4fbe18
rrc-nr: add sr_resources RRCSetup cnf conversion
...
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-02-03 18:50:44 +01:00
Francisco
425b956ef1
revert hacky asn1 compilation fix related with default dtors
2022-02-01 13:08:51 +01:00
Robert Falkenberg
57f84d4ca4
Radio: add support for file-based RF device abstraction
2022-02-01 10:47:51 +01:00
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
2022-02-01 10:47:51 +01:00
Carlo Galiotto
9f25a91282
asn1: fix clang compiling issue #3827
...
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-02-01 10:38:26 +01:00
Xavier Arteaga
a74fdb84c9
Added SSB encode and decode from grid, plus unit test
2022-02-01 09:44:13 +01:00
Bedran Karakoc
37280307b5
lib,nas_5g: Fix unpacking/packing for timezone IEs
2022-01-31 16:19:20 +01:00
Bedran Karakoc
cf191d8306
lib,nas_5g: Fix packing/unpacking error for ipv4 addresses
2022-01-31 16:19:20 +01:00
dvdgrgrtt
73594cf704
Fix minor bug
...
SRS_API was used instead of SRSRAN_API. Did not seem to have major
consequences.
2022-01-28 08:15:36 +01:00
Andre Puschmann
c3596cc684
ue_nas_interfaces.h: set default APN type to ipv4
2022-01-27 12:49:13 +01:00
Carlo Galiotto
362abfe3c9
rrc-nr: add conversion for pucch_cfg
...
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-26 10:47:26 +01:00
Bedran Karakoc
efa13290a9
ue,rrc_nr,nas_5g: Introduce NR AS Key derivation and update context handling in 5G NAS
2022-01-25 14:24:58 +01:00
Bedran Karakoc
a8eaf1cdd8
ue,nas_5g: Add get_k_amf() helper function and security context flag
2022-01-25 14:24:58 +01:00
Andre Puschmann
44a00feccb
pdcp_entity_base: fix log typo
2022-01-24 21:07:22 +01:00
Xavier Arteaga
a9591f1d45
Avoid poping queue if empty
2022-01-24 10:09:17 +01:00
Fabian Eckermann
12cc7cb4d7
Add support for RRC redirect.
2022-01-21 09:46:56 +01:00
Francisco
52106be3d5
sched,nr: remove phy cfg types from sched_nr_cell_cfg_t
2022-01-20 10:54:00 +00:00
Francisco
7ef206e15b
sched,rrc,nr: remove need to pass sched ue cfg object to rrc during ra procedure
2022-01-20 10:54:00 +00:00
Francisco
7f200ac7f7
sched,nr: pass asn1 TDD configuration to scheduler as defined in ORAN
2022-01-20 10:54:00 +00:00
Xavier Arteaga
66f6c11561
Fix concurrent issues in dummy radio used in nr_phy_test
2022-01-19 18:33:39 +01:00
Xavier Arteaga
8a7a4a588d
Fix concurrent access to decimator busy flag
2022-01-19 18:33:39 +01:00
dvdgrgrtt
3ffefe5ba7
Use copyright as file header
2022-01-19 11:13:28 +01:00
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.
2022-01-19 11:13:28 +01:00
Andre Puschmann
99c2d16c1b
ue_nr_interface: include SRB ARFCN in cell search result
2022-01-18 18:20:04 +01:00
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)
2022-01-18 18:07:21 +01:00
Pedro Alvarez
9bd368e0a9
lib,rlc: changed back status and header logging helpers to log directly. Make sure RB name is automatically logged.
2022-01-18 11:53:37 +00:00
Pedro Alvarez
b53da22eb1
lib,rlc: changed return of string helper functions from char* to std::string to avoid UB
2022-01-18 11:53:37 +00:00
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.
2022-01-18 11:53:37 +00:00
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.
2022-01-18 11:53:37 +00:00
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.
2022-01-18 11:53:37 +00:00
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
2022-01-17 11:58:00 +00:00
Xavier Arteaga
8694cc63ec
Added SSB configuration conversion to string
2022-01-17 10:55:38 +01:00
faluco
634db621e4
Fix compiler error due to a bug in clang9.
2022-01-16 22:17:14 +01:00
Ismael Gomez
dcd94649ef
enb,parser: add option to set a default tx gain per cell
2022-01-13 17:25:39 +01:00
faluco
1ec8e8a94e
Raise C++ version to 14 and fix ill-formed code that is considered by this new standard.
2022-01-13 13:35:58 +00:00
Xavier Arteaga
a19d68710c
Fix successful related typos
2022-01-12 16:37:37 +01:00
Xavier Arteaga
2c7287e4d4
Fix successful related typos
2022-01-12 10:27:33 +01:00
Xavier Arteaga
db19941985
Minor changes on UE SA PHY
2022-01-12 10:27:33 +01:00
Xavier Arteaga
5760080b27
Fix multiple nr_phy_test tests
2022-01-12 10:27:33 +01:00
Xavier Arteaga
d6ee282796
Created dummy radio and moved UE dummy PHY into real UE SA PHY
2022-01-12 10:27:33 +01:00
Xavier Arteaga
3b396c8a9a
Implement and test initial SFN synchronization for UE standalone mode
2022-01-12 10:27:33 +01:00
Xavier Arteaga
a5130673f6
More cell search development
2022-01-12 10:27:33 +01:00
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
2022-01-11 22:59:38 +00:00
Francisco
26f173e582
asn1: use template to generate ngap/s1ap elementary procedure option and reduce code duplication
2022-01-11 22:59:38 +00:00
Francisco Paisana
d5f5df3e7b
asn1: place common asn1 type for empty ie object sets in asn1_utils.h
2022-01-11 22:59:38 +00:00
Francisco Paisana
ec1ed9d4a5
asn1: fix json generation for s1ap/ngap and improve ie protocol field interface
2022-01-11 22:59:38 +00:00
Francisco Paisana
61e225d762
asn1: move setup_release_c from rrc_nr_asn1 to asn1_utils and improved interface
2022-01-11 22:59:38 +00:00
Francisco Paisana
e2b8a80f87
asn1: move all ie protocol container types to asn1_tuils to be reused in different layers
2022-01-11 22:59:38 +00:00
Francisco Paisana
2d2a5bee03
asn1: update procotol_ie_single_container interface to use -> operator instead of .value to access container content
2022-01-11 22:59:38 +00:00
Francisco Paisana
6b181e7a94
asn1: move protocol_ie_single_container_s to asn1_utils, so it can be used by ngap, s1ap, and other layers
2022-01-11 22:59:38 +00:00
Francisco Paisana
c8f7976014
asn1: use byte buffer pool for temporary variable length field generation instead of stack array
2022-01-11 22:59:38 +00:00
Pedro Alvarez
b0581ae5ae
lib,rlc_am_nr: removed ugly hack to get last element of list. Renamed current_sdu to sdu_under_segmentation.
2022-01-10 23:25:44 +00:00
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.
2022-01-10 23:25:44 +00:00
Pedro Alvarez
5532c514ba
lib,rlc_am_nr: added logging macros to make sure that the RB name is allways logged.
2022-01-10 23:25:44 +00:00
Pedro Alvarez
f60259afb9
lib,rlc_am_nr: fixed multiple typos and deleted useless comments
2022-01-10 23:25:44 +00:00
Pedro Alvarez
9e6b852834
lib,rlc_am_nr: Added handle_full_sdu() and handle_segment_sdu() functions. Reduced duplicate code in handling SDU segments.
2022-01-10 23:25:44 +00:00
Pedro Alvarez
8afea13d9a
lib,rlc_am_nr: added initial logic to support receiving PDU segments.
2022-01-10 23:25:44 +00:00
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.
2022-01-10 23:25:44 +00:00
Pedro Alvarez
76c33c78a9
lib,rlc_am_nr: starting to add test for segmentation. Starting to add functions for creating new segments and segment continuation.
2022-01-10 23:25:44 +00:00
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.
2022-01-10 23:25:44 +00:00
Xavier Arteaga
6c4c1ea155
NR UE PHY: interfaced fix wideband CQI reporting in nr_phy_test
2022-01-10 18:50:53 +01:00
Carlo Galiotto
b359c7b728
sched,nr: add comments and rename variables
...
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-06 20:32:20 +01:00
Carlo Galiotto
0f92869156
rrc,sched: add csi-MeasConfig setup in RRC
...
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-06 20:32:20 +01:00
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>
2022-01-06 20:32:20 +01:00
Carlo Galiotto
2040a88bf9
sched: add comments + rename variable
...
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-06 20:32:20 +01:00
Carlo Galiotto
cd32f1385a
sched,test: add test for CQI->MCS mapping fnc
...
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-06 20:32:20 +01:00
Carlo Galiotto
a7255cfac6
sched: add fnc to map CQI to MCS
...
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-06 20:32:20 +01:00
Francisco Paisana
40138c7125
changed namespace of asn1 ngap from 'ngap_nr' to simply 'ngap'
2022-01-05 18:26:05 +01:00
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.
2021-12-22 17:13:21 +01:00
Matan Perelman
0dff58613f
srsUE: Add option to filter N_id_1 / SSS to configuration
2021-12-22 17:13:21 +01:00
Fabian Eckermann
94c2967486
Return correct iterator value.
2021-12-17 17:30:25 +01:00
Francisco
e8f6c723b6
refactor: isolate rrc interfaces for pdcp, rlc and s1ap into separate files. This will avoid importing lte asn1 symbols to srsgnb code
2021-12-15 23:25:26 +00:00
Fabian Eckermann
6252d94ef4
Change NSA RRC reconfiguration interface to prepare for SA.
2021-12-14 18:00:49 +01:00
Fabian Eckermann
affdacd9b4
Add decoding of sib1.
2021-12-14 18:00:49 +01:00
Pedro Alvarez
b425316936
lib,rlc_am_nr: fixed tx_mod_base_nr(). Added unit test for inside_tx_window().
2021-12-07 16:46:26 +00:00
Pedro Alvarez
ab8577ff43
lib,rlc_am_nr: switched back to unsigned rx_mod_base. Removed if that is always true.
2021-12-07 16:46:26 +00:00
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.
2021-12-07 16:46:26 +00:00
Pedro Alvarez
bca9ef2454
lib,rlc_am_nr: made mod_nr configurable
2021-12-07 16:46:26 +00:00
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.
2021-12-07 16:46:26 +00:00
Francisco
9a4a5345c4
nr,gnb,sched: improve sched sanity checks, and improve bwp_pdcch_allocator api
2021-12-07 12:30:39 +00:00
Ismael Gomez
9f1a1c297c
Merge pull request #3710 from softwareradiosystems/feature_nr_sa_igm
...
Initial version of UE NR SA
2021-12-03 19:54:20 +01:00
Ismael Gomez
3c929ed24c
ue,sa: Sends PRACH and receives RAR, then Msg4, resolves contention resolution and pushes ConnectionSetup to RRC
2021-12-01 22:36:10 +01:00
Francisco
11b4a572a0
nr,gnb,rrc&ngap: implementation of NGAP UE Context Release Request and RRC Release for the case RRC_CONNECTED->RRC_IDLE
2021-12-01 18:54:33 +00:00
Ismael Gomez
46f4be458a
ue,sa: can sync and receive pbch successfully
2021-12-01 10:18:27 +01:00
Ismael Gomez
219bae4fd3
srsue,sa: dummy rrc_nr to initiate dummy cell_select and phy_cfg
2021-11-30 14:45:26 +01:00
Ismael Gomez
c71ab70b83
Completed basic sync module with bypass camping. Removed ue_phy_nr and ue_phy_lte base classes
2021-11-30 14:45:26 +01:00
Ismael Gomez
6947f87bcb
Add minimum NR SA logic in parent PHY class
2021-11-30 14:45:26 +01:00
Ismael Gomez
fb897d2998
Refactor PHY interfaces to remove difference between SA and NSA PHY
2021-11-30 14:45:26 +01:00
Ismael Gomez
58ab8086ff
Added multi gNb simulation and RF
2021-11-30 14:45:26 +01:00
Xavier Arteaga
f5446422bc
UE NR SA interface expects PBCH message instead of spare fields
2021-11-30 14:45:26 +01:00
Xavier Arteaga
fb17e3326f
More development in UE NR SA cell search
2021-11-30 14:45:26 +01:00
Xavier Arteaga
b1bcc1a8c0
Initial UE NR SA PHY classes
2021-11-30 14:45:26 +01:00
dvdgrgrtt
32c4da8db0
Fix typos
2021-11-29 15:25:34 +01:00
dvdgrgrtt
bae6f13c89
Introduce function srsran_vec_sc_sum_fff
...
This function adds a float scalar to all elements of a float vector.
2021-11-29 15:25:34 +01:00