[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Still not working with 2 DBSRX... :(
From: |
Eric Blossom |
Subject: |
Re: [Discuss-gnuradio] Still not working with 2 DBSRX... :( |
Date: |
Wed, 24 Oct 2007 12:16:53 -0700 |
User-agent: |
Mutt/1.5.9i |
On Wed, Oct 24, 2007 at 02:29:31PM -0400, Jared Jensen wrote:
>
> Wow. I'm still not able to get data out of my 2nd DBSRX. I have
> verified the board is good. I modified multi-antenna/multi-fft.py
> to use 2 DBSRX board and the 2rx 2tx fpga build. It works, and I
> can point the boards at different frequencies and see good data. So
> I know the hardware is working. Ergo, the problem is with my code,
> and I'm not sure what to do next. I've debugged this ad nauseum.
> I've verified that I setup r, n, gc1, gc2... all correctly. I
> rebuilt usrp_standard.cc with debugging info as well as
> db_dbs_rx.py. My code does the same things in setup. I think I'm
> setting up each dbsrx correctly. They return success on tune, and
> return successfully from all of the write_i2c commands. I'm using
> I2C_ADDR 0x67 for subdev A, and I2C_ADDR 0x65 for subdev B. I've
> changed those randomly and found that it correctly fails. So I'm
> fairly confident that the commands are getting down to the DBSRXs.
>
> When I call
>
> usrp_standard_rx::make(0, decim=64, nchannels=2, mux=0x32103210,
> fpga_mode=0x00, fusb_block_size=0, fusb_nblocks=0, "std_2rxhb_2tx.rbf",
> "std.ihx")
>
> it returns a valid usrp device, and when I query the number of channels, it
> says 2. But when I do a
>
> dev->start(); followed by
> nRead = dev->read(arr, buf_size, &bOverrun); and
> fwrite(arr,1,nRead, USRPfid);
>
> I get perfect data for channel 0 (RXA) , but channel 1 (RXB) is just the
> noise floor. Loading it into Matlab and looking at the fft shows RXA is
> doing perfectly, while RXB has no signal magnitude. (This is when I point it
> at two known frequencies where both are looking at signals with good power...
> and even when I point them at the same frequency.) Using ASCII art...
>
> FFT_RXA is like....
>
> |||||
> |||||||
> __|||||||||___
>
>
> and FFT_RXB is just....
>
> _____________.
>
> I'm brainstorming and I wonder if I setup RXB correctly, but haven't
> sent some command to gate the data through. Or if there is an
> additional step when using 2 channels that isn't documented. Any
> ideas of things I could look at?
No magic that isn't contained in db_dbs_rx.py
Can your code, in single channel mode, properly talk to the DBSRX on
the B side? Do you get good data from it? Be sure to remove the
DBSRX on the A side just to be sure that you're really talking to the
B side ;)
If not, I suspect that there is some usage of "self._which" in the python
code that you haven't properly mapped to your C++ code.
Eric