# A Flexible FPGA-Based Channel Emulator for Non-Stationary MIMO Fading Channels
## 3 Flexible Hardware Architecture and Implementation
### Channel Fading Generation  
Several methods for generating the channel fading coefficients, i.e., SoC method, Doppler filter method, AR method, and their derivatives can be addressed in [10; 11; 28; 29]. However, these methods can only be used for stationary channels with fixed channel parameters. In this paper, we upgrade the traditional SoC method to the non-stationary channel fading generation. In order to guarantee the continuity of output fading phase, we use an improved method to generate non-stationary channel as shown in Figure 2. The non-stationary fading coefficient can be generated based on the summation of several linear frequency modulated signals as  
\[\tilde{h}_{u,s,n}\left(l\right)=\sum\limits_{m=1}^{M}c_{n,m}\left[l\right]e^{j \left(2\pi\sum\limits_{k=0}^{l}T_{s}f_{n,m}\left[k\right]+\theta_{u,m}\right)} \tag{5}\]  
where \(l\) is the discrete time index, \(M\) is the number of frequency modulated signal, \(c_{n,m}\) denotes the sub-path gain, and \(f_{n,m}\) and \(\theta_{n,m}\) are the discrete Doppler frequency and initial phase, respectively.  
Figure 1: System architecture of the proposed emulator.  
Figure 2: Sum-of-frequency-modulated-signals (SoFM)-based channel fading generator.  
Note that the initial random phase of each branch is uniformly distributed over \([-\pi,\pi)\) and time-invariant. Considering the complexity of hardware implementation, it is assumed that the sub-path gain has the same value and does not change over time. Hold the condition of normalized path power, the sub-path gain of each branch equals to \(\sqrt{1/N}\). As the time-variant discrete Doppler frequency would increase the complexity and uncertainty, it is very important to find an efficient way to update the Doppler frequency parameter over time. The theoretical Doppler frequency of the \(m\)th sub-path within the \(n\)th path can be defined by [27]  
\[f_{n,m}(l)=k\frac{\vec{v}_{MS}\hat{v}_{MS,n,m}(l)}{2\pi} \tag{6}\]  
where \(k=2\pi f_{c}/c\) denotes the wave number, \(f_{c}\) is the carrier frequency, \(c\) refers to the speed of light, \(\vec{v}_{MS}\) denotes the vector of the mobile station (MS) velocity, and \(\hat{v}_{MS,n,m}\) is the arrival angle unit vector of the \(m\)th sub-path within the \(n\)th path. As the Doppler frequency is usually much smaller than the system sampling rate, it is assumed that the statistical properties maintain unchanged within several sampling intervals, i.e., stationary interval \(T_{u}\), which ranges from several millisecond to dozens of millisecond. The Doppler frequency of the \(m\)th sub-path within the \(u\)th interval, denoted as \(f_{n,m}^{u}\), can be obtained by (6). In addition, we assume the discrete frequency parameters following the linear change within each interval \(T_{u}\). Then, the Doppler frequency within the \(u\)th stationary interval can be expressed as  
\[f_{n,m}^{u}(l)=a_{n,m}^{u}+b_{m}^{u}(l-(u-1)T_{u})+\Delta_{n,m}^{u}(l) \tag{7}\]  
where \(a_{n,m}^{u}\) denotes the initial value of the \(m\)th sub-path within the \(n\)th path, \(b_{m}^{u}\) is the slope of the \(m\)th sub-path, \(\Delta_{n,m}^{u}(l)\) is the small random offset of the frequency parameter, \(a_{n,m}^{u}\) is random variable and distributes uniformly over \([F_{m-1}^{1},F_{m}^{1})\) when \(u=1\), and \(a_{n,m}^{u}\) stays the value at the end of previous interval when \(u=2,3,\cdots\). Finally, the slope \(b_{m}^{u}\) can be calculated by  
\[b_{m}^{u}=L\frac{(F_{m}^{u}-F_{m-1}^{u})+(F_{m}^{u+1}-F_{m-1}^{u+1})}{2T_{u}} \tag{8}\]  
where \(L\) denotes the total number of the slope changes within each interval. In order to improve the performance, the following conditions for discrete Doppler frequency should be fulfilled [28],  
\[\begin{split} f_{n,m}&\
eq 0,\ \ \forall n,m\\ f_{n,m}&\
eq f_{n,q},\ \forall n\,and\ \forall m \
eq q\end{split} \tag{9}\]