mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Informationen über das Ausgangssignal durch Autokorrelation


Autor: Bernhard W. (bernhardwagner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,

ich bin derzeit auf der Suche nach einer Lösung für mein Problem und 
komme nicht so ganz weiter. Also dachte ich mir ich versuche es mal in 
einer Community und bin auf diese hier gestoßen, ein freundliches Hallo 
an dieser Stelle.

Nun zum Thema, ich denke derzeit darüber nach, ob es eine Möglich gibt 
aus der Autkorrelationsfunktion eines Signal, Rückschlüsse auf Start und 
Endzeitpunkt des Ausgangssignals zu ziehen. Ich meine z.B.:
xk = [1 1 -2 -1];
xk_R = repmat(xk,1,4);
yk_G = [zeros(1,5) xk_R zeros(1,8)];
Korr = xcorr(yk_G);
Die Autokorrelierte die hier berechnet wird sollte ja so aufgebaut sein, 
dass am Anfang und am Ende die Nullen zu sehen sind die angefügt werden 
und im dazwischen die Signalteile. Ich würde jetzt gerne mit Hilfe der 
Informationen aus der Autokorrelierten und der Kenntniss des 
Eingangssignals
xk_R
 aus
yk_G
 automatisiert zurückgewinnen. Für neue Ideen wäre ich dankbar.

Grüße
Bernd

: Bearbeitet durch User
Autor: Dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir ist deine Beschreibung nicht ganz klar.
Möchtest du aus yk_G xk_R zurückgewewinnen?
Oder aus yk_G und xk_R den Signalverlauf von xk?
yk_G ist ja xk_R, einfach mit 0en vorne und hinten. Sind das immer 0en 
oder kann das auch irgendwas z.B. rauschen sein?

Autor: Bernhard W. (bernhardwagner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dave,

ich kenne xk_R und xk, und Messe yk_G, was ich nicht weiß wie viele 
"Nullen" (ja, kann auch ein Rauschen sein) Vorne und Hinten angehängt 
werden. Ich möchte aber exakt den Bereich aus yk_G herrausholen.

Grüße
Bernd

Autor: Dave (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Du könntest die Kreuzkorrelation aus yk_G und xk_R bilden. Anschliessend 
das Maximum suchen. Dann musst du dir überlegen, wie der Index beim 
Maximum zustandekommt. So kannst du die Startposition von xk_R in yk_G 
ermitteln.

Autor: Dogbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist es das?
plot (xcorr(yk_G.+rand(1,length(yk_G)),[xk zeros(1,length(yk_G)-length(xk))]))

Vier Maxima da wo die vier aneinandergereihten original-sequenzen 
maximal korrelieren, also vier mal die Mitte der UR-Sequenz zum Anfang 
zurückrechenbar.

Autor: Christian B. (casandro) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das einzige was Du daraus betreffend "Start-" und "End"zeitpunkt 
bestimmen kannst ist die Dauer, und auch die nicht generell. Grob gesagt 
ist die Signaldauer die Hälfte der "Dauer" der Autokorrelation, 
natürlich unter der Annahme, dass das Signal nicht besondere 
Eigenschaften hat, die die Autokorrelation verkürzen.

Aber für einen Sinusburst sollte das gelten, für einen Chirp aber zum 
Beispiel nicht.

Verschiebst du das Signal in der Zeit, so ändert sich an der 
Autokorellation nichts.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.