networkTrafficVoIP

VoIP application traffic pattern generator

    Description

    The networkTrafficVoIP object specifies the configuration parameters to generate a voice over Internet protocol (VoIP) application traffic pattern based on the IEEE® 802.11ax™ Evaluation Methodology.

    You can use the VoIP application traffic pattern in WLAN and 5G (requires 5G Toolbox™) system-level simulations to accurately model the real-world data traffic.

    Creation

    Description

    example

    cfgVoIP = networkTrafficVoIP creates a default VoIP application traffic pattern object.

    example

    cfgVoIP = networkTrafficVoIP(Name,Value) sets properties using one or more name-value pair arguments. Enclose each property name in quotes. For example, 'HasJitter',false specifies that the VoIP application pattern does not model jitter.

    Properties

    expand all

    Mean value for the exponential distribution, specified as a nonnegative integer. The object uses this property to calculate the exponentially distributed active or silent state duration in the VoIP traffic.

    Data Types: double

    Flag to indicate whether the object models jitter, specified as a logical 1 (true) or 0 (false).

    Data Types: logical

    Scale parameter for the Laplace distribution, specified as a scalar in the range [1, 100]. The object uses this property and the LaplaceMu property to calculate the packet arrival delay jitter in milliseconds.

    Dependencies

    To enable this property, set the HasJitter property to 1 (true).

    Data Types: double

    Location parameter for the Laplace distribution, specified as a scalar in the range [0, 100]. The object uses this property and the LaplaceScale property to calculate packet arrival delay jitter in milliseconds.

    Dependencies

    To enable this property, set the HasJitter property to 1 (true).

    Data Types: double

    Flag to indicate whether the object generates a VoIP packet, specified as a logical 1 (true) or 0 (false).

    Data Types: logical

    Application data to be added in the VoIP packet, specified as a column vector of integers in the range [0, 255]. If the size of the application data is greater than the packet size, the object truncates the application data. If the size of the application data is less than the packet size, the object appends zeros.

    Dependencies

    To enable this property, set the GeneratePacket property to 1 (true).

    Data Types: double

    Object Functions

    expand all

    generateGenerate next FTP, On-Off, or VoIP application traffic packet

    Examples

    collapse all

    Create a default VoIP application traffic pattern object.

    cfgVoIP = networkTrafficVoIP;

    Generate a VoIP application traffic pattern.

    [dt,packetSize] = generate(cfgVoIP);

    Create a VoIP application traffic pattern object, specifying the mean value of the exponential distribution.

    cfgVoIP = networkTrafficVoIP('ExponentialMean',5);

    Generate a VoIP application traffic pattern.

    [dt,packetSize] = generate(cfgVoIP); 

    Create a VoIP application traffic pattern object to generate a VoIP data packet.

    cfgVoIP = networkTrafficVoIP('GeneratePacket',true);

    Generate a VoIP application traffic pattern and data packet.

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

    Create a default VoIP application traffic pattern object.

    cfgVoIP = networkTrafficVoIP;

    Generate a VoIP application traffic pattern with 200 VoIP packets.

    for packetCount = 1:200
        [dt(packetCount),packetSize(packetCount)] = generate(cfgVoIP);
    end

    Visualize the VoIP packet sizes.

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

    Visualize the VoIP packet intervals.

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

    References

    [1] IEEE 802.11-14/0571r12 . "11ax Evaluation Methodology". IEEE P802.11. Wireless LANs. https://www.ieee.org.

    Extended Capabilities

    C/C++ Code Generation
    Generate C and C++ code using MATLAB® Coder™.

    Introduced in R2020b