15.1.1 450m - Additional MU-MIMO statistics

Since the release of 450m we've had a few contributors on these forums with questions about the MU-MIMO statistics and questions in general about how well the fancy new 450m MU-MIMO is working. In answering those I’ve often ended with the line – ‘wait for the next release and we’ll have new improved statistics available’

Well 15.1.1 is now available and there are possibly more stats than you could have hoped for (not really, but if you do want more then let us know).

It’s probably worth pointing out one more time that if the traffic on the sector isn’t high at any point then MU-MIMO will not be needed and won’t be used. It may not kick in until the old ‘frame utilisation’ figure gets up to 70-80% or more. Using the tools->link test to multiple VCs will load up the 450m as much as it can to service all the VCs equally for the test period. Although somewhat artificial this will utilise the MU-MIMO feature to it’s full extent and populate the new statistics nicely.

 The release notes have an excellent guide for all of the new information (please do read this !) but here is a quick summary on how this can help customers identify sectors that have spare capacity and sectors that do not. All the points are useful and important to get the final Multiplexing gain value, which is the improvement over SU-MIMO sector operation currently being given by your MU-MIMO 450m. If you have a quiet sector or just want to play with the system to see what 450m can do hit the ‘linktest to multiple VCs’ button a few times in a row and see how high the Multiplexing gain can go!

Share your results and of course feel free to ask questions.

The new stats can be accessed via Statistics >> Frame Utilization on the web GUI.

The MU-MIMO statistics shows information about:

1) Spatial Utilization : The 450m works out a spatial frequency measurement for each VC which is comparable to an azimuth type measurement. We present a table, which has a set of 32 ‘bins’ of spatial frequency along with the associated azimuth. Then each VC is put in the appropriate bin. This gives a fairly easy way to see which areas of your sector may be over populated or have room for more VCs to be added. The more even the spread of VCs across this table the better improvement MU-MIMO is likely to give you. There are % utilisation numbers for each bin to help analyse which parts of the sector are the busiest in terms of traffic. Finally it’s worth noting that this table is to help understand the sector only – the actual MU-MIMO algorithms are not restricted to use ‘bins’ and form the best groups based on the much finer special frequency measurements every TDD.

2) Grouping : We’ve seen this one before. Be sure to note that it is group SIZE that is here, averaged over the last 1/5/15 minutes. The bigger the group size the better MU-MIMO is working for your benefit. Which VCs form the group will be changing all the time, but the bigger this number is the better.

3) Distribution : This gives a bit more insight in to which VCs are getting in to the MU-MIMO groups. Spot the VCs that are traffic heavy or ones that don’t form groups. A nice flat spread of ‘median’ values in the table and many active VCs will improve the MU-MIMO gain.

4) Average MU-MIMO Group Size : This specifies the average number of users in the MU-MIMO groups formed in the last 1/5/15 minutes

5) Sector Utilization : How ‘loaded’ the sector is including both SU and MU-MIMO transmissions. It is an average of the 32 utilisation values in the Spatial Utilisation table  ( see 1) )

6) MU-MIMO Utilisation : This specifies the portion of the Sector Utilization used for MU-MIMO transmissions

7) SU-MIMO Utilization : This specifies the portion of the Sector Utilization used for SU-MIMO transmissions

8) Multiplexing Gain :

This specifies the ratio between the number of logical slots and the number of physical slots used.

A physical slot is an OFDM symbol. In non MU-MIMO mode, each logical slot is sent during one physical slot. In MU-MIMO mode a number of logical slots are sent during a physical slot, equal to the number of VCs in the group. A logical slot carries new information; if data is repeated in a group, because some VCs have more data to send than others, then the repeated transmissions are not counted as logical slots.

Without MU-MIMO operation, the multiplexing gain would always be equal to 1.

With MU-MIMO operation, this number accounts for parallel transmissions to multiple users in the MU-MIMO group.

The difference between the Average MU-MIMO Group Size and the Multiplexing Gain is that the Average MU-MIMO Group Size only considers the MU-MIMO groups, and it averages the number of VCs in the Group. The Multiplexing Gain also considers non MU-MIMO transmissions, which are counted as groups of size 1.

Best regards,

Andy.

P.S. Share your results !

9 Likes

Generating Heatmaps to Visualise Spatial Utilisation Over Time

It's useful to be able to view MU-MIMO spatial utilisation 
over time. It is possible to identify the areas of your 
sector where MU-MIMO is operating most efficiently and the 
times at which this happens. The following examples work under 
Linux with snmp and octave installed, a similar approach can 
be taken for other operating systems.
  1. Identify the OID for frUtlMumimoDownlinkInstantaneousUtilization:

    [209]% snmptranslate -m WHISP-APS-MIB -M +/home/labs/.snmp/mibs/PMP_MIBS/latest -IR -Tso | paste - - | column -t | grep -i frUtlMumimoDownlinkInstantaneousUtilization
    .1.3.6.1.4.1.161.19.3.1.12.4.1.5 .iso. … .frUtlMumimoDownlinkInstantaneousUtilization

    You must use a path to the directory where your WHISP-APS-MIB is installed.
    There are a range of frUtlMumimoDownlink OIDs which may also be
    of interest. The “[209]%” is my command prompt, not part of the command.

  2. This captures one hundred samples, there’s a delay in the loop which
    ensures that the samples are at least one second apart.

    [248]% for x in $(seq 100) ; do snmpwalk -c Canopy -v 2c 169.254.1.1 .1.3.6.1.4.1.161.19.3.1.12.4.1.5 | sed ‘s/.*://’ | xargs echo $(date +%s) ; sleep 1 ; done > spatial-utilisation-2017-08-03

    My AP is at 169.254.1.1, please refer to the Cambium 450 Platform User Guide
    for help on configuring SNMP.

  3. The following octave script makes a heatmap graph of the spatial
    frequency utilisation. Put the text into a file called
    graph_spatial_utilisation.m

    spatial_utilisation = load(argv(){1});
    image(63*spatial_utilisation(:,2:end)/100)

    samples = rows(spatial_utilisation);
    ticks = 10;
    tick_at = floor([1:samples/ticks:samples]);
    times=cellstr(num2str(spatial_utilisation(tick_at,1) - spatial_utilisation(1,1)));
    set(gca, ‘YTick’, tick_at);
    set(gca, ‘YTickLabel’, times);
    colorbar()
    ylabel(‘Time in seconds since start of capture’)
    xlabel(‘Spatial frequency bin number’)
    title(sprintf(‘Spatial frequency occupancy (%s)’,argv(){1}))
    pause
    print("-dpng", strcat(argv(){1}, “.png”));

  4. Generate graphs from your captured files like this:

    [255]% octave graph_spatial_utilisation.m spatial-utilisation-2017-08-03

    Hit a key to exit. In this case the graph is also written to a file called
    spatial-utilisation-2017-08-03.png

    I’ve attached a heatmap from a set of short tests carried out on a trial
    sector with 21 ideally spaced SMs. During the first phase of the test
    MU-MIMO traffic is sent in one second bursts to pairs of SMs, the SMs
    are loaded in spatial frequency order. In the second phase of the test
    the SMs are loaded randomly. Finally, traffic is sent to all SMs at once,
    fully utilising the sector. In the last case the downlink throughput
    is in excess of 500 Mbps.

Please share your results on the forum!

 

2 Likes

Generating Heatmaps to Visualise Spatial Utilisation Over Time

It's useful to be able to view MU-MIMO spatial utilisation 
over time. It is possible to identify the areas of your 
sector where MU-MIMO is operating most efficiently and the 
times at which this happens. The following examples work under 
Linux with snmp and octave installed, a similar approach can 
be taken for other operating systems.
  1. Identify the OID for frUtlMumimoDownlinkInstantaneousUtilization:

    [209]% snmptranslate -m WHISP-APS-MIB -M +/home/labs/.snmp/mibs/PMP_MIBS/latest -IR -Tso | paste - - | column -t | grep -i frUtlMumimoDownlinkInstantaneousUtilization
    .1.3.6.1.4.1.161.19.3.1.12.4.1.5 .iso. … .frUtlMumimoDownlinkInstantaneousUtilization

    You must use a path to the directory where your WHISP-APS-MIB is installed.
    There are a range of frUtlMumimoDownlink OIDs which may also be
    of interest.

  2. This captures one hundred samples, there’s a delay in the loop which
    ensures that the samples are at least one second apart.

    [248]% for x in $(seq 100) ; do snmpwalk -c Canopy -v 2c 169.254.1.1 .1.3.6.1.4.1.161.19.3.1.12.4.1.5 | sed ‘s/.*://’ | xargs echo $(date +%s) ; sleep 1 ; done > spatial-utilisation-2017-08-03

    My AP is at 169.254.1.1, please refer to the Cambium 450 Platform User Guide
    for help on configuring SNMP.

  3. The following octave script makes a heatmap graph of the spatial
    frequency utilisation. Put the text into a file called
    graph_spatial_utilisation.m

    spatial_utilisation = load(argv(){1});
    image(63*spatial_utilisation(:,2:end)/100)

    samples = rows(spatial_utilisation);
    ticks = 10;
    tick_at = floor([1:samples/ticks:samples]);
    times=cellstr(num2str(spatial_utilisation(tick_at,1) - spatial_utilisation(1,1)));
    set(gca, ‘YTick’, tick_at);
    set(gca, ‘YTickLabel’, times);
    colorbar()
    ylabel(‘Time in seconds since start of capture’)
    xlabel(‘Spatial frequency bin number’)
    title(sprintf(‘Spatial frequency occupancy (%s)’,argv(){1}))
    pause
    print("-dpng", strcat(argv(){1}, “.png”));

    Generate graphs from your captured files like this:

    [255]% octave graph_spatial_utilisation.m spatial-utilisation-2017-08-03

    Hit a key to exit. In this case the graph is also written to a file called
    spatial-utilisation-2017-08-03.png

    I’ve attached a heatmap from a set of short tests carried out on a trial
    sector with 21 ideally spaced SMs. During the first phase of the test
    MU-MIMO traffic is sent in one second bursts to pairs of SMs, the SMs
    are loaded in spatial frequency order. In the second phase of the test
    the SMs are loaded randomly. Finally, traffic is sent to all SMs at once,
    fully utilising the sector. In the last case the downlink throughput
    is in excess of 500 Mbps.

Please share your results on the forum!

4 Likes