We can look upon a Digital Signal Processing (DSP) System to be any electronic system making use of digital signal processing. Our informal definition of digital signal processing is the application of mathematical operations to digitally represent signals. Signals are represented digitally as sequences of samples. Often, these samples are obtained from physical signals (for example, audio signals) through the use of transducers (such as microphones) and analog-to-digital converters. After mathematical processing, digital signals may be converted back to physical signals via digital to analog converters.
In some systems, the use of DSP is central to the operation of the system. For example, modems and digital cellular phones or the so-called smartphones rely very heavily on DSP technology. In other products, the use of DSP is less central, but often offers important competitive advantages in terms of features, power/performance and price. For example, manufacturers of primarily analog consumer electronics devices like audio amplifiers are employing DSP technology to provide new features.
In this little article, a high level overview of digital signal processing is presented. We first discuss the advantages of DSP over analog systems. We then describe some salient features and characteristics of DSP systems in general. We conclude with a brief look at some important classes of DSP applications.
1.1) Advantages of DSP
Digital signal processing enjoys several advantages over analog signal processing. The most significant of these is that DSP systems are able to accomplish tasks inexpensively that would be difficult or even impossible using analog electronics. Examples of such applications include speech synthesis, speech recognition, and high-speed modems involving error-correction coding. All of these tasks involve a combination of signal processing and control (example, making decisions regarding received bits or received speech) that is extremely difficult to implement using analog techniques.
DSP systems also enjoy two additional advantages over analog systems.
- Insensitivity to environment: Digital systems, by their very nature, are considerably less sensitive to environmental conditions than analog systems. For example, an analog circuits behaviour depends on its temperature. In contrast, barring catastrophic failures, a DSP system’s operation does not depend on its environment — whether in the snow or in the desert, a DSP system delivers the same response.
- Insensitivity to component tolerances: Analog components are manufactured to particular tolerances — a resistor, for example, might be guaranteed to have a resistance within a one percent of its nominal value. The overall response of an analog system depends on the actual values of all of the analog components used. As a result, two analog systems of exactly the same design will have slightly different responses due to slight variations in their components. In contrast, correctly functioning digital components always produce the same outputs given the same inputs.
These two advantages combine synergestically to give DSP systems an additional advantage over analog systems:
- Predictable, repeatable behaviour. Because a DSP system’s output does not vary due to environmental factors or component variations, it is possible to design systems having exact, known responses that do not vary.
Finally, some DSP systems may also have two other advantages over analog systems.
- Reprogrammability. If a DSP system is based on programmable processors, it can be reprogrammed — even in the field — to perform other tasks. In contrast, analog systems require physically different components to perform different tasks.
- Size: The size of analog components varies with their values, for example, a 100 microFarad capacitor used in an analog filter is physically larger than a 10 picoFarad capacitor used in a different analog filter. In contrast, DSP implementations of both filters might well be the same size — indeed, might even use the same hardware, differing only in their filter coefficients — and might be smaller than either of the two analog implementations.
These advantages, coupled with the fact that DSP can take advanrage of denser and denser VLSI systems manufacturing process, increasingly make DSP the solution of choice for signal processing.
1.2) Characteristics of DSP Systems:
In this section, we describe a number of characteristics common to all DSP systems, such as algorithms, sample rate, clock rate and arithmetic type.
DSP systems are often characterized by the algorithms. The algorithm specifies the arithmetic operations to be performed, but does not specify how that arithmetic is to be implemented. It might be implemented in software on an ordinary microprocessor or programmable signal processor, or it might be implemented in custom IC. The selection of an implementation technology is determined in part by the required speed and arithmetic precision. The table given below lists some common types of DSP algorithms and some applications in which they are typically used.
Table 1-1: Common DSP algorithms and typical applications
A key characteristic of a DSP system is its sample rate: the rate at which samples are consumed, produced, or processed. Combined with the complexity of the algorithms, the sample rate determines the required speed of the implementation technology. A familiar example is the digital audio compact disc (CD) player, which produces samples at a rate of 44.1 kHz on two channels.
Of course, a DSP system may use more than one sample rate; such systems are said to be multirate DSP systems. An example is a converter from the CD sample rate of 44.1 kHz to the digital audio tape (DAT) rate of 48 kHz. Because of the awkward ratio between these sample rates, the conversion is usually done in stages, typically with at least two intermediate sample rates. Another example of a multirate algorithm is a filter bank, used in applications such as speech, audio, and video encoding and some signal analysis algorithms. Filter banks, typically consist of stages that divide the signal into high and low frequency portions. These new signals are then downsampled and divided again. In multirate applications, the ratio between the highest and the lowest sample rates in the system can become quite large, sometimes exceeding 100,000.
The range of sample rates encountered in signal processing systems is huge. Roughly speaking, sample rates for applications range over 12 orders of magnitude. Only at the very top of that range is digital implementation rare. This is because the cost and difficulty of implementing a given algorithm digitally increases with the sample rate. DSP algorithms used at higher sample rates tend to be simpler than those at lower sample rates.
Many DSP systems must meet extremely rigorous speed goals, since they operate on lengthy segments of real world signals in real time. Where other kinds of systems (like databases) may be required to meet performance goals on an average, real time DSP systems often must meet such goals in every instance. In such systems, failure to maintain the necessary processing rates is considered a serious malfunction. Such systems are often said to be subject to hard real time constraints. For example, let’s suppose that the compact disc to digital audio tape sample rate converter discussed above is to be implemented as a real-time system, accepting digital signals at the CD sample rate of 44.1 kHz and producing digital signals at the DAT sample rate of 48 kHz. The converter must be ready to accept a new sample from the CD source every 22.6 microseconds and must produce a new output sample for the DAT device every 20.8 microseconds. If the system ever fails to accept or produce a sample rate on this schedule, data are lost and the resulting output signal is corrupted. The need to meet such hard real-time constraints creates special challenges in the design and debugging of real-time DSP systems.
Digital electronic systems are often characterized by their clock rates. The clock rate usually refers to the rate at which the systems performs its most basic unit of work. In mass-produced commercial products, clock rates of up to 100 MHz are common, with faster rates found in some high-performance products. For DSP systems, the ratio of system clock rate to sample rate is one of the most important characteristics used to determine how the system will be implemented. The relationship between the clock rate and the sample rate partially determines the amount of hardware needed to implement an algorithm with a given complexity in real-time. As the ratio of sample rate to clock rate increases, so does the amount and complexity of hardware required to implement the algorithm.
Arithmetic operations such as addition and multiplication are at the heart of DSP algorithms and systems. As a result, the numeric representations and type of arithmetic used can have a profound influence on the behaviour and performance of a DSP system. The most important choice for the designer is between fixed point and floating point arithmetic. Fixed point arithmetic represents numbers in a fixed range (example, -1.0 to +1.0) with a finite number of bits of precision (called the word width). For example, an eight bit fixed point number provides a resolution of of the range over which the number is allowed to vary. Numbers outside of the specified range cannot be represented; arithmetic operations that would result in a number outside this range either saturate (that is, are limited to the largest positive or negative representable value) or wrap around (that is, the extra bits from the arithmetic operation are discarded).
Floating point arithmetic greatly expands the representable range of values. Floating point arithmetic represents every number in two parts: a mantissa and an exponent. The mantissa is, in effect, forced to lie between -1.0 and +1.0, while the exponent keeps track of the amount by which the mantissa must be scaled (in terms of powers of two) in order to create the actual value represented. That is,
Floating point arithmetic provides much greater dynamic range (that is,, the ratio between the largest and smallest values that can be represented) than the fixed point arithmetic. Because it reduces the probability of overflow and the necessity of scaling, it can be considerably simplify algorithm and software design. Unfortunately, floating point arithmetic is generally slower and more expensive than fixed point arithmetic, and is more complicated to implement in hardware than fixed point arithmetic.
Classes of DSP Applications.
Digital signal processing, in general, and DSP processors in particular, are used in an extremely diverse range of applications, from radar systems to consumer electronics. Naturally, no one processor can meet the needs of all or even most applications. Therefore, the first task for the designer selecting a DSP processor is to weigh the relative importance of performance, price, power consumption, integration, ease of development, and other factors for the application at hand. Here, we briefly touch on the needs of just a few categories of DSP applications.
Low cost embedded systems.
The largest applications (in terms of dollar volume) for digital signal processors are inexpensive, high-volume embedded systems, such as cellular telephones, disk drives (where DSP’s are used for servo control) and modems. In these applications, cost and integration considerations are paramount. For portable, battery operated products, power consumption is also critical. In these high volume, embedded applications, performance and ease of development considerations are often given less weight, even though these applications usually involve the development of software to run on the DSP and custom hardware that interfaces with the DSP.
High Performance Applications
Another class of important applications is involving processing large volumes of data with complex algorithms for specialized needs. This includes uses like sonar and seismic explorations, where production volumes are lower, algorithms are more demanding, and product designs are larger and more complex. As a result, designers favour processors with maximum performance, ease of use, and support for multiprocessor configurations. In some cases, rather than designing their own hardware and software from scratch, designers of these systems assemble systems using standard development boards and ease their software development tasks by using existing software libraries.
Personal Computer Based Multimedia.
Another class of applications is PC based multimedia functions. Increasingly, PCs are incorporating DSP processors to provide such varied capabilities as voice mail, data and fax modems, music and speech synthesis, and image compression. For example, Software Defined Radios (SDR’s ) and also, smartphones. As with other high-volume embedded applications, PC multimedia also demands high performance, since a DSP processor in a multimedia PC may be called on to perform multiple functions simultaneously. In addition to performing each function efficiently, the DSP processor must have the ability to efficiently switch between functions. Memory capacity may also be an issue in these applications, because many multimedia applications require the ability to manipulate large amounts of data.
There has also been a trend to incorporate DSP like functions into general purpose processors to better handle signal processing tasks. In some cases, such augmented microprocessors may be able to handle certain tasks without the need of a separate DSP processor. However, I think the use of a separate general purpose processor (like ARM for control purposes in a smartphone) and DSP processors has much offer and will continue to be the dominant implementation of PC or SDR or smartphone based multimedia for some time to come.