exponenta event banner

информация

Информация о характеристиках объекта

    Описание

    пример

    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 объектная функция.

    Создание объекта системы телеметрии (TM) Консультативного комитета по системам космических данных (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 объектная функция.

    Создайте объект Rician channel System Европейского института телекоммуникационных стандартов (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 Rician.

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

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

    свернуть все

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

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

    свернуть все

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

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

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

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

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

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

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

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

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

    Представлен в R2021a