Best computer hardware dsps books according to redditors
We found 55 Reddit comments discussing the best computer hardware dsps books. We ranked the 20 resulting products by number of redditors who mentioned them. Here are the top 20.
We found 55 Reddit comments discussing the best computer hardware dsps books. We ranked the 20 resulting products by number of redditors who mentioned them. Here are the top 20.
-----
-----
BOOKS
Children Electronics and Electricity books:
Newbie Electronics books:
Basic Circuit Theory books:
Analog Design books:
Digital Design books:
(download old edition)
Digital Signal Processing books:
Computer Design books:
6502,
6800,
6809,
8080,
8085,
Z80,
68000,
x86
processors on Wikipedia.
8051,
ARM,
AVR,
PIC,
RISC-V
microcontrollers on Wikipedia.
Electronics Reference books:
Historical books:
-----
-----
MAGAZINES
Current Electronics Magazines: (subscribe now)
Historical Electronics Magazines: (archives)
Historical Computer Magazines: (archives)
"Kilobaud"
-----
The Scientist & Engineer's Guide to Digital Signal Processing is a pretty decent book as a crash course. It covers the high level concepts in the first half and the hard core math at the very end.
In the middle there’s a chunk of stuff that’s very practical if you don’t have the time to learn all the math behind it. This is the stuff that I found most useful. It covered the various filters, why you would use one over the other, and basic implementations.
If you really want to learn DSP, a course might be useful but it all depends on what you want from it.
Any engineering job is going to have a significant amount of domain knowledge that is specific to that company's products, services, or research. Getting an engineering degree is just the beginning. Once you get a job at a company, you will need to learn a shit load of new terms, IP, history, and procedures that are specific to that company. It's the next level of your education, and will take years to fully assimilate. School doesn't teach you anywhere near enough to walk into most engineering jobs and be independently productive. You are there to learn as much as do. The senior engineers are your teachers and gaining their knowledge and experience is the key to building a successful career. You need to look at them as a valuable resource that you should be taking every opportunity to learn from. If you don't understand what they are saying, then ask, take notes, and do independent research to fill in your knowledge gaps. Don't just dismiss what they say as techo-babble.
!!!!!! TAKE THIS TO HEART !!!!! - The single biggest challenge you will have in your engineering career is learning how to work well with your peers, seniors, and managers. Interpersonal skills are ABSOLUTELY critical. Engineering is easy: Math, science, physics, chemistry, software, electronics.... all of that is a logical, and learnable, and a piece of cake compared to dealing with the numerous and often quirky personalities of the other engineers and managers. Your success will be determined by your creativity, productivity, initiative, and intelligence. Your failure will be determined by everyone else around you. If they don't like you, no amount of cleverness or effort on your part will get you ahead. Piss off your peers or managers, and you will be stepped on, marginalized, criticized, and sabotaged. It's the hard truth about the work world that they don't teach you in school. You aren't going anywhere without the support of the people around you. You are much more likely to be successful as a moron that everyone loves, than a genius that everyone hates. It sucks, but that's the truth.
You are the new guy, you have lots to learn, and that is normal and expected. It's going to be hard and frustrating for a while, but you will get the hang of it and find your footing. Learn as much as you can, and be appreciative for any help or information that you can get.
As for digitizing a signal, it is correct that you should stick with powers of 2 for a number of technical reasons. At the heart of the FFT algorithm, the signal processing is done in binary. This is part of the "Fast" in Fast Fourier Transforms. By sticking with binary and powers of 2, you can simply shift bits or drop bits to multiply or divide by 2, which is lightning fast for hardware. If you use non powers of 2 integers or fractional sampling rates, then the algorithm would need to do extensive floating point math, which can be much slower for DSPs, embedded CPUs, and FPGAs with fixed-point ALUs. It's about the efficiency of the calculations in a given platform, not what is theoretically possible. Power of 2 sample rates are much more efficient to calculate with integer math for almost all digital signal processing.
I highly recommend reading the book "The Scientist and Engineer's Guide to Digital Signal Processing" by Steven W. Smith. It is by far the best hand-holding, clearly-explained, straight-to-the-point, introductory book for learning the basics of digital signal processing, including the FFT.
You can buy the book from Amazon [here.] (https://www.amazon.com/Scientist-Engineers-Digital-Signal-Processing/dp/0966017633/ref=sr_1_1?ie=UTF8&qid=1492940980&sr=8-1&keywords=The+Scientist+and+Engineer%27s+Guide+to+Digital+Signal+Processing) If you can afford it, the physical book is great for flipping though and learning tons about different signal processing techniques.
Or you can download the entire book in PDF form legally for free here. The author is actually giving the book away for free in electronic form ( chapter by chapter ).
Chapter 12 covers FFTs.
Well, electronics is a huge field, and especially if you're going to get into software radio, basic fundamentals of amplifiers and modulation techniques is a must. Don't get discouraged though, internet is abound in information.
Here are some books that may help to start:
The Art of Electronics
Especially if you can get the used Cambridge Low Price Edition. Either way, it's a good book for fundamentals, a classic too.
This book is ok:
Communications Receivers
For general electronics knowledge, some undergrad EE textbooks are solid gold.
Here's one that's great:
Circuits, Devices and Systems
Edit:
Another excellent resource for folks dabbling in electronics are these free simulators:
Paul Falstad's Circuit Simulator
Hades
The above are great before one gets to dip into SPICE.
Personally, I found Oppenheim's text very dry and difficult to get through. I would recommend Lyons textbook.
There seems to be two approaches to learning DSP: the mathematically rigorous approach, and the conceptual approach. I think most university textbooks are the former. While I'm not going to understate the importance of understanding the mathematics behind DSP, it's less helpful if you don't have a general understanding of the concepts.
There are two books I can recommend that take a conceptual approach: The Scientist and Engineer's Guide to Digital Signal Processing, which is free. There's also Understanding Digital Signal Processing, which I've never seen a bad word about. It recently got its third edition.
Oppenheim & Schafer is the usual standard text, as others have said. However, it's pretty theory-intensive and may not be that much of an improvement over your current book, if you are looking for alternative explanations.
I'd say you should look at Lyons' Understanding Digital Signal Processing instead of O&S. Also the Steven Smith guide that mostly_complaints mentioned is very accessible. Between Smith and Lyons you will get most of the knowledge that you need to actually do useful DSP work, if not pass a test in it.
https://www.amazon.com/Understanding-Digital-Signal-Processing-3rd/dp/0137027419
There's probably a free pdf floating around somewhere on the net.
Understanding Digital Signal Processing by Richard Lyons is the best intro in my opinion:
http://www.amazon.com/gp/aw/d/0137027419/ref=mp_s_a_2?pi=54x75&qid=1344996249&sr=8-2
Teaches concepts without getting bogged down in the math details. Once you understand the concepts, get Oppenheim and Schafer to learn the dirty details.
The chapter on quadrature signals in this book is really good. It has some of the best illustrations of the concept that I have come across. The amazon link also lets you browse that chapter for free.
I found Rick Lyon's book a much easier read.
ARM is the best selling microprocessor in the world and has been for a long time. If I had to scavenge one, I could find dozens in my house alone. Simple embedded OS for ARM are easy to find (like in this book: https://www.amazon.com/Performance-Preemptive-Multitasking-Microprocessors-Microcontrollers/dp/0982337531/ref=pd_lpo_sbs_14_t_1?_encoding=UTF8&psc=1&refRID=J1YW00QQ6BKNPKY9WJJ1 ). I guess it would be easier to fab a Z80, but the giant amount of knowledge required to get to that point seems daunting to the point of impossible to me - I wouldn't begin to know how to recreate the conditions to grow a monocrystalline silicon ingot, the diamond saw blade to cut the crystal, the lithography gels, mask films, etc required to make even a Z80). I would much rather try to find another abandoned smart fridge or phone and pull the circuit board and repurpose it.
Lyon's book seems to be THE starting DSP book out there.
You could try DSP: Practical Approach Emmanuel C. Ifeachor, I used that book for my community college classes
http://www.amazon.ca/Digital-Signal-Processing-Practical-Approach/dp/0201596199
I liked Smith's book, because I am an engineer and scientist.
> You are wildly incorrect. Never before has a compression plugin been too fast for the sampling rate. A compressor would have to have an attack time of 0.00002267573 seconds for this to even make sense.
Compressors multiply the incoming signal by a time-varying gain signal; the total bandwidth of the ideal output signal is approximately the sum of the two. So if you have an input signal at 10kHz, any compression gain signal with a bandwidth over 12.05kHz will alias without additional oversampling in the compressor plugin, which not all plugin manufacturers implement. For any attack time below 1 millisecond, a 12.05kHz-bandlimited approximation of the compressor gain signal will look pretty terrible, but without bandlimiting of the gain signal, you'll get aliasing. Hence, the need for oversampling.
> Furthermore, there is plenty anti-aliasing filters built into DAWs and converters to prevent just the type of distortion you describe.
Anti-aliasing filters are used to prevent aliasing when you start from a higher sampling rate, whether that's infinity (analog) or for an oversampled signal. I don't see how building them into the DAW or an ADC/DAC do anything for the aliasing that occurs inside a plugin.
> You get no advantage bouncing at a higher sampling rate if your plugins over-sample.
And I heartily agree with you on this as can be seen in my original reply. Unfortunately, not all plugins over-sample.
> You have a very incorrect view of how digital audio functions. I highly recommend this book:
> https://www.amazon.com/Mastering-Audio-Science-Bob-Katz/dp/0240808371
> It goes into great detail about just how this sort of things work.
Thanks for the recommendation, but for the basics of digital audio, I instead recommend Oppenheim and Schafer's Discrete-Time Signal Processing for the mathematical theory as well as JOS's series of digital audio processing online books for more application-oriented concepts.
I would recommend Proakis or Mitra.
Links
www.dspguru.com
Videos
Oppenheimer's MIT Lectures
(http://ocw.mit.edu/resources/res-6-008-digital-signal-processing-spring-2011/video-lectures/)
Digital Filters I through V (Hamming Learning to Learn on Youtube)
Monty's Presentations http://www.xiph.org/video/
Books
Schaum's Digital Signal Processing (<= Recommended It's good and cheap.)
http://www.amazon.com/Schaums-Outline-Digital-Processing-Edition/dp/0071635092
Signals and System Made Easy
http://www.amazon.com/Signals-Systems-Made-Ridiculously-Simple/dp/0964375214
ftp://ftp.cefetes.br/cursos/EngenhariaEletrica/Hans/Sinais%20e%20Sistemas/ZIZI%20Press%20-%20Signals%20and%20Systems%20Made%20Ridiculously%20Simple.pdf
Discrete Time Signal Processing
http://www.amazon.com/Discrete-Time-Signal-Processing-Edition-Prentice/dp/0131988425/
Discrete Time Signal Processing (Older version I used in school)
http://www.amazon.com/Discrete-Time-Signal-Processing-Edition-Prentice-Hall/dp/0137549202/
DSP using MATLAB
http://www.amazon.com/Digital-Signal-Processing-Using-MATLAB/dp/1111427372/
Digital Signal Processing Prokais
(Similar to Oppenheimer book, but found it clearer in some instances from what I remember. )
http://www.amazon.com/Digital-Signal-Processing-4th-Edition/dp/0131873741/
Books I've seen around
Understanding Digital Signal Processing
http://www.amazon.com/Understanding-Digital-Signal-Processing-Edition/dp/0137027419/
Scientist-Engineers-Digital-Signal-Processing
http://www.amazon.com/Scientist-Engineers-Digital-Signal-Processing/dp/0966017633/
http://www.dspguide.com
It kind of sounds like you'd be good just getting a textbook. I think any book will be fine since you mainly just want questions (and presumably answers), but try to find one that implements code in a language that you're comfortable with, or that you want to learn.
There are a lot of different "final year" DSP courses, but it sounds like you want something covering the fundamentals rather than anything too advanced. I started off with The Scientist & Engineer's Guide to Digital Signal Processing and then used Signals and Systems for my first undergraduate course, but we used it largely because he co-authored it. I would recommend scouring the web for some free books though. There are books like ThinkDSP popping up that seem pretty neat.
Edit: Oppenheim is always mentioned also.
Software dev checking in. If you want to go into plugin design, make sure you read books like The Scientist And Engineer's Guide to Digital Signal Processing, and have a heavy focus on algorithms, physics, and matrix math.
There are SDKs and APIs to help though. The Steinberg VST SDK is how VST plugins are made, and it removes a lot of the underlying math that you need to know. Writing multi-threaded C code with a library like OpenMP will also help, as you plugins will be more efficient, resulting in less latency.
Not sure what your budget is (buy used books or South Asia editions), but you may find the following useful :-)
Also, unless required, avoid programming in assembly but use C/C++ exclusively. This allows you to carry over much of your acquired knowledge across various MCU families.
and finally;
I'll go with a1k0n here, IIRs are the way to go, unless you want to start implementing really long filters. A 3rd-order FIR has very poor attenuation in the stopband compared to a 3rd-order IIR. The only drawback of IIRs is that they have non-linear phase response, but I guess in audio work it's not that crucial.
For playing around with digital filter design I strongly recommend Matlab's signal processing toolbox. If you don't have access to that, Octave has an implementation of pretty much all the functions in SPT and is free. With it you can do the whole filter design in digital domain, which is a lot easier for experimentation.
And to accompany Matlab-DSP-coding I'd strongly recommend Digital Signal Processing by Mitra. It's got all the basic theory plus a lot of examples in Matlab (all of which should also work with Octave); it doesn't specifically address audio signal processing, but understanding the basics will get you a long way.
Looking for INSTRUCTION SOLUTION MANUAL this textbook
Can pay $10 via paypal. Please don't pm me if you have the ebook, I'm not looking for the ebook, am looking for the instructor solution manual. Thanks
Understanding DSP by Lyons, hands down. Get it and never look back. AWESOME book. http://www.amazon.com/Understanding-Digital-Signal-Processing-Edition/dp/0137027419
If you're really serious about getting into DSP quick, get this book and download Octave, or use your campus MATLAB license if you're a college student.
And grab Oppenheim as a reference.
Or just spend five minutes learning how to implement a moving average filter, bookmark a Parks-McClellan tool like this one, and you'll be set for 80% of common 1D DSP applications :)
The fact that you mentioned that it'd be cool to work on a DAW tells me that you want to go low level. What you want to study is digital signal processing or DSP. I recommend Understanding Digital Signal Processing. Also watch This talk by Timur Doumler. Or anything by him. I recommend that you pick a programming language and try to output a sin wave to the speakers, then go on from there.
Also check those out:
https://theaudioprogrammer.com/
https://jackschaedler.github.io/circles-sines-signals/
https://blog.demofox.org/#Audio
&#x200B;
Good luck.
If you are interested in h.264 and other modern formats, then a great intro to the math behind the encoding is A Wavelet Tour of Signal Processing, Third Edition: The Sparse Way. If you've done a reasonable amount of calculus, you'll find it very approachable.
Understanding Digital Signal Processing EET400,401 Electronics and Computer Engineering Bachelors Degree
I personally like The Scientist & Engineer's Guide to Digital Signal Processing . The author explains a lot of concepts very clearly in laymen terms. I think the only flaw is that it doesn't cover a ton of material, only the basics.
Other than that, I think Mitra is a good book. One thing to look out for is its errata list. It's somewhat frustrating to have to double check for errors in the book when working homework problems.
Get Rick Lyons' book, he makes the math easy.
https://www.amazon.ca/Understanding-Digital-Signal-Processing-3rd/dp/0137027419
Will Pirkle’s new edition of Designing Audio Effect Plugins in C++ is a great introduction to both DSP and plugin programming. I can’t recommend it enough!
The best way to learn Max is kind of a tricky subject and I'm sure the other people on here would be able to suggest some more ways, but here are a few that have helped me out:
Here are a few books that have helped me out in the past:
Art of Electronics is an interesting read, but it's almost more of a history lesson at this point. The digital electronics section is really showing its age. And the pages of op-amps are all obsolete and long outdone by modern day parts.
The fact is, no one builds electronics anymore in the way that Art of Electronics presents it. Most systems are now built on the ADC->DSP->DAC model rather than some complicated analog control circuit made from vintage opamps.
I think you'd do better with a modern embedded systems book, like this one.
Unfortunately, there is not one single good reference for analog circuits. Analog circuits are so application specific that they are almost always integrated with the physical sensors (antenna, microphone, accelerometer, etc.) at the package or die level. The exception is power amplifiers. These are often impractical to integrate with digital and small signal analog circuits due to their high power dissipation. You can learn quite a bit about analog circuits by messing around with audio circuits. If you're interested, I'd check out this book.
Although not specifically targeting FPGAs, “Understanding DSP” by Richard Lyons is very good. Very readable.
https://www.amazon.com/dp/0137027419/ref=cm_sw_r_cp_awdb_t1_FQ4ZCbSRHV7QQ
Thanks for the great reply!
The Lessons In Electric Circuits was already on my radar, and I believe will be the first resource in electronics I go through after hearing it beat in my head yet again!
That DSP book I have not seen. I just grabbed a copy and it looks like a great text. I mentioned this post to a fellow electronics enthusiast and he loaned me a copy of a book he said was exceptional for entry into the world of DSP: http://www.amazon.com/Understanding-Digital-Signal-Processing-3rd/dp/0137027419/ DSP is pretty complex, More than likely I will go through both to fully absorb this topic.
EMRFD sounds like a cookbook. Given that its by ARRL I expect its quality to be superb. I am not against these type of text, I have a few already, however I'd rather have more of the theory at this point. I imagine this will be great once I am satisified with the basics, and want to build an actual radio with its operation noted.
This is the DSP book: Understanding Digital Signal Processing by Lyons. It's actually quite readable.
Schaum's Outlines are handy for having solutions to their problems. https://www.amazon.com/Schaums-Outline-Digital-Processing-Outlines/dp/0071635092?ie=UTF8&amp;*Version*=1&amp;*entries*=0
I think The Scientist and Engineer's Guide to Digital Signal Processing and Understanding Digital Signal Processing and generally considered the most accessible introductions. I've gotten more mileage out of Understanding DSP; I feel like it goes into a little more detail and really works to walk you through concepts, step by step.
http://www.dspguide.com/pdfbook.htm
https://www.amazon.com/Understanding-Digital-Signal-Processing-3rd/dp/0137027419
Aside from searching out good learning resources, IMO nothing is more helpful for learning than setting up your environment with Matlab, Jupyter notebooks, or whatever you're going to use, and getting comfortable with the tools you'll be using to explore these topics.
James McClellan's DSP First: A Multimedia Approach is a great beginner book on DSP, along with his follow-up Signal Processing First.
Yes, the same James McClellan of Parks-McClellan fame.
I found the suggested text, Digital Signal Processing, to be pretty helpful.
Hands down, no question, I would recommend Richard Lyons' book FIRST.