"John Ferrell" <W8CCW@arrl.net> wrote:> On Sun, 7 Oct 2012 15:32:01 -0500, "Vladimir Vassilevsky" > <nospam@nowhere.com> wrote:> How about this: > Feed nominal sine wave (400 Hz or so) into AD > Drive PWM with Value from AD. > ? may need to scale 10 bit AD value to 8 bit pwm > Compare input to output with scope and audio. > Does that sound like a starting point?AFAIR I have seen somewhere a "Class D amplifier using PIC". It could do reasonable quality in the voice band. Long while ago I implemented a subwoofer amp using AVR; switched to TMS24xx later.> My first objective is to decode/encode the common forms of modulation: > FM, AM, SSB.Book: Marvin Frerking "Digital Signal Processing in Communication Systems".
Which starter kit?
Started by ●October 6, 2012
Reply by ●October 10, 20122012-10-10
Reply by ●October 10, 20122012-10-10
On 10/10/2012 12:21 AM, Vladimir Vassilevsky wrote:> "John Ferrell"<W8CCW@arrl.net> wrote: >> On Sun, 7 Oct 2012 15:32:01 -0500, "Vladimir Vassilevsky" >> <nospam@nowhere.com> wrote: > >> How about this: >> Feed nominal sine wave (400 Hz or so) into AD >> Drive PWM with Value from AD. >> ? may need to scale 10 bit AD value to 8 bit pwm >> Compare input to output with scope and audio. >> Does that sound like a starting point? > > AFAIR I have seen somewhere a "Class D amplifier using PIC". > It could do reasonable quality in the voice band. > Long while ago I implemented a subwoofer amp using AVR; switched to TMS24xx > later. > >> My first objective is to decode/encode the common forms of modulation: >> FM, AM, SSB. > > Book: > Marvin Frerking "Digital Signal Processing in Communication Systems".I did a program for the PC many, many moons ago that used the on board timer to do PWM of the one bit output controlling the PC speaker. I guess this was a "Class D" amplifier. Rick
Reply by ●October 16, 20122012-10-16
On Tue, 9 Oct 2012 23:21:28 -0500, "Vladimir Vassilevsky" <nospam@nowhere.com> wrote:> >"John Ferrell" <W8CCW@arrl.net> wrote: >> On Sun, 7 Oct 2012 15:32:01 -0500, "Vladimir Vassilevsky" >> <nospam@nowhere.com> wrote: > >> How about this: >> Feed nominal sine wave (400 Hz or so) into AD >> Drive PWM with Value from AD. >> ? may need to scale 10 bit AD value to 8 bit pwm >> Compare input to output with scope and audio. >> Does that sound like a starting point? > >AFAIR I have seen somewhere a "Class D amplifier using PIC". >It could do reasonable quality in the voice band. >Long while ago I implemented a subwoofer amp using AVR; switched to TMS24xx >later. > >> My first objective is to decode/encode the common forms of modulation: >> FM, AM, SSB. > >Book: >Marvin Frerking "Digital Signal Processing in Communication Systems". > >I have studied the PWM-DAC scheme and even worked out a prototype board with an AVR Mega chip. It is do able, but I would rather not waste the time fussing with the hack when I know that I will eventually need a better AD and real DAC. The book looks real interesting but also pretty expensive for one who studies for a hobby. I have purchased several of the popular books on this list and I think my only problems with them are determining where to focus. I do have access to the ARRL Achieves and a lot of their publications. Their focus and my interests coincide. There may be some Amateur Radio products on the net that are both inexpensive and adaptable to my purposes. Thanks to all for the guidance, I will be back. John Ferrell W8CCW
Reply by ●October 23, 20122012-10-23
>"Waves" <61140@dsprelated> writes: > >> Hello, >> >> I'm looking to get into DSP/embedded programming practically. > >Hi Dude, > >The problem is, even that relatively narrow field has a wide >variety of potential platforms. > >> I was looking at these low cost development kits: >> >> TI MSP430 USB Stick Development Tool >> http://www.ti.com/tool/ez430-f2013#119 >> >> STMicro STM32VL DISCOVERY >> http://www.st.com/internet/evalboard/product/250863.jsp >> >> Am I right in thinking that the above two are more for embeddedprogramming>> development rather than DSP? > >Don't know about the STMicro, but the MSP430 is a relatively slow >processor intended for very low power applications. > >You can do DSP on ANY processor, no matter what type, but the >complexity, sample rate at which you can operate, and pain to develop >your algorithm will vary greatly. > >If I were you, I would separate "DSP programming" from "embedded >programming." A fine platform for learning how to program DSP is your >own PC using a basic language like C or C++ [1]. It is much easier to >develop and test DSP algorithms on the PC. Once you've done a couple of >basic DSP programming projects there, you can move to an embedded >implementation fairly easily, assuming you are familiar with embedded >programming. > >Embedded programming entails a largely-orthogonal set of skills (to DSP) >which can include learning how to write interrupt service routines, how >to write device drivers, how to use an embedded OS (e.g., SYSBIOS or >DSPBIOS from TI), how to arrange linked sections in memory, etc. > >You could also split "embedded programming" into "high-level embedded >programming" (e.g., embedded linux systems) and "low-level embedded >programming" (e.g., something like the MSP430), so it would help if you >had an idea which one you were more interested in. > >--Randy > >[1] I would use a linux distro (Fedora 17 recommended), the gcc >compiler, and gnumake as a build system. I would then use a .wav file >I/O library and take input from a .wav file and write your results to a >.wav file. You can generate/examine .wav files, plot results, etc., >using gnu-octave (or Matlab). >-- >Randy Yates >Digital Signal Labs >http://www.digitalsignallabs.com >Would I be better off with something like the BeagleBone? I guess at this stage I would like to learn to program on physical hardware. We do quite a bit of MATLAB simulation on the course already!
Reply by ●October 23, 20122012-10-23
On 10/23/2012 7:00 PM, Waves wrote:>> >> --Randy >> >> [1] I would use a linux distro (Fedora 17 recommended), the gcc >> compiler, and gnumake as a build system. I would then use a .wav file >> I/O library and take input from a .wav file and write your results to a >> .wav file. You can generate/examine .wav files, plot results, etc., >> using gnu-octave (or Matlab). >> -- >> Randy Yates >> Digital Signal Labs >> http://www.digitalsignallabs.com >> > > Would I be better off with something like the BeagleBone? > > I guess at this stage I would like to learn to program on physical > hardware. We do quite a bit of MATLAB simulation on the course already!BeagleBoards are good if you know Linux since that is what they typically run. The CPU is a high end cell phone chip and requires a lot of software to just boot it up. I think what Randy is saying is to learn DSP on a PC running Linux but you can use any OS really. He just likes the tools under Linux I guess. What do you want to do after you have completed your projects? That will largely determine what sort of target processor you should get familiar with. Rick
Reply by ●October 23, 20122012-10-23
"Waves" <61140@dsprelated> writes:>>"Waves" <61140@dsprelated> writes: >> >>> Hello, >>> >>> I'm looking to get into DSP/embedded programming practically. >> >>Hi Dude, >> >>The problem is, even that relatively narrow field has a wide >>variety of potential platforms. >> >>> I was looking at these low cost development kits: >>> >>> TI MSP430 USB Stick Development Tool >>> http://www.ti.com/tool/ez430-f2013#119 >>> >>> STMicro STM32VL DISCOVERY >>> http://www.st.com/internet/evalboard/product/250863.jsp >>> >>> Am I right in thinking that the above two are more for embedded > programming >>> development rather than DSP? >> >>Don't know about the STMicro, but the MSP430 is a relatively slow >>processor intended for very low power applications. >> >>You can do DSP on ANY processor, no matter what type, but the >>complexity, sample rate at which you can operate, and pain to develop >>your algorithm will vary greatly. >> >>If I were you, I would separate "DSP programming" from "embedded >>programming." A fine platform for learning how to program DSP is your >>own PC using a basic language like C or C++ [1]. It is much easier to >>develop and test DSP algorithms on the PC. Once you've done a couple of >>basic DSP programming projects there, you can move to an embedded >>implementation fairly easily, assuming you are familiar with embedded >>programming. >> >>Embedded programming entails a largely-orthogonal set of skills (to DSP) >>which can include learning how to write interrupt service routines, how >>to write device drivers, how to use an embedded OS (e.g., SYSBIOS or >>DSPBIOS from TI), how to arrange linked sections in memory, etc. >> >>You could also split "embedded programming" into "high-level embedded >>programming" (e.g., embedded linux systems) and "low-level embedded >>programming" (e.g., something like the MSP430), so it would help if you >>had an idea which one you were more interested in. >> >>--Randy >> >>[1] I would use a linux distro (Fedora 17 recommended), the gcc >>compiler, and gnumake as a build system. I would then use a .wav file >>I/O library and take input from a .wav file and write your results to a >>.wav file. You can generate/examine .wav files, plot results, etc., >>using gnu-octave (or Matlab). >>-- >>Randy Yates >>Digital Signal Labs >>http://www.digitalsignallabs.com >> > > Would I be better off with something like the BeagleBone? > > I guess at this stage I would like to learn to program on physical > hardware. We do quite a bit of MATLAB simulation on the course > already!Dude, There is no comparison of y=filter(b,1,x); compared with the C code required for your own FIR filter. Totally different job: different order of magnitude. ESPECIALLY if you use signed arithmetic for your filter. But if you want to take large steps, I imagine the BeagleBone as good as any other embedded linux platform. However, I haven't used it. -- Randy Yates Digital Signal Labs http://www.digitalsignallabs.com
Reply by ●October 23, 20122012-10-23
Waves wrote:>> "Waves" <61140@dsprelated> writes: >> >>> Hello, >>> >>> I'm looking to get into DSP/embedded programming practically. >> >> Hi Dude, >> >> The problem is, even that relatively narrow field has a wide >> variety of potential platforms. >> >>> I was looking at these low cost development kits: >>> >>> TI MSP430 USB Stick Development Tool >>> http://www.ti.com/tool/ez430-f2013#119 >>> >>> STMicro STM32VL DISCOVERY >>> http://www.st.com/internet/evalboard/product/250863.jsp >>> >>> Am I right in thinking that the above two are more for embedded > programming >>> development rather than DSP? >> >> Don't know about the STMicro, but the MSP430 is a relatively slow >> processor intended for very low power applications. >> >> You can do DSP on ANY processor, no matter what type, but the >> complexity, sample rate at which you can operate, and pain to develop >> your algorithm will vary greatly. >> >> If I were you, I would separate "DSP programming" from "embedded >> programming." A fine platform for learning how to program DSP is your >> own PC using a basic language like C or C++ [1]. It is much easier to >> develop and test DSP algorithms on the PC. Once you've done a couple of >> basic DSP programming projects there, you can move to an embedded >> implementation fairly easily, assuming you are familiar with embedded >> programming. >> >> Embedded programming entails a largely-orthogonal set of skills (to DSP) >> which can include learning how to write interrupt service routines, how >> to write device drivers, how to use an embedded OS (e.g., SYSBIOS or >> DSPBIOS from TI), how to arrange linked sections in memory, etc. >> >> You could also split "embedded programming" into "high-level embedded >> programming" (e.g., embedded linux systems) and "low-level embedded >> programming" (e.g., something like the MSP430), so it would help if you >> had an idea which one you were more interested in. >> >> --Randy >> >> [1] I would use a linux distro (Fedora 17 recommended), the gcc >> compiler, and gnumake as a build system. I would then use a .wav file >> I/O library and take input from a .wav file and write your results to a >> .wav file. You can generate/examine .wav files, plot results, etc., >> using gnu-octave (or Matlab). >> -- >> Randy Yates >> Digital Signal Labs >> http://www.digitalsignallabs.com >> > > Would I be better off with something like the BeagleBone? > > I guess at this stage I would like to learn to program on physical > hardware. We do quite a bit of MATLAB simulation on the course already! >it's a bit of a jump just to get 'C'/C++ code running on a general purpose computer to do what your MATLAB does. Do that first, *then* do the dedicated hardware thing. It's not harder per se, but you have learning curve. next, make a VST plugin, maybe. Get something going with various IIR filters, FFTW and libndfile, *then* think about a BeagleBoard. I bet you can kill a couple months that way without spending a nickel. -- Les Cargill
Reply by ●October 23, 20122012-10-23
"Waves" <61140@dsprelated> wrote:>> >>> I'm looking to get into DSP/embedded programming practically. >> > I guess at this stage I would like to learn to program on physical > hardware. We do quite a bit of MATLAB simulation on the course already!This thread starts at October 6. Today is October 23. In the mean time, I completed one big project; then did a small one, and currently working on the other two hardware/software projects. If you would like to learn something ever, you'd better quit looking and start doing. Vladimir Vassilevsky DSP and Mixed Signal Consultant www.abvolt.com
Reply by ●October 26, 20122012-10-26
On Tue, 23 Oct 2012 21:06:20 -0500, "Vladimir Vassilevsky" <nospam@nowhere.com> wrote:> > >If you would like to learn something ever, you'd better quit looking and >start doing. > >Vladimir Vassilevsky >DSP and Mixed Signal Consultant >www.abvolt.com >As usual, you are right. Unfortunately real life demands are difficult to avoid! John Ferrell W8CCW






