Using the PSoC6 PDM to PCM converter to convert data input from two digital MEMS microphones in PDM format to 16 bit PCM. The PDM clock is determined by dividing a high frequency clock (16307.692kHz) by 8 = 2038.46kHz, which is further divided by 64 to determine the PCM sampling rate = 31.85kHz. This PCM data is then downsampled by a factor of 4, and written to the I2S TX_FIFO where 16 bit words are output at a frame rate of 7.963kHz. More specifically, two separate DMA transfers are used to transfer data output by the PDM to PCM converter to an audio buffer, and from the audio buffer to the I2S TX_FIFO. When I listen to the I2S audio output, it is as expected for the first 1-2 minutes after program execution, but then I hear static, indicating that data is being read from the audio buffer faster than it is being written to. This problem does not occur if there is no downsampling and the same value is used for the PCM sampling rate and I2S frame rate. Any suggestions on how to ensure correct synchronization of the PDM to PCM converted data and I2S audio output when the data is downsampled first?
最后
以上就是优美手套最近收集整理的关于matlab pdm转pcm_Solved: PDM to PCM conversion and I2S audio output - Cypress Developer Community的全部内容,更多相关matlab内容请搜索靠谱客的其他文章。
发表评论 取消回复