Sonar FALCON: interpolazione numerica ed errori di rilevamento
In merito all'errore di rilevamento del sonar e del minimo numero di fasci preformati necessari al sistema per la scoperta panoramica dei bersagli navali
verrebbe spontaneo risolverlo ragionando nel modo seguente: se il sonar deve rivelare la presenza di più bersagli contemporaneamente nell'arco dell'orizzonte, con un errore strumentale non superiore, ad esempio, di 0.5° il sistema deve essere progettato con 360 fasci preformati, orientati grado dopo grado, su tutti i 360°.
In questo modo infatti qualsiasi bersaglio potrà essere rilevato con la precisione voluta, o perché la sua direzione coincide con quella di un fascio (in questo caso non si avrà errore strumentale di rilevamento), o perché la sua posizione angolare comunque collocata tra due fasci adiacenti (in questo caso l'errore massimo di rilevamento non potrà essere maggiore di 0.5°).
Questa semplice impostazione consentirebbe di raggiungere lo scopo prefissato, ma risulterebbe inutilmente ridondante e troppo costosa.
L'approccio corretto deve invece partire dal presupposto che la caratteristica di direttività di una base idrofonica ricevente può essere "ricostruita" per molteplici direzioni dell' orizzonte "campionando" opportunamente lo spazio subacqueo con tanti fasci preformati quanti sono i campioni richiesti secondo il criterio di Nyquist.
In tal modo, interpolando tra i campioni, cioè tra i segnali rivelati in uscita dai singoli fasci, si possono ottenere numerose caratteristiche di direttività artificiali comunque orientate in tutto l'arco dell'orizzonte.
A seguito di quanto esposto e con l'ausilio di matrici software s'imposta il calcolo degli algoritmi di interpolazione numerica impiegati nel sonar FALCON.
Esame di una caratteristica di direttività
modificaIn figura 1 è riportata una curva di direttività tipica; questa è relativa ad un generico sistema idrofonico ricevente che impiega i metodi di correlazione:
L'asse delle ascisse, angolo di puntamento " ", si estende da ° ad ° ed è diviso ad intervalli di °; le ordinate, ampiezze normalizzate , sono tracciate a passi di , la sorgente del segnale, che caratterizza la curva, è impostata per °; le tracce rosse servono per i successivi calcoli.
Calcolo del numero n di fasci preformati sulla base dell'errore accettabile
modificaCome primo passo per giungere alle tecniche di interpolazione è necessario stabilire il minimo numero di fasci da assegnare al sistema ricevente in dipendenza dell'errore di puntamento accettabile.
Seguendo i criteri esposti nel primo documento citato in bibliografia possiamo scrivere la seguente espressione che consente la determinazione, approssimata, del minimo numero di fasci preformati in funzione del massimo errore ammesso:
Le variabili appaiono con i simboli:
- è ricavato dalla direttività di figura 1 (tracce rosse) nella quale, fissata a piacere l'ascissa °, si ha che caratterizza il profilo della curva.
- si calcola, sempre da figura 1, come differenza tra e l'ascissa del massimo , in altre parole:
= °
- è il valore massimo dell'errore accettato
Procediamo ora al calcolo di accettando un errore massimo °; il risultato è:
fasci, per i 360° dell'orizzonte, distanti l'uno dall'altro di °
Per ovvie ragioni di fattibilità si adotta per il valore superiore intero , sottomultiplo di °, rispetto al valore calcolato di pari a : [1], con i fasci distanti di ° l'uno dall'altro.
L'insieme dei 36 fasci preformati su rappresentano una sorta di campionatura spaziale che, nel caso dell'intervallo angolare , s'identifica con 11 campioni.
Impostazione della posizione di 11 dei n' = 36 fasci preformati
modificaIl numero dei fasci preformati che fisicamente sono realizzati ( in hardware o in software ) sono indicati come fasci principali per differenziarli dai fasci intermedi detti d'interpolazione.
Il settore angolare da esplorare è compreso tra ° e °; in esso disponiamo fasci, uno ogni °, ciascuno rappresentato da un segmento verticale celeste, vedi figura 2, che, per comodità di calcolo degli sviluppi successivi (tra due fasci contigui saranno inseriti punti d'interpolazione), individuiamo con le sigle alfanumeriche:
°; °; °; °;
°; °; °; ;
°; °; °
L'aver stabilito il valore di significa che 36 fasci, sui 360° dell'orizzonte, sono potenzialmente in grado di riprodurre la caratteristica di direttività con un errore massimo di 1.25° sulla sommità della curva.
Tale potenzialità si estrinseca soltanto se tra i 36 fasci è eseguita una corretta interpolazione.
In assenza d'interpolazione la presentazione dell'ampiezza di ciascuno degli 11 campioni, in forma d'istogramma, è riportata in figura 3, essa non permette, in questo caso, il puntamento con la precisione voluta; infatti il valore d'ampiezza massimo si riscontra per il fascio a ° mentre la sorgente del segnale, già evidenziata in figura 1, è a °
Formazione della matrice dati per lo sviluppo della routine d'interpolazione.
modificaPer sviluppare la routine d'interpolazione numerica[2] e di conseguenza la misura del rilevamento della sorgente entro l'errore massimo di ° , prospettato all'inizio, si deve costruire una matrice [3] dati bidimensionale in con i valori delle ampiezze degli 11 fasci (fasci principali campionati) individuati in figura 3; detta matrice sarà inserita in apposito software per l'elaborazione voluta.
Dal disegno della figura citata possiamo ricavare facilmente la tabella relativa ai livelli normalizzati dei campioni dei singoli fasci:
Le coppie di valori sopra riportate sono tradotte, in linguaggio Visual Basic, nella seguente matrice dati:
Dim Y(81) As Single Y(1) = - .03 Y(9) = 0 Y(17) = .06 Y(25) = .02 Y(33) = -.1 Y(41) = .08 Y(49) = -.03 Y(57) = -.07 Y(65) = .93 Y(73) = .33 Y(81) = -.2
La matrice impostata è impiegata nella routine di calcolo della sezione seguente.
Algoritmo d'interpolazione per la ricostruzione della direttività campionata.
modificaLa ricostruzione della direttività campionata secondo la funzione d'interpolazione , si esegue in base ai dati contenuti nella matrice esposta in precedenza, riempiendo gli intervalli tra un fascio e il successivo con 9 campioni opportunamente pesati.
La funzione citata è "l'analogo" dell'interpolazione hardware eseguita con un filtro passa basso collegato all'uscita del serializzatore dei fasci preformati.
L'operazione d'interpolazione genera una nuova matrice, serie di fasci, che sostituiscono la matrice principale.
Nel caso in esame gli fasci principali a 11 locazioni definiti dalla matrice , sono sostituiti da una nuova matrice c(s) da locazioni.
L'algoritmo di ricostruzione [4] della curva di direttività campionata è ricavato dalla funzione classica d'interpolazione dei segnali:
La routine commentata, che contiene la funzione di campionamento e tutti gli algoritmi accessori per la composizione della nuova matrice, è la seguente:
'DICHIARAZIONE MATRICI Dim y(100) As Single 'dichiarazione matrice originale Dim g(100) As Single 'dichiarazione matrice con indici convertiti Dim c(100) As Single 'dichiarazione matrice dati interpolati
'ROUTINE DI CALCOLO Private Sub .......() 'PULIZIA MATRICE DATI INTERPOLATI For s = 0 To 100 c(s) = 0 Next
'CARICAMENTO MATRICE PRINCIPALE Y(x) y(1) = -0.03 y(9) = 0 y(17) = 0.06 y(25) = 0.02 y(33) = -0.1 y(41) = 0.08 y(49) = -0.03 y(57) = -0.07 y(65) = 0.93 y(73) = 0.33 y(81) = -0.2
'GENERAZIONE MATRICE DI CONVERSIONE INDICI g(n) 'la matrice g(n) è la copia dell'originale y(x) ma con gli indici di posizione f1;f9;.. 'sostituiti da valori angolari 0; 10°; 20°;..... For f = 1 To 81 Step 8 n = f * (5 / 4) - 1.25 g(n) = y(f) Next f 'ROUTINE DI GENERAZIONE MATRICE DATI INTERPOLATI c(s) 'si osservi che ad alcune variabili e costanti sono state aggiunte code numeriche millesimali 'per evitare che nelle fasi di calcolo si abbiano divisioni per zero For n = 0 To 10 Step 1 For s = 0 To 100 Step 1 w = 3.14159265 * ((s / 10.001) - n) c(s) = c(s) + g(10 * n) * (Sin(w) / (w + 0.00001)) Next s Next n End Sub
Controllo del processo d'interpolazione
modificaPer il controllo del processo di calcolo si è implementato il programma elencato su P.C con l'aggiunta delle seguenti istruzioni per la grafica:
For f = 1 To 81 Step 8 n = f * (5 / 4) - 1.25 g(n) = y(f) Circle (100 * n, 3000 - 3000 * g(n)), 90, vbRed Next f
For n = 0 To 100 Step 1 Circle (100 * n, 3000 - 3000 * c(n)), 30, k Circle (100 * n, 3000 - 3000 * c(n)), 10, k Next
Il risultato grafico del processo d'interpolazione è mostrato in figura 4:
In figura i cerchietti rossi individuano i campioni principali, i punti neri sono il risultato dell'interpolazione.
Il controllo preciso del risultato dell'interpolazione è stato eseguito su P.C. nel quale era disponibile una particolare routine di presentazione video e collimazione simile a quella impiegata nel sonar FALCON.
I risultati dell'interpolazione sono visibili nell'istogramma di figura 5:
In figura si osserva che la collimazione del massimo indica un rilevamento di ° contro i ° della direzione reale della sorgente, pari ad un errore di °.
I dati mostrano che il processo d'interpolazione ha consentito di contenere l'errore di rilevamento della sorgente entro i limiti stabiliti di °
Note
modifica- ↑ Con maggiore di si riduce di conseguenza il valore di da ° a °
- ↑ Nel prosieguo dello sviluppo si utilizza, in questa sede, il linguaggio Visual Basic 6; qualsiasi altro può essere adattato
- ↑ La matrice e il processo d'interpolazione quì implementati in linguaggio VB possono essere elaborati in analoghi programmi di calcolo.
- ↑ Algoritmo di Whittaker-Shannon
Bibliografia
modifica- C. Del Turco, Sul calcolo del minimo numero di fasci preformati per il sonar, in Rivista Tecnica Selenia - industrie elettroniche associate - vol. 11 n°3, 1990.
- A. Papoulis, The fourier integral and its applications, McGraw-Hill Book Company, Inc.1962
- G.Cariolaro, Teoria dei segnali - parte prima -Segnali determinati, Coop Libreria cleup, 1964