L'interpolazione numerica e l'errore di rilevamento nel sonar

In merito all'errore di rilevamento sonar con i sistemi a fasci preformati riportiamo integralmente quanto scritto nell'introduzione del primo documento indicato in bibliografia:

lezione
lezione
L'interpolazione numerica e l'errore di rilevamento nel sonar
Tipo di risorsa Tipo: lezione
Materia di appartenenza Materia: Principi, sistemi e metodologie per la localizzazione subacquea passiva
Avanzamento Avanzamento: lezione completa al 100%

Ad una prima analisi del problema relativo alla determinazione del minimo numero di fasci preformati necessari ad un sistema sonar, 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 iniziamo il percorso che ci condurrà alle modalità di impostazione e calcolo degli algoritmi di interpolazione numerica.

Esame di una caratteristica di direttività modifica

In 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 modifica

Come 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 [2] modifica

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. modifica

Per sviluppare la routine d'interpolazione numerica 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 seguente routine di calcolo.

L'algoritmo d'interpolazione per la ricostruzione della direttività campionata. modifica

La 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 modifica

Per 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:

 
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 [5].

I risultati dell'interpolazione sono visibili nell'istogramma di figura 5:

 
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

  1. Con   maggiore di   si riduce di conseguenza il valore di   da  ° a  °
  2. Il 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.
  3. La matrice e il processo d'interpolazione quì implementati in linguaggio VB possono essere elaborati in analoghi programmi di calcolo.
  4. Algoritmo di Whittaker-Shannon
  5. Si veda la lezione n 7 Impostazione tecnica del sonar FALCON della materia Sistemi riceventi in correlazione

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