Esame della portata di scoperta del sonar passivo
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 [2], un tempo era svolto con il Sonar Performance Calculator Submarine Signal Division, Portsmouth - Raytehon (in bibliografia); oggi, grazie al computer e al Visual Basic[3], si possono ottenere risultati più precisi ed interessanti grafici esplicativi del fenomeno con l'impiego di un calcoltore implementato in un P.C.
L'esame della portata con il calcolatore consente l'acquisizione delle variabili necessarie per l'ottimizzazione del sistema di scoperta.
Il pannello di controllo del calcolatore implementato sul P.C.
[modifica]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 in
- 2-Frequenza superiore della banda di ricezione in
- 3-Livello della pressione della sorgente .
- 4-Livello della pressione dovuta al rumore del mare
- 5-Guadagno di direttività della base
- 7-Costante di tempo d'integrazione
- 8-Parametro probabilistico ; numero puro.
da un insieme di oggetti quali:
- 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
- il form con un reticolo cartesiano per la presentazione delle curve delegate alla soluzione grafica del processo d'esame della portata come mostrato in figura 1:
Impostazione del software sorgente per l'implementazione del calcolatore su P.C.
[modifica]In ambiente di sviluppo Visual Basic inserimento degli oggetti nel Form come indicato in figura 2.[4].
Azione di copia e incolla[5] 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:
Rumore del mare: / [6]
Guadagno di direttività
Costante di tempo d'integrazione
Parametro probabilistico
- selezione nel combo del modello di propagazione
- azione sul pulsante Command1.
Il valore numerico della portata stimata risultante dal calcolo è: ; il valore si deduce anche dall'intersezione delle due curve nel grafico di figura 2 [7].
Osservazioni
[modifica]Come visto il calcolatore consente la determinazione, quasi istantanea, della portata di scoperta del sonar secondo le variabili messe a calcolo, modificando, secondo il piano di analisi, una o più variabili è possibile sviluppare un'indagine accurata per l'ottimizzazione delle prestazioni del sonar.
Note
[modifica]- ↑ 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.
- ↑ Il calcolo presuppone che il sistema ricevente della componente passiva del sonar sia in correlazione.
- ↑ 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
- ↑ Con riferimento allo stato del mare valutato alla frequenza media geometrica degli estremi della banda
- ↑ 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