The purpose of the post is to specify the PIB attributes for configuring a particular OCC PHY mode. Any OCC PHY mode is co-existing with the others and recognizable by a specific receiver once the PIBs are specified.
The configuration of PHY-PIB attributes is software-defined (App-based). Without using PHY-frame overhead, the App-based configuration is communication efficient and reliable.
Herein, the App-based OCC PHY configuration mechanism shall include
- The general description of the PHY-reconfiguration method
- The device architecture
- Specification of PHY PIB attributes within IEEE 802.15.7m standard for OCC
Note that: The App-based configuration has been already approved by IEEE 802.15.7m TG committee.
This post explains the configuration based on IEEE 802.15.7m draft D4 standard.
Why we need App-based configuration for OCC PHY?
There are many modulation schemes available for OCC. A particular Rx must know which modulation is used at Tx for the demodulation.
Thus, the configuration of PHY for Tx being recognizable by Rx is indispensable. Especially, when the PHY frame does not contain PHY header due to the forbidden of overhead in OCC modes. The configuration of modulation schemes is software-based, or app-based, called App-based PHY configuration.
General Description
It has been known that the configuration of the physical layer data unit (PPDU) frame format is typically done via the transmission of PHY header subfield within the PPDU. Such that over-the-air configuration seems to be intolerant for OCC modes operating at data rates as low as 10kbps or much lower rate. Indeed, the current OCC PHY modes in the IEEE 802.15.7m (TG7m) draft standard operating at the bit rate ranging from tens-of-bps to Mbps. As a consequence, the TG7m committee has discussed and introduced a brand-new configuration of PHY modes without the need of PHY headers.
The PPDU configuration, such as frame size modulation and coding choice, and optical clock rate, etc., shall be performed via PHY-layer personal area network information-based (PIB) attributes. In the other word, the arrangement of configurable PPDU related parameters is APP-based; in an example, when a smartphone user downloads the app, it has to accompany PIB-values to let the camera know how to demodulate the light waveform. This paradigm has been approved by the TG7m committee, and the following screen modulations are adhered to accordingly.
The overall architecture for VPAN is illustrated as in Figure 2.
The discussion issue is about the configuration manner of an operating mode among multiple given modes, particularly PPDU frame format without the over-the-air transmission of PHY headers. This means the App-based device should be able to know the proper PPDU format for its decoding. Imagine when the user downloads the software app at a shopping mall, it contains all the necessary information including the type of PPDU format used at the shopping mall. Accordingly, the information for the communication mode can pass to the PHY/MAC layer (particularly to PHY/MAC PIB for the configuration) via the device management entity (DME).
The PHY-layer personal area network information-based (PHY PIB) attributes are within the physical-layer management entity (PLME), see Figure 101. The manner to use (GET and SET values) PHY-PIB-attributes is described in section 9.2. PHY Management service of the IEEE 802.15.7-2011.
New PHY PIB Attributes for OCC
The PHY or MAC PIB comprises the attributes required to manage the PHY or the MAC of a device. Each of these PHY PIB attributes can be read using the PLME-GET.request, or written using PLME-SET.request primitives, respectively.
Necessary PHY PIBs for the configuration of PPDU formats for each PHY operating modes with suggested values are introduced as follows.
Table 1 – Overall PHY PIB attributes (Part of IEEE 802.18.7m)
Attribute | Ident. | Type | Range | Description |
phyCurrentChannel | 0x00 | Integer | Existing in IEEE 802.15.7-2011 std. | |
phyCCAMode | 0x01 | Octet | Existing in IEEE 802.15.7-2011 std. | |
phyDim | 0x02 | Integer | Existing in IEEE 802.15.7-2011 std. | |
phyUseExtendedMode | 0x03 | Integer | Existing in IEEE 802.15.7-2011 std. | |
phyColorFunction | 0x04 | – | Existing in IEEE 802.15.7-2011 std. | |
phyBlinkingNotification- Frequency | 0x05 | Integer | Existing in IEEE 802.15.7-2011 std. | |
phyOccEnable | 0x06 | Boolean | 0/1 | This attribute enables the PHY modes for OCC. 0: PHY I, II, and III 1: PHY IV, V, and VI. |
phyOccMcsID | 0x07 | Integer | 0-15 | This attribute identifies the OCC modulation when phyOccEnable =1. The proper values for the modulation and coding identification of OCC modes are described in Table 20. |
phyOccPSDULength | 0x08 | Integer | 0x0-0xffff | This is to specify the length PSDU in bit. |
Table 2 – OCC PHY modes identification (Part of IEEE 802.18.7m)
phyOccMcsID | PHY OCC mode Description |
0 | UFSOOK |
1 | Twinkle VPPM |
2 | S2-PSK |
3 | HS-PSK |
4 | Offset-VPPM |
5 | RS-FSK |
6 | CM-FSK |
7 | C-OOK |
8 | MPM |
9 | A-QL |
10 | HA-QL |
11 | VTASC |
12 | IDE |
13-15 | Reserved |
//The Bold text in Table 2 indicate that I can provide you the open source implementation for your evaluation. I will invite some colleagues for helping me publishing more open source in a near future.
Table 3 – PHY PIB attributes for S2-PSK mode (Part of IEEE 802.18.7m)
Attribute | Ident. | Type | Range | Description |
phyS2pskOpticalClockRate | 0x09 | Integer | 0-15 | The optical clock rate (or symbol rate) applied for S2-PSK. 0: 5 Hz 1: 10 Hz 2: 15 Hz 3-15: Reserved |
phyS2pskLineCode | 0x0a | Integer | 0-7 | This specifies the line coding for S2-PSK. 0: None 1: half rate line coding 2-7: Reserved
|
phyS2pskFec | 0x0b | Integer | 0-7 | This attribute specifies FEC for S2-PSK. 0: None 1: RS(15,11) 2-7: Reserved |
phyS2pskNumLightSources | 0x0c | Integer | 0-3 | The number of light sources used to modulate S2-PSK signal. 0: two light sources 1-3: Reserved |
phyS2pskModulationRate | 0x0d | Integer | 0-7 | This attribute specifies the modulation frequency used for S2-PSK. 0: 200 Hz 1: 1000 Hz 2-7: Reserved |
Table 4 – PHY PIB attributes for HS-PSK mode (Part of IEEE 802.18.7m)
Attribute | Ident. | Type | Range | Description |
phyHspskOpticalClockRate | 0x0e | Integer | 0-15 | The optical clock rate (or symbol rate) applied for HS-PSK. 0: 10 kHz 1: 50 kHz 2-15: Reserved |
phyHspskLineCode | 0x0f | Integer | 0-7 | This specifies the line coding for HS-PSK 0: None 1: half-rate code for S2-PSK, none for DS8-PSK 2-7: Reserved |
phyHspskFec | 0x10 | Integer | 0-7 | This attribute specifies FEC for HS-PSK modulation. 0: None for both S2-PSK and DS8-PSK 1: None for S2-PSK, RS (15, 11) for DS8-PSK 2: RS(15,11) for S2-PSK, RS (15, 7) for DS8-PSK 3-7: Reserved |
phyHSpskNumLightSources | 0x011 | Integer | 0-7 | The number of light sources used to modulate HS-PSK signal. 0: two light sources, each consists of 8 LEDs. 1-7: Reserved |
phyHSpskHighStreamMode | 0x012 | Integer | 0-7 | The modulation of high data stream. 0: DS8-PSK mode 1-7: Reserved |
phyHSpskModulationRate | 0x013 | Integer | 0-7 | This attribute specifies the modulation frequency used for S2-PSK and DSM-PSK of HS-PSK. 0: 200Hz for S2-PSK and 80 kHz for DS8-PSK 1: 1 kHz for S2-PSK and 400 kHz for DS8-PSK 2-7: Reserved |
phyHSpskLowDim | 0x014 | Integer | 0-500 | This attribute specifies the low dimming level of DS8-PSK. |
phyHSpskHighDim | 0x15 | Integer | 500-1000 | This attribute specifies the high dimming level of DS8-PSK. |
Table 5 – PHY PIB attributes for A-QL mode (Part of IEEE 802.18.7m)
Attribute | Ident. | Type | Range | Description |
phyAqlOpticalClockRate | 0x47 | Integer | 0-15 | The optical clock rate (or symbol rate) applied for A-QL mode. 0: 5 Hz 1: 10 Hz 2: 15 Hz 3-15: Reserved |
phyAqlFec | 0x48 | Integer | 0-7 | This attribute specifies FEC in case of A-QL modulation, 0: None 1: CC(1/4) as inner FEC 2: CC(1/3) as inner FEC; RS(15,11) as outer FEC 3: CC(1/4) as inner FEC; RS(15,7) as outer FEC 4-7: Reserved |
phyAqlNumCells | 0x49 | Integer | 0-7 | The number of individual cells in Tx in A-QL mode. 0: 16×16 cells 1-7: Reserved |
phyAqlCellSize | 0x4a | Integer | 0-1000 | This attribute specifies the size of cells (in pixels) to generate the A-QL code. |
phyAqlBolderSize | 0x4b | Integer | 0-2 | This attribute specifies the ratio between the size of the bolder and the size of the cell. |
phyAqlNumCellReference | 0x4c | Integer | 0-3 | The number of cells per each of four reference corners in A-QL mode. 0: 1 cell reference 1: 2×2 cell reference 2-3: Reserved |
phyAqlColorSelection | 0x4d | Integer | 0-15 | The selection of color bands used in A-QL mode. 0: Grey mapping 1-9: a valid combination of colors available in Table 2. |
Table 6 – PHY PIB attributes for HA-QL mode (Part of IEEE 802.18.7m)
Attribute | Ident. | Type | Range | Description |
phyHAqlOpticalClockRate | 0x4e | Integer | 0-15 | The optical clock rate (or symbol rate) applied for HA-QL 0: 5 Hz 1: 10 Hz 2: 15 Hz 5-15: Reserved |
phyHAqlLineCode | 0x4f | Integer | 0-7 | In case of HA-QL modulation, the RLL coding is 0: None 1: half-rate code 3-7: Reserved |
phyHAqlFec | 0x50 | Integer | 0-7 | This attribute specifies FEC for HA-QL modulation, 0: None 1: CC(1/3) as inner FEC; RS(15,11) as outer FEC 2: CC(1/4) as inner FEC; RS(15,7) as outer FEC 3-7: Reserved |
phyHAqlNumCells | 0x51 | Integer | 0-7 | The number of individual cells in Tx in HA-QL mode. 0: 8×8 cells 1: 16×16 cells 2-7: Reserved |
phyHAqlNumCellReference | 0x52 | Integer | 0-3 | The number of cells per each of four reference corners in HA-QL mode. 0: 1 cell reference 1: 2×2 cell reference 2-3: Reserved |
phyHAqlAb | 0x53 | Integer | 0-7 | This attribute specifies the number of Ab bits embedded into a block of data to be carried by the HA-QL code. |
phyHAqlIntensity | 0x54 | Float | 0-1 | This specifies the intensity level of the modulated intensity. 0 means the intensity of the original image does not change, and 1 means the intensity of the original image is inverted. |
Table 7- PHY PIB attributes for RS-OFDM mode (Not part of IEEE 802.18.7m)
Attribute | ID | Type | Range | Description |
phyRsOFDMOpticalClockRate | – | Int. | 0-15 | The optical clock rate (or symbol rate) applied for RS-OFDM 0: 10 kHz 1: 50 kHz Others: Reserved |
phyRsOFDMFec | – | Int. | 0-7 | This attribute specifies FEC for RS-OFDM modulation, 0: None 1: Inner CC (1/4) 2: Inner CC(1/3) 3: Inner CC(1/3), outer RS (15/11) 4: Inner CC(1.4), outer RS (15/7) Other values: Reserved |
phyRsOFDMSymbolRate | – | Int. | 0-7 | This attribute specifies the data symbol rate (denoted as DS rate) of RS-OFDM. 0: 125 sym/sec (case 10kHz clock rate) 1: 625 sym/sec (case 50kHz clock rate) 2-7: Reserved |
phyRsOFDMPacketRate | – | Int. | 0-7 | This attribute specifies the Data Packet rate of RS-OFDM. 0: 5 packet/sec 1: 10 packet/sec 2: 15 packet/sec 3-7: Reserved |
phyRsOFDMSeqNumLength | – | Int. | 0-3 | This attribute specifies the number of bits per data sub-frame of RS-OFDM, being used for sequence numbering. 0: 1 bit 1: 8 bits 2-3: Reserved |
phyRsOFDMPsduLength | – | Int. | 0-255 | This is to specify the length of PSDU in the bit unit. |