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