Re: DSP FAQ Up-to-dateness



Hey,

Wow you guys are great, thanks for all the responses! :)

---
Jerry Avins wrote:
Actually, I think you want a DSP development board, complete with
processor, codec (ADC and DAC with the necessary filters), power supply
connection, and a manual. Al's company, Danville Signal Processing,
makes a line of them, as do others (in the FAQ) and the major DSP chip
makers.

That seems like a good piece of hardware to get started with. I'll look
into those.

---
Randy Yates wrote:
Unless your goal is to learn how to build the
hardware, I believe you have everything you
need under your fingertips - it's called a "PC."

Well, my goal is to learn how to build the hardware. I've already done
all this on a PC; it's not much fun any more. :) I think it will be a
satisfying project.

---
Tim Wescott wrote:
You may not be able to do it in real time on a PC without a lot of work,
but if you can get the tone identification working at all on a PC you'll
know what you need to get it going on a DSP chip.

Well, agreeing with Randy Yates response to that, there's some
incredibly fast software FFT implementations out there, and PC's are
pretty fast. I've been able to do it close to realtime on 6 year old
machines (but if the PC isn't dedicated to the task, there are some
latency issues that are hard to control, no matter how low level your
software gets); but like I said, it feels like cheating. But that's
why, knowing that it can be done on a PC, I was initially considering
making the entire thing ...

---
Andrew Reilly wrote:
When you get really ambitious, and you've got your first few prototypes
under your belt, you can move on to doing it all on an FPGA. You should
be able to fit the whole project into a $10 Xylinx or Altera part
(including the A/D converter) ... :-)

.... on an FPGA. It seemed like, coming from my background, programming
an FPGA would be more natural than integrating various pieces of
hardware together. But, really, I have very little knowledge of FPGA's.
The only experience I have with an FPGA is using some OTS FPGA-based
hardware to read encoders off a motor. It turned out to be too slow for
our application and we ended up moving to "real" encoder counting
hardware. Might have been a crappy FPGA, though, or buggy software on
it.

That's only going to give you a frequency resolution of about 23Hz, which
is enough to separate notes down to about 400Hz, which isn't very low.
You might want to investigate "multi-rate" techniques, or warped
transforms. (terms to google for :-)

I'll hit up Google as soon as I press "send" :) I had picked 50ms with
a 2048 block size and a 48KHz sample rate because it seemed reasonable,
even though the frequency resolution is too low to be 100% useful. I
did not know there -weren't- block-based algorithms, and also I
probably underestimated the power of these chips. I don't want to start
-too- complex though :) .

Whatever processor has the oomph to detect the input frequency isn't going
to have much trouble driving the MIDI stream, I would think. Most
processors have built in serializers of various sorts these days, so you
shouldn't have to do any manual bit-bashing.

So... there are DSP chips/etc out there that have all the general
purpose output lines, processing power, and a powerful enough
instruction set to do -everything- I want to do on one piece of
hardware? It seems like I'd be able to find a full project board, like
Jerry mentioned, that has everything on it but if you can do it all on
one IC; that would be pretty cool.

With regard to the Gumstix:

The XScale PXA255 actually has significant grunt for doing DSP
work, but the gotcha is that you'll have to do it in fixed point (scaled
integers): there's no floating point hardware. That's a significant
complication, for a beginner at DSP work to have to worry about.

I didn't know that. That's a small headache even if you -aren't- a
beginner in the rest of the stuff you are working on. Oh well; I might
pick up one of the Gumstix packs anyway to mess around with for some
other stuff, so at least I'll have it around to futz with.

There's lots of the sort of things that you're after at:
http://music.columbia.edu/cmc/music-dsp/, but if you really want to
understand what you're doing, a good university-grade DSP textbook and a
chunk of study time is likely to be a really good idea.

Thanks for the link; and I'll have to hit up Amazon and read some
reviews. I just spent a significant chunk of money there on a couple of
image processing books though, so hopefully the internet will hold me
over for a few weeks :) .

---
Well, thanks again guys (esp. Andrew Reilly) for all your information.
I have not had much time, unfortunately, to delve into it since I first
sent that message. So I have a lot of interesting stuff to think about
now. Hopefully you won't be getting -too- many stupid questions from me
:)

Jason Cipriani

.



Relevant Pages

  • Re: Is FPGA code called gateware?
    ... same reasons of labor cost vs. hardware cost. ... The power argument is moot, as the difference between power for a good ... I was talking about the FPGA domain here, ...
    (comp.arch.fpga)
  • Re: Spartan 3 chips in power up
    ... Spartan 3 is held in reset until all three power supplies are fully up. ... I get a lot of grief from the FPGA firmware designers on every little ... FPGA power is fully up and also operating the DSP while the FPGA power ...
    (comp.arch.fpga)
  • Re: FPGA C Compiler on sourceforge.net (TMCC derivative)
    ... high-level C developed by a software guy and have it map to hardware as well as it runs on a DSP, well, I just think you'll leave a lot of FPGA peformance on the table. ... We're doing it so we can rapidly infer reliable hardware using a more concise expression than that achieved using HDLs while paying a minimal price in lost potential performance. ... steadily getting more coarse & complex blocks, ...
    (comp.arch.fpga)
  • Re: looking for hardware source
    ... loaded into the FPGA. ... Against the power usage of a Pentium style processor usually a FPGA ... very limited experience with the hardware part. ... Open Source operating system like Linux or *BSD ...
    (comp.arch.embedded)
  • Re: Newbie looking for guidance
    ... "FPGA" in this context? ... DSP ... techniques were implemented on FPGA hardware to do digital signal ... be done in hardware versus software. ...
    (comp.arch.fpga)