DSPRelated.com
Forums

Free or low-cost DSP tools for the hobbyist?

Started by nrclark February 22, 2008
I'm a college student interested in doing some hobby DSP. I've had some
classes in DSP theory, but none of them actually went into the hardware
and tools available out there for embedded DSP hobby projects.

What is a good platform for a hobbyist to do fairly simple DSP sorts of
things like FIR/IIR filters, correlation, FFTs and so-forth? I could
probably buy a dev board or two, but I can't afford to shell out thousands
of dollars for proprietary IDEs.

I'm pretty computer literate and I know a few programming languages, but
I've never done any device programming beyond some intro-level Verilog in
my digital design classes. I wouldn't really have the first idea how to
program an ARM chip to do something or what kind of components I would
need to make my own development board.

What are some good, low-cost ways for me to do some simple 16-bit DSP
stuff? I'd really love to have a little box that I could arbitrarily
program to contain different filters. :)




"nrclark" <nicholas.clark@gmail.com> wrote in
news:RrWdnbm1vbciVCPanZ2dnUVZ_tKinZ2d@giganews.com: 

> I'm a college student interested in doing some hobby DSP. I've had > some classes in DSP theory, but none of them actually went into the > hardware and tools available out there for embedded DSP hobby > projects. > > What is a good platform for a hobbyist to do fairly simple DSP sorts > of things like FIR/IIR filters, correlation, FFTs and so-forth? I > could probably buy a dev board or two, but I can't afford to shell out > thousands of dollars for proprietary IDEs. > > I'm pretty computer literate and I know a few programming languages, > but I've never done any device programming beyond some intro-level > Verilog in my digital design classes. I wouldn't really have the first > idea how to program an ARM chip to do something or what kind of > components I would need to make my own development board. > > What are some good, low-cost ways for me to do some simple 16-bit DSP > stuff? I'd really love to have a little box that I could arbitrarily > program to contain different filters. :) > > > > >
The least expensive way to learn to program an DSP, is to buy an eval board from one of the manufacturers. In the Analog Devices case, this would be an EZ-KIT. EZ-KITs include a free KIT version of Visual DSP, a built in debugger (ICE) and a board that usually supports some form of audio processing. The choice of DSP may impact your choice. There are many different reasons for selecting a particular DSP family or device. For example, a SHARC is easy to program and supports both 32/40 bit floating point as well as 32 bit fixed point operations. This can be very helpful since one format or the other is often preferred depending on what you are doing. For example, an FFT is much easier in floating point since scaling between butterflies is avoided. Precision of the math also effects the performance of filtering. 32 bits with a long accumulator has its benefits. One of the biggest ADI advantages is that their programming language is easy to learn. It's a bit C like in its syntax. You can also use C, but I think its best to learn both. You can look at other DSP choices and see their advantages and limitations. I think you will find that programming a GP DSP will be easier than implementing DSP in an FPGA using VHDL or Verilog. Of course, FPGA solutions have their own advantages as well, but they are probably not the place to start with to learn basic DSP programming. Good luck with your quest. Al Clark Danville Signal Processing, Inc.
"nrclark" <nicholas.clark@gmail.com> writes:

> I'm a college student interested in doing some hobby DSP. I've had some > classes in DSP theory, but none of them actually went into the hardware > and tools available out there for embedded DSP hobby projects. > > What is a good platform for a hobbyist to do fairly simple DSP sorts of > things like FIR/IIR filters, correlation, FFTs and so-forth? I could > probably buy a dev board or two, but I can't afford to shell out thousands > of dollars for proprietary IDEs. > > I'm pretty computer literate and I know a few programming languages, but > I've never done any device programming beyond some intro-level Verilog in > my digital design classes. I wouldn't really have the first idea how to > program an ARM chip to do something or what kind of components I would > need to make my own development board. > > What are some good, low-cost ways for me to do some simple 16-bit DSP > stuff? I'd really love to have a little box that I could arbitrarily > program to contain different filters. :)
The lowest-cost way is to use a PC. You probably already have one with a sound card, and you can development tools (e.g., gnu-whatever) for free. It's a quick to develop and test, too. As a first foray, that would be my recommendation. -- % Randy Yates % "Midnight, on the water... %% Fuquay-Varina, NC % I saw... the ocean's daughter." %%% 919-577-9882 % 'Can't Get It Out Of My Head' %%%% <yates@ieee.org> % *El Dorado*, Electric Light Orchestra http://www.digitalsignallabs.com
nrclark wrote:
> I'm a college student interested in doing some hobby DSP. I've had some > classes in DSP theory, but none of them actually went into the hardware > and tools available out there for embedded DSP hobby projects. > > What is a good platform for a hobbyist to do fairly simple DSP sorts of > things like FIR/IIR filters, correlation, FFTs and so-forth? I could > probably buy a dev board or two, but I can't afford to shell out thousands > of dollars for proprietary IDEs. > > I'm pretty computer literate and I know a few programming languages, but > I've never done any device programming beyond some intro-level Verilog in > my digital design classes. I wouldn't really have the first idea how to > program an ARM chip to do something or what kind of components I would > need to make my own development board. > > What are some good, low-cost ways for me to do some simple 16-bit DSP > stuff? I'd really love to have a little box that I could arbitrarily > program to contain different filters. :)
A PC is actually pretty good for this. You'll need a compiler for it (gcc) and something like scilab would be very nice for developing algorithms. I assume you already have a PC. gcc and scilab are free. -- Jim Thomas Principal Applications Engineer Bittware, Inc jthomas@bittware.com http://www.bittware.com (603) 226-0404 x536 Eternity is a very long time, especially towards the end. - Stephen Hawking
>A PC is actually pretty good for this. You'll need a compiler for it >(gcc) and something like scilab would be very nice for developing >algorithms. I assume you already have a PC. gcc and scilab are free.
Jim, matlab provides a mechanism to play sound files within the environment. is this feature available in scilab and octave? rgds bharat Arithos Designs www.Arithos.com
Hi Al,

Analog devices has some pretty cool offerings all right, but I admit I'm a
little bit nervous about the fact that the VisualDSP++ which comes with
Analog's eval boards expires after 90 days. Even the student version of
VisualDSP++ is something crazy (to a hobbyist budget, at least) like
$1000.

Are there any cheaper or free third-party development platforms for any of
Analog's DSPs? What about for TI or Freescale's various offerings?

Has anybody around here every used that dsPic getup offered by Microchip?
Does it work well? What is the group's opinion on it? :)

Thanks,
Nick

----
Nick Clark
UCSB Electrical Engineering


>The least expensive way to learn to program an DSP, is to buy an eval >board from one of the manufacturers. > >In the Analog Devices case, this would be an EZ-KIT. EZ-KITs include a >free KIT version of Visual DSP, a built in debugger (ICE) and a board >that usually supports some form of audio processing. > >The choice of DSP may impact your choice. There are many different >reasons for selecting a particular DSP family or device. For example, a >SHARC is easy to program and supports both 32/40 bit floating point as >well as 32 bit fixed point operations. This can be very helpful since one
>format or the other is often preferred depending on what you are doing. >For example, an FFT is much easier in floating point since scaling >between butterflies is avoided. Precision of the math also effects the >performance of filtering. 32 bits with a long accumulator has its >benefits. > >One of the biggest ADI advantages is that their programming language is >easy to learn. It's a bit C like in its syntax. You can also use C, but I
>think its best to learn both. > >You can look at other DSP choices and see their advantages and >limitations. > >I think you will find that programming a GP DSP will be easier than >implementing DSP in an FPGA using VHDL or Verilog. Of course, FPGA >solutions have their own advantages as well, but they are probably not >the place to start with to learn basic DSP programming. > >Good luck with your quest. > >Al Clark >Danville Signal Processing, Inc. > >
bharat pathak wrote:
>>A PC is actually pretty good for this. You'll need a compiler for it >>(gcc) and something like scilab would be very nice for developing >>algorithms. I assume you already have a PC. gcc and scilab are free. > > > > Jim, > > matlab provides a mechanism to play sound files within the > environment. > is this feature available in scilab and octave? > > rgds > bharat > > Arithos Designs > www.Arithos.com
Scilab can create and play wav files.
"nrclark" <nicholas.clark@gmail.com> wrote in
news:RsKdnaVFB8-0miLanZ2dnUVZ_qCunZ2d@giganews.com: 

> Hi Al, > > Analog devices has some pretty cool offerings all right, but I admit > I'm a little bit nervous about the fact that the VisualDSP++ which > comes with Analog's eval boards expires after 90 days.
No. The KIT license does not expire at all. There are three licenses: Test Drive - Free Full Version with 90 day expiration Kit License - Works with EZ-KIT and Danville "with ICE" dspstak boards This is a test drive for the first 90 days then restricts the program size. In many cases this is not an issue at all. You must be connected to the on-board debugger. This does not actually keep you from creating bootable files that can be executed on a board with a debugger. For example, we have customers who develop code on our dspstak 21369 with ICE board and then buy production dspstak 21369 boards that do not include the debugger. Full license - This is a test drive that never expires. Updates have always been free as well. This is the one you pay for. Even the
> student version of VisualDSP++ is something crazy (to a hobbyist > budget, at least) like $1000. > > Are there any cheaper or free third-party development platforms for > any of Analog's DSPs? What about for TI or Freescale's various > offerings?
This means that you can buy an EZ-KIT and be good to go. It won't stop working after 90 days.
> > Has anybody around here every used that dsPic getup offered by > Microchip? Does it work well? What is the group's opinion on it? :)
The dsPic is a very simple DSP that has limited MIPS, expansion, etc. It is less powerful than DSPs I used 15 years ago. It some applications it might be perfectly useful, but it does not really come close in performance to the offerings of ADI, TI or Freescale. Al Clark Danville Signal Processing, Inc.
> > Thanks, > Nick > > ---- > Nick Clark > UCSB Electrical Engineering > > >>The least expensive way to learn to program an DSP, is to buy an eval >>board from one of the manufacturers. >> >>In the Analog Devices case, this would be an EZ-KIT. EZ-KITs include a >>free KIT version of Visual DSP, a built in debugger (ICE) and a board >>that usually supports some form of audio processing. >> >>The choice of DSP may impact your choice. There are many different >>reasons for selecting a particular DSP family or device. For example, >>a SHARC is easy to program and supports both 32/40 bit floating point >>as well as 32 bit fixed point operations. This can be very helpful >>since one > >>format or the other is often preferred depending on what you are >>doing. For example, an FFT is much easier in floating point since >>scaling between butterflies is avoided. Precision of the math also >>effects the performance of filtering. 32 bits with a long accumulator >>has its benefits. >> >>One of the biggest ADI advantages is that their programming language >>is easy to learn. It's a bit C like in its syntax. You can also use C, >>but I > >>think its best to learn both. >> >>You can look at other DSP choices and see their advantages and >>limitations. >> >>I think you will find that programming a GP DSP will be easier than >>implementing DSP in an FPGA using VHDL or Verilog. Of course, FPGA >>solutions have their own advantages as well, but they are probably not >>the place to start with to learn basic DSP programming. >> >>Good luck with your quest. >> >>Al Clark >>Danville Signal Processing, Inc. >> >> >
On Feb 22, 7:06 am, Jim Thomas <jtho...@bittware.com> wrote:
> nrclark wrote: > > I'm a college student interested in doing some hobby DSP. I've had some > > classes in DSP theory, but none of them actually went into the hardware > > and tools available out there for embedded DSP hobby projects. > > > What is a good platform for a hobbyist to do fairly simple DSP sorts of > > things ... > > A PC is actually pretty good for this.
I you want to experience the hardware and tools side of DSP, using a modern PC will rarely expose issues involving limited memory footprint, available processor cycles, interrupt latency, how fast a particular algorithm drains the battery, low level driver or direct hardware interfaces, & etc.; as well as tools issues such as development/OS compatibility issues; minor, seemingly legal, source code changes which result in the code not compiling, or building with a 10X code bloat or performance hit, & etc. And, yes, I've done some of the above for self-education and hobby purposes, writing audio DSP software for some of my PalmOS handhelds (although demoing one random experiment to an acquaintance ended up leading to several business opportunities... Learn something new, and you never know when it might come in useful.) IMHO. YMMV. -- rhn A.T nicholson d.0.t C-o-M
Ron N. wrote:
> On Feb 22, 7:06 am, Jim Thomas <jtho...@bittware.com> wrote: >> nrclark wrote: >>> I'm a college student interested in doing some hobby DSP. I've had some >>> classes in DSP theory, but none of them actually went into the hardware >>> and tools available out there for embedded DSP hobby projects. >>> What is a good platform for a hobbyist to do fairly simple DSP sorts of >>> things ... >> A PC is actually pretty good for this. > > I you want to experience the hardware and tools side of DSP, > using a modern PC will rarely expose issues involving limited > memory footprint, available processor cycles, interrupt > latency, how fast a particular algorithm drains the battery, > low level driver or direct hardware interfaces, & etc.; as > well as tools issues such as development/OS compatibility > issues; minor, seemingly legal, source code changes which > result in the code not compiling, or building with a 10X code > bloat or performance hit, & etc. > > And, yes, I've done some of the above for self-education and > hobby purposes, writing audio DSP software for some of my > PalmOS handhelds (although demoing one random > experiment to an acquaintance ended up leading to several > business opportunities... Learn something new, and you > never know when it might come in useful.)
The problem with using a chip sold as a DSP for education is you learn mostly throw away knowledge. DSP on a PC is about basic signal processing. Knowledge that will last a lifetime - remember, most basic analogue signal processing knowledge carried through pretty well into the DSP era,. Basic knowledge has staying power. Compare that to what you learn with a DSP kit. You learn a bit about how architectures are crafted to do polynomials real quick. You might also learn a bit about how problems need to be structured to exploit the parallelism of the hardfware, especially for a VLIW machine. What you do mostly, though, is spend time with the messy ins and outs of a chip that will be obsolete before graduation. Chip specific knowledge is only worth learning the week before you start your first application with that chip. Steve