Suitable Combination of Direct Intensity Modulation and Spreading Sequence for LIDAR with Pulse Coding

In the coded pulse scanning light detection and ranging (LIDAR) system, the number of laser pulses used at a given measurement point changes depending on the modulation and the method of spreading used in optical code-division multiple access (OCDMA). The number of laser pulses determines the pulse width, output power, and duration of the pulse transmission of a measurement point. These parameters determine the maximum measurement distance of the LIDAR and the number of measurement points that can be employed per second. In this paper, we suggest possible combinations of modulation and spreading technology that can be used for OCDMA, evaluate their performance and characteristics, and study optimal combinations according to varying operating environments.


Introduction
Pulse scanning light detection and ranging (LIDAR) measures the distance to a given object using a time-of-flight (ToF) technique that measures the time required for a pulse to transmit to and reflect off the object [1][2][3][4][5][6]. The distance image of the surroundings can be generated with excellent angular resolution, and is used to determine the area that can be traveled while mounted on an autonomous vehicle or an autonomous mobile robot. Many factors determine the operating characteristics of pulse scanning LIDAR, and can be divided into the characteristics of the transmission and generation of a pulse, and those of the reception of a reflected pulse [3,7,8]. In the transmitter, the pulse scanning LIDAR determines the wavelength of the laser as well as the pulse width, interval, and peak power [9]. In the receiver, it determines the size of the receiving aperture and uses a photodetector, a pulse detection method, the threshold-to-noise ratio (TNR), and a range estimation method [10][11][12][13]. The characteristics used to generate pulses in the transmitter are limited by the maximum permissible exposure (MPE) to comply with eye safety standards [14]. The most critical parameter that determines the maximum measurement distance in LIDAR is the pulse peak power of the transmitter and the TNR of the receiver. As the strength of the received signal is proportional to the peak power of the pulse and inversely proportional to the square of the measured distance, the higher the pulse peak power and the lower the TNR, the greater the distance that can be measured. Thus, if the characteristics of one parameter are improved, the characteristics of the other parameters worsen [9]. Depending on the primary purpose of LIDAR, one or two of the parameters are used as characteristics of preference, and the remaining are rendered MPE-compliant.
For pulsed, amplitude-modulated continuous wave (AMCW), and frequency-modulated continuous wave (FMCW) LIDAR, the maximum measurable range R depends on the ToF measurement techniques as follows: for an amplitude-modulated continuous wave LIDAR c B 2λ for a frequency-modulated continuous wave LIDAR (1) where c is the speed of light, T is the pulse repetition period of the pulsed LIDAR, φ is the phase shift between the transmitted and reflected signal, f is the modulation frequency of the AMCW LIDAR, B is the frequency sweep bandwidth of FMCW LIDAR, and λ is the frequency shift per unit of time [2,4,5]. T limits the maximum range of the pulsed LIDAR, φ and f limit the maximum range of the AMCW LIDAR, and B and λ limit the maximum range of FMCW LIDAR. The main drawback of pulsed scanning LIDAR is that its maximum measurable range is proportional to the maximum pulse repetition period, and high-angular-resolution scanning is only possible at low revolutions per second. In pulsed scanning LIDAR, we can measure the target distance at greater than 100 m with a pulse repetition period higher than 0.666 µs using Equation (1). For these scanning LIDAR, we can calculate the minimum range resolution δR by the following equation [9,15].
for a pulsed LIDAR for a frequency-modulated continuous wave LIDAR (2) where W is the pulse width of the pulsed LIDAR, φ is the phase shift of the AMCW LIDAR, and B is the frequency sweep bandwidth of the FMCW LIDAR. The range resolution is the ability to distinguish the reflections from two targets that are very close in range. The time difference δt between the reflections from two targets is proportional to the range resolution. When the pulse repetition period is smaller than the time difference between the reflections, the range ambiguity problem occurs. In order to solve this problem only, increasing the pulse repetition period decreases the range ambiguity by increasing the maximum distance, but increases the idle listening time between the laser pulse transmission and reception and then reduces the number of measurement points, frame refresh rate, and angular resolution per second [9,16,17].
In the pulsed scanning LIDAR system, range ambiguity resolution extends the system's unambiguous range between transmit pulses at a high pulse repetition frequency (PRF). Some studies have focused on solving the range ambiguity of pulse scanning LIDAR by using pulse coding to avoid crosstalk [16][17][18][19][20] or mutual interference that occurs when two or more LIDARs simultaneously operate [16,17,21]. Such LIDARs measure distances using multiple pulses generated by random sequences [18][19][20] or specially designed codes [16,17,21], rather than one pulse per measurement point. By adapting the intensity-modulated direct detection (IM/DD) optical code-division multiple access (OCDMA, a kind of specially designed code) method to the emitted laser pulses of a scanning LIDAR system [16,17], these pulses become orthogonal to other pulses and then they are distinguished from each other [22][23][24][25][26][27][28]. In the receiver, all of the reflected pulses that are received at the same time are individually identified and demodulated into original information by the receiver. Thus, the reflected waves of laser pulses emitted from different measurement points can be received at the same time. As a result, we can ignore the idle listening time and eliminate the range ambiguity problem, and then we can achieve longer maximum distance, high measurement point, high frame refresh rate, and high angular resolution per second at the same time.
The proposed scanning LIDAR consists of a transmitter and a receiver, which operate independently of each other, as shown in Figure 1. The transmitter codes the pixel location bit stream through the IM/DD OCDMA technique and generates laser pulses using a laser diode. Subsequently, the transmitter emits the laser pulses generated in a bearing direction using a scanning-based microelectromechanical systems (MEMS) scanning mirror. The receiver digitalizes the received reflected pulses using an analog-to-digital converter (ADC) and demodulates them using the IM/DD OCDMA technique. The receiver then calculates the ToFs of the laser pulses and converts them to distances to the relevant objects based on the emission time of the pixel locations. Even if multiple pulses are used, the parameters that determine the characteristics of the transmitter in the conventional pulse scanning scheme are maintained. To comply with eye safety standards, the pulse peak power is distributed across several pulses so that the energy allocated to a pulse decreases in inverse proportion to the number of pulses, and the time required to transmit pulses at a given measurement point is proportional to the number of pulses [16,17,21]. The use of multiple pulses also enhances the accuracy of the distance measurement [17]. In LIDAR with pulse coding [16,17], the number of pulses used at a measurement point is determined by the modulation method and the spreading code method. The optical channel differs significantly from radio frequency (RF) channels. Unlike RF systems, where the amplitude, frequency, and phase of the carrier signal are modulated, the intensity of the optical carrier is modulated in optical systems. In an optical wireless communication system using unipolar signaling, the numbers and positions of the pulses to be transmitted and empty slots are determined by the modulation and spreading code methods used [24,27,[29][30][31]. To accurately demodulate and despread the signal at the receiver of the code pulse LIDAR, both the numbers and positions of the pulses and the empty slots are used. In a unipolar optical communication system, on-off keying (OOK), pulse position modulation (PPM), differential PPM (DPPM), multipulse PPM (MPPM), digital pulse interval modulation (DPIM), and dual-header pulse interval modulation (DH-PIM) are widely used as modulation techniques, and prime code (PC) and optical orthogonal code (OOC) are widely used as spreading code techniques [29][30][31].
In this paper, we investigate the characteristics of various modulations and spreading code methods that can be used for the prototype LIDAR with pulse coding and compare various characteristics of LIDAR according to the combinations. The prototype LIDAR system uses a unipolar optical digital modulation scheme and spreading code to identify pixel locations and determine the distance to an object [16,17]. The number of pulses, pulse peak power, average signal-to-noise ratio (SNR), maximum measurable distance, accuracy and precision of the measured distance, and system error probability vary depending on the combination of modulation scheme and spreading code scheme used. At each pixel, the prototype LIDAR system generates pixel information to identify the measuring point and emission time. Pixel information is represented by a nine-bit stream consisting of a leading or trailing '1', a five-bit column identification number (CID), and a three-bit cyclic redundancy check (CRC) checksum. The CID represents the locations of corresponding pixels for each measurement angle and identifies each of the 30 columns from a 30 × 30 range image. The pixel information is converted to a sequence of pulses by the selected optical modulation scheme and spreading code technique. The transmitter adjusts the angle of the MEMS mirror based on the pixel information, emits and deflects the optically modulated and spread laser pulses in the desired bearing direction, and simultaneously records its row identification number (RID), CID, and emission time. The receiver collects and digitizes the reflected pulses, and then despreads and demodulates them to the pixel information. The prototype system has its operation timing adjusted so that CIDs are not overwrapped on reception. Through the receiving process, the CID included in the received reflected pulses can be used to identify the RID and emission time [16]. A prototype LIDAR system comprises commercial off-the-shelf (COTS) products [32], such as an optical modulator module, an amplified photodetector module, an MEMS mirror development kit, an ADC evaluation module, a digital signal processor (DSP) with an ARM processor evaluation kit, and a Windows PC. We used an OPM-LD-D1-C digital high-speed pulsed laser generator as the optical modulator [33], which is designed for systems that require high-speed transmission and operates at up to 1 GHz, with a peak current of 500 mA and a peak optical power of 250 mW. The coded laser pulses were deflected and steered in the desired measurement angle using a two-axis MEMS mirror from Mirrorcle Technologies, Inc. [34,35] that has a aluminum-coated mirror with a diameter of 1.2 mm. An ET-4000AF from EOT [36,37] that operates at frequencies of up to 9 GHz was chosen for the high-speed amplified positive-intrinsic-negative (PIN) gallium arsenide (GaAs) photodiode equipped with a transimpedance amplifier (TIA) that senses light levels as low as 100 nW. We selected an ADC12J4000 from Texas Instruments (TI), which is a 12 bit, 4 GHz radio frequency-sampling ADC with a buffered analog input [38,39].
The outline of the paper is organized as follows. In Section 2, the popular unipolar optical digital modulation schemes and spreading codes are reviewed. A performance evaluation of combinations of unipolar optical digital modulation schemes and spreading codes is explained in Section 3. Finally, Section 4 draws the conclusions reached.

Unipolar Optical Digital Modulation Schemes
Because the average optical power of LIDAR is constrained, it is useful to determine a modulation scheme that can provide the requisite bandwidth and use power efficiently. The unipolar optical digital modulation scheme converts a symbol to a digital data stream that is composed of pulses and empty slots. The symbol is represented as a bit sequence called a block and the size of the block is the number of bits. Many digital modulation schemes have been proposed for use in optical wireless communication systems. Given the requirements, the performance of a communication system depends on how the information is represented in the modulation scheme. The types of modulation are thus the critical determinants of the system design. In digital modulation schemes, information is embedded in both mark and space slots, which are generated in terms of a fixed time slot. Each discrete amplitude of a modulated signal appears by varying the characteristics of the pulse at a discrete time. Time characteristics such as pulse position, width, and spacing are modulated using the instantaneous modulation signal, but a constant sampling frequency is sustained. The OOK provides higher bandwidth efficiency, but poor optical power performance. Digital pulse time modulation (DPTM) techniques such as PPM, DPPM, MPPM, DPIM, and DH-PIM are recognized as block codes through the OOK, which provides a balance between bandwidth and optical power efficiency [31]. Digital modulation schemes can be divided into two main categories: Isochronous and anisochronous. In an isochronous mode, the length of the symbol is fixed. In the anisochronous mode, the length of the symbol is variable. The OOK, PPM, and MPPM are isochronous, whereas the DPPM, DPIM, and DH-PIM are anisochronous. An illustration of the overall conversion method and the time waveforms of modulation techniques with fixed pulse width (T s ) and fixed time slot rate (R s ) that are discussed-the OOK, PPM, DPPM, MPPM, DPIM, and DH-PIM-are shown in Figure 2. M is the size of the input block, E TX is the pulse peak power, T f = T s L max = L max R s is the block duration, T s is the time slot duration, R s is the time slot rate, and L max is the maximum number of time slots. OOK is the predominant pulse modulation format in optical wireless communication systems. It uses the simple method of amplitude-shift keying (ASK) modulation that represents digital data depending on the presence of an optical pulse [31,[40][41][42]. In its simplest form, the presence of a pulse for a particular bit duration is represented by '1', and its absence for the same bit duration is represented by '0'. OOK can either be return to zero (RZ) or non-return to zero (NRZ). In NRZ-OOK, the pulses fill the entire bit duration; and in RZ-OOK, they occupy a particular portion of the bit duration. Owing to the relatively wide pulse, NRZ-OOK has higher bandwidth efficiency, but lower power efficiency than RZ-OOK. In the OOK, symbols are displayed as amplitude pulse groups. A combination of an M-bit input block with symbols for on or off can represent L = 2 M unique combinations. Three significant advantages of the OOK are that it provides a high SNR, low distortion performance, and superior system linearity.
In PPM, each bit of an M-bit input block is mapped to one of L = 2 M possible symbols [31,[40][41][42][43][44]. A frame consists of a pulse that occupies a slot, and the remaining slots have no pulse. Therefore, the information is displayed as a pulse position within the same symbol as the decimal value of the M-bit input block. Because PPM requires both slot and symbol synchronization at the receiver to demodulate the signal, it delivers impressive optical power performance, but at the cost of bandwidth and circuit simplicity.
In DPPM, an M-bit input block maps to one of L = 2 M unique DPPM symbols, including L − 1 empty slots and a pulse [40][41][42][44][45][46]. The DPPM symbol is derived from the corresponding PPM symbol by removing all empty slots following the pulse, thus reducing the average symbol length and increasing bandwidth efficiency. DPPM indicates its own symbol synchronization when all symbols end with a pulse. For a long sequence of zeros, there may be a slot synchronization problem that can be handled using a guard slot (GS) immediately after the pulse is removed. The DPPM improves bandwidth and power efficiency over the PPM for a fixed average bit rate and fixed available bandwidth.
As the level of coding increases, the number of PPM slots and the required transmission bandwidth both increase exponentially. To overcome these limitations, MPPM was introduced as a way to improve the bandwidth utilization of PPM. MPPM is a generalization of PPM that allows more than one pulse per symbol. Moreover, w-pulse n-slot MPPM has ( n w ) unique symbols that correspond to filling n slots with w pulses in a frame [40,[42][43][44][47][48][49][50][51][52]. This approach reduces the bandwidth to half of that in the traditional PPM at the same transmission efficiency. That is, a single frame can carry information of size log 2 ( n w ) bits. By contrast, for PPM, this rate is log 2 L bits. The amount of information that the MPPM can transfer increases with the number of pulses in the fixed-length frame. The disadvantage is that if one or more of these pulses are erroneous, the frame is incorrectly demodulated. Therefore, too many source bits are affected. MPPM provides half the information capacity of the PPM, and is inferior to it in terms of error performance.
DPIM has built-in symbol synchronization that improves bandwidth efficiency and data speed compared to PPM and power efficiency compared to OOK [31,[40][41][42]44]. The waveform of DPIM is similar to that of DPPM, except the variable frame length and the pulse are located at the beginning of the frame. In DPIM, each symbol starts with a pulse of short duration after the optional GS, followed by the number of empty time slots, which is determined by the decimal value of the bit input block. In other words, a symbol is represented by a discrete interval between consecutive pulses belonging to two consecutive frames. The GS consists of zero or more empty slots, and is vital to avoiding continuous pulses when the input symbol is zero. The frame length of the DPIM may vary depending on the bit input block. The number of DPIM and DPPM slots increases exponentially with OOK bit rates as bit resolution increases. If two systems are included in the GS, this increase is even greater. As the slot frequency increases, bandwidth requirements also increase.
In DH-PIM, a symbol consists of two sections: A heading that starts a symbol and an ending information section. The nth symbol S n (h n , d n ) starts with the header h n of duration T h = (α + 1)T s and ends with the sequence of d n empty slots, where α > 0 is an integer [31,40,41]. Depending on the most significant bit (MSB) of the input block, two headers are considered, H 1 and H 2 , corresponding to MSB = 0 and MSB = 1, respectively. H 1 and H 2 have pulses of 0.5αT s and αT s , respectively. Each pulse is followed by a GS of appropriate length T g ∈ α 2 + 1 T s , T s . The value of empty slots d n ∈ 0, 1, . . . , 2 M−1 − 1 is the decimal value of the input block if the symbol starts with H 1 . If the symbol starts with H 2 , it is the decimal value of the 1's complement of the input code word. The header pulses play the dual role of symbol initiation and time reference for the preceding and succeeding symbols, resulting in built-in symbol synchronization. In other words, DH-PIM creates a symbol to enable built-in symbol synchronization. Thus, like the DPPM symbol, the DH-PIM removes the extra time slot after the pulse and increases the average symbol length compared with PIM, thus increasing data throughput.
Comparisons of modulation techniques with fixed pulse width are based on various parameters, such as bandwidth occupancy, distortion, SNR, suitability for transmission channels, and error probability. No scheme yields optimal performance and negotiates all signals. For optical transmission, DPTMs are preferred because of their high pulse peak power and low average power characteristics. They require higher bandwidth than OOK, and provide a higher SNR. If M-bits are needed to present a symbol, OOK requires M time slots and maximum M pulses, but DPTM requires 2 M time slots and one or two pulses. In the case of LIDAR, since the laser pulse reflected from the object is received, as shown in Equation (3), the higher the pulse peak power used for transmission, the longer the distance that can be measured. The pulse peak power is limited by the MPE, so the smaller the number of pulses, the higher the pulse peak power that can be used. Therefore, LIDAR can measure a longer distance by adopting a method such as DPTM, in which the number of pulses necessary for symbol representation is small. The disadvantage of DPTM is that it requires symbol synchronization and, therefore, more circuitry and complexity than other approaches, which are outside of the scope of this paper. Tables 1  and 2 [31,[40][41][42][43][44][45][46][47]50,51] summarize the characteristics of M-bit input blocks when they are converted into symbols by OOK, PPM, DPPM, MPPM, DPIM, and DH-PIM, where R s is the time slot rate and N 0 is the energy of noise. In the case of optical communication, the influence of path loss can be ignored. The maximum transmitted energy is calculated using the received average energy. The received energy per bit, received energy per symbol, and power efficiency are calculated using the maximum transmitted energy. By contrast, in the case of LIDAR, the maximum energy to be emitted is fixed, and the reflected signal from the object is received. Thus, the influence of path loss must be reflected in the received energy. Therefore, in this paper, energy E TX emitted from LIDAR is reflected off the surface of an object at a distance R away, and the received energy E RX is calculated by Equation (3). τ o is the optics transmission; τ a is the atmospheric transmission; D R is the receiver aperture diameter; ρ T is the target surface reflectivity; and θ R is the target surface angular dispersion. The received energy per bit E b and received energy per symbol E s are calculated by Table 2. Table 3 [31,40,[43][44][45]47,50,51,[53][54][55] summarizes the error probability of the digital pulse modulation techniques. The symbol error rate (SER) P se is calculated by Equation (4) and Table 3, and the packet error rate (PER) P pe by Equation (5) and Table 3 using E RX , which is the received energy according to each modulation technique. P 0 is the probability of '0', P 1 is the probability of '1', P 0 is the marginal probability of '0', P 1 is the marginal probability of '1', Q-function Q(x) is the probability that a standard Gaussian random variable takes a value larger than x, M is the size of the bit block, N pkt is the number of bits in a packet, andL is the average symbol length. The packet is a sequence of the pulses and the empty slots that is dedicated to a measurement point and generated by the modulation scheme. The SER P se is optimum when the threshold factor k is 0.5.

One-Dimensional Optical Spreading Codes
Time-division multiple access (TDMA), wavelength-division multiple access (WDMA), and OCDMA are techniques of multiple access in optical wireless communications that implement multiplexed transmission and multiple access. Of these, OCDMA supports simultaneous multiple transmissions at the same frequency and the same time slot, and it uses optical spreading codes so that multiple users can be separately identified without interfering with one another. In the simplest type of optical spreading code, one-bit period T B is divided into M time chips with duration T C = T B M , and these M chips are filled with optically spread code. That is, the spreading code sequence is selected to characterize the maximum auto-correlation and minimum cross-correlation to optimize the difference between a correct signal and interference. Primary time spreading codes suitable for OCDMA schemes are OOCs and various PC families. These are very sparse codes, and their code weights are small, thus requiring a long transmission time after spreading. In optical spreading codes, the weight is the number of ones in each of its codewords and the most important parameters in characterizing spreading codes, such as the number of chips, pulse peak power, and error probability [27].
OOCs are generally expressed as a quadruple (N, w, λ a , λ c ), where N is the code length, w is code weight (i.e., the number of ones), λ a is the upper bound of the autocorrelation value for a non-zero shift, and λ c is the upper limit of the cross-correlation value [29,[56][57][58]. In the OOC, a particular case where λ a = λ c = λ is expressed by the optimal OOC (N, w, λ). |C| represents the cardinality of the OOC family (i.e., the size of the code set as the number of codewords in the code set). For OOCs to satisfy the condition λ a = λ c = λ = 1, |C| is upper-bounded by [C] < N−1 w(w−1) , where the x equation denotes the largest integer less than or equal to x. Various algorithms can generate OOC codes that satisfy this condition. By default, the unipolar sequences generated by these algorithms can all be assumed to be OOC code sets, as long as the code set correlation constraints are met. The code generation of OOC (N, 3,1) and OOC (31, 3, 1) are shown in Tables 4 and 5, respectively.  Table 5. OOC (31, 3, 1) sequences.

Index Sequence Code
{1, 2, 8} 11000 00100 00000 00000 00000 00000 0 {1, 3, 12} 10100 00000 01000 00000 00000 00000 0 {1, 4, 16} 10010 00000 00000 10000 00000 00000 0 {1, 5, 15} 10001 00000 00001 00000 00000 00000 0 {1, 6, 14} 10000 10000 00010 00000 00000 00000 0 Compared to that of OOC, the PC generation process is relatively simple. A code set with a code length of n = p 2 and code weight w = p has p unique sequences [24,27,29]. An example of a PC set with p = 5 is shown in Table 6. The main disadvantage of PC is that the number of available codes is limited. The code length of PC is only p 2 , which may affect the system's performance in terms of bit error rate (BER) and multiple access interference (MAI) [24,27]. Therefore, longer codes that maintain desirable properties are beneficial.  As the cardinality of the PC corresponds to the number of concurrent users, M, it is equal to the w of the PC, and w is equal to the prime number p. Thus, p must be increased. To increase the number of users on the network, the weight w must be greater. A modified prime code (MPC) has been proposed to overcome the drawbacks of the PC [24,27,29,59]. This optical sequence eliminates some redundant pulses from the original PC with a pulse, assuming a BER requirement such as 10 −9 and a certain number of users. The weight of the MPC is smaller than that of the PC, but the code can support the p group containing p sequences and p 2 subscribers having the same code sequence length as p 2 . The configuration of MPC is as follows: Generate the PC with p codewords. Any p − w pulse is removed from this PC, and the remaining pulses form a new code with a constant weight w. The length, weight, and cardinality of the MPC are n, w < p, and |C| = p, respectively. An example of an MPC set with p = 5 and w = 4 is shown in Table 7.  Table 8 summarizes the characteristics of OOC, PC, and MPC, including length, weight, peak auto-correlation, peak cross-correlation, cardinality, and bit error probability (P sc ), where M is the number of concurrent users [24,27,29,[56][57][58][59][60][61][62][63][64][65][66].  Table 9 shows the eight symbols that can be expressed in three-bit blocks according to the OOK, PPM, DPPM, MPPM, DPIM, and DH-PIM. The OOK, PPM, and MPPM have a fixed number of slots regardless of symbol values, and the DPPM, DPIM, and DH-PIM vary in the number of slots according to symbol values. The OOK, PPM, and MPPM can know the transmitted symbol by detecting the start and end of the pulse. As all three know the end if they detect the start, they should add a leading '1' to indicate the start of the transmission before the first symbol. As the DPPM ends with '1', the symbol can be known by the number of '0's transmitted before '1' is reached. The DPIM and DH-PIM can identify symbols with a number of '0's after a '1', and cannot know the symbols because the number of '0's in the last symbol is unknown. In this case, we should mark the end of the transmission by appending a trailing '1' to the end of the last symbol. We used zero GS for the modulation techniques because optical spreading codes are very sparse codes, and two or more successive '0's precede a very sparse '1'.

Combinations of Modulation and Spreading Code Techniques
The possible modulation schemes according to the size of the bit input block are shown in Table 10. As slot size increases, the number of slots required for modulation increase linearly in the OOK, but those in the PPM, DPPM, DPIM, and DH-PIM increase exponentially, and that of the MPPM increases exponentially but relatively mildly. Table 9. Three-bit block representation according to modulation technique. 2   0  000  10000000  1  10001  1  100  1  001  01000000  01  01100  10  1000  2  010  00100000  001  01001  100  10000  3  011  00010000  0001  10010  1000  100000  4  100  00001000  00001  11000  10000  110000  5  101  00000100  000001  00101  100000  11000  6  110  00000010  0000001  00011  1000000  1100  7  111  00000001 00000001  10100  10000000  110   Table 10. Possible modulation schemes according to the size of the bit input block. Each cell expresses the modulated results as a 2-tuple N p , L max , where N p is the maximum number of pulses and L max is the maximum number of time slots. If the bit input block is partitioned into several block sizes according to Table 10, the number of slots according to each modulation scheme is as shown in Table 11. In the block partitioning column, the OOK, PPM, DPPM, and MPPM use a leading '1' to indicate the start of transmission, and the DPIM and DH-PIM use a trailing '1' to indicate its end. Splitting the bit input block into several smaller partitions requires fewer slots to be transferred than using a single large partition. However, as the number of '1's for transmitting pulses is determined according to the number of partitions, the number of pulses to be transmitted increases when a plurality of small partitions is used and decreases when a large partition is used. All these block partitionings are used to evaluate the performance (e.g., the maximum distance, accuracy, and precision). In these block partitionings, 1:4:4, 1:5:3, 1:6:2, and 1:7:1 have equal numbers of '1's and different numbers of '0's, and then they have very similar performance. Therefore, block partitioning 1:4:4 and 1:5:3 were selected as two representatives of four three-small-piece block partitionings. The prototype LIDAR system is a non-directional non-line of sight (NLOS) optical wireless communication system that uses Lambertian diffusion. Eye safety is a critical issue in optical wireless systems because optical signals can penetrate the human cornea and potentially cause thermal damage to the retina. Optical transmitters must comply with the class 1 of the International Electrotechnical Commission (IEC) standard. The MPE is the highest power or energy density of a light source considered safe (i.e., less likely to cause damage).

Block Size (M) M-OOK M-PPM M-DPPM 2-nMPPM M-DPIM M-DH-PIM
The combination of modulation and spreading code techniques was determined to satisfy all operating conditions of the prototype LIDAR. The following operating characteristics were determined according to the combinations:  The operating environment of the prototype system was simplified for the validation and performance evaluation. The length of the optical spreading code was proportional to the square of the cardinality so that the number of pulses used at one measurement point also increased in proportion to the square. To measure dozens or hundreds of measurement points at the same time, the cardinality of the spreading code must be very large. Therefore, to reduce the number of pulses used at one measurement point, the cardinality was lowered, and the number of simultaneous measurement points was reduced to shorten the spreading code length. If the bit input block were divided into partitions of various sizes and the optical spreading code with a cardinality of five were applied, the transmission characteristics would be as shown in Tables 12 and 13. The number of time slots needed for transmission is the greatest, and each pair relates the number of slots, the number of pulses, and the maximum pulse output. The transmission power of the pulse is inversely proportional to the number of transmitted pulses.
The number of time slots L max , the number of pulses N p , and the pulse peak power E TX were determined for each measurement point depending on the combinations of block partitioning, modulation scheme, and spreading code. According to combinations of these techniques, the L max and N p used for each measurement point are shown in Table 12, and E TX is described in Table 13. OOK allocates one time slot per bit, so the number of time slots was constant regardless of the partitioning of the block. PPM, DPPM, and DPIM were different from each other in their numbers of '1's and their average block sizes, but their number of time slots was the same according to the maximum block size, indicating whether a transmission is possible within a given time. These three modulation methods are identical regarding the parameters required to measure the performance of the LIDAR system, even though the symbol representation is different. DH-PIM had the advantage that the average and maximum block sizes were both smaller than those of PPM, DPPM, and DPIM. However, it had the disadvantage that the number of '1's required for representing a block was large. If the number of slots corresponding to '1' was larger, the pulse peak power was smaller. Unlike other modulation methods, in which the number of '1's is fixed, DH-PIM changes the number of '1's according to the block. MPPM had the advantage that the average and maximum block sizes were the smallest among the modulation schemes. However, as in the case of DH-PIM, the number of '1's needed to represent a symbol was increased, so the pulse peak power was reduced. The combination of using OOK as the modulation technique and PC or MPC as the spreading code technique had the smallest number of time slots. In this case, the number of time slots was always 225, regardless of the size of the block partition. The highest number of time slots was required when the block was divided into eight bits, the PPM was used as the modulation method, and the OOC was used as the spreading code technique. In this case, a total of 7969 time slots were required, and since one time slot was allocated 5 ns, 39.835 µs were required to complete the transmission. In this worst case, the transmission was completed within the allowed 67 µs of the prototype LIDAR system, so a combination of all possible modulation and spreading code techniques is possible. The combination of PPM, DPPM, or DPIM as the modulation technique and using OOC as the spreading code technique had the smallest number of '1's. They required a small emission time and the largest pulse peak power. In Section 3.2, Tables 11-13 are used to evaluate the performance (i.e., maximum distance, accuracy, and precision) of possible combinations of optical modulation schemes and spreading code techniques that can be used for the prototype LIDAR system.

Performance Evaluation of Combined Techniques
The experimental environment was the same as that for the prototype LIDAR system, and a modulation technique and a spreading code technique were used. Experiments were conducted using various parameters in Section 3.1 with a 2 m × 2 m white paper wall, as shown in Figure 3. We evaluated the performance of the following elements based on combinations of various modulation and spreading code techniques, as well as the operating characteristics of the prototype LIDAR system. As listed below, several operating conditions were specified according to the characteristics of the prototype LIDAR system [16,17,32] and simplified in order to compare only the performance of combinations: • A nine-bit block was used to identify each measurement point, and the first bit was always '1';  The prototype LIDAR system uses optical communication technology in LIDAR, and therefore evaluates its performance concerning both the characteristics of LIDAR and those of wireless communication. As LIDAR is a distance-measuring device, the maximum distance obtained is shown in Table 14, and the accuracy and precision are shown in Tables 15 and 16, respectively. The maximum distance was determined by the TNR [3,5,10,11,17,67]. Using the result of the measured power (E RX ), the relationship between the received power and measured distance, and target surface reflectivity (ρ T ) illustrated in Equation (3), we estimated the received power based on the distance (R). Since detection is possible when the received power according to the distance is larger than the TNR, the longest distance having a received power that was larger than the TNR was regarded as the maximum distance [17]. Accuracy and precision were determined using the American Society for Photogrammetry and Remote Sensing (ASPRS)'s positional standards for digital elevation data [68,69]. We calculated the ground truth distance from the geographical relationship between the wall and the prototype LIDAR system. The distance error was calculated by comparing the measured results with the prototype LIDAR and the ground truth. In a non-vegetated terrain, the corresponding estimates of accuracy at the 95 % confidence level were computed using ASPRS positional accuracy standards such that it was approximated by multiplying the root-mean-square-error (RMSE) by 1.96 to estimate the positional accuracy. The precision was equal to the standard deviation of the measurements. The maximum measurement distance of the pulse was proportional to the number of transmitted pulses, as were accuracy and precision.
Among the LIDAR performance indices, maximum distance, accuracy, and precision were most affected by the number of pulses used at one measurement point. Therefore, the maximum distance, accuracy, and precision were very similar when the same number of pulses was used at a measurement point due to the combination of modulation scheme and spreading code. Therefore, PPM, DPPM, and DPIM showed similar results, and MPPM and DH-PIM showed similar results. If the number of slots corresponding to '1' was large, the pulse peak power was small, and the maximum measurement distance was shortened, but the accuracy and precision were improved. DH-PIM changes the number of '1's according to the block. If the pulse peak power can be changed dynamically according to the number of '1's, a longer pulse distance can be measured using the pulse peak power when the number of '1's is small. However, as in the case of DH-PIM, the number of '1's needed to represent a symbol was increased, so the pulse peak power was reduced. As a result, the maximum measurement distance was shortened, but accuracy and precision were improved. MPPM has the advantage that the average and maximum block sizes were the smallest among the modulation schemes. Compared to other modulation methods, MPPM exhibited the best balance of measurement distance, precision, and accuracy. When the number of pulses was the smallest, the maximum measurement distance difference was 25 m, the accuracy difference was 3.2 mm, and the precision difference was 4.87 mm. In evaluating the performance of the LIDAR system, the maximum measurement distance was given priority over accuracy and precision, and the difference between the accuracy and the precision according to the modulation technique was negligible. Therefore, in the LIDAR system, it is best to use the combination with the lowest number of pulses satisfying the maximum allowable transmission time. Of the combinations we evaluated, the combination of using PPM, DPPM, or DPIM as the modulation technique and using OOC as the spreading code technique could measure the farthest distance. The relationship between maximum distance and accuracy by the combination of modulation schemes and spreading codes can be divided into two groups with similar trends. One group is indicated as OOK, MPPM, and DH-PIM, shown in Figure 4a, and Figure 4b shows the other group as PPM, DPPM, and DPIM.  As the prototype LIDAR system applies the communication scheme, the system error probability by Equation (6) according to the combination of the modulation scheme and the spreading technique used for transmission is shown in Table 17. The PER P pe of the modulation method by Equation (5) and Table 3 was calculated using the received energy E RX by Equation (3), reflected from the object at the maximum distance R max in Table 14. The bit error probability according to the spreading code P sc was calculated using Table 8. Additional parameters required for the calculation were used from Tables 12-14. If the received data had an error, the measured distance for the relevant measurement point was ignored. The combination of all the modulation and spreading codes we evaluated showed a very low error rate. As long as the number of points to be measured does not exceed the cardinality of the spreading code, the current combinations can be used reliably. P sys = P sc − (1 − P sc ) P pe (6)

Conclusions
In the case of LIDAR with pulse coding, the pulse peak power and the maximum measurable distance both increase inversely proportionally to the number of transmitted pulses in order to comply with eye safety standards, and accuracy and precision increase in proportion to the number of pulses. Therefore, dividing the bit input block into several smaller partitions reduces transmission time and the maximum measurement distance, and improves accuracy and precision. Conversely, dividing the bit input block into large partitions increases the transfer time and maximum measurement distance, but reduces precision and accuracy. It is, thus, useful to select a modulation and a spread coding scheme according to the use and conditions of operation of LIDAR. If we need to measure distances even if accuracy and precision are low, we should use a combination of the smallest number of pulses and the smallest number of slots to increase the number of measurement points per second. If accuracy and precision are prioritized, the combination with the largest number of pulses is preferable.

Conflicts of Interest:
The authors declare no conflict of interest.