Next |
Prev |
Up |
Top
|
Index |
JOS Index |
JOS Pubs |
JOS Home |
Search
Pink noise7.10 or
``1/f noise'' is an interesting case because it occurs often in nature
[294],7.11is often preferred by composers of computer music, and there is no
exact (rational, finite-order) filter which can produce it from
white noise. This is because the ideal amplitude response of
the filter must be proportional to the irrational function
, where
denotes frequency in Hz. However, it is easy
enough to generate pink noise to any desired degree of approximation,
including perceptually exact.
The following Matlab/Octave code generates pretty good pink noise:
Nx = 2^16; % number of samples to synthesize
B = [0.049922035 -0.095993537 0.050612699 -0.004408786];
A = [1 -2.494956002 2.017265875 -0.522189400];
nT60 = round(log(1000)/(1-max(abs(roots(A))))); % T60 est.
v = randn(1,Nx+nT60); % Gaussian white noise: N(0,1)
x = filter(B,A,v); % Apply 1/F roll-off to PSD
x = x(nT60+1:end); % Skip transient response
In the next section, we will analyze the noise produced by the above
matlab and verify that its power spectrum rolls off at approximately 3
dB per octave.
Next |
Prev |
Up |
Top
|
Index |
JOS Index |
JOS Pubs |
JOS Home |
Search
[How to cite this work] [Order a printed hardcopy] [Comment on this page via email]