Maker Pro
Maker Pro

Wideband FFT analyzers? SDR?

J

Joerg

Folks,

Got a need for FFT analysis. But it's got to be fast and wide, for
example a swath from 70MHz to 90MHz would need to be FFT'd in 500usec or
less. Meaning at a rate of more than 2000 FFTs per second. The
resolution doesn't have to be great, a 8192-point FFT would be fine.
Analog RF conversion could be done as well if it absolutely has to be
done. The frequencies and requirements will change but in essence that's
one of the jobs at hand.

The widest-BW SDR I found is this one, at 4MHz BW:

http://www.srl-llc.com/

Then there is Ettus but the Windows programming environment for those is
IMHO absolutely horrid. I have a Signalhound but somehow those no longer
seem to do super high BW fast scans. At least mine won't go past
3frames/second.

The best would be if the whole FFT enchilada could happen inside a DSP
or FPGA in the radio or analyzer, and only the results are ferried to
the PC via a USB link.

Is there something better out there? It can cost a kilobuck or more if
needed. But ideally not 10 kilobucks. Should run without fancy LabView
SW or the like if possible. What we need is basically a waterfall FFT
with adjustable rolling speed.
 
Folks,

Got a need for FFT analysis. But it's got to be fast and wide, for
example a swath from 70MHz to 90MHz would need to be FFT'd in 500usec or
less. Meaning at a rate of more than 2000 FFTs per second. The
resolution doesn't have to be great, a 8192-point FFT would be fine.
Analog RF conversion could be done as well if it absolutely has to be
done. The frequencies and requirements will change but in essence that's
one of the jobs at hand.

The widest-BW SDR I found is this one, at 4MHz BW:

http://www.srl-llc.com/

Then there is Ettus but the Windows programming environment for those is
IMHO absolutely horrid. I have a Signalhound but somehow those no longer
seem to do super high BW fast scans. At least mine won't go past
3frames/second.

The best would be if the whole FFT enchilada could happen inside a DSP
or FPGA in the radio or analyzer, and only the results are ferried to
the PC via a USB link.

Is there something better out there? It can cost a kilobuck or more if
needed. But ideally not 10 kilobucks. Should run without fancy LabView
SW or the like if possible. What we need is basically a waterfall FFT
with adjustable rolling speed.

buy or make?

http://www.xilinx.com/support/documentation/ip_documentation/ds808_xfft.pdf

a XC6SLX150T is ~200$

-Lasse
 
J

Joerg

J

Joerg

John said:
Can Windows do anything 2000 times per second?

Streaming? Yes. At one client we were pumping over 400Bbits/sec into the
computation machine, via USB. But their system was full custom and I
really want to avoid that.
 
N

Nico Coesel

Joerg said:
Folks,

Got a need for FFT analysis. But it's got to be fast and wide, for
example a swath from 70MHz to 90MHz would need to be FFT'd in 500usec or
less. Meaning at a rate of more than 2000 FFTs per second. The
resolution doesn't have to be great, a 8192-point FFT would be fine.
Analog RF conversion could be done as well if it absolutely has to be
done. The frequencies and requirements will change but in essence that's
one of the jobs at hand.

The widest-BW SDR I found is this one, at 4MHz BW:

http://www.srl-llc.com/

Then there is Ettus but the Windows programming environment for those is
IMHO absolutely horrid. I have a Signalhound but somehow those no longer
seem to do super high BW fast scans. At least mine won't go past
3frames/second.

The best would be if the whole FFT enchilada could happen inside a DSP
or FPGA in the radio or analyzer, and only the results are ferried to
the PC via a USB link.

If it doesn't need to be portable I'd put the digitizer (after a down
converter) onto a PCI express card and let the CPU do the number
crunching.
 
S

Spehro Pefhany

Can Windows do anything 2000 times per second?

Crash? It can't do stuff 200x a second reliably IME (Ethernet comms
with custom instrumentation).


Best regards,
Spehro Pefhany
 
N

Nico Coesel

John Larkin said:
Can Windows do anything 2000 times per second?

Yes. Even if you add a few zeroes. Need more computational power? No
problem. By adding (headless) CUDA graphics cards you can get hundreds
of gigaflops from a standard PC. IOW nothing beats the PC platform
when it comes to number crunching on a tight budget.
 
J

Joerg

Spehro said:
Crash? It can't do stuff 200x a second reliably IME (Ethernet comms
with custom instrumentation).

You can if it's a waterfall FFT. It updates only one line (or columns if
running it horizontally) of the waterfall display per finished FFT and
then scrolls all the previous ones one pixel position up (or to the
left). So if you have 1920 pixels available you'd see a smidgen more
than one frame per second scrolling along the screen. On my netbook it
would be about 2frames/sec because that has 1024 pixels. No a big deal,
really.
 
J

Joerg

Nico said:
If it doesn't need to be portable I'd put the digitizer (after a down
converter) onto a PCI express card and let the CPU do the number
crunching.

Possible if we have to. But ideally it should be able to work with an
off-the-shelf PC without opening it or even a laptop. A modern processor
can crunch FFTs really fast.
 
M

miso

When you don't need the full spectrum, I thought chirp-z was the way to
go. That is how the audio DSA's work. The idea is the algorithm is more
complex, but you don't need as many points since you can limit the
analysis to the desired bandwidth.

I'm sure Vladimir the DSP guru will comment.
 
It so happens I am working on a FFT Linux GUI for the DVB-T USB sticks used as
spectrum analyzer / software radio.
As usual as the stick has not arrived yet, I spend a whole weekend coding'in advance'.
with simulated data.
I am building on the rtl_sdr and rtl_fm code.
Here is some test screenshot:
 http://panteltje.com/pub/xpsa_test_1.gif

I decided not to use gnu radio, as I cannot get it working, and I do not like and understand python.
So this uses the fftw library.

As to your required specs I have no idea at this point without practical tests
if that is possible.
I may replace fftw by some other smaller fft code I have.

But this coding is a lot of fun.
I can see a years long evolving project.

I have spend about 21 dollars so far (ebay stick)
:)

but it is only 3.2MHz sample rate, that doesn't quite cut it for 20MHz
BW

-Lasse
 
J

Joerg

miso said:
When you don't need the full spectrum, I thought chirp-z was the way to
go. That is how the audio DSA's work. The idea is the algorithm is more
complex, but you don't need as many points since you can limit the
analysis to the desired bandwidth.

I'm sure Vladimir the DSP guru will comment.

The Bluestein method would still require a wideband receiver. I have
thought about doing it all analog (again ...) and finding the response
in the demodulated signal. Then I only need the sound card or something
to display. Considering the SW- and HW-obstacles that still seem to be
in the way of contemporary SDR I might just do that.
 
J

josephkk

Folks,

Got a need for FFT analysis. But it's got to be fast and wide, for
example a swath from 70MHz to 90MHz would need to be FFT'd in 500usec or
less. Meaning at a rate of more than 2000 FFTs per second. The
resolution doesn't have to be great, a 8192-point FFT would be fine.
Analog RF conversion could be done as well if it absolutely has to be
done. The frequencies and requirements will change but in essence that's
one of the jobs at hand.

The widest-BW SDR I found is this one, at 4MHz BW:

http://www.srl-llc.com/

Then there is Ettus but the Windows programming environment for those is
IMHO absolutely horrid. I have a Signalhound but somehow those no longer
seem to do super high BW fast scans. At least mine won't go past
3frames/second.

The best would be if the whole FFT enchilada could happen inside a DSP
or FPGA in the radio or analyzer, and only the results are ferried to
the PC via a USB link.

Is there something better out there? It can cost a kilobuck or more if
needed. But ideally not 10 kilobucks. Should run without fancy LabView
SW or the like if possible. What we need is basically a waterfall FFT
with adjustable rolling speed.

Just some numbers to work with. FFT has O=n*log2(n) butterflies. for
8196 points that is 8196*14 butterflies per FFT and 2000 FFT/s.

That is about 230 million butterflies per second or about 1 GFLOP.

Next, I/O bandwidth 8196 points times 2000 times a second is 16,392,000
samples per second. That will overrun most PC's I/O capability. You may
have to drive the display yourself.

Looks like FPGA + a fast ARM is the most reasonable solution, unless you
can find what you want otherwise.

I think i saw something once that could receive either half or the whole
FM band all at once, but that may be a happy dream. It was armature radio
related.

?-)
 
J

josephkk

Yes. Even if you add a few zeroes. Need more computational power? No
problem. By adding (headless) CUDA graphics cards you can get hundreds
of gigaflops from a standard PC. IOW nothing beats the PC platform
when it comes to number crunching on a tight budget.

OK i had neglected that option. Plenty of GFLOPS to be had there. Still,
shoving 16 MBytes/s to 32 MBytes/s into a PC is no joke.

?-)
 
J

Joerg

josephkk said:
Just some numbers to work with. FFT has O=n*log2(n) butterflies. for
8196 points that is 8196*14 butterflies per FFT and 2000 FFT/s.

That is about 230 million butterflies per second or about 1 GFLOP.

Next, I/O bandwidth 8196 points times 2000 times a second is 16,392,000
samples per second. That will overrun most PC's I/O capability. You may
have to drive the display yourself.

Looks like FPGA + a fast ARM is the most reasonable solution, unless you
can find what you want otherwise.

I think i saw something once that could receive either half or the whole
FM band all at once, but that may be a happy dream. It was armature radio
related.

Amateur radio :)

The widest BW direct digital RX I found has 4MHz. Not a whole lot. But
meantime I have decided to do it all analog in hardware as usual, no
FFT. I just ordered the stuff at Digikey. SDR just ain't ready yet.
 
J

Joerg

Michael said:
No ready? What were we shipping 11 years ago? The desired microwave
band was down converted to 50-90 MHz. Then it digitized everything in
that 40 MHz. Software defined the center frequency, IF bandwidth, video
or audio bandwidth and type of demodulation, all done in the digital
domain. Of course, cheapskates tended to drop dead when they saw that
US $80,000 price tag. It was available as a singe channel (DR2000), or
a digital dual receiver diversity design (RCB2000). They were designed
late in 1998.


Sure. We shipped ultrasound machines in the 90's that digitized a 200MHz
swath of spectrum. And yeah, those also cost in that range.

SDR is not ready for a simple reason. I can do the same thing for under
a hundred bucks in hardware. BTDT. Now if SDR could do it a lot better
or cheaper I'd be all for it. But it can't (yet).
 
J

Joerg

Michael said:
How many million units per year to get that $100 price?


About 0.005 million :)

Seriously, I don't do this for the first time.

... What
features do you have to do without because it's all analog, or low grade
digital?


On this one? None. Goes into a PC and there you do anything you want.
With or without SDR. A spectrum is a spectrum is a spectrum. It does not
matter how you acquire it.
 
O

Owen Roberts

Jeorg,

You can do that with optics. A Bragg receiver running into a linear
CCD. Very simple to build. I have good relations with a company that
makes the wideband cells.

Send me a private email at (decode NATO standard phonetics) oscar
sierra romeo @ oscar hotel india oscar dot net.

Steve
 
Top