Eisserer, G. (2022). Datenerfassung von digitalen MEMS-Mikrofonen mit einem FPGA [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2022.105425
Um die digitalen Signale von MEMS-Mikrofonen verwenden zu können, wurde ein FPGA-Board, das die Steuerung und Verarbeitung der ankommenden Mikrofondaten übernimmt, programmiert. Dabei wurden die verwendeten Filter in Matlab erstellt und simuliert. Nach der Auslegung der Parameter wurden diese mittels HDL-Coder exportiert und in das am FPGA implementierte Programm eingebaut. Dort wurden sämtliche Prozesse an die Clock des Boards synchronisiert und dabei die Ein- und Ausgänge festgelegt. So konnten die ankommenden Signale am Board erfasst, bearbeitet und als serielle PCM-Daten an den Ausgang geleitet werden. Die Umsetzung am Board wurde mittels Xilinx Vivado und SDK vorgenommen. In diesen Tools wurden alle notwendigen Schritte der FPGA Programmierung umgesetzt, sodass das erhaltene Programm auf die SD-Karte geladen und der Controller selbstständig starten kann. Eine möglichst große Anzahl an Kanälen, die synchron verarbeitet werden, wurde versucht umzusetzen. Als Ergebnis konnten 16 Mikrofone gleichzeitig verwendet werden. Durch eine Verbesserung der Implementierung kann diese Zahl noch gesteigert werden. Weiterer Entwicklungsbedarf, der die Filterung auf dem FPGA besser anpasst und so die Ressourcenausnützung steigert, wäre hier vorhanden.Zur Bestimmung der Signalqualität wurden gleichzeitig insgesamt sechs Kanäle für einen Vergleich zu einem Referenzmikrofon verwendet. Die Messungen zeigten, dass die MEMS-Mikrofone mit der selbst entwickelten Signalkette gut funktionieren. Im Vergleich zu dem verwendeten Brüel & Kjaer Kondensatormikrofon ergaben sich zwar Unterschiede im Frequenzgang und der Signalqualität, aber in Anbetracht der enormen Preisunterschiede zwischen den Varianten, sind die Ergebnisse Anlass, MEMS-Mikrofone für weitere Untersuchungen einzusetzen. Das Ziel einen eigenständigen Mikrocontroller zu programmieren, der die Mikrofone ansteuert und die ankommenden Signale verarbeitet, konnte somit erreicht werden. Für weitere Untersuchungen ist eine bessere Simulation der am FPGA angewandten Filter, die vor der Umsetzung nur in Matlab und nicht am Board getestet werden konnten, erstrebenswert. Hierzu bedarf es an einer Simulationslösung in Vivado, mit deren Hilfe die physische Umsetzung der Filtergrößen am Board vorab analysiert werden kann.
de
In order to be able to use the digital signals from MEMS microphones, an FPGA board that takes over the control and processing of the incoming microphone data was programmed. In the process, the filters used were created and simulated in Matlab. After the parameters were designed, they were exported using HDL-Coder and incorporated into the program implemented on the FPGA. There, all processes were synchronized to the board's clock and the inputs and outputs were defined. Thus, the incoming signals could be captured at the board, processed and routed to the output as serial PCM data. The implementation on the board was done using Xilinx Vivado and SDK. In these tools all necessary steps of FPGA programming were implemented, so that the received program can be loaded to the SD card and the controller can start independently. The largest possible number of channels processed synchronously was attempted to be implemented. As a result, 16 microphones could be used simultaneously. By improving the implementation, this number can be increased. There would be a need for further development to better adapt the filtering on the FPGA and thus increase resource utilization.To determine the signal quality, a total of six channels were used simultaneously for comparison to a reference microphone. The measurements showed that the MEMS microphones performed well with the signal chain developed in-house. Compared to the Brüel & Kjaer condenser microphone used, there were differences in frequency response and signal quality, but considering the enormous price differences between the variants, the results are reason to use MEMS microphones for further investigations.The goal of programming an independent microcontroller that controls the microphones and processes the incoming signals could thus be achieved. For further investigations, a better simulation of the filters applied to the FPGA, which could only be tested in Matlab and not on the board before implementation, is desirable. This requires a simulation solution in Vivado, which can be used to analyze the physical implementation of the filter variables on the board in advance.
en
Weitere Information:
Abweichender Titel nach Übersetzung der Verfasserin/des Verfassers