Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange
32

My recommendation in terms of text books is Rick Lyons's Understanding DSP. My review of the latest edition is here. I, and many others from the ${\tt comp.dsp}$ community and elsewhere, have helped Rick revise parts of the text since the first edition. For self-study, I know of no better book. As an on-line, free resource, I recommend Steve Smith's ...


20

Most certainly not. While there has been some claims to break Shannon here and there, it usually turned out that the Shannon theorem was just applied in the wrong way. I've yet to see any such claim to actually prove true. There are some methods known that allow for transmission of multiple data streams at the same time on the same frequency. The MIMO ...


18

Paul Falstad's Java applets are a fantastic way to interact with systems and learn them intuitively. The Digital Filter applet is a revelation. Check out the rest at http://www.falstad.com/mathphysics.html. For a more informal introduction, I like A Digital Signal Processing Primer by Ken Steiglitz, which is exactly what it says it is. I TAed a class ...


17

The below three are the best referred Text books on this subject. Discrete-Time Signal Processing, Prentice-Hall Signal Processing Series by Alan V. Oppenheim, Ronald W. Schafer, John R. Buck. Digital Signal Processing: Principles, Algorithms and Applications, Prentice Hall John G. Proakis, Dimitris K Manolakis Signals and Systems, Prentice Hall Alan V. ...


17

There are a lot of books out there, but if you are interested in Control and Signal Processing, I strongly suggest you take a look a Stephen Boyd Lectures from standford: http://www.youtube.com/watch?v=bf1264iFr-w There's the first one, the entire course is really valuable and he is a great Teacher. Appart from That here's a good list of my preferred ...


14

The capacity of a channel should be viewed as analogous to the speed limit on a highway. It is possible to travel at a speed greater than the posted limit on a highway but it is not possible to achieve good gas mileage while doing so. Similarly, it is possible to transmit data at rates higher than the capacity of the channel (in fact, unlike highways, ...


14

I can recommend you two books about DSP for C language. Embree P. M. - C Language Algorithms for Digital Signal Processing It is old and you can easily get it second-hand for a decent price. It covers pretty much all 4 topics that you described. The other one I recommend is: Malepati H. - Digital Media Processing: DSP Algorithms Using C It covers ...


13

I personally believe that the approach of studying something just in order to "feel ready" to study something else later on is not efficient and tends to overwhelm the student. (This of course only applies because I assume that you know what a computer scientist should know anyway: basic math, and - most importantly - how to think clearly and logically.) I ...


12

An airplane is leaving Warsaw (the capital of Poland), and gets caught in a terrible winter storm. The plane rolls, pitches and yaws. The crew is expecting the plane to crash or break up at any time. But one DSP student suddenly stands up and asks some passengers on the right aisle to move across the plane. Passengers are reluctant but the student insists. “...


10

For theoretical studies, Oppenheim is the god but if you're going to use it in practice, Mitra is one of the best: Digital Signal Processing: A Computer-Based Approach, Sanjit K. Mitra


9

DAFX is a pretty good one. Harmony Central used to have a surprisingly good knowledgeable base for algorithms but that seem to have disappeared since Guitar Center took them over. A lot of source code can be found at http://www.musicdsp.org/, but it's fairly varied in quality.


9

To get started: Complex numbers The frequency response of a filter is easier to understand complex-valued, describing both the magnitude frequency response and the phase frequency response. You will be able to understand poles and zeros, which can be complex. Complex numbers enable you to have negative frequencies, which will make math simpler. ...


8

If you're familiar with Fourier transforms, I think the bridge between the Fourier worlds and the wavelet worlds is the Gabor transform (a Gaussian-windowed STFT) and the complex Morlet wavelet transform. This is historically how they developed, too. They are basically the same thing, breaking down a signal into "blips" of complex sinusoids: But the time-...


8

the general polynomial form is: $$\begin{align} f(u) &= \sum\limits_{n=0}^{N} \ a_n \ u^n \\ \\ &= a_{\small{0}} + \Bigg(a_{\small{1}} + \bigg(a_{\small{2}} + \Big(a_{\small{3}} + \,... \big(a_{\small{N-2}} + (a_{\small{N-1}} + a_{\small{N}} \,u \,)u \, \big)u \ ...\Big)u \, \bigg)u \, \Bigg)u\\ \end{align}$$ the latter form is using Horner's ...


7

Sometimes there are courses entitled 'statistical signal processing', that's a good place to start :-) If your university doesn't have this, try looking for 'detection and estimation', or 'advanced signal processing'. If you don't have a university handy, you could try http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-432-stochastic-...


7

Google research has some excellent papers, see for example: An Overview of the Tesseract OCR Engine Also, it seems that stackoverflow has a similar question: https://stackoverflow.com/questions/4180629/ocr-and-image-preprocessing-techniques The most powerful image filtering techniques that I'm aware are graph-cuts based, which run in the following steps:...


7

You can visit the MIT OpenCourseWare. A set of 20 video lectures by professor Alan V. Oppenheim.


7

I will try to tackle questions 1 and 4. 1) Entropy- It is desired that the entropy of the system be maximized. Maximizing entropy means no symbol is better than the others or we do not know what the next symbol / outcome would be. However, the formula states a negative sign before the summation of the probability logarithms. Thus, it means we are ...


7

Why is the fourier transform a special case of the laplace transform? The Laplace transform produces a 2D surface of complex values, while the Fourier transform produces a 1D line of complex values. The Fourier transform is what you get when you slice the Laplace transform along the jω axis. For instance, a simple lowpass filter $H(s)=\frac{1}{s+1}$ has a ...


7

I'd recommend Introduction to Signal Processing by S.J. Orfanidis. It's a great book with a good mix of theory and practice, and it also has code examples in C and Matlab. Once you've worked through it you'll know enough to carry on by yourself.


6

Even though I couldn't find a decent table of contents, I took a shot on ordering a source book of papers edited by Tustin (i.e. Automatic and Manual Control), thinking he may have included something relevant. The direct source wasn't in there, but in a paper by B. M. Brown, Application of Finite Difference Operators to Linear Systems, the following ...


6

I think "Introduction to Wavelets and Wavelet Transforms: A Primer" by Sidney Burrus (et al.) is a very good and practical book. It is very clear, has exercises, and contains some Matlab programs. EDIT: I forgot to mention that this paper is also a very nice introduction to wavelets.


6

If you have the balls to learn math by yourself. The two fields of Mathematics that you need to dominate in order to do filter design are: Functional Analysis and convex optimization. Pretty much every filter design is the result of an optimization problem, like: Find these set of $N$ numbers such that the absolute value of the fourier transform in these ...


6

Wow, I'm honored by Matt L. doing what I'm often doing: Referring people to GNU Radio. The project actually has a list of recommended literature, but I don't know how well that'd fit you. It's probably still worth looking into. Then, regarding QPSK: Well, it's one of the basic constellations, and you'd probably be best off reading a textbook intro to ...


6

If you want a single book on C programming with DSP, then I would refer to the classical one C (Language) Algorithms for Real-Time DSP from Paul M. Embree. And as far as I know, there is no modern version to beat it's simplicity, clarity and usefulness...


6

Assuming you have completed Oppenheim's Discrete-Time Signal Processing book then the next (advanced) step could be anyone of the followings: (assumes a graduate level Linear System Theory background) Statistical Digital Signal Processing, Monson Hayes Multiresolution Signal Decomposition: Transforms, Subbands,Wavelets, A.Akansu Adaptive Filter Theory, ...


5

I am surprised no one has mentioned Richard Lyon's book - by far one of the BEST books out there on understanding digital signal processing in a very clear, concise, and methodological way. Its excellence comes from that fact that he explains concepts to you in a very easy way to grasp, without loss of rigor or detail needed to get to the heart of various ...


5

In addition to the already mentioned books, if you are focused towards algorithm development, Proakis' Digital Signal Processing using MATLAB is an excellent resource for starters. The numerical recipes series is also an excellent resource regarding how to implement some core DSP algorithms (spectral decomposition, convolutions, interpolation and ...


5

These classical references are a good start: B. Porat, Digital Processing of Random Signals, Prentice-Hall, 1994. Library serial number 2144342. A. Papoulis, Probability, Random Variables and Stochastic Processes, 3rd Ed. , McGraw-Hill, 1991. Library serial number 21111643. S. M. Kay, Fundamentals of Statistical Signal Processing, Volume I: Estimation ...


5

I have found some "proverbs" like: Never use software to compensate for a poor lighting system. It is not cost effective and will result in a poor system design. It is cheaper to add a light-proof shroud to keep sun-light away from the object under inspection than to modify the software. Another universal truth which is often forgotten. ...


Only top voted, non community-wiki answers of a minimum length are eligible