Welcome to the intuitive Digital Signal Processing (iDSP) collaborative project
This page gathers reactive material for developing intuition in Digital Signal Processing.
Teaching indeed is a Communication Theory problem (and also of course a matter of presence, performance, humour, feeling etc.). How to best transfer information to students through the limited capacity of the speech and visual channels? A possible answer is: by using interactive, reactive images, which bring some sort of “biofeedback loop” and quickly make abstract concepts more accessible.
The material exposed here is organized into a list of figures which are usually proposed statically in textbooks, leaving considerable mental work on the student side to go from figure to concept. For each figure, we make our best to propose pointers to:
- Reactive tools, which are the heart if the project. They are webapps which require no specific installation to run. Tools augment the figure with reactive components which involve students in the understanding of the concept. Tools are open source.
- Videos, which show how tools can be used to activate the figure. They are ideally snapshots of the tools, without spoken comments so as to let professors comment by themselves. Videos are Creative Commons.
- Code, available for students with technical background to check how concepts are implemented and possibly build on this implementation. At best, code comes from the tools themselves (in which computational code should be isolated from graphical code)
- Papers, when available, for a deeper understanding.
This material is taken from third parties when available (with their own licenses), or built on purpose.
If you want to contribute, or make suggestions or comments, drop us a line.
Streamlit has been used for the design of most iDSP apps, and then transformed into html5/javascript code by AI. If you want to create an iDSP app using the python StreamLit library, see this How-To guide.
The big picture
Below is a list of concepts we hope to see someday in this project. Some are available above at the time of writing these lines. Others are waiting for some good soul to be developed and shared. This list is open. Do not hesitate to send a mail to provide your input.
- Periodic waveforms (ex : sinus, square, sawtooth, sinc, impulse) : a, f, phi
- Power of a signal, RMS, an dBs. Link to audio norms for concerts
- Loudness. Measure perception from the listener, and apply frequency compensation on a chirp for equal loudness perception
- Simulate the audition after exposure to loud sounds without protection
- Simulate how very loud sounds are perceived when the ear distorts them (but do it on moderate loudness sounds)
- Sum of signals, including with opposite phase
- SNR on audio signals
- SNR on images
- Product of signals, vibrato, AM modulation
- Scalar product of signals with dirac impulses
- Scalar product of signals with phasors
- Fourier as scalar product with phasors
- 1-D convolution + practical application
- Convolution d’images et extension vers CNN
- Sampling (to be split into several experiments : sampling, aliasing, anti-aliasing filter)
- Uniform quantization (incl. dithering)
- Shannon and signal reconstruction in the time and freq domains
- Real D/A conversion : zero-hold and smoothing filter
- More complex quantization schemes (A, mu, one bit …)
- Upsampling
- Dowsampling
- Oversampling and application
- Compressive sampling
- Articulatory acoustics
- Linear prediction modeling and synthesis
- Panning, binaural phase shifting, HRTFs for audio spatialization
- Sub-band decomposition and reconstruction
- Sub-band coding, mp3
- Possibly extend to neural nets, HMMs,…
Existing material available from third parties can somehow be used for inspiration or for pointing to some demos
Credits
The iDSP project was initiated by Profs. Marcelo Wanderley (IDMIL, McGill) and Thierry Dutoit (ISIA Lab, UMONS) during a 2-month sabbatical stay in Montreal (April-May 2022).
Some of the material proposed here comes from the IDMIL DSP Workbench page, Neil Thapen’s game page, Jack Schaedler’s brilliant Seeing Circles, Sines, and Signals pages.