# A Non-WSSUS Channel Simulator for V2X Communication Systems
## 5 The Proposed Vehicular Channel Simulator
This function takes as input the motion parameters for the MSs (\(v_{T}\), \(v_{R}\), \(a_{T}\), \(a_{R}\), \(\gamma_{T}\), \(\gamma_{R}\), \(\rho_{T}\), \(\rho_{R}\)), the number of IOs \(\mathcal{L}\), the scattering parameters (\(\mu_{R}\) and \(\kappa\)), the distance between MSs \(D\), the radius \(d\) of the ring of IOs, and the number of total symbols \(K\). We consider that the system parameters are defined inside the function following the desired V2X specifications. First, we set all the system parameters according to the V2X standard for a bandwidth \(B\). Then, we generate the corresponding random variables and compute the Doppler shifts following the simulation model with the user inputs for an arbitrary propagation scenario. Finally, a realization of the channel transfer function is computed and returned to simulate data transmission. The simulation of a V2X communication system requires several blocks in addition to the channel simulator. These blocks realize different communication tasks such as modulation, equalization, and demodulation. Figure 4 shows a block diagram for the simulation of a V2X communication system, which consists of three main blocks: the transmitter, the wireless propagation channel, and the receiver. First, in the transmitter side, the training and data generator are used to obtain random information frames to be transmitted. We consider that \(K\) symbols are generated with \(N_{p}\) subcarriers. Then, the information symbols are modulated, i.e., the information is encoded from the message source in a way that is suitable for transmission. Next, the modulated signal is sent through the multiplicative non-WSSUS V2X channel that is also corrupted by AWGN. The V2X channel in this block diagram is obtained using the _GenerateChannel_ function with an arbitrary propagation scenario. In the receiver side, we consider channel estimation and equalization blocks to mitigate the impact of the wireless channel. Finally, the signal is demodulated to decode the message information. Figure 4: Block diagram for the simulation of a general V2X communication system. \begin{table}
\begin{tabular}{l} \hline \hline
**GenerateChannel(\(\
u_{T},\
u_{R},a_{T},a_{R},\gamma_{T},\gamma_{R},\rho_{T},\rho_{R},\mathcal{L},\mu_{R}, \kappa,D,d,K\))** \\ \hline \multicolumn{2}{l}{Set system parameters according to the standard:} \\ \multicolumn{2}{l}{Bandwidth \(B\)} \\ \multicolumn{2}{l}{Carrier Frequency \(f_{c}\)} \\ \multicolumn{2}{l}{Total number of subcarriers \(N_{p}\)} \\ \multicolumn{2}{l}{Symbol duration \(T_{s}\)} \\ \multicolumn{2}{l}{Subcarriers spacing \(\Delta f\)} \\ \multicolumn{2}{l}{Compute gains \(\tilde{g_{\ell}}\) for the \(\mathcal{L}\) IOs:} \\ \multicolumn{2}{l}{Generate random variables for the \(\mathcal{L}\) IOs:} \\ \multicolumn{2}{l}{Phase shift \(\tilde{\theta}_{\ell}\)} \\ \multicolumn{2}{l}{AOAs \(\tilde{\phi}_{\ell}^{R}\) with von [PERSON] distribution} \\ \multicolumn{2}{l}{AODs \(\tilde{\phi}_{\ell}^{T}\) following (8)} \\ \multicolumn{2}{l}{Compute maximum Doppler frequencies due to initial speed \(f_{max}^{T}\) and \(f_{max}^{R}\)} \\ \multicolumn{2}{l}{Compute Doppler frequency shift \(f_{\ell}^{S}\) due to initial speed} \\ \multicolumn{2}{l}{Compute time-varying maximum Doppler frequencies due to acceleration} \\ \multicolumn{2}{l}{\(f_{max}^{T}[k-1]\) and \(f_{max}^{R}[k-1]\) for \(k=1,2,\ldots,K\)} \\ \multicolumn{2}{l}{for \(\ell\)=0 to \(\mathcal{L}-1\)} \\ \multicolumn{2}{l}{Compute time-varying Doppler frequency shift \(f_{\ell}^{A}[k-1]\)} \\ \multicolumn{2}{l}{due to acceleration for \(k=1,2,\ldots,K\)} \\ \multicolumn{2}{l}{Compute time-varying propagation delays \(\tilde{\tau}_{\ell}[k-1]\) for \(k=1,2,\ldots,K\)} \\ \multicolumn{2}{l}{end for} \\ \multicolumn{2}{l}{Compute channel transfer function matrix \(\tilde{\mathbf{H}}\) with elements} \\ \multicolumn{2}{l}{\(\langle\tilde{\mathbf{H}}\rangle_{m,k}=\widehat{H}[m-N_{p}/2,k-1]\) for \(k=1,2,\ldots,K\) and \(m=1,2,\ldots,N_{p}\)} \\ \hline \hline \end{tabular}
\end{table}