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) Системный объект Digital Video Broadcasting, а затем укажите его свойства.

    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;

    Создайте Digital Video Broadcasting Satellite Second Генерации extended (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) телеметрия (ТМ) Системного объекта. Установите тип формы волны следующим 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;

    Получите характеристическую информацию о генераторе формы сигнала CCSDS TM.

    info(tmWaveGen)
    ans = struct with fields:
             ActualCodeRate: 0.5000
           NumBitsPerSymbol: 2
        SubcarrierFrequency: []
    
    

    Сгенерируйте входные биты для генератора формы волны CCSDS TM, а затем сгенерируйте форму волны.

    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) Системного объекта а затем укажите его свойства.

    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 Ricis.

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

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

    свернуть все

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

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

    свернуть все

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

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

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

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

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

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

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

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

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

    Введенный в R2021a
    Для просмотра документации необходимо авторизоваться на сайте