Cognitive GNSS Receiver Design: Concept and Challenges
Nagaraj C Shivaramaiah and Andrew G Dempster University of New South Wales, Sydney, NSW 2052, Australia
BIOGRAPHY
Nagaraj C Shivaramaiah is a Senior Research Associate at the University of New South Wales. He obtained his Bachelor's degree in Electronics and Communication engineering from the University of Mysore, India in 1997, Master's degree in Electronics Design and Technology from the Indian Institute of Science, Bangalore, India in 2004 and PhD from the University of New South Wales, Sydney, Australia in 2011 for a thesis on Galileo satellite navigation receiver design. Prior to joining UNSW, he worked at Freescale Semiconductors, Bangalore, as a Connectivity Architect in the Wireless Mobile Systems and Cellular Products Group. Prior to that he worked at Accord Software and Systems, Bangalore, as a Senior Project Leader where he managed projects, built and nurtured successful engineering teams involved in various GNSS related activities for over eight years. He is working on WP5, Prototype Receiver Design in the Garada project.
Prof. Andrew G Dempster is the Director of the Australian Centre for Space Engineering Research and the Director of Research in the School of Surveying and Spatial Information Systems at the University of New South Wales. He led the team that developed Australia's first GPS receiver in the late 80s and has been involved with satellite navigation ever since. His current research interests are GNSS receiver design, GNSS signal processing, and new location technologies.
ABSTRACT
This paper introduces the concept of Global Navigation Satellite System (GNSS) receiver design based on the principles derived from the cognitive radio (CR) technology. The receiver so designed is referred to as
³FRJQLWLYH *166 UHFHLYHU &*5´ The ontology and its rationale for CGR are described by defining different layers of cognition in GNSS receivers. The architecture of the cognition/decision module is presented, and the incremental differences with respect to existing receiver design methodologies are described. Two ³XVHFDVHV´DUH
studied with cost (such as resource utilisation and power consumption) per fix and the usual GNSS performance parameters (such as the Time-to-First-Fix (TTFF), the
acquisition/tracking sensitivity and the solution accuracy) as metrics, and the challenges in realising a full-fledged CGR are identified. It is shown that the CGR has the potential to replace the existing GNSS receiver architectures, especially in the multi-frequency and multi- system context.
I. INTRODUCTION
Designing a receiver that benefits from multiple GNSS systems transmitting navigation signals at multiple frequencies has been an attractive research topic in recent years. As the number of signals and systems grows, so does the receiver complexity and hence its practical mass- market usage comes into question. In contrast to an )0$0 UDGLR ZKHUH WKH OLVWHQHU ³WXQHV´ WKH UDGLR WR D
particular station based on his/her interest and the quality of reception as perceived by his/her ears, a GNSS receiver PXVW EH ³VHOI-DGDSWDEOH´ VLQFH WKH SHUIRUPDQFH
parameters cannot be easily comprehended by the user.
7KH SULQFLSOHV RI &5 WKDW PDNH XVH RI WKH UDGLR¶V
³LQWHUQDO VWDWHV´ ³H[WHUQDO HQYLURQPHQW´ DQG ³V\VWHP
UHODWHG NQRZOHGJH´ WR PDNH WKH GHFLVLRQV KHOS WKH Uadio to be self-adaptable, can come to rescue at this juncture, thanks to recent advances (Fette, 2009).
Simple aspects of self-adaptability have been a part of GNSS receiver design for many years. Receiver start-up LQ ³KRW´ ³ZDUP´ RU ³FROG´ PRGHV EDVHG on the availability of relevant information within the receiver is DQ H[DPSOH RI XVLQJ WKH ³LQWHUQDO VWDWHV´ $ VDWHOOLWH
selection algorithm that helps a receiver first to search the most probable satellites to be acquired is an example of XVLQJ ³V\VWHP NQRZOHGJH´ +RZHYHU ZLWK PXOWLSOH
systems/signals/frequencies that differ in the performance of their offerings, several parameters come into play and such decisions are no longer straightforward. Moreover the decision needs to have some rationale which in turn must be derived from a set of goals/objectives. Therefore the objective of this paper is to study the parameters and complexities involved in designing a CGR.
This paper is organized as follows. Section II provides the motivation and section III provides an overview of the cognitive ability as applied to GNSS receiver design including the basic architecture of a CGR. In section IV Footer:
The footer should be left align at the left bottom page. In Times New Romans, 9 point size (footer below)
an overview of the cognition cycle is provided and the important components of the CGR are discussed. The design parameters and their interconnection in a multi- GNSS receiver design are explained in section IV.
Section V provides two example scenarios and the challenges involved in realizing the CGR, followed by conclusions in section VI.
II. MOTIVATION
There are at least two instances that triggered an interest in exploring an improved methodology for the multi- GNSS receiver design.
1. Thanks to the panel discussion at European Navigation Conference (ENC) GNSS held at Toulouse in 2008 where to one of the questions from the floor was on the real use of increasing number of GNSS signals. One of the panel members gave an analogy of the Frequency Modulation (FM) signals transmitted in different bands by different radio stations. In summary the answer meant the following:
³7KHUH ZHUH RQO\ D KDQGIXO QXPEHU RI Uadio stations when the FM technology started to gain popularity and now there are plenty of stations in each city. However the user listens to his favorite station or the one with high fidelity/clarity depending on his/her interests or and the user is least bothered about the number of stations that operate. GNSS signals will also fall into a similar situation, there could be many signals but the user will make use of only those signals which suit him/her task´
However in GNSS receiver space it is challenging for the end user to come to a FRQFOXVLRQ RI ³VXLWDELOLW\´ DV EULHIO\ PHQWLRQHG
in the introduction section. Therefore the GNSS receiver itself has to encompass this decision making process.
2. The second motivation was due to the power consumption of the moderinsed GNSS receivers.
In order to analyse the suitability of the signal in real-time, a GNSS receiver has to be capable of processing all the available signals, i.e. it has to be a true multi-GNSS receiver. A straightforward method of implementing such a multi-GNSS receiver will consume enormous amount of power and make it almost impractical to deploy today. An initial analysis published in Shivaramaiah and Dempster (2010) showed that the core baseband of a twelve channel two constellation civil /open service signal receiver (GPS L1 C/A, GPS L2C, GPS L5, Galileo E1,
Galileo E5) would consume about 35 times the power consumption of a GPS L1 C/A only receiver.
If other signals and constellations are included then the ballpark estimate RI ³150- WLPHV´
provided in Dempster and Hewitson (2007) is not far away from the real situation.
Even if the semiconductor technology improvises the power consumption performance in the future (by the time all the signals are available), it is still beneficial to look into an effective methodology to tackle the high power consumption challenge. Therefore there is a need from another perspective to build intelligence inside the GNSS receiver that can cater to this requirement.
III. COGNITIVE ABILITY AS APPLIED TO GNSS RECEIVERS
The concept that builds the intelligence in a radio receiver is not new and the nearest technology which is using such feature is the wireless communication technology. GNSS receiver design can derive from the cognitive radio technology as a first step towards the development of a CGR.
Adding cognitive ability to a system is moving up the value chain towards a self-adaptable and self-contained system. Different stages (or levels) of this chain are
1. Programmability, which allows modifying the behavior of the system by changing the design parameters,
2. Reconfigurability, which allows modifying the behavior of the system by changing the design itself, and
3. Cognitive ability, which allows adaptability of the system behavior depending on the situation in which the system is operating. In addition, the system observes the actions and learns from the actions.
Fig. 1 shows the block diagram of a CGR. The (grey) bottom portion in Fig.1 is a typical GNSS receiver.
When the individual components are programmable or reconfigurable, self adaptability is possible to some extent without the cognition layer. In this case, the individual components behave according to a decision making algorithm that controls the behavior based on certain inputs received from another component in the processing chain. However, there is a difference between individual Footer:
The footer should be left align at the left bottom page. In Times New Romans, 9 point size (footer below)
FRPSRQHQWV GHVLJQHG WR EHKDYH ³VPDUW´ DQG WKH ZKROH
system designed to behave smart. In the former case, the local objectives (or goals) of the system performance are met and not necessarily the global objective. On the other hand the cognition layer (the top portion in Fig.1) combines the smartness of the individual components and focuses on the global system performance goals. While the cognition layer implements the decision making / control process, the individual components of the underlying system should be appropriately programmable and reconfigurable to support the cognition layer.
The support for cognitive ability can be built into different processing stages of a GNSS receiver: the RF,
the baseband and the navigation layer. In a GNSS receiver this support means that the following transformation in the individual components should happen:
1. Antennas -> Smart antennas
2. RF front-end -> Tunable RF front-end
3. Baseband processing -> Reconfigurable baseband processing module
4. Navigation engine -> Dynamically programmable navigation engine
5. Interactions between modules, decision making module at the component level -> Combined into the cognition layer.
Figure 1 Functional block diagram of a CGR
The global goals and objectives should be defined prior to D PLVVLRQ )RU H[DPSOH LI WKH SUHIHUHQFH LV ³HQHUJ\
FRQVHUYDWLRQ´ then when the available battery power is less (say in a handheld receiver) only a simple signal could be used for the solution (say GPS L1 C/A). On the RWKHU KDQG LI WKH SUHIHUHQFH LV IRU ³KLJK DFFXUDF\´ WKHQ
signals at two or more frequencies/satellites could be used to reduce the solution error.
Some of the inputs to define global CGR design objectives may look like this:
x We DO NOT want the receiver to waste resources, e.g.:
o we do not want the receiver to use additional signals if additional measurements are not going to help the desired outcome say the solution accuracy
o we do not want the receiver to use sophisticated weak/indoor signal related algorithms if the receiver is not in such situations
x We DO want the receiver to save resources, e.g. we want the receiver to prompt (pr store) the user with the option:
³5HPDLQLQJEDWWHU\SRZHULVOHVVWKDQSUHVVWKH
* button to increase the battery life by switching to low accuracy mode, press the *# buttons to remember WKLVRSWLRQ´.
At this juncture, it is worth to note that the algorithmic complexity in the case of cognitive receivers is not an issue as long as the design is scalable. In fact the complexity can go up to the highest point that the current day embedded hardware and software development tools can handle.
Footer:
The footer should be left align at the left bottom page. In Times New Romans, 9 point size (footer below)
IV. OVERVIEW OF THE COGNITION CYCLE In a GNSS receiver, the cognition layer has to follow a cycle (i.e. to have initialization followed by a periodic nature of start and stop cycles) and during each cycle the
cognition engine has to perform certain activities. Table 1 provides a general list (from Fette, 2009) of activities with some simple GNSS receiver design related examples in the second column.
Table 1 Mapping the elements of cognition cycle to GNSS receiver design
Generic Element of the Cognition Cycle GNSS receiver example/case Observe and be aware of the environment
(sense)
x Analyse / get inputs regarding the ³space´
o e.g. establish urban/rural/indoor scenario based on the previous known position (or aiding) and with the help of (one of the layers of) a map
x Note the time of the day
o e.g. a personal navigation device within a Smartphone is most likely to be indoors and stationary at midnight during the mid-week if the last position computed with strong signals was on the way back home from work.
x Observe and be ready for any aiding information
o e.g. be attentive of the frequently used Wi-Fi access points (at home and office) and use that information.
Orient (establish priorities) x Have a list of predefined priorities and match the situations during run-time to one of these priority definitions. If there is no match, make a decision on the nearest one.
o If the receiver has not computed the fix for a long time (say a few hours) it is better to use the following orientation:
³SRVLWLRQLQJ DW OHDVW RQFH LV PRUH LPSRUWDQW WKDQ VDYLQJ
power in this situation´, which leads to postponing some of the timeouts within the receiver.
Reflect on internal knowledge (state interpretation)
x Generally the priority list of the previous step is broken down into individual goals and objectives e.g.
o ³KLJKDFFXUDF\´
o ³ORQJEDWWHU\OLIH´
o ³use DWOHDVWVDWHOOLWHV´
x Constraints
o Adjust the timeout durations x Analyse the internal states e.g.
o almanac availability o battery power / status Reason over the state and knowledge, Plan
(a set of decisions), have alternatives
x e.g. if the receiver is trying to acquire satellites (based on its previous configuration) and half the timeout amount for TTFF has reached and still there is not enough satellites to compute the position, the cognition layer can try deploy 4 more baseband channels that may quicken the solution computation within the TTFF timeout.
Act on a decision or plan
Observe and modify plan if required
Explain the behaviour (provide rationale), Get feedback (reward / punish)
x Measure the effectiveness of the outcome wherever possible e.g.
o If the cognition layer uses a say indoor situation at the beginning then the solution accuracy / DOP can be the measure to analyse any contradiction
Learn from experience (self-adaptable) to widen the scope of situations that can be handled
x HJ LI WKH XVHU¶V SRVLWLRQ KDV QRW FKDQJHG PXFK IRU IHZ GD\V WKH
cognition layer can give priority to signals from SBAS satellites
Footer:
The footer should be left align at the left bottom page. In Times New Romans, 9 point size (footer below)
A. DESIGN PREREQUISITES OF CGR
Broadly, the design prerequisites of a CGR are as follows.
x Define global goals and objectives
o ensure that the outcomes are measurable if possible
o derive local goals and objectives if required x Create a weighted directed graph of design
parameters
o create a list of design parameters
o analyse interdependencies of the input/goal parameters and their importance in the context of the current goal
o assign weights to each branch of the graph based on the analyses in the previous step o respect the constraints during the creation of
the final graph
x Compute cost functions wherever possible
The design prerequisites should ensure that there is sufficient scope for the receiver to act on its own accord (but sticking to the global goals) in runtime so as to leave room for emergency decisions and also for the receiver itself to experiment and learn.
An example of a weighted graph is shown in Fig. 2 with wxy as the weights. Observe that the graph can get extremely complicated and hence this is one of the most challenging parts of the CGR design.
Figure 2 Example of a weighted graph (not all branches and weights are shown) Footer:
The footer should be left align at the left bottom page. In Times New Romans, 9 point size (footer below)
B. DECISION MAKING IN A CGR
As mentioned earlier in this paper, re-configurability is a basic requirement for cognitive GNSS receiver design, which is generally achieved via programmable hardware or software defined hardware techniques.
In order to make the decision, one of three reasoning methods is followed:
1. Case based reasoning
This is useful for new cases that arise within the receiver. The cognitive layer now has to make a decision based on this new case. One of the trivial methods is to search for similarity in the knowledge base, i.e. search for a similar case (stored within the cognition functional layer with updates based on previous situations). If there is no perfect match then select the nearest case.
For e.g. if a similar situation of not being able to provide the position existed with 10 satellites and now if there are nine satellites (all other parameters being the same) with the same situation the probability of the same action (which the receiver took in the 9 satellite situation) being the best is high.
2. Rule based reasoning
This is if-then-else type reasoning. For example, in the case of the decision regarding the well known Hot, Warm and Cold starts of the receiver, the inputs to the conditional expressions are the availability of µ$OPDQDF¶ µEphemeris¶, µ7LPH estimate¶ DQG
µ3UHYLRXVHVWLPDWHGSRVLWLRQ¶.
3. Temporal knowledge
This is based on the usable knowledge with respect to time. For example the satellite search list for the acquisition module can be obtained from ephemeris than from the almanac if the receiver had recently collected ephemeris before the previous switch-off (or stand-by). This enables the receiver to more accurately aid the initial estimates for the acquisition module. Also, the satellites can be programmed in the order of their previous received signal levels if the duration of the stand-by was less.
Often, the decision making process is multi-objective oriented as in (1) and this is the point where the cost functions help make the decision.
1 2
1 2 1 2
min/ max{ } ( ) [ ( ), ( ),..., ( )]
( , ,... ) , ( , ,... )
n
n n
y f x f x f x f x x x x x X y y y y Y
(1)
Therefore the equations for the cost functions for the already defined multi-objective cases should be pre established (third pre-requisite of the CGR design).
V. EXAMPLE SCENARIOS
An overview of two example scenarios where the CGR is beneficial are provided below: working with the
³PLQLPXP QXPEHU RI FKDQQHOV´ DQG ZRUNLQJ ZLWK WKH
NQRZOHGJHRI³RXWGRRU-LQGRRUVZLWFKLQJ´
A. OUTDOOR-INDOOR SWITCHING
The efficiency of many algorithms in a GNSS receiver depends on the environment in which the receiver is operating. For example, if a receiver knows when the environment switches from outdoor to indoor, the baseband algorithms can select appropriate pre- correlation integration duration, thus increasing energy efficiency. Similarly, if the receiver knows when it is in an urban canyon, the receiver can make use of an appropriate multipath error profile in the solution estimation algorithms. This is possible in a CGR with the help of external assistance and with the help of temporal- knowledge mapping to the environment, which in principle, is like looking at the methods developed in (Labbe et.al. 2007) from an opposite perspective.
Some of the basic requirements to achieve this objective are as follows:
Support from the baseband module
The baseband module should be able to seamlessly perform the correlation irrespective of the indoor/outdoor situation. One example of achieving this is to keep integrating the correlation values at the baseband level without considering about the duration, i.e. there is no predefined integration duration. The controller will program the baseband to start the correlation and end the correlation. The baseband in this case allows WKH FRQWUROOHU WR µUHDG¶
the correlation values without stopping the correlation. The controller keeps the channel under correlation mode until it finds the signal or until the duration reaches the practical maximum. In this way, using different integration durations for different signal strength searches is avoided.
Signal strength not within the desired range
The cognition engine checks whether the received levels of the signals match the state that the cognition engine has estimated that it is in. Depending on the confidence level, some of the signals can be eliminated from the solution computation. For Footer:
The footer should be left align at the left bottom page. In Times New Romans, 9 point size (footer below)
example if the cognition layer encounters a case where signal level of one of the acquired satellite is different to the one which is established by other means (source can be external like aiding or internal based on the temporal knowledge i.e. previous situation) then the satellite can be excluded from solution computation. This is not unusual because say, a corner building may introduce multipath into one of the satellites (there by reduced signal strength) which had good signal strength in the previous epoch.
The receiver should remember the last known good tracking (temporal knowledge) parameters.
Did the receiver track this satellite just a few seconds ago? Yes/No
What was the duration for which this satellite was in tracking mode?
What was the signal strength?
Was it used in the solution always during the last tracking?
Did the receiver notice any outages for that particular satellite? i.e. how many times that the satellite signal had to be re-acquired?
With the support mentioned above, the cognition engine has to compute several decision variables. In this example, one of the decision variables LV³WKHSUREDELOLW\
of receiver being outdoor environment´ The solution of the decision making function with multi-valued input functions has to be then computed. Fig. 3 shows the case where this probability was computed and the simulation scenario was changed from outdoor to indoor at about 70 seconds. The probability (computed in run time) starts to
drop from this point in time. The simulated outdoor-to- indoor scenario was hence detected by this parameter and the cognition engine used this information to instruct other modules (to change their behavior). Observe that in this simulation the indication is quite slow (if we set a threshold of 35-40% then it takes about 1 minute for the probability to come below this point). This is generally true for other scenarios as well. Therefore µquick decision making¶ is another challenge with the CGR design.
B. WORKING WITH MINIMUM NUMBER OF CHANNELS DURING SIGNAL ACQUISITION
In the past, hardware/software technology could not cope with realising a receiver that can process all the visible VDWHOOLWHVDQGDVDFRQVHTXHQFHWKH³QXPEHURIFKDQQHOV´
was a selling proposition, especially in mass-market receivers, and to some extent, this is even true today. If this continues, future GNSS receivers will have to have 100+ channels. However, such a receiver, though realisable, would certainly have several disadvantages in terms of cost, computational complexity, power consumption etc. With the help of reconfiguration techniques, the CGR brings a paradigm shift in this
³QXPEHU RI FKDQQHOV´ WKLQNLQJ E\ LQWHOOLJHQWO\ XVLQJ D
limited number of reconfigurable channels without compromising the performance. The challenge then in CGR is to devise algorithms that help efficiently use the available resources.
In this example scenario, the questions that the cognition engine asks to itself are:
Figure 3 Example parameter computed by the cognition layer to help the decision making: the probability of the receiver being outdoors vs. time Footer: The footer should be left align at the left bottom page. In Times New Romans, 9 point size (footer
below)
x How many channels and how many correlators per channel are required to achieve the current baseband objective? and
x What is the best search strategy for this architecture (that is being deployed) that respects the constraints?
A detailed analysis based on the time-domain FPGA- based correlation engine was carried out in Shahzad et.al (2009a, 2009b). Table 2 shows the resource utilization that helps the cognition layer to make decisions to deploy (reconfigure) the number of channels/correlators. While doing so, the power constraint is respected.
Table 2 Number of Virtex-4 slices (x100) used by different combinations of channels and fingers per channel
Channels
1 2 4 8
Taps/Fingers per channel
2048 1028 2056 4112 8224 1024 516 1032 2064 4128
512 260 520 1040 2080
256 132 264 528 1056
128 68 136 272 544
64 36 72 144 288
32 20 40 80 160
The search strategy can be of two types (assuming that the Doppler dimension is much smaller compared to the delay dimension, which is true in most of the cases especially with assistance):
del_sat ± First sweep (search) code-delays and then satellite PRNs.
sat_del ± First sweep (search) satellite PRNs and then code-delays.
For higher signal level satellites (based on temporal knowledge), sat_del strategy is used and del_sat for the rest. The information mentioned above help the cognition engine to make the decision on how many channels to deploy. The challenge then in this scenario is to identify the relation between TTFF and the search strategy in the presence of satellites from more than one constellation e.g. to answer the question whether to associate the remaining (say) 4 channels to Galileo E1 or GPS L5.
Such questions will be addressed in the future work.
VI. CONCLUSION AND FUTURE WORK
Cognitive Radio principles help better understand the gaps in efficient multi-GNSS receiver design. Defining the goals/objectives and coming up with a directed graph to aid the decision making process is a very important challenge in the CGR design process. Building the cognitive ability into a GNSS receiver is algorithmically
complex, but not in a physical or resource sense. In summary, the benefits of CGR suggest that the cognition component would be an essential part of modernised GNSS receivers.
ACKNOWLEDGMENTS
This research is partly funded by the Australian Space Research Program (ASRP) project on SAR formation IO\LQJ³*DUDGD´DQGWKH³Biarri´ Cubesat project.
REFERENCES
Fette, Bruce A (2009), Editor, Cognitive Radio Technology, 2nd Edition, Academic Press.
Labbe, Paul, Arden, Dale, Li, Li and Ge, Ying, (2007)
³6HOI-Aware / Situation Aware: Integrated Handhelds for 'LVSHUVHG &LYLO DQG 0LOLWDU\ 8UEDQ 2SHUDWLRQV´
InsideGNSS Magazine, March/April.
'HPSVWHU$* +HZLWVRQ67KH³6\VWHPRI
6\VWHPV´UHFHLYHU$Q$XVWUDOLDQ Opportunity?
IGNSS2007 Symp. on GPS/GNSS, Sydney, Australia, 4-6 Dec.
N. C. Shivaramaiah and A. G. Dempster (2010), On the Baseband Hardware Complexity of Modernised GNSS Receivers, in IEEE International Symposium on Circuits and Systems ISCAS 2010, Paris, France, pp.3565-3568
Malik, S. A., Shivaramaiah, N. C. & Dempster, A. G.
(2009a), 'FPGA-based GNSS Search Engine using Parallel Techniques in the Time-Domain' IGNSS Symp', Gold Coast, Australia
Malik, S. A., Shivaramaiah, N. C. & Dempster, A. G.
(2009b), 'Search engine trade-offs in FPGA-based GNSS UHFHLYHUGHVLJQV¶(XURSHDQ1DYLJDWLRQ&RQIHUHQFH(1&- GNSS', Naples, Italy.
Footer:
The footer should be left align at the left bottom page. In Times New Romans, 9 point size (footer below)