PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Funkmodule pimpen mit CDMA



Felix G
04.11.2008, 02:11
Hallo Leute,

ich hätte da eine Idee die ich gern mit euch diskutieren möchte...

Wie wäre es denn wenn wir die Möglichkeit hätten, eine größere Anzahl an Geräten (Roboter z.B.) mit Hilfe von Funkmodulen miteinander zu vernetzen, die alle gleichzeitig und auf der gleichen Frequenz senden/empfangen?

CDMA sollte genau das ermöglichen.


Wie funktioniert CDMA?

Man nehme die Nutzdaten und einen bekannten Code (welcher bestimmte Voraussetzungen erfüllen muss), rühre alles einmal kräftig durch (XOR) und schicke es hinaus in den Äther. Das machen alle Sender so, nur mit unterschiedlichen Codes.

Die Empfänger können sich nun, mit Hilfe der bekannten Codes, aus diesem Mischmasch an Signalen das gewünschte herauspicken.


Die gleiche Technik wird bei UMTS genutzt, und ich würde in dieser Hinsicht auch das Rad garnicht neu erfinden, sondern den Ansatz von UMTS 1:1 übernehmen. Dieser besteht in einem OVSF Code um die einzelnen Teilnehmer zu trennen und nachfolgend einem Goldcode (der bei allen Teilnehmern gleich ist). Der Sinn dahinter ist, daß sich die OVSF Codes sehr leicht generieren lassen (und im Fall von UMTS die flexible Zuteilung von Bandbreite an die verschiedenen Teilnehmer ermöglichen), und der Goldcode die Anforderungen erfüllt die bei der Übertragung per Funk benötigt werden (z.B. annähernd weißes Rauschen).


Lasst mal hören was ihr dazu denkt.

Felix G
18.11.2008, 21:40
Nanu, besteht überhaupt kein Interesse an der Realisierung eines solchen Systems?

wkrug
19.11.2008, 08:46
CDMA bedeutet Collission Detection - Multiple Access, aber das wusstest Du sicher schon.
Üblicherweise wird das so gemacht, das ein Sender seine information auf die Datenleitung legt und gleichzeitig überwacht ob dort auch nur seine Information anliegt.
Beispiel:
Ein Sender legt eine 1 auf den Datenbus, auf dem Datenbus liegt aber eine 0 an -> Folgerung ein anderer Sender ist aktiv, der Sender der eine 1 angelegt hat bemerkt die Kollision und unterbricht die Datenübertragung.

An welches Frequenzband hattest Du gedacht ?
Welche Modulationsart und welche Art von Codierung soll verwendet werden ?
Willst Du fertige Funkmodule verwenden, oder selber was entwickeln ?
Wobei eine Eigenentwicklung von Funktechnik rechtlich problematisch sein kann.

So ein System dürfte aber bei Funk nicht möglich sein, da die meisten Funkmodule eine Verzögerung in der Datenübertragung verursachen und ein Empfänger, der direkt neben einem Sender steht wird wohl nie etwas anderes "hören" als den Sender neben ihm.

Ich meine eine Art Token Ring wäre bei Funk eine sinnvollere Lösung.
Also immer nur ein Sender in einem Netzwerk darf senden.
Die maximale Paketgrösse würde ich begrenzen.
Ist er fertig, gibt er den Token frei und ein anderer Sender hat nun die Sendeberechtigung.
Natürlich muss man so etwas mit Prüfsummen absichern und auch ein Protokoll für die Tokenweitergabe einbinden.
Ausserdem muss auch jeder Netzwerkteilnehmer eine eigene Adresse erhalten.

Felix G
19.11.2008, 20:41
Ah, entschuldigung das hätte ich etwas genauer beschreiben sollen...

Das CDMA von dem ich rede bedeutet "Code Division Multiple Access" und ermöglicht eben daß einfach alle Sender "durcheinander quatschen", und sich dabei trotzdem alle gegenseitig verstehen.
Wenn also z.B. 8 Sender gleichzeitig senden, dann kann ein Empfänger trotzdem alle 8 Datenströme voneinander trennen, wozu natürlich ein bischen Signalverarbeitung notwendig ist.

Die genauen Details müssten noch geklärt werden, z.B. bin ich nicht ganz sicher mit welchen Modulationsarten dieses Verfahren überhaupt funktioniert.
Klar ist bisher nur, daß man ein analoges Funkmodul braucht, und einen ausreichend schnellen DSP dahinter.

thewulf00
20.11.2008, 07:56
Je mehr Funkmodule auf einem Band durcheinanderfunken, und immernoch getrennt gehört werden können, desto niedriger wird die Datenrate. Das ist für manche nicht akzeptabel.
Da nehme ich z.B. lieber die ISO/OSI-ähnliche Implementierung von microcontroller.net für RFMs, die dann auf Schicht 3 nur noch mit Nutzdaten und Zieladresse versorgt wird, so dass selbst Fehlererkennung und -korrektur noch von den anderen beiden Schichten erledigt wird, da diese Implementierung automatisch zwischen Sende- und Empfangsbetrieb wechselt, wird nur notwendiges gesendet.

Aber wenn Du brauchbare Ergebnisse vorweisen kannst, würden sich natürlich (plötzlich) alle dafür interessieren...