Sunteți pe pagina 1din 10

SISTEME DE COMUNICAŢII PENTRU TRANSPORTURI

Lucrarea de laborator nr. 10


Modulaţia multipurtător şi
modulaţia cu diviziune ortogonală în frecvenţă

1. Obiectivul lucrării

În această lucrare, se studiază transmiterea digitală a informaţiei prin


multiplexare cu diviziune în frecvenţă.

2. Introducere teoretică

Până acum, am studiat diverse modulaţii pentru transmiterea digitală


a informaţiei pe un singur purtător. Ne ocupăm în această lucrare de labo-
rator de modulaţia utilizând mai mulţi purtători. În modulaţia multipurtător,
un canal care are lărgimea de bandă B este subdivizat într-un număr, să
spunem K, de subcanale, fiecare având o lărgime de bandă Bc  B / K . Pe
aceste K subcanale, se transmit simultan şi sincron simboluri diferite de
informaţie. Datele se transmit, deci, prin multiplexare cu diviziune în
frecvenţă.
Fie f k frecvenţa mediană a subcanalului indexat cu k. Pentru fiecare
subcanal, să considerăm un semnal purtător:
xk (t )  sin 2 f k t , k  0, 1, , K  1. 1
Alegem viteza de simbol 1/T pe fiecare din subcanale egală cu separarea în
frecvenţă dintre doi subpurtători adiacenţi Bc . Drept urmare, subpurtătorii
sunt ortogonali pe durata simbolului T, independent de relaţia de fază
relativă între doi subpurtători:
T

 sin  2 f t    sin  2 f t    dt  0
0
k k j j 2

unde f k  f j  n / T , n  1, 2, , pentru orice faze arbitrare k şi  j . Cu


această restricţie, avem multiplexare ortogonală cu diviziune în frecvenţă,
notată pe scurt OFDM de la iniţialele din limba engleză (Orthogonal
Frequency Division Multiplexing).
Un sistem OFDM se poate proiecta astfel încât să se evite efectele
interferenţei între simboluri ce se întâlneşte de obicei în sistemele cu un
singur purtător. Dacă Ts este intervalul de simbol într-un sistem cu un
2

singur purtător, intervalul de simbol într-un sistem OFDM având K


subcanale este T  KTs . Alegând un K suficient de mare, putem face ca
intervalul de simbol T într-un sistem OFDM să fie mult mai mare decât dis-
persia în timp a canalului. De aceea, prin alegerea adecvată a lui K, într-un
sistem OFDM, interferenţa între simboluri poate fi făcută arbitrar de mică.
Într-un asemenea caz, lărgimea de bandă a fiecărui subcanal este suficient
de mică încât răspunsul în frecvenţă C ( f k ), k  0,1, , K  1, să apară
drept constant.
Într-un sistem OFDM, modulatorul şi demodulatorul se implemen-
tează utilizând un banc de filtre acordate pe baza transformării Fourier
discrete. Fie un modulator OFDM ce generează K subpurtători independenţi,
fiecare subpurtător fiind modulat de simboluri selectate dintr-o constelaţie
de semnale QAM. Notăm punctele de semnal cu valori complexe
corespunzătoare informaţiei transmise pe cele K subcanale cu
X k , k  0,1, , K  1. Aceste simboluri de informaţie { X k } reprezintă valo-
rile transformatei Fourier discrete (TFD) a unui semnal multipurtător
OFDM x(t ) , unde modulaţia pe fiecare subpurtător este QAM.
Există două mari clase de aplicaţii ale OFDM. Prima clasă este
transmisiunea digitală pe canale fir de bandă largă, un exemplu tipic fiind
linia digitală de abonat (Asymmetrical Digital Subscriber Line = ADSL). În
acest caz, semnalul de emisie este real. O a doua mare clasă este tranmi-
siunea fără fir pe canale radio mobile de bandă largă, unde fadingul este
dependent de frecvenţă. Pentru această aplicaţie, semnalul OFDM
modulează un purtător de frecvenţă ridicată, iar fiindcă modulaţia este
bidimensională (QAM sau PSK), semnalul modulator de emisie este
preferabil să fie complex (adică, să aibă o componentă reală în fază şi o
componentă imaginară în cuadratură). Cum transformata Fourier discretă ne
oferă un semnal complex, acesta este exact ce trebuie. Pentru prima clasă de
aplicaţii însă, este necesar un artificiu încât semnalul de emisie x(t ) să fie
real: transformata sa discretă în N puncte { X k } trebuie să satisfacă proprie-
tatea de simetrie X N  k  X k . De aceea, din cele K simboluri de infor-maţie
*

{ X k } , creăm N  2 K simboluri definind

X N k  X k* , k  1, 2, , K  1
X 0'  Re( X 0 ) 3
X  Im( X 0 ).
'
k
3

Observăm că simbolul de informaţie X 0 a fost despicat în două părţi,


ambele fiind reale. Notăm noul şir de simboluri cu  X k , k  0,1, , N  1 .
'

Cu aceasta, transformata Fourier discretă inversă (TFDI) cu N puncte a lui


{ X k' } ne dă şirul cu valori reale
N 1 k
1 j 2 n
xn 
N
 X k' e
k 0
N
, n  0,1, , N  1 4

1
unde este un simplu factor de scală. Şirul  xn , 0  n  N  1 cores-
N
punde eşantioanelor semnalului OFDM multipurtător x(t ) ce constă în
K  N / 2 subpurtători ortogonali. Fie atunci T durata semnalului şi
 nT 
xn  x   , n  0,1, , N  1. Putem exprima semnalul astfel:
 N 
N 1 kt
1 j 2 n
x(t ) 
N
 X k' e
k 0
T
, 0  t  T. 5

' '
Semnalul de informaţie X 0 , care este reprezentat de X 0 şi X k aşa cum se
arată în (3), corespunde componentei de curent continuu ( f 0  0 ) din (5).
Pentru ca semnalul OFDM multipurtător dat în (5) să nu aibă componentă
de curent continuu, este convenabil să facem X 0  0 . Făcând apoi uz de
relaţiile de simetrie date în (3), semnalul OFDM din (5) se poate exprima ca
mai jos
2 K 1
 2 kt 
x(t ) 
N
Xk 1
k cos 
 T
k  , 0  t  T

6

j
unde simbolurile de informaţie X k  X k e k , k  1, 2, , K  1.
Transformata Fourier discretă (TFD) este prin definiţie:
N 1 n
1  j 2 k
Xk 
N
 xne
n 0
N
, k  0,1, , N  1. 7

Am văzut mai sus că modulatorul dintr-un sistem OFDM poate fi


implementat calculând transformata Fourier discretă inversă (TFDI), dată în
(4). Demodulatorul, care recuperează simbolurile de informaţie  X k  din
eşantioanele semnalului recepţionat, se implementează calculând TFD dată
4

în (7). Schema bloc reprezentând operaţiile efectuate de emiţător şi de


receptor este dată în figura 1.

Simboluri Semnal
Modulator
de intrare Registru Convertor de emisie
multipurtător
serie-paralel D/A
{Xk} (TFDI) x(t)

Emiţător

Simboluri Semnal
Demodulator de recepţie
de ieşire Convertor OFDM Convertor
Detector
paralel-serie (TFD) A/D
r(t)

Receptor
Figura 1 Schema bloc a emiţătorului şi a receptorului OFDM.

Mai jos, se descrie detectorul. Atunci când numărul subpurtătorilor este


mare, să spunem K > 30, modulatorul şi demodulatorul dintr-un sistem
OFDM se implementează eficient utilizând algoritmul denumit transformata
Fourier rapidă (TFR) pentru a calcula TFD şi TFDI.
Dacă numărul subpurtătorilor este suficient de mare astfel încât
efectele dispersiei în timp a subcanalelor să fie neglijabil, semnalul transmis
prin fiecare subcanal este doar atenuat şi defazat fără o dependenţă de frec-
venţă în subbanda sa. Exprimăm aceasta astfel:
Ck  C ( f k ), k  0,1, , N  1. 8
5

În afară de aceasta, semnalul recepţionat mai este şi perturbat de zgomot


aditiv. Prin urmare, la ieşirea demodulatorului OFDM, simbolurile de
recepţie pot fi exprimate astfel:
Xˆ k  Ck X k'  zk . 9
Detectorul ce urmează după demodulatorul OFDM trebuie să elimine
efectul caracteristicilor de răspuns în frecvenţă al canalului împărţind fiecare
simbol de recepţie Xˆ k la Ck . În practică, acest lucru se realizează măsurând
caracteristicile răspunsului în frecvenţă ale fiecărui subcanal şi utilizând
ceste măsurări (estimaţii ale lui Ck ) pentru a elimina din simbolurile de
recepţie efectele de magnitudine şi de fază ale subcanalului. Putem exprima
simbolurile de recepţie compensate la detector astfel:
Xˆ k'  X k  zk , k  0,1, , N  1. 10

Observând fiecare simbol recepţionat, detectorul compară Xˆ k' cu fiecare din


punctele de semnal din constelaţia de semnale QAM posibil a fi fost
transmise şi alege acel simbol din constelaţie a cărui distanţă de Xˆ k' este cea
mai mică.

3. Probleme rezolvate cu MATLAB


Problema 1
Utilizând constelaţia de semnale QAM cu 16 puncte, să se selecteze
pseudoaleator fiecare din simbolurile de informaţie X 1 , X 2 , , X 9 . Cu T =
100 de secunde, să se genereze forma de semnal de emisie x(t ) dată de (5)
pentru t  0,1, ,100 şi să se reprezinte grafic. Să se calculeze apoi valorile
TFDI xn , pentru n  0,1, , N  1, utilizând (4). Să se demonstreze că x(t ) ,
evaluat în momentele discrete Tn / N , n  0,1, , N  1, corespunde
valorilor TFDI. Utilizând valorile TFDI  xn , 0  n  N  1 , să se calculeze
TFD definită în (7), demonstrând astfel că simbolurile de informaţie
 X k ,1  k  9 sunt recuperate din eşantioanele lui x(t ) , unde
t  nT / N , 0  n  N  1 .
6

Rezolvare:
În acest exemplu, K = 10 şi N = 20. Programul MATLAB este dat mai jos.
% Program MATLAB pentru Problema 1.
echo on
K=10;N=2*K;T=100;
a=rand(1,36);
a=sign(a–0.5);
b=reshape(a,9,4);
% Generează cele 16 puncte.
XXX=2*b(:,1)+b(:,2)+j*(2*b(:,3)+b(:,4));
XX=XXX' ;
X=[0 XX 0 conj(XX(9:–1:1))];
xt=zeros(1,101);
for t=0:100
for k=0:N–1
xt(1,t+1)=xt(1,t+1)+1/sqrt(N)*X(k+1)*exp(j*2*pi*k*t/T);
echo off
end
end
echo on
xn=zeros(1,N);
for n=0:N–1
for k=0:N–1
xn(n+1)=xn(n+1)+1/sqrt(N)*X(k+1)*exp(j*2*pi*n*k/N);
echo off
end
end
echo on
7

xn=zeros(1,N);
for n=0:N–1
for k=0:N–1
xn(n+1)=xn(n+1)+1/sqrt(N)*X(k+1)*exp(j*2*pi*n*k/N);
echo off
end
end
echo on
pause % Apăsaţi pe orice tastă pentru a vedea graficul lui x(t ) .
plot([0:100],abs(xt))
% Verifică diferenţa dintre xn şi esantioanele lui x(t ) .
for n=0:N–1
d(n+1)=xt(T/N*n+1)–xn(1+n);
echo off
end
echo on
e=norm(d);
Y=zeros(1,10);
for k=1:9
for n=0:N–1
Y(1,k+1)=Y(1,k+1)+1/sqrt(N)*xn(n+1)*exp(–j*2*pi*k*n/N);
echo off
end
end
echo on
dd=Y(1:10)–X(1:10);
ee=norm(dd);
8

Problema 2
Efectul zgomotului aditiv asupra semnalului OFDM
Considerăm sistemul OFDM descris în Problema 1. Presupunem că eşan-
tioanele TFDI ale semnalului transmis date de (4) sunt perturbate de zgomot
Gaussian aditiv având medie zero şi varianţă  2 . Fie g n componenta de
zgomot. Eşantioanele semnalului de recepţie se reprezintă astfel:
rn  xn  g n , n  0,1, N  1.

Să se calculeze TFD a şirului  rn  şi să se obţină apoi estimaţii ale simbo-


 
lurilor recepţionate Xˆ atunci când varianţa zgomotului  2 = 1, 2 şi 4.
k

 
Pentru fiecare valoare a lui  2 , să se detecteze şirul Xˆ k şi să se obţină
 
astfel simbolurile de ieşire din detector X . Să se comenteze acurateţea
k

simbolurilor detectate.

Rezolvare:
Programul MATLAB este dat mai jos. El calculează numărul de simboluri
recepţionate eronat pentru  2 = 1. Făcând o schimbare a variabilei
„varianţă“, putem obţine numărul de erori pentru diferite valori ale varianţei
zgomotului.
% Program MATLAB pentru Problema 2
echo on
K=10;N=2*K;T=100; variance=1;
noise=sqrt(variance)*randn(1,N);
a=rand(1,36);
b=reshape(a,9,4);
% Generează cele 16 puncte.
XXX=2*b(:,1)+b(:,2)+j*(2*b(:,3)+b(:,4));
XX=XXX' ;
X=[0 XX 0 conj(XX(9:–1:1))];
x=zeros(1,N);
9

for n=0:N–1
for k=0:N–1
x(n+1)= x(n+1)+1/sqrt(N)*X(k+1)*exp(j*2*pi*n*k/N);
echo off
end
end
echo on
r=x+noise;
Y=zeros(1,10);
for k=1:9
for n=0:N–1
Y(1,k+1)= Y(1,k+1)+1/sqrt(N)*exp(–j*2*pi*k*n/N);
echo off
end
end
echo on
% Detectează cel mai apropiat vecin din constelaţia 16QAM.
for k=1:9
if real(Y(1,k+1))>0
if real(Y(1,k+1))>2
Z(1,k+1)=3;
else
Z(1,k+1)=1;
end
else
if real(Y(1,k+1))<–2
Z(1,k+1)=–3;
else
10

Z(1,k+1)=–1;
end
end
if imag(Y(1,k+1))>0
if imag(Y(1,k+1))>2
Z(1,k+1)=Z(1,k+1)+3*j;
else
Z(1,k+1)=Z(1,k+1)+j;
end
else
if imag(Y(1,k+1))<–2
Z(1,k+1)=Z(1,k+1)–3*j;
else
Z(1,k+1)=Z(1,k+1)–j;
end
end
echo off
end
echo on
error=max(size(find(Z(1,2:10)–X(1,2:10))));

S-ar putea să vă placă și