56 Commits
Author SHA1 Message Date
Raghavendra Dinavahi f9a8898e20 UE: Epoch time handling of Target cell
In case of Handover, NTNconfig sent in RRCreconfiguration triggering handover contains epoch time wrt
timing of Target cell. NTNconfig in RRC needs to be processed only after timing is acquired on the target cell
In case of Target cell, epoch time is the sfn nearest to the frame timing of the target cell.
2025-11-17 15:53:23 +01:00
Raghavendra Dinavahi 40fae6136c Added the check for non-NTN bands 2025-10-30 16:53:07 +01:00
Raghavendra Dinavahi 69f391f2b8 Fix for the ULDLduplex issue for NTN bands
Duplex is assumed to be static but for NTN bands, it is not static.
TxRX Duplex is defined in section 5.4.4 of 38.101-5 (for NTN) specs v1809
n256 190 MHz, 165 to 215 MHz
n255 -101.5 MHz, -72.5 to -130.5 MHz
n254 862 - 885 MHz
2025-10-30 15:34:00 +01:00
Raghavendra Dinavahi 7877e38890 UE changes: Handle T430 expiry in RRC, MAC
SPEC 38.331 section 5.2.2.6
Inform MAC that UL SYNC got lost because of T430 expiry
- Send message NR_MAC_RRC_CONFIG_RESET with cause UL_SYNC_LOST_T430_EXPIRY to MAC
Reacquire SIB19 after T430 expiry

This is not checked in this commit
- RACH needs to be performed through probably PDCCH order to reobtain UL-SYNC
- system usecase involving Recovery from T430 expiry not tested yet as that requires changes on gNB side.
2025-06-17 13:50:00 +02:00
Raghavendra Dinavahi 6fc02164c5 UE changes: Handling of ulsyncvalidityduration IE in sib19
Spec 38.331 section 5.2.2.4.21 indicates this
1> start or restart T430 for serving cell with the timer value set to ntn-UlSyncValidityDuration for the serving cell
from the subframe indicated by epochTime for the serving cell;
NOTE: UE should attempt to re-acquire SIB19 before the end of the duration indicated by ntn-UlSyncValidityDuration and epochTime

Epochtime IE
When explicitly provided through SIB, or through dedicated signaling, the EpochTime is the starting time of a DL
sub-frame, indicated by a SFN and a sub-frame number signaled together with the assistance information.
For serving cell, the field sfn indicates the current SFN or the next upcoming SFN after the frame where the message indicating the epochTime is received.
This field is mandatory present when ntn-Config is provided in dedicated configuration.

gNB implementation related to epochtime will be done in a separate merge request.
2025-06-17 13:49:55 +02:00
Raghavendra Dinavahi bc1844b482 Added in the Conf file for testing in CI, description updated 2025-05-23 17:26:47 +02:00
Raghavendra Dinavahi 61d5dd0094 GNB-Changes: Enabling ulsyncvalidityDuration timer in SIB19
ntn-UlSyncValidityDuration in SIB19 from Spec 38.331 v17.12
A validity duration configured by the network for assistance information which indicates the maximum time duration
(from epochTime) during which the UE can apply assistance information without having acquired new assistance information.
The unit of ntn-UlSyncValidityDuration is second. Value s5 corresponds to 5 s, value s10 indicate 10 s and so on.
ntn-UlSyncValidityDuration-r17 ENUMERATED{ s5, s10, s15, s20, s25, s30, s35,s40, s45, s50, s55, s60, s120, s180, s240, s900}
Implementation of epochtime is under discussion.

It can be configured in configuration file according to the above enumeration. For GEO - 240s, MEO - 20s, LEO-5s can be used.
2025-05-23 17:26:47 +02:00
Raghavendra Dinavahi bbcb31f64b Added description for do_SINR 2025-04-15 16:02:34 +02:00
Raghavendra Dinavahi 1666dced3e gNB changes- Extract SSB-SINR from received CSI report 2025-04-15 16:02:34 +02:00
Raghavendra Dinavahi 516a618816 UE changes- Generate SSB based SINR CSI report 2025-04-15 16:02:34 +02:00
Raghavendra Dinavahi 6e371b9e48 UE changes in PHY- Enable SSB based SINR measurement 2025-04-15 16:02:34 +02:00
Raghavendra Dinavahi 61778f3d55 gNB changes- Compute bitlen in case of SSB-SINR
compute SINR bitlen according to 38.212 table 6.3.1.1.2-6A
2025-04-15 16:02:34 +02:00
Raghavendra Dinavahi 2c164336bc gNB changes in RRC- Enable SSB-SINR based CSI reporting
3GPP 38.331 release 16 specifies that If the field reportQuantity-r16 is present, UE shall ignore reportQuantity (without suffix).
reportQuantity-r16 configures SSB based SINR as the reporting quantity.

set do_SINR = 1; in gNB params part of the config file to enable SSB based SINR reporting instead of the default RSRP based.
2025-04-15 16:02:34 +02:00
Raghavendra Dinavahi b141faaf30 K-offset updated with configured sub carrier spacing
According to 38.331 , cell specific K-OFFSET provided in SIB19 is provided in number of slots as per 15Khz SCS
Koffset before being applied, needs to be updated to the slots according to the configured subcarrier spacing.
2025-03-28 16:44:51 +01:00
Raghavendra Dinavahi 2a2ebfe80f Initialising dl,ul freq in psbchsim 2025-03-21 16:05:30 +01:00
Raghavendra Dinavahi 48c8d67393 Removed b66 NTN and enabled B254 NTN conf file in CI 2025-02-14 17:04:47 +00:00
Raghavendra Dinavahi 2b4ca7e47d cellbarredNTN indicates notbarred in SIB1 if NTN access is available
38.331 release 18  section 5.2.2.4.2 indicates that to access NTN, cellbarredNTN in SIB1 should be set to notbarred.
2025-02-14 17:04:47 +00:00
Raghavendra Dinavahi f267641bf9 Changes in function prepare_sim_uecap 2025-02-11 09:53:41 +01:00
Raghavendra Dinavahi 3e27175ac2 Added Support of 35Mhz,45Mhz,70Mhz Bandwidth for SCS 30Khz
Also added support for 35Mhz, 45Mhz bw for 15Khz Subcarrierspacing
Referred Spec TS 38.101 v18.6.0 section 5.3.2, table 5.3.2-1
2025-02-06 16:44:45 +01:00
Raghavendra Dinavahi db629e6b58 NTN FDD FR1 bands added
Added support for NTN FDD FR1 bands 254, 255, 256 as specified in 3GPP TS 38.101-5
Conf files added for 15Khz, 5Mhz and 30Khz, 10Mhz configurations added for these bands
2024-11-15 16:23:22 +01:00
Raghavendra Dinavahi 22dd82556d New tests for nr_pbchsim 2024-10-18 14:47:26 +02:00
Raghavendra Dinavahi 586a4b76f8 Update pbchsim to work with other numerologies 2024-10-15 17:26:03 +02:00
Raghavendra Dinavahi 1bf4ca7d97 fix for Other SI reception when BWP start != 0 2024-10-15 13:11:13 +02:00
Raghavendra Dinavahi 42ab4b4a0c fix for variable power in PDSCH REs
- correctly scale REs. Some REs have higher power during PDSCH RE-Mapping which is corrected.
	- Closes: Issue 811
2024-09-26 10:31:20 +02:00
Raghavendra Dinavahi 114ea60c42 removed nr_slot_fep_init_sync and used nr_slot_fep in UE 2024-09-25 09:50:34 +02:00
Raghavendra Dinavahi dfbedadd5f Use nr_slot_fep for sidelink, removed sl_nr_slot_fep 2024-09-18 17:17:19 +02:00
Raghavendra Dinavahi dafaea7dda enable HARQ32, Changes in UE
- num DL/UL harq processes, bits for harq id in DCIs, set according to IEs configured in RRC messages
	- removed going through all the harq processes before triggering nr_ue_ulsch_procedures in phy_procedures_nr_ue.c
	- did not remove usage of MAX_HARQ_PROCESSES in init phase
2024-08-08 09:30:43 +02:00
Raghavendra Dinavahi 9726a47fbb enable HARQ32, Changes in gNB
- Enabled configuration for number of dl, ul harq processes in conf file
		- set "num_dlharq = 32; num_ulharq = 32;" under "gNBs" section in the conf file
		- default values when not configured is 16 for DL, UL harq processes
		- IEs in the RRC messages set according to the number of DL, UL harq processes configured.
		- If value 32 is configured , then IEs related to num harq processes and dci bits also configured in Bandwidth parts.
2024-08-07 13:17:35 +02:00
Raghavendra Dinavahi e586efb29d enable HARQ32, Changes common to gNB and UE
- MAX HARQ PROCESSES set to 32
	- for PDSCH - default setting in OAI is 16, according to 3GPP rel17 38.331 these are the possible configs
		- if no IES are defined then 8
		- if nrofHARQ-ProcessesForPDSCH is defined then these values-  {n2, n4, n6, n10, n12, n16}
		- if nrofHARQ-ProcessesForPDSCH-v1700 is defined then 32
		- for harq bits in DCI
			- DCI 1_0 - 4 bits spec 38.212, section 7.3.1.2.1
			- DCI 1_1 - 4/5 bits according to IE harq-ProcessNumberSizeDCI-1-1, spec 38.212, section 7.3.1.2.2
	- for PUSCH - default setting in OAI is 16, according to 3GPP rel17 38.331 these are possible configs
                - if no IES are defined then 16
                - if nrofHARQ-ProcessesForPUSCH-v1700 is defined then 32
                - for harq bits in DCI
                        - DCI 0_0 - 4 bits spec 38.212, section 7.3.1.1.1
                        - DCI 0_1 - 4/5 bits according to IE harq-ProcessNumberSizeDCI-0-1, spec 38.212, section 7.3.1.1.2
	- FOR HARQ32 , DCI 1_1, DCI 0_1 should be configured in UE dedicated search space. In OAI it is set.
2024-08-06 17:12:48 +02:00
Raghavendra Dinavahi 95a8767383 Automatic update of USRP RX gain during initial search using --agc option
- if search fails, keeps increasing the rx gain (set by --ue-rxgain) by
  3 db until USRP max rx gain
- if initial sync is success, sets the rxgain to the value of
  (TARGET_RX_POWER (50) - pbch digital power in dB/RE)
2024-07-25 15:33:44 +02:00
Raghavendra Dinavahi 4c698bce2b rewrite ssb meas function to call from initial sync 2024-07-25 15:33:06 +02:00
Raghavendra Dinavahi 6fce492177 Correction of variable initialisation 2024-07-25 15:31:34 +02:00
Raghavendra Dinavahi 798ceeeef2 SL PSBCH: MAC->PHY cfg, PSBCH scheduler + supporting functions + enable system testing & scope
- Phy config update and Sidelink frame parameters initialisation
	- PSBCH scheduler to trigger TX PSBCH/RX PSBCH actions
	- Sidelink indication with rx ind to trigger send SL-MIB to MAC
	- Enable Scope for PSBCH use -d or --dqt
	- Enable system testing of PSBCH for example using RFSIMULATOR:

		- UE1 is a SYNCRONISATION SOURCE UE which transmits PSBCH

		  started using command -
		  sudo ./nr-uesoftmodem --sl-mode 2 --sync-ref 4 --rfsim --rfsimulator.serveraddr server

		- UE2 syncs onto UE1 during sidelink search, gets the timing and continues to receive PSBCH

		  started using command -
		  sudo ./nr-uesoftmodem --sl-mode 2 --rfsim --rfsimulator.serveraddr 127.0.0.1

		- In the default use case 2 Sidelink SSBs sent over 16 frames.

		- In case SL-SSB configuration needs to be changed use -O option in the above command like

		-O ../../../targets/PROJECTS/NR-SIDELINK/CONF/sidelink_preconfig_1txpool.conf
2024-06-21 09:40:16 +02:00
Raghavendra Dinavahi 94b23d1eb0 PSBCH RX TX and SLSS search procedures
- RX/TX Phy processing accg to 38.211, 38.212 Rel16
	- PSBCH simulator used to validate TX/RX phy processing
	- PSBCH SLSS Search procedures
	- PSBCH SIM also tests SLSS SEARCH
2024-04-12 16:07:00 +02:00
Raghavendra Dinavahi 4d411dbce3 Sidelink configuration passed from RRC->MAC, defined interface functions
- Phy configuration will be prepared by MAC
	- Sidelink preconfiguration parameters passed from RRC->MAC
	- Only 1 SSB TA allocation used
	- psbch payload prepared by MAC after receiving the tx slss req
2024-02-12 12:57:01 +01:00
Raghavendra Dinavahi 1b98628755 Changes 2023-07-23 10:36:16 +02:00
Raghavendra Dinavahi 238c2f5a35 Changes to the SL-Preconfig preparation 2023-07-19 10:54:51 +02:00
Raghavendra Dinavahi 4b51859b88 Enabling configuration files read for SL-Preconfig
- for example when running nr-uesoftmodem with sidelink
	  use "-O ../../../targets/PROJECTS/NR-SIDELINK/CONF/sidelink_preconfig_1rxpool_1txpool.conf"
2023-07-19 10:54:51 +02:00
Raghavendra Dinavahi daf8e3732f Preparation of NR Sidelink Pre-Configuration message 2023-07-19 10:54:51 +02:00
Raghavendra Dinavahi e459455115 Sidelink MAC-PHY interface definition
- Initial Draft of exchanges between MAC and Phy.
- For PSBCH, PSCCH and PSSCH
- based on 5G NR UE interface between MAC and PHY
2023-07-17 17:46:55 +02:00
Raghavendra Dinavahi 6d051b4229 Changes in ASN extraction PERL script 2021-08-03 14:27:11 +02:00
Raghavendra Dinavahi 7043f64da3 Fixes of compilation errors after ASN update 2021-08-03 14:27:11 +02:00
Raghavendra Dinavahi 2380646da0 Updated ASN to Spec 38.331 version 16.4.1 2021-08-03 14:27:11 +02:00
Raghavendra Dinavahi efb43528bc Channel estimation of all PUSCH dmrs symbols before compensation 2021-04-23 12:22:31 +02:00
Raghavendra Dinavahi 5edee9b546 Mapping type A enabled in PUSCH dmrs mask calculation
- Procedure get_l_prime is modified
	- Single and double symbol DMRS are handled in Type A and Type B
2021-04-23 10:33:56 +02:00
Raghavendra Dinavahi e658023ff5 Fix for the 16byte alignment issue observed during DMRS modulation.
Segmentation fault observed in case the address for mod_dmrs[dmrssymbol] is not 16byte aligned.
2021-04-23 10:33:56 +02:00
Raghavendra Dinavahi f3be3daa32 pusch_proc_threads=8 added to configuration files 2021-04-23 10:33:56 +02:00
Raghavendra Dinavahi fc1a7f7b8c Adjusting LocationBandwidth of initial BWP1 in configuration files.
LocationandBandwidth adjusted according to the location of SSB and Controlresourceset 0
For example for 106RBs configuration files -
	- AbsoluteFrequencySSB = 641032 = RB43 (1032/24) - points to Subcarrier 0 of RB10 of SSB block
	- Hence SSB is located from RB33-RB53
	- Coresetzero sent in MIB is 0 which means offset 0, RBsize 24 from Start of SSB according to table 13.4 in Spec 38.213
	- InitialBWP should start from RB 33 (offset is 0 from SSB) and should be a size of minimum 24 RBs.
	- SLIV = 275 * (24-1) + 33 = 6358
Controlresourceset value wrongly configured to 12 , changed to 0 as sent in MIB.
2021-04-23 10:33:56 +02:00
Raghavendra Dinavahi 5934e8e4ee Changes to Downlink DMRS MASK calculation
Procedure fill_dmrs_mask is modified.
	- PDSCH Mapping Type B is supported
	- Modified according to sections 5.1.6.2 of Spec 38.214
	- Single and double symbol DMRS are handled in Type A and Type B

Mapping type according to the time domain allocation from DCI should be used to get the values of DMRS config
For sending sib1 - DCI FORMAT 1_0 will be used with SI_RNTI, UE should perform these actions
according to sections 5.1.6.2 of Spec 38.214

Additional DMRS set to pos2 in case of msg2 reception, msg3 transmission.

Mapping type B is added to RRC reconfig.
	- nr_dlsim updated to test typeA and typeB. Verified the changes.
	- RFSIM Validation of PDSCH Mapping TypeB  by changing timedomainallocation in configuration files.
2021-04-23 10:33:56 +02:00
dir cfebcd19bd Corrections to 217RBs, 273RB configuration files. RFSIM works with these changes 2021-02-09 17:32:51 +02:00
dir d2aa132616 Msg3_transformprecoder value initialised to TRANSFORM PRECODING DISABLED 2021-02-09 15:16:40 +02:00
dir 3efdb2775e NR SCFDMA changes for higher RB sizes (RB Sizes until 100Mhz) 2021-02-09 11:07:53 +01:00
dir 82d40a654c Transform precoding related changes 2021-02-02 13:19:42 +01:00
dir c5bce98b48 RRC, MAC changes to enable RFSIM testing of feature transform precoding.
- Enable -Z option to test Transform precoding on ULSIM.
- Set msg3_transformPrecoder to 0 in uplinkcommonconfig params in conf file to test on RFSIM.
2020-12-21 16:10:27 +02:00
dir a17f00784c NR_SC_FDMA changes
- CDM groups used, multiple DMRS locations tested
- REMOVED compiler define NR_SC_FDMA
- enabled -Z option in ulsim for testing NR SC-FDMA
- Gnb UL Processing of LLRS even if last symbol allocated has no data
- transform precoding Enumerations used
2020-12-21 14:01:59 +02:00
dir 6b8ffb43c1 fix DFT bug identified by Laurent Thomas 2020-12-21 14:01:59 +02:00