info

Характеристическая информация об объекте

    Синтаксис

    Описание

    пример

    s = info(obj) возвращает структуру, содержащую характеристическую информацию заданного входного объекта obj.

    Примеры

    свернуть все

    Получите информацию от dvbs2WaveformGenerator Системный объект при помощи info функция. Затем получите выборки невязки фильтра при помощи flushFilter объектная функция.

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

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

    Задайте количество систем координат физического уровня (PL) на поток.

    numFrames = 1;

    Создайте стандарт Цифрового телевидения (DVB-S2) Системный объект, и затем задайте его свойства.

    s2WaveGen = dvbs2WaveformGenerator;
    s2WaveGen.NumInputStreams = 2;
    s2WaveGen.MODCOD = [21 16];
    s2WaveGen.DFL   = 47008;
    s2WaveGen.ISSYI = true;
    s2WaveGen.SamplesPerSymbol = 2;
    disp(s2WaveGen)
      dvbs2WaveformGenerator with properties:
    
               StreamFormat: "TS"
            NumInputStreams: 2
                   FECFrame: "normal"
                     MODCOD: [21 16]
                        DFL: 47008
              ScalingMethod: "outer radius as 1"
                  HasPilots: 0
              RolloffFactor: 0.3500
        FilterSpanInSymbols: 10
           SamplesPerSymbol: 2
                      ISSYI: true
                 ISCRFormat: "short"
    
      Show all properties
    

    Получите характеристическую информацию о генераторе формы волны DVB-S2.

    info(s2WaveGen)
    ans = struct with fields:
          ModulationScheme: {'16APSK'  '8PSK'}
        LDPCCodeIdentifier: {'5/6'  '8/9'}
    
    

    Создайте битовый вектор битов информации о входе, data, из конкатенированных пользовательских пакетов TS.

    syncBits = [0 1 0 0 0 1 1 1]';       % Sync byte for TS packet is 47 Hex
    pktLen = 1496;                       % UP length without sync bits is 1496
    data =  cell(1,s2WaveGen.NumInputStreams);
    for i = 1:s2WaveGen.NumInputStreams
        numPkts = s2WaveGen.MinNumPackets(i)*numFrames;
        txRawPkts = randi([0 1],pktLen,numPkts);
        ISSY = randi([0 1],16,numPkts);   % ISCRFormat is 'short' by default
                                          % 'short' implies the default length of ISSY as 2 bytes
        txPkts = [repmat(syncBits,1,numPkts);txRawPkts;ISSY];    % ISSY is appended at the end of UP
        data{i} = txPkts(:);
    end

    Сгенерируйте форму волны временного интервала DVB-S2 с помощью информационных битов.

    txWaveform = [s2WaveGen(data)];

    Проверяйте выборки данных о невязке фильтра, которые остаются в задержке фильтра.

    flushFilter(s2WaveGen)
    ans = 20×1 complex
    
       0.0153 + 0.4565i
       0.2483 + 0.5535i
       0.3527 + 0.3972i
       0.3541 - 0.0855i
       0.3505 - 0.4071i
       0.4182 - 0.1962i
       0.5068 + 0.0636i
       0.4856 - 0.1532i
       0.3523 - 0.4153i
       0.1597 - 0.2263i
          ⋮
    
    

    Получите информацию от dvbs2xWaveformGenerator Системный объект при помощи info функция. Затем получите выборки невязки фильтра при помощи flushFilter объектная функция.

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

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

    Задайте количество систем координат физического уровня (PL) на поток.

    numFrames = 2;

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

    s2xWaveGen = dvbs2xWaveformGenerator();
    s2xWaveGen.HasTimeSlicing = true;
    s2xWaveGen.NumInputStreams = 2;
    s2xWaveGen.PLSDecimalCode = [135 145];   % QPSK 9/20 and 8PSK 25/36
    s2xWaveGen.DFL = [18048 44656];
    s2xWaveGen.PLScramblingIndex = [0 1];
    disp(s2xWaveGen)
      dvbs2xWaveformGenerator with properties:
    
               StreamFormat: "TS"
             HasTimeSlicing: true
            NumInputStreams: 2
             PLSDecimalCode: [135 145]
                        DFL: [18048 44656]
          PLScramblingIndex: [0 1]
              RolloffFactor: 0.3500
        FilterSpanInSymbols: 10
           SamplesPerSymbol: 4
                      ISSYI: false
    
      Show all properties
    

    Получите характеристическую информацию о генераторе формы волны DVB-S2X.

    info(s2xWaveGen)
    ans = struct with fields:
                  FECFrame: {'normal'  'normal'}
          ModulationScheme: {'QPSK'  '8PSK'}
        LDPCCodeIdentifier: {'9/20'  '25/36'}
    
    

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

    syncBits = [0 1 0 0 0 1 1 1]';       % Sync byte for TS packet is 47 Hex
    pktLen = 1496;                       % UP length without sync bits is 1496
    data =  cell(1, s2xWaveGen.NumInputStreams);
    for i = 1:s2xWaveGen.NumInputStreams
        numPkts = s2xWaveGen.MinNumPackets(i)*numFrames;
        txRawPkts = randi([0 1], pktLen, numPkts);
        txPkts = [repmat(syncBits, 1, numPkts); txRawPkts];
        data{i} = txPkts(:);
    end

    Сгенерируйте форму волны временного интервала DVB-S2X с помощью информационных битов.

    txWaveform = s2xWaveGen(data);

    Проверяйте выборки данных о невязке фильтра, которые остаются в задержке фильтра.

    flushFilter(s2xWaveGen)
    ans = 40×1 complex
    
      -0.2412 - 0.0143i
      -0.2619 - 0.0861i
      -0.2726 - 0.1337i
      -0.2511 - 0.1597i
      -0.1851 - 0.1680i
      -0.0780 - 0.1602i
       0.0448 - 0.1288i
       0.1598 - 0.0751i
       0.2482 - 0.0049i
       0.3026 + 0.0702i
          ⋮
    
    

    Получите информацию от 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 properties:
                    ChannelCoding: "LDPC"
        NumBitsInInformationBlock: 1024
                         CodeRate: "1/2"
                     IsLDPCOnSMTF: false
    
       Digital modulation and filter properties:
                       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
          ⋮
    
    

    Получите информацию от etsiRicianChannel Системный объект при помощи info объектная функция.

    Создайте Системный объект канала Института европейских стандартов по связи (ETSI) Rician, и затем задайте его свойства.

    chan = etsiRicianChannel;
    chan.SampleRate = 2e5;     
    chan.KFactor = 10;
    chan.MaximumDopplerShift = 20;
    chan.NumSinusoids = 58;
    disp(chan)
      etsiRicianChannel with properties:
    
                 SampleRate: 200000
                    KFactor: 10
        MaximumDopplerShift: 20
    
      Use get to show all properties
    

    Передайте данные через канал.

    txWaveform = randi([0 1],500,1);
    rxWaveform = chan(txWaveform);

    Получите характеристическую информацию о ETSI Rician канал.

    info(chan)
    ans = struct with fields:
               ChannelFilterDelay: 0
        ChannelFilterCoefficients: 1
              NumSamplesProcessed: 500
    
    

    Входные параметры

    свернуть все

    Входной объект, чтобы получить информацию от в виде dvbs2WaveformGenerator, dvbs2xWaveformGenerator, ccsdsTMWaveformGenerator, или etsiRicianChannel Система object™.

    Выходные аргументы

    свернуть все

    Характеристическая информация заданного объекта, возвращенного как структура. Поля структуры зависят от obj входной параметр.

    • Если obj dvbs2WaveformGenerator Системный объект, структура output имеет эти поля, состоя из информации о физическом уровне о генераторе формы волны DVB-S2.

      Поле ЗначениеОписание
      ModulationSchemeСтроковый скаляр (значение по умолчанию) или массив ячеек из символьных векторовСхема Modulation, возвращенная как строковый скаляр для потока одно входа и массива ячеек из символьных векторов длины, равняется NumInputStreams свойство dvbs2WaveformGenerator объект для мультивходных потоков.
      LDPCCodeIdentifierСтроковый скаляр (значение по умолчанию) или массив ячеек из символьных векторовИдентификатор LDPC кода, используемый в прямом исправлении ошибок (FEC), возвращенном как строковый скаляр для потока одно входа и массива ячеек из символьных векторов длины, равняется NumInputStreams свойство dvbs2WaveformGenerator объект для мультивходных потоков.

    • Если obj dvbs2xWaveformGenerator Системный объект, структура output имеет эти поля, состоя из информации о физическом уровне о генераторе формы волны DVB-S2X.

      Поле ЗначениеОписание
      FECFrameСтроковый скаляр (значение по умолчанию) или массив ячеек из символьных векторовФормат системы координат FEC, возвращенный как строковый скаляр для потока одно входа и массива ячеек из символьных векторов длины, равняется NumInputStreams свойство dvbs2xWaveformGenerator объект для мультивходных потоков.
      ModulationSchemeСтроковый скаляр (значение по умолчанию) или массив ячеек из символьных векторовСхема Modulation, возвращенная как строковый скаляр для потока одно входа и массива ячеек из символьных векторов длины, равняется NumInputStreams свойство dvbs2xWaveformGenerator объект для мультивходных потоков.
      LDPCCodeIdentifierСтроковый скаляр (значение по умолчанию) или массив ячеек из символьных векторовИдентификатор LDPC кода, используемый в прямом исправлении ошибок (FEC), возвращенном как строковый скаляр для потока одно входа и массива ячеек из символьных векторов длины, равняется NumInputStreams свойство dvbs2xWaveformGenerator объект для мультивходных потоков.

    • Если obj etsiRicianChannel Системный объект, структура output имеет эти поля, состоя из информации об исчезающем канале.

      Поле ЗначениеОписание
      ChannelFilterDelay0Фильтр канала задерживается в выборках, возвращенных как 0 всегда (из-за плоско исчезающей природы канала).
      ChannelFilterCoefficients1Коэффициент фильтра канала, используемый, чтобы преобразовать усиления пути, чтобы образовать канал усиления касания фильтра, возвратился как 1 всегда (как etsiRicianChannel описывает один канал пути).
      NumSamplesProcessedположительное целое числоКоличество выборок обрабатывается объектом канала начиная с последнего сброса, возвращенного как положительное целое число.

    • Если obj ccsdsTMWaveformGenerator Системный объект, структура output имеет эти поля, состоя из информации о физическом уровне о генераторе формы волны TM CCSDS.

      Поле ЗначениеОписание
      ActualCodeRateположительная скалярная величина в области значений [0 1]Числовое значение уровня кода схемы кодирования канала, повторно настроенной как положительная скалярная величина в области значений [0, 1]. Это значение используется, чтобы сгенерировать форму волны TM CCSDS.
      NumBitsPerSymbolположительное целое числоКоличество битов на модулируемый символ, возвращенный как положительное целое число.
      SubcarrierFrequencyположительная скалярная величинаЧастота поднесущей, возвращенная как положительная скалярная величина. Это поле применимо только когда Modulation свойство ccsdsTMWaveformGenerator объект установлен в "PCM/PSK/PM". Для других случаев это значение возвращено как пустой указатель.

    Введенный в R2021a