discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] 8 bit usrp samples (My first verilog code)


From: Martin Dvh
Subject: Re: [Discuss-gnuradio] 8 bit usrp samples (My first verilog code)
Date: Thu, 25 Aug 2005 22:40:46 +0200
User-agent: Debian Thunderbird 1.0.2 (X11/20050331)

>Steve Schear wrote:
I was one of the original GnuRadio team (I found the Microtune products in 2001) but have not been too active on the list in a while.
Hi Steve,

This is mostly due to my limited programming skills and application interest being well ahead of the current HW/SW capabilities. Although the goal of SDR is to use simple but fast HW and perform as much as possible of the receiver and transmitter functions in the host there are many interesting applications which are currently beyond what either the USRP, the USB 2.0 or the host PC can perform. Your recent work at modifying the FPGA code has given me new hope.

I would like to discuss whether it might be possible with the current USRP or a newer generation version, not too different from the current model, to perform demodulation and acquisition in the FPGA? This could be especially useful for TV (especially HDTV reception) or wideband data communication.
I have been thinking about this too.
One of the things you probably want is fft and QAM demodulation and absolute 
value of a complex signal (for fast agc)  in hardware.
This can certainly be done but you probable need a more advanced fpga and/or an 
additional dsp.

The main things we are missing right now is fixed or floating point 
multiplication, division and addition.
The easiest way do get these is using an fpga which has hardware multiplier 
blocks.
You probably also want a bit larger fpga to get all functions in there.
It is also possible to construct multiplier blocks in a normal fpga but you nee 
a very large one (larger then we currently have)

The other way to do it is adding a seperate DSP chip.
But then you also have to communicate with this DSP and this consumes pins on 
the fpga.

There is still the possibility to use other ways of processing when the signal 
has already transferred from the usrp to the pc.
I have been working on building processing blocks which run on the graphics 
card.
The fragment programs running on current graphics cards have a huge floating 
point processing power.
I have a working fir-filter running on my very simple gpu (nvidia fx 5700LE) 
which is already a few factors faster as my cpu (duron 800)

The main bottlenecks here are:
bandwidth from usrp to pc (max 32 MB/s)
bandwidth from cpu to graphics memory (max 2 GB/s on AGP/PCI-express)
bandwidth from graphics memory to fragment program. (6.4 to 30 GB/s)
bandwidth from graphics memory to cpu. (max 133 MB/s on AGP, much higher on 
pci-express)

Although the bandwidth from graphics memory to fragment program is quite high 
this is still the limiting factor for my card.
When you implement things like fft or fir-filter on the gpu you need to access every sample many times and gpus' are not as good in using cache as cpu's are.

One other problem with gpu's is that although they are very good at floating point processing, they can't do integer operations or bitwise operations (bit shifting, and, or xor)

So my bet is on two ways of getting to realtime digital demodulation/modulation.
1 Use the current usrp hardware.
  Do as much preprocessing as you can in the fpga (I don't think we can do much 
more then we currently do, but I will keep on looking for ways)
  do floating point stuff on the gpu (videocard)
  do bit-operations on the cpu
  do post-processing on the cpu/gpu or usrp

2 design a new usrp with an advanced fpga with more gates and fixed-point 
multipliers

Mat has already been talking about plans to use a more advanced fpga for future 
usrps on what-the hack.


If these may be practical, I may even be interested in posting a bounty to develop some of the general or applications specific HW, FW and SW enhancements.
Well this sounds really interesting. This would really motivate me.

I currently am out of a job and would really like to keep working on gnuradio 
and hopefully find ways of making a little money out of it.
But I better find these ways quickly because I am running out of money fast and might have to spend all of my time in the very near future in simple jobs like cleaning or burger-flipping :( (The economy in The Netherlands is in a recession right now)

I am already working on the fw and sw and have been thinking about designing a new kind of usrp (or improving th ecurrent design) using a pci or pci-express or gbit ethernet interface and a more advanced fpga. I haven't really gotten started yet because this is quite a big project.

Although I also think Mat and Eric deserve such a bounty for all the work they 
have done already and keep on doing.

> One of my applications is for a very high process gain,
> low data rate, satellite communication.  Another for GSM/CDMA mobile
> communication.
Could you be a bit more specific.
If it is low-data-rate it might even be possible to just implement it in 
software.

Greetings,
Martin





reply via email to

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