WNoiseGenerator#
- class acoular.signals.WNoiseGenerator
Bases:
NoiseGeneratorWhite noise signal generator.
This class generates white noise signals with a specified
root mean square (RMS)amplitude,number of samples, andsampling frequency. The white noise is generated using arandom number generatorinitialized with auser-defined seedfor reproducibility.See also
numpy.random.RandomState.standard_normalUsed here to generate normally distributed noise.
PNoiseGeneratorFor pink noise generation.
UncorrelatedNoiseSourceFor per-channel noise generation.
Examples
Generate white noise with an RMS amplitude of 1.0 and 0.5:
>>> from acoular import WNoiseGenerator >>> from numpy import mean >>> >>> # White noise with RMS of 1.0 >>> gen1 = WNoiseGenerator(rms=1.0, num_samples=1000, seed=42) >>> signal1 = gen1.signal() >>> >>> # White noise with RMS of 0.5 >>> gen2 = WNoiseGenerator(rms=0.5, num_samples=1000, seed=24) >>> signal2 = gen2.signal() >>> >>> mean(signal1) > mean(signal2) np.True_
Ensure different outputs with different seeds:
>>> gen1 = WNoiseGenerator(num_samples=3, seed=42) >>> gen2 = WNoiseGenerator(num_samples=3, seed=73) >>> gen1.signal() == gen2.signal() array([False, False, False])
- digest = Property(depends_on=['rms', 'seed', 'sample_freq', 'num_samples'])
A unique identifier for the generator, based on its properties. (read-only)
- signal()
Generate and deliver the white noise signal.
The signal is created using a Gaussian distribution with mean 0 and variance 1, scaled by the
RMSamplitude of the object.- Returns:
numpy.ndarrayA 1D array of floats containing the generated white noise signal. The length of the array is equal to
num_samples.