44
1 Software Defined Radio Dr. Ing. Alessandro Di Nepi ([email protected]) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata Laboratorio di Telecomunicazioni Agenda Architettura Software Defined Radio Radio Front-End Radio Back-End Front-End Digitale Processing in Banda Base Tecnologie per piattaforme SDR Radio Description Language Esempi: GNURadio

Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi ([email protected]) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

1

Software Defined Radio

Dr. Ing. Alessandro Di Nepi([email protected])

Università degli Studi “Roma TRE”Dipartimento di Elettronica Applicata

Laboratorio di Telecomunicazioni

Agenda

• Architettura Software Defined Radio

• Radio Front-End

• Radio Back-End– Front-End Digitale

– Processing in Banda Base

• Tecnologie per piattaforme SDR

• Radio Description Language

• Esempi: GNURadio

Page 2: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

2

riferimenti

• Paul Burns. Software Defined Radio for 3G. Artech House, 2003.

• Walter H. W. Tuttlebee. Software Defined Radio: Enabling Technologies. John Wiley & Sons, 2002.

• Walter H. W. Tuttlebee. Software Defined Radio: Baseband Technologies for 3G Handsets and Basestations. John Wiley & Sons, 2004.

• Software defined radio forum. http://www.sdrforum.org.

• Gnu radio project. www.gnu.org/software/gnuradio/.

introduzione

• Rete di telecomunicazione: complesso di mezzi che, attraverso le risorse tecniche ed operative necessarie, consente ai suoi utenti il trasferimento dell’informazione

Zone 4:Global

SatelliteZone 3:Suburban

Zone 2:Urban Zone 1:

In building

Macro cell Pico cellMicro cellWorld cell

2Gs: Satellitenetworks

public mobile &fixed networks

private residential &fixed networks

Page 3: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

3

Motivazioni

• Ampia varieta’ di sistemi di comunicazione wireless

– differenti frequenze operative,

– tecniche di modulazione,

– tecniche di codifica,

– protocolli,

– etc.;

• Ogni sistemi richiede terminali ed infrastrutture dedicate

• Algoritmi “simili”

• Potenza di calcolo a disposizione

standard radio

Page 4: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

4

requisiti

Frequenze operative

• Stessi standard presentano differenti frequenze operative a seconda dell’area geografica

• Terminali multi-band

• Nuovi standard (UMTS, WLAN)

• Applicazioni VoIP basate su piattaforme multi-standard

Page 5: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

5

Applicazioni

Algoritmi comuniAlgoritmi comuni•• Stima del tempo di arrivoStima del tempo di arrivo•• Schemi di ModulazioneSchemi di Modulazione•• CodificatoriCodificatori

Servizi ComuniServizi Comuni•• GPSGPS•• GALILEOGALILEO•• UMTSUMTS

Riutilizzo delle piattaforme esistentiper realizzare servizi multi-standard

SOFTWARE DEFINED RADIOSOFTWARE DEFINED RADIO

Software Defined Radio

Possibile soluzione:

Software Defined Radio: insieme di tecnologie Hardware e Software che permettono di ottenere architetture riconfigurabili per reti e terminali wireless;

• Utilizzo dello stesso HW per diverse funzioni;

• Configurazione dinamica a seconda del contesto operativo;

• Si ottiene con:

– Hardware “flessibile”;

– Livello di interfaccia Software

Page 6: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

6

IL RICEVITORE SDR IDEALE

• Vantaggi:

– Assenza di messa a punto, fenomeni di invecchiamento, economicita’

– Flessibilita’, Portabilita’, Compatibilita’ e riutilizzo del SW.

XX

LOLO

XX

VCOVCO

BPFBPF LNALNA

DOMINIO RFDOMINIO RF

BPFBPF AGCAGC

DOMINIO IFDOMINIO IF BANDA BASEBANDA BASE

A/DA/D DSPDSPLPFLPFA/DA/D DSPDSP

DIGITALDIGITAL

Campionamento IF

• Si sfrutta il fenomeno dell’aliasing per campionare direttamente il segnale RF, ottenendo una replica in banda base dello spettro del segnale.

BPFBPF LNALNA

f0

f

PXX(f)

2W

f

PDD(f)

0

2W

A/DA/D LPFLPFDIGITALEDIGITALE

ffss << f<< f00

• fs > 2W• fs = f0/k

BW > fBW > f00

Page 7: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

7

Antenna• Wideband• Multi-band• Basse Perdite

FRAME • Voice• Data• Video

Virgola mobile su DSP

DDC & FILTER• Down-Conversione digitale• Filtraggio e Decimazione• AGC Digitale

Virgola fissa su HW dedicato (ASIC o FPGA)

Modulation & Mapping• FFT (Fast Fourier Transform)• NCO (Numeric Controlled Oscillator)• Demodulatore• Correlatore•

Virgola Fissa su FPGA

FEC (Frame Error Correction)• Reed-Solomon• De-Interleaver• Viterbi Decoder• Turbo Decoder• CRC

Virgola fissa/mobile su FPGA o DSP veloci

Stato dell’Arte

ADC• Ampiezza di banda (200MHz)• Alte velocita’ (100MS/s)• Alte risoluzioni (12-14 bit)

A/DA/D DDC &DDC &FILTERFILTER

MODULATIONMODULATION& MAPPING& MAPPING FECFECRFRF FRAMEFRAME

PCPC

BUS DI CONTROLLOBUS DI CONTROLLO

Sezione RF• Filtraggio• Conversione IF• Amplificazione

Analogica

PC• Controllo•Interfaccia utente

MAPPATURA

100MS/s 500KS/s

HWHW

SWSWRTOS (Real Time Operative System)RTOS (Real Time Operative System)

ApplicazioniApplicazioni & & ServiziServizi

ASIC FPGA DSP GPPFis

ico

Fis

ico

MA

CM

AC

Rete

Rete

HAL (Hardware Abstraction Level)HAL (Hardware Abstraction Level)

Java VM RDL

50Kb/s 10Kb/s 8Kb/s

802.11 Bluetooth UMTS

A/DA/D DDC &DDC &FILTERFILTER

MODULATIONMODULATION& MAPPING& MAPPING FECFEC FRAMEFRAMERFRF

Page 8: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

8

Riprogrammabilita’

ProgrammaProgramma ApplicativoApplicativo

Compilatore

File File EseguibileEseguibile • Applicazioni SW• Algoritmi DSP• Coefficienti dei filtri• Funzioni HW

uP SoftwareDSP FirmwareFPGA Bit Stream

• Bug Fixes• Aggiornamenti• Nuovi Servizi

API, DriversAPI, Drivers

RTOSRTOS

HWHW FPGA DSP uP

LibreriaLibreriauP UI uP UI

DSP FWDSP FWHDL CodeHDL Code

Localizzazione SU SDR

A/DA/DCorrezioneCorrezione

OffsetOffsetFrequenzaFrequenza

FFTFFT64 Punti64 Punti DescramblerDescrambler

CorrezioneCorrezioneOffsetOffsetFaseFase

KalmanKalmanFilterFilter

DemodulazioneDemodulazioneQAM, QPSKQAM, QPSK

ViterbiViterbiDecoderDecoder

Implementazione di un ricevitore 802.11g con integrati i servizi di localizzazione su piattaforma SDR

FPGAFPGA

DSPDSP

Tempo Tempo didiarrivoarrivo DatiDati

Page 9: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

9

Architettura sistema radio

•• AntennaAntenna: interfaccia col mezzo

•• RF FrontRF Front--EndEnd: filtraggio e conversione A/D, D/A

•• Banda BaseBanda Base: Elaborazione del segnale

•• ControlloreControllore: gestione dei sotto-sistemi

sistema radio

•• High Speed SPHigh Speed SP: modulazione/de-modulazione

•• Low Speed SPLow Speed SP: protezione errore (co/decodifica)

•• Protocol StackProtocol Stack: gestione canale

•• Controllo localeControllo locale: gestione HW, SW

•• Human InterfaceHuman Interface: periferiche I/O utente

Page 10: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

10

Evoluzione sistema radio

SISTEMA RADIO TRADIZIONALE

• Campionamente secondo Nyquist

• Tecniche DSP solo per banda base

• Utilizzato in TACS (ITALY) e AMPS (USA) con Frequency

Division Multiplexing.

Page 11: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

11

Ultimate SDR

• Campionamente IF (A/D e D/A wideband)

• Tecniche DSP utilizzate per tutte le funzioni

• Terminali multibanda e multimodo

STAto dell’arte SDR

• Front-End a banda larga

• Campionamento IF di intere porzioni di spettro

• Tecniche DSP utilizzate per le funzioni a basso bit rate

• Terminali multibanda e multimodo

Page 12: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

12

PArtizionamento parte digitale

• High Speed: Filtraggio, up/down-conversione, NCO,

modulazione

• Low Speed: co/decodifica, interleaving, mapping, frame

processing

Partizionamento funzionale

• Il sistema SDR puo’ essere partizionato

funzionalmente in due parti:

–– RADIO FRONTRADIO FRONT--ENDEND si occupa dell’elaborazione RF

analogica

• ANTENNA

• SEZIONE RF (analogica)

• ADC e DCA

–– RADIO BACKRADIO BACK--ENDEND si occupa del processing digitale del

segnale

Page 13: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

13

Radio back-end

• Front-end Digitale (DFE)

• Processing in Banda Base

Hardware per SDR

• La piattaforma ideale per il SDR e’ costituita da DSP programmati con SW

• Alcuni compiti vanno ancora svolta con HW dedicato

Processing LoadProcessing Load per la gestione di un canale UMTS a 384Kbps

Page 14: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

14

Performance vs capability

•• ASICASIC (Application Specific IC)

•• FPGAFPGA (Field Programmable Gate Array)

•• DSPDSP (Digital Signal Processor)

•• GPPGPP (General Porpouse Processor)

Technology evolution

Page 15: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

15

Hardware per SDR

• Non esiste una tecnologia migliore di un’altra

• I diversi dispositivi offrono diversa “granularità”

• Il progetto di un sistema efficiente si ottiene utilizzando un mix dei dispositivi in modo da massimizzare la flessibilità col minor consumo

parallelismo

• In alcuni casi avere a disposizione strutture a granularità fine consente di sfruttare il parallelismo insito in un algoritmo per aumentare la velocità

Page 16: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

16

Fpga vs dsp

ASIC: introduzione

• Gli ASIC sono circuiti integrati dedicati a svolgere particolari funzioni

• Forniscono la soluzione piu’ efficente in termini di area occupata e consumo

• Non sono riconfigurabili

• Hanno un ciclo di sviluppo molto lungo (1-2 anni)

• Il costo di sviluppo è molto alto (100K$)

• Non possono essere testati se non alla fine del ciclo di sviluppo come prodotto finito

• Frequenze operative dell’ordine di 100MHz

Page 17: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

17

ASIC: tecnologia

• Sono costituiti da una matrice di porte logiche configurabili dall’utente

• Il progettista decide quali porte mettere e come collegarle per svolgere particolari funzioni

• Il circuito viene dato alla fonderia che si occupa della costruzione

ASIC: flusso di sviluppo

Page 18: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

18

ASIC: descrizione vhdl

• La descrizione del circuito viene fatta attraverso Hardware Description Language (VHDL o Verilog)

• Forniscono diversi livelli di astrazione:– Behavioral

– RTL (sintetizzabile)

– Strutturale

• Modellano strutture HW digitali

• Portabilità

ASIC: descrizione vhdl

q

qb

RSFFset

resetab

c

ab

centity rsff isport ( set :in bit;

reset : in bit;q,qb : buffer bit );

end rsff;

architecture rsff_struct_a of rsff iscomponent nand_gate

port ( a, b : in bit ;c : out bit );

end component ;begin

nand_1: nand_gateport map ( a => set, b => qb, c => q );

nand_2: nand_gateport map ( a => reset, b => q, c => qb );

end rsff_struct_a ;

Page 19: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

19

ASIC: simulazione

• Il circuito viene simulato verificando che le funzionalità vengono imlpementate nel modo desiderato

A

B

C

D

BCLK

DFFd q

clk

D_EXT

Q

0

1

2

3

ASIC: sintesi

• Particolari software, detti sintetizzatorisintetizzatori, traducono la descrizione in un circuito costituito da porte logiche che svolge la funzione voluta

Page 20: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

20

fpga: introduzione

• Le FPGA sono circuiti HW configurabili

• Sono costituiti da una matrice di blocchi configurabili e da una rete di interconessione programmabile

• I circuiti vengono partizionati in blocchi logici, mappati e routati

fpga: schema

Page 21: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

21

fpga: introduzione

• La granularità e’ più grossa rispetto agli ASIC

• Forniscono unaa soluzione meno efficente in termini di area occupata e consumo rispetto agli ASIC

• Vengono programmate specificando la funzione dei singoli blocchi e come questi vengono collegati tra loro e con i pin di I/O

• Hanno un ciclo di sviluppo breve (<1 anno)

• Basso costo di sviluppo (<10K$)

• Possono essere testati durante il design

• Frequenze operative minori di 100MHz

fpga: stato dell’arte

• Il segmento delle FPGA è quello a crescita maggiore nell’industria dei semiconduttori

• Due grandi società in contrapposizione fra loro:– Xilinx

– Altera

• Integrazioni di macro hard-wired e soft-wired sempre piu’ complesse:– DSP blockset

– GPP

– Collegamenti Hi-speed

– RAM

– FIFO

– Protocol interface (USB, FireWire)

Page 22: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

22

fpga: flusso di sviluppo

fpga: altera

Page 23: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

23

fpga: altera apex 20K

fpga: altera apex 20K

Page 24: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

24

fpga: altera apex 20K

fpga: altera apex 20K le

Page 25: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

25

fpga: altera apex 20K le

fpga: xilinx virtex 4

Page 26: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

26

fpga: xilinx virtex 4

CLB

PowerPC 405

xDSP

dsp: introduzione

• I DSP sono processori che eseguono in maniera molto efficiente operazioni MAC

• Il processing avviene eseguendo un particolare programma: si caricano i dati dalla memoria, si eseguono calcoli e si scrive risultato in memoria

• Inizialmente programmati in Assembler per le migliori performance, oggi si usa il C

• Semplicemente caricando un nuovo programma si cambia il compito eseguito

• Offrono flessibilità a scapito dell’efficienza

• Parallelismo SIMD

Page 27: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

27

dsp: stato dell’arte

dsp: flusso di sviluppo

Page 28: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

28

dsp: debug

dsp: TI TMS320C6000

Page 29: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

29

dsp: TI TMS320C6000

dsp: TI TMS320C6000

• Basata su un’architettura VLIW (Very Long Instruction Word)

• 64 registri a 32 bit

• Memoria cache a 2 livelli

• Più unità in parallelo permettono di eseguire operazioni multiple per ciclo di clock: 2 motliplicatori a 32 bit e 6 ALU indipendenti

• Co-processori:– Viterbi Co-Processor (VCP): configurabile, supporta fino a

500 8Kbps canali voce AMR

– Turbo Co-Processor (TCP): configurabile, supporta fino a 6 canali UMTS a 2Mbps o 32 a 384Kbps

Page 30: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

30

dsp: TI TMS320C6000

PPEERRIIPPHHEERRAALLSS

Central Central ProcessingProcessing

UnitUnit

Internal MemoryInternal Memory

Internal BusesInternal Buses

ExternalExternalMemoryMemory

dsp: TMS320C6000 instruction set

ArithmeticArithmeticABSABSADDADDADDAADDAADDKADDKADD2ADD2MPYMPYMPYHMPYHNEGNEGSMPYSMPYSMPYHSMPYHSADDSADDSATSATSSUBSSUBSUBSUBSUBASUBASUBCSUBCSUB2SUB2ZEROZERO

Program CtrlProgram CtrlBBIDLEIDLENOPNOP

LogicalLogicalANDANDCMPEQCMPEQCMPGTCMPGTCMPLTCMPLTNOTNOTORORSHLSHLSHRSHRSSHLSSHLXORXOR

Data MgmtData MgmtLDB/H/WLDB/H/WMVMVMVCMVCMVKMVKMVKLMVKLMVKHMVKHMVKLHMVKLHSTB/H/WSTB/H/W

Bit MgmtBit MgmtCLRCLREXTEXTLMBDLMBDNORMNORMSETSET

Page 31: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

31

dsp: TMS320C6000 ADDRESS Space

Byte AddressByte Address

FFFF_FFFFFFFF_FFFF

0000_00000000_0000 64K x 8 Internal64K x 8 Internal(L2 cache)(L2 cache)

Internal MemoryInternal MemoryUnified (data or Unified (data or progprog))4 blocks 4 blocks -- each can beeach can beRAM or cacheRAM or cache

OnOn--chip Peripheralschip Peripherals0180_00000180_0000

External MemoryAsync (SRAM, ROM, etc.)Sync (SBSRAM, SDRAM)

256M x 8 External2

256M x 8 External3

8000_00008000_0000

9000_00009000_0000

A000_0000A000_0000

B000_0000B000_0000

256M x 8 External0

256M x 8 External1Level 1 Cache4KB Program4KB DataNot in map CPUCPU L2L2

64K64K

4K4KPP

4K4KDD

dsp: TMS320C6000 data path

AADD

InternalInternalMemoryMemory

x32x32AADD

ExternalExternalInterfaceInterface

AADD

x32x32

PeripheralsPeripherals

can perform 64can perform 64--bit data loads.bit data loads.‘‘C67x C67x

Data Data AddrAddr -- T1T1 x32x32

Data DataData Data -- T1T1 x32/64x32/64

Data Data AddrAddr -- T2T2 x32x32

Data DataData Data -- T2T2 x32/64x32/64

AAregsregs

BBregsregs

Program Program AddrAddr x32x32

Program DataProgram Data x256x256PCPC

DMA DMA AddrAddr -- ReadRead x32x32

DMA DataDMA Data -- ReadRead x32x32

DMA DMA AddrAddr -- WriteWrite x32x32

DMA DataDMA Data -- WriteWrite x32x32

DMADMA

Page 32: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

32

dsp: AD tiger shark

gpp: introduzione

• I GPP sono processori RISC general porpouse

• Elevata frequenza di clock (2GHz)

• Il processing avviene eseguendo un particolare programma: si caricano i dati dalla memoria, si eseguono calcoli e si scrive risultato in memoria

• Programmati con linguaggi ad alto livello

• Soluzione meno efficiente ma più versatile

• Parallelismo SIMD e multi-core

• Estensioni a 64 bit

Page 33: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

33

gpp: stato dell’arte

• Tre grandi contendenti:– IBM PowerPC

– Intel Pentium IV

– AMD Athlon64

• Possono implementare funzioni complesse solo su blocchi a basso bit rate (decodifica FM)

• Generalmente vengono utilizzati per controllo e frame processing

gpp: flusso di sviluppo

• Ambiente di sviluppo formato da compilatore, debugger e loader;

• Lo sviluppo puo’ essere fatto su una piattaforma diversa da quella di destinazione: ad es. si sviluppa codice PowerPC (target) su architetture x86 (host).

• Il codice viene poi caricato sulla macchina target come un normale programma eseguibile.

• Si possono realizzare piattaforme SDR molto semplici per bassi bit rate utilizzando convertitori A/D e D/A della scheda audio

Page 34: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

34

Architettura software

• Viene resa indipendente dallo strato HW attraverso l’uso:– Hal

– API, drivers

• Per riutilizzare il SW bisogna prevedere:– Moduli parametrici

– Massimizzare le similitudini fra le diverse interfacce

• La programmabilità ad alto livello è ottenuta con compilatori linkati allo strato HW

riconfigurabilità

Può essere ottenuta in due modi:

• Staticamente all’accensione il sistema può essere riconfigurato per gestire:– Una nuova interfaccia radio

– Nuove funzionalità

• Dinamicamente, mentre il sistema è in funzione vengono cambiati alcuni parametri dei sottoblocchi– Guadagno dell’AGC

– Banda dei filtri

– Frequenza di demodulazione

Page 35: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

35

rdl

• E’ un linguaggio compilato per descrivere signal processing graphs

• Offre due tipi di costrutti:–– ModulesModules: costituiscono gli elementi di processing del

sistema

–– AssembliesAssemblies: sono grafi costituiti da moduli e sottoassembly collegati fra loro per realizzare funzioni di processing

• Altri oggetti:–– Porte: Porte: interfaccia del modulo verso l’esterno

–– StreamStream: rappresenta un collogamento dove passano i dati

–– CanaleCanale: descrive il messaggio che viaggia in uno stream

Rdl: assembly

Page 36: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

36

Piattaforme software defined radio

• Diverse piattaforme software defined radio

• Non esiste uno standard

• E’ possibile implementare piattaforme custom a seconda delle esigenze

• Stessi algoritmi SW vengono implementati su piattaforme HW diverse a seconda della complessità

gnuradio

• Piattaforma SW definita come open source (www.gnu.org/software/gnuradio)

PC

Page 37: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

37

Universal software radio peripheral

• Utilizzata nella piattaforma GNURadio

• Utilizzata come front-end RF e high-speed back-end per la ricezione e trasmissione

• Convertitore A/D 64MSps, 12 bit, 200MHz

• Convertitore D/A 128MSps, 14 bit

• È corredata di una FPGA Altera CICLONE

• Si interfaccia ad un PC che esegue i compiti di signal processing attraverso una porta USB 2.0

• Non è previsto alcun DSP

• Sistema modulare, asservito ad un PC

• Costo contenuto ($450)

Universal software radio peripheral

Page 38: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

38

Universal software radio peripheral

• 4 converitori A/D

• 4 convertitori D/A

• Interfaccie RF su daugtherboard

– dual raw coax connection

– dual 50-800 MHz RX, 8 MHz IF bandwidth

– 420 - 450 MHz amateur band RX + TX

– 902 - 928 MHz amateur band RX + TX

– 1.24 - 1.30 GHz amateur band RX + TX

– 2.30 - 2.45 GHz amateur band RX + TX

Universal software radio peripheral

• Il fattore che limita maggiormente il sistema è la banda disponibile per il collegamento col PC: la porta USB fornisce un throughput di 32MB/s half-duplex

• Il formato di I/O e’ 16bit per le componenti I e Q (rappresentazione complessa), risultante in un flusso di 8M campioni complessi al secondo sulla porta USB.

• Questo fornisce un’ampiezza di banda totale di 6MHz.ampiezza di banda totale di 6MHz.

• L’FPGA puo’ implementare fino a 4 up-convertitori e 4 down-contertitori: questo permette di estrarre 1, 2 o 4 canali contemporaneamente dal segnale RF fornito dalla daughterboard.

Page 39: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

39

Flex radio SDR-1000

• Piattaforma HW/SW da interfacciare ad un PC

• SW proprietario su piattaforma Windows

• Supportata in GNURadio 2.0

Flex radio SDR-1000

Page 40: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

40

Flex radio SDR-1000

Flex radio SDR-1000

• Banda 11KHz-65MHz general coverage receiver

• Il controllo dei parametri viene fatto attraverso la porta parallela

• A/D e D/A converter nella scheda audio

Page 41: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

41

Flexcom SDR-3000

• Piattaforma HW/SW in standard cPCI (http://www.spectrumsignal.com/products/sdr/sdr_3000.asp)

• Famiglia di schede contenti FPGA, DSP, RF, ADC e DCA

• Parte SW proprietaria

• Supporta fino a 4 canali indipendenti, half o full duplex, tra 500KHz e 3GHz con una banda IF fino a 16MHz

Flexcom SDR-3000

Page 42: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

42

Flexcom SDR-3300: RF

• 4 ADC 14bit@80MHz• 4 DAC 14bit@160MHz

Flexcom SDR-3350: RF

• 2 ADC AD9430 12bit@200MHz• 2 ADC AD9755 14bit@200MHz

Page 43: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

43

Flexcom SDR-3100: FPGA

Flexcom SDR-3500: GPP (powerpc g4)

Page 44: Software Defined Radio - Comlab · Software Defined Radio Dr. Ing. Alessandro Di Nepi (dinepi@uniroma3.it) Università degli Studi “Roma TRE” Dipartimento di Elettronica Applicata

44

Flexcom SDR-8310: DSP (TMS320C64x)

La vostra piattaforma

• Potete progettare e costruire la vostra piattaforma software defined radio su componenti commerciali