Hello all! I'm looking to do direction finding using 2 bladeRFs 2.0 micros, and encountering some phase-offset issues.
For context, I come from a software engineering background, and have extremely limited hardware/RF knowledge - mostly learning as I go along.
My current setup involves:
- I have 4 Rx antennas set up in a ULA
- Connecting the `CLKOUT` of the master device to the `CLKIN` of the slave device.
- Doing the libbladerf equivalent of `set clock_out enable` on the master
- Doing the libbladerf equivalent of `set clock_sel external` on the slave
- Connecting the trigger pins, setting up the appropriate `trigger`s
- Recording samples in a loop using metadata to correct for unilateral 'drops'
When doing the above, 'visually' the spectrograms match beautifully. Unfortunately however, it seems that I'm getting phase-offset issues on two levels:
1) Random phase-offsets between the two devices on each recording/rx (without switching off the devices in between).
2) Random phase-offsets between each channel on a single device (again, for each recording/rx without switching the device off).
My understanding is that (2) shouldn't happen, as both RX channels share the same VCTCXO. (1) on the other hand it seems that we can solve by following https://github.com/Nuand/bladeRF/wiki/T ... our-VCTCXO, get an external 10MHz oscillator, and use a splitter to supply them to each `REFIN` port.
I was wondering if anyone else had experience with this who could offer advice as to whether or not the approach I'm taking is the correct one.
According to the paper I found https://github.com/JoseAmador95/UoS_Beamforming , I see the following quote as well:
> Distributing a LO signal to every SDR or RF front-end is the easiest way to synchronise the relative phase of each properly, but noise in the distributed signal can significantly affect the performance of the beamformer. An alternative to this is to keep each SDR LO and distribute a low-frequency trigger signal that keeps every LO aligned without having a noiseless signal source.