Keywords

1 Introduction

MIMO techniques [1], cooperative networks and heterogeneous systems [2, 3] became essential in the design of the 5G communication systems. Moreover, VLC technologies [47] (LED or laser based), that are under development, show that they could be more than 100 times faster than current Wi-Fi. Therefore, all these technologies have to be considered in the design of any channel simulator platform that makes it possible to predict the received signal for any transmitted signal for a defined environment. With continuing increase of the FPGA capacity, entire baseband simulators can be mapped onto faster FPGAs for more efficient prototyping and testing [811].

Several architectures of the digital block of a hardware simulator have been studied [9, 12]. Typically, radio channels are simulated using Finite Impulse Response (FIR) filters [12, 13]. The Fast Fourier Transform (FFT) module with algebraic product can also be used. However, the FFT operates correctly only for signals not exceeding the FFT size. Thus, new frequency architecture avoiding this limitation has been presented and tested in [14]. However, it has been shown [15, 16] that the time domain architecture is better in terms of occupation on FPGA, output error and latency. Thus, in this paper, only the time domain architecture is considered.

Impulse responses must be implemented in the simulator to test a desired environment. They can be obtained from standard models, as the TGn 802.11n [17] (for indoor channels) and the LTE models [18] (for outdoor channels), or by using measurements conducted with a MIMO channel sounder realized at IETR [19] to cover outdoor-to-indoor channels. In MIMO context, little experimental results have been obtained regarding time-variations due to several limitations of the channel sounding equipment [19]. However, theoretical models of time-varying channels can be obtained using Rayleigh fading and Kronecker method [20, 21].

The main contributions of the paper are:

  • An algorithm is presented to switch between several outdoor environments and make it possible to simulate heterogeneous radio propagation channels.

  • An algorithm is used for the measured impulse responses to switch from 200 MHz sampling frequency (f s ) to 50 MHz and make it compatible with LTE-A.

  • Two new 5G scenarios are proposed. They consider heterogeneous networks that switch between WLAN and mobile networks. They also consider cooperative networks by using cell phones in the environment as relays.

  • Simulation of 5G 8 × 8 MIMO systems using VLC Li-Fi signals is considered.

  • The new simulator architecture is implemented on a Virtex VII FPGA. It has better precision compared to [1416] due to the use of 16 bits DAC/ADC.

The work structure with the contributions is shown in Fig. 1.

Fig. 1.
figure 1

Work structure. (Color figure online)

The rest of this paper is organized as follows. Section 2 presents the channel characteristics. Section 3 describes the architecture and its hardware implementation. In Sect. 4, the architecture accuracy is analyzed and results are presented. Lastly, Sect. 5 gives concluding remarks and prospects.

2 Channel Characteristics

2.1 Channel Description

Two scenarios are proposed to test the simulator architecture. They cover outdoor, outdoor-to-indoor and indoor environments at different environmental speeds. They consider the movements of a person from an environment to another using:

  • LTE-A signal with a sampling frequency (f s ) of 50 MHz, a sampling period (T s ) of 20 ns, a bandwidth (B) of 20 MHz and a central frequency (f c ) of 1.8 GHz.

  • 802.11ac signal with f s  = 165 MHz, T s  = 6 ns, B = 80 MHz and f c  = 5 GHz.

  • VLC Li-Fi red laser signal for Line-Of-Sight (LOS) communication with a frequency of 472, 440 GHz. It is used especially between base stations.

  • VLC Li-Fi red LED signal for LOS and Non-LOS (NLOS) communication with a frequency of 472, 440 GHz. It is used for indoor environments instead of Wi-Fi.

Figure 2 and Table 1 describe the two scenarios in details. In both scenarios, the person driving his vehicle moves from an urban environment to a highway. In this context, another base station is used as a relay. The signal transmitted between the 2 base stations (in LOS) is done using Li-Fi red laser to have fast communication and to surpass the frequency capacity spectrum. On the highway he exits the covered area by the base station. Therefore, the cooperative networks concept is used. Another person’s cell phone between the transmitter (Tx) and the receiver (Rx) is used as a relay. It receives the signal, amplify it and retransmit it.

Fig. 2.
figure 2

Proposed scenarios. (Color figure online)

Table 1. Scenarios description.

In the first scenario, the person (in red in Fig. 1) walks to his home. When he enters, he will receive an outdoor-to-indoor signal. Therefore, the channel will be simulated using measurements obtained by a campaign realized to retrieve outdoor-to-indoor impulse responses. Later, the system switches to LED Li-Fi once receiving a powerful signal using heterogeneous systems handover techniques [3].

In the second scenario, the person (in black in Fig. 1) switches to 802.11ac signal. This case is considered to simulate heterogeneous systems without VLC signals.

For LOS communications, as in the case of VLC Li-Fi red laser signal, the impulse responses are computed by using the relation d γ between the average received power and the distance to determine the attenuation of the signal, where γ is the path loss exponent and it is equal to 2. The delay of the signal is computed by considering the speed of light as a reference.

The models used are the LTE Extended Vehicular A (EVA), the LTE Extended Typical Urban (ETU), the LTE Extended Pedestrian A (EPA) [18] and the TGn model D, C and B [17]. v is the mean environmental speed, f ref is the refresh frequency between two successive MIMO profiles, t is the duration of movements in the considered environment, d is the traveled distance and N p  = t × f ref is the number of profiles in each environment. f d is the Doppler frequency. f ref is chosen greater than 2f d to respect the Nyquist-Shannon sampling theorem.

2.2 Update Measurements to LTE-A and Environment Switch Algorithms

The measurements, using the MIMO channel sounder, were made with f s  = 200 MHz. To use these measurements with LTE-A signals, many steps have to be done. To pass from baseband complex impulse responses to real impulse responses between [\( \Delta , B +\Delta \)], the following formula is used where \( f_{c} =\Delta + B/2 \):

$$ h\left( t \right) = h_{p} \left( t \right)\cos \left( {2\pi f_{c} t} \right) - h_{q} \left( t \right)\sin \left( {2\pi f_{c} t} \right) $$
(1)

The obtained real impulse responses must be limited between 0 and −20 dB to select its significant part. Moreover, to decrease the number of non-null taps of the impulse responses, an algorithm is used which consists of detecting the taps considered as points of change for the sign of the slope of the curve.

Finally, to pass from f s  = 200 MHz to 50 MHz, an algorithm is proposed. It consists on replacing each 4 successive taps (i, i + 1, i + 2, i + 3), which have a sampling period T s  = 5 ns (f s  = 200 MHz), by one tap placed at i + 1. Thus, a new sampling period T s  = 20 ns (f s  = 50 MHz) is obtained. This new tap placed at i + 1 is the sum of the linear Relative Powers (RP) of the 4 taps. A normalization algorithm is preceded on the RP to increase the simulator output signals precision. The results are obtained for 8 × 8 MIMO system. Figure 3 presents the real impulse response on 2048T s , the impulse response used by the simulator after discrimination, normalization and limitation between [0, −20 dB] of the measured impulse responses with f s  = 200 MHz and the impulse responses compatible with LTE-A with f s  = 50 MHz, for h 11 . Moreover, the number of multipliers also decreases. In fact, it is divided by 4 due to the transition from f s  = 200 MHz to f s  = 50 MHz.

Fig. 3.
figure 3

Data Measured (left), used with f s  = 200 MHz (middle), used with f s  = 50 MHz (right).

The switch between the environments must be made in continuous mode. Between E 10 and E 11 for example, the person speed decelerate from 2 (km/h) to 1.4 (km/h).To pass from the RP of the last tap h ij in E 10 (RP 1 ) to the first h ij tap in E 11 (RP f ), a relation is proposed that varies the RP for each f ref . f ref also changes as in Table 1. It passes from 20 (\( f_{{ref_{1} }} \)) to 15 Hz (\( f_{{ref_{f} }} \)). The relations are:

$$ RP_{i} = RP_{1} + (i - 1)\frac{{RP_{f} - RP_{1} }}{N - 1},\,f_{{ref_{i} }} = f_{{ref_{1} }} + (i - 1) \times \frac{{f_{{ref_{f} }} - f_{{ref_{1} }} }}{N - 1} $$
(2)

where i is an integer that varies from 1 to \( N \cdot N = 80 \), in fact, 80/((20 + 15)/2) = 4.5 s is the needed time to switch between the impulse responses which is sufficient to pass from v = 2 km/h (E 10 ) to v = 1.4 km/h (E 11 ). Figure 4 presents the result of the 80 impulse responses (h) while switching between channels.

Fig. 4.
figure 4

Switching between TGn model B to TGn model C.

2.3 Channel Real Time Variation Using Rayleigh and Kronecker Method

After computing the impulse responses, this sub-section presents a method to vary the channel. The Rayleigh fading is used of each SISO channel. For 2 × 2 MIMO fading channel, Kronecker method [21] is considered. It can be characterized by the relative power Pc (resp. Ps) of constant (resp. scattering) channel components corresponding to LOS (resp. NLOS) paths. The ratio Pc/Ps is the Rice K-factor. The same concept is applied to 8 × 8 MIMO. Assuming that all the elements of the MIMO channel matrix H are Rice distributed, it can be expressed for each tap by:

$$ H = \sqrt {P_{c} } \cdot H_{F} + \sqrt {P_{s} } \cdot H_{v} \;{\text{with}}\;P_{c} = P \cdot \frac{K}{K + 1},\,P_{s} = P \cdot \frac{1}{K + 1} $$
(3)

where H F and H V are the constant and the scattered matrices respectively. The total received power is P = P c  + P s . K = 0 to obtain Rayleigh fading. For 2 Tx/Rx:

$$ H = \sqrt P \cdot \left[ {\begin{array}{*{20}c} {X_{11} } & {X_{12} } \\ {X_{21} } & {X_{22} } \\ \end{array} } \right] $$
(4)

To correlate the X ij elements, a product-based model is used. This model assumes that the correlation coefficients are independently derived at each end of the link:

$$ X = (R_{r} )^{1/2} \cdot H_{iid} \cdot ((R_{t} )^{1/2} )^{T} \;{\text{where}}\;R_{t} = \left[ {\begin{array}{*{20}c} 1 & \alpha \\ {\alpha^{*} } & 1 \\ \end{array} } \right],\,R_{r} = \left[ {\begin{array}{*{20}c} 1 & \beta \\ {\beta^{*} } & 1 \\ \end{array} } \right] $$
(5)

H iid is a matrix of independent zero means, unit variance, complex Gaussian random variables. R t and R r are the Tx/Rx correlation matrices. The correlation coefficients \( \alpha \)/\( \beta \) are expressed by \( \rho = R_{xx} \left( D \right) + j \cdot R_{xy} \left( D \right) \), D = 2πd/λ, d = 0.5λ the distance between antennas with wavelength λ. The Power Angular Spectrum (PAS) matches the Laplacian distribution with σ the standard deviation. Thus:

$$ R_{xx} (D) = \int\limits_{ - \pi }^{\pi } {\cos (D \cdot \sin (\varphi )) \cdot PAS(\varphi ) \cdot d\varphi } ,R_{xy} (D) = \int\limits_{ - \pi }^{\pi } {\sin (D \cdot \sin (\varphi )) \cdot PAS(\varphi ) \cdot d\varphi } $$
(6)

3 Digital Block Design of the Hardware Simulator

As the development board has 8 Analog-to-Digital Converter ADC (FMC168) and 8 Digital-to-Analog Converter DAC (FMC216), it will be connected to 8 down-conversion and 8 up-conversion RF units. 64 FIR filters are considered to simulate the 8 × 8 MIMO channel. However, as the scenarios contain one relay (intermediate base station or cell phone), the number of FIR filters will be 64*2 = 128 (Fig. 5).

Fig. 5.
figure 5

8 × 8 MIMO system with relay.

The FIR width and the multipliers number are determined by the taps of each SISO channel. In a scenario, the entire SISO channels have to be considered. To use the limited number of multipliers of the FPGA, a solution is proposed to control the change of delays by connecting each multiplier to the corresponding cells of the shift register and RAM. Thus, the number of multipliers in the FIR filters is equal to the maximum number of taps of all SISO channels. 128 FIR filters, each one with 24 multipliers are considered. Figure 6 presents a FIR filter 250 with 24 multipliers for one SISO channel. We have developed our own FIR filter instead of using Xilinx filter to make it possible to reload the filter coefficients.

Fig. 6.
figure 6

FIR 250 with 24 multipliers for one SISO channel using h 11 .

Due to the use of a 16-bit DAC, the final output must be truncated. The best solution is the sliding window truncation presented in Fig. 7 which uses the 16 most significant bits. The number of bits at the output before the truncation is:

Fig. 7.
figure 7

Sliding window truncation, from 37 to 16 bits.

$$ n_{y} = n_{h} + n_{x} + n_{MIMO} + n_{T} \;{\text{where}}\;n_{MIMO} = \left\lceil {\log_{2} N_{T} } \right\rceil ,\,n_{T} = \left\lceil {\log_{2} N_{T} } \right\rceil $$
(7)

where n y is the number of bits at the output before truncation, n h is the number of bits at the impulse response, which is equal to 16 bits, n x  = 16 is the number of bits of the input signal and N T is the number of non-null taps of impulse responses.

Figure 8 shows the Xilinx Virtex-VII XC7VX690T [8] used for the implementation of the architecture. The simulations are made with ISE [8] and ModelSim [22]. It also shows the device utilization for 128 FIR filters of 24 multipliers each.

Fig. 8.
figure 8

Virtex-VII FPGA board from Xilinx and FPGA occupation for 128 FIR filters.

The number of DSP multipliers is equal to: 24 taps * 128 FIR filters = 3072. The impulse responses profiles are saved in the RAM memory blocks. The total number of profiles in the scenarios is 745,506. Each profile contains 128 channels each with 24 taps. For each tap the delay in time and the signal power must be known. Therefore, the total number of taps is: 745,506*128*24*2 = 4,580,388,864 taps of 16 bits each = 73,286,221,824 total bits. The capacity of each RAM block is 18 Kb. Thus, the number of blocks needed is: 73,286,221,824/18 K = 4,071,457.

However, the total number of RAM blocks on the FPGA is 2,940. Therefore, another method is used to save the impulse responses. They are saved on the computer and refreshed each f ref . In this way, only 2 profiles are needed to be saved in the RAM blocks of the FPGA. In this case, the total number of taps is: 2*128*24*2 = 12,288 taps of 16 bits = 196608 total bits = 11 RAM blocks < 2,940.

For a MIMO profile, 24 × 128 = 3072 words of 16 bits = 6144 bytes have to be transmitted. Thus, the transfer speed is 6144 × f ref Bps.

4 Results and Analysis

An input Gaussian signal x(t) is considered for all inputs. To obtain a signal that respects the bandwidth, x(t) centered between [\( \Delta \), \( \Delta + B \)] is obtained by:

$$ x(t) = x_{m} e^{{ - \frac{{(t - m_{x} )^{2} }}{{2\sigma_{x}^{2} }}}} ,\;\;0 \le t \le Wt,\quad \Rightarrow \,x(t) \to x (t )\cdot { \cos }\left( { 2\pi \cdot \left( {\frac{B}{ 2}{ + }\Delta } \right) \cdot t} \right) $$
(8)

In this work, \( \sigma_{x} \) = 3/\( \pi \) B is considered. m x is chosen equal to 20T s  > 3 for both 802.11ac and LTE-A signals. Moreover, \( \Delta \) ≪ B is chosen equal to 2 MHz. The ADC and DAC converters of the development board have a full scale [−V m ,V m ], with V m  = 1 V. For the simulations, x m  = V m /2 is considered.

The first theoretic output signals y 1 (t) of the 8 × 8 MIMO channel is computed by:

$$ y_{1} (t) = \mathop h\limits_{{E_{2} \,11}} (t)*r_{1} (t) + \mathop h\limits_{{E_{2} \,21}} (t)*r_{2} (t) + \ldots + \mathop h\limits_{{E_{2} \,81}} (t)*r_{8} (t) $$
(9)

where

$$ r_{u} (t) = \mathop h\limits_{{E_{1} 1u}} (t)*x_{1} (t) + \mathop h\limits_{{E_{1} 2u}} (t)*x_{2} (t) + \ldots + \mathop h\limits_{{E_{1} 8u}} (t)*x_{8} (t) = \sum\limits_{a = 1}^{8} {\mathop h\limits_{{E_{1} au}} (t)*x_{a} (t)} $$
(10)

Thus

$$ y_{k} (t) = \sum\limits_{b = 1}^{8} {\mathop h\limits_{{E_{2} \,bk}} (t)*\sum\limits_{a = 1}^{8} {\mathop h\limits_{{E_{1} \,ab}} (t)*x_{a} (t)} } \;with\;x*h = \sum\limits_{k = 1}^{Nt} {\mathop h\limits_{{}} (i_{k} ) \cdot x(t - i_{k} T_{s} )} $$
(11)

The formula of the theoretical yk(t) becomes:

$$ y_{k} (t) = \sum\limits_{b = 1}^{8} {\sum\limits_{q = 1}^{Nq} {\left( {\mathop h\limits_{{E_{2} \,bk}} (i_{q} ) \cdot \sum\limits_{a = 1}^{8} {\sum\limits_{p = 1}^{Np} {\left( {\mathop h\limits_{{E_{1} \,ab}} (i_{p} ) \cdot x_{a} (t - (i_{q} + i_{p} )T_{s} )} \right)} } } \right)} } $$
(12)

where N p and N q are the number of taps of the impulse response and h(i n ) is the RP of the n th path with the delay i n T s .

In order to determine the accuracy, a comparison is made between the theoretical/Xilinx output signals. Figure 9 presents a snapshot of the Xilinx output signal using Brutal (BT) and Sliding (ST) Truncations, with the theoretical signal, the relative error and the SNR for y 1 (t) using measured outdoor-to-indoor data (left) and 3GPP-LTE model ETU (right) with and x LTE (t) at the input. Figure 10 presents a snapshot of the result for y 1 (t) using TGn model B (left) with x WLAN (t) and VLC LED Li-Fi (right).

Fig. 9.
figure 9

Snapshot results for y 1 using measured outdoor-to-indoor data (left) and 3GPP-LTE model ETU (right).

Fig. 10.
figure 10

Snapshot results for y 1 using TGn model B (left) and VLC LED Li-Fi (right).

The relative error and SNR are computed by:

$$ RE_{k} (i) = \frac{{y_{qk} (i) - y_{k} (i)}}{{y_{k} (i)}} \times 100,\,SNR_{k} (i) = 20\log_{10} \left| {\frac{{y_{k} (i)}}{{y_{qk} (i) - y_{k} (i)}}} \right|\mathop {}\nolimits^{{}} \left[ {dB} \right] $$
(13)

where y qk is the vectors containing the samples of the Xilinx output signals.

The global relative error and global SNR are computed by:

$$ RE_{Gk} = \frac{{\left\| {y_{qk} - y_{k} } \right\|}}{{\left\| {y_{k} } \right\|}} \times 100,\,SNR_{Gk} = 20\log_{10} \frac{{\left\| {y_{k} } \right\|}}{{\left\| {y_{qk} - y_{k} } \right\|}}\;\left[ {dB} \right] $$
(14)

Figure 11 presents the Global SNR variation in time for all profiles of y 1 (t) and y 2 (t) of four different environments of the scenarios. For the ETU environment only 1,000 profiles of 90,000 are presented.

Fig. 11.
figure 11

Global SNR variation in time for y 1 and y 2 .

Table 2 shows the average total global SNR for different environments. The results are given with BT and ST.

Table 2. Global SNR (dB) for different environments of the scenarios.

The table shows the benefit of a ST in the case of using real input signals that respects the band \( \left[ {\Delta ,\Delta + B} \right] \). The previous figures of the relative errors show that the ST provides low variations (around zero %) for the relative error where the output signal is high. However, the BT presents high variations.

5 Conclusion

In this paper, tests have been made for scenario models that switch between different environments to simulate heterogeneous propagation environments and cooperative networks. Moreover, VLC signals are used. An algorithm has been proposed to switch between the environments in a continuous manner and another algorithm is introduced to convert the measured impulse responses from 200 MHz sample frequency to 50 MHz to be compatible with LTE-A signals. In order to simulate a time-varying channel, Rayleigh fading method is used to vary the relative power of the taps of the channel impulse response. The architecture of the 8 × 8 MIMO simulator has been implemented on FPGA Virtex VII and analyzed.

This work can be completed by developing RF cards for the new standards and for heterogeneous systems. The hardware simulator realized considers the variation of the channel on small scale. Thus, variation on large scale must be considered. For the future cooperative communication systems, the Tx/Rx are in motion, the V2V concept has to be considered. Finally, the Tx/Rx distance has to be considered and simulation must be made not just for scenario models but also for real scenarios.