SUBSIM Radio Room Forums



SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997

Go Back   SUBSIM Radio Room Forums > Silent Hunter 3 - 4 - 5 > SH5 Mods Workshop
Forget password? Reset here

Reply
 
Thread Tools Display Modes
Old 10-19-13, 10:21 PM   #1
tscharlii
Watch
 
Join Date: Dec 2011
Posts: 26
Downloads: 17
Uploads: 0
Default [WIP] Realistic Hydrophone

Current Version: Realistic_Hydrophone_1_1
Download Link: http://www.deguero.de/jel/Realistic_Hydrophone_1_1.7z

A picture is worth a thousand words, so again here are some videos showing the mod:
Two close contacts:
Two far away contacts:

What's new?
  • GHG simulation as outlined here: http://www.subsim.com/radioroom/show...8&postcount=25 Summary:
    • We can hear a contact best, if it is on a bearing of 90 or 270 degrees. The more the bearing deviates from this optimum the worse we can hear the contact.
    • The further away the contact the less accurate the bearing estimation.
  • Replacement of the stock hydrophone "new contact" reports, so we only get contact reports, if the sonarman can hear the contact according to the GHG simulation
  • Hotkey to ask the sonarman to tell us the estimated bearings of all contacts, he is aware of (Default: Shift-0 (Shift-Zero))
  • Fix: Sweeping back and forth around a contact, regardless of whether Repaired Equipment Mod by Xundrel and TheBeast 1.2 is installed or not
  • Set the sweeprange, the time interval between followed contact updates or the minimum bearing change for a followed contact update simply by using the hydrophone settings dialog provided by TheDarkWraith

What's still missing?
  • Contact aspect estimation (Is the contact closing or moving away?), this feature of version 1.0 is gone for now
  • Contact speed estimation
  • Kristalldrehbasisgerät(KDB) and Balkongerät simulation. Right now the mod always simulates Gruppenhorchgerät (GHG) hydrophone, even if you equipped a more modern hydrophone at the bunker.
  • Ability to hear contacts based on their actual sound emission. The mod treats all contacts as if they produced a sound emission of a merchant moving at 12 knots. Louder contacts should be audible at greater distances and more silent contacts should require you to be closer to them.
  • Ability to hear contacts based on our own sound emission. When we move submerged at flank speed, we can only hear contacts that are at most a few 100 meters away from us.
I recommend you conceal the ship type at the hydrophone, as I did in the videos above. The idea is, that you cannot deduce the bearing of the contact by moving the hydrophone needle back and forth, noting at which bearings the ship type starts and stops showing up, and taking the average of the two as the contact's bearing. You actually have to listen!
To conceal the ship type display (assuming you are using Real Navigation), edit /data/Menu/menu.txt and replace the ship types with a dash(-):
Replace
Quote:
; sh5.exe patch by TDW - allows texts for units to display in hydrophone box when real navigation enabled
826=Unknown
827=Warship
828=Merchant
829=Submarine
with
Quote:
; sh5.exe patch by TDW - allows texts for units to display in hydrophone box when real navigation enabled
826=-
827=-
828=-
829=-
This is not part of the mod to avoid conflicts with mods that also change /data/Menu/menu.txt

The mod assumes, that you have the gameplay settings "No map contact update" and "Realistic sensors" enabled.

You can adjust the hotkeys the mod uses by editing /data/Scripts/Menu/RealisticHydrophoneSettings.py. Edit the file either by hand, if you are comfortable with that, or open it using TheDarkWraith's OptionsFileEditorViewer (/data/Applications/OptionsFileEditorViewer/OptionsFileEditorViewer.exe).

Mod Compatibility: SH5 has to be patched to v1.2. TDWs hydrophone fixes have to be installed. TDW NewUIs version at least 7_1_0 up to 7_5_0 required. Install Realistic_Hydrophone_1_0 via JSGME after NewUis. It is correct, if the mod overwrites /data/Menu/Pages/menu_1024_768.ini of TDW NewUis. Any other JSGME warnings indicate a problem. If you have other mods, that change /data/Menu/Pages/menu_1024_768.ini, you will have to merge.

Credits:
TDW - This mod uses the timer and hotkey infrastructure introduced by his NewUIs as well as some of his utility functions. Also NewUIs code served as a great "learn by example" source regarding how to mod sh5.

------- Original Post:

Hi,

so, assuming you are using TDWs NewUIs and his hydrophone game patches, there are 2 ways to follow a contact, already. The stock "Follow_nearest_sound_contact" command and TDWs "Hydrophone follow nearest contact" command: Why another one?
Well, I like some aspects of the commands, while i do not like others. Here is a quick overview.

First, the stock "Follow_nearest_sound_contact" command:
  • Pro: It features spoken reports
  • Pro: It keeps the hydro needle towards the contact, so theoretically it reports accurate bearings
  • Con: But it is not accurate. If I use the stock command "Report_nearest_sound_contact" immediately after a "Follow_nearest_sound_contact" report, the bearings often differ by 1 - 1.5 degrees. The latter seems to be the correct value, if visually confirm the bearings through a periscope.
  • Con: Closing, Moving Away, Constant Distance estimation seems to be broken. For example in the TDW Torp Tutorial Mission, the soundman begins to report the contact as moving away once it passes a bearing of 30 degree, althouh it is still closing.
  • Pro: Estimation of Speed (Slow, Medium, Fast) seems to work, but...
  • Con: How does the soundman know in the first place, whether the contact is closing and how fast it is? He seems to be very confident at the very moment I order him to follow the contact.
  • Con: The soundman does not loose the contact when the sub moves fast, the sub surfaces or the contact is near 0 or 180 degrees

Second, the command "Hydrophone follow nearest contact":
  • Pro: I can select a target either on the hydrophone or persicope, which does not necessarily have to be the nearest one.
  • Pro: In contrast to the stock "Follow_nearest_sound_contact" the behaviour of your command is completely customizable using python scripts.
  • Con: It does not keep the needle towards the contact, when i'm not at the hydrophone station. The contact bearing is only updated once every 30 seconds, when the hydro needle passes the contact during its regular sweep. If I'm plotting with rather short time intervals, e.g. 5 minutes, and HydroFollowContactDeltaBearing = 1.0, this can mean that I use the bearing the target had at 4:30 instead of 5 minutes, which in turn can be the source of significant inaccuracy, up to 10% of the bearing delta.
  • Con: No spoken reports.

So here is my go at building a follow contact command. As the thread title implies, the goal of this mod is to provide an as realistic as possible hydrophone experience.

You can order the sonarman to follow a contact by either
  • pointing the hydrophone needle towards a contact
  • or looking at a contact at the UZO, Attack or Observation periscope
and press the hotkey - by default this is key 0 (zero, the one in the middle of your keyboard, not the zero on the numpad). You can change the hotkey by editing data/Scripts/Menu/RealisticHydrophoneSettings.py. The hotkey setting uses the same format as the hotkeys in TDW NewUis TheDarkWraithUserOptions.py, if you are familiar with that.
If you press the hotkey again anywhere in the ship, the sonarman will stop following the contact and return to normal sweep.

Once the sonarman is ordered to follow a contact, he will start sweeping back and forth around the selected contact and inform you, as soon as its bearing changes. He will be quite accurate, as he sweeps over the contact every few seconds and gets current information that way. This comes at a cost. He looses situation awareness of anything not within his sweep range. You might get surprised by contacts approaching from elsewhere, if you follow a contact all the time. You can set the sweep delta by setting HydroFollowNearestContactSweepRange (the default is 22.5 degrees) in TheDarkWraithUserOptions.py

The sonarman also tries to find out, whether the contact is closing, in constant distance or moving away. He does not know in the beginning. Let him follow the contact for a while. What he does is: He lets the contact's bearing change by a few degrees and remembers the time that took. Then he waits for the same time interval again and looks at the bearing change within that time interval. If it is significantly greater than the change within the first interval, this means the contact is closing, if the second bearing change is smaller than the first one, the contact is moving away. And if it is nearly the same, the contact keeps constant distance.
This aspect estimation only works under some assumptions. Your sub needs to be sitting tight. Don't move (or don't move fast at least), don't turn (this is worse). The contact maintains constant speed and course. If any of these don't hold, please ignore your sonarman's aspect estimation.

The sonarman will loose the contact, if it moves into bearings between 350 and 10 degrees or between 160 and 200 degrees (the areas at bow and stern not covered by the Gruppenhorchgerät GHG). He will also loose contact if we surface the sub. In that case he will inform you and resume normal sweep (futile if you surfaced and have the mod TDW_No_Hydrophone_On_Surface_No_Aircraft_Spotting enabled, but well, he never gets a day off anyway).

All the reports are written to the shiplog as well as spoken by the sonarman.

Known issues:
  • Aspect estimation does not work well with time compression. Looks like the timers I use do not follow the time compression accurately enough, so the two "supposed to be equal" time intervals used during aspect estimation are not equal and the results get spoiled.
  • The mod assumes the hydrophone Gruppenhorchgerät GHG. If you have a sub equipped with the Kristalldrehbasisgerät KDB, you do not have a blind area at the bow, yet the sonarman looses contact there. Anyone knows, how to determine which hydrophone is equipped from a python script?

Well, here is the download: http://www.deguero.de/jel/Realistic_Hydrophone_1_0.7z

Mod Compatibility: SH5 has to be patched to v1.2. TDWs hydrophone fixes have to be installed. TDW NewUIs version at least 7_1_0 up to 7_5_0 required. Install Realistic_Hydrophone_1_0 via JSGME after NewUis. It is correct, if the mod overwrites /data/Menu/Pages/menu_1024_768.ini of TDW NewUis. Any other JSGME warnings indicate a problem. If you have other mods, that change /data/Menu/Pages/menu_1024_768.ini, you will have to merge.

Some thoughts about how the hydrophone works:
Bearing readings should be quite accurate. Depending on the setting of the frequency seperating filter (Frequenzweiche), the resolution was smaller than one degree. It should be quite doable for any sonarman to move the hydrophone needle back and forth, determine the loudest position and get an exact bearing reading. But what should be the impact of noise, like moving at slow, normal or flank speed on electric motors.

Aspect estimation: Apart from observing how the speed at which bearings change develops, there are other ways to determine ascpect. Imagine a ship heading directly towards us. The bearing won't change at all, yet the soundman should notice at some point, that the contact gets louder and louder, and realize, it is closing.

Speed estimation: I like the count RPM approach. See http://www.subsim.com/radioroom/showthread.php?t=205625 . What are other ways to estimate speed at the hydrophone?

Credit:
TDW - This mod uses the timer and hotkey infrastructure introduced by his NewUIs as well as some of his utility functions. Also NewUIs code served as a great "learn by example" source regarding how to mod sh5.

Happy hunting
tscharlii

Last edited by tscharlii; 11-03-13 at 11:25 PM. Reason: Release of version 1.1
tscharlii is offline   Reply With Quote
Old 10-20-13, 03:36 AM   #2
gap
Navy Seal
 
Join Date: Jan 2011
Location: CJ8937
Posts: 8,214
Downloads: 793
Uploads: 10
Default

Sounds interesting. I have a few remarks. The first one is: I hope that at least this time you have not fixed something that was already working

Let me know if you are interested into hearing the rest of them.
__________________
_____________________
|May the Force be with you!|
...\/
gap is offline   Reply With Quote
Old 10-20-13, 05:01 AM   #3
tscharlii
Watch
 
Join Date: Dec 2011
Posts: 26
Downloads: 17
Uploads: 0
Default

Sure go ahead. Did I forget to write "Feedback welcome"?

Regarding the other issue (Gap is talking about http://www.subsim.com/radioroom/show...tcount=10832): I still wonder why nobody else experiences this.
tscharlii is offline   Reply With Quote
Old 10-20-13, 05:50 AM   #4
CaliEs
Loader
 
Join Date: Oct 2011
Posts: 89
Downloads: 27
Uploads: 0
Default

Sounds very interesting. Will download & test.

Quote:
Originally Posted by tscharlii View Post
Hi,

so, assuming you are using ... TDW's hydrophone game patches...
Is there a link?
__________________
Dietrich von Carlewitz, 2nd Lt.
U-29
CaliEs is offline   Reply With Quote
Old 10-20-13, 07:11 AM   #5
tscharlii
Watch
 
Join Date: Dec 2011
Posts: 26
Downloads: 17
Uploads: 0
Default

Quote:
Originally Posted by CaliEs View Post
Is there a link?
Here you go:
TDWs patches: http://www.subsim.com/radioroom/showthread.php?t=181433
TDWs NewUIs: http://www.subsim.com/radioroom/showthread.php?t=166093

Also I have made a little video that shows my mod in action.
tscharlii is offline   Reply With Quote
Old 10-20-13, 02:11 PM   #6
periunder
In the Brig
 
Join Date: May 2013
Posts: 96
Downloads: 1
Uploads: 0
Default

Quote:
Originally Posted by CaliEs View Post
Will download & test.
Oh goodie. I can't wait to be disappointed!
periunder is offline   Reply With Quote
Old 10-30-13, 07:51 AM   #7
tscharlii
Watch
 
Join Date: Dec 2011
Posts: 26
Downloads: 17
Uploads: 0
Default

The next release will fix the issue that the sonarman, while following a contact, still sweeps 360 degrees, if REM is installed.
tscharlii is offline   Reply With Quote
Old 10-30-13, 08:46 PM   #8
lodebeard
Gunner
 
Join Date: Sep 2013
Posts: 96
Downloads: 84
Uploads: 0
Default

Quote:
Originally Posted by tscharlii View Post
The next release will fix the issue that the sonarman, while following a contact, still sweeps 360 degrees, if REM is installed.
Awesome! Care to share what was causing it?
lodebeard is offline   Reply With Quote
Old 10-20-13, 07:17 AM   #9
gap
Navy Seal
 
Join Date: Jan 2011
Location: CJ8937
Posts: 8,214
Downloads: 793
Uploads: 10
Default

Quote:
Originally Posted by tscharlii View Post
Sure go ahead. Did I forget to write "Feedback welcome"?

Regarding the other issue (Gap is talking about http://www.subsim.com/radioroom/show...tcount=10832): I still wonder nobody else experiences this.
Okay, for a start ought to warn you that if your new scripts are based, even in part, on TDW's code, you should give open credit to him and make it clear that your mod is an addon for his UI. I know from experience that he is quite jealous about his code

Let's go to the technical remarks now:

bearing accuracy: WWII hydrophones were not as accurate as we could think, and for sure in most cases they were much lesser accurate than in game.Talking about the G.H.G, the Interrogation of U-Boat Survivors - Cumumulative Edition by the British Admiralty says that "Bearing accuracy is good". Nonetheless other sources say the opposite. Quoting an interesting article I have found on the web (Some hardly known aspects of the GHG, the U-boat's group listening apparatus by Arthur. O. Bauer):

Quote:
The British carefully investigated the capabilities of the GHG (Elac) apparatus in the captured U-570, in May 1942.
On successive selections of the high pass filters it was found that on the 6 kHz high pass-filter (utilizing the sonic spectrum between 6 kHz - 7 kHz), the bearing proved to have an accuracy equal or lesser of 1°, for 3 kHz (utilizing the spectrum between 3 kHz - 7 kHz) the accuracy was ca. 1.5°, and for 1 kHz (utilizing the spectrum between 1 kHz - 7 kHz) the accuracy was ca. 4°, at 500 Hz, thus bypassing the high pass filters, the accuracy was decreased to ca. 8°.
Average merchant ships, cruising at 12-13 knots, produced a maximum sonic spectrum at ca. 100 Hz and only 10% at 4 kHz. For destroyers cruising at 15 knots, the maximum sonic spectrum was at . 200 Hz, but still supplying 30% of its harmonic spectrum between, 4 kHz and 8 kHz.
In other words, lower frequency wavelenghts more abundant in ship sonic spectrums, givie the least accurate readings. Knowing that low-band waves are also the ones travelling further away from their source, we can also desume that bearing accuracy had to be better at short ranges than at long ones. This assumption seems to be confirmed by the fact
the K.D.B. had a better accuracy but a much shorter range than the GHG: besides being orientable, it was probably more sensible to relatively high frequencies than to low ones. For completeness, it is worth to note that, with its advanced electronics, the Balkon Gerat had the ability to filter efficiently low frequencies and to amplify higher ones, thus achieving a better accuracy and range than its predecessors. One last note on GHG's bearing accuracy; in an unreferenced article, uboataces.com refers that:

Quote:
the triangulation was most effective with sound sources coming from the sides, with deteriorating accuracy as the source moved to the front or rear of the boat.
This issue was obviated in te next models through the adoption of orientable sensors, the increase of their number, and their technological enhancement.
Unfortunately, this aspect is totally neglectedin game. I suppose that randomizing hydrophone reports through python code wouldn't be a major issue. The point that I have not an aswer for is: can we make a script to apply different randomization ranges for different hydrophone models ad at different target ranges?

Speed, ship type, manoeuvre of the ship estimation. I have found a signed article on uboat.net stating that:

Quote:
Experienced underwater sound detector operator was able to determine is a detected ship a cargo ship or a warship (type of the warship), approximate speed or manoeuvre of the ship (approaching, digression, increasing or decreasing of speed and depth, if detected object was a submarine).
I also wish to point you to the following subsim threads which discuss more in detail the speed estimation topic:

http://www.subsim.com/radioroom/show...94#post2107994
http://www.subsim.com/radioroom/show...60#post1728160

The above sources should unravel any doubt on the fact that the hydrophone could be used for detecting more data than just target bearings. I agree with you that doing it would have required several minutes of continuous listening though. Talking more specifically about target range, target closing/moving away, and speeding up/slowing down, I find your method for determining them based on real measurement rather than throwing exact numbers, brilliant and probably realistic. I wonder if the doppler factor might have helped a skilled sonarman in this task, especially for close and fast moving targets.
__________________
_____________________
|May the Force be with you!|
...\/
gap is offline   Reply With Quote
Old 10-20-13, 03:03 PM   #10
tscharlii
Watch
 
Join Date: Dec 2011
Posts: 26
Downloads: 17
Uploads: 0
Default

Quote:
Originally Posted by gap View Post
Let's go to the technical remarks now:
Thank you for your interesting remarks and links. Lots of stuff to think about what the mod might focus on considering its ambitious name.
tscharlii is offline   Reply With Quote
Old 10-20-13, 03:48 PM   #11
THE_MASK
Ace of the deep .
 
THE_MASK's Avatar
 
Join Date: Jan 2006
Posts: 9,226
Downloads: 901
Uploads: 73


Default

Great video I like the mod .
THE_MASK is offline   Reply With Quote
Old 10-21-13, 12:29 AM   #12
tootsie
Stowaway
 
Posts: n/a
Downloads:
Uploads:
Default

very promising. Thanks for the hard work.
  Reply With Quote
Old 10-21-13, 01:17 AM   #13
THE_MASK
Ace of the deep .
 
THE_MASK's Avatar
 
Join Date: Jan 2006
Posts: 9,226
Downloads: 901
Uploads: 73


Default

What is the documentation folder ? Is it part of the mod ?
THE_MASK is offline   Reply With Quote
Old 10-21-13, 03:16 AM   #14
plj
Captain
 
Join Date: Sep 2013
Posts: 542
Downloads: 70
Uploads: 0
Default

http://www.subsim.com/radioroom/show...ostcount=10832

I just reproduced this .. and this is deffinately a bug in NewUI's code. How confident are you in your solution ? Are you not skipping multiple checks on range this way ?
plj is offline   Reply With Quote
Old 10-21-13, 03:42 AM   #15
gap
Navy Seal
 
Join Date: Jan 2011
Location: CJ8937
Posts: 8,214
Downloads: 793
Uploads: 10
Default

Quote:
Originally Posted by plj View Post
http://www.subsim.com/radioroom/show...ostcount=10832

I just reproduced this .. and this is deffinately a bug in NewUI's code.
In that case I beg pardon for not having trusted tscharlii when he first reported the bug

Quote:
Originally Posted by plj View Post
How confident are you in your solution ? Are you not skipping multiple checks on range this way ?
It seems that our tscharlii knows what he is doing. I know nothing on SH5 scripted routines and python, but if required I can give him an insight on sensors' controllers, to make sure he won't skip the information stored in them.
__________________
_____________________
|May the Force be with you!|
...\/
gap is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 02:58 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © 1995- 2024 Subsim®
"Subsim" is a registered trademark, all rights reserved.