Manuale Utente

 

 

2.1 Introduzione al software LabVIEW

 

LabVIEW (Laboratory Virtual Instrument Engineering Workbench) è un linguaggio di programmazione grafica che usa le icone invece delle linee di testo per creare le applicazioni.

Rispetto ai normali linguaggi di programmazione basati sul testo, come ad esempio MathLab, in cui le istruzioni determinano l’ordine di esecuzione del programma, LabVIEW usa una programmazione a “diagrammi”, in cui il flusso dei dati attraverso i nodi del diagramma a blocchi determina l’ordine di esecuzione dei VIs e delle funzioni. VIs, o strumenti virtuali, sono programmi LabVIEW che riproducono strumenti fisici come ad esempio oscilloscopi digitali o multimetri digitali.

In LabVIEW è possibile costruire un’interfaccia utente usando un set di strumenti e oggetti. L’interfaccia utente è chiamata Front Panel (esempio in fig 2.1). Si può poi aggiungere codice usando la rappresentazione grafica delle funzioni per controllare gli oggetti del Front Panel. Questo codice sorgente grafico è chiamato G code o Block Diagram Code. Il diagramma a blocchi, Block Diagram (esempio in fig 2.2), contiene questo codice.

Il nostro software “OFDM Simulator” è stato realizzato usando la versione 8.2 di LabVIEW in aggiunta al Modulation Toolkit versione 3.1.

 

                

Fig 2.1: Es. di schermata Block Diagram                  Fig 2.2: Es. di schermata Front Panel

 

 

 

2.1.1 Introduzione al Modulation Toolkit

Il Modulation Toolkit della NI  è un add-on per LabVIEW e contiene diversi VIs (Virtual Instruments) che possono essere usati con l’hardware o in un ambiente di simulazione per realizzare analisi, misurazioni e generazione dei segnali relativi ai sistemi di comunicazione. Il Modulation Toolkit per LabVIEW supporta sia modulazioni digitali (FSK, MSK, PSK, QAM, ASK, and PAM) che modulazioni analogiche (AM, FM, and PM). Il Modulation Toolkit fornisce inoltre funzioni per la generazione di bit PRBS (Pseudo Random Bit Stream), codifica di canale, interleaving, funzioni di equalizzazione, downconversion e upconversion, visualizzazione IQ, simulazione del canale di comunicazione come ad esempio un canale AWGN. Si può utilizzare il Modulation Toolkit per costruire applicazioni che misurano il deterioramento dei segnali, il BER (Bit Error Rate), il rumore di fase, il burst timing, il dritf della portante in frequenza, l’indice di modulazione e molto altro ancora.

 

 

2.2 Presentazione di “OFDM Simulator”

Il software da noi realizzato permette di simulare un sistema di comunicazione basato sulla tecnica di trasmissione multiportante OFDM. L’oggetto della trasmissione è un’immagine bitmap di 8 bit di risoluzione. Il programma mostra come l’immagine viene ricostruita a lato ricevitore, con i relativi pixel errati causati dal disturbo del canale. Inoltre vengono fornite una serie di valori e di grafici che consentono di effettuare un’analisi approfondita della tecnica simulata. Vengono calcolati il valore di Bit Error Rate, i grafici relativi alle costellazioni trasmesse e ricevute, i grafici dello spettro e della forma d’onda del segnale trasmesso.

L’utente può agire su diversi parametri. Può scegliere l’immagine bitmap da trasmettere, il tipo di mapping M-QAM, il numero di sottoportanti, il rapporto Eb/No al ricevitore, la forma dell’impulso di trasmissione, il relativo roll-off e la lunghezza del Ciclic Prefix.

Rispetto agli schemi di trasmissione e ricezione nel capitolo 1, nel nostro software non implementiamo la codifica di canale, per difficoltà implementative con LabVIEW. Inoltre lavoriamo sempre con segnali in banda base, cioè non effettuiamo l’operazione di upconversion e downconversion.

  In questo capitolo sviluppiamo il “Manuale Utente”, dove spieghiamo il Front Panel del nostro programma di simulazione, mentre nel capitolo successivo è dedicato al “Manuale Tecnico”, nel quale analizziamo singolarmente ogni parte del Block Diagram per spiegare approfonditamente il funzionamento del simulatore.

 

 

2.2.1 Front Panel di “OFDM Simulator”

  La schermata del Front Panel del nostro programma OFDM Simulator è mostrata in figura 2.3

 

 

Fig 2.3: Front Panel di “OFDM Simulator”

 

   

2.3 Requisiti Hardware e Software    

Secondo il nostro punto di vista, LabVIEW è un programma che richiede un buon computer per poter lavorare efficientemente. Per buon PC intendiamo:

-          processore equivalente ad un Pentium 4/M a 2.2 GHz;

-          memoria RAM 2 Gbyte;

-          scheda video dedicata di 64 Mbyte con risoluzione 1024x768 pixels;

Il software LabVIEW necessario per poter utilizzare il nostro software è disponibile per le piattaforme Linux, Windows e MacOS.

La versione di LabVIEW necessaria per l’esecuzione di OFDM Simulator è la 8.2, attualmente l’ultima versione in commercio.

La versione del Modulation Toolkit impiegata per lo sviluppo del nostro software è la 3.1. Per la sola esecuzione del nostro software non è necessario avere installato il Modulation Toolkit.

I requisiti minimi invece sono:

-          processore equivalente ad un Pentium 4/M a 1.5 GHz;

-          memoria RAM 1 Gbyte;

-          scheda video con risoluzione 1024x768 pixels;

Infine per lo sviluppo di software in LabVIEW consigliamo una scheda video con due o più uscite video, in modo da utilizzare una configurazione di lavoro multi-schermo per consentire una visione del progetto creato più completa.

 

 

2.4 Manuale Utente: Parametri di Input

2.4.1 Selezione dell’immagine

Come prima operazione, l’utente deve selezionare l’immagine che desidera utilizzare per la simulazione. L’immagine deve essere di formato bitmap (.bmp). Inoltre deve rispettare due vincoli fondamentali:

-          l’immagine scelta deve avere 8 bit di risoluzione;

-          l’immagine non deve avere una dimensione superiore a 200x200 pixel;

Il primo vincolo è stringente, perché altrimenti il programma non funziona. La scelta di usare immagini di 8 bit di risoluzione è stata una nostra scelta progettuale per consentire un’elaborazione della simulazione efficiente.

Il secondo vincolo invece dipende dalla capacità di elaborazione del PC su cui si effettua la simulazione. Con un PC avente i requisiti minimi sopra indicati, bisogna rispettare questa dimensione massima dell’immagine per evitare il crash del sistema. Con un PC con i requisiti consigliati ci si può spingere anche oltre la dimensione 200x200 pixel.

L’utente può selezionare l’immagine, con le caratteristiche precedentemente indicate, cliccando  sull’icona con la cartella gialla. In questo modo si aprirà la finestra di Salva con Nome, figura 2.4(a), e sarà possibile selezionare l’immagine da elaborare e il suo percorso. La figura 2.4(b) mostra la sezione di programma relativa alla selezione dell’immagine.

 

Fig 2.4(a): Finestra per la ricerca dell’immagine

 

Fig 2.4(b): Selezione immagine

A lato dell’immagine selezionata sono presenti due indicatori che rappresentano il flusso di bit di informazione dopo la codifica di sorgente e la sua dimensione.

 

Fig 2.5: Flusso di bit con relativa dimensione a valle della codifica di sorgente

 

Per eseguire una nuova simulazione è necessario procedere ad una nuova selezione dell’immagine seguendo il procedimento appena illustrato.

 

 

2.4.2 Scelta dei parametri di trasmissione

Una volta selezionata l’immagine l’utente può scegliere di modificare i parametri di trasmissione. Il programma ha già preimpostato dei valori di default.

In figura 2.6 è mostrato la sezione in questione.

 

Fig 2.6: Modifica parametri di trasmissione

 

Si può scegliere il valore di M che indica il tipo di mapping QAM che si desidera utilizzare per la formazione della costellazione dei simboli. Ricordiamo che M indica il numero di simboli della costellazione, cioè M=2Nb dove  è il numero di bit che forma il simbolo QAM. Il mapping effettuato è con codifica binaria Gray, ovvero per ogni simbolo della costellazione, esso differisce di un solo bit rispetto agli altri simboli adiacenti. Il valore di default è M=16. In figura 2.7 è mostrato ad esempio, il mapping effettuato con M=16.

 

Fig 2.7: Mapping 16QAM con codifica Gray

 

I possibili valori di M che l’utente può scegliere sono: 4,16,64 che corrispondono a simboli di 2,4,6 bit per simbolo QAM.

Successivamente l’utente può selezionare il numero di sottoportanti che desidera utilizzare per la simulazione. Il valore di default è di 32 sottoportanti.

Scegliendo una sola sottoportante è come se si stesse simulando una trasmissione senza nessun tipo di tecnica multiportante, ovvero una normale trasmissione digitale in banda base su singola portante.

L’utente può scegliere di aumentare le sottoportanti fino a un massimo di 128.

 

L’utente può poi scegliere il tipo di impulso di trasmissione e il relativo valore di roll-off. La forma del filtro dell’impulso di trasmissione che può essere scelta è di tipo:

-          Radice a coseno rialzato;

-          Coseno rialzato;

-          Nessuna;

 

Il valore del roll-off indica l’eccesso di banda rispetto alla soluzione ideale di filtro a seno cardinale (rettangolo perfetto nelle frequenze).

Sempre in figura 2.6 si può notare l’indicatore del Samples per Symbol che consente di specificare il numero di campioni per simbolo e di calcolare di conseguenza, attraverso il symbol rate, la frequenza di campionamento come:

(Symbol rate) * (Samples per symbol) = (Sample rate) (Hz)

 

Il valore di Samples per symbol è un valore critico per quanto riguarda la velocità di elaborazione. Inserendo valori maggiori di 8 campioni per simbolo la simulazione può durare qualche minuto.

Successivamente l’utente  può notare che ci sono due indicatori denominati “Bit per Symbol” e  “Bit per OFDM Symbol”; il primo indica il numero di bit per simbolo QAM (cioè il valore ); il secondo indicatore visualizza il numero di bit per simbolo OFDM che corrisponde a = (Numero sottoportani)*( ).

Infine il programma visualizzerà i valori delle dimensioni della IFFT, del CP, della IFFT+CP e della FFT, figura 2.8.

 

 

 

Fig 2.8: Visualizzazione dimensioni

 

 

 

2.4.3 Scelta del Prefisso Ciclico e visualizzazione del Preamble

In figura 2.9 è mostrato la parte in cui è possibile selezionare la lunghezza del Cyclic Prefix e visualizzare il preamble.

 

Fig 2.9: Modifica del CP e visualizzazione del preamble

 

L’utente può scegliere la lunghezza del prefisso ciclico (CP) che rappresenta la quantità di informazione che deve essere posta in testa al simbolo OFDM.

Nel Front Panel viene inoltre visualizzata la sequenza di bit del preamble scelto automaticamente dal programma e la sua dimensione che corrisponde esattamente alla dimensione di un simbolo OFDM.

 

 

 

2.4.4 Scelta del rapporto Eb/No

Il programma simula la trasmissione attraverso un canale AWGN (Additive White Gaussian Noise).

In figura 2.10 è mostrato il cursore che permette di modificare il valore del rapporto Eb/No in decibel (dB) della forma d’onda complessa ricevuta.

 

Fig 2.10: Selettore Eb/No

 

 

Il rapporto Eb/No rappresenta il rapporto tra l’energia per bit e la densità spettrale di potenza del rumore. Aumentando il rapporto Eb/No migliora la qualità del canale e quindi il BER (Bit Error Rate) diminuisce.

Il range selezionabile varia da 0 a 20dB. 0dB significa canale pessimo. 20dB è un ottimo valore di Eb/No.

 

 

 

2.5 Manuale Utente: Risultati in Output

Il software di simulazione propone a fine esecuzione i seguenti output:

-          Ricostruzione dell’immagine ricevuta;

-          Valore del BER (Bit Error Rate);

-          Grafico della costellazione trasmessa;

-          Grafico della costellazione ricevuta;

-          Grafico dello spettro del segnale trasmesso;

-          Grafico del segnale trasmesso nel tempo;

-          Grafico del segnale ricevuto nel tempo;

-          Grafico del segnale ricevuto dopo l’allineamento;

-          Grafico del segnale ricevuto dopo la decimazione;

I vari grafici sono visualizzabili uno alla volta, selezionando facilmente quello che si desidera osservare con l’apposita barra posizionata sopra il grafico stesso.

Nel paragrafi successivi spieghiamo singolarmente ogni output che la simulazione restituisce dopo l’elaborazione.

 

 

2.5.1 Immagine ricevuta e BER

Viene visualizzata in basso a sinistra del Front Panel l’immagine ricostruita dal flusso di bit ricevuti. Nelle figure successive vengono mostrati alcuni esempi.

 

Fig 2.11: Immagine ricevuta con mapping 16QAM, 64 sottoportanti e con Eb/No=4dB con relativo BER calcolato

 

 

Fig 2.12: Immagine ricevuta con mapping 16QAM, 64 sottoportanti e con Eb/No=10dB con relativo BER calcolato

Il valore del Bit Error Rate viene calcolato mediante confronto diretto bit per bit tra l’immagine ricevuta e l’immagine trasmessa.

Come si può vedere dagli esempi di immagine ricevuta delle figure 2.11 e 2.12, si possono notare la presenza di pixel errati.

 

2.5.2 Grafico della costellazione trasmessa

Il primo dei grafici che vengono creati è semplicemente quello che visualizza il tipo di mapping creato a lato trasmettitore. Un esempio è visualizzato nella figura 2.13.

Fig 2.13: Grafico della costellazione trasmessa

 

2.5.3 Grafico della costellazione ricevuta

Il secondo grafico che viene creato visualizza i simboli ricevuti. Come si può notare, il canale introduce uno spostamento dei punti della costellazione portando ad un eventuale errore di valutazione del punto. Un esempio è visualizzato nella figura 2.14, dove si notano le tipiche “nuvole”.

Fig 2.14: Grafico della costellazione ricevuta

2.5.4 Grafico dello spettro del segnale trasmesso

Viene visualizzato successivamente il grafico relativo allo spettro del segnale trasmesso, cioè viene fatto un plot della trasformata di Fourier del segnale che viene inviato al ricevitore, prima che venga trasmesso sul canale AWGN simulato. Un esempio è riportato in figura 2.15.

 

Fig 2.15: Grafico dello spettro del segnale trasmesso

 

 

2.5.5 Grafico del segnale trasmesso nel tempo

In figura 2.16 è mostrato il quarto grafico che visualizza l’andamento temporale del segnale che viene trasmesso. Con il cursore presente sotto il grafico stesso è possibile scorrere il plot di tutta la forma d’onda.

 

Fig 2.16: Grafico del segnale trasmesso nel tempo

 

2.5.6 Grafico del segnale ricevuto nel tempo

Il successivo grafico, rappresentato in figura 2.17, mostra l’andamento nel tempo del segnale ricevuto dopo l’attraversamento del canale. Si può notare che il segnale ricevuto è il segnale trasmesso con l’aggiunta di un rumore.

 

Fig 2.17: Grafico del segnale ricevuto nel tempo

 

 

2.5.7 Grafico del segnale ricevuto dopo l’allineamento

Il sesto grafico restituisce la forma d'onda allineata nel tempo così che il suo primo campione corrisponde all'istante del primo simbolo ideale, come mostrato in figura 2.18

 

Fig 2.18: Grafico del segnale ricevuto allineato

 

 

2.5.8 Grafico del segnale ricevuto dopo la decimazione

L’ultimo grafico mostra il segnale decimato, figura 2.19. Si può notare che il grafico è lo stesso di figura 2.18  ma con una decimazione di un fattore che dipende dal Samples per Symbol.

 

 Fig 2.19: Grafico del segnale decimato