## Abstract

This paper presents a new ray tracing method, which contains a whole set of mathematic models, and its validity is verified by simulations. In addition, both theoretical analysis and simulation results show that the computational complexity of the method is much lower than that of previous ones. Therefore, the method can be used to rapidly calculate the impulse response of wireless optical channels for complicated systems.

©2010 Optical Society of America

## 1. Introduction

Ray tracing is a very useful method for calculating the path of waves through regions of varying propagation velocity, absorption characteristics, reflecting surfaces, and widely used in the design of lenses and optical systems, such as in cameras, microscopes, telescopes, binoculars [1]. In wireless optical communications, ray tracing can be used for the calculation of channel impulse response [2]. Compared with conventional algorithm [3], Modified Monte Carlo Algorithm (MMCA, an efficient ray tracing method) is a faster and more concise algorithm to calculate the impulse response of wireless optical channels. Its computational complexity is $KN{N}_{S}$, where *K* is the number of reflections considered, *N* is the number of rays, and ${N}_{S}$ is the number of surfaces defining the room [4]. In contrast with MMCA, the times of elementary calculations increase exponentially with *K* in the conventional algorithm [5].

Nowadays, transmitter array and receiver array are often used in infrared or visible light communication systems [6,7]. In these systems, it takes much more time to simulate the characteristics of the channels. Furthermore, the blocking problem caused by obstacles increase the complexity, such as a room full of furniture, or a passenger cabin in a plane. Therefore, the efficiency is very important. In this paper, an innovative method is proposed, which contains a whole set of mathematic models for sources, photons, reflectors, and receivers. Both simulation results and theoretical analysis show that the method is valid and much more efficient than the previous researches. Moreover, its computational complexity is $\tilde{k}N{N}_{S}$, where the upper limit of $\tilde{k}$ is a constant which decreases with the decreasing of the average reflection coefficient of reflective planes.

The paper is organized as follows:. Section 2 introduces the models of sources, photons, reflectors, and receivers. In section 3, the proposed method is described in detail. Data processing techniques are described in section 4. Section 5 shows the simulation results, followed by the discussion of computational complexity in section 6 and a conclusion in section 7.

## 2. Models of sources, receivers, and reflectors

#### 2.1 Sources and Receivers

In this paper, the models for the source and receiver are the same as those in [3]. That is, the source is a point Lambertian source, which can be represented by an ordered three-tuple as Eq. (1)

where ${\stackrel{\rightharpoonup}{r}}_{S}$ is its position vector, ${\widehat{n}}_{S}$ is a unit length orientation vector, and*m*is its mode number which specifies the directionality of the source.

The receiver with a position ${\stackrel{\rightharpoonup}{r}}_{R}$, orientation ${\widehat{n}}_{R}$, detecting surface area ${A}_{R}$, and field of view $FOV$ can be represented by an ordered four-tuple as Eq. (2)

#### 2.2 Reflectors

As in MMCA [5], Phong reflection model is adopted to simulate reflection in the proposed method. However, the results are very different between the two methods when a ray of light is projected onto a surface. In MMCA, the ray is always reflected with a power reduction by the reflection coefficient of the surface. In contrast, there are two and only two possible results in the proposed method. One is that the ray is completely absorbed, which happens with a probability of $\left(1-\rho \right)$, and the other is that the ray is reflected free of power loss, which happens with a probability of *ρ*, where *ρ* is the reflection coefficient of the surface. As a result, in MMCA, the number of rays keeps constant, but, in the proposed method, the number of rays decreases exponentially with the times of reflection.

## 3. Description of the method

In general, the impulse response of indoor wireless optical channels can be written as Eq. (3)

*S*represents the source,

*R*represents the receiver, ${h}^{\left(0\right)}(t;S,R)$ denotes the line-of-sight (LOS) impulse response, the second term stands for multiple-bounce impulse response.

Consider a source *S* and a receiver *R* in an environment free of reflector. If the distance *d* between them is very large relative to the receiver size, all of beams of light will arrive at the receiver at approximately the same time. Thus, the LOS impulse response can be written as Eq. (4)

*θ*is the angle between ${\widehat{n}}_{S}$ and $\left({\stackrel{\rightharpoonup}{r}}_{R}-{\stackrel{\rightharpoonup}{r}}_{S}\right)$,

*ψ*is the angle between ${\widehat{n}}_{R}$ and $\left({\stackrel{\rightharpoonup}{r}}_{S}-{\stackrel{\rightharpoonup}{r}}_{R}\right)$,

*d*is the distance between the source and receiver $\Vert {\stackrel{\rightharpoonup}{r}}_{S}-{\stackrel{\rightharpoonup}{r}}_{R}\Vert $,

*c*is the speed of light, the rectangular function is given by Eq. (5)

To multiple-bounce impulse response, consider the source and receiver in a room with reflectors, such as walls, ceiling and floor. Radiations can reach the receiver after reflections. In the proposed method, the radiation of the source is simulated by emitting enormous number (*N*) of photons. Consider a differential reflector $dA$ with a reflection coefficient *ρ* and Lambert’s reflection pattern. In *k*th bounce, it is assume that the number of photons arriving at $dA$ is $M/\rho $ at time ${T}_{PI}$. Then, after reflection, the number of reflected photons is *M*. Thus, $dA$ can be regarded as a new source with energy $M/N$ as Eq. (6)

The LOS channel response of $dA$ to the receiver at this bounce can be calculated according to Eq. (7)

*θ*is the angle between ${\widehat{n}}_{dA}$ and $\left({\stackrel{\rightharpoonup}{r}}_{R}-{\stackrel{\rightharpoonup}{r}}_{dA}\right)$,

*ψ*is the angle between ${\widehat{n}}_{R}$ and $\left({\stackrel{\rightharpoonup}{r}}_{dA}-{\stackrel{\rightharpoonup}{r}}_{R}\right)$,

*d*is the distance between $dA$ and the receiver which equals $\Vert {\stackrel{\rightharpoonup}{r}}_{dA}-{\stackrel{\rightharpoonup}{r}}_{R}\Vert $. In order to trace photons one by one, the contribution is allotted to every reflected photon averagely. Thus, the contribution of

*i*th photon in the

*k*th bounce can be written as Eq. (8)

The meanings of the symbols in Eq. (8) are the same as those in Eq. (7). The contribution of all of reflected photons in *k*th bounce is given by Eq. (9)

where ${P}^{\left(k\right)}$ is the set of reflected photons in *k*th bounce. It is assumed that the energy of each photon keeps constant from one bounce to another, for the energy of the photon contributing to the receiver is very small relative to the energy of itself. For this reason, the proposed method is sometimes called photon tracing method.

Every photon is traced from one bounce to another until it is absorbed or the number of its bounces reaches the upper limit considered. The contribution of the photon to the receiver is calculated for every bounce. After *N* photons have been traced one by one, the process of photon tracing comes to an end.

## 4. Data processing

After the tracing of all of photons, many contributions can be obtained with the form as Eq. (10)

where ${C}_{i}^{k}$ denotes the contribution of*i*th photon in

*k*th bounce, ${T}_{i}^{k}$ is the time the contribution happens, ${E}_{i}^{k}$ is the energy of the contribution. The contribution can be written in another form as Eq. (11)

In order to obtain the impulse response, time is separated into many equivalent timeslots ${T}_{ts}$, and then the average power is calculated for each timeslot. For the *j*th timeslot, the average power is as Eq. (12)

## 5. Results

In order to compare the proposed method with MMCA, the parameters used in our simulation are the same as in [2], which are shown in Table 1 .

The multiple-bounce impulse response obtained from our method is shown in Fig. 1(b) , while Fig. 1(a) is the result from MMCA under the same simulation conditions [2]. The two curves are almost completely the same with each other.

In the proposed method, the reflection patterns and coefficients can be defined point by point. Therefore, it can be used in complex 3D simulation scenarios. Further more, the number of considered reflections can be arbitrarily large, which depends on the requirement of precision.

## 6. Computational complexity

The elementary calculation of the proposed method is to find the intersection points of photons impinging on surfaces. If there are ${N}_{S}$ surfaces in a room, ${N}_{S}$ elementary calculations are needed to find the real intersection point for one time of impinging [2]. Assume *N* photons are emitted in a simulation, then, after each of photons experiences their first impinging, there remain $\tilde{\rho}N$ photons, where $\tilde{\rho}$ is the average reflection coefficient of the room. $\tilde{\rho}$ is mainly determined by reflection coefficients of surfaces in the room, radiation patterns and positions of emitters. Deduce the impinging process further, then, a result as shown in Table 2
can be obtained.

Where *number of photons remained* is the number of photons remained after *k*th bounce, which is exactly the number of photons to be traced. It can be seen from Table 2 that the number of photons to be traced after *k*th bounce depends on *N*, *k,* and $\tilde{\rho}$. Because $\tilde{\rho}$ is distributed over (0, 1), the *number of photons remained* will decrease exponentially with *k*. In contrast, the number of rays to be traced after *k*th bounce in MMCA is always *N*. The contrasts are shown in Fig. 2
. The three curves marked with circle symbols are simulation results of the proposed method. The configuration parameters in each simulation come from Table 1 except that all surfaces of the room have the same reflection coefficients, which are 0.4, 0.6, and 0.8 respectively. The curves marked with plus symbols are calculation results according to Table 2. It is obvious that simulation results fit calculation results very well. The curve marked with triangle symbols is the simulation results of MMCA [4].

It is obvious that the smaller the average reflection coefficient is, the more rapidly the number of photons decreases. The parameter *k* may keep increasing up to infinite, so the total number of photon tracing can be obtained from Eq. (14)

However, the parameter *k* should be a finite value *K* in computer simulations, then the total number can be revised as Eq. (15)

For each photon, the average number of being traced is given by Eq. (16)

So the number of elementary calculations to be performed in the proposed method is $\tilde{k}N{N}_{S}$. In contrast, the number of elementary calculations in MMCA is $KN{N}_{S}$. The comparison of computational complexities of the two methods is shown in Fig. 3 .

The number of elementary calculations of the proposed method comes from our simulation results, while the number of elementary calculations of MMCA comes from calculation according to [4]. Figure 3(a) is the result of our method, while Fig. 3(b) is a comparison of our method and MMCA. It is obvious that the computational complexity of our method is much lower.

## 7. Conclusions

This paper has presents an efficient method to calculate the impulse response of indoor wireless optical channels. Both simulation results and theoretical analysis verify the excellent performance. In addition, because the reflective characteristics of obstacles can be defined point by point, the proposed method can be applied for systems within not only empty rooms, but also those with many obstacles.

## Acknowledgments

This research is supported by the Fundamental Research Funds for the Central Universities. The project no. is 2009RC0405.

## References and links

**1. **Wikipedia. “Ray_tracing_(physics)”. http://en.wikipedia.org/wiki/Ray_tracing_(physics).

**2. **F. J. López-Hernández, R. Pérez-Jiménez, and A. Santamaría, “Ray tracing algorithms for fast calculation of the channel impulse response on diffuse IR-wireless indoor channels,” Opt. Eng. **39**(10), 1510–1512 (2000). [CrossRef]

**3. **J. R. Barry, J. M. Kahn, W. J. Krause, E. A. Lee, and D. G. Messerschmitt, “Simulation of multipath impulse response for indoor wireless optical channels,” IEEE J. Sel. Areas Comm. **11**(3), 367–379 (1993). [CrossRef]

**4. **O. González, S. Rodriguez, R. Perez-Jimenez, B. R. Mendoza, and A. Ayala, “Error Analysis of the Simulated Impulse Response on Indoor Wireless Optical Channels Using a Monte Carlo-Based Ray-Tracing Algorithm,” IEEE Trans. Commun. **53**(1), 124–130 (2005). [CrossRef]

**5. **S. Rodríguez, R. Pérez-Jiménez, F. J. López-Hernández, O. González, and A. Ayala, “Reflection model for calculation of the impulse response on IR-wireless indoor channels using ray-tracing algorithm,” Microw. Opt. Technol. Lett. **32**(4), 296–300 (2002). [CrossRef]

**6. **D. Takase, and T. Ohtsuki, “Optical wireless MIMO communications (OMIMO),” in *Proceedings of IEEE Grobal Telecommunications Conference* (Institute of Electrical and Electronics Engineers, Dallas, 2004), pp. 928–932.

**7. **D. Takase and T. Ohtsuki, “Spatial multiplexing in optical wireless MIMO communications over indoor environment,” IEICE Trans. **E 89-B**(4), 1364–1371 (2006). [CrossRef]