
Meteor M1 Satellit
Quelle: vladtime.ru
EinfĂŒhrung
Der Betrieb von Weltraumtechnik ist ohne Funkkommunikation nicht möglich. In diesem Artikel möchte ich die grundlegenden Ideen erlĂ€utern, die den Standards zugrunde liegen, die vom Internationalen Beratenden Komitee fĂŒr RaumdatenĂŒbertragungssysteme (Consultative Committee for Space Data Systems â CCSDS) entwickelt wurden. In der Folge wird diese AbkĂŒrzung verwendet.
Diese Veröffentlichung wird sich hauptsĂ€chlich mit der Kanalschicht befassen, jedoch werden auch grundlegende Konzepte fĂŒr andere Ebenen eingefĂŒhrt. Der Artikel erhebt in keiner Weise den Anspruch, eine vollstĂ€ndige und umfassende Beschreibung der Standards zu liefern. Diese können Sie auf CCSDS finden. Sie sind jedoch sehr schwer verstĂ€ndlich, und um sie zu begreifen, haben wir viel Zeit investiert. Daher möchte ich hier grundlegende Informationen prĂ€sentieren, die es einfacher machen, die restlichen Konzepte zu verstehen. Lassen Sie uns also beginnen.
Die edle Mission von CCSDS
Vielleicht fragt sich jemand: Warum sollten wir uns an Standards halten, wenn wir ein eigenes proprietĂ€res Protokoll-Stack fĂŒr die Funkkommunikation entwickeln könnten (oder unseren eigenen Standard, mit Blackjack und neuen Features), um die Sicherheit des Systems zu erhöhen?
Die Praxis zeigt, dass es aus mehreren GrĂŒnden vorteilhafter ist, sich an die CCSDS-Standards zu halten:
- In das Komitee zur Veröffentlichung der Standards sind Vertreter aller groĂen Raumfahrtorganisationen weltweit berufen worden, die ihren unschĂ€tzbaren Erfahrungsschatz aus vielen Jahren der Planung und DurchfĂŒhrung verschiedenster Missionen einbringen. Es wĂ€re Ă€uĂerst unklug, diese Erfahrung zu ignorieren und dieselben Fehler erneut zu machen.
- Diese Standards werden von bereits auf dem Markt vorhandenen AusrĂŒstungen der Bodenstationen unterstĂŒtzt.
- Bei der Behebung von Problemen kann jederzeit Hilfe von Kollegen in anderen Agenturen angefordert werden, die eine Verbindung mit dem GerĂ€t von ihrer Bodenstation aus herstellen. Wie Sie sehen, sind Standards Ă€uĂerst nĂŒtzlich, also schauen wir uns ihre SchlĂŒsselpunkte genauer an.
Architektur von
Die Standards sind eine Sammlung von Dokumenten, die das allgemeine Modell der OSI (Open System Interconnection) widerspiegeln, mit der Ausnahme, dass auf der Datenverbindungsschicht die Interaktion auf die Aufteilung in Telemetrie (der âDownlinkâ â Raum zu Erde) und Telecommands (der âUplinkâ) beschrĂ€nkt ist.

Lassen Sie uns einige Ebenen im Detail betrachten, beginnend mit der physischen und sich nach oben bewegend. Zur besseren Veranschaulichung betrachten wir die Architektur der empfangenden Seite. Die sendende Seite stellt ihr Spiegelbild dar.
Physikalische Ebene
Auf dieser Ebene erfolgt die Umwandlung des modulierten Funksignals in einen Bitstrom. Die Standards sind hier ĂŒberwiegend empfehlender Natur, da es auf dieser Ebene schwierig ist, sich von der spezifischen Implementierung der Hardware zu abstrahieren. Hier kommt dem CCSDS eine SchlĂŒsselrolle zu â die zulĂ€ssigen Modulationen (BPSK, QPSK, 8-QAM usw.) zu definieren und einige Empfehlungen fĂŒr die Implementierung von Mechanismen zur symbolischen Synchronisierung, der Kompensation des Doppler-Effekts usw. zu geben.
Synchronisations- und Codierungsebene
Formell betrachtet ist es eine Unterebene der Kanalschicht, wird jedoch aufgrund seiner Bedeutung innerhalb der CCSDS-Standards hĂ€ufig als eigenstĂ€ndige Ebene hervorgehoben. Diese Ebene wandelt den Bitstrom in sogenannte Frames (Telemetrie oder Telecommands) um, ĂŒber die wir spĂ€ter sprechen werden. Im Gegensatz zur symbolischen Synchronisation auf der physikalischen Ebene, die einen korrekten Bitstrom gewĂ€hrleistet, wird hier eine Frame-Synchronisation durchgefĂŒhrt. Lassen Sie uns den Weg betrachten, den die Daten auf dieser Ebene (von unten nach oben) durchlaufen:

Bevor wir jedoch dazu kommen, ist es wichtig, ein paar Worte ĂŒber die Kodierung zu verlieren. Diese Prozedur ist notwendig, um Bitfehler zu erkennen und/oder zu korrigieren, die unvermeidlich beim Ăbertragen von Daten ĂŒber den Funkkanal auftreten. Hier werden wir die Dekodierungsverfahren nicht betrachten, sondern uns nur mit den Informationen beschĂ€ftigen, die erforderlich sind, um die weitere Logik der FunktionalitĂ€t dieser Ebene zu verstehen.
Es gibt blockbasierte und kontinuierliche Codes. Die Standards schreiben keinen spezifischen Kodierungstyp vor, jedoch muss ein solches Verfahren vorhanden sein. Zu den kontinuierlichen Codes gehören Faltungscodes (convolutional codes). Diese kodieren einen stetigen Bitstrom. Im Gegensatz zu blockbasierten Codes, bei denen Daten in Codeblöcke (codeblock) unterteilt werden und nur in Form vollstĂ€ndiger Blöcke dekodiert werden können. Ein Codeblock besteht aus den zu ĂŒbertragenden Daten und den zusĂ€tzlichen Informationen, die zur ĂberprĂŒfung der korrekten Datenempfang und zur Behebung möglicher Fehler erforderlich sind. Zu den blockbasierten Codes zĂ€hlen die bekannten Reed-Solomon-Codes.
Wenn Faltungscodierung verwendet wird, wird der Bitstrom zu Beginn an den Dekoder weitergeleitet. Das Ergebnis seiner Arbeit (dies geschieht selbstverstĂ€ndlich kontinuierlich) sind CADU-Datenblöcke (channel access data unit). Diese Struktur ist erforderlich fĂŒr die Rahmensynchronisation. Am Ende jeder CADU ist ein Synchronisationsmarker (ASM â attached synch marker) angehĂ€ngt. Dies sind vier vordefinierte Bytes, mit denen der Synchronisator den Anfang und das Ende der CADU findet. So wird die Rahmensynchronisation erreicht.
Der nĂ€chste optionale Schritt in der Synchronisations- und Kodierungsstufe bezieht sich auf die Besonderheiten der physikalischen Ebene. Dies ist die DĂ©randomisierung. Um symbolische Synchronisation zu erreichen, sind hĂ€ufige Wechsel zwischen den Symbolen erforderlich. Wenn wir beispielsweise ein Kilobyte an Daten ĂŒbertragen, das ausschlieĂlich aus Einsen besteht, wird die Synchronisation verloren gehen. Daher werden bei der Ăbertragung die Eingabedaten mit einer periodischen pseudo-zufĂ€lligen Sequenz gemischt, um eine gleichmĂ€Ăige Verteilung von Nullen und Einsen zu gewĂ€hrleisten.
AnschlieĂend erfolgt die Dekodierung der Blockcodes, und das, was ĂŒbrig bleibt, ist das Endprodukt der Synchronisations- und Kodierungsstufe â ein Frame.
Kanalebene
Einerseits erhĂ€lt der Kanalverarbeiter die Frames, andererseits gibt er Pakete aus. Da die formale GröĂe der Pakete nicht begrenzt ist, mĂŒssen sie fĂŒr eine zuverlĂ€ssige Ăbertragung in kleinere Strukturen â Frames â unterteilt werden. Hier betrachten wir zwei Unterabschnitte: einen fĂŒr Telemetrie (TM) und einen fĂŒr Telekommandos (TC).
Telemetrie
Einfach ausgedrĂŒckt sind das die Daten, die die Bodenkontrollstation vom Raumfahrzeug erhĂ€lt. Alle ĂŒbermittelten Informationen werden in kleine, feste LĂ€ngen zerlegt â in Frames, die die ĂŒbertragenen Daten und Steuerfelder enthalten. Lassen Sie uns die Struktur eines Frames nĂ€her betrachten:

Wir beginnen mit dem Haupt-Header des Telemetrie-Frames. An dieser Stelle erlaube ich mir, die Standards teilweise direkt zu ĂŒbersetzen und gleichzeitig einige ErklĂ€rungen zu geben.

Das Feld fĂŒr die Hauptkanal-ID (Master Channel ID) muss die Versionsnummer des Frames und die Identifikationsnummer des GerĂ€tes enthalten.
Jeder Knoten, gemÀà den CCSDS-Standards, muss eine eindeutige Kennung haben, anhand derer festgestellt werden kann, zu welchem GerĂ€t er gehört. Formell muss ein Antrag auf Registrierung des GerĂ€ts eingereicht werden, und dessen Name sowie die Kennung werden in öffentlichen Quellen veröffentlicht. Oft ignorieren jedoch russische Hersteller dieses Verfahren und weisen dem GerĂ€t willkĂŒrlich eine Kennung zu. Die Versionsnummer des Frames hilft dabei zu bestimmen, welche Version der Standards verwendet wird, um den Frame korrekt zu lesen. Hier betrachten wir nur den konservativsten Standard mit der Version â0â.
Im Feld der Identifikation des virtuellen Kanals (Virtual Channel ID) muss die VCID des Kanals enthalten sein, von dem das Paket stammt. Es gibt keine EinschrĂ€nkungen bei der Auswahl der VCID; insbesondere mĂŒssen virtuelle KanĂ€le nicht zwingend fortlaufend nummeriert werden.
Sehr oft besteht die Notwendigkeit, die ĂŒbertragenen Daten zu multiplexen. DafĂŒr gibt es einen Mechanismus fĂŒr virtuelle KanĂ€le. Zum Beispiel ĂŒbertrĂ€gt der Satellit Meteor-M2 ein farbiges Bild im sichtbaren Bereich, indem es in drei schwarz-weiĂe Bilder aufgeteilt wird â jede Farbe wird in ihrem eigenen virtuellen Kanal als separates Paket ĂŒbertragen, obwohl es in der Struktur seiner Frames einige Abweichungen von den Standards gibt.
Das Feld fĂŒr das Flagge Operational Control sollte einen Indikator fĂŒr das Vorhandensein oder Fehlen des Feldes Operational Control im Telemetrie-Frame darstellen. Diese 4 Bytes am Ende des Frames dienen der UnterstĂŒtzung des Feedbacks bei der Kontrolle der Lieferung von Telemetrie-Frames. DarĂŒber werden wir spĂ€ter sprechen.
Die ZĂ€hler fĂŒr den Haupt- und den virtuellen Kanal sind Felder, die bei der Ăbertragung jedes Frames um eins erhöht werden. Sie dienen als Indikator dafĂŒr, dass kein Frame verloren gegangen ist.
Der Status der Daten im Telemetrie-Frame besteht aus zwei weiteren Bytes fĂŒr Flags und Daten, wobei wir nur einige davon betrachten werden.

Das Feld fĂŒr das Flag des zusĂ€tzlichen Headers (Secondary Header) sollte einen Indikator fĂŒr das Vorhandensein oder Fehlen eines zusĂ€tzlichen Headers (Secondary Header) im Telemetrie-Frame darstellen.
Optional can be added to each frame, an additional header, where you can place any data at your discretion.
Das Feld fĂŒr den Zeiger auf den ersten Header (First Header Pointer) muss, wenn das Synchronisierungsflag auf "1" gesetzt ist, die binĂ€re Darstellung der Position des ersten Oktetts des ersten Pakets im Datenfeld (Data Field) des Telemetrie-Frames enthalten. Die Position wird ab 0 in aufsteigender Reihenfolge vom Beginn des Datenfeldes gezĂ€hlt. Wenn im Datenfeld des Telemetrie-Frames kein Paketbeginn vorhanden ist, sollte das Feld fĂŒr den Zeiger auf den ersten Header den binĂ€ren Wert â11111111111â haben (das kann vorkommen, wenn ein langes Paket sich ĂŒber mehrere Frames erstreckt).
Wenn das Datenfeld jedoch ein leeres Paket (Idle Data) enthĂ€lt, sollte der Zeiger auf den ersten Header den binĂ€ren Wert â11111111110â aufweisen. Anhand dieses Feldes sollte der EmpfĂ€nger die Synchronisierung des Streams durchfĂŒhren. Dieses Feld gewĂ€hrleistet die Wiederherstellung der Synchronisierung, selbst wenn Frames ĂŒbersprungen werden.
Das bedeutet, dass das Paket zum Beispiel in der Mitte des 4. Frames beginnen und am Anfang des 20. enden kann. Um den Beginn zu finden, dient genau dieses Feld. Pakete haben ebenfalls einen Header, in dem die LĂ€nge vermerkt ist. Daher muss der Kanal-Handler beim Finden des Zeigers auf den ersten Header diesen lesen, um festzustellen, wo das Paket endet.
Wenn das Fehlerkontrollfeld vorhanden ist, muss es in jedem Frame der Telemetrie fĂŒr einen bestimmten physikalischen Kanal wĂ€hrend der gesamten Mission enthalten sein.
Dieses Feld wird durch Anwendung der CRC-Methode berechnet. Das Verfahren sollte n-16 Bit des Telemetrie-Frames annehmen und das Berechnungsergebnis in die letzten 16 Bit einfĂŒgen.
Telekommandos
Der Frame der Telekommandos weist mehrere wesentliche Unterschiede auf. Dazu gehören:
- Eine andere Struktur der Header
- Dynamische LĂ€nge. Das bedeutet, dass die LĂ€nge des Frames nicht starr festgelegt ist, wie es in der Telemetrie der Fall ist, sondern je nach ĂŒbertragenen Paketen variieren kann.
- Der Mechanismus zur Paketliefergarantie. Das heiĂt, der KAM muss nach dem Erhalt die Korrektheit des Empfangs der Frames bestĂ€tigen oder die Ăbermittlung vom Frame anfordern, der möglicherweise mit einem nicht korrigierbaren Fehler angenommen wurde.


Viele Felder sind uns bereits aus dem Header des Telemetrie-Frames bekannt. Sie haben die gleiche Funktion, daher werden wir hier nur die neuen Felder betrachten.
Ein Bit des Umgehungsflags sollte verwendet werden, um die ĂberprĂŒfung der Frames am EmpfĂ€nger zu steuern. Der Wert â0â dieses Flags sollte darauf hinweisen, dass dieser Frame ein Typ-A-Frame ist und seine ĂberprĂŒfung gemÀà FARM durchgefĂŒhrt werden sollte. Der Wert â1â dieses Flags sollte dem EmpfĂ€nger signalisieren, dass dieser Frame ein Typ-B-Frame ist und die ĂberprĂŒfung gemÀà FARM umgangen werden sollte.
Dieses Flag informiert den EmpfĂ€nger darĂŒber, ob der Mechanismus zur BestĂ€tigung der Frame-Lieferung verwendet werden muss, der als FARM â Frame Acceptance and Reporting Mechanism â bezeichnet wird.
Das Steuerbefehlsflag dient dazu zu verstehen, ob das Datenfeld einen Befehl oder Daten transportiert. Wenn das Flag den Wert â0â hat, sollte das Datenfeld Daten enthalten. Wenn das Flag den Wert â1â hat, sollte das Datenfeld Steuerinformationen fĂŒr FARM enthalten.
FARM ist ein konfigurierbarer Automat mit anpassbaren Parametern.
RSVD. SPARE â reservierte Bits.
Es scheint, dass CCSDS in Zukunft PlĂ€ne dafĂŒr hat und zur RĂŒckwĂ€rtskompatibilitĂ€t der Protokollversionen diese Bits bereits in der aktuellen Version des Standards reserviert hat.
Das RahmenlÀngenfeld sollte eine Zahl im Bitformat enthalten, die der LÀnge des Rahmens in Oktetten minus eins entspricht.
Das Datenfeld des Rahmens sollte unmittelbar nach dem Header ohne LĂŒcken folgen und eine ganze Anzahl von Oktetten enthalten, die maximal 1019 Oktetten lang sein kann. Dieses Feld sollte entweder einen Rahmen-Datenblock oder Steuerinformationen enthalten. Der Rahmen-Datenblock sollte Folgendes enthalten:
- eine ganze Anzahl von Oktetten an Nutzdaten
- den Segmentheader und anschlieĂend eine ganze Anzahl von Oktetten an Nutzdaten
Wenn ein Header vorhanden ist, muss der Datenblock ein Paket, mehrere Pakete oder einen Teil davon enthalten. Ein Datenblock ohne Header kann keine Teile von Paketen enthalten, wohl aber Datenblöcke eines privaten Formats. Dies bedeutet, dass ein Header erforderlich ist, wenn der ĂŒbertragene Datenblock nicht in ein einziges Paket passt. Ein Datenblock mit Header wird als Segment bezeichnet.

Das 2-Bit-Flagsfeld muss Folgendes enthalten:
- â01â â wenn der erste Teil der Daten im Datenblock enthalten ist
- â00â â wenn der mittlere Teil der Daten im Datenblock enthalten ist
- â10â â wenn der letzte Teil der Daten im Datenblock enthalten ist
- â11â â wenn keine Aufteilung erfolgt und ein oder mehrere Pakete vollstĂ€ndig im Datenblock enthalten sind.
Das MAP-Identifikationsfeld sollte Nullen enthalten, wenn die MAP-KanÀle nicht verwendet werden.
Manchmal sind die 6 Bits, die fĂŒr virtuelle KanĂ€le vorgesehen sind, nicht ausreichend. Und wenn die Daten auf eine gröĂere Anzahl von KanĂ€len multiplexiert werden mĂŒssen, werden weitere 6 Bits aus dem Segment-Header verwendet.
FARM
Lassen Sie uns detaillierter auf die Funktionsweise des Systems zur Kontrolle der DatenĂŒbertragung eingehen. Dieses System ist ausschlieĂlich fĂŒr den Umgang mit Kommunikationsrahmen konzipiert, da deren Wichtigkeit stark ist (Telemetriedaten können jederzeit erneut angefordert werden, wĂ€hrend das Raumfahrzeug die Bodenstation klar hören und stets deren Befehlen gehorchen muss). Angenommen, wir haben beschlossen, unseren Satelliten neu zu programmieren, und senden eine BinĂ€rdatei von 10 Kilobyte an Bord. Auf der Netzwerkebene wird die Datei in 10 Rahmen (0, 1, âŠ, 9) aufgeteilt, die nacheinander nach oben gesendet werden. Wenn die Ăbertragung abgeschlossen ist, muss das Raumfahrzeug den Empfang des Pakets bestĂ€tigen oder angeben, bei welchem Rahmen ein Fehler aufgetreten ist. Diese Informationen werden im nĂ€chsten Rahmen der Telemetriedaten im operativen Kontrollfeld gesendet (oder das Raumfahrzeug kann die Ăbertragung eines leeren Rahmens einleiten, wenn es nichts zu sagen hat). Anhand der erhaltenen Telemetrie stellen wir entweder fest, dass alles in Ordnung ist, oder wir beginnen mit der erneuten Ăbertragung der Nachricht. Angenommen, der Satellit hat Rahmen Nr. 7 nicht empfangen. Dann senden wir ihm die Rahmen 7, 8, 9. Sollte keine Antwort eintreffen, wird das gesamte Paket erneut gesendet (und so weiter, bis wir feststellen, dass unsere Versuche vergeblich sind).
Nachfolgend finden Sie den Struktur eines operativen Kontrollfeldes mit einer Beschreibung einiger Felder. Die in diesem Feld enthaltenen Daten werden als CLCW â Communication Link Control Word bezeichnet.

Da man aus dem Bild ziemlich gut auf die Funktion der Hauptfelder schlieĂen kann und die anderen etwas langweilig sind, verstecke ich die detaillierte Beschreibung unter einem Spoiler.
Dekodierung der CLCW-FelderTyp des Kontrollworts (Control Word Type):
FĂŒr diesen Typ des Kontrollworts sollte der Wert 0 enthalten sein.
Version des Kontrollworts (CLCW Version Number):
FĂŒr diesen Typ des Kontrollworts muss der Wert "00" in der Bitdarstellung betragen.
Statusfeld (Status Field):
Die Verwendung dieses Feldes wird fĂŒr jede Mission separat festgelegt. Es kann von verschiedenen Raumfahrtbehörden fĂŒr lokale Verbesserungen genutzt werden.
Identifikator des virtuellen Kanals (Virtual Channel Identification):
Sollte den Identifikator des virtuellen Kanals enthalten, mit dem dieses Kontrollwort verbunden ist.
Zugriffsflagge auf den physischen Kanal:
Das Flag sollte Informationen ĂŒber die Bereitschaft der physikalischen Empfangsebene bereitstellen. Wenn die physikalische Empfangsebene nicht bereit ist, Frames zu empfangen, sollte das Feld "1" enthalten, andernfalls "0".
Synchronisationsfehler-Flag:
Dieses Flag kann darauf hinweisen, dass die physische Ebene bei schlechtem Signalpegel arbeitet und die Anzahl der verworfenen Frames zu hoch ist. Die Verwendung dieses Feldes ist optional; wenn es verwendet wird, sollte es '0' bei bestehender Synchronisation und '1' bei fehlender Synchronisation enthalten.
Blockierungsflag:
Dieses Bit sollte den Status der FARM-Sperrung fĂŒr jeden virtuellen Kanal enthalten. Ein Wert von '1' in diesem Feld sollte anzeigen, dass die FARM gesperrt ist und Frames fĂŒr jede virtuelle Ebene verworfen werden, andernfalls '0'.
Warteflag:
Dieses Bit sollte genutzt werden, um anzuzeigen, dass der EmpfÀnger den angegebenen virtuellen Kanal nicht verarbeiten kann. Ein Wert von '1' zeigt an, dass alle Frames auf diesem virtuellen Kanal verworfen werden, andernfalls '0'.
Weiterleitungsflag:
Dieses Flag sollte '1' enthalten, wenn ein oder mehrere Frames vom Typ A verworfen wurden oder LĂŒcken gefunden wurden, die eine Weiterleitung erforderlich machen. Das Flag '0' zeigt an, dass keine Frames verworfen und keine LĂŒcken vorhanden waren.
Antwortwert:
Die Frame-Nummer, die nicht akzeptiert wurde. Bestimmt anhand des ZĂ€hlers im Header des Telekommando-Frames.
Netzwerkschicht
Lassen Sie uns auch diese Ebene kurz ansprechen. Hier gibt es zwei Möglichkeiten: Entweder das Raumprotokoll verwenden oder ein beliebiges anderes Protokoll in ein CCSDS-Paket kapseln.
Eine Ăbersicht ĂŒber das Raumprotokoll ist ein Thema fĂŒr einen eigenen Artikel. Es wurde entwickelt, damit sogenannte Anwendungen nahtlos Daten austauschen können. Jede Anwendung hat ihre eigene Adresse und eine grundlegende FunktionalitĂ€t fĂŒr den Datenaustausch mit anderen Anwendungen. Zudem gibt es Dienste, die den Datenverkehr routieren, die Lieferung ĂŒberwachen usw.
Die Kapselung ist simpler und verstĂ€ndlicher. Die Standards ermöglichen die Kapselung beliebiger Protokolle in CCSDS-Pakete, indem ein zusĂ€tzlicher Header hinzugefĂŒgt wird.

Der Header hat verschiedene Bedeutungen, abhÀngig von der LÀnge des kapselnden Protokolls:

Hier ist das Hauptfeld â die LĂ€nge. Sie kann von 0 bis 4 Byte variieren. In diesem Header muss zudem der Typ des kapselten Protokolls angegeben werden, mithilfe einer Tabelle. .
Bei der IP-Einkapselung wird eine weitere Schicht verwendet, um den Pakettyp zu bestimmen.
Es muss ein weiterer Header mit einer LĂ€nge von mindestens einem Oktett hinzugefĂŒgt werden:

Dabei steht PID fĂŒr einen weiteren Protokollbezeichner, der entnommen wurde
Fazit
Auf den ersten Blick mag es scheinen, dass die CCSDS-Header Ă€uĂerst redundant sind und einige Felder weggelassen werden könnten. TatsĂ€chlich betrĂ€gt die Effizienz des resultierenden Kanals (bis zur Netzwerkschicht) etwa 40%. Sobald jedoch die Notwendigkeit besteht, diese Standards umzusetzen, wird deutlich, dass jedes Feld, jeder Header seine eigene wichtige Aufgabe hat, deren Ignorierung zu einer Vielzahl von Mehrdeutigkeiten fĂŒhrt.
Wenn die Habr-Community Interesse an diesem Thema zeigt, wĂŒrde ich mich freuen, eine Reihe weiterer Artikel zu veröffentlichen, die sich mit der Theorie und Praxis der Raumkommunikation befassen. Vielen Dank fĂŒr Ihre Aufmerksamkeit!
Quellen
P.S.
Bitte nicht zu hart sein, falls Sie Ungenauigkeiten finden. Melden Sie diese, und sie werden behoben đ
Quelle: habr.com
