Welcome to Dimitri
Nion's homepage 

Research interests: Signal Processing, Sensor
Array Processing, Blind Source Separation, Linear and Multilinear Algebra,
Tensor Decompositions, Batch and Adaptive
Signal Processing, Optimization,
Telecommunications (MIMO, CDMA, Radars).
[1] A nonlinear conjugate gradient algorithm for NonUnitary Joint Block Diagonalization (JBD) and Joint Diagonalization (JD). [Code] The NonUnitary JBD problem is reformulated as a tensor decomposition. The latter decomposition is computed by a non linear conjugate gradient (NCG) algorithm. The JBDNCG algorithm works for real or complex valued data and handles the symmetric or the hermitian symmetric cases. The exactlydetermined case (matrix A is square), overdetermined case (A is tall) and underdetermined case (A is fat) are also handled. Tensor decompositions: [1] Candecomp/Parafac (CP) decomposition (for tensors of order 3, 4 and 5). [Code] CP model fitted via the Alternating Least Squares (ALS) algorithm coupled with line search. [2] Block Component Decompositions (BCD). [Code] BCD fitted via the Alternating Least Squares (ALS) algorithm coupled with line search. Adaptive signal processing: [1] Adaptive algorithms to track the Candecomp/Parafac (CP) decomposition of a thirdorder tensor. [Code] Tracking the CP decomposition of a tensor X which has a dimension growing with time. Assume we are given the loading matrices A(t), B(t) and C(t) of the CP decomposition of X(t). At time t+1, X(t+1) is obtained from X(t) by appending a new observed slice in one of the 3 modes. The purpose is then to estimate the loadings A(t+1), B(t+1) and C(t+1) of the CP decomposition of X(t+1). This can be done in an efficient way via the adaptive algorithms parafacSDT (Simultaneous Diagonalization Tracking) and parafacRLST (Recursive Least Squares Tracking). Algebraic signal processing tools: [1] Blind SIMO (Single Input Multiple Output) identification (Multichannel FIR filters identification). [Code] Given the M signals x_{m}(t) = conv( h_{m}(t) , s(t) ), where m=1,...,M is a channel index, estimate the M channel impulse responses h_{m}(t) and the source signal s(t). [2] Toeplitz structure recovery. [Code] Factorization of a matrix X of the form X= H S where H is an unknown square unstructured matrix and S is an unknown Toeplitz matrix. [3] Vandermonde structure recovery. [Code] Approximate a vector u by a Vandermonde vector v = [m, m e^{j a} , m e^{2j a }, ..., m e^{(P1) j a}]. [4] Removing columnwise permutation and scaling ambiguity (e.g. to evaluate performance in blind source separation applications). [Code] Estimate the diagonal matrix D and the permutation matrix P that links two given matrices A and B such that : A = B D P (+Residual) and compute the error err = norm(A  B D P). [5] Removing blockwise permutation ambiguity. [Code] Estimate the blockdiagonal matrix D and the blockwise permutation matrix P that links two given matrices A and B such that : A = B D P (+Residual), where A=[A_{1}, A_{2}, ..., A_{R}] and B=[B_{1}, B_{2}, ..., B_{R}] are partitioned matrices. This is useful to assess performance of a technique that yields estimates of Span(B_{r}), r=1,...,R, in an arbitrary order. [6] Matrix inversion and pseudoinversion for rank1 updates. [Code] Given A_{new} = A_{old} + c d^{T} where c and d are
vectors and given P_{old} = pinv(A_{old}) ,
compute P_{new} = pinv(A_{new})
recursively, in an efficient way. Blind source separation (BSS): [1] Separation of linear instantaneous mixtures via SecondOrderStatistics (SOS) and Candecomp/Parafac. [Code 1] A userfriendly matlab interface to illustrate the BSS problem with speech mixtures of 2 or 3 sources (Can be useful for educational purpose!) [Code 2] Matlab code for an arbitrary number of sources and sensors. See also: a list of online available codes for Blind Source Separation [here] and [here]. Consider M recorded signals x_{m}(t) = a_{m1 }s_{1}(t) + ... + a_{mN }s_{N}(t) , m=1,...,M, that consist of linear combinations of unknown source signals s_{n}(t), n=1,...,N. The mixing model can be compactly written as x(t) = A s(t). Given the observed vector x(t), the purpose is to: 1 estimate the mixing matrix A. 2 if A is full columnrank, then estimate the sources in the least squares sense: s(t) = pinv(A) x(t). Assuming the sources to be mutually uncorrelated, estimation of A boils down to a JAD (Joint Approximate Diagonalization) problem. The latter can be solved via Candecomp/Parafac (CP) which, contrary to classical JAD algorithms, does not necessarily require A to be tall and full columnrank; powerful uniqueness properties allow estimation of A even in several underdetermined cases (more sources than sensors). [2] Pure delayed mixtures : separation and localization via TDOAs (Time Differences of Arrival). [Code] Consider M recorded signals x_{m}(t) = a_{m1 }s_{1}(td_{m1}) + ... + a_{mN }s_{N}(td_{mN}) , m=1,...,M, that consists of linear combinations of unknown delayed source signals s_{n}(t), n=1,...,N, where d_{mn} is the propagation delay between source n and sensor m. The purpose is to: 1 estimate the propagation delays relative to the reference sensor m_{ref} (TDOAs): d_{mn}_{(rel)}_{ = }d_{mn }_{ }d_{m}_{ref n}_{} _{} 2 estimate the scaling factors relative to the reference sensor: a_{mn}_{(rel)}_{ = } a_{mn / }a_{m}_{ref n }_{} 3 exploit the TDOAs to localize the sources one by one (estimation of cartesian coordinates). Our technique is based on timefrequency analysis and consists of Alternating Least Squares (ALS) updates of the source and channel components interleaved with a Vandermonde structure enforcing strategy. [3] Separation of convolutive mixtures of speech signals. [Code] Consider M recorded signals x_{m} = conv(h_{m1 }, s_{1}) + conv(h_{m2 }, s_{2}) + ... + conv(h_{mN }, s_{N}) , m=1,...,M, that consists of linear combinations of unknown source signals s_{n}, n=1,...,N, convolved with unknown FIR filters, where h_{mn }denotes the impulse response of the filter between source n and sensor m. The purpose is to exploit the multiple recordings to estimate the mixing channels, and to separate the sources. Our method is based on timefrequency analysis and SecondOrderStatistics (SOS) and consists of solving a JointApproximateDiagonalization (JAD) problem independently at each frequency via Candecomp/Parafac (CP). Once the separation achieved, the frequencydependent permutation ambiguity is corrected by exploiting properties of speech signals. MIMO Radar (Multiple Input Multiple Output): [1] Parafacbased localization in MIMO radar systems. [Code] Localization of multiple targets in the same range via Candecomp/Parafac (CP) and ULA (Uniform Linear Array) steering vector recovery to estimate the Angle Of Departures (AODs) and Angles Of Arrivals (AOAs). Comparison to Caponbased and to MUSICbased radarimaging localization techniques.
[7] D. Nion, A Tensor Framework for NonUnitary Joint Block Diagonalization, IEEE Trans. on Signal Processing, Vol. 59, No.10, pp. 45854594, Oct. 2011. [pdf] [bibtex] [Mcode] [6] D. Nion and N. D. Sidiropoulos, Tensor Algebra and Multidimensional Harmonic Retrieval in Signal Processing for MIMO Radar, IEEE Trans. on Signal Processing, Vol. 58, No. 11, pp. 56935705, Nov. 2010. [pdf] [bibtex] [Mcode] [5] D. Nion, K. N. Mokios, N. D. Sidiropoulos and A. Potamianos, Batch and Adaptive PARAFACbased Blind Separation of Convolutive Speech Mixtures, IEEE Trans. on Audio, Speech and Language Processing, Vol. 18, No. 6, pp. 11931207, August 2010. [pdf] [bibtex] [Audio Demo] [Mcode] [4] D. Nion and N. D. Sidiropoulos, Adaptive Algorithms to Track the PARAFAC decomposition of a ThirdOrder Tensor, IEEE Trans. on Signal Processing, Vol. 57, No. 6, pp. 22992310, June 2009. [pdf] [bibtex] [Mcode] [3] D. Nion and L. De Lathauwer, A BlockComponent Model Based Blind DSCDMA Receiver, IEEE Trans. on Signal Processing, Vol. 56, No. 11, pp. 55675579, Nov. 2008. [pdf] [bibtex] [2] L. De Lathauwer and D. Nion, Decompositions of a HigherOrder Tensor in Block Terms  Part III: Alternating Least Squares Algorithms, SIAM Journal on Matrix Analysis and Applications (SIMAX), Vol. 30, No. 3, pp. 10671083, Sept 2008. [pdf] [bibtex] [Mcode] Companion papers: Part I [pdf] [bibtex] and Part II [pdf] [bibtex] [1] D. Nion and L. De Lathauwer, An Enhanced Line Search Scheme for ComplexValued Tensor Decompositions. Application in DSCDMA, Elsevier Signal Processing, Vol. 88, Issue 3, pp. 749755, March 2008. [pdf] [bibtex] [Mcode]
[8] D. Nion, B. Vandewoestyne, S. Vanaverbeke, K. Van Den Abeele, H. De Gersem and L. De Lathauwer, A timefrequency technique for blind separation and localization of pure delayed sources, Proc. LVA/ICA 2010, St. Malo, France, Sept. 2730, 2010. [pdf] [bibtex] [poster] [Mcode] [7] D. Nion and L. De Lathauwer, A link between the decomposition of a thirdorder tensor in rank(L,L,1) terms and joint block diagonalization, Proc. CAMSAP 2009, Aruba, Dutch Antilles, 2009. [pdf] [6] D. Nion and N. D. Sidiropoulos, A PARAFACBased Technique for Detection and Localization of Multiple Targets in a MIMO Radar System, Proc. IEEE International Conference on Acoustics, Speech & Signal Processing (ICASSP), pp. 20772080, Taipei, Taiwan, 2009. [pdf] [bibtex] [slides] [Mcode] [5] D. Nion and L. De Lathauwer, Blind Receivers based on Tensor Decompositions. Application in DSCDMA and oversampled systems, Proc. 41th Asilomar Conference on Signals, Systems, and Computers, Pacific Grove, CA, USA, November 47, 2007. [pdf] [bibtex] [slides] [4] D. Nion and L. De Lathauwer, A TensorBased Blind DSCDMA Receiver Using Simultaneous Matrix Diagonalization, Proc. IEEE Workshop on Signal Processing Advances in Wireless Communications (SPAWC), Helsinki, Finland, June 1720, 2007. [pdf] [bibtex] [poster] [3] D. Nion and L. De Lathauwer, LevenbergMarquardt computation of the Block Factor Model for blind multiuser access in wireless communications, Proc. 14th European Signal Processing Conference (EUSIPCO), Florence, Italy, Sept. 48, 2006. [pdf] [bibtex] [slides] [2] D. Nion and L. De Lathauwer, Line Search computation of the Block Factor Model for blind multiuser access in wireless communications, Proc. IEEE Workshop on Signal Processing Advances in Wireless Communications (SPAWC), Cannes, France, July 25, 2006. [pdf] [bibtex] [poster] [1] D. Nion and L. De Lathauwer, A Block Factor Analysis based receiver for blind multiuser access in wireless communications, Proc. IEEE International Conference on Acoustics, Speech & Signal Processing (ICASSP), Toulouse, France, May 1519, 2006. [pdf] [bibtex] [poster]
[1] D. Nion and L. De Lathauwer, Séparation et Egalisation aveugles de signaux CDMA par la décomposition en blocs d'un tenseur au moyen de l'algorithme de LevenbergMarquardt, XXIème colloque GRETSI, Troyes, France, September 1114, 2007. [pdf]
[6] D. Nion and L. De Lathauwer, The Joint Block Diagonalization (JBD) problem: a tensor framework, Workshop on Tensor Decompositions and Applications (TDA), Monopoli, Italy, Sept. 1317, 2010. [pdf] [5] D. Nion and L. De Lathauwer, Decomposing a ThirdOrder Tensor in rank(L,L,1) terms by Means of Simultaneous Matrix Diagonalization, SIAM Conference on Applied Linear Algebra, Monterey, California, USA, October 26th29th, 2009. [slides] [4] D. Nion and L. De Lathauwer, Block Component Decompositions of a Tensor: Definition, Computation and Uniqueness, SIAM annual meeting, Denver, Colorado, USA, July 6th8th 2009. [3] D. Nion and L. De Lathauwer, The Decomposition of a ThirdOrder Tensor in R BlockTerms of rank(L,L,1): Model, Algorithms, Uniqueness, Estimation of R and L, Threeway methods in Chemistry and Psychology (TRICAP) meeting, Nurià, Spain, June 14th19th, 2009. [slides] [2] D. Nion, Tensor Decompositions: Models, Applications, Algorithms, Uniqueness, seminar, I3S Laboratory, SophiaAntipolis, France, December 11th 2008. [slides] [1] D. Nion and L. De Lathauwer, Generalized PARAFAC decompositions for blind multiuser access in wireless communications, Workshop on Tensor Decompositions and Applications (WTDA), Luminy, Marseille, France, Aug. 29th  Sept. 2nd, 2005.

