hallo, ich experimentiere gerade mit den Pollin Funkmodulen. Um die Übertragungssicherheit zu verbessern, habe ich ganz vorbildlich das Forum durchforstet und bin auf http://www.mikrocontroller.net/articles/Codierte_%C3%9Cbertragung gestoßen. Ein Abgleich mit dem Autokorrelationsartikel auf Wiki hat aber erschütterndes zu Tage gefördert: Ich hab glaub ich dieselbe noch nie verstanden :-o. Jedenfalls kann ich nicht nachvollziehen, wie die Autokorrelationskurve (AK) http://en.wikipedia.org/wiki/File:Barker7corr.svg entsteht. Ich bitte um Hilfe! Vorweg die Frage: zur Berechnung der AK multipliziere ich eine Funktion mit ihrer selbst, nur verschoben, und integriere das Ergebnis. Bei digitaler Kurve also summieren. Was kommt bei der um t verschobenen Kurve rein? Nullen? (bzw -1) Also würde mich allgemein Interessieren nicht nur auf +1/-1 Folgen bezogen auch klassische 0/1 Folgen - im angehängt gedachten Bereich wird die Funktion zu 0 angenommen? Konkret so wie ich mir vor Wiki die AK des Barker codes der Länge 7 vorgestellt hatte.... +1 +1 +1 -1 -1 +1 -1 //code //Auffüllen??? //code //auffüllen??? 0 0 0 0 0 0 0 +1 +1 +1 -1 -1 +1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1 +1 +1 -1 -1 +1 -1 0 0 0 0 0 0 0 //t=0 ------------------------------------------------------------- 0 0 0 0 0 0 0 +1 +1 +1 +1 +1 +1 +1 0 0 0 0 0 0 0 //Summe 7 ok aber warum findet sich das bei t=7? //Frage, ob summe von -t/2 bis t/2 oder 0 bis t? 0 0 0 0 0 0 0 0 +1 +1 +1 -1 -1 +1 -1 0 0 0 0 0 0 //t=1 ------------------------------------------------------------ 0 0 0 0 0 0 0 0 +1 +1 -1 +1 -1 -1 0 0 0 0 0 0 0 //Summe 0 0 0 0 0 0 0 0 0 +1 +1 +1 -1 -1 +1 -1 0 0 0 0 0 0 //t=2 ------------------------------------------------------------ 0 0 0 0 0 0 0 0 0 +1 -1 +1 -1 -1 0 0 0 0 0 0 0 //Summe -1 0 0 0 0 0 0 0 0 0 +1 +1 +1 -1 -1 +1 -1 0 0 0 0 0 //t=3 ------------------------------------------------------------ 0 0 0 0 0 0 0 0 0 +1 -1 -1 -1 +1 0 0 0 0 0 0 0 //Summe -1, sollte aber 0 sein? Verwirrung komplett, oder ist es klar geworden wo mein Problem ist? Vielleicht zeigt ihr mir mal, wie die Autokorrelation entsteht und wieso das max bei 7 und nicht 0 ist? habt Dank
>>Was kommt bei der um t verschobenen Kurve rein? Nullen? (bzw -1)
Die Kurve selbst: periodisch fortsetzen.
Das wird mit +/-1 gemacht, nicht mit 1/0 .
Das von Dir zitierte Bild verstehe ich allerdings nicht: wie kann bei
einem
Barker Code der Länge 7 das Ergebnis 0 rauskommen, eine Summe von 7
Zahlen die entweder 1 oder -1 sind kann doch nicht 0 werden !?
Naja
Cheers
Detlef
clear
a=[1 1 1 -1 -1 1 -1 ];
b=[a a];
%a=[a zeros(1,7)];
a=[a zeros(1,7)];
for(k=1:7)
disp(sprintf('%d ',b))
disp(sprintf('%d ',a))
disp(sprintf('%d ',sum(a.*b)))
a=[a(2:end) a(1)];
end;
return
1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1
1 1 1 -1 -1 1 -1 0 0 0 0 0 0 0
7
1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1
1 1 -1 -1 1 -1 0 0 0 0 0 0 0 1
-1
1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1
1 -1 -1 1 -1 0 0 0 0 0 0 0 1 1
-1
1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1
-1 -1 1 -1 0 0 0 0 0 0 0 1 1 1
-1
1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1
-1 1 -1 0 0 0 0 0 0 0 1 1 1 -1
-1
1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1
1 -1 0 0 0 0 0 0 0 1 1 1 -1 -1
-1
1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1
-1 0 0 0 0 0 0 0 1 1 1 -1 -1 1
-1
hm. verstehe ich irgendwie nicht wirklich. Also von vorne: Kurve wird zyklisch fortgesetzt, auf doppelte Länge, damit verschoben Gegenelemente vorhanden sind. Die zu multiplizierende Funktion hast du aber doch mit Nullen aufgefüllt und dann über die ganze Länge multipliziert wie es scheint. Ist das so weit richtig? Dann kann doch 0 rauskommen, ich habe ja Elemente die mit Null multipliziert werden. Dennoch bekommst du konstant -1 heraus wie ich die Darstellung verstehe... Ich bin ich restlos verwirrt kannst du mich auf Kurs bringen, bitte? Brett vorm Kopf muss abgeschraubt werden
jameson schrieb: > Also von vorne: Kurve wird zyklisch fortgesetzt, auf doppelte Länge, > damit verschoben Gegenelemente vorhanden sind. jawohl > Die zu multiplizierende Funktion hast du aber doch mit Nullen aufgefüllt > und dann über die ganze Länge multipliziert wie es scheint. > Ist das so weit richtig? ja, das ist richtig. Wenn ich nicht mit Nullen auffülle, sondern auch die zu korrelierende Kurve zyklisch fortsetze ändert sich nichts, ausser daß die Ergebnisse alle verdoppelt werden, siehe angehängtes Ergebnis. > Dann kann doch 0 rauskommen, ich habe ja Elemente die mit Null > multipliziert werden. Es sind immer 7 Summanden entweder 1 oder -1, da kann nie 0 rauskommen. > Ich bin ich restlos verwirrt kannst du mich auf Kurs bringen, bitte? > Brett vorm Kopf muss abgeschraubt werden Kein Grund zur Verzweifelung, einfach mal reichlich Karopapier, Bleistift, Spitzer und Radiergummi zur Hand nehmen, das lichtet den Nebel dann schon. Cheers Detlef clear a=[1 1 1 -1 -1 1 -1 ]; b=[a a]; %a=[a zeros(1,7)]; a=[a a]; for(k=1:7) disp(sprintf('%d ',b)) disp(sprintf('%d ',a)) disp(sprintf('%d ',sum(a.*b))) a=[a(2:end) a(1)]; end; return 1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 14 1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 1 -2 1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 1 1 -2 1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 1 1 1 -2 1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 1 1 1 -1 -2 1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 1 -1 1 1 1 -1 -1 1 -1 1 1 1 -1 -1 -2 1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 -1 1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -2
Danke dir wird erledigt der Paperkram, vielleicht mal am WE in Ruhe. Aber der Link am Anfang von mir - der lässt schlimmes befürchten bezgl Wiki? Die Autokorrelationsfunktion sollte ja dann schlicht verkehrt sein. :-o
Hallo, schau dir mal das Programm für Barkercode an. Dann wirds vielleicht klarer. https://www.telecom.hs-mittweida.de/index.php?id=4486 Vereinfacht schauts so aus : Jedes bit von dir wird mit den 11 bits vom Barkercode multipliziert -> daraus werden 11 bit pro bit. Dann wird aus den übertragenen 11 bit mittels Autokorrelation wieder das Original-bit zurückgewonnen. Ciao Franz
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.