<div dir="ltr">Because the integral of 1/f from zero to infinity is infinite, the methods that I described won't work if one really wants to reproduce the 1/f characteristic over all frequency. But, for things like communications systems applications, where any receiving system has a finite bandwidth, one doesn't care about the PSD outside the bandwidth of the system, and one would consequently be simulating something that matches the 1/f characteristic over a finite bandwidth, and does just about anything else outside. A PSD that matches the 1/f curve over an interval [f1, f2], where f1>0, and is zero outside that interval, corresponds to a well-behaved process, and no special methods are required.<div><br></div><div>Phillip</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Aug 11, 2017 at 2:41 PM, Neal Becker <span dir="ltr"><<a href="mailto:ndbecker2@gmail.com" target="_blank">ndbecker2@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">good point!</div><div class="HOEnZb"><div class="h5"><br><div class="gmail_quote"><div dir="ltr">On Fri, Aug 11, 2017 at 4:55 PM Nathaniel Smith <<a href="mailto:njs@pobox.com" target="_blank">njs@pobox.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, Aug 9, 2017 at 10:19 PM, Phillip Feldman<br>
<<a href="mailto:phillip.m.feldman@gmail.com" target="_blank">phillip.m.feldman@gmail.com</a>> wrote:<br>
> Firstly, white noise means only that the power spectral density is flat, or<br>
> equivalently, that the autocorrelation function is zero everywhere except at<br>
> lag zero.<br>
><br>
> One can generate Gaussian noise with an arbitrary power spectral density by<br>
> filtering white Gaussian noise with a suitable filter. The output of the<br>
> filter is the convolution of the impulse response of the filter with the<br>
> autocorrelation function of white noise, which gives us the impulse response<br>
> of the filter. So, from the convolution theorem and the definition of the<br>
> PSD, the PSD of the output is the squared magnitude of the frequency<br>
> response of filter.<br>
<br>
It's not actually possible to generate true 1/f noise this way --<br>
technically 1/f noise is non-stationary and doesn't have a PSD. (You<br>
can run a PSD estimator on any finite sample of 1/f noise, and get<br>
some answer, but as your samples get larger your estimate won't<br>
converge, because you keep discovering more and more power at lower<br>
and lower frequencies.) So there are specialized methods for<br>
generating 1/f noise, involving things like fractional differencing or<br>
wavelets.<br>
<br>
-n<br>
<br>
--<br>
Nathaniel J. Smith -- <a href="https://vorpus.org" rel="noreferrer" target="_blank">https://vorpus.org</a><br>
______________________________<wbr>_________________<br>
SciPy-Dev mailing list<br>
<a href="mailto:SciPy-Dev@python.org" target="_blank">SciPy-Dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/scipy-dev" rel="noreferrer" target="_blank">https://mail.python.org/<wbr>mailman/listinfo/scipy-dev</a><br>
</blockquote></div>
</div></div><br>______________________________<wbr>_________________<br>
SciPy-Dev mailing list<br>
<a href="mailto:SciPy-Dev@python.org">SciPy-Dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/scipy-dev" rel="noreferrer" target="_blank">https://mail.python.org/<wbr>mailman/listinfo/scipy-dev</a><br>
<br></blockquote></div><br></div>