Delta 1010LT - individually selectable inputs from windows apps? sound card for multi-sdr array -
That is a fantastic project you are working on. Way, way beyond what I
am trying do. Really fantastic...
A couple of my extreme-antenna buddies were very interested at your site
after I mentioned this project of yours to them.
I realize you are using Linux below. But I am wondering if, under
Windows, if the ASIO driver enumerates the inputs individually?
I have an otherwise exellent Quartet with dual inputs - but the inputs
are only individually selectable under certain high-end a/v programs.
For generic windows applications (like CW skimmer and PowerSDR), they
only see the ASIO driver as a single entry - meaning only the first set
of inputs and the first set of outputs are useable in "the real world."
The Quartet guys say a driver revision that will allow individual
selection from the generic windows app "is coming soon." Yes, "coming
soon" and we know what that may mean... :)
PowerSDR also lets a guy select the MME for inputs, but the Quartet
driver in that case also just provides a signle input/output pair listed.
I am hoping the Delta card does not have that problem... But sure want
to confirm it before heading off to buy yet another pretty pricy sound card.
Victor A. Kean, Jr. wrote:
> I observe that some people are contemplating experiments with multiple
> SDR receivers. I have been running 8 Softrock equivalent receivers
> using 2 Delta 1010LT sound cards on a Linux machine for about a year
> now. Basically, it works, but there are issues. If I share my
> experience, maybe I can save some people a lot of time and trouble.
> The Delta 1010LT is based on the same Envy24 or ICE1712 chip that is
> used in the Delta 44 and the Delta 66. Also, the same Linux driver is
> used for all of these cards. The Delta 1010 has 8 analog inputs and 8
> analog outputs. It also has a pair of SPDIF inputs and a pair of
> SPDIF outputs, which gives a total of 10 input channels, and 10 output
> channels, hence 1010. For SDR purposes, one card supports 4 receivers.
> I have an operational 4 SDR receiver setup which I use along with 4 2
> element end-fire arrays of short verticals to do beam steering on 160
> meters. Look at k1lt.com for more information about that activity.
> I have been working on an 8 SDR receiver setup to use with a circular
> array of short verticals. This requires 2 Delta 1010LTs, and requires
> that the 1010s be "phase locked". Fortunately, the 1010LT supports
> this requirement with a feature called "word clock". The 1010 has a
> word clock output and a word clock input, so that one card can be the
> master sample clock and one or more other cards be the synced to the
> master. One can also do phase locking with the SPDIF inputs and
> outputs, so theoretically, a pair of Delta 66s can be locked together.
> Supposedly, SPDIF locking causes more phase jitter than using the word
> clocks, but I haven't yet noticed, for reasons that I explain below.
> One uses the envy24control utility to configure one card to be the
> master and the other to be a slave. One also uses ALSA configuration
> file tricks to make multiple physical sound cards appear to be one
> logical sound card to audio applications, such as JACK.
> The ICE1712 driver on Linux supports up to 4 cards.
> When working with phased array, calibrating sources of phase error
> becomes a major chore. Each Softrock has a slightly different phase
> shift, each analog input has a slightly different phase shift, and
> each sound card has a significantly different phase shift.
> My original SDR beam steering development system had an Athalon XP
> 2000 or whatever processor, which is a single core, 1.5 GHz chip.
> Even though there seemed to be plenty of CPU horsepower for DSP, one
> Delta 1010LT would experience a "phase jump" with respect to the
> other, from time to time. A good run would last a few minutes.
> I got a newer motherboard with a duo core Intel chip running at 2.0
> GHz. I also selected PCI slots so each Delta 1010LT has the exclusive
> use of a single interrupt. I am also running the RT version of the
> Linux kernel. Some say that the RT patches are no longer required,
> but I have not tested that assertion. The newer mobo seems to
> eliminate the sporadic phase jumps.
> However, the phase shift from one set of 4 channels (8 analog inputs)
> to the other set of 4 channels varies from one startup to the next.
> (A "startup" is an instance of starting JACK.) The amount of phase
> shift varies widely, from essentially 0 degrees to more than 100
> degrees, when measured with RF and local oscillator signals that
> result in 25 kHz audio signals. Apparently, the phase shift varies
> linearly with audio frequency, which means the phase shift is really a
> time delay.
> For Pro Audio purposes, this phase shift is probably of no
> consequence, but for beam forming, the phase shift must be known.
> As my research has progressed, I have developed the following
> calibration strategy. The steps overall steps are: calibrate the
> analog inputs, then calibrate the RF inputs, and finally calibrate the
> First, one applies the same known audio signal to each of the N (in my
> case, 8) analog inputs and measures the amplitude and phase of each
> digital signal relative to one of the channels. Rather than move 8
> sets of plugs and cables around, I apply the calibration signal
> through 10k ohm resistors in parallel to the Softrock outputs. That
> is, I soldered 10k 5% resistors (need to order some 1% resistors) to
> the Delta side of the 0.1 uF coupling capacitors at the output of each
> Softrock audio channel. I currently drive just the "Q" channels with
> a signal generator. This step shows that the "mike" input channels
> (first two channels of each 1010LT) have a 7 degree (at 25 kHz) phase
> offset from the other channels. I don't know the sign because I'm
> only driving the "Q" channels. This step also shows that the phase
> offset from one card to the other varies from nearly zero (3 degrees
> on a good day) to more than 90 degrees. Again, I don't know the sign,
> and that thwarts my efforts.
> Second, I apply a known RF signal through a Mini-circuits 8-way
> splitter to each of the SDR receivers simultaneously. If I subtract
> out the analog input calibration factors, I find that properly
> constructed Softrock equivalent receivers typically vary about 10
> degrees at 25 kHz below the center frequency (1830 kHz and 1855 kHz in
> my case), and vary about 10-15% in amplitude. By properly constructed
> Softrock equivalent receivers, I mean that the front-end pass band
> filter has been selected for "constant group delay" (read: phase
> shift) across the pass band, and that all of the inductors have been
> wound correctly. One or two turns count errors will not keep the
> receiver from working, but it does contribute a considerable amount of
> phase error. I also used 5% tolerance capacitors, and I measured all
> of the inductors, and selected inductors that were within 5% of a
> nominal value.
> Third, I apply a known RF signal to the whole array. If I subtract
> out the analog input calibration factors, and the receiver calibration
> factors, I find that K7TJR Hi-Z active antennas typically have a 3-5%
> variation in phase and very little variation in amplitude. I apply a
> known signal by tuning the AM broadcast band during the middle of the
> daytime when propagation is almost exclusively ground wave and tune to
> a couple or 3 strong stations in the upper end of the band. Since I
> know the location of transmitter, courtesy of the FCC database, I can
> calculate the phase offset relative to one of the antennas of all of
> the others based on the bearing to the station. A caveat: because I
> can't choose the frequency of the AM station, and because I'm too lazy
> to change my center frequencies (I use 1355, 1455, 1555 and 1655 kHz),
> I am no longer consistently applying a 25 kHz audio signal.
> So, one those days that I get lucky, and I fire up my beam forming
> software, and the analog input calibration shows both cards within a
> few degrees of each other, then I can use over-the-air radio stations
> to calibrate my circular phased array. The one day when everything
> came together properly, I was able to find a pair of reversed
> feedlines, and another feedline that was 14 feet too short, which
> translated to a 10 degree phase error for that element. When all of
> the errors are corrected, and I remove all of my Beverage wires from
> the vicinity of the phased array verticals, then I can measure the
> bearing to strong AM radio stations to within a couple of degrees.
> The next step is to use a couple of analog outputs so that I can
> generate quadrature phased audio signals, and calibrate the analog
> inputs using both the I and Q channels so I know the sign of the phase
> error. The next next step is to measure the phase error at several
> frequencies to I can calculate the slope of the phase error "curve"
> (hopefully, a nearly straight line).
> Note that the motivation of all of the work above is that circular
> phased arrays, especially "superdirective" arrays require significantly
> more precise element amplitude and phase coefficients than do linear
> arrays. My 8 element linear array is very forgiving of error.
> BTW, I have no experience with the Delta 1010LTs on Windows, and I
> have no experience with any other sound cards.
> Hopefully, this helps. Hopefully noone will be scared away by the
> apparent complexity.
> Victor, K1LT