Learn how to:
- Process PDM data to PCM
- Interface to a PDM microphone
This project is preceded by interfacing the PDM microphone to an SPI interface of an MCU as discussed here https://github.com/VictorTagayun/STM32_SPI-Master-RX-DMA_SingleBoard
This project will:
- Use a predefined stream of PDM data and convert/pack to byte size for input to the PDM filter
- Feed the byte converted PDM data to PDM Filter and check the PCM-converted data and plot to excel/speadsheet
Get PDM bitstream data from
- Single cycle Full scale sinewave https://github.com/siorpaes/pdm_playground/blob/9aa442d8a7e3265fbcdbfb66111b8dbad301e928/pdmgenerator/Host/tones/pdm1MHz/tone500Hz.h
- Single cycle Lower amplitude sinewave https://github.com/siorpaes/pdm_playground/blob/9aa442d8a7e3265fbcdbfb66111b8dbad301e928/pdmgenerator/Host/tones/pdm1MHz/tone500HzA4.h
Since these data are 2000 bits only, it is not divisible by a factor of 64 which will be chosen as the decimator qty/factor. To remedy this, we need to multiply the PDM data by 4. So we get 8000bit which will yield exatly 125 PCM data.
See details of the problem here.
https://community.st.com/s/question/0D53W000019CZzmSAG/pdmfilter-erroneous-1st-2-pcmconverted-data
and the explanation here
siorpaes/pdm_playground#1 (comment)
Go to My Linkedin posts/shares/activities
Disclaimer: Updated Disclaimer
The projects posted here are for my Personal reference, learning and educational purposes only. The purpose of a certain project may be for testing a module and may be just a part of a whole project. It should not be used in a production or commercial environment. Any cause of injury and/or death is the sole responsibility of the user.