I am currently working on a project that will enable the microphone data to be read and saved in a similar fashion to that of micarray_recorder. The intention is to provide easier direct access to the microphone data and an improved sample rate. Additionally, having briefly tested the array in a semi-anechoic chamber at various single frequencies, the harmonic distortion is very high which I can only contribute to the demodulation process itself.
Harmonic distortion will be present, that is an inevitable fact! However it shouldn’t really be this high and all the sigma-delta modulation / demodulations I have modelled in Matlab / Simulink confirm this (60 dB THD), even using only a CIC filter for full demodulation of a 64 x Fs PDM signal where Fs = 48 kHz. I can only assume they have used CIC decimation filters as the Spartan-6 only has 8 DSP slices, which massively limits things!!
Anyway, to get to the main point, I am unsure of the best way to send the data from the FPGA over to the Pi and save it in a file (as raw format or else). I have used UART before when wanting to do this from an FPGA (linked to Matlab or Teraterm), however I’m not convinced this is the best method for it. I think creating a program in C/C++ as with micarray_recorder is the best way forward however my C/C++ is fairly limited at the moment so any help / advice or pointing me the right direction will be greatly appreciated! I’m happy to share info, code, models etc if anyone so wishes!
Thanks in advance.