Generator¶
The generator module provides signal generators.
The following functions calculate N
samples and return an array containing the samples.
For indefinitely long iteration over the samples, consider using the output of these functions
in itertools.cycle()
.
Noise¶
Different types of noise are available. The following table lists the color of noise and how the power and power density change per octave.
Color | Power | Power density |
---|---|---|
White | +3 dB | 0 dB |
Pink | 0 dB | -3 dB |
Blue | +6 dB | +3 dB |
Brown | -3 dB | -6 dB |
Violet | +9 dB | +6 dB |
The colored noise is created by generating pseudo-random numbers using
np.random.randn()
and then multiplying these with a curve tyical for the color.
Afterwards, an inverse DFT is performed using np.fft.irfft()
.
Finally, the noise is normalized using acoustics.signal.normalize()
.
All colors¶
Per color¶
-
acoustics.generator.
white
(N, state=None)[source]¶ White noise.
Parameters: - N – Amount of samples.
- state (
np.random.RandomState
) – State of PRNG.
White noise has a constant power density. It’s narrowband spectrum is therefore flat. The power in white noise will increase by a factor of two for each octave band, and therefore increases with 3 dB per octave.
-
acoustics.generator.
pink
(N, state=None)[source]¶ Pink noise.
Parameters: - N – Amount of samples.
- state (
np.random.RandomState
) – State of PRNG.
Pink noise has equal power in bands that are proportionally wide. Power density decreases with 3 dB per octave.
-
acoustics.generator.
blue
(N, state=None)[source]¶ Blue noise.
Parameters: - N – Amount of samples.
- state (
np.random.RandomState
) – State of PRNG.
Power increases with 6 dB per octave. Power density increases with 3 dB per octave.
Other¶
-
acoustics.generator.
heaviside
(N)[source]¶ Heaviside.
Returns the value 0 for x < 0, 1 for x > 0, and 1/2 for x = 0.
For related functions, check scipy.signal
.