Gewusst wie: implementieren einer matched-filter
Habe ich eine Vorlage. Ich berechnen die Impulsantwort des matched-filters, indem die inverse Fourier-Transformation die konjugierte der Fourier-Transformation meinem template. Und ich möchte zur Durchführung der matched-Filterung Betrieb auf einem meiner verfügbaren EEG-Kanäle durch den "filter" - Befehl in Matlab. Mit den filter-Befehl, der Koeffizient 'b' ist mein Impulsantwort? Darüber hinaus würde ich gerne umsetzen Matlab-code zur Schwelle der Ausgang des matched-filter-peaks zu erkennen.Wie kann ich es erreichen?
- Bitte fügen Sie ein wenig mehr Details zu deiner Frage. Was haben Sie versucht? Welche Probleme haben Sie mit der
filter
Funktion? Sie sprechen in jargon, was darauf hindeutet, Sie verstehen das problem, aber deine Frage zeigt, dass Sie nicht verstehen, was Sie tun. Helfen Sie uns herauszufinden, was Teil, den Sie tatsächlich Hilfe benötigen. - Ich habe eine Vorlage. Ich berechnen die Impulsantwort des matched-filters, indem die inverse Fourier-Transformation die konjugierte der Fourier-Transformation meinem template. Und ich möchte zur Durchführung der matched-Filterung Betrieb auf einem meiner verfügbaren EEG-Kanäle durch den "filter" - Befehl in Matlab. Mit den filter-Befehl, der Koeffizient 'b' ist mein Impulsantwort? Darüber hinaus würde ich gerne umsetzen Matlab-code zur Schwelle der Ausgang des matched-filter-peaks zu erkennen.Wie kann ich es erreichen?
- Super!!! Jetzt sind wir immer näher an eine Frage beantwortbar. (Vielleicht sollten Sie überlegen, mit der Bearbeitung Ihrer Frage, anstatt das hinzufügen von details in den Kommentaren.) Nun, was haben Sie bisher ausprobiert, und auf welche Probleme Sie stoßen?
- Ich bin mir nicht sicher, ob ich es sollte, ersetzen Sie 'b' - Koeffizienten mit der Impulsantwort oder des konjugats von FT. Über die Schwelle habe ich keine Idee, wie es zu tun und ich warte auf einen Vorschlag.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist ein Anfang für Sie,
Andreas erwähnt in seiner Antwort, es gibt keine Notwendigkeit für die fourier-Transformation. Wenn Sie eine time-domain-template, dann ist dessen matched-filter ist einfach eine Zeit-umgekehrte version von selbst (was ich erreichen mit
flipud
). Wie Sie entlang gehen, werden Sie feststellen, dass es viele Nuancen ausgearbeitet werden. Dieser code funktioniert gut, weil ich bin in der Steuerung von Anfang bis Ende, aber einmal Sie beginnen arbeiten mit echten Daten, werden die Dinge viel komplizierter. Die Wahl einer geeigneten threshold-Wert zum Beispiel erfordert einige Kenntnisse über die Daten, die Sie arbeiten werden.In Wahrheit, peak-Erkennung kann ein sehr nicht-triviale Aufgabe, je nach Art der Signale, usw. In meinem Fall, peak-Erkennung war einfach, weil mein signal war völlig unkorreliert mit der Vorlage, außer an dem Punkt in der Mitte, und ich wusste auch genau, was amplitude, die ich erwarte, um zu sehen. Alle diese Annahmen sind Vereinfachungen des Problems, die ich verwendet, um die Konzepte zu veranschaulichen.
Praktisch, tun Sie dies
mit h die impuse Antwort und die x-und y-input-und output-Signale.
Das matched-filter ist nichts anderes als ein Korrelator korreliert mit einem bestimmten signal-Muster.
Es hat eine Impulsantwort, die nur die Zeit, die Umkehrung der signal-Muster, das Sie versuchen, zu suchen.
So nebenbei: Wenn Sie einen gemessenen signal-Muster, es rückgängig zu machen und diesen als Impulsantwort eines FIR-filters. Es gibt keine Notwendigkeit, dies zu tun in der Frequenz-Domäne, wenn Sie Messung im Zeitbereich (beide Ansätze sind gleichwertig, aber eher fehleranfällig ist dann die andere)