Ohjelmistoradio tehtävät 4 P: Ekvalisointi ja demodulaatio Tässä tehtävässä dekoodata OFDM data joka on sijotetty synknonontisignaalin lälkeen. Synkronointisignaali on sama kuin edellisessä laskutehtävässä. Vastaanotettu kohinainen data on tiedostossa received_data muuttujassa. Synkronointisignaalin jälkeen tulee kaksi OFDM-symbolia. Ensimmäinen symboli sisältää pilotsymbolit ja toinen symboli sisältää lähetetyn datan. OFDM-symbolien generoiminen OFDM-modulaatiossa lähetettävä data sisällytetään taajuusalueen symboliin. Datasymboli muunnetaan aika-alueeseen käyttämällä käänteistä FFT-operaatiota (katso kuva 4). Modulaatio toteutetaan seuraavasti: Databitit b moduloidaan kompleksisiksi symboleiksi m (m on yleensä kompleksinen). Kuvassa 4 on kahdeksan moduloitua symbolia. Moduloidut symbolit kuvataan 6 pisteen taajuusvektoriin. Kuvaus alkaa kohdasta -5 ja päättyy kohtaan 5, siten ettei keskitaajuutta käytetä. Moduloidut symbolit m ovat kunkin alikantoaallon amplitudi ja vaihe. Taajuusalueen symbolit m muutetaan aika-alueen symboleiksi x käyttämällä IFFT-operaatiota. Ennen IFFT:tä Matlabissa data pitää siirtää ensin fftshift()-funktiolla. Tämä funktio siirtää taajuuskomponentit oikeille paikoille IFFT:tä varten. Kun aika-alueen symbolit x halutaan lähettää, niiden eteen lisätään Cyclic Prefix (CP). CP:n tarkoitus on auttaa vastaanotinta arvioimaan siirtotien ominaisuuksia. Kaikki monitie-etenemisestä aiheutuneet komponentit, jotka saapuvat CP:n aikana, voidaan helposti arvioida ja korjata (ekvalisoida) OFDM-vastaanottimessa. Kuvassa 4 lähetyt OFDM-symbolit on ilmaistu Matlabin mukaisella notaatiolla: txsym = [x[9:6] x]
freq m=[ ; ; ; ;m;m;m2;m3; ;m4;m5;m6;m7; ; ; ] x=fft(fftshift(m)) time txsym=[x(9:6) x] time Figure 4: OFDM modulation. Harjoitustehtävät OFDM-vastaanotin toteuttaa modulaatioon nähden käänteiset operaatiot. Testi koodi on tiedostossa DataDecoding.m. Tuohon tiedoston voit kirjoitaa oman koodin.. Arvioi datasymbolien aloitushetki. Voit käyttää testitiedostoa testinitlocation(beginningofdatasequence,received_data,sync_sequence) tarkistamaan, että löytämäsi paikka on oikea. 2. Kerää näytteitä kahdesta peräkkäisestä 24 näytteen mittaisesta OFDM-symbolista. Ensimmäisissä symboleissa on ainoastaan pilot-signaali (CP). Pilot-signaali on annettu vektorissa pilotbits. Pilotti bitit moduloidaan ja niitä käytetään siirtotien arvioimiseen. Tätä varten:. Ota 6 viimeistä symbolia ensimmäisestä OFDM-symbolista. 2. Tee symboleille 6 pisteen FFT. 3. Siirrä symbolien paikkaa fftshift()-funktiolla, jotta symbolit ovat nollataajuuden ympärillä. Piirrä kuvaaja vastaanotetun pilot-signaalin konstellaatiopisteistä IQ-tasossa. Kuvaajan tulisi muistuttaa alla olevaa kuvaa.
5 4 3 2 imag - -2-3 -4-5 -5-4 -3-2 - 2 3 4 5 real Pilot-signaalin spektrin tulisi muistuttaa alla olevaa kuvaa. 4. Moduloi pilooti bitit käyttämällä BPSK:ta, eli ja -. 5. Estimoi kanavan kertoimia laskemalla ero lähetettyjen ja vastaanotettujen pilotsymbolien välillä: ch_est = pilotsym_rx./ modpilotsym_tx -8-6 -4-2 2 4 6 8 freq 3. Tulkitse toisen OFDM-symbolin databitit. Tätä varten: amplitude 5 4.5 4 3.5 3 2.5 2.5.5. Muunna vastaanotetut aikanäytteet taajuusalueeseen FFT-operaatiolla. Piirrä kuvaaja vastaanotetun datan konstellaatiopisteistä IQ-tasossa. Kuvaajan tulisi muistuttaa alla olevaa kuvaa. 5 4 3 2 imag - -2-3 -4-5 -5-4 -3-2 - 2 3 4 5 real 2. Ekvalisoi taajuusalueen näytteet jakamalla ne kanavan estimaatilla. Jakaminen poistaa näytteistä kanavan vaikutuksen. Piirrä kuvaaja vastaanotetun datan konstellaatiopisteistä IQ-tasossa kanavakorjauksen jälkeen. Kuvaajan tulisi muistuttaa alla olevaa kuvaa.
.5.5 imag -.5 - -.5 -.5 - -.5.5.5 real 3. Databitit on moduloitu käyttämällä BPSK:ta, eli ja -. Mitkä olivat lähetetyt bitit? P2: Virheiden vaikutus konstellaatiopisteisiin Tässä harjoituksessa tutustutaan lähetin-vastaanotinketjussa esiintyvien virheiden vaikutuksiin signaalin konstellaatiokuvioon. Alla olevat kuvat esittävät virheellisesti vastaanotettuja QPSKsignaaleja. Kussakin kuvassa on esitetty yhden virhetyypin vaikutus vastaanottoon. Virheet ovat: I- ja Q-haarojen epätasapaino tasajännitekomponentti (DC-virhe) vaihevirhe Selvitä mikä virhe kussakin kuvassa on näkyvissä? Figure : IQ plot.
Figure 2: IQ Plot 2. Figure 3: IQ plot 3.
P3: Kohinaiset konstellaatiopisteet Tiedostossa TxandRx_data.mat on QPSK-moduloitu signaali ennen ja jälkeen kanavan. Lue tiedosto Matlabiin ja muuttuja modsignaltx sisältää lähetettävät symbolit ja modsignalrx sisältää vastaanotetut symbolit. a) Tulosta kuva konstallaatiopisteistä (IQ-kuvaaja) ja liitä kuva vastaukseesi b) Laske vastaaotetusta signaalista Error Vector Magnitude (EVM) ja liitä vastaukseesi koodi, jolla toteutit laskennan. Vertaa laskemaasi EVM:n arvoa kohinan varianssiin, kun tiedetään, että vastaanottimen tulossa kohinan varianssi on.. Onko EVM:n ja kohinan varianssin välillä eroa? Selitä lyhyesti havaintojasi EVM:n ja kohinan varianssin yhteydestä toisiinsa. Error Vector Magnitude lasketaan seuraavasti: ) poista vastaanotetusta signaalista oikeat symboliarvot 2) laske EVM:n varianssi kaavalla missä ovat vastaanotetut symbolit, ovat lähetetyt symbolit, on itseisarvo-operaatio ja laskee keskiarvoa.