Jump to content

  • Log In with Google      Sign In   
  • Create Account


Simulating random noise in a broadband sonar display


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   -  Reputation: 197

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.



Sponsor:

#2 Álvaro   Crossbones+   -  Reputation: 12362

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   -  Reputation: 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   Crossbones+   -  Reputation: 12362

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   Crossbones+   -  Reputation: 8277

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.


The slowsort algorithm is a perfect illustration of the multiply and surrender paradigm, which is perhaps the single most important paradigm in the development of reluctant algorithms. The basic multiply and surrender strategy consists in replacing the problem at hand by two or more subproblems, each slightly simpler than the original, and continue multiplying subproblems and subsubproblems recursively in this fashion as long as possible. At some point the subproblems will all become so simple that their solution can no longer be postponed, and we will have to surrender. Experience shows that, in most cases, by the time this point is reached the total work will be substantially higher than what could have been wasted by a more direct approach.

 

- Pessimal Algorithms and Simplexity Analysis


#6 KulSeran   Members   -  Reputation: 2221

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   -  Reputation: 196

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   -  Reputation: 197

Like
0Likes
Like

Posted 15 January 2013 - 01:36 PM

The perlin noise approach function looks promising! Thx.



#9 hawkeye_de   Members   -  Reputation: 197

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.



PARTNERS