Hallo, ich übertrage auf einer Funkstrecke einen Wert mit 16 Bit. Für diese 16 Bit sind nur 500 Werte möglich (anhand von anderen Bedingungen ermittelt). Der Empfänger hat eine Fehlertoleranz von 3, d.h. er kann 3 Bitfehler korrigieren. Ich möchte nun berechnen, wieviele dieser 500 möglichen Werte vom Empfänger effektiv unterschieden werden können, da durch die 3 möglichen Bitfehler ja die Werte sich teilweise überschneiden. Jetzt habe ich mir erstmal überlegt, dass ich erstmal jeden Wert mit jedem anderen Wert vergleiche und die unterschiedlichen bits zähle. Ist die Anzahl unterschiedlicher Bits gleich, wäre dieses Wertepaar erstmal "gut". Wenn ich diese Analyse für alle Wertepaare durchgeführt habe - wie komme ich nun zu meinem Ziel, möglichst viele Werte zu finden, die sich in mindestens drei Bit unterscheiden? Mit freundlichen Grüßen, Frank
Frank schrieb: > wie komme ich nun zu meinem Ziel, möglichst viele Werte zu finden, die > sich in mindestens drei Bit unterscheiden? Genau wie oben, nur ein zusätzliches Array anlegen, z.B. TstArr(). Wenn sich Arr(n) und Arr(37) in 3 bits unterscheiden, in TstArr(37) eine 1 reinschreiben und gleich mit Arr(n+1) weitergehen. Arr(37) wird dann nicht mehr geprüft, da schon ein Unterschied in drei bits zu Arr(0) besteht. Zum Schluss TstArr() auf <> 0 prüfen und zählen. Oder wolltest du etwas anderes ?
Hallo Frank, wenn das Funkmodul selbständig 3 Bitfehler korrigieren kann, dann überträgt es zu deinen 16-Bit Nutzdaten noch weitere Redundanzinformationen. Solange nicht mehr als 3 Bit falsch sind wirst du immer den korrekten Wert erhalten. Sascha
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.