После создания необходимых объектов, описанных в разделе Создание конфигурации или Системные объекты, эти объекты можно использовать для создания требуемой формы сигнала. Измените параметры объекта и постройте график сигналов.
В каждом разделе этих примеров вы:
Создайте специфичный для формата объект конфигурации или системный object™.
Создайте вектор столбца или массив ячеек векторов столбца информационных битов для генерации формы сигнала.
Создайте специфичный для формата сигнал и постройте его график.
Создание объекта конфигурации и формы сигнала Консультативного комитета по системам космических данных (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)

Создание объекта системы телеметрии (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 propertiestmWaveGen =
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)

Создание системного объекта и формирование формы сигнала для гибкой расширенной схемы кодирования и модуляции 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 standardNumTFInOnePLFrame = 192
waveform = []; % Initialize waveform as null % Generate waveform for iTF = 1:NumTFInOnePLFrame bits = randi([0 1], tmWaveGen.NumInputBits, 1); waveform = [waveform;tmWaveGen(bits)]; end
В этом примере используются 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);

В этом примере используются 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 propertiess2xWaveGen =
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 года.
ccsdsTCConfig | ccsdsTCWaveform | ccsdsTMWaveformGenerator | dvbs2WaveformGenerator | dvbs2xWaveformGenerator