用软件实现全球导航卫星系统的设计要素
2012-07-05
利用包括全球定位系统(GPS)和/或伽利略(Galileo)系统在内的全球导航卫星系统(GNSS)的位置追踪在推动许多消费电子产品的发展。
GNSS不再仅限于用在汽车应用、测量仪器和海事导航或昂贵的手持跟踪系统,它眼下在想方设法进入许多诸如蜂窝手机和个人导航设备(PND)等对成本敏感的应用。但若要使消费电子产品广泛采用GNSS,则降低其成本仍是关键。
对价格点更灵活的高端设备来说,GNSS通常是采用独立的基于硬件的模块实现的。虽然基于硬件模块的设计在简化了GNSS设计的同时,还为主处理器提供完全评估后的定位数据,但这些模块也相对增加了材料成本。因GNSS主要是作为消费电器的增值特性而非基本用途,所以想在给这些消费电子产品增加GNSS功能而不显著影响产品成本就并非总行得通,从而带来必须以不具有竞争优势的价格出售产品的风险。
基于软件GNSS的出现极大降低了系统内增加GNSS功能的成本。在基于软件的GNSS内, GNSS基带微控制器传统上所用的集成电路和存储器投入就省去了,与独立GNSS接收机成本相比,有效地把成本降低了80%。因此就有可能把GNSS功能以具成本效益的方式引入广泛的包括便携媒体播放机和手机在内等的应用中。要说的是,这些设备业已采用彩色液晶显示器(LCD),所以可借用LCD显示位置信息,且无须增加额外的新处理资源或能力就有可用于基带处理的足够处理资源。
对没有或射频(RF)设计经验不足的开发者来说,为消费电子设备开发一个GNSS子系统是件费心费力的事。主要困难还不在于优化接收器性能(因为许多可用的GNSS接收器具有很高集成度)、降低成本以及对包括遵从参考设计建议所得到的好处在内的全面支持。真正挑战在于:当用纯软件实现GNSS基带处理时,要做出多个会对灵敏度、性能、精度和功耗有巨大影响(好或坏)的架构和细节方面的决定。
若软件工程师了解某些关键RF规则以及如何在系统内优化这些规则,他们就可更好地最大化信号完整性和定位精度以为高度竞争的消费电子市场构建成功的GNSS系统。有可能借助软件架构的内在灵活性、以比基于硬件模块方案更低的成本实现更高水平的系统能力(如:用更少卫星改进定位精度)。
基带GNSS处理绝非微不足道。基于性能和成本原因,GNSS基带传统上是用硬件实行GNSS相关器功能,采用的方法或是利用真正的相关器指针或使用一个数字信号处理(DSP)核来仿真巨大并行相关器的功能[即,用于加强首次定位(TTFF)性能]。把GNSS整合进诸如手机等消费电子产品内的动力业已改变了用于决定实现GNSS最有效方法的投资回报率(ROI)等式。真正的问题是为一个业已存在的架构引入GNSS时增加的成本。例如,若采用的是6美元成本的硬件来实现GNSS,则增加的系统成本就是6美元。
图1显示的是带RF射频和基于硬件基带的传统独立GPS模块架构。图2显示的是同样的独立GPS模块是如何在诸如PND这样的产品中与应用处理器连接起来的。在软件基带架构中,基带处理是由主处理器(图3)实现的,采用的方式是使在当代个人计算机内的标配软件调制解调器看起来一样。
|
在单独GNSS应用中,因处理器时钟周期成本远比专用集成电路(ASIC)处理GNSS所用的相应数量门的成本高,所以GNSS信号的基带处理传统上不是用主处理器实现的。但在手机中,因为满足最近对多媒体服务不断增加的需求,一个功能强大的应用主处理器业已成为必须,该处理器必须具有足够的能力解码流音乐和视频文件。另外,当没使用这些服务时,应用处理器可能开工不足或处在待机模式,从而可用其完成其它任务。
直到最近,应用主处理器的处理能力无法提供实现基于软件GNSS所需的功力。但现在该处理器有可能执行GNSS基带处理,从而显著缩减了增加的费用并降低了在众多消费电子产品内引入GNSS的门槛。从价格角度,基于软件的GNSS使系统成本增加约3美元(也即是基于硬件模块成本的一半)但却扩展了整个GNSS能力。
重要的是要注意到,它只是基于软件GNSS子系统的起步成本所以也是其最高价格。基于这样一个广泛共识——软件开发一旦完成后,就不再有制造成本——软件模式与硬件模式的定价机制有很大不同。传统上,市场把软件看作是行销硬件的手段,也因此软件常常与硬件捆绑在一起。随着降低GNSS射频成本的市场压力以及采用GNSS的大批量应用的出现,预计,该价格会迅速降低到1美元。在该成本,GNSS成为几乎可在任何消费电子应用内见到的一种功能。且同时它还将加速不同射频技术的融汇,也即在单一一个软件定义射频(SDR)平台内包括进GNSS、蓝牙和无线本地网(WLAN)等技术。
因基于软件GNSS带来的成本降低是通过利用应用主处理器闲置的处理周期获得的,而应用主处理器业已是架构的一部分,这就把优化RF处理的某些责任转嫁给软件开发商,而这些责任过去是由RF设计师担当的。需注意的是,软件开发人员进行的优化并不牵扯开发及优化RF基带处理算法;市场上已有几个RF领袖开发现成的GNSS基带处理软件。事实是,优化是通过开发者将基于软件的GNSS技术整合进现有设计的水平有多高来获得的。基本上,优化专注的是如何在最恶劣工作情况下保持性能和精度、最小化功耗以及保持架构灵活性。
应考虑的一个问题是最恶劣情况下的处理负载。因基于软件处理的经济性部分取决于未使用的应用主处理器资源,所以基于软件的GNSS处理需根据可用资源动态调整。在效果上,GNSS处理必须不能给诸如多媒体处理等其它系统功能带来负面影响。当然,若能在最恶劣情况下的处理中保持精度,则基于约定,当有更多处理资源可用时,该精度也可保持。例如,在支持视频和音频回放的手机中,若视频回放是手机中要求最大处理能力的功能,则包括音频在内的任何不使用视频的模式对GNSS基带处理来说,资源都是绰绰有余的。
在需要最多处理器资源的视频回放中,GNSS基带处理也许需要回调。但,考虑到视频的视觉本质,用户将观看视频而非跟随其目前位置。因此,仅当用户暂停视频并切换到位置跟踪应用时,才需要高度准确的定位数据。
开发者可借此在视频回放时,调整跟踪精度。因用户此时并不使用位置数据,开发者可选择放宽精度容限。例如,利用需更少信息以估算位置的各种航位推算(dead-reckoning)技术,系统可在合理的精度内获得近似位置信息。当再次需要位置数据时,GNSS子系统可利用从视频处理释放出的处理资源迅速恢复到高精度。
注意,必须随时保证一定精度的信号以避免丢失信号;否则,将需要重新获取信号。源于重新获取信号所需的时间以及最初的位置锁定需要比跟踪和保持位置多得多的计算资源,所以应避免完全丢失位置锁定。
与其为实现持续导航以固定速率连续保持高精度,系统可采用若干步骤降低整个基带处理负载:
* 减少被跟踪卫星数。因处理负荷与被跟踪卫星数有直接比例关系,此举将减少保持位置所需的周期数。
* 减少系统处理的信号工作量。例如,在每三个采样中只处理一个采样将减少为有效保持位置必须处理的数据量。此举将影响系统精度,但若系统业已在跟踪很强信号,则牺牲的这点精度不足为虑。
* 减少定位速率。该标准定位速率是1定位/秒。并非所有应用需要该速率,例如,有些应用1定位/10秒这样一个速率就够了。
* 平均和滤波器数据。平均在降低精度的同时,也降低了错误幅值。取决于应用,平均可保守也可激进。
* 利用空闲周期获得精度。有时,基带处理负荷不重。与其让这些周期闲置,GNSS子系统可动态要求这些周期来处理所需的更多信号以重新获取精度,否则精度会降低。
* 选择用同相/正交(in-phase /quadrature——I/Q)格式而非原始信号传递数据的射频。通过用硬件执行I/Q基带转换步骤,则分担了应用主处理器的一些处理工作。该方法的一个主要缺陷是它在射频和处理器间的接口生成两倍需下载的数据量,从而要求一个比处理器所支持的更高速接口。
* 采用航位推算和插补。仅通过运行时钟,系统可根据最后掌握的位置、方向和速度来估计用户的大概位置。航位推算可长期保持相当精度。例如,高速公路上的汽车不太会突然转向。当卫星信号丢失(如汽车驶入隧道)时,航位推算是用于保持位置的相同技术之一。差别在于,“差”的信号状况是刻意设置的而不是环境因素造成的
* 选用更高性能处理器。若没有足够的未利用周期,根据应用,则可能真需要把目前所用的应用处理器升级至下一档可用的速度,此举可能比使用一款硬件基带处理器便宜。如手机应用处理器一般批量大、且采用最新和最具成本效益的工艺技术实现的,从而降低了成本。考虑到基带处理器相对低的批量,一般会有更长的优化周期。这样,与基于硬件的基带处理器相比,采用运行于更小规模应用主处理器上的软件的基带成本和功耗都会更低。
* 屏蔽延迟。在需要时间恢复足够精度的这些场合,由用户来屏蔽延迟是重要的。诸如需太长时间首次获取信号的明晰可感的延迟会给用户视觉造成极其负面的影响。例如,当确定基于GNSS设备的质量时,许多用户将专注于类似原初位置获取等单一特性来评估整个GNSS质量。若首次获取位置耗时过长,许多用户将不会劳神比较整个精度到底多高。因此,在无论系统到底干什么的情况下,尽快获取首次位置都是很重要的。例如,需要用户暂停视频、返回菜单然后选择GNSS位置映像屏幕的过程为GNSS子系统恢复精度、降低获感等待时间额外提供了一段时间。
用于降低处理负载的上述许多技术也可同样用于平衡功耗和灵敏度。即使系统有足够未用或可用的处理资源,开发者或许也想在任何事件中应用最恶劣工作情况技术以限制功耗。
因系统内的不同部分可分别控制,所以用软件实现基带处理支持比基于硬件方法更灵活的电源管理。另外,随着新的创新算法和降耗技术的开发,可在现有设计中实现这些技术且不需昂贵的硅重新设计。其它降耗技术包括?:
* 系统级感知。GNSS子系统应访问系统级状态以便根据这些状态采取行动。若PND确定用户并没主动看屏幕,当它关闭显示器背光时也还会“通知”GNSS子系统同时减少位置处理负载。当用户接着使用设备时,位置会被刷新。
* 保持GNSS时钟。当关断GNSS接收器系统或将其设置为待机(休眠)模式时,只关断射频部分但保持GNSS时钟。因时钟也耗电,所以该技术实际需要更大功耗,但当系统唤醒时,因其不必重新获取时间,它支持更快的信号获取。该技术可直接与业已在设备中实现的任何降耗功能直接对接。
* 储存关于最后一次已知位置的足够信息。任何时间,该设备都有关于其大概位置的数据、时间或参考,因系统了解大致答案,所以信号获取被提速。
* 存储卫星轨道数据。导航时,GNSS接收器需了解其全部跟踪卫星的轨道参数(年鉴和星历)。在存储该轨道数据时,会有接收器短时关闭、而以前使用的相同卫星仍可用的场合。在这种情况,该接收器可热启动、把从潜态到首次定位所需时间从30多秒减少至3秒内。
* 编程射频以输出更少数据。当试图在最恶劣工作条件下保持精度时,将完整GNSS信号送至主处理器会有好处,这样当突然有可用资源时就可利用这些信号,而若没有可用资源时将丢弃这些采样。但该方法以全速驱动射频/处理器接口。通过降低来自射频的信号速率、当有更多资源可用时,处理器虽失去了处理更多采样的能力但却保存了功率。
* 采用智能航位推算。当位置更容易估算时(如行驶在高速公路且半英里内没有出口的场合),可采用牺牲精度以减小处理负载的航位推算及其它技术。通过采用航位推算技术有效进行交叉定位计算或降低信号速率,信号处理负载可被降低且保持足够精度。基于软件方法的灵活性使实现诸如此类的降耗特性简单可行。