# Low-Resolution Precoding for Multi-Antenna Downlink Channels and OFDM +
## 3 Quantized Precoding
### MagIQ and QCM  
For multipath channels, the vector \(\mathbf{x}[t]\) influences the channel output at times \(t\), \(t+1\), \(\ldots,t+L-1\). A joint optimization over strings of length \(T\) seems difficult because of this influence and because of the finite alphabet constraint for the \(x_{n}[t]\). Instead, MAGIQ splits the optimization into sub-problems with reduced complexity by applying coordinate-wise minimization across the antennas and iterating over the OFDM symbol. For this purpose, consider the precoding problem for time \(t^{\prime}\) starting at \(t^{\prime}=0\) and ending at \(t^{\prime}=T-1\). Observe that \(\mathbf{x}[t^{\prime}]\) influences at most \(L\) summands in (8), namely the summands for \(t=(t^{\prime})_{T},\ldots,(t^{\prime}+L-1)_{T}\) where \((t)_{T}=\min(t,T-1)\). To compute the new cost after updating the symbol \(x_{n}[t^{\prime}]\), one may thus compute sums of the form  
\[\sum_{t=(t^{\prime})_{T}\ldots,(t^{\prime}+L-1)_{T}}\left\|\mathbf{u}[t]-\mathbf{\alpha }\sum_{\tau=0}^{L-1}\mathbf{H}[\tau]\mathbf{x}[t-\tau]\right\|^{2} \tag{11}\]  
for \(t^{\prime}=0,\ldots,T-1\). In both cases, one computes a first and second sum having the old and new \(x_{n}[t^{\prime}]\), respectively. One then takes the difference and adds the result to (8) to obtain the updated cost. We remark that the time-domain cost function (8) is closely related to the frequency-domain cost functions in [38; 40; 41]. However, the time-domain approach is more versatile as it can include acyclic phenomena such as interference from previous OFDM blocks. The time-domain approach is also slightly simpler because updating the symbol \(x_{n}[t^{\prime}]\) in (8) or (11) requires taking the norm of at most \(L\) vectors of dimension \(K\) for each test symbol in \(\mathcal{X}\) while the frequency-domain approach in ([40] Equation (17)) takes the norm of \(T_{F}\) vectors of dimension \(K\) for each test symbol. Recall that \(T_{F}\geq L\), and usually \(T_{F}\geq 10L\) to avoid losing too much efficiency with the cyclic prefix that has length \(T_{c}\geq L-1\). The MAGIQ algorithm is summarized in Algorithm 1. MAGIQ steps through time in a cyclic fashion for fixed \(\alpha\). At each time \(t\), it initializes the antenna set \(\mathcal{S}=\{1,\ldots,N\}\) and performs a greedy search for the antenna \(n\) and symbol \(x_{n}[t]\) that minimize (8) (one may equivalently consider sums of \(L\) norms as in (11)). The resulting antenna is removed from \(\mathcal{S}\) and a new greedy search is performed to find the antenna in the new \(\mathcal{S}\) and the symbol that minimizes (8) while the previous symbol assignments are held fixed. This step is repeated until \(\mathcal{S}\) is empty. MAGIQ then moves to the next time and repeats the procedure. To determine \(\alpha\), MAGIQ applies alternating minimization with respect to \(\alpha\) and the precoder output \(\{\mathbf{x}[t]:t=0,\ldots,T-1\}\). For fixed \(\mathbf{x}[. ]\) the minimization can be solved in closed form, see (10) and line 22 of Algorithm 1. Simulations show that MAGIQ exhibits good performance and converges quickly [39]. However, the greedy selection considerably increases the computational complexity. We thus replace the minimization over \(\mathcal{S}\) in line 9 of Algorithm 1) with a round-robin schedule or a random permutation. We found that both approaches perform equally well. The new QCM algorithm performs as well as MAGIQ but with a simpler search and a small increase in the number of iterations. Finally, one might expect that \(\alpha\) is close to the \(\alpha_{\text{WF}}\) of the transmit Wiener filter [6; 7] since our cost function accounts for the noise power. However, Figure 2 shows that this is true only at low SNR. The figure plots the average \(\alpha\) of the QCM algorithm, called \(\alpha_{\text{QCM}}\), against the computed \(\alpha_{\text{WF}}\) for simulations with System A in Section 5. Note that \(\alpha_{\text{QCM}}\) is generally larger than \(\alpha_{\text{WF}}\). ```
1:procedurePrecode(Algo,\(\mathbf{H}[.]\),\(\mathbf{u}[.