HRP UWB IEEE 802.15.4ab Waveform Generation
This example shows how to generate high rate pulse repetition frequency (HRP) ultra-wide band (UWB) waveforms in accordance with ongoing drafts from the IEEE® 802.15.4ab task group [1] using Communications Toolbox™.
Background
The IEEE 802.15.4 standard specifies the PHY and MAC layers of Low-Rate Wireless Personal Area Networks (LR-WPANs) [2]. The following amendments specify UWB PHYs:
IEEE 802.15.4a introduced a high rate pulse repetition frequency (HRP) UWB PHY for ranging (localization) [2].
IEEE 802.15.4z introduced new enhanced modes for the HRP UWB IEEE 802.15.4a PHY [3].
IEEE 802.15.4ab is still in the standardization process (as of mid-2024) and introduces another enhanced mode for the HRP PHY [1].
The HRP UWB PHY specifies a channel bandwidth of 0.5 to 1.3 GHz and a pulse duration of 2 ns. Since the ranging techniques rely on the arrival time of transmitted packets, the extra short pulse duration makes UWB PHYs suitable for ranging applications. A finer granularity in the time domain translates to smaller errors in distance estimation.
You can use this example to generate IEEE 802.15.4ab HRP UWB waveforms. To generate IEEE 802.15.4a/z (HRP) UWB waveforms, you can use HRP UWB IEEE 802.15.4a/z Waveform Generation.
EHPRF Mode
Ongoing drafts for the IEEE 802.15.4ab amendment introduce a new mode called enhanced higher pulse repetition frequency (EHPRF), which builds upon the higher pulse repetition frequency (HPRF) mode from IEEE 802.15.4z.
You can use the helperEHPRFConfig
object to configure the EHPRF mode of the HRP PHY.
cfgEHPRF = helperEHPRFConfig(PSDULength=1024)
cfgEHPRF = helperEHPRFConfig with properties: Channel: 0 Mode: 'EHPRF' BitRate: 27.2000 SamplesPerPulse: 4 CodeIndex: 25 PreambleDuration: 64 SFDNumber: 0 Ranging: 0 PSDULength: 1024 STS: STSPacketConfiguration: 1 NumSTSSegments: 1 STSSegmentLength: 64 Read-only properties: SampleRate: 1.9968e+09
The EHPRF mode operates at the same mean PRF values as the HPRF mode (249.6 or 124.8 MHz). The specified bit rate determines the actual mean PRF value.
Bit Rates
In the EHPRF mode, you can specify BitRate
as one of these values: 1.95, 6.8, 7.8, 27.2, 31.2, 62.4, 124.8 Mbps. The HPRF mode also supports 6.8, 7.8, 27.2, and 31.2 Mbps, but only the EHPRF mode enables 1.95, 62.4, and 124.8 Mbps.
cfgEHPRF.BitRate = 62.4;
The 1.95, 6.8, and 7.8 Mbps rates operate with a 124.8 MHz mean PRF, while the other bit rates operate with 249.6 MHz.
Dynamic PHR
With the EHPRF mode, you have a new option for the PHY header (PHR) format:
PHR can follow the same format as in the HPRF mode ("4z HPRF PHR mode").
Alternatively, the PHR can be dynamic ("Dynamic PHR mode").
Choose between the two PHR modes by setting the logical DynamicPHR
property.
cfgEHPRF.DynamicPHR = true
cfgEHPRF = helperEHPRFConfig with properties: Channel: 0 Mode: 'EHPRF' BitRate: 62.4000 DynamicPHR: 1 Coding: 'BCC' SamplesPerPulse: 4 CodeIndex: 25 PreambleDuration: 64 SFDNumber: 0 Ranging: 0 PSDULength: 1024 STS: STSPacketConfiguration: 1 NumSTSSegments: 1 STSSegmentLength: 64 Read-only properties: SampleRate: 1.9968e+09
When enabled, the dynamic PHR has a PHR1, a PHR2, and a gap in-between.
PHR1 contains 20 bits that convey the bit rate and the coding scheme (BCC vs. LDPC).
The gap between PHR1 and PHR2 is 512 chips long.
PHR2 resembles the 802.15.4z PHR, as it contains the payload length and the ranging indicator. It uses a cyclic redundancy check (CRC) instead of single error correct, double error detect (SECDED) coding.
Only the 1.95, 7.8, 31.2, 62.4, and 124.8 Mbps rates can enable a dynamic PHR. The 6.8 and 27.2 rates support only the 4z HPRF PHR mode and use binary convolutional coding (BCC) with constraint length equal to 3. All other bit rates use convolutional coding with constraint length equal to 7 or LDPC coding.
LDPC Coding
When you enable a dynamic PHR (for the 1.95, 7.8, 31.2, 62.4, 124.8 Mbps bit rates), payload encoding can be either convolutional (with constraint length equal to 7) or low-density parity check (LDPC). You can choose between the two options by setting the Coding
property to 'BCC
' or 'LDPC
'.
cfgEHPRF.Coding = 'LDPC';
Both convolutional and LDPC coding schemes in the EHPRF mode have a rate equal to 1/2.
The 802.15.4ab LDPC codes are the rate-1/2 codes that are specified in IEEE 802.11. Specifically, the codeword length (N) can be either 648, 1296, or 1944 and the parity check matrices are the same with 802.11.
The payload length determines whether a single or multiple codewords are used, as well as the presence and number of shortening (zero) bits in each codeword. The shortening bits are removed after encoding.
Modulation
The EHPRF mode uses the same (HRP-ERDEV) modulation scheme as the HPRF mode. Specifically, each payload symbol duration is divided into four quarters. The second and fourth quarters are always guardbands. The first and third quarters contain information-carrying chips. When the mean PRF is 124.8 MHz (that is, BitRate
is 1.95, 6.8, or 7.8 Mbps) information-carrying chips are spaced 2-chips apart. When the mean PRF is 249.6 MHz (i.e., BitRate
is 27.2, 31.2 62.4, or 124.8 Mbps) there is no chip spacing between information-carrying chips, in the first and third symbol quarters.
What is different in the EHPRF mode is the symbol duration for the three new bit rates, that is the number of chips in each symbol quarter.
Mode | Bit Rate (Mbps) | Mean PRF (MHz) | Coding | Information Chips per 1/4 of Payload Symbol | Chip Spacing | Chips per 1/4 of Payload Symbol | Chips per Payload Symbol | PHR | Chips per 4z PHR Symbol (BCC) | Chips per PHR2 Symbol (BCC) | Chips per PHR2 Symbol (LDPC) |
EHPRF | 1.95 | 124.8 | BCC, CL=7 or LDPC | 32 | 2 | 64 | 256 | 4z or Dynamic | 256 | 256 | 512 |
EHPRF/HPRF | 6.8 | 124.8 | BCC, CL=3 | 8 | 2 | 16 | 64 | 4z only | 128 | — | — |
EHPRF/HPRF | 7.8 | 124.8 | BCC, CL=7 or LDPC | 8 | 2 | 16 | 64 | 4z or Dynamic | 64 | 64 | 128 |
EHPRF/HPRF | 27.2 | 249.6 | BCC, CL=3 | 4 | 1 | 4 | 16 | 4z only | 32 | — | — |
EHPRF/HPRF | 31.2 | 249.6 | BCC, CL=7 or LDPC | 4 | 1 | 4 | 16 | 4z or Dynamic | 16 | 16 | 32 |
EHPRF | 62.4 | 249.6 | BCC, CL=7 or LDPC | 2 | 1 | 2 | 8 | 4z or Dynamic | 8 | 8 | 16 |
EHPRF | 124.8 | 249.6 | BCC, CL=7 or LDPC | 1 | 1 | 1 | 4 | 4z or Dynamic | 4 | 4 | 8 |
PHR2 follows the same modulation format with the payload, except for the case of LDPC coding (which also implies that DynamicPHR = true
and that BitRate
is 1.95, 7.8, 31.2, 62.4, or 124.8 Mbps). In this case, each PHR2 symbol is twice as long as the payload symbols (as the PHR is for the BCC case with constraint length equal to 3).
PHR1 always follows its own modulation format, which is different than PHR2 and the payload. Specifically, each PHR1 bit is mapped to 32 pulses transmitted with 2-chip spacing (first half symbol), followed by a guardband of 64 chips (second half symbol).
Waveform Generation
Pass the configured helperEHRPFConfig
object to helperEHPRFWaveformGenerator
to create an (EHPRF) IEEE 802.15.4ab waveform.
psdu = randi([0 1], 8*cfgEHPRF.PSDULength, 1); wave154ab = helperEHPRFWaveformGenerator(psdu, cfgEHPRF);
Visualize the fields of the waveform using the helperEHPRFPlotFrame
supporting file.
helperEHPRFPlotFrame(wave154ab, cfgEHPRF);
Further Exploration
Configure helperEHPRFConfig
objects for different bit rates, PHR, and coding configurations. Then generate the respective IEEE 802.15.4ab waveforms.
This example uses these supporting files. Their API and functionality may change in the future.
helperEHPRFConfig
: Configure EHPRF HRP waveform.helperEHPRFWaveformGenerator
: Create an HRP UWB IEEE 802.15.4ab waveform.helperEHPRFPlotFrame
: Visualize HRP UWB IEEE 802.15.4ab waveform.helperEHPRFFieldIndices
: Find the starting and ending index for each field of PHY frame.
References
[1] "Coherent PHY layer proposal for 15.4ab TFD," IEEE 802.15 WSN™ Task Group 4ab (TG4ab), 802.15.4 UWB Next Generation.
[2] "IEEE Standard for Low-Rate Wireless Networks," in IEEE Std 802.15.4-2020 (Revision of IEEE Std 802.15.4-2015), (23 July 2020): 1—800, https://doi.org.10.1109/IEEESTD.2020.9144691.
[3] "IEEE Standard for Low-Rate Wireless Networks—Amendment 1: Enhanced Ultra Wideband (UWB) Physical Layers (PHYs) and Associated Ranging Techniques," IEEE Std 802.15.4z-2020 (Amendment to IEEE Std 802.15.4-2020), (25 August 2020): 1—174, https://doi.org.10.1109/IEEESTD.2020.9179124.