Valutazione del rumore del mare per le prestazioni del sonar

Da Wikiversità, l'apprendimento libero.
lezione
lezione
Valutazione del rumore del mare per le prestazioni del sonar
Tipo di risorsa Tipo: lezione
Materia di appartenenza Materia: Il riconoscimento dei bersagli idrofonici in mezzo al disturbo
Avanzamento Avanzamento: lezione completa al 100%

La valutazione del rumore del mare mira alla determinazione dei livelli del disturbo che ostacolano la scoperta dei bersagli con il sonar.

La valutazione in oggetto, fondamentale per comprendere come il rumore del mare subordini la scoperta sonar, un tempo era svolta con il Sonar Performance Calculator Submarine Signal Division, Portsmouth della Raytehon (in bibliografia), oggi grazie al computer e al Visual Basic si possono ottenere risultati più veloci e precisi.

L'operazione consente la pesatura del livello di pressione generato dal moto ondoso del mare.

Il pannello virtuale di controllo del sistema di valutazione è costituito da:

  • un Textbox per l'inserzione della frequenza di calcolo in .
  • un combo per l'impostazione dello stato del mare: Sono disponibili per il calcolo sei valori:

 ;  ; ; ; ;

  • un pulsante Command1 per l'avvio del calcolo
  • un label per la risposta numerica del calcolo in

come mostrato in figura 1:

figura 1 Pannello di comando del sistema

Impostazione del software[modifica]

In ambiente di sviluppo Visual Basic inserimento degli oggetti nel Form come indicato in figura.[1].

Azione di copia e incolla [2] del programma:

Listato

Private Sub Command1_Click()
calcolomare
End Sub
Private Sub Command2_Click()
Form10.Show
End Sub
Private Sub text1_KeyPress(KeyAscii As Integer)
If InStr("-+.0123456789" + Chr(&H8), Chr(KeyAscii)) = 0 _
Then KeyAscii = 0
End if
End Sub
Sub calcolomare()
x = Val(Text1.Text)
Rem calcolo del livello spettrale del rumore del mare
k = db / (20 * Log(2) / Log(10))
Y = 20 * Log((x) ^ k) / Log(10)
If Combo1.Text = "SS=0" Then livdB = 55 - Y - 10.8 'per ss=0
If Combo1.Text = "SS=1/2" Then livdB = 55 - Y - 4.7 'per ss=1/2
If Combo1.Text = "SS=1" Then livdB = 55 - Y + 0 'per ss=1
If Combo1.Text = "SS=2" Then livdB = 55 - Y + 6.8 'per ss=2
If Combo1.Text = "SS=4" Then livdB = 55 - Y + 11.6 'per ss=4
If Combo1.Text = "SS=6" Then livdB = 55 - Y + 15 'per ss=6
Label3.Caption = Format(livdB, "###.#")
End Sub
Private Sub Option1_Click()
Cls
End Sub

Valori da inserire nel List del combo:

SS=0
SS=1/2
SS=1
SS=2
SS=4
SS=6

Numerazione oggetti nel Form:

  • text1: ingresso frequenza
  • combo1: selezione stato del mare
  • Command1:avvio calcolo
  • Label3: presentazione dato calcolato
  • altri label: liberi

Esempio di valutazione[modifica]

Valutazione del livello della pressione del rumore del mare per le variabili:

frequenza

stato del mare:

  • iserzione nel textbox del valore della frequenza di calcolo ( in ) : nell'esempio
  • selezione nel combo dello stato del mare
  • azione sul pulsante Command1.

La schermata di valutazione in figura 2:

figura 2 Schermata di valutazione

Il valore numerico della pressione risultante dal calcolo è:

Note[modifica]

  1. Il listato del programma, data la sua semplicità, non è commentato
  2. Prestare attenzione alle righe di programma che in base alla pagina possono essere scritte in parte a capo

Bibliografia[modifica]

  • F. Balena, Visual Basic-il linguaggio-, Mondadori Informatica, 2008
  • G.Frantz, Programmare con Visual Basic, Apogeo 1996
  • M.Padovani, Visual Basic flash, Apogeo, 1997
  • D. Inmann B. Albrecht Programmare in Quik Basic,McGraw-Hill, Marzo 1991
  • C. Del Turco, La matematica con il personal computer- Metodi matematici e grafici in QBasic, Editrice MODERNA La Spezia, 1998
  • Raytehon, Sonar Performance Calculator Submarine Signal Division, Portsmouth
  • G. Pazienza, Fondamenti della localizzazione marina, La Spezia, Studio grafico Restani, 1970