java - Can you programmatically detect white noise? -
the dell streak has been discovered have fm radio has crude controls. 'scanning' unavailable default, question know how, using java on android, 1 might 'listen' fm radio iterate through frequency range detecting white noise (or signal) act normal radio's seek function?
i have done practical work on specific area, recommend (if have little time it) try little experimentation before resorting fft'ing. pcm stream can interpreted complexely , subtly (as per high quality filtering , resampling) can practically treated many purposes path of wiggly line.
white noise unpredictable shaking of line, never-the-less quite continuous in intensity (rms, absolute mean..) acoustic content recurrent wiggling , occasional surprises (jumps, leaps) :]
non-noise content of signal may estimated performing quick calculations on running window of pcm stream.
for example, noise tend have higher value absolute integral of derivative, non-noise. think academic way of saying this:
loop(n+1 n.length) { sumd0+= abs(pcm[n]); sumd1+= abs(pcm[n]-pcm[n-1]); } wnoiseratio = ?0.8; //quite discovered, bit tricky calculate. if((sumd1/sumd0)<wnoiseratio) { /*not noise*/ }
also, running absolute average on ~16 ~30 samples of white noise tend vary less, on white noise acoustic signal:
loop(n+24 n.length-16) { runabsave1 += abs(pcm[n]) - abs(pcm[n-24]); } loop(n+24+16 n.length) { runabsave2 += abs(pcm[n]) - abs(pcm[n-24]); } unusualdif= 5; //a factor. tighter values longer measures. if(abs(runabsave1-runabsave2)>(runabsave1+runabsave2)/(2*unusualdif)) { /*not noise*/ }
this concerns how white noise tends non-sporadic on large enough span average out entropy. acoustic content sporadic (localised power) , recurrent (repetitive power). simple test reacts acoustic content lower frequencies , drowned out high frequency content. there simple apply lowpass filters (and no doubt other adaptions).
also, root mean square can divided mean absolute sum providing ratio should particular white noise, though cant figure right now. ratio differ signals derivatives well.
i think of these being simple formulaic signatures of noise. i'm sure there more.. sorry not more specific, fuzzy , imprecise advice, performing simple tests on output of fft. better explaination , more ideas perhaps check out statistical , stochastic(?) measurements of entropy , randomness on wikipedia etc.
Comments
Post a Comment