Forum: Mikrocontroller und Digitale Elektronik Codierung


von Martin Schneider (Gast)


Lesenswert?

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

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

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."

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

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."

von Martin Schneider (Gast)


Lesenswert?

Danke, Christoph, das hilft schon mal ein Stück weiter.

Martin

von Matthias (Gast)


Lesenswert?

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.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

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

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

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...

von Matthias (Gast)


Lesenswert?

@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
Noch kein Account? Hier anmelden.