Digital Signal Processing, Cellular Automata, and Parallelism

advertisement
Digital Signal
Processing, Cellular
Automata, and
Parallelism
Karl Schramm
San José State University
Computer Science Department
CS 240
Spring 2003
Outline




Introduction to digital signal processing
Relationship of DSPs and CAs
(Hint: parallelism)
An overview of parallel computing
The future?
Introduction to Digital Signal
Processing




Manipulation of a signal
Signals are waveforms
Typically carried out in realtime
Calculations are handled by Digital Signal
Processors (DSP)
DSP Uses

Telecom:




Military




Sonar & Radar processing
Visual tracking systems for laser-guided weapons
Communication encryption/decryption
Medical


Multiplexing
Signal encoding/decoding
Compression
CAT & MRI imaging
Entertainment

Audio & visual analysis and effects
DSP Overview



Receives a signal, processes it, and outputs result
Several DSPs can be linked together in a serial chain
Can be implemented in software or hardware

Hardware is best for realtime performance
Analog to Digital Conversion



Converts a continuous, analog signal into a discrete,
digital signal
Analog signal is sampled at a regular interval
Sampled values are stored as a data stream

1D array
[6: page 37]
Sampling

Shannon’s sampling theorem



A signal must be sampled at a rate at least 2x the of the
maximum frequency component (Nyquist frequency) or else
aliasing will occur [Nyquist (1928), Shannon (1949)]
Aliasing is the inability to accurately reconstruct a signal
from sampled data
Low-pass analog filter (anti-aliasing filter) applied before
sampling
[6: page 41]
DSPs vs. CAs

Both perform the same function:



A DSP chain is similar to the successive
generations of a CA


Receive data & process it
DSP calculations are usually complex
Calculations of CAs don’t usually change over time
A DSP can be viewed as a 1D Continuous CA

Signal is a continuous valued array
CAs as DSPs



CAs can be used in
sound synthesis
Quantized CA values
can be used to play a
tone or trigger a MIDI
note (CAMUS)
Continuous CA values
can be used to
generate a signal
(CASound)
top: [3]; bottom: [5]
CAs and Parallelism

Parallelism is an important aspect of CAs


Parallelism allows CAs to be used to model:




Fluid dynamics
Cell & crystal growth
Etc.
CAs are parallel machines



Cells are independent entities
SIMD
Shared Memory
DSPs must exhibit parallelism to be like a CA
Flynn’s Taxonomy

SISD



SIMD


Single Instruction stream Multiple Data stream
MIMD


Single Instruction stream Single Data stream
von Neumann architecture
Multiple Instruction stream Multiple Data stream
MISD


Multiple Instruction stream Single Data Stream
Pipelined architecture
Parallel Computing Memory
Configurations

Shared Memory



Processors share a single address space
Processors communicate via memory
Multicomputer




Name is derived from the term message passing
multiprocessors
Processors don’t share a single address space
Processors communicate by passing messages via
an interconnection network
Difficult to program



can’t share memory
message passing is error prone
Typically scales better than a shared memory system
Requirements for Parallelism

Data must be parallelizable


Divide and conquer
Must have a parallel hardware architecture
DSP Data Parallelism

Digital signal is an array of values




Arrays can be accessed in parallel
Used in smoothing and simple low-pass filters
Otherwise limited value in DSP
Decomposition



Divide a signal into many smaller, simpler signals
Smaller, simpler signals can processed in parallel
Used in many crucial DSP applications:





Encoding/decoding information on a carrier signal
Frequency analysis
Advanced filtering
Multi-band equalization
Etc.
Superpostion and
Decomposition



A signal can be
decomposed into several
smaller, simpler signals
Decomposed signals can
added together to form
the original signal
Processing decomposed
signals has the same
effect as processing the
original signal if the
system is linear
[6: page 98]
Linear Systems

Homogeneity

Modification in the input signal’s amplitude results in a
corresponding modification in the output.
f(x)t = ty

Additivity

For any two inputs, the sum of the outputs is the
same as if the sum of the two inputs had been
processed together.
f(x1) = ky1
f(x2) = ky2
f(x1) + f(x2) = ky1 + ky2
f(x1 + x2) = ky1 + ky2
DSPs and Linearity


Most DSP operations are linear
Nonlinear DSP operations are
parallelizable as well
Subdivide the data array
 Emulate the nonlinear operation with a linear
operation

Fourier Decomposition


Decomposes signal into
sine & cosine signals
Sinusoidal waves are
easy to process



Uniformity
Simple representation
(amplitude & phase)
Sinusoidal fidelity

If a sine wave is input to a
linear system, the output
will be a sine wave at the
same frequency
[6: page 105]
Fourier Equations




Continuous Fourier Transformation:
X(f)= ∫ x(t)e-i2ft dt
Discrete Fourier Transformation (DFT):
X(m) = ∑x(n)e-i2nm / N
Fast Fourier Transformation (FFT):
Optimized DFT algorithm
Euler’s relationship:
e-i = cos() – isin()
DSPs and Hardware
Parallelism

Minor hardware parallelism is achieved with Harvard
architecture


Adds a separate memory store and bus for instruction data
Allows for concurrent retrieval of instructions and data
[6: page 511]
DSPs and Hardware
Parallelism

Several of the same type of DSP can be linked
together into a multiprocessing array



SIMD & MIMD
Shared & multicomputer memory architectures
Linking processors requires “glue” logic


“Glue” logic controls data flow and task distribution
Some DSPs are designed with “glue” logic built in


Analog Devices SHARC family
Texas Instruments TMS320 family
Summary

CAs are parallel computational devices


SIMD, Shared Memory device
DSPs can be parallel computational
devices
SIMD, Shared Memory device
 MIMD, Multicomputer


Parallelism is the tie that binds
The Future?

Sony, IBM, and Toshiba’s “Cell Microprocessor”
technology




A single processor has 4 - 16 general-purpose
processor cores, known as “cells”
“Cell” processors are linked together via high speed
communication bus
Devices with “Cell” chips can be connected over a
high-speed network to perform distributed computing
May be first used in the Sony Playstation 3 video
game console


Process streaming video data over a network
Earliest expected rollout date is 2005
References
[1] Lyons, R. (2001). Understanding Digital Signal Processing.
Upper Saddle River, NJ: Prentice Hall.
[2] Margolus, N. (1993). “CAM-8: A Computer Architecture Based on Cellular Automata”.
Cambridge, MA: MIT Laboratory of Computer Science.
Available: http://www.ai.mit.edu/people/nhm/cam8.pdf
[3] Miranda, E. (2002). “CAMUS: A Cellular Automata Music Generator”.
Available: http://website.lineone.net/~edandalex/camus.htm
[4] Rorabaugh, C. (1998). DSP Primer.
New York: McGraw-Hill.
[5] Schramm, K. (2003). “CASound: Sound Synthesizing 1D CA”.
Available: http://sjsu.rudyrucker.com/~karl.schramm/applet/
[6] Smith, S. (1997). The Scientist and Engineer's Guide to Digital Signal Processing.
San Diego, CA: California Technical Publishing.
[7] Spooner, J., (August 6, 2002). “Chip trio allows glimpse into ‘Cell’”.
CNET News.com
Available: http://news.com.com/2100-1001-948493.html?tag=fd_top
[8] Wilkinson, B. & Allen, M. (1998). Parallel Programming: Techniques and Applications Using Networked
Workstations and Parallel Computers.
Upper Saddle River, NJ: Prentice Hall.
[9] Wolfram, S. (2001). A New Kind of Science.
Champaign, IL: Wolfram Media, Inc.
Download