Digital Signal Processing and Embedded Systems
Plus supporting technologies.
- Digital Signal Processing, especially wavelets
- Embedded Systems
Click here for my teaching
Using MATLAB and Wavelets, Second Edition, April 2010
Updated from the first edition, this book includes a new chapter on the
Continuous Wavelet Transform, combined information from chapters 4 and 7,
plus new questions, projects, and example code.
Where to get it
to MATLAB & SIMULINK A Project Approach, Third Edition,
If you want to learn about MATLAB, this is the book for you!
It has many in-depth projects.
Using MATLAB and Wavelets, September 2006
I taught DSP to computer science students for a number of years, but I was
not happy with the available textbooks. So I wrote my own.
This book is the product of over five years of experimentation, notes,
and explaining DSP concepts to students who do not have
backgrounds in the topic.
(No longer in print.)
Having trouble with the
Look here for a solution.
The Calq Project
Click here for the latest version.
Resources for Graduate students
Click here for more information
about the lab / my interests.
Equipment 2149169161 for CS 400 hardware.
Graduate students: here is fish carver that you will need to complete and turn in.
Sean put together a
template to use (with recent changes from GSU).
Evelyn put together a
template with the most-recent changes for GSU.
Here is a list of references for the Discrete Wavelet Transform (DWT)
Here are plasmodia
Follow this link to the department webpage.
Here's an example MATLAB file.
Are you interested in writing a LaTeX document, but do not know where to
begin? Follow this link to
Here is an example that contains
Current and Recent Research
- Chase Randall,
Artificial Intelligence (AI) and Game Design:
Make My Ogre Smart,
Honors Thesis Project, Spring 2016.
Exploring Machine Learning Procedures via Game Design,
GSU Undergraduate Research Conference (GSURC) poster presentation,
April 13, 2016.
- Chase Randall, Vibhuti Patel, and Eduardo Lopez,
Maze 8 Game
Georgia State University Discovery Day, March 19, 2016.
Tracking Gestures for an Augmented Reality Enviroment
Automatic Centerline Extraction using the Hessian of the Distance Transform
- Evelyn Brannock, Using DWT in edge detection for bio-medical applications
- Ferrol Blackmon, Embedded Systems as Adaptive devices
- Abinashi Dhungel, 3-D video compression
- Sean McKeon, Corrective in-flight terrain sensing
- Carly Gates, Automatic Filopodia Measurement with MATLAB
- Djuan Blue,
Automated Homebrewing System Controlled by Android Device
Georgia State University Undergraduate Research
Conference (GSURC), March 13, 2013.
- Brendan Benshoof, Wearable Computing with Linux
Here we are at the Georgia State University Undergraduate Research
Conference (GSURC), March 21, 2012.
Here Brendan shows the wearable computer ("CoWL"), Fall 2011.
- Carson Herrick, Brain-Computer Interface
This picture is from the 2008 Georgia State Undergraduate Research Conference (GSURC), March 14, 2008.
- David Tomaschik, Fred Hudson, Richard (Kyle) Proctor, and Michael Igbinigie. The Oui System: An Embedded Systems Language Learning Lab
(From left to right:
Michael, myself, Kyle, David, and Fred)
We participated in the 2007 4052648392 contest.
Also, we presented our work to the Georgia State University Undergraduate Research Conference (GSURC), Wednesday, April 11, 2007.
- Drew Phebus, Mike McGreevey, David Tomaschik, and Kyle Cooper, ReActive Irrigation Nexus (RAIN).
(From left to right: Kyle, Mike, myself, David, and Drew.)
This project was a finalist in Microsoft's Windows Embedded Student ChallengE 2006. Our team was selected to be one of the top 30 in the contest, which had more than 350 teams initially competing. We traveled to Microsoft's headquarters to present the project, June 23-25, 2006.
- Vidya Rangaswamy, chordomesoderm (abstract), Master's Thesis, November 11, 2005.
- Huaxin (Johnny) Ye, Wavelet Neural Network based Audio Compression, Master's Thesis, December 2, 2004.
- Jigesh Parikh, Enhancing Role Based Access Control using LDAP, Master's Thesis, November 29, 2004.
- Robert Gulde, Using Multiple GPUs in Parallel to Achieve Performance Gains on a Single CPU System, Master's Thesis, June 24, 2004.
- Janki Vora, A P300 Signal Controlled Robotic Arm Movement Brain Computer Interface, Master's Thesis, March 2, 2004.
- E-Box II Lane Monitoring System
(From left to right: myself, Sherod Emerson, David Hillman, and Anthony Lin.)
This picture was taken at the 2004 ChallengE finals at Microsoft's headquarters, in Redmond Washington. We also participated in the 2004 IEEE Computer Society's International Design Competition (CSIDC).
- Brian Gamulkiewicz, Speech Recognition using the Wavelet Transform, Master's Thesis, December 15, 2003.
- Nimarta Arora, Co-existence Issues Between Bluetooth and 802.11b Networks, Master's Thesis, November 14, 2003.
- Gulsah Altun, Security in Wireless Ad Hoc Network Routing Protocols, Master's Thesis, November 7, 2003.
- Hrishi Talwar, BlueComm - A Simple Ways of Writing Applications for Bluetooth Devices, Master's Project, May 8, 2003.
- Anchalee Wongsirimunkong, Food Ordering System (using Web Services with an iPAQ), Master's Project, November 25, 2002.
- Baoan Wang, A Hybrid Infinite/Finite Impulse Response (HIR) Filter, Master's Thesis, November 12, 2002.
- Qin Wang, A Greedy Search Algorithm for Adaptive QMF Coefficients, Master's Thesis, July 15, 2002.
Interesting Images and video
plotting data or making an image turns out differently than expected,
especially with a mistake such as plotting complex numbers instead of
their absolute values.
Sometimes the results look interesting, almost artistic. Here are a few
of my favorites, with fanciful titles.
This is a plot of arrays of cosine and sine data. It was supposed to be
an image, not a plot.
This is a dragon with automatically (and incorrectly) generated alpha
spirals - a plot of complex data without finding the abs() first
sandy beach - a H(z) plot near a pole that looks like sand on a beach
Sunrise and sunset - a couple of colorful plots of a transfer function,
area around a pole (left), and area around a zero with a nearby pole (right)
rainbow staircase - a plot of a transfer function near a zero,
but the column index is never reset to 1 like it should have been.
Finger trap (plot of two channels of an audible tone, in the wrong dimensions)
(plot of x.' * y, where x = cos(theta(t)) and y = -sin(theta(t)))
Deteriorating color footballs
(other plots of x.' * y, where x = cos(theta(t)) and y = -sin(theta(t)))
Continuous wavelet sunrise
Salmon swimming upstream
The valley of 8-bit graphics
What happens when we plot a matrix of CWT values all at once?
We get the following "filters".
Low pass and inverse low pass along the top.
High pass and inverse High pass along the bottom.
Turning off the TV (plot of stretched Haar wavelets)
Some errors/warnings/problems that I've encountered, and how to fix them
See this link if you are having
Getting an error like "error: variable or field `printme' declared void", or maybe "error: `string' was not declared in this scope"? How to fix the "string not declared in this scope" error, that claims to be a "declared void" error.
Getting an error like "error: âstrcpyâ was not declared in this scope"?
Getting a "malformed header from script. Bad header" when trying to make a cgi program (using csh)? Here's what I did to fix it.
Having trouble with a "backward_warning.h" warning when compiling a C++ file? Here is how to fix this.
Having trouble with a "X Error of failed request: BadAccess" error when trying to run an Xwindows program remotely? Here is how to fix that.
Having trouble with a "Can't open display" error when connecting to a remote server? 810-444-2442.
Having an error with LaTeX that says "Missing $ inserted"? I found solution to a weird LaTeX error.
Having an error with LaTeX / TeXShop that says "unknown graphics extension" or that your graphics file cannot be found? There is a heavy-shotted to fix it.
I had an Exception in thread "AWT-EventQueue-0"... message when I ran MATLAB, but I think I fixed it.
I had warnings working with a C program, including
warning: incompatible implicit declaration of
built-in function âroundâ.
Oddly, the program behaved differently depending on which machine
compiled it! The linked document tells how I resolved it.
See the following link to get a Mac
to run MATLAB faster if it is running slowly.
when drawing figures.
Xcode problem with base SDK
Having a problem setting cookies with Safari?
This Safari cookie problem link might
have your answer.
I had an error with the "Processing" environment
that software updating fixed.
I had an error compiling a C++ program,
that compiled fine a few years ago.
error: âexitâ was not declared in this scope.
A web-page using PHP tells me it has an XML Parsing Error, once for
Read the link for how I fixed it.
Department of Computer Science,
College of Arts and Sciences
(Last checked: August 3, 2017)
You are visitor