Valutazione della portata di scoperta del sonar attivo

Da Wikiversità, l'apprendimento libero.
Jump to navigation Jump to search
lezione
Valutazione della portata di scoperta del sonar attivo
Tipo di risorsa Tipo: lezione
Materia di appartenenza Materia: Principi, sistemi e metodologie per la localizzazione subacquea attiva
Avanzamento Avanzamento: lezione completa al 100%.

L'analisi della portata di scoperta[1] del sonar attivo è indispensabile, nelle fasi di progettazione dei sonar, al fine di indirizzare al meglio le operazioni di scelta delle componenti bagnate e della potenza di trasmissione dell'apparato.

Il calcolo della portata di scoperta di un sonar attivo è fondamentale per comprendere come le variazioni di questa siano funzioni delle innumerevoli variabili che compaiono nel classico sistema trascendente da risovere in :

Un tempo la valutazione 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ù precisi e veloci, sia con processi di calcolo iterativo, sia con grafici esplicativi del fenomeno.


Il pannello di controllo del sistema di valutazione[modifica]

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

  • otto Textbox, evidenziati con numeri distintivi per la routine di programma, per l'inserzione delle variabili caratteristiche:
1-Frequenza di trasmissione 
2-Banda di ricezione 
3-Livello della pressione generata ( in  )
4-Livello della pressione dovuta al rumore del mare ( in  )
5-Guadagno di direttività della base ()
7-Durata dell’impulso 
8-Parametro probabilistico  
6-Forza del bersaglio 
  • un combo per l'impostazione del tipo di propagazione (sferica ; sferico-cilindrica)
  • un pulsante Command1 per l'avvio del calcolo
  • un label per la risposta numerica del dato di portata
  • un reticolo cartesiano per la presentazione delle curve delegate alla soluzione grafica del processo d'esame della portata 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 .[2].

Azione di copia e incolla [3] del programma:

Listato

Private Sub Command1_Click()
calcolo
End Sub
Private Sub Form_Paint()
For xi = 0 To 6440 Step 322
For yi = 0 To 4480 Step 28
PSet (500 + xi, yi)
Next yi
Next xi
For yi = 0 To 4480 Step 224
For xi = 0 To 6440 Step 42
PSet (500 + xi, yi)
Next xi
Next yi
Line (500, 0)-(500, 4480)
Line (500, 4480)-(6440 + 500 + 160, 4480)
End Sub
Private Sub text1_KeyPress(KeyAscii As Integer)
If InStr("-+.0123456789" + Chr(&H8), Chr(KeyAscii)) = 0  _
Then KeyAscii = 0
End Sub
Private Sub text2_KeyPress(KeyAscii As Integer)
If InStr("-+.0123456789" + Chr(&H8), Chr(KeyAscii)) = 0  _
Then KeyAscii = 0 
End Sub
Private Sub text3_KeyPress(KeyAscii As Integer)
If InStr("-+.0123456789" + Chr(&H8), Chr(KeyAscii)) = 0  _
Then KeyAscii = 0
End Sub
Private Sub text4_KeyPress(KeyAscii As Integer)
If InStr("-+.0123456789" + Chr(&H8), Chr(KeyAscii)) = 0 _
Then KeyAscii = 0
End Sub
Private Sub text5_KeyPress(KeyAscii As Integer)
If InStr("-+.0123456789" + Chr(&H8), Chr(KeyAscii)) = 0 _
Then KeyAscii = 0
End Sub
Private Sub text6_KeyPress(KeyAscii As Integer)
If InStr("-+.0123456789" + Chr(&H8), Chr(KeyAscii)) = 0 _
Then KeyAscii = 0
End Sub
Private Sub text7_KeyPress(KeyAscii As Integer)
If InStr("-+.0123456789" + Chr(&H8), Chr(KeyAscii)) = 0 _
Then KeyAscii = 0
End Sub
Private Sub text8_KeyPress(KeyAscii As Integer)
If InStr("-+.0123456789" + Chr(&H8), Chr(KeyAscii)) = 0 _
Then KeyAscii = 0
End Sub
Private Sub calcolo()
Cls
For xi = 0 To 6440 Step 322
For yi = 0 To 4480 Step 28
PSet (500 + xi, yi)
Next yi
Next xi
For yi = 0 To 4480 Step 224
For xi = 0 To 6440 Step 42
PSet (500 + xi, yi)
Next xi
Next yi
Line (500, 0)-(500, 4480)
Line (500, 4480)-(6440 + 500 + 160, 4480)
If Combo1.Text = "Sferica" Then hhh = 20
If Combo1.Text = "Sfer.cil." Then hhh = 10
If hhh = 0 Then hhh = 20
k = Val(Text1.Text) 'Ftx
k1 = Val(Text2.Text) 'Banda rx
d = Val(Text8.Text)
tc = Val(Text7.Text) 'durata impulso
SL = Val(Text3.Text) 'livello di Tx
NL = Val(Text4.Text)
DI = Val(Text5.Text)
TS = Val(Text6.Text)
If k = 0 Then GoTo fine
If k1 = 0 Then GoTo fine
If tc = 0 Then GoTo fine
k2 = k / 1000 'frequenza Tx in Khz
a = (0.1 * (k2 ^ 2)) / (1 + (k2 ^ 2)) + (40 * (k2 ^ 2)) / _
(4100 + (k2 ^ 2)) + (2.75 * (k2) ^ 2) / 10000
DT = 5 * Log(d * k1 / (tc)) / Log(10)  'SOGLIA DI RIVELAZIONE 
Bw = 10 * Log(k1) / Log(10) 'incremento rumore dovuto alla banda
TL = (SL + TS - NL + DI - DT)  'MAX ATTENUAZIONE CONSENTITA
For R = 0.1 To 50 Step 0.1
TLP = 120 + 2 * hhh * Log(R) / Log(10) + 2 * a * R 'equazione 
'attenuazione f(R)
PSet (500 + 2 * 64.4 * R, 2 * 2240 - 11.2 * TLP), vbBlue
PSet (500 + 2 * 64.4 * R, 2 * 2240 - 11.2 * TL), vbRed
Next
For R = 0.1 To 50 Step 0.001
TLP = 2 * (60 + hhh * Log(R) / Log(10) + a * R)
If Int(TLP) = Int(TL) Then distanza = R  'rivelazione distanza R
If Int(TLP) = Int(TL) Then perdita = TLP / 2 'rivelazione TLp per 
'distanza R
Next
Label12.Caption = Format(distanza, "###.0")
fine:
Circle (500 + 2 * 64.4 * distanza, 2 * 2240 - 22.4 * perdita) _
, 100, vbRed
End Sub

Lista per il combo

Sferica

Sfer.cil.

Esempio di valutazione[modifica]

Calcolo della portata di scoperta del sonar attivo per le variabili:

Fequenza di emissione

Banda di ricezione.

Livello di emissione

Livello del rumore del mare

Guadagno della base Rx/Tx

Durata impulso d’emissione

Parametro probabilistico

Forza del bersaglio

  • selezione nel combo del modello di propagazione
  • azione sul pulsante Command1.

Il valore numerico della portata stimata, risultante dal processo di calcolo iterativo, è: .

Tale valore si deduce anche per via grafica dall'intersezione delle due curve nel grafico di figura 2 [4].

figura 2 Schermata di calcolo e grafica

Note[modifica]

  1. La valutazione è condotta su due linee diverse; la linea grafica, utilizzata fino al 1960, e la linea di calcolo iterativo resa possibile dall'impiego del computer.
  2. Il listato del programma, data la sua semplicità, non è commentato
  3. Prestare attenzione alle righe di programma che in base alla pagina possono essere scritte in parte a capo
  4. In questo caso la misura della distanza ha una precisione inferiore al calcolo iterativo

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