Hi Villeicht kann mir einer der Experten weiterhelfen? Ich möchte für mein Funmodul eigene Software schreiben. Welches Protokoll, CRC, ECC schlagt ihr vor, um eine möglichst hohe Geschwindigkeit und Zuverlässigkeit zu erreichen. Hab eigendlich an Manchester Code inkl. CRC gedacht. Macht eine Fehlerkorrektur Sinn, oder sollen die fehlerhaften Daten einfach neu übertragen werden. Bin für jeden Hinweis sehr dankbar. Gruss Andy
Fehlerkorrektur macht Sinn, um eine Neuübertragung der Daten anfordern zu können, mußt Du über ein VollDuplex-Funkmodul verfügen. Wie sonst willst Du der sendenden Seite mitteilen, daß am Empfänger nur Murks angekommen war... Hast Du nur ein normales "einseitiges" Modul, kannst Du die Daten mehrfach senden und hoffen, daß der Empfänger alles mitbekommen hat, was natürlich keine Garantie ist und zu Lasten der Übertragungsgeschwindigkeit geht.
Hi! Benutzt du nicht auch den IA4420? Da kann man doch die Manchestercodierung dezent spritzen, weil der Chip intern eine FSK Modulation macht und somit die 0er und 1er sehr zuverlässig übertragen werden. Einen CRC eventuell mit Fehlerkorrektur macht sehr viel Sinn. mfg Fasti
Hilft der Link? http://www.roboternetz.de/phpBB2/viewtopic.php?t=5540&postdays=0&postorder=asc&start=22
Hi Leute Danke für die Infos. Meine Module können half duplex. Somit ist auch ein neues Anfordern der Daten kein Problem. Werde es mal mit Manchestercodierung und CRC versuchen. Hab bei einem käuflichen Modul gelesen, das bei schnellen Übertragungen "Scrambling" bei mittleren Übertragungen "Manchester" und bei langsamen Baudraten "Manchester und Hamming" Codierung eingesetzt wird. Kann mir jemand was zu Scrambling und Hamming Codierung sagen? Danke im voraus. @Fasti: Wie siehts bei Dir aus? Seit ihr mit Eurem Modul weitergekommen? Ich hab wohl noch recht viel Arbeit vor mir. Gruss Andy
Hi! Ich weiss nicht ob du mit Manchester-codierung bei einem FSK-Modulierten Signal glücklich wirst. Der Chip IA4420 benutzt Frequency-Shift-Keying als Modultaionsverfahren, dabei wird die 0 bzw. 1 nicht über einen Pegelwechsel wie bei Amplituden-Modulation übertragen sondern es wird die Frequenz des Signales verändert. Mir ist da irgendwie grad nicht klar wie man das Manchester-Codieren könnte, vor allem, weil ich ja den Chip nehme um mir Arbeit zu ersparen und deshalb das interne Register und den FIFO benutze um einfach das zu sendende Byte ins Register zu schieben und den Rest macht der Chip. Eine Fehlerkorrektur wäre natürlich hier sehr zu empfehlen aber auf die Manchestercodierung kannst du meines Erachtens verzichten. Zu Hammingcodierung: Definition: Hammingdistanz: Minimum der Distanzen aller möglichen Codewortpaare: Bsp: Codewörter: {100,010,001} h=min{d(100,010),d(100,001),d(010,001)}=min{2,2,2}=2 Fehlererkennung: große Hemmingdistanz hat folgende Vorteile: Wenn durch einen Fehler weniger Bits verfälscht werden, als der Wert der Hammingdistanz h angibt, so ist das Ergebniswort mit Sicherheit kein Codewort. (ein Codewort kann nur durch mindestens h Bitfehler entstehen). Bsp: Codewörter: {100,010,001} h=2 Übertragen wird 100 aber durch Bitfehler kommt 101 an. -> kein Codewort, Fehler erkannt. Durch 2 Bitfehler wird statt 100, 001 übertragen -> 001 ist Codewort, Fehler wird nicht erkannt. Fehlerkorrektur: Ist die Anzahl der Fehler kleiner als h/2 so kann der Fehler nicht nur erkannt sondern auch korrigiert werden. Bsp: Codewörter: {00000,11111} h=5 Es können also bis zu 4 Fehler erkannt und bis zu 2 Fehler korrigiert werden. 2 Fehler: statt 11111 wird 10110 empfangen. Da die Distanz d(10110,11111) kleiner als d(10110,00000) ist wird 10110 als 11111 erkannt. Anmerkung: Bei einer zu großen Anzahl an Fehlern kann es natürlich vorkommen, dass falsch korrigiert wird. bzw. kein Fehler erkannt wird. Redundante Codes: Um größere Hammingdistanzen zu erreichen wird mehr Redundanz in die Codeworte gebracht. D.h. dass nicht nur die übertragende Information sondern auch gewisse (für den Empfänger unnötige) Zusatzinformationen gesendet wird. Bsp: Parity Check Code. Dabei wird für jedes Codewort ein zusätzliches Bit übertragen, dessen Wert so gewählt ist, dass die Anzahl der Einsen(1) gerade ist (=even parity). Ebenso gibt es auch odd parity (Anzahl der Einsen ist ungerade) Daher lässt sich leicht ein Übertragungsfehler erkennen (aber höchstens EIN Fehler, da Hammingdistanz d nur 2 ist!!) Raffinierter Codes: z.Bsp: Minimum Distance-4 Hammingcode (MD4HC) Information Even Parity MD4HC 0000 0 0000 0001 1 0111 0010 1 1011 0011 0 1100 0100 1 1101 0101 0 1010 0110 0 0110 0111 1 0001 1000 1 1110 1001 0 1001 1010 0 0101 1011 1 0010 1100 0 0011 1101 1 0100 1110 1 1000 1111 0 1111 Allgemeine Methode zur Konstruktion von Fehlerkorrigierenden Codes(=Hammingcodes) unter der Verwendung einer Hammingdistanz von 3. für jede natürliche Zahl m gibt es einen (2^m-1)-bit Hammingcode, der m Parity-Bits und 2^m-1-m Informationsbits enthält. Weiteres im Netz. Das mit der Arbeit stimmt ;-), habe grad viele Prüfungen und komme deshalb erst wieder mitte Dezember dazu da weiterzumachen. lg Fasti
Hallo, schaut Euch mal den neuen Chip CC1100 von Chipcon an oder das neue Modul AMB8410 von Amber wireless. Die machen das was Ihr vorhabt.
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.