# Synchronization Method For Vlc Computer Science Essay

Published:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

In this report, the research is focused on synchronization method for VLC Visible Light Communication. VLC is a cutting edge technique in wireless communications. Compared to conventional RF (radio frequency) communications, VLC benefits from a certain number of advantages with its properties, such as large bandwidth, high reliability, low cost and etc. However, there are also some limitations on VLC, especially on synchronizations, for instance, it emits incoherent light. Therefore, generating a more comprehensive way of synchronization based the specified modulation scheme according to the unique features of VLC is crucial. General synchronization methods for different modulation schemes are reviewed in order to compare the pros and cons applied to VLC and their applicable possibilities. A transmitted frame includes synchronization sequence, channel estimation sequence and data sequence. In this work, to approach of the synchronization is based on a special synchronization sequence with characteristics of high auto-correlation and low cross-correlation. With the relationship of the correlations, we can judge the boundary of the synchronization sequence and data sequence by analyzing the results of the correlation. Also, the duration of the symbols can be estimated through calculations. Different synchronization sequences are also introduced in later sections. Comparison of performance on synchronization so far is made between M-sequence and Optical Orthogonal Codes by simulating the frame synchronization in MATLAB.

Contents

## Introduction

This research project is targeted at producing a synchronization framework for VLC that helps to reduce the bit errors due to synchronization. Synchronization is a considerable structure in digital communications. The failure of the synchronization may have serious negative effects on the performance of the transmission system. Furthermore, synchronization circuits constitute an important part of the hardware on the receiver side that the implementation has a critical impact on the overall costs [1].

In digital communication systems, the analog part of the receiver must be sampled periodically, at least once per symbol interval in order to demodulate these samples and recover the transmitted information. Choosing the correct samples to demodulate, in order to avoid spanning several symbols at the same time, and hence causing inter symbol interference (ISI) is crucial. For the reason that the propagation delay received from the transmitter is generally unpredictable at the receiver, symbol timing must be derived from the received signal so that the output of the demodulator signal can be synchronously sampled.

In synchronous digital transmissions, the information is conveyed by uniformly spaced pulses and the received signal is known except for the data symbols and a group of variables referred to as reference parameters. Although the ultimate task of the receiver is to produce an accurate replica of the symbol sequence with no regard to reference parameters, it is only by exploiting knowledge of the latter that the detection process can properly be performed [1].

Timing recovery is one of the most important functions at the receiver of synchronous digital communication systems. Not only the frequency sampling of the outputs of the matched filters or correlations must be known, but also where to take samples within each symbol interval. The choice of sampling timing within the symbol interval is called the timing phase [2].

Carrier synchronization is to estimate frequency and phase differences between the receiver's local oscillator and a received signal's carrier wave for coherent demodulation. As for VLC, due to the short-distance propagation and incoherence do not require carrier synchronization. Therefore, no more carrier synchronization is mentioned in this paper. A clock signal is required to sample the output of the receiving filter at the accurate symbol rate and time instants. The process of extracting such a clock signal at the receiver is symbol/bit synchronization. Receiver can proceed by every group of symbols instead of every single symbol, such as a frame in TDM system. Similar with symbol/bit synchronization, the step of extracting such a clock signal during the process is called frame synchronization.

Data are sent into frames. Each frame, except for the data sequence, contains prefix, pilots, channel sounders and suffix. The length and location of each sequence could vary, so to detect the correct start point of the data sequence and demodulate it correctly, synchronization is required. Synchronization prevent oversampling of the received signal, therefore increases the overall channel capacity. The synchronization sequences are represented by the pilots.

## Prefix

## Pilots

## Channel sounders

## DATA

## Suffix

## Frame

## Frame

## Frame

## Frame

## Fig. 1 Frame Sequence

The purpose of this project is to decide on a suitable synchronization sequence and develop a relatively ideal way of processing it on the receiver side to achieve synchronization in a VLC system. In order to insert the synchronization sequence, the length of the sequence, the accuracy and computational complexity must also be considered. If the synchronization sequences are too long and complex, it will cause overhead and a waste of the band as it only convey synchronization information.

## Background

## VLC vs. RF communications

VLC is a data communication transmitting data through medium via visible light between 400 THz and 800 THz. The transmitter converts the electrical signal to an optical signal, and conversely, the receiver converts the optical power to electrical current. However, RF communications convey information through electromagnetic fields.

VLC benefits from larger bandwidth than RF communications, no interference with radio wave which allows usage in hospitals, airplanes, small path loss (ceiling installations ensure a dominant LOS component), low cost, high reliability, and it can reduce carbon-dioxide footprint significantly because of its low energy consumption [3].

Using bigger array structures to simultaneously transmit the same signal, the SNR can be improved and the area covered can be extended without any ISI. And it is limited from low-mobility. Dimming light is feasible with VLC only if the minimum SNR is obtained for the target BER.

Unlike RF communications, VLC only consists of real values and unipolar (non-negative components). LEDs emit incoherent solid state light which makes it impossible to construct an efficient coherent receiver, not in a single electromagnetic mode. Compared to coherent detection, direct detection (DD) is much simpler to implement than coherent detection. The desired signal is modulated onto the instantaneous power of the optical carrier, and the detector generates a current proportional to the received instantaneous power. Therefore, there is no frequency or phase information and only the intensity of the optical wave is detected.

Conventional digital modulation techniques used in RF systems cannot be applied to VLC straightforwardly due to fundamental differences, such as unipolar characteristic.

With the increasing number of LED light bulbs being applied, VLC has become the forerunner in wireless indoor next generation communication systems. VLC is emerging as a viable means to overcome the crowded radio spectrum for highly-localized communication systems.

## Modulation schemes applicable to VLC

## OOK (On-off keying)

OOK is the simplest form of ASK (amplitude-shift keying) modulation, in terms of hardware implementation and integration. It uses the presence or absence of a carrier wave to represent digital data. OOK uses the variation of the amplitude to convey additional information. In binary pulse form, OOK is presented by a specific duration of a binary one and the same duration by a binary zero.

OOK exhibits a good compromise between complexity and performance. It can achieve high transmission beyond 100Mbits/s [4]. In a multipath environment, the channel delay spread is a major challenge that limits the achievable data rates. OOK suffers from inter-symbol interference produced from measured delay spread. To overcome this, complexity has to be gained additionally at the receiver.

## PPM (Pulse Position Modulation)

PPM plays an important role in optical wireless (OW) communications. It can reach the high utilization of bandwidth and save the power for transmission. In PPM, an optical pulse is transmitted in one out of several slots per symbol time. PPM transmits data via different pulse position and it will linearly vary with information voltage input. The position of the occupied slot denotes the bit combination conveyed by the symbol. It benefits from higher power efficiency compared with OOK. However, it expands the signal bandwidth instead. And since both slot- and symbol-level synchronizations are required, PPM requires more system complexity than OOK.

## PAM (Pulse Amplitude Modulation)

In PAM, the transmitted information is encoded with amplitude by a series of signal pulses. The variation of the amplitude of a train of carrier pulses is based on the sample value of the transmitted signal. PAM is an analog pulse modulation scheme.

In practical, in order to compensate for the channel effect, the techniques of suboptimum equalization with feasible complexity are used. These include the nonlinear DFE with zero forcing (ZF) of minimum mean squared error (MMSE) criteria or the linear FFE [2]. The demodulated PAM is implemented by passing the signal through a low pass filter which has a cut-off frequency equal to the highest frequency in the transmitted signal.

## OFDM (Orthogonal Frequency Division Multiplexing)

OFDM is a parallel data transmission scheme transmitting orthogonal subcarriers. Therefore, high data rates can be achieved. It benefits from advantages which do not require complex channel equalizers, adaptive modulation can be applied based on the UL/DL requested data rates, the time-varying channel can easily be estimated using frequency-domain channel estimation, and quality of service (QoS) [3]. Instead of using large number of oscillators, the use of IFFT in OFDM system eliminates the complexity.

Mitigate multipath induces ISI by selectively modulating the 'clear' carriers of ignoring those carriers with high bit-rate errors. OFDM can offer high bandwidth efficiency and, at the receiver, it allows for relatively simple equalization. Since OFDM can possibly combine OFDM with multiple access schemes and provide high data rates, it a promising choice for indoor OW communications.

The simple structure carries over to the receiver; an OFDM waveform can be demodulated using the inverse transform to that used at the transmitter, yielding the original symbol values. The inverse to the inverse DFT used at the transmitter is DFT. The output of the transform contains the symbol values mapped onto each of the carriers, including all of the unused ones that make up the guard band. The demodulator plucks out the amplitudes of each of the carriers of interest and passes those on to any further decoding logic.

However, normal OFDM is not applicable to VLC. Since generated OFDM signal envelop is bipolar and optical intensity cannot include negative components. The generated unipolar time domain signal in DCO-OFDM can be used to modulate the optical carrier intensity by setting a proper DC operating point.

To convert the bipolar signal to unipolar, clip all negative values at zero. Compared with single-carrier transmission, ACO-OFDM and DCO-OFDM show outperformed spectral efficiency in the OW channel when the DC bias power is neglected.

## SSK (Space Shift Keying)

Space Shift Keying (SSK) is a modulation scheme widely used in multiple-antenna wireless systems with a low-complexity. The transmitter array is regarded as a spatial constellation diagram which leads to the transmission of spatially encoded bits. As a result, the information to be transmitted depends on the physical location of the transmitter. Due to being based on only signal pulses, there is no phase requirement to convey information for SSK. SSK is one of the considered modulations which apply on the modulation for Li-Fi. And it is the particular modulation scheme that used for synchronization considered in this project.

The main advantage of SSK is low complexity implementation. It reduces the high intricacy of MIMO systems. SM and SSK completely avoid ICI in time and space. Moreover, SSK can operate with any number of receive antennas theoretically, regardless of geometrical symmetry.

The performance of SSK can be enhanced by power imbalances on the different transmission links. It can achieve benefits if more than four transmit devices are used and that SSK utilizes receive-diversity in a better way.

However, it suffers from being significantly affected by the channel conditions. Examine the performance of SSK for the measured optical wireless channels with Nt = 2 and Nr = 1. Compare SSK to SIMO and MIMO transmissions, which use equal mean transmission power Es and the same number of optical transmitters/receivers. Furthermore, all schemes transmit the same amount of bits. The result of comparison of BER against Es/N0 among those schemes shows that SSK can hardly benefit from transmit-diversity gains when Nt = 2 and Nr = 1 [5]. Even so, for OW Communications, it can still benefit from SSK if more than four transmitters apply.

Synchronization methods depend on the properties of the signal and the performance of different modulation schemes. Different from conventional RF communications, VLC is short-distance propagated and incoherent which make no sense of using a carrier wave. Therefore, carrier synchronization is not involved in VLC synchronization. VLC has no negative signals, so the modulation schemes designed as unipolar envelop must adjust all the negative signals to positive.

## Literature review

The trends of VLC based on LED are more obvious in current telecommunication research, and it is a promising communication technology for high speed data transmissions [6]. VLC has attracted more and more researchers involve the improvement of the performance on extending band width and increasing transmission speed. There are already several schemes been proposed to resolve the limitation of the modulation bandwidth.

Primarily, OOK and PPM have been used for digital data modulation for VLC. OOK is limited on the achievable data rates. Therefore, OFDM is considered in combination with higher order modulation schemes and high speed data transmission with high spectrum efficiency [7]. Further, there are researches on the performance of SSK. It seems that SSK is a proper modulation scheme, due to SSK is based on mere signal pulses [10].

The researches on synchronization in optical wireless communications so far have developed on OOK, PPM, and other single carrier modulation schemes. OFDM-based synchronization is becoming more popular. OFDM systems are sensitive to timing synchronization errors. Existing synchronization methods cannot be used directly in ACO-OFDM systems in that they are unipolar. Thus, a new synchronization methods using a novel training symbol is introduced [9]. This method shows high sensitivity to the phase of the receiver sampling clock, but this sensitivity can be reduced if only the lower frequency subcarriers are used.

PPM needs both slot- and symbol-level synchronizations. Since the PPM spectrum is a continuous spectrum, slot synchronization cannot be performed straightforwardly [10]. The PPM pulse width was reduced to facilitate simple, the slot clock signal can be recovered by a band pass filter, centered at the slot frequency. The advantage is obtained at the expense of a small penalty with regard to either required transmission bandwidth or required transmitter power [10]. PPM performs better in power efficiency.

The synchronization in a simple LED-to-LED visible light communication via OOK is introduced [8]. By comparing the value of measurement slots with the ideal pattern, the signals are in phase if reporting a similar value, it is even possible to detect in which direction the measurement slot must be shifted to reach a synchronized state. It relies on the precision of voltage measurements at the end of each measurement slot. However, the light measurement is influenced current temperature of the LED. It is applied on entertainment, which only requires basic communication ability with low throughput.

This report, focus on the synchronization specific as SSK. SSK is a relatively new type of modulation scheme. Because SSK is proper to be applied in optical wireless communications due to its properties, it has become a considered modulation method with low complexity. So far, the research on SSK synchronization for VLC has not mentioned in past research. Therefore, it is a step forward to approach VLC synchronization beyond SSK modulation scheme.

## Synchronization in VLC

In this section, the model system is explained. The synchronization sequence applied to VLC can only be binary sequences. SSK modulation controls the LEDs from On or Off in order to modulate the space condition, there are only two states. Therefore, only binary sequence can cooperate with SSK modulation directly. Four possible binary sequences are discussed below.

## Proposed approach

Consider synchronization as a parameter estimation problem and approaching it with the techniques of estimation theory. To minimize the BER and increase the efficiency of the bandwidth, the method of generating appropriate pilots will be defined.

One possible way of doing it is to generate a binary pilot which has high autocorrelation and low cross-correlation. The correlation with the original signal will tell the starting point of the synchronization which shows a peak in correlation. The autocorrelation can examine the offset and duration of each symbol. One approach to the synchronization sequence is m-sequence. M-sequence (also Maximum Length Sequence), is a pseudorandom binary sequence which is generated by shift registers. It is commonly used in pulse response measurement. Examine m-sequence in MATLAB with its properties, other sequences are possible to replace if it does not work properly or perform ideally, such as generalized orthogonal optical codes, orthogonal optical codes, prime codes and random optical codes. Implementation of the system in FPGA hardware to examine the performance is also required.

## Synchronization sequences

## M-sequence

M-sequences are pseudo random sequences. They are generated using maximal linear feedback shift registers. It is the longest sequence that can be generated by the n-stage shift register. This sequence must be generated by the nonlinear feedback shift register, and the cycle is 2n, where n is the number of the shift registers. M-sequences are spectrally flat, with the exception of a near-zero DC term. It is widely applied in measuring impulse responses, spread spectrum communication, satellite communication, code division multiple access, synchronization, error rate measurements, etc.

The sequence length N=2n-1, where n is the number of registers. In one period of the m-sequence, the number of 1s is 1/2(N+1), the number of 0s is 1/2(N-1).

a3

a2

a0

a1

## Fig. 2 Length 4 shift registers

## Optical Orthogonal Codes (OOC)

OOC is a family of positive binary sequences with good auto- and cross-correlation properties, i.e., the cross correlation between any two sequences remains low throughout and the autocorrelation exhibits the "thumbtack" shape [11]. OOC are intended for "unipolar" environments with all positive components.

OOC is commonly applied in optical code-division multiple access (OCDMA). It also widely used in spread-spectrum communications, mobile radio, radar and sonar signal design and etc. In OCDMA, it allows a large number of users to transmit asynchronous information reliably and efficiently.

## Prime codes

Prime codes are a family of optical address codes that are suitable for optical fibre code-division multiple access (CDMA) systems using all-optical processing [12]. Since the generation of prime codes is based on modulo-multiplications which are extremely simple, this in turn can greatly reduce the processing time. However, a major problem with prime on applying it with synchronization codes is that their code weight is always fixed related to the codewords and must be a fixed prime number.

## Random optical codes

Random optical codes are random codes which are especially suitable for optical networks with a large number of channels, energy limitations, low bit rate requirements and packed data [13]. The method to build this family of codes associated with a random selection of w pulse positions out of L possible slots for each code, where w is the code weight and L is the code length. The multiple-access interference (MAI) effect is homogenized over the bits as follows. Once synchronized, the emitter and the receiver use a different code to transmit a different bit [13]. The codes are changed pseudo randomly. The implementation could be easily carried out by a pseudo-random number generator in emitter and receiver or by a randomly built predefined look-up table. An added value of this family is the adaptability of the parameters. Moreover, no construction restrictions are found. In other families, large codes are needed to obtain the requested cardinality.

## Targets

The targets of this project can be divided into two main parts, MATLAB software simulation and FPGA programming implementation. Future works may involve further development of an SSK communication prototype.

The MATLAB simulation of the synchronization sequence is planned to be finished by the first semester. First, generate a binary sequence with properties of high auto-correlation and low cross-correlation. Then, plot the figure of the auto-correlation of the binary sequence and the cross-correlation figure of the signal sequence. The most crucial part of the simulation is to adjust the coefficients of sequence length, legs and cyclical shift to obtain an ideal figure of the correlation, in order to measure the duration and the offsets more accurately.

The goal for the second semester is to implement the synchronization process using the sequence at the receiver in an FPGA (Field-programmable gate array) board. FPGA is a programmable integrated circuit which can be used to implement various logic functions using HDL (Hardware Description Language). The most common HDL are VHDL and Verilog, also National Instrument's LabVIEW graphical programming language has an FPGA add-in module available to target and program FPGA hardware. MATLAB also has System Generator which can generate FPGA code.

## Metrics

BER (Bit Error Rate) depends on various conditions, such as the modulation and demodulation method. Therefore, the performance of the synchronization system will be estimated by the amount of offset of the symbol slot. The smaller the offset is, the better the performance is.

## Initial Results

## M-sequence

## Generation of m-sequence

Generate an m-sequence with 5 registers in MATLAB (MATLAB codes are available from Appendix). Add the .m file to the path and run the program. Type in following commends to call the function and plot the figure of this m-sequence:

## Fig. 3 M-sequence with 5 registers

It can be seen from the figure 3 that the sequence length is 2n-1=31, with n=5. The longest state is '1 1 1 1 1', and it only appears once. The function includes four inputs: baseVal, powerVal, shift, whichSeq. BaseVal is the number of sequence levels (2 for binary). PowerVal is the number of the register. Shift and whichSeq will not affect the result in this project. So simply set them as 1s. Figure 4 shows the plot of the autocorrelation.

The zeroth lag of the output correlation is in the middle of the sequence. The peak of the auto-correlation sequence is 31 in amplitude which is very high compared to other values. It is the end of the sequence and the start of the data sequence. However, M-sequence is a sequence consists of -1s and 1s. In optical wireless communications, negative components are not illegal. So, adjust the amplitude of the sequence to 0s and 1s and examine the auto-correlation sequence again.

## Fig. 4 Auto-correlation of m-sequence with 5 registers

## Fig. 5 Auto-correlation of m-sequence in 0s and 1s

From figure 5, the value of the peak is 16 and it is still relatively high. Compared with correlation sequence in figure 4, the peak is less obvious. Now, increase the number of registers in order to get a better resolution of the peak.

The amplitude of the peak is 512 and it is much higher which makes it clearer than fewer numbers of registers. It can be concluded that increasing the number of registers makes the peak more obvious. But the length of the m-sequence has become 210-1=1023. It is too long to be a synchronization sequence as it occupies too much space of the band without transmitting any information.

## Fig. 6 Auto-correlation of m-sequence with 10 registers

Because the modulation in real world can cause the changing of the amplitude of the sequence, it may bigger than 1. Add an input x as the amplitude of the m-sequence.

Build a pseudo frame sequence with random binary signals in front and after the m-sequence to examine the performance in a frame sequence. Generate two random binary sequences with 100 and 200 length respectively. Still use the m-sequence with 5 registers.

## Fig.7 random sequence rb and rc

## Fig.8 mc sequence

The pseudo frame sequence is 331 in length which is the sum of the rc, ms and rb. Because a frame consists of synchronization sequence, channel estimation sequence and data sequence. Align random binary sequence rc before the m-sequence ms and another random binary sequence rc after the m-sequence. These sequences form a pseudo frame sequence mc.

Estimate the cross-correlation of m-sequence with the pseudo frame sequence.

## Fig.9 Cross-correlation of m-sequence and pseudo frame sequence

The figure above shows the cross-correlation of sequence ms and mc. From the figure, we can point out the position of the peak is 131 in x direction. The length of the cross-correlation sequence (none zero) is 211. M-sequence ms is shorter than mc, so ms is zero-padded to the length of mc. In cross-correlation function in MATLAB, c = xcorr(x, y, maxlags), default is maxlags = M-1. M is the length of the vectors. And it returns the cross-correlation sequence over the lag range [-maxlags: maxlags]. Therefore, the peak with value of 16 is the auto-correlation peak.

However, as shown from the figure, the peak is very close to the second peak which is about 14. It is very hard to detect the correct peak in distortion environment after demodulation in reality.

Increase the number of registers to 7.

## Fig.10 Cross-correlation of ms (7 registers) and mc

From figure 10, the peak is more obvious than using m-sequence with 5 registers. The value of the peak is 64 in amplitude and the second peak in figure is 42. The distance between them has increased from 16-14=2 to 64-42=22. Increasing number of registers makes the performance of the cross-correlation better. Though, it increased the length of the m-sequence from 31 to 27-1=127.

## Analyze the value of the threshold

Take the m-sequence with 7 registers as the experiment sample. The cross-correlation of m-sequence and a random sequence with the same length as the pseudo frame sequence will give a similar figure as the frame sequence, but without the peak.

As the distribution of this figure can be scaled as the sum of the mean and a number of standard deviations, it can be estimated that the threshold of the amplitude is the beyond the distribution of this cross-correlation. From the figure below, the sequence is random, the mean and deviation are vary from different times of experiment. Therefore, we can calculate a large number of means and deviations, and then calculate the average values which are more accurate.

## Fig.11 Cross-correlation of ms and random sequence

In order to examine the accuracy of the threshold value in practice, we generate a variable indicate the number of standard deviations as a. As in this experiment, the location of the synchronization sequence is known. Vary the location of the m-sequence. By comparing the estimated threshold position with the real position, estimated position equals the real position when the detection error rate (the value of all numbers of detectedPosition equals realPosition)/ (total number of the experiments) = 0.

## Fig.12 Relation between DER and a

We can see from this figure, the value of the DER (Detection Error Rate) is zero before a=1. This means all the values of the detected position are wrong, the threshold is under the amplitude of the cross-correlation of in the figure before (see also figure 9). With the increasing to approximately 2.5, the DER decreases as the threshold is approaching the bottom of the peak. From around 2.5, a remains steadily equals 0. It indicates that all the detected values are correct and it keeps moving up until there is a sharp increase at point 3.2. This shows the fact that the threshold is moving beyond the head of the peak.

Therefore, the value of a can be set as 3, as it can remove other values except the peak as much as possible. When a=3, the threshold value is approximation 59.77.

Because m-sequence is not designed for optical wireless communication, it includes -1s and 1s as default. This makes the high slopes in auto-correlation sequences. It may cause the fail of distinguishing the position of the peak. Moreover, it is hard to implement the synchronization function under the length of 63. So, now turn to another type of the synchronization sequence-Optical Orthogonal Codes.

## Optical Orthogonal Codes

Optical Orthogonal Codes consists of two orthogonal codes with different weights. Unlike m-sequence, OOC only show low cross-correlation between the two orthogonal codes with amplitudes maximum as 1, and the auto-correlation of one of the codes present a peak with amplitude equals to the value of the weight. Therefore, Larger the weights are, longer the sequences are, and higher the peaks of the auto-correlation are.

Weight w

Long n

codewords

4

29

{0,1,3,8}, {0,4,13,19}

## Table 1 Weight 4 optical orthogonal codes

## Fig.13 Cross-correlation of OOC

## Fig.14 Auto-correlation of OOC

Figure 13 and 14 shows the cross-correlation and auto-correlation properties of two OOC with the value of the weight equals to 4 and 29 in length.

Repeat almost the same experiment with m-sequence, only replace the m-sequence with the first OOC and the second one with the m-sequence in the pseudo frame sequence. The figure below shows the cross-correlation of OOC and pseudo frame sequence.

## Fig.15 Cross-correlation of OOC and pseudo frame sequence

From the figure, a gap can be seen obviously where the OOC should be. In theory, the gap should begin from 200 in x direction to 229. Therefore, use filter function to achieve the plot of every sum of 29 elements of the figure and the lowest point should be where the sequence ends.

## Fig.16 Filter function plot of sums of every 29 element

Because the first 29 elements, zero elements and last 29 elements from the back are not accounted. There are two possible lowest points in the figure. The point should appear at 229 in x direction, but 230 and 231 instead. It could be the reason that the cross-correlation of the random sequences and OOC cannot be controlled, so there could be jitters in the front and after the gap. The result is not very accurate.

However, the use of OOC is pending further review as it might be possible to improve the accuracy. Also, these results are very preliminary, so there could have sort of mistakes.

## Summary

From the work had been done so far, the paper described the experiment on m-sequence and optical orthogonal codes. For m-sequence, first, compare the relationship of the number of the registers and performance of the peak under the auto-correlation sequence. If there are more registers, the peak is more obvious and the length of the m-sequence is much longer. Then, the m-sequence was examined under the cross-correlation of the pseudo frame sequence and m-sequence. This concludes that the length of the sequence has strongly the influence of the peak. To get a clear image of the peak, the number of the registers must be larger than 5. Then, the value of the threshold was found in comparing the estimated position with the detected position. For 127 long m-sequence, the best threshold in theory is approximately 59.77.

M-sequence can be used as synchronization sequence, but can hardly work under the length of 63 in simulation. 63 in length of a synchronization sequence maybe too long.

As for OOC, they are benefit from a shorter sequence as synchronization sequence. But it suffers from inaccuracy because of the jitters. Therefore, it is a tradeoff between the length of the sequence and the accuracy in comparison with m-sequence and OOC.

## Future work

The most of the plans for this semester are completed on time, though there are some delays due to the conflict with the classes. For next semester, except of improving the MATLAB simulation of the synchronization sequence, hardware programming will be involved.

## Project Plan

Future works will involve mainly in further comparing the synchronization codes and implement them in practice. As in practice, the received signal is not exactly the square wave, but maybe with strong distortion. The experiment result could be largely affected by the channel noise, environment, modulation quality and etc. Analyze the channel effects which may cause the failure of synchronization and improve the performance of the synchronization sequence. The main task of the next semester is the sequences implementation in FPGA. Collecting the background materials, the design of the circuit and programming will last around two months. To refine the system, test and modify will last for a month. And the rest of the time will prepare the dissertation.

If there is more time, further work may involve decreasing the computational complexity of the synchronization sequence and further development of an SSK communication prototype.

## Time management

## Milestone Explanation

There are approximately 12 weeks left for the project. Before starting the semester 2, the first 2 weeks are spent to collect material in FPGA implementation method for synchronization, review and practice the programming of VHDL or MATLAB System Generator. Then, the circuit design for the synchronization logical functions and the generation of circuit diagram will begin from week 3 and will last for 4 weeks. In the meantime, the initial programming of VLC receiver end via FPGA will be finished till week 8. Through many times of testing on the program, a large number of data of demodulated sequence can be obtained. Evaluate the synchronization performance by comparing the offset of the sequence symbol. Analysis the reason of error performances and modify the program until the synchronization errors are decreased to the minimum, zero, ideally.

The entire lab works plan to be finished by week 10 and the dissertation will be finished by week 12. The plan time is arranged conservatively in case of stuck steps and accidents. However, it is possible if all the works are done in advance, the rest of the time will be used for future works.