Test

Outdoor System

3.1 Test Plan

Our testing strategy for the directional signal localization system encompasses both short-term and long-term objectives. In the short term, our focus is on validating the basic functionality of the Software-Defined Radio (SDR) and exploring the feasibility of the Angle of Arrival (AoA) methodology for signal localization. Short-term goals include successful tuning to lower frequency radio stations, effective demodulation of signals, and accurate AoA measurements. These initial tests serve as foundational steps, paving the way for long-term refinement and expansion of the system's capabilities to address real-world applications.


Basic Functionality of the SDR:

Objective: Evaluate the fundamental functionality of the Software-Defined Radio (SDR).

Test Case:

Criteria:

Angle of Arrival Methodology Test:

Objective: Investigate the feasibility of using the Angle of Arrival (AoA) methodology for signal localization.

Test Case:

Criteria:

Power Measurement Calibration:

Objective: Assess the Software-Defined Radio's (SDR) capabilities in measuring power in the chosen 1-6 GHz band.

Test Case:

Criteria:


Fig. 1. Basic functionality test screenshot.

TestFM.wav

Fig. 2. Audio captured from signal.

Fig. 3. Angle of Arrival 'Phase-Offset' test screenshot.

3.2 Results and Analysis

Basic Functionality Test:

The basic functionality test successfully showcased the Software-Defined Radio's (SDR) capability to capture, demodulate, and save received signals. As evidenced in the provided content, including a screenshot of the demonstration and sample audio extracted from a received and demodulated radio station signal, the SDR performed effectively in tuning to lower-frequency radio stations and accurately demodulating signals.


Angle of Arrival (AoA) Test:

The AoA test revealed a nuanced challenge in achieving stable measurements of the phase for determining signal direction. Despite effective phase measurements under stable conditions, small displacements in the source's position resulted in drastic phase jumps, rendering it impractical for accurate signal source direction determination. This challenge is a contributing factor to the shift in our direction-finding methodology, as shown in the implementation section earlier. The recommended course of action for follow-up testing involves conducting experiments in a large, open area to better mitigate the effects of multipath interference from signal reflections, ensuring more accurate and reliable AoA measurements.

Indoor System

3.1 Test Plan

Our test plan for the indoor system starts with setting up all of the data gathering, data training, data storage, and data reading. Each of these steps are completed linearly and are originally completed on a Raspberry Pi. 

Fingerprint Gathering

The objective for the fingerprint gathering is to set up server to gather and save Wi-Fi and Bluetooth fingerprints. The two cases to test are to gather and save Wi-Fi and Bluetooth fingerprints from an active scan and from a passive scan. The success criteria for both will be whether or not these scans save legible and accurate output data that matches the intended format.

AI Training

The objective for the AI training portion is to create an accurate and legible AI model that takes the recorded fingerprints as input. The test case will be to build the program and run it on the data from the fingerprint gathering portion. The success criteria is whether or not the model matches the testing files existing in the repository. 

Data Storage

The objective of the data storage portion is to have a server running locally to hold the fingerprint data for future reading. The test case is to set up the software and be able to import data from the initial fingerprint gathering into the correct file structure. The success criteria is whether or not the file structure is set up in totality and matches the structure given in the test materials in the repository. 

Data Reading

The objective for the data reading portion to finally read and generate a text output of Wi-Fi fingerprints in the area. The test case for this is to have a test signal move through the area between the beacons. The success criteria would be to correctly identify the signal, the device if applicable, and the location. 

Dimensional Organization

The objective for the dimensional organization is to stack rooms to create a 3D data field. The test case for this is to place multiple sets of vertical beacons to act as floors and move the test signal across all axes. The success criteria would be to see that the vertical change in signal is correctly reflected in the saved data. 

Fig. 4.  Error output from Wi-Fi and Bluetooth fingerprint scan. 

3.2 Results and Analysis

Fingerprint Gathering

The Fingerprint-Gathering-CLI program has been set up on the Raspberry Pi 3B and has all the dependencies created without Docker. The program can begin and gather some data from both active and passive scans. However, both crash upon recording more than a few data points. This is potentially due to requiring the set up of the storage server. Another reason this may exist is because of older GO dependencies not matching with those currently in use. The next steps are to read on the Golang versions in use and to parse the code for array sizing issues. After that, the data storage set up will be moved to a priority. 

Data Reading

This step was started early in an attempt to view the GUI. The front end has not correctly installed on a Windows or Linux machine, and is next to be started on a Raspberry Pi. This process has moved to installing dependencies directly onto the Raspberry Pi and not Docker, though this may change as other problems arise during the fingerprint gathering section. 

GUI

3.1 Test Plan

Outline the plan for testing the implemented design.

The plan for testing the GUI depends on information provided by the hardware and software portions of the system. Once the hardware collects signal information and the software processes it, the GUI will then visualize those details onto the webpage. This includes the frequency of the detected signal as well as the latitude and longitude that it was located at. Once this information gets uploaded onto the .csv file, the GUI will graphically display all necessary information about the signal that concerns the user. The test plan involves completing this process using sample signal data generated from MATLAB that we know the frequency and exact location of, so when it displays on the GUI, we will be able to determine how accurate a signal is portrayed.

Define specific test cases and criteria.

Checking Accuracy of Signal Representation

Objective: Assess GUI's ability to correctly represent a signal on the webpage

Below is a snapshot of the .csv file with sample data used to test the functionality of the GUI

Test Cases 1-8:

Fig. 5. Test signal location data.

It holds data for longitude, latitude,  and frequency.

Below is what the GUI displays based on this given data:

Fig. 6. Proof of Concept web-enabled GUI. 

Below we have Test Case 1 compared with the information displayed by its corresponding signal on the GUI:

Fig. 7. GUI with signal selected, identifying its signal as 2.4 GHz, matching the above database entry. 

3.2 Results and Analysis

Share the results of the testing phase.

After running the GUI and comparing the information displayed to the sample data, we observed that each signal was correctly represented and the details were reflected correctly both textually and visually.

Discuss any unexpected outcomes and their resolutions.

Fortunately, the results were successful and no unexpected outcomes came from testing the GUI.