Technical discussions about the TI C6000 DSPs (including the c62x, c64x and c67x DSPs).
Hello,
I'm looking for a processor that can perform a 1024-point FFT on a 50ms time window in
real-time. I need guidance on how to go about selecting a processor that will do this.
Thanks,
Appu
---------------------------------
Never miss a thing. Make Yahoo your homepage.
Appu- > I'm looking for a processor that can perform a 1024-point FFT on a 50ms time window in real-time. I need guidance on > how to go about selecting a processor that will do this. 50 msec? 1024 pts with no overlap? This is a very "undemanding" processing rate. You don't need a DSP for this, you can use a wide variety of cheap microprocessors, microcontrollers, a PC, etc. Are there other reasons you need a DSP? -Jeff Check Out Industry's First Single-Chip, Multi-Format, Real-Time HD Video Transcoding Solution for Commercial & Consumer End Equipment: www.ti.com/dm6467
This is really good info, Jeff, and it=E2=80=99s fairly specific. Do you know of some published summary that would help me understand the FFT= capability of a particular DSP chip or a line of DSP chips - for instance= a 6412 running at 300 MHz or at 700 MHz. I believe I estimate our need correctly when I say we need to do a 64k FFT = 1000 times a second with 64 new samples each update. We're aiming for demod= ulation of an r-f signal with three portions of the bandwidth, 20K, resolve= d to 1 Hz. In addition the DSP needs to do at least 4 of these streams simultaneously. Our current boards, and the board to be development, interface to a PC thro= ugh the PCI bus interface. I=E2=80=99d like to be able to use our current b= oard, 6412 based, to develop algorithms for the new telemetry board. This, = of course, would use the PC to simulate the input data. And off course the 6412 doesn't have enough internal RAM. Believe the chip = we've been discussing is a 6416, or 6415. Thanks, TSH Check Out Industry's First Single-Chip, Multi-Format, Real-Time HD Video Tr= anscoding Solution for Commercial & Consumer End Equipment: www.ti.com/dm64= 67 =20
Appu- > You're right, I do need it to do more. I emailed you about this late last > year. You suggested that I look at a dual-core xeon. What I'm trying to > figure out is this; what measure do I use to know whether a given processor > will do the job or not? I figure that I need to have a rough idea of the > algorithm, come up with an estimate on how long it will take to execute on > each of the processors that I want to consider and then choose the one that > best fits my speed requirement. Am I thinking of this the right way or is > this too involved for a preliminary selection process? It's definitely not easy to compare different processors / CPUs based on their vendor data sheets and benchmarks alone. Among DSP devices it's never been easy, but becomes even more nuanced when comparing things as dramatically different as Intel Xeon and TI 64x devices. One starting point is to find some type of basic benchmark C code (I remember an old one called "Whetstones") and run that on both devices (or use simulators in their respective development tool suites). Another idea is try something more-or-less specific to your application, in this case the old-reliable 1024 pt. complex FFT. The trick is to be sure you've done an optimized test for both cases, so you can hope that your evaluation is fair. Using simulators as opposed to actual hardware doesn't minimize this concern, as they can be tricky to configure correctly to match actual hardware implementations. > If this is the right > way to go, how do I narrow down the number of processors that I look at? > I could of course, just look at the xeon, but I'd like to compare it's > performance to other units. It's hard to advise how to "narrow down" which device, but I might suggest to start by comparing a Core2Duo server and a C6455 DSK board (if you're doing video, then you would compare against DM6467). That's a relatively cheap way to go, and then you would more or less have the "per core" figures for the latest Intel and TI devices. On the TI side, you could extrapolate your results to multi-core C64x+ devices such as 6486 and 6488. If you are connected with a University then it should be no problem to get your hands on the 6455 DSK or DM6467 EVM. -Jeff > Appu- > >> I'm looking for a processor that can perform a 1024-point FFT on a 50ms > time window in real-time. I need guidance on >> how to go about selecting a processor that will do this. > > 50 msec? 1024 pts with no overlap? This is a very "undemanding" processing > rate. You don't need a DSP for this, you > can use a wide variety of cheap microprocessors, microcontrollers, a PC, > etc. > > Are there other reasons you need a DSP? > > -Jeff > Check Out Industry's First Single-Chip, Multi-Format, Real-Time HD Video Transcoding Solution for Commercial & Consumer End Equipment: www.ti.com/dm6467
Tommy- > This is really good info, Jeff, and it's fairly specific. > > Do you know of some published summary that would help me understand > the FFT capability of a particular DSP chip or a > line of DSP chips - for instance a 6412 running at 300 MHz or at > 700 MHz. Did you search the TI site for benchmarks? A quick Google search shows reference to "C64x+ Benchmarks (v1.00)" as a zip file, but I'm not sure what's in there. > I believe I estimate our need correctly when I say we need to do a > 64k FFT 1000 times a second with 64 new samples > each update. We're aiming for demodulation of an r-f signal with > three portions of the bandwidth, 20K, resolved to 1 Hz. So you're saying a 64k FFT, with 64 samples and the remainder zero-filled? Or you're doing some type of high-percentage overlap? A 64k FFT brings other factors into the equation. Both the top-of-the-line TI device and Core2Duo (see my other post on this subject today) would require external memory and effective L2 cache to optimize a long FFT. > In addition the DSP needs to do at least 4 of these streams > simultaneously. Well, a 64k FFT in 250 usec is asking a lot. I'm not sure if you can do that with a 6455 or not. > Our current boards, and the board to be development, interface to a > PC through the PCI bus interface. I'd like to be > able to use our current board, 6412 based, to develop algorithms > for the new telemetry board. This, of course, would > use the PC to simulate the input data. > > And off course the 6412 doesn't have enough internal RAM. Believe > the chip we've been discussing is a 6416, or 6415. None of the devices have enough internal mem -- as I mentioned, L2 cache efficiency will be key. -Jeff Check Out Industry's First Single-Chip, Multi-Format, Real-Time HD Video Transcoding Solution for Commercial & Consumer End Equipment: www.ti.com/dm6467