Mit welchen Techniken kann man die Einschaltzeit eines Sinustonbursts in einem verrauschten Signal abschätzen?
Angenommen, der Tonimpuls hat eine bekannte feste Frequenz (aber eine unbekannte Phase) und eine sehr scharfe Anstiegszeit, und das Ziel besteht darin, die Einschaltzeit innerhalb von besser als der Hälfte der Anstiegszeit und / oder einer Periode der Frequenz des Tons abzuschätzen , wenn möglich. Wie können sich die Schätztechniken ändern, wenn das S / N-Verhältnis sehr niedrig ist (viel weniger als 1)?
Hinzugefügt: Angenommen, der Tonimpuls hat eine unbekannte Länge, ist aber länger als ein kleines Vielfaches der Anstiegszeit und der Frequenzperiode.
Hinzugefügt: Eine DFT / FFT zeigt die sehr wahrscheinliche Existenz eines Tons. Das Problem besteht darin, genau herauszufinden, wo im FFT-Fenster der Ton (oder möglicherweise mehrere Tonbursts mit der gleichen Frequenz) im FFT-Fenster begonnen hat, oder zu bestimmen, ob der aktuelle Ton außerhalb dieses DFT-Fensters begonnen hat, vorausgesetzt, ich habe alles zusätzliche Zeitbereichsdaten.
Die Genauigkeit der Radarimpulserkennung ist näher an der von mir benötigten Auflösung, außer dass ich nur eine Flanke habe, da der Ton eine unbekannte Länge hat und, abgesehen von einer bekannten Anstiegszeit, nicht moduliert ist. Schmalbandpassfilter verzerren die Anstiegszeit und töten somit die Auflösung der Kantenankunftsschätzung.
quelle
Antworten:
Wie wir in den Kommentaren besprochen haben, ist der Goertzel-Algorithmus die übliche Methode, um einen Rauschton zu erkennen. Nach der Diskussion bin ich mir nicht sicher, ob es wirklich das ist, wonach Sie suchen (Sie wollen die Startzeit ), aber es schien Verwirrung darüber zu geben, wie der Goertzel-Algorithmus auf Ihr Problem angewendet werden könnte, und deshalb dachte ich, ich würde es aufschreiben Hier.
Goertzel-Algorithmus
Der Goertzel-Algorithmus ist gut zu verwenden, wenn Sie die Frequenz des gesuchten Tons kennen (nennen Sie ihn ) und wenn Sie eine vernünftige Vorstellung vom Geräuschpegel haben, so dass Sie eine geeignete Erkennungsschwelle auswählen können.fg
Man kann sich vorstellen, dass der Goertzel-Algorithmus immer die Ausgabe von EINEM FFT-Bin berechnet:
Die Wikipedia-Seite bietet eine bessere Möglichkeit, dies zu berechnen.
Hier ist ein (schwacher) Scilab- Versuch, es zu implementieren:
woϵ(n) der Mittelwert Null ist, Einheitsvarianz Gaußsches weißes Rauschen.
In diesem Beispiel beginnt der Ton bei Index 1001 zu einem Drittel im Signal.
Wenn wir den Goertzel-Algorithmus mit ausführenfg=f−0.001 wir die ersten beiden Spuren der Figur.
Wenn wir den Goertzel-Algorithmus darauf mit ausführenfg=f wir die beiden unteren Spuren der Figur.
Die vier Spuren sind:
Wie Sie sehen, liegt der Spitzenwert für den Ton, an dem wir interessiert sind, bei etwa 250. Wenn wir die Erkennungsschwelle auf etwa die Hälfte dieses Wertes (125) einstellen, erfolgt die Erkennung (der Quadratwurzelwert ist größer als 125) ) bei ungefähr Index 1450 --- 450 Abtastungen, nachdem der Ton begonnen hatte.
Diese Schwelle (125) wird im anderen Fall keine Erkennung auslösen (für diesen Lauf jedenfalls), aber der Maximalwert dieser Ausgabe beträgt 115,24. Wir können die Schwelle nicht zu stark reduzieren, ohne eine falsche Erkennung zu erhalten.
Das Verringern des Schwellenwerts auf 116 führt im zutreffenden Fall (für diesen Lauf) zu einer Erkennung bei Index 1401. Es besteht jedoch die Gefahr, dass weitere Fehlalarme auftreten.
quelle