NATIONAL INSTRUMENTS LabVIEW Communications 802.11 Application Framework 2.1 User Guide
- October 30, 2023
- NATIONAL INSTRUMENTS
Table of Contents
- NATIONAL INSTRUMENTS LabVIEW Communications 802.11 Application Framework
- Product Information: PXIe-8135
- System Requirements
- Configuration
- Hardware Configuration Options
- Product Usage Instructions
- Understanding the Components of This Sample Project
- Running This Sample Project
- Description of Controls and Indicators
- Additional Operation Modes and Configurations Options
- Troubleshooting
- Acronyms
- References
- Read User Manual Online (PDF format)
- Download This Manual (PDF format)
NATIONAL INSTRUMENTS LabVIEW Communications 802.11 Application Framework
2.1
Product Information: PXIe-8135
The PXIe-8135 is a device used for bidirectional data transmission in the
LabVIEW Communications 802.11 Application Framework 2.1. The device requires
two NI RF devices, either USRP
RIO devices or FlexRIO modules, should be connected to different host
computers, which can be either laptops, PCs, or PXI chasses. The setup can
either use RF cables or antennas. The device is compatible with PXI-based host
systems, PC with a PCI-based or PCI Express-based MXI adapter, or a laptop
with an Express card-based MXI adapter. The host system should have at least
20 GB of free disk space and 16 GB of RAM.
System Requirements
Software
- Windows 7 SP1 (64-bit) or Windows 8.1 (64-bit)
- LabVIEW Communications System Design Suite 2.0
- 802.11 Application Framework 2.1
Hardware
To use the 802.11 Application Framework for bidirectional data transmission,
you need two NI RF devices–either USRP RIO devices with 40 MHz, 120 MHz, or
160 MHz bandwidth, or FlexRIO modules. The devices should be connected to
different host computers, which can be either laptops, PCs, or PXI chassis.
Figure 1 shows the setup of two stations either by using RF cables (left) or
antennas (right).
Table 1 presents the required hardware depending on the chosen
configuration.
Configuration| Both setups| USRP RIO setup| FlexRIO FPGA/FlexRIO RF adapter
module setup
---|---|---|---
| Host
PC
| SMA
Cable
| Attenuator| Antenna| USRP
device
| MXI
Adapter
| FlexRIO FPGA
module
| FlexRIO Adapter
module
Two devices, cabled| 2| 2| 2| 0| 2| 2| 2| 2
Two devices, over-
the-air [1]
| 2| 0| 0| 4| 2| 2| 2| 2
-
Controllers: Recommended—PXIe-1085 Chassis or PXIe-1082 Chassis with a PXIe-8135 Controller installed.
-
SMA cable: Female/female cable that is included with the USRP RIO device.
-
Antenna: Refer to the “RF Multi Station Mode: Over-the-Air Transmission” section for more information about this mode.
-
USRP RIO device: USRP-2940/2942/2943/2944/2950/2952/2953/2954 Software Defined Radio Reconfigurable Devices with 40 MHz, 120 MHz, or 160 MHz bandwidth.
-
Attenuator with 30 dB attenuation and male/female SMA connectors that are included with the USRP RIO device.
Note: For FlexRIO/FlexRIO adapter module setup, the attenuator is not required. -
FlexRIO FPGA module: PXIe-7975/7976 FPGA Module for FlexRIO
-
FlexRIO adapter module: NI-5791 RF Adapter Module for FlexRIO
The preceding recommendations assume you are using PXI-based host systems. You
can also use a PC with a PCI-based or PCI Express-based MXI adapter, or a
laptop with an Express card-based MXI adapter.
Ensure your host has at least 20 GB of free disk space and 16 GB of RAM.
- Caution: Before using your hardware, read all product documentation to ensure compliance with safety, EMC, and environmental regulations.
- Caution: To ensure the specified EMC performance, operate the RF devices only with shielded cables and accessories.
- Caution: To ensure the specified EMC performance, the length of all I/O cables except for those connected to the GPS antenna input of the USRP device must be no longer than 3 m (10 ft.).
- Caution: The USRP RIO and NI-5791 RF devices are not approved or licensed for transmission over the air using an antenna. As a result, operating this product with an antenna may violate local laws. Ensure that you are in compliance with all local laws before operating this product with an antenna.
Configuration
- Two devices, cabled
- Two devices, the over-the-air [1]
Hardware Configuration Options
Table 1 Required Hardware Accessories
Accessories | Both setups | USRP RIO setup |
---|---|---|
SMA Cable | 2 | 0 |
Attenuator Antenna | 2 | 0 |
USRP device | 2 | 2 |
MXI Adapter | 2 | 2 |
FlexRIO FPGA module | 2 | N/A |
FlexRIO Adapter module | 2 | N/A |
Product Usage Instructions
- Ensure all product documentation has been read and understood to ensure compliance with safety, EMC, and environmental regulations.
- Ensure the RF devices are connected to different host computers that meet the system requirements.
- Choose the appropriate hardware configuration option and set up the required accessories according to Table 1.
- If using an antenna, ensure compliance with all local laws before operating this product with an antenna.
- To ensure the specified EMC performance, operate the RF devices only with shielded cables and accessories.
- To ensure the specified EMC performance, the length of all I/O cables except for those connected to the GPS antenna input of the USRP device must be no longer than 3 m (10 ft.).
Understanding the Components of This Sample Project
The project is comprised of LabVIEW host code and LabVIEW FPGA code for the supported USRP RIO or FlexRIO hardware targets. The related folder structure and the components of the project are described in the next subsections.
Folder Structure
To create a new instance of the 802.11 Application Framework, launch LabVIEW
Communications System Design Suite 2.0 by selecting LabVIEW Communications 2.0
from the Start menu. From the Project Templates on the launched Project tab,
select Application Frameworks. To launch the project, select:
- 802.11 Design USRP RIO v2.1 when using USRP RIO devices
- 802.11 Design FlexRIO v2.1 when using FlexRIO FPGA/FlexRIO modules
- 802.11 Simulation v2.1 to run the FPGA code of physical transmitter (TX) and receiver (RX) signal processing in simulation mode. The related guide of the simulation project is attached to it.
For 802.11 Design projects, the following files and folders are created inside the specified folder:
- 802.11 Design USRP RIO v2.1.lvproject / 802.11 Design FlexRIO RIO v2.1.lvproject —This project file contains information about the linked subVIs, targets and build specifications.
- 802.11 Host.gvi—This top-level host VI implements an 802.11 station. The host interfaces with the bitfile build from the top-level FPGA VI, 802.11 FPGA STA.gvi, located in the target specific subfolder.
- Builds—This folder contains the precompiled bitfiles for the selected target device.
- Common—The common library contains generic subVIs for the host and FPGA that are used in the 802.11 Application Framework. This code includes mathematical functions and type conversions.
- FlexRIO/USRP RIO— These folders contain target-specific implementations of host and FPGA subVIs, which include code to set gain and frequency. This code is in most cases adapted from the given target-specific streaming sample projects. They also contain the target-specific top-level FPGA VIs.
- 802.11 v2.1—This folder comprises the 802.11 functionality itself separated into several FPGA folders and a host directory.
Components
The 802.11 Application Framework provides a real-time orthogonal frequency-
division multiplexing (OFDM) physical layer (PHY) and media access control
(MAC) implementation for an IEEE 802.11-based system. The 802.11 Application
Framework LabVIEW project implements the functionality of one station,
including receiver (RX) and transmitter (TX) functionality.
Statement of Compliance and Deviations
The 802.11 Application Framework is designed to be compliant with the IEEE
802.11 specifications. To keep the design easily modifiable, the 802.11
Application Framework focuses on the core functionality of the IEEE 802.11
standard.
-
802.11a- (Legacy mode) and 802.11ac- (Very High Throughput mode) compliant PHY
-
Training field-based packet detection
-
Signal and data field encoding and decoding
-
Clear Channel Assessment (CCA) based on energy and signal detection
-
Carrier sense multiple access with collision avoidance (CSMA/CA) procedure including retransmission
-
Random Backoff procedure
-
802.11a and 802.11ac compliant MAC components to support request-to-send/clear-to-send (RTS/CTS), Data frame, and acknowledgment (ACK) frame transmission
-
ACK generation with 802.11 IEEE-compliant short interframe spacing (SIFS) timing (16 µs)
-
Network allocation vector (NAV) support
-
MAC protocol data unit (MPDU) generation and multi-node addressing
-
L1/L2 API that allows external applications implementing upper MAC functionalities like join procedure to access functionalities of middle and lower MAC
The 802.11 Application Framework supports the following features: -
Long guard interval only
-
Single input single output (SISO) architecture, ready for multiple-input multiple-output (MIMO) configurations
-
VHT20, VHT40, and VHT80 for the 802.11ac standard. For 802.11ac 80 MHz bandwidth, the support is limited up to modulation and coding scheme (MCS) number 4.
-
Aggregated MPDU (A-MPDU) with a single MPDU for the 802.11ac standard
-
Packet-by-packet automatic gain control (AGC) allowing for over-the-air transmission and reception.
Visit ni.com/info and enter the Info Code 80211AppFWManual to access the LabVIEW Communications 802.11 Application Framework Manual for more information about the 802.11 Application Framework design.
Running This Sample Project
The 802.11 Application Framework supports interaction with an arbitrary number of stations, hereafter referred to as RF Multi Station Mode. Other operation modes are described in the “Additional Operation Modes and Configurations Options” section. In the RF Multi Station Mode, each station acts as a single 802.11 device. The following descriptions assume that there are two independent stations, each running on its own RF device. They are referred to as Station A and Station B.
Configuring the Hardware: Cabled
Depending on the configuration, follow the steps in either the “Configuring
USRP RIO Setup” or “Configuring FlexRIO/FlexRIO Adapter Module Setup” section.
Configuring the USRP RIO System
- Ensure the USRP RIO devices are properly connected to the host systems running LabVIEW Communications System Design Suite.
- Complete the following steps to create RF connections as shown in Figure 2.
- Connect two 30 dB attenuators to RF0/TX1 ports on Station A and Station B.
- Connect the other end of the attenuators to two RF cables.
- Connect the other end of the RF cable coming from Station A to RF1/RX2 port of Station B.
- Connect the other end of the RF cable coming from Station B to RF1/RX2 port of Station A.
- Power on the USRP devices.
- Power on the host systems.
The RF cables should support the operating frequency.
Configuring the FlexRIO System
- Ensure the FlexRIO devices are properly connected to the host systems running LabVIEW Communications System Design Suite.
- Complete the following steps to create RF connections as shown in Figure 3.
- Connect the TX port of Station A to RX port of Station B using RF cable.
- Connect the TX port of Station B to RX port of Station A using RF cable.
- Power on the host systems.
The RF cables should support the operating frequency.
Running the LabVIEW Host Code
Ensure the LabVIEW Communications System Design Suite 2.0 and the 802.11
Application Framework 2.1 are installed on your systems. Installation is
started by running setup.exe from the provided installation media. Follow the
installer prompts to complete the installation process.
The required steps to run the LabVIEW host code on two stations are summarized
in the following:
- For Station A on the first host:
- a. Launch LabVIEW Communications System Design Suite by selecting LabVIEW Communications 2.0 from the Start menu.
- b. From the PROJECTS tab, select Application Frameworks » 802.11 Design… to launch the project.
- Select 802.11 Design USRP RIO v2.1 if you are using a USRP RIO setup.
- Select 802.11 Design FlexRIO v2.1 if you are using a FlexRIO setup.
- c. Within that project, the top-level host VI 802.11 Host.gvi appears.
- d. Configure the RIO identifier in the RIO Device control. You can use NI Measurement & Automation Explorer (MAX) to get the RIO identifier for your device. The USRP RIO device bandwidth (if 40 MHz, 80 MHz, and 160 MHz) is identified inherently.
- Repeat the step 1 for Station B on the second host.
- Set the Station Number of Station A to 1 and that of Station B to 2.
- For FlexRIO setup, set the Reference Clock to PXI_CLK or REF IN/ClkIn.
- a. For PXI_CLK: The reference is taken from the PXI chassis.
- b. REF IN/ClkIn: The reference is taken from the ClkIn port of NI-5791 adapter module.
- Properly adjust the settings of Device MAC Address and Destination MAC Address at both stations.
- a. Station A: Set the Device MAC Address and Destination MAC Address to 46:6F:4B:75:6D:61 and 46:6F:4B:75:6D:62 (the default values).
- b. Station B: Set the Device MAC Address and Destination MAC Address to 46:6F:4B:75:6D:62 and 46:6F:4B:75:6D:61.
- For each station, run the LabVIEW host VI by clicking the run button ( ).
- a. If successful, the Device Ready indicator lights.
- b. If you receive an error, try one of the following:
- Ensure your device is connected properly.
- Check the configuration of RIO Device.
- Enable Station A by setting the Enable Station control to On. The Station Active indicator should be on.
- Enable Station B by setting the Enable Station control to On. The Station Active indicator should be on.
- Select the MAC tab, and verify the shown RX Constellation matches the modulation and coding scheme configured using the MCS and Subcarrier Format parameters on the other station. For example, leave the Subcarrier format and MCS to default on Station A and set the Subcarrier format to 40 MHz (IEEE 802.11 ac) and MCS to 5 on Station B. The 16-quadrature amplitude modulation (QAM) is used for MCS 4 and occurs on the user interface of Station B. The 64 QAM is used for MCS 5 and it occurs on the user interface of Station A.
- Select the RF & PHY tab, and verify the shown RX Power spectrum is similar to the selected Subcarrier format on the other station. Station A shows 40 MHz RX power spectrum while Station B shows 20 MHz RX power spectrum.
Note: USRP RIO devices with 40 MHz bandwidth cannot transmit or receive
packets encoded with 80 MHz bandwidth.
The 802.11 Application Framework user interfaces of Station A and B are shown
in Figure 6 and Figure 7, respectively. To monitor the status of each station,
the 802.11 Application Framework provides a variety of indicators and graphs.
All application settings as well as graphs and indicators are described in the
following subsections. The controls on the front panel are classified in the
following three sets:
- Application Settings: Those controls should be set before turning on the station.
- Static Runtime Settings: Those controls need to switch off and then on the station. The Enable Station control is used for that.
- Dynamic Runtime Settings: Those controls can be set where the station is running.
Description of Controls and Indicators
Basic Controls and Indicators
Application Settings
Application settings are applied when the VI starts and cannot be changed once
the VI is up and running. To change these settings, stop the VI, apply
changes, and restart the VI. They are shown in Figure 6.
Parameter | Description |
---|---|
RIO Device | The RIO address of the RF hardware device. |
Reference Clock | Configures the reference for the device clocks. The |
reference frequency must be 10 MHz. You can choose from the following sources:
Internal —Uses the internal reference clock.
REF IN / ClkIn —The reference is taken from the REF IN port (USRP-294xR, and USRP-295XR) or the ClkIn port (NI 5791).
GPS —The reference is taken from the GPS module. Only applicable for the USRP- 2950/2952/2953 devices.
PXI_CLK —The reference is taken from the PXI chassis. Only applicable for PXIe- 7975/7976 targets with NI-5791 adapter modules.
Operation Mode| It has been set as a constant in the block diagram. The 802.11 Application Framework provides the following modes:
RF Loopback —Connects the TX path of one device with the RX path of the same device using RF cabling or using antennas.
RF Multi Station —Regular data transmission with two or more independent stations running on individual devices connected either with antennas or by cabled connections. RF Multi Station is the default operation mode.
Baseband loopback —Similar to RF loopback, but the external cable loopback is replaced by the internal digital baseband loopback path.
Static Runtime Settings
Static runtime settings can only be changed while the station is switched off.
The parameters are applied when the station is switched on. They are shown in
Figure 6.
Parameter | Description |
---|---|
Station Number | Numerical control to set the station number. Each |
running station should have a different number. It can be up to 10. If the
user would like to increase the number of running stations, the cache of MSDU
Sequence Number assignment and Duplicate Detection should be increased to the
required value, since the default value is 10.
Primary Channel Center Frequency [Hz]| It is the primary
channel center frequency of the transmitter in Hz. Valid values depend on the
device the station is running on.
Primary Channel Selector| Numeric control to determine which
subband is used as the primary channel. The PHY covers 80 MHz bandwidth, which
can be divided into four subbands {0,…,3} of 20 MHz bandwidth for the non-high
throughput (non-HT) signal. For wider bandwidths the subbands get combined.
Visit ni.com/info and enter the Info Code 80211AppFWManual to
access the LabVIEW Communications 802.11 Application Framework
Manual for more information about channelization.
Power Level [dBm]| Output power level considering the
transmission of a continuous wave (CW) signal that has full digital to analog
converter (DAC) range. The high peak-to-average power ratio of OFDM means that
the output power of transmitted 802.11 frames is usually 9 dB to 12 dB below
the adjusted power level.
TX RF Port| The RF port used for TX (applicable only for USRP
RIO devices).
RX RF Port| The RF port used for RX (applicable only for USRP
RIO devices).
Device MAC Address| MAC address associated with the station. The
Boolean Indicator shows if the given MAC address is valid or not. The MAC
address validation is done in the dynamic mode.
Dynamic Runtime Settings
Dynamic Runtime Settings can be changed any time and are applied immediately,
even when the station is active. They are shown in Figure 6.
Parameter | Description |
---|---|
Subcarrier Format | Allows you to switch between IEEE 802.11 standard |
formats. The supported formats are the following:
| · 802.11a with 20 MHz Bandwidth
· 802.11ac with 20 MHz Bandwidth
· 802.11ac with 40 MHz Bandwidth
· 802.11ac with 80 MHz Bandwidth (supported MCS up to 4)
---|---
MCS| Modulation and coding scheme index used to encode data frames. ACK
frames are always sent with MCS 0. Be aware that not all MCS values are
applicable for all subcarrier formats and the meaning of the MCS changes with
the subcarrier format. The text field next to the MCS field shows the
modulation scheme and coding rate for the current MCS and Subcarrier Format.
AGC| If enabled, the optimum gain setting is chosen depending on the
received signal power strength. The RX gain value is taken from Manual RX Gain
if the AGC has been disabled.
Manual RX Gain [dB]| Manual RX gain value. Applied if AGC is
disabled.
Destination MAC Address| MAC address of the destination to which
packets should be sent. The Boolean indicator shows if the given MAC address
is valid or not. If running in RF loopback mode, the Destination MAC
Address and the Device MAC Address should be similar.
Indicators
The following table presents the indicators occurred on the main front panel
as it is shown in Figure 6.
Parameter | Description |
---|---|
Device Ready | Boolean indicator shows if the device is ready. If you |
receive an error, try one of the following:
· Ensure your RIO device is connected properly.
· Check the configuration of RIO Device.
· Check the station number. It should be different if more than one station is running on the same host.
Target FIFO Overflow| Boolean indicator that lights if there is an overflow in the target to host (T2H) first-in- first-out memory buffers (FIFOs). If one of the T2H FIFOs overflows, its information is no longer reliable. Those FIFOs are as follows:
· T2H RX Data overflow
· T2H Constellation overflow
· T2H RX Power Spectrum overflow
· T2H Channel Estimation overflow
· TX to RF FIFO overflow
Station Active| Boolean indicator shows if the station RF is active
after enabling the station by setting the Enable Station control to
On.
Applied RX Gain [dB]| A numerical indicator shows RX gain
value currently applied. This value is the Manual RX Gain when the AGC is
disabled, or the calculated RX gain when AGC is enabled. In both cases, the
gain value is coerced by the capabilities of the device.
Valid| Boolean indicators show if the given Device MAC
Address and Destination MAC Address associated with the
stations are valid.
MAC Tab
The following tables list the controls and indicators that are placed on the MAC Tab as it is shown in Figure 6.
Dynamic Runtime Settings
Parameter | Description |
---|---|
Data Source | Determines the source of MAC frames send from the host |
to the target.
Off —This method is useful to disable transmitting TX data while the TX chain is active to trigger ACK packets.
UDP —This method is useful for showing demos, such as when using an external video streaming application, or for using external network testing tool, such as Iperf. In this method, input data arrives at or is generated from the 802.11 station using user datagram protocol (UDP).
PN Data —This method sends random bits and is useful for functional tests. Packet size and rate can be easily adapted.
| Manual —This method is useful to trigger single packets for debugging purposes.
External —Allow a potential external upper MAC realization or other external applications to use the MAC & PHY functionalities provided by the 802.11 Application Framework.
---|---
Data Source Options| Each tab shows the options for the
corresponding data sources.
UDP Tab —A free UDP port to retrieve data for the transmitter is derived inherently based on the station number.
PN Tab – PN Data Packet Size —Packet size in bytes (range is limited to 4061, which is a single A-MPDU reduced by MAC overhead)
PN Tab – PN Packets per Second —Average number of packets to transmit per second (limited to 10,000. The achievable throughput might be less depending on the configuration of the station).
Manual Tab – Trigger TX —A Boolean control to trigger a single TX packet.
Data Sink| It has the following options:
· Off —Data is discarded.
· UDP —If enabled, received frames are forwarded to the configured UDP address and port (see below).
Data Sink Option| It has the following required configurations for the UDP data sink option:
· Transmit IP Address —Destination IP address for the UDP output stream.
· Transmit Port —Target UDP port for UDP output stream, usually between 1,025 and 65,535.
Reset TX Statistic| A Boolean control to reset all counters of
MAC TX Statistics cluster.
Reset RX Statistic| A Boolean control to reset all counters of
MAC RX Statistics cluster.
values per second| A Boolean control to show the MAC TX
Statistics and MAC RX Statistics as either the accumulated
values since the last reset or the values per second.
Graphs and Indicators
The following table presents the indicators and graphs presented on the MAC
Tab as it is shown in Figure 6.
Parameter | Description |
---|---|
Data Source Options – UDP | Receive Port —Source |
UDP port of UDP input stream.
FIFO Full —Indicates that the socket buffer of the UDP reader is small to read the given data, so packets are dropped. Increase the socket buffer size.
Data Transfer —Indicates that the packets are successfully read from the given port. Look to video streaming for more details.
Data Sink Option – UDP| FIFO Full —Indicates that the socket buffer of the UDP sender is small to receive the payload from the RX Data direct memory access (DMA) FIFO, so packets are dropped. Increase the socket buffer size.
Data Transfer —Indicates that the packets are successfully read from the DMA FIFO and forwarded to the given UDP port.
RX Constellation| Graphical indication shows the constellation of RX
I/Q samples of the received data field.
RX Throughput [bits/s]| Numerical indication shows the data rate
of successful received and decoded frames matching the Device MAC
Address.
Data Rate [Mbps]| Graphical indication shows the data rate of
successful received and decoded frames matching the Device MAC
Address.
MAC TX Statistics| Numerical indication shows the values of the
following counters related to MAC TX. The presented values could be the
accumulated values since the last reset or the values per second based on the
status of the Boolean control values per second.
· RTS Triggered
· CTS Triggered
· Data Triggered
· ACK Triggered
MAC RX Statistics| Numerical indication shows the values of the following counters related to MAC RX. The presented values could be the accumulated values since the last reset or the values per second based on the status of the Boolean control values per second.
· Preamble detected (by the synchronization)
| · PHY service data units (PSDUs) received (frames with valid physical layer convergence procedure (PLCP) header, frames without format violations)
· MPDU CRC OK (the frame check sequence (FCS) check passes)
· RTS detected
· CTS detected
· Data detected
· ACK detected
---|---
TX Error Rates| Graphical indication shows the TX packet error
rate and TX block error rate. The TX packet error rate is calculated as a
ratio of successful MPDU transmitted to the number of transmission tries. The
TX block error rate is calculated as a ratio of successful MPDU transmitted to
the total number of transmissions. The most recent values are displayed on the
upper right of the graph.
Averaged Retransmissions per Packet| Graphical indication
shows the average number of transmission tries. The recent value is displayed
on the upper right of the graph.
RF & PHY Tab
The following tables list the controls and indicators that are placed on the
RF & PHY Tab as it is shown in Figure 8.
Dynamic Runtime Settings
Parameter | Description |
---|---|
CCA Energy Detection Threshold [dBm] | If the energy of |
the received signal is above the threshold, the station qualifies the medium as busy and interrupts its Backoff procedure, if any. Set the CCA Energy Detection Threshold [dBm] control to a value which is higher than the minimal value of the current curve in the RF Input Power graph.
Graphs and Indicators
Parameter | Description |
---|---|
Coerced LO Frequency TX [Hz] | Actual used TX frequency |
on target.
RF Frequency [Hz]| The RF center frequency after the adjustment
based on the Primary Channel Selector control and the operating
bandwidth.
Coerced LO Frequency RX [Hz]| Actual used RX frequency
on target.
Coerced Power Level [dBm]| Power level of a continuous wave
of 0 dBFS that provides for the current device settings. The average output
power of 802.11 signals is approximately 10 dB below this level. Indicates the
actual power level considering RF frequency and device- specific calibration
values from the EEPROM.
---|---
Compensated CFO [Hz]| Carrier frequency offset detected by
coarse frequency estimation unit. For FlexRIO/FlexRIO adapter module, set the
reference clock to PXI_CLK or REF IN/ClkIn.
Channelization| Graphical indication shows which sub-band is used as the
primary channel based on the Primary Channel Selector. The PHY
covers 80 MHz bandwidth, which can be divided into four sub-bands {0,…,3} of
20 MHz bandwidth for the non-HT signal. For wider bandwidths (40 MHz or 80
MHz), the sub-bands get combined. Visit ni.com/info and enter the Info Code
80211AppFWManual to
access the LabVIEW Communications
802.11 Application Framework Manual for more information about channelization.
Channel Estimation| Graphical indication shows the amplitude and
phase of the estimated channel (based on L-LTF and VHT-LTF).
Baseband RX Power| Graphical indication displays the baseband
signal power at packet start. The numerical indicator shows the actual
receiver’s baseband power. When the AGC is enabled, the
802.11 Application Framework attempts to keep this value at the given AGC target signal power in Advanced tab by changing the RX gain accordingly.
TX Power Spectrum| A snapshot of the current baseband spectrum
from the TX.
RX Power Spectrum| A snapshot of the current baseband spectrum
from the RX.
RF Input Power| Displays the current RF input power in dBm
regardless of the type of incoming signal if an 802.11 packet has been
detected. This indicator displays the RF input power, in dBm, currently being
measured, as well as at the most recent packet start.
Advanced Tab
The following table list the controls that are placed on the Advanced Tab as it is shown in Figure 9.
Static Runtime Settings
Parameter | Description |
---|---|
control frame TX vector configuration | Applies the |
configured MCS values in TX vectors for RTS, CTS or ACK frames. The default
control frame configuration of those frames is Non-HT-OFDM and 20 MHz
bandwidth while the MCS can be configured from the host.
---|---
dot11RTSThreshold| Semi-static parameter used by frame sequence
selection to decide whether RTS|CTS is allowed or not.
· If the PSDU length, that is, PN Data Packet Size , is larger than dot11RTSThreshold, the {RTS | CTS | DATA | ACK} frame sequence is used.
· If the PSDU length, that is, PN Data Packet Size , is less than or equal to the dot11RTSThreshold, the {DATA | ACK} frame sequence is used.
This mechanism allows stations to be configured to initiate RTS/CTS either always, never, or only on frames longer than a specified length.
dot11ShortRetryLimit| Semi-static parameter—Maximum number of retries
applied for short MPDU type (sequences without RTS|CTS). If the number of
retry limits is reached, discards MPDUs and associated MPDU configuration and
TX vector.
dot11LongRetryLimit| Semi-static parameter—Maximum number of retries
applied for long MPDU type (sequences including RTS|CTS). If the number of
retry limits is reached, discards MPDUs and associated MPDU configuration and
TX vector.
RF Loopback Demo Mode| Boolean control to switch between the
operation modes:
RF Multi-Station (Boolean is false): At least two stations are required in the setup, where each station acts as a single 802.11 device.
RF Loopback (Boolean is true): A single device is required. This setup is useful for small demos using a single station. However, the implemented MAC features have some limitations in RF Loopback mode. The ACK packets are lost while the MAC TX is waiting for them; the DCF state machine on FPGA of MAC prevents this mode. Therefore, the MAC TX always reports a transmission failed. Hence, the reported TX packet error rate and the TX block error rate on the graphical indication of TX Error Rates are ones.
Dynamic Runtime Settings
Parameter | Description |
---|---|
Backoff | Backoff value that is applied before a frame is transmitted. |
The backoff is counted in number of slots of 9 µs duration. Based on the backoff value, the backoff counting for the Backoff procedure could be fixed or random:
· If the backoff value is larger than or equal zero, a fixed backoff is used.
· If the backoff value is negative, a random backoff counting is used.
AGC target signal power| Target RX power in digital baseband used if the AGC is enabled. The optimal value depends on the peak-to-average power ratio (PAPR) of the received signal. Set the AGC target signal power to a value larger than that presented in the Baseband RX Power graph.
Events Tab
The following tables list the controls and indicators that are placed on the
Events Tab as it is shown in Figure 10.
Dynamic Runtime Settings
Parameter | Description |
---|---|
FPGA events to track | It has a set of Boolean controls; each |
control is used to enable or disable the tracking of the corresponding FPGA event. Those events are as follows:
· PHY TX start request
· PHY TX end indication
· PHY RX start indication
· PHY RX end indication
· PHY CCA timing indication
· PHY RX gain change indication
· DCF state indication
· MAC MPDU RX indication
· MAC MPDU TX request
All| Boolean control to enable the events tracking of the above FPGA
events.
None| Boolean control to disable the events tracking of the above FPGA
events.
log file prefix| Name a text file to write the FPGA events data
that have been read from the Event DMA FIFO. They presented above in the
FPGA events to track. Each event consists of a time stamp and
the event data. The text file is created locally in the project folder.
Only the selected events in the FPGA events to track above will be written in the text file.
Write to file| Boolean control to enable or disable the writing
process of the selected FPGA events to the text file.
Clear Events| Boolean control to clear the events history from the
front panel. The default register size of the event’s history is 10,000.
Status Tab
The following tables list the indicators that are placed on the Status Tab as it is shown in Figure 11.
Graphs and Indicators
Parameter | Description |
---|---|
TX | Presents a number of indicators that are showing the number of |
messages transferred between different layers, starting from the data source
to the PHY. In addition, it shows the corresponding UDP ports.
Data source| num packets source: Numerical indicator
shows the number of packets that have been received from the data source (UDP,
PN Data, or Manual).
transfer source: Boolean indicator shows that a data is receiving from the data source (the number of received packets is not zero).
High MAC| TX Request High MAC: Numerical indicators
show the number of MAC TX Configuration and Payload request messages generated
by the MAC high abstraction layer and written to the corresponding UDP port
that is located under them.
Middle MAC| TX Request Middle MAC: Numerical
indicators show the number of MAC TX Configuration and Payload request
messages received from the MAC high abstraction layer and read from the
corresponding UDP port that is located above them. Before transfer both
messages to the lower layers, the given configurations are checked if they are
supported or not, in addition, the MAC TX Configuration request and MAC TX
Payload request are checked if they are consistence.
TX Requests to PHY: Numerical indicator shows the number of MAC MSDU TX requests written to the DMA FIFO.
TX Confirmation Middle MAC: Numerical indicators show the number of confirmation messages that have been generated by the MAC middle for the MAC TX Configuration and MAC TX Payload messages and written to the assigned UDP port located above them.
TX Indications from PHY: Numerical indicator shows the number of MAC MSDU TX end indications read from the DMA FIFO.
TX Indications Middle MAC: Numerical indicator shows the number of MAC TX Status Indications reported from MAC Middle to MAC high using the assigned UDP port located above it.
PHY| TX Indications Overflow: Numerical indicator shows the
number of overflows that occurred during the FIFO writing by TX End
indications.
RX| Presents a number of indicators that are showing the number of
messages transferred between different layers, starting from the PHY to data
sink. In addition, it shows the corresponding UDP ports.
PHY| RX Indication Overflow: Numerical indicator shows the
number of overflows that occurred during the FIFO writing by MAC MSDU RX
indications.
---|---
Middle MAC| RX Indications from PHY: Numerical
indicator shows the number of MAC MSDU RX indications read from the DMA FIFO.
RX Indications Middle MAC: Numerical indicator shows the number of MAC MSDU RX indications that have been decoded correctly and reported to the MAC high using the assigned UDP port located above it.
High MAC| RX Indications High MAC: Numerical
indicator shows the number of MAC MSDU RX indications with valid MSDU data
received at MAC high.
Data sink| num packets sink: Number of received packets
at data sink from MAC high.
transfer sink: Boolean indicator shows that a data is receiving from the MAC high.
Additional Operation Modes and Configurations Options
This section describes further configuration options and operation modes. In addition to the RF Multi-Station mode described in the Running This Sample Project section, the 802.11 Application Framework supports the RF Loopback and Baseband operation modes using a single device. The main steps to run the 802.11 Application Framework using those two modes are described in the following.
RF Loopback Mode: Cabled
Depending on the configuration, follow the steps in either the “Configuring
USRP RIO Setup” or “Configuring FlexRIO/FlexRIO Adapter Module Setup” section.
Configuring the USRP RIO Setup
- Ensure the USRP RIO device is properly connected to the host system running LabVIEW Communications System Design Suite.
- Create the RF loopback configuration using one RF cable and an attenuator.
- a. Connect the cable to RF0/TX1.
- b. Connect the 30 dB attenuator to the other end of the cable.
- c. Connect the attenuator to RF1/RX2.
- Power on the USRP device.
- Power on the host system.
Configuring the FlexRIO Adapter Module Setup
- Ensure the FlexRIO device is properly installed in the system running LabVIEW Communications System Design Suite.
- Create an RF loopback configuration connecting the TX of the NI-5791 module with the RX of the NI-5791 module.
Running the LabVIEW Host Code
Instructions about running the LabVIEW host code have already been provided in
the “Running This Sample Project” section for the RF Multi-Station operation
mode. In addition to the instructions of Step 1 in that section, also complete
the following steps:
- The default operation mode is RF Multi-Station. Switch to the Advanced tab and enable the RF Loopback Demo Mode control. This will implement the following changes:
- The operation mode will be changed to RF Loopback mode
- The Device MAC Address and Destination MAC Address will get the same address. For example, both could be 46:6F:4B:75:6D:61.
- Run the LabVIEW host VI by clicking the run button ( ).
- a. If successful, the Device Ready indicator lights.
- b. If you receive an error, try one of the following:
- Ensure your device is connected properly.
- Check the configuration of RIO Device.
- Enable the station by setting the Enable Station control to On. The Station Active indicator should be on.
- To increase the RX Throughput, switch to Advanced tab and set the backoff value of the Backoff procedure to zero, since only one station is running. In addition, set the maximum number of retries of dot11ShortRetryLimit to 1. Disable and then enable the station using Enable Station control, since the dot11ShortRetryLimit is a static parameter.
- Select the MAC tab, and verify the shown RX Constellation matches the modulation and coding scheme configured using the MCS and Subcarrier Format parameters. For example, 16 QAM is used for MCS 4 and 20 MHz 802.11a. With the default settings you should see a throughput of about 8.2 Mbits/s.
RF Loopback Mode: Over-the-Air Transmission
Over-the-air transmission is similar to the cabled setup. Cables are replaced
by antennas suitable for the selected channel center frequency and system
bandwidth.
Caution Read the product documentation for all hardware components, especially
the NI RF devices, before using the system.
USRP RIO and FlexRIO devices are not approved or licensed for transmission
over the air using an antenna. As a result, operating those products with an
antenna may violate local laws. Ensure that you are in compliance with all
local laws before operating this product with an antenna.
Baseband Loopback Mode
The baseband loopback is similar to RF loopback. In this mode, the RF is
bypassed. TX samples are transferred directly to the RX processing chain on
the FPGA. No wiring on the device connectors is needed. To run the station in
Baseband Loopback, set manually the operation mode located in the block
diagram as a constant to Baseband Loopback.
Additional Configuration Options
PN Data Generator
You can use the built-in pseudo-noise (PN) data generator to create TX data
traffic, which is useful for measuring the system throughput performance. The
PN data generator is configured by the PN Data Packet Size and PN Packets per
Second parameters. The data rate at the output of the PN Data Generator is
equal to the product of both parameters. Notice that the actual system
throughput seen on RX side depends on the transmission parameters, including
the Subcarrier format and the MCS value, and can be lower than the rate
generated by the PN data generator.
The following steps provide an example of how the PN data generator can show
the impact of the transmission protocol configuration on the achievable
throughput. Notice that the given throughput values can be slightly different
depending on the actual used hardware platform and channel.
- Set up, configure, and run two stations (Station A and Station B) such in the “Running This Sample Project” section.
- Properly adjust the settings for Device MAC Address and Destination MAC Address such that the device address of Station A is the destination of Station B and vice versa as described previously.
- On Station B, set Data Source to Manual to disable TX data from Station B.
- Enable both stations.
- With the default settings, you should see a throughput of about 8.2 Mbits/s on Station B.
- Switch to the MAC tab of Station A.
- Set the PN Data Packet Size to 4061.
- Set the number of PN Packets per Second to 10,000. This setting saturates the TX buffer for all possible configurations.
- Switch to the Advanced tab of Station A.
- Set the dot11RTSThreshold to a value larger than the PN Data Packet Size (5,000) to disable RTS/CTS procedure.
- Set the maximum number of retries represented by dot11ShortRetryLimit to 1 to disable retransmissions.
- Disable and then enable Station A since the dot11RTSThreshold is a static parameter.
- Try different combinations of Subcarrier Format and MCS on Station A. Observe the changes in RX constellation and RX throughput on Station B.
- Set Subcarrier Format to 40 MHz (IEEE 802.11ac) and MCS to 7 on Station A. Observe that the throughput on Station B is about 72 Mbits/s.
Video Transmission
Transmitting videos highlights the capabilities of the 802.11 Application
Framework. To perform a video transmission with two devices, set up a
configuration as described in the previous section. The 802.11 Application
Framework provides a UDP interface, which is well suited for video streaming.
The transmitter and receiver need a video stream application (for example,
VLC, which can be downloaded from http://videolan.org ). Any program capable
of transmitting UDP data can be used as data source. Similarly, any program
capable of receiving UDP data can be used as data sink.
Configure the Receiver
The host acting as a receiver utilizes the 802.11 Application Framework to
pass received 802.11 data frames and pass them through UDP to the video stream
player.
- Create a new project as described in “Running the LabVIEW Host Code” and set the correct RIO identifier in the RIO device parameter.
- Set the Station Number to 1.
- Let the Operation Mode located in the block diagram to have the default value, RF Multi Station, as described previously.
- Let the Device MAC Address and Destination MAC Address to have the default values.
- Switch to MAC tab and set Data Sink to UDP.
- Enable the station.
- Start cmd.exe and change to the VLC installation directory.
- Start the VLC application as a streaming client with the following command: vlc udp://@:13000, where the value 13000 is equal to the Transmit port of Data Sink Option.
Configure the Transmitter
The host acting as a transmitter receives UDP packets from the video streaming
server and utilizes the 802.11 Application Framework to transmit them as
802.11 data frames.
-
Create a new project as described in “Running the LabVIEW Host Code” and set the correct RIO identifier in the RIO device parameter.
-
Set the Station Number to 2.
-
Let the Operation Mode located in the block diagram to have the default value, RF Multi Station, as described previously.
-
Set the Device MAC Address to be similar to the Destination MAC Address of Station 1 (default value:
46:6F:4B:75:6D:62) -
Set the Destination MAC Address to be similar to the Device MAC Address of Station 1 (default value:
46:6F:4B:75:6D:61) -
Switch to MAC tab and set the Data Source to UDP.
-
Enable the Station.
-
Start cmd.exe and change to the VLC installation directory.
-
Identify the path to a video file that shall be used for streaming.
-
Start the VLC application as a streaming server with the following command vlc “PATH_TO_VIDEO_FILE”
:sout=#std{access=udp{ttl=1},mux=ts,dst=127.0.0.1: UDP_Port_Value}, where PATH_TO_VIDEO_FILE should be replaced with the location of the video that should be used, and the parameter UDP_Port_Value is equal to 12000 + Station Number, that is, 12002.
The host acting as a receiver will display the video streamed by the transmitter.
Troubleshooting
This section provides information about identifying the root cause of a
problem if the system is not working as expected. It is described for a multi-
station setup in which Station A and Station B are transmitting.
The following tables provide information about how to verify normal operation
and how to detect typical errors.
Normal Operation
Normal Operation Test| · Set Station Numbers to different values.
· Properly adjust the settings of Device MAC Address and Destination MAC Address as described previously.
· Leave other settings to the default values.
| Observations:
| · RX Throughput in the range of 7.5 Mbit/s at both stations. It
depends if it is a wireless channel or cabled channel.
· On MAC tab:
o MAC TX Statistics : The Data triggered and ACK Triggered indicators are increasing fast.
o MAC RX Statistics: All indicators are increasing fast rather than the RTS detected and CTS detected , since the dot11RTSthreshold on Advanced tab is larger than PN Data Packet Size ( the PSDU length) on MAC tab.
o The constellation in the RX Constellation graph matches the modulation order of the
MCS selected at the transmitter.
o The TX Block Error Rate graph shows an accepted value.
· On RF & PHY tab:
| o The RX Power Spectrum is located in the right subband based on the selected Primary Channel Selector. Since the default value is 1, it should be between -20 MHz and 0 in the RX Power Spectrum graph.
o The CCA Energy Detection Threshold [dBm] is larger than the current power in the
RF Input Power graph.
o The measured baseband power at packet start (red dots) in Baseband RX Power graph should be less than the AGC target signal power on Advanced tab.
---|---
MAC Statistics Test| · Disable Station A and Station B
· On Station A, MAC tab, set the Data Source to Manual.
· Enable Station A and Station B
o Station A, MAC tab:
§ Data triggered of MAC TX Statistics is zero.
§ ACK triggered of MAC RX Statistics is zero.
o Station B, MAC tab:
§ RX Throughput is zero.
§ ACK triggered of MAC TX Statistics is zero.
§ Data detected of MAC RX Statistics is zero.
· On Station A, MAC tab, click just once on Trigger TX of Manual Data Source
o Station A, MAC tab:
§ Data triggered of MAC TX Statistics is 1.
§ ACK triggered of MAC RX Statistics is 1.
o Station B, MAC tab:
§ RX Throughput is zero.
§ ACK triggered of MAC TX Statistics is 1.
§ Data detected of MAC RX Statistics is 1.
RTS / CTS counters Test| · Disable Station A, set the dot11RTSThreshold to zero, since it is a static parameter. Then, enable Station A.
· On Station A, MAC tab, click just once on Trigger TX of Manual Data Source
o Station A, MAC tab:
§ RTS triggered of MAC TX Statistics is 1.
§ CTS triggered of MAC RX Statistics is 1.
o Station B, MAC tab:
§ CTS triggered of MAC TX Statistics is 1.
§ RTS triggered of MAC RX Statistics is 1.
Wrong Configuration
System Configuration| · Set Station Numbers to different values.
· Properly adjust the settings of Device MAC Address and Destination MAC Address as described previously.
· Leave other settings to the default values.
Error:
No data provided for transmission
| Indication:
The counter values of Data triggered and ACK triggered in MAC TX Statistics are not increased. Solution:
Set Data Source to PN Data. Alternatively, set Data Source to UDP and make sure that you use an external application to provide data to the UDP port configured correctly as described in the previous.
Error:
MAC TX considers the medium as busy
| Indication:
The MAC Statistics values of Data Triggered and preamble detected, part of MAC TX Statistics and
MAC RX Statistics , respectively, are not increased. Solution:
Check the values of the curve current in the RF Input Power graph. Set the CCA Energy Detection Threshold [dBm] control to a value which is higher than the minimal value of this curve.
Error:
Send more data packets than the MAC can Provide to the PHY
| Indication:
The PN Data Packet Size and the PN Packets Per Second are increased. However, the achieved throughput is not increased.
Solution:
Choose a higher MCS value and higher Subcarrier Format.
Error:
wrong RF ports
| Indication:
The RX Power Spectrum does not show the same curve as the TX Power Spectrum on the other station.
Solution:
| Verify that you have the cables or antennas connected to the RF ports which
you have configured as TX RF Port and RX RF Port.
---|---
Error:
MAC address mismatch
| Indication:
On Station B, no ACK packet transmission is triggered (part of MAC TX Statistics ) and the RX Throughput is zero.
Solution:
Check that Device MAC Address of Station B matches the Destination MAC Address of Station A. For RF Loopback mode, both Device MAC Address and Destination MAC Address should have the same address, for example 46:6F:4B:75:6D:61.
Error:
High CFO if Station A and B are FlexRIOs
| Indication:
The compensated carrier frequency offset (CFO) is high, which degrades the whole performance of the network.
Solution:
Set the Reference Clock to PXI_CLK or REF IN/ClkIn.
· For PXI_CLK: The reference is taken from the PXI chassis.
· REF IN/ClkIn: The reference is taken from the ClkIn port of NI-5791.
TX Error Rates are one in RF Loopback or Baseband Loopback operation modes| Indication:
A single station is used where the operation mode is configured to RF Loopback or Baseband Loopback
mode. The graphical indication of TX Error Rates shows 1. Solution:
This behavior is expected. The ACK packets are lost while the MAC TX is waiting for them; the DCF state machine on FPGA of MAC prevents this in case of RF loopback or Baseband Loopback modes. Therefore, the MAC TX always reports a transmission failed. Hence, the reported TX packet error rate and the TX block error rate are zeros.
Known Issues
Make sure the USRP device is already running and connected to the host before
the host is started. Otherwise, the USRP RIO device may not properly
recognized by the host.
A complete list of issues and workarounds is located on the LabVIEW
Communications 802.11 Application Framework 2.1 Known Issues.
Related Information
USRP-2940/2942/2943/2944/2945 Getting Started Guide
USRP-2950/2952/2953/2954/2955 Getting Started Guide IEEE Standards
Association: 802.11 Wireless LANs Refer to the LabVIEW Communications System
Design Suite Manual, available online, for information about LabVIEW concepts
or objects used in this sample project.
Visit ni.com/info and enter the Info Code 80211AppFWManual to access the
LabVIEW Communications 802.11 Application Framework Manual for more
information about the 802.11 Application Framework design.
You also can use the Context Help window to learn basic information about
LabVIEW objects as you move the cursor over each object. To display the
Context Help window in LabVIEW, select View»Context Help.
Acronyms
Acronym | Meaning |
---|---|
ACK | Acknowledgement |
AGC | Automatic gain control |
A-MPDU | Aggregated MPDU |
CCA | Clear channel assessment |
CFO | Carrier frequency offset |
CSMA/CA | Carrier sense multiple access with collision avoidance |
CTS | Clear-to-send |
CW | Continuous wave |
DAC | Digital to analog converter |
DCF | Distributed coordination function |
DMA | Direct memory access |
--- | --- |
FCS | Frame check sequence |
MAC | Medium access control layer |
MCS | Modulation and coding scheme |
MIMO | Multiple-input-multiple-output |
MPDU | MAC protocol data unit |
NAV | Network allocation vector |
Non-HT | Non-high throughput |
OFDM | Orthogonal frequency-division multiplexing |
PAPR | Peak to average power ratio |
PHY | Physical layer |
PLCP | Physical layer convergence procedure |
PN | Pseudo noise |
PSDU | PHY service data unit |
QAM | Quadrature amplitude modulation |
RTS | Request-to-send |
RX | Receive |
SIFS | Short interframe spacing |
SISO | Single input single output |
T2H | Target to host |
TX | Transmit |
UDP | User datagram protocol |
[1] If you are transmitting over the air, make sure to consider the instructions given in the “RF Multi Station Mode: Over-the-Air Transmission” section. The USRP devices and NI-5791 are not approved or licensed for transmission over the air using an antenna. As a result, operating those products with an antenna may violate local laws.
Refer to the NI Trademarks and Logo Guidelines at ni.com/trademarks for more information on NI trademarks. Other product and company names mentioned herein are trademarks or trade names of their respective companies. For patents covering NI products/technology, refer to the appropriate location: Help»Patents in your software, the patents.txt file on your media, or the National Instruments Patents Notice at ni.com/patents. You can find information about end-user license agreements (EULAs) and third-party legal notices in the readme file for your NI product. Refer to the Export Compliance Information at ni.com/legal/export-compliance for the NI global trade compliance policy and how to obtain relevant HTS codes, ECCNs, and other import/export data. NI MAKES NO EXPRESS OR IMPLIED WARRANTIES AS TO THE ACCURACY OF THE INFORMATION CONTAINED HEREIN AND SHALL NOT BE LIABLE FOR ANY ERRORS. U.S. Government Customers: The data contained in this manual was developed at private expense and is subject to the applicable limited rights and restricted data rights as set forth in FAR 52.227-14, DFAR 252.227-7014, and DFAR 252.227-7015.
References
- LabVIEW Communications 802.11 Application Framework 2.0, 2.1, and 2.2 Known Issues - NI
- Using Info Codes - NI
- Trade Compliance - NI
- National Instruments Patents - NI
- NI Trademarks and Logo Guidelines - NI
- IEEE SA - IEEE GET Program™
- VLC: Official site - Free multimedia solutions for all OS! - VideoLAN
- VLC: Official site - Free multimedia solutions for all OS! - VideoLAN
- Product Documentation - NI
- Product Documentation - NI
- PXIe-8135 National Instruments Controller |Apex Waves
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>