Microwave Imaging Using the RP2040
Cornell ECE students demonstrate a microwave imaging system integrating a Raspberry Pi RP2040.
Microwave imaging is a non-destructive method for determining the presence of objects that may be obstructed or concealed from view. It uses high frequency radio waves to determine the size and shape of objects under test. For example, it may be used by security to check for restricted items on people or in their bags. In addition, it has become a greater interest in the medical community where it may be used to detect tumors, growths, or unnatural spots within patient’s bodies. When you think of these use cases, large and elaborate systems may come to mind. However, a couple of Cornell ECE students have recently built their own microwave imaging system using equipment found in a university lab and some DIY supplies including a Raspberry Pi RP2040 microcontroller.
The system is constructed using two wideband Vivaldi antennas, meaning they can operate efficiently over a wide range of frequencies. The antennas are setup up approximately 23cm apart from one another with the object under test in between them. Using a network analyzer, the scattering parameters or S-parameters are measured. These measurements provide four sets of data. The S11, S12, S21, and S22. Since the antennas used are the same, the system is symmetrical, meaning the S11 and S22 should be nearly identical as well as the S21 and S12. While the S11 and S22 provide a means of measuring the efficiency of the antennas, the S21 and S12 provide a means of measuring the path loss between the two antennas. Utilizing this setup, the loss over frequencies from 2.5GHz to 8GHz is recorded for 40 points.
Aside from the antenna setup, the system includes mechanics and electronics to rotate the object under test 360 degrees as well as up and down. Every time the object is moved, the loss between the antennas changes. These changes in loss is what allows the algorithm to begin reconstructing a two dimensional or three dimensional image. Two prevalent methods exist for image restructuring, they are the reflection method and transmission method. The reflection method provides an accurate image reconstruction however it relies on the analysis of non-linear equations and can be computationally intensive. On the other hand, the transmission method is less accurate due to mathematical assumptions made, but makes the computational analysis needed much easier. Using the transmission method and MATLAB, the reconstruction algorithm was successfully implemented for two dimensional images.
To achieve a setup that can rotate and lift the objects, a combination of stepper motors, an RP2040, a keypad, and a VGA monitor were used. The stepper motors are responsible for the dual-axis movement and are driven by A4988 driver circuits. The keypad and VGA monitor act as a user interface, allowing users to precisely control the movement of the system while providing real-time visual feedback. Furthermore, the RP2040 acts as the command center for the system. Reading and responding to commands and processing data for visual feedback.
The project works well, however the students mention that it did come with its challenges. Precision in the motor control, synchronization between threads, and complex user interface were all mentioned as notable challenges. In addition, three dimensional image reconstruction is possible but not available due to limited time to develop the code. Overall, the students created an impressive project and even had the work published in some IEEE literature. Documentation and source code is available n GitHub for further exploring.