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 spectrum analyzer System object to display the frequency spectrum of the generated CCSDS TC time-domain waveform from the last CLTU.

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

    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
    

    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™.

    Version History

    Introduced in R2021a