Presenter Information

Spencer SmithFollow

Document Type

Poster Session

Department

Engineering

Faculty Mentor

Dr. Mariusz Jankowski

Abstract

This project's goal is to create a visual representation of digital signal processing using a Raspberry Pi Pico board. External components will interface with the Pico to supply digital signals and display the results after processing the signal. A microphone will supply the signal to the Pico which will perform a Fourier Transform on the data and output a spectrogram to a display. The display is named ILI9341 which includes an SPI interface, micro SD card slot, and a 2.2 inch screen. The spectrogram includes the magnitudes of the transformed signal at each frequency and time. Each magnitude is illustrated as a color that indicates what the magnitude is in decibels. Each color also has 32 different shades which also indicates if the magnitude is less or greater. Additionally, each of the 12 colors represents decibel ranges between 0 and 10. The frequency axis of the spectrogram ranges from 0 to 20,000Hz as this is the range for audio signals. In order to program the raspberry pi pico, the computer programming language C++ is used. C++ allows the user to implement instructions that will be executed. C++ can control the entire board with access to input and output pins. The code will read data sent by a microphone to an ADC pin and store the data as digital values. A Fourier Transform is performed on the input data which is sent to the pins connected to the ILI9341 LCD display. The sent data tells the display to draw pixels with color for each frequency and magnitude. The screen is refreshed as new data is collected and sent.

Share

COinS
 

Real-Time Filters

This project's goal is to create a visual representation of digital signal processing using a Raspberry Pi Pico board. External components will interface with the Pico to supply digital signals and display the results after processing the signal. A microphone will supply the signal to the Pico which will perform a Fourier Transform on the data and output a spectrogram to a display. The display is named ILI9341 which includes an SPI interface, micro SD card slot, and a 2.2 inch screen. The spectrogram includes the magnitudes of the transformed signal at each frequency and time. Each magnitude is illustrated as a color that indicates what the magnitude is in decibels. Each color also has 32 different shades which also indicates if the magnitude is less or greater. Additionally, each of the 12 colors represents decibel ranges between 0 and 10. The frequency axis of the spectrogram ranges from 0 to 20,000Hz as this is the range for audio signals. In order to program the raspberry pi pico, the computer programming language C++ is used. C++ allows the user to implement instructions that will be executed. C++ can control the entire board with access to input and output pins. The code will read data sent by a microphone to an ADC pin and store the data as digital values. A Fourier Transform is performed on the input data which is sent to the pins connected to the ILI9341 LCD display. The sent data tells the display to draw pixels with color for each frequency and magnitude. The screen is refreshed as new data is collected and sent.

 

To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.

 
blog comments powered by Disqus