Hallo, in einem aktuellen Projekt muß ich bessere Kodierung als Manchester verwenden, um die Bandbreite meines Kanals (Funkstrecke) besser zu nutzen. Beim Stöbern bin ich auf Miller-Kodierung (MFM) gestoßen und war sofort an die alten Platten (MFM, RLL2.7) erinnert. Gibt es fertigen Code/ Schnipsel für die Erzeugung und Rückgewinnung dieser Codierung? (Wunsch ist C, eher 8 als 16 Bit µC) Irgendwelche weiterführenden Links? Die Embedded Forth Nr. 6 ist inzwischen leider auch nicht mehr frei lesbar. Ahoi, Martin
Der Teil zum Miller Code ist noch lesbar, auf Seite 5: http://www.embeddedforth.de/emb6.pdf "Theoretisch ist Miller, auch Delay Modulation oder auf Floppys und Magnetbändern auch MFM ( „modified frequency modulation“ ) genannt, besser als Manchester. ... Miller ist also nur dann eine gute Alternative für Manchester, wenn die Kanalkapazität stärker begrenzt ist als die Rechenleistung des Controllers."
Hier gibts ein kurzes Kochrezept http://www.dyneng.com/ipbis_miller.html : "Definition of Miller Code (also called Delay Modulation; DMM) 1. Miller Code is a method of encoding serial data. 2. All encoded information is contained in the spacing between transitions; the polarity does not matter. 3. The only permitted spacings between transitions are 1.0, 1.5, and 2.0 bit periods. 4. An input of ONE always produces a transition at the end of the bit period. 5. An input of ZERO produces a transition in the middle of the bit period unless there was a transition at the start of the period. Thus, a ZERO bit following a ONE bit never produces a transition. Miller Code Rules: 1. Determine the time, T, between the last two transitions in units of the bit period. 2. The decoding may depend upon the last decoded bit so this must be remembered. 3. Start the decoding when a two bit period spacing (T=2) is found. Then the last bit is a ONE. 4. If T=1, the next bit is the same as the last bit. 5. If T=2, the next two bits are ZERO followed by ONE. 6. If T=1.5, AND the last bit = ZERO, then the next bit = ONE. 7. If T=1.5, AND the last bit = ONE, then the next two bits are ZERO and ZERO."
Was ist mit QAM ? ( mit Phasendifferenzkodierung). Es gibt inzwischen µCs mit Quadraturencoder. Dann braucht man nur noch einen passenden HF-Teil. Damit wird bei der geringen Bandbreite des Analogtelefons DSL übertragen (256 QAM). Hat allerdings einen kleinen Nachteil, was die Störsicherheit betrifft. Man sollte einen Fehlerkorrigierenden Code für die Daten verwenden. Besonders, wenn man nur in eine Richtung übertragen kann. Die Bandbreite hängt ja schließlich von der Anzahl Signalwechsel pro Zeiteinheit ab. Bei 256 QAM kann man so mit einem Zustandswechsel ein Zeichen übetragen. Es würde wahrscheinlich auch eine 4 oder 16 QAM reichen. Muss man entsprechend berechnen, was in dem Anwendungsfall das Beste ist.
Die Effizienz eines Digitalübertragungsverfahrens wird gern als Diagramm "Bitfehlerrate zu Rauschabstand" gezeichnet : http://en.wikipedia.org/wiki/Phase-shift_keying weitere Wikipedia-Artikel: http://en.wikipedia.org/wiki/Differential_coding http://en.wikipedia.org/wiki/Modified_Frequency_Modulation http://en.wikipedia.org/wiki/Line_code
Matthias wrote: > > Was ist mit QAM ? ( mit Phasendifferenzkodierung). > Es gibt inzwischen µCs mit Quadraturencoder. Dann braucht man nur noch > einen passenden HF-Teil. "Nur noch" ist gut...
@Andreas Ich weiss, wenn man das selber bauen will, dann wird's höllisch. Aber wenn ich mich recht entsinne gibt es sowas als IC's zu kaufen. Nur noch 100 Bauteile (Spulen, Cs, SAW, ...) drum rum löten und fertig. Allerdings kann es sein, dass die Teile nicht leicht zu bekommen sind.
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.