Research Interests
Dr. Michael Weeks
http://www.cs.gsu.edu/~cscmcw
Department of Computer Science,
Georgia State University
My research interests cover these basic areas:
- Digital Signal Processing
- 3-D DWT Architectures
- Image Processing
- Compression
- Embedded Systems
- VLSI - Digital Circuit Design
Digital Signal Processing (DSP) deals with the nature of information, signals, transforms, and
applications. The audio format MP3 is an example of this: it is popular because it can store a
large amount of music data in a much smaller amount of space (e.g. 1/10th of the original
size). The playback sounds good to us, even though some data was lost. This can be
translated directly into time/money: Would you rather spend an hour downloading a song
that is an exact copy, or just a few minutes downloading one that sounds the same? Which
product will sell better, a music-playing device that can remember and play back 1 or 2 songs, or
one that can remember and play back 10-20 songs? The user is not likely to notice a
difference in quality. The theory behind DSP involves complex mathematics, and one
research area (that I am involved in) is wavelets. The wavelet transform is a way of
representing data in a more compact way, leading to compression. An example of this is the
JPEG 2000 standard for image compression. Future TV sets will likely perform this
transform. Image processing is a related area to DSP.
Embedded Systems uses computers in ways unconventional to the thinking of most people.
When you think of a computer, you likely envision a large system unit, with a monitor,
keyboard, and mouse all connected to it. But there are computers all around us: in your
watch, in your portable phone, in your microwave oven, in your car, and in your thermostat.
These are embedded systems: inside each device is a micro-processor that controls it.
Programming for such devices is a much different environment than programming for a PC,
for example, memory and battery power are limited . When it comes to PCs, people desire
and pay top-dollar for the latest micro-processor (e.g. a Pentium 4). In an embedded
system, the type of micro-processor is not a consideration for the end-user. The end-user
will not re-program his car, nor will he turn his microwave oven into a video game. The
work that I do with embedded systems involves designing infrastructure/middleware for
devices such as personal digital assistants (PDAs). Just as the Internet has had a
revolutionary change on the our lives, the connectivity and applications of embedded
systems promise another revolution that we are just beginning.
VLSI/Digital Circuit Design and Computer Architecture
is the third area that I work in. It deals with the internal structure of
computing devices, and is closely tied to the computer's instruction set. The very low-level
commands that a computer can do, such as adding two numbers together, comprise the
instruction set. Which is better, a computer with a 100 MHz processor, or one with a 150
MHz processor? This is a trick question. It's like asking which car goes faster: the wheels on
car A spin at 100 rotations per second, while the wheels on car B spin at 150 rotations per
second. If cars A and B are both the same size, it would be valid to pick car B. But what if
car A is a regular size car, and car B is a toy only 1 foot long? You need more information to
say which is faster. Computer architecture starts with how simple parts (AND, OR, and
Inverter gates) can be put togther to make more useful devices (memory, multiplexers and
demultiplexers, which are like little switches). These "more useful parts" can then be used to
construct a processor for a computer. Under this heading, I also work with Very Large Scale
Integration (VLSI), which is how integrated circuits ("computer chips") are made. Many
advances over the past 20 years have been in this field, namely, how to make smaller
transistors. This translates to smaller, faster chips that use less power.
Think of VLSI and Computer Architecture as two views of the same
subject; VLSI is the low-level view of transistors making simple parts,
and computer architecture constructs complex parts from the simple ones.
Viewing a house, one could speak of the individual brick materials, cells of
wood pieces, and glass molecules (low-level parts).
Instead, another observer might talk of the walls, doors, and windows
(higher-level parts made from the low-level ones).
These descriptions are both valid and have their place, just as VLSI
and computer architecture do.
There is a lot of overlap in these 3 areas. For example, an embedded system
may perform a certain DSP function can be described in terms of its circuitry
or architecture.
The figure below shows how I think of these areas. Computer Engineering
has elements of both Computer Science and Electrical Engineering.
Previous Projects
Architectures for the 3-D Discrete Wavelet Transform-
This is my Ph.D. dissertation, and deals with the details of creating an
integrated circuit architecture to perform a transform on 3-D data, namely
for Magnetic Resonance Imaging (MRI). This work springs from work I had
done on compression using wavelet transforms, and incorporates image
processing, and digital VLSI design.
Blackjack Chip - Another interesting project
dealing with architecture design is the Blackjack chip, where my
partner and I designed a prototype chip to inform a Blackjack player of
the best strategy during a game.
Iterated Prisoner's Dilemma - In my Master's
thesis, I wrote about how changing the payoff values in the iterated
prisoner's dilemma game affects the evolution of a finite state machine
(FSM) population. The evolution was carried out with a genetic algorithm
(GA). This simulation is interesting because it provides insight into population
dynamics.
Compression of Speech and Image Data - This
image processing
project performed 1-D and 2-D Discrete Wavelet
Transforms on speech and image data, followed by compression.
Land Mine Detection - This goal of this wavelet
application is to automatically detect the presence of land mines.
Internet Mining - Used HTML forms and C to
guide an Internet user through a database of human images.
PHENIX / RHIC- Relativistic (near speed of
light) Heavy Ion (large atoms without electrons) Collider (smash them together).
This project analyzes data collected from collisions of gold atoms. The
goal is to understand what happened immediately after the Big Bang. This
project involves over 430 people from 11 different countries. Here, the
Physics department heads the work, and the Computer Science and Math departments
are also involved.
Current Work
Architectures for the Discrete Wavelet Transform
- There are many designs for hardware to perform the DWT, but much
more work in this field is needed.
GEDC/Yamacraw - Embedded Systems Software -
Under the GEDC/Yamacraw project, we have developed middleware called
SyD (System on mobile Devices).
We have several research areas,
dealing with middleware, wireless networking, and databases.
Also, we are looking at computer security.
Speech Processing - One interesting line of research is
in speech processing, more precisely, we are working on identifying
phonemes, which are basic units of speech.
What You Can Do
DSP programmable boards - There are a wide
variety of things yet to be done with programmable DSP boards.
Field Programmable Gate Arrays (FPGA) - Rapidly
developing chips without the need to fabrication. FPGAs allow you to program
logic into a chip for use in an embedded system.
Chip Design - Do you have an idea for a novel
chip? Maybe you have an interesting program that would benefit from the
additional speed that hardware offers.
Wavelet Processing - Wavelets are a fairly
new concept, and applications using the wavelet transform are still in
early development. One outstanding area is compression, and video compression
using wavelets promises to have a significant impact.
Other Ideas - You don't need to have a thesis
topic fully planned out on the first day. Many students start with one
idea and evolve it over the course of their study. Others know what interests
them, and narrow down their topic after some initial investigation. I think
it is important that you find something you enjoy.
If you have an idea for a topic or are interested
in one of my research areas, feel free to come by and talk to me.
I use the following questions to get a prospective
masters'/Ph.D. student thinking about what he (or she) could do. (First
brainstorm, then narrow down the topic, then narrow it down some more).
-
What kind of electronic activities do you enjoy? (Examples: playing action
video games, playing strategy video games, Internet chat rooms, MUDs, Web-page
surfing, etc.) Please be as specific as possible. Why do you like it? How
could it be better?
-
What, in your view, is the greatest challenge facing mankind? What could
computer scientists/engineers do to help?
-
If you could take a semester off and work on anything you want, what would
it be?