Sviluppo di un correlatore in tempo reale per applicazioni di prospezione acustica bidimensionale...

Post on 01-May-2015

218 views 4 download

Transcript of Sviluppo di un correlatore in tempo reale per applicazioni di prospezione acustica bidimensionale...

Sviluppo di un correlatore in tempo reale per applicazioni di prospezione acustica

bidimensionale

Laureando:

Francesco Armani

Relatore:

Antonio Boscolo

Correlatori:

Giuseppe Boscolo

Alessandro Cont

OBIETTIVI

Dispositivo embedded per l’elaborazione dati

Da inserire in uno strumento di misura– Tempo di elaborazione <50ms

SPECIFICHE

Sequenza dati digitaliLunghezza: 8000 elementiAmpiezza: 1bitVelocità: 1Mbit/s

Acquisizione e memorizzazione

Elaborazione sequenze

Oggetto della misura

Testa di misura

Elaborazione

SPECIFICHE

Due sequenze consecutive differiscono per:

– Rumore

– Ritardo variabile (Profilo di ritardo)

X1[n] = f[n] + N1[n]

X2[n] = f[n + [n]] + N2[n]

ESTRAZIONE PROFILO DI RITARDO

Ritardo variabile:– Come prima ma

correlazione di sottosequenze

Ritardo costante:– Correlazione dei due segnali Rxy– Ricerca del massimo

X1

X2

X

CALCOLO DELLA CORRELAZIONE

Somma di convoluzione

C[k]=nX1[n]X2[n+k]FFT e IFFT

Caso binario: AND, incrementa e shift Profondità limitata a 20bit

Algoritmo veloce Dispositivi dedicati

Realizzazione del dispositivo

Spazio di memoria per risultati intermedi

CALCOLO DELLA CORRELAZIONE

Numero di operazioni

– Soluzione full software: 4*106

– Soluzione mista: 0.7*106 SW

0.16*106 HW

LA SCELTA: ARCHITETTURA MISTA

– Operazioni ripetitive ma semplici– Realizzabile con componenti discreti– Meno lavoro al controllore

CORRELATORE HARDWARE

IN

CONTROLLORE

Correlazione di sottosequnze

Ricerca del massimo Memorizzazione indice

ELABORAZIONE

Start Scansione sequenze

Leggi valore correlazione e

confronta con max

Fine sequenze

?

Incrementa shift sequenza

Shift = 20?

End

Acquisizione 2 sequenze

No

Si

Si

No

ELABORAZIONE

Problema ai bordi delle sottosequenzeoverlapp

SVILUPPO

Ogni ciclo di clock:– Una lettura in memoria– Un prodotto logico– Un’accumulazione

SVILUPPO

Memorie ad accesso direttoContatori per gestire gli indirizzi

Accesso sequenziale ai dati

VERIFICA FUNZIONALITÀ

Software in LabView per l’emulazione testa di misura

Interfaccia USB-FIFO con il controllore

VERIFICA FUNZIONALITÀ

X1[n]

20

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

n4000 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380

D.U.T

’[n]

+N1[n]

+N2[n] [n] X2[n]

VERIFICA FUNZIONALITÀ

Misura Segnale/Rumore:

Rapporto di potenze

dxxfxPx )(2

TEST-1: ASSENZA DI RUMORE

20

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

n4000 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380

TEST-2: S/N=1

20

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

n4000 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380

TEST-3: S/N=0,25

20

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

n4000 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380

TEST-4: S/N=0,25, MEDIA

20

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

n4000 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380

CONCLUSIONI

Alimentazione 5V, 150mA

Velocità di acquisizione Fino a 60Mbit/s

Lunghezza massima sequenze memorizzabili

64kbit

Numero sequenze memorizzabili

2, espandibile fino a 32

Tempo di correlazione, 20 bit di profondità

8kbit 23 ms

2kbit 6 ms

CONCLUSIONI

Obiettivi

Flessibilità

Possibilità integrazione

Vincoli di tempo (<50ms)

Sistema embedded

Controllore generico