Skip to content

3. Software

pricna edited this page Jun 10, 2021 · 2 revisions

Simulations

We simulated our work using LTspice. Much of this work is based on the work previously done by Dr. Frohne and the other groups, but these simulations can be found here in the repository. Jared primarily focused on getting the simulations going. The following is an LTspice screenshot of a noise simulation that seemed to get decent results. The instrumentation amplifiers used are not the ones we used because of difficulties in finding the proper ones, and we did not fully integrate everything all of our circuitry into all of our simulations.

Logic

As mentioned in the Testing and Errors page, the program Logic was used to check I2C signals. To set it up, hook up ground and SDA/SCL connections to a logic analyzer, set up an I2C analyzer in the software, load the Arduino phase code with the correct I2C address, and then press run in the software. It is a good idea to zoom out while it is running to confirm that signals are coming in, and then stop it and zoom in to check the signal. This is what it looks like when the I2C there is no acknowledgement.

Arduino

The Arduino code was also mentioned previously on the Testing and Errors page, so to reiterate some of what was said. To test just the phase of the I/Q signals, this example code can be used. To use it with the board designed for this project, instances of clocks 0 & 1 need to be changes to clocks 1 & 2. Then for the overall Quisk code, modifications had to be made to Dr. Frohne's code to get it working with the code. Once again the clocks had to be changed, and some frequencies updated. Here is a screenshot of a portion of the changed code.

Quisk

To set up Quisk, follow the installation steps detailed on this page. Once Quisk is able to be executed, set up a softrock fixed radio with the quisk_conf_openradio.py config file. The changes made to the config file depend on the OS, but for this project, we set openradio_serial_port = "COM3" which is where the Arduino was plugged into the computer. We also changed the baud rate on the port to 57600 to match the baud rate in the software. We found that it is much easier to use Quisk if the soundcard and Arduino are plugged into a computer/laptop with multiple ports. If Quisk is properly set up, adjusting the frequency should adjust the I/Q frequencies in the board, which we confirmed with the oscilloscope. With that working, and an antenna set up, we were able to get good results, such as this:

Also note that with the version of the software we were using, we incorrectly got error messages when there were no errors when we launched Quisk. Some of the Quisk setup steps were glossed over a little bit, so for more information on that either look at the installation instruction link above, or check Konrad McClure's documentation for some additional useful information.

Clone this wiki locally