One of difficult subjects in the field of Electronics is Digital Signal Processing. It also happens to be taught to second-year students in Metropolia. Definitely, if students could have some hands-on experience with DSP tools, it would help with understanding the theory. Maybe, our university does not have state-of-the-art educational tools, but it has all the means to tinker the way through these limitations.
The project objective is to create an educational DSP platform, which will allow the students to apply theoretical knowledge directly to real-time signals. Speaking precisely, an Infinite Impulse Responce (IIR) and Finite Impulse Responce (FIR) digital filter functionality should be implemented in easily accessible form. There are many ways to design a digital filter, but the results of any technique converge to line of fractional numbers – filter coefficients. In ideal case, at the end of the project, DSP students will have some device to put their coefficients into, and then see the impact on the signal being fed to the “black box”.
The devices will be implemented on the base of mbed development platform (ARM Cortex-M3), dozen of those we have in our disposal. Optimized readily-available DSP libraries and good performance characteristics have played significant role in selection of hardware. Graphical user interface is being made with MATLAB: it has all what is necessary, from event-driven programming toolbox to Discrete Fourier Transform algorithm to visualize spectral data. Communication between MATLAB and mbed is realized with Remote Procedure Call (RPC). Getting things to work involves parallel coding on two different platforms:
One of main qualities of the device is limited flexibility: students will use device without possibility to change the core functionality, like in a sandbox environment. After over a month of efforts, a list of features has been made to work by our team of two:
- data transfer protocol between MATLAB and mbed
- IIR and FIR functionality
- writable filter coefficients
- proto PCB with reconstruction filters
Upcoming features are: front-end as MATLAB App distributive, impulse response filter test, dynamic sampling frequency, and many more..