/fmcw-radar

Two RX-channel 6 GHz FMCW radar design files

Primary LanguageHTMLApache License 2.0Apache-2.0

This repo has been moved to fmcw to support git-lfs (public forks do not support LFS).

About

This repo includes the custom PCBs and PC control software necessary to build and operate a 6GHz FMCW radar. It also includes a number of other useful additions, such as RF and SPICE simulations (in progress) as well as CAD designs for the horn antennas and PCB cases.

The project is a fork of Henrik’s excellent design. Although I’ve made a number of significant changes, most of the main PCB (as of this writing) is still identical to Henrik’s. Despite the fact that Henrik deserves a large share of the credit for this project, he is in no way affiliated with this fork.

This project is still in its early stages. In particular, there are a number of hardware issues that make this version inferior to Henrik’s. These will be fixed in a future version, but I would hold off building this version until these issues are fixed.

Capabilites

Briefly mention the radar’s capabilities.

Installation

Additional hardware

Modifications from the original

The FPGA code has been completely rewritten and expanded so that nearly all data processing is now done on the FPGA. This was done while keeping the same FPGA chip. This allows the fully processed output to be plotted in realtime and simplifies the data processing requirements of the host PC code. The FPGA code also includes automated tests and, in some cases, formal verification.

Because the FPGA responsibilities were expanded, the PC software had new requirements and had to be rewritten as well. The software is multithreaded and separates out the task of acquiring data from plotting it. Additionally, the software and FPGA gateware have been designed to make the radar easier to debug. For instance, data processing can be shared in any way between the software and FPGA, which makes gateware bugs easier to isolate. It’s also possible to request data from the FPGA in any intermediate form.

I completely redid the PCB layout because of the need for a new power amplifier (note that this introduced at least one significant issue).

I’ve added horn antennas that can be built by anyone with access to a 3D printer. There’s also a 3D-printable mount to hold the entire structure.

I’ve greatly expanded the documentation, which should be useful to anyone who wants to understand how the radar works in detail.

I’ve added a number of RF simulations (using OpenEMS) and spice simulations (using Ngspice).

Finally, I have plans to multiplex 8 receiver antennas across the 2 receiver channels for better angular resolution. The PCB has already been built (though is untested), but I haven’t yet had the time to write the FPGA code and software to support it.

Issues and To-Do

The power circuitry that was added to accommodate a new power amplifier (the original was deprecated) adds noise that shows up in the final output. Because of this problem, if you’re able to track down the old power amplifier I’d recommend using Henrik’s design instead. My FPGA code and software (at least for now) should be fully compatible with the original hardware. I intend to fix this problem in a future version.

I’m currently working on a number of RF simulations that will eventually lead to a replacement of some of the RF PCB layout. Currently, I have very limited information on whether these parts of the PCB actually work the way they should. Areas of focus include transmission line characteristic impedance, transmission line to SMA transitions, and replacement of discrete components such as couplers, attenuators, etc. with the equivalent components etched directly onto the PCB. Once the RF simulations are complete, I’d like to prototype these before actually building them into the radar. Unfortunately, I don’t yet have the proper testing equipment for this (building a VNA is the next project…).

Contributing

Pull requests and issues welcome. I’m open to suggestions for hardware modification, although may or may not be able to merge those commits depending on whether I can test the change.

Operation

Link blog post.

Attribution

  • Henrik, of course (see About).
  • An additional thanks to AlexBdx for finding a way to 3D print horn antennas.