exponenta event banner

Генерировать формы сигналов

После создания необходимых объектов, описанных в разделе Создание конфигурации или Системные объекты, эти объекты можно использовать для создания требуемой формы сигнала. Измените параметры объекта и постройте график сигналов.

В каждом разделе этих примеров вы:

  • Создайте специфичный для формата объект конфигурации или системный object™.

  • Создайте вектор столбца или массив ячеек векторов столбца информационных битов для генерации формы сигнала.

  • Создайте специфичный для формата сигнал и постройте его график.

Формирование формы сигнала TC CCSDS

Создание объекта конфигурации и формы сигнала Консультативного комитета по системам космических данных (CCSDS). Использовать Name,Value пары для указания параметров передачи.

cfg = ccsdsTCConfig ('ChannelCoding', "LDPC", 'LDPCCodewordLength', 512);
TFLength = 12;                     % Transfer frame length
bits = randi([0 1],8*TFLength,1);  % Bits in TC transfer frame 
waveform = ccsdsTCWaveform(bits,cfg);

Создайте dsp. Объект системы анализатора для отображения спектра сигнала генерируемого сигнала CCSDS TC.

scope = dsp.SpectrumAnalyzer;
scope.SampleRate = cfg.SamplesPerSymbol*cfg.SymbolRate;
scope(waveform)

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

Генерация сигнала CCSDS TM

Создание объекта системы телеметрии (TM) Консультативного комитета по системам космических данных (CCSDS) и формы сигнала.

Объект ccsdsTMWaveformGenerator поддерживает эти два стандарта CCSDS TM, в зависимости от типа ввода WaveformSource собственность.

  • Стандарт синхронизации и канального кодирования CCSDS TM (CCSDS 131.0-B-3)

  • Гибкая расширенная схема кодирования и модуляции CCSDS для высокоскоростного стандарта телеметрии (CCSDS 131.2-B-1)

Стандартом по умолчанию для этого объекта является синхронизация CCSDS TM и канальное кодирование.

Создание системного объекта и формирование формы сигнала для схемы синхронизации и канального кодирования CCSDS TM

tmWaveGen = ccsdsTMWaveformGenerator % CCSDS TM object with defualt properties
tmWaveGen = 
  ccsdsTMWaveformGenerator with properties:

          WaveformSource: "synchronization and channel coding"
           HasRandomizer: true
                  HasASM: true
               PCMFormat: "NRZ-L"

   Channel coding properties:
           ChannelCoding: "RS"
         RSMessageLength: 223
     RSInterleavingDepth: 1
    IsRSMessageShortened: false

   Digital modulation and filter properties:
              Modulation: "QPSK"
      PulseShapingFilter: "root raised cosine"
           RolloffFactor: 0.3500
     FilterSpanInSymbols: 10
        SamplesPerSymbol: 10

  Show all properties

bits = randi([0 1], tmWaveGen.NumInputBits,1); % Input information bits
waveform = tmWaveGen(bits);

Создайте dsp. Объект системы анализатора для отображения частотного спектра генерируемого сигнала во временной области CCSDS TM.

BW = 36e6;     % Typical satellite channel bandwidth
Fsamp = tmWaveGen.SamplesPerSymbol*BW;
scope = dsp.SpectrumAnalyzer('SampleRate',Fsamp,'AveragingMethod','Exponential');
scope(waveform)

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

Создание системного объекта и формирование формы сигнала для гибкой расширенной схемы кодирования и модуляции CCSDS TM

Для этого примера используйте точечную нотацию, чтобы указать параметры передачи.

tmWaveGen = ccsdsTMWaveformGenerator;
tmWaveGen.WaveformSource = "flexible advanced coding and modulation";
tmWaveGen.ACMFormat = 14;   % 16APSK

Вычислите количество кадров передачи в одном кадре физического уровня. Формирование формы сигнала с использованием информационных битов. data.

NumTFInOnePLFrame = tmWaveGen.MinNumTransferFrames*16  % One PL frame consists of 16 codewords, as specified in the standard
NumTFInOnePLFrame = 192
waveform = [];  % Initialize waveform as null
% Generate waveform    
for iTF = 1:NumTFInOnePLFrame
   bits = randi([0 1], tmWaveGen.NumInputBits, 1);
   waveform = [waveform;tmWaveGen(bits)];
end

Формирование формы сигнала DVB-S2

В этом примере используются MAT-файлы с матрицами четности LDPC. Если MAT-файлы недоступны по пути, загрузите и распакуйте MAT-файлы, введя этот код в командной строке MATLAB.

if ~exist('s2xLDPCParityMatrices.zip','file')
    url = 'https://ssd.mathworks.com/supportfiles/spc/satcom/DVB/s2xLDPCParityMatrices.zip';
    websave('s2xLDPCParityMatrices.zip',url);
    unzip('s2xLDPCParityMatrices.zip');
addpath('s2xLDPCParityMatrices')
end

Создание системного объекта цифрового видеотрансляционного спутника второго поколения (DVB-S2) и формы сигнала. Использовать Name,Value пары для указания параметров передачи.

s2WaveGen = dvbs2WaveformGenerator("NumInputStreams",2,"MODCOD",[6 19],"RolloffFactor",0.25 );
disp(s2WaveGen)
  dvbs2WaveformGenerator with properties:

           StreamFormat: "TS"
        NumInputStreams: 2
               FECFrame: "normal"
                 MODCOD: [6 19]
                    DFL: 15928
          ScalingMethod: "outer radius as 1"
              HasPilots: 0
          RolloffFactor: 0.2500
    FilterSpanInSymbols: 10
       SamplesPerSymbol: 4
                  ISSYI: false

  Show all properties

Инициализируйте параметры моделирования.

numFramesPerStream = 1;                                         % Number of PL frames generated per stream
syncBits = [0 1 0 0 0 1 1 1]';                                  % Sync byte of TS packet (47 HEX)
pktLen = 1496;                                                  % User packet (UP) length without sync bits is 1496    
numPktsPerStream = s2WaveGen.MinNumPackets*numFramesPerStream;  % Number of packets required to fill data field per stream

Создание пакетов транспортного потока (TS) на поток.

data =  cell(s2WaveGen.NumInputStreams,1);
for i = 1:s2WaveGen.NumInputStreams
    txRawPkts = randi([0 1],pktLen,numPktsPerStream(i));
    txPkts = [repmat(syncBits,1,numPktsPerStream(i)); txRawPkts];
    data{i} = txPkts(:); 
end

Формирование DVB-S2 формы сигнала во временной области с использованием информационных битов. data.

txWaveform = s2WaveGen(data);

Создайте dsp. Объект системы анализатора для отображения спектра сигнала генерируемого сигнала DVB-S2 во временной области.

BW = 36e6;                                           % Typical satellite channel bandwidth
Fsym = BW/(1+s2WaveGen.RolloffFactor);
Fsamp = Fsym*s2WaveGen.SamplesPerSymbol;
spectrum = dsp.SpectrumAnalyzer('SampleRate',Fsamp);
spectrum(txWaveform);
release(spectrum);

Формирование формы сигнала DVB-S2X

В этом примере используются MAT-файлы с матрицами четности LDPC. Если MAT-файлы недоступны по пути, загрузите и распакуйте MAT-файлы, введя этот код в командной строке MATLAB.

if ~exist('s2xLDPCParityMatrices.zip', 'file')
    url = 'https://ssd.mathworks.com/supportfiles/spc/satcom/DVB/s2xLDPCParityMatrices.zip';
    websave('s2xLDPCParityMatrices.zip',url);
    unzip('s2xLDPCParityMatrices.zip');
addpath('s2xLDPCParityMatrices')
end

Создание расширенного (DVB-S2X) системного объекта цифрового видеотрансляционного спутника второго поколения и формы сигнала.

s2xWaveGen = dvbs2xWaveformGenerator % DVB-S2X object with defualt properties
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

Инициализируйте параметры моделирования.

numFrames = 3;                                 % Number of PL frames generated per stream
syncBits = [0 1 0 0 0 1 1 1]';                 % Sync byte of TS packet (47 HEX)
pktLen = 1496;                                 % User packet (UP) length without sync bits is 1496    
numPkts = s2xWaveGen.MinNumPackets*numFrames;  % Number of packets required to fill data field per stream

Создание пакетов транспортного потока (TS) на поток.

txRawPkts = randi([0 1], pktLen, numPkts);
txPkts = [repmat(syncBits, 1, numPkts);txRawPkts];
data = txPkts(:);

Формирование DVB-S2X формы сигнала во временной области с использованием информационных битов. data.

txWaveform = s2xWaveGen(data);

Ссылки

[1] Синхронизация TM и канальное кодирование. Рекомендация по стандартам системы космических данных. CCSDS 131.0-B-3. Синяя книга. Выпуск 3. Вашингтон, округ Колумбия: CCSDS, сентябрь 2017 года.

[2] Гибкая расширенная схема кодирования и модуляции для высокоскоростных телеметрических приложений. Рекомендация по стандартам системы космических данных. CCSDS 131.2-B-1. Синяя книга. Выпуск 1. Вашингтон, округ Колумбия: CCSDS, март 2012 года.

См. также

| | | |

Связанные темы