구성 객체 또는 System object 만들기
Satellite Communications Toolbox 구성과 System object™는 객체 속성을 초기화하고, 저장하고, 검증합니다. 이러한 속성은 표준별 파형을 정의하는 파라미터에 해당합니다.
여기에서 설명하는 다양한 객체를 만든 후 이를 사용하여 파형을 생성할 수 있습니다. 툴박스에 있는 함수는 관련 객체 속성을 사용하여 파형의 송신과 수신에 필요한 파라미터 설정을 초기화합니다.
DVB-S2 객체 만들기
이 예제에서는 DVB-S2(Digital Video Broadcasting Satellite Second Generation) System object를 만드는 방법을 보여줍니다. 또한 점 표기법을 사용하거나, 객체를 만들 때 Name=Value 인수를 사용해 디폴트 설정을 재정의하여 디폴트 속성 설정을 변경하는 방법도 보여줍니다.
객체를 만든 다음 속성 수정하기
디폴트 설정을 사용하여 DVB-S2 System object를 만듭니다.
s2WaveGen = dvbs2WaveformGenerator
s2WaveGen =
dvbs2WaveformGenerator with properties:
StreamFormat: "TS"
NumInputStreams: 1
FECFrame: "normal"
MODCOD: 1
DFL: 15928
HasPilots: 0
RolloffFactor: 0.3500
FilterSpanInSymbols: 10
SamplesPerSymbol: 4
Show all properties
디폴트 값을 수정하여 다중 입력 일반 스트림과 각 스트림의 데이터 필드 길이(DFL)를 지정합니다.
s2WaveGen.StreamFormat = "GS";
s2WaveGen.NumInputStreams = 3;
s2WaveGen.DFL = [44500 51387 42960]s2WaveGen =
dvbs2WaveformGenerator with properties:
StreamFormat: "GS"
NumInputStreams: 3
UPL: 0
FECFrame: "normal"
MODCOD: 1
DFL: [44500 51387 42960]
HasPilots: 0
RolloffFactor: 0.3500
FilterSpanInSymbols: 10
SamplesPerSymbol: 4
객체 생성 중 디폴트 속성값 재정의하기
Name=Value 인수를 사용하여 짧은 FEC 프레임 형식의 단일 입력 전송 스트림과 지정된 변조 방식 및 FEC 비율(MODCOD)을 갖는 DVB-S2 System object를 만듭니다.
s2WaveGen = dvbs2WaveformGenerator(FECFrame="short",MODCOD=10)s2WaveGen =
dvbs2WaveformGenerator with properties:
StreamFormat: "TS"
NumInputStreams: 1
FECFrame: "short"
MODCOD: 10
DFL: 15928
HasPilots: 0
RolloffFactor: 0.3500
FilterSpanInSymbols: 10
SamplesPerSymbol: 4
Show all properties
DVB-S2X 객체 만들기
이 예제에서는 DVB-S2X(Digital Video Broadcasting Satellite Second Generation extended) System object™를 만드는 방법을 보여줍니다. 또한 점 표기법을 사용하거나, 객체를 만들 때 Name=Value 인수를 사용해 디폴트 설정을 재정의하여 디폴트 속성 설정을 변경하는 방법도 보여줍니다.
객체를 만든 다음 속성 수정하기
디폴트 설정을 사용하여 DVB-S2X System object를 만듭니다.
s2xWaveGen = dvbs2xWaveformGenerator
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
디폴트 값을 수정하여 시간 슬라이싱이 활성화된 다중 입력 전송 스트림을 지정합니다.
s2xWaveGen.NumInputStreams = 4; s2xWaveGen.HasTimeSlicing = true
s2xWaveGen =
dvbs2xWaveformGenerator with properties:
StreamFormat: "TS"
HasTimeSlicing: true
NumInputStreams: 4
PLSDecimalCode: 132
DFL: 18448
PLScramblingIndex: 0
RolloffFactor: 0.3500
FilterSpanInSymbols: 10
SamplesPerSymbol: 4
ISSYI: false
Show all properties
객체 생성 중 디폴트 속성값 재정의하기
Name=Value 인수를 사용해 DVB-S2X System object를 만들면서, 매우 낮은 신호 대 잡음비(VL-SNR) 프레임 세트 2를 지정하고 변조 방식과 코드율을 BPSK 1/5로 지정합니다.
s2xWaveGen = dvbs2xWaveformGenerator("PLSDecimalCode",131,"CanonicalMODCODName","BPSK 1/5")
s2xWaveGen =
dvbs2xWaveformGenerator with properties:
StreamFormat: "TS"
HasTimeSlicing: false
NumInputStreams: 1
PLSDecimalCode: 131
CanonicalMODCODName: "BPSK 1/5"
DFL: 18448
PLScramblingIndex: 0
RolloffFactor: 0.3500
FilterSpanInSymbols: 10
SamplesPerSymbol: 4
Show all properties
DVB-RCS2 객체 만들기
이 예제에서는 DVB-RCS2(Digital Video Broadcasting Second Generation Return Channel over Satellite) System object를 만드는 방법을 보여줍니다. 또한 점 표기법을 사용하거나, 객체를 만들 때 Name=Value 인수를 사용해 디폴트 설정을 재정의하여 디폴트 속성 설정을 변경하는 방법도 보여줍니다.
객체를 만든 다음 속성 수정하기
디폴트 설정을 사용하여 DVB-RCS2 System object를 만듭니다.
wg = dvbrcs2WaveformGenerator
wg =
dvbrcs2WaveformGenerator with properties:
TransmissionFormat: "TC-LM"
ContentType: "traffic"
IsCustomWaveform: false
WaveformID: 1
PreBurstGuardLength: 0
PostBurstGuardLength: 0
FilterSpanInSymbols: 10
SamplesPerSymbol: 4
Read-only:
FramePDULength: 272
디폴트 값을 수정하여 송신 형식과 버스트 콘텐츠 유형을 지정합니다.
wg.TransmissionFormat = "SS-TC-LM"; wg.ContentType = "logon"
wg =
dvbrcs2WaveformGenerator with properties:
TransmissionFormat: "SS-TC-LM"
ContentType: "logon"
IsCustomWaveform: false
WaveformID: 1
PreBurstGuardLength: 0
PostBurstGuardLength: 0
FilterSpanInSymbols: 10
SamplesPerSymbol: 4
Read-only:
FramePDULength: 784
객체 생성 중 디폴트 속성값 재정의하기
Name=Value 인수를 사용해 DVB-RCS2 System object를 만들면서, 이 객체에 대해 버스트 앞 가드 길이가 4인 사용자 지정 파형을 지정합니다.
wg = dvbrcs2WaveformGenerator(IsCustomWaveform=true,PreBurstGuardLength=4)
wg =
dvbrcs2WaveformGenerator with properties:
TransmissionFormat: "TC-LM"
ContentType: "traffic"
IsCustomWaveform: true
PreBurstGuardLength: 4
PostBurstGuardLength: 0
FilterSpanInSymbols: 10
SamplesPerSymbol: 4
PayloadLengthInBytes: 10
Coding and Modulation:
MappingScheme: "pi/2-BPSK"
CodeRate: "1/3"
PermutationParameters: [9 0 0 0 0]
Unique Word:
PreambleLength: 8
PostambleLength: 8
PilotPeriod: 0
PilotBlockLength: 1
UniqueWord: "FFFF"
Read-only:
FramePDULength: 48
CCSDS HPE 객체 만들기
CCSDS(Consultative Committee for Space Data Systems) optical HPE(high photon efficiency) System object를 만듭니다. 점 표기법을 사용하거나, 객체를 만들 때 Name=Value 인수를 사용해 디폴트 설정을 재정의하여 디폴트 속성 설정을 변경합니다.
이 객체는 CCSDS HPE TM(Telemetry) 유형과 비콘 및 데이터(beacon-and-data) 유형의 두 가지 송신 유형을 지원합니다.
기본적으로 송신 유형은 텔레메트리로 설정되어 있습니다.
객체를 만든 다음 속성 수정하기
디폴트 설정을 사용하여 CCSDS HPE TM System object를 만듭니다.
hpeWaveform = ccsdsHPEWaveformGenerator
hpeWaveform =
ccsdsHPEWaveformGenerator with properties:
TransmissionType: "telemetry"
NumBytesInTransferFrame: 223
NumBitsInInformationBlock: 7526
PPMOrder: 16
RepeatFactor: 1
IsEndOfTransmission: 1
Show all properties
디폴트 값을 수정하여 PPM 차수를 4로 지정하고 정보 블록의 비트 수를 5006으로 지정합니다.
hpeWaveform.PPMOrder = 4; hpeWaveform.NumBitsInInformationBlock = 5006
hpeWaveform =
ccsdsHPEWaveformGenerator with properties:
TransmissionType: "telemetry"
NumBytesInTransferFrame: 223
NumBitsInInformationBlock: 5006
PPMOrder: 4
RepeatFactor: 1
IsEndOfTransmission: 1
Show all properties
객체 생성 중 디폴트 속성값 재정의하기
Name=Value 인수를 사용해 CCSDS optical HPE System object를 만들면서, 송신 유형을 비콘 및 데이터로 지정하고 비콘 길이를 4000으로 지정합니다.
hpeWaveform = ccsdsHPEWaveformGenerator(TransmissionType="beacon-and-data",BeaconLength=4000)hpeWaveform =
ccsdsHPEWaveformGenerator with properties:
TransmissionType: "beacon-and-data"
BeaconLength: 4000
NumBytesInTransferFrame: 223
NumBitsInInformationBlock: 7526
HasChannelInterleaver: 1
PNSpreadFactor: 1
IsEndOfTransmission: 1
Show all properties
CCSDS TM 객체 만들기
이 예제에서는 CCSDS(Consultative Committee for Space Data Systems) TM(Telemetry) System object를 만드는 방법을 보여줍니다. 또한 점 표기법을 사용하거나, 객체를 만들 때 Name,Value 쌍을 사용해 디폴트 설정을 재정의하여 디폴트 속성 설정을 변경하는 방법도 보여줍니다.
System object ccsdsTMWaveformGenerator는 WaveformSource 속성에 대한 입력 유형에 따라 다음 두 가지 CCSDS TM 표준을 지원합니다.
CCSDS TM synchronization and channel coding standard (CCSDS 131.0-B-3)
CCSDS flexible advanced coding and modulation scheme for high rate telemetry standard (CCSDS 131.2-B-1)
이 객체의 디폴트 표준은 CCSDS TM 동기화 및 채널 코딩입니다.
객체를 만든 다음 속성 수정하기
디폴트 설정을 사용하여 CCSDS TM System object를 만듭니다.
tmWaveGen = ccsdsTMWaveformGenerator
tmWaveGen =
ccsdsTMWaveformGenerator with properties:
WaveformSource: "synchronization and channel coding"
HasRandomizer: true
HasASM: true
PCMFormat: "NRZ-L"
Channel coding
ChannelCoding: "RS"
RSMessageLength: 223
RSInterleavingDepth: 1
IsRSMessageShortened: false
Digital modulation and filter
Modulation: "QPSK"
PulseShapingFilter: "root raised cosine"
RolloffFactor: 0.3500
FilterSpanInSymbols: 10
SamplesPerSymbol: 10
Show all properties
디폴트 값을 수정하여 터보 코드와 QPSK 변조에 대해 지정합니다.
tmWaveGen.ChannelCoding = "turbo"; tmWaveGen.Modulation = "QPSK"
tmWaveGen =
ccsdsTMWaveformGenerator with properties:
WaveformSource: "synchronization and channel coding"
HasRandomizer: true
HasASM: true
PCMFormat: "NRZ-L"
Channel coding
ChannelCoding: "turbo"
NumBitsInInformationBlock: 7136
CodeRate: "1/2"
Digital modulation and filter
Modulation: "QPSK"
PulseShapingFilter: "root raised cosine"
RolloffFactor: 0.3500
FilterSpanInSymbols: 10
SamplesPerSymbol: 10
Show all properties
객체 생성 중 디폴트 속성값 재정의하기
Name=Value 인수를 사용해 CCSDS TM System object를 만들면서, "flexible advanced coding and modulation scheme for high rate TM applications" 표준에 맞게 객체를 지정하고 ACM 형식을 9로 지정합니다.
tmWaveGen = ccsdsTMWaveformGenerator(WaveformSource="flexible advanced coding and modulation",ACMFormat=9)tmWaveGen =
ccsdsTMWaveformGenerator with properties:
WaveformSource: "flexible advanced coding and modulation"
ACMFormat: 9
NumBytesInTransferFrame: 223
Channel coding
No properties.
Digital modulation and filter
PulseShapingFilter: "root raised cosine"
RolloffFactor: 0.3500
FilterSpanInSymbols: 10
SamplesPerSymbol: 10
HasPilots: false
ScramblingCodeNumber: 0
Show all properties
CCSDS TC 구성 객체 만들기
이 예제에서는 CCSDS(Consultative Committee for Space Data Systems) TC(Telecommand) 구성 객체를 만드는 방법을 보여줍니다. 또한 점 표기법을 사용하거나, 객체를 만들 때 Name=Value 인수를 사용해 디폴트 설정을 재정의하여 디폴트 속성 설정을 변경하는 방법도 보여줍니다.
객체를 만든 다음 속성 수정하기
디폴트 설정을 사용하여 CCSDS TC 구성 객체를 만듭니다.
cfg = ccsdsTCConfig
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"
BPSK 변조 방식에 맞춰 지정하기 위해 디폴트 값을 수정합니다.
cfg.Modulation = "BPSK"cfg =
ccsdsTCConfig with properties:
DataFormat: "CLTU"
ChannelCoding: "BCH"
HasRandomizer: 1
Modulation: "BPSK"
객체 생성 중 디폴트 속성값 재정의하기
Name=Value 인수를 사용해 CCSDS TC 구성 객체를 만들면서, 코드워드 길이가 512인 LDPC 코드를 지정합니다.
cfg = ccsdsTCConfig(ChannelCoding="LDPC",LDPCCodewordLength=512)cfg =
ccsdsTCConfig with properties:
DataFormat: "CLTU"
ChannelCoding: "LDPC"
LDPCCodewordLength: 512
Modulation: "PCM/PSK/PM"
PCMFormat: "NRZ-L"
ModulationIndex: 0.4000
SubcarrierFrequency: 16000
SymbolRate: 4000
SamplesPerSymbol: 10
Read-only properties:
SubcarrierWaveform: "sine"
참고 문헌
[1] TM Synchronization and Channel Coding. Recommendation for Space Data System Standards. CCSDS 131.0-B-3. Blue Book. Issue 3. Washington, D.C.: CCSDS, September 2017.
[2] Flexible Advanced Coding and Modulation Scheme for High Rate Telemetry Applications. Recommendation for Space Data System Standards. CCSDS 131.2-B-1. Blue Book. Issue 1. Washington, D.C.: CCSDS, March 2012.
참고 항목
dvbs2WaveformGenerator | dvbs2xWaveformGenerator | dvbrcs2WaveformGenerator | ccsdsHPEWaveformGenerator | ccsdsTMWaveformGenerator | ccsdsTCConfig