Basi idrofoniche rettilinee in banda di frequenze (routine di calcolo)
Lo studio della caratteristica di direttività fa parte del progetto del sonar e della valutazione delle portate di scoperta.
Lo studio consente la determinazione dei parametri della direttività delle basi, in particolare il guadagno e la larghezza del lobo principale computati su di una banda di frequenze,
In figura 1 esempio, non in scala, di base idrofonica rettilinea su sottomarino:
L'algoritmo di calcolo R(alfa) in banda di frequenze
modificaL'algoritmo di calcolo della direttività R di una base idrofonica rettilinea, dovuto a Stenzel, è riportato nella funzione:
Dove:
numero degli idrofoni
lunghezza della base in metri
velocità del suono in m / s
frequenza inferiore della banda in
frequenza superiore della banda in
Modalità di computazione
modificaPrima dell’avvento dei computer gli sviluppi matematici necessari per il calcolo dell'andamento di erano eseguiti per valori discreti di con un notevole dispendio di tempo per modesti campioni della stessa.
Oggi, grazie ai personal computer, si possono implementare particolari routine di calcolo sviluppate in linguaggio Visual Basic [1] che, oltre ai singoli livelli numerici, consentono la costruzione grafica dell’andamento di con innumerevoli punti di calcolo.
Il calcolo delle curve di direttività delle basi idrofoniche consente un’analisi accurata del loro comportamento tramite un'interfaccia virtuale tra operatore e software di calcolo.
Con il software si sviluppa l'algoritmo riportato in precedenza che prevede il calcolo in funzione delle variabili:
frequenza inferiore della banda in
frequenza superiore della banda in
direzione di puntamento in gradi sessagesimali
lunghezza della base in metri
numero degli idrofoni
Per la valutazione rapida della bontà della caratteristica di direttività si fa spesso riferimento al valore dell'ampiezza dell'angolo che decrementa da ampiezza ad ampiezza .
Più è piccolo migliore è la caratteristica di direttività.
Le basi idrofoniche rivelano in modo ottimale una sorgente acustica quando questa è posizionata angolarmente sulla direzione dove la curva di direttività presenta il massimo.
La routine di programma consente, con processo iterativo, di ottenere il desiderato valore di mediante la variazione di una qualsiasi delle variabile citate ferme restando il valore delle altre.
Il software di calcolo
modificaImplementando nel P.C. il programma in Visual Basic riportato in calce si realizza il pannello virtuale di calcolo costituito da:
- Quattro textbox
- Un pulsante d'avvio del calcolo
- Un reticolo cartesiano per la presentazione delle curve di direttività come mostra la figura 2:
Esempi di dimensionamento
modificaUna volta installato il software si possono sviluppare alcuni esempi di valutazione che riguardano il calcolo della direttività;
Primo esempio
Dimensionamento [2] della direttività di una base idrofonica lineare e continua [3] della lunghezza di nella banda di frequenze
calcolata per:
Il calcolo rende la risposta grafica della direttività:[4] come riportato in figura 3.
Secondo esempio
Il calcolo rende la risposta grafica della direttività di figura 4:
Terzo esempio
Il calcolo rende, in figura 5, la risposta grafica della direttività:
E di fondamentale importanza osservare che, fissate di massima tutte le variabili, è possibile ottenere una curva di direttività desiderata modificando ad arte una delle quattro [5]; operazione fattibile dopo computazioni iterative,
Impostazione software
modificaIn ambiente di sviluppo Visual Basic inserimento degli oggetti nel Form come indicato in figura 6 nel rispetto della numerazione indicata in rosso.[6].
Azione di copia e incolla [7] del programma:
Listato
Private Sub Form_Paint() For xi = 0 To 6440 Step 322 For yi = 0 To 4480 Step 28 PSet (550 + xi, 500 + yi) Next yi Next xi For yi = 0 To 4480 Step 224 For xi = 0 To 6440 Step 42 PSet (550 + xi, 500 + yi) Next xi Next yi Line (550 + 3220, 500)-(550 + 3220, 500 + 4480) Line (550, 4480 + 500)-(6440 + 550, 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 Command1_Click() Cls For xi = 0 To 6440 Step 322 For yi = 0 To 4480 Step 28 PSet (550 + xi, 500 + yi) Next yi Next xi For yi = 0 To 4480 Step 224 For xi = 0 To 6440 Step 42 PSet (550 + xi, 500 + yi) Next xi Next yi Line (550, 500)-(550, 500 + 4480) Line (550, 4480 + 500)-(6440 + 550, 500 + 4480) Line (550 + 3220, 500)-(550 + 3220, 500 + 4480) For alfa = 0 To 180 Step 0.01 f1 = Val(Text1.Text) If Val(Text1.Text) = 0 Then GoTo salto f2 = Val(Text2.Text) If Val(Text2.Text) = 0 Then GoTo salto L = Val(Text3.Text) If Val(Text3.Text) = 0 Then GoTo salto n = Val(Text4.Text) If Val(Text4.Text) = 0 Then GoTo salto d1 = L / (n - 1) p = (f2 - f1) / f1 j3 = 90 x = 3.14 * d1 * (f1 / 1530) * Sin(((alfa - j3) + 0.000001) * (3.14 / 180)) For M = 1 To (n - 1) b = (Sin(M * p * x)) / (M * p * x) c = Cos((p + 2) * M * x) d = (n - M) e = (b * c * d) k = k + e Next M s = ((2 / (n ^ 2)) * k) + (1 / n) t = Sqr(s) k = 0 Circle ((550 + 2 * alfa * 6440 / 360), 500 + (2 * 2240 - 2 * 2240 * t)), _ 10, vbRed Next salto: End Sub
Collegamenti esterni
modificaE' disponibile il file di calcolo in formato eseguibile è scaricabile da:
Note
modifica- ↑ Qualsiasi linguaggio di calcolo può essere impiegato adattando opportunamente il listato del programma.
- ↑ Tramite la variazione dei parametri si possono individuare le condizioni più idonee in base alle esigenze di progetto.
- ↑ La continuità può essere assimilata ad un insieme d'idrofoni vicini tra loro.
- ↑ La massima sensibilità della base idrofonica si ha per °
- ↑ Non è significativa la variazione della velocità del suono che può variare in campo molto ristretto.
- ↑ Il listato del programma non è commentato
- ↑ Prestare attenzione alle righe di programma che in base alla pagina possono essere scritte in parte a capo
Bibliografia
modifica- H&B Stenzel, Leitfaden zur berechnung von schallvorgangenh, Berlino, Julius Springer, 1939.
- R. J. Urick, Principles of underwater sound, Mc Graw – hill, 3^ ed. 1968
- J.W. Horton, Foundamentals of Sonar, United States Naval Institute,Annapolis Maryland, 1959
- 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