Modelul de Canal Adecvat Si Sincronizarea Pentru Sistemele de Transmisiune Ofdm
Modelul de canal adecvat și sincronizarea pentru sistemele de transmisiune OFDM
Lista figurilor:
Figura 1.1 Ilustrarea canalului multicale. Reflecțiile întârziate în timp ale aceluiași semnal ce
se combină la receptor…………………………………………………………………….…..………….3
Figura 1.2 Ilustrarea funcției de împrăștiere, S(τ,) …………………………………………………….5
Figura 1.3 Răspunsul canalului la impuls în (2.12) ………………………………………………………7
Figura 1.4 Răspunsul în frecvență al canalului pentru (2.12) ……………………………………………9
Figura 2.1 Un exemplu de transmisiune OFDM………….……………………………………………..11
Figura 2.2 Reprezentarea simbolurilor OFDM utilizând funcții sinc……………………………………12
Figura 2.3 Structura bloc a unui sistem de transmisiune bazat pe OFDM………………………………13
Figura 2.4 Transmisiunea de date în blocuri succesive (a) și interferența care apare la receptor (b) …..14
Figura 2.5 Interferența inter-bloc cauzată de propagarea multicale (a), Prefixul circular eliminând această interferență (b) ………………………………………………………………………………….16
Figura 2.6 Transmisii seriale (sus) și Transmisii bloc (jos) …………………………………………….17
Figura 2.7 Implementarea OFDM în timp discret……………………………………………………….20
Figura 2.8 Prefixul ciclic adăugat unui bloc de date……………………………………………………20
Figura 2.9 Un canal atenuat selectiv în frecvență divizat în subpurtătoare ortogonale………………..22
Figura 3.1 Offset-ul frecvenței purtătoare………………………………………….……………..……26
Figura 3.2: Diagrama bloc a procesului de estimare a offset-ului frecvenței purtătoare
utilizând Domeniul de Frecvențe ……………………………………………………………………….29
Figura 4.1 Amplitudinea simbolurilor OFDM transmise………………………………….…………….35
Figura 4.2 Reducerea PARP prin eliminarea vârfului……………………………………………….…..35
Figura 4.3 Desincronizarea în timp și efectele sale asupra detecției ……………………………………..….38
Figura 4.4 Efectele prefixului ciclic asupra eficienței transmisiei………………………………………40
Figura 5.1 Modelul de baza OFDM…………………………………………………………..…………43
Figura 5.2 Efectul raportului semnal zgomot asupra probabilității de eroare………………..…………46
Figura 5.3 Nevoia utilizării prefixului ciclic……………………………….…………………………….46
Figura 5.4 Rata de eroare a biților față de offset-ul frecvenței……………………………….………….48
Figura 5.5 Variația ratei de eroare pe bit în funcție de offset-ul frecvenței într-un canal cu zgomot alb aditiv de tip Gaussian……………………………………………………………………………….…..56
Figura 5.6 Puterea de vârf datorată adăugării sinusoidelor în fază în comparație cu puterea medie a transmisiei……………………………………………………..…………………………………………49Figura 5.7 Raportul puterii de vârf/puterea medie…………..…………………………………………..49 Figura 5.8 Generarea aleatoare a datelor…………..……………………………………………………51 Figura 5.9 Modulație QPSK…………..………………………………………………………..…..……52
Figura 5.10 Semnalul OFDM înainte de aplicarea pragului de limitare……………………………….52
Figura 5.11 Semnalul OFDM după aplicarea pragului de limitare…………………………………….53
Figura 5.12 Semnalul OFDM la ieșirea amplificatorului de putere mare………………………………53
Figura 5.13 Semnalul OFDM amplificat, redus sub un anumit prag……………………………….…..54
Figura 5.14 Semnalul OFDM recepționat asupra căruia nu s-a aplicat metoda pragului de limitare……54
Figura 5.15 Semnalul OFDM asupra căruia s-a aplicat metoda pragului de limitare………………….55
Figura 5.16 Efectul truncherii asupra ratei de pe bit eroare a unui sistem OFDM când se utilizează o modulație BPSK…………..…………………………………………………………..…………………56
Figura 5.17 Efectul truncherii asupra ratei de eroare pe bit a unui sistem OFDM când se utilizează o modulație QPSK…………..…………………………………………………………..…………………56
Lista acronimelor
WLAN – Wireless Local Area Network
IEEE – Institute of Electrical and Electronic Engineers
DAB – Digital Audio Broadcast
DVB-T – Digital Video Broadcasting-Terrestrial
DMB-T – Digital Multimedia Broadcasting –Terrestrial
OFDM – Orthogonal Frequency Division Multiplexing
FDM – Frequency Division Multiplexing
IIS – Interferența inter-simbol
QAM – Quadrature Amplitude Modulation
DFT – Discrete Fourier Transform
BST-OFDM – Base Segmented Transmission- Orthogonal Frequency Division Multiplexing
ISDB – Integrated Services Digital Broadcasting
MAN – Metropolitan Area Network
WPAN – Wireless Personal Area Network
CFO – Carrier Frequency Offset
PAPR – Peak-to-Average Power Ratio
LOS – Line of Sight
FDP – Funcția de Distributie de Probabilitate
RMS – Root Mean Square
FIR – Finite Impulse Response
IFFT – Invers Fast Fourier Transform
FFT – Fast Fourier Transform
IIB – Interferența inter – bloc
CP – Cyclic Prefix
ZP – Zero Padding
BPSK – Binary Phase Shift Keying
QPSK – Quadrature Phase Shift Keying
IIP – Interferența inter-purtătoare
IDFT – Inverse Discrete Fourier Tranform
BER – Bit Error Rate
Introducere
Noua generație de sisteme de comunicații fără fir ordonă viteza datelor pentru aplicațiile intensive cum ar fi servicii multimedia, transferul de date, audio, transmisii video, care să conducă la apariția de terminale fără fir capabile de a se conecta la rețele diferite pentru a sprijini servicii precum trafic comutat, pachete de date IP și servicii de transmisie de bandă mare. În plus, odată cu creșterea utilizatorilor de aplicații pentru internet și aplicații fără fir, standardele multor rețele locale fără fir (WLAN) incluzând și IEEE802.11 permit conectivitatea mobilă la internet. Cu o cerere tot mai mare pentru conectivitatea fără fir la internet, noi standarde WLAN au fost elaborate, inclusiv IEEE802.11b cunoscut sub numele de WI-FI și care oferă o rată de date până la 11 Mb/s, și, mai recent, IEEE802.11g care oferă conectivitate fară fir cu viteze de până la 54 Mb/s. Ratele ridicate de date sunt o cerință nu numai pentru rețelele fără fir, dar și pentru difuzarea standardelor precum Digital Audio Broadcast (DAB) [6], Digital Video Broadcasting-Terrestrial (DVB-T) [6] precum și standardele Hirep-LAN-2 în Europa, Serviciile Digitale Integrate de Radiodifuziune (ISDB) în Japonia și standardul corean Digital Multimedia Broadcasting –Terrestrial (DMB-T) [6]. Ca o soluție pentru cerințele ratelor ridicate de date, toate aceste standarde folosesc comunicațiile multipurtătoare, și, în cele mai multe cazuri, Multiplexarea cu Divizarea în Frecvență Ortogonală (OFDM).
Comunicațiile pe multipurtătoare a fost prima dată implementate în Multiplexarea cu Divizare in Frecventă (FDM) la începutul anilor 1900. În FDM, mai multe semnale cu rate scăzute au fost transmise folosind frecvențe purtătoare separate pentru fiecare semnal. Diferite frecvențe purtătoare ar trebui să fie spațiate suficient pentru a evita suprapunerea spectrelor și pentru a putea fi eficient separate la receptor prin utilizarea filtrelor cu un preț redus. Regiunile spectrale libere dintre frecvențele purtătoare au condus la o eficiență spectrală foarte scăzută, dar prin împărțirea canalului de bandă mare în mai multe subcanale restrânse în mod paralel, efectul interferenței inter simbol (IIS) cauzat de natura canalului selectiv în frecvență este mult atenuat comparativ cu schema unică de comunicație a canalului de bandă mare. În domeniul timp, același lucru poate fi explicat ca o metodă de realizare a imunității maxime împotriva dispersiei multicale din moment ce durata simbolului de pe fiecare subcanal va fi mult mai mare decât dispersia de timp a canalului. Prin urmare, efectele IIS vor fi minimizate. Acesta scapă de nevoia de tehnici de echilibrare scumpe și complexe. De asemenea, ca urmare a lățimii de bandă mult mai restrânsă pentru fiecare subcanal efectele zgomotului de impuls sunt de asemenea reduse. Dar, pentru a implementa FDM care aduce beneficiile mai sus menționate, un set dedicat de filtre și oscilatoare sunt necesare pentru fiecare subcanal, care face sistemul costisitor și complex pentru a fi aplicat.
Tehnicile de mai sus oferă ortogonalitatea necesară pentru a separa semnalele multiton, dar ca urmare a unei game infinite a spectrului fiecărui component, suprapunerile agregate ale unui număr mare al spectrelor de subcanal sunt pronunțate. De asemenea, modul de redare spectral în afara lățimii de bandă alocată este semnificativ. Cu acestea în minte, este de dorit ca fiecare dintre componentele de semnal să aibă o bandă limitată. Va fi în continuare o suprapunere, dar numai cu subpurtătoare imediat adiacente, în timp ce aceasta rămâne ortogonală cu ele.
Simplitatea sistemului OFDM a fost recunoscută ca un avantaj pentru a ajuta la punerea sa în aplicare. Fluxul de date de intrare este convertit de la serial la N fluxuri de date paralele și fiecare flux paralel de date este modelat apoi pe purtătoare separate folosind Transformata Fourier Rapidă (FFT), asigurând ortogonalitatea. Datorită avansării în circuitele digitale, hardware-ul pentru punerea în aplicare a FFT-ului este rapid și ieftin, ceea ce face ca acest sistem să fie foarte atractiv. În plus, prin utilizare de N fluxuri de date în paralel de către operatorii de transport separați, în locul unui singur flux mai mare modulat de un singur operator de transport, lățimea de bandă mare a canalului este acum împărțită la N canale de bandă îngustă care au numai atenuare uniformă. Aceasta evită nevoia de egalizoare la receptor chiar peste canalele dispersive.
Cu avansările substanțiale în tehnologia de procesare a semnalului digital și scăderea costurilor hardware, prezența OFDM-ului în standardele de telecomunicație sunt în creștere rapidă. OFDM este folosit în standardele de emisie cum ar fi Digital Video Broadcasting —Terrestrial (DVB-T) pentru televiziunea internațională cu subtpurtătoarea OFDM 1705 sau 6817, Digital Multimedia Broadcasting (DMB) pentru folosirea în transferul de date multimedia pentru dispozitivele mobile în Korea, și Integrated Services Digital Broadcasting (ISDB) pentru televiziunea digitală în Japonia cu Band Segmented Transmission (transmisia cu bandă segmentată) BST-OFDM. Standardele de rețea fără fir cum ar fi IEEE 802.11a, rețele locale fără fir (WLAN), rețele metropolitane (MAN), rețele personale fără fir (WPAN) și HiperLAN/2 sunt bazate pe transmisiile OFDM. Proiectul standard IEEE P 1901 pentru banda largă peste puterea liniilor de rețele include OFDM în specificațiile sale.
Restul lucrării este organizată după cum urmează. În Capitolul 1, sunt introduse pentru prima dată canalele de comunicații fără fir. După acestea, un sistem de bază OFDM este definit în Capitolul 2. În Capitolul 3 și Capitolul 4 sunt introduse cele două metode principale ale comunicației OFDM și anume offset-ul frecvenței purtătoare (CFO) și raportul puterii de vârf medie (PAPR) sunt prezentate împreună cu tehnici de atenuare a efectelor lor asupra performanței sistemelor OFDM. În capitolul 5 sunt prezentate coduri pentru a stimula performanța ratei de eroare a unui sistem simplu OFDM. După aceasta, sunt ilustrate efectele CFO și PAPR privind performanța ratei de eroare a unui sistem OFDM. Toate programele sunt scrise în MATLAB.
Capitolul 1
MODELAREA CANALELOR RADIO
În acest capitol sunt revizuite câteva dintre caracteristicile de bază ale canalelor fără fir. În prima parte a capitolului, sunt intoduse noțiuni ale canalelor cu caracteristica de atenuare în frecveță plată. În a doua parte a capitolului sunt introduse canale selective în frecvență. Un motiv important pentru folosirea OFDM este acela al atenuării efective a canalelor selective în frecvență. Așa cum va fi arătat pentru canalele alăturate, OFDM convertește un canal selectiv în frecvență în mai multe canale cu caracteristica amplitudinii frecvență plată, motivând necesitatea de a înțelege natura canalelor cu caracteristica de atenuare cu frecvență plată, care este abordată în Secțiunea 1.1 și Secțiunea 1.2. Efectul selectării frecvenței este abordat în Secțiunea 1.3, dat fiind că OFDM este un sistem de modulare al domeniului de frecvență.
1.1 Caracteristici de bază ale canalelor radio mobanda largă peste puterea liniilor de rețele include OFDM în specificațiile sale.
Restul lucrării este organizată după cum urmează. În Capitolul 1, sunt introduse pentru prima dată canalele de comunicații fără fir. După acestea, un sistem de bază OFDM este definit în Capitolul 2. În Capitolul 3 și Capitolul 4 sunt introduse cele două metode principale ale comunicației OFDM și anume offset-ul frecvenței purtătoare (CFO) și raportul puterii de vârf medie (PAPR) sunt prezentate împreună cu tehnici de atenuare a efectelor lor asupra performanței sistemelor OFDM. În capitolul 5 sunt prezentate coduri pentru a stimula performanța ratei de eroare a unui sistem simplu OFDM. După aceasta, sunt ilustrate efectele CFO și PAPR privind performanța ratei de eroare a unui sistem OFDM. Toate programele sunt scrise în MATLAB.
Capitolul 1
MODELAREA CANALELOR RADIO
În acest capitol sunt revizuite câteva dintre caracteristicile de bază ale canalelor fără fir. În prima parte a capitolului, sunt intoduse noțiuni ale canalelor cu caracteristica de atenuare în frecveță plată. În a doua parte a capitolului sunt introduse canale selective în frecvență. Un motiv important pentru folosirea OFDM este acela al atenuării efective a canalelor selective în frecvență. Așa cum va fi arătat pentru canalele alăturate, OFDM convertește un canal selectiv în frecvență în mai multe canale cu caracteristica amplitudinii frecvență plată, motivând necesitatea de a înțelege natura canalelor cu caracteristica de atenuare cu frecvență plată, care este abordată în Secțiunea 1.1 și Secțiunea 1.2. Efectul selectării frecvenței este abordat în Secțiunea 1.3, dat fiind că OFDM este un sistem de modulare al domeniului de frecvență.
1.1 Caracteristici de bază ale canalelor radio mobile
În comunicațiile radio mobile, undele electromagnetice emise nu pot ajunge direct la antena de recepție din cauza obstacolelor care blochează calea directă. Undele primite sunt o suprapunere a undelor ce vin din direcții diferite datorită reflecției, difracție și împrăștierii cauzate de clădiri, copaci și alte obstacole. Acest efect este cunoscut sub numele de propagarea pe căi multiple ( multicale).
În comunicațiile mobile, puterea semnalului scade de la receptor din cauza pierderii căii principale (i), atenuarea macroscopică (ii), numită de asemenea și umbrire, și atenuarea microscopică (iii), de asemenea numită ca atenuare la scară mică. Pierderea căii principale rezultă din legea invers proporțională cu pătratul pierderii de putere și depinde de distanța undei emise. Atenuarea macroscopică sau umbrirea rezultă dintr-un efect de blocare de către clădiri, copaci mari sau munți. Atenuarea microscopică sau la scară mică pare ca urmare a propagării pe căi multiple în care semnalul primit constă într-o sumă infinită de replici atenuate, întârziate și defazate cauzate de împrăștierea semnalului transmis prin obstacole. Propagarea multicale și mobilitatea receptorului rezultă în răspândirea semnalului în dimensiuni diferite. Acestea sunt în principal întârzieri împrăștiate din cauza prezenței componentelor multicale rezolvabile în timp și împrăștierea Doppler în frecvență datorită mobilității terminalului. Sunt descrise statisticile atenuării la scară mică odată cu împrăștierea în timp și frecvență pe care canalul o introduce.
1.2 Atenuarea microscopică sau la scală mică
Atenuarea la scală mică face referire la fluctuațiile rapide ale semnalului primit în spațiu, timp și frecvență. Întrucât atenuarea este cauzată de suprapunerea unui număr mare de componente independent împrăștiate, componentele în fază și cuadratură ale semnalului primit se pot presupune a fi procese Gaussiane independente de medie zero. Prin urmare, în cazul în care nu există o cale directa (LOS), semnalul primit constă numai din suma componentelor împrăștiate independent. Pachetul, |h|, semnalului primit are o funcție de densitate Rayleigh dată de:
(1.1)
unde Dacă acolo există o cale directa (LOS) între receptor și emițător, pachetul de semnal nu mai este distribuit Rayleigh, dar are o distribuție Rice. Distribuția Rice este definită în termenii factorului Rice, K, ce reprezintă raportul puterii în componenta medie a canalului către acea putere din componenta dispersată. Funcția de distribuție de probabilitate Rice (FDP) din pachetul semnalului primit este dată de:
(1.2)
unde este puterea medie a componentei care nu reprezintă calea directă și este puterea medie a componentei LOS, factorul Rice și I0 este funcția Bessel modificată de primă speță definită caȘ
(1.3)
În absența unei căi directe, cu K=0, FDP Rice în (1.2) se reduce la FDP Rayleigh în (1.1) cu I0(0) = 1. Mai sunt și alte modele de atenuare, cum ar fi atenuarea Nakagami sau atenuarea Weibull , care nu vor fi luate, însă, în considerare.
Un exemplu de canal multicale este arătat în Figura 1.1. Din mai multe căi posibile care provin de la emițător, patru sunt descrise. Există o singură cale directă de la emițător către receptor. Alte trei căi care pleacă de la emițător sunt prezentate, ele întâmpinând obstacole. Două dintre ele se reflectă și ajung la receptor, în timp ce a treia reflectă un obstacol, dar la distanță de receptor. Aceste patru căi sunt exemple pentru calea actuală. Semnalul primit va consta din multe astfel de căi, combinându-se non-coerent la receptor.
Figura 1.1 Ilustrarea canalului multicale. Reflecțiile întârziate în timp ale aceluiași semnal ce se combină la receptor[2]
1.2.1 Efectul DOPPLER: atenuarea selectivă în timp
Datorită mișcării relative dintre emițător și receptor, efectul Doppler provoacă o schimbare de frecvență aparentă a undelor electromagnetice recepționate. Dacă unghiul de sosire al undei incidente a n-a este n, schimbarea de frecvență Doppler a acestei componente este dată de fn := fmaxcosθn , unde fmax = (v/c)f0 este frecveța maximă Doppler, viteza unității mobile este v, c este viteza luminii iar frecvența purtătoare este f0. Datorită efectului Doppler, spectrul semnalului transmis suferă o expansiune de frecvență cunoscută sub numele de dispersie în frecvență. În domeniul timp, efectul Doppler implică faptul că răspunsul la impuls al canalului devine variant în timp. Funcția de difuzare, S(τ, f ), poate fi folosită pentru a capta natura variantă în timp a canalului cauzată de efectul Doppler. Funcția de difuzare prezintă spectrul de putere Doppler pentru căi cu diferite întârzieri și frecvența Doppler f, aceasta fiind o caracterizare completă a celor două statistici de ordine ale canalelor radio. Figura 1.2 ilustrază o funcție de difuzare în ceea ce privește frecvența Doppler f și întârzierea . Când media este peste întârzierea , funcția de difuzare generează spectrul Doppler, S (f), care este puterea medie a canalului de ieșire exprimată ca o funcție a frecvenței Doppler:
(1.4)
Valoarea efectivă (RMS – Root Mean Square) a lățimii de bandă a S (f) este numită răpândirea Doppler, frms , și este dată de
(1.5)
unde Rf este regiunea unde f0 − fmax ≤ f ≤ f0 + fmax și favg este frecvența medie a spectrului Doppler dată de
(1.6)
În prezența căii directe, spectrul Doppler, S (f), este modificat de o componentă adițională discretă în frecvență corespunzând vitezei relative dintre stația de bază și terminal. Atenuarea întrodusă de efectul Doppler poate fi caracterizată de timpul de coerență, Tc al canalului care este de obicei definit ca intervalul de timp la care coeficientul de autocorelare se reduce la 0.7. Timpul de coerență poate fi, de asemene, aproximat ca reciprocă a răspândirii Doppler, i.e., Tc ≈ 1/frms. Astfel, timpul de coerență servește ca o măsură a cât de repede canalul se schimbă în timp, i.e., un mai mare timp coerență implică o mai lentă fluctuație a canalului.
Figura 1.2 Ilustrarea funcției de împrăștiere, S(τ,).[2]
Timpul de coerență și efectul Doppler joacă un rol important în funcționarea sistemelor multipurtătoare. Într-un sistem multipurtător, un canal selectiv în frecvență cu lățime de bandă mare este divizat în mai multe subpurtătoare de bandă îngustă. Dacă numărul de subpurtătoare crește pentru o anumită lățime de bandă, lățimea de bandă atribuită fiecărui canal se reduce. Acesta înseamnă faptul că lățimea de impuls a simbolurilor în timp crește. Prin urmare, sistemul trebuie să se proiecteze cu atenție pentru ca lățimea simbolului să depășească timpul de coerență al canalului. Doppler produce, de asemenea, pierdere de ortogonalitate a subpurtătoarelor în frecvență, ceea ce duce la interferența inter purtătoare (IIS), iar aceasta va fi descrisă în Capitolul 4.
1.2.2 Împrăștierea întârziată: atenuarea selectivă în frecvență
În propagarea multicale, în funcție de faza incidentă a undelor de la fiecare dintre multiplele căi, suprapunerea lor poate fi constructivă sau distructivă. Mai mult decât atât, pot exista mai multe componente rezolvabile în funcție de rata de transmisie. Astfel, prezența a mai mult de o componentă multicale rezolvabilă provoacă dispersie de timp a impulsului emis și adesea apar mai multe impulsuri individuale și distincte la receptor. De data aceasta, dispersia impulsurilor se manifestă ca distorsiune de frecvență în domeniul frecvență datorită răspunsului canalului cu o caracteristica de frecvență neplată. Distorsiunea provocată de propagarea multicale este de obicei modelată ca liniară și adesea compensată de un egalizor în comunicația cu o singură purtătoare. În comunicațiile multipurtătoare, totuși, mai multe subpurtătoare cu bandă îngustă sunt transmise paralel iar fiecare subpurtătoare este proiectată să aibă o caracteristică de atenuarea de frecvență plată.
Separarea întârzierii între căi crește odată cu întârzierea căii. Intervalul de întârziere al căii dintre prima și ultima replică a semnalului primit este numit împrăsâștiere întârziată. Valoarea efectivă (RMS) a împrăștierii întârziate a canalului, τrms, este definită ca
(1.7)
acolo unde profilul multicale intensiv sau profilul de putere întârziată, A (τ), este puterea medie a canalului de ieșire ca funcție a întârzierii , max este întârzierea maximă a căii și avg este răspândirea medie întârziată dată de
(1.8)
Profilul multicale intensiv este asociat cu spectrul S(f ) ca
(1.9)
Prin urmare, pentru a evita interferența inter-simbol în sistemele modulate liniar, durata simbolului ar trebui să satisfacă cerința T >> τrms. În scenariul OFDM, simbolurile transmise sunt separate de o bandă de bază specializată numită prefixul ciclic. Lungimea prefixului ciclic ar trebui să fie cel puțin la fel de lungă ca și răspândirea maximă întârziată. Prefixul ciclic și rolul său în sistemele OFDM, este explicat cu mai multe detalii în Capitolul 3. În prezența răspândirii întârziate, canalul poate fi modelat ca un filtru de linie întârziat și, prin urmare, este folosită caracteristica atenuarii de frecvență selectivă. Caracteristica de atenuarea selectivă a frecvenței poate fi caracterizată în termenii coerenței sale de bandă largă, Bc, care este diferența de frecvență pentru care coeficientul de autocorelație al canalului se reduce la o valoare prescrisă (0.7). Coerența lățimii de bandă este o măsură a canalului selectiv în frecvență si este reciproca valorii efective a împrăștierii întârziate, i.e., Bc ≈ 1/τrms . Sistemul de putere întârziată este pe de o parte adesea modelat ca o distribuiție exponențială,
(1.10)
Folosind (1.7), se poate dovedi că pentru profilul întârziat exponențial dat în (1.10), τrms = τavg . De obicei, răspândirea întârziată, τrms, crește odată cu distanța de la terminal. Aceasta se datorează faptului că la distanțe mai mari, multicăile cu întârzieri mari au puteri comparabile cu calea directă
Figura 1.3 Răspunsul canalului la impuls în (1.12) [2]
care în cele din urmă crește τrms. În zonele rurale plate, τrms este mai mic decât 0.05s, în zonele urbane τrms este aproximativ 0.2s și în zonele deluroase τrms este în jur de 2-3 s [23]. Într-un sistem multipurtător, un canal selectiv în fecvență este transmis pe mai multe subpurtătoare de bandă îngustă. Subpurtătoarele sunt alse în așa fel încât fiecare dintre ele să fie un canal cu caracteristica de atenuare frecvență-plată. Valoarea efectivă a împrăștierii întârziate și coerența lățimii de bandă joacă un rol important în determinarea numărului de subpurtătoare ce trebuie folosite. Pentru început, considerăm un sistem cu o lățime de bandă totală cu BW = 2MHz. Sistemul este dispus într-un mediu care are o valoarea efectivă împrăștierii întârziate de 25s sau o coerență de lățime de bandă de BC = 40kHz. Pentru ca aceste canale să aiba o caracteristica cu atenuare de frecvență-plată, coerența lățimii de bandă cerută fiecărei subpurtătoare din cele N este dată de BN := BW / N << Bc. Dacă BN = 0.1 Bc, cel puțin N = 500 subpurtătoare trebuie folosite. În OFDM, așa cum va fi prezentat mai târziu, este de preferat ca numărul subpurtătoarelor să fie o putere a lui 2, caz în care, N = 512 poate fi folosit.
1.3 Modelul liniei de întârziere descris pentru canalul cu atenuare, selectiv în frecvență
În această secțiune avem în vedere canalele cu atenuare selective în frecvență și vom discuta pe scurt câteva metode pentru diminuarea efectelor canalelor selective în frecvență. Dezavantajele acestor metode sunt prezentate cu scopul de a motiva necesitatea sistemelor multipurtătoare cum ar fi OFDM.
Canalele selective în frecvență sunt de obicei reprezentate folosind modelul liniei de întârziere. Într-un astfel de model, o linie de date este folosita la intervale diferite de timp, ponderată cu valori diferite care apoi se însumează pentru a oferi un rezultat. Un asemenea model reprezintă eficient datele primite prin mai multe căi ale aceleiași surse, ceea ce face din aceasta o bună alegere pentru canalele selective în frecvență. Pentru un canal selectiv în frecvență reprezentat folosind filtre de ordinul L (taps), dacă datele transmise sunt u[n], ieșirea de la receptor, r[n], este reprezenată ca:
(1.11)
, unde h[n; l], l = 0, ….., L – 1 reprezintă lungimea L ale canalului selectiv în frecveță în momentul n. Acest canal convoluțional poate fi la fel de bine interpretat ca un filtru FIR de ordin L – 1. Pentru o atenuare a canalului de frecvență selectiv, coeficienții canalului sunt modelați la întâmplare.
Figura 1.4 Răspunsul în frecvență al canalului pentru (1.12) [2]
Ca de exemplu, considerăm un canal h[n;l] la un moment de timp determinat. Presupunând că acest canal este în timp invariabil, vom renunța la indexul de timp. Iau în considerare, ca un exemplu, canalul al cărui răspuns la impuls poate fi reprezentat ca
(1.12)
Pentru acest canal, răspunsul la impuls și răspunsul în frecvență sunt prezentate în Figura 1.3 și respectiv Figura 1.4. Putem observa din Figura 1.3 că acest canal reprezintă un canal multipurtător, și din Figura 1.4 putem vedea că răspunsul canalului nu este același la fiecare frecvență, transformându-l astfel într-un canal selectiv în frecvență. În sistemele multipurtătoare precum FDM și OFDM, spectrul de frecvență este împărțit în mai multe canale cu bandă îngustă numite subpurtătoare. Dacă lățimile de bandă ale canalului sunt mici, fiecare poate fi considerat ca fiind un canal cu caracteristica de atenuare în frecvență plată. În timp ce aceasta este o abordare bună pentru a atenua efectele canalului selectiv în
frecvență, o subpurtătoare care apare la un nivel scăzut al răspunsului în frecvență al canalului va rezulta într-un canal cu performanțe foarte scăzute. Strategii precum coduri de control ale erorii de-a
lungul subpurtătoarelor sunt folosite pentru îmbunătățirea performanțelor în asemenea situații.
Așa cum este prezentat în (1.11), transmiterea pe un canal selectiv în frecvență poate fi considerată o convoluție în timp între date și reprezentarea liniei de întârziere exploatată a canalului. Algoritmul Viterbi poate fi folosit la decodarea datelor, și este prevăzut să asigure soluția probabilității maxime. Cu toate acestea, algoritmul Viterbi crește exponențial cu ordinul filtrului de canal.
Alternativ la receptor, convoluția în (1.11) poate fi inversată cu scopul de a estima datele transmise, într-un proces numit egalizare. Mai multe tehnici pot fi folosite pentru egalizare. Egalizarea liniară folosește un filtru FIR, g[l], pentru a estima valoarea simbolului transmis, u[n], pentru a obține estimarea:
(1.13)
Filtrul, g[l], trebuie să fie selectat în așa fel încât estimarea , să fie apropiată semnalului transmis, u[n]. În absența zgomotului canalului, g[l] este selectat după cum urmează:
h[l] ∗ g[l] = δ[l], (1.14)
astfel încât = u[n]. Având în vedere că din convoluția a două filtre FIR nu va rezulta niciodată δ[l], selectarea lui g[l] pentru a satisface (1.14) nu poate fi posibilă pentru un egalizator FIR. În schimb, coeficienții optimi ai lui g[l] sunt aleși într-un fel pentru a minimiza un indice de performanță, cum ar fi eroarea medie pătrată (MSE) între simbolul transmis, u[n], și estimarea simbolului , la receptor după cum urmează:
(1.15)
Reducerea efectelor canalului selectiv în frecvență necesită estimarea ordinului de reducere atât pentru egalizoare, cât și pentru algoritmii Viterbi. Din cauza naturii convoluționale a canalului, estimarea canalului nu poate fi realizată prin transmiterea unui ton pilot. O secvență de zgomot de fond este transmisă și corelată cu semnalul primit cu scopul de a estima canalul. În contrast, cu metodele din domeniu frecvență cum ar fi FDM sau OFDM, canalul cu caracteristica de atenuare în frecvență plată pe fiecare subpurtătoare poate fi estimat individual prin transmiterea unui ton pilot fiecărei subpurtătoare. Dacă întreaga estimare a canalului este realizată cu câțiva piloți, interpolarea canalului se estimează în domeniul de frecvență și va produce rezultatul dorit. Structura unui sistem OFDM, care permite o asemenea estimare, este discutată în Capitolul 3.
CAPITOLUL 2
Sistemul OFDM în banda de bază
În acest capitol, este introdus modelul de bază al sistemului OFDM. În primul rând, este prezentată o interpretare analogă a sistemului OFDM. După aceasta, este devoltată rata simbolurilor eșantionate discret la sistemul de transmisie OFDM. Blocurile de transmisie construite pe un cadru de matrice-vector sunt introduse, care însumează sistemele de transmisie care utilizează intervale de pauza (zero padding – ZP), OFDM cu prefix ciclic și transmisiunii precodate. De asemenea, vom discuta despre OFDM ca un sistem efectiv de trasmisie bloc pentru reducerea IIS în medii cu întârziere împrăștiată mare.
2.1 Introducere în OFDM
Conform celor prezentate în Capitolul 2, canalul selectiv în frecvență are un efect convoluțional asupra datelor transmise, și metode precum algoritmul Viterbi sau de egalizare sunt folosite pentru diminuarea efectelor canalului selectiv în frecvență. OFDM este o tehnică ce poate fi, de asemenea, folosită pentru a diminua efectele canalelor selective în frevență.
f1 f2 f3 f4 f5 f6
f1 f2 f3 f4 f5 f6
Figura 2.1 Un exemplu de transmisiune OFDM
Într-un sistem simplu FDM, întreaga lățime de bandă a canalului este împărțită în mai multe canale cu lățime de bandă îngustă, numite subpurtătoare. Dacă lățimea de bandă a subpurtătoarei este convenabil mică, ea poate fi considerată ca fiind un canal cu caracteristica de atenuare plată. Într-un sistem FDM, subpurtătoarele trebuie să fie atribuite în așa fel încât să nu interfereze unele cu altele. Un astfel de sistem este prezentat în jumătatea de sus a Figurii 2.1 unde, lățimea de bandă alocată este compartimentată în subpurtătoare. Pentru a realiza cotele lățimilor de bandă care nu sunt restricționate în frecvență, dar și pentru filtre, subpurtătoarele sunt distanțate suficient una de alta. Restricția ne interzice utilizarea unui sistem de compartimentare așa cum este prezentat în jumătatea de jos a Figurii 2.1.
Figura 2.2 Reprezentarea simbolurilor OFDM utilizând funcții sinc[3]
În contrast, într-un sistem OFDM, în plus față de divizarea spectrului de frecvență în părți separate, acestea sunt și modelate, așa cum arată Figura 2.2. Datorită acestei modelări, atunci când o subpurtătoare este prelevată de la vârf, toate celelalte subpurtătoare se află în momentul de trecere prin zero și nu interferează cu subpurtătoarea, fiind eșantionate. În cazul în care această eșantionare este făcută în afara vârfurilor, ar putea exista interferențe de la subpurtătoarele adiacente. Mai mult decât atât, nu trunchierea spectrului fiecărei subpurtătoare reduce cererile pe filtre ci, permite simbolurilor să fie restricționate în timp. Într-un sistem OFDM tipic, simbolurile de date sunt transmise pe fiecare subpurtătoare și sunt primite fără interferență.
2.1.2 Schema bloc a unui sistem OFDM
Figura 2.3 Structura bloc a unui sistem de transmisiune bazat pe OFDM[1]
Simbolurile reprezintă o secvență de biți rezultată, probabil, în urma unei codări de canal a șirului de date. Secvența obținută este convertită paralel de către convertorul S/P apoi este modulată în banda de bază. În funcție de constelația aleasă pe fiecare ramură, anumite grupuri de biți sunt convertite în simboluri complexe, prin urmare vor modula o purtătoare complexă. Acest proces este implementat prin intermendiul Transformatei Fouriere Rapidă Inversă ( Invers Fast Fourier Transform – IFFT) care reprezintă esențamodulatorului OFDM. Eșantioanele de la intrarea modulatorului IFFT sunt definite în frecvență. Alegerea constelației se bazează pe estimarea canalului pentru a se optimiza cât mai eficient transmisia.
În fața simbolului OFDM obținut de către modulatorul IFFT se inserează un prefix ciclic care are rolul de a separa între ele două blocuri OFDM succesive și de a facilita egalizarea canalului la receptor. În practică, aceste operații se implementează prin procesare numerică de semnal, astfel încât ceea ce înțelegem prin simbol OFDM la acest nivel este de fapt o secvență de N+L numere complexe. Pentru a se obține semnalul ce corespunde modulației OFDM, este nevoie de conversia semnalului în banda de bază într-un semnal analogic (folosind un convertor digital – analogic și un formator de impulsuri). Semnalul analogic astfel obținut va fi la randul lui translatat la frecvenșa radio de transmisie de către un convertor de radio-frecvență.
Receptorul implementează operațiile în ordine inversă: semnalul este translatat în banda de bază și convertit în semnal digital. După înlaturarea prefixului ciclic se folosește un egalizor de canal (nereprezentat) simplu ce constă într-o multiplicare cu o constantă a semnalului recepționat pe fiecare subpurtătoare, care sa compenseze coeficientul complex al răspunsului în frecvență al canalului. Secvența obtinută este adusă la intrarea demodulatorului FFT (Fast Fourier Transform). Simbolurile complexe la ieșire sunt transformate în grupuri de biți în conformitate cu constelația de modulație folosită pe fiecare dintre subpurtătoare. Decodorul poate avea și partea de detecție dacă este folosit un cod corector de erorri, la ieșirea sa obtinându-se valoarea estimată a biților transmiși.
2.1.3 Folosirea Prefixului Ciclic
Tehnica OFDM presupune transmiterea datelor în blocuri a căror conversie din digital în analogic conduce la „simboluri OFDM”. Deoarece aceste simboluri sunt obținute în banda de bază, fiind defapt blocuri de eșantioane numerice, se poate folosi de asemenea și termenul sinonim de „bloc OFDM”.
Canalele utilizate în practică, fie că este vorba de canale dispersive cu fir sau fără fir, vor „împrăștia” în timp simbolurile OFDM, conducând astfel apariția unei interferențe la receptor între două blocuri succesive. Acest tip de interferență este denumită interferență inter-bloc sau interferență inter-simbol OFDM fiind ilustrată în figura 2.4. În general aceste transmisiuni paralele pe purtătoare multipe au o rezistență mare la interferența inter-simbl. Dar cum se poate observa și în Figura 2.4 doar o mică parte din simbolul u+1 este afectată de către simbolul transmis înaintea sa, adică simbolul u. Principala cauză a acestui lucru este durata mare a simbolului OFDM, metodă ce utilizează transmisiunea paralelă pentru a atinge debite mari cerute de aplicațiile de mare viteză actuale. Însă, și această interferență ce afectează începuturile simbolurilor OFDM este deranjantă și trebuie minimizată, în caz ideal, eliminată.
Una dintre metodele folosite pentru eliminarea acestui tip de interferență este utilizarea unor intervale de pauză ( a unui „interval de liniște”) între două simboluri adiacente; metoda este cunoscută și sub numele de „zero padding”. Dacă transmisiunea se face printr-un canal liniar iar pauza de emisie este destul de mare, atunci efectul rezidual provenit de la simbolul precedent va fi „absorbit” de către intervalul de gardă. Demodulatorul nu va considera eșantionale afectate de acest efect rezidual, el „observând” mediul de transmisiune doar pe durata simbolului util, ignorând semnalele sosite în intervalul de gardă.
a)
b)
Figura 2.4 Transmisiunea de date în blocuri succesive (a) și interferența care apare la receptor (b) [1]
Deși este o tehnică ușoară, folosirea pauzei de transmisiune între simboluri prezintă oarece dezavantaje. Unul dintre acestea ar fi absența semnalului pe anumite porțiuni, fapt ce va conduce la dificultăți în privința sincronizării la receptor, aceeași problemă regăsindu-se și la codarea digitală a semnalului în banda de bază: intervale lungi ale semnalului fără tranziții pot cauza probleme în ceea ce privește sincronizarea bazei de timp a receptorului cu cea a emițătorului. Din perspectiva receptorului, este bine pentru acesta să fie ”alimentat” tot timpul de către emițător cu semnal, astfel încât să îi fie facil stabilirea începutului și sfârșitului fiecărui simbol OFDM. Un alt dezavantaj al acestei metode de utilizare a pauzei în transmisiune o reprezintă problema egalizării. Dacă între două blocuri OFDM consecutive nu există interferențe în cazul folosirii pauzei, acestea vor exista în continuare în structura fiecărui bloc. Aici vorbim însă de IIS din interiorul unui bloc OFDM, interferență apăută între simbolurile de date care compun blocul. Pentru un canal liniar, efectul pe care canalul îl are asupra semnalului transmis poate fi modelat prin operația de convoluție. Însă pentru un canal neliniar, eșantioanele ce sunt recepționate la un anumit moment de timp tk nu vor fi la fel ca acelea emise, ci vor fi calculate ca o sumă ponderată de eșantioane emise anterior, valoarea ponderilor rezultând din coeficienții răspunsului la impuls al canalului. Combaterea acestui tip de efect se poate face printr-o metodă numită egalizare. Utilizarea intervalului de pauză nu ușurează efectuarea egalizării, din acest motiv este nevoie de tehnici mult mai complexe pentru a combate interferența inter-simbol din interiorul unui bloc OFDM.
Pentru aceste probleme s-a găsit o alternativă care să constă într-o metodă inteligentă și simplă: adăugarea unui prefix ciclic. În acest fel, simbolul OFDM „original” va fi extins cu o anumită durată, copiindu-se ultima porțiuniune a simbolului la începutul acesteia. Acest fapt oferă un aspect de periodicitate semnalului, facilitând nu numai sincronizarea, ci permițând o egalizare mai simplă a canalului. Formarea prefixului ciclic se poate observa în Figura 2.5. Considerăm un exemplu simplu de emisie a două simboluri OFDM succesive, formate din două unde sinusoidale cu un defazaj între ele, printr-un canal radio ce are două căi de propagare. Asemenea simboluri se pot obține prin modularea unei singure purtătoare cu simbolul „1” și facănd toți ceilalți biți ai blocului de intrare în modulator „0”. Cum se vede și în prima parte a figurii (2.5a), la receptor nu ajunge doar semnalul de pe calea directă ci și variante întârziate și atenuate ale acestuia. La începutul simbolului al doilea există un interval pe durata căruia acesta interferă cu copia întârziată a simbolului anterior. În a doua parte a figurii ( 2.5 b), este ilustrat faptul ca simbolul este mărit cu un prefix de lungime egală cu un sfert din durata simbolului. După cum se poate observa, acest prefix ciclic este suficient pentru a absorbi efectele nocive ale propagarii multicale, în acest fel evitându-se interferența inter-bloc (IIB).
Fiindcă termenii „simbol” și „bloc” OFDM alternează, se poate afirma faptul că, în contextul OFDM, prefixului ciclic este utilizat pentru eliminarea interferenței inter-simbol, această afirmație referindu-se numai la simbolurile OFDM. În domeniul digital, un simbol este alcătuit din N eșantioane, obținute în urma aplicării IFFT. De reținut că IIS nu este eliminată prin utilizarea prefixului ciclic. Pentru acestea, la momentul de sondare pentru un simbol se observă contribuția simbolului precedent, cele două simboluri facând parte din același bloc OFDM.
IIS nu este eliminată în totalitate, așa cum se vede și în Figura 2.5 deoarece fiecare cosinusoidă, la recepție, este afectată de o copie întârziată a sa.
Pentru o eficacitate mai mare, chiar dacă IIS nu este eliminată de către prefixul ciclic din interiorul fiecărui simbol, acesta facilitând doar combaterea ei, se poate monta un egalizor simplu de canal după demodulatorul FFT care elimină în întregime acestă interferență.
Figura 2.5 Interferența inter-bloc apaurtă din cauza propagării multicale (a)
Eliminarea interferenței cu ajutorul prefixului ciclic (b). [1]
2.2 Transmisii bloc discrete de bandă de bază
Scopul acestei secțiuni este să stabilească un convenient binecunoscut în ceea ce privește tehnicile de transmisii bloc cum ar fi OFDM cu Prefix Ciclic (CP-OFDM), transmisii cu pauza (interval de liniște) între două simboluri consecutive, metodă cunoscută și sub numele de „zero padding” (ZP), și transmisii în blocuri precodate care procesează informația de simbol în blocuri.
Se arată că blocurile de transmisie au o modalitate eficientă de a reduce interferența intre simboluri (ISI). Acest model de unificare este util pentru a avea în vedere semnalele și sistemele din întregul proces de transmisie și este, de asemenea, utilizat în descrierea tehnică de transmisie OFDM.
Figura 2.6 Transmisiuni seriale (sus) si Transmisiuni bloc (jos)[2]
Inițial este prezentat un sistem de transmisiune modulat linear cu o un canal selectiv în frecvență. În Figura 2.6, u[n], n ∈ Z sunt impulsuri modelate de un filtru cu răspunsul p(t) si ele sunt trimise pe canalele fară fir cu un răspuns la impuls h(t), si un zgomot aditiv, v(t). Semnalul recepționat este trecut printr-un filtru cu răspunsul p(-t), adaptat la impulsurile transmise de filtrul p(t). Secvența recepționată este echivalentă cu ecuația:
(2.1)
unde h[n]:=h(nTs), r[n]:= r(nTs), v[n]:=v(nTs), Ts este perioada de eșantionare, si h(t), r(t) si v(t) sunt reprezentări ale canalului în domeniul timp, simbolurile recepționate și respectiv zgomotul pe canal aditiv. În continuare este prezentată legătura între transmisia seriala și blocul de transmisie. În blocul de transmisie, blocurile de lungime P sunt obținute de la simbolurile u[n] astfel încât P>>L. Fie u[i] indicele blocului i transmis și care are valoarea egală cu [u[(i-1)P], u[(i-1)P+1],…,u[(i-1)P+P -1]]T. Utilizând (2.1), această valoare ar avea expresia:
(2.2)
Unde r[i]= [r[(i-1)P], r[(i-1)P+1],…,r[(i-1)P+P -1]]T și v[i]= [v[(i-1)P], v[(i-1)P+1],…,v[(i-1)P+P -1]]T sunt vectorii receptionați si de zgomot, respectiv intervalul de bloc i si pentru ca P>>L, matricile de canal si cu dimensiunea P x P sunt date de :
=, (2.3)
Și
, (2.4)
Și arătate in diagramele bloc din Figura 2.5. Poate fi specificat că similar interferenței simbolurilor în transmisiunea seriala arătată în (2.1), există și interferență între blocuri (IBI) pentru blocurile u[i], interferență cauzată doar de blocul predecesor u[i-1], principalul motiv fiind cauzalitatea. Sunt ușor de remarcat consecințele alegerii P>>L. Matricea cadrelor expuse in (2.2) unifică mai multe sisteme de transmisiune bine cunoscute în felul următor:
Transmisii bloc precodate – transmisiile liniare precodate sunt cazuri de transmisii bloc. Ele implică codarea liniară a blocului de informație s[i] multiplicând cu un precod matricea Th. Cu o precodare liniara, u[i] derivă din Th · s[i], fie după intervalul de pauză sau după aplicarea Transformatei Fourier Rapide (FFT) și adăugarea unui prefix ciclic și transmiterea acestuia pe canal.
Transmisii cu intervale de pauza (Zero Padding) – să ne amintim de la (2.2) că există IIB în blocul recepționat la momentul i cauzată de ultimele L-1 simboluri în u[i-1]. Este ușor de văzut că IIB poate fi egalată cu 0 facând ultimele L-1 sau mai multe simboluri în u[L-1] egale cu 0. Acest sistem de transmisie poate fi exprimat matematic prin expresia:
(2.5)
Unde = s[i] este obținut de la un bloc de N × 1 simboluri prin adăugarea > zerouri asupra unei matrici de operare := []T , care adaugă zerouri lui s[i]. Aceast interval de liniște la sfârșitul blocului i previne IIB în blocul (i+1), imediat ce H1Tzp=0.
Prefixul Ciclic în OFDM (CP-OFDM) – prefixul ciclic în OFDM, care este un sistem foarte popular de modulație pe mai multe purtatoare, este de asemenea un sistem de transmisie bloc și se potrivește foarte bine cu modelul de date dezvoltat în (2.2). În OFDM, blocurile de date, s[i], de lungime N, sunt obținute dintr-un flux de simboluri de intrare, s[n]. În fiecare interval de bloc i, cele N elemente ale lui s[i] sunt modulate pe cele N subpurtătoare. Acest lucru se realizează utilizând IFFT discretă (Transformata Fourier Rapida Inversa) la emițător. În vederea preveniri IBI, este introdus un interval de gardă între blocurile de simboluri. Dar, în loc de a nu mai transmite nimic pe durata intervalului de gardă cum este în cazul sistemului de transmisiune cu intervale de pauză descriese în (2.5), ultimile date din coadă sunt transmise și numite “prefix ciclic”. La receptor, porțiunea de prefix ciclic de la semnalul recepționat este înlăturată, și se aplică FFT pentru restul semnalului. În aceasta etapă, relația între blocul de intrare s[i] sâși semnalul obținut dupa FFT are forma:
(2.6)
Unde v[i] este vectorul de zgomot. Prin adăugarea prefixul circular RcpH0Tcp unei matrice circulare, va rezulta matricea canalului, H=FNRcpH0Tcpca fiind diagonală. Mai mult, nu mai există interferența intre simboluri (ISI) intre blocurile lui y[i] din (2.6).
Modelul OFDM în Timp Discret
În Figura 2.7 este prezentată diagramă bloc a unei implementări OFDM în timp discret. Transmisiile se fac pe un canal fără fir cu IIS, cu funcția pondere h(t), care este modelat cu un filtru cu întârziere de linie în care ordinul filtrului este L, o întârziere maximă împrăștiată de τmax, o întârziere împrăștiată medie de τavg, și o valoare efectivă a întârzierii de τrms. Toate operațiile emițătorului cum ar fi conversia serie/paralel a datelor de intrare, aplicând IFFT pe acestea, introducerea prefixului ciclic, modelarea impulsului și transmiterea pe canal sunt prezentate în Figura 2.7 pentru intervalul de bloc i și sunt explicate în continuare:
Transmisiunile bloc – Este arătat în secțiunea 2.2 că OFDM se incadreaza în clasa generală de transmisiunii bloc. Modulatorul OFDM împarte un flux continuu de date de intrare în blocuri de lungime N, așa cum este arătat în Figura 2.7. Mai târziu, așa cum vom vedea, această transmisiune în blocuri a datelor de intrare și prelucrarea ulterioară ajută la combaterea interferenței intre simboluri induse de canal. Figura 2.7 arată procesul serial care are loc în intervalul de simbol i în care N elemente de date necodate, s[k], k=(i-1)N, (i-1)N+1, … , (i-1)N+N-1, sunt grupate într-un simbol OFDM, s[i], de lungime N. Simbolul OFDM s[i] este supus apoi prelucrării.
Figura 2.7 Implementarea OFDM în timp discret[2]
Modularea subpurtătoarei – Este o implementare în timp discret, modularea subpurtătoarelor de către date este obținută în urma operaiei de IFFT. În Figura 2.7, vedem că cele N elemente de date, s[i] sunt supuse operatiei de IFFT.
Introducerea prefixului ciclic – O operație importantă care ajută în preservirea ortogonalității subpurtătoarelor este introducerea prefixului ciclic între simbolurile OFDM. Numărul simbolurilor în prefixul ciclc este egal cu ordinul filtrului FIR în reprezentarea canalului selectiv în frecvență.
Figura 2.8 Prefixul ciclic adăugat unui bloc de date
Rezultatul, după aplicarea IFFT și inserarea prefixului ciclic, este [u[(i-1)P], u[(i-1)P+1],…,u[(i-1)P+P -1]]T, unde
(2.7)
pentru n= ( i – 1) P, ( i – 1) P + 1, . . . , ( i – 1) P + P – 1 si P = N + . Alternativ, generarea lui u[i] din s[i] poate fi descrisă ca:
(2.8)
unde :=este prefixul ciclic introdus matricei, cu ca ultimul rând al matricei identitate IN cu dimensiunea , FN este matricea Transformatei Fourier Discrete cu dimensiunea , și este matricea Transformatei Fourier Discretă Inversă cu dimensiunea obținută din Hermitiana lui FN. Un simbol OFDM care are un prefix ciclic este prezentat în Figura 2.6.
Modelarea semnalului – eșantioanele u[n], n= ( i – 1) P, ( i – 1) P + 1, . . . , ( i – 1) P + P – 1 ale simbolului OFDM u[i], (de asemenea conținând prefix ciclic) care se observă în Figura 2.5 sunt filtrate cu un filtru transmisiv, p(t) și transmise pe un canal, cu funcția pondere h(t). Practic problemele ca emisia de energie în afara benzii, interferența intre canale (IIC) și raportul puterii de vârf/putere medie dictează ce fel de sistem de filtrare trebuie folosit. Sistemul OFDM poate fi împărțit în două clase dependente de filtrele folosite: (I) clasa sistemelor care folosesc semnalul în timp limitat, tipic semnalelor rectangulare care se suprapun în domeniul spectral dar sunt ortogonale și (II) clasa sistemelor OFDM proiectate cu semnale cu lungime infinită, dar care sunt realizate cu versiunile lor trunchiate.
Chiar dacă eșantioanele de date, u[n], sunt cele din sistemul OFDM, canalul, h[n], le afectează în același mod pe toate cum ar face orice sistem cu o transmisie pe o singură purtătoare. Mai mult, semnalul continuu în timp recepționat este la fel ca în (2.1). În această etapă, receptorul elimină pur și simplu IIB cauzate de H1 eliminând primele eșantioane recepționate de-a lungul intervalului de gardă și aplică FFT semnalului rămas. Toate aceste operații menționate mai sus cu privire la r[i], pot fi descrise matematic după cum urmează:
(2.9)
unde Rcp := elimină partea inițială de prefix ciclic a simbolului recepționat. Important este că și termenul IIB cauzat de H1 este de asemenea egalat cu zero din moment ce Rcp îndepărtează primele sale rânduri. Avantanjul utilizării IFFT și FFT la emițător și respectiv la receptor, este faptul că factorul este simplificat la o matrice diagonală H care poate fi ușor inversată (furnizată chiar de inversa existentă). Cum H este o matrice diagonală, relația de intrare-ieșire la orice subpurtătoare k este una simplă fără nicio interferență între simboluri după cum urmează:
(2.10)
pentru k = ( i – 1) P, ( i – 1) P + 1, . . . , ( i – 1) P + P – 1, unde
(2.11)
și H[k], reprezentând câștigul canalului de pe purtătoarea k, este elementul k de pe diagonală principală a lui H și este dat de:
(2.12)
Uitându-ne la relația de intrare-ieșire (2.10), este clar că prin aplicarea IFFT și inserarea prefixului ciclic la emițător și cu operațiile descrise la receptor, sistemul OFDM a devenit un canal cu IIS, solicitând un potențial egalizor complex la receptor, compus dintr-un set de canale atenuate. Acesta este unul dintre cele mai importante avantaje ale sistemului OFDM: robustețea de a mări împrăștierea întârzierii mediului eliminând necesitatea de a avea un egalizor complex la receptor. Un dezavantaj al aceste metode este că atunci când câștigul unei subpurtătoare este scăzut, egalizorul amplifică zgomotul aditiv. Această problemă este exacerbată când o subpurtătoare trece pe un canal nul și datele transmise pe subpurtătoare sunt complet pierdute. Pentru a minimiza această problemă, se folosec coduri de control al erori pentru a coda simbolurile de-a lungul purtătoarei.
Figura 2.9 Un canal atenuat selectiv în frecvență divizat în subpurtătoare ortogonale. Subpurtătoarele alternante sunt hașurate pentru claritate [2]
Această reprezentare a sistemelor OFDM, prezentată în (2.10), poate fi interpretată și ca cea din Figura 2.9. Este prezentat un canal selectiv în frecvență divizat în subpurtătoare, fără anvelopă. Fiecare subpurtătoare se comportă ca un canal cu caracteristica de atenuare plată fără nici o interferență de la vreo altă subpurtatoare. Datele pot fi transmise independent pe fiecare dintre aceste subpurtătoare. În acest scenariu, pentru egalarea canalelor, este necesar doar să compensăm efectul fiecărei subpurtătore individual. În vederea realizării acesteia, câștigul subpurtătoarei trebuie să fie estimat. Pentru OFDM, fiecare câștig al subpurtătoarei poate fi simplu estimat cu piloți individuali din moment ce fiecare subpurtătoare este acum echivalentă cu un canal cu caracteristica de atenuare plată fără nicio interferență de la altă subpurtătoare. În caz că întregul canal trebuie să fie estimat, și nu doar subpurtătoarele, o interpolare simplă va produce informațiile solicitate.
OFDM este folosit în DAB, DVB-T, DMB și în standarderele IEEE 802.11a. Valorile tipice ale parametrilor cum sunt banda, numărul de subpurtătoare, distanță dintre subpurtătoare, sistemul de modulație și ratele de biți utilizați în aceste standarde sunt prezentate în tabelul 2.1. Câteva din aceste standarde lucrează în benzi și moduri multiple. De exemplu, chiar dacă standardul DAB poate opera la 30 MHz, el are alocată bandă pentru asta în Banda III ( banda înaltă Very High Frequency; 174-240 MHz) și în banda-L (1452-1492 MHz). DAB are un număr de tării specifice modului de transmisie ( I, II, III și IV). Pentru operații globale, un receptor trebuie să suporte toate cele 4 moduri: (i) Modul I pentru Banda III, Terestru; (ii) Modul II pentru Banda-L, Terestru și Satelit; (iii) Modul III pentru frecvențe mai mici de 3GHz, Terestru și Satelit; și (iv) Modul IV pentru Band-L, Terestru și Satelit. În cazul DVB-T-ului, sunt două opțiuni pentru numărul de purtătoare cunoscute ca modul 2K sau modul 8K. În modul 2K, 1.705 (aproximativ 2000) de subpurtătoare sunt folosite și sunt despărțite de aproximativ 4 kHz. În modul 8K, 6.817 subpurtătoare sunt folosite, separate de aproximativ 1kHz. Pentru DVB-T au fost alocate frecvențele din Bandă III și Bandă IV. Pentru aceste standarde care lucrează în moduri și benzi multiple, receptoarele sunt în general marcate ca ele să fie compatibile cu toate toate sistemele.
Tabelul 2.1 Valori tipice ale parametrilor OFDM utilizate în standarde comune
CAPITOLUL 3
Deplasarea de frecvență
Înainte ca un simbol OFDM să fie demodulat cu success, receptorul trebuie să sincronizeze baza de timp a cadrului transmis și frecvența purtătorei. În primul rând, receptorul trebuie să știe exact ce să eșantioneze din simbolurile OFMD care vin, această operație având prioritate în fața procesului FFT. În al doilea rând, receptorul trebuie să estimeze și să corecteze pentru fiecare purtătoare offset-ul de frecvență pentru că offset-ul poate cauza o interferență intre purtătoare (IIP). De fapt, sensibilitatea la erorile de timp și de offset este mai mare în sistemele OFDM decât în sistemele cu o singură purtătoare. Semnalele transmise sunt prevăzute cu sincronizarea de timp, frecvență, și parametrii de referință de fază pentru a ajuta sincronizarea la receptor. O detectie bună la receptor cere cunoașterea acestor parametri. Prima sarcină a receptorului e de a estima limitele simbolului. Daca receptorul nu poate identifica exact lungimea simbolului, apare IIS. Un preamblul constând dintr-o secvență de simboluri cunoscută este folosit pentru receptor. Odată ce prezența simbolurilor este detectată, următoarea sarcina a receptorului este să estimeze offset-ul de frecvență. Prin urmare, subpurtătoarele pot fi mutate de pe pozițiile lor inițiale cauzând un semnal neortogonal la receptor iar din această cauză poate apărea IIP după FFT, deoarece rezultatul FFT conține interferența de energie de la toate celelalte subpurtătoare. Alte probleme, cum ar fi radiația în afara benzii, pot apărea la transmisiunea OFDM.
3.1 Offset-ul Frecvenței Purtătoare
Offset-ul frecvenței [7] este introdus de o nepotrivire între oscilatorul local al emițătorului și cel al receptorului. Doppler-ul poate introduce de asemenea o ușoară modificare a frecvenței purtătoare și prin urmare poate conduce la nepotrivirea de frecvență. Impactul erorii de frecvență poate fi văzut ca o eroare unde semnalul recepționat este eșantionat de-a lungul demodulării. Figura 3.1 explică acest efect.
Cum subpurtătoarele sunt ortogonale, când privim în domeniul timp, vârful oricărui sinc este aliniat cu zerourile celorlalte sincuri. În mod ideal, fiecare subpurtătoare este eșantionată la vârful ei, și nu există nicio contribuție de la celelalte subpurtătoare. Totuși, când există offset al frecvenței, eșantionul nu poate să apară la vârfuri dar poate apărea la un punct de offset. Amplitudinea subpurtătoarei dorite este redusă, iar IIP apare de la subpurtătoarele adiacente.
După conversia paralel-seris și după aplicarea asupra rezultatului a Transformatei Fourier Rapide Inversă avem relația:
(3.1)
Figura 3.1 Offset-ul frecvenței purtătoare[1]
Este considerat cazul în care există nepotrivire între frecvența semnalului recepționat și oscilatorul local al receptorului. Ignorând efectele zgomotului aditiv, semnalul recepționat după îndepărtarea prefixului ciclic poate fi scris ca:
(3.2)
Unde reprezintă offset-ul relativ al frecvenței definit ca raportul dintre actualul offset al frecvenței și spațiul între purtătoare, iar H[k] este funcția de transfer a canalului definită la frecvența purtătoare k. z[n] reprezintă semnalul de intrare în FFT la receptor. Prin urmare, rezultatul aplicării FFT poate fi exprimat ca:
(3.3)
Înlocuind z[n] din (3.2) în (3.3) și după câteva calcule algebrice, rezultatul FFT este dat de :
(3.4)
(3.5)
Unde coeficientul complex
(3.6)
Pentru acesta, dacă egalăm m cu k aveam:
(3.7)
care este identic cu factorul de scalare a subpurtătoarei k din (3.5). Aceasta implică faptul că în caz de offset al frecvenței, fiecare simbol de ieșire estimat acum depinde în totalitate de valorile de intrare, erorile de intrare, interferența dintre purtătoare (IIP) rezultă din influența datelor de pe alte subpurtătoare. În continuare, poate fi observant în (3.5) că dacă Δf=0, atunci semnalul recepționat este s[k]H[k]/N. Din moment ce scalarea componentei k este independentă de k, este evident că toate subpurtătoarele experimentează același grad de atenuare împreună cu IIP. Este important de notat că offset-ul frecvenței purtătoare nu afectează amplitudinile niciunui semnal, și, în consecință, nu schimbă puterea totală a semnalului recepționat. Totuși, puterea totală a interferenței intre purtătoare se schimbă puțin cu N. Câteva tehnici de estimare a offset-ului și de îndepărtare a offset-ului sunt descrise în paragrafele următoare.
3.2 Estimarea offset-ului de Frecvență
Estimând offset-ul frecvenței la receptie, pierderile performanțelor datorate neportrivirii de frecvență a semnalului recepționat și oscilatorul de recepție pot fi semnificativ reduse. Tehnicile de estimare ale offset-ului de frecvență pot fi clasificate în general în sisteme pilot-asistat si pilot-neasistat sau sisteme de estimare oarbe. Metoda pilotului asistat utilizează simboluri pilot bine definite pentru a ajuta la estimarea offset-ului frecvenței purtătoare (CFO – carrier frequency offset). Din moment ce această metodă este capabilă de a realiza estimări foarte rapide si fiabile, este o metodă bună chiar si acolo unde există pierderi în ratele de date și în eficiența spectrală a sistemului. Metoda pilot neasistată sau oarbă exploatează propietatile structural și statistice ale semnalelor OFDM transmise. Chiar dacă aceste tehnici păstrează ratele de date, ele conduc la prelucrarea datelor recepționate de mai multe ori, ceea ce cauzează întârziere în decodare. După normalizarea offset-ului frecvenței purtătoare de către spațiul dintre subpurtătoare, partea întreagă și partea fracțională a offset-ului frecvenței purtătoare pot fi estimate separat. Estimarea părții întregi a offset-ului frecvenței purtătoare poate fi numită o estimare grosieră a offset-ului frecvenței purtătoare, în timp ce estimarea părții fracționale a offset-ului frecvenței purtătoare poate fi numită ca estimare fină.
În continuare sunt descrise pe scurt metode simple de estimare a părții întregi și a părții fracționale a offset-ului frecvenței purtătoare.
3.2.1 Autocorelarea domeniului de frecvență
Pentru această metodă, simbolurile pilot sunt transmise pe un set selectat de subpurtătoare. Din cele N subpurtătoare ale unui simbol OFDM, J sunt alese să fie pilot. Aceste J purtătoare nu sunt necesar contigue. Din moment ce partea întregă a offset-ului frecvenței purtătoare cauzează deplasarea de frecvență a semnalului recepționat în domeniul frecvență, această metodă produce estimări bune ale offset-ului frecvenței purtătoare. Reamintim din capitopul 2 că un bloc OFDM conține câteva simboluri OFDM, și fiecare simbol OFDM conține N subpurtătoare, și de aceea punctele de date y[i, j] reprezintă simbolurile transmise pe subpurtătoare j a simbolului i OFDM. Pentru sistemul de autocorelare în domeniul frecvență, două simboluri OFDM recepționate consecutive pe un set de subpurtătoarea sunt corelate, ca în Figura 3.2, ca să producă:
(3.8)
Unde sunt posibile valori întregi modificate ale subpurtătoarei, iar sunt cele J subpurtătoare pilot. Din moment ce simblurile pilot sunt aleatoare dar cunoscute de receptor, (3.8) va conține media mărimilor pătratice ale simbolurilor pilot. Partea întreagă a offset-ului frecvenței purtătoare poate fi estimată găsind valoarea lui g, care rezultă din , de exemplu:
(3.9)
Simbolurile pilot trebuiesc transmise pe câteva simboluri OFDM consecutive pentru a obține o estimare bună și pentru a minimiza erorile de estimare care pot fi cauzate de către fluctuațiile de canal. Urmărind acestea, pentru a obține o estimare bună a offset-ului frecvenței purtătoare, este descrisă metoda probabilității maxime pentru estimarea părții fracționale a offset-ului frecvenței purtătoare.
3.2.2 Estimarea probabilității maxime
Chiar dacă prefixul ciclic poate fi utilizat pentru sincronizarea de timp și de frecvență, în general, în transmisiunile OFDM, va exista un preambul adițional adăugat după prefixul ciclic și înainte ca datele să fie transmise. Acest preambul este proiectat să conțină simboluri repetitive multiple cu un interval de simbol mult mai mic decât al unui simbol de date transmis. Un astfel de preambul poate fi folosit pentru a estima partea fracțională a offset-ului frecvenței purtătoare. Definind Q ca reperatarea lungimii unui interval în eșantioane de timp și B ca eșantioane de timp de separare între două repetiții adiacente, estimatorul de probabilitatea maximă poate fi exprimat ca:
(3.10)
Unde arg(…) reprezintă argumentul unui număr complex. Având în vedere că faza poate fi cuprinsă doar în intervalul [-π, π], offset-ul frecvenței purtătoare poate fi estimat doar în intervalul .
Adăugând acesta la rezultatul obținut în urma estimării părții întregi a CFO, mai multă acuratețe în estimare este obținută.
Figura 3.2: Diagrama bloc a procesului de estimare a offset-ului frecvenței purtătoare utilizând domeniul de frecvențe [2]
Câțiva algoritmi pot fi folosiți pentru estimarea CFO. Unul dintre aceștia îl reprezintă corelarea bazată pe tehnica de estimare. În această metodă, două simboluri pilot identice consecutive sunt cerute pentru a estima CFO. Ipoteza restrânsă face ca maximum CFO să fie mai puțin decât jumătate din spațiul dintre subpurtătoare. Se folosesc două jumătăți de perioadă de simbol identice pentru a estima partea fracțională a CFO-ului și o a doua perioadă de simbol întreagă, care are o relație de corelare cu primul simbol pilot, pentru a estima partea întreagă a CFO-ului. Cea mai importantă presupunere este că, constelația simbolurilor transmise pe fiecare subpurtătoare are puncte egal distanțate în fază. O metodă similară exploatează doar două jumătăți de perioade de simbol identice pentru a estima atât partea întreagă cât și partea fracțională a CFO.
Într-un sistem de comunicații tipic, estimarea offset-ului este făcută în prezența zgomotului de canal corupând semnalul recepționat. Mai mult, estimările sunt întotdeauna perturbate de zgomot. Când aceste estimări sunt folosite pentru a diminua efectele offset-ului frecvenței, mai rămâne un offset rezidual care este mic, dar aleator. Aceasta are ca rezultat degradarea performanțelor, în pofida compensării offset-ului frecvenței purtătoare folosing procesul de estimare. Mai mult, este preferabil ca offset-ul purtătoare să fie îndepărtat automat, decât să fie estimat și apoi îndepărtat. În paragraful 3.3 sunt prezentați câțiva algoritmi de îndepărtare a interferenței intre purtătoare (IIP).
3.3 Metode de eliminare a interferenței inter-purtătoare (IIP)
3.3.1 Sistemul de autoeliminare a IIP
Au existat câteva metode propuse pentru a evita interferența între purtătoare în sistemele de comunicație OFDM. Prima metodă considerată este autoeliminarea IIP, propusă de Zhao și Haggman. În această metodă, în loc ca datele independente să fie mapate pe subpurtătoare, datele sunt mapate pe perechi adiacente de subpurtătoare. De exemplu, s[0]= – s[1], s[2]= – s[3], …, s[N-2]= -s[N-1]. Această mapare a avut ca rezultat elimarea celei mai mari părți a IIP din valorile y[0], …, y[N-1]. Deci este evident că IIP pentru această metodă depinde de diferența dintre lărgimea coeficienților adiacenți mai degrabă decât de cea a coeficienților înșiși. Cum diferența dintre subpurtătoare adiacente este mică rezultă că IIP este substanțial redusă. Dacă coeficienții adiacenți sunt identici, atunci IIP este complet eliminată. Eliminarea IIP în această metodă depinde de faptul ca acești coeficienți să fie funcții de offset care variază încet și nu depind de valoarea absolută a coeficienților înșiși. Oricum, din cauza redundanței introdusă de maparea aceluiași simbol pe două subpurtătoare, rata de date este înjumătățită.
3.3.2 Folosirea Ferestrelor
Folosirea ferestrelor este o altă metodă care ajută la reducerea sensibilitătii offset-ului frecvenței în sistemele OFDM. Acest proces implică în mod ciclic extinderea semnalului în domeniul timp asociat cu fiecare simbol cu v eșantioane. Semnalul rezultat este apoi format cu o funcție de fereastră.
Emițătorul utilizează N/2 puncte în procesul IDFT, în timp ce receptorul utilizează N puncte în procesul DFT. Dacă semnalul în domeniul timp este extins cu v=N/2 eșantioane, atunci semnalul recepționat în punctul N poate fi utilizat ca intrare a procesului DFT la receptor. Dacă v < N/2 atunci adăugarea zerourilor poate fi folosită pentru a obține o secvență de lungime N. La ieșirea procesului DFT, rezultatele sunt folosite pentru a estima simbolurile transmise în tmp ce rezultatele ciudate sunt eliminate. Acest lucru este foarte important din moment ce toată puterea recepționată nu este folosită în generarea estimărilor de date, această metodă are un raport semnal zgomot redus în comparație cu sistemele OFDM fără fereastră.
Deși metoda de eliminare a IIP este în sine simplă de implementat, fiecare simbol de date este transportat pe două subpurtatoare. Mai mult, rata de date a sistemului și eficiența frecvenței sistemului sunt reduse la jumătate. În metoda cu ferestre, funcțiile folosite pentru eliminarea IIP au benzi fără pauze, conducând la adăugarea de biți superiori și cauzând o pierdere în raportul semnal zgomot. Astfel, alegerea metodei de eliminare conduce la o constrângere între rata de date și raportul semnal zgomot, care este dictată de proiectarea sistemului.
CAPITOLUL 4
Raportul puterii de vârf/puterea medie (PAPR)
În timp ce offset-ul frecvenței purtătoare este un fenomen care apare datorită nepotrivirii frecvenței la receptor, raportul puterii de vârf/puterea medie mare apare în emițător din cauza însumării mai multor sinusoide. Ocazional, aceste sinusoide se pot adăuga coerent pentru a se obține o amplitudine mai mare în comparație cu amplitudinea medie, rezultând într-un raport al puterii de vârf/puterea medie mai mare (PAPR – peak-to-average power ratio). Pentru a se asigura că aceste vârfuri sunt transmise fără distorsiuni, amplificatorul de putere de la emițător trebuie să fie capabil să rămână liniar după un interval mare de amplitudini de intrare. Acesta prezintă o provocare semnificantă în proiectarea termenilor cost și putere consumată. În acest capitol, sunt descrise aceste evenimente în mai multe detalii și prezentate metode de minimizare a efectului unui raport al puterii de vârf/puterea medie mare.
4.1 Formularea Ipotezelor
Un semnal OFDM conține un număr de subpurtătoare independente din care poate rezulta un raport al puterii de vârf/puterea medie când este adăugată coerență. Aceste purtătoare diferite se pot alinia în fază la câteva momente de timp, și, mai mult, pot produce o amplitudine de vârf egală cu suma amplitudinilor purtătoarelor individuale. Aceasta se produce cu o probabilitate mică pentru un N mare. Astfel, puterea de vârf este definită ca puterea unei sinusoide cu o amplitudine egală cu maximul valorii anvelopei. Prin urmare, o purtătoarea nemodulată are un raport al puterii de vârf/puterea medie egal cu 0 dB. O măsură alternativă a variației anvelopei a semnalului este factorul de vârf, care este definit ca maximul valorii semnalului împărțit la rădăcina media pătrată a valorii semnalului. Pentru o purtătoare sinusoidală nemodulată, factorul de vârf este 3 dB. Această diferență de 3 dB între raportul puterii de vârf/puterea medie și factorul de vârf este valabilă și pentru alte purtătoare nesinusoidale, cu condiția ca frecvența centrală să fie mai mare în comparație cu banda semnalului. Un PAPR mare are dezavantajul unei complexități crescute a convertoarelor analogic-digital (A/D) și digital analogic (D/A), și reduce eficiența amplificatorului puterii de radio frecvență.
Rezultatul IFFT la emițător poate fi reprezentat ca:
(4.1)
Folosind această relație, puterea de vârf la emisie poate fi exprimată ca:
(4.2)
Unde |x[n]|2=x [n]*x[n]. Asemanator, puterea medie poate avea următoarea expresie:
. (4.3)
Raportul puterii de vârf/puterea medie, utilizând (4.2) și (4.3), poate fi exprimat ca:
. (4.4)
Ca un exemplu, consider cazul când modulația BPSK este folosită, s[k] ∈ {-1, 1}. Pentru acest caz, din (4.2) , putera de vârf transmisă este unu, și =1/N, conducând astfel la un raport al puterii de vârf medie de N. De exemplu, pentru un sistem OFDM care folosește 1024 de subpurtătoare pe simbolul transmis, raportul puterii de vârf/puterea medie este PAPR = 1024 ≈ 30dB, care este un interval destul de larg peste care amplificatorul de putere de la emițător poate să varieze.
Tehnica propusă pentru reducerea PAPT poate fi împărțită în trei categorii: metoda distoriunii de semnal, metoda de codificare și metoda codării. În metoda distorsiunii de semnal, distorsiunea neliniară este introdusă în semnalul OFDM la sau în jurul vârfurilor. Exemple de tehnici de distorsiune includ tăierile, ferestrele de vârf și anularea vârfurilor. Tehnicile de codificare folosesc înainte coduri corectoare de erori care exclud simbolurile OFDM cu un PAPR mare. În tehnica codării, fiecare simbol OFDM este codat cu o secvență de cod diferită, care este selectată să producă cel mai mic PAPR.
Un exemplu este arătat în Figura 4.1 unde câteva subpurtătoare OFDM sunt adăugate și transmise împreună. Aceasta conduce la formarea unor vârfuri înalte, și în consecință, un raport al puterii de vârf medie mare. În exemplul arătat, este asumat faptul că o amplitudine mai mare decât un prag predefinit cauzează un PAPR neacceptabil. În domeniul timp, există un astfel de vârf.
4.2 Metode de reducere a raportului puterii de vârf/puterea medie (PAPR)
4.2.1 Metoda distorsiunii de semnal
Din moment ce PAPR apare rar, vârfurile pot fi îndepărtate cu costul unei cantități mici de interferențe în sine. Metoda cea mai simplă de a elimina vârfurile este tăind semnalul așa cum amplitudinea de vârf devine limitată la anumite nivele maxime predefinite. Definind cea mai mare valoare de vârf acceptată ca un prag de limitare, orice vârf care trece peste această valoare va fi redus în mod corespunzător. Din moment ce limitarea poate fi văzută ca o operație cu fereastră rectangulară în timp, distorsiunile neliniare introduse de limitare, numite interferențe înseși, cauzează distorsiuni ale performanței ratei de erori a sistemului și, de asemnea, mărește semnificativ nivelul de radiații în afara benzii. Din cauza rotirii încete a spectrului ferestrei rectangulare și a lobilor exteriori mari, radiațiile în afara benzii sunt mari. Diferite forme ale ferestrei, altele decât cea rectangulară, au fost folosite pentru a minimiza nivelul de radiație în afara benzii, incluzând Gaussiana, cossinusul ridicat, ferestrele Kaiser și Hamming.
Figura 4.1 Amplitudinea simbolurilor OFDM transmise
Pentru a minimiza interferența în afara benzii, în mod ideal, fereastra ar trebui să fie îngustă în frecvență și să aibă o rotire rapidă cu lobii secundari mici.
Date
Figura 4.2 Reducerea PARP prin eliminarea vârfului [2]
Eliminarea vârfului poate fi de asemenea realizată digital. Este folosit un comparator pentru a verifica dacă amplitudinea de vârf a simbolului OFDM depășește un prag prestabilit, și dacă depășește pragul, vârful și lobii secundari sunt reduși în mod corespunzător pentru a menține o valoare predefinită a PAPR. Figura 4.2 arată diagrama bloc a unui emițător OFDM ce implementează eliminarea vârfului. Așa cum se vede în Figura, procedura de eliminare a vârfului este realizată după adăugarea prefixului ciclic.
Eliminarea vârfului poate de asemenea să fie realizată simbol cu simbol imediat după aplicarea Transformatei Fourier Discretă Inversă (IDFT) dar înainte de adăugarea prefixului ciclic și folosirea ferestrei. Nu există nicio schimbare în arhitectura receptorului pentru metoda digitală de eliminare a vârfului.
4.2.2 Codificare și codare
Deși eliminarea vârfului oferă o simplă dar puternică metodă de a controla raportul puterii de vârf/puterea medie al unui sistem OFDM, un important dezavantaj al acestei tehnici este acela că simbolurile cu un PAPR mare sunt degradate mai mult, și de aceea ele sunt mai vulnerabile la erori. Dat fiind faptul că PAPR este mare doar o dată într-o mulțime de simboluri OFDM, o altă metodă de a elimina efectele PAPR o reprezintă codul corector de erori. Utilizând coduri cu rate mici și cu redundanță mare, erorile cauzate de simboluri cu o degradare mare pot fi corectate de simbolurile alăturate.
Metoda de codare a simbolului pentru a reduce PAPR a unui semnal OFDM transmis poate fi văzută ca un tip special de cod de reducere a PAPR. Codarea simbolului nu încearcă, oarecum să combine codurile corectoare de eroare și să reducă PAPR așa cum este făcută de către codurile complementare. Ideea de bază a codării simbolului este aceea că pentru fiecare simbol OFDM, secvența de intrare este permutată de un set de secvențe de codare iar semnalul de ieșire cu cel mai mic PAPR este transmis. Pentru secvențele de cod necorelate, semnalele OFDM rezultate vor avea PAPR necorelate, deci dacă PAPR pentru un simbol OFDM are o probabilitate p de a depăși un anumit nivel fără codare, probabilitatea este crescută până la pK prin utilizarea a K coduri de codare. Prin urmare, codarea simbolului nu garantează un PAPR sub un anumit nivel; mai degrabă, scade probabilitatea în care un PAPR va avea loc. Metodele codării au fost propuse inițial sub numele de mapare selectată și secvențe parțial transmise. Diferența dintre cele două este că prima aplică permutări de codare independente la toate subpurtătoarele, în timp ce a doua codează grupuri de subpurtătoare.
Deși toate cele trei metode prezentate mai sus ajută la reducerea PAPR al unui sistem OFDM, fiecare are dezavantajele ei. În timp ce metoda de codare introduce redundanță și prin aceasta o pierdere a ratei de transmisie de date, limitarea amplitudinii de vârf introduce distorsiuni neliniare în sistem, iar metoda codării crește complexitatea sistemului. Prin urmare, cerințele de proiectare ale sistemului sunt folosite pentru a decide care din aceste sisteme este utilizat ca să depășească efectele unui PAPR mare asupra sistemului.
4.3 Avantajele și dezavantajele tehnicii OFDM
Multiplexarea cu divizare în frecvența ortogonală a cunoscut o expansiune mare fiind utilizată în momentul de față într-un număr mare de tehnici de transmisiune cu sau fără fir. Acest fapt se datorează numeroaselor avantaje dintre care le amintim pe cele mai importante: rezistență ridicată la interferența inter-simbol, implementare ușoară și cu un cost mic, bazându-ne pe tehnici de prelucrare digitală de semnal prin utilizarea Transformatei Fourier Rapidă (FFT), precum și egalizarea relativ simplă a canalului prin utilizarea prefixului ciclic.
Pentru a rezuma, OFDM oferă următoarele avantaje față de metodele tradiționale FDM:
Eficiență spectrală ridicată datorită absenței benzilor de gardă.
Realizarea hardware-ului simplu și eficient prin implementarea operațiunii FFT
Evită interferența inter-simbol și, prin urmare, conduce la o complexitate scăzută a receptorilor din cauza evitării egalizatorilor
Fiecare subpurtătoare poate avea o schemă de modulare diferită conducând la proiectarea unor scheme de transmisie adaptate extrem de robuste.
Permite diversitate de frecvență prin răspândirea subpurtătoarelor peste spectrul utilizabil.
Oferă o bună rezistență împotriva interferențelor în canal și a zgomotului de impuls.
Deși OFDM oferă avantajele de mai sus, are și câteva dezavantaje:
Raportul mare al puterii de vârf medie datorat suprapunerii unui număr mare de subpurtătoare modulate care necesită un amplificator de putere de emisie pentru a fi liniar peste întreg ansamblul de semnal, sau altfel duce la limitarea vârfurilor cauzând distorsiuni. În cazul în care amplificatorul de putere de emisie nu este liniar peste întreg ansamblul, scurgerea puterii de bandă este semnificativă ceea ce cauzează interferența inter purtătoare.
Pierderi în eficiența spectrală din cauza utilizării prefixului de gardă interval/ciclic
4.3.1 Scurt rezumat al principalelor dezavantaje ale tehnici OFDM
Este tratată problema sincronizării. În ceea ce privește această problemă, tehnica OFDM se dovedește sensibilă la erorile în procesul de sincronizare în timp și în frecvență, erori ce pot să apară la receptor față de emițător. Pentru o claritate mai bună asupra acestor probleme, se va face referire la exemplele concrete prezentate (calcule și figuri).
4.3.1.1 Desincronizarea în domeniul timp
Pentru început, este abordată problema desincronizării în domeniul timp, ceea ce reprezintă faptul că receptorul „se înșeală” asupra începutului simbolului OFDM, citindu-l cu o anumită întârziere.
Dacă este transmis un simbol OFDM ce corespunde unui șir de date X[k] , fiecare simbol aparține unei constelații de tip QAM, semnalul va avea expresia:
(4.5)
în aceasta relație, reprezintă distanța între două frecvențe purtătoare, iar T reprezintă durata simbolului. Informația se află în modulul și faza semnalului complex X[k]. Ignorându-se intazierea propagării semnalului de la emițător până la receptor, fenomenul de propagare multicale și zgomotul de canal, se consideră că receptorul va avea față de receptor o eroare de sincronizare în timp, Δt, receptorul citind mai târziu cu Δt secunde decât ar fi normal. Semnalul recepționat va avea următoare formă:
(4.6)
Această eroare provoacă o modificare cu 2π Δt a fazei fiecărui simbol, ceea ce provoacă o interpretareagreșită a unui număr mare de simboluri X[k]. Rotația fazei poate fi introdusă și de canal nu doar de receptor. Dacă emițătorul folosește o modulație QPSK, atunci va rezulta următoarea Figura:
Figura 4.3 Desincronizarea în timp și efectele sale asupra detecției [1]
4.3.1.2 Desincronizarea în domeniul frecvență
Un alt timp de desincronizarea este aceea în frecvența. Pentru acest tip, se folosește termenul de “offset al frecvenței” sau “deplasare a frecvenței”. În această situație, purtătoarele care sunt folosite își pierd ortogonalitatea, conducând la interferența inter-purtătoare. Principala cauză a apariției acestui offset o reprezintă efectul Doppler apărut din cauza canalului radio variabil în timp. Asemănător, și pentru un canal care nu variază în timp, un efect similar îl introduce desincronizarea purtătoarei de la recepție față de cea de la emisie, mult mai sepărător la transmisiile pe mai multe purtătoare decât la cele pe o singură purtătoare. Așa cum se observă în Figura 3.1, subpurtatoarea aflată la frecvența f4 este deplasată cu o cantitate Δf, proprietatea de ortogonalitate nu mai este satisfăcută iar celelalte purtătoare adiacente sunt interferate de aceasta. Cu cât se folosesc mai multe subpurtatoare cu atât fenomenul este mai daunator. Pentru o lățime de bandă dată, dacă dublăm numărul de subpurtătoare, intervalul de frecvență ca le separă se reduce la jumătate, offset-ul frecvenței va interfera mult mai pronuțat.
4.3.1.3 Raportul puterii de vârf/puterea medie și Prefixul Ciclic
Pe lânga problema offset-ului frecvenței purtătoare, pentru modulația OFDM un alt dezavantaj îl reprezintă și variabilitatea pronunțată anvelopei sale, rezultand într-un raport al putere de vârf/ putere medie (PAPR) mare. PAPR se definește din punct de vedere matematic prin relația (4.4), îngreunând sarcina aplificatoarelor de putere utilizate, care pot introduce efecte de neliniaritate. Există însă anumite metode de reducere a acestui raport care au fost prezentate în paragrafele anterioare.
Prefixul ciclic poate fi și el, dintr-un anumit punct de vedere, dăunator transmisiunii OFDM. Pe de o parte, el ajută la egalizarea canalului și elimină interferența inter-simbol, copiind ultima parte a simbolului transmis în partea din față a acestuia. Pe de altă parte însă, el introduce o redundanță în informația transmisă. Deoarece datele de transmis sunt definite în domeniul frecvență, putem spune că prin folosirea prefixului ciclic se ocupă în mod ineficient o anumită lățime de bandă. Durata prefixului ciclic trebuie aleasă în funcție de intensitatea fenomenului de propagare multicale, el eliminând copiile întârziate ce ajung la receptor ale semnalului emis.
Introducerea prefixului ciclic se poate realiza în două feluri: păstrându-se durata totală a simbolului egală cu aceea când nu s-a introdus prefixul ciclic, rezultând într-o diminuare a duratei simbolului util sau, se pastrează frecvența de eșantionarela fel și se adaugă prefixul ciclic la începutul fiecărui simbol, crescând durata totală a simbolului transmis. În ambele cazuri se diminuează eficiența transmisiei după cum se observă și în Figura 4.4.
Există cazuri când prefixul circular elimină total interferenț inter-simboluri OFDM, acest lucru întâmplându-se pentru o durată a răspunsului la impuls al canalului mai mare ca cea a prefixului ciclic. Pentru acestea, trebuiesc utilizate tehnici de ameliorarea a canalului, suplimentare.
Figura 4.4 Efectele prefixului ciclic asupra eficienței transmisiei[1]
CAPITOLUL 5
SIMULAREA PERMORMANTEI SISTEMELOR OFDM
5.1 Performanța unui sistem OFDM
În analiza performanței unui sistem OFDM, ne asumăm faptul că, canalul rămâne constant pe o perioadă de timp și atunci se modifică aleator la o valoare independentă. Acest comportament este numit atenuare cvasi-statică. Presupunând un canal cvasi-static și o sincronizare perfectă la receptor conduce la faptul că semnalele recepționate pe subpurtătoare diferite este independent pe fiecare în parte. Mai mult, canalul pe fiecare subpurtatoare poate fi reprezentat ca un canal plat atenuat cu zgomot alb aditiv Gaussian (AWGN). Raportul semnal zgomot instantaneu pe fiecare subpurtatoare, într-un bloc de atenuare cvasi-statică, poate fi reprezentat ca:
(5.1)
Unde reprezintă media raportului semnal zgomot pe subpurtătoare și H[k] reprezintă canalul pe cea de-a k purtătoare descrise în (3.12). De reținut este faptul că aici este presupus faptul că toate subpurtătoarele au aceeași medie a raportului semnal zgomot =Eb/N0, unde Eb reprezintă media energiei pe bit iar N0 reprezintă densitatea spectrală cea mai mare a zgomotului exprimată în unități de Watts pe Hertz.
Mai mult, având în vedere că subpurtatoarele sunt independente, și presupunânad cunoștințele de canal perfect la receptor, probabilitatea de eroare, Pe, a sistemului OFDM poate fi exprimată ca o medie a probabilităților de eroare ale fiecărei purtătoare în parte:
(5.2)
Unde este dependent canalului de probabilitatea instantanee de eroare pe sub-purtatoarea k. depinde de metoda de modulație aleasă. Pentru modulația BPSK avem:
(5.3)
Dacă, în schimb, este folosită modulația QPSK, avem:
(5.4)
Pentru a face o mediere a probabilității de eroare de-a lungul timpului, valorile instantanee trebuie să fie peste toate valorile posibile ale variabilei aleatoare H[k]:
(5.5)
Unde EH[..] denotă operatorul așteptare în raport cu H[k]. Prin urmare, folosind (5.5), probabilitatea medie a erorii unui sistem OFDM poate fi exprimată ca:
(5.6)
La receptor, o probabilitatea de decodare maximă este implementată. O probabiltate de decodare maximă, așa cum îi spune și numele, maximizează probabilitatea unui semnal recepționat, y, condiționat de semnalul transmis,s, și de canal, H, rezultă:
(5.7)
Pentru toate simulările, vom presupune atenuarea Rayleigh a canalelor și zgomotul alb aditiv Gaussian, conducând astfel la o probabilitate de decodare maximă de formă:
(5.8)
Pentru cazul când sincronizarea în timp și în frecvența este perfectă la receptor, probabilitatea maximă de decodare poate fi exprimată:
(5.9)
Important aici este că probabilitatea maximă de decodare poate fi reprezentată ca în (5.9) deoarece nu există codare de canal. Mai mult, dacă codarea canalului a fost folosită atunci algoritmul de detecție al secvenței, cum este Viterbi, trebuie să fie folosit.
În secțiunea următoare, este implementată metoda Monte-Carlo pentru a calcula probabilitatea medie a erorii unui sistem OFDM. Metoda Monte-Carlo este o metodă numerică pentru a estima media ansamblului în raport cu o variabilă aleatoare.
5.2 Simulări
În ceea ce urmează, simulările MATLAB sunt folosite pentru a demonstra funcționarea sistemului OFDM, bazându-ne pe teoriile despre OFDM prezentate mai sus.
Date
Figura 5.1 Modelul de baza OFDM[2]
5.2.1 Sistemul de bază OFDM
În această secțiune, este simulat sistemul de bază OFDM. Așa cum s-a discutat în capitolele precedente, un sistem de bază OFDM este contruit ca în Figura 5.1. În această secțiune, codul MATLAB va fi furnizat pemtru fiecare bloc în parte, cu o explicație. Programul întreg pentru sistemul OFDM de bază este furnizat, incluzând flexibilitatea mai multor parametrii și opțiuni de vizualizare.
Generarea și modularea datelor
Datele sunt prima dată generate pentru a fi transmise pe un sistem OFDM. Datele de lungime N sunt generate aleator și modulate după cum urmează:
am = [-1,1];
M = 2;
dat_ind = ceil(M*rand(1,N));
data = am(dat_ind);
Aceste linii de cod generează o reprezentare în banda de bază a semnalului BPSK (±1). Datele sunt generate de la o sursă care generează simboluri cu probabilitate egală. Trebuie notat că modulația BPSK nu este singura modalitate de modulare, și alte metode de modulare pot fi utilizate în această etapă. De exemplu, dacă QPSK este folosit, codul poate fi modificat după cum urmează:
am = [1,1i,-1,-1i];
M = 4;
dat_ind = ceil(M*rand(1,N));
data = am(dat_ind);
IFFT
Prima operație realizată asupra datelor este aplicarea Transformatei Fourier Inversă (IFFT) în punctul N. În MATLAB, funcția IFFT poate fi folosită pentru această operație după cum urmează:
data_t = ifft(data);
ADĂUGAREA PREFIXULUI CICLIC
După aplicarea prefixului ciclic, ultimele câteva puncte de date sunt repetate la început. Datele
repetate sunt numite prefix ciclic.
data_cp = [data_t(end-CP_length+1:end), data_t];
Prefixul ciclc de lungime CP_length este adăugata la începutul blocului de date.
CANALUL
Transmisia se face pe canale atenuate cu frecvența selectivă. Canalele sunt modelate cu filter FIR de ordin L. Canalul, h, este presupus să aibă robinete de canal pentru a fi trase dintr-o distribuție Rayleigh. Puterea pe robinet este normalizată, iar canalul poate fi simulat astfel:
h = complex(randn(L+1,1), randn(L+1,1))*sqrt(0.5/(L+1));
Zgomotul este generat pentru a fi adăugat transmisiei de-a lungul canalului. Zgomotul este complex Gaussian. Codul de mai jos arată cum se generează zgomotul:
noise = complex(randn(1,Total_length), randn(1,Total_length))*sqrt(0.5/N);
Din moment ce canalul este modelat cu un filtru FIR, rezultatul canalului este calculat prin filtrarea semnalului de intrare cu canalul, și zgomotul este adăugat la acesta. Pentru a ajusta raportul semnal zgomot, emisia este scalată de o valoare a puterii:
rho = SNR;
rec = sqrt(rho)*(filter(h,1,data_cp))+noise
ELIMINAREA PREFIXULUI CICLIC
Prefixul ciclic este elimintat de la datele recepționate . Primul simbol cu lungimea CP_length este eliminate de la datele recepționate:
rec_sans_cp = rec(CP_length+1:end)
FFT ȘI DEMODULAREA
Datele extrase după eliminarea prefixului ciclic sunt transformate în domeniul frecvență. Datele în domeniul frecvență sunt egalate pentru a fi acontate canalului, și să conducă la semnalul final recepționat. Este important faptul că Transformata Fourier folosită aici pentru a convertii canalul în domeniul frecvență este normalizată la numerele de robinete ale canalului. Semnalul recepționat este apoi demodulat pentru a obține un estimator al semnalului transmis. În codul ce urmează, se presupune că este folosită modulația BPSK la emițător:
date_rec = fft(date_rec_fara_cp); % Transformata Fourier Rapida
h_f = sqrt(rho)*fft(h,N); % Canal echivalent pe fiecare purtatoare
det1 = abs(date_rec+h_f).^2; % Calcularea distantei Euclidiene
% -1 a fost transmis
det2 = abs(rec_f-h_f).^2; % Calcularea distantei Euclidiene
% +1 a fost transmis
det = [det1, det2]; % Concatenarea celor 2 vectori
[min_val, ind] = min(det, [], 2); % Gasirea simbolurilor din semnalul
%receptionat cel mai apropiate de semnal
%initial
dec = 2*((ind-1)>0.5)-1; % decodare BPSK
Pentru decodare QPSK:
rec_f = fft(rec_sans_cp); % Transformata Fourier Rapida
% Canal echivalent pe fiecare subpurtatoare
h_f = sqrt(rho)*fft(h,N);
% Calcularea distantei Euclidiene considerand ca 1 a fost transmis
det1 = abs(rec_f-am(1)*h_f).^2;
% Calcularea distantei Euclidiene considerand ca +i1 a fost transmis
det2 = abs(rec_f-am(2)*h_f).^2;
% Calcularea distantei Euclidiene considerand ca -1 a fost transmis
det3 = abs(rec_f-am(3)*h_f).^2;
% Calcularea distantei Euclidiene considerand ca -i1 a fost transmis
det4 = abs(rec_f-am(4)*h_f).^2;
% Concatenarea celor 2 vectori
det = [det1, det2, det3, det4];
% Gasirea simbolurilor din semnalul receptionat cel mai apropiate de semnal
% initial
[min_val, ind] = min(det, [], 2);
% Generarea simbolurilor decodate
dec = am(ind);
Simbolurile recepționate sunt decodate utilizând estimarea probabilitatii maxime.
5.2.1.1 Simulări OFDM
O simulare Monte-Carlo este realizată pentru a estima probabilitatea de eroare a semnalelor recepționate când transmisia folosește OFDM. Raportul semnal zgomot al canalelor este variat și probabilitatea de eroare este estimată pentru fiecare caz în funcție de raportul semnal zgomot. Este prezentat și programul pentru întreaga simulare a modelului în anexa 6. În codul furnizat, se presupune că datele sunt transmise în pachete și fiecare pachet conține B simboluri OFDM. Acestea ne permit să evaluăm efectele interferenței intre blocuri (IIB) când lungimea prefixului ciclic este mai mică decât ordinul canalului. Rezultatele simulării sunt prezentate pentru diferiți parametri, care pot fi schimbați în cod.
L = 3, Lungime_CP = 4, D = 256
L = 16, Lungime_CP = 17, D = 256
L = 16, Lungime_CP = 17, D = 1024
QPSK
−1
10
BPSK
−2
10
−10 −5 0 5 10 15 20
Figura 5.2 Efectul raportului semnal zgomot asupra probabilității de eroare
QPSK
L = 16, Lungime_CP = 16, N = 256
L = 16, Lungime_CP = 9, N = 256
L = 16, Lungime_CP = 4, N = 256
L = 16, Lungime_CP = 9, N = 1024
L = 16, Lungime_CP = 4, N = 1024
−1
10
−2
10
5 10 15 20
Figura 5.3 Nevoia utilizării prefixului ciclic
Figura 5.2 arată rezultatul codului celor două metode de modulație, BPSK și QPSK. Se arată că performanța sistemului rămâne aceeași indiferent de numărul de subpurtătoare, atâta timp cât numărul simbolurilor în prefixul ciclic este cel puțin la fel cu numărul de robinete de canal. Mai mult, cum era de așteptat pentru comunicațiile digitale, rata de eroare pe simbol a sistemului QPSK este mai rea decât în cazul BPSK. În Figura 5.3, sistemul este simulat pentru modulația QPSK. Trei curbe sunt afișate, fiecare pentru diferite lungimi ale prefixului ciclic. Se poate vedea că cu cât se reduce lungimea prefixului ciclic, interferența inter bloc (IBI) cauzează deteriorări de performanță.
5.2.2 Offset-ul frecvenței purtătoare
Offset-ul frecvenței purtătoare și dezavantajele sale au fost discutate în capitolul 3. În această secțiune, este furnizat un cod simplu care simulează efectul offset-ului de frecvență și pentru a demonstra efectul său asupra performanței ratei de erori pe bit (BER) a unui sistem OFDM.
5.2.2.1 Simularea
Offset-ul frecvenței este realizat ca un multiplu exponențial complex pentru fiecare purtătoare. Aceta simulează efectul de a avea frecvență pe fiecare sub-purtătoare compensate de o mică suma. În codul care urmează, offset-ul frecvenței variază, iar BER este calculat pentru fiecare dintre aceste valori, pentru a demonstra efectul offset-ului frecvenței purtătoare asupra performanței sistemelor OFDM. Similar cazului anterior, codul este flexibil și diferiți parametri pentru metodele de modulație, nivelele de offset și numerele de iterație din modelul Monte-Carlo pot fi schimbate. Așa cum se poate observa în Figura 5.4, rata bițiilor de eroare are o valoare aproape nulă atunci când offset-ul frecvenței este 0. Pe măsură ce offset-ul își schimbă valoarea și rata de eroare pe bit începe să crească. Codul este furnizat în anexa 1.
Figura 5.4 Rata de eroare a biților față de offset-ul frecvenței
În continuare este prezentată variația ratei de eroare pe bit în funcție de offset-ul frecvenței purtătoare într-un canal cu zgomot alb aditiv de tip Gaussian. Cum era de așteptat și în acest caz, pe masură ce raportul semnal/zgomot crește, rata biților de eroare scade. Codul pentru această simulare este furnizat în anexa 5.
Figura 5.5 Variația ratei de eroare pe bit în funcție de offset-ul frecvenței într-un canal cu zgomot alb aditiv de tip Gaussian
Efectul raportului puterii de vârf medie (PAPR) asupra performanței sistemelor OFDM a fost văzut în capitolul 3. În această simulare, semnalul transmis este simulat pentru a furniza un exemplu de a transmite puterea pe câteva eșantioane de timp și de a demonstra apariția unui PAPR mare. În această simulare, este considerată bandă de bază echivalentă unui sistem OFDM. La fiecare moment de timp instantaneu, datele sunt modulate BPSK și transmise utilizând OFDM. Vârfurile instanee de putere transmisă și puterea medie transmisă sunt calculate și Figurate în Figura 5.6. Sunt folosite 16 sub-purtatoare. Se poate verifica din (4.3) că media puterii a sistemului trebuie să fie -12dB așa cum se poate vedea din Figura 5.6. PAPR este de asemenea calculate fi afișat în Figura 5.7. Cum putem observa din (5.7), valoarea maximă posibilă pentru PAPR este 12 dB, și în acest caz de simulare, sistemul nu depășește această valoare. Defapt, cel mai mare PAPR în acest caz se apropie de 11dB. Codul este furnizat în anexa 2.
Figura 5.6 Puterea de vârf datorată adăugării sinusoidelor în fază în comparație cu puterea medie a transmisiei
Figura 5.7 Raportul puterii de vârf/puterea medie
În continuare este prezentată metoda reducerii raportului puterii de vârf/puterea medie atunci când se aplică un prag de limitare asupra semnalului amplificat de un amplificator de putere mare sau atunci când nu este amplificat. Codul este furnizat în anexa 4.
Figura 5.8 Generarea aleatoare a datelor
În Figura 5.8 este prezentată generarea aleatoare a simbolurilor care urmează a fi transmise, utilizându-se tehnica OFDM. După generare, datele sunt supuse unei medoulații QPSK cu un defazaj de π/2 așa cum este prezentat și în Figura 5.9.
Asupra semnalului rezultat în urma modulației QPSK este aplicată Transformata Fourier Rapidă Inversă rezultând un flux serial de date, însă, fără prefix ciclic. Prin adăugarea prefixului ciclic va rezulta semnalul OFDM care va fi transmis pe canal, arătat și în Figura 5.10. Acestui semnal i se aplică un prag de limitare setat la valoarea de 0.02, valorile absolute care depășesc acest prag fiind reduse la valoarea acestuia (Figura 5.11). Pentru a arăta efectul unui amplificator de putere mare simplu este generat un zgomot aleator care este adăugat semnalului atunci când acesta depășeste pragul setat, altfel nu se adaugă nimic. Prin acest amplificator de putere mare este trecut semnalul OFDM în forma sa inițială (înainte de limitare), urmând ca mai apoi să se aplice și asupra semnalului amplificat pragul de limitare. Semnalul este transmis în ambele variante: cu și fără să fie supus procesului de trunchiere. Acest fapt este ilustrat în figurile 5.12 si 5.13.
Figura 5.9 Modulație QPSK
Figura 5.10 Semnalul OFDM înainte de aplicarea pragului de limitare
Figura 5.11 Semnalul OFDM după aplicarea pragului de limitare
Figura 5.12 Semnalul OFDM la ieșirea amplificatorului de putere mare
Figura 5.13 Semnalul OFDM amplificat, redus sub un anumit prag
Figura 5.14 Semnalul OFDM recepționat asupra căruia nu s-a aplicat metoda pragului de limitare
Figura 5.15 Semnalul OFDM asupra căruia s-a aplicat metoda pragului de limitare
Figurile 5.14 și 5.15 reprezintă simbolurile estimate la recepție pentru cele două cazuri, atunci când nu se folosește pragul de limitare (Figura 5.14) și atunci când se folosește pragul de limitare (Figura 5.15).
Performanța acestei metode este ilustrată în Figura 5.7, care indică faptul că, cu cât pragul de limitare este mai mare cu atât rata de eroare pe bit (BER) este mai mică.
Una dintre modalitățile de a limita PAPR la emițător este de a trunchia semnalul ce depășește un nivel sigur. În codul furnizat din anexa 3, este considerat un sistem OFDM ca un sistem de trunchiere. Sunt considerate diferite praguri de trunchiere pentru a arăta efectul nivelului de trunchiere asupra performanțelor în diferite metode de modulație (BPSK și QPSK). În acest exemplu, sistemul considerat nu are zgomot aditiv, iar canalul are caracteristica de frecvență plată și un câștig egal cu 1.
Figura 5.16 Efectul truncherii asupra ratei de eroare pe bit a unui sistem OFDM când se utilizează o modulație BPSK
Figura 5.17 Efectul truncherii asupra ratei de eroare pe bit a unui sistem OFDM când se utilizează o modulație QPSK
Figurile 5.16 și 5.17 arată efectul truncherii asupra performanței unui sistem OFDM atunci când se aplică cele două tipuri de moduție BPSK și QPSK. Cum era de așteptat cu cât pragul de trunchiere devine mai mic cu atât performanța sistemului se deteriorează deși acesta este fără zgomot, cu un canal cu caracteristica de frecvență plată și cu câștigul unu. Acesta este un compromis între performanță și consumul de energie. În vederea menținerii comsumului de putere a amplificatorului de la emițător cât mai mic, pragul de trunchiere este micșorat, iar aceasta ne conduce la o performanță slabă. Pe de altă parte, dacă vom crește pragul de trunchiere, BER este micșorat, dar consumul de putere crește.
Ca o comparație în privința eficienței celor două tipuri de modulație se poate observa un avantaj în cazul folosirii modulației QPSK. Pentru aceasta se poate observa că pentru un prag de limitare setat la 0.3 rata biților de eroare este mai mică în comparație cu modulația BPSK, care pentru aceeași valoare a pragului are o rată a biților de eroare mai mare.
Concluzii
În această lucrare sunt analizate și examinate aspecte ale multiplexării cu divizare în frecvența ortogonală (OFDM), incluzând utilizarea tehnicii OFDM în numeroase standarde curente care solicită rate mari de date și rate de erori foarte mici când transmisiunea se face pe canale multicale fără fir. Provocările pentru date de transfer mari și de erori mici sunt analizate examinând caracteristicile canalelor de comunicație fără fir. Este cunoscut faptul că un model cu atenuare selectiv în frecvență se potrivește mai bine unui canal multicale. Egalizarea canalului multicale este prezentă în domeniul frecvență în schimbul celei în domeniul timp. Este descris un model simplu de multiplexare în domeniul frecvență ca o soluție posibilă pentru comunicațiile pe canale selective în frecevență. Dezavantajele acestei metode sunt folosite pentru a motiva dezvoltarea OFDM-ului, care este descrisă în detaliu.
Utilizând Transformata Fourier Rapidă, ceea ce înseamnă o transfomare din domeniul timp în domeniu frecvență, un sistem OFDM în banda de bază poate fi simplu dezvoltat. Din moment ce implementarea FFT nu este costisitoare ca simplitate și cost, și foarte eficientă ca viteză de calcul, modelul OFDM a devenit o alegere populară pentru comunicațiile pe canale cu atenuare selective în frecvență. Un sistem OFDM este proiectat pentru a avea subpurtătoare ortogonale, iar fiecare subpurtatoare are un canal cu caracteristică de atenuare plată. În timp ce simplicitatea este un avantaj evident, OFDM are și slăbiciuni. Două mari dezavantaje le reprezintă offset-ul frecvenței purtătoare (CFO) și raportul puterii de vârf/puterea medie mare (PAPR). Când există o deplasare în frecvență între purtătoare și oscilatorul local al receptorului, subpurtatoarele nu mai rămân ortogonale, conducând la interferența inter-purtătoare (IIP). O asemenea deplasare în frecvență creează și o desincronizare între baza de timp a receptorului și cea a semnalului recepționat. Un PAPR mare al semnalului la emițător face ca proiectarea eficientă a unui amplificator de radio frecvență să devină dificilă. Ambele dezavantaje cauzează deteriorări ale performanței sistemului. Tehnici de îndepărtare a efectelor lor asupra preformanțelor sunt prezentate. Sunt furnizate și câteva standarde care folosesc transmisiunile OFDM, împreună cu valori tipice pe care aceste sisteme le folosesc.
În final, este simulat un sistem care folosește OFDM pentru a transmite date modulate utilizând modulația binară cu deplasare în fază BPSK și în quadratură (QPSK). Modelul Monte-Carlo este folosit pentru a evalua performanța acestor sisteme vizând probabilitatea de eroare. În plus, efectul CFO asupra performanței ratei de erori este ilustrat. În sfârșit, PAPR-ul unui sistem OFDM este calculat și arătat pentru a ilustra fluctuația de putere transmisă. Toate aceste simulări sunt realizate în MATLAB. Sunt de asemenea furnizate și codurile acestor simulări.
Bibliografie
[1] “Contribuții la optimizarea transmisiei pe canale radio, folosind funcții wavelet ”
Autori: Marius Oltean
Apariție: 2009
http://www.tc.etc.upt.ro/docs/cercetare/teze_doctorat/tezaOltean.pdf
[2] „OFDM Systems for Wireless Communications”
Autori: Adarsh B. Narasimhamurthy, Mahesh K. Banavar, Cihan Tepedelenlio¢glu
Editura: Morgan &cLaypool publishers
Apariție: 2010
[3] „MIMO-OFDM Wireless Communications with Matlab”
Autori: Yong Soo Cho, Jaekwon Kim, Won Young Yang, Chung-Gu Kang
Editura: WILEY
Apariție: 2010
[4] „Theory and Applications of OFDM and CDMA”
Autori: Heknrik Schulze, Christian Luders
Editura: WILEY
Apariție: 2005
[5] www.mathworks.com
[6] http://www.tutorialspoint.com/
[7]” Robust Frequency and Timing Synchronization for OFDM”
Autori: Timothy M. Schmidl , Donald C. Cox
Editura:IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 45, NO. 12,
Apariție: DECEMBRIE 1997
Anexa 1
Rata de eroare pe simbol ca funcție de Offsetul frecventei.
clear all
clc
nr_subpurtatoare=16;
L=3;%Ordinul canalului
lungime_CP=4;%Lungimea prefixului ciclic
S=1;%Numarul de simboluri OFDM intr-un cadru transmis
nr_iteratii=5000;%Numarul de iteratii pentru a acumula sufieciente erori
RSZ_dB=5;%Raportul semnal-zgomot in dB
RSZ=10.^(RSZ_dB/10);%Raportul semnal zgomot
Prob_eroare=zeros(size(RSZ_dB));
Lungime_totala=(lungime_CP+nr_subpurtatoare)*S;%Lungimea totala a fiecarui cadru
am=[-1,1];
M=2;
offset_frecventa=[-0.5:0.01:0.5];
for j=1:length(offset_frecventa)
rho=RSZ;
erori=0;
for i=1:nr_iteratii
index_date=ceil(M*rand(S,nr_subpurtatoare));
date=am(index_date);
%Remodelare datelor intr-o matrice de dimensiune BxN utilizata pentru detectia erorilor
date_modelare=reshape(date,1,S*nr_subpurtatoare);
date_tx=date;
for c=1:S
date_modulate(c,:)=ifft(date_tx(c,:));
end
%Adaugare prefix ciclic
adaugare_prefix=[date_modulate(:,end-lungime_CP+1:end),date_modulate];
date_tx2=reshape(adaugare_prefix.',1,Lungime_totala);
q=complex(randn(L+1,1),randn(L+1,1))*sqrt(0.5/(L+1));
zgomot=complex(randn(1,Lungime_totala),randn(1,Lungime_totala))*sqrt(0.5/nr_subpurtatoare);
receptie=sqrt(rho)*(filter(q,1,date_tx2))*exp(-1i*2*pi*offset_frecventa(j))+zgomot;
receptie_reshape=(reshape(receptie,lungime_CP+nr_subpurtatoare,S)).';
inlaturare_CP=receptie_reshape(:,lungime_CP + 1:end);
for k=1:S
receptie_fft(k,:)=fft(inlaturare_CP(k,:));
end
q_f=sqrt(rho)*fft(q,nr_subpurtatoare);
for k2=1:S
simbol_receptie=transpose(receptie_fft(k2,:));
determinant1=abs(simbol_receptie+q_f).^2;
determinant2=abs(simbol_receptie-q_f).^2;
determinant=[determinant1,determinant2];
[val_min,indice]=min(determinant,[],2);
decodare(k2,:)=2*((indice-1)>0.5)-1;
end
decodare_reshape=reshape(decodare,1,S*nr_subpurtatoare);
erori=erori+sum(decodare_reshape~=date_modelare);
end
Prob_eroare(j)=erori/(nr_iteratii*S*nr_subpurtatoare);
end
semilogy(offset_frecventa,Prob_eroare,'-*r','linewidth',1), grid;
axis([-0.5 0.5 10^-1.2 1])
xlabel ('Offset-ul frecventei');
ylabel ('Rata de eroare a simbolului');
title ('Modulatie QPSK, N = 256');
Anexa 2
Raportul puterii de vârf/putere medie
clear all
clc
N=16; % Lungimea datelor
RSZ_db = 5; % Raportul semnal zgomot in decibeli
RSZ = 10.^(RSZ_db/10); % Valoarea raportului semnal zgomot
Pe = zeros(size(RSZ_db)); % Probabilitatea de eroare
zgomot = 1/RSZ; % Zgomot
esantioane_timp = 100;
putere_medie = zeros(1,esantioane_timp);
putere_maxima = zeros(1, esantioane_timp);
PAPR = zeros(1, esantioane_timp);
for j=1:esantioane_timp
date = 2*(randn(N,1)>0)-1;
date_t=ifft(fftshift(date));
putere_medie(j)=(norm(date_t))^2/N;
putere_maxima(j)=max(date_t.*conj(date_t));
PAPR(j)=putere_maxima(j)/putere_medie(j);
end
figure (1)
plot(10*log10(putere_medie),'-*r','linewidth',1)
hold all
plot(10*log10(putere_maxima),'-b','linewidth',1)
grid on
xlabel('Timpul')
ylabel('Puterea in dB')
legend('Putere medie','Putere maxima')
figure (2)
plot(10*log10(PAPR))
grid on
xlabel('Timpul')
ylabel('PAPR')
legend('Raportul puterea de varf/puterea medie')
Anexa 3
OFDM cu BPSK N=16 și CP=4
clear all
close all
clc
N=16; % Numarul de subpurtatoare pe fiecare simbol OFDM
lungime_CP=4; % Lungimea prefixului cilic
L=3;%Ordinul canalului
B=10; % Numarul de simboluri OFDM in pachetul transmis
nr_iteratii=5000; % Numarul de iteratii pentru a obtine suficiente erori
prag_limitare=0:0.1:1; % Prag de limitare
Pe = zeros(size(prag_limitare)); % Initializarea vectorului de erori
lungime_totala = (lungime_CP+N)*B; % Lungimea totala a fiecarui pachet
am = [1 -1]; %Pentru BPSK
M=2; %Pentru BPSK
for j=1:length(prag_limitare)
i=prag_limitare(j);
eroare=0;
for x=1:nr_iteratii
index_date = ceil(M*rand(B,N));
date=am(index_date);
% remodelarea datelor intr-o matrice BxN
% utilizate mai tarziu pentru detectia erorilor
date_modelate= reshape(date, 1, B*N);
date_tx=date;
for b=1:B
% Aplicand IFFT
date_t(b,:)=ifft(date_tx(b,:));
end
%adaugarea prefixului ciclic
date_pc = [date_t(:,end-lungime_CP+1:end),date_t];
%Modelarea matricei BxN pentru a obtine pachetul (1xLungime_totala)
date_tx=reshape(date_pc.',1,lungime_totala);
thu = abs(i);
thl = -abs(i);
date_limitare=date_tx;
pt_mare = find(date_limitare>thu);
date_limitare(pt_mare) = thu;
pt_mic = find (date_limitare<thl);
date_limitare(pt_mic)=thl;
rec=date_limitare;
%Remodelarea semnalului receptionat intr-un camp lungime_CP+N
rec_reshaped=(reshape(rec, lungime_CP+N,B)).';
% Eliminare prefix ciclic
eliminare_prefix = rec_reshaped(:,lungime_CP+1:end);
for s=1:B
% Aplicare FFT
rec_f(s,:)=fft(eliminare_prefix(s,:));
end
for t=1:B
% Extragerea simbolului OFDM de la Matrice rec_f
simbol_receptionat= transpose(rec_f(t,:));
% Calcularea distantei Euclidiene pentru 1
dist1=abs(simbol_receptionat-am(1)).^2;
% Calcularea distantei Euclidiene pentru +1i
dist2=abs(simbol_receptionat-am(2)).^2;
% Calcularea distantei Euclidiene pentru -1
dist = [dist1, dist2];
% Gasirea simbolului receptionat cel mai apropiat de simbol initial
[min_val,ind] = min (dist, [],2);
% Generarea simbolurilor decodate
dec(t,:)=am(ind);
end
% Modelarea simbolurilor decodate pentru calculul erorilor
dec_modelare=reshape(dec, 1, B*N);
% Comparare dec_modelare cu date_modelate pentru a calcula erorile
beroare=eroare + sum(dec_modelare~=date_modelate);
end
% Calcularea probabilitatii de eroare
Pe(j)= eroare/(nr_iteratii*B*N);
end
% Afisarea in scara logaritmica a Pe vs pragul de limitare
semilogy(prag_limitare, Pe,'-r','linewidth',1)
grid on
xlabel('Pragul de limitare')
ylabel('Rata bitilor de eroare(BER)')
title('Modulatie BPSK,N=16 si lungime prefix ciclic=4')
OFDM cu QPSK N=16 și CP=4
clear all
close all
clc
N=16; % Numarul de subpurtatoare pe fiecare simbol OFDM
lungime_CP=4; % Lungimea prefixului cilic
L=3;%Ordinul canalului
B=10; % Numarul de simboluri OFDM in pachetul transmis
nr_iteratii=5000; % Numarul de iteratii pentru a obtine suficiente erori
prag_limitare=0:0.1:1; % Prag de limitare
Pe = zeros(size(prag_limitare)); % Initializarea vectorului de erori
lungime_totala = (lungime_CP+N)*B; % Lungimea totala a fiecarui pachet
am = [1,1i,-1,-1i]; %Pentru QPSK
M=4; %Pentru QPSK
for j=1:length(prag_limitare)
i=prag_limitare(j);
eroare=0;
for x=1:nr_iteratii
index_date = ceil(M*rand(B,N));
date=am(index_date);
% remodelarea datelor intr-o matrice BxN
% utilizate mai tarziu pentru detectia erorilor
date_modelate= reshape(date, 1, B*N);
date_tx=date;
for b=1:B
% Aplicand IFFT
date_t(b,:)=ifft(date_tx(b,:));
end
%Adaugarea prefixului ciclic
date_pc = [date_t(:,end-lungime_CP+1:end),date_t];
%Modelarea matricei BxN pentru a obtine pachetul (1xLungime_totala)
date_tx=reshape(date_pc.',1,lungime_totala);
thu = abs(i);
thl = -abs(i);
date_limitare=date_tx;
% Aplicarea pragului de limitare
pt_mare = find(date_limitare>thu);
date_limitare(pt_mare) = thu;
pt_mic = find (date_limitare<thl);
date_limitare(pt_mic)=thl;
rec=date_limitare;
%Remodelarea semnalului receptionat intr-un camp lungime_CP+N
rec_reshaped=(reshape(rec, lungime_CP+N,B)).';
% Eliminare prefix ciclic
eliminare_prefix = rec_reshaped(:,lungime_CP+1:end);
for s=1:B
% Aplicare FFT
rec_f(s,:)=fft(eliminare_prefix(s,:));
end
for t=1:B
% Extragerea simbolului OFDM de la Matrice rec_f
simbol_receptionat= transpose(rec_f(t,:));
% Calcularea distantei Euclidiene pentru 1
dist1=abs(simbol_receptionat-am(1)).^2;
% Calcularea distantei Euclidiene pentru +1i
dist2=abs(simbol_receptionat-am(2)).^2;
% Calcularea distantei Euclidiene pentru -1
dist3=abs(simbol_receptionat-am(3)).^2;
% Calcularea distantei Euclidiene pentru -1i
dist4=abs(simbol_receptionat-am(4)).^2;
% Concatenarea vectorilor
dist = [dist1, dist2, dist3, dist4];
% Gasirea simbolului receptionat cel mai apropiat de simbol initial
[min_val,ind] = min (dist, [],2);
% Generarea simbolurilor decodate
dec(t,:)=am(ind);
end
% Modelarea simbolurilor decodate pentru calculul erorilor
dec_modelare=reshape(dec, 1, B*N);
% Comparare dec_modelare cu date_modelate pentru a calcula erorile
eroare=eroare + sum(dec_modelare~=date_modelate);
end
% Calcularea probabilitatii de eroare
Pe(j)= eroare/(nr_iteratii*B*N);
end
% Afisarea in scara logaritmica a Pe vs pragul de limitare
semilogy(prag_limitare, Pe,'-r','linewidth',1)
grid on
xlabel('Pragul de limitare')
ylabel('Rata bitilor de eroare(BER)')
title('Modulatie QPSK,N=16 si lungime prefix ciclic=4')
Anexa 4
%==========================================================================
% Acest cod investigheaza efectele unui amplificator de putere mare si ale
% zgomotului de canal asupra unui semnal OFDM si este introdusa metoda
% taierii asupra raportului puterii de varf/ puterea medie pentru a reduce
% efectul Puterii de varf. [5]
%
% Dragos Osicenu
%
%==========================================================================
clear all
clc
close
% –––––
% A: Setare de parametrii
% –––––
M = 4; % constelatia semnalului QPSK
nr_puncte = 128; % Numarul de puncte 128
Lungime_bloc = 8; % marimea fiecarui bloc OFDM
Lungime_CP = ceil(0.1*Lungime_bloc); % lungimea prefixului ciclic
nr_pct_ifft =nr_puncte; % 128 puncte pentru FFT/IFFT
nr_pct_fft = Lungime_bloc;
% –––––––––––––––
% B: % +++++ Emitatorul +++++
% –––––––––––––––
% 1. Generarea unui vector de dimensiune 1×128 de date aleatoare
date = randsrc(1, nr_puncte, 0:M-1);
figure(1)
stem(date); grid on; xlabel('Date'); ylabel('Reprezentare in faza a datelor transmise')
title('Date transmise "O"')
% 2. Realizarea modulatiei QPSK
date_modulate_qpsk = pskmod(date, M);
scatterplot(date_modulate_qpsk);title('Modulatie QPSK');
% 3. Aplicarea IFFT asupra fiecarui bloc
% Realizarea din fluxului serial o matrice in care fiecare coloana reprezinta
% un bloc OFDM fara prefix ciclic
%
% Prima etapa: Gasirea numerelor coloanelor care vor ramane dupa modelare
nr_coloane=length(date_modulate_qpsk)/Lungime_bloc;
matrice_date = reshape(date_modulate_qpsk, Lungime_bloc, nr_coloane);
% A doua etapa: Crearea matricei goale pentru a pune datele IFFT
cp_start = Lungime_bloc-Lungime_CP;
cp_end = Lungime_bloc;
% A treia etapa: Calcularea coloanelor si realizarea Prefixului ciclic
for i=1:nr_coloane,
ifft_matrice_date(:,i) = ifft((matrice_date(:,i)),nr_pct_ifft);
% Calcularea si adaugarea Prefixului Ciclic
for j=1:Lungime_CP,
actual_cp(j,i) = ifft_matrice_date(j+cp_start,i);
end
% Adaugarea Prefixului ciclic blocului existent pentru a crea blocul OFDM actual
date_ifft(:,i) = vertcat(actual_cp(:,i),ifft_matrice_date(:,i));
end
% 4. Conversia la fluxul serial pentru transmisie
[randuri_date_ifft coloane_date_ifft]=size(date_ifft);
lungime_date_ofdm = randuri_date_ifft*coloane_date_ifft;
% Forma acutala a semnalului OFDM pentru a fi transmis
semnal_ofdm = reshape(date_ifft, 1, lungime_date_ofdm);
figure(3)
plot(real(semnal_ofdm)); xlabel('Timp'); ylabel('Amplitudine');
title('Semnal OFDM');grid on;
% –––––––––––––––––––––
% C: % +++++ Metoda de reducere a PAPR: Limitare +++++
% –––––––––––––––––––––
prag=0.02;
semnal_taiat=semnal_ofdm;
for i=1:length(semnal_taiat)
if semnal_taiat(i) > prag
semnal_taiat(i) = prag;
end
if semnal_taiat(i) < -prag
semnal_taiat(i) = -prag;
end
end
figure(4)
plot(real(semnal_taiat)); xlabel('Timp'); ylabel('Amplitudine');
axis([0 2500 -0.05 0.05]);
title('Semnal taiat');grid on;
% ––––––––––––––
% D: % +++++ Amplificator de putere mare ( HPA – High Power Amplif) +++++
% ––––––––––––––
% Pentru a arata efectul unui amplificator de putere simplu voi genera zgomot aleator
% cand puterea depaseste valoarea medie de prag, altfel nu adauga nimic
% when the power exceeds the prag. value, otherwise it add nothing.
% 1. Generarea zgomotului aleator
zgomot = randn(1,lungime_date_ofdm) + sqrt(-1)*randn(1,lungime_date_ofdm);
% 2. Semnalul OFDM transmis dupa ce trece printr-un amplificator de putere mare
%Fara limitare
for i=1:length(semnal_ofdm)
if semnal_ofdm(i) > prag
semnal_ofdm(i) = semnal_ofdm(i)+zgomot(i);
end
if semnal_ofdm(i) < -prag
semnal_ofdm(i) = semnal_ofdm(i)+zgomot(i);
end
end
figure(5)
plot(real(semnal_ofdm)); xlabel('Timp'); ylabel('Amplitudine');
title('Semnalul OFDM dupa trecerea prin Amplificatoru de putere mare');grid on;
%cu limitare
semnal_taiat = semnal_ofdm;
prag1=2;
for i=1:length(semnal_taiat)
if semnal_taiat(i) > prag1
semnal_taiat(i) = prag1;
end
if semnal_taiat(i) < -prag1
semnal_taiat(i) = prag1;
end
end
figure(6)
plot(real(semnal_taiat)); xlabel('Timp'); ylabel('Amplitudine');
title('Semnalul taiat dupa trecerea prin Amplificatorul de putere mare');grid on;
axis([0 2500 -4 4]);
% –––––––––––
% E: % +++++ Canal +++++
% –––––––––––
% Crearea unui canal multicale
canal = randn(1,Lungime_bloc) + sqrt(-1)*randn(1,Lungime_bloc);
% ––––––––––––––
% F: % +++++ Receptor +++++
% ––––––––––––––
% 1. Trecerea semnalului OFDM prin canal
semnal_canal = filter(canal, 1, semnal_ofdm);
% 2. Crearea zgomotului
zgomot_alb = awgn(zeros(1,length(semnal_canal)),0);
% 3. Aplicarea zgomotului asupra semnalului…
semnal_rec = zgomot_alb+semnal_canal;
% 4. Conversia datelor inapoi in modul paralel pentru a aplica FFT
matrice_semna_rec = reshape(semnal_rec,randuri_date_ifft, coloane_date_ifft);
% 5. Eliminare Prefix ciclic
matrice_semna_rec(1:Lungime_CP,:)=[];
% 6. Aplicarea FFT
for i=1:coloane_date_ifft,
% FFT
fft_matrice_date(:,i) = fft(matrice_semna_rec(:,i),nr_pct_fft);
end
% 7. Conversie in fluxul serial
date_seriale_rec = reshape(fft_matrice_date, 1,(Lungime_bloc*nr_coloane));
% 8. Demodularea datelor
date_qpsk_demodulate = pskdemod(date_seriale_rec,M);
figure(7)
stem(date_qpsk_demodulate,'rx');
grid on;xlabel('Date');ylabel('Reprezentarea in faza a datelor receptionate');title('Date receptionate "X"')
% –––––––––––––––––-
% % F: % +++++ Receptorul semnalului taiat +++++
% % –––––––––––––––––-
% 1. Trecea semnalului OFDM prin canal
semnal_canal = filter(canal, 1, semnal_taiat);
% 2. Adaugarea zgomotului
zgomot_alb = awgn(zeros(1,length(semnal_canal)),0);
% 3. aplicarea zgomotului asupra semnalului
semnal_rec = zgomot_alb+semnal_canal;
% 4. Conversia datelor inapoi in modul paralel pentru a aplica FFT
matrice_semna_rec = reshape(semnal_rec,randuri_date_ifft, coloane_date_ifft);
% 5. Eliminarea Prefixului Ciclic
matrice_semna_rec(1:Lungime_CP,:)=[];
% 6. Aplicarea FFT
for i=1:coloane_date_ifft,
% FFT
fft_matrice_date(:,i) = fft(matrice_semna_rec(:,i),nr_pct_fft);
end
% 7. Conversie in fluxul serial
date_seriale_rec = reshape(fft_matrice_date, 1,(Lungime_bloc*nr_coloane));
% 8. Demodularea datelor
date_qpsk_demodulate = pskdemod(date_seriale_rec,M);
figure(8)
stem(date_qpsk_demodulate,'rx');
grid on;xlabel('Date');ylabel('Reprezentarea in faza a datelor receptionate');title('Datele taiate primite "X"')
Anexa 5
Variația ratei de eroare pe bit în funcție de offset-ul frecvenței într-un canal cu zgomot alb aditiv de tip Gaussian
% Simularea sistemului OFDM in care apare Offset-ul frecventei purtatoarei
% intr-un canal cu zgomot alb aditiv de tip Gaussian
% Osiceanu Dragos-Iulian
% RST – 2013
clc
clear all
close
nr_sub = 256;% Num?r de subpurt?toare
Lungime_CP = 16; %Lungimea prefixului ciclic
nr_pct_fft = 256; % Numar de puncte FFT
Lungime_totala = nr_pct_fft+Lungime_CP;% Lungimea totala a simbolului OFDM
EbN0dB = 0:2:10; % Raportul semnal zgomot
EsN0dB = EbN0dB + 10*log10(nr_sub/nr_pct_fft) + 10*log10(nr_pct_fft/Lungime_totala);
OFFSET = 0:0.05:0.2; % Vectorul offset-ului frecventei purtatoarei
BER = zeros(1,length(EbN0dB)); %vectorul ratei de eroare
MC =5000; % Numarul de iteratii
for j = 1:length(OFFSET)
for n = 1:length(EbN0dB)
snr = EbN0dB(n);tic;
eroare = 0;
for mc = 1:MC
%Generarea datelor
x = rand(1,nr_sub)>0.5;
xt = 2*x -1;
%Calcularea transformatei Fourier rapida inversa
xt = (nr_pct_fft/sqrt(nr_sub))*ifft(fftshift(xt),nr_pct_fft); % else use 'measured' awgn
xtt = [xt(end-Lungime_CP+1:end) xt];
% Zgomot Gaussian de medie 0
nt = 1/sqrt(2)*(randn(1,Lungime_totala) + 1i*randn(1,Lungime_totala));
yr = sqrt(Lungime_totala/nr_pct_fft)*xtt + 10^(-EsN0dB(n)/20)*nt;
% Adaugarea offset-ului de frecventa
yr =(exp(1i*2*pi*OFFSET(j)*(0:length(yr)-1)/nr_pct_fft)).*yr;
% Receptorul
%Eliminarea prefixului ciclic
yr = yr(Lungime_CP+1:end);
%Aplicarea transformatei Fourier rapida directa
yr = (nr_sub/sqrt(nr_pct_fft))*fftshift(fft(yr,nr_pct_fft));
yr = yr > 0; % Demodulare
%Calcularea ratei de eroare
eroare = eroare + length(find((yr-x)~=0));
end
BER(j,n) = eroare/(nr_pct_fft*MC);
toc;
end
end
semilogy(EbN0dB,BER,'-.ob','LineWidth',2); hold on; grid on;
title('Variatia ratei bitilor de eroare in functie de offset-ul frecventei intr-un canal cu zgomot alb aditiv de tip Gaussian');
% Calcule teoretice
dataenc = 'nondiff';
EbNo = EbN0dB;
M = 2;
ThBer = berawgn(EbNo,'psk',M,dataenc);
semilogy(EbNo, ThBer,'-*r','LineWidth',2); xlabel('Raportul semnal zgomot');ylabel('Probabilitatea bitilor de eroare');
legend('simulat','simulat','simulat','simulat','simulat','teoretic')
Anexa 6
clear all
clc
close
N = 16; % Numar de subpurtatoare pentru fiecare simbol OFDM
L = 3; % Ordinul canalului
Lungime_cp = 4; % Lungimea prefixului ciclic
B = 10; % Numarul de simboluri OFDM din blocul transmis
mc_N = 5000; % Numar de iteratii pentru a obtine suficiente erori
RSZ_db = 0:1:20; %RSZ in dB
RSZ = 10.^(RSZ_db/10); % RSZ values
Pe = zeros(size(RSZ_db)); % Initierea vectorului eroare
Lungime_totala = (Lungime_cp+N)*B; %Lungimea totala a fiecarui bloc
am = [-1,1]; % Pentru modulatia BPSK
M = 2; % Pentru modulatia BPSK
for RSZ_loop = 1:length(RSZ_db)
rho = RSZ(RSZ_loop);
eroare = 0;
for mc_loop = 1:mc_N
index_date = ceil(M*rand(B,N));
date = am(index_date);
% Modelarea datelor intr-o matrice BxN
%folosita mai tarziu pentru detectia erorilor
date_modelate = reshape(date, 1, B*N);
date_tx = date;
for b = 1:B
% Aplicarea Transformatei Fourier Rapida Inversa
date_t(b,:) = ifft(date_tx(b,:));
end
% Adaugarea prefixului ciclic
date_cp = [date_t(:,end-Lungime_cp+1:end), date_t];
% Modelarea matricei BxN pentru a obtine pachetul (1xLungime_totala)
date_tx =reshape(date_cp.',1,Lungime_totala);
h = complex(randn(L+1,1), randn(L+1,1))*sqrt(0.5/(L+1));
%zgomot
zgomot = complex(randn(1,Lungime_totala), …
randn(1,Lungime_totala)) * sqrt(0.5/N);
% semnal receptionat
semnal_receptionat = sqrt(rho)*(filter(h,1,date_tx))+zgomot;
% Modelarea semnalului receptionat intr-un camp de lungime lungime_cp+N x B
semnal_modelat = (reshape(semnal_receptionat, Lungime_cp+N, B)).';
% Eliminare prefix ciclic
semnal_receptionat_sans_cp = semnal_modelat(:,Lungime_cp+1:end);
for bb = 1:B
% Aplicarea Transformatei Fourier Rapida
semnal_receptionat_f(bb,:) = fft(semnal_receptionat_sans_cp(bb,:));
end
% Calcularea canalului echivalent pentru fiecare subpurtatoare
h_f = sqrt(rho)*fft(h,N);
for b2 = 1:B
% Extragerea simbolului OFDM din matricea semnalului receptionat
simboluri_rec = transpose(semnal_receptionat_f(b2,:));
% Calcularea distantei Euclidiene corespunzatoare lui -1
det1 = abs(simboluri_rec+h_f).^2;
% Calcularea distantei Euclidiene corespunzatoare lui +1
det2 = abs(simboluri_rec-h_f).^2;
% Concatenarea celor 2 vectori
det = [det1, det2];
% gasirea simbolurielor receptionate cele mai apropiate de cele transmise
[min_val, ind] = min(det, [], 2);
% Generarea simbolurilor decodate
dec(b2,:) = 2*((ind-1)>0.5)-1;
end
% Modelarea simbolurilor decodate pentru a calcula eroarea
modelarea_dec = reshape(dec, 1, B*N);
% Compararea datelor receptionate modelate cu
%…datele modelate pentru a calcula erorile
eroare = eroare + sum(modelarea_dec~=date_modelate);
end
%Calcularea Probabilitatii de eroare
Pe(RSZ_loop) = eroare/(mc_N*B*N);
end
% Afisarea semilogaritmica a Pe vs. RSZ_db
semilogy(RSZ_db,Pe,'-or','linewidth',1)
grid on;
xlabel('Raportul semnal zgomot (dB)');
ylabel('Rata de eroare pe simbol');
title('Efectul raportului semnal zgomot asupra probabilitatii de eroare')
clear all
close all
clc
N=256; % Numarul de subpurtatoare pe fiecare simbol OFDM
lungime_CP=16; % Lungimea prefixului cilic
L=16; %Ordinul canalului
B=10; % Numarul de simboluri OFDM in pachetul transmis
nr_iteratii=5000; % Numarul de iteratii pentru a obtine suficiente erori
SNR_db=0:2:20; % Prag de limitare
SNR = 10.^(SNR_db/10); % SNR values
Pe = zeros(size(SNR_db)); % Initializarea vectorului de erori
lungime_totala = (lungime_CP+N)*B; % Lungimea totala a fiecarui pachet
am = [1,1i,-1,-1i]; %Pentru QPSK
M=4; %Pentru QPSK
for j=1:length(SNR_db)
i=SNR_db(j);
eroare=0;
for x=1:nr_iteratii
index_date = ceil(M*rand(B,N));
date=am(index_date);
% remodelarea datelor intr-o matrice BxN
% utilizate mai tarziu pentru detectia erorilor
date_modelate= reshape(date, 1, B*N);
date_tx=date;
for b=1:B
% Aplicand IFFT
date_t(b,:)=ifft(date_tx(b,:));
end
%Adaugarea prefixului ciclic
date_pc = [date_t(:,end-lungime_CP+1:end),date_t];
%Modelarea matricei BxN pentru a obtine pachetul (1xLungime_totala)
date_tx=reshape(date_pc.',1,lungime_totala);
h = complex(randn(L+1,1), randn(L+1,1))*sqrt(0.5/(L+1));
%Noise
noise = complex(randn(1,lungime_totala), …
randn(1,lungime_totala)) * sqrt(0.5/N);
% Received signal
rec = sqrt(i)*(filter(h,1,date_tx))+noise;
%Remodelarea semnalului receptionat intr-un camp lungime_CP+N
rec_reshaped=(reshape(rec, lungime_CP+N,B)).';
% Eliminare prefix ciclic
eliminare_prefix = rec_reshaped(:,lungime_CP+1:end);
for s=1:B
% Aplicare FFT
rec_f(s,:)=fft(eliminare_prefix(s,:));
end
h_f = sqrt(i)*fft(h,N);
for t=1:B
% Extragerea simbolului OFDM de la Matrice rec_f
simbol_receptionat= transpose(rec_f(t,:));
% Calcularea distantei Euclidiene pentru 1
dist1=abs(simbol_receptionat-am(1)*h_f).^2;
% Calcularea distantei Euclidiene pentru +1i
dist2=abs(simbol_receptionat-am(2)*h_f).^2;
% Calcularea distantei Euclidiene pentru -1
dist3=abs(simbol_receptionat-am(3)*h_f).^2;
% Calcularea distantei Euclidiene pentru -1i
dist4=abs(simbol_receptionat-am(4)*h_f).^2;
% Concatenarea vectorilor
dist = [dist1, dist2, dist3, dist4];
% Gasirea simbolului receptionat cel mai apropiat de simbol initial
[min_val,ind] = min (dist, [],2);
% Generarea simbolurilor decodate
dec(t,:)=am(ind);
end
% Modelarea simbolurilor decodate pentru calculul erorilor
dec_modelare=reshape(dec, 1, B*N);
% Comparare dec_modelare cu date_modelate pentru a calcula erorile
eroare=eroare + sum(dec_modelare~=date_modelate);
end
% Calcularea probabilitatii de eroare
Pe(j)= eroare/(nr_iteratii*B*N);
end
% Afisarea in scara logaritmica a Pe vs pragul de limitare
semilogy(SNR_db, Pe,'-or','linewidth',1)
grid on
xlabel('Raportul semnal zgomot (dB)')
ylabel('Rata de eroare pe simbol')
title('QPSK')
Bibliografie
[1] “Contribuții la optimizarea transmisiei pe canale radio, folosind funcții wavelet ”
Autori: Marius Oltean
Apariție: 2009
http://www.tc.etc.upt.ro/docs/cercetare/teze_doctorat/tezaOltean.pdf
[2] „OFDM Systems for Wireless Communications”
Autori: Adarsh B. Narasimhamurthy, Mahesh K. Banavar, Cihan Tepedelenlio¢glu
Editura: Morgan &cLaypool publishers
Apariție: 2010
[3] „MIMO-OFDM Wireless Communications with Matlab”
Autori: Yong Soo Cho, Jaekwon Kim, Won Young Yang, Chung-Gu Kang
Editura: WILEY
Apariție: 2010
[4] „Theory and Applications of OFDM and CDMA”
Autori: Heknrik Schulze, Christian Luders
Editura: WILEY
Apariție: 2005
[5] www.mathworks.com
[6] http://www.tutorialspoint.com/
[7]” Robust Frequency and Timing Synchronization for OFDM”
Autori: Timothy M. Schmidl , Donald C. Cox
Editura:IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 45, NO. 12,
Apariție: DECEMBRIE 1997
Anexa 1
Rata de eroare pe simbol ca funcție de Offsetul frecventei.
clear all
clc
nr_subpurtatoare=16;
L=3;%Ordinul canalului
lungime_CP=4;%Lungimea prefixului ciclic
S=1;%Numarul de simboluri OFDM intr-un cadru transmis
nr_iteratii=5000;%Numarul de iteratii pentru a acumula sufieciente erori
RSZ_dB=5;%Raportul semnal-zgomot in dB
RSZ=10.^(RSZ_dB/10);%Raportul semnal zgomot
Prob_eroare=zeros(size(RSZ_dB));
Lungime_totala=(lungime_CP+nr_subpurtatoare)*S;%Lungimea totala a fiecarui cadru
am=[-1,1];
M=2;
offset_frecventa=[-0.5:0.01:0.5];
for j=1:length(offset_frecventa)
rho=RSZ;
erori=0;
for i=1:nr_iteratii
index_date=ceil(M*rand(S,nr_subpurtatoare));
date=am(index_date);
%Remodelare datelor intr-o matrice de dimensiune BxN utilizata pentru detectia erorilor
date_modelare=reshape(date,1,S*nr_subpurtatoare);
date_tx=date;
for c=1:S
date_modulate(c,:)=ifft(date_tx(c,:));
end
%Adaugare prefix ciclic
adaugare_prefix=[date_modulate(:,end-lungime_CP+1:end),date_modulate];
date_tx2=reshape(adaugare_prefix.',1,Lungime_totala);
q=complex(randn(L+1,1),randn(L+1,1))*sqrt(0.5/(L+1));
zgomot=complex(randn(1,Lungime_totala),randn(1,Lungime_totala))*sqrt(0.5/nr_subpurtatoare);
receptie=sqrt(rho)*(filter(q,1,date_tx2))*exp(-1i*2*pi*offset_frecventa(j))+zgomot;
receptie_reshape=(reshape(receptie,lungime_CP+nr_subpurtatoare,S)).';
inlaturare_CP=receptie_reshape(:,lungime_CP + 1:end);
for k=1:S
receptie_fft(k,:)=fft(inlaturare_CP(k,:));
end
q_f=sqrt(rho)*fft(q,nr_subpurtatoare);
for k2=1:S
simbol_receptie=transpose(receptie_fft(k2,:));
determinant1=abs(simbol_receptie+q_f).^2;
determinant2=abs(simbol_receptie-q_f).^2;
determinant=[determinant1,determinant2];
[val_min,indice]=min(determinant,[],2);
decodare(k2,:)=2*((indice-1)>0.5)-1;
end
decodare_reshape=reshape(decodare,1,S*nr_subpurtatoare);
erori=erori+sum(decodare_reshape~=date_modelare);
end
Prob_eroare(j)=erori/(nr_iteratii*S*nr_subpurtatoare);
end
semilogy(offset_frecventa,Prob_eroare,'-*r','linewidth',1), grid;
axis([-0.5 0.5 10^-1.2 1])
xlabel ('Offset-ul frecventei');
ylabel ('Rata de eroare a simbolului');
title ('Modulatie QPSK, N = 256');
Anexa 2
Raportul puterii de vârf/putere medie
clear all
clc
N=16; % Lungimea datelor
RSZ_db = 5; % Raportul semnal zgomot in decibeli
RSZ = 10.^(RSZ_db/10); % Valoarea raportului semnal zgomot
Pe = zeros(size(RSZ_db)); % Probabilitatea de eroare
zgomot = 1/RSZ; % Zgomot
esantioane_timp = 100;
putere_medie = zeros(1,esantioane_timp);
putere_maxima = zeros(1, esantioane_timp);
PAPR = zeros(1, esantioane_timp);
for j=1:esantioane_timp
date = 2*(randn(N,1)>0)-1;
date_t=ifft(fftshift(date));
putere_medie(j)=(norm(date_t))^2/N;
putere_maxima(j)=max(date_t.*conj(date_t));
PAPR(j)=putere_maxima(j)/putere_medie(j);
end
figure (1)
plot(10*log10(putere_medie),'-*r','linewidth',1)
hold all
plot(10*log10(putere_maxima),'-b','linewidth',1)
grid on
xlabel('Timpul')
ylabel('Puterea in dB')
legend('Putere medie','Putere maxima')
figure (2)
plot(10*log10(PAPR))
grid on
xlabel('Timpul')
ylabel('PAPR')
legend('Raportul puterea de varf/puterea medie')
Anexa 3
OFDM cu BPSK N=16 și CP=4
clear all
close all
clc
N=16; % Numarul de subpurtatoare pe fiecare simbol OFDM
lungime_CP=4; % Lungimea prefixului cilic
L=3;%Ordinul canalului
B=10; % Numarul de simboluri OFDM in pachetul transmis
nr_iteratii=5000; % Numarul de iteratii pentru a obtine suficiente erori
prag_limitare=0:0.1:1; % Prag de limitare
Pe = zeros(size(prag_limitare)); % Initializarea vectorului de erori
lungime_totala = (lungime_CP+N)*B; % Lungimea totala a fiecarui pachet
am = [1 -1]; %Pentru BPSK
M=2; %Pentru BPSK
for j=1:length(prag_limitare)
i=prag_limitare(j);
eroare=0;
for x=1:nr_iteratii
index_date = ceil(M*rand(B,N));
date=am(index_date);
% remodelarea datelor intr-o matrice BxN
% utilizate mai tarziu pentru detectia erorilor
date_modelate= reshape(date, 1, B*N);
date_tx=date;
for b=1:B
% Aplicand IFFT
date_t(b,:)=ifft(date_tx(b,:));
end
%adaugarea prefixului ciclic
date_pc = [date_t(:,end-lungime_CP+1:end),date_t];
%Modelarea matricei BxN pentru a obtine pachetul (1xLungime_totala)
date_tx=reshape(date_pc.',1,lungime_totala);
thu = abs(i);
thl = -abs(i);
date_limitare=date_tx;
pt_mare = find(date_limitare>thu);
date_limitare(pt_mare) = thu;
pt_mic = find (date_limitare<thl);
date_limitare(pt_mic)=thl;
rec=date_limitare;
%Remodelarea semnalului receptionat intr-un camp lungime_CP+N
rec_reshaped=(reshape(rec, lungime_CP+N,B)).';
% Eliminare prefix ciclic
eliminare_prefix = rec_reshaped(:,lungime_CP+1:end);
for s=1:B
% Aplicare FFT
rec_f(s,:)=fft(eliminare_prefix(s,:));
end
for t=1:B
% Extragerea simbolului OFDM de la Matrice rec_f
simbol_receptionat= transpose(rec_f(t,:));
% Calcularea distantei Euclidiene pentru 1
dist1=abs(simbol_receptionat-am(1)).^2;
% Calcularea distantei Euclidiene pentru +1i
dist2=abs(simbol_receptionat-am(2)).^2;
% Calcularea distantei Euclidiene pentru -1
dist = [dist1, dist2];
% Gasirea simbolului receptionat cel mai apropiat de simbol initial
[min_val,ind] = min (dist, [],2);
% Generarea simbolurilor decodate
dec(t,:)=am(ind);
end
% Modelarea simbolurilor decodate pentru calculul erorilor
dec_modelare=reshape(dec, 1, B*N);
% Comparare dec_modelare cu date_modelate pentru a calcula erorile
beroare=eroare + sum(dec_modelare~=date_modelate);
end
% Calcularea probabilitatii de eroare
Pe(j)= eroare/(nr_iteratii*B*N);
end
% Afisarea in scara logaritmica a Pe vs pragul de limitare
semilogy(prag_limitare, Pe,'-r','linewidth',1)
grid on
xlabel('Pragul de limitare')
ylabel('Rata bitilor de eroare(BER)')
title('Modulatie BPSK,N=16 si lungime prefix ciclic=4')
OFDM cu QPSK N=16 și CP=4
clear all
close all
clc
N=16; % Numarul de subpurtatoare pe fiecare simbol OFDM
lungime_CP=4; % Lungimea prefixului cilic
L=3;%Ordinul canalului
B=10; % Numarul de simboluri OFDM in pachetul transmis
nr_iteratii=5000; % Numarul de iteratii pentru a obtine suficiente erori
prag_limitare=0:0.1:1; % Prag de limitare
Pe = zeros(size(prag_limitare)); % Initializarea vectorului de erori
lungime_totala = (lungime_CP+N)*B; % Lungimea totala a fiecarui pachet
am = [1,1i,-1,-1i]; %Pentru QPSK
M=4; %Pentru QPSK
for j=1:length(prag_limitare)
i=prag_limitare(j);
eroare=0;
for x=1:nr_iteratii
index_date = ceil(M*rand(B,N));
date=am(index_date);
% remodelarea datelor intr-o matrice BxN
% utilizate mai tarziu pentru detectia erorilor
date_modelate= reshape(date, 1, B*N);
date_tx=date;
for b=1:B
% Aplicand IFFT
date_t(b,:)=ifft(date_tx(b,:));
end
%Adaugarea prefixului ciclic
date_pc = [date_t(:,end-lungime_CP+1:end),date_t];
%Modelarea matricei BxN pentru a obtine pachetul (1xLungime_totala)
date_tx=reshape(date_pc.',1,lungime_totala);
thu = abs(i);
thl = -abs(i);
date_limitare=date_tx;
% Aplicarea pragului de limitare
pt_mare = find(date_limitare>thu);
date_limitare(pt_mare) = thu;
pt_mic = find (date_limitare<thl);
date_limitare(pt_mic)=thl;
rec=date_limitare;
%Remodelarea semnalului receptionat intr-un camp lungime_CP+N
rec_reshaped=(reshape(rec, lungime_CP+N,B)).';
% Eliminare prefix ciclic
eliminare_prefix = rec_reshaped(:,lungime_CP+1:end);
for s=1:B
% Aplicare FFT
rec_f(s,:)=fft(eliminare_prefix(s,:));
end
for t=1:B
% Extragerea simbolului OFDM de la Matrice rec_f
simbol_receptionat= transpose(rec_f(t,:));
% Calcularea distantei Euclidiene pentru 1
dist1=abs(simbol_receptionat-am(1)).^2;
% Calcularea distantei Euclidiene pentru +1i
dist2=abs(simbol_receptionat-am(2)).^2;
% Calcularea distantei Euclidiene pentru -1
dist3=abs(simbol_receptionat-am(3)).^2;
% Calcularea distantei Euclidiene pentru -1i
dist4=abs(simbol_receptionat-am(4)).^2;
% Concatenarea vectorilor
dist = [dist1, dist2, dist3, dist4];
% Gasirea simbolului receptionat cel mai apropiat de simbol initial
[min_val,ind] = min (dist, [],2);
% Generarea simbolurilor decodate
dec(t,:)=am(ind);
end
% Modelarea simbolurilor decodate pentru calculul erorilor
dec_modelare=reshape(dec, 1, B*N);
% Comparare dec_modelare cu date_modelate pentru a calcula erorile
eroare=eroare + sum(dec_modelare~=date_modelate);
end
% Calcularea probabilitatii de eroare
Pe(j)= eroare/(nr_iteratii*B*N);
end
% Afisarea in scara logaritmica a Pe vs pragul de limitare
semilogy(prag_limitare, Pe,'-r','linewidth',1)
grid on
xlabel('Pragul de limitare')
ylabel('Rata bitilor de eroare(BER)')
title('Modulatie QPSK,N=16 si lungime prefix ciclic=4')
Anexa 4
%==========================================================================
% Acest cod investigheaza efectele unui amplificator de putere mare si ale
% zgomotului de canal asupra unui semnal OFDM si este introdusa metoda
% taierii asupra raportului puterii de varf/ puterea medie pentru a reduce
% efectul Puterii de varf. [5]
%
% Dragos Osicenu
%
%==========================================================================
clear all
clc
close
% –––––
% A: Setare de parametrii
% –––––
M = 4; % constelatia semnalului QPSK
nr_puncte = 128; % Numarul de puncte 128
Lungime_bloc = 8; % marimea fiecarui bloc OFDM
Lungime_CP = ceil(0.1*Lungime_bloc); % lungimea prefixului ciclic
nr_pct_ifft =nr_puncte; % 128 puncte pentru FFT/IFFT
nr_pct_fft = Lungime_bloc;
% –––––––––––––––
% B: % +++++ Emitatorul +++++
% –––––––––––––––
% 1. Generarea unui vector de dimensiune 1×128 de date aleatoare
date = randsrc(1, nr_puncte, 0:M-1);
figure(1)
stem(date); grid on; xlabel('Date'); ylabel('Reprezentare in faza a datelor transmise')
title('Date transmise "O"')
% 2. Realizarea modulatiei QPSK
date_modulate_qpsk = pskmod(date, M);
scatterplot(date_modulate_qpsk);title('Modulatie QPSK');
% 3. Aplicarea IFFT asupra fiecarui bloc
% Realizarea din fluxului serial o matrice in care fiecare coloana reprezinta
% un bloc OFDM fara prefix ciclic
%
% Prima etapa: Gasirea numerelor coloanelor care vor ramane dupa modelare
nr_coloane=length(date_modulate_qpsk)/Lungime_bloc;
matrice_date = reshape(date_modulate_qpsk, Lungime_bloc, nr_coloane);
% A doua etapa: Crearea matricei goale pentru a pune datele IFFT
cp_start = Lungime_bloc-Lungime_CP;
cp_end = Lungime_bloc;
% A treia etapa: Calcularea coloanelor si realizarea Prefixului ciclic
for i=1:nr_coloane,
ifft_matrice_date(:,i) = ifft((matrice_date(:,i)),nr_pct_ifft);
% Calcularea si adaugarea Prefixului Ciclic
for j=1:Lungime_CP,
actual_cp(j,i) = ifft_matrice_date(j+cp_start,i);
end
% Adaugarea Prefixului ciclic blocului existent pentru a crea blocul OFDM actual
date_ifft(:,i) = vertcat(actual_cp(:,i),ifft_matrice_date(:,i));
end
% 4. Conversia la fluxul serial pentru transmisie
[randuri_date_ifft coloane_date_ifft]=size(date_ifft);
lungime_date_ofdm = randuri_date_ifft*coloane_date_ifft;
% Forma acutala a semnalului OFDM pentru a fi transmis
semnal_ofdm = reshape(date_ifft, 1, lungime_date_ofdm);
figure(3)
plot(real(semnal_ofdm)); xlabel('Timp'); ylabel('Amplitudine');
title('Semnal OFDM');grid on;
% –––––––––––––––––––––
% C: % +++++ Metoda de reducere a PAPR: Limitare +++++
% –––––––––––––––––––––
prag=0.02;
semnal_taiat=semnal_ofdm;
for i=1:length(semnal_taiat)
if semnal_taiat(i) > prag
semnal_taiat(i) = prag;
end
if semnal_taiat(i) < -prag
semnal_taiat(i) = -prag;
end
end
figure(4)
plot(real(semnal_taiat)); xlabel('Timp'); ylabel('Amplitudine');
axis([0 2500 -0.05 0.05]);
title('Semnal taiat');grid on;
% ––––––––––––––
% D: % +++++ Amplificator de putere mare ( HPA – High Power Amplif) +++++
% ––––––––––––––
% Pentru a arata efectul unui amplificator de putere simplu voi genera zgomot aleator
% cand puterea depaseste valoarea medie de prag, altfel nu adauga nimic
% when the power exceeds the prag. value, otherwise it add nothing.
% 1. Generarea zgomotului aleator
zgomot = randn(1,lungime_date_ofdm) + sqrt(-1)*randn(1,lungime_date_ofdm);
% 2. Semnalul OFDM transmis dupa ce trece printr-un amplificator de putere mare
%Fara limitare
for i=1:length(semnal_ofdm)
if semnal_ofdm(i) > prag
semnal_ofdm(i) = semnal_ofdm(i)+zgomot(i);
end
if semnal_ofdm(i) < -prag
semnal_ofdm(i) = semnal_ofdm(i)+zgomot(i);
end
end
figure(5)
plot(real(semnal_ofdm)); xlabel('Timp'); ylabel('Amplitudine');
title('Semnalul OFDM dupa trecerea prin Amplificatoru de putere mare');grid on;
%cu limitare
semnal_taiat = semnal_ofdm;
prag1=2;
for i=1:length(semnal_taiat)
if semnal_taiat(i) > prag1
semnal_taiat(i) = prag1;
end
if semnal_taiat(i) < -prag1
semnal_taiat(i) = prag1;
end
end
figure(6)
plot(real(semnal_taiat)); xlabel('Timp'); ylabel('Amplitudine');
title('Semnalul taiat dupa trecerea prin Amplificatorul de putere mare');grid on;
axis([0 2500 -4 4]);
% –––––––––––
% E: % +++++ Canal +++++
% –––––––––––
% Crearea unui canal multicale
canal = randn(1,Lungime_bloc) + sqrt(-1)*randn(1,Lungime_bloc);
% ––––––––––––––
% F: % +++++ Receptor +++++
% ––––––––––––––
% 1. Trecerea semnalului OFDM prin canal
semnal_canal = filter(canal, 1, semnal_ofdm);
% 2. Crearea zgomotului
zgomot_alb = awgn(zeros(1,length(semnal_canal)),0);
% 3. Aplicarea zgomotului asupra semnalului…
semnal_rec = zgomot_alb+semnal_canal;
% 4. Conversia datelor inapoi in modul paralel pentru a aplica FFT
matrice_semna_rec = reshape(semnal_rec,randuri_date_ifft, coloane_date_ifft);
% 5. Eliminare Prefix ciclic
matrice_semna_rec(1:Lungime_CP,:)=[];
% 6. Aplicarea FFT
for i=1:coloane_date_ifft,
% FFT
fft_matrice_date(:,i) = fft(matrice_semna_rec(:,i),nr_pct_fft);
end
% 7. Conversie in fluxul serial
date_seriale_rec = reshape(fft_matrice_date, 1,(Lungime_bloc*nr_coloane));
% 8. Demodularea datelor
date_qpsk_demodulate = pskdemod(date_seriale_rec,M);
figure(7)
stem(date_qpsk_demodulate,'rx');
grid on;xlabel('Date');ylabel('Reprezentarea in faza a datelor receptionate');title('Date receptionate "X"')
% –––––––––––––––––-
% % F: % +++++ Receptorul semnalului taiat +++++
% % –––––––––––––––––-
% 1. Trecea semnalului OFDM prin canal
semnal_canal = filter(canal, 1, semnal_taiat);
% 2. Adaugarea zgomotului
zgomot_alb = awgn(zeros(1,length(semnal_canal)),0);
% 3. aplicarea zgomotului asupra semnalului
semnal_rec = zgomot_alb+semnal_canal;
% 4. Conversia datelor inapoi in modul paralel pentru a aplica FFT
matrice_semna_rec = reshape(semnal_rec,randuri_date_ifft, coloane_date_ifft);
% 5. Eliminarea Prefixului Ciclic
matrice_semna_rec(1:Lungime_CP,:)=[];
% 6. Aplicarea FFT
for i=1:coloane_date_ifft,
% FFT
fft_matrice_date(:,i) = fft(matrice_semna_rec(:,i),nr_pct_fft);
end
% 7. Conversie in fluxul serial
date_seriale_rec = reshape(fft_matrice_date, 1,(Lungime_bloc*nr_coloane));
% 8. Demodularea datelor
date_qpsk_demodulate = pskdemod(date_seriale_rec,M);
figure(8)
stem(date_qpsk_demodulate,'rx');
grid on;xlabel('Date');ylabel('Reprezentarea in faza a datelor receptionate');title('Datele taiate primite "X"')
Anexa 5
Variația ratei de eroare pe bit în funcție de offset-ul frecvenței într-un canal cu zgomot alb aditiv de tip Gaussian
% Simularea sistemului OFDM in care apare Offset-ul frecventei purtatoarei
% intr-un canal cu zgomot alb aditiv de tip Gaussian
% Osiceanu Dragos-Iulian
% RST – 2013
clc
clear all
close
nr_sub = 256;% Num?r de subpurt?toare
Lungime_CP = 16; %Lungimea prefixului ciclic
nr_pct_fft = 256; % Numar de puncte FFT
Lungime_totala = nr_pct_fft+Lungime_CP;% Lungimea totala a simbolului OFDM
EbN0dB = 0:2:10; % Raportul semnal zgomot
EsN0dB = EbN0dB + 10*log10(nr_sub/nr_pct_fft) + 10*log10(nr_pct_fft/Lungime_totala);
OFFSET = 0:0.05:0.2; % Vectorul offset-ului frecventei purtatoarei
BER = zeros(1,length(EbN0dB)); %vectorul ratei de eroare
MC =5000; % Numarul de iteratii
for j = 1:length(OFFSET)
for n = 1:length(EbN0dB)
snr = EbN0dB(n);tic;
eroare = 0;
for mc = 1:MC
%Generarea datelor
x = rand(1,nr_sub)>0.5;
xt = 2*x -1;
%Calcularea transformatei Fourier rapida inversa
xt = (nr_pct_fft/sqrt(nr_sub))*ifft(fftshift(xt),nr_pct_fft); % else use 'measured' awgn
xtt = [xt(end-Lungime_CP+1:end) xt];
% Zgomot Gaussian de medie 0
nt = 1/sqrt(2)*(randn(1,Lungime_totala) + 1i*randn(1,Lungime_totala));
yr = sqrt(Lungime_totala/nr_pct_fft)*xtt + 10^(-EsN0dB(n)/20)*nt;
% Adaugarea offset-ului de frecventa
yr =(exp(1i*2*pi*OFFSET(j)*(0:length(yr)-1)/nr_pct_fft)).*yr;
% Receptorul
%Eliminarea prefixului ciclic
yr = yr(Lungime_CP+1:end);
%Aplicarea transformatei Fourier rapida directa
yr = (nr_sub/sqrt(nr_pct_fft))*fftshift(fft(yr,nr_pct_fft));
yr = yr > 0; % Demodulare
%Calcularea ratei de eroare
eroare = eroare + length(find((yr-x)~=0));
end
BER(j,n) = eroare/(nr_pct_fft*MC);
toc;
end
end
semilogy(EbN0dB,BER,'-.ob','LineWidth',2); hold on; grid on;
title('Variatia ratei bitilor de eroare in functie de offset-ul frecventei intr-un canal cu zgomot alb aditiv de tip Gaussian');
% Calcule teoretice
dataenc = 'nondiff';
EbNo = EbN0dB;
M = 2;
ThBer = berawgn(EbNo,'psk',M,dataenc);
semilogy(EbNo, ThBer,'-*r','LineWidth',2); xlabel('Raportul semnal zgomot');ylabel('Probabilitatea bitilor de eroare');
legend('simulat','simulat','simulat','simulat','simulat','teoretic')
Anexa 6
clear all
clc
close
N = 16; % Numar de subpurtatoare pentru fiecare simbol OFDM
L = 3; % Ordinul canalului
Lungime_cp = 4; % Lungimea prefixului ciclic
B = 10; % Numarul de simboluri OFDM din blocul transmis
mc_N = 5000; % Numar de iteratii pentru a obtine suficiente erori
RSZ_db = 0:1:20; %RSZ in dB
RSZ = 10.^(RSZ_db/10); % RSZ values
Pe = zeros(size(RSZ_db)); % Initierea vectorului eroare
Lungime_totala = (Lungime_cp+N)*B; %Lungimea totala a fiecarui bloc
am = [-1,1]; % Pentru modulatia BPSK
M = 2; % Pentru modulatia BPSK
for RSZ_loop = 1:length(RSZ_db)
rho = RSZ(RSZ_loop);
eroare = 0;
for mc_loop = 1:mc_N
index_date = ceil(M*rand(B,N));
date = am(index_date);
% Modelarea datelor intr-o matrice BxN
%folosita mai tarziu pentru detectia erorilor
date_modelate = reshape(date, 1, B*N);
date_tx = date;
for b = 1:B
% Aplicarea Transformatei Fourier Rapida Inversa
date_t(b,:) = ifft(date_tx(b,:));
end
% Adaugarea prefixului ciclic
date_cp = [date_t(:,end-Lungime_cp+1:end), date_t];
% Modelarea matricei BxN pentru a obtine pachetul (1xLungime_totala)
date_tx =reshape(date_cp.',1,Lungime_totala);
h = complex(randn(L+1,1), randn(L+1,1))*sqrt(0.5/(L+1));
%zgomot
zgomot = complex(randn(1,Lungime_totala), …
randn(1,Lungime_totala)) * sqrt(0.5/N);
% semnal receptionat
semnal_receptionat = sqrt(rho)*(filter(h,1,date_tx))+zgomot;
% Modelarea semnalului receptionat intr-un camp de lungime lungime_cp+N x B
semnal_modelat = (reshape(semnal_receptionat, Lungime_cp+N, B)).';
% Eliminare prefix ciclic
semnal_receptionat_sans_cp = semnal_modelat(:,Lungime_cp+1:end);
for bb = 1:B
% Aplicarea Transformatei Fourier Rapida
semnal_receptionat_f(bb,:) = fft(semnal_receptionat_sans_cp(bb,:));
end
% Calcularea canalului echivalent pentru fiecare subpurtatoare
h_f = sqrt(rho)*fft(h,N);
for b2 = 1:B
% Extragerea simbolului OFDM din matricea semnalului receptionat
simboluri_rec = transpose(semnal_receptionat_f(b2,:));
% Calcularea distantei Euclidiene corespunzatoare lui -1
det1 = abs(simboluri_rec+h_f).^2;
% Calcularea distantei Euclidiene corespunzatoare lui +1
det2 = abs(simboluri_rec-h_f).^2;
% Concatenarea celor 2 vectori
det = [det1, det2];
% gasirea simbolurielor receptionate cele mai apropiate de cele transmise
[min_val, ind] = min(det, [], 2);
% Generarea simbolurilor decodate
dec(b2,:) = 2*((ind-1)>0.5)-1;
end
% Modelarea simbolurilor decodate pentru a calcula eroarea
modelarea_dec = reshape(dec, 1, B*N);
% Compararea datelor receptionate modelate cu
%…datele modelate pentru a calcula erorile
eroare = eroare + sum(modelarea_dec~=date_modelate);
end
%Calcularea Probabilitatii de eroare
Pe(RSZ_loop) = eroare/(mc_N*B*N);
end
% Afisarea semilogaritmica a Pe vs. RSZ_db
semilogy(RSZ_db,Pe,'-or','linewidth',1)
grid on;
xlabel('Raportul semnal zgomot (dB)');
ylabel('Rata de eroare pe simbol');
title('Efectul raportului semnal zgomot asupra probabilitatii de eroare')
clear all
close all
clc
N=256; % Numarul de subpurtatoare pe fiecare simbol OFDM
lungime_CP=16; % Lungimea prefixului cilic
L=16; %Ordinul canalului
B=10; % Numarul de simboluri OFDM in pachetul transmis
nr_iteratii=5000; % Numarul de iteratii pentru a obtine suficiente erori
SNR_db=0:2:20; % Prag de limitare
SNR = 10.^(SNR_db/10); % SNR values
Pe = zeros(size(SNR_db)); % Initializarea vectorului de erori
lungime_totala = (lungime_CP+N)*B; % Lungimea totala a fiecarui pachet
am = [1,1i,-1,-1i]; %Pentru QPSK
M=4; %Pentru QPSK
for j=1:length(SNR_db)
i=SNR_db(j);
eroare=0;
for x=1:nr_iteratii
index_date = ceil(M*rand(B,N));
date=am(index_date);
% remodelarea datelor intr-o matrice BxN
% utilizate mai tarziu pentru detectia erorilor
date_modelate= reshape(date, 1, B*N);
date_tx=date;
for b=1:B
% Aplicand IFFT
date_t(b,:)=ifft(date_tx(b,:));
end
%Adaugarea prefixului ciclic
date_pc = [date_t(:,end-lungime_CP+1:end),date_t];
%Modelarea matricei BxN pentru a obtine pachetul (1xLungime_totala)
date_tx=reshape(date_pc.',1,lungime_totala);
h = complex(randn(L+1,1), randn(L+1,1))*sqrt(0.5/(L+1));
%Noise
noise = complex(randn(1,lungime_totala), …
randn(1,lungime_totala)) * sqrt(0.5/N);
% Received signal
rec = sqrt(i)*(filter(h,1,date_tx))+noise;
%Remodelarea semnalului receptionat intr-un camp lungime_CP+N
rec_reshaped=(reshape(rec, lungime_CP+N,B)).';
% Eliminare prefix ciclic
eliminare_prefix = rec_reshaped(:,lungime_CP+1:end);
for s=1:B
% Aplicare FFT
rec_f(s,:)=fft(eliminare_prefix(s,:));
end
h_f = sqrt(i)*fft(h,N);
for t=1:B
% Extragerea simbolului OFDM de la Matrice rec_f
simbol_receptionat= transpose(rec_f(t,:));
% Calcularea distantei Euclidiene pentru 1
dist1=abs(simbol_receptionat-am(1)*h_f).^2;
% Calcularea distantei Euclidiene pentru +1i
dist2=abs(simbol_receptionat-am(2)*h_f).^2;
% Calcularea distantei Euclidiene pentru -1
dist3=abs(simbol_receptionat-am(3)*h_f).^2;
% Calcularea distantei Euclidiene pentru -1i
dist4=abs(simbol_receptionat-am(4)*h_f).^2;
% Concatenarea vectorilor
dist = [dist1, dist2, dist3, dist4];
% Gasirea simbolului receptionat cel mai apropiat de simbol initial
[min_val,ind] = min (dist, [],2);
% Generarea simbolurilor decodate
dec(t,:)=am(ind);
end
% Modelarea simbolurilor decodate pentru calculul erorilor
dec_modelare=reshape(dec, 1, B*N);
% Comparare dec_modelare cu date_modelate pentru a calcula erorile
eroare=eroare + sum(dec_modelare~=date_modelate);
end
% Calcularea probabilitatii de eroare
Pe(j)= eroare/(nr_iteratii*B*N);
end
% Afisarea in scara logaritmica a Pe vs pragul de limitare
semilogy(SNR_db, Pe,'-or','linewidth',1)
grid on
xlabel('Raportul semnal zgomot (dB)')
ylabel('Rata de eroare pe simbol')
title('QPSK')
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Modelul de Canal Adecvat Si Sincronizarea Pentru Sistemele de Transmisiune Ofdm (ID: 143255)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
