Main Content

ccsdsTCWaveform

Generate CCSDS TC waveform

    Description

    example

    waveform = ccsdsTCWaveform(bits,cfgFormat) generates a Consultative Committee for Space Data Systems (CCSDS) Telecommand (TC) time-domain waveform, waveform, for the corresponding input bits, bits, and the given format configuration, cfgFormat.

    example

    [waveform,encodedBits] = ccsdsTCWaveform(bits,cfgFormat) also returns the bits obtained after TC synchronization and channel coding sublayer operations.

    Examples

    collapse all

    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.

    Create a Consultative Committee for Space Data Systems (CCSDS) Telecommand (TC) time-domain waveform for a acquisition sequence with 20 octets.

    Create a CCSDS TC configuration object, and then specify the object properties. Display the object properties.

    cfg = ccsdsTCConfig;
    cfg.DataFormat = "acquisition sequence";
    cfg.Modulation = "PCM/PM/biphase-L";
    cfg.ModulationIndex = 1.2;
    disp(cfg)
      ccsdsTCConfig with properties:
    
              DataFormat: "acquisition sequence"
              Modulation: "PCM/PM/biphase-L"
         ModulationIndex: 1.2000
        SamplesPerSymbol: 10
    
       Read-only properties:
        No properties.
    

    Generate the CCSDS TC waveform.

    bits = repmat([0;1],8*10,1); % Alternating 1s and 0s with 0s as a starting sequence bit
    waveform = ccsdsTCWaveform(bits,cfg);

    Input Arguments

    collapse all

    Information bits, specified as a binary-valued column vector.

    • When you set the DataFormat property of the ccsdsTCConfig object to "CLTU", the length of this vector must be an integer multiple of 8.

    • When you set the DataFormat property of the ccsdsTCConfig object to "acquisition sequence" or "idle sequence", this vector must be a sequence of alternating 1s and 0s, starting with either 1 or 0.

    Data Types: double | int8 | logical

    Format configuration object, specified as ccsdsTCConfig object. The properties of this object define the parameters required for CCSDS TC waveform generation.

    Output Arguments

    collapse all

    Generated time-domain CCSDS TC waveform, returned as a column vector. The waveform output is generated in the form of complex in-phase quadrature (IQ) samples.

    Data Types: double
    Complex Number Support: Yes

    Output bits obtained after TC synchronization and channel coding sublayer operations, returned as a column vector.

    Data Types: double

    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.

    Extended Capabilities

    C/C++ Code Generation
    Generate C and C++ code using MATLAB® Coder™.

    Introduced in R2021a