(This page is a bit old)

PURE - Promoting Undergraduate Research in Engineering  (2007-Still going!)

As freshman at UIUC, Kuang Xu and I wondered why the undergrads were missing out on all the cool, cutting-edge research projects going on there.  MIT has a popular program for undergrad research called UROP but UIUC lacked an equivalent.. so we did the obvious thing and copied MIT! :) 
 Kuang got buy-in from the department, organized a committee and I built the website. It started with a bang and a
fter a decade, PURE is still going strong!

The mission of PURE is to create new undergraduate research opportunities at UIUC by matching undergraduates with graduate mentors. We hope to see more programs like this at other universities and would love to talk with anyone interested in starting something similar. Browse active graduate mentors for the ECE and CS departments. See some of the presentations students put together here.  

UIUC in Space!
Our blue marble from 100,000 feet.
2009: a group of us at UIUC wanted to see things from a different perspective: 100,000 ft!.  We launched a series of balloons filled with sensors (including a custom ion sensor based on this design), cameras, GPS and an APRS transmitter.  We received GPS coordinates from the balloon over radio and followed it by the car.   It proved to be a great adventure and the photos were fantastic!  See for yourself: ion counter data and a stunning image set from the second launch are available here.

UPDATE 2012:Adrian Dalca and Michael Rubinstein and I launched a balloon from Albany NY--and recovered it from an accidental landing in the ocean!  They put together an excellent writeup.

UPDATE 2015: We had an amazing launch with students in Merida, Mexico:


XOR Display (2009)
XOR Display

One slow day I was looking at how LCD display driver circuitry works, only to discover they still use an old-school column select technique based on the beam-scanning of CRT monitors. How old-school! Wasn't there a better way to do it? Couldn't you switch on rows and columns all simultaneously?  This would produce binary hash patterns on the display.. Could the hashes be modulated quickly and in an intelligent way so that arbitrary grayscale images (or motion-pictures) are perceived (due to persistence of vision)? After fiddling with the problem for a couple days, a really nice technique emerged..

The algorithm is a generalization of the 1st-order sigma delta converter--but where a sample is actually a whole 2-dimensional gray-scale image from a video stream. The quantization step, rather than giving the closest binary value to a scalar value as in sigma delta, finds the closest binary rank-1 matrix (using a simple semi-discrete decomposition). These row and column values drive the XOR display (which displays the outer product, or the constituted rank-1 matrix--see figures 701-718) and the error (the displayed rank-1 matrix minus the desired grayscale image) is fed back to an integrator. Later display frames will compensate for the error so that when the frames are averaged together in time (low-pass filtered) the high-frequency shaped noise is eliminated and a perfect video stream is perceived.

I'm pretty sure this could be the solution to somebody's problem, but as I lack the time to pursue it further, I hereby release this invention to the public domain.  


Software Defined Radio
An undergraduate side project of a `Zero-IF' quadrature downconversion front-end bringing DC-30Mhz into a 192 Khz baseband that can be sampled by a regular stereo soundcard (I and Q channels sampled as left and right stereo input channels).  A variety of software (e.g., GNU Radio) can then be used to listen to AM/FM/USB/LSB and analyze other interesting RF signals. Eagle PCB design files are available here.  The design uses the same CY27EE16 programmable clock generator as the Elektor SDR, so you can use the same software provided there for tuning over USB.  If there is interest, I can write more about this particular design.  Thanks to Mark Smart for milling the board! 

LDPC Decoder (2011)

Digital logic is a versatile thing, yet we've settled on only a few structures--mostly fixed and floating-point multipliers and adders--for modern digital signal processing hardware. Signals are sampled uniformly above the Nyquist rate, converted to a time-series of binary codes and the standard DSP tool box takes over from there.

But is that all there is to DSP? Is there a place for more exotic digital systems where signals are encoded and processed in a different format other than fixed or floating point codes? An obsession with this question led to a thesis topic; I studied old techniques that predated the ENIAC and scoured analog differential analyzer manuals looking for out-of-the-box ideas that might form a different DSP framework. The result was a set of 'pulse-domain' operations built on asynchronous finite state machines. The pitch is that this yields low power processing and the signal does not need to be sampled because asynchronous pulse events are driven by the waveform itself.

The most practical product of this technique I was able to put together is a pulse-domain low-density parity-check (LDPC) decoder. An FPGA implementation can decode large codes in full-parallel at TB/sec rates, making it one of the fastest LDPC decoders available (and it's open source!). 
While high throughput is probably the most important feature, the BER curves of this type of decoder tend to have a much lower error floor than traditional floating-point iterative decoders.

This is an interesting case where pulse domain computation makes sense today. Many of the other filtering and optimization examples explored in the thesis are currently not competitive against traditional digital and analog signal processing techniques. But as technology scales, transistors should continue to have better time resolution at the expense of dynamic range; the case for pulse domain computation then becomes increasingly compelling in other domains.

A full description of the LDPC decoder is given on pages 46-62 here

Sound Localization System (2006)
This ECE 420 project uses a 2x2 microphone array to perform two dimensional direction of arrival estimation for acoustic waves.  The results are displayed on a video feed to 'visualize' sound in the environment.
The direction of arrival processing is performed by a program running on a TI 55x DSP.  These estimates are then sent continuously over USB (using RTDX) to a PC.  The PC fuses image frames with the direction estimates.  Further statistical cleanup is used to on the data before rendering a ripple and/or decision circle display.  The ripple effect involves simulating the wave differential equation.  

Asphalt Distributor Control System (2008)

As part of an internship at the E.D. Etnyre company, I designed a custom control board for the company's next generation of asphalt distributors.

The final four-layer board is pictured to the left. It serves as the master I/O module and takes in temperature, toggle switches and sensor inputs and drives 75 solenoids for hydraulic and asphalt spray valves. The module also controls the PWM master pump rate and monitors a host of other vital systems. Switching is done primarily with power MOSFETs with a net current output of up to 200 amps! Electronic Design Inc. (EDI) fabricated the boards and was an exceptional consultant during the project.

The brain of this module is a simple AT90CAN128 microcontroller, while a second system written in LabVIEW and running on a PC handles the operator's interface and some of the more complex features. Communicate between the GUI and the module occurs entirely over a CAN bus. Other systems are also attached to the CAN bus, such as the operator's toggle switch panel in the cab.

This control setup allows more advanced asphalt distribution features to be implemented--potentially with more autonomy granted to the computer.  One of the common spray challenges is to produce a very level layer of asphalt.  By dynamically modulating the spray bar using information gathered from ultrasonic range sensors, we may be able to produces the world's flattest roads!

Subpages (1): Software
Waz Erface,
Nov 30, 2013, 1:05 PM
Waz Erface,
Nov 30, 2013, 1:05 PM
Waz Erface,
Jan 24, 2010, 10:11 AM
Waz Erface,
Nov 30, 2013, 1:36 PM