The tool to do the calculations:
http://www.subsim.com/radioroom/showthread.php?t=114351
The book on "how?":
http://www.subsim.com/radioroom/showthread.php?t=126824
But those are all modern recreations (by SH players) of what they(Hitman and KLH) think/investigated was used. Historically realistic as best as possible.
p.s. For hydrophone methods taking your time is the best solution to get accuracy. Bearings that change are a patience game. It's sloooooowwww! I follow the method of the movie/pdf-document but use my own
3-bearing AOB calculator disk (which is not historically accurate btw) to get AOB/course. Start with short periods and double-up the time interval until AOB is acceptably accurate (use the 1st and 3rd bearing of short periods as '1 and 2nd bearing' of the longer periods) Then moving on a parallel course you can be confident you won't get dangerously close while taking the 4th bearing for his speed.
There has been an old mod for GWX 1.0x that allows screwbeat counting. But I doubt real uboats had knowledge of screwbeats vs. speed curves. Maybe some ships, or the operator could distinguish fast from slow, and/or accelerating/decellerating. They would still have to compare the beat counts with actual measured plots. This would only be usefull if you kept the target alive for another day to track. If you sink it it has become useless data.
ps2: the bearing where the target is supposed to have a 90 AOB is an excellent 'starting-line' to use for long-timeframe average-speed measurements. Move along for a couple of hours on roughly the same speed (guestimated). Or sprint ahead at moderate speed and wait somewhere until the sound is back at 90/270 degrees. The second bearing after a few hours is the 'finnish line' of sorts and you can develop an average speed between the lines.