Model and Order Selection for Complex-Valued Data:
Noncircular Principal Component Analysis

We present Matlab code that estimates both the model order and the model given a set of complex-valued multidimensional observations accounting for noncircularity of the data. We accomplish this by considering the pseudo-covariance matrix (also called the complementary covariance) of the observations, which is often ignored, in addition to the standard covariance matrix [1]. Other methods that incorporate the pseudo-covariance information double the dimensionality by using a widely-linear model [2] which is inconsistent with subsequent processing steps in various applications due to the popularity of the simple linear model. This is the case for example in most blind source separation approaches such as independent component analysis. The ncPCA method factors in the pseudo covariance matrix while remaining true to the strictly-linear complex-valued model.

In addition to the model order, the code returns a basis for the subspace of the estimated order as well as an estimate for the number of noncircular components found. Hence, we describe this procedure as model as well as order selection, i.e., not just model order selection.

For completion, model order and a subspace basis are also returned under the circular linear model. A demo file illustrates its use.

The appropriateness of this algorithm for a specific application should be considered. The performance advantage of ncPCA is most pronounced in the sample-rich regime, with high SNR, and when the degree of noncircularity is high [1].


    [1] X.-L. Li, T. Adali, and M. Anderson, "Noncircular principal component analysis and its application to model selection," IEEE Trans. Signal Processing, vol. 59, no. 10, pp. 4516-4528i, Oct. 2011.
    [2] T. Adali, P. J. Schreier, and L. L. Scharf, "Complex-valued signal processing: The proper way to deal with impropriety," IEEE Trans. Signal Processing (overview paper), vol. 59, no. 11, pp. 5101-5123, Nov. 2011.