exponenta event banner

networkTrafficVideoConference

Генератор схемы трафика приложения видеоконференции

    Описание

    networkTrafficVideoConference объект определяет параметры конфигурации для формирования шаблона трафика приложения видеоконференции на основе методологии оценки 802.11ax™ IEEE ®.

    Можно использовать схему трафика приложения видеоконференций в 5G и WLAN (требуется WLAN Toolbox™) для точного моделирования реального трафика данных.

    Создание

    Описание

    пример

    cfgVideo = networkTrafficVideoConference создает объект шаблона трафика приложения видео по умолчанию.

    пример

    cfgVideo = networkTrafficVideoConference(Name,Value) Задает свойства, используя один или несколько аргументов пары имя-значение. Заключите каждое имя свойства в кавычки. Например, 'HasJitter',false указывает, что шаблон приложения видео не моделирует дрожание.

    Свойства

    развернуть все

    Интервал времени между двумя последовательными видеокадрами, определяемый как положительное целое число. Это значение выражается в миллисекундах.

    Типы данных: double

    Параметр установки источника для размера видеокадра, указанного как одно из этих значений.

    • 'WeibullDistribution' - использовать значение размера видеокадра, вычисленное функцией распределения вероятностей Вейбулла.

    • 'FixedSize' - использовать значение размера видеокадра, заданное свойством FixedFrameSize.

    Типы данных: char | string

    Размер видеокадра, указанный как целое число в диапазоне [1, 15000]. Это значение выражается в байтах. Видеокадр может быть сегментирован на множество сетевых пакетов на основе этого значения.

    Зависимости

    Чтобы включить это свойство, задайте для свойства FrameStartMethod значение 'FixedSize'.

    Типы данных: double

    Параметр масштабирования для распределения Вейбулла для вычисления размера видеокадра, заданного как скаляр в диапазоне (0 54 210].

    Зависимости

    Чтобы включить это свойство, установите значение FrameSizeMethod свойство для 'WeibullDistribution'.

    Типы данных: double

    Параметр shape для распределения Вейбулла для вычисления размера видеокадра, заданного как скаляр в диапазоне (0, 1].

    Зависимости

    Чтобы включить это свойство, установите значение FrameSizeMethod свойство для 'WeibullDistribution'.

    Типы данных: double

    Флаг, указывающий, следует ли моделировать дрожание сети, указанное как logical 1 (true) или 0 (false). Объект применяет дрожание между сегментированными пакетами. Если для этого свойства задано значение 1 (true), дрожание объектных моделей с использованием функции распределения вероятности Гамма.

    Типы данных: logical

    Параметр формы для гамма-распределения для вычисления сетевого дрожания, заданного как скаляр в диапазоне (0, 5].

    Зависимости

    Чтобы включить это свойство, задайте для свойства HasJitter значение 1 (true).

    Типы данных: double

    Параметр масштабирования для гамма-распределения для вычисления сетевого джиттера, заданного как скаляр в диапазоне (0, 10].

    Зависимости

    Чтобы включить это свойство, установите значение HasJitter свойство для 1 (true).

    Типы данных: double

    Перегрузка протокола в сетевом трафике, заданная как целое число в диапазоне [0, 60]. Чтобы добавить накладные расходы на уровне 3, 4 и протоколе приложения в сетевой трафик, включите это свойство. Это значение выражается в байтах.

    Типы данных: double

    Флаг, указывающий, следует ли генерировать видеопакет с полезной нагрузкой, указанной как logical 1 (true) или 0 (false). Чтобы создать видеопакет с полезной нагрузкой, установите для этого свойства значение 1 (true). Если для этого свойства задано значение 0 (false), generate объектная функция не генерирует пакет прикладных данных.

    Типы данных: logical

    Данные приложения, добавляемые в видеопакет, указываются в виде вектора столбцов целых чисел в диапазоне [0, 255].

    • Если размер данных приложения больше размера пакета, объект усекает данные приложения.

    • Если размер данных приложения меньше размера пакета, объект добавляет нули.

    Зависимости

    Чтобы включить это свойство, задайте для свойства GeneratePacket значение 1 (true).

    Типы данных: double

    Функции объекта

    развернуть все

    generateСоздание следующего пакета трафика FTP, On-Off, VoIP или приложения видеоконференции

    Примеры

    свернуть все

    Создайте объект шаблона трафика приложения видео по умолчанию.

    cfgVideo = networkTrafficVideoConference
    cfgVideo = 
      networkTrafficVideoConference with properties:
    
           FrameInterval: 40
         FrameSizeMethod: 'WeibullDistribution'
            WeibullScale: 6950
            WeibullShape: 0.8099
               HasJitter: 0
        ProtocolOverhead: 28
          GeneratePacket: 0
    
    

    Создание шаблона трафика видеоприложений.

    [dt,packetSize] = generate(cfgVideo);

    Создание объекта шаблона трафика приложения видео для формирования пакета видеоданных. Укажите интервал кадров в миллисекундах.

    cfgVideo = networkTrafficVideoConference('GeneratePacket',true);
    cfgVideo.FrameInterval = 60;

    Создание схемы трафика и пакета данных видеоприложений.

    [dt,packetSize,packet] = generate(cfgVideo);

    Создание объекта шаблона трафика видеоприложения для формирования видеокадра размером 400 байт.

    cfgVideo = networkTrafficVideoConference('FrameSizeMethod','FixedSize','FixedFrameSize',400);

    Укажите истекшее время в миллисекундах.

    elapsedTime = 10;

    После каждого истекшего значения времени вызовите объект шаблона трафика видеоприложения для генерации пяти пакетов видеоданных.

    for i = 1:5
        while true
            [dt,packetSize] = generate(cfgVideo,elapsedTime);
            if packetSize
                fprintf('Video data packet %d generated\n',i);
                break;
            end
        end
    end
    Video data packet 1 generated
    Video data packet 2 generated
    Video data packet 3 generated
    Video data packet 4 generated
    Video data packet 5 generated
    

    Создайте объект шаблона трафика приложения видео по умолчанию.

    cfgVideo = networkTrafficVideoConference;

    Создание схемы трафика приложения видео со 100 видеопакетами.

    for packetCount = 1:100
        [dt(packetCount),packetSize(packetCount)] = generate(cfgVideo);
    end

    Визуализация размеров видеопакетов.

    stem(packetSize);
    title('Packet Size Versus Packet Number');
    xlabel('Packet Number');
    ylabel('Packet Size in Bytes');

    Figure contains an axes. The axes with title Packet Size Versus Packet Number contains an object of type stem.

    Визуализация интервалов видеопакетов.

    figure;
    stem(dt);
    title('dt Versus Packet Number');
    xlabel('Packet Number');
    ylabel('dt in Milliseconds');

    Figure contains an axes. The axes with title dt Versus Packet Number contains an object of type stem.

    Ссылки

    [1] IEEE 802.11-14/0571r12. «Методика оценки 11ax». P802.11 IEEE. Беспроводные локальные сети. https://www.ieee.org.

    Расширенные возможности

    Создание кода C/C + +
    Создайте код C и C++ с помощью MATLAB ® Coder™

    .

    См. также

    Объекты

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