MIMO räumliche Vielfalt: Alamouti, DET und andere räumliche Vielfalt

Um eine Nachricht von einer Basisstation an ein mobiles Gerät zu übertragen (und umgekehrt), muss eine elektromagnetische Welle eine erhebliche Anzahl von Hindernissen überwinden: Reflexion, Brechung, Streuung, Abschattung, Doppler-Frequenzverschiebungen usw. Erstens werden alle diese Effekte nach dem mathematischen Modell solcher Effekte als multiplikativ (aus dem Englischen. Multiplikation - Multiplikation) bezeichnet. Und zweitens kann es unter dem allgemeinen Begriff des Verblassens gesammelt werden.


Von Standard zu Standard, von Generation zu Generation, von Technologie zu Technologie haben Wissenschaftler und Ingenieure Probleme mit dem Problem der Nivellierung dieser Fading (Fading Mitigation).


Und einige Lösungen sind weit verbreitet. Sagen wir mehr: Fast alle von ihnen sind auf die eine oder andere Weise mit dem Konzept der Vielfalt verbunden .



Die Quelle der Illustration (nein, dies ist keine Werbung, nur eine erfolgreiche Kombination des gewünschten Begriffs und der Katze).

Ein Beispiel für solche Lösungen:


  1. Frequenzsprung - gegen frequenzselektives Fading;
  2. Kanalschätzung und -entzerrung durch Rückkopplung - GSM, um Änderungen im Zeitbereich zu unterdrücken;
  3. Spectrum Extension (UMTS);
  4. Pilotsignale (beginnend mit UMTS) auf dem Downlink (Downlink) und Signalverfolgung (Signalverfolgung) auf dem Uplink (Uplink) - um Änderungen im Zeitbereich zu unterdrücken;
  5. OFDM - LTE gegen frequenzselektives Fading;
  6. Zeitliche Diversität ( fehlerkorrigierende Codierung );
  7. Polarisationsdiversität (auf der Senderseite) + Addierer (Kombinierer auf der Empfängerseite);
  8. Räumliche Vielfalt .

Die letzte dieser Techniken werden wir heute als Teil eines anderen Themas zu MIMO betrachten .


Raumdiversitätsreihenfolge und Arraygewinn


Der erste.


Es gibt ein solches Konzept - die Reihenfolge der Raumdiversität: Wenn dieselben Informationen aus verschiedenen Richtungen gesammelt werden können, steigt die Hoffnung, sie wiederherzustellen. Als Beispiel aus dem Leben können wir uns vorstellen, Informationen über dasselbe Ereignis aus unabhängigen Informationsquellen zu sammeln. In der Funkkommunikation können wir diese Reihenfolge erhöhen, auch durch Verwendung von MISO , SIMO oder MIMO .


Die theoretische Grenze einer solchen Vielfalt M_TM_R wo M_T - die Anzahl der Sendeantennen und M_R - die Anzahl der Empfangsantennen. Denken Sie daran.


div

Abb. 1. Kanalstabilität durch Erhöhung der räumlichen Diversitätsordnung. Bei Werten M_TM_R \ to \ infty Der Kanal ist vollständig stabilisiert und verwandelt sich in einen Kanal ohne Fading (AWGN) [1, S. 101] .


Der zweite.


Mit SIMO , MIMO und sogar MISO (im Fall eines bekannten Kanals) kann man die sogenannte Array-Verstärkung erhalten . Dies bedeutet, dass die Verwendung mehrerer Empfangsantennen und / oder die korrekte Energieverteilung auf der Sendeseite das Signal-Rausch-Verhältnis (SNR) erhöhen und somit die Anzahl der Fehler verringern kann.


Die Ordnungen der Diversität und des Array-Gewinns für verschiedene Konfigurationen können analytisch abgeleitet werden [1, S. 86 - 100] und auf eine Tabelle reduzieren [1, p. 101] sowohl für den Fall, dass der Kanal unbekannt ist (CU - Channel Unknown) als auch für den Fall, dass der Kanal auf der Seite des Senders bekannt ist (CK - Channel Unown).


KonfigurationDiversity OrderArray-Verstärkung
SIMO (CU, Rx-MRC)M_RM_R
SIMO (CK, Rx-MRC)M_RM_R
MISO (CU, OSTBC)M_T1
MISO (CK, Tx-MRC)M_TM_T
MIMO (CU, OSTBC)M_TM_RM_R
MIMO (CK, DET)M_TM_RM_TM_R

Okay, auch bei großen Strichen, aber jetzt haben wir zumindest ein gewisses Verständnis für die theoretischen Aspekte der Unterdrückung des Verblassens. Die nächste Frage ist, wie diese theoretischen Grenzen erreicht werden können. Was sind die Techniken zur Aktivierung der betrachteten Gewinne?


Lösung Nr. 1. Raum-Zeit-Codes


Eine der beliebtesten Klassen von Lösungen für räumliche Vielfalt ist möglicherweise die Klasse der Raum-Zeit-Codes (Raum-Zeit-Codes). Zum Beispiel die bekannte, glaube ich, viele Alamouti-Methode (ein Beispiel für Blockcode) [2, S. 40-46]:


Alamf

wo c_i bei i = 1,2 Sind einige Eingabezeichen t_i bei i = 1,2 Sind Zeitfenster und \ mathbf {S} - Dies ist in der Tat eine Codierungsmatrix.


Das Alamouti-Schema ist orthogonal [1, S. 93-95, 97-98] und erfordert vor allem keine Kanalstatusinformationen.


Die mathematische Beschreibung der Übertragung des vom Alamouti-Schema codierten Signals sowie einige Beispiele für die Modellierung dieser Technik in MatLab finden Sie in meinem Repository . Interessiert an Willkommen!

Wie Sie jedoch sehen können, ist die Alamouti-Schaltung ein Fall, in dem wir nur zwei Sendeantennen haben ( M_T = 2 )
Aber verlieren Sie nicht den Mut im Voraus: Natürlich gibt es auch andere Möglichkeiten, sie werden einfach etwas anders genannt. Beispielsweise kann man gemäß [3] die folgenden Codierungsschemata anwenden:


Tarokh

Abb. 2. Übertragungsschemata für Fälle M_T = 3 und M_T = 4 [2].


Und es gibt viele andere Möglichkeiten: Nur um die Bedingungen der Orthogonalität zu erfüllen.


Solche Codes erfordern tatsächlich die gleichen Verfahren zum Codieren und Decodieren wie für den Alamouti-Code. Daher werden sie normalerweise unter dem allgemeinen Begriff orthogonale Raum-Zeit-Blockcodes (OSTBC - Ortogonale Raum-Zeit-Blockcodes) kombiniert.


Diese Codeklasse wird in den Materialien "Einführung in MIMO-Systeme" von MathWorks besonders berücksichtigt. Ich rate allen Interessierten dringend, es zu lesen!

Was ist der Preis?


Wie aus dem Übertragungsschema ersichtlich ist, verbringen wir, obwohl wir Symbole parallel übertragen, mehrere Zeitschlitze damit. Daher opfern wir die Bandbreite (zumindest bekommen wir sie weniger). Für das Alamouti-Schema ist ein solcher Kompromiss symmetrisch: Wir verwenden 2 Antennen und 2 Zeitschlitze (als ob SISO in Bezug auf die Bandbreite verwendet würde). Andere Schemata können die Übertragungsgeschwindigkeit noch stärker beeinflussen.


Entscheidung Nr. 2. DET: Dominante Eigenmodusübertragung


Nun, für die vorherige Klasse von Techniken war die Kenntnis des Kanals für uns nicht wichtig. Aber was ist, wenn wir dieses Wissen noch haben? Gibt es in diesem Fall geeignetere Techniken?


In einem meiner vorherigen Artikel haben wir besprochen, dass wir, wenn wir den Zustand des Kanals kennen, verschiedene Methoden der Signalverarbeitung anwenden können, um den Durchsatz zu erhöhen. Das gleiche Prinzip erhöht die Störfestigkeit.


Wahrscheinlich haben viele von der MRC- Methode gehört und viele wissen, dass diese Methode für den SIMO- Fall sehr gut geeignet ist, wenn mindestens eine Antenne in der Übertragung vorhanden ist, aber es gibt immer noch viele davon, was bedeutet, dass es etwas zu kombinieren gibt.


Aber wahrscheinlich stieß bereits eine geringere Anzahl von Lesern auf MRC auf der Sendeseite (Tx-MRC) [1, S. 95,96] und noch weniger mit DET- Technologie (Dominant Eigenmode Transmission) [1, p. 98-100]. Repariere es!


Betrachten Sie zunächst den allgemeinen Fall des MIMO-Kanals und die letzte dieser Methoden - DET.


Was ist die Essenz von:


  • Wenn der Sender eine Matrix hat \ mathbf {H} dann kann es verarbeitet werden.
  • Zerlegen Sie es beispielsweise über SVD : \ mathbf {H} = \ mathbf {U} \ mathbf {\ Sigma} \ mathbf {V} ^ H. So erhalten Sie mehrere Matrizen einer bestimmten Eigenschaft.
  • Diese Eigenschaften können verwendet werden, um die Übertragung zu optimieren, beispielsweise durch Vorcodierung (Vorcodierung).

Wir führen einige vorcodierende Vektoren ein:


\ underset {M_T \ times1} {\ mathbf {w}} = \ sqrt {M_T} \ underset {M_T \ times1} {\ mathbf {v} _1}

wo \ mathbf {v} _1 Ist der erste (sozusagen dominante) Matrixvektor \ mathbf {V} .


Darüber hinaus können wir auch den Nachbearbeitungsvektor schreiben:


\ underset {M_R \ times1} {\ mathbf {g}} = \ underset {M_R \ times1} {\ mathbf {u} _1}

wo \ mathbf {u} _1 Ist der erste Vektor der Matrix \ mathbf {U} .


Definieren Sie das Modell des empfangenen Signals neu (siehe Thema Bandbreite ):


{z} = \ underset {1 \ times M_R} {\ mathbf {g} ^ H} \ underset {M_R \ times 1} {\ mathbf {y}} = \ mathbf {g} ^ H \ sqrt {\ frac { E_s} {M_T}} \ mathbf {H} \ mathbf {w} s + \ mathbf {g} ^ H \ mathbf {n} = \ sqrt {E_s} \ mathbf {u} _1 ^ H \ mathbf {H} \ mathbf {v} _1 s + \ hat {\ mathbf {n}} = \ sqrt {E_s} \ sigma_ {max} s + \ hat {\ mathbf {n}}

Voila! Die Magie der linearen Algebra hat unter allen Verteilungspfaden die profitabelsten herausgegriffen und die gesamte Energie dorthin gelenkt. Tatsächlich haben wir einen linearen Strahlformungsalgorithmus vor uns.


Auf Kosten dieses Ansatzes erfolgt, genau wie im Fall von OSTBC, eine Bandbreitenbeschränkung. Dies geschieht zwar nur im räumlichen Bereich.


Warum enthält die Methode Eigenwerte in ihrem Namen, wenn es sich nur um singuläre Werte handelt?

Weil die Eigenwerte (Kardinalität der Ausbreitungswege - Fading) direkt aus Singularzahlen (Fading-Amplituden) abgeleitet werden können:


\ mathbf {R} _ {\ mathbf {HH} ^ H} = \ mathbf {HH} ^ H = \ mathbf {Q} \ mathbf {\ Lambda} \ mathbf {Q} ^ H = \ mathbf {Q} \ begin {bmatrix} \ lambda_ {max} & & & & \\ &. & & & \\ & &. & & \\ & & &. & \\ & & & & \ lambda_ {min} \\ \ end {bmatrix} \ mathbf {Q} ^ H.

Nun, mit DET ist mehr oder weniger klar, was mit Tx-MRC ist.


Bei ihm ist es noch einfacher - dies ist ein Sonderfall von DET, und jetzt werden wir es beweisen.


Für Tx-MRC wird in der Literatur der folgende vorcodierende Vektor vorgeschlagen:


\ mathbf {w} = \ sqrt {M_T} \ frac {\ mathbf {h} ^ H} {\ sqrt {|| \ mathbf {h} || ^ 2_F}}

Wir denken daran, dass das Quadrat der Frobenius-Norm gleich dem Eigenwert und dementsprechend dem Quadrat der Singularzahl ist || \ mathbf {h} || ^ 2_F = \ lambda_ {max} = \ sigma ^ 2_ {max} (im Fall von SIMO und MISO).


Andererseits definieren wir das Modell des empfangenen Signals nur für den MISO-Fall neu:


y = \ sqrt {\ frac {E_s} {M_T}} \ mathbf {h} \ mathbf {w} s + \ mathbf {n} = \ sqrt {\ frac {E_s} {M_T}} \ mathbf {h} \ sqrt {M_T} \ frac {\ mathbf {h} ^ H} {\ sqrt {|| \ mathbf {h} || ^ 2_F}} s + \ mathbf {n}} = \ frac {\ sqrt {E_s}} {\ sigma_ {max}} \ mathbf {h} \ mathbf {h} ^ H s + \ mathbf {n}} = \ frac {\ sqrt {E_s}} {\ sigma_ {max}} || \ mathbf {h } || _F ^ 2 s + \ mathbf {n}} = \ frac {\ sqrt {E_s}} {\ sigma_ {max}} \ lambda_ {max} s + \ mathbf {n}} = \ sqrt {E_s} \ sigma_ {max} s + \ mathbf {n}}

Welches musste beweisen.


Beachten Sie, dass wir jetzt nicht nur über die Trennung von Signalen auf der Sendeseite und deren Kombination auf der Empfangsseite sprechen, wie dies bei OSTBC der Fall war. Jetzt geht es um die optimale Energieverteilung. Dies bedeutet, dass die Werte der Array-Verstärkung in diesem Fall höher sind als die von OSTBC.

Nachdem alle Wörter gesprochen wurden, werden wir versuchen, unsere Techniken zu simulieren.


Modellierung


Heute habe ich ein wenig gezählt: Für die OSTBC- Modellierung wurden vorgefertigte Objekte aus der Communication Toolbox verwendet (MatLab R2014a - welches es war):



Für die Modulation und Demodulation (und Bitfehlerberechnung - BER) wurden keine Funktionen mehr verwendet, sondern Funktionen . Ihre Analoga sind im Kommunikations- Octave-Paket enthalten.


Quellcodes finden Sie hier.
clear all; close all; clc snapshots = 100000; EbNo = 0:15; M = 2; % modulation order (BPSK) Mt = 2; % num. of Tx antennas Mr = [1; 2]; % num. of Rx antennas ostbcEnc = comm.OSTBCEncoder('NumTransmitAntennas', Mt); % for Alamouti ric_ber = zeros(length(EbNo), length(M), length(Mr)); sum_BER_alam = zeros(length(EbNo), length(M), length(Mr)); sum_BER_det = zeros(length(EbNo), length(M), length(Mr)); for mr = 1:length(Mr) ostbcComb = comm.OSTBCCombiner('NumTransmitAntennas', Mt, 'NumReceiveAntennas', Mr(mr)); H = zeros(Mr(mr), Mt, snapshots); alam_fad_msg = zeros(snapshots, Mr(mr)); for m = 1:length(M) ric_ber(:,m,mr) = berfading(EbNo, 'psk', M(m), Mr(mr)*Mt, 0); snr = EbNo+10*log10(log2(M(m))); % Signal-to-Noise Ratio message = randi([0, M(m)-1],100000,1); mod_msg = pskmod(message, M(m), 0, 'gray'); Es = mean(abs(mod_msg).^2); % symbol energy alam_msg = step(ostbcEnc, mod_msg); % OSTBC encoding % Channel h = (1/sqrt(2))*(randn(Mr(mr),Mt,snapshots/Mt)... + 1j*randn(Mr(mr),Mt, snapshots/Mt)); % Rayleigh flat fading % Channel is stable during to time-slots: H(:,:,1:2:end-1) = h; H(:,:,2:2:end) = h; pathGainself = permute(H,[3,2,1]); % Transmit through the channel (Alamouti): for q = 1:snapshots; alam_fad_msg(q,:) = (sqrt(Es/Mt)*H(:,:,q)*alam_msg(q,:).').'; end % DET: sigmas = zeros(length(mod_msg), 1); for hi = 1:length(mod_msg) [U, Sigma, Vh] = svd(H(:, :, hi)); sigmas(hi) = Sigma(1, 1); end det_fad_msg = mod_msg.*sigmas; No = Es./((10.^(EbNo./10))*log2(M(m))); % Noise spectrum density for c = 1:500 for jj = 1:length(EbNo) alam_noisy_msg = alam_fad_msg + ... sqrt(No(jj)/2)*(randn(size(alam_fad_msg)) + ... 1j*randn(size(alam_fad_msg))); % AWGN alam_decodeData = step(ostbcComb,alam_noisy_msg,pathGainself); %OSTBC combining alam_demod_msg = pskdemod(alam_decodeData, M(m), 0, 'gray'); % demodulation [number,alam_BER(c,jj)] = biterr(message, alam_demod_msg); % BER det_noisy_msg = det_fad_msg+ ... sqrt(No(jj)/2)*(randn(size(mod_msg)) + ... 1j*randn(size(mod_msg))); %AWGN det_decodeData = det_noisy_msg./sigmas; % Zero-Forcing equalization det_demod_msg = pskdemod(det_decodeData, M(m), 0, 'gray'); % demodulation [number,det_BER(c,jj)] = biterr(message, det_demod_msg); % BER end end sum_BER_alam(:,m, mr) = sum(alam_BER)./c; sum_BER_det(:,m, mr) = sum(det_BER)./c; end end figure(1) semilogy(EbNo, sum_BER_alam(:, 1, 1), 'b-o', ... EbNo, sum_BER_det(:,1,1), 'b->',... EbNo, ric_ber(:,1,1), 'b-',... EbNo, sum_BER_alam(:, 1, 2), 'r-o', ... EbNo, sum_BER_det(:,1,2), 'r->',... EbNo, ric_ber(:,1,2), 'r-',... 'LineWidth', 1.5) title('BPSK (Rayleigh flat fading)') legend('Alamouti (2x1)','Tx-MRC (2x1)','2-nd order diversity', ... 'Alamouti (2x2)','DET (2x2)','4-th order diversity') xlabel('EbNo (dB)') ylabel('BER') grid on 

Es sollte sich ungefähr so ​​herausstellen:



Abb. 3. Bit- / Symbolfehlerkurven für verschiedene Übertragungstechniken (BPSK, Rayleigh-Kanal mit flachem Fading). Vergleiche mit [1, S. 96, 100].


Und jetzt ist die Frage: Wo ist die Kurve der theoretischen Grenze der Diversität zweiter Ordnung?


Die Antwort

Alles entspricht der Tabelle: Diese Kurve stimmt vollständig mit dem Alamouti 2x1 überein. Bei MIMO kommt auch die Array-Verstärkung ins Spiel, sodass die Kurven getrennt werden.


Auf die eine oder andere Weise wird erwartet, dass DET (oder Tx-MRC) Alamouti in seiner Qualität übertrifft.


So: Wissen ist Macht!


Literatur


  1. Paulraj, Arogyaswami, Rohit Nabar und Dhananjay Gore. Einführung in die drahtlose Raum-Zeit-Kommunikation. Cambridge University Press, 2003.


  2. Bakulin M. G., Varukina L. A., Kreindelin V. B. MIMO-Technologie: Prinzipien und Algorithmen // M .: Hotline - Telecom. - 2014 - T. 244.


  3. Tarokh, V., Jafarkhani, H. & Calderbank, AR (1999). Raum-Zeit-Blockcodes aus orthogonalen Designs. IEEE Transactions on Information Theory, 45 (5), 1456-1467.



PS


Dem Lehrpersonal und der Studentengemeinschaft meines Heimatberufs sage ich Hallo!

Source: https://habr.com/ru/post/de452494/


All Articles