Why isn't the autocorrelation of rand a delta function?
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hello,
As both rand and randn generate uncorrelated random numbers, I expected that the autocorrelation of both rand or randn shows delta functions. However the result was different for rand.
(rand generates uniformly distributed random numbers and randn generates normal random numbers)
Does anyone know why the autocorrelation of rand is not a delta function?
x=rand(1,100,1); Rxx=xcorr(x); subplot(2,1,1); plot(Rxx); grid; title('Autocorrelation function of rand'); xlabel('lags'); ylabel('Autocorrelation');
x=randn(1,100,1); Rxx=xcorr(x); subplot(2,1,2); plot(Rxx); title('Autocorrelation function of randn'); xlabel('lags'); ylabel('Autocorrelation');
0 comentarios
Respuesta aceptada
Teja Muppirala
el 18 de Jul. de 2013
As described in detail here, http://en.wikipedia.org/wiki/Autocorrelation, there is more than one convention when calculating autocorrelation. In signal processing, autocorrelation of a sequence is often calculated without subtracting off the mean. As described in the documentation, this is indeed what XCORR does:
By default, xcorr computes raw correlations with no normalization.
If you generate the uniform random numbers with no bias (subtract 0.5), you will indeed get a result that looks like a delta function.
x=rand(1,100,1)-0.5; Rxx=xcorr(x); subplot(2,1,1); plot(Rxx); grid; title('Autocorrelation function of rand'); xlabel('lags'); ylabel('Autocorrelation');
x=randn(1,100,1); Rxx=xcorr(x); subplot(2,1,2); plot(Rxx); title('Autocorrelation function of randn'); xlabel('lags'); ylabel('Autocorrelation');
0 comentarios
Más respuestas (1)
the cyclist
el 18 de Jul. de 2013
I don't have the Signal Processing Toolbox, so I can't test this idea, but is this related to the normalization discussed in the documentation here:
0 comentarios
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!