Team’s Status Report for 05/08/2021

Updates
This week we spent a lot of time preparing and participating in the final presentation. Overall the presentation went well for our group, and we got some useful feedback that we can use in our final report.

Progress Made
We got some more data points in order to better justify our conclusions and started on the remaining assignments. For the final report we were able to adapt our design report as a good foundation to start on. We were also able to use some of the information from our presentations to work on the poster. We all started working on our contributions to the video and recorded some footage of our device.

Upcoming
For the remaining time we will finish up these artifacts and and prepare for the public demo as overall our project is finished.

Team Status Report 05/01/2021

This final week was dedicated to integrating the software with the hardware and running tests to report our final metrics to see the difference between our initial goals and our final results. The software system consisted of two parts, collecting the SDR data and transmitting the data, and a receiver which analyzed the data to perform beamforming as well as conducting the overlay. These two parts were done on two different devices and so this process was merged to be performed on one. This was done not only for efficiency in design space on the cart and to preserve data integrity between transfers, but also to alleviate the need for a tedious FPGA setup.

We have also put some significant time into final tests for our system to ensure that the integration has worked without hitches. We placed markers within the lab and used these to gauge the performance of our system. Additionally, we began collecting footage and pictures for use in our presentation for sunday.

We allocated additional time this week to give feedback on the course and to prepare our presentation slides.

Team Status Report for 04/24/2021

This week we had our ethics discussion where we were able to get some valuable feedback about some ethical considerations for our project. This will be useful for our final report and gave us some additional perspective for our future work.

Regarding our project, this week we worked on getting the beamforming array to work with 4 SDR’s and antennas. After updating our beamforming pipeline to receive data from all 4 antennas and adjusting the algorithm to use 4 inputs instead of 2, we were able to get an angle of arrival for the signal picked up by the antenna array. We also made progress on the heatmap overlay code and are able to now draw boxes over of the webcam input based on the calculated angle of arrival. This means we have the two subsystems of our project mostly complete and will be able to start integrating them next week.

Next week we will continue working on integrating the two subsystem’s so that the vision pipeline is actually receiving data from the beamforming pipeline instead of the dummy test data.  After that all we will have to do is more testing and minor adjustments and then we should be on track to finish our project.

Team Status Report for 04/10/2021

Signal Power Calculations

This week, we worked on computing reliable estimates of signal power from the received WiFi signals. Vrishab carried out some theoretical calculations from which we verified that undersampling the captured signals would not affect the received power. The implementation of these calculations in software was carried out by Enock.

Downconverter Debugging

In computing correlations between our captured WiFi signals, we found that one of the signals appeared to be corrupted by a high degree of noise. To debug this, we first determined that the source of the noise was not one of the SDRs. Txanton wrote a script to set the VCO output to a frequency that could be captured by the SDRs, which we were able to use to confirm that the SDRs were not the source of the problem. We found that one of the outputs from the downconverter board we were using was faulty, so we replaced our downconverter with the additional one that we had.

Server Implementation and Correlation Analysis

We implemented a simple UDP server to facilitate real-time data transfer from our data capture apparatus to a computer for processing. The server implements a correlation script that can ascertain the sample delay between signals from each antenna.

Progress Since Last Week

We have greatly improved our signal capture pipeline for two antennas, which was quite slow last week and suffered from incorrect correlations induced by a faulty downconverter.

Tasks for Next Week

We will add two additional RTL SDRs to our system. For now, we will use the faulty downconverter since one of its two lines still works. We will seek a replacement on monday if it cannot be fixed. We will also finish implementing angle of arrival estimation, which is a simple equation applied to the delay between the two signals which we have already obtained

Team Status Report 04/03/2021

This week we worked on HW 1-3 and SW 1-2 from our new schedule made in order to put us back on track in time for demo. We ordered all our parts last week and weekend and were able to receive all the parts on time. Thus, Enock and Vrishab were able to work on testing the individual parts as they came as well as putting them together.

Txanton worked remotely on software programming for the VCO in which he had to write it for Arduino, MSP430, and STM32 since there were many issues with the Logic Level Converter and the MSP board. Txanton was able to zoom in remotely to help write the code in real-time for each of the boards as Enock and Vrishab tried debugging the boards and LLC.

For the hardware aspect the first goal was to set up GNU Radio and sync the SDR board which required some physical manipulation of the PCB’s to get the clocks to sync. Once the FM signals could be seen simultaneously the next step as to check the VCO output to ensure the correct sine wave was seen. After this was done all of the parts ended up coming in tandem and thus we were able to start physically building the entire system.

Fitting the SDR, VCO, LLC, and microcontroller it was seen that the LLC could not switch fast enough for the SPI Interface of the Arduino. Thus the arduino was switched out to the MSP which was natively 3.3V and allowed for us to remove the LLC from the design however, we could not verify that the VCO was working properly and thus we switched to the STM32 which Txanton had extensive experience with. This board worked and so we finally attached the downmixer to the WiFi antenna and tested with GNURadio, a hotspot, and a laptop connected to the hotspot to see that this signal was seen in the waterfall. We were able to see good signal strength when close to the antenna and much weaker when moved away, especially out of FOV and so we concluded that the system worked.

The next steps will be for Txanton to start working on OpenCV code for webcam input and overlay. The beamforming algorithm will need to be configured with GNURadio data from the antennas and will need to be optimized and changed once we see what this data will look like.

Here is part of the system. Antennas and downmixer not shown but attached out of the FOV.

Team Status Report for 03/13/2021

Last Week
Last week we did not have a status report due, as such we spent most of that time writing our design report. In order to write this report we had to make sure our beamforming algorithms were solidified, and we had to make sure our component selection was finished.

Component Ordering
This week we finalized the last of the components that we needed and placed an order for them, as such we expect to receive them sometime next week enabling us to start combining them to work on our minimum viable product. Unfortunately some challenges came up from when we wrote our design report as we originally thought that we had found a reliable source for the downmixing boards that we planned on using, however, they all ended up being shipped internationally meaning that they would not arrive in time for us to properly test and include it into our design. We luckily were able to find replacement boards domestically, however, they were quite a bit more expensive meaning we will need to be careful with our remaining budget in case we need additional equipment.

Advancements with current Gear
We also made a lot of progress with the equipment we have. We were able to use the SDR’s that we got last week to perform beamforming in the FM radio band, as such we feel confident that when the rest of our components arrive we will be able to adapt it to WiFi in order to meet our MVP. The radio signals received are relatively close to the intermittent frequencies we expect to receive from the downmixing equipment meaning it should not be too difficult to adapt our system.

Upcoming
This upcoming week we will continue to tweak and adapt our beamforming algorithm, and start adapting our system to work with WiFi as the components become available to us and we can test further

Team Status Report for 03/13/2021

Presentation

Our team spent a considerable amount of time early in the week creating the presentation slide deck. Some considerable effort went into creating some of the animations and visuals to accompany the technical content of our presentation. In particular, we provided an artist’s rendition of our final product, a series of animated beamformer signal response plots, and a block diagram of our product. (We note that the feedback from one of the instructors stated that we stole our block diagram from somewhere without crediting its source — this could not be further from the truth, as we created the diagram ourselves.)  We also chose Vrishab as our presenter and helped him dry-run the presentation.

Downconversion

We had a lengthy discussion with Shaun Stevens who is Dr. Kim’s graduate student. During our meeting, Shaun helped us flesh out the downconversion process and provided feedback on other aspects of our implementation.

With his help, we have now identified the specific channel of 2.4GHz WiFi that we are going to work with — channel 6 — which has a bandwidth of 22MHz. Thus, after downconversion, our A/D converter need only sample at the nyquist rate of (22/2)MHz upper frequency * 2 = 22MHz. We have selected the specific ADC that will accomplish this task.

Progress Since Last Week

We now have identified all of the components that are needed to implement our system from the antenna array through the FPGA. We have also identified the critical components for our downconverter, which we were not aware we needed as of last week.

Plans for Next Week

We will begin PCB layout next week and plan to meet with Dr. Carley for feedback on our layout once complete. We plan to send out our schematics to have our PCB fabricated at the end of next week.

 

Team Status Report 03/06/2021

This week we spent more time narrowing our project design and metrics since the design presentation will be due close to the time this post is up. This week we were able to create our proposed antenna design by settling on WiFi signals as our target signal, the number of antennas, and their array pattern. We were able to decide on the antenna spacing for the array based on the WiFi frequency since we wanted to not only avoid aliasing but losing important signal information.

We have found a beamforming algorithm that we will try to implement and test in MATLAB before having to customize it for the FPGA. Since we have settled on an MPSoC FPGA to use, it will make this process of designing easier. We have also started brainstorming a way to configure the heatmap which is our final output. This will be an agreement between the data output type of the FPGA (which we hope to be pixel values that represent intensity) which will be fed to a microcontroller which will handle composing a heatmap onto the live feed of the camera we will be using.

We are currently on track with our project but should order and start building soon to start doing prelim testing with the PCB so we can start interfacing with the hardware/software.

Team Status Report for 02/27/2021

This week we spent a lot of time watching our peers present their own projects which helped us to get a good idea of how other groups were approaching their own challenges and try to find ways we can adapt that to our own.

We did not get as much done this week as we would have liked due to the project presentations, however we still were able to get a solid start on our requirements. Since we decided on cylindrical antenna’s we started to try and address the challenge of how to make sure they stay in a consistent arrangement with proper angles between each antenna. Our solution for this was a 3D printed rigid body in order to keep all of the antenna’s in place. We also did research on different digital beamforming algorithms so that we may start comparing and contrasting them to see if they meet our near real-time constraints and their difficulty in implementation.

Going forward, we plan to focus our attention towards the antenna’s and the PCB that all of the antenna’s will connect to. By focusing on this it will allow us to get prepared to start ordering components so that we may start working on our physical implementation and start prototyping as soon as possible. We will also start organizing our information regarding DSP algorithms so that we can get an idea of how we will implement them. We will also need to make a decision regarding whether or not we will use a Software Defined Radio, such as GNU Radio, or if we will use a FPGA instead as they both have benefits and drawbacks.

Team Status Report for 02/20/2021

This week, we worked on identifying the critical components — hardware, software, and theoretical — that we will need in order to move forward with our project. We also discussed the architecture that we will use for beamforming wifi signals, such as the hardware components and their connection to and sampling of the array sensor elements.

The greatest risk that we face going forward are a lack of compatibility between our sensors that the signals we hope to capture. Wifi signals are transmitted at a relatively high frequency, so we need hardware that can sample it at the nyquist rate; this is not feasible using some boards, so we need to be careful which ones we choose. We mitigating this risk by thoroughly researching our hardware before we finalize anything.

We have only started design of our architecture this week, as per our schedule, so there have been no significant architectural changes since last week; our particular project demands some quite specific hardware, and so we are taking our time in planning out our system. Once we have our hardware, the design of our system will adhere closely to existing beamforming architectures, since any deviation from those will greatly complicate the underlying theoretical calculations and will more than likely yield sub-optimal results.