DIY DSP projects ideas
There's an unlimited amount of projects you can do... The extend depends on how much you want to (or you can) turn your home into a lab ?
Audio projects can range from software synthesizers, multimedia players, to aduio compression algorithms, micophone array based advanced imaging, and to all sorts of acoustic magic. You would need alot of electronics and acoustic skills, in addition to DSP, for these projects though.
Hardware projects will also cost extra bucks &amp; mess, compared to pure software projects...
Also, eventhough you've got your masters degree, just still need to polish your DSP skills, and make sure that you don't miss any serious topics in the fundamentals. The best way to do is to code the concepts in a book such as Discrete-Time Signal Processing. Implement (or verify) various algorithms and theorems there. Pay attention to convolutions, LCCDE recursions, filter design, sampling, DFT, and FFT topics. Write your own functions, simulations and libraries. Make theoretical predictions, and try verifying them with simulations... Use Matlab or Octave at this stage.
Have you done some Adaptive Filtering? Why not implement them in realistic applications? Try channel equalisation, echo cancellations, noise reduction, system identification, line enhancement, prediction, compression etc. Try LMS, RLS or their variants.
In the low-level software side, try improving your C / C++ and Assembler programming-debugging skills. Chose platforms such as Intel/AMD or ARM-based CPUs. I bet you will benefit from learning how to program MMX, SSE, AVX SIMD-vector extensions of these CPUs. And get a general glimpse on compilers, switches, libraries, open source development, various tricks and hardware properties and limitations of PCs.
Learn some operating system programming too. Windows,Linux,OS, and lately but more attractively Mobile Android. Learn how to use basic compilers for these platforms and their working mechanisms.
Start with the simplest and cleanest hardware: Arduino. Learn how to code it in its IDE. That's the most user friendly mCU ever. Though, it's a limited one, but you can still do a lot with it. It has an ADC-DAC; you may wish to try sampling some sources and processing them. Best is to go with a simple microphone shield (an attachement board to an Arduino). Record audio, process it, and output some signals based on it. You will learn a lot about USB connection, Serial (RS-232) communication, SPI, I2C communication protocols, motor drive examples, various sensors involving 9DOF acceleromoter-gyro-magnetic sensors, distance measurement sensors, light measuring sensors, temperature, pressure, gas sensors... You will have a lot to do with them... You may also learn practical Kalman filtering for perfecting your measurement results too.
You should support your Arduino with some basic external hardware, such as buffers, filters and actuators. It's good to learn connecting/interfacing them to the mcu, for practical embedded DSP.
Expand your hardware with a Raspberry PI, the most friendly electrically interactable PC platform with ARM based multi-core CPU and a Linux based OS in it.
Add some simple programmable SDR-RTL (software defined radio) kits to your Raspberry Pi to turn it into an RF receiver and data processing machine. You can receive signals from radio stations, Satellites, AirPlanes, wireless phones or any RF source in its range! You can write C-code to implement your analog/digital decoding algorithm. That makes a set of plain advanced DSP projects.
You can also progress with some more industrial MCUs from ST, NXP, Texas, ADI or any similar vendor. They are producing ARM complient cores. HEnce once you learn ARM architecture you will be confident in all of these platforms.
One good thing is, Arduino IDE also supports an STM32 based development card just as it supports ative Arduino UNO cards. So You can transit into ST programming from Arduino IDE and go more professional with ST native development later.
You can further add ADI BlackFin, SHArC, or Texas TMS based DSP processors.
Furthermore, last decade have withnessed great progress in Big-Data processing using GPU computing; so you will benefit form learning some parallel programming using Nvidia CUDA or openCL...
All these will take some time and patience.