주요 콘텐츠

구성 객체 또는 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 ccsdsTMWaveformGeneratorWaveformSource 속성에 대한 입력 유형에 따라 다음 두 가지 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.

참고 항목

| | | | |

도움말 항목