networkTrafficVideoConference

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

    Описание

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

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

    Создание

    Описание

    пример

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

    пример

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

    Свойства

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

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

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

    Опция, чтобы установить источник для размера видеокадра в виде одного из этих значений.

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

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

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

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

    Зависимости

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

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

    Масштабный коэффициент для распределения Weibull, чтобы вычислить размер видеокадра в виде скаляра в области значений (0, 54,210].

    Зависимости

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

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

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

    Зависимости

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

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

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

    Типы данных: логический

    Сформируйте параметр для Гамма распределения, чтобы вычислить сетевое дрожание в виде скаляра в области значений (0, 5].

    Зависимости

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

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

    Масштабный коэффициент для Гамма распределения, чтобы вычислить сетевое дрожание в виде скаляра в области значений (0, 10].

    Зависимости

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

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

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

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

    Отметьте, чтобы указать, сгенерировать ли видео пакет с полезной нагрузкой в виде logical1 TRUE) или 0 ложь). Чтобы сгенерировать видео пакет с полезной нагрузкой, установите это свойство на 1 TRUE). Если вы устанавливаете это свойство на 0 ложь), generate объектная функция не генерирует пакета данных приложения.

    Типы данных: логический

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

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

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

    Зависимости

    Чтобы включить это свойство, установите свойство GeneratePacket на 1 TRUE).

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

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

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

    generateСгенерируйте следующий FTP, Релейный, VoIP или пакет трафика приложения видеоконференции

    Примеры

    свернуть все

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

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

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

    [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 object. The axes object 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 object. The axes object with title dt Versus Packet Number contains an object of type stem.

    Ссылки

    [1] IEEE 802.11-14/0571r12. "11ax Методология Оценки". IEEE P802.11. Беспроводная LAN. https://www.ieee.org.

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

    Генерация кода C/C++
    Генерация кода C и C++ с помощью MATLAB® Coder™.

    Смотрите также

    Объекты

    Введенный в R2021a