Reply by Rick Lyons June 11, 20122012-06-11
On Sun, 10 Jun 2012 01:43:25 -0500, "Mikewhy" <boat042-spam@yahoo.com>
wrote:

   [Snipped by Lyons]
> >=================== >I don't know about slow or boring. It might be just that I'm wired different >and don't have the authors' innate grasp of mathematical expression. Their >"x(n) = u(n) - u(n-10)" is my "unit pulse from 0 to 10." The entire book is >like that. The related textbook is like that. They take common, >understandable concepts, throw some funny words around it, and then express >it in an equation that has no recognizable relationship to that being >discussed, or anything that might outwardly resemble anything that might >have any value to anyone at all. > >(In other words, Proakis's didn't work for me. Lyons's is something I can >keep in the "reading room", and come off the throne smarter everyday. But it >doesn't do matlab.)
Hell0 mikewhy, If you send me a private E-mail, I'll send you the errata to my DSP book. [-Rick Lyons-]
Reply by Mikewhy June 10, 20122012-06-10
"Benjamin S."  wrote in message news:jqcji3$4kh$1@dont-email.me...

I'm familiar with stationary (FIR/IIR) and adaptive filtering. My matlab
skills are OK but I've never done any practical DSP in matlab. There is a
book called "Digital Signal Processing using Matlab" by Ingle and Proakis.
It starts with very simple things which I find extremely boring so I
wonder whether it's the best way to learn how to process some signals.

Any useful tutorials or advice would be welcome.

===================
I don't know about slow or boring. It might be just that I'm wired different 
and don't have the authors' innate grasp of mathematical expression. Their 
"x(n) = u(n) - u(n-10)" is my "unit pulse from 0 to 10." The entire book is 
like that. The related textbook is like that. They take common, 
understandable concepts, throw some funny words around it, and then express 
it in an equation that has no recognizable relationship to that being 
discussed, or anything that might outwardly resemble anything that might 
have any value to anyone at all.

(In other words, Proakis's didn't work for me.  Lyons's is something I can 
keep in the "reading room", and come off the throne smarter everyday. But it 
doesn't do matlab.)

Reply by Tim Wescott June 7, 20122012-06-07
On Thu, 07 Jun 2012 10:25:15 +0000, Benjamin S. wrote:

> On Sat, 02 Jun 2012 11:44:44 -0500, Tim Wescott wrote: > >> On Sat, 02 Jun 2012 07:35:18 -0500, Greg Berchin wrote: >> >>> On Sat, 2 Jun 2012 08:40:35 +0000 (UTC), "Benjamin S." >>> <niacin89@yahoo.com> wrote: >>> >>>>[...] My matlab >>>>skills are OK but I've never done any practical DSP in matlab. There >>>>is a book called "Digital Signal Processing using Matlab" by Ingle and >>>>Proakis. [...] I >>>>wonder whether it's the best way to learn how to process some signals. >>> >>> "When all you have is a hammer, everything starts to look like a >>> nail." >>> >>> Matlab can be an amazing tool for mathematics. For signal processing >>> it leaves a few things to be desired. (I'll leave it to others to be >>> specific about this.) >>> >>> For LEARNING signal processing, it's like learning to drive in a car >>> with an automatic transmission -- you'll do okay, but you won't >>> understand the fundamental relationships between torque, RPM, gearing, >>> etc. And unless you specifically set out to learn them, you'll be >>> limited to driving cars with automatic transmissions for your whole >>> life. >> >> It would depend on how it is written -- if the book is "if you want to >> solve this problem, then type in this function into Matlab", then yes. >> If the book is "here is the theory, here is the math, problem 3.14 >> shows you how to do the calculation in Matlab" then maybe not. >> >> But yes, I don't think the world needs any more "I need to understand >> convolution, what Matlab function do I call" sorts of people. "How do >> I make Matlab compute the convolution that I know and love" is a much >> more productive attitude. > > I often write my own functions but then I thought why spend time to > write functions which someone else has already written and tested for > bugs. It's like writing your own functions instead of using the C (or > C++) standard library. > > On a note, I was doing some time series analysis the other day and I > wrote my own convolution. I think when I used Matlab's convolution it > introduced oscillatory effects. Mine didn't.
If Matlab is like Scilab there's a "convolution" function that really does a circular convolution, using the FFT to speed things up drastically. That could be the problem. -- My liberal friends think I'm a conservative kook. My conservative friends think I'm a liberal kook. Why am I not happy that they have found common ground? Tim Wescott, Communications, Control, Circuits & Software http://www.wescottdesign.com
Reply by Benjamin S. June 7, 20122012-06-07
On Sat, 02 Jun 2012 11:44:44 -0500, Tim Wescott wrote:

> On Sat, 02 Jun 2012 07:35:18 -0500, Greg Berchin wrote: > >> On Sat, 2 Jun 2012 08:40:35 +0000 (UTC), "Benjamin S." >> <niacin89@yahoo.com> wrote: >> >>>[...] My matlab >>>skills are OK but I've never done any practical DSP in matlab. There is >>>a book called "Digital Signal Processing using Matlab" by Ingle and >>>Proakis. [...] I >>>wonder whether it's the best way to learn how to process some signals. >> >> "When all you have is a hammer, everything starts to look like a nail." >> >> Matlab can be an amazing tool for mathematics. For signal processing it >> leaves a few things to be desired. (I'll leave it to others to be >> specific about this.) >> >> For LEARNING signal processing, it's like learning to drive in a car >> with an automatic transmission -- you'll do okay, but you won't >> understand the fundamental relationships between torque, RPM, gearing, >> etc. And unless you specifically set out to learn them, you'll be >> limited to driving cars with automatic transmissions for your whole >> life. > > It would depend on how it is written -- if the book is "if you want to > solve this problem, then type in this function into Matlab", then yes. > If the book is "here is the theory, here is the math, problem 3.14 shows > you how to do the calculation in Matlab" then maybe not. > > But yes, I don't think the world needs any more "I need to understand > convolution, what Matlab function do I call" sorts of people. "How do I > make Matlab compute the convolution that I know and love" is a much more > productive attitude.
I often write my own functions but then I thought why spend time to write functions which someone else has already written and tested for bugs. It's like writing your own functions instead of using the C (or C++) standard library. On a note, I was doing some time series analysis the other day and I wrote my own convolution. I think when I used Matlab's convolution it introduced oscillatory effects. Mine didn't.
Reply by John Edwards June 6, 20122012-06-06
I completely agree with Rick, I learnt a lot about DSP from the C. 
Sidney Burrus book.

Doesn't seem like 18 years ago since it was published :-(

John

On 04/06/2012 19:02, Rick Lyons wrote:
> On Sat, 2 Jun 2012 08:40:35 +0000 (UTC), "Benjamin S." > <niacin89@yahoo.com> wrote: > >> I'm familiar with stationary (FIR/IIR) and adaptive filtering. My matlab >> skills are OK but I've never done any practical DSP in matlab. There is a >> book called "Digital Signal Processing using Matlab" by Ingle and Proakis. >> It starts with very simple things which I find extremely boring so I >> wonder whether it's the best way to learn how to process some signals. >> >> Any useful tutorials or advice would be welcome. > > Hello Benjamin, > You might take a look at the book: > > "Computer-Based Exercises for Signal Processing > Using Matlab" by C. Sidney Burrus, et al. > (Prentice Hall Publishing, 1994. > > I promise you won't be bored with that book. > > Whereas the Ingle Proakis book > provides Matlab code (where the rumor is that much of > their code must be debugged for use with later versions > of Matlab), the C. Sidney Burrus does not provide much > Matlab code to help you solve the book's problems. > In any case, the C. Sidney Burrus book is, in > my opinion, a terrific book. > > [-Rick-] >
Reply by Rick Lyons June 4, 20122012-06-04
On Sat, 2 Jun 2012 08:40:35 +0000 (UTC), "Benjamin S."
<niacin89@yahoo.com> wrote:

>I'm familiar with stationary (FIR/IIR) and adaptive filtering. My matlab >skills are OK but I've never done any practical DSP in matlab. There is a >book called "Digital Signal Processing using Matlab" by Ingle and Proakis. >It starts with very simple things which I find extremely boring so I >wonder whether it's the best way to learn how to process some signals. > >Any useful tutorials or advice would be welcome.
Hello Benjamin, You might take a look at the book: "Computer-Based Exercises for Signal Processing Using Matlab" by C. Sidney Burrus, et al. (Prentice Hall Publishing, 1994. I promise you won't be bored with that book. Whereas the Ingle Proakis book provides Matlab code (where the rumor is that much of their code must be debugged for use with later versions of Matlab), the C. Sidney Burrus does not provide much Matlab code to help you solve the book's problems. In any case, the C. Sidney Burrus book is, in my opinion, a terrific book. [-Rick-]
Reply by Mac Decman June 4, 20122012-06-04
On Sat, 2 Jun 2012 08:40:35 +0000 (UTC), "Benjamin S."
<niacin89@yahoo.com> wrote:

>I'm familiar with stationary (FIR/IIR) and adaptive filtering. My matlab >skills are OK but I've never done any practical DSP in matlab. There is a >book called "Digital Signal Processing using Matlab" by Ingle and Proakis. >It starts with very simple things which I find extremely boring so I >wonder whether it's the best way to learn how to process some signals. > >Any useful tutorials or advice would be welcome.
I use MATLAB to prototype lots of core algorithms. Typically I go from paper into Mathematica, if there is any hard symbolic work to be done, then from Mathematica to a MATLAB prototype. I like the ability in MATLAB to quickly work on the algorithm and its output like a whiteboard. I'll usually generate some sort of numerical test at that point which I will compare with the C implementation later on to verify they are operating correctly. A lot of what I'm working on is ending up on Intel instead of Analog Devices now and the newer Intel compilers support syntax (Cilk+) which is very close to MATLABs vector notation. I almost never do any actual "Signal Processing" with MATLAB. I will always slap a GUI front end on a C library for Windows (this is really easy with all the COTS framework solutions you can buy for Microsoft .NET) or implement a real-time solution on SHARC. Mark DeArman
Reply by Greg Berchin June 3, 20122012-06-03
On Jun 2, 12:39&#4294967295;pm, robert bristow-johnson <r...@audioimagination.com>
wrote:

> they should have a berchin() function along with prony() to design IIRs > in the signal processing toolbox.
Berchin function: A nonlinear function with complex coefficients that only returns irrational values. In the MATLAB example code for FDLS I specifically disallow commercial use. Greg
Reply by robert bristow-johnson June 2, 20122012-06-02
On 6/2/12 4:40 AM, Benjamin S. wrote:
> I'm familiar with stationary (FIR/IIR) and adaptive filtering. My matlab > skills are OK but I've never done any practical DSP in matlab. There is a > book called "Digital Signal Processing using Matlab" by Ingle and Proakis. > It starts with very simple things which I find extremely boring so I > wonder whether it's the best way to learn how to process some signals. > > Any useful tutorials or advice would be welcome.
... On 6/2/12 1:18 PM, Fred Marshall wrote:
> I find the signal processing tools in Matlab to be hard to understand > and, thus, use. Part of that's because I would so rarely use them and so > I rarely use them. Positive feedback! ... or is that being negative?? > > So, I just write my own functions. It's not that hard and then you know > what you've got. > > For filter design, I use other tools and transfer the coefficients into > Matlab.
i found that for FIR filters, both firpm() (used to be called remez()) and firls() work pretty good for design. and also the Kaiser window (together with fft()) works pretty good for the "windowing method" of FIR design. they should have a berchin() function along with prony() to design IIRs in the signal processing toolbox. i wonder what Ingle and Proakis would say about the STUPID FUCKING requirement that all indices are positive (not ever zero, not ever negative). how do they integrate that inflexible indexing convention into the accepted and concise convention we use in DSP that has negative and zero indices, both for samples and for FFT bins? and about the latter, *what* do they tell the reader about the DC bin in the FFT? is it X(1)? totally stupid, and you would think these authors would start rattling Cleve's telephone and tell him how that unfixable indexing convention makes it harder to integrate MATLAB with their DSP book. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
Reply by mnentwig June 2, 20122012-06-02
You could do something that you enjoy doing. That is IMO the best way to
learn, it's all about motivation.

Matlab (or my own preference: freeware Octave) would be my recommendation.
It's the tool that gets the work done for me and lots of other people. 

You can reuse other people's work, but don't have to. Architect or
bricklayer. Your choice.