On 25/04/2011 9:33 AM, ton ph wrote:
Thanks marcus ,
i very much appreciate the info and has cleared many of my wrong concepts about usrp and gnuradio. As you have said , processing 100Mhz of bandwidth using gnuradio will be a bit Hard unless handcrafting the signal processing block by hand , what if I processes the 100Mhz bandwidth by a 200Mhz , 12 bit ADC and later on i choose only 10 channels out of my 100Mhz full band data , by a 32 channel DDC , in which i can access each channel data from software. Which might reduce my bandwidth entering the CPU to about for example: 350 * 10 = 3500 Khz . If i follow this trend, i could reduce much of the overhead to the CPU. But my doubt still exist, processing the 100Mhz bandwidth using gnuradio wil be possible or not ? ... Do we need high IF upto how much so as it can process 100Mhz ... ?


Certainly, if you pre-process your entire bandwidth in the FPGA on your front-end device, such that only a smaller bandwidth is
  required to be processed on the host computer, that will help a lot.

I don't think there's a clear answer to "can Gnu Radio do what I want", without knowing what you want to do with the data on the host computer. You might want to put together a few "test" flow-graphs and see how much CPU resources they consume, and use
  that as a model to guide you.

Gnu Radio isn't inherently limited to any particularly bandwidth--it doesn't really know anything about bandwidth. But as a *practical matter*, Gnu Radio executes *algorithms*--collections of mathematical operations on the data stream from a sample source. Those mathematical operations have some cost, in terms of how many millions of them you can execute in any given
  length of time on any given CPU configuration.

Since Gnu Radio uses floating-point, it's quasi-useful to know how many FLOPS (Floating-point operations/second) your particular CPU can perform. The Core i7 920, for example, is rated at roughly 70 GFLOPS (7 x 10**10 FLOPS), which means that it can execute roughly 70 billion floating-point multiply-add pairs per second (probably using SSE floating-point operations).

So, let's say we're processing 100Msps complex samples, that's effectively 200Msps (I and Q). Let's say we're processing those samples on the above-stated Core i7 920, and that we're using a perfectly-optimal algorithm, with perfectly-optimal compilers, etc, etc. That
  means that our overall processing algorithms can only perform:

    7.0e10-FLOPS  / 2e8-SAMPLES = 350 OPS/SAMPLE

You won't be able to perform more than 350 multiply-add equivalent operations *in the very best case*, before your CPU isn't able to "keep up". In reality, you'll run out of performance long before the theoretical limit has been reached.




_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to