Generate MLS signal and  Generate IRS signal

These two modules perform very similar tasks: they create the excitation signals, which are required for exciting the system when doing impulse response measurements with the following scheme:

MLS stands for Maximum Lenght Sequence, IRS stands for Inverse Repeated Sequence. Both these excitation signals are defined as a pseudo-random sequence of binary digits (0 and 1), built with a complex number-theory technique.

The important properties of these sequences are the following:

Aurora makes it possible to generate MLS and IRS sequences up to order 21: this means that the maximum length of the measured IRs will be 2^21-1, that is 2,097,151 samples, corresponding to more than 47 s at a sampling frequency of 44.1 kHz !!!

For the most commonly used orders (14, 15, 16 and 17), more than one sequence is available (labelled as 16A, 16B and 16C, for example). Each of them is produced according to a different permutation of the numerical basis, and thus the results are uncorrelated. In case of distortion, each of these sequences produces spurious echoes at different positions, so that they can be easily identified and removed.

The following picture shows an MLS sequence of order 5 (period of 31 samples):