The second meeting of MATLAB fans was held in Brno on the 11th of January. Our chosen topic was Digital Signal Processing with MATLAB and Simulink. More than 50 people attended to hear about the new capabilities in this area.
Libor Šeda opened the proceedings. As the organiser of the Brno MATLAB Meetup Group, he shared the future plans of the group and then introduced the speaker, Jarda Jirkovský.
Jarda, a Humusoft application engineer, divided his lecture into two parts. The first part focused on the MATLAB programming environment and graphical tools for statistical signal processing, spectral analysis and digital filter design. The tools were demonstrated with a step-by-step example — Direction of Arrival estimation (DoA). The example was working with a recorded sound signal from stereo microphones. The signal was loaded into MATLAB and analysed using cross-correlation and visualisation functions. The resulting algorithm was used for DoA estimation of the moving target. Then, a second sound signal was loaded into MATLAB but this time the signal from the target was disturbed by a harmonic noise. Built-in MATLAB tools for signal spectrum analysis and digital filter design came into play. Different analysis and design techniques were introduced: including FFTs, spectrograms, windowing, FIR and IIR filters, various filter design methods, etc. The end result was that the unwanted noise was analysed and removed from the signal, and the DoA estimation was performed on the cleaned data.
After a beer and sandwich break, the second part of the lecture was delivered, now focussing on MATLAB and Simulink deployment workflow. The main goal was to deliver a chosen DoA algorithm onto the target hardware platform — Raspberry Pi, using automatic C-code generation from Simulink. Simulink is a block diagram environment for multidomain simulation and Model-Based Design. The proposed DoA algorithm, including designed filter, was modelled and simulated in the Simulink environment. The algorithm was improved and adjusted for real-time execution. Real-time testing with live sound was the last test on a PC. The algorithm was then deployed to the Raspberry Pi platform with “a click of a button” using automatic C-code generation. Running the algorithm on the target platform was the final step of the example, finishing off the overall lecture.
We would like to thank Kiwi.com for hosting our Meetup in their cellar on Hlinky street.
We look forward to meeting you soon at the next group Meetup.
Jarda Jirkovský and Libor Šeda