IRNSS Data Processing

Download Full-Text PDF Cite this Publication

Text Only Version

IRNSS Data Processing

Kavita Guddad*1, Dr. Sudha K L2, K Nikitha Reddy3, Chandana S4, K Niharika Reddy5, Praveen Raj G6

*1Assistant Professor, Electronics and Communication Engineering, Dayananda Sagar College of Engineering, Bangalore, Karnataka, India 2 Professor, Electronics and Communication Engineering, Dayananda Sagar College of Engineering, Bangalore, Karnataka, India

3,4,5,6 Students of Electronics and communication Engineering, Dayananda Sagar College of Engineering, Bangalore, Karnataka, India

AbstractThe Indian Regional Navigation Satellite System, with an operational name of NavIC (Navigation with Indian Constellation) is an autonomous regional satellite system developed and controlled by ISRO. All seven IRNSS satellites are currently continuously broadcasting the navigation signals and hence autonomous 3D positioning with IRNSS constellation-only may be possible. Hence it is of utmost interest to perform IRNSS signal processing for positioning applications in which the data processing is one of the most important steps after removing the code and carrier modulation from received signal. The current investigation involves the study and simulation of extraction of position information of satellites from the corresponding subframes and finding user position from it using software approach. Through this work a data decoding part which is an important step in GNSS signal processing systems is proposed. Here decoding of the data and extraction of navigation information from it and computation of user position using trilateration is simulated using MATLAB. The data file received by ISRO Space Applications Centre (SAC), is used for reference to compare the various results.



    Indian Regional Navigation Satellite System (IRNSS) is Indias regional satellite navigation system that is designed to provide geospatial positioning information within the Indian sub-continent. IRNSS is Indias own GPS like system. It enables users in India and region extending for up to 1500 km, to map their location (altitude, longitude and latitude) information. The main objective of developing IRNSS was to cut down the Indias dependency on foreign navigation satellite systems. IRNSS has been widely accepted globally by government and organizations and soon it is expected to use GPS along with the IRNSS to get better position accuracy and service.

    The IRNSS architecture mainly consists of Space Segment, Ground segment and User segment.

    IRNSS Space Segment consists of seven satellites, three in inclined Geosynchronous and four in Geostationary orbits to cover the expected region of interest.

    IRNSS Ground Segment is in charge of estimating and predicting IRNSS satellite position, calculation of integrity and clock corrections and running navigation software.

    IRNSS User Segment is made up of IRNSS receivers which may be single frequency receivers with capability to receive ionospheric correction or dual frequency receiver capable of ionospheric correction or a receiver capable of receiving signals from other constellations along with IRNSS signals.

    Whatever may be the receiver type, a receiver must perform data processing once the code and carrier is removed from received signals.


    IRNSS is Indian Navigation system developed by ISRO with all satellites in space and successfully transmitting signals. Many researchers are working on the development of user receiver for various applications. Most of the researchers use a completely built systems consisting front end and an embedded signal processor[5], [6] along with associated software, that give position information as output with various plots showing different parameters. In such systems it is difficult to get or modify intermediate results which may be required for some applications or for research work.

    Fig. 1. IRNSS Architecture

    Hence there is a need for software simulation of IRNSS signal and data processing in which all intermediate steps of GNSS signal processing can be analyzed for various applications. This can be achieved by simulating the signal processing and navigation data processing steps after Analog to Digital Conversion of received signal, through software.

    [1], [2] show the similarities between GPS and IRNSS systems in many aspects such as C/A code generation, data formats, arrangement of navigation data, etc. Hence the complete understanding of signal structure and data formats of IRNSS and processing of GPS signals helps in IRNSS data processing.

    The Interface Control Document of IRNSS [1] is publicly available document that provides the essential information about IRNSS Signal for civilian application. This document provides signal characteristics such as IRNSS carrier frequencies, modulation scheme used, data coherency, Pseudo Random Noise codes and parameters used to generate them, frame structure and the contents of the sub frames etc. which help for data decoding and navigation parameter extraction in navigation data processing.

    [2] & [3] provide fundamental information on a Global Positioning System (GPS) and theoretical concepts of signal processing. GPS receiver is capable of solving navigation equations. It processes the signal in various steps to get the required information to calculate the user position. Therefore,

    it employs at least two areas of discipline, receiver technology and navigation scheme. [4] Concentrates on software simulation of GPS signal and data processing of civilian course acquisition (C/A) signal which is used by all commercial GPS receivers to obtain the user position. This helps to process IRNSS signals also to a great extent.

    A GNSS Satellite broadcasts its position information along with its health status and correction parameters in the form of navigation data towards users. The navigation data is spread using Pseudo Random Noise (PRN) sequence that uniquely identifies a satellite and modulated using BPSK or QPSK. A typical GNSS receiver receives the signal sent by satellite at microwave frequencies, down converts to intermediate frequency which can be handled by digital processors. The down converted signal is then converted to digital for further processing. This process normally happens at RF front end. The digital signal is further processed by removing the carrier and code effect to get navigation data. Once Navigation data in binary form is obtained, it is processed to extract primary and secondary navigation information for finding satellite positions which are used to find user position [4].

    1. Gives overview of analysis of IRNSS signals by a software receiver in Europe and [8] gives the mathematical model for IRNSS signal processing. Based on this knowledge in this work it is intended to decode the navigation data from subframes and extract navigation information from it to find visible satellite positions, Finally user position is found using trilateration [3,5]. The paper is organized as follows. Section I gives brief introduction to IRNSS. Section II gives literature survey. Section III explains IRNSS frame structure and the Methodology. Section IV deals with the results and discussion and section V gives the conclusion.


    The data processing is performed at the GNSS receiver on the data obtained after removing code and carrier from the received signal. It involves identifying and segregating subframes and extracting the navigation parameters from it to find visible satellite positions which in turn are used for user position computation, further the computeduser position value is improved using various correction methods.

    The data processing is the intermediate operation in IRNSS receiver, done on binary data obtained after tracking the satellites. Hence there is need for binary data for verifying the algorithm which is obtained by using a raw data file obtained by SAC ISRO center and a data file is created from it.

    To simulate complete system that decodes navigation data from binary data obtained after tracking in actual system, the navigation data taken from SAC raw data file is first encoded and combined with sync word to make subframe and then subframes are further combined to make main frames. The data file is made by combining all main frames. Hence here the data file represents the binary data obtained in the intermediate step of during signal processing at the receiver.

    Steps for generation of data file

      • Get the reference data of 292 bits as per the ICD Specifications.

      • Perform FEC encoding and obtain 584 bits.

      • Add sync word of 16 bits to get a subframe of 600 bits.

      • Concatenate four subframes to get a mainframe of

        2400 bits.

      • Generate main frames of all satellites as explained above and write to a data file.

        The reference data in step1 is obtained from raw data file obtained from SAC Ahmedabad.

        Using data file generated above, the following operations are performed for user position computation. Fig.2 shows the steps in pictorial form.

      • Segregate bit stream into main frames.

      • Extract the sub frames of 600 bits from each main frame

      • Separate sync word and data and perform FEC decoding on data to get 292 bits of navigation data.

      • Extract Ephemeris data from sub frames.

      • Find satellite positions of respective SV No.

      • Find user position using the position information of satellites.

    Fig. 2. Block Diagram

    IRNSS Frame Structure:

    The length of IRNSS Master Frame is of 2400 symbols. It is divided into four sub frames, each of 600 symbols long. Sub frames 1 and 2 transmits primary navigation parameters, whereas Sub frames 3 and 4 transmit secondary navigation parameters in the form of messages. Fig 3 shows the structure of master frame. All subframes of IRNSS satellite signals transmit various parameters related to position and health status of satellites such as Time Of Week Count (TOWC), Alert flag, Autonav, Subframe ID number, Spare bit, Navigation data, CRC bits and Tail bits. In addition to all these parameters Subframe 3 and 4 transmits PRN ID and message ID. Each of parameters are briefly explained in the further part of this section.

    Each sub frame of IRNSS is obtained concatenating a 16-bit sync word (EB90hex) with ½ rate FEC encoded 292 bits of data (giving 584 bits) resulting in 600 bits.

    Fig. 3. IRNSS main frame of 2400 bits

    Following are the parameters used for FEC encoding: ½ Coding rate, Convolutional Coding Scheme, the constraint length of 7bits, two generator polynomials viz. G1= (171)o and G2=(133)o. Encoding sequence is G1 then G2. The parameters are chosen based on details in IRNSS ICD [1]. The block diagram in Fig.4 shows the FEC encoding.

    SYNC WORD: Each subframe in the main frame contains a sync word which is of 16 bit long and is not encoded. It allows the IRNSS receiver to achieve synchronization to the sub frames. As per IRNSS ICD the Sync word is EB90 Hex.

    Sub Frame Structure:

    Fig. 4. FEC encoding

    MESSAGE ID: It is a six bits field allocated from bit 31 to bit 36 that uniquely identifies the message type in the sub frames 3 and 4.

    PRN ID: It is a six-bit field from bit 257 to bit 262. Each message has a unique identifier called PRN ID. It uniquely identifies the spacecraft transmitting the corresponding message.

    IRNSS NAVIGATION DATA: It includes Ephemeris parameters needed to compute the satellite coordinates with enough accuracy, the time parameters, clock correction

    Each Sub frame is of 600 bits long consisting of 16 bit Sync

    word and ½ rate FEC encoded 292 data bits. Hence the actual subframe is of 292 bits long without FEC encoding and has the structure as shown in Fig.5 and Fig.6. The start of each sub frame is with telemetry (TLM) word of 8 bits and ends with 24 CRC bits followed by 6 tail bits. In sub frames 1 and 2 the Navigation data starts from bit 31 and is of 232 bits long, whereas in sub frames 3 and 4 it starts from bit number 37 and is of 220 bits long. Fig 5 shows the structure of subframes 1 and 2. Fig 6 shows the structure of sub frames 3 and 4 [1].

    Fig. 5. Structure of subframes 1 and 2

    Fig. 6. Structure of subframes 3 and 4

    TLM WORD: It is an 8 bits field in each subframe and is reserved for future.

    TOWC: TOWC refers to time of week count. It starts from bit 9 and is of 17 bits long. When the value of TOWC is multiplied with 12, it gives time in seconds which corresponds to the start of the next subframe.

    ALERT FLAG: It is of 1 bit long. Bit-26 is allocated to alert flag which signifies to users that the utilization of navigation data from that particular satellite shall be at the users own risk when it is set to 1. The promised accuracy may not be achieved with the signal.

    AUTONAV: It refers to autonomous navigation. Satellites store 7 days ephemeris and clock parameter sets known as AutoNav data sets. Bit27 is allotted to inform user that the current navigation parameters are computed by AutoNav data set due to the absence of ground uplink. IRNSS Satellites can support broadcast of primary navigation parameters from AutoNav data sets in case of no uplink from ground for maximum of 7 days. The AutoNav flag set to 1 indicates AutoNav is enabled.

    SUB FRAME ID: Bit 28 and 29 are allocated for subframe ID. When the bits are 0 and 0, it is subframe1, 0 and 1 it is subframe 2, 1 and 0, it is subframe 3 and 1 and 1, it is subframe 4.

    Spare Bit: Bit-30 is allocated to spare bit. It is reserved for future use.

    parameters, status messages and other secondary information. Navigation data can be of two types: primary navigation parameters and secondary navigation parameters.

    Satellite ephemeris, Total group delay, satellite and signal health status, clock correction parameters etc. are termed as primary navigation data and parameters such as satellite almanac data, Ionospheric delay correction parameters, Text messages, Earth orientation parameters, Ionospheric grid delays and confidence etc. are termed as secondary navigation parameters.


    The implementation is done in two steps (as discussed in methodology). The data file is generated by using a raw binary data file obtained by IRNSS receiver in ISRO SAC center as shown in Fig.7.

    Referring to raw binary data file shown in Fig.7, data was obtained and arranged as per IRNSS ICD data format to get subframes and main frames. A data file data_gen.txt as shown in Fig.8 was generated for 11 satellites and used further for position computation.

    Fig. 7. Raw binary data file

    Fig. 8. Data file generated using raw data file in Fig.7

    The data for 11 satellites was read Subframes of all satellites were segregated and FEC Decoded.

    Fig. 9. Results for subframe extraction

    The navigation parameters are extracted from subframes using function get_nav_parameters.m, as per the subframe 1 and 2 data formats [1] as shown below in Fig.10 and satellite position coordinates(xk, yk, zk) are obtained using function sat_pos_comp.m which computes satellite position using the orbital parameters obtained from subframes 1&2 as in Fig.10

    Fig. 10a. Subframe1 data format

    Fig. 10b. Subframe 2 data format (*->Data are in 2s complement form)

    The result of sat_pos_comp is shown in Fig.11. The user position is computed using function tri.m that computes user position coordinates (x,y,z) in ECEF(Earth center earth fixed) coordinate system though Trilateration, uing positions of known satellites (xk, yk, zk) and received time as inputs. Fig.12 shows the result of trilateration. The trilateration algorithm needs exact receiver time for computing user position. Since the exact receiver time at which the raw data file was extracted is not provided by SAC, the computed position is not the accurate one. If exact time is available the algorithm provides the proper user position and clock bias.

    Fig. 11. Satellite positions

    Further work can be extended for improving the user position considering ionospheric, tropospheric, receiver clock bias and DOP corrections.

    Fig. 12. User Position in (x, y, z) format

    User position is the converted to (latitude, longitude, altitude) as shown in Fig.13.

    Fig. 13. Position in (Lat, Long, Alt) format


Through this work a detailed study of IRNSS data format and simulation of user position computation using IRNSS satellite signals alone is done, which may be one of the requirements in future user receivers using only IRNSS. The binary data for the user position computation is obtained by raw binary data file received from SAC-ISRO. Here the extraction of navigation parameters from decoded IRNSS data is done for computation of positions of the satellites and hence user position.

Further exact receiver time is required for pseudo range computation which is used for user position computation, since exact received time of the raw file was not available approximate time is used for user position computation. One will be able to calculate proper user position if exact receiver time is available for each satellite signal.


Authors would like to sincerely thank Dr. Raju G N, Jain Univ. and Dr. Nishkam Jain, SAC, ISRO, Ahmedabad for their timely guidance and for sharing data, without which this work would have been incomplete.


  1. IRNSS Signal in Space ICD for Standard Positioning Service, v. 1.0, June 2014, ISROIRNSS-ICD-SPS-1.0, Indian Space Research Organization, Bangalore.

  2. Global Positioning System: Theory and Applications, Bradford

    W. Parkinson and James J. Spilker Jr., PeninaAxelrad, Per Enge, Volume 2,

  3. Understanding GPS: Principles and Applications, Elliott D. Kaplan Christopher J. Hegarty,, Second Edition.

  4. Fundamentals of Global Positioning System Receivers- A Software Approach, James Bao-Yen Tsui, Second Edition, A John Wiley & Sons, Inc., Publication-2005

  5. Sarang Thombre, Mohammad Zahidul H. Bhuiyan, Martti Kirkko- Jaakkola, Laura Ruotsalainen , Heidi Kuusniemi, Stefan Söderholm, Mohammad Zahidul H. Bhuiyan, Martti Kirkko- Jaakkola, Laura Ruotsalainen, Heidi Kuusniemi, Stefan

    Söderholm, A Software Multi-GNSS Receiver Implementation for the Indian Regional Navigation Satellite System, European Navigation Conference, April 2015.

  6. Md. Tosicul Wara, M. S. Bhuvaneshwari, M.R. Raghavendra & U.

    N. Vasantha Kumari, Estimation of Position Error in a Dual- Frequency IRNSS User-ReceiverOver Bangalore Region, International Journal of Research Science & Management, DOI: 10.5281/zenodo.2581806.

  7. Lionel Ries, Christophe Macabiau, Olivier Nouvel, Quentin Jeandel, Willy Vigneau, A software receiver for GPS-IIF L5 signals, ION GPS 2002, 15th International Technical Meeting of the Satellite Division of The Institute of Navigation, Sep 2002, Portland, United States. pp 1540 – 1553.

  8. P.S. Naveen, S. Arun Sundar, T. Srinivasan, S. Savithri, Mathematical Modelling of Indian regional navigation satellite system receiver Defence Sci. J., 67 (4) (2017), pp. 443-448


Leave a Reply

Your email address will not be published. Required fields are marked *