T.R | Title | User | Personal Name | Date | Lines |
---|
658.1 | Definitions please... | CHOVAX::YOUNG | Back from the Shadows Again, | Tue Jan 27 1987 11:33 | 17 |
| Please explain:
Ideal white noise.
Gaussian distribution.
In what manner you wish to interface this data. A function
call? A subroutine call? A file?
Please list number and types of arguments. I seem to recall
that the definition of white noise has something to do with
frequency AND amplitude.
Shouldn't be too hard, but its a lot easier for us (me) if you can
provide the answers to these.
-- Barry
|
658.2 | some ideas | ENGINE::ROTH | | Tue Jan 27 1987 12:26 | 44 |
| I encountered the problem when I wanted to generate 2 and 3 dimensional
band limited perturbations for texture mapping of rendered images.
There are a number of ways of getting a reasonable approximation, how
fancy you want to get depends on how accurate you want your simulation
to be.
One way that works well is to just generate N equally spaced sinusoids
with uniformly distrubuted random phases, over the band. These could be
fetched from a sine/cosine table, so only time to do the indexing
and additions would be taken.
Another alternative is to generate a Poisson distrubution of
of the impulse responses of a lowpass filter (sin x)/x, and keep a
running sum, dropping the contribution of a given impulse distribution
when its tails die away sufficiently. Again, a table could be used for
this, avoiding math library calls.
Yet another is to shock excite a recursive digital lowpass filter
with such a Poisson distribution of impulses - this will trade
flatness of the frequency distribution for better long term randomness
of the signal. But this requires some multiplies in the filter
simulation. You can use any classic analog lowpass filter and
map it to a digital domain via a bilinear transformation to do the
synthesis. (Phase response is clearly no concern!)
What it always comes down to is adding some contributions, either
spectral or time domain - maybe a mixture of these two would be
even better.
You can use something like a maximum entropy spectral estimator to
check the frequency domain behaviour of your noise source, let me know
and I can post one (max entropy is good for finding if any narrow
spectral peaks may be lying around).
I've read papers on noise loading testing of frequency division multiplex
systems where the N randomly phased sines were used. They deleted
one of the sines and then looked there with a spectrum analyzer on
the receiving end to see how much energy was thrown into that slot.
If you can tell me a little more about what you are trying to simulate
I may be able to give more specific recomendations.
- Jim
|
658.3 | | CLT::GILBERT | eager like a child | Tue Jan 27 1987 15:09 | 7 |
| I'd check the literature, especially CACM (Collected Algorithms
of the Association of Computing Machinery). I recently (last two
or three years) saw an article in one of the ACM journals of a new
and improved method of generating random numbers according to a
Gaussian and/or Poisson distribution -- such algorithms typically
take one or two random numbers from a uniform distribution, and
produce a random number for the desired distribution.
|
658.4 | Fourier Method | AIWEST::DRAKE | Dave (Diskcrash) Drake 619-292-1818 | Sun Feb 08 1987 16:50 | 16 |
| We generated random signals for repeatable radar system testing
by taking the inverse Fourier Transform of the desired spectral
envelope and using uniform random phase at each frequency. I. E.
1. Establish the time-bandwidth product desired, say 8192 complex
samples.
2. Introduce amplitude =1.0, phase = uniform random number
and convert this into a complex pair of real,imaginary values. Place
the real, imaginary pair into the array. Weight the array with the
desired bandpass. (Say 1.0 in the range you desire, 0.0 elsewhere,
or make a realizable filter such as a Chebyshev or Butterworth.)
3. Take the inverse FT of the array and use the real result
as the time domain signal for your test.
|