Signal Processing

CP Decomposition

/see-pee dee-kom-puh-zish-uhn/ (CANDECOMP/PARAFAC)
Short for canonical polyadic (also called CANDECOMP or PARAFAC), this tensor decomposition writes a multi-way data array as a minimal sum of R rank-one outer products, one per source or signal component. Unlike a matrix factorization, the model is essentially unique up to scaling and permutation when Kruskal's condition holds, so it recovers the true physical factors (steering vectors, delays, Doppler signatures) without an orthogonality constraint. That property makes CP a powerful tool for closed-form DOA estimation and multidimensional harmonic retrieval, often resolving more sources than a single-snapshot subspace method built on the same N-element aperture. The factor matrices are typically fitted by alternating least squares and matched against the array manifold to read off arrival angles.
Category: Signal Processing
Tensor order: 3rd or higher
Uniqueness: kA+kB+kC ≥ 2R+2

Why Tensors Beat Matrices in Array Processing

Most classical array methods, including the covariance-based subspace techniques, work on two-way data: a snapshot matrix of element outputs versus time. Collapsing the data into a single matrix discards structure. When the same wavefronts are observed across several diversity dimensions at once (multiple subarrays, polarizations, frequency bins, or coherent processing intervals), the measurements naturally form a three-way or higher tensor, and CP decomposition is the tool that exploits that structure. Each source contributes one rank-one term whose factor vectors are exactly the source's signature along each mode. Because the decomposition is essentially unique under mild conditions, those signatures come out cleanly separated, even when the underlying steering vectors are not orthogonal and even when there are more sources than a single dimension could resolve alone.

The contrast with the MUSIC subspace approach is the crux. A matrix SVD is only unique up to an arbitrary rotation of its singular vectors, so it can return any orthogonal mixture of the true components. The CP model has no such rotational freedom: once Kruskal's inequality on the Kruskal ranks of the factor matrices is satisfied, the rank-one terms are pinned down up to trivial scaling and reordering. This is the mathematical reason a CP-based estimator can read physical angles directly off the spatial factor matrix rather than performing a 2-D spectral search, and it underlies modern multidimensional ESPRIT-style and PARAFAC-DOA algorithms.

The cost is conditioning sensitivity. When two sources have nearly collinear signatures in every mode, the CP fit becomes ill-posed and alternating least squares can stall in long swamps where the error barely changes for many iterations. Practical implementations guard against this with line-search acceleration, good algebraic initialization, and a model-order check so the assumed rank R matches the data.

Governing Equations

Rank-one (canonical polyadic) model of a 3rd-order tensor:
Xijk ≈ ∑r=1R air × bjr × ckr

Outer-product form:
X ≈ ∑r=1R ar ° br ° cr

Matricized (mode-1) form via Khatri-Rao product (⊙):
X(1) ≈ A (C ⊙ B)T

Kruskal uniqueness condition:
kA + kB + kC ≥ 2R + 2

Where R = tensor rank (number of sources), ar, br, cr = factor vectors along each mode, k(·) = Kruskal rank of each factor matrix. Example: factors with kA=kB=kC=4 give a guaranteed-unique fit for up to R = 5 sources (12 ≥ 12).

CP Versus Other Subspace Estimators

MethodData modelUniquenessMax sources (N elements)SearchNotes
CP / PARAFAC3-way+ tensorEssentially unique (Kruskal)> N−1 with extra diversityNone (closed form)Handles non-orthogonal factors
MUSIC2-way covarianceSubspace, needs ortho.N−11-D / 2-D peak searchHigh resolution, search cost
ESPRIT2-way, shift-invariantUp to rotationN−1None (closed form)Needs paired subarrays
Matrix SVD2-way matrixUp to rotationmin(rows, cols)NoneRotationally ambiguous
Tucker / HOSVDN-way tensorNot unique (core)Model dependentNoneCompression, not separation
Common Questions

Frequently Asked Questions

How does CP decomposition differ from singular value decomposition?

The SVD applies to two-way matrices and is unique only up to an arbitrary orthogonal rotation, so it can return any rotated mixture of the true components. CP applies to 3-way and higher tensors and, when Kruskal's condition kA+kB+kC ≥ 2R+2 holds, is essentially unique up to scaling and permutation. That uniqueness recovers the actual physical factors (steering vectors versus delay or Doppler signatures) without forcing them to be orthogonal, letting one CP fit jointly separate spatial, temporal, and frequency signatures.

How is the CP model fitted to measured array data?

Alternating least squares (ALS) is the standard. The R-component model is matricized with the Khatri-Rao product, then each factor matrix A, B, C is updated in turn while the others are fixed, solving a linear least-squares step each time. Iteration continues until the relative fit-error change drops below about 1e−6 to 1e−8, often 20 to a few hundred iterations. Algebraic GEVD or trilinear initialization avoids local minima and swamps; the spatial factor columns are then matched to the steering-vector manifold to read off the angles of arrival.

What tensor rank can a CP decomposition resolve with an N-element array?

Identifiability is set by Kruskal uniqueness, not by N alone. For an I1 × I2 × I3 tensor with generic factors, separation is guaranteed up to roughly R ≤ floor((I1 × I2)/2) when I3 ≥ R, which can exceed the N−1 sources a single subspace method resolves. A 10-element array adding a second diversity dimension (polarization, frequency, or time) can identify on the order of 20 to 40 sources. The cost is sensitivity to collinear factors and model-order error, usually checked with CORCONDIA core consistency or an information criterion.

Array Signal Processing

Build Smarter Direction-Finding Arrays

From wideband antenna front-ends to integrated millimeter-wave receiver assemblies, RF Essentials supplies the low-noise hardware that feeds tensor-based DOA and beamforming algorithms. Talk to our engineering team.

Get in Touch