CN101443675A - 在卫星导航系统中使用的接收器和发射器 - Google Patents
在卫星导航系统中使用的接收器和发射器 Download PDFInfo
- Publication number
- CN101443675A CN101443675A CNA2006800545187A CN200680054518A CN101443675A CN 101443675 A CN101443675 A CN 101443675A CN A2006800545187 A CNA2006800545187 A CN A2006800545187A CN 200680054518 A CN200680054518 A CN 200680054518A CN 101443675 A CN101443675 A CN 101443675A
- Authority
- CN
- China
- Prior art keywords
- code
- satellite
- storage unit
- receiver
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S1/00—Beacons or beacon systems transmitting signals having a characteristic or characteristics capable of being detected by non-directional receivers and defining directions, positions, or position lines fixed relatively to the beacon transmitters; Receivers co-operating therewith
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/35—Constructional details or hardware or software details of the signal processing chain
- G01S19/37—Hardware or software details of the signal processing chain
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/24—Acquisition or tracking or demodulation of signals transmitted by the system
- G01S19/30—Acquisition or tracking or demodulation of signals transmitted by the system code related
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/35—Constructional details or hardware or software details of the signal processing chain
- G01S19/36—Constructional details or hardware or software details of the signal processing chain relating to the receiver frond end
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
- G01S5/14—Determining absolute distances from a plurality of spaced points of known location
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
本申请提供了供包括多个卫星的星座的卫星导航系统使用的接收器。每个卫星传送合并有扩频码的信号。所述接收器包括至少一个代码存储单元,所述代码存储单元包括用于存储存储器代码的组合逻辑,所述存储器代码包含包括地址解码的固定比特模式,其中所存储的存储器代码对应于合并到从卫星传送的信号中的扩频码。所述接收器还包括用于在进入信号和来自一个代码存储单元的所存储的扩频码之间执行相关的相关器。
Description
发明领域
本发明涉及包括多个卫星的星座(constellation)的卫星导航或定位系统,尤其涉及用于与这样的卫星导航系统一起使用的接收器。
发明背景
卫星导航系统在包括用于位置确定的手持设备、车内导航支持等的广泛应用中变得日益重要。当前使用的主要卫星导航系统是由美国国防部所操作的全球定位系统(GPS)。GPS设备的全球销量在2003年已经达到了将近35亿美元,并且该数字预计会在以后几年中稳定增长。名为Galileo的欧洲版本的卫星导航系统计划在这十年的后期启动并得以使用。
卫星导航系统包括卫星星座,其中每个卫星向地球广播一个或多个信号。卫星信号的基本分量是与导航数据相组合的扩频码(也被称作定位、同步或测距码)。然后以设定频率将所产生的组合调制到载波上以用于向地球进行传输。通常每个卫星以多个频率进行传送,这能够有助于对电离层效应进行补偿以提高准确度并广播更多数据。
在一些情况下,可以通过某一适当的复用方案将多个信道调制到单个载波上。例如,某些Galileo信号计划包括与导频信道相组合的数据信道。所述导频信道仅包含扩频码而没有导航数据,而数据信道则包括扩频码和导航数据这二者。
卫星信号的扩频码分量通常包括预先确定的比特序列(称作“码片(chip)”)并且被用来执行两个主要任务。首先,扩频码提供同步和访问(CDMA)机制以允许接收器锁定到卫星信号上。因此每个卫星(通常从该卫星广播的每个信号)具有其自己的同步码。当接收器首次打开时,其不知道能够接收到哪些卫星信号,原因在于对于特定时间和特定位置而言,星座中的某些卫星将位于地平线以下。所述接收器使用同步码锁定到来自第一卫星的信号上。一旦这已经完成,就能够访问所述信号中的导航数据。这然后为星座中的其他卫星提供历书(almanac)数据,并允许其余卫星对所述接收器可见以便相对迅速地获得。
许多接收器采用两阶段获取过程。在第一阶段中,接收器执行进入信号相对于卫星扩频码组的同步相关。特别地,接收器搜索来自任意卫星的扩频码,考虑到卫星和接收器之间的任意可能的定时偏移,并且考虑到卫星和接收器之间的任意可能的多普勒频移(其依赖于卫星在空间中相对于用户的运动)。如果发现相关值超出预先确定的阈值,则对卫星扩频码、定时偏移和多普勒频移的有关组合执行包含更详细分析的第二阶段。该第二阶段分析验证并确认初始的粗获取,或者必要时将其丢弃。
扩频码的第二个主要任务是根据信号从卫星行进到接收器的时间来提供从卫星到接收器的距离估计。然后,给定卫星的已知位置(如从卫星接收到的导航数据中所指示的),通过使用三边测量过程在三维空间中确定接收器的位置。理论上,假设接收器时钟和卫星时钟之间的定时偏移已知,能够利用来自最少三个卫星的信号信息来执行三边测量。实际上,除了专门的接收器之外,该定时偏移通常是未知的,从而从至少一个附加卫星获得信号信息来对接收器处未知的时间偏移进行补偿。如果来自其他卫星的信号可用,则能够使用诸如最小平方之类的任意适当算法来执行统计位置确定。这还能够提供一些与估计位置相关联的误差指示。
扩频码的一个重要参数是扩频码传送的码片速率,原因在于这继而控制所能够进行位置确定的准确度。扩频码的另一个重要参数是其总长度,换句话说,扩频码在其重复之前的码片数目。其一个原因是扩频码的有限长度会引起位置确定中的不确定性(ambiguity)。扩频码的更长长度会减少这样的不确定性,并且还提供了对来自不同源的信号的更好分离以及对抗干扰的增加的鲁棒性。另一方面,扩频码具有更长的重复长度会延迟信号的最初获取,以及接收器内需要更多的处理能力。通常,扩频码的长度还影响能被用于导航数据的数据速率,原因在于每个完整的扩频码序列一般仅有一比特导航数据。因此,扩频码的重复长度越长,导航数据的比特速率越低。
一种已知的策略是使用基于一级(primary)和二级(secondary)代码的分级或分层扩频码。如果我们假设一级代码具有N1个码片而二级代码具有N2个码片,则整体扩频码的前N1个码片对应于与二级代码的第一码片异或的一级序列,扩频码接下来的N1个码片包括一级代码的N1个码片的重复,与二级代码的第二码片异或的该时间,等等。这给出了N1×N2的代码的整体重复长度,然而初始获取能够仅基于一级代码。
GPS扩频码通过使用线性反馈移位寄存器(LFSR)来实现,其中取出(tap)来自N阶移位寄存器的选定输出并将其回馈到输入。LFSR内的反馈连接能够表示为次序N的以2为模的二进制多项式,由此LFSR的操作完全由其多项式和LFSR的初始设置来指定。
GPS扩频码是Gold码,其具有某些特殊数学属性。其中一个是它们生成具有重复长度为2N-1的伪随机噪声(PRN)的输出,从而相对紧凑的LFSR能够生成具有长重复长度的输出。Gold码还具有良好的支持代码获取和准确定位的自相关属性。特别地,自相关功能具有以零时间偏移良好定义(well-defined)的峰值,并且对于所有其他(即,非零)时间偏移相对较小。同时,选择一组具有良好互相关属性的Gold码也是重要的,而不同代码之间的互相关函数相对较小。这对于信号获取是重要的,原因在于其有助于防止来自一个卫星的同步代码偶尔被误以为是来自另一卫星的同步代码。扩频码另外的重要实现标准是具有相等(或近似相等)数目的1和0-这被称作平衡。
关于卫星导航系统的附加信息能够在Misra和Enge的“GlobalPositioning System:Signals,Measurements and Performance”,Ganga-Jamuna出版社,2001,ISBN0-97095444-0-9;由美国航空航天院出版的Bradford W.Parkinson和James J.Spilker Jr的“Global PositioningSystem:Theory and Applications”卷1和卷2,ISBN1-56347-106-X;Hollreiser等人的“Galileo User Segment Overview”,ION GPS/GNSS2003,2003年9月,波兰,Oregon,第1914-1928页;和Hollreiser等人的“Galileo Test User Segment-First Achievements and Application”,GPS World,2005年7月中找到。
虽然对于现有的卫星导航系统已经广泛认可了Gold码,但是存在一些与这样的代码相关联的限制。例如,它们仅能够使用某些代码长度(2N-1,并且并非所有的N值都能够用于LFSR多项式)。通常,代码长度由扩频码的码片速率与导航数据的比特速率之比来确定。如果代码长度被限制为可用的Gold码,则这意味着在码片速率和比特速率上有所约束,这可能继而影响其他考虑因素,诸如获取时间和定位准确度。在一些情况下,已经通过使用截短的(truncated)Gold码克服了Gold码的代码长度的限制,但是这样的截短已经对代码集的数学属性造成了不利影响(在自相关函数等方面)。
因此,在PCT申请PCT/EP2004/014488和PCT/EP2005/007235中已经提出了使用定制设计或预定(bespoke)的比特序列作为卫星扩频码。这允许开发任意长度的扩频码,并且还允许独立于其他约束对诸如自相关和互相关之类的各种属性进行优化。这样的扩频码在这里将被描述为“存储器”代码,原因在于接收器通常存储代码的整个码片模式。这与以算法生成码片模式相反,如对于Gold码而言,其使用LFSR根据其多项式以算法生成代码,而不是存储整个代码的码片模式。要注意的是,因为通常从(伪)随机数序列创建存储器代码,所以它们一般不服从于数据压缩技术。
用于接收器的存储器代码集能够被存储在诸如闪存之类的某一形式的ROM中。这些代码然后能够在引导时间被加载到接收器芯片组(chipset)中以供在检测进入的卫星信号中的扩频码期间使用。如果完整的存储器代码被加载到接收器芯片组本身中,则这可表示在接收器芯片组上存储位置方面的非常明显的开销。可替换地,代码可以被加载到(接收器芯片组之外的)RAM,其中它们将仅代表针对一般接收器操作的整体程序和/或数据存储需求的相对小的添加。然而,在这种情况下,可能需要用来将所述代码从RAM实时馈给到接收器芯片组的专用高速接口,以及接收器芯片组自身之内的一些附加内部缓冲。
图1描绘了例如可能在常规GPS接收器芯片组内提供的LFSR的典型实施方式。基本硬件包括长度N的移位寄存器11,外加均为长度N的两个附加寄存器12、13。所述移位寄存器自身的设计是普通的,其中反馈抽头并非是硬接线的。更确切地,移位寄存器11的各级之间的反馈由加载到两个附加寄存器之一(多项式寄存器12)中的多项式值来控制。接着,由另一个附加寄存器(初始模式寄存器13)中所存储的数值来确定LFSR的初始设置。以这种方式,图1的LFSR能够通过向所述多项式寄存器和初始模式寄存器中提供适当数值来定制图1的LFSR。
图1的LFSR包括3N个存储位置(原因在于移位寄存器11、多项式寄存器12和初始模式寄存器13均具有N个存储位置)。如上所述,对于最大的Gold码而言,反馈移位寄存器11中的存储位置的数目通过N=2log(L+1)而与输出代码(L)的长度有关。由于Gold码通常基于来自两个LFSR的输出的组合,所以用于Gold码的存储位置的总数T(S)能够被表示为T(S)=6*2log(L+1)。此外,标准的LFSR代码发生器具有某一用来提供反馈抽头的组合逻辑(XOR),以及与计数器(或比较器+寄存器)相结合的用于在序列末尾进行重置、重载和重新开始的小型状态机/控制器。
作为对比,接收器中的存储器代码的直接实施方式可包含为每个要存储在接收器中的代码提供全长度存储器,包括相关地址解码器。根据所选择的实施技术,存储器能够是静态或动态的。最为广泛使用的技术(ASIC、FPGA)支持静态存储器。此外,用于地址生成的小型状态机或控制器通常会被用来确保读取正确的存储器单元。假设静态存储器单元的等效门数(gate-count)为1.5NAND2(NAND2表示两输入NAND门并且通常包括6个晶体管),则对于0.18μm技术而言,这产生每个存储器单元18.75μm2的面积。对于状态机/控制器包括200个门,并且假设4096个码片代码(对应于Galileo L1信号),这等同于6344个NAND2门,具有79300μm2的总面积。可替换地,对于10230个码片代码而言,如对于Galileo E5a信号而言,并且基于如上所述的相同假设,这等同于15545个NAND2门,具有194312μm2的总面积(忽略由于结构的规则性而引起的任何节省)。这能够表示接收器芯片组的明显开销。
还要注意的是,对于存储器代码的情形而言,T(S)≈L。换句话说,存储位置的数目与代码长度成比例地增加,而不是如LFSR实施方式那样与代码的对数成比例增加。由此清楚的是,随着扩频码长度的增加,存储器代码的使用明显需要比常规的LFSR方法更多的存储位置。该问题加剧,原因在于接收器必须存储并非一个扩频码,而是用于所有卫星和所有感兴趣信号的扩频码的完备集。
发明内容
因此,本发明的一个实施例提供了供卫星导航系统使用的接收器,所述卫星导航系统包括多个卫星的星座,其中每个卫星传送合并有扩频码的信号。所述接收器包括至少一个代码存储单元,所述代码存储单元包括用于存储包含码片的固定模式的存储器代码的组合逻辑。所述组合逻辑包括用于获取所存储的存储器代码的指定部分的地址解码功能。所述接收器还包括用于在进入信号和来自代码存储单元的所存储的存储器代码之间执行相关的相关器。
将会理解的是,存储器单元的常规实施方式(例如作为触发器(flip-flop)或寄存器)基于顺序逻辑(sequential logic),从而所要存储的数据被作为输入信号加载到设备之中,所述顺序逻辑根据先前输入来保存状态。与之相比,扩频码能够被认为是通过组合逻辑的硬接线配置而被存储到组合逻辑中。
还将理解的是,用于在现有接收器中生成扩频码的LFSR包括顺序逻辑而不是组合逻辑,原因在于其输出依赖于寄存器中的内部状态。此外,LFSR所能够生成的代码局限于某些数学算法所定义的那些代码。实际上,LFSR最好被看作是存储数学算法(其于是能够被用来生成代码)而不是其自身存储代码。与之相比,组合逻辑能够被用来存储一般或任意扩频码,例如没有任何预先确定的数学属性的扩频码以及并非使用预定义的数学算法生成的扩频码。组合逻辑因此能够被用来存储已经被优化以用于特定卫星导航系统的预定或定制的存储器代码。(注意,所述组合逻辑并不被局限于这样的定制存储器代码;其还能够被用来存储对应于Gold码或某一其他数学序列的存储器代码。)
通常,接收器存储来自卫星导航星座中每个卫星的每个信号的不同扩频码(以用于接收器所支持的服务)。这可以包括用于要在星座中任意卫星失效的情况下作为备用的替代卫星的扩频码。存在多种方式能够将一组扩频码分配到一个或多个代码存储单元。例如,在一种实施方式中,单个代码存储单元可以被用来保存星座中所有卫星的扩频码的完备集。在另一种实施方式中,来自每个卫星的每个信号的扩频码可以被存储在单独的代码存储单元中。本领域技术人员将了解许多其他可能的用于将存储器代码分配到代码存储单元的中间实施方式。
在一个实施例中,接收器包括多个接收信道,并且所存储的来自一个或多个代码存储单元的卫星的存储器代码可以被提供到任意接收信道以用于与该接收信道上的进入信号相关。由此,虽然存储器代码本身经由组合逻辑硬接线,但是对不同接收信道进行的扩频码分配可以是灵活可变的。该灵活性对于仅导航卫星的子集可见(其他可能被建筑所遮挡或位于地平线以下)的任意给定时刻或地球上的位置是有用的。因此,从一个或多个代码存储单元向各接收信道灵活分配扩频码的能力允许接收器中接收信道的数目小于卫星的总数,原因在于在操作中,系统向接收信道分配当前可见的那些卫星的扩频码。此外,这种灵活性在星座中的卫星失效并且其被一个备用卫星所取代的情况下是有用的(假设该备用卫星的扩频码已经被存储在接收器中)。
要注意的是,对于现有的接收器而言,用于接收给定类的信号的接收信道的数目通常也小于星座中卫星的数目。这是通过(使用图1所示的多项式和初始设置寄存器)对用于期望卫星信号的接收信道内的每个LFSR进行适当配置来实现的。不能在操作期间以这种方式对一个或多个代码存储单元的组合逻辑进行灵活配置,但是可以在接收器体系结构级别重新获得一些灵活性。
在一个实施例中,代码存储单元可寻址来指定所存储存储器代码的一个或多个码片的特定分段以便输出。提供存储器代码的可选部分的能力允许通过有限数量的输出管脚输出存储器代码,并且还与存储器代码的获取模式更好地匹配以便正常使用。代码存储单元可以包括定序器(sequencer)以允许设备通过组合逻辑所产生的代码每次顺序步入一个或多个码片和/或寻址工具以允许选择所述存储器代码的特定部分以用于输出。要注意的是,这样的输出机制可以以顺序逻辑(诸如通过代码步进)来实施,但是代码的这种顺序输出在逻辑上能够被认为与组合逻辑所进行的代码存储不同(即使代码存储和输出接着被集成在代码存储单元的物理部件级别)。
来自代码存储单元的输出每次可以包括单个码片,或者每个输出可以包括一组多个码片。要注意的是,后者的选择反映了在组合逻辑中存储扩频码与使用LFSR之间比较所得的进一步的差异,其中LFSR每次仅输出单个码片。与之相比,由于组合逻辑块存储代码的整个码片模式,由此在任意给定时刻都可以同时输出多个代码码片(如果期望这样的话)。
虽然可以使用任意适当的半导体技术(例如,完全定制等),但是所述代码存储单元尤其适于被实现为现场可编程门阵列设备(FPGA)或专用集成电路(ASIC-门阵列,标准单元)。组合逻辑的使用通常与FPGA和/或ASIC上的可用电路相兼容,并且由此能够使用标准半导体开发工具来设计和实现所述组合逻辑。将要理解的是,使用诸如FPGA和ASIC之类的标准技术还有助于将所述组合逻辑实现为主接收器芯片组的一部分(由此避免了在一个设备上的一个或多个代码存储单元和单独接收器芯片组之间需要高速接口)。
一个或多个代码存储器单元能够被用来存储多个级别的分级代码。例如,代码存储单元可以被用来存储一级代码和/或二级代码。要注意的是,如果一个或多个代码存储单元保存了一级代码和相应的二级代码这二者,则这些代码能够被作为一个长序列(表示用于输出的最终组合代码)或单独的一级代码和二级代码来存储。将要理解的是,后者的配置更为紧凑,原因在于与存储完整的(组合)代码序列所需的N1×N2相比,仅需要存储N1+N2个码片。在其他实施例中,组合逻辑可以仅被用来存储一个级别的分级代码,例如一级代码。
本发明的另一个实施例提供了一种用于在卫星导航系统中使用的卫星,所述卫星导航系统包括多个卫星的星座,其中每个卫星传送合并有扩频码的信号。所述卫星包括至少一个代码存储单元,所述代码存储单元包括用于存储包括码片的固定模式的存储器代码的组合逻辑。所述存储器代码对应于要合并到从卫星传送的信号中的扩频码。因此,用于在接收器中生成扩频码以用于与进入信号相关的方法也能够被用于生成用于从卫星广播的扩频码。
本发明的另一个实施例提供了一种用于操作接收器以供包括多个卫星的星座的卫星导航系统使用的方法。每个卫星传送合并有扩频码的信号。所述方法包括提供至少一个代码存储单元,所述代码存储单元包括用于存储包含码片的固定模式的存储器代码的组合逻辑。所述存储器代码对应于合并到从卫星传送的信号中的扩频码。所述方法进一步包括在进入信号和所述组合逻辑中所存储的扩频码之间执行相关。
本发明的另一个实施例提供了一种用于生产供卫星导航系统使用的接收器的方法,所述卫星导航系统包括多个卫星的星座,其中每个卫星传送合并有扩频码的信号。所述方法包括确定要在接收器内存储的卫星扩频码,并且提供包括组合逻辑的至少一个代码存储单元,所述组合逻辑用于存储与卫星扩频码相对应的码片的固定模式。
在一个实施例中,通过在硬件描述语言内产生码片固定模式的规范(specification)来生成组合逻辑。接着能够使用逻辑组合将该规范实现在期望的平台上。要注意的是,在硬件描述语言中所述组合逻辑的规范能够使用常数来定义期望的输出代码。因此,定义不同扩频码所需的唯一改变是更新所述常数的值。
附图简述
现在仅通过示例的方式参考以下附图对本发明的各实施例进行详细描述:
图1是常规的线性反馈移位寄存器(LFSR)的实施方式的示意图;
图2是示出根据本发明一个实施例的使用组合逻辑来存储存储器代码的示意图;
图3是示出根据本发明一个实施例的接收器的体系结构的示意图,其中所有存储器代码被存储在单个代码存储单元中;
图4是示出根据本发明另一个实施例的接收器的体系结构的示意图,其中每个存储器代码被存储在单独的代码存储单元中;
图5是图示出根据本发明一个实施例的用于设计用于存储存储器代码的代码存储单元的方法的流程图;
图6是根据本发明一个实施例的根据图5的方法所产生的网表(netlist)的示意图的示例。
详细描述
图2是根据本发明一个实施例的包括代码存储单元15的代码发生器10的示意性图示。代码发生器10被用来存储和输出一个或多个存储器代码,并且由此取代了常规接收器中诸如图1的LFSR之类的单元。
代码发生器10在逻辑上可认为包括两个主要部件:代码存储单元15和定序器25。代码存储单元15包括组合逻辑20,其被用来存储存储器代码和提供地址解码。定序器25被用来通过加载适当的起始地址并增加当前地址来指定存储器代码的期望部分的地址以用于输出。(要注意的是,如以下详细解释的,在物理实施方式中,这两个部件的功能可能被集成,从而组合逻辑和定序器之间没有明确区分;但是从逻辑或功能的角度来看,这两个部件可认为是独立的)。
在图2的示例中,组合逻辑20具有多个输出Out(输出)50。对于所定义的地址45而言,根据组合逻辑20内门的特定配置来定义输出50。当激活负载40时,起始地址30被加载到地址定序器25中。来自地址定序器25的地址然后被作为地址45提供到代码存储单元15,并且存储器代码的对应片断出现在组合逻辑20的输出50处。
所述地址定序器在使能输入35被断言(assert)时随着clk(时钟)50上的每个脉冲而增加地址45。这使得存储器代码的对应片断或部分出现在组合逻辑20的输出50处。否则,当所述使能信号没有被断言时,所指定的地址45并且由此组合逻辑20的输出保持恒定。
将要理解的是,由于逻辑块20是组合的而不是顺序的,所以其不存储任何状态信息。因此组合逻辑一般不被认为是一种存储器设备的形式。然而,组合逻辑20内门的配置能够被看作是一种(硬接线)存储形式,从而来自组合逻辑20的输出50对应于所存储到比特组。所述组合逻辑由此可被认为是一种只读存储器(ROM)的形式,存储每个地址45的比特组。然而要注意的是,与支持一些形式的写入机制的(例如闪存、EEPROM)标准形式的“ROM”相比,所述组合逻辑的“内容”是固定的(假设所述组合逻辑块是硬接线的)并且由此无法被更新。此外,与随机访问存储器(RAM)不同,组合逻辑20的内部配置特定于(专用于)所存储的比特组,其在一般由接着加载数据值的标准化存储器单元形成。换句话说,在大多数常规存储器设备中,在所述存储器设备的一般硬件结构和存储到所述设备中的数据内容之间存在逻辑分离(图1的LFSR体系结构也有类似分离)。然而,组合逻辑20没有这样的逻辑分离,原因在于硬件结构直接对应于(即,反映或表示)被存储的(加上地址解码)的实际数据内容。
可通过选择组合逻辑内的门的适当配置把来自组合逻辑20的输出50安排为表示任意给定的比特组(如以下更为详细的描述)。因而,图2的组合逻辑能够被用来存储对应于存储器代码的码片序列,以使得来自逻辑块的输出50对应于存储器代码的码片序列。(将要理解的是,这包括为来自组合逻辑20的输出50定义适当的排序以匹配存储器代码的顺序属性。这能够通过在逻辑综合(logic synthesis)期间将地址解码与实际的存储器代码内容结合来实现,如以下更为详细的描述)。
(例如)对于包括几千个码片的长存储器代码序列L而言,一般不便于并行输出所有的存储器代码码片,原因在于这将涉及非常大量的输出管脚。另外,通常不要求接收器操作同时输出整个扩频码。更确切地,组合逻辑20为每个指定地址45输出来自存储器代码的一个或多个码片的子集。
例如,根据整体的接收器体系结构
1.针对每个地址45的增加,能够提供单个码片。该码片然后被路由到单个接收器相关器。在这种情况下,组合逻辑20中仅包含一个存储器代码。
2.如果组合逻辑20中包含多于一个存储器代码(例如,多于一个卫星和/或多于一个信号的存储器代码),则该单元必须被若干个接收器相关器分时(time shared)。在这样的实施方式中,组合逻辑20在地址45增加到特定值时输出第一存储器代码的第一子序列。该子序列被路由到对应的第一接收器相关器。在第一接收器相关器通过其子序列工作时,不同存储器代码的其他子序列被组合逻辑20提供到不同的接收器相关器。一旦所有的接收器相关器已经被供应,定序器就返回第一接收器相关器并向第一接收器相关器提供第一存储器代码的第二子序列。
单独子序列的长度依赖于单独代码发生器10所服务的接收器相关器的总数。每个子序列的典型码片数目可能为N=8、16、32、64或128。因此,对于在使能信号35有效(active)时clk55的每次连续激活,定序器增加地址45并且组合逻辑20通过输出50输出接下来的N个码片。
例如,假设如果在L=4096且N=16的情况下在组合逻辑20中仅存储一个存储器代码,则第一clk 55(在使能信号35有效时)运作(tick)输出在组合逻辑20中所存储的存储器代码的码片0-15,等等,直至已经输出了整个存储器代码(此时我们将循环返回码片0)。在另一个实施例中,在所存储的存储器代码被从代码存储单元15逐码片输出的情况下,N=1。
将要理解的是,因为定序器25保存状态信息(其在存储器代码序列内的位置/地址),所以定序器25包含顺序逻辑而不仅仅是组合逻辑。例如,如果L=4096且N=16,则可以在一个实施例中将定序器25实现为8比特计数器。
在图2的实施例中,定序器25还被提供以地址控制信号30的形式的寻址机制。该地址控制信号30能够被用来指定存储器代码序列内的特定位置以用于输出。由此,如果我们继续以上示例,其中L=4096且N=16,并且定序器25是8比特计数器,则地址控制信号30可以被提供为8比特数值以加载到计数器中。换句话说,在使能信号35将定序器25增加到下一代码位置时,地址控制信号30能够被用来将定序器25设置到代码内任意期望的(新)位置。在另一个实施例中,地址控制信号30被简单的重置线(reset line)所取代,所述重置线将定序器25内的计数值归零。该实施例允许代码内的定序器位置被重置,但是不允许将存储器序列内的任意位置指定到定序器。
对于存储诸如不同卫星的不同存储器代码之类的多个存储器代码的接收器而言,可能存在多种用于存储不同代码的配置。在一种实施方式中,为每个不同的存储器代码提供单独的代码存储单元。可替换地,可以使用单个大型代码存储单元来存储所有的存储器代码,其中使用寻址机制30来选择代码和代码位置这二者以用于输出。其他的可能性在于存在多个代码存储单元,其中每个单元存储一些但不是全部卫星的存储器代码或者一些但不是全部信号的存储器代码——例如6个代码存储单元,每个存储5个卫星的存储器代码,或者每个代码存储单元存储一个卫星的所有存储器代码,等等。其他的可能性在于:在多个代码存储单元的范围内对单个存储器代码进行拆分或剥除(strip)。
使用组合逻辑20来存储包括地址解码的存储器代码利用了以下事实:一旦已经定义并且合并了代码,它们通常就被认为是固定的,由此它们无需在常规的(可更新)存储器中被存储。虽然损失了一些灵活性,但是使用组合逻辑来存储或表示存储器代码会使得门和半导体面积方面的复杂度显著降低。然而,能够在体系结构级别重新获得一些这种灵活性,如以下更为详细的描述。
图3是根据本发明一个实施例的接收器101的示意图。特别地,图3图示了被用来获取和追踪信号的接收器的基带部分,而为了简要省略了其他的标准部分(例如,天线、RF前端、导航单元等)。接收器101可以被提供为独立单元,或者可以合并到一些更大型的设备中,例如移动(蜂窝)电话、计算机、汽车或其他形式的车辆、医院病床、航行器或船舶、集装箱,等等。
接收器101包括代码存储单元130以及数字信号处理器(DSP)120和多个接收(Rx)信道110A、110B、110C等。将要理解的是,不同的接收信道全部都处理相同的进入信号,但是应用到所述进入信号的处理却因接收信道而有所不同,如以下更为详细的描述。代码存储单元130被用来存储卫星星座的一组存储器代码。在一个实施例中,代码存储单元130、DSP 120和接收信道110被实现为单个半导体设备或芯片组,不过其他实施例可以在多个设备的范围内对这些部件进行拆分。
将要理解的是,给定代码组内(并由此被存储在逻辑块130内)的代码数目依赖于相关卫星导航系统的特定需求。这样的系统通常被设计成利用24-30个不同卫星进行操作,通常提供一个或多个附加卫星作为失效情况下的潜在备选。对于每个卫星,一般还存在多个信号。此外,一些Galileo信号包括导频和数据分量(其能够在单个接收信道内被处理)。
假设图3的体系结构被设计为经由每个信道接收单个信号。信道能够被灵活地分配到任意载体或来自RF前端的任意卫星的信号分量。代码存储单元130存储在遍及卫星星座的任意载体和信号上使用的代码。
在一些实施例中,可以增加代码组内的代码数目来容纳“伪卫星(pseudolite)”信号,所述信号从例如临近机场的地面位置发射。接收器似乎将这样的伪卫星信号作为附加的卫星导航信号,并由此能够在这样的位置给出更为精确和可靠的位置确定。
接收信道110的一般操作是将进入的实际中间频率信号转换为复基带信号。所述基带信号接着与载体数控振荡器(NCO)的输出进行混合以便从所述信号除去多普勒效应。接下来,将进入信号与本地扩频码(即接收器内所存储或生成的代码)相关,所述扩频码的定时由代码NCO来控制。在预定时间内对该相关的结果求积分,并接着将其传给DSP120。这里的鉴别器和环路滤波器利用相关NCO来闭合相应的载体环(锁频环(FLL)、锁相环(PLL)和代码环(延迟锁定环(DLL)))。
将要理解的是,如这样描述的接收器101的操作通常与现有卫星导航系统接收器(例如用于GPS的接收器)的行为相匹配。关于这样的接收器的更多细节可在以上提到的Misra和Enge的书中找到。(还要理解的是,为了简明起见,图3中省略了关于接收器101的与理解本发明不直接相关的特定细节,例如数据和导频代码的处理。)
在现有接收器中,由诸如图1所示的LSFR生成本地扩频码,其能够被合并到每个接收信道110A、110B等中。与之相比,图3的接收器使用代码存储单元130(例如图2所示)来存储存储器代码。所述代码存储单元130从DSP 120接收用于确定要将所存储代码的哪个部分输出到各接收信道110的地址信号。该输出地址由DSP 120内所包括的最终状态机(FSM)/控制器来指定。
在图3的实施例中,假设每个地址对应于单元130内的存储器代码的32码片的组块(chunk)。该存储器代码组块接着被加载到适当接收信道110内的寄存器中以用于在与进入信号相关时使用。寄存器中所存储的存储器代码的32码片部分的相关在代码NCO的控制下通常以与使用LFSR代码的现有系统中相同的方式来执行。(可认为现有接收器与图3的实施例类似,但是没有代码存储单元130,并且在每个接收信道内具有代码LFSR而不是缓冲寄存器。)要注意的是,根据在代码存储单元130的输出接口处可用的带宽和接收信道的总数,其他实施例可以使用不同的字长以便从代码存储单元130读出数据。
通常,DSP 120内的FSM/控制器控制代码存储单元130依次向每个接收信道110提供32码片代码段。因此,一旦已经将32码片代码段提供到接收信道110A,FSM/控制器依次通过其他接收信道110B,110C,...110N中的每一个进行循环以向它们提供其自身相应的代码段。在代码存储单元130向其他接收信道提供代码段时,接收信道110A将缓存在其寄存器中的32码片代码段与进入信号相关(这通常每次执行一个码片)。FSM/控制器接着使得代码存储单元130将适当存储器代码的下一个32码片代码段输出到接收信道110A的寄存器中,并且所述循环继续。因此,FSM/控制器提供到代码存储单元130的地址信号实际上标识了特定接收信道以及所指定的存储器代码序列中的位置这二者以用于向该接收信道进行供应。
在大多数接收器中,接收信道110的数目小于星座中卫星的数目。这反映了在任意给定时刻仅有有限比例的卫星可见的事实(随着卫星在其轨道中行进,从任意给定位置所见到的地平线以上的卫星的实际集合随时间而变化)。
如图1所示,典型的LFSR实施方式是一般性的,其中其能够被加载有用于任意期望卫星的多项式代码。这允许在不尝试将接收信道绑定到给定卫星代码的情况下将LFSR合并到接收信道中。更确切地,对于使用Gold码的卫星星座而言,能够将任意给定的接收信道配置成从给定卫星接收信号。这确保了接收信道的有限集合能够被映射到接收器当前所能看到的那些卫星的子集上。
与之相比,代码存储单元130中的扩频码被固定或硬接线到组合逻辑中。因此,为了保持向各卫星分配接收信道的灵活性,接收器101能够将代码存储单元130中所存储的存储器代码提供到任意给定的接收信道110(如DSP 120所指定的)。该设备保留了向卫星灵活分配接收信道110的能力。
图4描绘了根据本发明另一个实施例的接收器实施方式101A。要注意的是,图4的实施例的许多方面与图3的实施例相同,由此以下描述集中于两个实施例的差异上。
图4的实施例不具有单个代码存储单元,但是却具有一组代码存储单元130A,130B,...130N。每个代码存储单元130A、130B等存储来自一个卫星的一个信号的扩频码。每个接收信道110包括复用器111,其被连接到每个代码存储单元130A、130B等的输出。(为了简单起见,图4中仅示出了从代码存储单元130A、130B等到接收信道110A的连接;从代码存储单元130A、130B等到其他接收信道110B、110C等提供类似的连接)。来自复用器111的输出接着被传送到接收信道110内的触发器,并且从那里加载代码比特以便如每个现有接收器那样与进入信号相关。
从DSP 120内的控制器向复用器111提供控制信号,并且该控制信号被用来从各输入选择到复用器的输出。将要理解的是,该配置允许DSP控制器从任意给定的代码存储单元130A、130B等选择存储器代码以提供给任意给定的接收信道110A、110B等。因此,虽然可认为存储器代码被硬接线到各代码存储单元130中,但是它们能够被灵活分配到一组接收信道(如对于图3的实施例而言)。因此在操作中,DSP 120控制使用该控制信号的复用器111以使得每个接收信道110实际上具有所分配的代码存储单元130。
接收信道的数目可以小于星座中卫星的数目。由此,对于该实施例而言,接收信道的数目还可以小于代码存储单元130的数目,即M<N。因此,接收信道110和代码存储单元130之间的灵活分配允许DSP向包含当前可见的卫星的扩频码的那些代码存储单元分配接收信道110。对这种灵活分配的支持对于一个或多个卫星失效而被使用不同存储器代码的卫星所替代的情况也是有用的(假设替代代码也在代码存储单元130内可用)。
每个代码存储单元130A、130B等包括定序器,所述定序器能够被设置到指定的负载地址(如以上关于图2所描述的那样)。所述定序器接收增加(使能)信号以通过存储器代码步入一个码片以用于输出到复用器111。在图4的实施例中,通过相应的复用器131A、131B等接收至代码存储单元130A、130B等的增加(increment)信号。每个复用器131A、131B等从每个接收信道110A、110B上的代码NCO接收输入。提供给复用器111的类似控制信号还被用来选择作为增加信号通过复用器131传给代码存储单元130的输入。因此,接收信道110内的代码NCO能够请求(使能)从代码存储单元130获取下一个代码码片,所述代码存储单元130的输出被分配到该接收信道。
在接收器101A中,扩频码每次访问单个码片(而不是如图3的实施例那样每次32个码片),原因在于各代码存储单元130A、130B等能够彼此并行向其各自的接收信道110A、110B等进行输出。因此,每个接收信道能够实际上根据需要从其所分配的代码存储单元接收代码码片。(与之相比,图3的代码存储单元130以分时方式顺序地为一组接收信道顺序提供服务,从而每个访问都为接收信道提供充足的码片直至下一次为该接收信道服务。)该配置由此允许对采用码片被提供给相关器的速率的每个接收信道内的代码NCO进行独立控制。
将要理解的是,图3的实施例中所有存储器代码保存在单个代码存储单元内,而在图4中,每个存储器代码被保存在单独的代码存储单元中,这仅表示两种可能的实施方式。例如,在其他实施例中,可以存在均存储有多个(但不是全部)代码的多个代码存储单元,而在其他实施例中,每个存储器代码可以在多个代码存储单元的范围内分布。
图5是根据本发明一个实施例的提供生产代码存储单元130的高级别总体概括的流程图。所述方法通过指定期望的扩频码(510)作为开始。将要理解的是,图5的方法是一般性的,其中对于扩频码而言,能够使用任意的(例如,定制或预定的)码片序列。例如,这与LFSR的实施方式相反,在LFSR的实施方式中仅能够提供扩频码的受限集合,即能够通过预先确定的特定数学算法表达的那些代码。
使用硬件描述语言(HDL)对用于期望扩频码的代码存储单元进行描述(520)。HDL的实例是VHDL(高速集成电路硬件描述语言),其是IEEE标准1076的主题。HDL的另一个实例是Verilog,其是IEEE标准1995的主题。VHDL和Verilog对于本领域技术人员是公知的,并且考虑到集成电路的功能和结构的规范。
一旦已经开发和编译了用于生成期望扩频码的电路的HDL描述,就能够执行仿真(530)来确认电路行为为所预期的。存在许多商业上可获得的用于执行这种仿真的工具。HDL描述接着能够被用作到逻辑综合过程(540)的输入,所述逻辑综合过程将所述HDL描述转换为所述电路的组件(库元件)的结构化网表。该网表被用作到适当布置或路由工具的输入以获得半导体设备的布局(550)。根据所选择的技术,接着能够制造ASIC或定制的半导体设备(560)或者能够配置现场可编程门阵列(FPGA)。要再次理解的是,存在许多商业上可获得的用于在通过使用HDL描述的电路上执行逻辑综合并接着将其转换为实际实施方式的标准商业工具。
附录1提供了用于实施根据本发明的一个实施例的代码存储单元130的示例性VHDL程序。所述代码存储单元(被称作“cacode”)输出定义为常数“ca”的64码片序列。将要理解的是,可以通过将常数“ca”的值适当调整到期望的码片模式而使用相同的VHDL代码来实现其他代码序列。
用于cacode的VHDL指定了5个输入和一个输出来执行以下功能:
phase(相)-该输入指定第一输出码片的初始地址,并且包括6个码片,对应于用于ca的64码片序列的地址范围;
phset-该输入对phase的值进行使能;
clk-时钟输入;
tick(记号)-该输入被用来指示何时需要另一个代码输入(以相
对于进入信号进行相关);注意,tick具有远低于clk的频率;
rstn-该输入将地址和输出重置为零;
code-该输出表示cacode在相关地址的值。
在操作中,所指定的电路针对每个tick值输出来自cacode的码片序列的连续值,其中变量addr被用来保留所述码片序列内的地址或当前位置。将要理解的是,该电路的寻址部件是顺序的(而不是纯组合的),原因在于对于每个代码码片输出保留并增加了当前的输出地址。然而,从功能角度来看,我们能够认为所述电路具有用于存储包括地址解码的扩频码的第一部分和用于生成地址并由此控制所述扩频码输出的第二部分。从这个角度来看,用于存储扩频码和地址解码的第一部分是组合的,而用于生成地址并控制扩频码输出的第二部分是顺序的。将要理解的是,所述组合和顺序部分的这种区别在功能级是清楚的,但是在物理实现级别,两个部分通常是集成的(参见下文)。
本领域技术人员将知晓代码存储单元的各种其他的可能规范。例如,可以对附录1的实施例进行修改以使得phset被定义为一直有效,在这种情况下,所述电路将输出phase指定的地址所定义的代码码片。在这样的实施例中,在电路自身内没有状态信息,而关于代码序列内的位置的该信息必须在外部保存,例如通过提供phase信号的电路部件来保存(并且其接着能够由此增加phase信号)。在理论上这样的实施方式将允许代码存储单元是纯组合的,不过实际上可能提供顺序部件。
图6是基于来自附录1的VHDL代码的逻辑综合所得出的网表的示意性示例。对于电路存在5个输入,它们从上到下为phset、tick、phase(5:0)、rstn和clk,加上单个输出code(代码)。所述电路主要包括门形式的组合逻辑(注意,图6中的矩形也对应于门组合)。图6的电路还包括7个触发器(这些触发器都在其使能输入上连接到clk信号并且在其下连接到rstn输入)。在这7个触发器中,6个实际上被用于保存地址的6个比特。其余的触发器被用来缓冲代码输出的单个码片,不过在其他实施例中这可以省略。(寻址触发器包括相对高比例的图6布局,原因在于代码很短,仅64码片;对于较长的代码而言,寻址触发器将包括较少比例的电路。)图6的网表能够被用作对半导体生产操作所遵循的部件布置和路由的确定的输入(分别对应于图5中的操作550和560)。所述半导体生产可以通过适当方法来实现,例如实际设备的平板印刷、FPGA的配置等。
将要理解的是,图6的特定示意(包括对应于电路矩形的门组合)对于如可在逻辑综合期间所链接的各种库所指定的某一类型设备的特定制造商的技术是特定的。(制造商特定库还可以被用于电路布置和路由)。因此对于图6而言,制造商是Amtel,它是执行半导体设备合同制造的公司,并且布局适于ASIC。使用来自其他制造商的技术将会产生不同的网表和用于实施附录1的VHDL电路的布局。因此,图6仅提供了作为宽泛示意以图示来自逻辑综合的输出,并且其详细结构对于理解本发明并不重要。
与基于触发器或静态RAM单元的标准存储器实施方式或其他这样类似的常规存储器体系结构相比,使用组合逻辑来存储扩频码能够显著节省门。
代码 | 寄存器 | 面积(μm2) | 等效NAND门 |
Gal L1 4096存储器 | 4096+12 | 79300 | 6344 |
Gal L1 4096组合 | 13 | 13745 | 1078 |
Gal E5A 10230存储器 | 10230+14 | 194312 | 15545 |
Gal E5A 10230组合 | 15 | 27565 | 2514 |
GPS1023代码LFSR | 74 | 8282 | 663 |
GPS 1023存储器 | 1023+10 | 21681 | 1735 |
GPS 1023组合 | 13 | 5400 | 432 |
表1:代码存储的电路要求
表1的第一和第三行对应于用于保存扩频码的“标准”存储器(静态RAM)实施方式的估计,如以上分别对于Galileo L1和E5a信号得到的那样。表1的第二和第四行对应于如以上关于图5和6所描述的基于使用逻辑综合的组合逻辑的实施方式。从表1将会看出,与标准的存储器实施方式相比,使用组合逻辑在寄存器(触发器)、门和电路面积方面提供了非常重大的80%节省或更多。
注意,表1的第二行和第四行中的数字反映了来自逻辑综合(假设ASIC实施方式)的输出,并且这应当被认为是真实的潜在实施方式而不仅仅是估计。当然,应当意识到的是,这些数字对于例如使用来自不同制造商、FPGA(而不是ASIC)等的其他潜在实施方式会有所不同。例如,可能使用完全定制的VLSI实施方式来提供甚至更为紧凑的实施方式。当然,这样的定制VLSI实施方式将明显比使用FPGA或ASIC更为昂贵,不过在商业上对于大众市场接收器而言是可行的。
表1的最后三行涉及用于GPS的1023码片CA代码。表1的第六和第七行分别表示在常规存储器中存储该代码以及使用组合逻辑存储该代码。能够再次看到,使用组合逻辑来存储存储器代码引起了门和电路面积的明显节省。表1的第五行给出使用LFSR的1023码片扩频码的实际实施方式的数字(由于GPS代码是Gold码)。将会注意到,与组合逻辑相关的实施方式复杂度与LFSR实施方式(其要求相对高数量的寄存器)处于相同级别,并且在该特定情况下,其甚至更为紧凑。因此,即使对于Gold码和其他数学生成的代码而言,使用用于存储扩频码的组合逻辑潜在上是有吸引力的。
将会意识到,使用用于存储代码的组合逻辑实际上产生硬接线到接收器中的代码。然而,用于卫星星座的扩频码集合很可能稳定达许多年(利用GPS的情况确实是这样)。在一些情况下,能够将扩频码灵活分配到不同的接收信道通常比能够改变扩频码本身更为重要。前者的方面能够利用如以上针对图3和4所描述的包括用于存储扩频码的组合逻辑的接收器来实现。
接收器可以被提供以所存储的被指定为备选的至少一对卫星的代码(除了用于主要的卫星星座的代码之外)。在原始集合的卫星中任何一个失效的情况下这些替代卫星将被带入导航星座中。假设分配给替代卫星的代码是事先知道的,它们还能够被存储到使用组合逻辑的接收器中,并且例如如以上针对图3和4所描述的那样酌情切换。在其他实施例中,接收器可以被提供以诸如PROM或RAM之类的常规存储器,其然后将被加载以任意新的卫星扩频码(以结合这里描述的一个或多个代码存储单元中所保存的那些扩频码进行工作)。
在一些实施方式中,接收器可以存储例如Galileo和GPS的至少两个卫星星座的扩频码,以便提供组合的位置信息。虽然GPS扩频码是Gold码,并且一般在接收器内使用LFSR来生成,但是如果需要,作为代替还可以使用组合逻辑将GPS代码作为完整码片模式进行存储(与使用LFSR相反,其实际上存储了用于生成码片模式的算法而不是码片模式本身)。如从表1所注意到的,使用用于存储完整GPS代码的组合逻辑实际上产生了比基于LFSR的实施方式更为紧凑的实施方式。因此,使用用于保存扩频码的组合逻辑与特定或预定的代码模式相兼容,而且与从诸如基于Gold码的那些数学算法所得到的常规代码模式相兼容。还将理解的是,组合逻辑能够被用于保存扩频码的一级代码和/或二级代码部分,或者用于保存表示一级和二级代码的结果组合的完整比特序列。
用于存储扩频码的组合逻辑不仅能够被合并到接收器中,而且还可以被合并到卫星中。在这种情况下,组合逻辑被用于存储扩频码以便于在要向地球广播的信号中使用。然而,这里所描述的方法通常对于接收器比对于卫星更具吸引力。因此,卫星仅需要存储其自己的扩频码(而不是整个星座的扩频码),从而对于卫星而言,存储工具上的压力没有接收器那么尖锐。此外,每个卫星将需要特定于其自身的扩频码的不同代码存储单元。与其中能够在所有卫星上使用存储单元的标准集合并由此利用期望的扩频码酌情进行加载的常规存储体系结构相比,这引发了硬件验证和制造的复杂度问题。此外,卫星不是大众市场设备,所以不会受到与接收器相同的成本约束。
还将会注意到,虽然这里所描述的方法主要意在用在卫星导航系统中,但是其还可以在当前使用LFSR来生成同步代码、滤波器、滤波器组等的其他导航或通信系统(卫星、陆地或海上)中使用。如以上所提及的,一个特定实例是伪卫星,其生成与来自导航卫星类似但是基于地面的定位信号。伪卫星通常在例如机场周围的要求准确度的位置得以采用,以增大(并模仿)来自卫星的定位信号。因此,伪卫星信号的扩频码可以被存储在这里所描述的使用组合逻辑的接收器中(和/或可能是伪卫星自身中)。
总之,虽然已经在这里描述了各种实施例,但是这仅是以示例的方式提供,并且对这些实施例所进行的许多变化和修改对于本领域技术人员是显而易见的并且落入由所附权利要求及其等同物所确定的本发明的范围之内。
附录1
--File :ca.vhd(Galileo Memcodes)
-----------------------------------------------------------------------------
--Description:Hard-coded LUT for ca code
-----------------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee,std_logic_unsigned.all;
entity cacode is
port(
phase : in std_logic_vector(5 downto 0); --initial code phase
phset : in std_logic; --preset the phase
clk : in std_logic; --clock
rstn : in std_logic; --reset
tick : in std_logic; --chip tick
code : out std_logic); --code output
end cacode;
architecture rtl of cacode is
signal addr : std_logic_vector(5 downto 0);--code phase
constant ca : std_logic_vector(0 to 63):=(
′0′,′0′,′1′,′1′,′0′,′1′,′1′,′1′,′1′,′1′,′0′,′0′,′0′,′1′,′1′,
′0′,′1′,′0′,′1′,′1′,′0′,′1′,′1′,′0′,′0′,′0′,′0′,′1′,′1′,′0′,
′1′,′0′,′1′,′1′,′1′,′0′,′1′,′1′,′0′,′0′,′0′,′0′,′0′,′1′,′0′,
′1′,′0′,′1′,′0′,′0′,′1′,′0′,′1′,′1′,′1′,′0′,′1′,′1′,′1′,′0′,
′1′,′0′,′1′,′0′);
begin -- rtl(register transfer level)
readcode:process(clk,rstn)
begin -- process readcode
if rstn=′0′then --asynchronous reset(active low)
addr<=(others=>.′0′);
code<=′0′;
elsif clk′event and clk=′1′then --rising clock edge
if phset=′1′then --preset the code phase
addr<=phase;
elsif tick=′1′then
if addr>=63 then --wrap counter
addr<=(others=>′0′);
else --increment counter
addr<=addr+1;
end if;
end if;
code<=ca(conv_integer(addr));
end if;
end process readcode;
end rtl;
Claims (30)
1.一种供卫星导航系统使用的接收器,所述卫星导航系统包括多个卫星的星座,其中每个卫星传送合并有扩频码的信号,所述接收器包括:
至少一个代码存储单元,所述代码存储单元包括用于存储包含码片的固定模式的存储器代码的组合逻辑,所述存储的存储器代码对应于合并到从卫星传送的信号中的扩频码,其中所述组合逻辑包括用于获取所存储的存储器代码的指定部分的地址解码功能;以及
用于在进入信号和从所述至少一个代码存储单元获取的所存储的存储器代码之间执行相关的相关器。
2.如权利要求1所述的接收器,其中所述接收器存储卫星的星座中每个卫星的不同存储器代码。
3.如权利要求2所述的接收器,其中卫星的不同存储器代码全部被存储在单个代码存储单元中。
4.如权利要求2或3所述的接收器,其中所述至少一个代码存储单元存储多个卫星的存储器代码并且可寻址来输出特定卫星的存储器代码。
5.如权利要求2所述的接收器,其中来自卫星的信号的每个存储器代码被存储在单独的代码存储单元中。
6.如权利要求2至5中任一项所述的接收器,其中所述接收器包括多个接收信道,并且所存储的卫星的存储器代码可以被提供给任意接收信道以便与该接收信道上的进入信号相关。
7.如之前任一项权利要求所述的接收器,其中所述至少一个代码存储单元还包括定序器。
8.如权利要求7所述的接收器,其中所述定序器响应于增加信号而输出来自所存储的存储器代码的一个或多个码片的下一个子集。
9.如权利要求1至8中任一项所述的接收器,其中来自所述至少一个代码存储单元的每个输出包括表示所述存储的存储器代码的多个码片的子集。
10.如之前任一项权利要求所述的接收器,其中卫星的扩频码包括预定的码片序列。
11.如之前任一项权利要求所述的接收器,其中所述至少一个代码存储单元在现场可编程门阵列设备(FPGA)上形成。
12.如权利要求1至10中任一项所述的接收器,其中所述至少一个代码存储单元在专用集成电路(ASIC)上形成。
13.如之前任一项权利要求所述的接收器,其中所述至少一个代码存储单元在与所述相关器相同的半导体设备上形成。
14.如之前任一项权利要求所述的接收器,其中所述至少一个代码存储单元内的组合逻辑存储多个存储器代码,并且不同的输入被加到组合逻辑以选择所述多个存储器代码中不同的存储器代码以用于从代码存储单元输出。
15.一种在卫星导航系统中使用的卫星,所述卫星导航系统包括多个卫星的星座,其中每个卫星传送合并有扩频码的信号,所述卫星包括至少一个代码存储单元,所述代码存储单元包括用于存储包括码片的固定模式的存储器代码的组合逻辑,所述存储的存储器代码对应于要合并到从卫星传送的信号中的扩频码,其中所述组合逻辑包括用于获取所存储的存储器代码的指定部分的地址解码功能。
16.一种用于操作供包括多个卫星的星座的卫星导航系统使用的接收器的方法,其中每个卫星传送合并有扩频码的信号,所述方法包括:
提供至少一个代码存储单元,所述代码存储单元包括用于存储包含码片的固定模式的存储器代码的组合逻辑,所述存储的存储器代码对应于合并到从卫星传送的信号中的扩频码,其中所述组合逻辑包括用于获取所存储的存储器代码的指定部分的地址解码功能;以及
在进入信号和从所述至少一个代码存储单元获取的所存储的存储器代码之间执行相关。
17.如权利要求16所述的方法,其中所述接收器存储卫星的星座中每个卫星的不同存储器代码。
18.如权利要求17所述的方法,其中卫星的不同存储器代码全部被存储在单个代码存储单元中。
19.如权利要求17或18所述的方法,进一步包括:
在单个代码存储单元中存储多个卫星的扩频码;以及
对所述单个代码存储单元进行寻址以输出特定卫星的存储器代码。
20.如权利要求17所述的方法,其中把来自卫星的信号的每个存储器代码存储在单独的代码存储单元中。
21.如权利要求17至20中任一项所述的方法,其中所述接收器包括多个接收信道,并且所述方法进一步包括提供控制信号以将所存储的卫星的存储器代码从所述至少一个代码存储单元路由到任意期望的接收信道以便与该接收信道上的进入信号相关。
22.如权利要求16至21中任一项所述的方法,其中所述至少一个代码存储单元还包括定序器,所述定序器响应于增加信号而输出来自所存储的存储器代码的一个或多个码片的下一个子集。
23.如权利要求16至21中任一项所述的方法,其中来自所述至少一个代码存储单元的每个输出包括表示所述存储的存储器代码的多个码片的子集。
24.如权利要求16至23中任一项所述的方法,其中卫星的扩频码包括预定的码片序列。
25.如权利要求16至24中任一项所述的方法,其中所述至少一个代码存储单元内的组合逻辑存储多个存储器代码,并且将不同的输入加到组合逻辑以选择所述多个存储器代码中不同的存储器代码以用于从代码存储单元输出。
26.一种用于生产供卫星导航系统使用的接收器的方法,所述卫星导航系统包括多个卫星的星座,其中每个卫星传送合并有扩频码的信号,所述方法包括:
确定要在接收器内存储的卫星扩频码;
在接收器内提供至少一个代码存储单元,所述至少一个代码存储单元包括组合逻辑,所述组合逻辑用于存储与卫星扩频码相对应的码片的固定模式,其中所述组合逻辑包括用于获取所存储的存储器代码的指定部分的地址解码功能。
27.如权利要求26所述的方法,其中提供至少一个代码存储单元包括在硬件描述语言内产生码片的固定模式的规范,并且使用逻辑综合来实施所述规范。
28.如权利要求27所述的方法,其中所述规范在现场可编程阵列上实施。
29.如权利要求27所述的方法,其中所述规范在专用集成电路上实施。
30.如权利要求26至29中任一项所述的方法,其中所述卫星扩频码是预定代码。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2006/002497 WO2007101454A1 (en) | 2006-03-09 | 2006-03-09 | A receiver and transmitter for use in a satellite navigation system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101443675A true CN101443675A (zh) | 2009-05-27 |
CN101443675B CN101443675B (zh) | 2013-01-02 |
Family
ID=37216090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800545187A Active CN101443675B (zh) | 2006-03-09 | 2006-03-09 | 在卫星导航系统中使用的接收器和发射器 |
Country Status (12)
Country | Link |
---|---|
US (1) | US8218601B2 (zh) |
EP (1) | EP1991881B1 (zh) |
JP (1) | JP5781260B2 (zh) |
KR (1) | KR101184269B1 (zh) |
CN (1) | CN101443675B (zh) |
BR (1) | BRPI0621450B1 (zh) |
CA (1) | CA2643713C (zh) |
ES (1) | ES2628540T3 (zh) |
HK (1) | HK1129464A1 (zh) |
PL (1) | PL1991881T3 (zh) |
RU (1) | RU2438145C2 (zh) |
WO (1) | WO2007101454A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116320248A (zh) * | 2023-05-18 | 2023-06-23 | 深圳曦华科技有限公司 | 存储芯片共享系统、方法、相关装置及存储介质 |
CN117406249A (zh) * | 2023-12-14 | 2024-01-16 | 成都安则优科技有限公司 | 一种反无人机卫星导航设备及数据回放方法 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7991042B2 (en) | 2008-02-04 | 2011-08-02 | Mediatek Inc. | GNSS receiver and method for GNSS memory code generation |
US8185718B2 (en) * | 2008-02-04 | 2012-05-22 | Mediatek Inc. | Code memory capable of code provision for a plurality of physical channels |
FR2942325B1 (fr) * | 2009-02-19 | 2011-03-04 | Thales Sa | Procede de lever d'ambiguite, procede de localisation d'un recepteur par radionavigation comprenant une etape de lever d'ambiguite et recepteur de localisation |
US8149900B2 (en) * | 2009-04-02 | 2012-04-03 | Mediatek Inc. | Low complexity acquisition method for GNSS |
EP2449627B1 (en) | 2009-07-01 | 2017-10-04 | Locata Corporation Pty Ltd | Method and apparatus for forming a beam |
CN102073053B (zh) * | 2010-12-20 | 2012-10-03 | 东莞市泰斗微电子科技有限公司 | 一种多模gnss接收机伪随机噪声码发生单元 |
CN103487817B (zh) * | 2013-09-18 | 2015-11-25 | 中国科学院嘉兴微电子与系统工程中心 | 多模多频gnss伪码生成装置 |
WO2016027727A1 (ja) * | 2014-08-20 | 2016-02-25 | ソニー株式会社 | 全地球航法衛星システムの受信装置および受信方法、並びにプログラム |
US10845488B2 (en) * | 2014-10-21 | 2020-11-24 | Topcon Positioning Systems, Inc. | Universal multi-channel GNSS signal receiver |
EP3104195A1 (en) | 2015-06-10 | 2016-12-14 | European Space Agency | Method and apparatus for tracking a binary offset carrier navigation signal |
WO2019020201A1 (en) | 2017-07-28 | 2019-01-31 | European Space Agency | RECEIVER AND METHOD FOR PROCESSING A BROADBAND SIGNAL |
EP3803460A1 (en) * | 2018-05-24 | 2021-04-14 | European Space Agency | Method and apparatus for performing joint channel and time estimation in a gnss receiver |
EP3671281A1 (en) | 2018-12-21 | 2020-06-24 | European Space Agency | Method and system for processing a gnss signal using homomorphic encryption |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4642647A (en) * | 1983-08-29 | 1987-02-10 | Litton Systems, Inc. | Signal generator for radio navigation system |
JPS6313440A (ja) * | 1986-07-02 | 1988-01-20 | Nec Corp | スペクトラム拡散信号の受信装置 |
US4876659A (en) * | 1988-05-02 | 1989-10-24 | The Johns Hopkins University | Pseudo-Random code generator for use with a global positioning system |
FI982203A (fi) * | 1998-10-09 | 2000-04-10 | Nokia Networks Oy | Menetelmä ja generaattori generoida CDMA-radiojärjestelmän ortogonaalinen hajotuskoodi |
JP2000183757A (ja) * | 1998-12-15 | 2000-06-30 | Matsushita Electric Ind Co Ltd | インターリーブ解除装置 |
JP3517829B2 (ja) * | 1999-01-14 | 2004-04-12 | 日本電気エンジニアリング株式会社 | Pn符号発生回路 |
JP2000261324A (ja) * | 1999-03-10 | 2000-09-22 | Fuji Film Microdevices Co Ltd | ハフマン復号化回路 |
US6421372B1 (en) * | 1999-11-10 | 2002-07-16 | Itt Manufacturing Enterprises, Inc. | Sequential-acquisition, multi-band, multi-channel, matched filter |
WO2001050147A1 (en) * | 1999-12-30 | 2001-07-12 | Morphics Technology, Inc. | A configurable code generator system for spread spectrum applications |
US7567636B2 (en) * | 2001-05-18 | 2009-07-28 | Global Locate, Inc. | Method and apparatus for performing signal correlation using historical correlation data |
CA2387891A1 (en) * | 2001-06-08 | 2002-12-08 | Asulab S.A. | Radiofrequency signal receiver with means for correcting the effects of multipath signals, and method for activating the receiver |
JP2003152683A (ja) * | 2001-11-13 | 2003-05-23 | Matsushita Electric Ind Co Ltd | 直交符号発生回路 |
JP2004005011A (ja) * | 2002-04-17 | 2004-01-08 | Kumamoto Technology & Industry Foundation | 擬似乱数の生成方法、それに用いられる装置、記憶媒体及び通信システム |
CN2636555Y (zh) * | 2003-08-27 | 2004-08-25 | 海信集团有限公司 | 无线移动定位通信模块 |
JP2005214916A (ja) * | 2004-02-02 | 2005-08-11 | Sony Corp | Gps受信方法およびgps受信機 |
US7447253B2 (en) * | 2004-02-06 | 2008-11-04 | Glocal Locate, Inc. | Method and apparatus for processing satellite positioning system signals to obtain time information |
-
2006
- 2006-03-09 CA CA2643713A patent/CA2643713C/en active Active
- 2006-03-09 ES ES06707601.8T patent/ES2628540T3/es active Active
- 2006-03-09 WO PCT/EP2006/002497 patent/WO2007101454A1/en active Application Filing
- 2006-03-09 RU RU2008139800/07A patent/RU2438145C2/ru active
- 2006-03-09 BR BRPI0621450-9A patent/BRPI0621450B1/pt active IP Right Grant
- 2006-03-09 US US12/282,980 patent/US8218601B2/en active Active
- 2006-03-09 EP EP06707601.8A patent/EP1991881B1/en active Active
- 2006-03-09 CN CN2006800545187A patent/CN101443675B/zh active Active
- 2006-03-09 KR KR1020087024700A patent/KR101184269B1/ko active IP Right Grant
- 2006-03-09 JP JP2008557598A patent/JP5781260B2/ja active Active
- 2006-03-09 PL PL06707601T patent/PL1991881T3/pl unknown
-
2009
- 2009-08-11 HK HK09107393.9A patent/HK1129464A1/xx unknown
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116320248A (zh) * | 2023-05-18 | 2023-06-23 | 深圳曦华科技有限公司 | 存储芯片共享系统、方法、相关装置及存储介质 |
CN116320248B (zh) * | 2023-05-18 | 2023-08-29 | 深圳曦华科技有限公司 | 存储芯片共享系统、方法、相关装置及存储介质 |
CN117406249A (zh) * | 2023-12-14 | 2024-01-16 | 成都安则优科技有限公司 | 一种反无人机卫星导航设备及数据回放方法 |
CN117406249B (zh) * | 2023-12-14 | 2024-03-08 | 成都安则优科技有限公司 | 一种反无人机卫星导航设备及数据回放方法 |
Also Published As
Publication number | Publication date |
---|---|
ES2628540T3 (es) | 2017-08-03 |
BRPI0621450A2 (pt) | 2012-10-09 |
RU2438145C2 (ru) | 2011-12-27 |
PL1991881T3 (pl) | 2017-12-29 |
US20090147835A1 (en) | 2009-06-11 |
CN101443675B (zh) | 2013-01-02 |
WO2007101454A1 (en) | 2007-09-13 |
BRPI0621450B1 (pt) | 2019-05-07 |
US8218601B2 (en) | 2012-07-10 |
HK1129464A1 (en) | 2009-11-27 |
EP1991881A1 (en) | 2008-11-19 |
CA2643713A1 (en) | 2007-09-13 |
JP5781260B2 (ja) | 2015-09-16 |
EP1991881B1 (en) | 2017-05-03 |
CA2643713C (en) | 2013-09-03 |
KR101184269B1 (ko) | 2012-09-21 |
KR20090010027A (ko) | 2009-01-28 |
RU2008139800A (ru) | 2010-04-20 |
JP2009529814A (ja) | 2009-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101443675B (zh) | 在卫星导航系统中使用的接收器和发射器 | |
US8401546B2 (en) | Universal acquisition and tracking apparatus for global navigation satellite system (GNSS) | |
CN102707293B (zh) | 一种用于从第一和第二boc波形生成扩展波形的方法和生成器 | |
US7292186B2 (en) | Method and system for synchronizing multiple tracking devices for a geo-location system | |
US8947300B2 (en) | Control and features for satellite positioning system receivers | |
US10088573B2 (en) | Navigation system using spreading codes based on pseudo-random noise sequences | |
US7852907B2 (en) | Performing a correlation in reception of a spread spectrum signal | |
US8810450B2 (en) | Global positioning system receiver timeline management | |
EP2051092A1 (en) | Multiphase code generator and GNSS receiver | |
Fridman et al. | System-on-Chip FPGA-based GNSS receiver | |
JP2002290154A (ja) | 特に無線周波数信号受信器用の数値制御発振器 | |
Betz et al. | DirAc: An integrated circuit for direct acquisition of the M-code signal | |
US20100020783A1 (en) | Processes involving non-coherent integration in a receiver | |
JP2014161012A (ja) | 衛星ナビゲーション・システムに使用するための受信機および送信機 | |
Larosa et al. | Design and verification of search and tracking modules for a FPGA-based GPS receiver | |
Eerola | Design and Silicon Area Optimization of Time-Domain GNSS Receiver Baseband Architectures | |
Raasakka et al. | Modeling multi-core software GNSS receiver with real time SW receiver | |
Shapiro | FPGA-based real-time GPS receiver | |
Longfield | Design And Implementation Of A Low Power Asynchronous Gps Baseband Processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1129464 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1129464 Country of ref document: HK |