# Simulatore per la regolazione della soglia nel sonar

Le simulazioni oggetto di questa voce necessitano di una revisione propedeutica ed attenta delle due materie del corso su Wikiversità dal titolo: Applicazioni tecniche sul sonar
Il disturbo nei fasci preformati (Presentazioni dinamiche)
Introduzione ai sistemi riceventi in correlazione

## Utilità delle simulazioni dinamiche

Per meglio comprendere il ruolo della "soglia" nella scoperta sonar è utile l'impiego di routine di simulazione software con le quali verificare, mediante visualizzazioni dinamiche sul P.C, l'azione di questa nella reciproca relazione tra la terna delle variabili:
* $Si/Ni$ (rapporto segnale/disturbo all’ingresso del ricevitore in correlazione
* $P(fa)$(percentuale di probabilità di falso allarme)
* $P(riv)$(percentuale di probabilità di scoperta)
Le simulazioni di cui si tratta consentono di agire, con opportune impostazioni manuali su comandi virtuali, per la ricerca dei rapporti tra le variabili citate verificando sul video come impostare la "soglia" per ottenere le prestazioni volute nella scoperta dei bersagli idrofonici.
La simulazione in oggetto ipotizza due fasci acustici di un sonar disposti rispettivamente per le direzioni $18$° e $348$°, il primo fascio si considera puntato su di una sorgente acustica, in presenza di disturbo, della quale si debbano stabilire le probabilità di scoperta $P(riv)$ e di falso allarme $P(fa)$, il secondo si considera orientato su di un settore di mare privo di segnali; questo fascio ha il compito di rilevare la probabilità di falso allarme a seguito del livello del disturbo captato ipotizzando che questo sia lo stesso che inquina il segnale del fascio a $18$°.
Prima di procedere alla descrizione del sistema di simulazione è opportuno ricordare le definizioni in merito alla terna di variabili citate riportandole nel prosieguo della voce.

## Il Differenziale di riconoscimento e la soglia

Il Differenziale di Riconoscimento $\Delta$, espresso in $dB$, è il minimo rapporto $Si/Ni$ con il quale un sonar può rivelare la presenza del bersaglio mascherato dal rumore.
Secondo le convenzioni il differenziale di riconoscimento che caratterizza un rivelatore è il minimo valore $\Delta$; per il quale si abbia:
* Probabilità di falso allarme $P(fa)=10\ \%$
* Probabilità di rivelazione $P(riv)=50\ \%$
La soglia è il mezzo, hardware o software, tramite il quale l'operatore al sonar può decidere il livello oltre il quale i segnali e/o i rumori all'uscita del sistema di rivelazione possono essere elaborati o visualizzati per la loro analisi e le decisioni conseguenti.

## Descrizione generale del sistema di simulazione e controllo

La tecnica di simulazione al P.C. si avvale di un programma in Visual Basic, disponibile in file.exe, nei link indicati nella sezione dei collegamenti esterni. , con il quale prendere confidenza con la problematica dell'impostazione della "soglia" nel contesto della rivelazione di segnali ricevuti dal sonar in presenza del disturbo.
Il file eseguibile genera la schermata di figura 1 nella quale compaiono tutti i comandi e i visori virtuali (indicati con lettere rosse) necessari alla conduzione del simulatore:
* A) CheckBox di spunta d'avvio del programma
* B) barra verticale con indicatore numerico per l'impostazione del valore della soglia (il livello di soglia viene evidenziato sul tracciato H come un segmento orizzontale di colore rosso che intercetta le tracce dovute all'uscita dei due correlatori per le sperimentazioni sul P.C). Si dovrà intendere, idealmente, che tutti i segnali e/o disturbi che non superano il segmento di retta non siano visibili all'operatore
* C) barra orizzontale con indicatore numerico per l'impostazione del valore del rapporto $Si/Ni\ ;dB$
* D) listbox con indicatore numerico per l'impostazione del valore del coefficiente d'integrazione $Beta$
* E) indicatore numerico del numero di campioni elaborati
* F) indicatore numerico del valore percentuale della $P(fa)$ misurata
* G) indicatore numerico del valore percentuale della $P(riv)$ misurata
* H) tracciato cartesiano con due scale delle ascisse indipendenti e ordinate comuni:
1^ scala ascisse _ in basso, colore nero, ascissa $\alpha$° per la direzione dei fasci, si estende
da $336$° a $24$° in essa compaiono i fasci $348$° e $18$° per la visualizzazione dinamica del (segnale + rumore) con barra celeste (fascio a $18$°) che può raggiungere il livello massimo di $1$ e del solo rumore (fascio a $348$°) con cerchietto rosso che oscilla tra livello $+0.15$ (visibile) e livello $-0.15$ (non visibile nel tracciato); questi sono i valori prodotti dall'elaborazione software di due distinti sistemi di rivelazione in correlazione.
2^ scala ascisse _ in alto, colore celeste, ascissa $Si/Ni$ , si estende da $-24\ dB$ a $+24\ dB$ per il controllo di processo mediante la visualizzazione delle curve che mostrano la variazione del livello d'uscita e la varianza di un correlatore a coincidenza di polarità.
3^ scala ordinate comuni _ da $0$ a $1$ per lettura livello d'ampiezza normalizzato delle funzioni di correlazioni presentate.
* I) gruppo dei pulsanti di controllo e conduzione di processo
Il programma, il cui utilizzo vedremo in dettaglio in seguito, si rende disponibile all'uso come segue:
* impostazione, con il comando B), della soglia al valore voluto (variabile da $0\ ad\ 1$)
* impostazione, con il comando C), del rapporto $Si/Ni$ nel campo compreso tra $+18\ dB\ e\ -18\ dB$
* impostazione, con il comando D), del valore d'integrazione $Beta$ tra $100\ e\ 3200$
* avvio del programma con la spunta del CheckBox A)
* osservazione della dinamica del segnale e del rumore sul reticolo H)
* attesa del compimento dei $1000$ conteggi di gruppi da $20000$ campioni, visura su indicatore E)
* raggiunto il millesimo conteggio lettura delle percentuali di $P(fa)$ , su indicatore F), e $P(riv)$ su indicatore G), conseguenti alle impostazioni assegnate.
Il processo può essere ripetuto dopo nuove impostazioni, il controllo di processo di cui alla lettera I) sarà specificato in seguito.

## Descrizione sintetica del software di simulazione

La struttura del programma segue la logica software riportata nel diagramma a blocchi di figura 2 di seguito commentato:
In ordine numerico il commento dei blocchi software:
* 1 comando d'avvio/pausa della routine software generale: attiva il ciclo di calcolo ed i generatori di rumore e tutte le routine ad essi collegate.
* 2 generatore di rumore casuale per generazione disturbo $N1$: genera rumore campionato a due stati per un totale di $20$ milioni di campioni ad ogni ciclo di calcolo.
* 3 generatore di rumore casuale per generazione segnale $Si$ : genera segnale campionato a due stati per un totale di $20$ milioni di campioni ad ogni ciclo di calcolo.
* 4 generatore di rumore casuale per generazione disturbo $N2$: genera rumore campionato a due stati per un totale di $20$ milioni di campioni ad ogni ciclo di calcolo.
* 5 sommatore $N1+Si$ : esegue la somma del segnale $Si$ con il rumore $N1$ secondo il rapporto $S/N$ governato dal blocco 6.
* 6 comando variazione rapporto $Si/N1$ e $Si/N2$.
* 7 sommatore $N2+Si$: esegue la somma del segnale $Si$ con il rumore $N2$ secondo il rapporto $S/N$ governato dal blocco 6.
* 8 correlatore a coincidenza di polarità per il fascio $18$° : esegue la correlazione dei segnali a due stati e ne opera l'integrazione numerica; questo è il correlatore per la rivelazione del segnale $Si$ per la misura della $P(riv)$.
* 9 correlatore a coincidenza di polarità per il fascio $348$° : esegue la correlazione dei rumori a due stati $N1\ e\ N2$ e ne opera l'integrazione numerica; questo è il correlatore per la misurazione della $P(fa).$
* 10 variatore della costante di tempo degli integratori post correlazione $(Beta)$: agisce sui parametri dell'integratore numerico.
* 11 soglia video di limitazione segnali dai correlatori: consente il posizionamento di un segmento, di colore rosso, che intercetta le tracce dovute all'uscita dei due correlatori per le sperimentazioni sul P.C. Si dovrà intendere, idealmente, che tutti i segnali e/o disturbi che non superano il segmento di retta non siano visibili all'operatore.
* 12 comando impostazione soglia : agisce sul blocco 11 su azione dell'operatore per la variazione della posizione del segmento rosso.
* 13 contatore numerico $P(riv)$: mostra la percentuale di superamento della soglia da parte dei segnali d'uscita del correlatore del fascio a $18$°.
* 14 contatore numerico $P(fa)$: mostra la percentuale di superamento della soglia da parte dei rumori d'uscita del correlatore del fascio a $348$°.
* 15 sistema completo di presentazione video dinamica: consente la visualizzazione di tutti i segnali, della soglia e di tutti i comandi e connesse visualizzazioni numeriche.

## Primo esempio d'impiego del simulatore

posta la soglia a livello zero
Al lancio del programma tutte le regolazioni sono disposte in modo automatico come segue:
* la "soglia" è a livello $0$.
* il rapporto $Si/Ni$ è di $+18\ dB$.
* il $Beta$ è pari a $100$
Con questa impostazione, una volta avviato il conteggio con il comando A), si osserva:
* il segmento rosso di soglia giace sull'asse delle ascisse di H) e non è visibile
* il correlatore per il fascio $348$° governa la posizione del cerchietto rosso, in H), che oscilla in ampiezza in modo casuale tra $0\ e\ 0.15$.
* il correlatore per il fascio $18$° governa l'ampiezza dell'istogramma celeste in H) che arriva, con leggere oscillazioni, al livello di circa $0.95$ in ampiezza rispetto al valor massimo di $1.$
Dato che il valore della soglia è zero è naturale che entrambi i livelli dei due fasci la superino registrando, dopo $1000$ conteggi, le seguenti condizioni:
* il fascio a $18$° supera sempre il livello di soglia indicando, su G), una probabilità di scoperta $P(riv)=100\%$.
* il fascio a $348$° supera la soglia soltanto per i livelli positivi d'uscita del correlatore, mentre non la supera per i livelli negativi, questa condizione porta ad una probabilità di falso allarme, indicata su F), pari a $P(fa)=47.8\ \%$ (questo valore può variare casualmente, da una prova all'altra, attorno al $50\%$).
La schermata di figura 3 è indicativa della situazione descritta:

## Secondo esempio d'impiego del simulatore

posta la soglia a livello $0.5$
Impostando i comandi come segue:
* "soglia" = $0.5$
* rapporto $Si/Ni=+18\ dB$
* $Beta=100$
Una volta avviato il conteggio con il comando A) si osserva:
* il segmento rosso di soglia è visibile sulla metà dell'ordinata di H)
* il correlatore per il fascio $348$° governa la posizione del cerchietto rosso, in H), che oscilla in ampiezza in modo casuale tra $0\ e\ +0.15$ (le oscillazioni negative non sono visualizzate).
* il correlatore per il fascio $18$° governa l'ampiezza dell'istogramma celeste in H) che arriva, con leggere oscillazioni, al livello di circa $0.95$ in ampiezza rispetto al valor massimo di $1.$
Dato che il valore della soglia è $0.5$ soltanto il livello del fascio $18$° la supera registrando, dopo $1000$ conteggi, le seguenti condizioni:
* il fascio a $18$° supera sempre il livello di soglia indicando, su G), con una probabilità di scoperta $P(riv)=100\%$
* il fascio a $348$° non supera mai la soglia e la $P(fa)$ indicata è pari a $0$.
Questa condizione eccezionale dipende dal fatto che, sia il rapporto $Si/Ni$ che la soglia sono molto elevati.
Un'impostazione di questo tipo precluderebbe la scoperta di bersagli sul fascio a $348$° se non d'ampiezza superiore alla soglia.
La schermata di figura 4 è indicativa della situazione descritta:

## Terzo esempio d'impiego del simulatore

Vediamo come, in via sperimentale, si possa risolvere il seguente problema:
Volendo rivelare un bersaglio con un rapporto $Si/Ni=-10\ dB$, accettando una probabilità di falso allarme $P(fa)=8\%$ , trovare il valore del livello della soglia e il conseguente valore di $P(riv)$ .
La procedura è la seguente:
* 1) lancio del programma
* 2) impostazione del $Beta=100$
* 3) impostazione $Si/Ni=-10\ dB$
* 4) impostazione della soglia a passi di $0.01$, da $0.05\ a\ 0.1$
* 5) avvio successivo di 7 conteggi e lettura dati:
Con i dati ottenuti in funzione del valore di soglia, arrotondati all'intero superiore, si compila la tabella di figura 5:
Dalla tabella si evince che il valore di soglia che risolve il problema posto è: $soglia=0.1$, con esso si concretizza la terna caratteristica: $P(riv)=18\%\$ ; $\ P(fa)=8\%\$; $Si/Ni=-10\ dB$
La tabella stessa mostra 7 condizioni diverse di rivelazione del bersaglio in dipendenza dell'impostazione della soglia da parte dell'operatore.
Innumerevoli esercizi simili a questo possono essere sviluppati, sia con $Beta=100$, sia con valori superiori; per quest'ultimo aspetto si veda il seguente paragrafo.

## Controllo del processo 1^

Per chiarire le problematiche trattate in precedenza si deve impiegare il gruppo dei pulsanti di controllo di processo indicati con la lettera I); i grafici risultanti dai controlli sono tracciati nel reticolo H) e fanno riferimento alle ascisse riportate in celeste nella parte superiore.
Pigiando il pulsante sotto la dicitura "funzione calcolata" sul reticolo H) si forma la curva di figura che rappresenta la risposta di un correlatore a coincidenza di segni secondo l'algoritmo riportato nella finestra inferiore a destra dello schermo, risposta computata per le condizioni ideali di costante di tempo d'integrazione infinita:
* la curva ha come ascisse il rapporto $Si/Ni$, nella scala in blu in alto del reticolo, variabile che si estende da $-24\ dB\ a\ +24\ dB$
In figura 6 compare inoltre la posizione più elevata dell'oscillazioni di rumore, circa $+0.15$, assunta dal cerchietto rosso dipendente dall'uscita del correlatore del fascio $348$° per $Beta=100$.

## Controllo di processo 2^

Come accennato in precedenza il valore del $Beta$ determina la costante d'integrazione numerica dei correlatori implementati nel software in oggetto; è noto, si veda 8^ lezione della materia Sistemi riceventi in correlazione, che l'incremento del beta riduce l'ampiezza delle variazioni (la varianza) dei livelli all'uscita dei correlatori; questo vantaggio si paga in termini di lentezza del processo, sia nel simulatore, sia nei casi della pratica operativa del sonar in mare.
Lo scadere veloce dell'angolo di puntamento di un bersaglio, ad esempio, si segue meglio se la costante d'integrazione dei correlatori non è troppo elevata, un giusto compromesso tra velocità d'inseguimento del bersaglio e l'ottimizzazione del rapporto $S/N$ all'uscita dei fasci deve essere trovato.
Un'indicazione dell'effetto del valore del beta sull'uscita dei correlatori si può ottenere impiegando il gruppo dei pulsanti di controllo di processo indicati con la lettera I).
Pigiando il pulsante sotto la dicitura "funzione sperimentale" sul reticolo H) si forma la curva di figura 7a nel caso di $Beta=100$ o la curva di figura 7b nel caso di $Beta=800$; le due curve mostrano come la varianza del processo, dispersione dei puntini lungo la traiettoria, si riduca sensibilmente con l'incrementare del $Beta$.

## note

* ↑ Si veda 13^ lezione della materia Studio delle basi idrofoniche nell'elenco Siti di riferimento