Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
Embedded and Microcontrollers blog Teaching DSP Hands-on
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded and Microcontrollers blog

  • Internet of Things (IoT) blog

  • Laptops and Desktops blog

  • Mobile, Graphics, and Gaming blog

  • Operating Systems blog

  • Servers and Cloud Computing blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
  • workshop
  • DSP
  • fft
  • aup
  • cirrus_logic
  • fir
  • arm_university_program
  • audio
  • codec
  • iit
  • wm5102
  • stm32f4-discovery
  • faculty
  • stmicroelectronics
  • mac
  • simd
  • lab-in-a-box
  • harvard
  • hyderabad
  • wolfson
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Teaching DSP Hands-on

Sadanand Gulwadi
Sadanand Gulwadi
June 11, 2015

The ARM University Program (AUP) organized a two-day faculty workshop on “Teaching Digital Signal Processing (DSP) Hands-on” on May 20 and 21, 2015, at the Indian Institute of Technology (IIT) Hyderabad, India. Dr. Donald Reay of Heriot-Watt University, Edinburgh, UK, delivered the workshop. As challenging as DSP can be with regard to grasping its concepts, Donald Reay's hands-on approach had the participants absorbed for a full two days trying out the various lab experiments. The material used in the workshop was only a snapshot of the full suite of teaching materials contained in AUP's Lab-in-a-Box (LiB) on DSP. The hardware used was the ARM Cortex-M4 based STM32F4-Discovery kit (serving as the DSP processor) and the Wolfson WM5102 codec, similar to the codecs in some versions of the Galaxy S4 and AQUOS smart phones. The ARM Cortex-M4 based STM32F4-Discovery kit is available for about 15 USD, well within the reach of students. Equally noteworthy is that there are a couple more Labs-in-a-Box (LiBs) from AUP that use the very same ARM Cortex-M4 based STM32F4-Discovery kit, one on Efficient Embedded Systems Design (memory-mapped I/O programming methodology) and the other on Real-time Operating System Design (RTOS), consequently enabling a university to cover a stream of three courses and associated labs efficiently with the same Discovery kit.

Many features of the ARM Cortex-M4 processor, starting with the DSP instructions it implements, make it the choice for DSP. The fast Multiply-Accumulate (MAC) feature, SIMD capability, saturating arithmetic instructions as well as hardware floating point unit, all pack the ARM Cortex-M4 with the computational power required for DSP applications. In particular, the combination of its Harvard architecture and single-cycle MAC feature enable efficient computation of the sums of products involved in Finite Impulse Response (FIR) filters and Fast Fourier Transforms (FFTs). Finally, its energy-efficient operation makes it suitable for mobile applications, which intrinsically have a lot to do with DSP.

What is DSP?
Sampling
Reconstruction
DSP could be....JPGSampling.JPGReconstruction.JPG

Each workshop day began with an explanation of DSP concepts interspersed with demos. Spurred on by the demos, the participants would follow suit, trying out the experiments themselves. Audio signals were used for demonstrating the DSP concepts for two reasons: The easy availability of laboratory equipment capable of handling audio signals in universities across the globe and the human capacity to relate to audio signals. The first lab was about talking through the codec and getting the human voice out unchanged. The second about adding an echo to the human voice (talk-through with buffered voice). In the third, a sinewave was generated using 8 sample signal values from a look-up table in the user code, showing the possibility of generating audio signals with any desired frequency whenever required. The sinewave output of the codec in turn was very smooth, indicating the high-quality low-pass filtering capability of the Digital-to-Analog Converter (DAC) in the Wolfson codec. Later experiments gave a good feel for how FFTs could be effectively employed in making adaptive filters for performing noise cancellations on an audio signal such as the voice of an airline pilot amidst the aircraft engine noise in the background.

Ideal Low-pass Filter
More Sampling v/s Reconstruction
Codec Functionality
Ideal Low-pass Filter.JPGMore Sampling.JPGWM102 Codec Functionality.JPG

The pedagogy built into the experiments was aimed at bringing clarity to the understanding of DSP concepts. The software required to program the hardware too was in-keeping with the pedagogy and involved only two functions – One to initialize the codec using the I2C interface and the other, an interrupt handler, to initiate the sampling of audio signals and any required processing of the sampled signal values. Any code changes or additions required from one lab experiment to the next were thus only incremental in nature and completely resident within the interrupt handler.

Simple Code Structure
And so, 48 hours later...
Code - Sampling and  Instantiating ST Discovery.JPGIMG_1307.JPG
Anonymous
Parents
  • Sadanand Gulwadi
    Sadanand Gulwadi over 10 years ago

    Dear Jayasudha,

    Thank you for your very kind note. We are indeed glad you recognize the value of ARM University Program’s courseware and supporting faculty workshops in bringing out the essentials in complex topics such as DSP with a hands-on pedagogical style using appropriate ARM-based hardware for DSP. We in turn do understand the need for many more of such workshops. We shall therefore plan some workshops again in 2016. We shall definitely keep you posted as to the time and the place. Thanks, again, for your kind appreciation of our work!

    Regards,

    Sadanand Gulwadi

    ARM University Program<http://www.arm.com/support/university/educators/index.php>, America

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
Comment
  • Sadanand Gulwadi
    Sadanand Gulwadi over 10 years ago

    Dear Jayasudha,

    Thank you for your very kind note. We are indeed glad you recognize the value of ARM University Program’s courseware and supporting faculty workshops in bringing out the essentials in complex topics such as DSP with a hands-on pedagogical style using appropriate ARM-based hardware for DSP. We in turn do understand the need for many more of such workshops. We shall therefore plan some workshops again in 2016. We shall definitely keep you posted as to the time and the place. Thanks, again, for your kind appreciation of our work!

    Regards,

    Sadanand Gulwadi

    ARM University Program<http://www.arm.com/support/university/educators/index.php>, America

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
Children
No Data
Embedded and Microcontrollers blog
  • Formally verifying a floating-point division routine with Gappa – part 2

    Simon Tatham
    Simon Tatham
    A method of testing whether a numerical error analysis using Gappa really matches the code it is intended to describe.
    • September 4, 2025
  • Formally verifying a floating-point division routine with Gappa – part 1

    Simon Tatham
    Simon Tatham
    Learn the basics of using Gappa for numerical error analysis, using floating-point division in Arm machine code as a case study.
    • September 4, 2025
  • Adapting Kubernetes for high-performance IoT Edge deployments

    Alexandre Peixoto Ferreira
    Alexandre Peixoto Ferreira
    In this blog post, we address heterogeneity in IoT edge deployments using Kubernetes.
    • August 21, 2024