Code Developed in the Lab of Dr. Murat Torlak at University of Texas at Dallas, and ported to LabVIEW Communications 1.0 by National Instruments. The application decodes and displays 802.11b network SSIDs generated by an ad-hoc network from your computer's wireless adapter.
This example utilizes a state machine to scan for WiFi packets and extract the associated SSID of the detected network signal. This state machine is executed as follows:
1. Initiate: Initiates the USRP session and fetches a set of data to aid in eliminating transients
2. Read: Fetches USRP data and performs a simple energy detection to identify a WiFi packet of interest between channels 7 and 17
3. Trigger Found: When a trigger is found, the USRP session is aborted to allow for data processing
4. Process: The SSID decoding is done in the Decode SSID.gvi in this state of the state machine. Decode SSID.gvi performs a frequency offset correction and then demodulates and de-scrambles the data according to the spec. An ASCII look-up table then translates the bits into characters. Some logic is then executed to ensure the data is valid before logging it into an array and displaying it on the front panel.
Troubleshooting: Occasionally there may be characters that are not recognized properly. Performing some equalization and adding a few other tuning parameters should minimize their occurence.
Figure 1: Diagram of Descramble and Demodulate.gvi
(steps may vary depending on Operating System)
Figure 1: Configuring wireless adapter properties
Figure 2: Checking the status of the wireless test network
1. Open Main USRP WiFi Demo.gvi
2. Observe the panel (shown in Figure 3)
Figure 3: Front panel of Main USRP WiFi Demo.gvi
3. Configure the device names control to the IP address of your USRP device (typically 192.168.10.2)
4. Verify the remaining parameter are set as follows:
5. Run the VI and observe the decoded SSIDs. An example of the output is shown in Figure 4:
Figure 4: Execution of Main USRP WiFi Demo
If you receive errors regarding potentially mis-aligned packets: