Design Elements of Global Navigation Satellite System Realized by Software

Location tracking using Global Navigation Satellite Systems (GNSS), including Global Positioning System (GPS) and/or Galileo systems, is driving the development of many consumer electronics products.

GNSS is no longer limited to automotive applications, surveying instruments and marine navigation or expensive handheld tracking systems, it is now finding its way into many cost-sensitive applications such as cellular handsets and personal navigation devices (PNDs). But reducing the cost of GNSS remains key to widespread adoption of GNSS in consumer electronics.

For high-end devices with more flexible price points, GNSS is usually implemented as a separate hardware-based module. While hardware module-based designs simplify the GNSS design while still providing fully evaluated positioning data to the main processor, these modules also increase the material cost. Since GNSS is primarily a value-added feature of consumer appliances rather than a basic use, it is not always feasible to add GNSS functionality to these consumer electronics products without significantly impacting the cost of the product, resulting in the need to sell at an uncompetitive price product risk.

The emergence of software-based GNSS has greatly reduced the cost of adding GNSS functions within the system. Within software-based GNSS, the integrated circuit and memory investments traditionally used by GNSS baseband microcontrollers are eliminated, effectively reducing cost by 80% compared to the cost of a stand-alone GNSS receiver. It is thus possible to cost-effectively introduce GNSS functionality into a wide range of applications including portable media players and cell phones. It is to be noted that these devices already use color liquid crystal displays (LCDs), so LCDs can be used to Display position information, and there is sufficient processing resources available for baseband processing without adding additional new processing resources or capabilities.

Developing a GNSS subsystem for a consumer Electronic device can be tedious for developers with no or inexperienced radio frequency (RF) design. The main difficulty is not yet in optimizing receiver performance (since many of the available GNSS receivers are highly integrated), reducing cost, and comprehensive support including the benefits of following the reference design recommendations. The real challenge is this: When implementing GNSS baseband processing in pure software, there are multiple architectural and detail decisions that can have a huge impact (good or bad) on sensitivity, performance, accuracy, and power consumption.

When software engineers understand certain key RF rules and how to optimize them within the system, they can better maximize signal integrity and positioning accuracy for building successful GNSS systems in the highly competitive consumer electronics market. It is possible to achieve higher levels of system capability (eg, improved positioning accuracy with fewer satellites) at a lower cost than hardware module-based solutions by virtue of the inherent flexibility of the software architecture.

Baseband GNSS processing is by no means trivial.For performance and cost reasons, GNSS basebands have traditionally implemented the GNSS correlator function in hardware, either using true correlator pointers or using a digital signal processing (DSP) core to emulate the function of a huge parallel correlator[即,用于加强首次定位(TTFF)性能]. The drive to integrate GNSS into consumer electronics such as cell phones has changed the return on investment (ROI) equation used to determine the most efficient way to implement GNSS. The real issue is the added cost of introducing GNSS to an already existing architecture. For example, if GNSS is implemented with hardware that costs $6, the added system cost is $6.

Figure 1 shows the architecture of a traditional stand-alone GPS module with RF radio and hardware baseband. Figure 2 shows how the same standalone GPS module is connected to an application processor in a product such as a PND. In a software baseband architecture, baseband processing is performed by the main processor (Figure 3) in a way that makes the standard software modems found in contemporary personal computers look the same.

Design Elements of Global Navigation Satellite System Realized by Software
Design Elements of Global Navigation Satellite System Realized by Software

In stand-alone GNSS applications, baseband processing of GNSS signals is traditionally not implemented by the main processor because the processor clock cycle cost is much higher than the cost of the corresponding number of gates used by an application specific integrated circuit (ASIC) to process GNSS. But in mobile phones, to meet the recent increasing demand for multimedia services, a powerful application host processor has become necessary, which must be capable of decoding streaming music and video files. Additionally, when these services are not being used, the application processor may be underpowered or in a standby mode so that it can be used for other tasks.

Until recently, the processing power of the application main processor could not provide the power required to implement software-based GNSS. But now the processor has the potential to perform GNSS baseband processing, significantly reducing incremental expense and lowering the barrier to entry for GNSS in many consumer electronics products. From a price point of view, software-based GNSS adds about $3 to the system cost (that is, half the cost of hardware-based modules) but expands the overall GNSS capability.

It is important to note that it is only the starting cost of the software GNSS subsystem and therefore its maximum price. Based on the broad consensus that once software development is complete, there are no more manufacturing costs—software models have very different pricing mechanisms than hardware models. Traditionally, the market viewed software as a means of marketing hardware, and as such, software was often bundled with hardware. With market pressure to reduce GNSS RF costs and the emergence of high-volume applications employing GNSS, this price is expected to drop rapidly to $1. At this cost, GNSS is a feature that can be seen in almost any consumer electronics application. At the same time, it will also accelerate the convergence of different RF technologies, that is, including GNSS, Bluetooth and wireless local area network (WLAN) technologies in a single software-defined radio (SDR) platform.

Because the cost reduction brought by software-based GNSS is achieved by utilizing idle processing cycles of the application main processor, which is already part of the architecture, this shifts some of the responsibility for optimizing RF processing to the software developer, These responsibilities used to fall to the RF designer. It should be noted that optimization by software developers does not involve developing and optimizing RF baseband processing algorithms; several RF leaders have already developed ready-made GNSS baseband processing software on the market. The truth is that optimization is achieved by how well developers integrate software-based GNSS technology into existing designs. Basically, optimization focuses on maintaining performance and accuracy in the worst operating conditions, minimizing power consumption, and maintaining architectural flexibility.

One issue that should be considered is the worst-case processing load. Since the economics of software-based processing depend in part on unused application main processor resources, software-based GNSS processing needs to be dynamically adjusted based on available resources. In effect, GNSS processing must not negatively impact other system functions such as multimedia processing. Of course, if accuracy can be maintained in worst-case processing, then by convention, that accuracy can also be maintained when more processing resources are available. For example, in a phone that supports video and audio playback, if video playback is the function that requires the most processing power in the phone, any mode that does not use video, including audio, is more than enough resources for GNSS baseband processing.

In video playback, which requires the most processor resources, GNSS baseband processing may require callbacks. However, given the visual nature of the video, users will watch the video rather than follow their current location. Therefore, highly accurate location data is only required when the user pauses the video and switches to a location tracking app.

Developers can use this to adjust the tracking accuracy during video playback. Since the user is not using location data at this time, the developer may choose to relax the precision tolerance. For example, using various dead-reckoning techniques that require less information to estimate position, the system can obtain approximate position information with reasonable accuracy. When position data is needed again, the GNSS subsystem can quickly recover to high accuracy using the processing resources freed from video processing.

Note that a certain accuracy of the signal must be guaranteed at all times to avoid losing the signal; otherwise, the signal will need to be reacquired. Complete loss of position fix should be avoided due to the time required to reacquire the signal and the fact that the initial position fix requires much more computational resources than tracking and maintaining position.

Rather than continuously maintaining high accuracy at a fixed rate for continuous navigation, the system can take several steps to reduce the overall baseband processing load:
* Reduce the number of satellites being tracked. Since the processing load is directly proportional to the number of satellites being tracked, this will reduce the number of cycles required to maintain position.
* Reduce the amount of signal work handled by the system. For example, processing only one sample out of every three will reduce the amount of data that must be processed for a valid hold position. This will affect the accuracy of the system, but if the system is already tracking a strong signal, this sacrifice of accuracy is not a concern.
* Decrease positioning rate. The standard fix rate is 1 fix/sec. Not all applications require this rate, for example, a rate of 1 fix/10 seconds is sufficient for some applications.
* Average and filter data. Averaging reduces the error magnitude while reducing the accuracy. Depending on the application, averaging can be conservative or aggressive.
* Take advantage of idle cycles for accuracy. Sometimes the baseband processing load is not heavy. Rather than letting these cycles sit idle, the GNSS subsystem can dynamically demand these cycles to process more signals needed to regain accuracy that would otherwise be degraded.
* Select an RF that transmits data in in-phase/quadrature (I/Q) format instead of the original signal. By performing the I/Q baseband conversion steps in hardware, some of the processing work of the application main processor is offloaded. A major drawback of this approach is that its interface between the radio and the processor generates twice the amount of data to download, requiring a higher-speed interface than the processor can support.
* Using dead reckoning and interpolation. Just by running the clock, the system can estimate the user’s approximate location based on the last known position, direction, and speed. Dead reckoning can maintain considerable accuracy for a long time. For example, cars on the highway are less likely to swerve abruptly. Dead reckoning is one of the same techniques used to maintain position when the satellite signal is lost, such as when a car drives into a tunnel.The difference is that the “poor” signal conditions are intentional and not caused by environmental factors
* Use a higher performance processor. If there are not enough unused cycles, depending on the application, it may really be necessary to upgrade the current application processor to the next available speed, which may be cheaper than using a hardware baseband processor. Such as cell phone application processors are typically high-volume and implemented using the latest and most cost-effective process technology, thereby reducing costs. Considering the relatively low batch size of baseband processors, there are generally longer optimization cycles. In this way, the baseband cost and power consumption of software running on the main processor of the smaller application is lower than that of a hardware-based baseband processor.
* Mask delay. In these situations where sufficient accuracy of time recovery is required, it is important that the delay is masked by the user. A perceptible delay such as taking too long to first acquire a signal can have a very negative impact on the user’s vision. For example, when determining the quality of a GNSS-based device, many users will focus on a single characteristic like raw position acquisition to assess the overall GNSS quality. If it takes too long to get the location for the first time, many users will not bother to compare the accuracy of the whole. Therefore, it is important to get the first position as soon as possible, no matter what the system is doing. For example, requiring the user to pause the video, return to the menu, and then select the GNSS position map screen provides an additional period of time for the GNSS subsystem to restore accuracy and reduce perception latency.

Many of the techniques described above for reducing processing load can also be used to balance power consumption and sensitivity. Even if the system has enough unused or available processing resources, developers may want to apply worst-case conditions to limit power consumption in any event.

Implementing baseband processing in software supports more flexible power management than hardware-based approaches because different parts of the system can be controlled separately. In addition, as new innovative algorithms and power reduction techniques are developed, these techniques can be implemented in existing designs without expensive silicon redesign. Other consumption reduction technologies include?:
* System level awareness. The GNSS subsystem should access system-level states in order to take action based on those states. If the PND determines that the user is not actively looking at the screen, it also “notifies” the GNSS subsystem when it turns off the display backlight while reducing the location processing load. When the user then uses the device, the location is refreshed.
* Keep GNSS clock. When the GNSS receiver system is turned off or set to standby (sleep) mode, only the RF section is turned off but the GNSS clock is maintained. This technique actually requires more power because the clock also consumes power, but it allows for faster signal acquisition when the system wakes up because it doesn’t have to reacquire the time. This technology interfaces directly with any power reduction features already implemented in the device.
* Store enough information about the last known location. At any time, the device has data, time, or reference about its approximate location, and signal acquisition is accelerated because the system knows the approximate answer.
* Store satellite orbit data. When navigating, a GNSS receiver needs to know the orbital parameters (almanac and ephemeris) of all its tracked satellites. When storing this orbital data, there are occasions when the receiver is briefly turned off while the same satellites that were used before are still available. In this case, the receiver can be warm-started, reducing the time from submerged state to first fix from more than 30 seconds to less than 3 seconds.
* Program RF to output less data. When trying to maintain accuracy under the harshest operating conditions, it can be beneficial to send full GNSS signals to the main processor so that they can be utilized when resources are suddenly available, and the samples will be discarded when no resources are available. But this method drives the RF/processor interface at full speed. By reducing the signal rate from the radio, the processor loses the ability to process more samples but conserves power when more resources are available.
* Using intelligent dead reckoning. Dead reckoning and other techniques that sacrifice accuracy to reduce processing load can be used when the location is easier to estimate (such as driving on a highway with no exits within half a mile). By using dead reckoning techniques to efficiently perform cross-location calculations or to reduce the signal rate, the signal processing load can be reduced while maintaining sufficient accuracy. The flexibility of a software-based approach makes implementing power-reduction features such as this simple and feasible.

Location tracking using Global Navigation Satellite Systems (GNSS), including Global Positioning System (GPS) and/or Galileo systems, is driving the development of many consumer electronics products.

GNSS is no longer limited to automotive applications, surveying instruments and marine navigation or expensive handheld tracking systems, it is now finding its way into many cost-sensitive applications such as cellular handsets and personal navigation devices (PNDs). But reducing the cost of GNSS remains key to widespread adoption of GNSS in consumer electronics.

For high-end devices with more flexible price points, GNSS is usually implemented as a separate hardware-based module. While hardware module-based designs simplify the GNSS design while still providing fully evaluated positioning data to the main processor, these modules also increase the material cost. Since GNSS is primarily a value-added feature of consumer appliances rather than a basic use, it is not always feasible to add GNSS functionality to these consumer electronics products without significantly impacting the cost of the product, resulting in the need to sell at an uncompetitive price product risk.

The emergence of software-based GNSS has greatly reduced the cost of adding GNSS functions within the system. Within software-based GNSS, the integrated circuit and memory investments traditionally used by GNSS baseband microcontrollers are eliminated, effectively reducing cost by 80% compared to the cost of a stand-alone GNSS receiver. It is thus possible to cost-effectively introduce GNSS functionality into a wide range of applications including portable media players and cell phones. It is to be noted that these devices already use color liquid crystal displays (LCDs), so LCDs can be used to Display position information, and there is sufficient processing resources available for baseband processing without adding additional new processing resources or capabilities.

Developing a GNSS subsystem for a consumer Electronic device can be tedious for developers with no or inexperienced radio frequency (RF) design. The main difficulty is not yet in optimizing receiver performance (since many of the available GNSS receivers are highly integrated), reducing cost, and comprehensive support including the benefits of following the reference design recommendations. The real challenge is this: When implementing GNSS baseband processing in pure software, there are multiple architectural and detail decisions that can have a huge impact (good or bad) on sensitivity, performance, accuracy, and power consumption.

When software engineers understand certain key RF rules and how to optimize them within the system, they can better maximize signal integrity and positioning accuracy for building successful GNSS systems in the highly competitive consumer electronics market. It is possible to achieve higher levels of system capability (eg, improved positioning accuracy with fewer satellites) at a lower cost than hardware module-based solutions by virtue of the inherent flexibility of the software architecture.

Baseband GNSS processing is by no means trivial.For performance and cost reasons, GNSS basebands have traditionally implemented the GNSS correlator function in hardware, either using true correlator pointers or using a digital signal processing (DSP) core to emulate the function of a huge parallel correlator[即,用于加强首次定位(TTFF)性能]. The drive to integrate GNSS into consumer electronics such as cell phones has changed the return on investment (ROI) equation used to determine the most efficient way to implement GNSS. The real issue is the added cost of introducing GNSS to an already existing architecture. For example, if GNSS is implemented with hardware that costs $6, the added system cost is $6.

Figure 1 shows the architecture of a traditional stand-alone GPS module with RF radio and hardware baseband. Figure 2 shows how the same standalone GPS module is connected to an application processor in a product such as a PND. In a software baseband architecture, baseband processing is performed by the main processor (Figure 3) in a way that makes the standard software modems found in contemporary personal computers look the same.

Design Elements of Global Navigation Satellite System Realized by Software
Design Elements of Global Navigation Satellite System Realized by Software

In stand-alone GNSS applications, baseband processing of GNSS signals is traditionally not implemented by the main processor because the processor clock cycle cost is much higher than the cost of the corresponding number of gates used by an application specific integrated circuit (ASIC) to process GNSS. But in mobile phones, to meet the recent increasing demand for multimedia services, a powerful application host processor has become necessary, which must be capable of decoding streaming music and video files. Additionally, when these services are not being used, the application processor may be underpowered or in a standby mode so that it can be used for other tasks.

Until recently, the processing power of the application main processor could not provide the power required to implement software-based GNSS. But now the processor has the potential to perform GNSS baseband processing, significantly reducing incremental expense and lowering the barrier to entry for GNSS in many consumer electronics products. From a price point of view, software-based GNSS adds about $3 to the system cost (that is, half the cost of hardware-based modules) but expands the overall GNSS capability.

It is important to note that it is only the starting cost of the software GNSS subsystem and therefore its maximum price. Based on the broad consensus that once software development is complete, there are no more manufacturing costs—software models have very different pricing mechanisms than hardware models. Traditionally, the market viewed software as a means of marketing hardware, and as such, software was often bundled with hardware. With market pressure to reduce GNSS RF costs and the emergence of high-volume applications employing GNSS, this price is expected to drop rapidly to $1. At this cost, GNSS is a feature that can be seen in almost any consumer electronics application. At the same time, it will also accelerate the convergence of different RF technologies, that is, including GNSS, Bluetooth and wireless local area network (WLAN) technologies in a single software-defined radio (SDR) platform.

Because the cost reduction brought by software-based GNSS is achieved by utilizing idle processing cycles of the application main processor, which is already part of the architecture, this shifts some of the responsibility for optimizing RF processing to the software developer, These responsibilities used to fall to the RF designer. It should be noted that optimization by software developers does not involve developing and optimizing RF baseband processing algorithms; several RF leaders have already developed ready-made GNSS baseband processing software on the market. The truth is that optimization is achieved by how well developers integrate software-based GNSS technology into existing designs. Basically, optimization focuses on maintaining performance and accuracy in the worst operating conditions, minimizing power consumption, and maintaining architectural flexibility.

One issue that should be considered is the worst-case processing load. Since the economics of software-based processing depend in part on unused application main processor resources, software-based GNSS processing needs to be dynamically adjusted based on available resources. In effect, GNSS processing must not negatively impact other system functions such as multimedia processing. Of course, if accuracy can be maintained in worst-case processing, then by convention, that accuracy can also be maintained when more processing resources are available. For example, in a phone that supports video and audio playback, if video playback is the function that requires the most processing power in the phone, any mode that does not use video, including audio, is more than enough resources for GNSS baseband processing.

In video playback, which requires the most processor resources, GNSS baseband processing may require callbacks. However, given the visual nature of the video, users will watch the video rather than follow their current location. Therefore, highly accurate location data is only required when the user pauses the video and switches to a location tracking app.

Developers can use this to adjust the tracking accuracy during video playback. Since the user is not using location data at this time, the developer may choose to relax the precision tolerance. For example, using various dead-reckoning techniques that require less information to estimate position, the system can obtain approximate position information with reasonable accuracy. When position data is needed again, the GNSS subsystem can quickly recover to high accuracy using the processing resources freed from video processing.

Note that a certain accuracy of the signal must be guaranteed at all times to avoid losing the signal; otherwise, the signal will need to be reacquired. Complete loss of position fix should be avoided due to the time required to reacquire the signal and the fact that the initial position fix requires much more computational resources than tracking and maintaining position.

Rather than continuously maintaining high accuracy at a fixed rate for continuous navigation, the system can take several steps to reduce the overall baseband processing load:
* Reduce the number of satellites being tracked. Since the processing load is directly proportional to the number of satellites being tracked, this will reduce the number of cycles required to maintain position.
* Reduce the amount of signal work handled by the system. For example, processing only one sample out of every three will reduce the amount of data that must be processed for a valid hold position. This will affect the accuracy of the system, but if the system is already tracking a strong signal, this sacrifice of accuracy is not a concern.
* Decrease positioning rate. The standard fix rate is 1 fix/sec. Not all applications require this rate, for example, a rate of 1 fix/10 seconds is sufficient for some applications.
* Average and filter data. Averaging reduces the error magnitude while reducing the accuracy. Depending on the application, averaging can be conservative or aggressive.
* Take advantage of idle cycles for accuracy. Sometimes the baseband processing load is not heavy. Rather than letting these cycles sit idle, the GNSS subsystem can dynamically demand these cycles to process more signals needed to regain accuracy that would otherwise be degraded.
* Select an RF that transmits data in in-phase/quadrature (I/Q) format instead of the original signal. By performing the I/Q baseband conversion steps in hardware, some of the processing work of the application main processor is offloaded. A major drawback of this approach is that its interface between the radio and the processor generates twice the amount of data to download, requiring a higher-speed interface than the processor can support.
* Using dead reckoning and interpolation. Just by running the clock, the system can estimate the user’s approximate location based on the last known position, direction, and speed. Dead reckoning can maintain considerable accuracy for a long time. For example, cars on the highway are less likely to swerve abruptly. Dead reckoning is one of the same techniques used to maintain position when the satellite signal is lost, such as when a car drives into a tunnel.The difference is that the “poor” signal conditions are intentional and not caused by environmental factors
* Use a higher performance processor. If there are not enough unused cycles, depending on the application, it may really be necessary to upgrade the current application processor to the next available speed, which may be cheaper than using a hardware baseband processor. Such as cell phone application processors are typically high-volume and implemented using the latest and most cost-effective process technology, thereby reducing costs. Considering the relatively low batch size of baseband processors, there are generally longer optimization cycles. In this way, the baseband cost and power consumption of software running on the main processor of the smaller application is lower than that of a hardware-based baseband processor.
* Mask delay. In these situations where sufficient accuracy of time recovery is required, it is important that the delay is masked by the user. A perceptible delay such as taking too long to first acquire a signal can have a very negative impact on the user’s vision. For example, when determining the quality of a GNSS-based device, many users will focus on a single characteristic like raw position acquisition to assess the overall GNSS quality. If it takes too long to get the location for the first time, many users will not bother to compare the accuracy of the whole. Therefore, it is important to get the first position as soon as possible, no matter what the system is doing. For example, requiring the user to pause the video, return to the menu, and then select the GNSS position map screen provides an additional period of time for the GNSS subsystem to restore accuracy and reduce perception latency.

Many of the techniques described above for reducing processing load can also be used to balance power consumption and sensitivity. Even if the system has enough unused or available processing resources, developers may want to apply worst-case conditions to limit power consumption in any event.

Implementing baseband processing in software supports more flexible power management than hardware-based approaches because different parts of the system can be controlled separately. In addition, as new innovative algorithms and power reduction techniques are developed, these techniques can be implemented in existing designs without expensive silicon redesign. Other consumption reduction technologies include?:
* System level awareness. The GNSS subsystem should access system-level states in order to take action based on those states. If the PND determines that the user is not actively looking at the screen, it also “notifies” the GNSS subsystem when it turns off the display backlight while reducing the location processing load. When the user then uses the device, the location is refreshed.
* Keep GNSS clock. When the GNSS receiver system is turned off or set to standby (sleep) mode, only the RF section is turned off but the GNSS clock is maintained. This technique actually requires more power because the clock also consumes power, but it allows for faster signal acquisition when the system wakes up because it doesn’t have to reacquire the time. This technology interfaces directly with any power reduction features already implemented in the device.
* Store enough information about the last known location. At any time, the device has data, time, or reference about its approximate location, and signal acquisition is accelerated because the system knows the approximate answer.
* Store satellite orbit data. When navigating, a GNSS receiver needs to know the orbital parameters (almanac and ephemeris) of all its tracked satellites. When storing this orbital data, there are occasions when the receiver is briefly turned off while the same satellites that were used before are still available. In this case, the receiver can be warm-started, reducing the time from submerged state to first fix from more than 30 seconds to less than 3 seconds.
* Program RF to output less data. When trying to maintain accuracy under the harshest operating conditions, it can be beneficial to send full GNSS signals to the main processor so that they can be utilized when resources are suddenly available, and the samples will be discarded when no resources are available. But this method drives the RF/processor interface at full speed. By reducing the signal rate from the radio, the processor loses the ability to process more samples but conserves power when more resources are available.
* Using intelligent dead reckoning. Dead reckoning and other techniques that sacrifice accuracy to reduce processing load can be used when the location is easier to estimate (such as driving on a highway with no exits within half a mile). By using dead reckoning techniques to efficiently perform cross-location calculations or to reduce the signal rate, the signal processing load can be reduced while maintaining sufficient accuracy. The flexibility of a software-based approach makes implementing power-reduction features such as this simple and feasible.

The Links:   LCA4SE01A EL320256-F6

Author: Yoyokuo