Mathematical Problems in Engineering

Volume 2015, Article ID 237061, 8 pages

http://dx.doi.org/10.1155/2015/237061

## A Fading Channel Simulator Implementation Based on GPU Computing Techniques

^{1}Universidad de Guadalajara, Boulevard Marcelino García Barragán 1421, 44430 Guadalajara, JAL, Mexico^{2}Universidad de Quintana Roo, Boulevard Bahía s/n, Esquina Ignacio Comonfort, 77019 Chetumal, QRoo, Mexico^{3}Universidad Autónoma de Yucatán, Avenida Industrias No Contaminantes, S/N, 97310 Mérida, YUC, Mexico

Received 13 September 2014; Revised 11 March 2015; Accepted 11 March 2015

Academic Editor: Chunlin Chen

Copyright © 2015 R. Carrasco-Alvarez et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

Channel simulators are powerful tools that permit performance tests of the individual parts of a wireless communication system. This is relevant when new communication algorithms are tested, because it allows us to determine if they fulfill the communications standard requirements. One of these tests consists of evaluating the system performance when a communication channel is considered. In this sense, it is possible to model the channel as an FIR filter with time-varying random coefficients. If the number of coefficients is increased, then a better approach to real scenarios can be achieved; however, in that case, the computational complexity is increased. In order to address this issue, a design methodology for computing the time-varying coefficients of the fading channel simulators using consumer-designed graphic processing units (GPUs) is proposed. With the use of GPUs and the proposed methodology, it is possible for nonspecialized users in parallel computing to accelerate their simulation developments when compared to conventional software. Implementation results show that the proposed approach allows the easy generation of communication channels while reducing the processing time. Finally, GPU-based implementation takes precedence when compared with the CPU-based implementation, due to the scattered nature of the channel.

#### 1. Introduction

Currently, the high demand for integrated services (voice, data, and video) means that new data transmission schemes have to be developed for dealing with high transmission data rates and at the same time for offering high levels of quality of service. The fourth generation (4G) of mobile communication systems is still under development; its main goal is to provide a digital communication network (land, mobile, and satellite) with peak data rates of 100 Mbps for high mobility devices and high data rates of 1 Gbps for users or devices in low mobility environments or stationary conditions. The main technologies used in 4G include techniques based on multiple-input and multiple-output (MIMO) antennas, turbo decoding, adaptive modulation, coding schemes and error correction, and orthogonal FDMA (orthogonal FDMA, OFDM) [1, 2]. Current versions of standards that incorporate 4G are LTE-A (long term evolution-advanced) and IEEE 802.16 m WiMAX (Worldwide Interoperability for Microwave Access) mobile. Therefore, the new issues imposed by the standards require new processing algorithms to be tested on high mobility environments affected by Doppler shifts (time-selective channels) and multipath propagation (frequency-selective channels). The temporal channel variability occurs when the characteristics of the transmission medium change over time or when there is a relative motion between the receiver and transmitter, as in communication systems such as LTE and WiMAX. The frequency selectivity appears when multiple copies of the transmitted signal arrive at the receiver due to physical mechanisms such as multipath propagation.

Moreover, knowing the behavior or performance of a mobile communication system under real conditions (in situ test) can be very expensive, owing to the transfer of the communications system and test equipment to the place under study, among other issues. Additionally, the system behavior can not be tested under the same propagation conditions due to the nature of the communication channel. Faced with this problem, an economical alternative is to use mathematical models, which represent the radio channels under consideration. In this sense, we can define a channel simulator as a software tool that permits reproduction of the behavior or the propagation conditions of a mobile communications channel under controlled or laboratory conditions.

On the other hand, GPU-accelerated computing is the use of a graphics processing unit (GPU) together with a CPU in order to accelerate scientific, engineering, and business applications [3]. Recently, several works related to the wireless communication area, which uses GPU devices, have been published [4–7]. Those works follow an implementation strategy in order to handle the channel complexity using multiple cores. For example, in [4] a wireless channel simulator is implemented. In that work, the potential of GPU-based processing is studied in order to improve the runtime performance of computationally intensive accurate wireless network simulation. In [5], the use of general purpose GPUs is investigated in order to provide the computational capabilities required for performing the radio frequency path loss computation. A discussion of the acceleration of wireless channel simulation using GPUs is provided in [6]. In addition, in [7], an implementation of parallel lattice reduction-aided 2 × 2 MIMO detector using GPUs for the WiMAX standard is presented.

Although several works related to the use of GPUs in communication systems exist, there are currently no works that describe in detail the implementation of a fading channel simulator based on GPUs. In this paper, the methodology for implementing a fading channel simulator (time and frequency selective) via GPU computing is presented.

The proposed methodology considers the use of common GPU software libraries that permit nonspecialized users in GPU programming to easily implement the proposed simulator. On the other hand, the generation of the Rayleigh fading variates is achieved using the filtering method [8–10]. In this case, the filtering method is carried out in time domain by using a finite impulse response (FIR) filter for coloring Gaussian noise samples. Furthermore, it is well known that if the filter order is increased, then the accuracy of the channel statistics can be improved, though at the cost of increasing the computational complexity. Therefore, in this work, we take advantage of GPUs for handling such computational complexity (multiplication and addition operations) in order to implement an accurate communication channel for SISO systems. Moreover, this methodology paves the way for implementing MIMO channel simulators in the future.

The rest of this paper is organized as follows: In the second section, the background of the wireless communication system is stated, specifically as regards the channel communication model. In Section 3, how to simulate the communication channel is explained. Next, in Section 4, the GPU implementation of the fading channel simulator is detailed. Section 5 is devoted to presenting the implementation results when a WiMAX scenario is considered. Finally, the conclusions are presented in Section 6.

#### 2. Communication System

Consider a single-input and single-output (SISO) communication system where the transmission of in-phase and quadrature signals modulated by orthogonal carriers and , respectively, are assumed, which are mixed for obtaining . This signal is propagated through the communication channel , which is considered to be a causal time-varying linear system. The signal filtered by the channel reaches the receiver where a noisy version is detected. It can be expressed mathematically as follows:where , and is a time variable. The impulse response states the response of the channel in the instant when a stimulus is applied in , which reflects the time variability of the channel impulse response. Likewise, is the aggregated stochastic noise. This received signal is demodulated in order to obtain the in-phase and quadrature signals and .

For sake of simplicity, if and , where is any carrier frequency and is any phase, the system becomes the well known single carrier communication system. It is important to emphasize that an OFDM system implemented with IFFT/FFT produces a base-band signal that is modulated as in a single carrier system.

If we consider that both signals and are band limited to a maximum frequency of and (this condition is always accomplished in real communication systems) it is easy to demonstrate [11, 12] with the aid of the Hilbert transform the existence of base-band equivalent signals , , , and for , , , and , respectively. In general, these equivalent base-band signals are complex, where the real part corresponds to the in-phase component and the imaginary to the quadrature component; thus, and for . The relations between the original pass-band signals and their baseband equivalents are as follows [12]:where is the real part of the complex number in parentheses. Considering (2), the base-band equivalent of (1) iswhich can be interpreted as a collection of multiple paths (scatters), where the transmitted signal is propagated. The fact that these paths have different lengths and pass through different conditions of propagation causes the received signal from a specific path to be a delayed, attenuated, and phase-shifted version of the . In this sense, for a specific time and a specific delay , the channel coefficient will be a complex variable, where the magnitude represents the attenuation factor and the phase shift factor. On the other hand, due to the constant changes in the environment and the possible relative movement between transmitter and receptor, these factors are time dependent. According to [12], can be modeled as a complex stochastic process composed of the sum of a deterministic part (the ensemble average of ) and a random part (zero mean random process). From this point, we will only consider the random part (an assumption generally accepted when a channel simulator is developed). The autocorrelation function of this random process is equal towhere is the expectation operator and represents the complex conjugate. This channel model is difficult to implement; nevertheless, some assumptions can be asserted which simplify the model. The first is the absence of correlation between the different scatters, and the second is that each scatter is a wide-sense stationary process, which together comprise the well known wide-sense stationary uncorrelated scattering (WSSUS) model. Therefore, (4) transforms intowhere , , and is the autocorrelation function with respect to the time difference variable for the scatter located in the delay variable . From (5), it is possible to calculate the scattering function, which is defined as the Fourier transform of the correlation function with respect to the time difference variable , as follows:where is the Fourier transform operator. This scattering function indicates how the Doppler spectrum is for a given delay value in the variable .

In many communication standards, a discrete number of scatters are considered instead of a continuous number, as suggested in previous equations. If this assumption is considered, thenwhere is an index variable that enumerates the discrete scatters and is a complex variable that encloses the gain and phase shift factor of such scatter. If a WSSUS channel is considered, the correlation function of (7) iswith scattering function

#### 3. Channel Simulation

In order to perform a computational simulation of the communication channel, it is necessary to deal with the discrete version of the baseband equivalent channel presented in (7). This discrete channel results in band-limiting and sampling (7) in time and time-delay domains at a rate of . Thus, it is defined aswhere , , the symbol represents the convolution operator, and is a function for band-limiting the channel to , which, for practical purposes, could be a time windowed cardinal sine function. Substituting (7) into (10) results inwhere corresponds to the coefficients of the FIR filter for simulating the communication channel, enumerates the samples in the time domain, and enumerates the taps of the filter. Likewise, can be calculated as , where is the maximum delay of the paths in the channel , and is the length of the filter . This filter could be anticausal; nevertheless, it is possible to introduce a delay in order to convert this filter into a causal filter and therefore physically feasible.

In order to implement (11), it is necessary to generate uncorrelated discrete Gaussian stochastic complex processes at rate . In the state of the art many algorithms for obtaining these stochastic processes are stated, as mentioned in [13–16] and references therein. Such processes must be filtered (colored) in order to accomplish the desired scattering function. It is important to note that these filters only affect the frequency components below a maximum Doppler frequency ; therefore, it is possible to generate the samples at a rate of at least , where typically , and then to use any upsampling technique for accomplishing the rate.

The impulse response of the filter for coloring the th process is the discrete version (at rate ) of the following expression:

Finally, an interpolation technique such as splines, polynomial, or basis expansion is used for obtaining the samples at rate. The entire process is presented in Figure 1 and summarized in Algorithm 1.