The proposed antenna array consists of sensitive receivers and a number of software-defined radio receivers. Because each receiver has it’s own clock, the output signals are incoherent. Is it possible to do beam forming with such an antenna array? Can the signals be made coherent, digitally?
Theoretically the answer is yes, but this is going to be a bit technical …
What we do is add a reference transmitter, transmitting a constant frequency, which is received by all the receivers. The frequency offset of each channel can then be compensated for, as shown in the diagram below:
Basically, each radio receiver has a different frequency (f1,f2,f3,…) with which the received signal is mixed. By doing an FFT, the Odroid can determine the offset of the reference signal and then mixed the incoming signal with the offset frequency. The end result is signals that are all downconverted with the same coherent clock (f0), that of the reference transmitter.
The sample rate of each rtl-sdr dongle are also different, so that the resulting data streams is shifted in time with respect to each other. Time calibration is done by periodically (once per second) transmitting a code (using OOK). The Odroid then look for the code in each datastream and appropriately delay the data before it is send to a correlator.
Not the best hardware are currently used for the reference transmitter – it is a bit of a ‘hack’ to quickly get things working. A better transmitter will hopefully be build at a later stage.
To generator a continuous CW signal, an Adafruit Si5351A Clock Generator Breakout Board – 8KHz to 160MHz is used as clock and one of the harmonics of the output is transmitted. The clock generator is controlled by an Arduino Nano. A transistor is used at the output for OOK. For the timing signal, the Arduino sends a 1ms gold code at a rate of 1 Mbps.
We are planning to make the Odroid software open-source and will describe it in more detail in a following post. But if you are interested to used it, just send us a comment.
Does it work in reality?
The next step is to test it using a satellite.