## 2 Second-Order Statistical Modeling of Current-Steering Electronic DACs (eDAC)
### Second-Order Statistics of the Steps of the Output Constellation--Matrix-Based Evaluation  
We now develop a matrix-based methodology for evaluating the second-order-statistics of the output current constellation steps vector, with elements (the \"steps\") defined in (21). The steps vector, \(\
abla\mathbf{J}\), is obtained from the constellation vector, \(\mathbf{J}\), by applying the first-difference linear transformation, \(\
abla:\ \mathbb{R}^{C}\rightarrow\mathbb{R}^{C-1}\) (called \"Del\"), introduced in  
\[\
abla:\ \mathbb{R}^{C}\rightarrow\mathbb{R}^{C-1},\ \ \mathbf{J}\mapsto\
abla \mathbf{J},\ \ \ J_{c}\mapsto\
abla J_{c}\equiv J_{c+1}-J_{c} \tag{139}\]  
The \(\
abla\) linear transformation is viewed below as a \((C-1)\times C\) matrix, with \(-1\) s on its main diagonal, \(1\) s in all entries right above the diagonal, zeros in all other entries, e.g., for C = 8:  
Relating the output levels to the source currents, as per \(\mathbf{J}=\mathbf{CI}\) (1), yields  
\[\
abla\mathbf{J}=\
abla(\mathbf{CI})=(\
abla\mathbf{C})\mathbf{I} \tag{140}\]where associativity of matrix multiplication was used for this matrix triple product, **I** is \(S\times 1\); for a ThWgt eDAC, \(S=C-1\); for a BiWgt eDAC \(S=B=\log_{2}C\). \(\
abla\) is viewed as a \((C-1)\times C\) matrix, **C** of size \(C\times S\):  
\[\
abla\equiv \begin{bmatrix}-1&1&0&0&0&0&0&0\\ 0&-1&1&0&0&0&0&0\\ 0&0&-1&1&0&0&0&0\\ 0&0&0&-1&1&0&0\\ 0&0&0&0&-1&1&0\\ 0&0&0&0&0&-1&1\end{bmatrix}  \tag{141}\]  
Once the matrix product \(\
abla\textbf{C}\) is evaluated for the given code matrix, **C**, then the output steps vector (140) is readily obtained by left-multiplying the eDAC current sources vector, **I**, by the \(\
abla\textbf{C}\) matrix: \(\
abla\textbf{J}=(\
abla\textbf{C})\textbf{I}\). The rows of the \(\
abla\textbf{C}\) matrix are obtained by taking differences of the successive rows of **C**,  
\[ \begin{split}&[\
abla\textbf{C}]_{c_{i}}=\
abla[\textbf{C}]_{c _{i}}=[\textbf{C}]_{c+1,z}-[\textbf{C}]_{c_{i}}\\ &=\
abla\Big{(}\textbf{b}^{T}[c]\Big{)}=\textbf{b}^{T}[c+1]- \textbf{b}^{T}[c]=(\textbf{b}[c+1]-\textbf{b}[c])^{T}=(\
abla\textbf{b}[c])^{ T}\end{split}  \tag{142}\]  
Recalling that the eDAC codewords \(\textbf{b}^{T}[c]\) (viewed as rows) are the rows of the **C** matrix, then the rows of \(\
abla\textbf{C}\) (given by the differences of the successive rows of **C**) are obtained as the first-differences \(\
abla\Big{(}\textbf{b}^{T}[c]\Big{)}=\left(\
abla\textbf{b}[c]\right)^{T}\) of the list of successive row-codewords. We refer to the differences of successive rows of the **C** matrix as the \"code-steps\":  
\[\text{code}-\text{steps}\ (\text{rows}):\ \
abla\Big{(}\textbf{b}^{T}[c]\Big{)} \equiv\textbf{b}^{T}[c+1]-\textbf{b}^{T}[c]=\Big{(}[\
abla\textbf{C}]_{c,z} \Big{)}^{T} \tag{143}\]  
The code-steps are readily evaluated for any code matrix, **C**. Arraying the code-steps as rows in a matrix yields the \(\
abla\textbf{C}\) matrix. In particular, the \(c\)-th element of the steps-vector \(\
abla\textbf{J}\) (140) may be evaluated as follows, directly from the eDAC source currents:  
\[\
abla J_{c}\equiv[\
abla\textbf{J}]_{c}=\left[\
abla(\textbf{C}\textbf{I}) \right]_{c}=\left[(\
abla\textbf{C})\textbf{I}\right]_{c}=\left[\
abla\textbf{ C}\right]_{c_{i}}\textbf{I}=\
abla\textbf{b}^{T}[c]\textbf{I}\equiv(\
abla \textbf{b}[c])^{T}\textbf{I} \tag{144}\]  
\[\therefore\ \ \
abla J_{c}\equiv(\
abla\textbf{b}[c])^{T}\textbf{I} \tag{145}\]  
The output current constellation steps are obtained as the inner products of the successive code-steps, \(\
abla\textbf{b}^{T}[c]=(\
abla\textbf{b}[c])^{T}\), with the source currents vector, **I**. For a given eDAC, of order \(C\) and given topology ThWgt \(\text{BiWgt}\), it is worth tabulating the code-steps, \(\ \left(\
abla\textbf{b}[c]\right)^{T}\), for \(c=1,2,\ldots,C-1\), in advance (or equivalently tabulating \(\
abla\textbf{C}\), the rows of which are the code-steps).