Main Content

Use Default OFDM Sample Rate and Default FFT Size

This example explains how the OFDM functions (nrOFDMModulate, nrOFDMInfo, and nrOFDMDemodulate) set the default value for the sample rate input, SampleRate, and the default value for the fast Fourier transform (FFT) size input, Nfft, when you call an OFDM function and these conditions apply.

  • You do not specify a value for the SampleRate input or you specify 'SampleRate',[].

  • You do not specify a value for the Nfft input or you specify 'Nfft',[].

Default OFDM Sample Rate

The default value set for the SampleRate input is equal to:

  • Nfft * carrier.SubcarrierSpacing * 1000.

Default FFT Size

The default value set for the Nfft input satisfies these conditions.

  • Nfft is an integer value greater than 127 (to ensure integer-valued cyclic prefix lengths)

  • Nfft is an integer power of 2.

  • Nfft results in a maximum occupancy of 85%. The actual occupancy is equal to carrier.NSizeGrid * 12 / Nfft, where carrier is the input argument of the function call, specifying the carrier configuration.

Plot Bandwidth Occupancy

Create a carrier configuration object.

carrier = nrCarrierConfig;

Calculate the actual occupancy equal to carrier.NSizeGrid * 12 / Nfft for all NSizeGrid values.

nSizeGrids = 1:275;
defaultOccupancy = zeros(1,275);
for nSizeGrid = nSizeGrids    
    carrier.NSizeGrid = nSizeGrid;
    ofdmInfo = nrOFDMInfo(carrier);        
    defaultOccupancy(nSizeGrid) = carrier.NSizeGrid * 12 / ofdmInfo.Nfft;    
end

Plot actual occupancy.

figure;
plot(nSizeGrids,defaultOccupancy,'x');
hold on;

Highlight the occupancy for typical NSizeGrid values of 52, 106, 160, and 216.

typicalNSizeGrids = [52 106 160 216];
plot(typicalNSizeGrids,defaultOccupancy(typicalNSizeGrids),'ro','MarkerFaceColor','r');
title('Bandwidth Occupancy for Default SampleRate and Default Nfft');
axis([1 275 0 1]);
xlabel('NSizeGrid');
xticks([1 typicalNSizeGrids 275]);
ylabel('Bandwidth Occupancy (NSizeGrid * 12 / Nfft)');

Figure contains an axes object. The axes object with title Bandwidth Occupancy for Default SampleRate and Default Nfft contains 2 objects of type line.

Ignore the smallest NSizeGrid values.

defaultOccupancy(1:5) = NaN;

Find the minimum occupancy and the corresponding NSizeGrid value.

[occupancyMin,nSizeGridMin] = min(defaultOccupancy)
occupancyMin = 0.4277
nSizeGridMin = 73

Find the maximum occupancy and the corresponding NSizeGrid value.

[occupancyMax,nSizeGridMax] = max(defaultOccupancy)
occupancyMax = 0.8496
nSizeGridMax = 145

See Also

Functions

Related Topics