C. Del Turco Posted March 17, 2024 Report Posted March 17, 2024 (edited) Per eventuali sviluppi compresi nel post: link al calcolatore SONARMATH (per la determinazione dei parametri acustci del sonar) 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 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. Tutto come mostrato in figura 1 In ambiente di sviluppo Visual Basic inserimento degli oggetti nel Form come indicato in figura 1 Azione di copia e incolla 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) Label4.Caption = Format(attdbass, "###.0") End Sub ‘fine routine Valori da inserire nel List del combo: Sferica Sfer/cil Numerazione oggetti nel Form: text1: ingresso frequenza in kHz text2: ingresso distanza in km combo1: selezione del tipo di propagazione = sferica o sferico/cilindrica Command1:avvio calcolo Label3: presentazione livello d'attenuazione per divergenza Label9: presentazione livello d'attenuazione per assorbimento altri label: liberi Esempio di calcolo Analisi delle attenuazioni per divergenza sferica e assorbimento per: frequenza = 10 kHz distanza della sorgente = 20 km inserzione nel textbox del: valore della frequenza di calcolo f = 10 kHz distanza della sorgente = 20 km selezione nel combo del tipo di propagazione = Sferica azione sul pulsante Command1. L'analisi, come mostra figura 2, determina questi valori: Perdite complessive di propagazione (un solo percorso) = 86 + 21.6 = 107.6 dB Edited June 25, 2024 by C. Del Turco Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.