# 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)');```

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 ```