Analisi della propagazione del suono per il sonar

Da Wikiversità, l'apprendimento libero.
Jump to navigation Jump to search
lezione
Analisi della propagazione del suono per il 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%.


L’analisi della propagazione del suono per il sonar mira alla determinazione dei livelli d'attenuazione dei segnali necessari per la valutazione delle portate di scoperta del sonar.

L'analisi, sviluppata in Visual Basic, consente la valutazione delle perdite che le onde acustiche, emesse da semoventi navali, subiscono durante il loro percorso in mare.

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

  • un Textbox per l'inserzione della frequenza di calcolo.
  • un Textbox per l'inserzione della distanza
  • un combo per l'impostazione del tipo di propagazione
  • un pulsante Command1 per l'avvio del calcolo
  • un label per la risposta numerica del calcolo dell'attenuazione per divergenza
  • un label per la risposta numerica del calcolo dell'attenuazione per assorbimento.

come mostrato in figura 1 :

figura 1 Pannello di comando del sistema d'analisi.

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()
calcoloatt
End Sub
Private Sub text1_KeyPress(KeyAscii As Integer)
If InStr("-+.0123456789" + Chr(&H8), Chr(KeyAscii)) = 0 Then 
KeyAscii = 0
End if
End Sub
Private Sub text2_KeyPress(KeyAscii As Integer)
If InStr("-+.0123456789" + Chr(&H8), Chr(KeyAscii)) = 0 Then 
KeyAscii = 0
End if
End Sub
Sub calcoloatt()
R = Val(Text2.Text)
x = Val(Text1.Text)
Rem calcolo dell'attenuazione per propagazione
If Combo1.Text = "Sferica" Then _
attdb = 60 + 20 * Log(R) / Log(10)

If Combo1.Text = "Sfer/cil" Then _ 
attdb = 60 + 10 * Log(R) / Log(10)
Label3.Caption = Format(attdb, "###.0")
Rem calcolo dell'attenuazione per assorbimento
attdbass = R * (((0.1 * (x ^ 2)) / (1 + (x ^ 2))) _
+ ((40 * x ^ 2) / (4100 + (x ^ 2))) + _
(2.75 * (x ^ 2) / 10000) + 0.003)
Label9.Caption = Format(attdbass, "###.0")

End Sub

Valori da inserire nel List del combo:

Sferica

Sfer/cil

Numerazione oggetti nel Form:

  • text1: ingresso frequenza
  • text2: ingresso distanza
  • combo1: selezione del tipo di propagazione
  • Command1:avvio calcolo
  • Label3: presentazione livello d'attenuazione per divergenza
  • Label9: presentazione livello d'attenuazione per assorbimento
  • altri label: liberi

Esempio di analisi[modifica]

Analisi delle attenuazioni per divergenza sferica e assorbimento per:

frequenza

distanza della sorgente:

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

L'analisi, come mostra figura 2, determina questi valori:

Attenuazione per divergenza sferica =

Attenuazione per assorbimento =


figura 2 Schermata dei valori computati

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