Attenuazione del suono in mare
L’analisi della propagazione del suono per il sonar mira alla determinazione dei livelli d'attenuazione dei segnali emessi dai semoventi navali, livelli necessari per la valutazione delle portate di scoperta del sonar.]]
L'analisi, sviluppata in Visual Basic [1], 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 :
Impostazione del software
[modifica]In ambiente di sviluppo Visual Basic inserimento degli oggetti nel Form come indicato in figura.[2].
Azione di copia e incolla[3] 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:
- inserzione 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 =
Note
[modifica]- ↑ Qualsiasi altro programma di calcolo può essere impiegato adattando ad esso il listato sorgente.
- ↑ Il listato del programma, data la sua semplicità, non è commentato
- ↑ 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