I2S Mikrofon und PIC32MX170F256 als Alternative zu MSGEQ-7

Als günstige Alternative zu einem MSGEQ-7 (Einzelpreis 5,45€) für ein Graphic Equalizer Display (5-Kanal Lichtorgel) ein kleiner Exkurs in die DSP Welt:

Von Knowles gibt es sehr (sehr) kleine Mikrofone, die direkt das Audio Signal als I2S Datenstrom ausgeben (Einzelpreis 2€).

Dieses wird direkt an den I2S Port des PIC32 (Einzelpreis 4€) angeschlossen und mittels DMA im Hintergrund ausgelesen. Nach jeweils 4096 Samples bei 48 kHz wird der DMA Interrupt ausgelöst (etwa 48 mal pro Sekunde) und die Samples des unbeschalteten Kanals weggeworfen und je zwei aufeinanderfolgende Samples des verbleibenden Kanals gemittelt.

Die so übrig bleibenden 1024 Samples (mit einer Abtastfrequenz von nun 24 kHz) werden dann mittels FFT in den Frequenzraum überführt und auf die 5 Bänder aufgeteilt.

Die Anzeige der Balken erfolgt über eine Matrix aus WS2812 LEDs:

bildschirmfoto-2016-09-23-um-21-14-11