4789 Commits (b8006534f0364528ffc40176e3d0e61f536b366b)

Author SHA1 Message Date
Pedro Alvarez c8d15135c6 lib,rlc_am_nr: addressing reveier comments:
* made some methods const
  * changed from TESTASSERT to TESTASSERT_EQ
  * fix up comment
  * removed superfulous if
  * used typedef for list of segments received
  * added unit test for is_retx_required()
  * added unit test for malformed status PDU
3 years ago
Pedro Alvarez c47be649f4 lib,rlc_am_nr: added assert to double check nof_bytes before memcopying into the payload on build_retx_pdu_without_segmentation() 3 years ago
Pedro Alvarez 871142b722 lib,rlc_am_nr: fix up the last metric checks in the retx_segment_test() 3 years ago
Pedro Alvarez 634c9ea3af lib,rlc_am_nr: starting to order segments to be able to receive them out-of-order 3 years ago
Pedro Alvarez 3b9ad84bda lib,rlc_am_nr: fix checking some statistics in unit test 3 years ago
Pedro Alvarez 832d650574 lib,rlc_am_nr: remove unused variables. Fixed up some comments. 3 years ago
Pedro Alvarez 9bb3b1f18f lib,rlc_am_nr: remove unused code after re-factor 3 years ago
Pedro Alvarez 4bbbc8ffde lib,rlc_am_nr: fixed incorrectly adding to many segments when receiving a status report with an SO. 3 years ago
Pedro Alvarez 5e8b7b5ebe lib,rlc_am_nr: re-factored code for retx'ing with and without segmentation. 3 years ago
Pedro Alvarez 8c53c74c86 lib,rlc_am_nr: fix ptr increment when there is no SO when writting status report without SO. 3 years ago
Pedro Alvarez 525d2db454 lib,rlc_am_nr: re-enable all tests 3 years ago
Pedro Alvarez b13d0ca84a lib,rlc_am_nr: fixed generation of status report when SOs are present. Starting to test retx of segments. 3 years ago
Pedro Alvarez 876c45c534 lib,rlc_am_nr: added ability to pack/unpack SO_start and SO_end to rlc am nr NACKs. Added unit test for this feature. 3 years ago
Pedro Alvarez 047831e178 lib,rlc_am_nr: fixup compilation of rlc_am_nr_pdu_test when saving pcaps 3 years ago
Pedro Alvarez 12e530a800 lib,rlc_am_nr: fix generation of status report when NACKs of lost SDU segments are present. 3 years ago
Pedro Alvarez 7206517846 lib,rlc_am_nr: starting to add unit test for retx'ing segments. Fixed issue in updating tx_next when segmenting the SDU. 3 years ago
Pedro Alvarez 801eddf899 lib,rlc_am_nr: fix up test regarding retx segmentation 3 years ago
Pedro Alvarez 38e4c47f34 lib,rlc_am_nr: added current SO to keep track of the SO for the next RETX. 3 years ago
Pedro Alvarez 5fa72b2b3d lib,rlc_am_nr: fix creation of retx segement from existing segment. 3 years ago
Pedro Alvarez 65d5df8b6e lib,rlc_am_nr: Continue to add functionality to provide segments of retx'es. Started to add function to re-segment already existing SDU segment 3 years ago
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
Xavier Arteaga 8140e62a7f GNB-PHY: fix max PUSCH LDPC iterations 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
dvdgrgrtt 01ef334a24 lib,phy: Fix thresholds in Viterbi test
Under the NEON architecture, one of the BER thresholds was too tight.
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
Andre Puschmann 21c3a448b7 mac_sch_pdu_nr: fix UL-CCCH packing
fix MAC PDU packing issue for UL-CCCH that uses
only 6 B SDU. If the SDU fits inside 6 B, the LCID
for Msg3 should be set to be CCCH48 instead of CCCH64.
3 years ago
Francisco Paisana c0dda2958c rrc,gnb: fix search space NSA config 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
Andre Puschmann 26f3f6109b gw,pdcp,rlc,mac: log rate metrics in debug mode
reduce periodic log spam for L2 in info level
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
Pedro Alvarez 986e0fc273 gnb,rlc_am_nr: fix generation of default AM NR configs 3 years ago
Andre Puschmann 10aabe8763 rrc_nr_utils: set search space type for RA to type1 3 years ago
Robert Falkenberg 03bab82cd8 zmq: apply tx_gain to transmitted signal
This feature was temporary disabled in 497e183487
3 years ago
Francisco 425b956ef1 revert hacky asn1 compilation fix related with default dtors 3 years ago
Robert Falkenberg 6b79116805 rf_file: close tx/rx files properly
Previously tests were failing on some machines, because
receiver was unable to receive the last few samples from file.
Reason: the transmitter did not close  the file properly, so
the last samples were (sometimes) not yet flushed to disk.
3 years ago
Robert Falkenberg c26f2b2041 rf_file: fix check for number of channels and cleanup after test 3 years ago
Robert Falkenberg f3d144dd59 filerf: add tx, multi-channel, open via device string and test
This commits extends the file-based RF device as follows:

* open device via device string
* add tx to file
* add multi-channel support (multiple files)
* add rf_file_test.c to for testing
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 a630889d44 Fix AWGN in NR PUSCH performance test
Fix needed after modifying AWGN API.
3 years ago
dvdgrgrtt 3e85c3bed0 Improve coding style 3 years ago
dvdgrgrtt 69a7519cb7 Modify pusch_nr_bler_test user interface
The maximum number of simulated transport blocks is now a CLI parameter.
3 years ago
dvdgrgrtt b00b260605 Use copyright as file header 3 years ago
dvdgrgrtt bb767814fa Fix minor typo 3 years ago
dvdgrgrtt 442f95ee8b Document PUSCH NR BLER test 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
dvdgrgrtt 63899ef4bc Improve PUSCH NR BLER test output
When full BLER is enabled, the code also outputs false alarm and missed
detection probabilities.
3 years ago
dvdgrgrtt 6b0a3669cf Provide PUSCH BLER test
The new test measures BLER and received throughput for the PUSCH. For
now, only AWGN channel and perfect equalization are considered.
3 years ago
dvdgrgrtt 3fad800ef6 Fix various typos and minor issues
Some typos in the comments/error messages.
A couple of minor bugs (should not have any impact in the performance).
3 years ago
dvdgrgrtt 1390eeea88 sch_nr: Fix CRC-related bug
CRC failure was not reported correctly when the TB consists of a single
block.
3 years ago
Andre Puschmann c3596cc684 ue_nas_interfaces.h: set default APN type to ipv4 3 years ago
Robert Falkenberg cceae68958 zmq: extend test to 4 trx, w/wo decimation 3 years ago
Robert Falkenberg b4bbbc902a zmq: fix scaling of samples when decimation is applied 3 years ago
Xavier Arteaga fbf178e958 Decrease PBCH-DMRS threshold to pass test 3 years ago
dvdgrgrtt cac62e01e0 Improve coding style 3 years ago
dvdgrgrtt 2df371fdd6 Provide PRACH NR performance test 3 years ago
Xavier Arteaga e3f8b75652 SSB search uses correlation power to normalise 3 years ago
Xavier Arteaga 569f5c1a6f Protect input buffer SSB demodulation in search/find and skip PBCH decoding if PBCH DMRS correlation does not reach threshold 3 years ago
Xavier Arteaga aea7a11e53 Fix SKIQ compilation with gcc-11 3 years ago
Carlo Galiotto d5859fb60b rrc-nr: remove comments/dead code
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto fe6500bd55 rrc: copy PUCCH cnf from RRCSetup to PHY structs
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto 362abfe3c9 rrc-nr: add conversion for pucch_cfg
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto a53e7c9673 TMP WIP
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto 49e01584ac rrc-nr: fix rebase issue
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Francisco Paisana 378e14826e rrc,nr: fix conversion of csi meas cfg to phy cfg flat struct 3 years ago
Xavier Arteaga 256bba0fd3 Handle NAN in NR PBCH reception and add unit test case 3 years ago
Bedran Karakoc 70084cf9cc Added unit test for K_gnb derivation 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 b25814de27 sched,nr: fix failing sched test due to misconfiguration 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
Andre Puschmann aaceb029eb rlc_am_lte: fix wrong fmt string 3 years ago
dvdgrgrtt c9beba6f36 Use srsran_convert_dB_to_power
Instead of computing power using the power function.
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 92a13294b2 rrc_nr_utils: set RAT for PDCP config for SRB to NR 3 years ago
Andre Puschmann 99c2d16c1b ue_nr_interface: include SRB ARFCN in cell search result 3 years ago
Andre Puschmann ee8d334aaa phy,nr: logging fix for PDCCH 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 00a60dbb97 lib,rlc: removed duplicate rb_name in logs of rlc_am_base and rlc_tm 3 years ago
Pedro Alvarez 87607a4ea7 lib,rlc: changed RLC UM NR to use new logging macros 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 b46c5423f0 lib,rlc: make sure TM rb name is initialized. changed rlc_um_lte to use new logging macros 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
Alejandro Leal 74d847efe9 Removed unneeded libraries in the test as srsran_phy already includes
srsran_phy_common
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 65255ecb4e Unpack MIB to update MIB 3 years ago
Xavier Arteaga c88774a3f4 Fix UE SYNC NR CFO feedback and periodicity 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
sauka d5040540fb use NR type1 RIV function helper 3 years ago
sauka 9b24867bc4 set SCH configuration only for non SI-RNTI case. Fix formatting 3 years ago
sauka 870c3ab8c5 update TV, enable ue_dl_nr_file_test for c-rnti case
Cell:
nr_arfcn=368500 ul_nr_arfcn=349500 pci=500 mode=FDD rat=nr n_rb_dl=52 n_rb_ul=52 dl_mu=0 ul_mu=0 ssb_mu=0 ssb_arfcn=368410 ssb_prb=13:21 k_ssb=6 coreset0_prb=1:48 coreset0_idx=6

coreset1:
11:49:15.018 [PHY] DL 0001 01 0100   718.1 PDCCH: ss_id=1 cce_index=0 al=4 dci=1_0
	rb_alloc=0x5f
	time_domain_rsc=0
	vrb_to_prb_map=0
	mcs=10
	ndi=1
	rv_idx=0
	harq_process=0
	dai=0
	tpc_command=1
	pucch_rsc=0
	harq_feedback_timing=3
	dci_len=39
11:49:15.018 [PHY] DL 0001 01 0100   718.1 PDSCH: harq=0 prb=1:48 symb=1:13 k1=4 CW0: tb_len=960 mod=4 rv_idx=0 cr=0.33 retx=0
        0000:  43 03 bd c0 05 00 59 09  47 7e 29 e5 43 3d b6 2b  C.....Y.G~).C=.+
        0010:  e3 ed a1 43 3a 53 f2 23  d4 8b 23 a0 c9 5d ec 23  ...C:S.#..#..].#
        0020:  47 80 2b 64 0d f6 2a 11  bc 76 ed 0c 72 6a 7e c5  G.+d..*..v..rj~.
        0030:  4c 14 80 56 86 69 bf 27  60 9d 0b fd 23 22 4b d1  L..V.i.'`...#"K.
        0040:  45 a4 01 b0 50 f7 02 e2  3a ac 16 b3 b3 b8 e0 09  E...P...:.......
        ...
        0380:  f2 fa 54 f3 4e 3f 14 54  38 73 ab 4e bb d7 41 76  ..T.N?.T8s.N..Av
        0390:  47 19 31 b0 86 fb 7f 9f  1d 93 91 69 66 b8 ae 91  G.1........if...
        03a0:  8f 1e 4b 03 9e 7d 03 ae  93 77 a8 81 0a 8f 44 8b  ..K..}...w....D.
        03b0:  87 cf 76 59 11 1f 31 7d  aa 01 e3 9c 26 07 33 57  ..vY..1}....&.3W
3 years ago
sauka b9fb65e301 extend ue_dl_nr_filetest to specify PDSCH allocation in time-domain, add option to enable interleaved pdcch 3 years ago
Ismael Gomez e1313cce74 sidekiq: update cur_rx_gain_db inside card sub-module 3 years ago
Ismael Gomez fd2eef132d sidekiq: configure RFIC rx_gain with user values instead of using calibrated rx_gain offsets 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 c494a84738 Fix ue_sync_nr_test 3 years ago
Xavier Arteaga 5e8e4b90c1 Fix memory access in SSB search and measure 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 9e4e75bfda Parametrize UE SYNC NR test 3 years ago
Xavier Arteaga 5b744bb6c5 Increase SSB detection frequency range 3 years ago
Xavier Arteaga d4fd4c8350 Fix deadlock 3 years ago
Xavier Arteaga a5130673f6 More cell search development 3 years ago
Francisco b616207ef0 asn1: remove extra copy and template instantiation in unpacking of IE Containers 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
yagoda 615ae98a9d fixing regression bug - adding bsr_callback to mrb 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 e9a47ef7b1 lib,rlc_am_nr: added assert to make sure we never write over nof_bytes 3 years ago
Pedro Alvarez 33735852a4 lib,rlc_am_nr: remove unecessary ternary operator. 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 19268281c8 lib,rlc_am_nr: reduced logging level of some messages to debug. 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