Hallo,

ja, die etwas konfuse Auswertung der ZVEI-Töne war ja der Grund für mich, mich dem Projekt überhaupt zu widmen :). Da habe ich relativ viel getan in dem Ding, allerdings habe ich den Goertzel-Algorithmus nicht wirklich angefasst sondern lediglich die Bewertung seiner Ausgabe modifiziert.

Die Deutungen von "tote" und "totte" sind wohl richtig, wenn ich mich recht entsinne. Ich habe darüber sowohl den lautesten Ton erkannt als auch meiner Erinnerung nach eine "Rauschsperre" definiert (Anteil der TOTTE an TOTE, Zeilen 619-624 in MonitorModuleZVEI.cpp). Der zweite und dritte Ton ist meiner Erinnerung nach irrelevant für die Ausgabe in den von mir geschriebenen Abschnitten, könnte aber im Bereich der Sirenenton-Detektion nochmal eine Rolle spielen (Doppelton). Die hinterfragten 40% (0.4) waren pi*Daumen, ich hatte das konfigurierbar gemacht über den squelch-Parameter, der standardmäßig bei 51% (Anteil des detektierten Tons an der Summe aller Töne - "tote" wird berechnet in Zeile 521 als Summe aller Energien der detektierten Einzeltöne) liegt.

Der Ablauf also im monitord, wenn ich mich nicht total verfranzt habe gerade im Code: Pro gesuchter/betrachteter/definierter Frequenz wird deren Energie berechnet. Die aufsummiert ergeben die Gesamtenergie des Signals. Wenn eine der Einzelfrequenzen einen Anteil von mehr als 51% an der Gesamtenergie hat, wird sie als detektiert betrachtet und ausgegeben. Liegt der Anteil darunter, schlägt die "Rauschsperre" zu (konfigurierbar via XML-Config).

Viele Grüße
Martin