| |
DSPower-Block Diagram software was a Signalogic DSP tool product in the 1990s
|
|
In the early days of DSP, it was enough to generate run-time code from diagrams. Over time, as embedded software became more powerful -- concurrent threads, asynchronous data transfers, highly complex
algorithms -- a diagrammatic interface was no longer sufficient
|
Historical DSP Applications
Note: In the DSP theory and background explanations below, some material is Copyright © 1996-1999 from the
Motorola website,
some material is Copyright © 1996-1999 from the
Texas Instruments website, and some is Copyright © 1991-1999 from the Hypersignal Users Guide.
What is DSP?
In the strict sense of the term, digital signal processing refers to the electronic processing
of signals such as sound, radio, and microwaves. In practice, the same characteristics that
make Digital Signal Processors (DSPs) good at handling signals make them suitable for
many other purposes, such as high-quality graphics processing and engineering simulations.
DSPs are essentially fast number-crunchers which also happen to be small, fairly low-cost,
and with fairly low-power consumption. Any place you need speed, but could not put a
Pentium because it is just too darn big and needs a heat-sink and fan to keep it from
melting, is a good candidate for one or more DSPs. Just about any embedded product
application that involves rapid numeric processing is a candidate for a DSP.
From Analog to Digital
Classical DSP applications work with real-world signals, such as sound and radio waves that
originate in analog form. Analog means the signals are continuous; they change smoothly from
one state to another. Digital computers, on the other hand, treat information discontinuously,
as a discrete series of binary numbers. This permits an exactness of measurement and control
impossible in analog systems. The goal of digital signal processing is to use the power of
digital computation to manage and modify the signal data. Therefore, the first stage in many
DSP systems is to translate smooth real-world signals into a "bumpy" digital approximation.
While a sound wave can be depicted as an undulating line, its digital representation looks
more like an ascending and descending staircase. This translation is accomplished by an
Analog-to-Digital Converter (ADC). In essence, ADCs work like a movie camera, clicking off a
series of snapshots that, when strung together, approximate the continuous flow of actual
events. The "snapshots" taken by ADCs are actually a series of voltage measurements that trace
the rise and fall of the analog signal, like points in a connect-the-dots drawing. If the ADC
has done its job well, the data points give a detailed and accurate rendering of the signal.
After a certain amount of clean-up work (to remove extraneous frequencies, among other things),
the ADC passes its digitized signal information to a DSP, which does the bulk of the processing.
Eventually, when the DSP has finished its chores, the digital data may be turned back into an
analog signal, albeit one that is quite different from and much improved over the original.
For instance, a DSP can filter the noise from a signal, remove unwanted interference, amplify
certain frequencies and suppress others, encrypt information, or analyze a complex wave form
into its spectral components. In plainer language, DSPs can clean the crackle and hiss from
music recordings, remove the echo from communications lines, make internal organs stand out
more clearly in medical CAT scans, scramble cellular phone conversations to protect privacy,
and assess seismic data to pinpoint new oil reserves. Of course there are also DSP applications
that don't require Analog-to-Digital translation. The data is digital from the start, and can
be manipulated directly by the DSP. An example of this is computer graphics where DSPs create
mathematical models of things like weather systems, images and scientific simulations.
Blinding Speed
At its heart, digital signal processing is highly numerical and very repetitive. As each new
piece of signal data arrives, it must be multiplied, summed, and otherwise transformed according
to complex formulas. What makes this such a keen technological challenge is the speed requirement.
DSP systems must work in real time, capturing and processing information as it happens. Like a worker on a
fast-moving assembly line, Analog-to-Digital converters and DSPs must keep up
with the work flow. If they fall behind, information is lost and the signal gets
distorted. The Analog-to-Digital converter, for instance, must take its signal
samples often enough to catch all the relevant fluctuations. If the ADC is too slow,
it misses some of the action. Imagine trying to film a football game with a movie
camera running at one frame per minute. The film would be incoherent, missing
entire plays in the intervals between frames. The DSP, too, must keep pace,
churning out calculations as fast as the signal data is received from the ADC. The
pace gets progressively more demanding as the signal gets faster. Stereo
equipment handles sound signals of up to 20 kilohertz (20,000 cycles per second,
the upper limit of human hearing), requiring a DSP to perform hundreds of millions
of operations per second. Other signals, such as satellite transmissions, are even
faster, reaching up into the Gigahertz (billions of cycles per second) range.
DSPs versus Microprocessors
DSPs differ from microprocessors in a number of ways. Microprocessors are
typically built for a range of general purpose functions, and normally run
large blocks of software, such as operating systems like Windows or
UNIX. Although today's microprocessors, including the popular and
well-known Pentium family, are extremely fast--as fast or faster than
some DSPs--they are still not often called upon to perform real-time
computation or signal processing. Usually, their bulk processing power
is directed more at handling many tasks at once, and controlling huge
amounts of memory and data, and controlling a wide variety of computer
peripherals (disk drive, modem, video display, etc). However,
microprocessors such as Pentiums are notorious for their size, cost,
and power consumption to achieve their muscular performance, whereas
DSPs are more dedicated, racing through a smaller range of functions
at lightning speed, yet less costly and requiring much less space (size) and
power consumption to achieve their purpose. DSPs are often used in
"embedded systems", where they are accompanied by all necessary software
(stored in onchip ROM or offchip EEPROM), built deep into
a piece of equipment, and dedicated to a group of related tasks. In computer
systems, DSPs may be employed as attached processors, assisting a general
purpose host microprocessor.
Different DSPs For Different Jobs
One way to classify DSP devices and applications is by their dynamic range. The
dynamic range is the spread of numbers, from small to large, that must be
processed in the course of an application. It takes a certain range of values, for
instance, to describe the entire waveform of a particular signal, from deepest
valley to highest peak. The range may get even wider as calculations are
performed, generating larger and smaller numbers through multiplication and
division. The DSP device must have the capacity to handle the numbers so
generated. If it doesn't, the numbers may "overflow," producing invalid
results. The processor's capacity is a function of its data width (i.e. the
number of bits it manipulates) and the type of arithmetic it performs (i.e.,
fixed or
floating point). A 32-bit processor has a wider dynamic range than a 24-bit
processor, which has a wider range than 16-bit processor. And floating-point
chips have wider ranges than fixed-point devices. Each type of processor is suited
for a particular range of applications. 16-bit fixed-point DSPs such as
typically used for voice-grade and telecom systems (such as cell-phones), since
they work with a relatively narrow range of sound frequencies.
On the other hand, hi-fidelity stereo sound has a wider range, calling for a
16-bit ADC or 24-bit ADC, and a 24-bit fixed-point DSP like the Motorola DSP563xx
series. In this case, the ADC's 16-bit or 24-bit width is needed to
capture the complete high-fidelity signal (i.e. much better than a phone);
the DSP thus must be 24 bits to accommodate the larger values resulting
when the signal data is manipulated.) Applications requiring still greater
dynamic range include image processing, 3-D graphics, and scientific and
research simulations; such applications typically a 32-bit floating-point
processor.
DSP Evolution
Just a decade and a half ago, digital signal processing was more theory than
practice. The only systems capable of doing signal processing were massive
mainframes and supercomputers and even then, much of the processing was done
not in real time, but off-line in batches. For example, seismic data was collected in
the field, stored on magnetic tapes and then taken to a computing center, where a
mainframe might take hours or days to digest the information. The first practical
real-time DSP systems emerged in the late 1970s and used bipolar "bit-slice"
components. Large quantities of these building-block chips were needed to design
a system, at considerable effort and expense. Uses were limited to esoteric
high-end technology, such as military and space systems. The economics began to
change in the early 80s with the advent of single-chip MOS (metal-Oxide
Semiconductor) DSPs. Cheaper and easier to design-in than building blocks,
these "monolithic" processors meant that digital signal processing could be
cost-effectively integrated into an array of ordinary products. The early
single-chip processors were relatively simple 16-bit devices, which,
teamed with 8- or 10-bit ADCs, were suitable for low-speed applications,
general-purpose coders such as talking toys, simple controllers, and
vocoders; (voice encoding devices used in telecommunications).
Things that have DSPs
Some typical and well-known items which contain one (or many) embedded DSPs:
- the biggie: cell phones
- fax machines
- DVD players and other home audio equipment
- your car (for example: the anti-lock braking system)
- computer disk drives
- satellites
- the "switch" at your local telephone company (more than a lot)
- digital radios
- high-resolution printers
- digital cameras
Applications Using Signalogic DSP Products: Some Examples
As Signalogic has grown and matured beyond basic DSP development tool
products, we have found ourselves increasingly involved in
customer-specific applications of DSP. Besides company growth, from these
deeper involvements comes improvement to our DSP development tools, new
DSP products, and increased knowledge of the overall DSP field. Some
recent examples of applications in which Signalogic has been a co-development
partner:
Emerging application: DSP-based Voice-over-Internet Protocol
Voice-over-Internet Protocol (VoIP) is one example that will benefit from TI's DSPs, particulary the new 'C54xx devices.
Shifting voice traffic from traditional telephone networks to well-managed IP-based data
networks is a growing trend that provides advantges such as system efficiency and lower
calling costs.
DSPs are at the core of the voice and data networks infrastructure, and TI, the world
leader in DSPs, is also the DSP leader in the VoIP market. A DSP-based VoIP system
or gateway makes a shift to data networks possible, serving as the bridge between the
public switched telephone network (PSTN) and the packet network. VoIP gateways allow
users to speak on regular phones or send information over regular fax machines as they
bypass PSTN toll charges with no perceivable loss of quality.
DSP advancements in processing horsepower, smaller footprint and reductions in power
dissipation have expanded the number of channels carried on VoIP gateways and embedded
in network backbones. These advancements are transforming a technology, once used primarily
to obtain free phone calls through a PC and the public Internet.