# How to generate the amplitude of a signal with a certain power spectral density?

I am a newbie. If I posted a question someone else already asked, please forgive me. Thank you!

Now, I have a power spectral density named $P(f)$ as a function of $f$. Let's say this function is given by

$$\big\langle h(f)^*,h(f') \big\rangle=P(f)\delta(f-f')$$

Here, the asterisk stands for the complex conjugation and the brackets means the ensemble average. $\delta(x)$ is the Kronecker delta. Let's assume that $h(f)^*=h(-f)$ and $P(f)\propto f^\alpha$ with $\alpha$ a real number.

Now, I want to generate $h(f)$ based on $P(f)$. How can I do that? Shall I simply set $h(f)=\sqrt{P(f)}$?

I will primarily use c++. Please give me some hints. Thank you!

• Since there as arbitrary amount of possible $h$ that yield the same PSD, are there further restrictions on picking an $h$ that solves your equation? – Marcus Müller May 21 '18 at 18:03
• @MarcusMüller Hi, I added new constraints on $h$, that is, $h(f)^*=h(-f)$ and $P(f)\propto f^\alpha$ with $\alpha$ a real number. I hope this will be helpful. – Drake Marquis May 22 '18 at 0:06