discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] A longish-term drift study of the USRP/DBS_RX com


From: mike revnell
Subject: Re: [Discuss-gnuradio] A longish-term drift study of the USRP/DBS_RX combination
Date: Wed, 11 Jan 2006 16:58:12 -0700
User-agent: Mozilla Thunderbird 1.0 (X11/20041206)

The astronomy club at the local college (New Mexico Tech) has a little two element interferometer that I can get access to. I'm supposed to be working on some software to point the antennas now. It has two 10 ft dishes with about a 200 foot baseline. I bought two dbsrx boards with my USRP with the idea of maybe hooking it up one day and have been giving a little thought about what is needed to get fringes. Getting some kind of image out of it is another thing entirely.

Using it as a transit instrument (point the antennas south at the transit elevation of the source and letting the source drift through the field) should be relatively straightforward. Getting fringes while tracking the source across the sky is more involved.

The receivers presently installed form an adding interferometer which is nice and simple and don't require stable LOs and all that. The signals from the antennas are combined at the receiver input and the whole mess is downconverted together. Interpreting the data is simpler as well. But a real correlator is more interesting.

In looking at the schematics for the USRP and DBRX it looks like all the LOs are derived from the same reference oscillator. This is a requirement for correlating at baseband and would be a problem to solve if using more than one USRP. Mine looks like it has a footprint for an SMA to apply an external reference but it is occupied by a piggyback that has a little crystal oscillator on it. It seems to be a fix for a problem on the main USRP board.

Ultimately performance will probably be limited by phase noise in the reference osc and synthesizers in the assorted downconverters before the ADC. No one is expecting to reach the stability and sensitivity of the VLA though :-)

On a strong source with a transit instrument it should be possible to use short integration times and record AC fringes at the correlator output. This is the simplest case. Just FFT both basebands multiply one FFT output by the complex conjugate of the other and take the magnitude. The inegration time is the length of the FFT input sequence. Could average or filter by frequency bins or integrate over the spectrum and work with that.

Normal practice is to tune the LOs in the antennas to move the fringes for a give piece of sky down to DC. This allows integrating for longer times using hardware accumulators. This can be done, as in the VLBA correlator, at the FFT input. The frequency translating FIR block should work nicely but it may be necessary to work out some way of controlling the relative phases of the chains in the two antennas. LOs in radio interferometers need to be continuous phase. This means that if you move from a source, to a calibrator say, and move back you need to be able to put the LO phase back to where it would have been if you had continued to track the source. This has a profound impact on the design of the LO synthesizers.

To track a source across the sky things get even more interesting. When signals from a piece of the sky don't arrive at the correlator at the same time things start to decorrelate. With an FX correlator this is by a factor of how much the sequences at the input to the FFT don't completely overlap. For a single baseline that's only a couple hundred feet this won't be a problem. The delay correction in this case can be done at the FFT output before correlation. A single sample delay change at the input of the FFT is one full turn of phase in the output.
This is also done in the VLBA correlator.

Interestingly, the largest correlators that I'm aware of that are being designed and built are XF architectures. The correlator for the ALMA project being built at NRAO in Charlottesville VA, and the WIDAR correlator for the EVLA project being built in Penticton, BC Canada. A smaller version of the WIDAR design is to be used in the EMERLIN project at Manchester, UK. The reason for this is that FX correlators tend to be what people who architect these things call copper dominated. It takes a lot of interconnects to get the results from the frequency analyzers (usually hardware FFT engines) to the core correlator. XF correlators tend to be what's referred to as silicon dominated, there is a lot of processing in the correlator. Right now silicon is cheaper than copper.

Ayway, enough of my noise for now.

---------------------
BTW, I'm the correlator group leader at NRAO socorro. We maintain the VLA and EVLA correlators and various other things as well.

Marcus Leech wrote:

Now that I understand a bit more of the internals, it's really starting to gell for me.

Some things I'd like to add:

      o interference stopping

o recording the FFT results, without having to define a whole new chain (I'm at 50-60% CPU already!!) [I might pull the same trick here that I did with ra_stripchartsink--define a "calibration" function that can record data as a side-effect. I'd simply make an ra_fftsink that does this].

o Possible integration of PyFits (although whether it makes sense to do it in real time remains to be seen)

o Deriving the total power from the FFT results, eliminating the parallel total-power chain

It would be interesting and cool at some point to demonstrate an FX correlator using a pair or trio (or quad, or pentad :-) of USRPs with appropriate front-ends and antennae. In an FX correlator (which is a style that's currently in vogue) you compute the FFT before computing the various cross products. It has more manageable data structure than X-F correlators for RA use. You can see that you can martial the various FFT bins off to different CPUs for further processing in an FX design, and thus control, to some extent, the herculean data flow that occurs in
 these RA systems...







reply via email to

[Prev in Thread] Current Thread [Next in Thread]