Name of the Lab with Code: EE322 Digital Signal Processing lab

Faculty In charge: Dr. Sujit Kumar Sahoo

What are we going to learn?
The Digital Signal Processing (DSP) Laboratory is dedicated to the analysis and modification of signals to extract and enhance desired information. This process involves the application of advanced mathematical and computational algorithms to both analog and digital signals, aiming to produce outputs of superior quality.
The primary objective of the DSP lab is to provide students with hands-on experience in simulating and experimenting with digital signals and systems. Through this lab, students will implement DSP algorithms using various computational platforms and tools. This practical approach will allow them to critically analyze the behavior of their implementations, gaining insights into the limitations and capabilities of the platforms and tools employed.

Facilities:

  • The software facilities include the following:
    • MatLab
    • Keil MDK Embedded Development Tool
  • The Hardware facilities include the following:
    • STM32F746 discovery Kit
    • Different types of Microcontroller boards such as Arduino, Raspberry Pi, etc.
    • All types of necessary sensor modules required for the lab
  • Test and measuring instruments:
    • Digital Storage Oscilloscopes 70 MHz
    • Function/ Pulse Generators 25 MHz
    • Microphones
    • Headphones
    • Speakers
  • Computers include various software and application
    • Intel Core I7 Desktop Computer

List of Experiments:

  1. Introduction to the STM32F407 Discovery and Wolfson Audio card
    • The STM32F407 Discovery is a low-cost development platform featuring a 168MHz STM32F407 ARM Cortex-M4-based processor. It connects to a host PC via a USB cable using the ST-LINK programming and debugging tool. The Keil MDK-ARM development environment, running on the host PC enables software written in C to be compiled, linked and downloaded to run on the Discovery. Real-time audio i/o is provided by the Wolfson Pi Audio card which may be connected to the Discovery using flying leads. This exercise introduces the use of the ST Discovery and Wolfson Audio Card and several of the procedures and techniques that will be used in subsequent lab exercises.
  2. ANALOGUE INPUT AND OUTPUT
    • The examples in this exercise concern the characteristics of the Wolfson WM5102 codec (analog to digital converter (ADC) and digital to analog converter (DAC)) used on the Wolfson Pi Audio Card. The effect of sampling rate on the bandwidth of a digital signal processing system is examined and the phenomenon of aliasing is demonstrated.
  3. To LUT sinusoid generation and viewing Program Output
    • The examples in this exercise concern the fact that you should have become familiar with a simple procedure to import Matlab data that is generated in the DSP Education Kit.
  4. Understanding sampling and reconstruction
    • The examples in this exercise concern you should have a clear understanding of the impact of a complete sampling (A/D) and (D/A) reconstruction chain as implemented on the DSP Education Kit (STM32F746G board).
  5. Measuring the frequency response of a moving average filter
    • This laboratory exercise introduced FIR filtering using a moving average filter of length 5 as a baseline. Students should now be ready to assess in the lab the frequency response of other FIR filters running in real-time on the STM32F746G board.
  6. Measuring the frequency response of an FIR and IIR comb filter
    • This laboratory exercise introduces the implementation and real-time test of different comb filters. Students should know why comb filters are called so, what their frequency response magnitude looks like, and how it changes as a function of the length of the delay line and of the ALFA and BETA coefficients.
  7. DMA operation and LCD graphical capabilities
    • This laboratory exercise introduces the DMA operation, with the differences between interrupt-based transfer of audio samples, and DMA-based transfer of audio samples, and their impact in terms of processing and processor load. The time-domain and frequency- domain graphical representation on the STM32F746G LCD are very convenient features that we will use in future lab experiments.
  8. Measuring the frequency response of an All-Pole and All-Pass filter
    • This laboratory exercise introduces the implementation and real-time test of two 2nd-order IIR filters, one of them corresponding to an All-Pole system, and another one corresponding to an All-Pass system. The impact of the group delay of the All-Pass system has also been observed when the input waveform is a sine wave or a sawtooth wave.
  9. Finite Impulse Response (FIR) Filters
    • This laboratory exercise has introduced FIR filters and explored several different frequency response modifications.
  10. Revisiting FIR Filters and Lab experiments involving an FIR differentiator and HilbertTransformer
    • This laboratory has revisited the theory of FIR filters, the underlying concepts of Z-plane zero distribution, linear-phase, minimum-phase and other alternative phase responses, and has proposed a lab implementation of a discrete-time differentiator, and Hilbert transformer, which motivated a discussion on the practical relevance and interpretation of the corresponding results.
  11. Infinite Impulse Response (IIR) Filter
    • This Lab motivated the design, implementation, and experimental test of a 6th-order IIR band- stop filter. The advantages of decomposing the filter into a second-order section have been implicitly highlighted. Finally, a simple conversation of the 6th-order IIR band-stop filter into a 6th-order IIR all-pass filter has been motivated as well as the experimental verification of its impact on structured waves such as the sawtooth wave.
  12. Spectrum analysis using the Fast Fourier Transform
    • This Lab motivated the use of the FFT in a number of simulation and real-time experiments so as to i) understand and recognize the leakage phenomenon as well as the aliasing phenomenon, ii) understand and recognize the effect of windowing in moderating the leakage phenomenon, iv) to observe and understand real-time spectrum analysis using both the STM32F7 platform and the oscilloscope, and v) to perform basic spectrum analysis using either a sinusoidal input or a more structured periodic waveform such as the sawtooth wave.
  13. Adaptive Filters
    • This laboratory exercise has introduced the LMS and normalized LMS algorithms for adaptive FIR filters. Real-time implementations of system identification have been demonstrated.

we refer to?
ARM-based Digital Signal Processing Lab-in-a-Box “ST Discovery Board and Wolfson Audio CardEdition”

Moving average filters:

https://www.analog.com/media/en/technical-documentation/dsp-book/dsp_book_Ch15.pdf

Comb filters: https://en.wikipedia.org/wiki/Comb_filter

Link to Board information and resources:
https://www.st.com/en/evaluation-tools/32f746gdiscovery.html#overview

Using DMA controllers in STM Discovery boards:
https://www.st.com/content/ccc/resource/technical/document/application_note/27/46/7c/ea/2d/ 91/40/a9/DM00046011.pdf/files/DM00046011.pdf/jcr:content/translations/en.DM00046011.pdf

For more details about DMA:
http://cires1.colorado.edu/jimenez-group/QAMSResources/Docs/DMAFundamentals.pdf

How do we run lab sessions?

We will be using Keil MDK and MatLab software for programming and simulation and STM32F746 discovery Kit for the practical implementation of the experiment.

Who are going to help us?

Parmeshwar (Technical Superintendent, SES) and Class TA’s

Where can we access the course material?

We will be using Google Classroom for course management.

STM32F746G DISCOVERY BOARD

DMM

RPS

DSO

AFG