Page 1 of 1
BladeRF astronomical interferometer
Posted: Sat Dec 26, 2015 10:47 am
by dlonard
Hello Everyone,
I thought I would post some of my work on using three BladeRFs as SDR interferometers for radio astronomy. If you follow the links provided below, you can see some of the data from work that I've done at 60 MHz and 140 MHz. I haven't tried out the various approaches that are emerging to synchronize the data streams from multiple BladeRF's yet, but I am very keen to use 1 PPS synchronization. To align data right now, I am using a FFT/IFFT process to synch data in post processing. The links provide some code that I've written to do this and for using a GPU to function as a FX correlator.
There are a few kinks in my set up that occasionally leads to dropped samples, but most of the time, I am able to record data at 15 MSPS simultaneously from three radios.
If anyone else is doing any work using BladeRFs for interferometry, I would be glad to hear about your experiences.
David
https://www.youtube.com/watch?v=ISEfbBJxiK0
https://www.youtube.com/watch?v=ZlmvZa6bcTs
https://sites.google.com/site/amateurra ... ferometry/
https://groups.google.com/forum/#!forum ... rferometry
Re: BladeRF astronomical interferometer
Posted: Sun Dec 27, 2015 2:54 pm
by dlonard
Jon,
Thanks, I look forward to the 10 MHz/1 PPS synch functions going mainline. I'm still a ways off from being able to correlate signals in real-time, so I am content to process everything after recording right now. Without 1PPS synching, individual BladeRFs are about ~5000 to 10000 IQ sample pairs off when started off from Gnuradio at 15 MSPS on my machine.
David
Re: BladeRF astronomical interferometer
Posted: Sun Dec 27, 2015 9:11 pm
by dlonard
Thanks for the clarification, yes I am more interested in the ability to synchronize devices, preferably on a 1 PPS pulse from a GPSDO. I assume that a master radio could send a pulse to slave radios as an alternative, then no extra hardware would be needed. I think it would be straightforward to characterize the delay and use that for synchronization for those of us that do not need higher levels of frequency accuracy.
Re: BladeRF astronomical interferometer
Posted: Wed Jan 27, 2016 9:45 am
by dlonard
I've done some more work to get three BladeRFs to cross correlate data in 'real time' now for those who are interested. A grc flowgraph and a Python script communicate over a TCP socket now, so data doesn't need to be stacked up on big solid state drives and post-processed. See the link below.
Once the sample stream synchronization is incorporated into the BladeRF master code, I will ready to do sustained astronomical interferometry observing.
David
https://groups.google.com/forum/#!topic ... haMXMHdO4o
Re: BladeRF astronomical interferometer
Posted: Tue May 24, 2016 6:04 am
by dlonard
Jon,
I'm excited to try it out and thanks for the example. I've got three radios that need to be synchronized and I think I should be able to figure it out. Ultimately, I would like to be able to execute the triggering from within a GnuRadio flowgraph. I will keep everyone posted on my implementation.
Thanks,
David
Re: BladeRF astronomical interferometer
Posted: Thu May 26, 2016 6:06 am
by dlonard
Jon,
Thanks, the FIFO approach looks like it might be the way to go. Should have some results soon.
David
Re: BladeRF astronomical interferometer
Posted: Mon May 30, 2016 3:45 pm
by dlonard
Jon,
I've been able to get synchronized reception from my three BladeRFs with the latest FX3 firmware, FPGA images and bladeRF-cli, following the write-ups on how to get this going. The FIFO approach that you suggested works well, with the caveat that the temp files for each BladeRF grow very large, so sustained recording is still not possible yet. I expanded the GnuRadio FIFO flowgraph to read the three temp files and it worked fine.
Below, I've got an example for a configuration for my radios to trigger only as receivers and have attached the scripts used to control each radio. Each radio was activated in separate terminals using the commands listed below. (File paths and serial #'s will differ).
MASTER
bladeRF-cli -d '*:serial=33' -s ~/gnuflow/aipy/140mhz/synch/master.txt -i
trigger j71-4 rx fire ******when ready
SLAVE 1
bladeRF-cli -d '*:serial=be' -s ~/gnuflow/aipy/140mhz/synch/slave1.txt -i
SLAVE 2
bladeRF-cli -d '*:serial=69' -s ~/gnuflow/aipy/140mhz/synch/slave2.txt -i
I'm going to check out SoapySDR. Seamless multi-radio triggering would be very cool.
David
Re: BladeRF astronomical interferometer
Posted: Tue Aug 29, 2017 8:22 am
by livingstone_ray
hi there.
i have the comments and i am i have a coupling of questions regarding the clock and sample synchronization.
firstly, i am doing an OFDM SIMO wireless system and i am trying to perform clock synchronization and sample alignment at the 2 BladeRF RX boards to ease the burden of synchronization at the software level for my diversity combining. i have followed David's work on the configuration of master receiver and slave receiver, in my case which is only two boards, so what i am trying to do is first configure the master and slave with the scripts attached below, then i run my GNU Radio flow graphs which has osmocom Source blocks which set the gains and everything else, then with the GNU Flow graph running i fire the trigger using "trigger j71-4 rx fire" from the master console, the issue is i am receiving anything at all, so my question is when i configure the boards using the bladerf -cli first and then run GNU Radio flow graphs, does my osmocom Source blocks overwrite the settings i did before with bladerf -cli?, which could be the reason why i cant fire the trigger and i cant receive anything.
secondly, if i am correct regarding the above, how can i make the clock and sample settings using bladerf -cli and then just receive the samples as i normally would from the osmocom Source block of the receiver?, i am aware of the FIFO approach but i dont have enough memory to store temp files as i am running GNU Radio from a 30 Gb Ubuntu partition that i dual booting with windows 10 on my laptop. maybe Jon you could explain a little more about how the FIFO approach actually works if i am incorrect.
thanks.