This routine incorporates functions to generate binary and ternary pseudo-random signals with length N up to 50000. Five classes of signals are available:
Maximum length binary (MLB) signals
Quadratic residue binary (QRB) signals
Quadratic residue ternary (QRT) signals
Hall binary (HAB) signals
Twin Prime binary (TPB) signals
Functions are also available to calculate three measures of signal quality:
Performance Index for Perturbation Signals (PIPS)
Effective Performance Index for Perturbation Signals (PIPSE)
Effective minimum ratio between the actual harmonic amplitude and the specified harmonic amplitude at any of the specified harmonics (EMINE)
The prs routine allows the user to generate MLB signals without having to know their characteristic polynomials, since a default signal is available for any value of N.
To run the prs routine, download the folder at the bottom of the page. Change the "Current Directory" in MATLAB to the location of the folder. The GUI is then run by typing "prs" in the MATLAB command window. The use of the GUI requires MATLAB version 6.5 or above. However, for lower versions of MATLAB, the program can be run by typing "prs_perturbation" in the MATLAB command window; user input is mainly through the keyboard. Expert users can, of course, make use of the separate functions without calling the main script files "prs" or "prs_perturbation".
If you make use of the prs routine in your research, you may like to include the following citations in your publication:
Tan, A. H. and Godfrey, K. R.: ‘The generation of binary and near-binary pseudorandom signals: an overview’, IEEE Transactions on Instrumentation and Measurement, 2002, 51, (4), pp. 583 – 588.
Tan, A. H. and Godfrey, K. R.: Industrial Process Identification: Perturbation Signal Design and Applications. Cham, Switzerland: Springer, 2019.
The prs package has a subsidiary program which allows the user to generate direct synthesis ternary signals. The direct synthesis signals are based on the five classes of signals listed above. The program can be run by typing "direct_synthesis" in the MATLAB command window.
If you make use of the subsidiary program to generate direct synthesis ternary signals in your research, you may like to include the following citations in your publication:
Tan, A. H.: ‘Direct synthesis of pseudo-random ternary perturbation signals with harmonic multiples of two and three suppressed’, Automatica, 2013, 49, (10), pp. 2975 – 2981.
The latest addition to the prs package is the function MLB_set, which allows the user to generate independent realizations of MLB signals for a user-specified degree up to degree 14, corresponding to a length of 16383.