# Project Ideas

"Life is what happens to you while you're busy making other plans."

Here's a list of things that I hope to learn and experiment with when I am not too busy with school / other things:

- Geiger counter as a true random number generator. Inspired by:
- This note
- This slide
- ... and the phrase "entropy as a measure of randomness"

- Knowing the wheelbase of my bicycle, it should be possible to estimate its speed from the vibration of the frame alone
- Observation: I can feel two distinct shocks every time my bike overcomes a bump. The delay between the two shocks is a function of my speed

- Knowing the beam profile of an ultrasonic sensor, is it possible to increase both its angular and depth resolution (let's say I mount it on a pan-tilt unit)?
- IMU, AHRS and dead-reckoning
- Parallel robots
- Delta robot kinematics (position, torque)
- Is there a fundamental reason why inverse kinematics is easy for parallel robot but hard for serial robot, but for forward kinematics it is the other way around?

- Real-time plotting
- Processing (the language)
- Beyond Python matplotlib
- OpenGL

- Why is there not a low-cost spectrophotometer?

Some of them are considered solved problem (e.g. MEMS IMU for position+pose tracking), but I still want to learn the cleverness that went into the magic.

The Fundamentals

Experience has shown that time invested in math and theory is always time well spent.

- Spectral Analysis (FFT/Welch's/Periodogram...)
- All signal we deal with in practice is digital and discrete, so why do courses always stop at Discrete Time Fourier Transform? (No, one PowerPoint slide on the use of the MATLAB fft() function does not count)
- How do you do spectral analysis with time series (with variable sampling periods)

- Principal Component Analysis
- Something about "finding correlation in multi-dimensional data"...

- Algorithms
- I hate telling anyone I have a CS degree when my Intro to Algorithms course is the one I got the lowest grade in among all my undergraduate courses

- Photogrammetry
- It should be simple to measure dimensions of objects from images... without all the gory details in computer vision
- Quaternions? Gimbal lock?

- Communications
- CRC, CDMA, convolutional codes, OFDM
- Intuition on the Trellis diagram
- The term "entropy-achieving" is intriguing
- All layers at and below TCP/IP

- Estimation theory
- Kalman filter, EKF, UKF etc.

- PID tuning; oscillation, steady state error
- Experiment using hacked RC servos

Just for Fun

- LED light painting
- WS2812 RGB LED strip
- One RGB LED on servo
- Music beat detection

- Turn a ceiling fan into a display
- Magnetic levitation, magnetic bearing
- Map the acceleration of my bike to LED light color
- DIY spectrometer
- Motion-triggered night light: LED/EL around my bed

Very Cool but Out of Reach

Lack the maths, lack the background knowledge, lack the experiment platform... life is too short:

- Antenna design, waveguides, beamforming and phased array radar
- RF engineering is black magic

- DSP and MRI / ultrasound imaging
- Heard so much about them, know nothing about them

- Fault detection using acoustic signals & DSP
- Time-domain reflectometry, the power of oversampling in DSP, defining the speed of light constant in terms of the magnetic permeability and the vacuum permittivity constant using such a simple formula, the IR sensor in the Javelin missile... and the list goes on...

- - - - -

Update before MSc from USC

It's unfortunate they cancelled both EE568 Error Correcting Codes and EE565a Information Theory. They are the reason I came to USC, and the reason I had to suffer (?!) through all those math courses.

Update after MSc from USC

So much to learn, so little time. Need to prioritize items even this short list of topics...

All Rights Reserved. Stanley Lio, 2015