Digital Signal Processing and Embedded Systems
- Digital Signal Processing, especially wavelets
- Embedded Systems
- Bioinformatics
Plus supporting technologies.
Click here for my teaching
page
Books
Programming Fundamentals Using MATLAB,
2020
Errata
DSP
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
Errata
Introduction
to MATLAB & SIMULINK A Project Approach, Third Edition,
October 2007
If you want to learn about MATLAB, this is the book for you!
It has many in-depth projects.
Where to get it
Errata
DSP
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.)
Errata
Having trouble with the
compress_test program?
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 check out form for CS 400 hardware.
Graduate students: here is the registration form that you will need to complete and turn in.
Sean put together a
thesis
template to use (with recent changes from GSU).
Evelyn put together a
dissertation
template with the most-recent changes for GSU.
Here is a list of references for the Discrete Wavelet Transform (DWT)
Here are my publications (through 2006) as a Latex .bib file.
Follow this link to the department webpage.
Here's an example MATLAB file.
LaTeX Resources
Are you interested in writing a LaTeX document, but do not know where to
begin? Follow this link to
a latex
example.
Here is an example that contains
LaTeX math in a webpage.
Current and Recent Research
- Chase Randall,
Artificial Intelligence (AI) and Game Design:
Make My Ogre Smart,
Honors Thesis Project, Spring 2016.
-
Chase Randall,
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.
-
Chad Frederick,
Tracking Gestures for an Augmented Reality Enviroment
-
Abinashi Dhungel,
Automatic Centerline Extraction using the Hessian of the Distance Transform
(Dissertation)
- Evelyn Brannock, Using DWT in edge detection for bio-medical applications
(Dissertation)
- Ferrol Blackmon, Embedded Systems as Adaptive devices
(Dissertation)
- 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 Microsoft Imagine Cup 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, Phoneme Recognition Using Wavelet Packets (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
Computing an Inverter function with Mentos and Diet Coke
Occasionally,
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
(opacity) values
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)
Club tie
(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)))
Hippie belt
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.
The bat
zebra mountain
Turning off the TV (plot of stretched Haar wavelets)
Goalposts (plot of two, related signals: a target temperature, and a
measured temperature. I used
plot(data1, data2);
when it should have been
plot(data1); plot(data2); )
triangle prism. I included a debug feature in a program, and it made this.
It shows two triangles, where one is rotated in 3D space from the other one.
The points along the edges are connected to see where each point in one
maps to the other.
Some errors/warnings/problems that I've encountered, and how to fix them
See this link if you are having
trouble installing xv on a Mac.
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"?
How to fix the "strcpy not declared in this scope" compiler error.
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? How to get Xwindows to work.
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 default setting to change 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.
MATLAB crashes
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
"XML Parsing Error: unclosed token" and again for "XML Parsing Error: no root element found".
Read the link for how I fixed it.
Content Security Policy: The page’s settings blocked the loading of a resource at inline
Forbidden (403) error when accessing web content
Disallowed MIME type error
Nonconformant arguments error under Octave/MATLAB
Invalid operands to binary expression error when compiling C++ code from 31 years ago.
Department of Computer Science,
College of Arts and Sciences
(Last checked: August 3, 2017)
You are visitor
.