nrPRACHOFDMInfo
Syntax
Description
Examples
Get PRACH OFDM Information
Specify carrier configuration parameters.
carrier = nrCarrierConfig;
Configure PRACH for format A1.
prach = nrPRACHConfig('ConfigurationIndex',106,'SubcarrierSpacing',15);
Generate and display the PRACH OFDM information.
info = nrPRACHOFDMInfo(carrier,prach)
info = struct with fields:
Nfft: 1024
SampleRate: 15360000
CyclicPrefixLengths: [152 0 144 0 144 0 152 0 144 0 144 0 0 0]
GuardLengths: [0 0 0 0 0 0 0 0 0 0 0 0 0 144]
SymbolLengths: [1176 1024 1168 1024 1168 1024 1176 1024 1168 1024 1168 1024 1024 1168]
OffsetLength: 0
Windowing: 72
Get PRACH OFDM Information for Custom Windowing
Set carrier configuration parameters, specifying a subcarrier spacing of 60 kHz.
carrier = nrCarrierConfig('SubcarrierSpacing',60);
Configure and generate PRACH symbols.
prach = nrPRACHConfig;
Generate and display the PRACH OFDM information, specifying the number of samples over which the OFDM modulator applies windowing and overlapping of OFDM symbols.
samples = 95;
info = nrPRACHOFDMInfo(carrier,prach,'Windowing',samples)
info = struct with fields:
Nfft: 49152
SampleRate: 61440000
CyclicPrefixLengths: 6336
GuardLengths: 5952
SymbolLengths: 61440
OffsetLength: 0
Windowing: 95
Generate PRACH OFDM Information for Multiple PRACH Slots
Generate PRACH OFDM information for multiple PRACH slots. The example shows that the actual PRACH slot duration deviates from the nominal duration to ensure that the slot spans the entire active PRACH preambles.
Specify carrier configuration parameters.
carrier = nrCarrierConfig;
Configure PRACH for format 1.
prach = nrPRACHConfig; prach.DuplexMode = 'FDD'; configurationIndex = 47; % Format 1 prach.ConfigurationIndex = configurationIndex;
Obtain the nominal PRACH slot duration.
totSubframes = prach.SubframesPerPRACHSlot
totSubframes = 3
Obtain the starting subframes for the active PRACH preambles from the PRACH configuration tables.
configTable = prach.Tables.ConfigurationsFR1PairedSUL; subframeNumber = configTable.SubframeNumber{configurationIndex+1,:}
subframeNumber = 1×2
1 6
Display the PRACH OFDM information for PRACH slot number 0. The first nominal PRACH slot period, lasting totSubframes
number of subframes, spans subframes 0, 1, and 2. However, according to TS 38.211 Table 6.3.3.2-2, the first active PRACH preamble starts in subframe 1 and ends in subframe 3. To ensure that the PRACH slot spans the whole active preamble, the PRACH slot must contain one additional subframe. Therefore, the value of OffsetLength
is equal to one subframe.
prach.NPRACHSlot = 0; % Default value
ofdmInfo = nrPRACHOFDMInfo(carrier,prach);
disp(ofdmInfo);
Nfft: 12288 SampleRate: 15360000 CyclicPrefixLengths: [10512 0] GuardLengths: [0 10992] SymbolLengths: [22800 23280] OffsetLength: 15360 Windowing: 430
Display the PRACH OFDM information for PRACH slot number 1. The lengths of the symbol, cyclic prefix, and guard are empty. Therefore, the corresponding waveform lasts zero subframes. In this case, the PRACH slots are balanced with the nominal PRACH slot period. The value of OffsetLength
is zero.
prach.NPRACHSlot = 1; ofdmInfo = nrPRACHOFDMInfo(carrier,prach); disp(ofdmInfo);
Nfft: 12288 SampleRate: 15360000 CyclicPrefixLengths: [1x0 double] GuardLengths: [1x0 double] SymbolLengths: [1x0 double] OffsetLength: 0 Windowing: 430
Display the PRACH OFDM information for PRACH slot number 2. The first subframe of the PRACH slot is subframe 4 and spans subframes 4, 5, and 6, without the additional subframes. However, according to TS 38.211, the first active PRACH preamble starts in subframe 6 and occupies subframes 6, 7, and 8. To ensure that the PRACH slot spans the whole active preamble, the PRACH slot must contain two additional subframes. Therefore, the value of OffsetLength
is equal to two subframes.
prach.NPRACHSlot = 2; ofdmInfo = nrPRACHOFDMInfo(carrier,prach); disp(ofdmInfo);
Nfft: 12288 SampleRate: 15360000 CyclicPrefixLengths: [10512 0] GuardLengths: [0 10992] SymbolLengths: [22800 23280] OffsetLength: 30720 Windowing: 430
Input Arguments
carrier
— Carrier configuration parameters
nrCarrierConfig
object
Carrier configuration parameters for a specific OFDM numerology, specified as an
nrCarrierConfig
object. Only
these object properties are relevant for this function.
prach
— PRACH configuration parameters
nrPRACHConfig
object
PRACH configuration parameters, specified as an nrPRACHConfig
object. The function uses only these properties of this input.
samples
— Number of time-domain samples for OFDM symbol windowing and overlapping
nonnegative integer (default depends other input values) | []
Number of time-domain samples over which the function applies raised cosine windowing and overlapping of OFDM symbols, specified as a nonnegative integer or []
.
If you do not specify this input, or if you specify it as []
, the function sets this input to the maximum value E that does not impact error vector magnitude (EVM) tests, as specified in TS 38.101-1 Annex F.5.5 and TS 38.101-2 Annex F.5.5. E is equal to value of floor
((NCP − W) × info
.Nfft
⁄ NFFT, nominal), where NCP, W, and NFFT, nominal are the values in the table columns labeled "Cyclic prefix length", "EVM window length", and "FFT size", respectively.
Data Types: double
Output Arguments
info
— OFDM information
structure
OFDM information, returned as a structure containing these fields.
Fields | Values | Description |
---|---|---|
Nfft | Positive integer | Number of FFT points |
SampleRate | Positive integer | Waveform sample rate |
CyclicPrefixLengths | 1-by-N vector of nonnegative integers, where N is the number of OFDM symbols in a PRACH slot | Cyclic prefix lengths of each OFDM symbol, in samples |
GuardLengths | 1-by-N vector of positive integers, where N is the number of OFDM symbols in a PRACH slot | Guard lengths of OFDM symbols, in samples |
SymbolLengths | 1-by-N vector of nonnegative integers, where N is the number of OFDM symbols in a PRACH slot | OFDM symbol lengths, in samples |
OffsetLength | Nonnegative integer | Length, in samples, of the initial time offset between the start of the configured PRACH slot period to the start of the cyclic prefix |
Windowing | Nonnegative integer | Number of time-domain samples over which the function applies raised cosine windowing and overlapping of OFDM symbols |
For long formats, for which the LRA
property of the
prach
input is 839
, the first slot of a
PRACH preamble can occur part of the way through the nominal PRACH slot period. In this
case, the function increases the value of the OffsetLength
field,
which ensures that the OFDM waveform spans the entire active PRACH preamble. To balance
these slots with the nominal PRACH slot period, some inactive PRACH slots have OFDM
waveforms that are shorter than the nominal PRACH slot period. The function conveys this
by returning the CyclicPrefixLengths
and
GuardLengths
fields as []
, corresponding to
no OFDM symbols, and setting the OffsetLength
field equal to the
number of empty subframes required.
Data Types: struct
References
[1] 3GPP TS 38.211. “NR; Physical channels and modulation.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
[2] 3GPP TS 38.101-1. “NR; User Equipment (UE) radio transmission and reception; Part 1: Range 1 Standalone.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
[3] 3GPP TS 38.101-2. “NR; User Equipment (UE) radio transmission and reception; Part 2: Range 2 Standalone.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Usage notes and limitations:
The
samples
input argument must be compile-time constant. Include
{coder.Constant('Windowing'),coder.Constant(samples)}
in the
-args
value of the codegen
function. For more
information, see the coder.Constant
(MATLAB Coder) class.
Version History
Introduced in R2020b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)