One-dimensional ESPRIT
At instance  , the
, the  (complex-valued) output signals (measurements)
 (complex-valued) output signals (measurements)  ,
,  , of the system are related to the
, of the system are related to the  (complex-valued) input signals
 (complex-valued) input signals  ,
,  , as
, as where
 where  denotes the noise added by the system. The one-dimensional form of ESPRIT can be applied if the weights have the form
 denotes the noise added by the system. The one-dimensional form of ESPRIT can be applied if the weights have the form  , whose phases are integer multiples of some radial frequency
, whose phases are integer multiples of some radial frequency  . This frequency only depends on the index of the system's input, i.e.
. This frequency only depends on the index of the system's input, i.e.  . The goal of ESPRIT is to estimate
. The goal of ESPRIT is to estimate  's, given the outputs
's, given the outputs  and the number of input signals,
 and the number of input signals,  . Since the radial frequencies are the actual objectives,
. Since the radial frequencies are the actual objectives,  is denoted as
 is denoted as  .
.   
Collating the weights  as
 as  and the
 and the  output signals at instance
 output signals at instance  as
 as  ,
,  where
where  . Further, when the weight vectors
. Further, when the weight vectors  are put into a Vandermonde matrix
 are put into a Vandermonde matrix  , and the
, and the  inputs at instance
 inputs at instance  into a vector
 into a vector  , we can write
, we can write With several measurements at instances
 With several measurements at instances  and the notations
 and the notations  ,
,  and
 and  , the model equation becomes
, the model equation becomes
Signal subspace
The singular value decomposition (SVD) of  is given as
 is given as where
 where  and
 and  are unitary matrices and
 are unitary matrices and  is a diagonal matrix of size
 is a diagonal matrix of size  , that holds the singular values from the largest (top left) in descending order. The operator
, that holds the singular values from the largest (top left) in descending order. The operator  denotes the complex-conjugate transpose (Hermitian transpose).
 denotes the complex-conjugate transpose (Hermitian transpose). 
Let us assume that  . Notice that we have
. Notice that we have  input signals. If there was no noise, there would only be
 input signals. If there was no noise, there would only be  non-zero singular values. We assume that the
 non-zero singular values. We assume that the  largest singular values stem from these input signals and other singular values are presumed to stem from noise. The matrices in the SVD of
 largest singular values stem from these input signals and other singular values are presumed to stem from noise. The matrices in the SVD of  can be partitioned into submatrices, where some submatrices correspond to the signal subspace and some correspond to the noise subspace.
 can be partitioned into submatrices, where some submatrices correspond to the signal subspace and some correspond to the noise subspace. where
 where  and
 and  contain the first
 contain the first  columns of
 columns of  and
 and  , respectively and
, respectively and  is a diagonal matrix comprising the
is a diagonal matrix comprising the  largest singular values.
 largest singular values. 
Thus, The SVD can be written as where
 where  , 
,  , and
, and  represent the contribution of the input signal
 represent the contribution of the input signal  to
 to  . We term
. We term  the signal subspace. In contrast,
 the signal subspace. In contrast,  ,
,  , and
, and  represent the contribution of noise
 represent the contribution of noise  to
 to  .
. 
Hence, from the system model, we can write  and
 and  . Also, from the former, we can write
. Also, from the former, we can write where
 where  . In the sequel, it is only important that there exists such an invertible matrix
. In the sequel, it is only important that there exists such an invertible matrix  and its actual content will not be important.
 and its actual content will not be important.
Note: The signal subspace can also be extracted from the spectral decomposition of the auto-correlation matrix of the measurements, which is estimated as
Estimation of radial frequencies
We have established two expressions so far:  and
 and  . Now,
. Now,  where
 where  and
 and  denote the truncated signal sub spaces, and
 denote the truncated signal sub spaces, and  The above equation has the form of an eigenvalue decomposition, and the phases of the eigenvalues in the diagonal matrix
The above equation has the form of an eigenvalue decomposition, and the phases of the eigenvalues in the diagonal matrix  are used to estimate the radial frequencies.
 are used to estimate the radial frequencies.  
Thus, after solving for  in the relation
 in the relation  , we would find the eigenvalues
, we would find the eigenvalues  of
 of  , where
, where  , and the radial frequencies
, and the radial frequencies  are estimated as the phases (argument) of the eigenvalues.
 are estimated as the phases (argument) of the eigenvalues. 
Remark: In general,  is not invertible. One can use the least squares estimate
 is not invertible. One can use the least squares estimate  . An alternative would be the total least squares estimate.
. An alternative would be the total least squares estimate.
Algorithm summary
Input: Measurements  , the number of input signals
, the number of input signals  (estimate if not already known).
 (estimate if not already known).
- Compute the singular value decomposition (SVD) of  and extract the signal subspace and extract the signal subspace as the first as the first columns of columns of . .
- Compute  and and , where , where and and . .
- Solve for  in in (see the remark above). (see the remark above).
- Compute the eigenvalues  of of . .
- The phases of the eigenvalues  provide the radial frequencies provide the radial frequencies , i.e., , i.e., . .