Main Content

ccsdsTCConfig

CCSDS TC configuration parameters

    Description

    The ccsdsTCConfig object creates a configuration object for Consultative Committee for Space Data Systems (CCSDS) Telecommand (TC) using default and specified values. ccsdsTCConfig object is configurable by using applicable Properties.

    Creation

    Description

    example

    cfg = ccsdsTCConfig creates a CCSDS TC configuration object using default properties.

    example

    cfg = ccsdsTCConfig(Name,Value) sets Properties using one or more name-value pairs. Enclose each property name in quotes. For example, ccsdsTCConfig('DataFormat','CLTU','Modulation','BPSK') configures the CSSDS TC configuration object with a communications link transmission unit data format and binary phase shift keying (BPSK) modulation scheme.

    Properties

    expand all

    Data formats used by physical layer operation procedures (PLOPs), specified as one of these options.

    • "CLTU" — Communications link transmission unit (CLTU)

    • "acquisition sequence"

    • "idle sequence"

    Data Types: char | string

    Forward error correction coding, specified as one of these options.

    • "BCH" — Bose Chaudhuri Hocquenghem (BCH)

    • "LDPC" — Low-density parity–check (LDPC)

    Dependencies

    To enable this property, set the DataFormat property to "CLTU".

    Data Types: char | string

    LDPC codeword length, specified as 128 or 512.

    Dependencies

    To enable this property, set the ChannelCoding property to "LDPC".

    Data Types: double

    Flag to indicate randomization on the bits in CLTU and on the fill data added prior to randomization, specified as a logical value of 1 (true) or 0 (false). To indicate the presence of a randomizer in the waveform, set this value to 1 (true).

    Dependencies

    To enable this property, set the ChannelCoding property to "BCH".

    Data Types: logical

    Flag to indicate the tail sequence in CLTU, specified as a logical value of 1 (true) or 0 (false). To indicate the presence of the tail sequence to delimit the end of a CLTU, set this value to 1 (true).

    Dependencies

    To enable this property, set the ChannelCoding property to "LDPC" and the LDPCCodewordLength property to 128.

    Data Types: logical

    Modulation scheme used to generate the CCSDS TC waveform, in the form of baseband in-phase quadrature (IQ) samples, specified as one of these options.

    • "PCM/PSK/PM" — The line coded signal as per the pulse code modulation (PCM) format is phase shift keying (PSK) modulated on a sine wave subcarrier and then phase modulated (PM) on a residual carrier.

    • "PCM/PM/biphase-L" — The biphase-L (Manchester) encoded data is phase modulated on a residual carrier.

    • "BPSK" — Suppressed carrier modulation by using non-return-to-zero (NRZ) data on the carrier.

    For more details on these modulation schemes, see [3].

    Data Types: char | string

    Pulse code modulation (PCM) format, specified as one of these options. This property specifies the PCM coding in the CCSDS TC waveform.

    • "NRZ-L" — NRZ-level

    • "NRZ-M" — NRZ-mark

    Dependencies

    To enable this property, set the Modulation property to "PCM/PSK/PM".

    Data Types: char | string

    Modulation index in the residual carrier phase modulation, specified as a scalar in the range [0.2, 2]. Units are in radians.

    Dependencies

    To enable this property, set the Modulation property to "PCM/PSK/PM" or "PCM/PM/biphase-L".

    Data Types: double

    Sine wave subcarrier frequency in Hertz, specified as 16000 or 8000. The subcarrier waveform is used to PSK-modulate the NRZ data on the residual RF carrier.

    Dependencies

    To enable this property, set the Modulation property to "PCM/PSK/PM".

    Data Types: double

    Symbol rate in coded symbols per second, specified as one of these options.

    • 4000

    • 2000

    • 1000

    • 500

    • 250

    • 125

    • 62.5

    • 31.25

    • 15.625

    • 7.8125

    Note

    If you set SymbolRate to 4000 coded symbols per second, you must set the SubcarrierFrequency property to 16000.

    Dependencies

    To enable this property, set the Modulation property to "PCM/PSK/PM".

    Data Types: double

    Number of samples per symbol, specified as a positive integer.

    Dependencies

    To enable this property, set the Modulation property to "PCM/PSK/PM" or "PCM/PM/biphase-L".

    Data Types: double

    This property is read-only.

    Waveform used to PSK-modulate the NRZ data, returned as "sine". CCSDS TC supports only sine-wave subcarriers.

    Dependencies

    To enable this property, set the Modulation property to "PCM/PSK/PM".

    Data Types: char | string

    Object Functions

    expand all

    ccsdsTCWaveformGenerate CCSDS TC waveform

    Examples

    collapse all

    Create a Consultative Committee for Space Data Systems (CCSDS) Telecommand (TC) configuration object. Specify the properties of the object.

    cfg = ccsdsTCConfig;
    cfg.ChannelCoding = "LDPC";
    cfg.HasTailSequence = false;
    cfg.PCMFormat = "NRZ-M";

    Display the properties of the CCSDS TC object.

    disp(cfg)
      ccsdsTCConfig with properties:
    
                 DataFormat: "CLTU"
              ChannelCoding: "LDPC"
         LDPCCodewordLength: 128
            HasTailSequence: 0
                 Modulation: "PCM/PSK/PM"
                  PCMFormat: "NRZ-M"
            ModulationIndex: 0.4000
        SubcarrierFrequency: 16000
                 SymbolRate: 4000
           SamplesPerSymbol: 10
    
       Read-only properties:
         SubcarrierWaveform: "sine"
    

    Create a Consultative Committee for Space Data Systems (CCSDS) Telecommand (TC) time-domain waveform for multiple communications link transmission units (CLTUs).

    Create a default CCSDS TC configuration object.

    cfg = ccsdsTCConfig;
    disp(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"
    

    Specify the number of CLTUs and the transfer frame length.

    numCLTUs = 10;
    transferFramesLength = 8; % Number of octets in each transfer frame

    Generate the CCSDS TC time-domain waveform for the transfer frames.

    c = cell(1,numCLTUs); % Cell array to store the generated waveform for all CLTUs
    for k=1:numCLTUs
        bits = randi([0 1],8*transferFramesLength,1); % Bits in the TC transfer frame
        waveform = ccsdsTCWaveform(bits,cfg);
        c{1,k} = waveform; % Waveform for each CLTU
    end

    Create a dsp.SpectrumAnalyzer System object to display the frequency spectrum of the generated CCSDS TC time-domain waveform from the last CLTU.

    scope = dsp.SpectrumAnalyzer;
    scope.SampleRate = cfg.SamplesPerSymbol*cfg.SymbolRate;
    scope(waveform)  % Last CLTU spectrum display

    Figure Spectrum Analyzer contains an axes object and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes object contains an object of type line. This object represents Channel 1.

    References

    [1] CCSDS 231.0-B-3. Blue Book. Issue 3. "TC Synchronization and Channel Coding." Recommendation for Space Data System Standards. Washington, D.C.: CCSDS, September 2017.

    [2] CCSDS 401.0-B-29. Blue Book. Issue 29. "Radio Frequency and Modulation Systems - Part 1". Earth Stations and Spacecraft. Washington, D.C.: CCSDS, September 2019.

    [3] Nguyen, T.M., W.L. Martin, and Hen-Geul Yeh. "Required Bandwidth, Unwanted Emission, and Data Power Efficiency for Residual and Suppressed Carrier Systems - a Comparative Study." IEEE transactions on electromagnetic compatibility 37, no. 1 (February 1995): 34-50. https://doi.org/10.1109/15.350238.

    Extended Capabilities

    Introduced in R2021a