Please assume we have a set of 100 random numbers obeying Gaussian PDF in time-domain. Let's index them 1-100.
Within a time-accurate simulation, I apply four operations on this dynamic set every time-step:
- Use the entire set for some mathematical operation
- Then, remove, say, the last 10 numbers of the set (indices:91-100)
- Shift the remaining 90 numbers forward from the indices:1-90 to 10-100
- Generate 10 new Gaussian random numbers and put them into the emptied indices:1-10. And the entire set should still obey Gaussian PDF.
I want to obtain these time-domain changes via performing some operations in the frequency domain.
However, I do not know how I should play with the frequency-domain counterpart of the set, so that I obtain the same (or similar) results as if performing time-domain operations above.
The obscure form of the question:
One can generate random samples of Gaussian distribution directly in the frequency domain as explained here, and exemplified with a Python snippet here.
Let assume we generate a one-dimensional set consisting of uniformly-spaced 100 Gaussian random samples, $X(f)$.
I want to manipulate the set as such its time-domain counterpart, i.e. $x(t)$, is:
- Index-shifted by N positions in a circular manner,
- Then, (only) its first N elements being replaced by new N random samples.
For the first item, this gives the answer. For the second, however, I am perplexed.
Could you please tell us how to insert this new N random samples directly into the existing set in the frequency domain, so that we can avoid possibly(?) redundant FFTs otherwise?