What is Digital Signal Processing?
To understand what is Digital Signal Processing (DSP) let’s examine what does each of its words mean. “Signal” is any physical quantity that carries information. “Processing” is a series of steps or operations to achieve a particular end. It is easy to see that Signal Processing is used everywhere to extract information from signals or to convert information-carrying signals from one form to another. For example, our brain and ears take input speech signals, and then process and convert them into meaningful words. Finally, the word “Digital” in Digital Signal Processing means that the process is done by computers, microprocessors, or logic circuits.
The field DSP has expanded significantly over that last few decades as a result of rapid developments in computer technology and integrated-circuit fabrication. Consequently, DSP has played an increasingly important role in a wide range of disciplines in science and technology. Research and development in DSP are driving advancements in many high-tech areas including telecommunications, multimedia, medical and scientific imaging, and human-computer interaction.
To illustrate the digital revolution and the impact of DSP, consider the development of digital cameras. Traditional film cameras mainly rely on physical properties of the optical lens, where higher quality requires bigger and larger system, to obtain good images. When digital cameras were first introduced, their quality were inferior compared to film cameras. But as microprocessors become more powerful, more sophisticated DSP algorithms have been developed for digital cameras to correct optical defects and improve the final image quality. Thanks to these developments, the quality of consumer-grade digital cameras has now surpassed the equivalence in film cameras. As further developments for digital cameras attached to cell phones (cameraphones), where due to small size requirements of the lenses, these cameras rely on DSP power to provide good images. Essentially, digital camera technology uses computational power to overcome physical limitations. We can find the similar trend happens in many other applications of DSP such as digital communications, digital imaging, digital television, and so on.
In summary, DSP has foundations on Mathematics, Physics, and Computer Science, and can provide the key enabling technology in numerous applications.
Overview of Key Concepts in Digital Signal Processing
The two main characters in DSP are signals and systems. A signal is defined as any physical quantity that varies with one or more independent variables such as time (one-dimensional signal), or space (2-D or 3-D signal). Signals exist in several types. In the real-world, most of signals are continuous-time or analog signals that have values continuously at every value of time. To be processed by a computer, a continuous-time signal has to be first sampled in time into a discrete-time signal so that its values at a discrete set of time instants can be stored in computer memory locations. Furthermore, in order to be processed by logic circuits, these signal values have to be quantized in to a set of discrete values, and the final result is called a digital signal. When the quantization effect is ignored, the terms discrete-time signal and digital signal can be used interchangeability.
In signal processing, a system is defined as a process whose input and output are signals. An important class of systems is the class of linear time-invariant (or shift-invariant) systems. These systems have a remarkable property is that each of them can be completely characterized by an impulse response function (sometimes is also called as point spread function), and the system is defined by a convolution (also referred to as a filtering) operation. Thus, a linear time-invariant system is equivalent to a (linear) filter. Linear time-invariant systems are classified into two types, those that have finite-duration impulse response (FIR) and those that have an infinite-duration impulse response (IIR).
A signal can be viewed as a vector in a vector space. Thus, linear algebra provides a powerful framework to study signals and linear systems. In particular, given a vector space, each signal can be represented (or expanded) as a linear combination of elementary signals. The most important signal expansions are provided by the Fourier transforms. The Fourier transforms, as with general transforms, are often used effectively to transform a problem from one domain to another domain where it is much easier to solve or analyze. The two domains of a Fourier transform have physical meaning and are called the time domain and the frequency domain.
Sampling, or the conversion of continuous-domain real-life signals to discrete numbers that can be processed by computers, is the essential bridge between the analog and the digital worlds. It is important to understand the connections between signals and systems in the real world and inside a computer. These connections are convenient to analyze in the frequency domain. Moreover, many signals and systems are specified by their frequency characteristics.
Because any linear time-invariant system can be characterized as a filter, the design of such systems boils down to the design the associated filters. Typically, in the filter design process, we determine the coefficients of an FIR or IIR filter that closely approximates the desired frequency response specifications. Together with Fourier transforms, the z-transform provides an effective tool to analyze and design digital filters.
In many applications, signals are conveniently described via statistical models as random signals. It is remarkable that optimum linear filters (in the sense of minimum mean-square error), so called Wiener filters, can be determined using only second-order statistics (autocorrelation and crosscorrelation functions) of a stationary process. When these statistics cannot be specified beforehand or change over time, we can employ adaptive filters, where the filter coefficients are adapted to the signal statistics. The most popular algorithm to adaptively adjust the filter coefficients is the least-mean square (LMS) algorithm.