Skip to main content Skip to navigation

Multilev_new

AN IMPROVED MATLAB FUNCTION FOR DESIGNING
MULTILEVEL MULTIHARMONIC SIGNALS


Computer optimised multiharmonic signals are designed to match a specified power spectrum as closely as possible. Two types of such signals can be designed using the Frequency Domain System Identification Toolbox in MATLAB.

The first type is a multisine (sum of harmonics) signal; this can take any value within the range between its minimum and maximum values. For linear system identification, the relative phases between the harmonics are optimised in order to minimise the peak-to-peak amplitude of the signal.

The second type is a discrete-interval binary signal, in which the objective of the optimisation is to maximise the amount of power in the specified harmonics. Since the signal is binary, the peak-to-peak amplitude can be clearly defined, and it is generally lower than that of a multisine signal with the same harmonic specification. However, for a binary signal, it is inevitable that some of the total signal power appears in the non-specified harmonics.

Multilevel multiharmonic signals are designed to retain the advantages of each type of signal, while reducing the disadvantages (A.S. McCormack, K.R. Godfrey and J.O. Flower (1995), "The design of multilevel multiharmonic signals for system identification", IEE Proceedings - Control Theory and Applications, Vol 142, Issue 3, pp.247-252). The method described in this paper uses an algorithm based on swapping between the time and frequency domains, which maximises the minimum ratio between actual and specified Fourier coefficients. This may not be suitable for all applications, and recently, a modification has been done to optimise the Time Factor (TF) of the signal instead. The Time Factor provides an indication of the time taken to achieve a minimum estimation accuracy of the frequency response of a system, at any of the specified harmonics (R. Pintelon and J. Schoukens (2001), "System Identification - A Frequency Domain Approach", IEEE Press, 1st edition(2001) Section 4.2.1; 2nd edition (2012), Section 5.2.1).

The routine multilev_new is run using a GUI and to access this download the compressed file multilev_new.zip. Once extracted, change the "Current Directory" in Matlab to the extracted location or add the extracted folder in Matlab by accessing File -> Set Path -> Add Folder. The GUI is then run by typing "multilev" in the Matlab command window.

The Matlab package prs, which generates pseudo-random binary and near-binary signals (A.H. Tan and K.R. Godfrey (2002), "The generation of binary and near-binary pseudorandom signals: an overview", IEEE Transactions on Instrumentation and Measurement, Vol. IM-51, pp. 583-588) can also be accessed via the website prs.

To run the prs routine download prs.zip. Once extracted change the "Current Directory" in Matlab to the extracted location or add the extracted folder in Matlab by accessing File -> Set Path -> Add Folder. The GUI is then run by typing "prs" in the Matlab command window.

Both the packages require MATLAB version 6.5 or above.

Email any suggestions and problems to htai at mmu dot edu dot my .