discuss-gnuradio
[Top][All Lists]
Advanced

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

[Discuss-gnuradio] UHD: trouble configuring multiple RX channels reliabl


From: Michael Dev
Subject: [Discuss-gnuradio] UHD: trouble configuring multiple RX channels reliably
Date: Tue, 26 Apr 2011 11:15:03 -0700

I'm kind of stumped here. I used to be able to do this with the gnuradio interface but I can't make it work with the UHD interface.  Don't know if I'm missing something in my code or there's a bug in UHD.
 
I have two DBDRX rev2 boards on USRP1.  I want to tune each receiver to different RF frequencies.  Based on the UHD example code, I did the following:
 
uhd::usrp::multi_usrp::make(args)  // works fine most times (see #3 below)
usrp->set_rx_subdev_spec("A:0 B:0")   // Dboard A is ch 0, Dboard B is ch 1 (right?)
usrp->set_rx_rate(rate)  // for all channels.  Works fine
usrp->set_time_now(...)  // okay
for (ch=0; ch < 2; ch++) {
    usrp->set_rx_freq(freq[ch], ch);
    usrp->set_rx_gain(gain[ch], ch);
}
usrp->issue_stream_cmd(cmd);
usrp->get_device()->recv(....)
 
Now I do get two streams of IQ data at right sampling rate.  But there are several issues I see:
 
1. set_rx_gain() seems to apply the gain to the wrong channel sometimes. It changes from boot to boot.  Based on signal strength I see, it also seems to use a wrong value on occasion.  Sometimes I even get a signal that's unrecognizable by my demod until I power cycle the device (this may be more of issue #2 or #3 below.)
 
2. set_rx_frq() works okay (i.e. I can demodulate fine) if I set both ch's to the same frequency, say f0. But as soon as I set them to different frequencies, say f0 and f1 for ch0 and ch1, respectively, it's as if the f0 setting is lost.
 
3. General instability.  When I restart my app with a different subdev spec such as "A:0" or no subdev spec for single channel operation, calls to set_rx_gain(f0, 0) or usrp::make() sometimes hangs.  I have to power cycle the device to get going again.
 
It feels as though the subdev config in general is quite unstable for my multi-channel setup or my code is missing something very basic.  When I double check the freq and gain settings with the get functions, they all look fine though.
 
Any insights?
 
Thanks,
 
Michael

reply via email to

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