WNoiseGenerator¶
- class acoular.signals.WNoiseGenerator¶
Bases:
NoiseGenerator
White 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 generator
initialized with auser-defined seed
for reproducibility.See also
numpy.random.RandomState.standard_normal
Used here to generate normally distributed noise.
acoular.signals.PNoiseGenerator
For pink noise generation.
acoular.sources.UncorrelatedNoiseSource
For 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])
- 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
RMS
amplitude of the object.- Returns:
numpy.ndarray
A 1D array of floats containing the generated white noise signal. The length of the array is equal to
num_samples
.