Main Content

validate

Validate contents of ofdmPilotConfig object

Since R2026a

Description

validate(pilotcfg) returns without error messages if all properties of ofdmPilotConfig object are valid. If any property is invalid, the object function returns an error message.

To be valid, the pilot configuration must satisfy these conditions:

  • All pilot clusters nonoverlapping.

  • For every stream group and for every pilot symbol slice within that group, the corresponding matrix must be full rank. and the pilot symbols are orthogonal.

Note

Before you pass an ofdmPilotConfig object to ofdmChannelEstimate, first call the validate object function.

example

Examples

collapse all

Detect mismatched arrays, out‑of‑range indices, duplicate pilot locations, and size inconsistencies using the validate object function.

PilotLocations and StreamGroups must have the same number of elements.

cfg = ofdmPilotConfig(FFTLength=64,NumGuardBandCarriers=[4;2], ...
     NumSymbols=16,NumTransmitStreams=4,StreamGroups={1,[2 3]}, ...
     PilotLocations={ofdmPilotGrid([1 2],[1 2],1:3:63,1:3:15)}, ...
     PilotSymbols={ones(6,6)});
validate(cfg)

Error using ofdmPilotConfig/validate
PilotLocations and StreamGroups must have the same number of elements.

PilotLocations and StreamGroups does not have the same number of elements.

PilotSymbols and StreamGroups must have the same number of elements.

cfg.PilotLocations{2} = cfg.PilotLocations{1};
validate(cfg)
Error using ofdmPilotConfig/validate (line 203)
PilotSymbols and StreamGroups must have the same number of elements.

PilotSymbols and StreamGroups does not have the same number of elements.

All subcarrier indices in PilotLocations must be an array with all of the values greater than 4.

cfg.PilotSymbols{2} = cfg.PilotSymbols{1};
validate(cfg)

Error using ofdmPilotConfig/validate
Expected all subcarrier indices in PilotLocations to be an array with all
 of the values > 4.

Some subcarrier indices in the PilotLocations are not greater than 4.

PilotLocations must be unique.

cfg.PilotLocations{1} = ofdmPilotGrid([1 2],[1 2],5:3:63,1:3:15);
cfg.PilotLocations{2} = cfg.PilotLocations{1};
validate(cfg)
Error using ofdmPilotConfig/validate
Expected all subcarrier indices in PilotLocations to be an array with all of the values <= 62.

Only subcarriers up to 62 are allowed, but at least one pilot is placed above that.

PilotLocations must be unique.

cfg.PilotLocations{1} = ofdmPilotGrid([1 2],[1 2],5:3:61,1:4:15);
cfg.PilotLocations{2} = cfg.PilotLocations{1};
validate(cfg)

Error using ofdmPilotConfig/validate
Duplicated pilot locations found at subcarrier 5 and symbol 1.

PilotLocations are not unique at subcarrier 5 and symbol 1.

cfg.PilotLocations{1} = ofdmPilotGrid([1 2],[1 2],5:3:61,1:4:15);
cfg.PilotLocations{2} = ofdmPilotGrid([1 2],[1 2],5:3:61,3:4:15);
validate(cfg)
Error using ofdmPilotConfig/validate
size(PilotLocations{1},1) must be equal to size(PilotSymbols{1},1), but they are 4 and 6 respectively.

Input Arguments

collapse all

Pilot configuration object, specified as an ofdmPilotConfig object.

Version History

Introduced in R2026a

See Also

Functions