Create Configuration or System Objects
Satellite Communications Toolbox configuration and System object™ initialize, store, and validate object properties. These properties correspond to parameters that define the standards-specific waveforms.
After you create the various objects described here, you can use them to generate waveforms. The functions in the toolbox initialize parameter settings for waveform transmission and reception by using the relevant object properties.
Create DVB-S2 Object
This example shows how to create a Digital Video Broadcasting Satellite Second Generation (DVB-S2) System object. It also shows how to change the default property settings by using dot notation or by overriding the default settings by using Name,Value pairs when creating the object.
To create a DVB-S2 System object, you must use MAT-files with LDPC parity matrices. If the MAT-files are not available on the path, download and unzip the MAT-files by entering this code at the MATLAB command prompt.
if ~exist('dvbs2xLDPCParityMatrices.mat','file') if ~exist('s2xLDPCParityMatrices.zip','file') url = 'https://ssd.mathworks.com/supportfiles/spc/satcom/DVB/s2xLDPCParityMatrices.zip'; websave('s2xLDPCParityMatrices.zip',url); unzip('s2xLDPCParityMatrices.zip'); end addpath('s2xLDPCParityMatrices'); end
Create Object and Then Modify Properties
Create a DVB-S2 System object with default settings.
s2WaveGen = dvbs2WaveformGenerator
s2WaveGen =
dvbs2WaveformGenerator with properties:
StreamFormat: "TS"
NumInputStreams: 1
FECFrame: "normal"
MODCOD: 1
DFL: 15928
HasPilots: 0
RolloffFactor: 0.3500
FilterSpanInSymbols: 10
SamplesPerSymbol: 4
Show all properties
Modify the defaults to specify multi-input generic stream and the data field length (DFL) for each stream.
s2WaveGen.StreamFormat = "GS";
s2WaveGen.NumInputStreams = 3;
s2WaveGen.DFL = [44500 51387 42960]s2WaveGen =
dvbs2WaveformGenerator with properties:
StreamFormat: "GS"
NumInputStreams: 3
UPL: 0
FECFrame: "normal"
MODCOD: 1
DFL: [44500 51387 42960]
HasPilots: 0
RolloffFactor: 0.3500
FilterSpanInSymbols: 10
SamplesPerSymbol: 4
Override Default Property Values During Object Creation
Create a DVB-S2 System object, using Name,Value pairs for a single-input transport stream with short FEC frame format, and specified modulation scheme and FEC rate (MODCOD).
s2WaveGen = dvbs2WaveformGenerator("FECFrame","short","MODCOD",10)
s2WaveGen =
dvbs2WaveformGenerator with properties:
StreamFormat: "TS"
NumInputStreams: 1
FECFrame: "short"
MODCOD: 10
DFL: 15928
HasPilots: 0
RolloffFactor: 0.3500
FilterSpanInSymbols: 10
SamplesPerSymbol: 4
Show all properties
Create a DVB-S2X Object
This example shows how to create a Digital Video Broadcasting Satellite Second Generation extended (DVB-S2X) System object. It also shows how to change the default property settings by using dot notation or by overriding the default settings by using Name,Value pairs when creating the object.
To create a DVB-S2X System object, you must use MAT-files with LDPC parity matrices. If the MAT-files are not available on the path, download and unzip the MAT-files by entering this code at the MATLAB command prompt.
if ~exist('dvbs2xLDPCParityMatrices.mat','file') if ~exist('s2xLDPCParityMatrices.zip','file') url = 'https://ssd.mathworks.com/supportfiles/spc/satcom/DVB/s2xLDPCParityMatrices.zip'; websave('s2xLDPCParityMatrices.zip',url); unzip('s2xLDPCParityMatrices.zip'); end addpath('s2xLDPCParityMatrices'); end
Create Object and Then Modify Properties
Create a DVB-S2X System object with default settings.
s2xWaveGen = dvbs2xWaveformGenerator
s2xWaveGen =
dvbs2xWaveformGenerator with properties:
StreamFormat: "TS"
HasTimeSlicing: false
NumInputStreams: 1
PLSDecimalCode: 132
DFL: 18448
PLScramblingIndex: 0
RolloffFactor: 0.3500
FilterSpanInSymbols: 10
SamplesPerSymbol: 4
Show all properties
Modify the defaults to specify multi-input transport stream with time slicing enabled.
s2xWaveGen.NumInputStreams = 4; s2xWaveGen.HasTimeSlicing = true
s2xWaveGen =
dvbs2xWaveformGenerator with properties:
StreamFormat: "TS"
HasTimeSlicing: true
NumInputStreams: 4
PLSDecimalCode: 132
DFL: 18448
PLScramblingIndex: 0
RolloffFactor: 0.3500
FilterSpanInSymbols: 10
SamplesPerSymbol: 4
ISSYI: false
Show all properties
Override Default Property Values During Object Creation
Create a DVB-S2X System object, using Name,Value pairs to specify the very low signal to noise ratio (VL-SNR) frame set 2, and specfying the modulation scheme and code rate as BPSK 1/5.
s2xWaveGen = dvbs2xWaveformGenerator("PLSDecimalCode",131,"CanonicalMODCODName","BPSK 1/5")
s2xWaveGen =
dvbs2xWaveformGenerator with properties:
StreamFormat: "TS"
HasTimeSlicing: false
NumInputStreams: 1
PLSDecimalCode: 131
CanonicalMODCODName: "BPSK 1/5"
DFL: 18448
PLScramblingIndex: 0
RolloffFactor: 0.3500
FilterSpanInSymbols: 10
SamplesPerSymbol: 4
Show all properties
Create DVB-RCS2 Object
This example shows how to create a Digital Video Broadcasting Second Generation Return Channel over Satellite (DVB-RCS2) System object. It also shows how to change the default property settings by using dot notation or by overriding the default settings by using Name,Value pairs when creating the object.
Create Object and Then Modify Properties
Create a DVB-RCS2 System object with default settings.
wg = dvbrcs2WaveformGenerator
wg =
dvbrcs2WaveformGenerator with properties:
TransmissionFormat: "TC-LM"
ContentType: "traffic"
IsCustomWaveform: false
WaveformID: 1
PreBurstGuardLength: 0
PostBurstGuardLength: 0
FilterSpanInSymbols: 10
SamplesPerSymbol: 4
Read-only:
FramePDULength: 272
Modify the defaults to specify the transmission format and the burst content type.
wg.TransmissionFormat = "SS-TC-LM"; wg.ContentType = "logon"
wg =
dvbrcs2WaveformGenerator with properties:
TransmissionFormat: "SS-TC-LM"
ContentType: "logon"
IsCustomWaveform: false
WaveformID: 1
PreBurstGuardLength: 0
PostBurstGuardLength: 0
FilterSpanInSymbols: 10
SamplesPerSymbol: 4
Read-only:
FramePDULength: 784
Override Default Property Values During Object Creation
Create a DVB-RCS2 System object, using Name,Value pairs, to specify the object for a custom waveform with pre burst guard length as 4.
wg = dvbrcs2WaveformGenerator("IsCustomWaveform",true,"PreBurstGuardLength",4)
wg =
dvbrcs2WaveformGenerator with properties:
TransmissionFormat: "TC-LM"
ContentType: "traffic"
IsCustomWaveform: true
PreBurstGuardLength: 4
PostBurstGuardLength: 0
FilterSpanInSymbols: 10
SamplesPerSymbol: 4
PayloadLengthInBytes: 10
Coding and Modulation:
MappingScheme: "pi/2-BPSK"
CodeRate: "1/3"
PermutationParameters: [9 0 0 0 0]
Unique Word:
PreambleLength: 8
PostambleLength: 8
PilotPeriod: 0
PilotBlockLength: 1
UniqueWord: "FFFF"
Read-only:
FramePDULength: 48
Create CCSDS HPE Object
Create a Consultative Committee for Space Data Systems (CCSDS) optical high photon efficiency (HPE) System object. Change the default property settings by using dot notation or by overriding the default settings by using Name=Value pairs when creating the object.
This object supports two transmission types - CCSDS HPE telemetry (TM) and beacon-and-data.
By default, the transmission type is set to telemetry.
Create Object and Then Modify Properties
Create a CCSDS HPE TM System object with default settings.
hpeWaveform = ccsdsHPEWaveformGenerator
hpeWaveform =
ccsdsHPEWaveformGenerator with properties:
TransmissionType: "telemetry"
NumBytesInTransferFrame: 223
NumBitsInInformationBlock: 7526
PPMOrder: 16
RepeatFactor: 1
IsEndOfTransmission: 1
Show all properties
Modify the default to specify PPM order as 4 and number of bits in information block as 5006.
hpeWaveform.PPMOrder = 4; hpeWaveform.NumBitsInInformationBlock = 5006
hpeWaveform =
ccsdsHPEWaveformGenerator with properties:
TransmissionType: "telemetry"
NumBytesInTransferFrame: 223
NumBitsInInformationBlock: 5006
PPMOrder: 4
RepeatFactor: 1
IsEndOfTransmission: 1
Show all properties
Override Default Property Values During Object Creation
Create a CCSDS optical HPE System object, using Name=Value pairs, to specify the transmission type as beacon-and-data and beacon length as 4000.
hpeWaveform = ccsdsHPEWaveformGenerator(TransmissionType="beacon-and-data",BeaconLength=4000)hpeWaveform =
ccsdsHPEWaveformGenerator with properties:
TransmissionType: "beacon-and-data"
BeaconLength: 4000
NumBytesInTransferFrame: 223
NumBitsInInformationBlock: 7526
HasChannelInterleaver: 1
PNSpreadFactor: 1
IsEndOfTransmission: 1
Show all properties
Create CCSDS TM Object
This example shows how to create a Consultative Committee for Space Data Systems (CCSDS) Telemetry (TM) System object. It also shows how to change the default property settings by using dot notation or by overriding the default settings by using Name,Value pairs when creating the object.
The System object ccsdsTMWaveformGenerator supports these two CCSDS TM standards, depending on the type of input to WaveformSource property.
CCSDS TM synchronization and channel coding standard (CCSDS 131.0-B-3)
CCSDS flexible advanced coding and modulation scheme for high rate telemetry standard (CCSDS 131.2-B-1)
The default standard for this object is CCSDS TM synchronization and channel coding.
Create Object and Then Modify Properties
Create a CCSDS TM System object with default settings.
tmWaveGen = ccsdsTMWaveformGenerator
tmWaveGen =
ccsdsTMWaveformGenerator with properties:
WaveformSource: "synchronization and channel coding"
HasRandomizer: true
HasASM: true
PCMFormat: "NRZ-L"
Channel coding
ChannelCoding: "RS"
RSMessageLength: 223
RSInterleavingDepth: 1
IsRSMessageShortened: false
Digital modulation and filter
Modulation: "QPSK"
PulseShapingFilter: "root raised cosine"
RolloffFactor: 0.3500
FilterSpanInSymbols: 10
SamplesPerSymbol: 10
Show all properties
Modify the defaults to specify for turbo codes and QPSK modulation.
tmWaveGen.ChannelCoding = "turbo"; tmWaveGen.Modulation = "QPSK"
tmWaveGen =
ccsdsTMWaveformGenerator with properties:
WaveformSource: "synchronization and channel coding"
HasRandomizer: true
HasASM: true
PCMFormat: "NRZ-L"
Channel coding
ChannelCoding: "turbo"
NumBitsInInformationBlock: 7136
CodeRate: "1/2"
Digital modulation and filter
Modulation: "QPSK"
PulseShapingFilter: "root raised cosine"
RolloffFactor: 0.3500
FilterSpanInSymbols: 10
SamplesPerSymbol: 10
Show all properties
Override Default Property Values During Object Creation
Create a CCSDS TM System object, using Name,Value pairs, to specify the object for flexible advanced coding and modulation scheme for high rate TM applications standard, and specifying the ACM format as 9.
tmWaveGen = ccsdsTMWaveformGenerator("WaveformSource","flexible advanced coding and modulation","ACMFormat",9)
tmWaveGen =
ccsdsTMWaveformGenerator with properties:
WaveformSource: "flexible advanced coding and modulation"
ACMFormat: 9
NumBytesInTransferFrame: 223
Channel coding
No properties.
Digital modulation and filter
PulseShapingFilter: "root raised cosine"
RolloffFactor: 0.3500
FilterSpanInSymbols: 10
SamplesPerSymbol: 10
HasPilots: false
ScramblingCodeNumber: 0
Show all properties
Create CCSDS TC Configuration Object
This example shows how to create a Consultative Committee for Space Data Systems (CCSDS) Telecommand (TC) configuration object. It also shows how to change the default property settings by using dot notation or by overriding the default settings by using Name,Value pairs when creating the object.
Create Object and Then Modify Properties
Create a CCSDS TC configuration object with default settings.
cfg = ccsdsTCConfig
cfg =
ccsdsTCConfig with properties:
DataFormat: "CLTU"
ChannelCoding: "BCH"
HasRandomizer: 1
Modulation: "PCM/PSK/PM"
PCMFormat: "NRZ-L"
ModulationIndex: 0.4000
SubcarrierFrequency: 16000
SymbolRate: 4000
SamplesPerSymbol: 10
Read-only properties:
SubcarrierWaveform: "sine"
Modify the defaults to specify for BPSK modulation scheme.
cfg.Modulation = "BPSK"cfg =
ccsdsTCConfig with properties:
DataFormat: "CLTU"
ChannelCoding: "BCH"
HasRandomizer: 1
Modulation: "BPSK"
Override Default Property Values During Object Creation
Create a CCSDS TC configuration object, using Name,Value pairs to specify LDPC codes with codeword length of 512.
cfg = ccsdsTCConfig("ChannelCoding","LDPC","LDPCCodewordLength",512)
cfg =
ccsdsTCConfig with properties:
DataFormat: "CLTU"
ChannelCoding: "LDPC"
LDPCCodewordLength: 512
Modulation: "PCM/PSK/PM"
PCMFormat: "NRZ-L"
ModulationIndex: 0.4000
SubcarrierFrequency: 16000
SymbolRate: 4000
SamplesPerSymbol: 10
Read-only properties:
SubcarrierWaveform: "sine"
References
[1] TM Synchronization and Channel Coding. Recommendation for Space Data System Standards. CCSDS 131.0-B-3. Blue Book. Issue 3. Washington, D.C.: CCSDS, September 2017.
[2] Flexible Advanced Coding and Modulation Scheme for High Rate Telemetry Applications. Recommendation for Space Data System Standards. CCSDS 131.2-B-1. Blue Book. Issue 1. Washington, D.C.: CCSDS, March 2012.
See Also
dvbs2WaveformGenerator | dvbs2xWaveformGenerator | dvbrcs2WaveformGenerator | ccsdsHPEWaveformGenerator | ccsdsTMWaveformGenerator | ccsdsTCConfig