I just keep making this project harder and harder on myself. Initially my plans called for a single antenna in a motorized altazimuth mount. I kept putting off making the mount then decided to scrap it—I'm going for a phased array instead.

### Why

Phased arrays obviously complicate things significantly but they also offer several advantages:
• Can be processed later, just need a way to store output from the radios (Currently WAV in my case)
• No moving parts; more durable

### Hardware

This project's called for quite an extensive list of supplies. I went overkill and got a second HackRF for my additional radio. I could've gotten something cheaper but I'd have had to look into what would be best; I already know the HackRF is capable enough. This is the parts list for a single RF front end. I believe the radio acting as the local oscillator will be able to be split out to the various RF mixers. This brings the total number of radios to N_arrays + 1.
• 2× LNAs (one for 1420MHz and one for 70MHz)
• 2× bandpass filters (one to match each LNA)
• 2× SDRs (one capable of Tx, all capable of clock synchronization)
• Frequency mixer

### Setup

Each radio gets its own 16 element array (at least according to the current plans, images and 3D models in the works). After an amplification stage and a filtration stage, the signal gets stepped down by ~20× to 70MHz. After this stage the signal gets passed through a second set of amplification and filtration stages before running into the Rx SDR. Each SDR runs to the same PC where it records each SDR's input as a separate channel in a single WAV file.

### Software

I'm still debating how exactly to go about the software side of things. GNU Radio is an obvious choice but I'm not too big of a fan of Python. I stumbled upon LuaRadio and have been playing around with that. There's no GUI counterpart like GNU Radio Companion as far as I can tell but Lua's a pretty simple language to dive into. I've got a Lua script set up for muxing the signals together and ready for phase shifting, now I just need to implement the math. Once things are more functional I'll start hosting releases here alongside the Git repository.

### The Math

$\mathrm{\Delta t}=\frac{\mathrm{sin\left(\vartheta \right)D}}{с}$ is the formula for a 1-dimensional array, as depicted in the adjacent figure. $D$ is the element spacing, $\mathrm{½\lambda }$ in this case, while $\vartheta$ is the desired angle to beamshift towards. с is the speed of light. Taking this into account gets us $\mathrm{\Delta t}$, or the time in seconds it takes for the same signal to reach the next element.