Jump to content

View more

Image of the Day

Working on Johnny Bonasera Chapter 2 Intro. #screenshotsaturday #adventuregame https://t.co/QWEx05T09z
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net's newsletters to receive the latest updates and exclusive content.


Sign up now

Simulating random noise in a broadband sonar display

2: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.


  • You cannot reply to this topic
8 replies to this topic

#1 hawkeye_de   Members   

206
Like
0Likes
Like

Posted 13 January 2013 - 08:58 AM

Hi,

 

I'm currently in the process of implementing a first prototype of a broadband sonar for my subsim.

 

Have a look at this picture:

 waterfall_display.pNG

 

I'm currently struggling how to best implement the background noise (random noise of the ocean, in the picture those are the dark grey random points)...I'm sure there are standard algorithms/maths to do that.

 

Can anybody help me here ?

 

Thanks.



#2 Álvaro   Members   

20821
Like
0Likes
Like

Posted 13 January 2013 - 09:08 AM

Select parts that are clearly noise and make a histogram of the color intensities. As a first attempt to generate noise, try to do it by assigning each pixel a random value from a distribution that follows that histogram. If that doesn't look good, it means the samples are not independent and you may have to work harder. But I am guessing the results of this first idea are probably good enough.

#3 DT....   Members   

487
Like
0Likes
Like

Posted 13 January 2013 - 02:33 PM

I'm sure there are standard algorithms/maths to do that.

 

 

http://en.wikipedia.org/wiki/Monte_Carlo_method



#4 Álvaro   Members   

20821
Like
0Likes
Like

Posted 13 January 2013 - 06:22 PM


I'm sure there are standard algorithms/maths to do that.

 
 
 
http://en.wikipedia.org/wiki/Monte_Carlo_method



??? What does this have to do with Monte Carlo methods?

#5 Bacterius   Members   

13156
Like
0Likes
Like

Posted 13 January 2013 - 09:52 PM

There's probably been research on what distribution sonar background noise has, you can try and look that up and then sample that distribution by using a uniform distribution (using inverse transform sampling). It shouldn't even be that slow and would be quite accurate. Of course you can always approximate it, though.


“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”


#6 KulSeran   Members   

3195
Like
1Likes
Like

Posted 14 January 2013 - 04:07 AM

I suggest a 1D perlin noise scaled down to a quiet level, and added on top of the directional signal. If you wanted to get really fancy, you could instead scale the noise in any one direction by distance to the nearest underwater surface (with some small values for the min-max range).  Then take your sub's engine signal, distort it by adding another noise channel over it, and again reflect it off near by surfaces to add haze when you are running loud. Taking the FFT of the perlin noise should result in an even static value across your frequency histogram for your ship's analysis display as well, so you'd get free noise there too.



#7 phil126   Members   

199
Like
0Likes
Like

Posted 14 January 2013 - 08:07 AM

What type of noise are you trying to model, White Gaussian or a "colored" noise? If you just need gaussian at a given level. http://people.sc.fsu.edu/~jburkardt/cpp_src/normal/normal.html Their stuff seems to work.



#8 hawkeye_de   Members   

206
Like
0Likes
Like

Posted 15 January 2013 - 01:36 PM

The perlin noise approach function looks promising! Thx.



#9 hawkeye_de   Members   

206
Like
0Likes
Like

Posted 20 January 2013 - 01:30 PM

I've played just a little with standard randomizing...and to my astonishment it works well...so again easy solutions are often the best ones ;)






Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.