networkTrafficVideoConference

Генератор шаблона трафика приложения видеоконференции

    Описание

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

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

    Создание

    Описание

    пример

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

    пример

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

    Свойства

    расширить все

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

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

    Опция установки источника для размера видеокадра, заданная как одно из следующих значений.

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

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

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

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

    Зависимости

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

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

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

    Зависимости

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

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

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

    Зависимости

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

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

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

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

    Параметр shape для распределения Гамма, чтобы вычислить дрожание сети, заданный как скаляр в области значений (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++ с помощью Coder™ MATLAB ®

    .

    См. также

    Объекты

    Введенный в R2021a