Discussion and technical support related to USRP, UHD, RFNoC
View all threadsHi All,
I have an idea that I'd like to try out with my two N210s, but I
thought I'd float the idea out here in case anyone has tried it
before, or to get a better feeling if it's even possible.
I'm currently running a system that consists of an N210 for
transmitting and receiving data and an accompanying software suite for
further signal processing of the data. I'd like to push more of the
signal processing onto the N210, but there's definitely no way it can
all fit (try searching for "weather spectral processing" on the net
:-) ).
The idea I have is to string two N210s together with a MIMO cable. The
first N210 would perform Tx/Rx, as well as up/downconversion and some
custom DSP algorithms I've implemented. The received data from the
first N210 would then be passed to the second N210 over the MIMO
cable, which would perform the signal post-processing. Once the data
is processed on the second N210, it would then be transmitted back to
the host computer. Since post-processing is already done, the data
rate is much lower, so I don't think bandwidth would be an issue
anywhere.
Does this sound feasible? I'm not looking for solutions, really just a
rough idea if I should even go down this path. If it does work, I
think it would be a really cool end-result.
Thanks for any advice anyone can give,
Rob
--
Robert A Palumbo
palumr@gmail.com
Trying hard to keep this concise:
Yes, that is absolutely possible. Is it a good route to go right now...hard to say.
First off as soon as you get into designing (FPGA) logic your going to spend significant time on that rather than your algorithmic development. Customizing a single N210 with some additional DSP processing and using a lot of the existing infrastructure is probably a lot less work then the much more involved project of shipping data to a second N210 to do further processing. Not knowing your Verilog & FPGA experience it's impossible for me to gauge how challenging you might find that...have you already customized a single N210?. Not knowing a thing about your application area I'm not sure of the kinds of processing you're interested in.The N210 has a lot of spare DSP/logic capacity remaining even with the full Ettus design resident, it should be a quite reasonable task to estimate who much you can achieve with it before being forced to overflow into a second N210.
The pitfall of designing DSP into FPGA (or IC) logic is starting too early, i.e. before you have settled on a satisfactory algorithm. If you are still iterating in a way that requires you to keep changing the logic design it can be very unproductive. Retaining programability and flexibility where ever there is uncertainty is key. It might for example be much simpler in this case to partition your Tx and Rx into the 2 N210's, merely timing synchronizing each and removing the unused respective DSP chain to free up more logic resources and not pass data via the MIMO cable.
So my first two questions with my architect hat on are:
-Ian
On May 10, 2012, at 10:04 AM, Robert Palumbo wrote:
Hi All,
I have an idea that I'd like to try out with my two N210s, but I
thought I'd float the idea out here in case anyone has tried it
before, or to get a better feeling if it's even possible.
I'm currently running a system that consists of an N210 for
transmitting and receiving data and an accompanying software suite for
further signal processing of the data. I'd like to push more of the
signal processing onto the N210, but there's definitely no way it can
all fit (try searching for "weather spectral processing" on the net
:-) ).
The idea I have is to string two N210s together with a MIMO cable. The
first N210 would perform Tx/Rx, as well as up/downconversion and some
custom DSP algorithms I've implemented. The received data from the
first N210 would then be passed to the second N210 over the MIMO
cable, which would perform the signal post-processing. Once the data
is processed on the second N210, it would then be transmitted back to
the host computer. Since post-processing is already done, the data
rate is much lower, so I don't think bandwidth would be an issue
anywhere.
Does this sound feasible? I'm not looking for solutions, really just a
rough idea if I should even go down this path. If it does work, I
think it would be a really cool end-result.
Thanks for any advice anyone can give,
Rob
--
Robert A Palumbo
palumr@gmail.com
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
Haha, that is exactly what my PhD advisor told me, to hold off until
the algorithm is complete.
There is not much of a bottleneck yet, but the algorithm is still
being developed so I won't know for sure until it's done. I agree that
you are correct about waiting for the algorithm to mature first, I
just like to plan for the next big thing before the current project
completes.
I can say that much of my inquiry is because I've already pushed one
N210 as far as it can go (currently at 96% utilized resources). Most
of what I'm doing now is trying to optimize my current modules, and
"repurpose" the SRAM, since it's currently unused.
So my first two questions with my architect hat on are:
That's the biggest problem I'm currently facing: real-time computing.
The output from my algorithm needs to update a display, and I don't
have much more than mid-grade laptop to work with. Pushing more of the
processing onto FPGAs just seemed like a viable option.
It's too early to say at the moment, because the algorithm is still
immature (and buggy).
Thanks for your advice! It's good to bounce ideas off knowledgeable
people before possibly wasting your time. It looks like I'll have to
re-evaluate things once my algorithm matures.
Rob