• Non ci sono risultati.

2 - Specifiche di progetto.

N/A
N/A
Protected

Academic year: 2021

Condividi "2 - Specifiche di progetto."

Copied!
46
0
0

Testo completo

(1)

2 - Specifiche di progetto.

Le specifiche al quale il sistema per la stabilizzazione video deve sottostare sono varie e di varia natura. Alcune specifiche sono dettate dalla necessità di realizzare un progetto in grado di riconoscere movimenti ampi e veloci di immagini vicine in tempo reale; altre sono richieste a causa dell'utilizzo della scheda elettronica in ambito militare: funzionamento in un range di temperature molto esteso.

2.1 - Sistema in tempo-reale.

Una delle specifiche più stringenti del progetto, è l'esigenza di ottenere una stabilizzazione video in tempo reale, ovvero la latenza dell'immagine all'interno della FPGA deve essere inferiore ai 40 ms. In realtà questo è un limite molto ampio che è dettato, soprattutto, dal fatto che il segnale video in uscita dalla FPGA deve essere rielaborato da altri sistemi, che richiedono un segnale video con un ritardo minimo rispetto all'immagine in uscita dal decoder. Infatti i sistemi a valle della scheda di stabilizzazione devono elaborare il flusso video e infine interagire tramite degli asservimenti con il mondo esterno, quindi è necessario che il flusso video sia il più possibile in tempo reale, affinché tutti i sistema funzionino correttamente. In definitiva il limite fissato come specifica, per il tempo massimo di ritardo, è di 40 ms, ma con l'intenzione di realizzare un sistema che riesca ad allontanarsi il più possibile da tale limite e quindi ridurre la latenza di una immagine all'interno della FPGA.

Il flusso video in uscita dalla FPGA entra in ingresso a un encoder video che lo trasforma in un flusso video analogico PAL in grado di pilotare un comune schermo televisivo.

(2)

2.2 - Dimensione del vettore di moto.

Un'altra grandezza molto importante, definita come specifica, è la dimensione dei vettori di spostamento. Questa caratteristica del sistema per la stabilizzazione video è stata decisa valutando, approssimativamente, quale possa essere la più grande oscillazione della videocamera installata sui mezzi Oto Melara. Oltre a questa informazione è necessario sapere quale può essere la velocità massima con cui si può muovere la videocamera nello spazio e il tipo di lenti ottiche utilizzate da quest'ultima. Con questi dati è possibile ricavare di quanti pixel può essere traslata una immagine rispetto ad un'altra. Una volta determinata questa quantità è necessario riuscire a realizzare un sistema in grado di ottenere dei vettori di moto di dimensioni maggiori o uguali a tale grandezza. In questo modo si è certi che effettuando un confronto tra due parti di immagini distinte, ma in sequenza, si riesce sempre a trovare un match significativo: non deve accadere che si effettui un confronto tra due immagini completamente differenti. Solitamente si confrontano due immagini: una parte dell'immagine di riferimento rispetto ad un'area di ricerca appartenente all'immagine corrente. Se l'area di ricerca è molto più grande delle dimensioni del blocco di riferimento si possono ottenere vettori di movimento molto grandi. Se invece l'area di ricerca è di dimensioni paragonabili con quelle dell'immagine di riferimento, allora si ottengono vettori di moto di piccole dimensioni. Il problema di avere un area di ricerca piccola è dato dal fatto che se l'immagine si sposta molto rispetto alla sua precedente, può accadere che il blocco di riferimento esca dell'area di ricerca. In questo caso si ottengono dei vettori di moto del tutto causali. Affinché questo non accada, è necessario che lo spostamento massimo tra due immagini sia minore o uguale alla dimensione massima del vettore di moto. Per questo motivo è stato stabilito che la dimensione massima di un vettore sia 50 pixel. Questo significa che preso un blocco dell'immagine di riferimento in dimensioni

(3)

reali, l'area di ricerca deve circondarla: ogni lato dell'area di ricerca deve distare almeno 50 pixel dal lato del blocco di riferimento. Anche in questo caso è necessario precisare che questa è una dimensione sotto la quale non è utile scendere, per il rischio di andare a confrontare due immagini totalmente differenti. Per avere un certo margine di certezza che questo non accada, è necessario avere vettori di moto di dimensioni maggiori, sapendo che, più grande si riesce a calcolare il vettore di moto e più probabilità ci sono che il vettore calcolato sia corretto.

2.3 - Numero di vettori di moto.

Il numero dei vettori di moto che devono essere calcolati per realizzare la stabilizzazione video, è una caratteristica molto importante del progetto. Infatti riuscire a calcolare molti vettori assicura, nella fase successiva del sistema, la possibilità di avere più dati da elaborare e quindi di avere maggiori informazioni. Dato che non è sempre possibile o utile utilizzare tutti i blocchi dell'immagine di riferimento, è stato deciso il numero minimo di vettori di moto che devono essere calcolati per permettere una futura stima del movimento. Il numero minimo è 200. Questo numero è stato fissato abbastanza grande in modo tale che possano essere eliminati i vettori soggetti a errori e, contemporaneamente, restino abbastanza vettori di moto da poter ricavare dei dati anche per via probabilistica, come per l'estrazione della moda.

2.4 - Dimensione del blocco di riferimento.

La specifica del blocco di riferimento è una scelta di compromesso tra la volontà di avere molti blocchi per riuscire a ricostruire lo spostamento dell’immagine in tre dimensioni e la necessità di avere dei confronti non casuali tra blocchi.

(4)

Nella scelta delle dimensioni dei blocchi è necessario riuscire ad ottenere una buona accuratezza dei vettori di movimento, assieme a una complessità accettabile del calcolo dell’algoritmo. Risulta necessaria una scelta di compromesso:

● blocchi di piccole dimensioni, come quattro pixel per lato, riducono

l’accuratezza dei vettori di moto: a parità di finestra di ricerca, si confrontano meno pixel dell’immagine di riferimento;

● utilizzare blocchi di piccole dimensioni rispetto alla finestra di ricerca

consente di ottenere vettori di spostamento più grandi e quindi capaci di seguire grandi variazioni tra le due immagini;

● usare aree di ricerca piccole rispetto al blocco di riferimento riduce il

numero di confronti da effettuare e quindi riduce la complessità di calcolo dell’algoritmo.

Fatte queste considerazioni e ricordando che per effettuare i confronti viene utilizzata soltanto la componente di luminanza del flusso video con una risoluzione di otto bit, si è scelto una dimensione del blocco di riferimento di 16 x 16 pixel: la stessa della codifica MPEG, con la quale si ottengono (720 / 16 = 45 e 576 / 16 = 36) 45 x 36 = 1620 blocchi per ogni immagine. Questo significa che l'area di ricerca deve essere almeno di 116 pixel: 50 (dimensione del vettore di moto) + 50 (dimensione del vettore di moto) + 16 (dimensione di un lato del blocco di riferimento) = 116 pixel per lato. In questo modo si ottengano 100 x 100 confronti con numeri sufficientemente elevati da poter fa si che i calcoli necessari, per trovare un confronto ottimo, non si assomiglino troppo. Cioè, usando blocchi di riferimento di grandi dimensioni, si ottengono risultati parziali per calcolo dei vettori di moto con cifre anche molto elevate che dovrebbero essere molto distanti tra loro. Quindi la ricerca del minimo o del massimo, a seconda degli algoritmi utilizzati per il confronto, risulta facilitata. Infatti è auspicabile che, avendo numeri di grandi dimensioni, i risultati dei confronti restituiscano numeri molto distanti tra loro; così che

(5)

il minimo o massimo siamo abbastanza distanti dagli altri risultati ottenuti e non accada che, intorno ad essi, ci siano dei valori molto vicini. Questi potrebbero significare che il confronto sia stato fatto su parti di immagini con pochi dettagli e quindi soggette a errori.

2.5 - Specifiche hardware.

Oltre alle specifiche del sistema interno, il progetto deve anche sottostare a precise caratteristiche dettate dall'hardware. Quest'ultimo, infatti, deve essere in grado di funzionare in un range di temperature molto esteso: da -40 a 85°C.

Inoltre è richiesto che il segnale video in ingresso e in uscita dalla scheda sia di tipo analogico PAL.

2.5.1 - Range di temperatura.

Il sistema per la stabilizzazione video deve essere in grado di funzionare con temperature che variano da -40 a 85°C. Questo range di temperature è supportato solamente da dispositivi industriali o militari. Per questo motivo tutti i dispositivi utilizzati appartengono a tale classe. La memoria, il decoder e l'encoder, sono dispositivi di tipo industriale e per tanto sono in grado di funzionare nel range di temperatura voluto anche senza dissipatori o elementi che aumentino la temperatura minima. La FPGA, pur appartenendo alla classe dei dispositivi industriali, non è sempre in grado di funzionare con temperature che variano da -40 a 85°C. Il problema, per questo dispositivo, nasce quando la temperatura esterna si avvicina a quella massima consentita, ma non in tutti i casi; infatti la FPGA è programmabile e a seconda del tipo e della quantità di risorse utilizzate al suo interno, dissiperà una potenza maggiore o minore. Il produttore del dispositivo fornisce un foglio di calcolo che permette di calcolare il

(6)

consumo di potenza all'interno del dispositivo, conoscendo le risorse utilizzate[6]. Questo programma consente di stimare, prima che il dispositivo sia programmato, qual'è la temperatura esterna massima che la FPGA Stratix II è in grado di sopportare. Anche se i calcoli sul consumo di potenza sono molto precisi, il risultato resta comunque approssimativo, infatti il programma calcola la dissipazione della potenza basandosi su delle stime delle risorse utilizzate. Questo tool deve essere utilizzato prima che il progetto sia terminato e che la scheda sia prodotta per riuscire a capire se, con le risorse che si pensa di utilizzare e le frequenza voluta, è possibile utilizzare il dispositivo nel range di temperature industriale, o se sono necessari dissipatori e ventole di raffreddamento.

Per effettuare la stima si è scelto di porsi in una condizione di worst-case e di effettuare i calcoli sulla potenza dissipata considerando di utilizzare tutte le risorse interne alla FPGA. Un altro parametro che può essere settato all'interno del foglio di calcolo è la probabilità di commutazione (Toggle %), che nel caso si è lasciata a un valore pre-impostato dal costruttore di 12.5%. È anche possibile specificare se vi è un dissipatore o un flusso di aria che possa raffreddare il dispositivo.

Si nota che il dispositivo è in grado di lavorare con la temperatura esterna voluta, solo se le frequenze di clock restano abbastanza basse, cioè dell'ordine di qualche decina di MHz. In realtà per avere va certezza che tutto funzioni all'interno del progetto è necessario riuscire a utilizzare un clock con frequenza di almeno un centinaio di MHz. Per questo si è scelto di utilizzare come frequenza di lavoro predefinita del dispositivo FPGA 108 MHz. A questa frequenza la FPGA è in grado di funzionare nel range di temperature voluto anche senza un dissipatore che comporterebbe dei problemi ad essere installato, perché occuperebbe più spazio rispetto alle altre schede presenti nel rank e per questo potrebbe creare problemi. In realtà si nota che se la percentuale di commutazioni raddoppia la temperatura esterna non può andare oltre una settantina di gradi, se no si

(7)

rischia di danneggiare il dispositivo. Per questo motivo non è esclusa la necessità di dover utilizzare dissipatori.

2.5.2 - Standard video analogico e digitale.

In ingresso alla scheda arriva un segnale video analogico di tipo PAL. Questo standard prevede 25 immagini al secondo formate da 625 righe trasmesse in analogico. In realtà solo 576 righe contengono informazioni utili, cioè immagini; le rimanenti 49 righe sono poste nella parte più alta e più bassa dello schermo. In particolare non sono visualizzate 24 righe e ½ in alto e 24 righe e ½ in basso rispetto all’immagine sul monitor[7].

Lo standard del segnale televisivo PAL è nato per la televisione con tubo a raggi catodici (CRT). Per illuminare un punto dello schermo è necessario che il fascio di elettroni all’interno del televisore colpisca il punto voluto con una data intensità. Sulla superficie interna, lo schermo è ricoperto da un materiale (solitamente Fosforo) che si illumina di colori differenti a seconda dell’intensità del fascio elettronico. Per visualizzare un’intera immagine è necessario che il fascio di elettroni percorra tutta la superficie dello schermo. Inoltre i fosfori non restano luminescenti per molto tempo e quindi, anche per visualizzare un immagine statica, è necessario rintracciare continuamente la stessa. Non solo, si deve anche fare in modo che le righe iniziali di un’immagine non si attenuino troppo o addirittura di spengano, prima che sia finita la scansione completa dell’immagine. Per eliminare questo problema, chiamato sfarfallio, si trasmettono le righe alternate: prima le dispari, poi le pari. In una prima passata del fascio sullo schermo, si trasmettono le righe dispari, nella seconda si mandano a schermo quelle pari. Il segnale video così ottenuto, per la stessa immagine, traccia due volte l’asse verticale (traccia e ritraccia) e 625 volte quello orizzontale (prima righe pari e poi righe dispari). Una singola immagine sullo schermo è quindi il risultato di due parti della stessa,

(8)

mandate a schermo in tempi diversi: le due parti sono dette primo e secondo semi-quadro o campo pari e campo dispari.

Analizzando i tempi dello standard PAL si nota che la durata di

un’immagine sullo schermo è: 40ms = n immagini ty ty back

secondo − ⋅ + ⋅ = ° ⋅ 2 2 25 1 . dove ty è il tempo di traccia che è uguale al tempo di ritraccia e ty-back è il

tempo di ritorno della spazzola nella posizione iniziale, anche questo Illustrazione 2 1: Percorso del fascio di elettroni che colpisce lo schermo nel percorso di traccia, detto primo semi-quadro (dalla riga 1 alla 313), e ritraccia, detto secondo semi-quadro (dalla riga 313 alla 625).

(9)

uguale per le due passate. Si ottiene quindi:

ty-back + ty = 20 ms ty = 18.720 ms ty-back = 1.280 ms

Questo significa che in un intervallo di tempo di 20 ms devono essere trasmesse 313 righe, da cui si ricava che: 313⋅ (tx + txback)= 20 ms quindi

(tx + tx-back) = 64 μs e tx = 52 μs tx-back = 12 μs dove tx è il

tempo per la scansione di una riga e tx-back è il tempo necessario per

portare il pennello nella posizione iniziale della riga successiva[7].

Illustrazione 2 2: Grafico della deflessione verticale del fascio di elettroni in funzione del tempo.

(10)

La videocamera trasmette il segnale con le modalità sopra descritte, ma affinché questo possa essere elaborato dall’FPGA è necessario che il segnale venga trasformato da analogico a digitale. Per realizzare la conversione viene usato un chip dedicato: ADV7183B. Questo è in grado di riconoscere automaticamente il tipo di standard di trasmissione su cui è basato il segnale analogico e convertirlo in digitale secondo lo standard YCbCr 4:2:2. Il dispositivo utilizza il bus I²C per permettere la regolazione di tutti i parametri al suo interno.

Il chip che si occupa della conversione del segnale in digitale lavora in tempo reale e quindi campiona e quantizza tutte la righe del segnale PAL così come gli vengono fornite dal segnale analogico di ingresso: prima le righe dispari poi le pari. Secondo lo standard YCbCr una riga è formata da 720 pixel, cioè viene campionata 720 volte. In totale, quindi, si otterrà un segnale digitale formato da 25 fotogrammi al secondo di 625 righe Illustrazione 2 3: Grafico della deflessione orizzontale del fascio di elettroni in funzione del tempo.

(11)

ciascuno, come lo standard PAL; ma le righe, al posto di essere trasmesse in analogico, sono trasmesse in digitale. Anche in questo caso si perdono 49 linee, quindi le informazioni utili sono formate da 720 x 576 pixel.

Lo standard digitale YCbCr prevede al suo interno vari formati per la trasmissione dei dati: 4:4:4 e 4:2:2.

Lo standard YCbCr 4:2:2 implementato dal dispositivo prevede di trasmettere per ogni pixel, 1 o 2 Byte in parallelo[8]. Se si sceglie la codifica a 8 bit, il segnale di uscita lavora ad una frequenza di 27 MHz: si utilizzano 4 bit per la luminanza Y, segnale che restituisce un’immagine a scala di grigi, 2 bit per Croma blu e 2 bit per Croma red. Questi ultimi due segnali sono utilizzati per restituire il colore all’immagine campionata. Mentre il segnale di luminanza Y viene calcolato per ogni pixel, gli altri due segnali vengono campionati in modo alternato uno rispetto all’altro. Quindi per il segnale Y si hanno 720 x 576 valori, mentre per i segnali Cr e Cb si otterranno 360 x 576 campioni per ciascun frame. Questo metodo è utilizzato per risparmiare spazio di memoria. In realtà però per ricostruire l’immagine correttamente si duplicano le colonne dei segnali Cb e Cr per recuperare il formato 720 x 576 pixel.

Il risultato finale di tutta questa operazione si ottiene analizzando i segnali di uscita del dispositivo: mentre i bit relativi al segnale Y variano con una frequenza massima di 27 MHz i segnali di Cb e Cr variano ad una frequenza di soli 13.5 MHz.

Nella trasmissione digitale a 16 bit in parallelo il dispositivo usa 8 bit a 13.5 MHz per Y, 8 bit a 13.5 MHz per Cb e 8 bit a 13.5 MHz per Cr. Inoltre per assicurate il corretto sincronismo tra dispositivi, il convertitore fornisce in uscita i valori dei pixel, il clock e dei segnali di sincronismo di riga, di colonna e di immagine.

(12)

2.5.3 - FPGA Altera Stratix II EP2S15 Industriale con

484 pin e speed-grade 4.

I dispositivi della famiglia Stratix II contengono una architettura bidimensionale basata su righe e colonne per implementare la logica. Una serie di interconnessioni su righe e colonne di varia lunghezza e velocità permette il collegamento tra le matrici di blocchi logici (LABs: Logic Array Blocks), blocchi strutturati per realizzare delle memorie ram (M512RAM, M4KRAM e M-RAM) e blocchi dedicati a processare segnali digitali (DPS: Digital Signal Processing) [9].

Ciascun LAB è composto di otto moduli di logica adattabile (ALMs: Adaptive Logic Modules). L'ALM è il blocco logico base dei dispositivi della famiglia Stratix II che provvede all'efficiente implementazione delle Illustrazione 2 4: Struttura hardware dei dispositivi della famiglia Altera Stratix II.

(13)

funzioni definite dall'utente. Ogni ALM può pilotare altri 24 ALM a sua volta.

Oltre agli otto ALMs ,ogni blocco LAB, comprende anche una catena per il riporto in operazioni di somma o differenza, blocchi logici condivisi per effettuare operazioni di somma o differenza, segnali di controllo per il LAB, interconnessioni locali e una serie di registri. Le interconnessioni locali permettono di connettere tra loro i vari blocchi ALMs all'interno di un LAB, mentre i blocchi ALMs possono essere pilotati sia dall'uscita di ALMs stessi, sia dalle righe e colonne dedicate all'interconnessione tra LAB. Inoltre i blocchi logici vicini a un LAB, come DSP o RAM, possono essere pilotati direttamente tramite interconnessioni dirette e vicine al blocco, allo scopo di minimizzare l'uso di interconnessioni di riga o colonna dedicate al collegamento tra LAB.

(14)

I blocchi LAB contengono al loro interno una parte di logica che permette il controllo dei blocchi ALM di cui è composto.

Illustrazione 2 7: Struttura della logica di controllo di un blocco LAB.

Illustrazione 2 6: Struttura delle interconnessioni dirette tra ALM e blocchi M512RAM, M4KRAM, M-RAM, DSP e IOE.

(15)

I segnali di controllo comprendono tre clock e altrettante abilitazioni per questi ultimi,due segnali di reset asincroni, un segnale di clear sincrono, un segnale di preset/load e un segnale di caricamento dati sincrono. In totale si ottengono 11 segnali di controllo per ogni ALM. La riga composta da sei fili dedicati ai clock e le interconnessioni locali generano i segnali di controllo.

Il blocco ALM contiene una svariata quantità di risorse, divise tra due LUT (Look-Up Table) adattabili (ALUT: Adaptive Look-Up Table). Ad ogni singola ALUT arrivano più di otto ingressi; quindi ogni blocco ALM può realizzare varie combinazioni di due funzioni distinte. Il risultato è che ogni ALM può realizzare una qualsiasi funzione di sei ingressi e alcune di sette. Oltre alle risorse basate su LUT ogni ALM contiene due registri, due sommatori completi (Full Adder), alcune connessioni per la propagazione del riporto nelle operazioni, connessioni per la realizzazione di calcoli dividendo la logica su più ALM e collegamenti per realizzare una catena di registri. In aggiunta ogni blocco ALM è in grado di pilotare ogni tipo di interconnessione.

(16)

Ciascun blocco ALM ha due modalità di uscita che possono pilotare connessioni locali, di riga e colonna e dirette, verso altri tipi di blocchi. Si Illustrazione 2 9: Struttura dettagliata di un singolo ALM.

(17)

ha anche la possibilità di poter pilotare una uscita tramite il registro e allo stesso tempo far uscire fuori dalla cella il risultato del sommatore. Questo significa che è possibile utilizzare la logica combinatoria appartenente al blocco ALM per pilotare porte esterne e contemporaneamente usare il registro per scopi differenti e in genere non correlati con l'utilizzo della logica combinatoria. Inoltre all'interno del singolo blocco si ha già la possibilità di poter portare l'uscita del singolo registro senza utilizzare linee di connessione esterne.

Il blocco ALM può essere utilizzato con differenti configurazioni:

● Normale: realizza una generica funzione combinatoria. Utilizza fino a

più di otto ingressi ma riesce a realizzare completamente soltanto combinazioni di sei ingressi. Si ha la possibilità di ottenere due funzioni differenti per ogni ALM o una singola funzione di sei ingressi. Inoltre si ha la possibilità di utilizzare gli stessi segnali di ingresso per LUT differenti.

Illustrazione 2 10: Utilizzo delle LUT nel modo normale di operare di un ALM.

(18)

È possibile utilizzare la logica combinatoria indipendentemente dall'utilizzo dei registri.

● LUT estese: indicato per realizzare funzioni di sette ingressi. Gli

ingressi devono passare da un multiplexer due a uno, i cui ingressi sono due LUT a cinque ingressi con quattro ingressi condivisi.

● Aritmetico: ideale per realizzare sommatori, sottrattori, contatori,

Illustrazione 2 12: Configurazione LUT estesa della cella ALM, nel caso in cui si voglia realizzare una funzione di sette ingressi.

Illustrazione 2 11: Struttura della cella ALM nel caso in cui si utilizza la logica combinatoria indipendentemente dai registri.

(19)

accumulatori, funzioni per il calcolo della parità dei bit e confronti. Un ALM configurato in questo modo utilizza due ingressi composti da quattro segnali che pilotano due LUT le cui uscite alimentano i sommatori. Questi ultimi possono utilizzare anche il riporto se necessario.

● Aritmetica condivisa: è possibile realizzare una somma a tre

ingressi. Ogni LUT è pilotata da quattro ingressi e calcola la somma o il riporto di tre ingressi contemporaneamente. Il riporto è collegato a una via dedicata che è detta catena del riporto, la quale entra nel sommatore dedicato di un ALM. In questo modo è possibile ridurre il numero di stadi necessari alla realizzazione di un sommatore generico.

(20)

● Catena di registri: questa configurazione da la possibilità ai vari

blocchi ALM di poter realizzare una catena di registri. Si ha la possibilità di utilizzare le LUT come una unica LUT a sei ingressi indipendentemente dai registri, che possono essere realizzati per creare uno shift register. Questa implementazione consente una connessione molto più veloce tra i vari ALM e dato che il canale di routing è dedicato non si sprecano connessioni esterne.

Illustrazione 2 14: LAB e ALM in configurazione a catena di registri.

(21)

Dopo aver descritto il funzionamento della cella base del dispositivo Altera Stratix II è necessario capire come questi blocchi siano collegati tra loro. Altra utilizza un metodo detto MutliTrack che permette di realizzare connessioni sia all'interno che all'esterno dei blocchi con varie velocità e lunghezza nelle connessioni. Questo metodo consiste nell'interconnessione di righe e colonne che coprono distanze fisse. In tal modo è possibile predire e riportare, i risultati ottenuti su di un dispositivo, anche a dispositivi con dimensioni fisiche e densità di logica differenti.

Esistono righe dedicate al collegamento di blocchi LAB, DSP e RAM che consistono in:

● Connessioni dirette tra LAB e blocchi vicini. Permettono la

connessione locale tra vari LAB o collegamenti diretti tra LAB e blocchi RAM e DSP. Questo tipo di connessione si estende alla destra e alla sinistra di ogni cella LAB e permette a quest'ultima di realizzare collegamenti con blocchi vicini senza dover utilizzare le risorse di riga.

● Connessioni R4 che coprono una distanza equivalente a quattro

(22)

blocchi LAB lungo la riga. Questo tipo di collegamento permette di collegare non solo quattro celle LAB ma anche tre celle LAB e un blocco M512RAM o due blocchi LAB e una cella M4KRAM oppure, in fine, due blocchi LAB con un blocco DSP. La connessione R4 può pilotare o essere pilotata da LAB ed è disponibile alla destra e alla sinistra di ogni blocco per le connessioni veloci distanti al massimo quattro LAB. Inoltre questo tipo di connessioni permettono di collegare anche blocchi IOE e possono essere collegate anche ad altri tipi di linea come le R24 o C4 (Linea di connessione che copre 4 LAB nel verso della colonna) e C16 (Linea di connessione che copre 16 LAB nel verso della colonna).

● Connessioni R24 che coprono una distanza equivalente a

ventiquattro blocchi lungo la riga. Sono linee di connessione molto lunghe che permettono di collegare blocchi distanti tra loro. Ma questo tipo di linea di connessione non è collegata direttamente ai blocchi logici, ma soltanto ad altre linee di connessione come R4, C4 e C16.

Oltre alle connessioni di riga esistono anche quelle di colonne, che si differenziano dalle precedenti perché permettono interconnessioni dedicate tra LAB vicini. Le interconnessioni di colonna sono:

● Dedicate all'aritmetica condivisa, alla realizzazione di catene per il

riporto in operazioni matematiche e alla realizzazione di catene di registri tra ALM dello stesso LAB. Le connessioni verticali locali possono essere evitate se è possibile utilizzare le connessioni dedicate tra ALM vicini. Nel caso in cui non sia possibile posizionare gli ALM di uno stesso blocco vicini in modo tale da poter utilizzare le connessioni dedicate, allora vengono utilizzate le connessioni verticali locali.

(23)

● Connessioni C4 che coprono una distanza equivalente a quattro

blocchi LAB longo la colonna e possono essere pilotate da qualsiasi blocco vicino:LAB, RAM, DSP e IOE. Inoltre ciascun LAB può pilotare le connessioni di colonna C4 che possono essere collegate tra loro allo scopo di coprire una distanza maggiore nel collegamento.

Illustrazione 2 16: Struttura delle interconnessioni di colonna per artimetica condivisa, carena di riporto di operazioni matematiche e carena di registri.

(24)

● Connessioni C16 che coprono una distanza equivalente a sedici

blocchi LAB longo la colonna.

(25)

C a te na A rit me tic a c o nd iv is a C a te na d i r ip o rt o C a te na d i r e g is tr i C o nne ss io ni lo ca li C o nne ss io ni d ir e tt e R 4 R 2 4 C 4 C 1 6 A LM M 5 1 2 R A M M 4 KR A M D S P IOE c o lo nna IOE r ig a Catena Aritmetica condivisaCatena di riportoCatena di registriConnessioni locali √ √ √ √ √ √ Connessioni diretteR4 √ √ √ √ √ R24 √ √ √ √ C4 √ √ √ C16 √ √ √ √ ALM √ √ √ √ √ √ √ M512RAM √ √ √ √ M4KRAM √ √ √ √ DSP √ √ √ IOE colonna √ √ √ IOE riga √ √ √ √

Tabella 1: La tabella mostra in modo più evidente le varie interconnessioni tra i blocchi costituenti il dispositivo FPGA Altera Stratux II.

I blocchi di memoria M512RAM sono banchi di memoria a doppia porta con 512 bit di memoria, più i bit di parità per arrivare a un totale di 576 bit. Questi blocchi sono organizzati in righe con una lunghezza massima di 18

(26)

bit e possibilità di accesso a doppia porta semplice con una frequenza massima di clock di 500 MHz. L'accesso a doppia porta semplice consiste nella possibilità di utilizzare una porta soltanto in modalità di ingresso e l'altra in modalità uscita. Questi blocchi logici possono essere utilizzati anche per realizzare altre funzioni logiche come dei registri FIFO (First In First Out), shift register o in modalità ROM. Inoltre è possibile utilizzare due clock differenti: uno per ogni porta.

Anche i blocchi di memoria M4KRAM sono banchi di memoria a doppia porta. Questi hanno 4096 bit di memoria, più i bit di parità per arrivare a un totale di 4608 bit. Questi blocchi sono organizzati in righe con una lunghezza massima di 36 bit e possibilità di accesso a doppia porta completa con una frequenza massima di clock di 550 Mhz. La differenza tra questi due blocchi consiste nelle dimansioni del blocco di memoria e Illustrazione 2 18: Struttura delle connessione per un blocco M512RAM.

(27)

nel modo di utilizzo di quest'ultima, infatti gli M512RAM possono essere organizzati come memoria classica a singola porta o come memoria a doppia porta semplice: una porta è adibita all'ingresso dei dati mentre l'altra è l'uscita. I blocchi M4KRAM, invece, supportano anche la modalità di utilizzo a doppia porta completa, cioè si ha la possibilità di utilizzare le due porte sia in ingresso che in uscita.

I blocchi M-RAM sono funzionalmente identici ai blocchi M4KRAM, con la differenza che hanno un numero maggiore di bit di memoria. Questi banchi sono composti da 512 Kbit più parità per un totale di 589824 bit di memoria, organizzabili in righe da 144 bit e utilizzabili con una frequenza massima di clock di 420 MHz.

Il dispositivo utilizzato per il progetto è il più piccolo, in termini di blocchi logici, rispetto a quelli della famiglia Stratix II e non ha al suo interno i Illustrazione 2 19: Struttura delle connessioni per un blocco M4KRAM.

(28)

blocchi di memoria M-RAM.

I blocchi DSP possono implementare otto moltiplicatori 9 x 9 bit, quattro moltiplicatori 18 x 18 bit o un moltiplicatore 36 x 36 bit, tutti con precisione completa e possibilità di avere anche un sommatore o un sottrattore. Questi blocchi contengono anche degli shift-register per applicazioni DSP come filtri digitali con risposta a impulsi finiti (FIR) o con risposta a inpulsi infiniti (IIR). Questi blocchi possono lavorare con segnali con frequenza massima di 450 MHz.

Ciascun pin di ingresso e uscita di un dispositivo della famiglia Stratix II è alimentato da un blocco IOE (Input / Output Element) localizzato alla fine delle righe e colonne dei LAB. I blocchi IOE sono fisicamente posizionati ai bordi del dispositivo.

(29)

Ogni blocco IOE contiene al suo interno buffer bidirezionali e sei registri per memorizzare i dati e un latch per avere la possibilità di avere una comunicazione bidirezionale in qualsiasi momento. I sei registri sono così distribuiti: due per il dato in ingresso, più un latch; due per i dati in uscita; gli ultimi due sono utilizzati per i segnali di abilitare l'uscita. In questo modo è possibile pilotare anche memorie DDR.

Bisogna notare che questi blocchi sono posizionati sulla periferia del chip Altera e quindi devono essere distinti i blocchi IOE che si trovano sul lato destro e sinistro del chip da quelli che si trovano in alto e in basso. L'architettura interna di questo blocco resta invariata, ma cambia molto la loro connessione all'interno del chip. Un'altra particolarità molto interessante di questi blocchi consiste nel poter configurare la tensione dii uscita sul pin e l'impedenza vista dall'uscita allo scopo di adattarsi nel miglior modo possibile alle varie famiglie logiche alle quali può essere connesso il pin di uscita della FPGA.

Illustrazione 2 21: Schema delle interconnessioni per blocchi IOE disposti sul lato destro e sinistro del chip (orizzontali) e quelli disposti sul lato alto e basso (verticali).

(30)

Un'altra architettura molto importante all'interno della FPGA è la rete di distribuzione del clock. I dispositivi della famiglia Stratix II dispongono di una struttura di tipo gerarchica per i segnali di clock. Più blocchi PLL (Phase-Loked Loops) sono distribuiti su chip in modo tale da avere la possibilità di generare più segnali di clock e con controlli differenti per mantenere la frequenza e il duty cicle voluto.

All'interno di ogni dispositivo vi è una rete di distribuzione globale del clock che consente di portare in ogni regione del chip i segnali di clock globali. In totale i segnali di clock globali sono sedici e possono essere generati sia dai PLL presenti sul chip, come dalla logica interna, così come possono essere presi direttamente da pin esterni.

Illustrazione 2 22: Rete di distribuzione globale dei sedici segnali di clock.

(31)

Oltre a questa rete globale esistono altre trentadue reti locali che permettono di distribuire in modo capillare il segnale: su ogni lato del chip vi è un dispositivo PLL che alimenta otto reti regionali. All'interno di una singola regione vi è, a sua volta, una rete di distribuzione gerarchica del clock che permette di avere al massimo ventiquattro clock distinti minimizzando il ritardo e il problema dello skew del segnale di clock.

È possibile suddividere il chip in quattro quadranti alimentati della rete globale del clock; ogni quadrante è suddiviso in otto reti regionali per la distribuzione del clock. Quindi ogni regione ha a disposizione ventiquattro segnali di clock, consistenti in sedici segnali di clock globali e otto segnali esclusivamente regionali.

Illustrazione 2 23: Rete di distribuzione regionale dei segnali di clock.

(32)

I ventiquattro segnali vengono poi distribuiti ai blocchi LAB e IOE di riga e colonna tramite dei multiplexer che permettono di selezionare quale segnale di clock deve pilotare la riga dei LAB e IOE o la colonna dei blocchi IOE.

Ogni segnale di clock che esso si globale, regionale o sia preso da un pin esterno ha un proprio blocco di controllo che serve a selezionare la fonte del clock e a permettere l'abilitazione o la disabilitazione di quest'ultimo. I blocchi che controllano i clock globali hanno la possibilità di commutare dinamicamente la sorgente del clock, mentre quelli regionali non dispongono di questa funzione.

I dispositivi Altera della famiglia Stratix II dispongono di due tipi di PLL:

● Enhanced PLL. Il dispositivo utilizzato dispone di due PLL di questo

tipo che permettono un controllo avanzato del clock. Lo scopo principale di un PLL è quello di sinconizzare la fase e la frequenza di un clock ,che può essere esterno o interno al dispositivo, rispetto a un clock di riferimento.

Illustrazione 2 24: Rete di distribuzione gerarchica del clock per ogni quadrante.

(33)

I blocchi PLL della Stratix II allineano il fronte in salita del clock di riferimento al fronte in salita del clock reazionato utilizzando un rilevatore di fase-frequenza (PFD: Phase-Frequency Detector). Il fronte in discesa del clock è stabilito dalle specifiche del duty cycle voluto. Il dispositivo PFD genera un segnale positivo o negativo che pilota un VCO (Voltage Controlled Oscilletor) : se il segnale è positivo significa che il seganle di clock reazionato deve aumentare la frequenza per riuscire a far coincidere i fronti di clock, altrimenti deve diminuirla. Sull'uscita del blocco PFD è applicato un circuito a pompa di carica e un filtro che permettono il controllo del segnale che entra ne VCO. Quindi se il segnale in uscita dal PFD cresce il circuito a pompa di carica cede corrente all'oscillatore controllato in tensione e quindi fa aumentare la frequenza di oscillazione, altrimenti il circuito a pompa di carica assorbe corrente dall'ingresso dell'oscillatore controllato in tensione. Il filtro posto tra il circuito a pompa di carica e il VCO serve ad eliminare glitch ed a evitare il sovraccarico e sul segnale in ingresso all'oscillatore controllato in Illustrazione 2 25: Schema circuitale di un ENHANCED PLL.

(34)

tensione. Un contatore (fino a m) è inserito nella reazione allo scopo di poter realizzare segnali di clock con frequenze maggiori rispetto a quella di ingresso. In questo modo il VCO può generare una frequenza che è m volte la frequenza in ingresso al PLL. Inoltre la frequenza di riferimento del blocco PFD è uguale alla frequenza in ingresso al PLL divisa per un fattore n: la divisione viene implementata usando un semplice contatore con modulo n-1. Quindi la frequenza di clock che viene reazionata, cioè applicata in ingresso al PFD, è fissa e uguale alla frequenza di riferimento che la stessa per tutti gli ingressi del blocco PFD. L'uscita del VCO alimenta sei contatori che permettono di dividere la frequenza di clock di sei fattori differenti allo scopo di ottenere sei clock distinti ma multipli di una solita frequnza.

● FAST PLL. All'interno del dispositivo vi sono quattro FAST PLL, uno

per ogni lato del chip. Il principio di funzionamento è identico a quello del PLL descritto in precedenza, ma in questo caso si hanno meno uscite e minori fattori da poter modificare [9].

(35)

2.5.4 - Memoria Ram sincrona statica a doppia porta

512 K x 18 bit: IDT70V7339S.

La memoria sincrona statica a doppia porta IDT70V7339S ha 512 x 1024 linee di 18 bit, per un totale di circa 9Mbit (9437184 bit) di memoria, organizzati in 64 banchi di memoria indipendenti formati da 8 x 1024 righe di 18 bit ciascuna[10]. Questa memoria è basata su di un blocco di memoria SRAM anziché su di un chip di memoria a doppia porta. In questo modo si offre la possibilità di cambiare il banco di memoria al quale si vuole accedere riducendo il costo per bit, ma mantenendo molti dei vantaggi dati dalle memoria a doppia porta.

Illustrazione 2 27: Diagramma funzionale a blocchi della memoria SRAM a doppia porta IDT70V7339S.

(36)

Le due porte del dispositivo consentono accessi indipendenti a banchi differenti della memoria. L'accesso a uno specifico banco è controllato direttamente dall'utente tramite un apposito banco di pin per ogni porta. Quindi ogni porta della memoria può accedere a un qualsiasi banco, a meno che questo non sia già utilizzato dall'altra porta. Nel caso in cui entrambe le porte tentino di accedere allo stesso banco, nello stesso momento, nessuna di queste due avrà la possibilità di farlo e il dato in ingresso o in uscita risulta non valido. Oltre a tutti i segnali sincroni con il clock vi è anche un segnale asincrono che permette di abilitare le uscite. Inoltre integrato nel dispositivo vi è anche un contatore interno che consente la lettura di dati consecutivi in memoria, senza che si debba ogni volta trasmettere l'intero indirizzo. Altri due pin del dispositivo sono dedicati ai segnali /CE0 e CE1. Un livello logico alto di tensione su /CE0 o un

livello logico basso su CE1 permette la disabilitazione della circuiteria

interna della memoria per ogni ciclo di clock. In questo modo è possibile ridurre il consumo energetico e espandere la dimensione della memoria. Nel progetto vengono utilizzate due memorie esterne, che possono essere viste come una unica memoria utilizzando i segnali /CE0 e CE1: tutti gli

altri segnali di controllo sono collegati a entrambe le memorie, tranne che i due segnali in esame. Utilizzando un segnale detto CTRL è possibile vedere le due memorie come se fossero una unica: CTRL deve essere collegato a /CE0 nella memoria A e a CE1 nella memoria B. Quindi il pin CE1 della memoria A deve essere collegato a un livello logico alto e fisso,

mentre il pin /CE0 della memoria B deve essere collegato a un livello logico

basso e costante. In questo modo si è riusciti a considerare le due memoria come se fossero una unica con un numero di righe raddoppiato.

(37)

La memoria IDT70V7339S ha due modalità di funzionamento, distinte per i tempi di attesa prima che un dato letto sia disponibile in uscita: Flow-Through o Pipelined. La modalità di funzionamento che consente un utilizzare la memoria con una frequenza di clock maggiore è quella Pipelined, quindi si è scelto di utilizzare questa per controllare la memoria. Nella modalità Pipelined, la memoria riesce ad accedere ai dati con un clock di frequenza massima di 133 MHz, ma nel caso di lettura di un dato, si deve aspettare un ciclo di ritardo prima che il dato risulti stabile in uscita.

Illustrazione 2 28: Schema delle connessioni che permette di controllare due memorie come se fossero una unica di dimensioni doppie. IDT70V7339 /CE0 CE1 Control Inputs IDT70V7339 /CE0 CE1 Control Inputs A B CTRL VDD GND Inputs

(38)

Nel caso in cui si debba leggere indirizzi consecutivi è possibile utilizzare il contatore interno alla memoria che consente di leggere o scrivere iniziando dall'ultimo banco e indirizzo inserito dall'utente. Inoltre il contatore, una volta giunto al termine di un banco inizia dall'indirizzo zero del banco successivo, in modo automatico[10].

Illustrazione 2 29: Diagramma temporale per la lettura di un dato in memoria. Il diagramma mostra il caso generale in cui B1 e B2 siano due dispositivi distinti che controllano le due porte del

dispositivo. tCYC2-min=7.5ns fCYC2-MAX= 133Mhz, tCH2-min=2.6ns, t

CL2-min=2.6ns, tSA-min=1.8ns, tHA-min=0.5ns, tSC-min=1.8ns, tHC-min=0.5ns,

tCD2-MAX=4.2ns, tDC-min=1.8ns, tCKHZ-MAX=4.2ns, tCKHZ-min=1ns, t

(39)

Illustrazione 2 31: Diagramma temporale che descrive come controllare la memoria nel caso in cui si voglia partire da un

indirizzo noto e scrivere quelli successivi. tSD-min=1.8ns, t

HD-min=0.5ns.

Illustrazione 2 30: Diagramma temporale che descrive come controllare la memoria nel caso in cui si voglia partire da un

indirizzo noto e leggere quelli successivi. tSAD-min=1.8ns, t

(40)

2.5.5 - Decoder Video Multiformato: ADV7183B.

Il decoder video integrato ADV7183B riconosce e converte automaticamente segnali televisivi analogici in banda base, compatibili con gli standard internazionali NTSC, PAL e SECAM, in flussi video digitali 4:2:2 a 8 o 16 bit secondo gli standard CCIR656[8]. Il cuore del decoder è costituito da un convertitore analogico-digitale con una accuratezza di 10 bit che consente una conversione video di alta qualità. Infatti, in questo modo, si riesce ad ottenere una qualità molto alta sui segnali video a 8 bit. L'ADC è sincrono ad un clock generato internamente a 54 Mhz che consente un campionamento molto accurato e consente un filtraggio digitale dei dati in uscita, che risultano essere sincroni con il segnale di clock di uscita che non è altro che una divisione del clock utilizzato per il campionamento. I dodici canali di ingresso del decoder accettano segnali video composti, S-Video, YCrCb in un esteso numero di combinazioni; anche le uscite digitali sono configurabili.

Illustrazione 2 32: Diagramma funzionale a blocchi del decoder video ADV7183B.

(41)

I canali di ingresso analogico entrano in un multiplexer che consente di scegliere quale tra i dodici segnali deve arrivare ad uno dei tre convertitori analogico-digitali. Inoltre gli ingressi analogici possono essere selezionati manualmente tramite i segnali di controllo del bus I²C, oppure settando i registri interni al dispositivo in modo tale che si riesca a selezionare gli ingressi voluti.

Il blocco fondamentale all'interno dell'ADV7183B è il processore per definire gli standard (SDP: Standard Definition Processor). Questa parte del dispositivo riceve in ingresso i segnali provenienti dal convertitore analogico digitale, insieme ai segnali di controllo, provenienti dal bus I²C e il segnale di clock generato internamente. I segnali video in ingresso possono essere divisi in due parti: il segnale video con l'informazione per la luminanza e i segnali video per l'informazione di colore. Il canale video della luminanza e quello del colore vengono processati da vari blocchi. Il primo blocco, che agisce sia sulla luminanza che sul canale di colore, è il blocco Digital Fine Clamp che serve per condizionare il segnale in ingresso affinché possa essere filtrato nel miglior modo possibile dal blocco successivo. Il canale del colore, prima di essere filtrato, deve essere demodulato, in modo tale che si riesca a separare le informazioni relative ai due colori fondamentali. Successivamente i segnali, luminanza e colori, vengono decimati e filtrati con filtri selezionabili a seconda dello standard e dei casi. Segue il blocco per il controllo automatico del guadagno e quello di ricampionamento. Di seguito si trovano dei banchi per la riduzione del rumore nei segnali e quindi si arriva al blocco che unisce i canali di luminanza, colore e informazioni per il sincronismo audio e video. In uscita dal blocco SDP non ci sono solamente i segnali digitalizzati di luminanza e di colore, ma anche altri segnali adibiti alla sincronizzazione delle uscite con il flusso video in ingresso. Per questo motivo vi è una interfaccia in uscita che consente di avere dei segnali che danno informazioni sull'immagine digitalizzata e sul flusso video in generale.

(42)

Illustrazione 2 33: Esempio di funzionamento nello standard di trasmissione PAL dei segnali di sincronismo verticale, orizzontale e di campo rispetto al flusso video in uscita dal dispositivo ADV7183B.

(43)

Il segnale Field consente di capire quale parte dell'immagine viene trasmessa: righe pari o dispari di un fotogramma. Il segnale HS fornisce informazioni sull'inizio dell'informazione utile trasmissione di una riga, mentre il segnale VS stabilisce se la riga trasmessa contiene informazioni riguardanti il fotogramma o serve esclusivamente alla ricostruzione del flusso video in uscita. Inoltre tutti questi segnali di uscita sono sincroni ai segnali LCC1 e LCC2, due segnali di clock ricavati da quello generato internamente e utilizzato per il campionamento a 54 Mhz. Il segnale LCC1 esce a una frequenza di 27 Mhz, mentre LCC2 a 13.5 Mhz.

Il segnali di sincronismo orizzontale può essere impostato dall'utente che può scegliere all'interno della riga dove far cadere sia il fronte in salita che quello in discesa di tale segnale. Per praticità è stato scelto di utilizzare le impostazioni già indicate dal costruttore.

I pixel in uscita dal dispositivo sono conformi allo standard 4:2:2. Questo tipo di flusso video in uscita può essere trasmesso tramite una uscita a 8 o 16 bit:

Illustrazione 2 34: Impostazioni preselezionate dal costruttore per il segnale di sincronismo HS: C - 284 cicli di clock LCC1, D - 720Y + 720C = 1440 cicli di clock LCC1, E - 1728 cicli di clock LCC1.

(44)

● Se si configurano i registri interni in modo tale che l'uscita sia a 8

bit, significa che soltanto la parte alta del bus a 16 bit in uscita contiene dati, mentre la parte bassa del bus è in modalità three-state o alta impedenza. In questo caso i dati sono sincroni con il clock LCC1 a 27 Mhz, ma vengono trasmesse alternativamente dalla stessa uscita le informazioni di luminanza e di colore secondo lo standard YCbCr: Cb – Y – Cr – Y – Cb – Y – Cr – Y – Cb ...

● Nel caso in cui si configurino i registri in modo tale da utilizzare tutti

e sedici i bit del bus di uscita, allora la parte alta del bus viene utilizzata esclusivamente per l'informazione di luminanza, mentre la parte bassa del bus dati viene utilizzata alternativamente dai segnali di colore Cr e Cb. In questo caso i segnali risultano sincroni con il clock LCC2 a 13.5 Mhz e quindi ad ogni fronte di clock si ha a disposizione due informazioni contemporaneamente: YCb – YCr - YCb – YCr ...[8]

2.5.6 - Encoder video digitale – analogico: ADV7179.

L'ADV7179 (Chip Scale PAL/NTSC Video Encoder with Advanced Power Management) è un encoder da digitale a analogico a tre uscite a elevata frequenza[11].

Questo dispositivo dispone un ingresso digitale che gli permette di ricevere in ingresso segnali video YCbCr 4:2:2. Inoltre richiede in ingresso tre segnali di sincronismo video che permettono la corretta ricostruzione del sincronismo video. Questi devono essere trasmessi secondo le caratteristiche date dal costruttore.

(45)

Illustrazione 2 35: Diagramma funzionale dell'encoder video ADV7179.

Illustrazione 2 36: Schema che mostra i tempi di conversione da digitale ad analogica.

(46)

Le tre uscite sono pilotate da convertitori digitali – analogico a dieci bit che possono controllare l'ingresso di uno schermo PAL o NTSC.

Anche questo dispositivo è controllabile tramite un bus I²C; inoltre è in grado di trasformare il flusso video in uscita da 4:2:2 a 4:4:4 per poter disporre di tutte le informazioni necessarie per pilotare un monitor [12]. Illustrazione 2 37: Diagramma temporale che mostra come controllare i segnali di sincronismo video digitali.

Riferimenti

Documenti correlati

 l'introduzione, l'analisi e la progettazione di jESLet-Plus, ovvero delle estensioni allo strumento di simulazione. jESLet scelte, adeguatamente modellate tramite l'uso

- La minima altezza degli spazi sottostanti ai soppalchi deve essere pari a 2,4 m; almeno la medesima altezza deve intercorrere tra il pavimento finito dei soppalchi ed il

riportare una descrizione sintetica degli strumenti volti ad analizzare l'andamento, il gradimento, l'utilità delle attività formative. 3 - RISORSE UMANE (DOCENTI

11 Aspetti gestionali: compiti del proponente e degli eventuali partner Specificare gli impegni di natura professionale, economico-finanziario e strumentale previsti a carico di

Con la stessa simulazione, valutando il G C sia alla frequenza immagine, sia alla RF ed effettuandone la differenza, si ottiene il dato sulla reiezione della frequenza immagine

Considerando l’uso del modello probabilistico di Gumbel, con parametri stimati con i momenti ordinari, calcolare i coefficienti di variazione dei massimi annui di precipitazione

Per chiarire la differenza che esiste tra intensità media in una durata d ed intensità marginali di un pluviogramma, rappresentare i 2 pluviogrammi ottenuti (Gumbel e GEV)

Una volta fatto ciò, i valori di picco e le medie (calcolate in un apposito sotto circuito) verranno inviate alla memoria e salvati nei suoi registri interni, che vengono scritti