Gast
#6240454
Um aus einer Spektraldarstellung eines kontinuierlich einlaufenden Signals sogenannte Moden (Hintergrund der Idee: https://arxiv.org/abs/1912.00414 ) zu extrahieren, suche ich einen Algorithmus analog zu Matlabs findpeak-Funktion, mit dem eine (begrenzte) Anzahl von lokalen Maxima als "Kontrollpunkte" (mit Bin-Index) identifiziert werden können. Konkreter: Es liegt das Ergebnis einer komplexen FFT (N=256 oder N=512) vor, für die bis zu 8 lokale Maxima gefunden werden sollen. Nur Werte über einem bestimmten Schwellwert sollen berücksichtigt werden und nur solche mit einem Mindestabstand zum nächsten zu berücksichtigenden Peak. Eine neue FFT liegt spätestens alle 500us vor oder kommt mit jedem Sample als "Sliding DFT". Naiver Ansatz: Absolutwerte zunächst nach Größe sortieren, danach die mit zu geringem Abstand rausschmeissen und zuletzt die bis zu 8 größten herausfischen (Schwellwert berücksichtigen) - haufenweise Schleifenoperationen, kein Pipelining. Für eine effiziente (und vor allem FPGA geeignete) Implementierung fehlt mir noch die zündende Idee.