Esame della portata di scoperta del sonar passivo

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

La determinazione della portata di scoperta[1] del sonar passivo è indispensabile, nelle fasi di progettazione dei sonar, al fine di indirizzare al meglio le operazioni di scelta delle componenti bagnate dell'apparato.

L'esame in oggetto, fondamentale per comprendere come le variazioni di portata del sonar siano funzioni delle innumerevoli variabili che concorrono al calcolo, un tempo era svolto 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 ed interessanti grafici esplicativi del fenomeno.

L'esame della portata consente l'acquisizione delle variabili necessarie per l'ottimizzazione del sistema di scoperta.

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

  • sette Textbox, evidenziati con numeri rossi per la routine di programma, per l'inserzione delle variabili caratteristiche:
1-Frequenza inferiore della banda di ricezione (Hz)
2-Frequenza superiore della banda di ricezione (Hz)
3-Livello della pressione della sorgente (SL dB)
4-Livello della pressione dovuta al rumore del mare (NL dB)
5-Guadagno di direttività della base (DI dB)
7-Costante di tempo d'integrazione (RC  Sec.)
8-Parametro probabilistico (d)
  • 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 2.[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, 500 + yi)
Next yi
Next xi
For yi = 0 To 4480 Step 224
For xi = 0 To 6440 Step 42
PSet (500 + xi, 500 + yi)
Next xi
Next yi
Line (500, 500)-(500, 500 + 4480)
Line (500, 4480 + 500)-(6440 + 500 + 160, 500 + 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, 500 + yi)
Next yi
Next xi
For yi = 0 To 4480 Step 224
For xi = 0 To 6440 Step 42
PSet (500 + xi, 500 + yi)
Next xi
Next yi
Line (500, 500)-(500, 500 + 4480)
Line (500, 4480 + 500)-(6440 + 500 + 160, 500 + 4480)
If Combo1.Text = "Sferica" Then hhh = 20
If Combo1.Text = "Sfer.cil." Then hhh = 10
If hhh = 0 Then hhh = 20
F1 = Val(Text1.Text)
F2 = Val(Text2.Text)
d = Val(Text8.Text)
rc = Val(Text7.Text)
SL = Val(Text3.Text)
NL = Val(Text4.Text)
DI = Val(Text5.Text)
If F1 = 0 Then GoTo fine
If F2 = 0 Then GoTo fine
If rc = 0 Then GoTo fine
k = Sqr(F2 * F1)  'frequenza centrale in Hz
k1 = (F2 - F1)    'banda in Hz
k2 = k / 1000 'frequenza centrale 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 / (2 * rc)) / Log(10) 'SOGLIA DI RIVELAZIONE 
Bw = 10 * Log(k1) / Log(10) 'incremento rumore dovuto alla banda
TL = SL + DI - NL - DT + Bw   'MAX ATTENUAZIONE CONSENTITA
For R = 0.1 To 100 Step 0.1
TLP = (60 + hhh * Log(R) / Log(10) + a * R) 'equazione attenuazione
If TLP > 200 Then TLP = 200
PSet (500 + 64.4 * R, 500 + 2 * 2240 - 22.4 * TLP), vbBlue
PSet (500 + 64.4 * R, 500 + 2 * 2240 - 22.4 * TL), vbRed
Next
For R = 0.1 To 500 Step 0.1
TLP = (60 + hhh * Log(R) / Log(10) + a * R) 'equazione attenuazione 
If Int(TLP) = Int(TL) Then distanza = R  'rivelazione distanza R
If Int(TLP) = Int(TL) Then perdita = TLP 'rivelazione TLp per dist.R
Next
Label12.Caption = Int(distanza)
fine:
Circle (500 + 64.4 * distanza, 500 + 2 * 2240 - 22.4 * perdita), _ 
100, vbRed
End Sub 

Lista per il combo

Sferica

Sfer.cil.

Esempio di valutazione[modifica]

Valutazione della portata di scoperta del sonar passivo per le variabili:

frequenza inf.

frequenza sup.

Livello della sorgente: dB/ Pa/

Rumore del mare: dB/ Pa/ [4]

Guadagno di direttività

Costante di tempo d'integrazione

Parametro probabilistico

  • selezione nel combo del modello di propagazione
  • azione sul pulsante Command1.
figura 2 Schermata di calcolo e grafica

Il valore numerico della portata stimata risultante dal calcolo è: ; il valore si deduce anche dall'intersezione delle due curve nel grafico di figura 2 [5].

Note[modifica]

  1. L'esame è condotto su due linee diverse di valutazione; 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. Con riferimento allo stato del mare valutato alla frequenza media geometrica degli estremi della banda
  5. 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