Сгенерируйте форму волны TM CCSDS
ccsdsTMWaveformGenerator
Система object™ генерирует Консультативный Комитет по Системам передачи и обработки данных Пробела (CCSDS) форма волны временного интервала Telemetry(TM). Объект реализует аспекты генерации сигналов стандартных синих книг CCSDS:
Примечание
Генерация сигналов поддержки объектов задана синхронизацией TM CCSDS и стандартом кодирования канала [1] и гибкая усовершенствованная схема кодирования и модуляции CCSDS высокого показателя стандарт TM [3]. Чтобы получить форму волны для любого из желаемого стандарта, установите WaveformSource
свойство.
Сгенерировать форму волны TM CCSDS:
Создайте ccsdsTMWaveformGenerator
объект и набор его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?
создает CCSDS по умолчанию Системный объект генератора формы волны TM.tmWaveGen
= ccsdsTMWaveformGenerator
Свойства наборов с помощью одной или нескольких пар "имя-значение". Например, tmWaveGen
= ccsdsTMWaveformGenerator(Name,Value
)ccsdsTMWaveformGenerator("WaveformSource","flexible advanced coding and modulation","ACMFormat",20)
задает источник формы волны TM CSSDS как гибкий усовершенствованный стандарт кодирования и модуляции с форматом ACM как 20 для сгенерированной формы волны.
Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их, и release
функция разблокировала их.
Если свойство является настраиваемым, можно изменить его значение в любое время.
Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты.
WaveformSource
— Источник формы волны ТМ CCSDS"synchronization and channel coding"
(значение по умолчанию) | "flexible advanced coding and modulation"
Источник формы волны ТМ CCSDS в виде одного из этих значений.
"synchronization and channel coding"
— Используйте эту опцию, чтобы установить форму волны на синхронизацию TM CCSDS и кодирование канала, как задано в CCSDS 131.0-B-3 [1].
"flexible advanced coding and modulation"
— Используйте эту опцию, чтобы установить форму волны на гибкое усовершенствованное кодирование CCSDS и модуляцию для высокого показателя приложения TM, как задано в CCSDS 131.2-B-1 [3].
Типы данных: char |
string
ACMFormat
— Формат ACM
(значение по умолчанию) | целое число в области значений [1, 27]Адаптивное кодирование и модуляция (ACM) формат в виде целого числа в области значений [1, 27], как задано в CCSDS 131.2-B-1 Раздел 5.2.4 Таблицы 5-2 [3].
Настраиваемый: да
Чтобы включить это свойство, установите WaveformSource
свойство к "flexible advanced coding and modulation"
.
Типы данных: double |
uint8
NumBytesInTransferFrame
— Количество байтов в одном передаваемом кадре
(значение по умолчанию) | целое число в области значений [1, 2048]Количество байтов в одном передаваемом кадре в виде целого числа в области значений [1, 2048].
Чтобы включить это свойство, одному из этих условий нужно удовлетворить:
Установите WaveformSource
свойство к "synchronization and channel coding"
и ChannelCoding
свойство к "none"
, "convolutional"
, или "LDPC"
на потоке синхронизации отметила передаваемый кадр (SMTF).
Установите WaveformSource
свойство к "flexible advanced coding and modulation"
. В этом случае, минимальное количество NumBytesInTransferFrame
223.
Для других значений ChannelCoding
, этот NumBytesInTransferFrame
свойство вычисляется внутренне на основе других свойств.
Типы данных: double |
uint16
HasRandomizer
— Опция для рандомизации данных
или true
(значение по умолчанию) | 0
или false
Опция для рандомизации данных в виде числового или logical
значение 1
TRUE
) или 0
ложь
). Установите это значение к 1
TRUE
) рандомизировать данные, существующие в модуле данных о доступе к каналу (CADU).
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
.
Когда вы устанавливаете ChannelCoding
свойство к "LDPC"
и IsLDPCOnSMTF
свойство к 1
TRUE
), это свойство не применимо, и установлено в 1
TRUE
).
Типы данных: double |
logical
HasASM
— Опция для вставки ASM
или true
(значение по умолчанию) | 0
или false
Опция для вставки присоединенного синхронизирующего маркера (ASM) в виде числового или logical
значение 1
TRUE
) или 0
ложь
). Установите это значение к 1
TRUE
) указать на данные в CADU присоединяется с ASM.
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
.
Когда вы устанавливаете ChannelCoding
свойство к "LDPC"
и IsLDPCOnSMTF
свойство к 1
TRUE
), это свойство не применимо, и установлено в 1
TRUE
).
Типы данных: double |
logical
PCMFormat
— Формат PCM"NRZ-L"
(значение по умолчанию) | "NRZ-M"
Формат импульсной модуляции кода (PCM), чтобы выбрать PCM, кодирующий в форме волны TM CCSDS в виде одного из этих значений.
"NRZ-L"
— NRZ-уровень
"NRZ-M"
— NRZ-метка
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
и Modulation
свойство к "BPSK"
, "QPSK"
, "8PSK"
, "OPSK"
, или "PCM/PSK/PM"
.
Типы данных: char |
string
ChannelCoding
— Передайте схему кодирования с коррекцией ошибок"RS"
(значение по умолчанию) | "none"
| "convolutional"
| "concatenated"
| "turbo"
| "LDPC"
Передайте схему кодирования с коррекцией ошибок в виде одного из этих значений.
"none"
"RS"
"convolutional"
"concatenated"
"turbo"
"LDPC"
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
.
Типы данных: char |
string
NumBitsInInformationBlock
— Количество битов в турбо или сообщении LDPC
(значение по умолчанию) | 1784
| 3568
| 8920
| 1024
| 4096
| 16384
Количество битов в турбо или более низкой проверке четности плотности (LDPC) обменивается сообщениями в виде одного из этих значений.
1784, 3568
, 7136
, или
8920
— Используйте одно из этих значений, когда вы установите ChannelCoding
свойство к "turbo"
.
1024, 4096
, 16384
, или
7136
— Используйте одно из этих значений, когда вы установите ChannelCoding
свойство к "LDPC"
.
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
и ChannelCoding
свойство к любому "turbo"
или "LDPC"
.
Типы данных: double |
uint8
ConvolutionalCodeRate
— Скорость кода сверточного кода
(значение по умолчанию) | "2/3"
| "3/4"
| "5/6"
| "7/8"
Скорость кода сверточного кода в виде того из этих значений.
"1/2"
"2/3"
"3/4"
"5/6"
"7/8"
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
и ChannelCoding
свойство к любому "convolutional"
или "concatenated"
.
Когда вы устанавливаете ChannelCoding
свойство к "concatenated"
, числовое значение скорости кода также зависит от составляющего кода Тростника-Solomon (RS). Можно получить фактическое числовое значение для любого кода от выходного поля ActualCodeRate
из info
объектная функция.
Типы данных: char |
string
CodeRate
— Скорость кода турбо или кода LDPC
(для турбокода) (значение по умолчанию) | "7/8"
(для кода LDPC) (значение по умолчанию) | "2/3"
| "1/3"
| "1/4"
| "1/6"
| "4/5"
Скорость кода турбо или кода LDPC в виде одного из этих значений.
"1/2", "1/3"
, "1/4"
, или
"1/6"
— Используйте одно из этих значений, когда вы установите ChannelCoding
свойство к "turbo"
.
"1/2", "2/3"
, "4/5"
, или
"7/8"
— Используйте одно из этих значений, когда вы установите ChannelCoding
свойство к "LDPC"
.
Примечание
Когда вы устанавливаете ChannelCoding
свойство к "LDPC"
и NumBitsInInformationBlock
свойство к 7136
, CodeRate
должен быть "7/8"
.
Для кода LDPC, установки CodeRate
к 7/8
подразумевает фактическое числовое значение скорости кода 223/255. Можно получить фактическое числовое значение для любого кода от выходного поля ActualCodeRate
из info
объектная функция.
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
и ChannelCoding
свойство к любому "turbo"
или "LDPC"
.
Типы данных: char |
string
RSMessageLength
— Количество байтов в одном RS передает блок
(значение по умолчанию) | 239
Количество байтов в одном RS передает блок в виде 223
или 239
.
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
и ChannelCoding
свойство к "RS"
или "concatenated"
.
Типы данных: double |
uint8
RSInterleavingDepth
— Перемежение глубины кода RS
(значение по умолчанию) | 2
| 3
| 4
| 5
| 8
Перемежение глубины кода RS в виде 1
, 2, 3
, 4
, 5
, или
8
. Чередующаяся глубина является количеством кодовых комбинаций RS в одном блоке кода.
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
и ChannelCoding
свойство к "RS"
или "concatenated"
.
Типы данных: double |
uint8
IsRSMessageShortened
— Опция, чтобы сократить код RS
или false
(значение по умолчанию) | 1
или true
Опция, чтобы сократить код RS в виде числового или logical
значение 0
ложь
) или 1
TRUE
). Установите это значение к 1
TRUE
) сокращать код RS.
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
и ChannelCoding
свойство к "RS"
или "concatenated"
.
Типы данных: double |
logical
RSShortenedMessageLength
— Количество байтов в RS сократило блок сообщения
(значение по умолчанию) | целое число в области значений [1, RSMessageLength
]Количество байтов в RS сократило блок сообщения в виде целого числа в области значений [1, RSMessageLength
].
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
, ChannelCoding
свойство к "RS"
или "concatenated"
, и IsRSMessageShortened
свойство к 1
TRUE
).
Типы данных: double |
uint8
IsLDPCOnSMTF
— Опция для использования LDPC на потоке SMTF
или false
(значение по умолчанию) | 1
или true
Опция для использования LDPC на потоке синхронизации отметила передаваемый кадр (SMTF) в виде числового или logical
значение 0
ложь
) или 1
TRUE
). Установите это значение к 1
TRUE
) указать на LDPC на потоке SMTF, как задано в CCSDS 131.0-B-3 Раздел 8 из синхронизации TM и стандарта кодирования канала [1]. Чтобы указать на LDPC на передаваемом кадре, установите это значение к 0
ложь
).
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
и ChannelCoding
свойство к "LDPC"
.
Типы данных: double |
logical
LDPCCodeBlockSize
— Количество кодовых комбинаций LDPC в блоке кода LDPC потока SMTF
(значение по умолчанию) | целое число в области значений [1, 8]Количество кодовых комбинаций LDPC в блоке кода LDPC потока SMTF в виде целого числа в области значений [1, 8].
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
, ChannelCoding
свойство к "LDPC"
, и IsLDPCOnSMTF
свойство к true
.
Типы данных: double |
uint8
Modulation
— Схема Modulation"QPSK"
(значение по умолчанию) | "BPSK"
| "8PSK"
| "OQPSK"
| "GMSK"
| "PCM/PSK/PM"
| "PCM/PM/biphase-L"
| "4D-8PSK-TCM"
Схема Modulation используется в форме волны TC CCSDS в виде одного из этих значений.
"QPSK"
"BPSK"
"8PSK"
"OQPSK"
"GMSK"
"PCM/PSK/PM"
"PCM/PM/biphase-L"
"4D-8PSK-TCM"
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
.
Типы данных: char |
string
PulseShapingFilter
— Импульсный формирующий фильтр"root raised cosine"
(значение по умолчанию) | "none"
Импульсный формирующий фильтр в виде "root raised cosine"
или "none"
.
Чтобы включить это свойство, одному из этих условий нужно удовлетворить:
Установите WaveformSource
свойство к "synchronization and channel coding"
и Modulation
свойство к "BPSK"
, "QPSK"
, "8PSK"
, или "4D-8PSK-TCM"
.
Установите WaveformSource
свойство to"flexible advanced coding and modulation"
.
Типы данных: char |
string
RolloffFactor
— Фактор спада основополосного фильтра SRRC
(значение по умолчанию) | скаляр в области значений [0, 1]Фактор спада основополосного фильтра квадратного корня повысил косинус (SRRC) в виде скаляра в области значений [0, 1].
Примечание
Это свойство не применимо, когда вы устанавливаете PulseShapingFilter
свойство к "none"
для любого значения WaveformSource
свойство.
Чтобы включить это свойство, одному из этих условий нужно удовлетворить:
Установите WaveformSource
свойство к "synchronization and channel coding"
и Modulation
свойство к любому "BPSK"
, "QPSK"
, "8PSK"
, "OQPSK"
, или "4D-8PSK-TCM"
.
Установите WaveformSource
свойство к "flexible advanced coding and modulation"
.
Типы данных: double
FilterSpanInSymbols
— Отфильтруйте промежуток в количестве символов
(значение по умолчанию) | положительное целое числоОтфильтруйте промежуток в количестве символов в виде положительного целого числа.
ccsdsTMWaveformGenerator
Системный объект обрезает бесконечную импульсную характеристику идеального корневого фильтра приподнятого косинуса к этому значению.
Примечание
Это свойство не применимо, когда вы устанавливаете PulseShapingFilter
свойство к "none"
для любого значения WaveformSource
свойство.
Чтобы включить это свойство, одному из этих условий нужно удовлетворить:
Установите WaveformSource
свойство к "synchronization and channel coding"
и Modulation
свойство к любому "BPSK"
, "QPSK"
, "8PSK"
, "OQPSK"
, или "4D-8PSK-TCM"
.
Установите WaveformSource
свойство к "flexible advanced coding and modulation"
.
Типы данных: double |
uint32
BandwidthTimeProduct
— Продукт времени полосы пропускания для модулятора GMSK
(значение по умолчанию) | 0.5
Продукт времени полосы пропускания для модулятора Гауссова минимального манипулирования сдвига (GMSK) в виде 0.25
или 0.5
.
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
и Modulation
свойство к "GMSK"
.
Типы данных: double
ModulationEfficiency
— КПД модуляции 4D-8PSK-TCM
(значение по умолчанию) | 2.25
| 2.5
| 2.75
КПД модуляции 4D-8PSK решетки закодировала модулятор (TCM) в виде 2
, 2.25, 2.5
, или
2.75
. Это свойство указывает на количество битов для каждого комплексного основополосного символа.
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
и Modulation
свойство к "4D-8PSK-TCM"
.
Типы данных: double
SubcarrierWaveform
— Тип формы волны к PSK - модулирует данные NRZ"sine"
(значение по умолчанию) | "square"
Тип формы волны к PSK - модулирует данные невозврата к нулю (NRZ) в виде "sine"
или "square"
.
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
и Modulation
свойство к "PCM/PSK/PM"
.
Типы данных: char |
string
ModulationIndex
— Индекс модуляции в остаточной фазовой модуляции несущей
(значение по умолчанию) | скаляр в области значений [0.2, 2]Индекс модуляции в остаточной фазовой модуляции несущей в виде скаляра в области значений [0.2, 2]. Модули исчисляются в радианах.
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
и Modulation
свойство к "PCM/PSK/PM"
или "PCM/PM/biphase-L"
.
Типы данных: double
SymbolRate
— Закодированный уровень символа
(значение по умолчанию) | положительная скалярная величинаЗакодированный уровень символа в Гц в виде положительной скалярной величины.
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
и Modulation
свойство к "PCM/PSK/PM"
.
Типы данных: double
SubcarrierToSymbolRateRatio
— Отношение частоты поднесущей к уровню символа
(значение по умолчанию) | целое число в области значений [1, 50]Отношение частоты поднесущей к уровню символа в виде целого числа в области значений [1, 50].
Чтобы включить это свойство, установите WaveformSource
свойство к "synchronization and channel coding"
и Modulation
свойство к "PCM/PSK/PM"
.
Типы данных: double |
uint8
SamplesPerSymbol
— Количество отсчетов на символ
(значение по умолчанию) | положительное целое числоКоличество отсчетов на символ в виде положительного целого числа.
Это свойство применимо для любого входного значения WaveformSource
свойство.
Чтобы включить это свойство, одному из этих условий нужно удовлетворить:
Установите Modulation
свойство к "OQPSK"
PCM/PSK/PM
, или "GMSK"
.
Установите PulseShapingFilter
к "root raised cosine"
.
Типы данных: double |
uint8
HasPilots
— Опция для вставки экспериментальных символов
или false
(значение по умолчанию) | 1
или true
Опция для вставки экспериментальных символов в данных в виде числового или logical
значение 0
ложь
) или 1
TRUE
). Установите это значение к 1
TRUE
) чтобы указать на пилотов вставляются, как описано в гибкой усовершенствованной схеме кодирования и модуляции CCSDS высокого показателя стандарт TM [3].
Чтобы включить это свойство, установите WaveformSource
свойство к "flexible advanced coding and modulation"
.
Типы данных: double |
logical
ScramblingCodeNumber
— Скремблирование номера кода
(значение по умолчанию) | целое число в области значений [0, (218 – 2)]Скремблирование номера кода для гибкого усовершенствованного кодирования и модуляции для высокого показателя стандарт приложений TM [3] в виде целого числа в области значений [0, (218 – 2)].
ScramblingCodeNumber
используется, чтобы рандомизировать комплексные основополосные символы.
Чтобы включить это свойство, установите WaveformSource
свойство к "flexible advanced coding and modulation"
.
Типы данных: double |
uint32
NumInputBits
— Минимальное количество битов, требуемых сгенерировать форму волныЭто свойство доступно только для чтения.
Минимальное количество входных битов, чтобы сгенерировать форму волны, возвращенную как целое число.
Количество входных битов должно быть целочисленным кратным NumInputBits
.
Типы данных: double
MinNumTransferFrames
— Минимальное количество передаваемых кадров для непустого выходаЭто свойство доступно только для чтения.
Минимальное количество передаваемых кадров для непустого Системного объекта выходной параметр, возвращенный как целое число.
Когда вы устанавливаете WaveformSource
свойство к "flexible advanced coding and modulation"
, или к "synchronization and channel coding"
с IsLDPCOnSMTF
набор свойств к 1
TRUE
), Системный объект, выход пуст, пока это не имеет достаточный вход к процессу посредством кодирования канала и модуляции.
Типы данных: double
генерирует форму волны временного интервала TM CCSDS для соответствующих входных битов.txWaveform
= tmWaveGen(bits
)
[
также возвращает биты, полученные после синхронизации TM и канала, кодирующего операции подуровня.txWaveform
,encodedBits
] = tmWaveGen(bits
)
bits
— Информационные битыИнформационные биты, в форме передаваемых кадров в виде вектор-столбца с бинарным знаком. Длина этого вектора должна быть целочисленным кратным количество битов в одном передаваемом кадре. NumInputBits
свойство указывает на количество битов в одном передаваемом кадре.
Типы данных: double |
int8
| logical
txWaveform
— Сгенерированная форма волны временного интервала TM CCSDSСгенерированная форма волны временного интервала TM CCSDS, возвращенная как вектор-столбец. Этот выход сгенерирован в форме комплексных выборок синфазной квадратуры (IQ).
Типы данных: double
Поддержка комплексного числа: Да
encodedBits
— Выведите биты, полученные после синхронизации TM и канала, кодирующего операции подуровняВыведите биты, полученные после синхронизации TM и канала, кодирующего операции подуровня, возвращенные как вектор-столбец с бинарным знаком.
Типы данных: double |
int8
| logical
Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj
, используйте этот синтаксис:
release(obj)
ccsdsTMWaveformGenerator
info | Характеристическая информация об объекте |
flushFilter | Сбросьте фильтр передачи |
step | Запустите алгоритм Системного объекта |
release | Высвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики |
clone | Создайте объект дублированной системы |
isLocked | Определите, используется ли Системный объект |
reset | Сбросьте внутренние состояния Системного объекта |
Сгенерируйте Консультативный Комитет по Системам передачи и обработки данных Пробела (CCSDS) форма волны Telemetry(TM) для синхронизации и стандарта кодирования канала для нескольких передаваемых кадров. Визуализируйте форму волны при помощи графика спектра.
Создайте Системный объект CCSDS TM. Установите тип формы волны как synchronization and channel coding
с модулируемыми GMSK каскадными кодами.
tmWaveGen = ccsdsTMWaveformGenerator; tmWaveGen.WaveformSource = "synchronization and channel coding"; tmWaveGen.ChannelCoding = "concatenated"; tmWaveGen.Modulation = "GMSK"; tmWaveGen.RSMessageLength = 239; tmWaveGen.RSInterleavingDepth = 2; tmWaveGen.BandwidthTimeProduct = 0.5; disp(tmWaveGen)
ccsdsTMWaveformGenerator with properties: WaveformSource: "synchronization and channel coding" HasRandomizer: true HasASM: true Channel coding ChannelCoding: "concatenated" ConvolutionalCodeRate: "1/2" RSMessageLength: 239 RSInterleavingDepth: 2 IsRSMessageShortened: false Digital modulation and filter Modulation: "GMSK" BandwidthTimeProduct: 0.5000 SamplesPerSymbol: 10 Use get to show all properties
Задайте количество передаваемых кадров.
numTF = 15;
waveform = []; % Initialize waveform as null
Сгенерируйте форму волны TM CCSDS для синхронизации и стандарта кодирования канала при помощи нескольких вызовов Системного объекта.
rng default % For reproducible results for iTF = 1:numTF bits = randi([0 1],tmWaveGen.NumInputBits,1); waveform = [waveform; tmWaveGen(bits)]; end
Создайте dsp.SpectrumAnalyzer
Системный объект, чтобы отобразить спектр частоты сгенерированной формы волны временного интервала TM CCSDS.
BW = 36e6; % Typical satellite channel bandwidth Fsamp = tmWaveGen.SamplesPerSymbol*BW; scope = dsp.SpectrumAnalyzer('SampleRate',Fsamp,... 'AveragingMethod','Exponential'); scope(waveform)
Сгенерируйте Консультативный Комитет по Системам передачи и обработки данных Пробела (CCSDS) форма волны Telemetry(TM) для гибкой усовершенствованной схемы кодирования и модуляции высокого показателя стандарт приложений TM одной системы координат физического уровня (PL). Визуализируйте форму волны при помощи графика рассеивания.
Создайте Системный объект CCSDS TM, и затем задайте его свойства.
tmWaveGen = ccsdsTMWaveformGenerator; tmWaveGen.WaveformSource = "flexible advanced coding and modulation"; tmWaveGen.ACMFormat = 17; % 16APSK tmWaveGen.PulseShapingFilter = "none"; disp(tmWaveGen)
ccsdsTMWaveformGenerator with properties: WaveformSource: "flexible advanced coding and modulation" ACMFormat: 17 NumBytesInTransferFrame: 223 Channel coding No properties. Digital modulation and filter PulseShapingFilter: "none" HasPilots: false ScramblingCodeNumber: 0 Use get to show all properties
Вычислите количество передаваемых кадров в одной системе координат PL.
NumTFInOnePL = tmWaveGen.MinNumTransferFrames*16; % One PL frame consists of 16 codewords, as specified in the standard waveform = []; % Initialize waveform as null
Сгенерируйте форму волны TM CCSDS для гибкой усовершенствованной схемы кодирования и модуляции высокого показателя стандарт приложений TM.
rng default % For reproducible results for iTF = 1:NumTFInOnePL bits = randi([0 1],tmWaveGen.NumInputBits,1); waveform = [waveform; tmWaveGen(bits)]; end
Отобразите график рассеивания созвездия для сгенерированной формы волны.
scatterplot(waveform);
legend off;
Получите информацию от ccsdsTMWaveformGenerator
Системный объект при помощи info
функция. Затем получите выборки невязки фильтра при помощи flushFilter
объектная функция.
Создайте Консультативный Комитет по Системам передачи и обработки данных Пробела (CCSDS) Системный объект Telemetry(TM). Установите тип формы волны как synchronization and channel coding
с кодированием канала имеющей малую плотность проверки четности (LDPC). Отобразите свойства.
tmWaveGen = ccsdsTMWaveformGenerator; tmWaveGen.WaveformSource = "synchronization and channel coding"; tmWaveGen.ChannelCoding = "LDPC"; tmWaveGen.NumBitsInInformationBlock = 1024; tmWaveGen.Modulation = "QPSK"; tmWaveGen.CodeRate = "1/2"; disp(tmWaveGen)
ccsdsTMWaveformGenerator with properties: WaveformSource: "synchronization and channel coding" HasRandomizer: true HasASM: true PCMFormat: "NRZ-L" Channel coding ChannelCoding: "LDPC" NumBitsInInformationBlock: 1024 CodeRate: "1/2" IsLDPCOnSMTF: false Digital modulation and filter Modulation: "QPSK" PulseShapingFilter: "root raised cosine" RolloffFactor: 0.3500 FilterSpanInSymbols: 10 SamplesPerSymbol: 10 Use get to show all properties
Задайте количество передаваемых кадров.
numTF = 20;
Получите характеристическую информацию о генераторе формы волны TM CCSDS.
info(tmWaveGen)
ans = struct with fields:
ActualCodeRate: 0.5000
NumBitsPerSymbol: 2
SubcarrierFrequency: []
Сгенерируйте входные биты для генератора формы волны TM CCSDS, и затем сгенерируйте форму волны.
bits = randi([0 1], tmWaveGen.NumInputBits*numTF,1); waveform = tmWaveGen(bits);
Проверяйте выборки данных о невязке фильтра, которые остаются в задержке фильтра.
flushFilter(tmWaveGen)
ans = 100×1 complex
-0.0772 - 0.0867i
-0.0751 - 0.0859i
-0.0673 - 0.0788i
-0.0549 - 0.0654i
-0.0388 - 0.0469i
-0.0200 - 0.0250i
0.0002 - 0.0012i
0.0208 + 0.0227i
0.0405 + 0.0453i
0.0587 + 0.0653i
⋮
[1] CCSDS 131.0-B-3. Синяя книга. Выпуск 3. "Синхронизация TM и кодирование канала". Рекомендация для стандартов системы передачи и обработки данных пробела. Вашингтон, округ Колумбия: CCSDS, сентябрь 2017.
[2] CCSDS 401.0-B-30. Синяя книга. Выпуск 30. "Радиочастота и системы модуляции - часть 1: заземлите станции и космический аппарат". Рекомендация для стандартов системы передачи и обработки данных пробела. Вашингтон, округ Колумбия: CCSDS, февраль 2020.
[3] CCSDS 131.2-B-1. Синяя книга. Выпуск 1. "Гибкая усовершенствованная схема кодирования и модуляции телеметрических приложений высокого показателя". Рекомендация для стандартов системы передачи и обработки данных пробела. Вашингтон, округ Колумбия: CCSDS, март 2012.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.