DSP Software Development Techniques for Embedded and Real-Time Systems
eBook - ePub

DSP Software Development Techniques for Embedded and Real-Time Systems

Robert Oshana

Share book
  1. 608 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

DSP Software Development Techniques for Embedded and Real-Time Systems

Robert Oshana

Book details
Book preview
Table of contents
Citations

About This Book

Today's embedded and real-time systems contain a mix of processor types: off-the-shelf microcontrollers, digital signal processors (DSPs), and custom processors. The decreasing cost of DSPs has made these sophisticated chips very attractive for a number of embedded and real-time applications, including automotive, telecommunications, medical imaging, and many othersā€”including even some games and home appliances. However, developing embedded and real-time DSP applications is a complex task influenced by many parameters and issues. DSP Software Development Techniques for Embedded and Real-Time Systems is an introduction to DSP software development for embedded and real-time developers giving details on how to use digital signal processors efficiently in embedded and real-time systems. The book covers software and firmware design principles, from processor architectures and basic theory to the selection of appropriate languages and basic algorithms. The reader will find practical guidelines, diagrammed techniques, tool descriptions, and code templates for developing and optimizing DSP software and firmware. The book also covers integrating and testing DSP systems as well as managing the DSP development effort.

  • Digital signal processors (DSPs) are the future of microchips!
  • Includes practical guidelines, diagrammed techniques, tool descriptions, and code templates to aid in the development and optimization of DSP software and firmware

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on ā€œCancel Subscriptionā€ - itā€™s as simple as that. After you cancel, your membership will stay active for the remainder of the time youā€™ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlegoā€™s features. The only differences are the price and subscription period: With the annual plan youā€™ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, weā€™ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is DSP Software Development Techniques for Embedded and Real-Time Systems an online PDF/ePUB?
Yes, you can access DSP Software Development Techniques for Embedded and Real-Time Systems by Robert Oshana in PDF and/or ePUB format, as well as other popular books in Technology & Engineering & Electrical Engineering & Telecommunications. We have over one million books available in our catalogue for you to explore.
1

Introduction to Digital Signal Processing

What is Digital Signal Processing

Digital signal processing (DSP) is a method of processing signals and data in order to enhance or modify those signals, or to analyze those signals to determine specific information content. It involves the processing of real-world signals that are converted into and represented by sequences of numbers. These signals are then processed using mathematical techniques in order to extract certain information from the signal or to transform the signal in some (preferably beneficial) way.
The ā€œdigitalā€ term in DSP requires processing using discrete signals to represent the data in the form of numbers that can be easily manipulated. In other words, the signal is represented numerically. This type of representation implies some form of quantization of one or more properties of the signal, including time.
This is just one type of digital data; other types include ASCII numbers and letters.
The ā€œsignalā€ term in DSP refers to a variable parameter. This parameter is treated as information as it flows through an electronic circuit. The signal usually1 starts out in the analog world as a constantly changing piece of information. Examples of real world signals include:
ā€¢ air temperature
ā€¢ sound
ā€¢ humidity
ā€¢ speed
ā€¢ position
ā€¢ flow
ā€¢ light
ā€¢ pressure
ā€¢ volume
The signal is essentially a voltage that varies among a theoretically infinite number of values. This represents patterns of variation of physical quantities. Other examples of signals are sine waves, the waveforms representing human speech, and the signals from a conventional television camera. A signal is a detectable physical quantity. Messages or information can be transmitted based on these signals.
A signal is called one-dimensional (1-D) when it describes variations of a physical quantity as a function of a single independent variable. An audio/speech signal is one-dimensional because it represents the continuing variation of air pressure as a function of time.
Finally, the ā€œprocessingā€ term in DSP relates to the processing of data using software programs as opposed to hardware circuitry. A digital signal processor is a device or a system that performs signal processing functions on signals from the real (analog) world using primarily software programs to manipulate the signals. This is an advantage in the sense that the software program can be changed relatively easily to modify the performance or behavior of the signal processing. This is much harder to do with analog circuitry.
Since DSPs interact with signals in the environment, the DSP system must be ā€œreactiveā€ to the environment. In other words, the DSP must keep up with changes in the environment. This is the concept of ā€œreal-timeā€ processing and we will talk about it shortly.

A Brief History of Digital Signal Processing

Some of the first digital signal processing solutions were TTL2 medium scale integration (MSI) silicon chips. Up to 100 of these chips were used to form cascadable ALU sections and standalone multipliers. These early systems were large, expensive and hot.
The first single-chip DSP solution appeared in 1982. This was the TMS32010 DSP from Texas Instruments. NEC came out with the uPD7720 not long after. These processors had performance close to 5 MIPS3. These early single-chip solutions had very small RAM memory and sold for about $6004 These solutions were able to reduce overall system chip count, as well as provide lower power requirements and more reliable systems due to reduced manufacturing complexity and cost. Most of these DSPs used NMOS technology5
As the market for DSP devices continued to grow, vendors began adding more integration, as well as internal RAM, ROM, and EPROM. Advanced addressing functionality including FFT bit-reversed addressing and circular buffer addressing were developed (these are two common DSP-centric addressing modes and will be discussed in more detail later). Serial ports for fast data transfer were added. Other architectural enhancements to these second generation devices included timers, direct memory access (DMA) controllers, interrupt systems including shadow registers, and integrated analog-to-digital (ADC), and digital-to-analog (DAC) converters.
Floating-point DSPs were introduced in 1988. The DSP32 was introduced by AT&T. The Texas Instruments TMS320C30 was introduced during the same time period. These devices were easier to program and provided features such as automatic scaling. Because of the larger silicon area to support the floating-point architecture, these devices cost more than the traditional fixed-point processors. They also used more power and tended to be lower in processing speed.
In the early 1990s, parallel processing DSP support began to emerge. Single processor DSPs with advanced communication support, such as the Texas Instruments TMS320C40, appeared. Multiple processing elements were designed into a single integrated circuit (such as the TMS320C80).
Today, there are many advanced DSP architecture styles. We will be studying several of them in this book. Architectural advances have included multiple functional units, very long instruction word (VLIW) architectures, and specialized functional units to perform specific tasks very quickly (such as echo cancellation in a cell phone).

Advantages of DSP

There are many advantages of using a digital signal processing solution over an analog solution. These include:
ā€¢ Changeability āˆ’ It is easy to reprogram digital systems for other applications or to fine tune existing applications. A DSP allows for easy changes ...

Table of contents