x=TransformedProcess[Exp[\[ImaginaryI]*b[t]], b \[Distributed] WienerProcess[], t];
is a transformation of a continuous time process. Therefore the sampling function RandomFunction
needs three argument time parameter specification {min, max, step}
. This is the reason that
data = RandomFunction[x, {0, 10}];
fails and in result everything coming after that that requires data
. Daniel's suggestion is correct, but the sampling can happen at shorter steps (that will produce more points on a path):
data = RandomFunction[x, {0, 10, .1}];
Then
In[19]:= PowerSpectralDensity[data, \[Omega]] // Head
Out[19]= Plus
Now for plot. Note that:
In[20]:= psd = PowerSpectralDensity[data, \[Omega]];
In[27]:= psd /. \[Omega] -> .1
Out[27]= 5.96745 + 0.681108 I
so psd
is a complex expression. One may plot its real and imaginary parts separately, try:
In[28]:= Plot[Re[psd], {\[Omega], -\[Pi], \[Pi]}, PlotRange -> All, Filling -> Axis]
For the autocorrelation function of the data one can use CorrelationFunction
:
In[33]:= corr = CorrelationFunction[data, {data["PathLength"] - 1}];
In[34]:= corr // Head
Out[34]= TemporalData
In[37]:= ListPlot[{Re[corr], Im[corr]}]