A Project Progress Report and possible Radio Astronomy Technique?

  • A
  • Thread starter Thread starter Paul Colby
  • Start date Start date
Click For Summary
The discussion centers on an eight-year project involving two Software Defined Radios (SDRs) synchronized to measure small thermal noise through correlation measurements. Progress has been made in syncing the phase and frequency of the radios, but a critical issue of time synchronization remains, as sample numbers from each radio do not correspond to the same time. A solution involves adding buffering to the IQ data streams and leveraging common noise for time synchronization. Initial results indicate that while the system can achieve a temperature of -172 dBW/Hz at 1420MHz, further work is necessary to optimize the technique for radio astronomy. Ultimately, the approach suggests the potential for amateur radio astronomy, requiring two antennas for effective implementation.
Paul Colby
Science Advisor
Insights Author
Messages
1,576
Reaction score
486
Some 8 years ago I posted some experiments using 2 Software Defined Radios slaved to a common clock. The idea was measure small thermal noise by making correlation measurements between the IQ samples from each radio. This is a project that has kinda smoldered in the background where I've made progress in fits and starts. Since most (all?) RA signals are small thermal signals it seemed like the technique should be a natural approach. A recent thread discussing the feasibility of using SDRs to do amateur radio astronomy spawn another look at the technique.

By post #27 of this 8 year old thread, it looked like I had solved the problem of syncing the radios making the phase relation between the radios fixed and stable. Well, they are but I was missing a rather important point. While the phase and frequency of the radios were indeed in sync they were most definitely not time synchronous. What this means is, given IQ sample, ##A_n## from radio ##A## and ##B_n## from radio ##B##, one may not assume ##n##, the sample number, refers to the same instant of time. From a software perspective the reasons are straight forward. The system needs to start data collection threads and aren't setup to start them on the same cycle of the reference clock. Turns out the sample offset between data streams is typically large. These run 10k to 20k samples and of somewhat random sign (which radio thread starts first is a crap shoot).

The solution to this problem is straightforward by adding some additional buffering into the IQ data streams. One just needs to compute the correlation between the IQ stream and look for the correlation peak. Initially I would inject a common noise source into each radio. It turns out there is already enough common noise to do a time sync. This is both a convenience and a serious limiting problem.

The conclusion at this point is more work is needed to make it worth while. A 50ohm terminator produces -187 dBW/Hz at 290K. Under ideal conditions I've been able to get to about -182 dBW/Hz with the radios each terminated independently in 50 ohms at 20MHz. At 1420MHz there is enough common noise present to sync the radios so the system temperature is much hotter at -172 dBW/Hz.

So, as it stands, one could think about RA using this technique but one would need two antennas.
 
Last edited:
Astronomy news on Phys.org
So basically a radio interferometer? That's pretty neat, I've always wanted to do something like this.

So even when you stopped injecting noise into each you still had enough common noise to do a time sync? Do you know where the noise is coming from? Probably leakage? Theoretical Johnson noise level would be around -200 dBW/Hz right?
 
There is a tradeoff, is it easier to synchronise the internal 1'st LO synthesisers of two SDRs, or to build two RF front-ends with 1'st LOs that do not involve noisy digital hardware near the antennas or LNAs ?

Since the SDR synthesisers do not start at the same instant, with the same code, there will be a phase or time difference between the same spurs in two otherwise identical SDR signals.
 
I’m confused. Johnson noise at 290K is -174 dBm/Hz or -204 dBW/Hz. How do you get -187?
 
marcusl said:
I’m confused. Johnson noise at 290K is -174 dBm/Hz or -204 dBW/Hz. How do you get -187?
The total Johnson noise per Hz is ##4k_BTR##. For a perfectly matched network, only ##k_BTR## of it gets into the receiver. In this case it is

##1.38\times 10^{-23}\; 290\times 50 = -187 dBW/Hz##

Did I miss something? Often not a vacuous question for me
 
QuarkyMeson said:
So even when you stopped injecting noise into each you still had enough common noise to do a time sync? Do you know where the noise is coming from? Probably leakage? Theoretical Johnson noise level would be around -200 dBW/Hz right?
This is a good question. I’ve done some experimenting separating the radios and shortening the cables from the clock generator. I’ve succeeded in reducing the common noise to the point that it can’t be used for syncing them.

Every port is a two way street, noise comes in and noise definitely goes out. Connecting the radio inputs with a short cable raises the common noise considerably, often about 10 dB or so. With very thick rose colored glasses, connecting ideally matched perfectly isolated radios should be the same as terminating them independently. Of course, the noise belched out each input are correlated at detectable levels.

I should post some data and will do so. I’m out of town for a number of weeks so there will be a delay.
 
  • Like
Likes QuarkyMeson
Baluncore said:
There is a tradeoff, is it easier to synchronise the internal 1'st LO synthesisers of two SDRs, or to build two RF front-ends with 1'st LOs that do not involve noisy digital hardware near the antennas or LNAs ?
Yeah, starting from scratch with enough competence to actually do the design work is definitely the way to go. Also, cooling everything or most things is the way to go. There are definitely better ways than using cheap devices intended as general purpose radios for Hams. None of these are in reach for me.

Baluncore said:
Since the SDR synthesisers do not start at the same instant, with the same code, there will be a phase or time difference between the same spurs in two otherwise identical SDR signals.
The SDRs (Sdrplay products) are based on a tuner chip and a DSP chip. The tuner contains a voltage controlled oscillator that is frequency synced to a 24 MHz clock that drives the DSP chip. The DSP chip has the ADCs responsible for the IQ values. By slaving each radio to a common clock, (a product feature), I ensure the IQs streams for each radio has a fixed relative time offset. I can determine this offset by computing the correlation between two long segments. I use syipy.signals correlate function. The correlation peak is often quite pronounced (with a common noise source) being 100 to 200 times the background and 1 sample wide. When zeroed (by dropping N samples form one stream) the peak (in absolute value) remains stable at 0 offset.

Now, this only assures that IQ streams are at identical times. It does not assure that the relative phase of the tuner chips remain stable. However, I can use the phase of the correlation peak to monitor the relative phase of the tuner chips. It definitely wanders about a bit but seems stable to 5 degrees or so. I need to collect more data on this though.
 
Paul Colby said:
The total Johnson noise per Hz is ##4k_BTR##. For a perfectly matched network, only ##k_BTR## of it gets into the receiver. In this case it is

##1.38\times 10^{-23}\; 290\times 50 = -187 dBW/Hz##

Did I miss something? Often not a vacuous question for me
The units aren't correct. You're getting ##\frac{V^2}{Hz}##, which I think would be the noise voltage spectral density across the load and not the noise power spectral density delivered to the receiver.
 
Paul Colby said:
The total Johnson noise per Hz is ##4k_BTR##. For a perfectly matched network, only ##k_BTR## of it gets into the receiver. In this case it is

##1.38\times 10^{-23}\; 290\times 50 = -187 dBW/Hz##

Did I miss something? Often not a vacuous question for me
There's no R in the formula for power, only for the voltage generated by a resistance. A resistor delivers a power spectral density S=kT W/Hz to a matched load.
 

Similar threads