Autocorrelation sequences (ACSs) are
commonly used in a variety of fields. When testing an algorithm or conduction
simulations it is sometimes useful to use a random ACS. Generating random a
random ACS can be difficult because they have a lot of special properties and
if you select a sequence at random, the chance it is a valid ACS is
small.

We
can use the following property of ACSs to make generating random ACSs easy.

*The ACS and the power spectral density (PSD) are Fourier transform (FT) pairs.*For our purpose here, a PSD is just a function that is positive everywhere. "FT pair" means the FT of an ACS is a PSD and the invers FT of a PSD is an ACS.
So we can generate a random ACS using the following steps.
First, generate a random sequence. Second, square each element. Finally, find
the inverse FT of the squared sequence.

The matlab code below does just that.

N = 9;

PSD = randn(1,N).^2;

ACS = ifft(PSD);

ACS

ACS =

1.0022 + 0.0000i -0.0828 + 0.1658i 0.1847 - 0.0446i 0.0978 + 0.1778i 0.3034 - 0.3709i 0.3034 + 0.3709i 0.0978 - 0.1778i 0.1847 + 0.0446i -0.0828 - 0.1658i

## No comments:

## Post a Comment