17
\$\begingroup\$

I am considering a project involving a fair share of digital signal processing. As far as I know, the best type of IC suited for this are the Digital Signal Processors. I have never worked with them before - can you recommend me any model that is simple enough for beginners? The project involves filtering hi-fi digital audio (44100Hz, 16 bit stereo) in several ways.

Also, do I need an additional uC to for example control an UI with an LCD panel and some buttons, or can the DSP handle this along its signal processing task?

\$\endgroup\$

9 Answers 9

11
\$\begingroup\$

A couple good beginning DSP's are the C5505 DSP from TI and the C6713 also from TI. I like the first cause it is only $55.00 and I like the second because there are whole books written around the chip (Digital Signal Processing and Applications with the C6713 and C6416 DSK ) Most Dsp evaluation boards have built in support for LCD's.

\$\endgroup\$
1
14
\$\begingroup\$

The dsPIC30F line of microcontrollers from Microchip are excellent introductory DSPs. They are programmed in C or assembly in the same way that other PICs are, but include DSP libraries that help with filtering, etc. They have all the necessary peripherals for most projects (ADC, DAC, serial communications, timers, the list goes on and on). They are fairly cheap (no more than $10), can be sampled in through-hole packaging, and can be programmed with standard PIC programmers and debuggers.

\$\endgroup\$
0
9
\$\begingroup\$

Check out Analog Devices DSP page.

And the free development tools.

No programing required, just drag and drop GUI objects.

\$\endgroup\$
2
  • \$\begingroup\$ The dev tools are free as in beer, not as in freedom. Also, drag-n-drop programming isn't automatically a good thing - some of us prefer the old fashioned method, and have good reason for it! That said, AD does have good DSPs. I've seen their SigmaDSPs used for noise removal and digitization in automotive microphones with good sucess, but they've got several lines for different markets. \$\endgroup\$ Aug 6, 2011 at 23:48
  • \$\begingroup\$ Note that these are sample-based processors that can't do block-based operations like FFT. dsprelated.com/showmessage/131569/1.php \$\endgroup\$
    – endolith
    Apr 2, 2014 at 14:25
8
\$\begingroup\$

If you go with one of the dsPIC parts, you can have both interface and processing in one (the make great general purpose MCU's as well). They come in SOIC and DIP packages which makes prototyping easy, and some of the dsPIC 33 range have almost all their pins re-mappable which makes routing a board a breeze.

\$\endgroup\$
2
  • \$\begingroup\$ Hardware is great but the dev tools from Microchip are AWFUL. \$\endgroup\$
    – Jason S
    Mar 7, 2010 at 16:44
  • 4
    \$\begingroup\$ We figured this out from the last comment you left. :) \$\endgroup\$ Mar 9, 2011 at 14:13
6
\$\begingroup\$

you really, really, don't need a DSP to do even advanced audio filtering on a 44.1kHz 16bit stereo signal.

An ARM core will be just fine for the filtering and running the LCD/buttons.

I'd just grab a beagleboard, toss RT linux on it and have at it. If you get really desperate for performance there is a TI 64x+ DSP on board the SoC as well.

There are very few applications for which a DSP is needed today, especially in the audio world. If you were dealing with 32 channels of 192khz 24bit audio thats latency critical, yea go for the DSP. But what your working with is well within the capabilities of modern microcontrollers.

\$\endgroup\$
5
\$\begingroup\$

I'm looking for the same thing. This thread has some suggestions.

There's also TI's TAS3202 System-on-a-Chip, which seems to have everything you would need for filtering stereo audio. Converters and everything are built-in. The chip itself is about $5, but the eval board is about $500. Sheesh.

(You can get a single TAS3204 for about $10. TAS3202 I can't even find in low quantities.)

There's also the AK7742, which has a very convenient GUI, but you'd need to buy the eval board.

I'd love to find a hobbyist-dedicated open source DSP board like the BASIC Stamp, Arduino, Chameleon, etc.

In order to learn the high-level fundamentals of DSP, though, you'll want to start with your computer, using tools like MATLAB or its free clones Scilab, Octave, Freemat, etc. to do simulations. I've been playing around with SciPy a lot lately. That way you can learn the theoretical stuff without being bogged down by the implementation details.

\$\endgroup\$
1
  • 3
    \$\begingroup\$ +1 MATLAB suggestion. It's much better to make it work in MATLAB before porting it to an actual DSP. \$\endgroup\$
    – ajs410
    Apr 28, 2010 at 21:58
1
\$\begingroup\$

To answer the second part of your question, yes, you'll probably need a general-purpose microcontroller to handle your user interface. DSPs are dedicated processors: they do one thing very well (signal processing) but don't do anything else.

\$\endgroup\$
3
  • 1
    \$\begingroup\$ ??? these days DSPs and microcontrollers have not much different between them. they're optimized for high-performance DSP processing, yes, but no reason you can't do general-purpose stuff, unless you need to deal with a LOT of memory, and even then you just have to find a DSP with an external data/address bus. \$\endgroup\$
    – Jason S
    Nov 26, 2009 at 5:59
  • \$\begingroup\$ The only thing a DSP has that a uC doesn't these days is circular addressing modes. Other than that, they're basically the same thing. Maybe a typical uC has more I/O and DMA channels, but the Analog Devices Blackfin family makes that a pretty outdated assumption too. \$\endgroup\$
    – mtrw
    Apr 29, 2010 at 20:16
  • 1
    \$\begingroup\$ There may be some risks involved in adding random functions to the load on the dsp, but they should be quite capable of general purpose interfacing such as displays/buttons/communication lines. \$\endgroup\$
    – XTL
    Jun 30, 2010 at 13:44
1
\$\begingroup\$

You could also use a BeagleBoard available for only $150 from sparkfun

\$\endgroup\$
1
  • 1
    \$\begingroup\$ The problem with the Beagleboard is that you don't get access to digital audio I/O. They D/A converters are wired in. Russ White at Twisted Pear Audio has hacked it to work with the Buffalo D/A's, but I'm told it's not so easy. \$\endgroup\$
    – terrace
    Apr 10, 2010 at 18:42
0
\$\begingroup\$

Two alternative options might also be worth looking at:

Microcontrollers with mixed signal abilities like MSP430. 44k * 2 * 2 is a lot of samples so you might not have a lot of time for processing them on the speeds these run in.

Standalone PC, PDA or such. You probably get more or less HI-FI (and upgradeable) AD/DA and audio stuff builtin and will have massive cpu power plus display capability. Good dev software is often free and hardware can be cheap or even free. Latencies might be high, though, and you'd have to work with a big power-hungry ineffective machine.

\$\endgroup\$
1
  • \$\begingroup\$ The problem with this is that the overhead of the running OS is going to kill almost any type of application. Power consumption is in no relation to what you would find using some form of DSP. In short, it will work, but the standalone PC option is very inefficient. \$\endgroup\$ Jun 30, 2010 at 14:06

Not the answer you're looking for? Browse other questions tagged or ask your own question.