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.

Next page

Top Reddit comments about Computer Hardware DSPs:

u/Enlightenment777 · 42 pointsr/ECE

-----
-----

BOOKS


Children Electronics and Electricity books:

u/wheeman · 25 pointsr/ECE

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.

u/DeepMusing · 23 pointsr/engineering

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.



u/sheepson_apprentice · 12 pointsr/programming

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.

u/Atkrista · 9 pointsr/ECE

Personally, I found Oppenheim's text very dry and difficult to get through. I would recommend Lyons textbook.

u/waaaaaahhhhh · 7 pointsr/ECE

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.

u/NoahFect · 5 pointsr/ECE

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.

u/superflygt · 5 pointsr/DSP

https://www.amazon.com/Understanding-Digital-Signal-Processing-3rd/dp/0137027419

There's probably a free pdf floating around somewhere on the net.

u/jamesonchampagne · 3 pointsr/DSP

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.

u/apcragg · 3 pointsr/RTLSDR

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.

u/lerpanerp · 3 pointsr/DSP

I found Rick Lyon's book a much easier read.

u/Synthwoven · 3 pointsr/collapse

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.

u/Technologist_EE · 3 pointsr/ECE

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

u/naroom · 3 pointsr/DSP

I liked Smith's book, because I am an engineer and scientist.

u/hightrancesea · 3 pointsr/audioengineering

> 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.

u/xavier_505 · 3 pointsr/DSP

I would recommend Proakis or Mitra.

u/maredsous10 · 2 pointsr/ECE

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


u/albatrossy · 2 pointsr/DSP

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.

u/mitchell271 · 2 pointsr/audioengineering

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.

u/Truth_Be_Told · 2 pointsr/embedded

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.

  • Make: AVR Programming This will teach you programming directly-to-the-metal on AVR using C. If you have the Arduino IDE installed, you already have the "avr-gcc" compiler toolchain as part of the package and hence you just need to setup your path and use the the toolchain in your Makefile. The book takes you by hand and shows you everything. Note that you can use the same Arduino board to do both "Arduino language" programming and "AVR C" programming.

  • Designing Embedded Hardware Excellent overview of the hardware aspects of Embedded Systems. As a Software guy, this book is the one which clarified hardware for me.

  • Building Embedded Systems: Programmable Hardware A very good book on all practical aspects of embedded programming. Hard-won knowledge which will make you a "professional" embedded engineer.

  • Introduction to Embedded Systems: Using Microcontrollers and the MSP430 Excellent and comprehensive textbook detailing the hardware and software aspects of embedded systems. Every topic starts with an illustrated overview of the hardware and then shows you how to program for it.

  • Embedded C Introductory book on C programming for 8051. The example code is simple and direct thus enabling you to grasp the concepts clearly.

  • Patterns for Time-Triggered Embedded Systems Comprehensive and full of C code showing how to program all standard peripherals for an 8051. You can translate the code to your favourite MCU family. The book is available for free from the author's company website.

  • ARM System Developer's Guide An oldie but still the best for firmware programming on the ARM microprocessor.

  • Practical Microcontroller Engineering with ARM technology An exhaustive book on programming the Tiva version of the ARM Cortex-M4 MCU. The book reads like a manual but the ARM Cortex is complex enough that there is no easy way to learn it.

  • The Engineering of Reliable Embedded Systems Advanced book showing how to implement industrial quality embedded software on various ARM platforms. The 1st edition of the book was available for free on the web.

    and finally;

  • Computer Systems: A Programmer's Perspective A must-read textbook to understand the low-level details for a x86/x86-64 system. Many of these details are similar for MCUs and hence you will understand them better.
u/attekojo · 2 pointsr/coding

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.

u/dankbuckeyes · 2 pointsr/slavelabour

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

u/washerdreier · 2 pointsr/DSP

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

u/[deleted] · 2 pointsr/programming

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 :)

u/cbrpnk · 2 pointsr/AskProgramming

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

​

Good luck.

u/cabbagerat · 2 pointsr/compsci

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.

u/Sean_Michael · 2 pointsr/EngineeringStudents

Understanding Digital Signal Processing EET400,401 Electronics and Computer Engineering Bachelors Degree

u/Hello_Dongan · 2 pointsr/DSP

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.

u/rmurias · 2 pointsr/DSP
u/Hashbrownington · 1 pointr/DSP

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!

u/eljuantornor · 1 pointr/MaxMSP

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:

  1. Read the built-in tutorials. They're listed under the Help section as Max tutorials, MSP tutorials, and Jitter tutorials. In case you don't know, Max deals with data and was primarily designed to handle interactions with MIDI. It's grown to encompass more data structures, but MIDI is where it really shines. I'd recommend doing this one first to get a feel for what Max is all about. MSP is audio rate processing and the kind of thing that you're doing now. Jitter is all about matrix operations (linear algebra if you have any experience with that) and is primarily used for processing video and images, though there's a lot of really awesome stuff that you can do with audio from Jitter.
  2. Watch some of the Delicious tutorials on YouTube. Some of them might be more advanced, but they're really helpful and he teaches you how to make some really awesome stuff. From what I know of the guy that makes them, he has some really impressive credentials.
  3. Get ideas for projects and hack them together. One of the more fun things about Max is that there are many ways to solve the same problem. Having the ability to go from idea to prototype to working implementation is really useful when you start using Max in a professional (whatever that word means in this context) setting. The ideas can be something like a simple synthesizer, a looping pedal, or an audio effect. Something a friend of mine and I used to do was to pick an audio pluggin that we liked and try to replicate it in Max.
  4. Pick a topic to focus on and do a few projects in that vein. There are so many different things that you can do with Max that it's worthwhile to get really good at a particular topic. You might want to only build synths for a while. Or, you might be more of an effect guy/girl. Max will do both really well and a bunch of other things too.
  5. Solve programming puzzles in Max. Remembering that Max is a programming language, try and solve some common programming puzzles that people normally use to learn other programming languages. A quick google search should reveal quite a few of them, but a few more simple ones would be something like getting the Nth Fibonnacci number or reversing a string. Not all of these exercises would be of benefit, but doing a few will really give you a sense of how data flows in Max and what it does well versus what it does badly. For instance, passing numbers around in Max is really easy while dealing with strings can be a real hassle at first.
  6. This one isn't Max specific, but if you don't already have it, get a grasp on the basic concepts of electronic music and digital signal processing (at least as it relates to audio). Learn about the different forms of audio synthesis such as additive, subtractive, and granular. Learn how sound is represented in the computer. Learn about the basics of filters and what they do to sound. Learn how to implement common audio effects using basic DSP building blocks such as filters and delays. Getting a firm grounding in this kind of stuff will keep you from being what a I refer to as a "knob-twittler electronic musician" or someone who just blindly twists knobs on a synth until something sounds good. Note that there's nothing wrong with this approach and there are many good musicians who make beautiful art with it. But, as Morton Subotnick is fond of pointing out, this approach leaves you completely at the mercy of the people who build the tools that you are using. Max is about a different paradigm, one in which you build your own tools.

    Here are a few books that have helped me out in the past:

u/youbetterdont · 1 pointr/ECE

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.

u/fr3nch13 · 1 pointr/FPGA

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

u/necr0tik · 1 pointr/amateurradio

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.

u/kwaddle · 1 pointr/DSP

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.

u/goodgnu · 1 pointr/ECE

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.

u/lobsters_upon_you · 1 pointr/UIUC

I found the suggested text, Digital Signal Processing, to be pretty helpful.

u/Ayakalam · 1 pointr/DSP

Hands down, no question, I would recommend Richard Lyons' book FIRST.