Sunteți pe pagina 1din 94

MIREL PĂUN

ECHIPAMENTE RADIO DEFINITE


PRIN SOFTWARE
Îndrumar de laborator

Editura
NAUTICA
MIREL PĂUN

ECHIPAMENTE RADIO DEFINITE


PRIN SOFTWARE
Îndrumar de laborator

Editura
NAUTICA
Copyright © 2017, Editura NAUTICA

Toate drepturile asupra acestei ediţii sunt rezervate Editurii

Tehnoredactare şi grafică: Mirel PĂUN

Editura NAUTICA
Editură recunoscută de CNCSIS
Str. Mircea cel Bătrân nr.104
900663 Constanţa, România
tel.: +40-241-66.47.40
fax: +40-241-61.72.60
e-mail: info@imc.ro
www.edituranautica.org.ro

ISBN 978-606-681-098-2
CUPRINS

Pagina

Lucrarea de laborator nr. 1


Scanarea spectrului radio folosind echipament radio definit prin software 5

Lucrarea de laborator nr. 2


Implementarea emisiei FM folosind USRP 15

Lucrarea de laborator nr. 3


Implementarea recepției FM folosind USRP 27

Lucrarea de laborator nr. 4


Implementarea unui sistem de comunicație OOK folosind USRP 37

Lucrarea de laborator nr. 5


Implementarea unui sistem de comunicație BPSK folosind USRP 51

Lucrarea de laborator nr. 6


Implementarea unui sistem de comunicație QPSK folosind USRP 59

Lucrarea de laborator nr. 7


Implementarea unui sistem de comunicație QAM folosind USRP 75

Bibliografie 91
Lucrarea de laborator nr. 1

1. Scanarea spectrului radio folosind echipament radio definit prin software

1.1. Scopul lucrării


 Scanarea spectrului radio în domeniul de frecvențe cuprins între 50MHz și 2.2GHz
folosind echipamentul radio definit prin software USRP N200 și programul SDRConsole.

1.2. Breviar teoretic


Un echipament radio definit prin software (în limba engleză Software Defined Radio
– SDR) este un echipament radio în care majoritatea sau chiar toate funcțiile care erau realizate cu
elemente hardware în echipamentele radio clasice (ex. mixare, filtrare) sunt realizate de către un
program (software) care rulează pe un echipament digital. Avantajul pe care îl oferă un astfel de
echipament față de sistemele clasice este posibilitatea de reconfigurare, același echipament putând
fi configurat să implementeze o varietate de funcții prin simpla modificare a programului (ex.
același echipament poate fi configurat ca transceiver multi-standard, RADAR, receptor GPS etc.).

Pentru realizarea lucrărilor practice din această carte se va utiliza echipamentul radio
definit prin software USRP N200 produs e firma Ettus Research. Elementul central al acestui
echipament este reprezentat de modulul FPGA Xilinx Spartan 3A-DSP 1800 la nivelul căruia sunt
efectuate toate prelucrările numerice aferente emisiei și recepției radio. Interfața dintre domeniul
digital și cel analogic este realizată de un convertor analog-numeric dual cu rată de eșantionare de
100 MS/s și rezoluție 14 biți pentru recepție și un convertor numeric-analogic dual cu rata de 400
MS/s și rezoluție de 16 biți pentru calea de emisie. Conectivitatea cu calculatorul este asigurată de o
interfață Gigabit Ethernet. Astfel, viteza maximă de transfer a datelor între USRP și calculator este
de 50MS/s. Secțiunea analogică este realizată sub formă modulară, astfel încât prin conectarea
diferitelor module de radiofrecvență disponibile, denumite de producător RF Daughterboards,
sistemul poate opera în domeniul 0 – 6 GHz.
De asemenea echipamentul mai dispune de o conexiune MIMO pentru conectarea a
două dispozitive USRP în configurație 2x2 MIMO folosind un conector dedicat precum și de intrări
pentru sincronizarea oscilatorului local, REF CLOCK, respectiv a tactului de eșantionare, PPS IN,
pentru implementarea sistemelor radio cu mai mult de 2 canale.

În figura 1.1 este prezentat panoul frontal al echipamentului USRP N200, la nivelul
acestuia fiind vizibile conectoarele acestuia. Rolul fiecărui conector este detaliat în continuare:

- Conectorul Gigabit Ethernet – asigură conexiunea echipamentului USRP cu un


calculator gazdă în vederea transmiterii datelor sub forma unor pachete folosind
protocoalele IP/UDP;

5
Lucrarea de laborator nr. 1

- Conectorul de radiofrecvență RF1 respectiv RF2 – conector SMA - asigură accesul la


cele două porturi de RF ale modulului analogic de radiofrecvență (Daughterboard)
instalat în echipament;

- Conectorul de extensie MIMO – permite conectarea a două module USRP într-o


configurație MIMO 2x2 prin intermediul unui cablu MIMO dedicat care permite
transferul de date între echipamente la o rată de până la 2Gbps;

- Conectorul pentru semnalul de referință de ceas (REF CLOCK) – conector SMA care
permite folosirea unui semnal de ceas extern cu frecvența standardizată de 10 MHz
pentru sincronizare;

- Conectorul pentru semnalul PPS (PPS IN) – conector SMA care permite sincronizarea
tactului de eșantionare pentru convertoarele ADC și DAC folosind un semnal extern de
un puls pe secundă;

- Conectorul POWER – pentru alimentarea echipamentului de la o sursă de curent


continuu de 6V.

De asemenea, la nivelul panoului mai există 6 LED-uri pentru indicarea stării de


funcționare a echipamentului, după cum urmează:

- Led A – indică activitatea căii de emisie;

- Led B – indică o legătură activă pe portul de extensie MIMO;

- Led C – indică activitatea căii de recepție;

- Led D – conținut firmware încărcat;

- Led E – semnalul de referință stabil;

- Led F – conținutul circuitului CPLD încărcat.

Figura 1.1: Panoul frontal al echipamentului USRP N200

Schema bloc a echipamentului cu evidențierea funcțiilor implementate la nivelul


FPGA-ului este dată în figura 1.2 iar în figura 1.3 este prezentat PCB-ul plăcii de bază a
echipamentului, cu identificarea principalelor componente.
6
Lucrarea de laborator nr. 1

Figura. 1.2 Schema bloc a echipamentului USRP N200

Figura 1.3 Placa de bază a echipamentului USRP N200

7
Lucrarea de laborator nr. 1

Pentru implementarea aplicațiilor care vor fi prezentate pe parcursul acestei cărți se


va utiliza modulul de radiofrecvență WBX. Acesta conține o cale de emisie și o cale de recepție (Tx
/ Rx) realizate în arhitectură homodină, ambele cu lărgimea de bandă instantanee de 40 MHz și
domeniul de lucru cuprins între 50 MHz și 2.2 GHz. Puterea maximă de emisie este de 100 mW.
Impedanța intrărilor/ieșirilor RF este 50 Ω. În figura 1.4 se prezintă schema bloc simplificată a
ansamblului format din placa de bază a echipamentului USRP N200 și modulul de radiofrecvență
WBX.

Figura 1.4 Echipamentul USRP N200 echipat cu modulul WBX – schemă bloc simplificată

Echipamentul USRP N200 poate fi programat pe două nivele. Un nivel de


programare este reprezentat de codul destinat modulului FPGA care se află pe placa de bază a
dispozitivului. Pentru elaborarea acestui cod se utilizează limbaje de descriere a hardware-ului
precum VHDL sau Verilog. Totuși, pentru majoritatea aplicațiilor, codul standard furnizat de
producător este cel mai potrivit, astfel că efectuarea de modificări la nivelul acestuia nu este
necesară. Toate aplicațiile care vor fi prezentate în cadrul acestei lucrări utilizează versiunea
standard, oferită de producător, a codului FPGA.
Al doilea nivel de programare asociat echipamentului USRP N200 este reprezentat
de programul care rulează pe calculatorul conectat la acesta și care implementează prelucrarea în
banda de bază a semnalelor, deoarece în cazul acestui sistem calculatorul face parte din structura
echipamentului radio definit prin software, constituind secțiunea de prelucrare în banda de bază. În
cadrul primei lucrări de laborator acest program este SDRConsole. În cazul următoarelor lucrări de
laborator programul calculatorului va fi realizat în cadrul laboratorului folosind mediul de
programare grafică LabVIEW.

SDRConsole este un program dedicat operării unei multitudini de echipamente radio


definite prin software comerciale. Versiunea 2, utilizată în acest laborator, implementează doar
funcția de recepție radio.

8
Lucrarea de laborator nr. 1

1.3.Desfășurarea lucrării

Aparatura necesară

 Calculator pe care este instalat programul SDRConsole V2;


 USRP N200 echipat cu modulul RF WBX;
OBSERVAȚIE: Pentru a funcționa cu SDRConsole V2 este necesar ca
echipamentul USRP să conțină imaginile firmware/FPGA corespunzătoare driver-
ului NI-USRP 14.0. În caz contrar, se va încărca această imagine pe echipament.
 Antenă de bandă ultra-largă;
 Cablu de rețea UTP și cablu RF cu impedanță 50Ω și conectori SMA tată;
 Telecomandă radio auto cu operare în banda de 433MHz.

Procedura

1. Se montează modulul de radiofrecvență WBX în echipamentul USRP N200, ca în figură:

Figura 1.5: Montarea modulului WBX

2. Se conectează la calculator, prin intermediul cablului de rețea, echipamentul USRP N200


echipat cu modulul RF WBX. Pentru a conecta direct echipamentul la calculator este necesar
ca acesta să dispună de o placă de rețea tip Gigabit. În caz contrar, conectarea se poate face
doar prin intermediul unui switch de tip Gigabit, viteza maximă de transfer a datelor fiind,
evident, mai redusă în această situație. Pentru stabilirea comunicației între calculator și
echipament este necesar ca IP-ul calculatorului să fie din aceeași clasă cu IP-ul
echipamentului. În mod implicit, IP-ul echipamentului este 192.168.10.2. În cazul conectării
echipamentului USRP în rețea, folosind un switch, acesta poate fi accesat de mai mulți
utilizatori.
9
Lucrarea de laborator nr. 1

3. Se lansează în execuție programul SDRConsole V2. La prima rulare se va afișa mesajul din
figura 1.6. Se va efectua clic pe butonul Yes.

Figura 1.6: Mesaj întâmpinare SDRConsole

4. În fereastra care se va deschide, Radio Definitions, se va efectua clic pe butonul Search, iar
din lista care se va deschide se va selecta Ettus Research (all models), ca în figura 1.7.

Figura 1.7: Selecție model echipament radio


10
Lucrarea de laborator nr. 1

5. În urma descoperirii echipamentului, programul afișează mesajul din figura 1.8. Se va efectua
clic pe butonul Yes.

Figura 1.8: Mesaj descoperire echipament

6. Fereastra va avea aspectul din figura 1.9. Se va efectua clic pe butonul OK.

Figura 1.9: Lista echipamentelor găsite

11
Lucrarea de laborator nr. 1

7. În fereastra Select Radio se va alege frecvența de eșantionare a echipamentului (Sample rate),


conform figurii 1.10 și se va efectua clic pe butonul Start.

Figura 1.10: Configurare echipament

8. Fereastra programului va avea aspectul din figura 1.11.

Figura 1.11: Fereastra programului


12
Lucrarea de laborator nr. 1

9. Se setează frecvența centrală a echipamentului la valoarea de 101.1 MHz, frecvență


corespunzătoare unui post radio FM comercial, acționând fereastra VFO Tuning. De asemenea
se fixează domeniul de frecvențe afișat la valoarea maximă posibilă (adică valoarea frecvenței
de eșantionare), accesând meniul Span conform figurii 1.12.

Figura 1.12: Meniul Span

10. Utilizând meniul DSP, se configurează programul pentru demodularea emisiunii FM


comerciale de pe frecvența de 101.1 MHz efectuând setările din figura 1.13. În difuzoare se
va auzi transmisiunea postului de radio.

Figura 1.13: Meniul DSP


13
Lucrarea de laborator nr. 1

11. Se setează frecvența centrală a echipamentului la valoarea de 433 MHz și se acționează


telecomanda radio auto, vizualizându-se spectrul semnalului emis de aceasta.

Exerciții

1) Vizualizați spectrul radio în jurul frecvențelor utilizate de telefonia mobilă


900/1800/2100 MHz.

2) Conectați-vă prin intermediul programului SDRConsole la un server SDR public,


aflat la distanță, prin internet.

14
Lucrarea de laborator nr. 2

2. Implementarea emisiei FM folosind USRP

2.1. Scopul lucrării


 Implementarea emisiei analogice FM folosind echipamentul USRP N200 echipat cu
modulul de RF WBX. Programarea prelucrării în banda de bază se va efectua folosind
limbajul de programare grafică LabVIEW.

2.2. Breviar teoretic


Tehnica de modulație analogică de frecvență (Frequency Modulation – FM) este
cea mai utilizată tehnică de modulație analogică în radiodifuziunea comercială. Principalul
avantaj al acestei tehnici față de modulația de amplitudine (Amplitude Modulation-AM) constă în
imunitatea superioară față de interferențe. Denumirea provine de la faptul că deviația frecvenței
instantanee a semnalului modulat față de frecvența purtătoare este proporțională cu amplitudinea
instantanee a semnalului modulator. Spre deosebire de aceasta, în cazul modulației de
amplitudine, frecvența semnalului modulat rămâne constantă iar amplitudinea sa instantanee este
proporțională cu amplitudinea instantanee a semnalului modulator.

Expresia temporală a unui semnal modulat FM este:

𝑡
sFM (t) = A cos 2𝜋𝑓𝑝 𝑡 + 2𝜋∆𝑓 0
𝑚(𝑥) 𝑑𝑥 (2.1)

unde A este amplitudinea semnalului modulat, fp este frecvența purtătoare, ∆𝑓 este deviația de
frecvență iar m(t) este semnalul modulator. Acesta trebuie să îndeplinească condiția 𝑚(𝑡) ≤ 1.

Frecvența instantanee a semnalului, obținută prin derivarea în raport cu timpul a


fazei instantanee și împărțirea la 2 𝜋, este:

𝑡
1 𝑑 2𝜋𝑓𝑝 𝑡+ 2𝜋∆𝑓 0 𝑚 (𝑥) 𝑑𝑥
𝑓𝑖 (𝑡) = 2𝜋 = 𝑓𝑝 + ∆𝑓 𝑚(𝑡) (2.2)
𝑑𝑡

Din relația 2.2 se observă că atunci când m(t) ia valoarea maximă, ±1, deviația
frecvenței instantanee față de frecvența purtătoare este chiar ∆𝑓. Pentru radiodifuziunea
comercială ∆𝑓 este de 75 kHz iar ecartul dintre frecvențele purtătoare corespunzătoare unor stații
radio vecine este de 200 kHz. Domeniul de frecvențe alocat posturilor radio comerciale în banda
FM este cuprins între 88 și 108 MHz.

15
Lucrarea de laborator nr. 2

LabVIEW (prescurtarea pentru Laboratory Virtual Instrumentation Engineering


Workbench) este un mediu de programare grafică destinat realizării aplicațiilor pentru achiziția
și analiza datelor, precum și controlul proceselor industriale.
LabVIEW are la bază limbajul de programare grafică G dezvoltat de compania
National Instruments.
Fișierele care conțin codul au extensia ”.vi”, aceasta fiind abrevierea pentru
”Virtual Instrument”, deoarece funcția de bază a mediului LabVIEW este de a realiza
instrumente virtuale.
De asemenea, este posibilă compilarea fișierelor sursă astfel încât să se obțină
fișiere executabile, având extensia ”.exe”, ținându-se seama de faptul că acestea nu pot fi rulate
decât pe un calculator pe care este instalat fie mediul de programare LabVIEW fie aplicația
LabVIEW Run-Time Engine. Din fericire, este posibilă realizarea direct din mediul LabVIEW a
Kit-urilor de instalare care instalează pe lângă aplicația utilizatorului și utilitarul LabVIEW Run-
Time Engine.
Avantajele programării în LabVIEW sunt date de simplificarea elaborării
programului față de situația clasică a programării textuale și faptul că mediul rezolvă automat
problemele de gestionare a resurselor hardware și interacțiunea cu sistemul de operare, astfel că
programatorul se poate concentra exclusiv asupra problemei pe care trebuie să o rezolve.
De asemenea paralelismul în execuție este natural în cazul programării grafice,
fapt pentru care realizarea aplicațiilor ce presupun procesarea paralelă a datelor este la fel de
simplă ca realizarea aplicațiilor secvențiale.
Nu în ultimul rând, un avantaj major este existența unor biblioteci de funcții
dedicate procesării de semnal ce conțin o multitudine de algoritmi precum și funcții dedicate
interfațării unui număr mare de echipamente de achiziție de date.
Platformele pe care poate rula LabVIEW sunt Microsoft Windows, diferite
versiuni de UNIX, Linux și Mac OS X.
Pentru a implementa programele din cadrul acestei cărți este necesară instalarea
alături de LabVIEW a driver-ului NI-USRP 14.5.1 și a uneltei software adiționale NI LabVIEW
Modulation Toolkit 4.3.4.

2.3. Desfășurarea lucrării

Echipamentele necesare

 Calculator pe care este instalat LabVIEW 2013, NI-USRP 14.5.1 și NI


LabVIEW Modulation Toolkit 4.3.4;
 USRP N200 echipat cu modulul RF WBX;
 Antenă pentru banda 88 - 108 MHz;
 Cablu de rețea UTP (Ethernet);
 Receptor FM;
 Analizor de spectru echipat cu antenă pentru banda 88 - 108 MHz;
 Osciloscop, T - BNC 1 tată 2 mame, sarcină 50Ω BNC - tată, cablu coaxial 50Ω
BNC tată - BNC tată, adaptor SMA tată – BNC mamă.

16
Lucrarea de laborator nr. 2

Procedura

1. Se realizează montajul:

Figura 2.1: Conectare PC – USRP

17
Lucrarea de laborator nr. 2

Modulul radio WBX se montează în interiorul carcasei platformei SDR USRP N200.
Pentru stabilirea conexiunii directe între computer și platforma SDR tip USRP N200
este obligatoriu ca placa de rețea a calculatorului să fie de tip Gigabit. În caz contrar, este
necesară intercalarea unui switch ethernet tip Gigabit între USRP și calculator. Utilizarea
switch-ului permite și folosirea în comun a echipamentului de către mai mulți utilizatori.

2. Se implementează în mediul de programare grafică LabVIEW programul din


figura 2.2. Pentru aceasta se aduc în Diagrama Bloc-Block Diagram a
programului următoarele elemente (pot fi căutate după nume folosind funcția
Căutare-Search a Paletei de Funcții-Functions Palette):

- Din biblioteca Programming / Structures blocul While Loop;


- Din biblioteca Programming / Array blocul Index Array;
- Din biblioteca Programming / Numeric blocurile Reciprocal, Numeric
Constant și DBL Numeric Constant;
- Din biblioteca Programming / Boolean blocul True Constant;
- Din biblioteca Programming / Dialog & User Interface blocurile Simple
Error Handler și Merge Errors;
- Din biblioteca Programming / Graphics & Sound / Sound / Input blocurile
Sound Input Configure, Sound Input Start, Sound Input Read și Sound Input
Stop;
- Din biblioteca Instrument I/O / Instrument Drivers / NI-USRP / Tx
blocurile niUSRP Open Tx Session, niUSRP Configure Signal, niUSRP Write
Tx Data și niUSRP Close Session;
- Din biblioteca Signal Processing / Waveform Conditioning blocul Resample
Waveforms (continuous);
- Din biblioteca Data Communication / Synchronization / Queue Operations
blocurile Obtain Queue, Enqueue Element, Dequeue Element și Release
Queue;
- Din biblioteca RF Communications / Modulation / Analog / Modulation
blocul MT Modulate FM.

În Interfața Grafică-Front Panel aferentă programului se aduc următoarele


elemente din paleta de Controale-Controls:

- Din biblioteca Modern / Numeric blocurile Numeric Control, Numeric


Indicator;
- Din biblioteca Modern / Boolean blocul Stop Button;
- Din biblioteca Modern / String & Path blocul String Control;
- Din biblioteca Modern / Graph blocul Waveform Graph;
- Din biblioteca Modern / I/O blocul IVI Logical Name.

Controlul IVI Logical Name se configurează prin efectuarea unui clic dreapta
asupra sa și selectarea din meniul contextual care apare a opțiunii Select IVI Class –>
niUSRP.
18
Lucrarea de laborator nr. 2

Constanta care configurează modul de lucru al blocului Sound Input Configure


se generează prin efectuarea unui clic dreapta pe intrarea sample mode a acestuia și
selectarea din meniul contextual care apare a operației Create > Constant. Apoi constanta
se setează în modul Continuous Samples.
Similar, constanta care configurează formatul de reprezentare a sunetului pentru blocul
Sound Input Configure se generează prin efectuarea unui clic dreapta pe intrarea sound
format a acestuia și selectarea din meniul contextual care apare a operației Create >
Constant. Apoi constanta care apare se modifică conform figurii următoare:

Constanta care configurează tipul de elemente care vor fi conținute de coadă (se
conectează la intrarea element data type a blocului Obtain Queue) se obține prin
efectuarea unui clic dreapta pe ieșirea element a blocului Index Array (după ce acesta a
fost conectat la ieșirea blocului Sound Input Read) și selectarea din meniul contextual
care apare a operației Create > Constant. Apoi constanta obținută se mută și se
conectează la intrarea element data type a blocului Obtain Queue.

Blocul niUSRP Write Tx Data se configurează în felul următor (efectuând clic


pe săgeată apare meniul contextual):

Butonul Stop se configurează (efectuând clic dreapta pe el și alegând din meniul


contextual opțiunea Properties) în felul următor:

Pentru controlul celei de-a doua bucle While folosind același buton de stop se creează o
variabilă locală asociată acestuia, efectuând clic dreapta pe el și alegând din meniul
contextual opțiunea Create > Local Variable. Apoi se efectuează clic dreapta pe aceasta
și se alege din meniul contextual afișat opțiunea Change To Read.
19
Lucrarea de laborator nr. 2

Figura 2.2: Programul LabVIEW


20
Lucrarea de laborator nr. 2

Figura 2.3: Interfața grafică a programului

3. Se rulează programul creat. Ceea ce se vorbește la microfonul calculatorului se va


recepționa cu un receptor radio FM reglat pe frecvența de 88 MHz.

OBSERVAȚIE: În cazul în care programul returnează o eroare care specifică


faptul că imaginea firmware-ului/FPGA-ului din echipament nu corespunde cu
versiunea driverului NI-USRP instalat se efectuează rescrierea imaginilor folosind
utilitarul NI-USRP Configuration Utility care face parte din pachetul NI-USRP,
conform figurii:

Figura 2.4: Utilitarul NI-USRP Configuration Utility


21
Lucrarea de laborator nr. 2

Funcționarea sistemului

Programul realizat achiziționează semnalul audio de la microfonul calculatorului și


generează pe baza acestuia un semnal complex în banda de bază care este trimis către calea de
emisie a echipamentului USRP. Echipamentul supra-eșantionează acest semnal în blocul Digital
Up-Converter (DUC) și apoi efectuează eventuale alte prelucrări asupra semnalului precum
scalarea și predistorsionarea, apoi îl convertește în cele două semnale analogice corespunzătoare
(componenta în fază I corespunzătoare părții reale și cea în cuadratură Q celei imaginare a
semnalului) cu ajutorul blocului de conversie digital-analogică (DAC) dual, apoi aplică aceste
semnale mixerului în cuadratură (vezi schema bloc din figura 2.1). Semnalul de oscilator local
(generat de blocul VCO) al mixerului este purtătoarea de 88 MHz. La ieșirea mixerului se obține
semnalul modulat în frecvență care are expresia din relația 2.1. Acest semnal este în continuare
amplificat și radiat de către antenă.

Practic, calculatorul reprezintă o parte din secțiunea de prelucrare în banda de bază a


sistemului radio definit prin software obținut.

Secțiunea de program detaliată în figura următoare implementează configurarea


parametrilor căii de emisie a echipamentului radio reconfigurabil, fixând frecvența (rata) de
eșantionare a semnalului trimis acestuia, frecvența oscilatorului local care alimentează mixerul
(blocul VCO), câștigul amplificatorului și portul de antenă utilizat.

Figura 2.5: Configurarea căii de emisie a echipamentului USRP

Secțiunea din figura 2.6 creează coada care va stoca secvențele de semnale audio
achiziționate de la microfon de bucla de achiziție, coadă din care acestea vor fi extrase,
prelucrate și trimise către USRP de bucla de transmitere. S-a preferat această implementare
pentru ca cele două operații, achiziția semnalului audio și prelucrarea + transmiterea acestuia să
se efectueze simultan, în paralel.

22
Lucrarea de laborator nr. 2

Figura 2.6: Crearea și configurarea cozii (Queue)

Următoarea secțiune de program este responsabilă de configurarea plăcii de sunet a


calculatorului pentru efectuarea achiziției semnalului audio. Se setează frecvența de eșantionare
a plăcii de sunet la 48000 Hz, achiziție pe 1 canal (mono), 16 biți pe eșantion (rezoluția),
eșantionare continuă (fără pauză), în blocuri (secvențe sau cadre) de 24000 de eșantioane:

Figura 2.7: Configurarea plăcii de sunet

Secțiunea de program din figura 2.8 implementează bucla de tip while care efectuează
achiziția unui bloc de eșantioane de la microfon, extragerea datelor corespunzătoare primului
canal (cu blocul Index Array), afișarea grafică a acestora și introducerea lor în coadă (cu blocul
Enqueue Element).

Figura 2.8: Bucla de emisie


23
Lucrarea de laborator nr. 2

Secțiunea de program din figura 2.9 implementează bucla de tip while corespunzătoare
prelucrării și transmiterii către USRP a semnalelor. Secvența de semnal audio este extrasă din
coadă (cu blocul Dequeue Element) apoi supra-eșantionată (cu blocul Resample Waveform)
pentru a fi adusă la frecvența de eșantionare la care a fost configurată să lucreze intrarea Digital
Up-Convertor-ului (DUC) din USRP. Mai departe blocul MT Modulate FM generează pe baza
secvenței de semnal aplicate la intrarea acestuia semnalul complex în banda de bază. Acest
semnal este trimis către USRP cu ajutorul blocului niUSRP Write Tx Data.

Figura 2.9: Bucla de prelucrare și transmitere a semnalului

Secțiunea de program din figura 2.10 oprește comunicația cu echipamentul radio


reconfigurabil, oprește achiziția semnalului audio de la microfon, eliberează coada și afișează
eventualele erori survenite pe parcursul funcționării programului.

Figura 2.10: Secțiunea finală a programului


24
Lucrarea de laborator nr. 2

Exerciții

1) Se vizualizează spectrul semnalului radio emis cu ajutorul analizorului de spectru


echipat cu o antenă de recepție.

2) Conectați la ieșirea echipamentului USRP (în locul antenei) osciloscopul în paralel


cu o sarcină adaptată (50Ω) conform schemei de mai jos și vizualizați forma de
undă a semnalului FM generat.

3) Care este valoarea deviației de frecvență a semnalului generat? Modificați


programul pentru a produce un semnal cu deviația de frecvență de 30 kHz.

4) Modificați programul pentru a produce semnale modulate în amplitudine și


vizualizați-le folosind osciloscopul.

25
26
Lucrarea de laborator nr. 3

3. Implementarea recepției FM utilizând USRP

3.1. Scopul lucrării


 Implementarea recepției unui semnal modulat analogic FM folosind echipamentul
USRP N200 echipat cu modulul de RF WBX. Programarea prelucrării în banda de bază
se va efectua folosind limbajul de programare grafică LabVIEW.

3.2.Desfășurarea lucrării

Echipamentele necesare

 Calculator pe care este instalat LabVIEW 2013, NI-USRP 14.5.1 și NI


LabVIEW Modulation Toolkit 4.3.4;
 USRP N200 echipat cu modulul RF WBX;
 Antenă pentru banda 88 - 108 MHz;
 Cablu de rețea UTP (Ethernet).

Procedura

1. Se realizează montajul:

27
Lucrarea de laborator nr. 3

Figura 3.1: Conectare PC – USRP

Modulul radio WBX se montează în interiorul carcasei platformei SDR USRP N200.
Pentru stabilirea conexiunii directe între computer și platforma SDR tip USRP N200
este obligatoriu ca placa de rețea a calculatorului să fie de tip Gigabit. În caz contrar, este
necesară intercalarea unui switch ethernet tip Gigabit între USRP și calculator. Utilizarea
switch-ului permite și folosirea în comun a echipamentului de către mai mulți utilizatori.

2. Se implementează în mediul de programare grafică LabVIEW programul din


figura 3.2. Pentru aceasta se aduc în Diagrama Bloc-Block Diagram a
programului următoarele elemente (pot fi căutate după nume folosind funcția
Căutare-Search a Paletei de Funcții-Functions Palette):

- Din biblioteca Programming / Structures blocurile While Loop și Case


Structure;
- Din biblioteca Programming / Cluster, Class, &Variant blocul Unbundle
By Name;
- Din biblioteca Programming / Numeric blocurile Multiply, Reciprocal și
DBL Numeric Constant;
- Din biblioteca Programming / Boolean blocul True Constant;
- Din biblioteca Programming / Comparison blocul Greater Than 0;
- Din biblioteca Programming / Dialog & User Interface blocurile Simple
Error Handler și Merge Errors;
28
Lucrarea de laborator nr. 3

- Din biblioteca Programming / Graphics & Sound / Sound / Output


blocurile Sound Output Configure, Sound Output Write și Sound Output
Clear;
- Din biblioteca Instrument I/O / Instrument Drivers / NI-USRP / Rx
blocurile niUSRP Open Rx Session, niUSRP Configure Signal, niUSRP
Initiate, niUSRP Fetch Rx Data, niUSRP Abort și niUSRP Close Session;
- Din biblioteca Signal Processing / Waveform Conditioning blocul Resample
Waveforms (continuous);
- Din biblioteca Data Communication / Synchronization / Queue Operations
blocurile Obtain Queue, Enqueue Element, Get Queue Status, Dequeue
Element și Release Queue;
- Din biblioteca RF Communications / Modulation / Analog / Demodulation
blocul MT Demodulate FM.

În Interfața Grafică-Front Panel aferentă programului se aduc următoarele


elemente din paleta de Controale-Controls:

- Din biblioteca Modern / Numeric blocurile Numeric Control, Numeric


Indicator;
- Din biblioteca Modern / Boolean blocul Stop Button;
- Din biblioteca Modern / String & Path blocul String Control;
- Din biblioteca Modern / Graph blocul Waveform Graph;
- Din biblioteca Modern / I/O blocul IVI Logical Name.

Controlul IVI Logical Name se configurează prin efectuarea unui clic dreapta
asupra sa și selectarea din meniul contextual care apare a opțiunii Select IVI Class –>
niUSRP.
Constanta care configurează modul de lucru al blocului Sound Output Configure
se generează prin efectuarea unui clic dreapta pe intrarea sample mode a acestuia și
selectarea din meniul contextual care apare a operației Create > Constant. Apoi constanta
se setează pe modul Continuous Samples.
Similar, constanta care configurează formatul de reprezentare a sunetului pentru blocul
Sound Input Configure se generează prin efectuarea unui clic dreapta pe intrarea sound
format a acestuia și selectarea din meniul contextual care apare a operației Create >
Constant. Apoi constanta care apare se modifică conform indicației din figura 3.2.

Blocul niUSRP Fetch Rx Data se configurează în felul următor (efectuând clic


pe săgeată apare meniul contextual):

29
Lucrarea de laborator nr. 3

Constanta care configurează tipul de elemente care vor fi conținute de coadă (se
conectează la intrarea element data type a blocului Obtain Queue) se obține prin
efectuarea unui clic dreapta pe ieșirea data a blocului niUSRP Fetch Rx Data și
selectarea din meniul contextual care apare a operației Create > Constant. Apoi constanta
obținută se mută și se conectează la intrarea element data type a blocului Obtain Queue.

Butonul Stop se configurează (efectuând clic dreapta pe el și alegând din meniul


contextual opțiunea Properties) în felul următor:

Pentru controlul celei de-a doua bucle While folosind același buton de stop se creează o
variabilă locală asociată acestuia, efectuând clic dreapta pe el și alegând din meniul
contextual opțiunea Create > Local Variable. Apoi se efectuează clic dreapta pe aceasta
și se alege din meniul contextual afișat opțiunea Change To Read. Această variabilă se
conectează apoi la intrarea condiției de ieșire din buclă a celei de-a doua bucle.

Cadrul corespunzător valorii False a selectorului structurii Case are următoarea


formă:

30
Lucrarea de laborator nr. 3

Figura 3.2: Programul LabVIEW


31
Lucrarea de laborator nr. 3

Figura 3.3: Interfața grafică a programului

3. Se rulează programul creat. În difuzoarele calculatorului se va auzi postul de radio


care emite pe frecvența 101.1 MHz.

Funcționarea sistemului

Echipamentul recepționează semnalul radio de la antenă, îl amplifică și îl translatează în


banda de bază prin mixarea cu semnalul de oscilator local generat de blocul VCO cu frecvența
setată la 101.1MHz. În continuare, semnalul în banda de bază (compus din cele două semnale,
componenta I și Q) este digitizat de convertorul analog-digital dual (ADC), decimat de blocul
Digital Down-Converter apoi trimis către calculator.

Programul de pe calculator, realizat în LabVIEW, achiziționează semnalul în banda de


bază de la ieșirea echipamentului USRP, îl demodulează și îl redă în difuzoarele calculatorului.

Practic, calculatorul reprezintă o parte din secțiunea de prelucrare în banda de bază a


sistemului radio definit prin software creat.

Secțiunea de program detaliată în figura 3.4 implementează configurarea parametrilor căii


de recepție a echipamentului radio reconfigurabil, fixând frecvența (rata) de eșantionare a
semnalului trimis către calculator, frecvența oscilatorului local (purtătoarea) care alimentează
mixerul de pe calea de recepție (blocul VCO), câștigul amplificatorului și portul de antenă
utilizat. De asemenea, secțiunea prezentată fixează și durata unui segment de semnal achiziționat
de la USRP și implicit a unui segment (bloc) de semnal audio generat și calculează pe baza
acesteia numărul de eșantioane extrase în cadrul unei citiri de la USRP.
Totodată, secțiunea de program din figura următoare creează și coada care va stoca
segmentele de semnal achiziționat de la USRP în vederea demodulării și redării.

32
Lucrarea de laborator nr. 3

Figura 3.4: Configurarea căii de recepție a echipamentului USRP

Următoarea secțiune de program este responsabilă de configurarea plăcii de sunet a


calculatorului pentru redarea semnalului audio. Se setează frecvența de eșantionare a plăcii de
sunet la 48000 Hz, 1 canal (mono), 16 biți pe eșantion (rezoluția), redare continuă (fără pauză) în
blocuri (secțiuni) de 0.5 * 48000 de eșantioane.
De asemenea, tot această secțiune de program calculează perioada de eșantionare a plăcii
audio ca fiind inversul frecvenței de eșantionare a acesteia.

Figura 3.5: Configurarea plăcii de sunet

Secțiunea de program din figura 3.6 implementează bucla de tip while care efectuează
achiziția unui bloc de eșantioane de 0.5s de la echipamentul USRP și încărcarea acestuia în
coadă.

Figura 3.6: Bucla de achiziție de la USRP


33
Lucrarea de laborator nr. 3

Secțiunea de program din figura 3.7 implementează bucla de tip while corespunzătoare
demodulării și redării semnalului. Blocul Get Queue Status returnează numărul de elemente
stocate în buclă și, în cazul în care acest număr este mai mare ca 0, se efectuează demodularea,
decimarea, afișarea grafică și redarea semnalului demodulat. În caz contrar, nu se efectuează nici
o acțiune.

Figura 3.7: Bucla de prelucrare și redare a semnalului

Secțiunea de program din figura 3.8, finală, oprește comunicația cu echipamentul radio
reconfigurabil, oprește redarea în difuzoare, eliberează coada și afișează eventualele erori
survenite pe parcursul funcționării programului.

Figura 3.8: Secțiunea finală a programului


34
Lucrarea de laborator nr. 3

Exerciții

1) Modificați programul pentru a demodula semnale cu modulație de amplitudine


(AM).

2) Implementați funcția de demodulare FM folosind metoda arctangentei.

35
36
Lucrarea de laborator nr. 4

4. Implementarea unui sistem de comunicație OOK folosind USRP

4.1. Scopul lucrării


 Implementarea funcțiilor de emisie și recepție a semnalelor de date cu modulație
OOK folosind echipamentul radio definit prin software USRP.

4.2. Breviar teoretic


Tehnica de modulație OOK (On-off keying) este cea mai simplă variantă a tehnicii
de modulație digitală de amplitudine - ASK (Amplitude-shift keying). Așa cum reiese din
denumire, tehnica OOK reprezintă datele digitale prin prezența sau absența purtătoarei.

Figura 4.1: Forma de undă a unui semnal modulat OOK

Figura 4.2: Constelația de simboluri asociate tehnicii OOK

Un parametru important pentru caracterizarea tehnicilor de modulație este


eficienţa spectrală care indică valoarea ratei de bit care corespunde la 1 Hz de bandă folosită.
Pentru modulaţia OOK (ASK în general) limita superioară teoretică este 1 bit/s/Hz. Valorile
reale se situează între 0.65 şi 0.8 bit/s/Hz.
37
Lucrarea de laborator nr. 4

În prezent, tehnica de modulație OOK este folosită foarte rar, datorită sensibilității
mari la perturbații, preferându-se tehnici de modulație mai robuste.

În figura 4.3 se prezintă schema bloc a sistemului implementat. Secțiunea din


extrema dreaptă conține prelucrările în banda de bază implementate cu ajutorul programului
LabVIEW, pe calculator.

Figura 4.3: Schema bloc a sistemului implementat

Pentru demodularea coerentă este necesar ca oscilatorul local care alimentează


mixerul de pe calea de recepție să fie sincronizat cu purtătoarea semnalului recepționat, adică să
aibă aceeași frecvență și fază. În realitate, condiția de sincronizare a fazei nu este îndeplinită de
către oscilator, acesta generând un semnal care prezintă un defazaj arbitrar față de semnalul
recepționat, fapt pentru care, pentru funcționarea demodulării, este necesară determinarea acestui
defazaj și compensarea sa ulterioară, în banda de bază, prin program. Această funcție este
implementată de către blocul dedicat compensării defazajului (al treilea bloc al programului de
pe calea de recepție).

4.3.Desfășurarea lucrării

Echipamentele necesare

 Calculator pe care este instalat LabVIEW 2013, NI-USRP 14.5.1 și NI


LabVIEW Modulation Toolkit 4.3.4;
 USRP N200 echipat cu modulul RF WBX;
 2 Antene (preferabil de bandă ultra-largă);
 Cablu de rețea UTP (Ethernet);
 Osciloscop, T - BNC 1 tată 2 mame, sarcină 50Ω BNC - tată, cablu coaxial 50Ω
BNC tată - BNC tată, adaptor SMA tată – BNC mamă.

38
Lucrarea de laborator nr. 4

Procedura

1. Se realizează montajul:

Figura 4.4: Conectare PC – USRP


Modulul radio WBX se montează în interiorul carcasei platformei SDR USRP N200.
Pentru stabilirea conexiunii directe între computer și platforma SDR tip USRP N200
este obligatoriu ca placa de rețea a calculatorului să fie de tip Gigabit. În caz contrar, este
necesară intercalarea unui switch ethernet tip Gigabit între USRP și calculator. Utilizarea
switch-ului permite și folosirea în comun a echipamentului de către mai mulți utilizatori.

2. Pentru implementarea emisiei, se realizează în mediul de programare grafică


LabVIEW programul din figura 4.6. Pentru aceasta se aduc în Diagrama Bloc-
Block Diagram a programului următoarele elemente (pot fi căutate după nume
folosind funcția Căutare-Search a Paletei de Funcții-Functions Palette):

- Din biblioteca Programming / Cluster, Class, &Variant blocul Bundle;


- Din biblioteca Programming / Numeric blocurile Divide, Reciprocal,
Numeric Constant și DBL Numeric Constant;
- Din biblioteca Programming / Numeric / Complex blocul Re/Im To
Complex;
- Din biblioteca Programming / Boolean blocul True Constant;
- Din biblioteca Programming / Dialog & User Interface blocurile Simple
Error Handler și Merge Errors;
- Din biblioteca Programming / Waveform blocul Build Waveform;
- Din biblioteca Instrument I/O / Instrument Drivers / NI-USRP / Tx
blocurile niUSRP Open Tx Session, niUSRP Configure Signal, niUSRP Write
Tx Data și niUSRP Close Session;
- Din biblioteca Signal Processing / Signal Generation blocul Pulse Pattern;
- Din biblioteca Signal Processing / Signal Operation blocurile Convolution și
Upsample;
39
Lucrarea de laborator nr. 4

În Interfața Grafică-Front Panel aferentă programului se aduc următoarele


elemente din paleta de Controale-Controls:

- Din biblioteca Modern / Numeric blocurile Numeric Control, Numeric


Indicator;
- Din biblioteca Modern / String & Path blocul String Control;
- Din biblioteca Modern / Array, Matrix & Cluster blocul Array;
- Din biblioteca Modern / Graph blocul Waveform Graph;
- Din biblioteca Modern / I/O blocul IVI Logical Name.
- Din biblioteca RF Communications / Modulation / Digital blocurile MT
Constellation Graph și MT Eye Graph care vor genera automat în diagrama
bloc a programului și blocurile MT Format Constellation și MT Format Eye
Diagram.

Controlul IVI Logical Name se configurează prin efectuarea unui clic dreapta
asupra sa și selectarea din meniul contextual a opțiunii Select IVI Class –> niUSRP.

Blocul niUSRP Write Tx Data se configurează în felul următor (efectuând clic


pe săgeată apare meniul contextual):

Pentru setarea tipului elementelor controlului Date de tip Array se introduce în interiorul
acestuia un control de tipul Numeric Control.

Figura 4.5: Interfața grafică a programului LAbVIEW de emisie


40
Lucrarea de laborator nr. 4

Figura 4.6: Programul LabVIEW de emisie


41
Lucrarea de laborator nr. 4

3. Pentru implementarea recepției, se realizează în mediul de programare grafică


LabVIEW programul din figura 4.8. Pentru aceasta se aduc în Diagrama Bloc-
Block Diagram a programului următoarele elemente (pot fi căutate după nume
folosind funcția Căutare-Search a Paletei de Funcții-Functions Palette):

- Din biblioteca Programming / Structures blocurile While Loop și Flat


Sequence Structure;
- Din biblioteca Programming / Array blocurile Index Array, Insert Into Array
și Array Subset;
- Din biblioteca Programming / Cluster, Class, &Variant blocul Bundle;
- Din biblioteca Programming / Numeric blocurile Multiply, Divide,
Reciprocal, Numeric Constant și DBL Numeric Constant;
- Din biblioteca Programming / Numeric / Complex blocurile Complex To
Re/Im și Complex To Polar;
- Din biblioteca Programming / Boolean blocurile Boolean To (0,1), True
Constant și False Constant;
- Din biblioteca Programming / Comparison blocurile Greater și Greater Than
0;
- Din biblioteca Programming / Dialog & User Interface blocurile Simple
Error Handler și Merge Errors;
- Din biblioteca Instrument I/O / Instrument Drivers / NI-USRP / Rx
blocurile niUSRP Open Rx Session, niUSRP Configure Signal, niUSRP
Initiate, niUSRP Fetch Rx Data, niUSRP Abort și niUSRP Close Session;
- Din biblioteca Mathematics / Probability & Statistics blocul Mean;
- Din biblioteca Signal Processing / Signal Operation blocurile Decimate
(Single Shot) și Treshold Detector;
- Din biblioteca Data Communication / Synchronization / Queue Operations
blocurile Obtain Queue, Enqueue Element, Dequeue Element și Release
Queue;

În Interfața Grafică-Front Panel aferentă programului se aduc următoarele


elemente din paleta de Controale-Controls:

- Din biblioteca Modern / Numeric blocurile Numeric Control și Numeric


Indicator;
- Din biblioteca Modern / Boolean blocul Square LED;
- Din biblioteca Modern / String & Path blocul String Control;
- Din biblioteca Modern / Array, Matrix & Cluster blocul Array;
- Din biblioteca Modern / Graph blocul Waveform Chart;
- Din biblioteca Modern / I/O blocul IVI Logical Name.
- Din biblioteca RF Communications / Modulation / Digital blocurile MT
Constellation Graph și MT Eye Graph care vor genera automat în diagrama
bloc a programului și blocurile MT Format Constellation și MT Format Eye
Diagram.

42
Lucrarea de laborator nr. 4

Blocul niUSRP Fetch Rx Data se configurează în modul Single Channel >


Complex Double.

Constanta care configurează tipul de elemente care vor fi conținute de coadă (se
conectează la intrarea element data type a blocului Obtain Queue) se obține prin
efectuarea unui clic dreapta pe ieșirea data a blocului niUSRP Fetch Rx Data și
selectarea din meniul contextual care apare a operației Create > Constant. Apoi constanta
obținută se mută și se conectează la intrarea element data type a blocului Obtain Queue.

Pentru scrierea/citirea în mai multe regiuni ale programului a valorilor


elementelor Led Recepționat? și a graficelor I și Q se creează variabile locale asociate
acestora, efectuând clic dreapta pe ele și alegând din meniul contextual opțiunea Create >
Local Variable. Apoi, în cazul în care este necesar, se efectuează clic dreapta pe
variabilele create și se alege din meniul contextual afișat opțiunea Change To Read
respectiv Change To Write pentru a le configura în modul de operare dorit.

Pentru a seta multiplicatorul scării orizontale (X) a graficelor (Waveform Chart)


I și Q se creează Noduri de Proprietate asociate acestora efectuând clic dreapta pe ele și
alegând din meniul contextual opțiunea Create > Property Node > X Scale > Offset and
Multiplier > Multiplier. Apoi se efectuează clic dreapta pe Nodurile create și se alege din
meniul contextual afișat opțiunea Change To Write.

Graficele (Waveform Chart) I și Q vor fi setate în modul de autoscalare pe


ambele axe iar parametrul Lungimea Istoricului (Chart History Length) se va seta la
valoarea 10000000.

Figura 4.7: Interfața grafică a programului LabVIEW de recepție

43
Lucrarea de laborator nr. 4

Figura 4.8: Programul LabVIEW de recepție


44
Lucrarea de laborator nr. 4

4. Se pornește programul de recepție. După intrarea acestuia în modul de


funcționare normală (apariția graficelor I și Q), se rulează programul de
emisie. (În cazul în care se dispune de un singur echipament, ambele programe
sunt rulate pe același dispozitiv USRP, emisia și recepția efectuându-se între
calea de emisie și cea de recepție a aceluiași dispozitiv).

5. Se compară secvența de date emisă cu cea recepționată. Se analizează și


interpretează graficele, diagramele ochi și constelațiile de simboluri generate.

6. Se testează efectul eliminării secțiunii de calcul și aplicare a corecției


defazajului oscilatorului local.

Funcționarea sistemului

Calculatorul reprezintă o parte din secțiunea de prelucrare în banda de bază a sistemului


radio definit prin software obținut. Pentru emisie, pe baza programului implementat în mediul
LabVIEW, calculatorul generează semnalul modulat OOK în banda de bază (practic un semnal
de date codat NRZ unipolar) și îl transmite echipamentului USRP pentru a fi translatat în banda
de trecere și emis. Pentru recepție, calculatorul achiziționează semnalul recepționat și adus în
banda de bază de către USRP, apoi îl prelucrează pentru a extrage secvența de date.

Emisia

Secțiunea de program detaliată în figura următoare generează semnalul modulat OOK în


banda de bază. Mai exact, se generează un semnal de date codat NRZ unipolar pornind de la
vectorul Date. Acest vector conține secvența de date care se dorește a fi transmisă. Mai departe,
secvența de date este supra-eșantionată cu factorul de supra-eșantionare egal cu raportul dintre
frecvența de eșantionare finală, dorită, și rata de transfer a biților. În continuare semnalul este
filtrat cu un filtru de formare dreptunghiular. Filtrarea este implementată prin efectuarea unei
convoluții cu funcția pondere a filtrului. Mai departe semnalul obținut este reprezentat grafic,
apoi i se adaugă componenta în cuadratură, nulă în cazul modulației OOK, obținându-se astfel
semnalul complex modulat OOK în banda de bază.

Figura 4.9: Generarea semnalului modulat OOK în banda de bază


45
Lucrarea de laborator nr. 4

Secțiunea din figura 4.10 generează și afișează constelația de simboluri și diagrama ochi
a semnalului de date generat anterior.

Figura 4.10: Generarea și afișarea constelației de simboluri și a diagramei ochi

Secțiunea din figura 4.11 implementează configurarea parametrilor căii de emisie a


echipamentului radio reconfigurabil, fixând frecvența (rata) de eșantionare a semnalului,
frecvența oscilatorului local (purtătoarea), câștigul amplificatorului și portul de antenă utilizat,
apoi efectuează transmiterea semnalului complex generat anterior către echipament și oprirea
comunicației cu acesta după efectuarea transmisiei.

Figura 4.11: Configurarea căii de emisie a echipamentului USRP

Secțiunea din figura 4.12, finală, afișează eventualele erori apărute pe parcursul rulării.

Figura 4.12: Secțiunea finală a programului

Recepția

Programul aferent recepției debutează prin secvența de configurare a căii de recepție a


echipamentului USRP. Se fixează frecvența de eșantionare a semnalului achiziționat de la
calculator, se setează frecvența purtătoare a semnalului recepționat, câștigul amplificatoarelor și
portul la care este conectată antena de recepție, conform figurii 4.13. Apoi se efectuează o
achiziție a semnalului recepționat cu durata de 1s cu scopul de a elimina din buffer-ul de recepție
semnalul de început, afectat de regimul tranzitoriu care apare la pornirea recepției.
De asemenea, tot aici se fixează și rata de bit, se calculează numărul de eșantioane/bit,
perioada de eșantionare, factorul de scalare al graficelor pe care se vizualizează componentele I
și Q ale semnalului recepționat de la USRP și se creează coada care va stoca semnalul.
46
Lucrarea de laborator nr. 4

Figura 4.13: Configurarea căii de recepție a echipamentului USRP

Secțiunea următoare implementează bucla de achiziție a semnalului de la USRP și


introducerea semnalului în coada din care va fi extras de către bucla de prelucrare care rulează în
paralel cu aceasta.

Figura 4.14: Achiziția semnalului de la USRP

Secțiunea din figura 4.14 implementează o buclă while care extrage secvențe de semnal
din coadă, le afișează și caută vârfuri de semnal care depășesc în amplitudine pragul de 0.001. În
cazul în care detectează o depășire a pragului (trigger-are), acest fapt semnificând începutul unei
transmisiuni, oprește execuția buclei, achiziționează încă o secvență de semnal și generează, prin
concatenarea secțiunii posterioare depășirii pragului cu secvența achiziționată după ieșirea din
buclă, secvența finală care va fi prelucrată pentru extragerea datelor.
47
Lucrarea de laborator nr. 4

Figura 4.14: Extragerea semnalului achiziționat și trigger-area sa

Secțiunea următoare efectuează prelucrarea secvenței de semnal recepționate și trigger-


ate în vederea extragerii datelor. Se efectuează decimarea, compensarea defazajului oscilatorului
local față de semnalul recepționat și detectarea valorilor biților prin compararea cu pragul setat la
valoarea medie a secvenței obținute. De asemenea, se comandă și oprirea buclei de achiziție a
semnalului de la USRP prin intermediul variabilei locale asociate LED-ului care indică starea
recepționării datelor.

Determinarea defazajului oscilatorului local se face pe baza bitului de antrenare, primul


bit al secvenței transmise, a cărui valoare, 1, este cunoscută în prealabil. Împărțind valoarea pe
care trebuie să o aibă semnalul complex în banda de bază furnizat de USRP în momentul
transmiterii bitului de antrenare la valoarea reală furnizată de USRP se obține factorul de
corecție. Acesta este un număr complex care înmulțit cu semnalul complex în banda de bază
furnizat de USRP produce semnalul corectat.

Figura 4.15: Prelucrarea semnalului (extragerea datelor)

Secțiunea din figura 4.16 generează și afișează constelația de simboluri și diagramele


ochi ale semnalului recepționat.

48
Lucrarea de laborator nr. 4

Figura 4.16: Afișarea constelației de simboluri și a diagramelor ochi

Urmează secțiunea finală a programului care oprește comunicația cu echipamentul USRP,


eliberează coada și afișează eventualele erori de pe parcursul rulării.

Figura 4.17: Secțiunea finală a programului

Exerciții

1) Setați frecvența purtătoare la valoarea de 60MHz și conectați la ieșirea


echipamentului (în locul antenei de emisie) osciloscopul în paralel cu o sarcină
adaptată (50Ω) și vizualizați forma de undă a semnalului OOK generat.

49
Lucrarea de laborator nr. 4

2) Modificați rata de bit a sistemului la valoarea de 32 biți/s. Ce se observă în


diagramele ochi de la recepție?

3) Modificați tipul de codare a semnalului de date în banda de bază din NRZ în RZ cu


factor de umplere 50%.

50
Lucrarea de laborator nr. 5

5. Implementarea unui sistem de comunicație BPSK folosind USRP

5.1. Scopul lucrării


 Implementarea funcțiilor de emisie și recepție a semnalelor de date cu modulație
BPSK folosind echipamentul radio definit prin software USRP.

5.2. Breviar teoretic


Tehnica de modulație BPSK (Binary Phase-shift keying sau 2-PSK) este cea mai
simplă variantă a tehnicii de modulație digitală de fază - PSK (Phase-shift keying). Așa cum
reiese din denumire, BPSK este o tehnică de modulație digitală de fază în cadrul căreia faza
semnalului modulat poate lua doar două valori, acestea codând cele două simboluri ale
constelației tehnicii, justificând astfel denumirea de modulație binară (Binary PSK).
Practic, semnalul BPSK este un semnal sinusoidal care are salturi de fază de 1800
ori de câte ori semnalul de date realizează o trecere de la 1 la 0 sau invers. Echivalent, se poate
considera că pentru biţii egali cu 1 se asignează semnalul s1(t) = cos(2πfct) iar pentru biţii egali
cu 0 semnalul s2(t) = - s1(t).

Banda ocupată este aceeaşi ca şi în cazul modulației ASK, cele două tehnici de
modulație având aceeași eficiență spectrală. Limita superioară teoretică este de 1 bit/s/Hz iar
valorile reale se situează între 0.65 şi 0.8 bit/s/Hz.

Figura 5.1: Forma de undă a unui semnal modulat BPSK

Figura 5.2: Constelația de simboluri asociate tehnicii BPSK


51
Lucrarea de laborator nr. 5

Fiind o tehnică de modulație cu anvelopă constantă, emițătorul care o


implementează nu necesită un amplificator de putere liniar, astfel încât se pot utiliza
amplificatoare care lucrează în clase neliniare, caracterizate printr-o mare eficiență energetică,
lucru foarte benefic în cazul echipamentelor mobile, alimentate de la baterii.

În figura 5.3 se prezintă schema bloc a sistemului implementat. Secțiunea din


extrema dreaptă conține prelucrările în banda de bază implementate cu ajutorul programului
LabVIEW, pe calculator.

Figura 5.3: Schema bloc a sistemului implementat

Pentru demodularea coerentă este necesar ca oscilatorul local care alimentează


mixerul de pe calea de recepție să fie sincronizat cu purtătoarea semnalului recepționat, adică să
aibă aceeași frecvență și fază. În realitate, condiția de sincronizare a fazei nu este îndeplinită de
către oscilator, acesta generând un semnal care prezintă un defazaj arbitrar față de semnalul
recepționat, fapt pentru care, pentru funcționarea demodulării, este necesară determinarea acestui
defazaj și compensarea sa ulterioară, în banda de bază, prin program. Această funcție este
implementată de către blocul dedicat compensării defazajului (al treilea bloc al programului de
pe calea de recepție).

5.3.Desfășurarea lucrării

Echipamentele necesare

 Calculator pe care este instalat LabVIEW 2013, NI-USRP 14.5.1 și NI


LabVIEW Modulation Toolkit 4.3.4;
 USRP N200 echipat cu modulul RF WBX;
 2 Antene (preferabil de bandă ultra-largă);
 Cablu de rețea UTP (Ethernet);
 Osciloscop, T - BNC 1 tată 2 mame, sarcină 50Ω BNC - tată, cablu coaxial 50Ω
BNC tată - BNC tată, adaptor SMA tată – BNC mamă.

52
Lucrarea de laborator nr. 5

Procedura

1. Se realizează montajul:

Figura 5.4: Conectare PC – USRP

Modulul radio WBX se montează în interiorul carcasei platformei SDR USRP N200.
Pentru stabilirea conexiunii directe între computer și platforma SDR tip USRP N200
este obligatoriu ca placa de rețea a calculatorului să fie de tip Gigabit. În caz contrar, este
necesară intercalarea unui switch ethernet tip Gigabit între USRP și calculator. Utilizarea
switch-ului permite și folosirea în comun a echipamentului de către mai mulți utilizatori.

2. Pentru implementarea emisiei, se realizează în mediul de programare grafică


LabVIEW programul din figura 5.6. Pentru aceasta se aduc în Diagrama Bloc-
Block Diagram a programului următoarele elemente (pot fi căutate după nume
folosind funcția Căutare-Search a Paletei de Funcții-Functions Palette):

- Din biblioteca Programming / Cluster, Class, &Variant blocul Bundle;


- Din biblioteca Programming / Numeric blocurile Divide, Reciprocal,
Numeric Constant și DBL Numeric Constant;
- Din biblioteca Programming / Numeric / Complex blocul Re/Im To
Complex;
- Din biblioteca Programming / Boolean blocul True Constant;
- Din biblioteca Programming / Dialog & User Interface blocurile Simple
Error Handler și Merge Errors;
- Din biblioteca Programming / Waveform blocul Build Waveform;
- Din biblioteca Instrument I/O / Instrument Drivers / NI-USRP / Tx
blocurile niUSRP Open Tx Session, niUSRP Configure Signal, niUSRP Write
Tx Data și niUSRP Close Session;
- Din biblioteca Signal Processing / Signal Generation blocul Pulse Pattern;
- Din biblioteca Signal Processing / Signal Operation blocurile Convolution și
Upsample;
53
Lucrarea de laborator nr. 5

În Interfața Grafică-Front Panel aferentă programului se aduc următoarele


elemente din paleta de Controale-Controls:

- Din biblioteca Modern / Numeric blocurile Numeric Control, Numeric


Indicator;
- Din biblioteca Modern / String & Path blocul String Control;
- Din biblioteca Modern / Array, Matrix & Cluster blocul Array;
- Din biblioteca Modern / Graph blocul Waveform Graph;
- Din biblioteca Modern / I/O blocul IVI Logical Name.
- Din biblioteca RF Communications / Modulation / Digital blocurile MT
Constellation Graph și MT Eye Graph care vor genera automat în diagrama
bloc a programului și blocurile MT Format Constellation și MT Format Eye
Diagram.

Controlul IVI Logical Name se configurează prin efectuarea unui clic dreapta
asupra sa și selectarea din meniul contextual a opțiunii Select IVI Class –> niUSRP.

Blocul niUSRP Write Tx Data se configurează în felul următor (efectuând clic


pe săgeată apare meniul contextual):

Pentru setarea tipului elementelor controlului Date de tip Array se introduce în interiorul
acestuia un control de tipul Numeric Control.

Figura 5.5: Interfața grafică a programului LabVIEW de emisie


54
Lucrarea de laborator nr. 5

Figura 5.6: Programul LabVIEW de emisie


55
Lucrarea de laborator nr. 5

3. Pentru implementarea recepției, se folosește același program care a fost realizat


pentru recepția semnalelor OOK din laboratorul precedent.

4. Se pornește programul de recepție. După intrarea acestuia în modul de funcționare


normală (apariția graficelor I și Q), se rulează programul de emisie. (În cazul în
care se dispune de un singur echipament, ambele programe sunt rulate pe același
dispozitiv USRP, emisia și recepția efectuându-se între calea de emisie și cea de
recepție a aceluiași dispozitiv).

5. Se compară secvența de date emisă cu cea recepționată. Se analizează și


interpretează graficele, diagramele ochi și constelațiile de simboluri generate.

6. Se testează efectul eliminării secțiunii de calcul și aplicare a corecției defazajului


oscilatorului local.

Funcționarea sistemului

Calculatorul reprezintă o parte din secțiunea de prelucrare în banda de bază a sistemului


radio definit prin software obținut. Pentru emisie, pe baza programului implementat în mediul
LabVIEW, calculatorul generează semnalul modulat BPSK în banda de bază (practic un semnal
de date codat NRZ bipolar) și îl transmite echipamentului USRP pentru a fi translatat în banda de
trecere și emis. Pentru recepție, calculatorul achiziționează semnalul recepționat și adus în banda
de bază de către USRP, apoi îl prelucrează pentru a extrage secvența de date.

Emisia

Secțiunea de program detaliată în figura următoare generează semnalul modulat BPSK în


banda de bază. Mai exact, se generează un semnal de date codat NRZ bipolar pornind de la
vectorul Date. Acest vector conține secvența de date care se dorește a fi transmisă. Mai departe,
din fiecare element al secvenței de date se scade 0.5 și secvența rezultată se înmulțește cu 2,
rezultând astfel o secvență bipolară. Secvența obținută este supra-eșantionată cu factorul de
supra-eșantionare egal cu raportul dintre frecvența de eșantionare finală, dorită, și rata de transfer
a biților.
În continuare semnalul este filtrat cu un filtru de formare dreptunghiular. Filtrarea este
implementată prin efectuarea unei convoluții cu funcția pondere a filtrului.
Mai departe semnalul obținut este reprezentat grafic, apoi i se adaugă componenta în
cuadratură, nulă în cazul tehnicii BPSK, obținându-se astfel semnalul complex modulat BPSK în
banda de bază.

56
Lucrarea de laborator nr. 5

Figura 5.9: Generarea semnalului modulat BPSK în banda de bază

Secțiunea din figura 5.10 generează și afișează constelația de simboluri și diagrama ochi
a semnalului de date generat anterior.

Figura 5.10: Generarea și afișarea constelației de simboluri și a diagramei ochi

Secțiunea din figura 5.11 implementează configurarea parametrilor căii de emisie a


echipamentului radio reconfigurabil, fixând frecvența (rata) de eșantionare a semnalului,
frecvența oscilatorului local (purtătoarea), câștigul amplificatorului și portul de antenă utilizat,
apoi efectuează transmiterea semnalului complex generat anterior către echipament și oprirea
comunicației cu acesta după efectuarea transmisiei.

Figura 5.11: Configurarea căii de emisie a echipamentului USRP

Secțiunea din figura 4.12, finală, afișează eventualele erori apărute pe parcursul rulării.

Figura 5.12: Secțiunea finală a programului


57
Lucrarea de laborator nr. 5

Recepția

Pentru recepție se folosește programul din laboratorul anterior, utilizat la recepția


semnalelor modulate OOK. Semnalul în banda de bază furnizat de echipamentul USRP este
întotdeauna semnal bipolar, chiar și în cazul recepției unui semnal modulat OOK, deoarece
echipamentul conține un filtru care elimină componenta continuă, transformând astfel semnalele
unipolare recepționate în semnale bipolare.

Exerciții

1) Setați frecvența purtătoare la valoarea de 60MHz și conectați la ieșirea


echipamentului (în locul antenei de emisie) osciloscopul în paralel cu o sarcină
adaptată (50Ω) și vizualizați forma de undă a semnalului BPSK generat.

2) Modificați rata de bit a sistemului la valoarea de 32 biți/s. Ce se observă în


diagramele ochi de la recepție?

3) Modificați tipul de codare a semnalului de date în banda de bază din NRZ în RZ cu


factor de umplere 50%.

58
Lucrarea de laborator nr. 6

6. Implementarea unui sistem de comunicație QPSK folosind USRP

6.1. Scopul lucrării


 Implementarea funcțiilor de emisie și recepție a semnalelor de date cu modulație
QPSK folosind echipamentul radio definit prin software USRP.

6.2. Breviar teoretic


QPSK (Quadrature Phase-shift keying sau 4-PSK) este o tehnică de modulație
digitală de fază a cărei constelație de simboluri conține 4 elemente. Fiecare simbol codează 2 biți
(2 = log2(M), unde M este numărul de simboluri din constelația tehnicii de modulație, numit și
ordin sau rang al modulației; pentru QPSK M=4).

Semnalul modulat QPSK poate fi considerat însumarea a două semnale BPSK ale
căror purtătoare au aceeași frecvență dar sunt defazate cu 900 între ele, fiind astfel numite
purtătoare în cuadratură. Se utilizează purtătoare în cuadratură deoarece sinusoidele în
cuadratură sunt ortogonale, fapt pentru care datele modulate pe acestea pot fi recuperate
independent la recepție, fără să se amestece.
Acest mod de tratare a semnalului QPSK stă la baza celei mai comune variante de
implementare practică a modulatorului QPSK, varianta utilizată în această lucrare de laborator.
Practic, fluxul de date de intrare este divizat în două fluxuri cu rata de bit înjumătățită față cea de
intrare, care modulează folosind tehnica BPSK cele două purtătoare aflate în cuadratură,
denumite componentele I (In-phase) și Q (in-Quadrature), semnalele rezultate fiind însumate
pentru a genera semnalul final modulat QPSK.
Deoarece rata de bit a celor două fluxuri rezultate este jumătate din rata inițială,
iar banda ocupată de semnalul modulat BPSK este proporțională cu rata de bit, cele două
semnale modulate în cuadratură ocupă jumătate din banda pe care ar fi ocupat-o semnalul inițial.
În urma însumării celor două semnale, însumarea fiind o operație liniară, banda ocupată de
semnalul sumă va fi aceeași cu cea ocupată de fiecare din componentele însumate, rezultând
avantajul pe care îl aduce tehnica QPSK față de BPSK, și anume eficiența spectrală dublă.
Astfel, un semnal modulat QPSK ocupă jumătate din banda necesară semnalului BPSK pentru
aceeași rată de bit a datelor modulatoare.

Expresia generală a semnalului modulat QPSK în banda de trecere este:

𝜋
sn(t) = A cos( 2πfct + (2n-1) 4 )
unde n = 1, 2, 3, 4 este indicele simbolului emis.

59
Lucrarea de laborator nr. 6

Formele de undă în domeniul timp și constelația de simboluri asociate tehnicii de


modulație QPSK sunt cele din figurile 6.1 și 6.2.

Figura 6.1: Forma de undă a unui semnal modulat QPSK

Figura 6.2: Constelația de simboluri asociate tehnicii QPSK

În figurile 6.3 și 6.4 se prezintă schemele de principiu ale unui modulator,


respectiv demodulator QPSK:

Figura 6.3: Schema de principiu a modulatorului QPSK descris anterior


60
Lucrarea de laborator nr. 6

Figura 6.4: Schema de principiu a demodulatorului QPSK

În figura 6.5 se prezintă schema bloc a sistemului de comunicație QPSK realizat


cu ajutorul echipamentului radio USRP, pe baza schemelor de principiu din figurile 6.3 și 6.4.

Figura 6.5: Schema bloc a sistemului implementat

Rata de eroare de bit, exprimată ca numărul de biți eronați raportat la numărul


total de biți transmiși, este aceeași ca și pentru BPSK.

Tehnica de modulație QPSK și variantele sale Offset-QPSK și Differential-QPSK


sunt utilizate în standardul WiFi, televiziunea digitală, telefonia mobilă și Bluetooth.

6.3.Desfășurarea lucrării

Echipamentele necesare

 Calculator pe care este instalat LabVIEW 2013, NI-USRP 14.5.1 și NI


LabVIEW Modulation Toolkit 4.3.4;
 USRP N200 echipat cu modulul RF WBX;
 2 Antene (preferabil de bandă ultra-largă);
 Cablu de rețea UTP (Ethernet);
 Osciloscop, T - BNC 1 tată 2 mame, sarcină 50Ω BNC - tată, cablu coaxial 50Ω
BNC tată - BNC tată, adaptor SMA tată – BNC mamă.
61
Lucrarea de laborator nr. 6

Procedura

1. Se realizează montajul:

Figura 6.6: Conectare PC – USRP

Modulul radio WBX se montează în interiorul carcasei platformei SDR USRP N200.
Pentru stabilirea conexiunii directe între computer și platforma SDR tip USRP N200
este obligatoriu ca placa de rețea a calculatorului să fie de tip Gigabit. În caz contrar, este
necesară intercalarea unui switch ethernet tip Gigabit între USRP și calculator. Utilizarea
switch-ului permite și folosirea în comun a echipamentului de către mai mulți utilizatori.

2. Pentru implementarea emisiei, se realizează în mediul de programare grafică


LabVIEW programul din figura 6.8. Pentru aceasta se aduc în Diagrama Bloc-
Block Diagram a programului următoarele elemente (pot fi căutate după nume
folosind funcția Căutare-Search a Paletei de Funcții-Functions Palette):

- Din biblioteca Programming / Array blocul Decimate 1D Array;


- Din biblioteca Programming / Cluster, Class, &Variant blocul Bundle;
- Din biblioteca Programming / Numeric blocurile Divide, Reciprocal,
Numeric Constant și DBL Numeric Constant;
- Din biblioteca Programming / Numeric / Complex blocul Re/Im To
Complex;
- Din biblioteca Programming / Boolean blocul True Constant;
- Din biblioteca Programming / Dialog & User Interface blocurile Simple
Error Handler și Merge Errors;
- Din biblioteca Programming / Waveform blocul Build Waveform;
- Din biblioteca Instrument I/O / Instrument Drivers / NI-USRP / Tx
blocurile niUSRP Open Tx Session, niUSRP Configure Signal, niUSRP Write
Tx Data și niUSRP Close Session;
62
Lucrarea de laborator nr. 6

- Din biblioteca Signal Processing / Signal Generation blocul Pulse Pattern;


- Din biblioteca Signal Processing / Signal Operation blocurile Convolution și
Upsample;

În Interfața Grafică-Front Panel aferentă programului se aduc următoarele


elemente din paleta de Controale-Controls:

- Din biblioteca Modern / Numeric blocurile Numeric Control, și Numeric


Indicator;
- Din biblioteca Modern / String & Path blocul String Control;
- Din biblioteca Modern / Array, Matrix & Cluster blocul Array;
- Din biblioteca Modern / Graph blocul Waveform Graph;
- Din biblioteca Modern / I/O blocul IVI Logical Name.
- Din biblioteca RF Communications / Modulation / Digital blocurile MT
Constellation Graph și MT Eye Graph care vor genera automat în diagrama
bloc a programului și blocurile MT Format Constellation și MT Format Eye
Diagram.

Controlul IVI Logical Name se configurează prin efectuarea unui clic dreapta
asupra sa și selectarea din meniul contextual a opțiunii Select IVI Class –> niUSRP.

Blocul niUSRP Write Tx Data se configurează în modul Single Channel >


Complex Double (efectuând clic pe săgeată apare meniul contextual).

Pentru setarea tipului elementelor controlului Date de tip Array se introduce în interiorul
acestuia un control de tipul Numeric Control.

Figura 6.7: Interfața grafică a programului LabVIEW de emisie


63
Lucrarea de laborator nr. 6

Figura 6.8: Programul LabVIEW de emisie


64
Lucrarea de laborator nr. 6

3. Pentru implementarea recepției, se realizează în mediul de programare grafică


LabVIEW programul din figura 6.10. Pentru aceasta se aduc în Diagrama Bloc-
Block Diagram a programului următoarele elemente (pot fi căutate după nume
folosind funcția Căutare-Search a Paletei de Funcții-Functions Palette):

- Din biblioteca Programming / Structures blocurile While Loop și Flat


Sequence Structure;
- Din biblioteca Programming / Array blocurile Index Array, Insert Into
Array, Array Subset și Interleave 1D Arrays;
- Din biblioteca Programming / Cluster, Class, &Variant blocul Bundle;
- Din biblioteca Programming / Numeric blocurile Multiply, Divide,
Reciprocal, Numeric Constant și DBL Numeric Constant;
- Din biblioteca Programming / Numeric / Complex blocul Complex To
Re/Im și Complex To Polar;
- Din biblioteca Programming / Boolean blocurile Boolean To (0,1), True
Constant și False Constant;
- Din biblioteca Programming / Comparison blocurile Greater și Greater Than
0;
- Din biblioteca Programming / Dialog & User Interface blocurile Simple
Error Handler și Merge Errors;
- Din biblioteca Instrument I/O / Instrument Drivers / NI-USRP / Rx
blocurile niUSRP Open Rx Session, niUSRP Configure Signal, niUSRP
Initiate, niUSRP Fetch Rx Data, niUSRP Abort și niUSRP Close Session;
- Din biblioteca Mathematics / Probability & Statistics blocul Mean;
- Din biblioteca Signal Processing / Signal Operation blocurile Decimate
(Single Shot) și Treshold Detector;
- Din biblioteca Data Communication / Synchronization / Queue Operations
blocurile Obtain Queue, Enqueue Element, Dequeue Element și Release
Queue;

În Interfața Grafică-Front Panel aferentă programului se aduc următoarele


elemente din paleta de Controale-Controls:

- Din biblioteca Modern / Numeric blocurile Numeric Control și Numeric


Indicator;
- Din biblioteca Modern / Boolean blocul Square LED;
- Din biblioteca Modern / String & Path blocul String Control;
- Din biblioteca Modern / Array, Matrix & Cluster blocul Array;
- Din biblioteca Modern / Graph blocul Waveform Chart;
- Din biblioteca Modern / I/O blocul IVI Logical Name.
- Din biblioteca RF Communications / Modulation / Digital blocurile MT
Constellation Graph și MT Eye Graph care vor genera automat în diagrama
bloc a programului și blocurile MT Format Constellation și MT Format Eye
Diagram.

65
Lucrarea de laborator nr. 6

Blocul niUSRP Fetch Rx Data se configurează în modul Single Channel > Complex
Double.

Constanta care configurează tipul de elemente care vor fi conținute de coadă (se
conectează la intrarea element data type a blocului Obtain Queue) se obține prin
efectuarea unui clic dreapta pe ieșirea data a blocului niUSRP Fetch Rx Data și
selectarea din meniul contextual care apare a operației Create > Constant. Apoi constanta
obținută se mută și se conectează la intrarea element data type a blocului Obtain Queue.

Pentru scrierea/citirea în mai multe regiuni ale programului a valorilor


elementelor Led Recepționat? și a graficelor I și Q se creează variabile locale asociate
acestora, efectuând clic dreapta pe ele și alegând din meniul contextual opțiunea Create >
Local Variable. Apoi, în cazul în care este necesar, se efectuează clic dreapta pe
variabilele create și se alege din meniul contextual afișat opțiunea Change To Read
respectiv Change To Write pentru a le configura în modul de operare dorit.

Pentru a seta multiplicatorul scării orizontale (X) a graficelor (Waveform Chart)


I și Q se creează Noduri de Proprietate asociate acestora efectuând clic dreapta pe ele și
alegând din meniul contextual opțiunea Create > Property Node > X Scale > Offset and
Multiplier > Multiplier. Apoi se efectuează clic dreapta pe Nodurile create și se alege din
meniul contextual afișat opțiunea Change To Write.

Graficele (Waveform Chart) I și Q vor fi setate în modul de autoscalare pe


ambele axe iar parametrul Lungimea Istoricului (Chart History Length) se va seta la
valoarea 10000000.

Figura 6.9: Interfața grafică a programului LabVIEW de recepție

66
Lucrarea de laborator nr. 6

Figura 6.10: Programul LabVIEW de recepție


67
Lucrarea de laborator nr. 6

4. Se pornește programul de recepție. După intrarea acestuia în modul de


funcționare normală (apariția graficelor I și Q), se rulează programul de
emisie. (În cazul în care se dispune de un singur echipament, ambele programe
sunt rulate pe același dispozitiv USRP, emisia și recepția efectuându-se între
calea de emisie și cea de recepție a aceluiași dispozitiv).

5. Se compară secvența de date emisă cu cea recepționată. Se analizează și


interpretează graficele, diagramele ochi și constelațiile de simboluri generate.

6. Se testează efectul eliminării secțiunii de calcul și aplicare a corecției


defazajului oscilatorului local.

Funcționarea sistemului

Calculatorul reprezintă o parte din secțiunea de prelucrare în banda de bază a sistemului


radio definit prin software obținut. Pentru emisie, pe baza programului implementat în mediul
LabVIEW, calculatorul generează semnalul modulat QPSK în banda de bază (practic două
semnale de date codate NRZ bipolare care constituie partea reală I și cea imaginară Q a
semnalului complex în banda de bază) și îl transmite echipamentului USRP pentru a fi translatat
în banda de trecere de către mixerul în cuadratură și emis.

Pentru recepție, calculatorul achiziționează semnalul recepționat și adus în banda de bază


de către USRP, apoi îl prelucrează pentru a extrage secvența de date.

Emisia

Secțiunea de program detaliată în figura 6.11 generează semnalul modulat QPSK în


banda de bază. Mai exact, se generează două semnale de date codate NRZ bipolare pornind de la
vectorul Date. Secvența de biți care se dorește a fi transmisă, conținută în vectorul Date, este
divizată de către blocul Decimate 1D Array în două secvențe, una formată din biții cu indicele
impar, adică primul, al treilea, al cincilea etc., iar cea de-a doua secvență din biții cu indice par.
Mai departe, fiecare dintre cele două secvențe sunt prelucrate similar procedurii pentru
implementarea modulației BPSK, deoarece fiecare dintre cele două căi ale unui emițător QPSK,
cea în fază și cea în cuadratură, funcționează ca un modulator BPSK. Se obțin astfel două
semnale de date codate NRZ bipolare. Mai departe, secvențele de date sunt supra-eșantionate cu
factorul de supra-eșantionare egal cu raportul dintre frecvența de eșantionare finală, dorită, și rata
de transfer a simbolurilor (pentru QPSK simbolurile conțin 2 biți).

În continuare semnalele sunt filtrate cu un filtru de formare dreptunghiular. Filtrarea este


implementată prin efectuarea unei convoluții cu funcția pondere a filtrului. Mai departe
semnalele obținute sunt reprezentate grafic, apoi sunt asamblate într-un singur semnal complex
care va fi trimis către echipamentul USRP.

68
Lucrarea de laborator nr. 6

Figura 6.11: Generarea semnalului modulat QPSK în banda de bază

Secțiunea din figura 6.12 generează și afișează constelația de simboluri și diagrama ochi
a semnalului de date generat anterior.

Figura 6.12: Generarea și afișarea constelației de simboluri și a diagramei ochi

Secțiunea din figura 6.13 implementează configurarea parametrilor căii de emisie a


echipamentului radio reconfigurabil, fixând frecvența (rata) de eșantionare a semnalului,
frecvența oscilatorului local (purtătoarea), câștigul amplificatorului și portul de antenă utilizat,
apoi efectuează transmiterea semnalului complex generat anterior către echipament și oprirea
comunicației cu acesta după efectuarea transmisiei.

Figura 6.13: Configurarea căii de emisie a echipamentului USRP


69
Lucrarea de laborator nr. 6

Secțiunea din figura 6.14, finală, afișează eventualele erori apărute pe parcursul rulării.

Figura 6.14: Secțiunea finală a programului

Recepția

Programul aferent recepției debutează prin secvența de configurare a căii de recepție a


echipamentului USRP. Se fixează frecvența de eșantionare a semnalului achiziționat de
calculator, se setează frecvența purtătoare a semnalului recepționat, câștigul amplificatoarelor și
portul la care este conectată antena de recepție, conform figurii 6.15. Apoi se efectuează o
achiziție a semnalului recepționat cu durata de 1s cu scopul de a elimina din buffer-ul de recepție
semnalul de început, afectat de regimul tranzitoriu care apare la pornirea recepției.
De asemenea, tot aici se fixează și rata de simbol, se calculează numărul de
eșantioane/simbol, perioada de eșantionare, factorul de scalare al graficelor pe care se
vizualizează componentele I și Q ale semnalului recepționat de la USRP și se creează coada care
va stoca semnalul achiziționat.

Figura 6.15: Configurarea căii de recepție a echipamentului USRP


70
Lucrarea de laborator nr. 6

Secțiunea următoare implementează bucla de achiziție a semnalului de la USRP și


introducerea semnalului în coada din care va fi extras de către bucla de prelucrare care rulează în
paralel cu aceasta.

Figura 6.16: Achiziția semnalului de la USRP

Secțiunea din figura 6.17 implementează o buclă while care extrage secvențe de semnal
din coadă, le afișează și caută vârfuri de semnal care depășesc în amplitudine pragul de 0.001. În
cazul în care detectează o depășire a pragului (trigger-are), acest fapt semnificând începutul unei
transmisiuni, oprește execuția buclei, achiziționează încă o secvență de semnal și generează, prin
concatenarea secțiunii posterioare depășirii pragului cu secvența achiziționată după ieșirea din
buclă, secvența finală care va fi prelucrată pentru extragerea datelor.

Figura 6.17: Extragerea semnalului achiziționat și trigger-area sa

Secțiunea următoare efectuează prelucrarea secvenței de semnal recepționate și trigger-


ate în vederea extragerii datelor. Se efectuează decimarea, compensarea defazajului oscilatorului
local față de semnalul recepționat și detectarea valorilor biților prin compararea cu pragul setat la
valoarea medie a secvenței obținute. Apoi, biții recuperați de pe cele două căi, cea în fază și cea
în cuadratură, sunt întrețesuți pentru a se obține secvența de date originală. De asemenea, se
comandă și oprirea buclei de achiziție a semnalului de la USRP prin intermediul variabilei locale
asociate LED-ului care indică starea recepționării datelor.

Determinarea defazajului oscilatorului local se face pe baza simbolului de antrenare,


primul simbol al secvenței transmise, a cărui valoare, 11, este cunoscută în prealabil. Împărțind
valoarea pe care trebuie să o aibă semnalul complex în banda de bază furnizat de USRP în

71
Lucrarea de laborator nr. 6

momentul transmiterii bitului de antrenare (1+1i) la valoarea reală furnizată de USRP se obține
factorul de corecție. Acesta este un număr complex care înmulțit cu semnalul complex în banda
de bază furnizat de USRP produce semnalul corectat.

Figura 6.18: Prelucrarea semnalului (extragerea datelor)

Secțiunea din figura 6.19 generează și afișează constelația de simboluri și diagramele


ochi ale semnalului recepționat.

Figura 6.19: Afișarea constelației de simboluri și a diagramelor ochi

Urmează secțiunea finală a programului care oprește comunicația cu echipamentul USRP,


eliberează coada și afișează eventualele erori de pe parcursul rulării.

Figura 6.20: Secțiunea finală a programului

72
Lucrarea de laborator nr. 6

Exerciții

1) Setați frecvența purtătoare la valoarea de 60MHz și conectați la ieșirea


echipamentului (în locul antenei de emisie) osciloscopul în paralel cu o sarcină
adaptată (50Ω) și vizualizați forma de undă a semnalului QPSK generat.

2) Modificați rata de simbol a sistemului la valoarea de 32 simboluri/s. Ce se observă


în diagramele ochi de la recepție?

3) Modificați tipul de codare a semnalului de date în banda de bază din NRZ în RZ cu


factor de umplere 50%.

73
74
Lucrarea de laborator nr. 7

7. Implementarea unui sistem de comunicație QAM folosind USRP

7.1. Scopul lucrării


 Implementarea funcțiilor de emisie și recepție a semnalelor de date cu modulație
QAM folosind echipamentul radio definit prin software USRP.

7.2. Breviar teoretic


Termenul QAM (Quadrature Amplitude Modulation) desemnează două tehnici de
modulație în cuadratură, una analogică și una digitală. Semnalul modulat QAM se obține prin
însumarea a două purtătoare sinusoidale în cuadratură (defazate cu 900) modulate în amplitudine
folosind tehnica AM (Amplitude Modulation) pentru varianta analogică, respectiv ASK
(Amplitude-shift Keying) pentru varianta digitală. Din punct de vedere matematic, semnalul
rezultat din acest proces este modulat atât în amplitudine cât și în fază, având deci modulație
mixtă.
Tehnica QAM permite obținerea celor mai mari valori ale eficienței spectrale
comparativ cu celelalte tehnici de modulație, fiind astfel preferată în majoritatea aplicațiilor care
necesită viteze mari de transfer al datelor.

Deoarece semnalul modulat QAM are amplitudine variabilă, echipamentul de


emisie necesită utilizarea unui amplificator de putere liniar și implicit ineficient din punct de
vedere energetic, acesta fiind un dezavantaj al tehnicii QAM. De asemenea, pentru funcționarea
corectă, și echipamentul de recepție trebuie să fie foarte liniar.

Expresia generală a semnalului modulat QAM de ordin M în banda de trecere


este:

sn(t) = An cos( 2πfct + 𝜃𝑛 )


unde n = 1, 2, 3, ... M este indicele simbolului emis.

Prin creșterea ordinului M al modulației se obține creșterea eficienței spectrale în


detrimentul imunității la perturbații, deoarece, pentru aceeași putere medie de emisie, creșterea
ordinului modulației, adică creșterea numărului de simboluri din constelația tehnicii, atrage după
sine scăderea distanței dintre acestea (îngrămădirea simbolurilor), astfel încât nivele tot mai
reduse ale perturbațiilor devin suficiente pentru a produce confundarea simbolurilor.

Valorile lui M (numărul de simboluri din constelație) cele mai utilizate în practică
sunt 4, 16, 64, 256, 512 și 1024, fiecare simbol codând k=log2(M) biți, eficiența spectrală fiind
75
Lucrarea de laborator nr. 7

de k ori mai mare decât cea corespunzătoare tehnicilor BPSK și ASK. Rata de simbol este,
evident, rata de bit / k.

Figurile 7.1 și 7.2 conțin formele de undă și constelațiile de simboluri


corespunzătoare tehnicii 16-QAM.

Figura 7.1: Forma de undă a unui semnal modulat 16-QAM

Figura 7.2: Constelația de simboluri asociate tehnicii 16-QAM


76
Lucrarea de laborator nr. 7

În figurile 7.3 și 7.4 se prezintă schemele de principiu ale unui modulator,


respectiv demodulator QAM:

Figura 7.3: Schema de principiu a unui modulator QAM

Figura 7.4: Schema de principiu a unui demodulator QAM

7.3.Desfășurarea lucrării

Echipamentele necesare

 Calculator pe care este instalat LabVIEW 2013, NI-USRP 14.5.1 și NI


LabVIEW Modulation Toolkit 4.3.4;
 USRP N200 echipat cu modulul RF WBX;
 2 Antene (preferabil de bandă ultra-largă);
 Cablu de rețea UTP (Ethernet);
 Osciloscop, T - BNC 1 tată 2 mame, sarcină 50Ω BNC - tată, cablu coaxial 50Ω
BNC tată - BNC tată, adaptor SMA tată – BNC mamă.

Procedura

1. Se realizează montajul din figura 7.5.

77
Lucrarea de laborator nr. 7

Figura 7.5: Conectare PC – USRP

Modulul radio WBX se montează în interiorul carcasei platformei SDR USRP N200.
Pentru stabilirea conexiunii directe între computer și platforma SDR tip USRP N200
este obligatoriu ca placa de rețea a calculatorului să fie de tip Gigabit. În caz contrar, este
necesară intercalarea unui switch ethernet tip Gigabit între USRP și calculator. Utilizarea
switch-ului permite și folosirea în comun a echipamentului de către mai mulți utilizatori.

2. Pentru implementarea emisiei, se realizează în mediul de programare grafică


LabVIEW programul din figura 7.7. Pentru aceasta se aduc în Diagrama Bloc-
Block Diagram a programului următoarele elemente (pot fi căutate după nume
folosind funcția Căutare-Search a Paletei de Funcții-Functions Palette):

- Din biblioteca Programming / Structures blocurile For Loop și While Loop;


- Din biblioteca Programming / Array blocul Insert Into Array;
- Din biblioteca Programming / Cluster, Class, &Variant blocul Unbundle
By Name;
- Din biblioteca Programming / Numeric blocurile Divide și Numeric
Constant;
- Din biblioteca Programming / Numeric / Conversions blocul String To Byte
Array;
- Din biblioteca Programming / Numeric / Complex blocul Complex To
Re/Im;
- Din biblioteca Programming / Boolean blocurile Number To Boolean Array
și Boolean To (0,1);
- Din biblioteca Programming / String blocurile Concatenate Strings și End Of
Line Constant;
- Din biblioteca Programming / Dialog & User Interface blocurile Simple
Error Handler și Merge Errors;
- Din biblioteca Programming / Waveform blocul Build Waveform;
- Din biblioteca Instrument I/O / Instrument Drivers / NI-USRP / Tx
blocurile niUSRP Open Tx Session, niUSRP Configure Signal, niUSRP Write
Tx Data și niUSRP Close Session;
- Din biblioteca RF Communications / Modulation / Digital blocul MT
Generate Bits;
78
Lucrarea de laborator nr. 7

- Din biblioteca RF Communications / Modulation / Digital / Utilities


blocurile MT Generate System Parameters și MT Generate Filter Coeficients;
- Din biblioteca RF Communications / Modulation / Digital / Modulation
blocul MT Modulate QAM.

În Interfața Grafică-Front Panel aferentă programului se aduc următoarele


elemente din paleta de Controale-Controls:

- Din biblioteca Modern / Numeric blocurile Numeric Control și Numeric


Indicator;
- Din biblioteca Modern / Boolean blocul Stop Button;
- Din biblioteca Modern / String & Path blocul String Control;
- Din biblioteca Modern / Graph blocul Waveform Graph;
- Din biblioteca Modern / I/O blocul IVI Logical Name.
- Din biblioteca RF Communications / Modulation / Digital blocurile MT
Constellation Graph și MT Eye Graph care vor genera automat în diagrama
bloc a programului și blocurile MT Format Constellation și MT Format Eye
Diagram.

Controlul IVI Logical Name se configurează prin efectuarea unui clic dreapta
asupra sa și selectarea din meniu a opțiunii Select IVI Class –> niUSRP.
Controlul pentru setarea tipului de filtru de formare se obține simplu prin
efectuarea unui clic dreapta pe intrarea corespunzătoare a blocului MT Generate Filter
Coeficients și selectarea opțiunii Create > Control.
Blocul niUSRP Write Tx Data se lasă în modul de funcționare Automatic. Similar
blocul MT Generate Bits se lasă în configurația implicită PN > Galois > Specify PN
Order. Blocul MT Generate System Parameters se setează în configurația QAM > M.

Figura 7.6: Interfața grafică a programului LabVIEW de emisie


79
Lucrarea de laborator nr. 7

Figura 7.7: Programul LabVIEW de emisie


80
Lucrarea de laborator nr. 7

3. Pentru implementarea recepției, se realizează în mediul de programare grafică


LabVIEW programul din figura 7.8. Pentru aceasta se aduc în Diagrama Bloc-
Block Diagram a programului următoarele elemente (pot fi căutate după nume
folosind funcția Căutare-Search a Paletei de Funcții-Functions Palette):

- Din biblioteca Programming / Structures blocurile For Loop și While Loop;


- Din biblioteca Programming / Array blocurile Array Size și Reshape Array;
- Din biblioteca Programming / Cluster, Class, &Variant blocul Unbundle
By Name;
- Din biblioteca Programming / Numeric blocurile Multiply, Divide,
Reciprocal, Numeric Constant și DBL Numeric Constant;
- Din biblioteca Programming / Numeric / Conversion blocurile Boolean
Array To Number și Byte Array To String;
- Din biblioteca Programming / Numeric / Complex blocul Complex To
Re/Im;
- Din biblioteca Programming / Boolean blocurile Boolean To (0,1) și True
Constant;
- Din biblioteca Programming / Comparison blocul Greater Than 0;
- Din biblioteca Programming / Dialog & User Interface blocurile Simple
Error Handler și Merge Errors;
- Din biblioteca Instrument I/O / Instrument Drivers / NI-USRP / Rx
blocurile niUSRP Open Rx Session, niUSRP Configure Signal, niUSRP
Initiate, niUSRP Fetch Rx Data, niUSRP Abort și niUSRP Close Session;
- Din biblioteca Data Communication / Synchronization / Queue
Operations blocurile Obtain Queue, Enqueue Element, Dequeue Element și
Release Queue;
- Din biblioteca RF Communications / Modulation / Digital blocul MT
Generate Bits;
- Din biblioteca RF Communications / Modulation / Digital / Utilities
blocurile MT Generate System Parameters, MT Generate Synchronization
Parameters și MT Generate Filter Coeficients;
- Din biblioteca RF Communications / Modulation / Digital / Demodulation
blocul MT Demodulate QAM.

În Interfața Grafică-Front Panel aferentă programului se aduc următoarele


elemente din paleta de Controale-Controls:

- Din biblioteca Modern / Numeric blocurile Numeric Control și Numeric


Indicator;
- Din biblioteca Modern / Boolean blocul Stop Button;
- Din biblioteca Modern / String & Path blocurile String Control și String
Indicator;
- Din biblioteca Modern / Graph blocurile Waveform Chart și Waveform
Graph;
- Din biblioteca Modern / I/O blocul IVI Logical Name.
81
Lucrarea de laborator nr. 7

- Din biblioteca RF Communications / Modulation / Digital blocurile MT


Constellation Graph și MT Eye Graph care vor genera automat în diagrama
bloc a programului și blocurile MT Format Constellation și MT Format Eye
Diagram.

Controlul pentru setarea tipului de filtru de formare se obține simplu prin


efectuarea unui clic dreapta pe intrarea corespunzătoare a blocului MT Generate Filter
Coeficients și selectarea opțiunii Create > Control.

Butonul Stop se configurează (efectuând clic dreapta pe el și alegând din meniul


contextual opțiunea Properties, Tab-ul Operation) în modul Switch Until Released.
Pentru controlul celei de-a doua bucle While folosind același buton de stop se creează o
variabilă locală asociată acestuia, efectuând clic dreapta pe el și alegând din meniul
contextual opțiunea Create > Local Variable. Apoi se efectuează clic dreapta pe aceasta
și se alege din meniul contextual afișat opțiunea Change To Read. Această variabilă se
conectează apoi la intrarea condiției de ieșire din buclă a celei de-a doua bucle.

Blocul MT Generate System Parameters se setează în configurația QAM > M.

Blocul MT Generate Synchronization Parameters se configurează în modul


QAM > Bits.

Blocul niUSRP Fetch Rx Data se setează în modul de lucru Single Channel >
Complex Double.

Constanta care configurează tipul de elemente care vor fi conținute de coadă (se
conectează la intrarea element data type a blocului Obtain Queue) se obține prin
efectuarea unui clic dreapta pe ieșirea data a blocului niUSRP Fetch Rx Data și
selectarea din meniul contextual care apare a operației Create > Constant. Apoi constanta
obținută se mută și se conectează la intrarea element data type a blocului Obtain Queue.

Constanta care configurează tipul de modulație pentru blocul MT Generate


Filter Coefficients se obține prin efectuarea unui clic dreapta pe intrarea corespunzătoare
a blocului și selectarea din meniul care apare a operației Create > Constant.

Pentru a seta multiplicatorul scării orizontale (X) a graficelor (Waveform Chart)


I și Q se creează Noduri de Proprietate asociate acestora efectuând clic dreapta pe ele și
alegând din meniul contextual opțiunea Create > Property Node > X Scale > Offset and
Multiplier > Multiplier. Apoi se efectuează clic dreapta pe Nodurile create și se alege din
meniul contextual afișat opțiunea Change To Write.

Graficele (Waveform Chart) I și Q vor fi setate în modul de autoscalare pe


ambele axe iar parametrul Lungimea Istoricului (Chart History Length) se va seta la
valoarea 20000.

82
Lucrarea de laborator nr. 7

Figura 7.8: Programul LabVIEW de recepție


83
Lucrarea de laborator nr. 7

Figura 7.9: Interfața grafică a programului LabVIEW de recepție

4. Se pornește programul de emisie, apoi se pornește recepția. (În cazul în care se


dispune de un singur echipament, ambele programe sunt rulate pe același
dispozitiv USRP, emisia și recepția efectuându-se între calea de emisie și cea
de recepție a aceluiași dispozitiv).

5. Se observă transmisia textului între emițător și receptor. Se analizează și


interpretează graficele, diagramele ochi și constelațiile de simboluri generate.

6. Se testează efectul eliminării secvenței de antrenare din semnalul emis.

Funcționarea sistemului

Calculatorul reprezintă o parte din secțiunea de prelucrare în banda de bază a sistemului


radio definit prin software obținut. Pentru emisie, pe baza programului implementat în mediul
LabVIEW, calculatorul generează semnalul modulat 16-QAM în banda de bază și îl transmite
echipamentului USRP pentru a fi translatat în banda de trecere de către mixerul în cuadratură și
emis.

Pentru recepție, calculatorul achiziționează semnalul recepționat și adus în banda de bază


de către USRP, apoi îl prelucrează pentru a extrage secvența de date.

Emisia

Secțiunea de program detaliată în figura 7.10 generează secvența de antrenare, secvență


cunoscută și de receptor, pe baza căreia acesta efectuează corecțiile de fază, frecvență și
amplitudine ale semnalului de recepție. De asemenea, tot în secvența din figura 7.10 se
transformă șirul de caractere care constituie mesajul de transmis într-un șir de biți, folosind
84
Lucrarea de laborator nr. 7

codarea ASCII, apoi secvența de biți de antrenare se concatenează cu secvența de biți care
constituie mesajul și secvența rezultată este aplicată modulatorului QAM care generează
semnalul modulat în banda de bază. Tot aici se efectuează și configurarea parametrilor
modulației precum ordinul, filtrul de formare utilizat și rata de simboluri.

Figura 7.10: Generarea semnalului modulat QAM în banda de bază

Secțiunea din figura 7.11 generează și afișează formele de undă, constelația de simboluri
și diagrama ochi corespunzătoare semnalului generat anterior.

Figura 7.11: Afișarea grafică a semnalului, constelației de simboluri și a diagramei ochi


85
Lucrarea de laborator nr. 7

Secțiunea din figura 7.12 implementează configurarea parametrilor căii de emisie a


echipamentului radio reconfigurabil, fixând frecvența (rata) de eșantionare a semnalului,
frecvența oscilatorului local (purtătoarea), câștigul amplificatorului și portul de antenă utilizat.

Figura 7.12: Configurarea căii de emisie a echipamentului USRP

Secțiunea din figura 7.13 implementează transmiterea în buclă a semnalului generat


anterior. Mai exact, se transmite în permanență semnalul format din secvența de antrenare
urmată de textul care se dorește a fi transmis.

Figura 7.13: Emisia

Secțiunea din figura 7.14, finală, afișează eventualele erori apărute pe parcursul rulării.

Figura 6.14: Secțiunea finală a programului

Recepția

Programul aferent recepției debutează prin secvența de configurare a căii de recepție a


echipamentului USRP. Se fixează frecvența de eșantionare a semnalului achiziționat de
calculator, se setează frecvența purtătoare a semnalului recepționat, câștigul amplificatoarelor și
86
Lucrarea de laborator nr. 7

portul la care este conectată antena de recepție, conform figurii 7.15. Apoi se efectuează o
achiziție a semnalului recepționat cu durata de 1s cu scopul de a elimina din buffer-ul de recepție
semnalul de început, afectat de regimul tranzitoriu care apare la pornirea recepției.
De asemenea, tot aici se fixează și rata de simbol, se calculează numărul de
eșantioane/simbol, perioada de eșantionare, factorul de scalare al graficelor pe care se
vizualizează componentele I și Q ale semnalului recepționat de la USRP și se creează coada care
va stoca semnalul achiziționat.

Figura 7.15: Configurarea căii de recepție a echipamentului USRP

Secțiunea următoare efectuează operațiile de configurare a demodulării, fixând ordinul


modulației, secvența de antrenare și filtrul adaptat.

Figura 7.16: Configurarea demodulatorului


87
Lucrarea de laborator nr. 7

Secțiunea din figura 7.17 implementează bucla de achiziție a semnalului de la USRP și


introducerea semnalului în coada din care va fi extras de către bucla de prelucrare care rulează în
paralel cu aceasta.

Figura 7.17: Achiziția semnalului de la USRP

Secțiunea din figura 7.18 implementează bucla de prelucrare a semnalului. Se extrage


câte un bloc (cadru) de semnal din coadă, se demodulează de către blocul MT Demodulate
QAM, apoi secvența de biți rezultată în urma demodulării se convertește, folosind codul ASCII,
într-un text care este apoi afișat. De asemenea, tot aici se efectuează afișarea formelor de undă
ale semnalului și se generează și afișează diagramele ochi și constelația de simboluri
corespunzătoare semnalului rezultat în urma aplicării corecțiilor de fază, frecvență și
amplitudine.

Figura 7.18: Prelucrarea semnalului

Urmează secțiunea finală a programului care oprește comunicația cu echipamentul USRP,


eliberează coada și afișează eventualele erori apărute pe parcursul rulării.

Figura 7.19: Secțiunea finală a programului

88
Lucrarea de laborator nr. 7

Exerciții

1) Setați frecvența purtătoare la valoarea de 60MHz și conectați la ieșirea


echipamentului (în locul antenei de emisie) osciloscopul în paralel cu o sarcină
adaptată (50Ω) și vizualizați forma de undă a semnalului 16-QAM generat.

2) Modificați ordinul modulației la valori precum 64, 128 și vizualizați semnalul


generat.

3) Modificați programul de recepție astfel încât să afișeze textul rezultat în urma


demodulării datelor doar dacă amplitudinea semnalului recepționat depășește un
anumit prag (afișează doar în timpul unei transmisiuni).

4) Eliminând din programul de recepție funcțiile de afișare a diagramelor ochi și a


constelației de simboluri acesta poate afișa textul recepționat în timp real (fără
întârzieri suplimentare de prelucrare). Testați acest mod de funcționare.

89
90
Bibliografie

1. *** Ettus Research, N200-210 DS Flyer, 2012

2. A. Marțian, Utilizarea eficientă a spectrului RF folosind tehnologia radio cognitiv – Teză


de doctorat, Universitatea Politehnica din București, București, 2013

3. *** Ettus Research , Synchronization and MIMO Capability with USRP Devices -
Application Note, 2012

4. Ion Marghescu, Sisteme și echipamente de emisie recepție - Note de curs, Universitatea


POLITEHNICA din București

5. Simona Halunga-Fratu, Octavian Fratu, Simularea sistemelor de transmisiune analogice


și digitale folosind mediul MATLAB / Simulink, Matrix Rom, București, 2004

6. Tony Rouphael, RF and Digital Signal Processing for Software-Defined Radio, Newnes,
2008

7. Walter Tuttlebee, Software Defined Radio - Enabling Technologies, John Wiley & Sons,
New York, 2002

8. Paul Young, Electronic Communication Circuits, Prentice Hall 2004

91
Tiparul executat în
TIPOGRAFIA
UNIVERSITĂŢII MARITIME
din
Constanţa

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