# lteSLMIB

Sidelink master information block encoding and decoding

## Syntax

``mibslout = lteSLMIB(ue)``
``ueout = lteSLMIB(mibsl)``
``ueout = lteSLMIB(mibsl,ue)``

## Description

example

````mibslout = lteSLMIB(ue)` returns the encoded sidelink MasterInformationBlock-SL (MIB-SL) RRC message bits for the specified UE settings structure.For more information, see MasterInformationBlock-SL Message Processing.```

example

````ueout = lteSLMIB(mibsl)` performs the inverse processing of the preceding syntax, returning a UE parameter structure after decoding the input MasterInformationBlock-SL message bits. ```

example

````ueout = lteSLMIB(mibsl,ue)` returns the UE settings structure, updating any fields contained in the input UE parameter structure with values decoded from `mibsl`.```

## Examples

collapse all

Create the 40-bit MIB-SL associated with the parameter values to be carried on the message.

Initialize a UE-specific configuration structure with 10 MHz bandwidth for TDD.

```ue.NSLRB = 50; ue.DuplexMode = 'TDD'; ue.TDDConfig = 6; ue.NFrame = 5; ue.NSubframe = 1; ue.InCoverage = 1;```

Generate the 40-bit MIB-SL message using the `ue` structure.

`mibsl = lteSLMIB(ue);`

Decode the 40-bit MIB-SL message, creating a received parameter structure from the message.

Initialize a UE-specific configuration structure with 5 MHz bandwidth for TDD.

```ue.NSLRB = 25; ue.DuplexMode = 'TDD'; ue.TDDConfig = 6; ue.NFrame = 5; ue.NSubframe = 1; ue.InCoverage = 1```
```ue = struct with fields: NSLRB: 25 DuplexMode: 'TDD' TDDConfig: 6 NFrame: 5 NSubframe: 1 InCoverage: 1 ```

Generate the 40-bit MIB-SL message using the `ue` structure.

`mibsl = lteSLMIB(ue);`

Convert the MIB-SL bit vector back into a parameter set. Compare this parameter set with the transmission set.

`rxparams = lteSLMIB(mibsl)`
```rxparams = struct with fields: NSLRB: 25 DuplexMode: 'TDD' TDDConfig: 6 NFrame: 5 NSubframe: 1 InCoverage: 1 ```
`isequal(rxparams,ue)`
```ans = logical 1 ```

Update UE-specific parameter configuration structure settings using the 40-bit MIB-SL message. Encode an MIB-SL message based on one ue structure parameter set.

Encode an MIB-SL message from one UE-specific configuration

Initialize a UE-specific configuration structure with 5 MHz bandwidth for TDD. Encode a 40-bit MIB-SL message using the `ue1` structure.

```ue1.NSLRB = 25; ue1.DuplexMode = 'TDD'; ue1.TDDConfig = 6; ue1.NFrame = 5; ue1.NSubframe = 1; ue1.InCoverage = 1; mibsl = lteSLMIB(ue1);```

Create a second UE-specific configuration

Initialize a second UE-specific configuration structure with a different configuration. Compare `ue2` with `ue1`.

```ue2.NSLRB = 75; ue2.DuplexMode = 'TDD'; ue2.TDDConfig = 2; ue2.NFrame = 2; ue2.NSubframe = 2; ue2.InCoverage = 0; isequal(ue2,ue1)```
```ans = logical 0 ```

Update the second UE-specific configuration based on the MIB-SL message

Using `mibsl`, update the settings in `ue2` to match `ue1`. Compare `ue2` with `ue1`.

```ue2 = lteSLMIB(mibsl,ue2); isequal(ue2,ue1)```
```ans = logical 1 ```

## Input Arguments

collapse all

User equipment settings, specified as a parameter structure containing these fields:

Number of sidelink resource blocks, specified as an integer scalar from 6 to 110.

Example: `6`, which corresponds to a channel bandwidth of 1.4 MHz.

Data Types: `double`

Duplexing mode, specified as `'FDD'` or `'TDD'`.

Data Types: `char` | `string`

Uplink or downlink configuration, specified as an integer from 0 to 6. (tdd-ConfigSL-r12)

`TDDConfig` is applicable for TDD duplex mode only.

Data Types: `double`

Direct frame number, specified as a nonnegative integer. (directFrameNumber-r12)

Data Types: `double`

Direct subframe number, specified as a nonnegative integer. (directSubframeNumber-r12)

Data Types: `double`

Indicates whether the UE transmitting the MIB-SL is in E-UTRAN coverage, specified as 0 (not in coverage) or 1 (in coverage). (inCoverage-r12).

Data Types: `double`

Data Types: `struct`

MIB-SL message bit sequence, specified as a 40-bit column vector.

Data Types: `double` | `int8` | `logical`

## Output Arguments

collapse all

MIB-SL message bit sequence, returned as a 40-bit column vector.

Data Types: `int8`

User equipment settings, returned as a parameter structure containing these fields:

Number of sidelink resource blocks, returned as an integer from the set {0, 6, 15, 25, 50, 75, 100}. (${N}_{\text{RB}}^{\text{SL}}$)

Data Types: `int32`

Duplexing mode, returned as `'FDD'` or `'TDD'`.

Data Types: `char`

Uplink or downlink configuration, returned as an integer from 0 to 6. (tdd-ConfigSL-r12)

`TDDConfig` is applicable for TDD duplex mode only.

Data Types: `int32`

Direct frame number, returned as a nonnegative integer. (directFrameNumber-r12)

Data Types: `int32`

Direct subframe number, returned as a nonnegative integer. (directSubframeNumber-r12)

Data Types: `int32`

Indicates when UE is in E-UTRAN coverage, returned as 0 or 1. (inCoverage-r12) The UE transmitting the MasterInformationBlock-SL is:

Data Types: `int32`

Data Types: `struct`

collapse all

### MasterInformationBlock-SL Message Processing

The MasterInformationBlock-SL (MIB-SL) message is a 40 bits long and defined in TS 36.331 [1], Section 6.5.2. The message is sent from UE to UE on the PC5 interface via the SL-BCH transport channel on the SBCCH logical channel. MIB-SL contains sl-Bandwidth-r12, tdd-ConfigSL-r12, directFrameNumber-r12, directSubframeNumber-r12, inCoverage-r12, and 19 bits reserved for future.

• When encoding theMIB-SL message:

• If `NSLRB` is not one of the set {6,15,25,50,75,100}, then all ones are inserted into the first three bits (sl-Bandwidth-r12 bit field) of the master information block message.

• When decoding the MIB-SL message:

• If the first three bits (sl-Bandwidth-r12 bit field) of the input MIB-SL message do not contain the equivalent of a decimal from 0 to 5 (MSB first, corresponding to the PRB set {6,15,25,50,75, 100}) then NSLRB is returned as 0.

• If the input MIB-SL messages are not 40 bits, the messages are either truncated to 40 elements or zero padded as needed.

## References

[1] 3GPP TS 36.331. “Evolved Universal Terrestrial Radio Access (E-UTRA); Radio Resource Control (RRC); Protocol specification.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.

Introduced in R2016b