A Modulated Wideband Converter Model Based on Linear Algebra and Its Application to Fast Calibration

In the context of cognitive radio, smart cities and Internet-of-Things, the need for advanced radio spectrum monitoring becomes crucial. However, surveillance of a wide frequency band without using extremely expensive high sampling rate devices is a challenging task. The recent development of compressed sampling approaches offers a promising solution to these problems. In this context, the Modulated Wideband Converter (MWC), a blind sub-Nyquist sampling system, is probably the most realistic approach and was successfully validated in real-world conditions. The MWC can be realized with existing analog components, and there exist calibration methods that are able to integrate the imperfections of the mixers, filters and ADCs, hence allowing its use in the real world. The MWC underlying model is based on signal processing concepts such as filtering, modulation, Fourier series decomposition, oversampling and undersampling, spectrum aliasing, and so on, as well as in-flow data processing. In this paper, we develop an MWC model that is entirely based on linear algebra, matrix theory and block processing. We show that this approach has many interests: straightforward translation of mathematical equations into simple and efficient software programming, suppression of some constraints of the initial model, and providing a basis for the development of an extremely fast system calibration method. With a typical MWC acquisition device, we obtained a speed-up of the calibration computation time by a factor greater than 20 compared with a previous implementation.


Introduction
Digital wireless radio signals are often composed of a small number of narrow-band transmissions spread across a wide spectrum range. For example, the Internet-of-Things (IoT) communications have recently emerged in contexts such as smart cities. Cognitive radios are able to manage the spectrum dynamically but require advanced sensing techniques for spectrum monitoring.
Basically, spectrum monitoring is based on the Shannon-Nyquist sampling theorem [1,2]. This theorem states that the signal must be sampled at a rate greater than its Nyquist frequency, which is twice its frequency band. However, when we have to monitor a large frequency band, this requirement can exceed the capabilities of existing Analog to Digital Converters (ADC) or require very expensive components. Furthermore, sampling at a very high rate may require huge storage capacities to store the digital samples.
Recently, new approaches have been proposed allowing sampling at sub-Nyquist rates. These approaches, known as compressed sensing, or compressive sampling [3], have emerged as a promising framework for signal acquisition in difficult applications, such as monitoring a wideband spectrum [4]. The basic idea of compressed sampling is to take advantage of the fact that a signal that has a sparse representation on a given basis can theoretically be recovered from a small set of linear measurements [5,6]. The price to pay is the need to develop sophisticated signal processing algorithms to reconstruct the signal from this small set of measurements, these algorithms being much more complex than the usual demodulators.
A great deal of the theoretical aspects of compressed sampling has been addressed in the literature. For example, many studies have been proposed in relation to the design of the measurement scheme as in [7,8]. However, few studies have considered the practical limitations of compressed acquisition. In fact, designing measurement schemes and applying them to practical acquisition systems remains a significant challenge.
In this context, the Modulated Wideband Converter (MWC) has been proposed as an efficient system for real-world compressed sampling [9]. The MWC does sub-Nyquist sampling without prior information about the spectral support of the transmitters present in the monitored wideband. It can be realized with existing devices [10] and has been successfully tested on real-world problems, including surveillance of a wideband spectrum [11].
A necessary step when using MWC in real-world conditions is the calibration of the acquisition system. Indeed, analog components are never ideal, especially when fed with wideband signals. Then, using a purely theoretical model leads to extremely poor performances of signal reconstruction. An efficient calibration method, which is considered a reference, has been proposed in [13]. It consists of estimating the sensing matrix column after column by injecting sine waves at a specific frequency and recording the corresponding output signals. The procedure is repeated by changing the input frequency until all columns are estimated. Some researchers have exploited this work to calibrate their systems or to propose variants of the calibration algorithms [18,[20][21][22][23]. While this procedure is efficient, it can be time-consuming because the number of columns to estimate is usually at least a few dozen. That is why a few authors [24,25], including us [19], have recently proposed alternative calibration algorithms requiring only one input signal.
The MWC theoretical background is signal processing theory (filters, modulation, Fourier series, sampling theory, spectrum aliasing, etc.). Most signal processing theoretical tools are asymptotic. However, when signals are processed in real-world conditions, they are always finite; thus, block processing and purely matrix-based algorithms may be more natural and efficient.
Moreover, a quick look at the literature shows that most people use Matrix-based programming tools, such as Octave or Matlab, for signal processing in this context, but without really exploiting the power of these tools. To take full advantage of the power of Matrix-oriented software, it would then be preferable to process data by blocks instead of in-flow. It is, therefore, interesting to view the whole MWC acquisition and reconstruction in terms of block processing. The most natural framework to achieve this objective is matrix theory and linear algebra.
In this paper, we elaborate on an MWC model using linear algebra only (without any signal processing theory). While this approach will probably appear less intuitive than the approach based on signal processing, because most people are less familiar with linear algebra than with signal processing, it has strong advantages:

•
Once the model is established, programming it becomes extremely simple, straightforward and efficient. • Furthermore, computational complexity is significantly reduced. • The border effects are implicitly taken into account in the model. Indeed, using a signal processing model, people have to deal with the fact that the signals processed in the real world are not infinite, while when using a linear algebra model, the finite nature of the data is implicitly taken into account and the mathematical equations are exact and not approximate. • In the original version of the MWC, the number of physical branches is increased by a factor q, which must be an odd integer due to signal processing considerations. An interesting aspect of the linear algebra model is that it allows even integers for q.
The main contributions of this paper are: • The development of a pure linear-algebra model of the MWC. Despite the fact that establishing this model is rather hard because it requires non-trivial matrix manipulations, once established, it is extremely simple and allows programming MWC-related software, such as calibration, in a very fast, compact and efficient way. • Its application to the development of a very fast calibration method. With typical choices of parameters, the calibration is more than 20 times faster than our previous method (this previous method being itself very fast compared to a reference method because it required only one calibration signal instead of dozens of sinusoidal signals in the reference method).
The remainder of this paper is organized as follows: Section 2 provides the main mathematical tools used in the paper. Then, Section 3 presents an overview of our hardware acquisition board and the MWC principle. Section 4 establishes a system model based on linear algebra, and an equivalent model, useful for signal reconstruction and system calibration, is then derived in Section 5. In Section 6, we show how this model allows us to considerably improve a calibration method that we proposed previously, leading to speeding up the process by a factor greater than 20. Then, some experimental results are shown in Section 7.

Notations
Unless otherwise stated, lowercase symbols denote row vectors (e.g., x, p), uppercase symbols denote matrices (e.g., C, Z),x stands for the DFT (Discrete Fourier Transform) of x. The symbols N, K, L, a, b will be used to denote the size of vectors or matrices.
We will denote D x as the square diagonal matrix whose diagonal is vector x. The vectorization of a K × L matrix Q, denoted vec(Q), is the 1 × KL row vector obtained by reading the matrix row after row, from top to bottom: vec(Q) = q 11 · · · q 1L q 21 · · · q 2L · · · q K1 · · · q KL (1) M * stands for the Hermitian transpose of matrix M. I K stands for the K × K identity matrix. The nearest lower or equal integer will be noted and the nearest greater or equal integer .

Circulant Matrices
Let x be a 1 × N row vector. A circulant matrix C x is a square matrix whose first row is x and each next row is a circular shift one element to the right of the preceding row. That is: It is convenient to define the cyclic permutation matrix as the N × N matrix below: Then, C x is a polynomial in J N : The effect of multiplication of a matrix M by J N is as follows. The rows of MJ N are the rows of M circularly shifted one element to the right. The columns of J N M are the columns of M circularly shifted one element to the top.
Matrices J N and C x commute: because

Discrete Fourier Transform (DFT)
Let us note ω the N th square root of unity below: The DFT matrix F N is an N × N square symmetric matrix whose element at row l column k is ω lk (assuming row 0 is the first row, and column 0 the first column): The inverse DFT matrix is The DFT of a vector x isx = xF N (13) and the inverse DFT (IDFT) is given byxF −1 N . A circulant matrix is diagonalized by the DFT matrix. That is It follows that the elements ofx are the eigenvalues of C x and the columns of F −1 N are the eigenvectors.
We also have

Kronecker Product
The Kronecker product is a bilinear matrix operation, denoted by ⊗. If A is a K × L matrix and B is a M × N matrix, it produces the KM × LN block matrix C below: A useful property about the inverse is: Assuming the sizes are such that one can form the matrix products AC and BD, an interesting property, known as the mixed-product property, is: The product is not commutative, but there exist permutation matrices (shuffle matrices) such that if A is an a × a square matrix and B a b × b square matrix, then [26]: Matrix P a,b represents the permutation obtained when elements, written row by row in an a × b matrix, are read column by column. For instance, set a = 2 and b = 3, and write the elements 1, 2, 3, 4, 5, 6 row by row in a a × b matrix 1 2 3 4 5 6 (21) Reading column by column, we obtain 1, 4, 2, 5, 3, 6. The permutation matrix is then the matrix such that: 1 4 2 5 3 6 = 1 2 3 4 5 6 P 2,3 That is: If N = KL, an interesting property with the permutation matrix defined in (3) is

General Radix Identity
If N is a composite number, i.e., N = KL, then [26]: where T K,L is a diagonal matrix (twiddle matrix) and P K,L a permutation matrix (shuffle matrix defined in Section 2.4).
The twiddle matrix T K,L is an N × N diagonal matrix, the diagonal of which is vec(Q K,L ) with ω defined in Equation (10) and For instance, with K = 2 and L = 3, we have (27) and the diagonal of T 2,3 is Let us note θ K and 1 K as the (1 × K) vectors below Note that for any 1 × L vector p, we have because only the first L elements of 1 K ⊗ p are non null, and the L first elements of T K,L are ones. Note also that when elements of 1 K ⊗ p are written row by row in a K × L matrix, the elements of p go on the first row and the K − 1 next rows are null. Then, when this matrix is read column by column, we obtain elements of p separated by K − 1 zeroes, that is, p ⊗ 1 K Similarly, it is easy to check that and

Selection Matrix
Let us define the selection matrix S (r) N,K as the N × K matrix below: N,K is the 1 × K vector below: We consider the indices modulo N, so r may be negative.

Moore-Penrose Pseudo-Inverse
Let us consider a rectangular matrix Z whose size is L × K with L ≤ K. The Moore-Penrose pseudo-inverse [27] of Z, denoted Z + , is a K × L matrix, which generalizes the concept of inverse and, among other interesting properties, provides a mean to compute a least squares solution to a system of linear equations that lacks an exact solution. The pseudo-inverse is defined and unique for all complex matrices. It is usually computed using the singular value decomposition (SVD).
Let us note the SVD of Z as [28]: where U is a L × L unitary matrix (i.e., UU * = U * U = I), V is a K × L matrix with orthonormal columns (i.e., V * V = I) and S is a diagonal matrix whose diagonal elements are the singular values (non-negative real numbers, ranked by decreasing order). The SVD exists for all complex matrices.
Here we consider a version of the SVD usually called "thin-SVD", which is a compact version of the more general SVD decomposition (in which matrices S and V are larger), because this compact version is sufficient for the purpose of computing the pseudo-inverse. The computational cost of computing the thin-SVD is 6KL 2 + 20L 3 flops ( [28], p. 254). Note that for complex matrices, it is usual to redefine the floating point operation (flop) in order to count only one flop for the product of two complex numbers, while in reality it requires four real multiplications. Since only ratios between the computational costs of algorithms are of interest, applying this does not change the result.
The pseudo-inverse is given by: where S + is the pseudo-inverse of S. It is a diagonal matrix in which the diagonal contains the inverses of the singular values of S, which are above a small tolerance value, and 0 elsewhere. The cost of the inversion plus the computation of the matrix product is 2L + KL 2 KL 2 .
Overall, the cost of computing the pseudo-inverse is 7KL 2 + 20L 3 .

Acquisition Device and System Parameters
The MWC is a compressed sampling device that samples a signal x(t) at a sampling frequency F s significantly lower than its Nyquist frequency F nyq . The input signal is assumed sparse in the frequency domain. From the outputs of this acquisition device, one can reconstruct the input signal using a compressed sensing algorithm, such as Orthogonal Matching Pursuit (OMP) [29].
The principle of the MWC is shown in Figure 1: • The input signal x(t) is multiplied (using a mixer) by a scrambling signal s(t).

•
The resulting signal v(t) goes through a low-pass filter whose impulse response is h(t).  The scrambler s(t) is a periodic signal: it is a basic waveform p(t) repeated F p times per second. The analog waveform p(t) itself is generated at sampling frequency F nyq from an L samples digital sequence, which is usually a pseudo-random sequence. Consequently, we have F p = F nyq /L.
The performance of the system can be enhanced by using M parallel branches with different scrambling signals. However, since generalization to M branches is trivial, we will restrict the discussions below to one branch.
The digital outputs y[n] are provided at F s samples per second.
In previous practical realizations, in order to reduce aliasing, the ADC output samples go through a digital filter, which provides properly filtered samples at a frequency F ss lower than F s . In the original MWC model, F ss is an odd multiple of F p , that is F ss = qF p with q an odd integer. In this paper, since the linear algebra model allows a less constrained post-processing, this digital filter is not required and q is not necessarily odd. Indeed, we will see that the linear algebra model also allows even values of q.
When designing an actual acquisition device, we have to choose some parameters: • The sampling frequency F nyq of the scramblers, which will impact the Nyquist frequency of acceptable input signals (i.e., input signal maximum frequency must remain under F nyq /2). • The sampling frequency F s of the ADC, which should be significantly lower than F nyq (otherwise the system would have no interest compared to direct sampling at F nyq ). This frequency determines the subsampling factor b = F nyq /F s . • The length L of the scrambler periodic pattern. This parameter determines the frequency of repetition F p = F nyq /L of the scrambling pattern. Figure 2 illustrates, in a very simplified case (L = 5), an example of scrambling signal. It is formed from a length-L binary pseudo-random sequence, which is repeated. In the time domain, the duration of a binary symbol is 1/F nyq , and the period of the signal is 1/F p (where F nyq and F p are the frequencies defined above).  Figure 3 illustrates the low-pass filter response. The scrambled signal, which occupies a frequency band of width F nyq , goes through a low-pass filter. The filter output is sampled at a frequency F s , high enough to avoid aliasing. The scrambler and the ADC are controlled by a common central clock to avoid synchronization problems.
Reconstruction of the input signal, and calibration of the system, are based on the information provided by a block of a output samples. In order to avoid unnecessary mathematical complications, the value of a is chosen such that it corresponds to an integer number K of scrambling patterns, then a = KL/b. This output block then corresponds to N = KL scrambler samples (and also to N input samples if the input signal were sampled at F nyq ). The size of the block determines the frequency resolution F s /a = F nyq /N.
For our experiments on real-world data, we designed a 4-channel MWC analog board (Figure 4), which was described in more detail in a previous paper [19]. The scramblers are sampled at F nyq = 1 GHz and their length is L = 96. Therefore, their repetition frequency is F p = F nyq /L = 10.41667 MHz . The device is then able to monitor a wideband spectrum of 1 GHz. The prototype includes M = 4 physical channels. Each channel features an M1-0008 mixer from MArki©, and an SXLP-36+ low-pass filter from Mini-Circuits©. The filter cut-off frequency is 40 MHz (at -3 dB). The SXLP-36+ filter was chosen because it is quite close to the ideal low-pass filter. Indeed, it has a sharp cut-off, linear phase and flat band (attenuation < 0.5 dB) in the frequency range (0-36) MHz. The ADC sampling frequency is F s = 10F p = 104.1667 MHz (at F s /2 the filter attenuation is more than 30 dB); therefore, the downsampling factor is b = 9.6. Table 1 sums up the main parameters. The frequency response of the low-pass filter implemented on our acquisition board is shown in Figure 5 and its phase i n Figure 6. Details on filter calibration can be found in one of our previous papers [30].  F nyq being the Nyquist frequency of the input signal, we can consider a digital equivalent model at F nyq without loss of information. Furthermore, as previously mentioned, since calibration and signal processing are always performed on a limited amount of data in real-world applications, we can consider an input block of N samples (at F nyq ).
Modern implementations of the FFT [31] contain a special code to handle splittings not only of size 2 but also of sizes 3 (and sometimes 5 and 7). Therefore, for the efficiency of the FFT, we will preferably choose block sizes whose prime factors belong to {2, 3, 5, 7}. In our experiments, we have taken K = 448, N = KL = 43, 008 = 2 11 × 3 × 7 and a = 4480 = 2 9 × 5 × 7. The frequency resolution is then F nyq /N 23 kHz, which is far sufficient unless we would like to detect extreme narrow-band transmitters.

System Equations in the Time Domain
Let us note: • x the vector representing the input signal. • s the vector representing the scrambling signal. • v the vector representing the scrambler output. • h the vector representing the low-pass filter impulse response. • w the vector representing the low-pass filter output. • y the 1 × a vector containing the digital output samples (at F s ).
All of these vectors, except for y, are (1 × N) vectors and represent the signals at F nyq samples per second. In Figure 7, we show the links between these vectors. In the time domain (top of the figure), the signals are represented by vectors. Symbol * stands for cyclic convolution. These vectors can be transposed in the frequency domain using a multiplication by matrix F N or F a . A post-processing, described later, is then performed in the frequency domain. The post-processing outputs q vectorsỹ n of size 1 × K. In the figure, we have used different symbols for down-sampling because the operation in the time and frequency domains are different. For instance, when b is an integer, downsampling in the time domain consists of picking one sample out of b while its equivalent in the frequency domain is a multiplication of the down-sampling matrix Ξ, which will be defined later.
Notations used below have already been defined in Section 2. Since the system is linear, in the time domain, we have where B is an N × a matrix. The structure of B can be easily computed from the system model ( Figure 7): Indeed, the scrambler output is given by: The filter output is: For the moment, let us consider that b is an integer (we will see later that this is not a requirement). In that case, down-sampling consists of picking one sample out of b in w. Mathematically, that is: Otherwise, down-sampling can be modeled using an interpolation matrix. However, we will not detail this because only the equations in the frequency domain will be useful for our purpose. We will see later that in the frequency domain, thanks to the presence of a low pass filter, b being an integer is not a requirement anymore.

System Equations in the Frequency Domain
Multiplying Equation (39) by F a and inserting the identity F N F −1 N where appropriate, we obtain: The structure of A can be detailed further. Replacing B with its expression (Equation (40)) and inserting the identity F N F −1 N where it is appropriate, we obtain: Then, using Equations (15) and (16) we obtain: As proved in the appendix (see Appendix A.1), the frequency-domain down-sampling matrix Ξ is: That is: where sub-matrix I a is repeated b times. Here we remind that h is a low-pass filter. Since the ADC sampling frequency is F s , we assume that the elements ofh, which correspond to frequencies outside the interval ] − F s /2, F s /2 [are almost null. Sinceh contains N elements, the frequency resolution is F nyq /N, so F s /2 corresponds to index (F s /2)/(F nyq /N) = N/(2b), that is, a/2. Let us note and δ = a mod 2 (52) Therefore, the elements ofh are almost null for indices outside the interval [−c, c + δ] (the indices are considered modulo N). Hence, we can redefine Ξ as the N × a matrix below: without changing the product DhΞ. Here, the zeros stand for null sub-matrices. We see that, thanks to the low-pass pass filter which leads to this structure of Ξ, it is not required any more that b is an integer (this requirement was only due to the need for an integer number of occurrences of I a in Equation (50)). Finally, let us define the (1 × a) vectorh: where the indices are modulo N. We then have: and the expression of matrix A becomes:

Unconstrained System Equations in the Time Domain
Now we can go back to the time domain to obtain a matrix B, which does not require b being an integer. We have:

Fast Simulation of the Acquisition System
A first interest of the linear algebra model is that it makes the design of a fast simulator obvious. Indeed, multiplication by a diagonal matrix D is efficiently implemented as an element-by-element vectors product, and multiplication by a Fourier matrix F (or its inverse) is efficiently implemented by Fast Fourier Transform (FFT). On the contrary, multiplications by circulant matrices C should be avoided because of their computational cost. Then, the method to design a fast simulator is to insert identities FF −1 or F −1 F where it is appropriate in order to suppress the circulant matrices. For instance, we have: using Equation (16). Here we have only fast operations, as shown in Figure 8.

Equivalent Model
Until now, we have not taken advantage of the periodicity of the scrambler. This opens the way to an equivalent model with interesting properties.
The scrambler is a (1 × N) vector s, which contains K replica of a basic waveform represented by a (1 × L) vector p. Then, the scrambler can be written: and we have (see proof in Appendix A.2) It follows thats is sparse (only one element out of K is non-zero). It will be easier to take benefit of the sparsity ofs if we permutex ands in the expression ofȳ: The proof is trivial: since the multiplication is commutative, we can permute x and s (see Figure 7); therefore, we can also permutex ands.
Let us define the L × N matrix C (K) x obtained by picking one row out of K in Cx. That is: C More explicitly, that is: where the indices are considered modulo N.
Using Equation (67), the mixer output becomes: An interesting property of matrix C (K) x , which will be exploited later, is (see proof in Appendix A.3): Finally, let us defineỹ =ȳD 1/h (78) We then have:ỹ x Ξ (80)

Post-Processing
The post-processing extracts frequency blocks of K samples fromỹ. Using definition (35), let us note S n the a × K selection matrix below and R n the N × K selection matrix below Denotingỹ n a 1 × K vector representing the selected data, we have: y n contains the elements ofỹ whose indices (modulo a) are in the interval Φ = [r + nK, r + nK + K − 1].
The indices are considered modulo a, so r may be negative. We will consider that Φ ⊂ [−c, c + δ], so ΞS n = ΞbS We can note that: This is a matrix similar to R 0 but with sub-matrix I K circularly shifted nK positions downwards. We can note that we have also: Eventually, using Equations (76) and (77) we have: and More explicitly, Zx is the L × K matrix below: were the indices are considered modulo N. The interesting feature in Equation (93) is that Zx does not depend on n. Hence, we can take q different values of n and write assuming we know the filter frequency response (which should be the case because the filter is part of the acquisition system). More compactly, this fundamental equation can be noted: were Y is the (q × K) matrix below: P is the (q × L) matrix below: and Z is the (L × K)matrix below: Therefore, the sizes of the matrices appearing in Equation (98) are (q × K), (q × L), (L × K). Then, if the number of non-zero rows in Z is less than q the matrix Z can be reconstructed from this equation using an algorithm such as OMP [29]. Eventually, from Z we can retrievē x as shown below. Indeed, it is easy to see thatx can be rebuilt from Z with where A L is the K × K anti-diagonal matrix: The effect of the multiplication of a matrix by A L on the left is to reverse the order of its rows.
If we have M channels instead of one in the physical system, the number of rows of Y becomes qM; hence, we can theoretically rebuild the signal if the number of non-zero rows in Z is less than qM.
Let us note q = 2ρ + τ the Euclidean division of q by 2. In our experiments, we have set r = 0 for q even and r = − K/2 for q odd. For n we take the integers in the interval −ρ to ρ + τ − 1. This choice, while not compulsory, is designed to take into account equally distributed values around frequency 0 inỹ, which is a priori the best choice. Indeed, the indices of the samples taken into account go from r − ρK to r + (ρ + τ)K − 1, that is: • For q odd: from −ρK − K/2 to ρK + K/2 − 1 • For q even: from −ρK to ρK − 1 For this choice, Figure 9 illustrates how the elements ofx are arranged into matrix Zx and Figure 10 illustrates how the elements ofỹ are arranged into matrix Y.

Application of the Equivalent Model to Reconstruction
The input of the reconstruction algorithm is the vector y provided by the acquisition device. The output is an estimation ofx.
We assume that: • The frequency responseh of the low-pass filter is known (or has been estimated). Theñ h can be precomputed using Equation (54). • Matrix P has been precomputed, using Equations (72), (94) and (100), or (better) has been estimated by the calibration process (see Section 6).
The procedure is as follows: 1.
Using an a-points FFT computeȳ 2.
Use a compressed sensing algorithm, such as OMP [29], to estimate matrix Z from Equation (98) 6.
Reconstructx from Z using Equation (102) As an illustration of how the linear algebra model makes things simple from the programming point of view, this is the Octave program, which builds matrix Y from y and then obtains x from the reconstructed matrix Z: If there are M > 1 physical channels, the q × K matrices Y corresponding to each channel are stacked vertically, leading to a qM × K matrix Y.

Interest of Q Even
The linear algebra model allows even values of q, instead of previous models that required q to be odd. The main interest is that it puts lower constraints on the design of the acquisition board. If the acquisition board is already available, it may also allow a better use of the MWC output data if the acquisition board is not perfectly optimized.
Let us consider our own acquisition board, which was designed before we established the linear-algebra model. We remind that the ADC sampling frequency is F s 104.2 MHz and the scramblers repetition frequency is F p = F nyq /L 10.42 MHz. Using F s = F nyq /b and N = KL = ab, it is easy to see that F p = KF s /a. In the frequency domain, the a output samples correspond to F s , then qK output samples correspond to qKF s /a = qF p . • With q = 7, we put into Y a total of qK samples corresponding to a frequency halfband qF p /2 = 36.47 MHz. This choice perfectly fits the frequency response of the low-pass filter, which is an almost perfectly flat and linear phase in [DC-36MHz] (see Figures 5 and 6). • With q = 6, we would put into Y samples corresponding to a frequency half-band qF p /2 = 31.26 MHz. This corresponds to an even better area of the filter response, but in doing this, we would not use all the available information. • On the contrary, with q = 8, we would put it into Y samples corresponding to a frequency half-band qF p /2 = 41.68 MHz. This allows us to take more information into account, but we see that we take into account some samples corresponding to a lower quality of the filter response.
This result is not surprising, because our acquisition board was designed and optimized for q = 7, but for a future design of a new board, the possibility to have q may even be interesting because it puts fewer constraints on the choice of the commercial filters.
Indeed, applying the proposed method to our analog board did not need any change because odd values of q are allowed by our method. If a new analog board were to be designed, our method adds an additional degree of freedom because it allows even values of q also. This would allow, for example, the designer of the analog board to use a low-pass filter with a cut-off frequency of about 34 MHz (using q = 6) instead of 40 MHz (using q = 7).

Proposed Approach
The objective of calibration is to estimate the true matrix P. Indeed, for real-world applications, using the theoretical matrix (Equation (100)) leads to very poor results [13]. In a previous paper [19], we proposed an approach that uses a single wideband signal for calibration, contrary to previous approaches that required successive injections of sinusoids in the system. In that paper, we presented spectrum reconstruction performances and examples of spectrum reconstruction obtained with our calibration method. In the present paper, we will mainly focus on simplifying and speeding up the method thanks to the linear algebra model.
The signal we used for calibration has a spectrum that is totally flat in the −F nyq /2, F nyq/2 frequency band and random phase. Compared to methods based on iterative injections of sinusoidal waves, our new calibration method is time-saving and is more practical in terms of the simplicity of implementation because it requires a single measurement to perform the calibration. The calibration method uses advanced resynchronization preprocessing. Our calibration method offers slightly better spectrum reconstruction performances compared to reference method [13].
If we know matrices Y and Z, using Equation (98), we can estimate matrix P by: where Z + is the Moore-Penrose pseudo-inverse [27] of Z. Matrix Y depends on the MWC outputs, and matrix Z depends on its input signal. The problem in a real-world context is that we cannot reliably synchronize the input of the MWC with the ADC sampling, which provides the output, and even if a costly synchronization device was implemented, there are delays in the analog board itself, which are intractable. Then, the input signal must be designed such that a synchronization can be performed numerically. Otherwise, in Equation (104), we would multiply matrices Y and Z + corresponding to desynchronized data, which would make no sense. In order to allow an efficient numerical synchronization, we used, for the MWC input, a periodical signal with a flat spectrum and random phase. More precisely, the period of this signal corresponds to the chosen block size, that is N/F nyq , and one period can be represented by a length-N row vector x. This vector is generated as follows:
x is deduced fromx by an inverse FFT: Reminding that matrix Z contains the elements ofx (Equation (101)), the constant modulus |x(k)| = 1 ensures that no element of Z is privileged or disadvantaged by the input signal. Furthermore, the random phase ensures that the input signal has good localization properties, which is desired for efficient synchronization. Finally, choosing a periodic signal has a strong advantage: a time shift of a block taken on the input signal is equivalent to a cyclic permutation of vector x.
On the programming point of view, building Z from x is very simple: In the following, we will note x 0 = x as the signal pattern and x d a cyclic permutation, d positions to the right, of the pattern. This means that The procedure that we propose is as follows: 1.
Feed the acquisition device with a periodic signal, which is a repetition of a known pattern x 0 2.
Record a samples at the output of the acquisition device (this is vector y), then compute matrix Y using steps 1 to 4 of the reconstruction procedure.

3.
Perform cyclic permutations of the input pattern x 0 . For each vector x d , compute matrix Z d = Zx d (using Equations (96) and (101)) and thenP (using Equation (104)). Let us note the residue The criterion to determine the best cyclic permutation of the input pattern x 0 is the inverse Frobenius norm of R d (the Frobenius norm is the square root of the sum of the square modules of the elements of the matrix).
The computational cost per iteration (i.e., per value of d tested) can be estimated as follows: • A FFT is required to computex d , that is LK log 2 (LK) flops (because N = LK). Globally, since the computation of the Frobenius norm can be neglected compared to the other terms, the algorithm requires about L(2qMK + 7LK + 20L 2 + K log 2 (LK)) flops per iteration.

Fast Update of Matrix Z
While evaluating all possible shifts d, computation of matrix Z d = Zx d requires an N-points FFT to obtainx d , which requires approximately Nlog 2 (N) multiplication at each iteration. However, we can reduce the complexity just by computing the first matrix and then updating it at each iteration as described below. Let us consider a vector x d , which is a cyclic permutation, d positions to the right of pattern x. We have: where Indeed, since J d N = C α d , using Equation (15) we have: Since α d = α d F N , it is easy to see that α d is the (d + 1) th row of F N , that is (see Equations (10) and (11)): Then, we have: where • stands for element by element multiplication. This equation can also be written with To see where this formula comes from, we must remind that multiplication by a diagonal matrix on the left (right) multiplies the rows (columns) by the elements of the diagonal. Then, denoting ω d = ω d we can see that: If we evaluate by step g, we can use: Matrix Z α g can be precomputed. Therefore, at each iteration, we need only N multiplications, which is less complex than computingx d each time. This update requires only N = LK multiplications at each iteration, instead of approximately Nlog 2 (N).
If we want to allow sub-sample precision (i.e., g < 1), we just have to note η = N/2 and write α g as follows: This is very interesting because sub-sample precision is then allowed without any additional cost due to oversampling (with this method, no oversampling is required). Matrix Z α g is computed as follows: Then, at each iteration, updating matrix Z is achieved by: Z = Z .* Zalpha;

Fast Update of Matrix Z +
The approach is similar to the pseudo-inverse: we can reduce the complexity just by computing the first pseudo-inverse matrix and then updating it at each iteration, as described below. This update requires only N multiplications at each iteration.
According to discussions above, denoting Z 0 = USV * as the SVD of Z 0 , we have This equation directly provides the SVD of Z d . It follows that Z + d is This update can be realized by element-by-element multiplication : If we evaluate by step g we can update the matrix at each iteration by: where Z * α g can be precomputed.

Fast Synchronization
To obtain a synchronization, we must evaluate the Frobenius norm of R d at each iteration.
We can evaluate the computational complexity of this fast algorithm as follows: Globally, the algorithm requires 2qMKL + 3KL 2qMKL flops per iteration, which is to be compared to L(2qMK + 7LK + 20L 2 + K log 2 (LK)) for the previous version. The gain is, approximately:

(132)
Computation time on Octave is 54 s for the slow version and 1.6 s for the fast version, which is then 34 times faster.
As a function of K, the gain decreases until K = 20 ln(2)L 2 = 127761 (which is a huge value, not expected for real-world acquisition devices), where it reaches a minimum of 13.4, then increases slowly, behaving asymptotically as log 2 (K)/(2qM), as shown in Figure 11.

Experimental Results
Using a step g > 1 for the evaluation of the synchronization criterion allows a decrease in the computation time by a factor g. A good strategy is to obtain a coarse synchronization with a step g > 1, and then to perform a fine synchronization around the detected peak. The fine synchronization may even be realized at sub-sample precision, if desired. However, a too large initial step must be avoided because it may lead to missing the synchronization peak during the coarse synchronization. In our experiments, we first used a coarse synchronization with step g = 16, then a fine synchronization with step g = 1 around the coarse synchronization peak. Figure 12 shows the obtained synchronization data. Figures 13 and 14 present are magnifications of the synchronization peak to show more details.   If the response of the filter is not taken into account in Equation (78) (i.e., assuming an ideal low-pass filter), the synchronization peak is only slightly lower (4.75 instead of 5.22). This is due to the fact that the low-pass filter used in our analog board has good characteristics (almost flat response, and almost linear phase, in the band of interest). The difference would be higher with a lower quality filter. Anyway, it is always better to integrate the filter response in the equations, as we did, because the additional computational cost is negligible.
Once the signal is synchronized, the estimated matrixP is obtained using Equation (104) (at no additional cost because this computation was already part of the synchronization process). Figure 15 shows the modulus of the matrix elements. Here, since we have M = 4 physical channels and we have taken q = 7, the matrix has qM = 28 rows (and L = 96 columns). The first q = 7 rows correspond to the first physical channel, then the next q rows to the second physical channel, and so on. The theoretical (ideal) matrix P th can be computed using Equation (100). Since the analog scrambling sequence is the output of a Digital to Analog Converter (DAC), fed with a digital pseudo-random sequence, it is (ideally) piecewise constant in the time domain. In the spectral domain, this is equivalent to a multiplication by the sinc function in which first zero is at F nyq . We take that into account when computing our theoretical matrix in order to be as close as possible to the real-world matrix. Figure 16 shows the modules of the elements of this matrix. The estimated (real-world) mixture matrixP may be compared with the theoretical (ideal) mixture matrix P th . On the basis of the elements modules, we can see that their overall aspects are close despite noticeable differences. In fact, the main differences are in the phases of the elements. If we draw the normalized correlation coefficients between the columns of both matrices (Figure 17), we obtain low values, which confirms significant differences. We remind that a normalized correlation coefficient is the absolute value of the cosine of the angle between two vectors (here the columns of both matrices), then values around 0.5 mean that the angle is about 60 degrees, and thus, the columns are significantly different. In a previous paper [19], we showed that despite the good quality of our real-world acquisition board, calibration of the system is absolutely required: using the theoretical matrix leads to poor reconstruction performances. Without calibration, the system usually incorrectly detects the active sub-bands, and even when the active sub-bands are correctly identified, the spectrum reconstruction provided by the uncalibrated system is extremely poor, as illustrated in Figure 18.  Figure 19 shows the relative error between computed and observed system output, as a function of output frequency. The computation is performed using a formula similar to the criterion used in [32].
(133) Figure 19. Relative error between computed and observed system output, as a function of output frequency.
Here the frequency band of the acquisition system output signal has been divided into 28 subbands, and output real is the real output signal comprised in the subband centered on f . Similarly, output computed ( f ) is the computed output signal comprised in the subband centered on f , "computed" meaning that it is computed from the input signal using the system model and a given matrix P. The three curves correspond to using different matrices P in this computation. It can be seen that our method and the reference method provide a good prediction of the real output (relative errors around −18 dB), while the theoretical uncalibrated matrix provides poor results (large relative errors). We remind that in any case, even for the theoretical matrix, we always use a low-pass filter that is calibrated: the true frequency response of the filter (Figures 5 and 6) is being taken into account in the equations through the diagonal matrix Dh.
To further illustrate the interest of the approach, Figure 20 shows the spectrum of the reconstructed signal using different matrices P. On top, it is the true spectrum. Here we have two transmitters in the monitored bandwidth. We can see that our method, as well as the reference method [13], correctly identifies the presence of two active transmitters. On the contrary, when using the theoretical matrix, the number of transmitters and their frequency locations are incorrect. If we zoom in on Figure 20, we can see (Figure 21) that the frequency location of the second transmitter is more precise when using matrix P provided by our method than when using the matrix provided by the reference method. Let us now consider a much more difficult case, where six transmitters are simultaneously active in the monitored bandwidth ( Figure 22). Using the matrix P provided by our approach leads to a correct estimation of the number of transmitters and of their frequency location, despite imperfect shapes of the spectrum reconstruction for some transmitters. The reference method produced quite good results also, but missed one transmitter (around 330 MHz) and detected a non-existing transmitter (around 180 MHz). Finally, as anticipated, using the theoretical matrix P lead to a reconstruction that is almost totally false. This shows that calibration is unavoidable. An interest of the extremely fast calibration procedure proposed in this paper is the possibility of performing quick recalibration of the system as soon as the performances appear to decrease. Indeed, many factors, such as temperature, external perturbation, components aging, etc., modify the characteristics of the system, making a recalibration necessary.

Conclusions
In this paper, we have established an MWC model solely based on linear algebra. It is very convenient as a basis for fast and efficient programming of simulation, reconstruction and calibration algorithms related to MWC. It suppresses a previous restriction on the channels augmentation factor, hence providing more degrees of liberty to the systems designer. It also allowed us to develop an extremely fast implementation of a previously proposed calibration algorithm, leading to a gain of a factor greater than 20 on the computation time. This fast calibration allows quick recalibration of the system as soon as it becomes necessary. Our future work will include more in-depth exploitation of the advantages and interesting properties of this model.

Conflicts of Interest:
The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

Abbreviations
The following abbreviations are used in this manuscript: Using the general radix identity, with N = ab, the inverse DFT matrix can be decomposed as: Then, the frequency-domain downsampling matrix Ξ is:

Periodic Scrambler
Using the general radix identity, with N = KL, the DFT matrix can be decomposed as: