DESIGN AND IMPLEMENTATION OF GLOBAL POSITIONING SYSTEM RECEIVER IN FIELD PROGRAMMABLE GATE ARRAY WITH SHORT MESSAGE SERVICE

In recent years, survival rate from myocardial infarction and bundle branch block has been increased due to the advancements in medical field. Continuous monitoring and location management of these patients becomes an essential task. Hence this study aims in design and development of GPS in a Field Programmable Gate Array (FPGA) and interfaced with a GSM modem to transmit the location of a civilian or a patient to the mobile of the caretaker. The digital blocks like code acquisition, carrier tracking, code tracking and data processing are modeled in VHDL and validation of the blocks were done using MODELSIM simulator. The analog front end of the GPS receiver have been designed and integrated with Altera DE1 FPGA board which has software defined digital baseband GPS receiver. Quartus II software is used to integrate the analog front end and digital back end of the GPS receiver. The GPS output from the FPGA is given to the GSM that transmits the location to a mobile. The proposed implementation has the advantage that various blocks of the processor can be reconfigured to support multiple signal processing tasks and also can be retargeted to any family of FPGA device.


INTRODUCTION
The key challenges that are faced in medical care are accessibility and lower availability of physicians/Infrastructure; affordability of the patients for effective and efficient treatment. Information and Communication Technology (ICT) can be used to improve the surveillance and monitoring of individuals and improve the Health Information Systems. A cost effective and alternate method for face-to face consultation is telemedicine or telehealth or e-health which includes diagnosis, consultation and supervision and treat remote patients using telecommunication technology like e-mail, smart phones, GSM, GPRS, Bluetooth. The benefits of telemedicine include provision of health service in remote areas; Cost reduction in healthcare; Increase the accessibility of the practitioner and provide quality and continuous healthcare to patients. Further improvement can be obtained by real time communication between the patient and the physician or the caretaker at a distance. This requires interactive telecommunication equipment on either side. Therefore in order to be aware and predict the various health problems before or as they happen continuous monitoring is required. Hence an immediate and effective Telemedicine system is the need of today.
A cable television network has been employed to transmit biomedical signals to health care centre and also video conversation has been provided between the patients and doctors by (Lee et al., 2000;Anliker et al., 2004;Kafeza et al., 2004;Rasid and Woodward, 2005;Lee et al., 2005;2006a;2006b), has discussed the Science Publications JCS implementation of telecare system using mobile cellular network. Bai and Srivatsa (2008) implemented a mobile Telecardiac system using an ARM microcontroller.GSM based ECG Telealert system implememnted in 89C52 was discussed by Sukanesh et al. (2010). Kurhe and Agrawal (2013) discussed remote patient monitoring using hardwired GSM and GPS technology along with a DSP processor and ARM 7 microcontroller respectively. Giorgio (2012) has implemented a teleassistance system using hardwired GPRS and GSM interfaced with a microcontroller. Real Time Health Monitoring using GPRS Technology was discussed by (Verulkar and Imkar, 2012).

GLOBAL POSITIONING SYSTEM
Global Positioning System (GPS) is a space-based global navigation satellite system that provides time and location information to users anywhere on earth. All GPS satellites broadcast the signals in the same frequencies using Direct Sequence Spread Spectrum (DSSS) but use different ranging codes with low cross correlation properties. The signal received from the satellites consists of Code Division Multiple Access (CDMA) ranging codes that helps to determine the propagation time, navigation data and also provide satellite position and transmission time. These ranging codes and navigation data are modulated with the carrier signal using Binary Phase Shift Keying (BPSK).The ranging codes broadcasted by the GPS satellites are C/A codes (coarse acquisition code) and P(Y) code (military code). The C/A code signal frequency is 1.023MHz and carrier frequency [L1] is 1575.42 MHz. In this study as the GPS Receiver is used for civilian purpose, therefore only C/A codes are considered, as P(Y) codes are used for military application.
The right hand circular polarization antenna is used to receive the signals from GPS satellites. RF front end is used to convert the signal frequency into Intermediate Frequency (IF). The intermediate frequency is much lower so that it can be sampled by ADC. The IF signal is given as input to the software GPS baseband processor implemented in FPGA. As shown in Fig. 1 the output of the GPS receiver from FPGA is in NMEA format, which is transmitted to a mobile through SIM 900A GSM modem.
The designed RF front end takes the incoming signal at 1575.42 MHz with a received power of -163 dB. MAX 2742 has inbuilt low noise amplifier, mixer, Band Pass filter, automatic gain control, local oscillator, clock buffer and internal digital sampler. Using MAX 2742 in the design eliminates the requirement of costly SAW filter or bulky band pass filters at intermediate frequency. Figure 2 shows the RF front end design implemented on PCB board.
The system architecture of the software GPS receiver implemented in FPGA along with a hardware analog front end is shown in Fig. 3. The main signal processing operations performed by the GPS Baseband receiver inside FPGA are acquisition, Tracking and Data processing.
Acquisition is a coarse synchronization process used to acquire the signal for removing code phase and Doppler Effect. Tracking, a fine synchronization process is the next step carried out to remove code and carrier frequency. At last data processing is done to recover the GPS data. The output of the GPS that is the location information is transmitted through a GSM modem to a mobile.

Acquisition
Acquisition is the process by which the receiver track and navigate the satellites in its view. To track the transmitted signal, the receiver must remove the carrier frequency and C/A code. It is used to identify the satellites for the users and determine the coarse values of the carrier frequency and the code phase of the signal.  All satellites transmit the C/A code with carrier frequency equal to GPS L1 frequency. GPS receivers do not receive the signal exactly modulated by L1 frequency, because of the Doppler Effect. Hence in order to demodulate the signal and to remove the carrier frequency, the receiver must determine the Doppler shift of the satellite. The goal of acquisition is to perform a correlation with the incoming signal and a Pseudo Random Noise (PRN) code. Here the PRN code is generated using the Linear Feedback Shift Registers (LFSR). There are three standard methods of acquisition: Serial search acquisition, parallel frequency space search acquisition and parallel code phase search acquisition. Compared to the three methods, the parallel code phase search acquisition method reduces the search space only to the possible carrier frequencies. The accuracy of the carrier frequency is similar to the serial search method but the code phase is more accurate as it gives a correlation value for each sampled code phase. Fig. 4 and the algorithm behind acquisition is also given below and in Fig. 5

Tracking
Satellites constantly move in the orbit and the distance between the transmitter and receiver vary a lot. Once the signal is acquired, the tracking must be started by synchronization method of locally generated carrier and locally generated code. Two types of tracking need to be performed. They are Code tracking and Carrier tracking. The tracking is necessary to continuously follow the changes in frequency as a function of time. If the receiver loses the track of a satellite, a new acquisition must be performed for that particular satellite.

Code Tracking
Code tracking is the process of advancing or delaying the local replica code. Early code, Late code, Prompt code are the three replica been generated. These three types of code are compared with the transmitted signal. The code must be half of the chip distance from prompt code such that if the early or late code is increased than the incoming code, it is correlated with other PRN chip leading to error. Code tracking method is thus done using Delay Locked Loop (DLL).
The code tracking method generates an exact code replica and it is correlated with the incoming signal. Figure  6 shows that the incoming signal is multiplied with the local replica carrier wave. After that the signal is multiplied by three replica codes. Followed by this second multiplication, the three outputs are integrated and dumped giving a numerical value indicating how much the specific code replica correlates with the code of the incoming signal.

Carrier Tracking
To demodulate the navigation data successfully, an exact carrier wave replica has to be generated. To track a carrier wave signal, Phase Lock Loops (PLL) or Frequency Lock Loop (FLL) are often used. The problem with using an ordinary PLL is that it is sensitive to a 180 phase shift of the input signal carrier wave. Due to navigation bit transitions, the PLL used in a GPS receiver has to be insensitive to 180 phase shifts. Figure 7 shows the Costas loop for carrier tracking process. Costas loop is insensitive to 180 phase shifts. Hence both frequency and phase offset are removed by this tracking loop. Tracking Algorithm used is shown below and its output obtained in MODELSIM environment is shown in Fig. 8

Data Processing For Position
After removing the carrier and PRN code (gold codes) the remaining bits are given as data. The data is divided into frames. An entire frame is transmitted within 30 sec. The data are encoded as 1. Each sub frame starts with 30-bit telemetry word (TLM). The TLM word consists of 22 preamble bits followed by telemetry message and parity bits at the end. The receiver considers the preamble data to determine the start of sub frame. Sub frame provides the ephemeris data (satellite orbital position), satellite constellation information, atmospheric modeling parameters (for correcting positioning errors) and almanac data of long term coarse satellite orbital parameters.
From the data output date information, approximate time and position of satellite is obtained. Figure 9 shows the data recovered in simulation using VHDL.

IMPLEMENTATION AND RESULTS
SIM 900A is a compact Dual band GSM/GPRS module that can deliver voice, data and fax. The default baud rate is 9600 with 8-N-1.This module contains a SIM card holder to plug in a valid SIM card for the purpose of accessing the GSM network. The power supply to the GSM modem is +4.1 V, which is obtained by LM7805 voltage regulator. It has LED display to indicate the status of the GSM module like power on, Network access and registration, GPRS connectivity. Once the board is powered ON and if valid SIM card is available the corresponding LED will blink in step of 3 sec which indicates that GSM modem has registered its connectivity in the network and ready for the application. Figure 10 shows the GSM modem with SIM 900A and Fig. 11 shows the location received from the FPGA based GPS receiver through SIM900A.

CONCLUSION
Thus this study proposes an architecture for software defined GPS baseband processor in Field Programmable Gate Array (FPGA) interfaced with a GSM Modem that transmits the location to a mobile. As future enhancement, the same FPGA may be segmented and programmed to perform online analysis of various biosignals and an alert SMS may be transmitted through GSM Modem in panic situation of the patients and thus making it a complete and portable Telemonitoring system.