BR102020010073A2 - METHOD, SATELLITE GLOBAL NAVIGATION SYSTEM RECEIVER, AND, LEGIBLE STORAGE MEDIA BY NON-TRANSITIONAL COMPUTER - Google Patents

METHOD, SATELLITE GLOBAL NAVIGATION SYSTEM RECEIVER, AND, LEGIBLE STORAGE MEDIA BY NON-TRANSITIONAL COMPUTER Download PDF

Info

Publication number
BR102020010073A2
BR102020010073A2 BR102020010073-4A BR102020010073A BR102020010073A2 BR 102020010073 A2 BR102020010073 A2 BR 102020010073A2 BR 102020010073 A BR102020010073 A BR 102020010073A BR 102020010073 A2 BR102020010073 A2 BR 102020010073A2
Authority
BR
Brazil
Prior art keywords
signal
frequency
satellite
time period
dft
Prior art date
Application number
BR102020010073-4A
Other languages
Portuguese (pt)
Inventor
Wei Yu
Richard G. Keegan
Mark Kaplan
Original Assignee
Deere & Company
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Deere & Company filed Critical Deere & Company
Publication of BR102020010073A2 publication Critical patent/BR102020010073A2/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/35Constructional details or hardware or software details of the signal processing chain
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/29Acquisition or tracking or demodulation of signals transmitted by the system carrier including Doppler, related
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/30Acquisition or tracking or demodulation of signals transmitted by the system code related
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/35Constructional details or hardware or software details of the signal processing chain
    • G01S19/37Hardware or software details of the signal processing chain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details 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/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7073Synchronisation aspects
    • H04B1/7075Synchronisation aspects with code phase acquisition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B2201/00Indexing scheme relating to details of transmission systems not covered by a single group of H04B3/00 - H04B13/00
    • H04B2201/69Orthogonal indexing scheme relating to spread spectrum techniques in general
    • H04B2201/707Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation
    • H04B2201/70715Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation with application-specific features

Abstract

é provido um método para adquirir um sinal de um satélite em um sistema global de navegação por satélite. o sinal inclui um código pseudoaleatório. o método inclui, para cada período de tempo de uma pluralidade de períodos de tempo: gerando amostras do sinal, segmentos das amostras do sinal são correlacionados com uma cópia local do código pseudoaleatório, assim produzindo valores de correlação para o período de tempo. uma transformada discreta de fourier é realizada usando, como entradas, os valores de correlação para o respectivo período de tempo, assim produzindo uma representação de frequência dos valores de correlação para o período de tempo. as representações de frequência dos valores de correlação para a pluralidade de períodos de tempo são combinadas de acordo com uma hipótese de dados. quando uma magnitude das representações de frequência combinadas atende a critérios predefinidos, uma frequência correspondente à magnitude é selecionada como uma frequência de rastreamento para o satélite.a method is provided to acquire a signal from a satellite in a global satellite navigation system. the signal includes a pseudo-random code. the method includes, for each time period, a plurality of time periods: by generating signal samples, segments of the signal samples are correlated with a local copy of the pseudo-random code, thus producing correlation values for the time period. a discrete fourier transform is performed using, as inputs, the correlation values for the respective time period, thus producing a frequency representation of the correlation values for the time period. the frequency representations of the correlation values for the plurality of time periods are combined according to a data hypothesis. when a magnitude of the combined frequency representations meets predefined criteria, a frequency corresponding to the magnitude is selected as a tracking frequency for the satellite.

Description

MÉTODO, RECEPTOR DE SISTEMA GLOBAL DE NAVEGAÇÃO POR SATÉLITE, E, MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIOMETHOD, SATELLITE GLOBAL NAVIGATION SYSTEM RECEIVER, AND, LEGIBLE STORAGE MEDIA BY NON-TRANSITIONAL COMPUTER Pedidos RelacionadosRelated Orders

[001] Este pedido reivindica a prioridade ao Pedido Provisório de Patente dos EUA 62/851.004, depositado em 21 de maio de 2019, que é, pelo presente, incorporado pela referência em sua íntegra.[001] This application claims priority to US Provisional Patent Application 62 / 851,004, filed on May 21, 2019, which is hereby incorporated by reference in its entirety.

Campo TécnicoTechnical Field

[002] As modalidades descritas se referem, no geral, a sistemas de navegação que determinam a posição de um objeto móvel usando sinais de navegação recebidos a partir de uma pluralidade de satélites, e mais métodos e dispositivos para aquisição de sinais a partir de tais satélites.[002] The modalities described refer, in general, to navigation systems that determine the position of a mobile object using navigation signals received from a plurality of satellites, and more methods and devices for acquiring signals from such satellites.

Fundamentos da InvençãoFundamentals of the Invention

[003] Sistemas globais de navegação por satélites (GNSS), tais como GPS, GLONASS, Galileo e BeiDou, são usados em muitas aplicações. Em um sistema GNSS, cada satélite transmite um sinal que identifica o satélite e permite que um receptor determine o tempo no qual o sinal foi enviado. Para fazê-lo, um satélite GNSS transmite um código pseudoaleatório (também chamado de código de ruído pseudoaleatório (PRN)). O código pseudoaleatório é, por exemplo, uma série de uns e zeros que parecem aleatórios, mas, de fato, identificam exclusivamente o satélite. Usando outros dados, tais como dados de efeméride e dados de almanaque, que são codificados no código pseudoaleatório usando vários esquemas de modulação (por exemplo, BPSK, BOC), o receptor pode determinar o tempo no qual o sinal foi enviado. Usando quatro ou mais satélites, o receptor pode determinar sua posição (por exemplo, na Terra).[003] Global satellite navigation systems (GNSS), such as GPS, GLONASS, Galileo and BeiDou, are used in many applications. In a GNSS system, each satellite transmits a signal that identifies the satellite and allows a receiver to determine the time at which the signal was sent. To do this, a GNSS satellite transmits a pseudo-random code (also called a pseudo-random noise code (PRN)). The pseudo-random code is, for example, a series of ones and zeros that appear random, but, in fact, uniquely identify the satellite. Using other data, such as ephemeris data and almanac data, which are encoded in the pseudo-random code using various modulation schemes (for example, BPSK, BOC), the receiver can determine the time at which the signal was sent. Using four or more satellites, the receiver can determine its position (for example, on Earth).

[004] Para que este processo funcione, o receptor GNSS deve “adquirir” o sinal do satélite. Para adquirir o sinal, o receptor GNSS deve determinar diversas ambiguidades, incluindo a frequência do sinal recebido (por exemplo, a frequência na qual assim denominados “recortes” do código PRN são recebidos) e o deslocamento em relação ao código PRN (por exemplo, a fase do código PRN). Assim, a aquisição do sinal do satélite inclui, no mínimo, determinar a correta frequência (por exemplo, a frequência de recorte) e a mudança de código (algumas vezes chamada de um deslocamento de código) do sinal do satélite, conforme recebido no receptor. A maneira convencional para fazê-lo é por suposição e verificação: o receptor usa todas as possíveis “hipóteses de frequência” e “hipóteses de mudança de código” até que a combinação correta seja encontrada.[004] For this process to work, the GNSS receiver must "acquire" the satellite signal. To acquire the signal, the GNSS receiver must determine several ambiguities, including the frequency of the received signal (for example, the frequency at which so-called “clippings” of the PRN code are received) and the offset from the PRN code (for example, the phase of the PRN code). Thus, acquiring the satellite signal includes, at a minimum, determining the correct frequency (for example, the clipping frequency) and code change (sometimes called a code shift) of the satellite signal, as received at the receiver . The conventional way to do this is by guesswork and verification: the receiver uses all possible “frequency hypotheses” and “code change hypotheses” until the correct combination is found.

[005] Este processo pode ser lento, especialmente para sinais GNSS modernos, que tendem a usar códigos PRN mais longos, implicando em um maior número de hipóteses de mudança de código. Além do mais, alguns modernos sistemas GNSS usam tipos de modulação que exigem hipóteses de mudança de código mais finas (por exemplo, modulação BOC em comparação com BPSK). Por exemplo, os sistemas convencionais podem exigir na ordem de 60 segundos para adquirir um sinal Galileo - E1B/E1C a partir de cada satélite, que tem um comprimento de recorte de 4.092 recortes (comparado com 1.023 para GPS - C/A) e um esquema de modulação que exige duas vezes o número de hipóteses de mudança de código, se comparado com GPS - C/A.[005] This process can be slow, especially for modern GNSS signals, which tend to use longer PRN codes, implying a greater number of chances of changing the code. In addition, some modern GNSS systems use types of modulation that require finer code changes (for example, BOC modulation compared to BPSK). For example, conventional systems may require 60 seconds to acquire a Galileo - E1B / E1C signal from each satellite, which has a cut length of 4,092 cutouts (compared to 1,023 for GPS - C / A) and a modulation scheme that requires twice the number of chances to change the code when compared to GPS - C / A.

[006] Assim, há uma necessidade de sistemas e métodos que podem adquirir mais rapidamente os sinais de satélite GNSS.[006] Thus, there is a need for systems and methods that can acquire GNSS satellite signals more quickly.

Breve Descrição dos DesenhosBrief Description of Drawings

[007] Para um melhor entendimento das várias modalidades descritas, a referência deve ser feita à Descrição das Modalidades a seguir, em conjunto com os seguintes desenhos nos quais os números de referência iguais se referem às partes correspondentes por todas as figuras.[007] For a better understanding of the various modalities described, reference should be made to the Description of the Modalities below, together with the following drawings in which the same reference numbers refer to the corresponding parts throughout the figures.

[008] A figura 1 é um diagrama de blocos que ilustra um sistema de navegação, de acordo com algumas modalidades.[008] Figure 1 is a block diagram that illustrates a navigation system, according to some modalities.

[009] A figura 2 é um diagrama de blocos de um sistema de computador, tal como um sistema de computador que é parte de um sistema de navegação de objeto móvel, de acordo com algumas modalidades.[009] Figure 2 is a block diagram of a computer system, such as a computer system that is part of a mobile object navigation system, according to some modalities.

[0010] A figura 3 é um diagrama de blocos de um receptor GNSS, de acordo com algumas modalidades.[0010] Figure 3 is a block diagram of a GNSS receiver, according to some modalities.

[0011] A figura 4 é um diagrama de blocos de um motor de aquisição em um receptor GNSS, de acordo com algumas modalidades.[0011] Figure 4 is a block diagram of an acquisition engine in a GNSS receiver, according to some modalities.

[0012] A figura 5 é um diagrama de blocos de um sub-sistema de um motor de aquisição para adicionar um deslocamento em relação a uma parte temporariamente armazenada de um código PRN amostrado a partir de um sinal do satélite, de acordo com algumas modalidades.[0012] Figure 5 is a block diagram of a subsystem of an acquisition engine to add an offset in relation to a temporarily stored part of a PRN code sampled from a satellite signal, according to some modalities .

[0013] A figura 6 é um diagrama esquemático de um processo para correlacionamento de uma pluralidade de segmentos de amostras de um sinal GNSS proveniente de um satélite com uma cópia local do código pseudoaleatório para o satélite, de acordo com algumas modalidades.[0013] Figure 6 is a schematic diagram of a process for correlating a plurality of sample segments of a GNSS signal from a satellite with a local copy of the pseudo-random code for the satellite, according to some modalities.

[0014] A figura 7 é um diagrama esquemático de um processo de realização de transformadas discretas de Fourier (DFT) separadas para diferentes períodos de tempo do sinal GNSS proveniente do satélite, de acordo com algumas modalidades.[0014] Figure 7 is a schematic diagram of a process for carrying out discrete Fourier transforms (DFT) separated for different time periods of the GNSS signal from the satellite, according to some modalities.

[0015] A figura 8 é um diagrama esquemático de um sub-sistema para combinar os resultados da DFT para uma pluralidade de períodos de tempo (por exemplo, períodos de código PRN) de acordo com uma hipótese de dados, de acordo com algumas modalidades.[0015] Figure 8 is a schematic diagram of a sub-system to combine the results of the DFT for a plurality of time periods (for example, periods of PRN code) according to a data hypothesis, according to some modalities .

[0016] As figuras 9A-9B ilustram os exemplos de hipóteses de dados, de acordo com algumas modalidades.[0016] Figures 9A-9B illustrate the data hypothesis examples, according to some modalities.

[0017] As figuras 10A-10B ilustram um fluxograma de um método de aquisição de um sinal a partir de um satélite em um sistema global de navegação por satélite (GNSS) e, mais particularmente, de aquisição de uma frequência de rastreamento para o satélite, de acordo com algumas modalidades.[0017] Figures 10A-10B illustrate a flowchart of a method of acquiring a signal from a satellite in a global satellite navigation system (GNSS) and, more particularly, of acquiring a tracking frequency for the satellite. , according to some modalities.

[0018] As figuras 11A-11D ilustram um fluxograma de um método de aquisição de um sinal a partir de um satélite em um sistema global de navegação por satélite (GNSS) e, mais particularmente, de aquisição de uma mudança de código para o satélite, de acordo com algumas modalidades.[0018] Figures 11A-11D illustrate a flow chart of a method of acquiring a signal from a satellite in a global satellite navigation system (GNSS) and, more particularly, of acquiring a code change for the satellite , according to some modalities.

[0019] A figura 12 ilustra um fluxograma de um método de aquisição de sinais a partir de um ou mais satélites em um sistema global de navegação por satélite (GNSS) e, mais particularmente, de aquisição de uma frequência de rastreamento e mudança de código para cada um de diversos satélites (por exemplo, para cada satélite em vista do receptor), de acordo com algumas modalidades.[0019] Figure 12 illustrates a flowchart of a method of acquiring signals from one or more satellites in a global satellite navigation system (GNSS) and, more particularly, of acquiring a tracking frequency and code change for each of several satellites (for example, for each satellite in view of the receiver), according to some modalities.

Sumário da InvençãoSummary of the Invention

[0020] Algumas modalidades proveem um sistema, meio de armazenamento legível por computador que armazena instruções, ou um método para aquisição de um sinal a partir de um satélite em um sistema global de navegação por satélite (GNSS).[0020] Some modalities provide a system, computer-readable storage medium that stores instructions, or a method for acquiring a signal from a satellite in a global satellite navigation system (GNSS).

[0021] (A1) Em algumas modalidades, um método é realizado em um receptor de sistema global de navegação por satélite (GNSS) que inclui um ou mais processadores e instruções para execução pelos um ou mais processadores. O método inclui adquirir um sinal a partir de um satélite em um sistema global de navegação por satélite (GNSS). O sinal inclui um código pseudoaleatório para o satélite. A aquisição inclui, para cada respectivo período de tempo de uma pluralidade de períodos de tempo: gerar uma pluralidade de amostras do sinal; correlacionar uma pluralidade de segmentos da pluralidade de amostras do sinal com uma cópia local do código pseudoaleatório para o satélite, assim, produzindo uma pluralidade de valores de correlação para o respectivo período de tempo; realizar uma transformada discreta de Fourier (DFT) usando, como entradas, a pluralidade de valores de correlação para o respectivo período de tempo, assim, produzindo uma representação de frequência dos valores de correlação para o respectivo período de tempo; combinar as representações de frequência dos valores de correlação para a pluralidade de períodos de tempo de acordo com uma hipótese de dados; e, de acordo com uma determinação que uma magnitude das representações de frequência combinadas dos valores de correlação para a pluralidade de períodos de tempo atende critérios predefinidos, selecionar uma frequência correspondente à magnitude como uma frequência de rastreamento para o satélite. O método inclui adicionalmente determinar uma posição do receptor GNSS usando o sinal adquirido pelo menos em parte pelo rastreamento do sinal proveniente do satélite usando a frequência de rastreamento.[0021] (A1) In some modalities, a method is performed on a global satellite navigation system (GNSS) receiver that includes one or more processors and instructions for execution by one or more processors. The method includes acquiring a signal from a satellite on a global satellite navigation system (GNSS). The signal includes a pseudo-random code for the satellite. The acquisition includes, for each respective period of time, a plurality of time periods: generating a plurality of samples of the signal; correlating a plurality of segments of the plurality of signal samples with a local copy of the pseudo-random code for the satellite, thereby producing a plurality of correlation values for the respective time period; perform a discrete Fourier transform (DFT) using, as inputs, the plurality of correlation values for the respective time period, thus producing a frequency representation of the correlation values for the respective time period; combining the frequency representations of the correlation values for the plurality of time periods according to a data hypothesis; and, according to a determination that a magnitude of the combined frequency representations of the correlation values for the plurality of time periods meets predefined criteria, select a frequency corresponding to the magnitude as a tracking frequency for the satellite. The method further includes determining a position of the GNSS receiver using the signal acquired at least in part by tracking the signal from the satellite using the tracking frequency.

[0022] (A2) Em algumas modalidades de (A1), cada segmento correlacionado da pluralidade de amostras do sinal corresponde a uma duração de tempo. A pluralidade de amostras do sinal é gerada usando uma hipótese de frequência grossa. O método inclui repetir as operações de geração, correlacionamento, realização da DFT e combinação com as hipóteses de frequência grossa adjacentes que são separadas por um valor inferior ou igual ao inverso da duração de tempo.[0022] (A2) In some modalities of (A1), each correlated segment of the plurality of signal samples corresponds to a duration of time. The plurality of signal samples is generated using a coarse frequency hypothesis. The method includes repeating the operations of generation, correlation, realization of the DFT and combination with the adjacent coarse frequency assumptions that are separated by a value less than or equal to the inverse of the time duration.

[0023] (A3) Em algumas modalidades de qualquer um de (A1)-(A2), a geração da pluralidade de amostras do sinal inclui: amostrar inicialmente o sinal em um múltiplo inicial de uma hipótese de frequência; e decimar o sinal inicialmente amostrado para produzir a pluralidade de amostras do sinal.[0023] (A3) In some modalities of either (A1) - (A2), the generation of the plurality of signal samples includes: initially sampling the signal in an initial multiple of a frequency hypothesis; and decimating the signal initially sampled to produce the plurality of samples of the signal.

[0024] (A4) Em algumas modalidades de qualquer um de (A1)-(A3), o correlacionamento da pluralidade de segmentos da pluralidade de amostras do sinal com a cópia local do código pseudoaleatório para o satélite para cada respectivo período de tempo da pluralidade de períodos de tempo inclui correlacionar n segmentos da pluralidade de amostras do sinal com a cópia local do código pseudoaleatório, em que n é um número inteiro maior do que um. A DFT é uma DFT de ponto m, em que m é um número inteiro maior do que n. A realização da DFT inclui usar, como entradas, m— η valores zero em adição aos n valores de correlação para o respectivo período de tempo.[0024] (A4) In some modalities of any of (A1) - (A3), the correlation of the plurality of segments of the plurality of signal samples with the local copy of the pseudo-random code for the satellite for each respective time period of the The plurality of time periods includes correlating n segments of the plurality of samples of the signal with the local copy of the pseudo-random code, where n is an integer greater than one. The DFT is a DFT of point m, where m is an integer greater than n. The realization of DFT includes using, as inputs, m— η zero values in addition to the n correlation values for the respective time period.

[0025] (A5) Em algumas modalidades de (A4), cada segmento correlacionado da pluralidade de amostras do sinal corresponde a uma duração de tempo. Um inverso da duração de tempo dividido por m é menor do que uma tolerância de frequência para o rastreamento do sinal do satélite usando a frequência de rastreamento.[0025] (A5) In some modalities of (A4), each correlated segment of the plurality of signal samples corresponds to a duration of time. An inverse of the duration of time divided by m is less than a frequency tolerance for tracking the satellite signal using the tracking frequency.

[0026] (A6) Em algumas modalidades de qualquer um de (A4)-(A5), a realização da DFT por um respectivo período de tempo da pluralidade de períodos de tempo inclui: usar, como entradas, os n valores de correlação para o respectivo período de tempo, em que os n valores de correlação são mudados por n entradas da DFT comparadas com os n valores de correlação para um período de tempo prévio e adjacente da pluralidade de períodos de tempo.[0026] (A6) In some modalities of any of (A4) - (A5), the realization of DFT for a respective period of time from the plurality of time periods includes: using, as inputs, the n correlation values for the respective time period, in which the n correlation values are changed by n DFT entries compared to the n correlation values for a previous and adjacent time period of the plurality of time periods.

[0027] (A7) Em algumas modalidades de qualquer um de (A1)-(A6), as operações de correlacionamento, realização da transformada discreta de Fourier e combinação são realizadas para cada uma de uma pluralidade de hipóteses de mudança de código.[0027] (A7) In some modalities of either (A1) - (A6), the correlation operations, realization of the discrete Fourier transform and combination are performed for each of a plurality of code change hypotheses.

[0028] (A8) Em algumas modalidades de qualquer um de (A1)-(A7), para uma respectiva hipótese de frequência, as operações de correlacionamento, realização da transformada discreta de Fourier e combinação são realizadas para cada um de uma pluralidade de satélites.[0028] (A8) In some modalities of any of (A1) - (A7), for a respective frequency hypothesis, the correlation operations, realization of the discrete Fourier transform and combination are performed for each of a plurality of satellites.

[0029] (A9) Em algumas modalidades de qualquer um de (A1)-(A8), o período de tempo é um período de uma instância completa do código pseudoaleatório.[0029] (A9) In some modalities of any of (A1) - (A8), the time period is a period of a complete instance of the pseudo-random code.

[0030] (B1) Adicionalmente, em algumas modalidades, um método é realizado em um receptor de sistema global de navegação por satélite (GNSS) que inclui um ou mais processadores e instruções para execução pelos um ou mais processadores. O método inclui adquirir um sinal a partir de um satélite em um sistema global de navegação por satélite (GNSS). O sinal inclui um código pseudoaleatório para o satélite que tem um comprimento de recorte predefinido para uma instância completa do código pseudoaleatório. A aquisição inclui: amostrar o sinal em uma frequência respectiva; armazenar uma primeira parte do sinal amostrado em um armazenamento temporário, o armazenamento temporário tendo um tamanho que é menor do que o comprimento de recorte predefinido amostrado na respectiva frequência; para cada respectiva hipótese de mudança de código de uma pluralidade de hipóteses de mudança de código: correlacionar a primeira parte do sinal amostrado com uma cópia local de uma parte do código pseudoaleatório para produzir uma correlação da primeira parte do sinal amostrado com a cópia local da parte do código pseudoaleatório; e, de acordo com uma determinação que a correlação da primeira parte do sinal amostrado com a cópia local da parte do código pseudoaleatório para a respectiva hipótese de mudança de código atende critérios de correspondência, selecionar a hipótese de mudança de código para o rastreamento do satélite. O método inclui adicionalmente determinar uma posição do receptor GNSS usando o sinal adquirido, pelo menos em parte, pelo rastreamento do sinal do satélite usando a hipótese de mudança de código selecionada.[0030] (B1) In addition, in some modalities, a method is performed on a global satellite navigation system (GNSS) receiver that includes one or more processors and instructions for execution by one or more processors. The method includes acquiring a signal from a satellite on a global satellite navigation system (GNSS). The signal includes a pseudo-random code for the satellite that has a predefined clipping length for a complete instance of the pseudo-random code. The acquisition includes: sampling the signal at a respective frequency; storing a first part of the sampled signal in a buffer, the buffer having a size that is less than the predefined clipping length sampled at the respective frequency; for each respective code change hypothesis from a plurality of code change hypotheses: correlate the first part of the sampled signal with a local copy of a part of the pseudo-random code to produce a correlation of the first part of the sampled signal with the local copy of the part of the pseudo-random code; and, according to a determination that the correlation of the first part of the sampled signal with the local copy of the part of the pseudo-random code for the respective code change hypothesis meets correspondence criteria, select the code change hypothesis for satellite tracking . The method further includes determining a position of the GNSS receiver using the signal acquired, at least in part, by tracking the satellite signal using the selected code change hypothesis.

[0031] (B2) Em algumas modalidades de (B1), o método inclui adicionalmente determinar que nenhuma das correlações para a pluralidade de hipóteses de mudança de código atende os critérios de correspondência; armazenar uma segunda parte do sinal amostrado no armazenamento temporário, em que a segunda parte do sinal amostrado é distinta da primeira parte do sinal amostrado; para cada respectiva hipótese de mudança de código da pluralidade de hipóteses de mudança de código: correlacionar a segunda parte do sinal amostrado com a cópia local de uma parte do código pseudoaleatório; e, de acordo com uma determinação que a correlação da segunda parte do sinal amostrado com a cópia local da parte do código pseudoaleatório para a respectiva hipótese de mudança de código atende critérios de correspondência, selecionar a hipótese de mudança de código para rastreamento do satélite.[0031] (B2) In some modalities of (B1), the method additionally includes determining that none of the correlations for the plurality of code change hypotheses meet the correspondence criteria; storing a second part of the sampled signal in temporary storage, wherein the second part of the sampled signal is distinct from the first part of the sampled signal; for each respective code change hypothesis of the plurality of code change hypotheses: correlate the second part of the sampled signal with the local copy of a part of the pseudo-random code; and, according to a determination that the correlation of the second part of the sampled signal with the local copy of the part of the pseudo-random code for the respective code change hypothesis meets correspondence criteria, select the code change hypothesis for tracking the satellite.

[0032] (B3) Em algumas modalidades de (B2), o método inclui adicionalmente, antes do correlacionamento da primeira parte do sinal amostrado com a cópia local de uma parte do código pseudoaleatório, armazenar temporariamente a cópia local da parte do código pseudoaleatório. O correlacionamento da segunda parte do sinal amostrado com a cópia local da parte do código pseudoaleatório é realizado sem rearmazenar temporariamente a cópia local da parte do código pseudoaleatório.[0032] (B3) In some modalities of (B2), the method additionally includes, before correlating the first part of the sampled signal with the local copy of a part of the pseudo-random code, temporarily storing the local copy of the part of the pseudo-random code. The correlation of the second part of the sampled signal with the local copy of the part of the pseudo-random code is performed without temporarily restoring the local copy of the part of the pseudo-random code.

[0033] (B4) Em algumas modalidades de qualquer um de (B2)-(B3), o correlacionamento da primeira parte do sinal amostrado com a cópia local da parte do código pseudoaleatório para cada respectiva hipótese de mudança de código da pluralidade de hipóteses de mudança de código compreende uma primeira iteração de uma pluralidade de iterações de mudança do armazenamento temporário. O correlacionamento da segunda parte do sinal amostrado com a cópia local da parte do código pseudoaleatório para cada respectiva hipótese de mudança de código da pluralidade de hipóteses de mudança de código compreende uma segunda iteração da pluralidade de iterações de mudança do armazenamento temporário. O método inclui adicionalmente: de acordo com uma determinação que critérios de exaustão, em relação à amostragem do sinal usando a respectiva frequência, foram satisfeitos: reamostrar o sinal em uma segunda frequência diferente da respectiva frequência; armazenar uma terceira parte do sinal amostrado na segunda frequência no armazenamento temporário; para cada respectiva hipótese de mudança de código da pluralidade de hipóteses de mudança de código: correlacionar a terceira parte do sinal amostrado na segunda frequência com a cópia local da parte do código pseudoaleatório; e, de acordo com uma determinação que a correlação da terceira parte do sinal amostrado na segunda frequência com a cópia local da parte do código pseudoaleatório para a respectiva hipótese de mudança de código atende critérios de correspondência, selecionar a hipótese de mudança de código para rastreamento do satélite.[0033] (B4) In some modalities of any one of (B2) - (B3), the correlation of the first part of the sampled signal with the local copy of the part of the pseudo-random code for each respective hypothesis of code change of the plurality of hypotheses code change comprises a first iteration of a plurality of temporary storage change iterations. The correlation of the second part of the sampled signal with the local copy of the part of the pseudo-random code for each respective code change hypothesis of the plurality of code change hypotheses comprises a second iteration of the plurality of temporary storage change iterations. The method additionally includes: according to a determination which exhaustion criteria, in relation to the signal sampling using the respective frequency, were satisfied: resampling the signal at a second frequency different from the respective frequency; storing a third part of the signal sampled at the second frequency in the temporary storage; for each respective code change hypothesis of the plurality of code change hypotheses: correlate the third part of the signal sampled in the second frequency with the local copy of the part of the pseudo-random code; and, according to a determination that the correlation of the third part of the signal sampled at the second frequency with the local copy of the part of the pseudo-random code for the respective code change hypothesis meets matching criteria, select the code change hypothesis for tracking of the satellite.

[0034] (B5) Em algumas modalidades de (B4), os critérios de exaustão incluem um critério que é atendido quando um número máximo de iterações de mudança do armazenamento temporário tiver sido exaurido sem selecionar uma hipótese de mudança de código para o satélite.[0034] (B5) In some modalities of (B4), the exhaustion criteria include a criterion that is met when a maximum number of temporary storage change iterations has been exhausted without selecting a code change hypothesis for the satellite.

[0035] (B6) Em algumas modalidades de qualquer um de (B2)-(B5), o método inclui adicionalmente adicionar um deslocamento em relação à hipótese de mudança de código para rastreamento do satélite com base, pelo menos em parte, em um deslocamento entre a primeira parte do sinal amostrado e a segunda parte do sinal amostrado.[0035] (B6) In some modalities of either (B2) - (B5), the method additionally includes adding an offset in relation to the hypothesis of changing the code for tracking the satellite based, at least in part, on a displacement between the first part of the sampled signal and the second part of the sampled signal.

[0036] (B7) Em algumas modalidades de qualquer um de (B1)-(B6), o método inclui adicionalmente adquirir um segundo sinal a partir de um segundo satélite em um segundo sistema global de navegação por satélite (GNSS) distinto do sistema global de navegação por satélite. O segundo sinal inclui um segundo código pseudoaleatório para o segundo satélite que tem um segundo comprimento de recorte predefinido. O armazenamento temporário tem um tamanho que é maior do que o segundo comprimento de recorte predefinido amostrado na respectiva frequência.[0036] (B7) In some modalities of either (B1) - (B6), the method additionally includes acquiring a second signal from a second satellite in a second global satellite navigation system (GNSS) distinct from the system global satellite navigation. The second signal includes a second pseudo-random code for the second satellite that has a predefined second clipping length. The temporary storage has a size that is larger than the second predefined clipping length sampled at the respective frequency.

[0037] (B8) Em algumas modalidades de (B7), a aquisição inclui: para cada respectiva hipótese de mudança de código da pluralidade de hipóteses de mudança de código: correlacionar a primeira parte do sinal amostrado com uma cópia local de uma parte do segundo código pseudoaleatório; de acordo com uma determinação que a correlação da primeira parte do sinal amostrado com a cópia local da parte do segundo código pseudoaleatório para a respectiva hipótese de mudança de código atende os critérios de correspondência, selecionar a hipótese de mudança de código para o rastreamento do segundo satélite.[0037] (B8) In some modalities of (B7), the acquisition includes: for each respective code change hypothesis of the plurality of code change hypotheses: correlate the first part of the sampled signal with a local copy of a part of the second pseudo-random code; according to a determination that the correlation of the first part of the sampled signal with the local copy of the part of the second pseudo-random code for the respective code change hypothesis meets the correspondence criteria, select the code change hypothesis for tracking the second satellite.

[0038] (B9) Em algumas modalidades de qualquer um de (B1)-(B8), a respectiva frequência é um múltiplo integral de uma hipótese de frequência.[0038] (B9) In some modalities of either (B1) - (B8), the respective frequency is an integral multiple of a frequency hypothesis.

[0039] Em algumas modalidades, é provido um receptor de sistema global de navegação por satélite (GNSS) que inclui um ou mais processadores; e instruções de armazenamento de memória que, quando executadas por um receptor de sistema global de navegação por satélite (GNSS) que inclui um ou mais processadores, fazem o receptor GNSS realizar qualquer um dos métodos aqui descritos.[0039] In some modalities, a global satellite navigation system (GNSS) receiver is provided that includes one or more processors; and memory storage instructions that, when executed by a global satellite navigation system (GNSS) receiver that includes one or more processors, cause the GNSS receiver to perform any of the methods described here.

[0040] Em algumas modalidades, é provido um receptor de sistema global de navegação por satélite (GNSS) que inclui um ou mais processadores e meio para realizar qualquer um dos métodos aqui descritos.[0040] In some modalities, a global satellite navigation system (GNSS) receiver is provided that includes one or more processors and means to perform any of the methods described here.

[0041] Em algumas modalidades, é provido um meio de armazenamento legível por computador não transitório que armazena instruções que, quando executadas por um receptor de sistema global de navegação por satélite (GNSS) que inclui um ou mais processadores, fazem o receptor GNSS realizar o qualquer um dos métodos aqui descritos.[0041] In some modalities, a non-transitory computer-readable storage medium is provided that stores instructions that, when executed by a global satellite navigation system (GNSS) receiver that includes one or more processors, make the GNSS receiver perform o any of the methods described here.

Descrição das ModalidadesDescription of Modalities

[0042] A figura 1 é um diagrama de blocos que ilustra um sistema de navegação 100, de acordo com algumas modalidades. O sistema de navegação 100 habilita um objeto móvel 110 (por exemplo, um telefone, receptor GNSS especializado, um barco, um caminhão ou outro veículo, um utensílio agrícola, utensílio de mineração, sistema de perfuração, etc.) para determinar, em qualquer momento, sua atual posição 112 em relação a um sistema de coordenadas global (por exemplo, um sistema de coordenadas para a Terra 114). O objeto móvel 110 é equipado com um receptor de satélite (receptor do sinal de navegação 120), tipicamente, incluindo ou acoplado em uma ou mais antenas de satélite 140, para receber sinais de navegação por satélite a partir de pelo menos quatro satélites 115 que estão orbitando a Terra. Os sinais de navegação por satélite recebidos pelo objeto móvel 110 são, tipicamente, sinais do sistema global de navegação por satélite (GNSS). As Tabelas 1-2 a seguir proveem os exemplos de sinais GNSS provenientes de sistemas GNSS exemplares.

Figure img0001
Figure img0002
[0042] Figure 1 is a block diagram illustrating a navigation system 100, according to some modalities. The navigation system 100 enables a mobile object 110 (for example, a telephone, specialized GNSS receiver, a boat, a truck or other vehicle, an agricultural tool, mining tool, drilling system, etc.) to determine, at any its current position 112 in relation to a global coordinate system (for example, a coordinate system for Earth 114). The movable object 110 is equipped with a satellite receiver (navigation signal receiver 120), typically including or coupled to one or more satellite antennas 140, to receive satellite navigation signals from at least four satellites 115 that are orbiting the Earth. The satellite navigation signals received by the mobile object 110 are typically signals from the global satellite navigation system (GNSS). Tables 1-2 below provide examples of GNSS signals from exemplary GNSS systems.
Figure img0001
Figure img0002

[0043] Nas Tabelas 1-2 expostas, o tipo de sinal se refere aos vários sinais providos pelos vários sistemas GNSS (por exemplo, GPS-C/A é o sinal de aquisição grosso de GPS), Período de PRN é a duração de tempo para uma instância completa do código PRN (em milissegundos), T é a duração de tempo, em milissegundos, durante a qual um único bit de dados é codificado (em milissegundos), e também é a mínima duração de tempo entre transições de valor do sinal devido tanto a modulação de código secundário (SC) quanto a modulação de dados ou ambas, o comprimento de PRN é o número de recortes em uma instância completa do código PRN, e a taxa de recorte é a taxa na qual os recortes são transmitidos (em milhões de recortes por segundo (MCPS)). A taxa na qual os recortes são transmitidos pode diferir da taxa na qual os mesmos são recebidos com base, por exemplo, no efeito Doppler e em outros efeitos. O mínimo comprimento, em milissegundos, mostrado na Tabela 2 é o mínimo valor de dados amostrados necessários, para cada tipo de sinal, para garantir que o receptor possa detectar o início de uma sequência PRN para este tipo de sinal. Para os tipos de sinal nos quais o comprimento mínimo é maior do que a memória de armazenamento temporário da amostra disponível, o receptor usa uma técnica iterativa, descrita com detalhes a seguir, para localizar o início de uma sequência PRN e, assim, determina a fase do sinal recebido a partir de um satélite em particular.[0043] In Tables 1-2 exposed, the signal type refers to the various signals provided by the various GNSS systems (for example, GPS-C / A is the bulk GPS acquisition signal), PRN period is the duration of time for a complete instance of the PRN code (in milliseconds), T is the length of time, in milliseconds, during which a single bit of data is encoded (in milliseconds), and is also the minimum length of time between value transitions of the signal due to either secondary code modulation (SC) or data modulation or both, the length of PRN is the number of cutouts in a complete instance of the PRN code, and the cutout rate is the rate at which the cutouts are transmitted (in millions of clippings per second (MCPS)). The rate at which clippings are transmitted may differ from the rate at which they are received based, for example, on the Doppler effect and other effects. The minimum length, in milliseconds, shown in Table 2 is the minimum value of sampled data needed, for each type of signal, to ensure that the receiver can detect the start of a PRN sequence for this type of signal. For signal types where the minimum length is greater than the available sample buffer memory, the receiver uses an iterative technique, described in detail below, to locate the start of a PRN sequence and thus determine the phase of the signal received from a particular satellite.

[0044] O objeto móvel 110 também recebe informação de correção da órbita do satélite e informação de correção do relógio do satélite (algumas vezes coletivamente chamada de “informação de correção”) para a pluralidade de satélites. A informação de correção é tipicamente difundida por e recebida a partir de um ou mais satélites 118 distintos dos satélites GNSS 115, usando uma antena 142 e um receptor de sinal 152 (veja a figura 2) distintos da antena 140 e do receptor 150 usados para receber os sinais de navegação por satélite. Entretanto, em algumas modalidades, as mesmas antena e receptor são usados para receber tanto os sinais de navegação por satélite quanto a informação de correção.[0044] The movable object 110 also receives satellite orbit correction information and satellite clock correction information (sometimes collectively called "correction information") for the plurality of satellites. Correction information is typically broadcast by and received from one or more satellites 118 other than GNSS 115 satellites, using an antenna 142 and a signal receiver 152 (see figure 2) other than antenna 140 and receiver 150 used for receive satellite navigation signals. However, in some modalities, the same antenna and receiver are used to receive both satellite navigation signals and correction information.

[0045] O objeto móvel 110 determina uma posição de objeto móvel 110, usando os sinais de navegação por satélite recebidos e a informação de correção da órbita do satélite e a informação de correção do relógio do satélite recebidas para a pluralidade de satélites. Em algumas modalidades, os sinais de navegação por satélite recebidos são processados pelo receptor do sinal de navegação 120, incluindo um sistema de circuitos de processamento analógico de sinal 122 e um processador de sinal digital 124, levando em conta a informação de correção, para determinar medições de código e medições de fase para os sinais recebidos a partir de quatro ou mais satélites 115. O sistema de computador embutido 130 determina a posição de objeto móvel 110 com base nestas medições.[0045] The moving object 110 determines a moving object position 110, using the satellite navigation signals received and the satellite orbit correction information and the satellite clock correction information received for the plurality of satellites. In some embodiments, the received satellite navigation signals are processed by the navigation signal receiver 120, including an analog signal processing circuitry system 122 and a digital signal processor 124, taking into account the correction information, to determine code measurements and phase measurements for signals received from four or more satellites 115. The built-in computer system 130 determines the position of moving object 110 based on these measurements.

[0046] A figura 2 é um diagrama de blocos do sistema de computador 130 no, e usado por, um objeto móvel para determinar a posição do objeto móvel, de acordo com algumas modalidades.[0046] Figure 2 is a block diagram of the computer system 130 in, and used by, a moving object to determine the position of the moving object, according to some modalities.

[0047] O sistema de computador 130, tipicamente, inclui um ou mais processadores (algumas vezes chamados de CPUs, processadores de hardware) 202 para executar programas ou instruções; memória 210; uma ou mais interfaces de comunicações 206; e um ou mais barramentos de comunicação 205 para interconectar estes componentes. O sistema de computador 130, opcionalmente, inclui uma interface de usuário 209 que compreende um dispositivo de exibição 211 e um ou mais dispositivos de entrada 213 (por exemplo, um ou mais de um teclado, um mouse, uma tela sensível ao toque, um teclado numérico, etc.) acoplados em outros componentes do sistema de computador 130 pelos um ou mais barramentos de comunicação 205. O receptor do sinal de navegação 150, e receptor(es) complementar(es) 152, se providos, também são acoplados em outros componentes do sistema de computador 130 pelos um ou mais barramentos de comunicação 205. Os um ou mais barramentos de comunicação 205 podem incluir um sistema de circuitos (algumas vezes chamado de um conjunto de recortes) que interconecta e controla as comunicações entre os componentes do sistema.[0047] Computer system 130 typically includes one or more processors (sometimes called CPUs, hardware processors) 202 to execute programs or instructions; memory 210; one or more communications interfaces 206; and one or more communication buses 205 to interconnect these components. Computer system 130 optionally includes a user interface 209 comprising a display device 211 and one or more input devices 213 (for example, one or more of a keyboard, a mouse, a touch screen, a numeric keypad, etc.) coupled to other components of computer system 130 by one or more communication buses 205. The navigation signal receiver 150, and complementary receiver (s) 152, if provided, are also coupled in other components of the computer system 130 by one or more communication buses 205. The one or more communication buses 205 may include a circuit system (sometimes called a set of cutouts) that interconnects and controls communications between the components of the system.

[0048] A interface de comunicação 206 (por exemplo, um receptor ou um transceptor) é usada pelo sistema de computador 130, e, mais no geral, pelo objeto móvel 110, para conduzir a informação para os sistemas externos, e para receber as comunicações a partir dos sistemas externos.[0048] The communication interface 206 (for example, a receiver or a transceiver) is used by computer system 130, and, more generally, by mobile object 110, to carry information to external systems, and to receive information. communications from external systems.

[0049] A memória 210 inclui memória de acesso aleatório em alta velocidade, tais como DRAM, SRAM, DDR RAM ou outros dispositivos de memória de acesso aleatório em estado sólido; e pode incluir memória não volátil, tais como um ou mais dispositivos de armazenamento em disco magnético, dispositivos de armazenamento em disco óptico, dispositivos de memória flash, ou outros dispositivos de armazenamento não voláteis em estado sólido. A memória 210 inclui, opcionalmente, um ou mais dispositivos de armazenamento localizados remotamente da(s) CPU(s) 202. A memória 210, ou, alternativamente, o(s) dispositivo(s) de memória não volátil na memória 210, compreende um meio de armazenamento legível por computador. Em algumas modalidades, a memória 210 ou o meio de armazenamento legível por computador da memória 210 armazenam os seguintes programas, módulos e estruturas de dados, ou um subconjunto dos mesmos:
* um sistema operacional 212 que inclui procedimentos para tratar vários serviços de sistema básicos e para realizar tarefas dependentes de hardware;
* um módulo de comunicações 214 que opera em conjunto com a interface de comunicação 206 (por exemplo, um receptor e/ou um transceptor) para tratar as comunicações entre o objeto móvel 110 e os sistemas externos 160 (figura 1); a conexão entre o sistema de computador 130 e os sistemas externos 160 pode incluir uma rede de comunicação 162, tais como a internet ou uma rede sem fio pública ou proprietária;
* um módulo de interface de usuário 216 para receber a informação a partir de um ou mais dispositivos de entrada 213 da base de dados da interface de usuário 209, e para conduzir a informação para um usuário do objeto móvel 110 por meio de um ou mais dispositivos de exibição ou de saída 211;
* um módulo de navegação 218 para determinar uma posição do objeto móvel;
* um motor de aquisição 220 para aquisição de sinais de satélite a partir de satélites GNSS, incluindo a determinação de uma frequência de rastreamento e uma mudança de código (algumas vezes chamada de um deslocamento de código) para cada um de diversos respectivos satélites GNSS;
* um módulo de rastreamento 222, algumas vezes chamado de módulo de rastreamento do sinal do satélite, que rastreia os sinais de satélite GNSS usando a informação de aquisição (por exemplo, a frequência de rastreamento e a mudança de código) transferida a partir do módulo de aquisição 220. Por exemplo, em algumas modalidades, o módulo de rastreamento 222 amostra (para uso pelo módulo de navegação 218) um sinal do satélite GNSS usando uma frequência de rastreamento e mudança de código determinadas pelo módulo de aquisição 220.
[0049] Memory 210 includes high speed random access memory, such as DRAM, SRAM, DDR RAM or other solid state random access memory devices; and may include non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. Memory 210 optionally includes one or more storage devices located remotely from the CPU (s) 202. Memory 210, or, alternatively, the non-volatile memory device (s) in memory 210, comprises a computer-readable storage medium. In some embodiments, memory 210 or the computer-readable storage medium of memory 210 stores the following programs, modules and data structures, or a subset of them:
* an operating system 212 that includes procedures for handling various basic system services and for performing hardware-dependent tasks;
* a communications module 214 that operates in conjunction with communication interface 206 (for example, a receiver and / or a transceiver) to handle communications between the mobile object 110 and external systems 160 (figure 1); the connection between computer system 130 and external systems 160 may include a communication network 162, such as the internet or a public or proprietary wireless network;
* a user interface module 216 for receiving the information from one or more input devices 213 of the user interface database 209, and for carrying the information to a user of the movable object 110 via one or more display or output devices 211;
* a navigation module 218 for determining a position of the moving object;
* an acquisition engine 220 for acquiring satellite signals from GNSS satellites, including determining a tracking frequency and a code change (sometimes called a code shift) for each of several respective GNSS satellites;
* a 222 tracking module, sometimes called a satellite signal tracking module, which tracks GNSS satellite signals using the acquisition information (for example, the tracking frequency and code change) transferred from the module acquisition 220. For example, in some modalities, the tracking module 222 samples (for use by the navigation module 218) a signal from the GNSS satellite using a tracking frequency and code change determined by the acquisition module 220.

[0050] O sistema operacional 212 e cada um dos supraidentificados módulos e aplicações corresponde a um conjunto de instruções para realizar uma função supradescrita. O conjunto de instruções pode ser executado pelos um ou mais processadores 202 do sistema de computador 130. Os módulos, aplicações ou programas supraidentificados (isto é, conjuntos de instruções) não precisam ser implementados como programas em software, procedimentos ou módulos separados e, assim, vários subconjuntos destes módulos podem ser combinados ou do outra forma rearranjados em várias modalidades. Em algumas modalidades, a memória 210 armazena um subconjunto dos módulos e das estruturas de dados identificados anteriormente. Além do mais, a memória 210 armazena opcionalmente módulos e estruturas de dados adicionais não supradescritos.[0050] The operating system 212 and each of the aforementioned modules and applications corresponds to a set of instructions to perform a function described above. The instruction set can be executed by one or more processors 202 of the computer system 130. The above-identified modules, applications or programs (ie instruction sets) do not need to be implemented as separate software programs, procedures or modules, and thus , several subsets of these modules can be combined or otherwise rearranged in various modalities. In some embodiments, memory 210 stores a subset of the modules and data structures identified earlier. In addition, memory 210 optionally stores additional modules and data structures not described above.

[0051] Pretende-se que a figura 2 seja mais como uma descrição funcional dos vários recursos que podem estar presentes em um sistema de computador 130 de um objeto móvel 110 do que como uma representação esquemática estrutural das modalidades aqui descritas. Na prática, e da forma reconhecida pelos versados na técnica, os itens mostrados separadamente podem ser combinados e alguns itens podem ser separados. Por exemplo, alguns itens mostrados separadamente na figura 2 podem ser combinados em um único módulo ou componente, e itens individuais podem ser implementados usando dois ou mais módulos ou componentes. O número real de módulos e componentes, e como os recursos são alocados entre os mesmos irão variar de uma implementação para uma outra.[0051] It is intended that figure 2 is more as a functional description of the various resources that may be present in a computer system 130 of a mobile object 110 than as a structural schematic representation of the modalities described here. In practice, and as recognized by those skilled in the art, the items shown separately can be combined and some items can be separated. For example, some items shown separately in figure 2 can be combined into a single module or component, and individual items can be implemented using two or more modules or components. The actual number of modules and components, and how resources are allocated between them, will vary from one implementation to another.

[0052] Além do mais, em algumas modalidades, algumas ou todas as funções supradescritas podem ser implementadas com circuitos de hardware (por exemplo, que podem compreender processadores de elementos gráficos para a realização eficiente das transformadas discretas de Fourier (DFTs), arranjos de porta programáveis no campo (FPGAs), circuitos integrados específicos de aplicação (ASICs), um “sistema em um recorte” que inclui processadores e memória, ou congêneres). Para este fim, em algumas modalidades, as CPUs 202 incluem hardware especializado para realizar estas e outras tarefas. Em algumas modalidades, estas operações são realizadas pelo receptor do sinal de navegação 150/152 em vez de pelo sistema de computador 130.[0052] Furthermore, in some modalities, some or all of the functions described above can be implemented with hardware circuits (for example, which can comprise graphics processors for the efficient realization of discrete Fourier transforms (DFTs), field programmable ports (FPGAs), application-specific integrated circuits (ASICs), a “cut-out system” that includes processors and memory, or the like). To this end, in some embodiments, CPUs 202 include specialized hardware to perform these and other tasks. In some embodiments, these operations are performed by the navigation signal receiver 150/152 instead of the computer system 130.

[0053] A figura 3 é um diagrama de blocos de um receptor GNSS 300, de acordo com algumas modalidades. Uma antena 140 recebe um sinal GNSS a partir de um satélite (por exemplo, satélite 115, figura 1). Em algumas modalidades, a antena 140 recebe um sinal GNSS a partir de cada um de uma pluralidade de satélites (por exemplo, quatro ou mais satélites em uma respectiva constelação de satélites). Em algumas modalidades, a antena 140 recebe um sinal GNSS a partir de uma pluralidade de satélites de uma pluralidade de diferentes constelações (por exemplo, recebe sinais GPS, sinais GLONASS, e/ou sinais BeiDou). Assim, em algumas modalidades, o receptor GNSS 300 é um receptor multiconstelações multifrequências (MCMF). Os sinais recebidos a partir da antena 140 são amplificados por um amplificador de baixo ruído 304 e passados tanto para um canal de alta frequência 301a e um canal de baixa frequência 301b.[0053] Figure 3 is a block diagram of a GNSS 300 receiver, according to some modalities. An antenna 140 receives a GNSS signal from a satellite (for example, satellite 115, figure 1). In some embodiments, antenna 140 receives a GNSS signal from each of a plurality of satellites (for example, four or more satellites in a respective satellite constellation). In some embodiments, antenna 140 receives a GNSS signal from a plurality of satellites from a plurality of different constellations (for example, it receives GPS signals, GLONASS signals, and / or BeiDou signals). Thus, in some modalities, the GNSS 300 receiver is a multi-frequency multi-constellation receiver (MCMF). The signals received from antenna 140 are amplified by a low noise amplifier 304 and passed to both a high frequency channel 301a and a low frequency channel 301b.

[0054] Os canais 301a e 301b incluem o sistema de circuitos de processamento analógico 306a e 306b, respectivamente. Em algumas modalidades, o sistema de circuitos de processamento analógico 306a inclui uma cadeia analógica de radiofrequência de alta banda (RF) até frequência intermediária (IF), que pode incluir um ou mais filtros e um amplificador de ganho variável. Em algumas modalidades, o sistema de circuitos de processamento analógico 306b inclui uma cadeia analógica de radiofrequência de baixa banda (RF) até frequência intermediária (IF), que pode incluir um ou mais filtros e um amplificador de ganho variável.[0054] Channels 301a and 301b include the analog processing circuit system 306a and 306b, respectively. In some embodiments, the analog processing circuit system 306a includes a high-frequency (RF) to intermediate frequency (IF) analog chain, which may include one or more filters and a variable gain amplifier. In some embodiments, the analog processing circuit system 306b includes an analog low-frequency (RF) to intermediate frequency (IF) chain, which may include one or more filters and a variable gain amplifier.

[0055] Os canais 301a e 301b incluem conversores analógico para digital (ADC) 308a e 308b, respectivamente. Em algumas modalidades, os ADCs 308a e 308b amostram o sinal GNSS em uma primeira taxa de amostragem (por exemplo, 40,92 MHz). Em algumas modalidades, a primeira taxa de amostragem é um múltiplo (por exemplo, um múltiplo integral) de uma taxa de recorte do sinal GNSS.[0055] Channels 301a and 301b include analog to digital converters (ADC) 308a and 308b, respectively. In some embodiments, ADCs 308a and 308b sample the GNSS signal at a first sampling rate (for example, 40.92 MHz). In some embodiments, the first sampling rate is a multiple (for example, an integral multiple) of a clipping rate for the GNSS signal.

[0056] Os canais 301a e 301b incluem um sistema de circuitos de processamento digital 310a e 310b, respectivamente. Em algumas modalidades, o sistema de circuitos de processamento digital 310a e 310b inclui filtragem seletiva de banda digital ou de sub-banda.[0056] Channels 301a and 301b include a digital processing circuit system 310a and 310b, respectively. In some embodiments, the digital processing circuit system 310a and 310b includes selective digital band or subband filtering.

[0057] Os canais 301a e 301b são passados tanto para um motor de rastreamento do satélite GNSS 314 (por exemplo, por meio do multiplexador de seleção de banda (MUX) 312) quanto para um motor de aquisição do satélite GNSS 316, o que é descrito com detalhes a seguir. Por agora, basta dizer que o motor de aquisição do satélite GNSS 316 determina os parâmetros necessários pelo módulo de rastreamento do satélite GNSS 314 para o rastreamento de satélites, tais como uma mudança de código e uma frequência (por exemplo, frequência de recorte). Além do mais, a informação de pseudofaixa (por exemplo, as medições da distância entre o receptor 300 e cada satélite em um conjunto de quatro ou mais satélites que estão em vista do receptor 300) determinada pelo motor de rastreamento do satélite GNSS 314 é o que é usado para determinar o local do receptor 300.[0057] Channels 301a and 301b are passed both to a GNSS 314 satellite tracking engine (for example, through the band selection multiplexer (MUX) 312) and to a GNSS 316 satellite acquisition engine, which is described in detail below. For now, suffice it to say that the GNSS 316 satellite acquisition engine determines the parameters needed by the GNSS 314 satellite tracking module for tracking satellites, such as a code change and a frequency (for example, clipping frequency). Furthermore, the pseudo-range information (for example, measurements of the distance between receiver 300 and each satellite in a set of four or more satellites that are in view of receiver 300) determined by the GNSS 314 satellite tracking engine is the which is used to determine the location of the receiver 300.

[0058] A figura 4 é um diagrama de blocos de um motor de aquisição 316 em um receptor GNSS, de acordo com algumas modalidades. Em algumas modalidades, a motor de aquisição 316 inclui os subcomponentes descritos a seguir.[0058] Figure 4 is a block diagram of a 316 acquisition engine in a GNSS receiver, according to some modalities. In some embodiments, the acquisition engine 316 includes the subcomponents described below.

[0059] Um módulo de seleção de sub-banda 402 seleciona o sinal digital da banda correspondente a um sinal do satélite que o motor de aquisição 316 está tentando adquirir.[0059] A subband selection module 402 selects the digital signal of the band corresponding to a signal from the satellite that the acquisition engine 316 is trying to acquire.

[0060] Um mixador 404 realiza conversão descendente do sinal para uma frequência de banda base (por exemplo, remove um sinal da portadora). Em algumas circunstâncias, o sinal de banda base produzido pelo mixador 404 é aqui referido como um “sinal inicialmente amostrado” e compreende um sinal digital amostrado na primeira taxa de amostragem, da forma supradescrita (por exemplo, grosseiramente 40 MHz).[0060] A mixer 404 performs downward conversion of the signal to a base band frequency (for example, removes a signal from the carrier). In some circumstances, the baseband signal produced by mixer 404 is referred to here as an “initially sampled signal” and comprises a digital signal sampled at the first sampling rate, as described above (for example, roughly 40 MHz).

[0061] Um oscilador numericamente controlado (NCO) 406 provê um sinal de frequência intermediária para o mixador 404 de forma que o mixador 404 possa realizar a conversão descendente do sinal para a frequência de banda base (por exemplo, apagar o sinal da frequência portadora). Em algumas modalidades, o NCO 406 é suficientemente sintonizável (por exemplo, usando o módulo de deslocamento de frequência 408) para cobrir a incerteza na frequência do sinal do satélite (por exemplo, o inverso da taxa de recorte) resultante de erros do oscilador a bordo e do movimento da linha de visão (LOS) (por exemplo, +/- 10 KHz). Além do mais, alguns sistemas GNSS, tal como GLONASS, desloca as frequências de diferentes sinais de satélite (por exemplo, sinais GLONASS são deslocados uns dos outros em intervalos de aproximadamente 500 KHz). Em algumas modalidades, durante a realização de uma busca de frequência (por exemplo, da forma descrita em relação ao método 1000, figuras 10A-10B), o módulo de deslocamento de frequência 408 ajusta a frequência do NCO 406 em etapas de hipótese de frequência grossa predefinidas, que podem ser controladas por uma tabela de busca.[0061] A numerically controlled oscillator (NCO) 406 provides an intermediate frequency signal for the mixer 404 so that the mixer 404 can perform the downward conversion of the signal to the baseband frequency (for example, clearing the signal from the carrier frequency ). In some embodiments, the NCO 406 is sufficiently tunable (for example, using the frequency displacement module 408) to cover the uncertainty in the frequency of the satellite signal (for example, the inverse of the clipping rate) resulting from oscillator errors a edge and line of sight (LOS) movement (for example, +/- 10 KHz). In addition, some GNSS systems, such as GLONASS, shift the frequencies of different satellite signals (for example, GLONASS signals are shifted from each other at approximately 500 KHz intervals). In some embodiments, when performing a frequency search (for example, as described in relation to method 1000, figures 10A-10B), the frequency displacement module 408 adjusts the frequency of NCO 406 in frequency hypothesis steps predefined, which can be controlled by a lookup table.

[0062] Um módulo de deslocamento de frequência 408 configura (por exemplo, define) a frequência do sinal de frequência intermediária produzido pelo NCO 406.[0062] A frequency displacement module 408 configures (for example, defines) the frequency of the intermediate frequency signal produced by NCO 406.

[0063] Um decimador 410 decima o sinal inicialmente amostrado para produzir um sinal decimado em uma taxa decimada. Por exemplo, em algumas modalidades, o decimador 410 descarta 90 % do sinal inicialmente amostrado (por exemplo, de maneira tal que o sinal decimado tenha uma taxa de amostragem efetiva de 4,092 MHz em vez de, grosseiramente, 40 MHz). Em algumas modalidades, o decimador 410 inclui um filtro passa baixa (por exemplo, um filtro de resposta de impulso finita (FIR) ou um filtro de resposta de impulso infinita (IIR)). Tal processo de filtragem mitiga o ruído de serrilhado causado pela decimação.[0063] A decimator 410 decimates the signal initially sampled to produce a decimated signal at a decimated rate. For example, in some embodiments, decimator 410 discards 90% of the signal initially sampled (for example, in such a way that the decimated signal has an effective sampling rate of 4.092 MHz instead of roughly 40 MHz). In some embodiments, the decimator 410 includes a low pass filter (for example, a finite impulse response filter (FIR) or an infinite impulse response filter (IIR)). Such a filtering process mitigates aliasing noise caused by decimation.

[0064] Um módulo de quantização 412 quantiza o sinal decimado sobre L níveis (por exemplo, em que L é um número inteiro). Por exemplo, o módulo de quantização 412 converte os valores do sinal decimados para um de uma pluralidade predefinida de L valores quantizados (por exemplo, quando L = 2, o módulo de quantização 412 converte o sinal amostrado (por exemplo, amostras do sinal adquirido) em valores do sinal decimados, cada qual tendo um valor 0 ou um valor 1; em um outro exemplo, L = 3, em cujo caso o módulo de quantização 412 converte as amostras do sinal adquirido em valores do sinal decimados, cada qual tendo um valor de 1, 0 ou -1). O módulo de quantização 412, assim, reduz o valor da memória de amostra 414 exigido para armazenar uma parte do sinal amostrado. Percebe-se que a aquisição do sinal é menos sensível aos erros de quantização do que o rastreamento de sinal.[0064] A quantization module 412 quantizes the signal decimated over L levels (for example, where L is an integer). For example, the quantization module 412 converts the decimated signal values to one of a predefined plurality of L quantized values (for example, when L = 2, the quantization module 412 converts the sampled signal (for example, samples of the acquired signal ) in decimated signal values, each having a value of 0 or a value 1; in another example, L = 3, in which case the quantization module 412 converts the acquired signal samples into decimated signal values, each having a value of 1, 0 or -1). The quantization module 412 thus reduces the value of sample memory 414 required to store a portion of the sampled signal. It is noticed that the signal acquisition is less sensitive to quantization errors than the signal tracking.

[0065] Uma memória de amostra 414 armazena uma parte temporariamente armazenada de um sinal do satélite decimado amostrado (por exemplo, pelo menos uma parte do sinal de amostra decimado quantizado recebido a partir de um ou mais satélites). Da forma descrita com mais detalhes a seguir, em algumas modalidades, ou algumas circunstâncias, a parte armazenada do sinal de amostra quantizado decimado corresponde a menos do que a íntegra de uma instância do código PRN usado por um satélite em particular (por exemplo, ou menos do que duas vezes a íntegra de uma instância do código PRN para o satélite). Em algumas modalidades, a memória de amostra 414 é suficientemente grande para armazenar duas vezes o comprimento de um código PRN de comprimento médio (por exemplo, tal como um código PRN proveniente de um sinal Galileo E1B/E1C). As modalidades descritas a seguir proveem maneiras diferentes de determinar uma mudança de código, dependendo se a memória de amostra 414 tem um tamanho que é maior do que ou menor do que duas vezes o comprimento do código PRN do satélite cujo sinal está sendo adquirido (assim, dependendo de qual tipo do sinal do satélite está sendo adquirido).[0065] A sample memory 414 stores a temporarily stored portion of a sampled decimated satellite signal (for example, at least a portion of the quantized decimated sample signal received from one or more satellites). As described in more detail below, in some modalities, or in some circumstances, the stored portion of the decimated quantized sample signal corresponds to less than the full portion of a PRN code instance used by a particular satellite (for example, or less than twice the full PRN code instance for the satellite). In some embodiments, sample memory 414 is large enough to store twice the length of a medium-length PRN code (for example, such as a PRN code from a Galileo E1B / E1C signal). The modalities described below provide different ways of determining a code change, depending on whether the sample memory 414 has a size that is greater than or less than twice the length of the satellite's PRN code whose signal is being acquired (thus , depending on what type of satellite signal is being acquired).

[0066] Uma memória de sequência do local de PRN 416 armazena cópias locais (por exemplo, algumas vezes chamadas réplicas) dos códigos PRN para os respectivos satélites ou armazena os parâmetros necessários para gerar os códigos PRN para o respectivo satélite. Por exemplo, a memória de sequência do local de PRN armazena os códigos PRN (ou os valores necessários para gerar os códigos PRN) para cada satélite em cada constelação para a qual o motor de aquisição 316 pode tentar adquirir um sinal do satélite. Em algumas modalidades, os códigos PRN armazenados (ou gerados) são versões dos códigos PRN correspondentes à frequência decimada (por exemplo, um sinal GPS-CA, com um comprimento de PRN de 1.023 recortes e uma taxa de recorte de 1,023 MHz terá 4.092 valores de comprimento com uma taxa de amostragem decimada de 4,092 MHz). Em algumas modalidades, por motivos que ficarão claros durante a consideração dos processos de correlação descritos a seguir, a memória de sequência do local de PRN 416 armazena (ou gera) os códigos PRN com um comprimento correspondente à metade do tamanho da memória de amostra 414 (por exemplo, independente do comprimento real da íntegra de uma instância do código PRN). Os códigos PRN localmente armazenados ou gerados na memória 416 são, em alguns casos, para códigos PRN longos (por exemplo, códigos PRN com 10.230 recortes, transmitidos durante um período de 10 ms), mais curtos do que o correspondente código PRN completo usado por um respectivo satélite.[0066] A PRN 416 local sequence memory stores local copies (for example, sometimes called replicas) of the PRN codes for the respective satellites or stores the parameters necessary to generate the PRN codes for the respective satellite. For example, the PRN location sequence memory stores the PRN codes (or the values needed to generate the PRN codes) for each satellite in each constellation for which the acquisition engine 316 can attempt to acquire a signal from the satellite. In some embodiments, the stored (or generated) PRN codes are versions of the PRN codes corresponding to the decimated frequency (for example, a GPS-CA signal, with a PRN length of 1,023 clippings and a clipping rate of 1,023 MHz will have 4,092 values long with a sampled rate of 4.092 MHz). In some embodiments, for reasons that will become clear when considering the correlation processes described below, the sequence memory of the PRN site 416 stores (or generates) the PRN codes with a length corresponding to half the size of the sample memory 414 (for example, regardless of the actual length of the entire PRN code instance). PRN codes locally stored or generated in memory 416 are, in some cases, for long PRN codes (for example, PRN codes with 10,230 clippings, transmitted over a period of 10 ms), shorter than the corresponding full PRN code used by respective satellite.

[0067] Um módulo de processamento 418 realiza várias operações descritas em relação ao método 1000 (figuras 10A-10B) e/ou ao método 1100 (figuras 11A-11D). Por exemplo, em algumas modalidades, o módulo de processamento 418 correlaciona o código PRN para um satélite, que é armazenado na memória de sequência do local de PRN, com a parte do sinal amostrado na memória de amostra 414, para determinar uma mudança de código (algumas vezes chamada de um deslocamento de código) e frequência para o satélite.[0067] A processing module 418 performs several operations described in relation to method 1000 (figures 10A-10B) and / or method 1100 (figures 11A-11D). For example, in some embodiments, processing module 418 correlates the PRN code for a satellite, which is stored in the sequence memory of the PRN location, with the portion of the signal sampled in sample memory 414, to determine a code change (sometimes called a code shift) and frequency for the satellite.

[0068] Um módulo de controle 420 controla estes e ainda outros componentes.[0068] A control module 420 controls these and other components.

[0069] Em algumas modalidades, o módulo de processamento de seleção de sub-banda 402, o mixador 404 e o NCO 406 operam em uma taxa de relógio correspondente à primeira taxa de amostragem (por exemplo, grosseiramente 40 MHz).[0069] In some modalities, the subband selection processing module 402, the mixer 404 and the NCO 406 operate at a clock rate corresponding to the first sampling rate (for example, roughly 40 MHz).

[0070] Em algumas modalidades, o decimador 410, o módulo de quantização 412 e a memória de amostra 414 operam em uma taxa de relógio correspondente à taxa de amostragem decimada (por exemplo, 4,092 MHz).[0070] In some embodiments, the decimator 410, the quantization module 412 and the sample memory 414 operate at a clock rate corresponding to the decimated sample rate (for example, 4.092 MHz).

[0071] Deve-se notar que a parte temporariamente armazenada do código PRN amostrado a partir do sinal do satélite armazenado na memória de amostra 414 pode incluir todas as maneiras de outras informação e ruído, tais como códigos PRN provenientes de outros satélites (por exemplo, além do satélite que é adquirido) e um ou mais sinais de dados para o satélite que são adquiridos, bem como os sinais de dados provenientes de outros satélites. Assim, da forma aqui usada, o termo “parte temporariamente armazenada do código PRN amostrado a partir do sinal do satélite” significa uma parte de um sinal que inclui o código PRN proveniente do sinal do satélite.[0071] It should be noted that the temporarily stored portion of the PRN code sampled from the satellite signal stored in sample memory 414 may include all forms of other information and noise, such as PRN codes from other satellites (for example , in addition to the satellite being acquired) and one or more data signals for the satellite that are acquired, as well as data signals from other satellites. Thus, as used herein, the term "temporarily stored part of the PRN code sampled from the satellite signal" means a part of a signal that includes the PRN code from the satellite signal.

[0072] Em algumas modalidades, a frequência decimada depende da taxa de recorte do código PRN, bem como do tipo de modulação. Em algumas modalidades, para modulação BPSK, o motor de aquisição GNSS 316 identifica a mudança de código em V de um recorte, de forma que a frequência decimada seja pelo menos duas vezes a taxa de recorte. Em algumas modalidades, durante a aquisição de um sinal do satélite que usa a modulação BOC, em virtude da perda da autocorrelação ser significativamente pior (por exemplo, 3 vezes pior do que para modulação BPSK), uma frequência decimada de quatro vezes a taxa de recorte é empregada.[0072] In some modalities, the frequency decimated depends on the clipping rate of the PRN code, as well as the type of modulation. In some modalities, for BPSK modulation, the GNSS 316 acquisition engine identifies the V-code change of a clipping, so that the frequency decimated is at least twice the clipping rate. In some modalities, when acquiring a signal from the satellite that uses BOC modulation, because the loss of autocorrelation is significantly worse (for example, 3 times worse than for BPSK modulation), a frequency decimated to four times the rate of clipping is employed.

[0073] A figura 5 é um diagrama de blocos de um sub-sistema 500 de um motor de aquisição para adicionar um deslocamento em relação a uma parte temporariamente armazenada de um código PRN amostrado a partir de um sinal do satélite, de acordo com algumas modalidades.[0073] Figure 5 is a block diagram of a subsystem 500 of an acquisition engine to add an offset from a temporarily stored part of a PRN code sampled from a satellite signal, according to some modalities.

[0074] Da forma notada anteriormente, em algumas modalidades, e em algumas circunstâncias (por exemplo, dependendo do sinal GNSS que é adquirido), a memória de amostra 414 é grande o suficiente para testar todas as possíveis hipóteses de mudança de código sem reamostragem e rearmazenamento temporário do sinal. Por exemplo, desde que a memória de amostra 414 seja suficientemente grande para armazenar pelo menos duas instâncias completas do código PRN para o satélite que é adquirido, é garantido que o código PRN começa e termina na parte temporariamente armazenada.[0074] As noted earlier, in some modalities, and in some circumstances (for example, depending on the GNSS signal that is acquired), the sample memory 414 is large enough to test all possible chances of changing the code without resampling and temporary signal re-storage. For example, as long as the sample memory 414 is large enough to store at least two complete instances of the PRN code for the satellite being acquired, the PRN code is guaranteed to start and end at the temporarily stored part.

[0075] Entretanto, o armazenamento de duas instâncias completas do código PRN pode ser impraticável para os sinais de satélite com longos códigos PRN. Por exemplo, o sinal BeiDou B1C tem um comprimento de recorte de 10.230 recortes e usa modulação BOC, implicando a necessidade de um longo armazenamento temporário se duas vezes o comprimento de PRN (na frequência de amostragem decimada) precisar ser armazenado. Em tais situações, é frequentemente mais prático armazenar uma parte do sinal decimado que é menor do que duas vezes o comprimento de PRN. Fazer isto significa que, para a parte temporariamente armazenada do sinal, todas as hipóteses de mudança de código selecionadas podem falhar, em cujo caso o sinal é recoletado (por exemplo, reamostrado e rearmazenado temporariamente) com um deslocamento (se comparado com a parte inicialmente temporariamente armazenada do sinal) e as hipóteses de mudança de código são retentadas.[0075] However, the storage of two complete instances of the PRN code may be impractical for satellite signals with long PRN codes. For example, the BeiDou B1C signal has a cut-out length of 10,230 cut-outs and uses BOC modulation, implying the need for long temporary storage if twice the length of PRN (at the sampled frequency) needs to be stored. In such situations, it is often more practical to store a portion of the decimated signal that is less than twice the length of PRN. Doing this means that, for the temporarily stored part of the signal, all selected code change hypotheses may fail, in which case the signal is collected (for example, resampled and temporarily re-stored) with an offset (compared to the part initially temporarily stored the signal) and the chances of changing the code are retained.

[0076] O sub-sistema 500 provê uma simples solução para amostragem de diferentes partes do código PRN de um satélite através de sucessivas iterações de mudança do armazenamento temporário. Para este fim, para cada iteração de deslocamento de armazenamento temporário, um deslocamento é adicionado na parte temporariamente armazenada do código PRN amostrado a partir de um sinal do satélite (por exemplo, e armazenado na memória de amostra 414). Em algumas modalidades, o deslocamento corresponde a um número inteiro de milissegundos, se comparado com a amostra do sinal GNSS previamente coletada.[0076] The subsystem 500 provides a simple solution for sampling different parts of a satellite's PRN code through successive iterations of changing the temporary storage. For this purpose, for each temporary storage offset iteration, an offset is added to the temporarily stored portion of the PRN code sampled from a satellite signal (for example, and stored in sample memory 414). In some modalities, the displacement corresponds to an integer number of milliseconds, when compared to the sample of the GNSS signal previously collected.

[0077] O sub-sistema 500 exige conhecimento apenas do período da íntegra de uma instância do código PRN (TPRN) do sinal que está sendo adquirido e do comprimento do armazenamento temporário. Dados estes dois parâmetros, o sub-sistema 500 garante que uma parte correspondível do código PRN amostrado será armazenada na memória de amostra 414 em um número razoável de máximas iterações de mudança do armazenamento temporário. Por exemplo, uma memória de amostra 414 armazena 8 ms do sinal amostrado (por exemplo, na taxa decimada) e terá uma parte correspondível do código PRN em oito (indexando de 0 a 7) iterações para um sinal BeiDou B1C ou GPS L1C que tem um código PRN com 10.230 recortes. O sub-sistema 500 é fácil de implementar em hardware (por exemplo, usando um ASIC) e exige muito pouco tempo de processamento. Em algumas modalidades, quando o número máximo de iterações de mudança do armazenamento temporário for exaurido sem identificar uma mudança de código, o motor de aquisição do satélite GNSS 316 (figura 3) se move para uma hipótese de frequência diferente.[0077] Subsystem 500 requires knowledge only of the full period of an instance of the PRN code (TPRN) of the signal being acquired and the length of the temporary storage. Given these two parameters, subsystem 500 ensures that a corresponding part of the sampled PRN code will be stored in sample memory 414 in a reasonable number of maximum temporary iteration changes. For example, a sample memory 414 stores 8 ms of the sampled signal (for example, at the decimated rate) and will have a corresponding part of the PRN code in eight (indexing from 0 to 7) iterations for a BeiDou B1C or GPS L1C signal that has a PRN code with 10,230 clippings. The 500 subsystem is easy to implement on hardware (for example, using an ASIC) and requires very little processing time. In some modalities, when the maximum number of temporary storage change iterations is exhausted without identifying a code change, the GNSS 316 satellite acquisition engine (figure 3) moves to a different frequency hypothesis.

[0078] O sub-sistema 500 inclui um contador 502 que acompanha uma fase de um sinal decimado proveniente do decimador 410. Em algumas modalidades, o contador 502 é um contador de submilissegundo. Por exemplo, em algumas modalidades, o contador 502 conta etapas de tempo (por exemplo, mudanças de fase) na taxa decimada, o que satisfaz a máxima taxa de recorte necessária para qualquer constelação para a qual o motor de aquisição do satélite GNSS 316 pode adquirir um sinal (por exemplo, BeiDou B1I tem a mais rápida taxa de recorte, em 2,046 MHz de qualquer sinal GNSS atualmente implementado, e, assim, em algumas modalidades, o contador 502 conta as etapas de tempo em uma taxa de 4,092 MHz).[0078] Sub-system 500 includes a counter 502 that accompanies a phase of a decimated signal from decimator 410. In some embodiments, counter 502 is a submisecond counter. For example, in some modalities, counter 502 counts time steps (for example, phase changes) in the decimated rate, which satisfies the maximum necessary clipping rate for any constellation for which the GNSS 316 satellite acquisition engine can acquire a signal (for example, BeiDou B1I has the fastest clipping rate, at 2.046 MHz of any GNSS signal currently implemented, and thus, in some modalities, counter 502 counts the time steps at a rate of 4.092 MHz) .

[0079] O sub-sistema 500 inclui um contador 504 (por exemplo, um contador de segundo) que acompanha um deslocamento de fase de milissegundo associado com o tempo de processamento pelo sistema de aquisição do satélite GNSS 316. Em algumas modalidades, o contador 504 é um contador de milissegundo que conta o deslocamento de tempo em milissegundo (por exemplo, tem o efeito de calcular uma fase que é uma função ceiling do tempo de processamento para o processamento de uma sequência PN).[0079] Subsystem 500 includes a counter 504 (for example, a second counter) that accompanies a millisecond phase shift associated with the processing time by the GNSS 316 satellite acquisition system. In some embodiments, the counter 504 is a millisecond counter that counts the time shift in milliseconds (for example, it has the effect of calculating a phase that is a ceiling function of the processing time for processing a PN sequence).

[0080] O sub-sistema 500 inclui um somador 506 que adiciona as saídas do contador 502 e do contador 504 e provê o resultado como um índice 507 para a memória de amostra 414. O índice 507, algumas vezes chamado de índice de armazenamento temporário atual, é igual ao valor de contador 502 mais o valor de contador 504, e indica o endereço na memória 414 no qual o sub-sistema 500 armazena a atual amostra decimada (por exemplo, a memória de amostra 414 armazena a amostra atual no endereço definido pelo índice 507).[0080] Subsystem 500 includes an adder 506 that adds the outputs of counter 502 and counter 504 and provides the result as an index 507 to sample memory 414. Index 507, sometimes called the temporary storage index current, is equal to counter value 502 plus counter value 504, and indicates the address in memory 414 where subsystem 500 stores the current decimated sample (for example, sample memory 414 stores the current sample at the address defined by index 507).

[0081] Quando o receptor GNSS 300 estiver sendo usado para adquirir os sinais de navegação que têm um comprimento mínimo (veja a Tabela 2), igual a duas sequências PRN integrais, que é maior do que a capacidade da memória de amostra 214, o receptor 300 realiza múltiplas iterações de armazenamento das amostras de dados na memória de amostra 414 e análise destes dados, até que qualquer uma das duas sequências PRN integrais do sinal tenha sido adquirida e analisada, ou a fase do sinal tenha sido determinada. Em decorrência disto, até mesmo sinais de navegação com longas sequências PRN podem ser adquiridos usando uma memória de amostra de comprimento fixo que é menor do que o mais longo “comprimento mínimo” de dados amostrados que pode ser necessário para detectar a fase do início da sequência PRN nestes sinais.[0081] When the GNSS 300 receiver is being used to acquire navigation signals that have a minimum length (see Table 2), equal to two integral PRN sequences, which is greater than the capacity of the sample memory 214, the receiver 300 performs multiple iterations of storing data samples in sample memory 414 and analyzing this data, until either of the two integral PRN sequences of the signal has been acquired and analyzed, or the phase of the signal has been determined. As a result, even navigation signals with long PRN sequences can be acquired using a fixed-length sample memory that is less than the longest “minimum length” of sampled data that may be required to detect the start phase of the PRN sequence in these signals.

[0082] Em algumas modalidades, para evitar coletar amostras de sinal provenientes de qualquer uma das partes de uma sequência PRN que já foi coletada e analisada, sem localizar o início da sequência PRN no sinal amostrado, o sub-sistema 500 verifica esta condição usando o módulo de decisão lógica 512, e, se a condição for atendida, o início da nova iteração de coleta de amostras de sinal é atrasado em um valor de tempo predefinido, tal como um milissegundo, que é equivalente a avançar a fase da próxima iteração de amostragem de dados por este valor de tempo predefinido (por exemplo, 1 milissegundo), se comparado com uma iteração anterior. Para este fim, o sub-sistema 500 inclui um módulo lógico 508 que habilita um contador de módulo 510 quando a coleta de amostras de sinal (por exemplo, para uma hipótese de frequência em particular, da forma discutida a seguir) for começar. O contador de módulo 510 mede o período do processamento em milissegundos contra o período de sequência PRN em milissegundos (por exemplo, determina o módulo do período do processamento em relação ao período de sequência PRN), cujo resultado usado por uma unidade de decisão 512 para decidir se adiar a próxima coleta de amostras de sinal pelo valor de tempo predefinido (por exemplo, 1 milissegundo). Se a condição testada pela unidade de decisão 512 for atendida, o atraso da próxima coleta de amostras de sinal pelo valor de tempo predefinido evita coletar amostras de sinal para uma parte da sequência PRN que já foi coletada e analisada. Se a condição testada pela unidade de decisão 512 não for atendida, a fase PRN das amostras de sinal que são atualmente produzidas pelo decimador 410 é diferente daquela da(s) iteração(ões) anterior(es), e, portanto, o armazenamento das amostras de sinal na memória de amostra 414 prossegue sem, primeiro, esperar que o valor de tempo predefinido decorra. Em algumas modalidades, outros mecanismos e métodos são usados para garantir que as amostras de sinal correspondentes a todas as partes de uma sequência PRN sejam temporariamente armazenadas e analisadas, através de múltiplas iterações de coleta e análise, durante o processamento dos sinais de satélite cujas sequências PRN forem longas o suficiente em que as amostras de sinal para duas sequências PRN integrais não podem ser todas armazenadas na memória de amostra ao mesmo tempo.[0082] In some modalities, to avoid collecting signal samples from any part of a PRN sequence that has already been collected and analyzed, without locating the beginning of the PRN sequence in the sampled signal, subsystem 500 verifies this condition using logic decision module 512, and, if the condition is met, the start of the new signal sampling iteration is delayed by a predefined time value, such as a millisecond, which is equivalent to advancing the next iteration phase data sampling by this predefined time value (for example, 1 millisecond), compared to a previous iteration. To this end, subsystem 500 includes a logic module 508 that enables a module counter 510 when signal sample collection (for example, for a particular frequency hypothesis, as discussed below) begins. The module counter 510 measures the processing period in milliseconds against the PRN sequence period in milliseconds (for example, it determines the module of the processing period in relation to the PRN sequence period), the result of which is used by a decision unit 512 for decide whether to postpone the next signal sample collection for the preset time value (for example, 1 millisecond). If the condition tested by decision unit 512 is met, the delay of the next signal sample collection by the predefined time value avoids collecting signal samples for a part of the PRN sequence that has already been collected and analyzed. If the condition tested by decision unit 512 is not met, the PRN phase of the signal samples that are currently produced by decimator 410 is different from that of the previous iteration (s), and therefore the storage of the signal samples in sample memory 414 proceed without first waiting for the predefined time value to elapse. In some embodiments, other mechanisms and methods are used to ensure that signal samples corresponding to all parts of a PRN sequence are temporarily stored and analyzed, through multiple collection and analysis iterations, during the processing of satellite signals whose sequences PRN are long enough that the signal samples for two integral PRN sequences cannot all be stored in the sample memory at the same time.

[0083] A figura 6 é um diagrama esquemático de um processo 600 para correlacionamento de uma pluralidade de segmentos 606 de amostras de um sinal GNSS proveniente de um satélite com segmentos 604 (por exemplo, 604a a 604p) de uma cópia local do código pseudoaleatório para o satélite (por exemplo, armazenado ou gerado pela memória de sequência do local de PRN 416), de acordo com algumas modalidades. Os segmentos 604 são algumas vezes chamados de segmentos de código, segmentos de código PRN, ou segmentos de sequência PRN, todos os quais têm o mesmo significado. No processo 600, para cada um de uma pluralidade de períodos de tempo 602 (por exemplo, períodos de tempo adjacentes 602a até 602d), uma pluralidade de segmentos 604 de uma sequência PRN local são correlacionados (por exemplo, usando um correlacionador 610) com correspondentes segmentos 606 em um primeiro deslocamento em relação ao resultado em um primeiro conjunto de correlações. Então, os segundos segmentos 608 das amostras do sinal GNSS proveniente do satélite, que são mudados em 1 amostra em relação aos primeiros segmentos 606, são correlacionados com os segmentos de réplica locais 604 para gerar um segundo conjunto de correlações. Tais mudança e correlacionamento continuam até que o teste de uma hipótese pré-definida tenha sido completado (por exemplo, os segmentos 604 da sequência PN local são correlacionados com o sinal amostrado 606 de acordo com a hipótese de deslocamento de código que é testada).[0083] Figure 6 is a schematic diagram of a process 600 for correlating a plurality of segments 606 of samples of a GNSS signal from a satellite with segments 604 (for example, 604a to 604p) of a local copy of the pseudo-random code for the satellite (for example, stored or generated by the sequence memory of the PRN 416 site), according to some modalities. Segments 604 are sometimes referred to as code segments, PRN code segments, or PRN sequence segments, all of which have the same meaning. In process 600, for each of a plurality of time periods 602 (e.g., adjacent time periods 602a through 602d), a plurality of segments 604 of a local PRN sequence are correlated (for example, using a correlator 610) with corresponding segments 606 in a first offset from the result in a first set of correlations. Then, the second segments 608 of the samples of the GNSS signal from the satellite, which are changed in 1 sample in relation to the first segments 606, are correlated with the local replica segments 604 to generate a second set of correlations. Such change and correlation continues until testing of a predefined hypothesis has been completed (for example, segments 604 of the local PN sequence are correlated with the sampled signal 606 according to the code shift hypothesis that is tested).

[0084] Em algumas modalidades, a cópia local do código pseudoaleatório para o satélite é a metade do comprimento da parte temporariamente armazenada do código PRN amostrado a partir do sinal do satélite (por exemplo, armazenada na memória de amostra 414), de forma que a cópia local possa ser mudada para cima até a metade do comprimento do armazenamento temporário. Note, entretanto, que a cópia local do código pseudoaleatório para o satélite não precisa representar a íntegra de uma instância do código pseudoaleatório já que, em algumas circunstâncias, a íntegra de uma instância do código pseudoaleatório é mais longa do que a memória de amostra 414.[0084] In some embodiments, the local copy of the pseudo-random code for the satellite is half the length of the temporarily stored part of the PRN code sampled from the satellite signal (for example, stored in sample memory 414), so that the local copy can be moved up to half the length of temporary storage. Note, however, that the local copy of the pseudo-random code for the satellite does not need to represent the full one instance of the pseudo-random code since, in some circumstances, the full one instance of the pseudo-random code is longer than the sample memory 414 .

[0085] Em algumas circunstâncias, os períodos de tempo 602 correspondem aos mais curtos intervalos nos quais um sinal de dados ou código secundário (por exemplo, no topo do código PRN) pode mudar de valor (por exemplo, virar de um valor “0” para um valor “1” ou de um valor “1” para um valor “0”). Por exemplo, em relação às Tabelas 1-2, cada sistema GNSS atualmente implementado codifica os dados em um múltiplo integral de períodos de tempo em milissegundos (por exemplo, o período de dados para GPS-CA é 20 ms, o período de dados para GAL-E1B é 4 ms). Assim, sem conhecer a fase do sinal de dados, o melhor que pode ser dito é que o sinal de dados pode mudar de valor em qualquer delimitação de milissegundo. O efeito do sinal de dados mudar de valor é mudar a paridade do código PRN. Assim, em algumas modalidades, os períodos de tempo 602 são escolhidos como milissegundos, de forma que o teste da hipótese de deslocamento de frequência e de código possa ser realizado sem consideração ao padrão de dados (por exemplo, pela combinação das correlações de diferentes períodos de tempo 602 usando diferentes padrões de dados possíveis, cada um dos quais sendo aqui referido como uma “hipótese de dados”).[0085] In some circumstances, time periods 602 correspond to the shortest intervals in which a data signal or secondary code (for example, at the top of the PRN code) can change value (for example, turn from a value “0 ”To a“ 1 ”value or a“ 1 ”value to a“ 0 ”value). For example, in relation to Tables 1-2, each GNSS system currently implemented encodes data in an integral multiple of time periods in milliseconds (for example, the data period for GPS-CA is 20 ms, the data period for GAL-E1B is 4 ms). Thus, without knowing the phase of the data signal, the best that can be said is that the data signal can change its value in any millisecond delimitation. The effect of the data signal changing value is to change the PRN code parity. Thus, in some modalities, the 602 time periods are chosen as milliseconds, so that the frequency shift and code shift hypothesis can be performed without regard to the data pattern (for example, by combining the correlations of different periods 602 using different possible data patterns, each of which is referred to here as a “data hypothesis”).

[0086] Assim, em algumas modalidades, os períodos de tempo são milissegundos (por exemplo, o período de tempo 602a é um milissegundo, o período de tempo 602b (não mostrado) é um milissegundo, o período de tempo 602c (não mostrado) é um milissegundo, e o período de tempo 602d é um milissegundo). Em algumas modalidades, cada um da pluralidade de segmentos 604 corresponde a um quarto do período de tempo 602 (por exemplo, quando cada período de tempo 602 for um milissegundo, cada segmento 604 corresponde a um quarto de um milissegundo). Assim, uma primeira hipótese de mudança de código resulta da correlação entre o primeiro quarto dos segmentos de milissegundo 606 do sinal amostrado com o correspondente quarto local dos segmentos de milissegundo 604 da cópia local da sequência PRN; uma segunda hipótese de mudança de código resulta da correlação entre o segundo quarto dos segmentos de milissegundo 608 do sinal amostrado com o correspondente quarto local do segmento de milissegundo 604 da cópia local da sequência PRN; etc.[0086] Thus, in some embodiments, time periods are milliseconds (for example, time period 602a is a millisecond, time period 602b (not shown) is a millisecond, time period 602c (not shown) is a millisecond, and the 602d time period is a millisecond). In some embodiments, each of the plurality of segments 604 corresponds to a quarter of the time period 602 (for example, when each time period 602 is a millisecond, each segment 604 corresponds to a quarter of a millisecond). Thus, a first code change hypothesis results from the correlation between the first quarter of the 606 millisecond segments of the sampled signal with the corresponding fourth quarter of the 604 millisecond segments of the local copy of the PRN sequence; a second code change hypothesis results from the correlation between the second quarter of the 608 millisecond segments of the sampled signal with the corresponding fourth location of the 604 millisecond segment of the local copy of the PRN sequence; etc.

[0087] Em algumas modalidades, os correlacionadores 610a até 610p (cujos correlacionadores 610a-610d e 610o-610p são mostrados na figura 6) são fisicamente incorporados como o mesmo correlacionador (por exemplo, o mesmo hardware é usado múltiplas vezes para computar os valores de correlação 612a a 612p). Em algumas modalidades, os correlacionadores 610a até 610p são fisicamente incorporados como uma pluralidade de correlacionadores (por exemplo, um conjunto de correlacionadores).[0087] In some embodiments, correlators 610a through 610p (whose correlators 610a-610d and 610o-610p are shown in figure 6) are physically incorporated as the same correlator (for example, the same hardware is used multiple times to compute the values correlation 612a to 612p). In some embodiments, correlators 610a through 610p are physically incorporated as a plurality of correlators (for example, a set of correlators).

[0088] Em algumas modalidades, o correlacionamento de cada segmento 604 da cópia local da sequência PRN (por exemplo, usando um correlacionador 610) com as correspondentes amostras de sinal dos segmentos 606 na primeira mudança de código (correspondente a uma primeira hipótese de mudança de código) produz um primeiro valor de correlação 612 para a primeira hipótese de mudança de código; correlacionar cada segmento 604 da cópia local da sequência PRN com as amostras de sinal em uma segunda mudança de código, representada na figura 6 por segmentos 608 dos dados amostrados, produz um segundo valor de correlação 612 para a segunda hipótese de mudança de código; e, similarmente, as correlações realizadas usando terceira e quarta hipóteses de mudança de código produzem terceiro e quarto valores de correlação 612. Assim, uma pluralidade de valores de correlação 612 (por exemplo, 612a a 612p) é produzida para cada respectivo período de tempo 602 (por exemplo, valores de correlação 612a-612d são produzidos para o período de tempo 602a a partir dos segmentos 604a-604d).[0088] In some embodiments, the correlation of each segment 604 of the local copy of the PRN sequence (for example, using a 610 correlator) with the corresponding signal samples of segments 606 in the first code change (corresponding to a first change hypothesis) code) produces a first correlation value 612 for the first code change hypothesis; correlating each segment 604 of the local copy of the PRN sequence with the signal samples in a second code change, represented in figure 6 by segments 608 of the sampled data, produces a second correlation value 612 for the second code change hypothesis; and, similarly, correlations performed using third and fourth code change hypotheses produce third and fourth correlation values 612. Thus, a plurality of correlation values 612 (for example, 612a to 612p) is produced for each respective time period 602 (for example, correlation values 612a-612d are produced for time period 602a from segments 604a-604d).

[0089] A figura 7 é um diagrama esquemático de um processo 700 de realização de transformadas discretas de Fourier (DFT) separadas para as correlações 612 produzidas para diferentes hipóteses de mudança de código, descritas em relação à figura 6, de acordo com algumas modalidades. O processo da DFT 700 é usado para produzir uma representação de frequência combinada do sinal GNSS a partir das DFTs separadas. Para este fim, as DFTs separadas para os períodos de tempo individuais 602 (por exemplo, períodos de milissegundo) são combinadas de acordo com possíveis hipóteses de padrão de dados e uma das representações de frequência combinadas resultantes é selecionada (com base em critérios predefinidos) como a representação de frequência combinada (por exemplo, representação de frequência combinada 804, figura 8).[0089] Figure 7 is a schematic diagram of a 700 process for carrying out discrete Fourier transforms (DFT) for the 612 correlations produced for different code change hypotheses, described in relation to figure 6, according to some modalities . The DFT 700 process is used to produce a combined frequency representation of the GNSS signal from the separate DFTs. To this end, the separate DFTs for the individual 602 time periods (for example, millisecond periods) are combined according to possible data pattern hypotheses and one of the resulting combined frequency representations is selected (based on predefined criteria) such as the combined frequency representation (for example, combined frequency representation 804, figure 8).

[0090] A partir da representação de frequência combinada do sinal GNSS, uma frequência de rastreamento para o sinal GNSS é selecionada. Entretanto, percebe-se que o processo de DFT 700 produz uma representação de frequência que cobre uma faixa de frequências, e a frequência de rastreamento pode cair fora desta faixa de frequências. Para este fim, em algumas modalidades, o processo da DFT 700 é realizado iterativamente usando uma pluralidade de hipóteses de frequência grossa (por exemplo, usando etapas de frequência grossa de 2 kHz). Por exemplo, para uma hipótese de mudança de código atualmente selecionada, o processo da DFT 700 é realizado iterativamente para cobrir todas as frequências que podem ser potencialmente associadas com o sinal GNSS (por exemplo, para um satélite em particular) que o receptor está tentando adquirir, e a mais forte representação de frequência combinada resultante 804, para todas estas iterações, é, então, comparada com os critérios predefinidos para determinar se o sinal foi, de fato, adquirido.[0090] From the combined frequency representation of the GNSS signal, a tracking frequency for the GNSS signal is selected. However, it is realized that the DFT 700 process produces a frequency representation that covers a frequency range, and the tracking frequency can fall outside this frequency range. To this end, in some embodiments, the DFT 700 process is performed iteratively using a plurality of coarse-frequency assumptions (for example, using coarse-frequency steps of 2 kHz). For example, for a currently selected code change hypothesis, the DFT 700 process is performed iteratively to cover all frequencies that can potentially be associated with the GNSS signal (for example, for a particular satellite) that the receiver is trying to acquire, and the resulting strongest combined frequency representation 804, for all these iterations, is then compared to the predefined criteria to determine whether the signal was, in fact, acquired.

[0091] No exemplo mostrado na figura 7, cada cálculo da DFT 704 tem 32 entradas (das quais somente 16 são mostradas na figura 7, devido a restrições de espaço). Destas 32 entradas, quatro são valores de correlação produzidos para um correspondente período de tempo, e as outras são valores zero.[0091] In the example shown in figure 7, each calculation of DFT 704 has 32 entries (of which only 16 are shown in figure 7, due to space restrictions). Of these 32 entries, four are correlation values produced for a corresponding period of time, and the others are zero values.

[0092] No processo 700, um primeiro cálculo da DFT 704a é realizado usando os valores de correlação 612a-612d a partir de um primeiro período de tempo 602a (por exemplo, como entradas) para produzir uma representação de frequência 702a dos valores de correlação 612a-612d para o primeiro período de tempo 602a; um segundo cálculo da DFT 704b é realizado usando os valores de correlação 612e-612h a partir de um segundo período de tempo 602b (por exemplo, adjacente e posterior ao primeiro período de tempo 602a) para produzir uma representação de frequência 702b dos valores de correlação 612e-612h para o segundo período de tempo 602b (por exemplo, valores de correlação 612e-612h são mudados por 4 entradas em relação ao cálculo da DFT 704a); um terceiro cálculo da DFT 704c é realizado usando os valores de correlação 612i-612l a partir de um terceiro período de tempo 602c (por exemplo, adjacente e posterior ao segundo período de tempo 602b) para produzir uma representação de frequência 702c dos valores de correlação 612i-612l para o terceiro período de tempo 602c (por exemplo, valores de correlação 612l-612i são mudados por 4 entradas em relação ao cálculo da DFT 704b); e um quarto cálculo da DFT 704d é realizado usando os valores de correlação 612m-612p a partir de um terceiro período de tempo 602d (por exemplo, adjacente e posterior ao terceiro período de tempo 602c) para produzir uma representação de frequência 702d dos valores de correlação 612m-612p para o terceiro período de tempo 602d (por exemplo, valores de correlação 612m-612p são mudados por 4 entradas em relação a cálculo da DFT 704c).[0092] In process 700, a first calculation of DFT 704a is performed using correlation values 612a-612d from a first period of time 602a (for example, as inputs) to produce a frequency representation 702a of correlation values 612a-612d for the first time period 602a; a second calculation of DFT 704b is performed using the 612e-612h correlation values from a second time period 602b (for example, adjacent to and after the first time period 602a) to produce a 702b frequency representation of the correlation values 612e-612h for the second time period 602b (for example, correlation values 612e-612h are changed by 4 entries in relation to the calculation of DFT 704a); a third calculation of DFT 704c is performed using the correlation values 612i-612l from a third time period 602c (for example, adjacent to and after the second time period 602b) to produce a frequency representation 702c of the correlation values 612i-612l for the third time period 602c (for example, correlation values 612l-612i are changed by 4 entries in relation to the calculation of DFT 704b); and a fourth calculation of DFT 704d is performed using the 612m-612p correlation values from a third time period 602d (for example, adjacent to and after the third time period 602c) to produce a 702d frequency representation of the values of 612m-612p correlation for the third 602d time period (for example, 612m-612p correlation values are changed by 4 entries in relation to DFT 704c calculation).

[0093] Note que, embora os cálculos da DFT 704 sejam realizados separadamente, em algumas modalidades, os cálculos da DFT são realizados pelo mesmo hardware (por exemplo, realizados serialmente). Em algumas modalidades, o cálculo da DFT 704 é realizado por hardware separado (por exemplo, realizado em paralelo). Como também, em algumas modalidades, para refinar a resolução da frequência, entradas de zero adicionais são providas para os cálculos da DFT 704 para reduzir adicionalmente a incerteza de frequência das representações de frequência 702 produzidas.[0093] Note that, although DFT 704 calculations are performed separately, in some modalities, DFT calculations are performed by the same hardware (for example, performed serially). In some modalities, the calculation of DFT 704 is performed by separate hardware (for example, performed in parallel). As well as, in some embodiments, to refine the frequency resolution, additional zero inputs are provided for the DFT 704 calculations to further reduce the frequency uncertainty of the produced frequency representations 702.

[0094] Adicionalmente, algumas das características dos cálculos da DFT portam menção, em particular, o número de entradas usadas para o cálculo da DFT e o comprimento temporal dos segmentos 604 (figura 6) que são usados para gerar os valores de correlação 612. Da forma notada anteriormente, os motores de aquisição GNSS aqui descritos usam apenas as etapas de frequência grossa para testar as hipóteses de frequência. Por exemplo, em algumas modalidades, o NCO 406 desloca as hipóteses de frequência adjacentes em etapas de 2 kHz. O objetivo do motor de aquisição 316 (figuras 3-4) é transferir uma frequência de rastreamento que está em um limiar de rastreamento do motor de rastreamento 314 (figura 3). Por exemplo, em algumas modalidades, o motor de rastreamento 314 pode rastrear os sinais (por exemplo, através do travamento de fase) se a frequência de rastreamento provida pelo motor de aquisição 316 estiver em 62,5 Hz (125 Hz / 2) da frequência do sinal GNSS que é recebido a partir do satélite GNSS cujo sinal está sendo adquirido.[0094] Additionally, some of the characteristics of the DFT calculations bear mention, in particular, the number of inputs used for calculating the DFT and the temporal length of the 604 segments (figure 6) that are used to generate the 612 correlation values. As noted earlier, the GNSS acquisition engines described here use only the coarse frequency steps to test the frequency assumptions. For example, in some modalities, the NCO 406 shifts adjacent frequency assumptions in 2 kHz steps. The purpose of the acquisition engine 316 (figures 3-4) is to transfer a tracking frequency that is at a tracking threshold of the tracking engine 314 (figure 3). For example, in some embodiments, the tracking motor 314 can track signals (for example, through phase locking) if the tracking frequency provided by the acquisition motor 316 is at 62.5 Hz (125 Hz / 2) of frequency of the GNSS signal that is received from the GNSS satellite whose signal is being acquired.

[0095] Em algumas modalidades, a faixa de frequências cobertas pelos cálculos de DFT 704 é igual ao inverso de um quarto de milissegundo, 4 kHz. Em modalidades nas quais uma DFT de 32 pontos é usada, a incerteza de frequência é metade do tamanho da posição de frequência, medida em Hz, de 4.000 Hz / 32 = 125 Hz. Mas a incerteza de frequência grossa de 2 kHz é 4 dB. Para mitigar a degradação de potência resultante da incerteza de frequência grossa, a faixa de frequências cobertas pelos cálculos de DFT pode ser reduzida para 2 kHz a partir de 4 kHz, reduzindo a incerteza de frequência grossa por um fator de dois, e resultando em uma degradação de potência de 0,9 dB.[0095] In some modalities, the frequency range covered by DFT 704 calculations is equal to the inverse of a quarter of a millisecond, 4 kHz. In modes in which a 32-point DFT is used, the frequency uncertainty is half the size of the frequency position, measured in Hz, at 4,000 Hz / 32 = 125 Hz. But the 2 kHz coarse frequency uncertainty is 4 dB . To mitigate the power degradation resulting from the thick frequency uncertainty, the range of frequencies covered by the DFT calculations can be reduced to 2 kHz from 4 kHz, reducing the thick frequency uncertainty by a factor of two, and resulting in a 0.9 dB power degradation.

[0096] Note que, em uma abordagem alternativa, todos os valores de correlação 612a-612p são aplicados no mesmo cálculo de DFT 704 (por exemplo, como entradas). As várias hipóteses de dados podem ser testadas pela repetição deste cálculo da DFT de acordo com diferentes hipóteses de dados possíveis (por exemplo, pela troca das paridades de certas entradas, dependendo da hipótese de dados). Entretanto, em virtude de DFTs serem um exercício computacionalmente oneroso, enquanto que a linearidade que combina as saídas das DFTs não é, é mais eficiente realizar DFTs separadas para os diferentes períodos de tempo 602 (por exemplo, e preencher as entradas restantes do cálculo da DFT 704 com valores zero), então, combinadas as representações de frequência 602 de acordo com as diferentes hipóteses de dados possíveis.[0096] Note that, in an alternative approach, all 612a-612p correlation values are applied to the same DFT calculation 704 (for example, as inputs). The various data hypotheses can be tested by repeating this DFT calculation according to different possible data hypotheses (for example, by changing the parities of certain entries, depending on the data hypothesis). However, because DFTs are a computationally costly exercise, while the linearity that combines the outputs of the DFTs is not, it is more efficient to perform separate DFTs for the different time periods 602 (for example, and to fill in the remaining entries in the calculation of the DFT 704 with zero values), then combined frequency representations 602 according to the different possible data hypotheses.

[0097] Cada ponto (por exemplo, cada ponto de saída) das representações de frequência 702 corresponde a um “nível de frequência” que tem uma faixa de frequência igual à faixa das frequências cobertas pelos cálculos de DFT 704 dividida pelo número total de pontos usados pelos cálculos de DFT 704. Além do mais, a faixa de frequências cobertas por cada ponto das representações de frequência 702 deve corresponder a uma faixa de frequência que é não maior do que o limite de rastreamento para o motor de rastreamento 314. Assim, como um exemplo, usar o quarto dos segmentos de milissegundo 604 em uma DFT de 32 pontos implica que cada ponto nas representações de frequência 702 corresponde a um “nível” de 125 Hz, (faixa de frequência) que é igual ao limite de rastreamento exemplar supradescrito. Em algumas modalidades, os cálculos da DFT 704 transmitem magnitudes para metade das posições de frequência, por exemplo, os 16 posições do meio dos 32 posições, para os quais as magnitudes podem ser potencialmente geradas, e são estas magnitudes que são combinadas pela metodologia mostrada nas figuras 8 e 9A-9B.[0097] Each point (for example, each exit point) of frequency representations 702 corresponds to a "frequency level" that has a frequency range equal to the frequency range covered by DFT 704 calculations divided by the total number of points used by DFT calculations 704. Furthermore, the frequency range covered by each point of frequency representations 702 must correspond to a frequency range that is no greater than the crawl limit for crawler 314. Thus, as an example, using the quarter of the 604 millisecond segments in a 32-point DFT implies that each point in the frequency representations 702 corresponds to a 125 Hz “level” (frequency range) that is equal to the exemplary tracking limit above. In some modalities, DFT 704 calculations transmit magnitudes for half of the frequency positions, for example, the 16 middle positions of the 32 positions, for which the magnitudes can potentially be generated, and it is these magnitudes that are combined by the methodology shown in figures 8 and 9A-9B.

[0098] Uma representação matemática dos cálculos da DFT representados pelo processo da DFT 700 na figura 7 é como segue:

Figure img0003
Figure img0004
em que:
* k ∈[0,M-1] é o número da posição para o valor de saída da DFT que é computado;
* M=2R/V é o número de pontos da DFT (posições de saída), que é igual ao número de entradas em cada computação da DFT, incluindo 1/V valores de correlação e M - 1/V valores de ponto zero;
* R é o comprimento, em milissegundos, dos dados amostrados que são processados durante cada iteração do processamento de amostragem e análise;
* V é o número de hipóteses de mudança de código que serão testadas por milissegundo dos dados de sinal amostrados;
* M0= 1/V é o número de pontos de correlação por milissegundo dos dados de sinal amostrados;
* corr(i) é o i-ésimo valor de correlação; por exemplo, no exemplo da figura 6, há quatro (M0 = 4) valores de correlação 612 (por exemplo, 612a-612d) produzidos para cada milissegundo de dados de sinal amostrados; e
*D [i/M0] é o bit dos dados (desconhecidos) através do período submilissegundo (SubmS) identificado pelo índice i. O valor do bit dos dados é constante para cada somatória de M0. Da forma descrita em outro local neste documento, a computação da DFT é realizada de forma que os quatro componentes da DFT para cada posição de saída possam ser somados de acordo com cada possível padrão de dados.[0098] A mathematical representation of the DFT calculations represented by the DFT 700 process in figure 7 is as follows:
Figure img0003
Figure img0004
on what:
* k ∈ [0, M-1] is the position number for the DFT output value that is computed;
* M = 2R / V is the number of DFT points (output positions), which is equal to the number of inputs in each DFT computation, including 1 / V correlation values and M - 1 / V zero point values;
* R is the length, in milliseconds, of the sampled data that is processed during each iteration of the sampling and analysis processing;
* V is the number of code change hypotheses that will be tested per millisecond of the sampled signal data;
* M0 = 1 / V is the number of correlation points per millisecond of the sampled signal data;
* corr (i) is the i-th correlation value; for example, in the example in figure 6, there are four (M0 = 4) correlation values 612 (for example, 612a-612d) produced for each millisecond of sampled signal data; and
* D [i / M0] is the data bit (unknown) through the submisecond period (SubmS) identified by index i. The data bit value is constant for each sum of M0. As described elsewhere in this document, DFT computation is performed so that the four components of DFT for each output position can be added according to each possible data pattern.

[0099] Em algumas modalidades, tal como o exemplo mostrado na figura 7, foram escolhidos V = 0,25, R = 4, M = 32, e Mo = 4. O uso da técnica DFT preenchida com ponto zero aqui descrita reduz a incerteza de frequência para 250/R Hz (por exemplo, 62,5 Hz), assim, reduzindo a perda de sincronismo para 0,9 dB. A equação mostrada anteriormente é para uma DFT de ponto m que pode ser dividida em R (por exemplo, 4) DFTs de ponto m que, cada qual, tem um pequeno número de entradas não zero. Já que apenas uma pequena parte das entradas (por exemplo, 4 de cada 32) inseridas nas DFTs de ponto m não são zero, o uso de uma transformada discreta de Fourier (DFT) para computar as características de frequência do sinal amostrado é eficiente e preciso no nível de precisão exigido para habilitar a transferência com sucesso da informação de fase e frequência resultante para o módulo de rastreamento 222 do receptor.[0099] In some modalities, such as the example shown in figure 7, V = 0.25, R = 4, M = 32, and Mo = 4 were chosen. The use of the DFT technique filled with zero point described here reduces the frequency uncertainty to 250 / R Hz (for example, 62.5 Hz), thus reducing the loss of timing to 0.9 dB. The equation shown above is for a m-point DFT that can be divided into R (for example, 4) m-point DFTs that each have a small number of non-zero inputs. Since only a small part of the inputs (for example, 4 out of 32) inserted in the m-point DFTs are not zero, the use of a discrete Fourier transform (DFT) to compute the frequency characteristics of the sampled signal is efficient and accurate to the level of accuracy required to enable the successful transfer of the resulting phase and frequency information to the receiver's 222 tracking module.

[00100] A figura 8 e as figuras 9A-9B são discutidas em conjunto a seguir. A figura 8 é um diagrama esquemático de um sub-sistema 800 para combinar os resultados da DFT para uma pluralidade de períodos de tempo (por exemplo, períodos de código PRN) de acordo com uma hipótese de dados, de acordo com algumas modalidades. As figuras 9A-9B ilustram os exemplos de hipóteses de dados, de acordo com algumas modalidades. O subsistema 800 recebe as representações de frequência 702 (por exemplo, representações de frequência 702a-702d, geradas da forma descrita em relação à figura 7). Para cada representação de frequência 702 recebida, o sub-sistema 800 passa tanto a representação de frequência 702 (por exemplo, como está) para uma unidade de soma 802 quanto um negativo da representação de frequência 702 (por exemplo, comuta a paridade da representação de frequência 702). Se o sub-sistema 800 passa a representação de frequência 702 ou seu negativo depende de uma hipótese de dados que é testada.[00100] Figure 8 and figures 9A-9B are discussed together below. Figure 8 is a schematic diagram of a subsystem 800 for combining the results of the DFT for a plurality of time periods (for example, PRN code periods) according to a data hypothesis, according to some modalities. Figures 9A-9B illustrate the data hypothesis examples, according to some modalities. The subsystem 800 receives frequency representations 702 (for example, frequency representations 702a-702d, generated as described in relation to figure 7). For each frequency representation 702 received, subsystem 800 passes both frequency representation 702 (for example, as is) to a summation unit 802 and a negative of frequency representation 702 (for example, switches the parity of the representation frequency 702). Whether subsystem 800 passes frequency representation 702 or its negative depends on a data hypothesis that is tested.

[00101] Os exemplos das hipóteses de dados são mostrados nas figuras 9A-9B. A figura 9A ilustra as possíveis hipóteses de dados para qualquer sinal GNSS com um período de dados mais longo do que o quatro dos períodos de tempo 602 descrito em relação à figura 6. Por exemplo, em algumas modalidades, cada um dos períodos de tempo 602 (figura 6) tem um comprimento de um milissegundo. Assim, cada uma das representações de frequência 702 (figuras 7-8) é gerada usando um milissegundo de dados. O sinal de dados pode transicionar (por exemplo, de um valor “1” para um valor “0” ou um valor “0” para um valor “1”) depois de qualquer um destes períodos de milissegundo, mas, se o período de dados (por exemplo, para o sinal GNSS que é adquirido pelo receptor) for mais longo do que quatro milissegundos, o sinal de dados pode apenas transicionar, no máximo, uma vez durante os quatro milissegundos representados pelos quatro períodos de tempo 602a-602d. Em virtude de a magnitude da representação de frequência combinada 804 ser o que importa, pode-se considerar, sem perda de generalidade, que o valor de dados para o primeiro milissegundo é um valor “0”. Assim, as quatro hipóteses que serão testadas são: sem transição de dados, uma transição de dados depois do primeiro milissegundo, uma transição de dados depois do segundo milissegundo, e uma transição de dados depois do terceiro milissegundo.[00101] Examples of data hypotheses are shown in figures 9A-9B. Figure 9A illustrates the possible data hypotheses for any GNSS signal with a data period longer than the four of the 602 time periods described in relation to Figure 6. For example, in some embodiments, each of the 602 time periods (figure 6) is one millisecond long. Thus, each of the frequency representations 702 (figures 7-8) is generated using a millisecond of data. The data signal can transition (for example, from a “1” value to a “0” value or a “0” value to a “1” value) after any of these millisecond periods, but, if the data (for example, for the GNSS signal that is acquired by the receiver) is longer than four milliseconds, the data signal can only transition at most once during the four milliseconds represented by the four 602a-602d time periods. Because the magnitude of the combined frequency representation 804 is what matters, one can consider, without loss of generality, that the data value for the first millisecond is a “0” value. Thus, the four hypotheses that will be tested are: no data transition, a data transition after the first millisecond, a data transition after the second millisecond, and a data transition after the third millisecond.

[00102] Em algumas modalidades, cada hipótese de dados é testada para produzir uma representação de frequência combinada candidata 801. Em algumas modalidades, a representação de frequência combinada candidata 801 com a magnitude mais alta é selecionada como a representação de frequência combinada 804.[00102] In some modalities, each data hypothesis is tested to produce a candidate combined frequency representation 801. In some modalities, the candidate combined frequency representation 801 with the highest magnitude is selected as the combined frequency representation 804.

[00103] A figura 9B ilustra as possíveis hipóteses de dados para um sinal GNSS com um período de dados mais curto do que o quatro dos períodos de tempo 602 descrito em relação à figura 6. Por exemplo, o sistema de aumento de área ampla é um sistema GNSS com um período de dados igual a 2 milissegundos. Em tais casos, o sinal de dados pode transicionar nenhuma vez, uma vez ou duas vezes. Em tais casos, há 5 hipóteses de dados que serão testadas, da forma mostrada na figura 9B (note que duas das seis hipóteses de dados (padrões do sinal amostrado em potencial) mostradas na figura 9B são iguais, resultando em 5 hipóteses de dados distintas).[00103] Figure 9B illustrates the possible data hypotheses for a GNSS signal with a data period shorter than the four of the 602 time periods described in relation to figure 6. For example, the wide area augmentation system is a GNSS system with a data period of 2 milliseconds. In such cases, the data signal may not transition once, once or twice. In such cases, there are 5 data hypotheses that will be tested, as shown in figure 9B (note that two of the six data hypotheses (potential sampled signal patterns) shown in figure 9B are the same, resulting in 5 distinct data hypotheses. ).

[00104] As figuras 10A-10B ilustram um fluxograma de um método 1000 de aquisição de um sinal a partir de um satélite em um sistema global de navegação por satélite (GNSS) e, mais particularmente, de aquisição de uma frequência de rastreamento para o satélite, de acordo com algumas modalidades. O método 1000 é tipicamente realizado por um objeto móvel que tem um sistema de circuitos, tal como um receptor de sinal (por exemplo, receptor 120, figura 1) e um ou mais processadores (por exemplo, um ou mais processadores do sistema de computador 130, figura 1), mas, opcionalmente, é realizado, pelo menos em parte, por um sistema externo a ou remoto do objeto móvel. Em algumas modalidades, o método 1000 é realizado por um motor de aquisição do sinal GNSS (por exemplo, motor de aquisição do sinal GNSS 316, figura 3) de um receptor de sinal em um objeto móvel. Para facilidade de explicação, o método 1000 será explicado como sendo realizado por um objeto móvel, mas será entendido que pelo menos algumas partes do método 1000 podem ser realizadas por um sistema externo.[00104] Figures 10A-10B illustrate a flow chart of a method 1000 of acquiring a signal from a satellite in a global satellite navigation system (GNSS) and, more particularly, of acquiring a tracking frequency for the satellite, according to some modalities. Method 1000 is typically performed by a moving object that has a circuit system, such as a signal receiver (for example, receiver 120, figure 1) and one or more processors (for example, one or more computer system processors 130, figure 1), but, optionally, it is carried out, at least in part, by a system external to or remote from the moving object. In some embodiments, method 1000 is performed by a GNSS signal acquisition engine (for example, GNSS signal acquisition engine 316, figure 3) from a signal receiver on a moving object. For ease of explanation, method 1000 will be explained as being performed by a moving object, but it will be understood that at least some parts of method 1000 can be performed by an external system.

[00105] Para cada respectivo período de tempo de uma pluralidade de períodos de tempo (1002): o objeto móvel realiza as operações 1004, 1008, e 1012. Em algumas modalidades, o período de tempo é um período de uma instância completa do código pseudoaleatório. Em algumas modalidades, as operações 1004, 1008 e 1002 são realizadas para cada um de quatro períodos de tempo consecutivos.[00105] For each respective time period of a plurality of time periods (1002): the mobile object performs operations 1004, 1008, and 1012. In some embodiments, the time period is a period of a complete instance of the code pseudo-random. In some embodiments, operations 1004, 1008 and 1002 are performed for each of four consecutive time periods.

[00106] Para este fim, o objeto móvel gera (1004) uma pluralidade de amostras de um sinal proveniente de um satélite em um sistema global de navegação por satélite (GNSS) (por exemplo, 8.000 amostras). O sinal inclui um código pseudoaleatório para o satélite. Em algumas circunstâncias, o sinal inclui um sinal de dados que provê uma paridade para o código pseudoaleatório (por exemplo, o sinal de dados é modulado no topo do código pseudoaleatório). Em algumas modalidades, a pluralidade de amostras do sinal é gerada usando uma hipótese de frequência grossa (por exemplo, hipóteses de frequência grossa adjacentes que são separadas por etapas de 2 kHz).[00106] For this purpose, the moving object generates (1004) a plurality of samples of a signal from a satellite in a global satellite navigation system (GNSS) (for example, 8,000 samples). The signal includes a pseudo-random code for the satellite. In some circumstances, the signal includes a data signal that provides a parity for the pseudo-random code (for example, the data signal is modulated at the top of the pseudo-random code). In some embodiments, the plurality of signal samples is generated using a coarse-frequency assumption (for example, adjacent coarse-frequency assumptions that are separated by 2 kHz steps).

[00107] Em algumas modalidades, a geração da pluralidade de amostras do sinal inclui: amostrar inicialmente (1006) o sinal em um múltiplo inicial de uma hipótese de frequência grossa; e decimar o sinal inicialmente amostrado para produzir a pluralidade de amostras do sinal. Por exemplo, em algumas modalidades, os conversores analógico para digital 308 (figura 3) amostram o sinal em uma taxa de grosseiramente 40,92 MHz, e o decimador 410 descarta 90 % das amostras para produzir um sinal decimado com uma taxa de amostragem de 4,092 MHz. Da forma discutida anteriormente, a quantização da amostra também pode ser usada para reduzir significativamente o tamanho exigido da memória de amostra 414.[00107] In some embodiments, the generation of the plurality of signal samples includes: initially sampling (1006) the signal in an initial multiple of a coarse frequency hypothesis; and decimating the signal initially sampled to produce the plurality of samples of the signal. For example, in some modalities, analog to digital converters 308 (figure 3) sample the signal at a rate of roughly 40.92 MHz, and decimator 410 discards 90% of the samples to produce a decimated signal with a sampling rate of 4.092 MHz. As discussed earlier, sample quantization can also be used to significantly reduce the required sample memory size 414.

[00108] O objeto móvel correlaciona (1008) uma pluralidade de segmentos da pluralidade de amostras do sinal com uma cópia local do código pseudoaleatório para o satélite, assim, produzindo uma pluralidade de valores de correlação para o respectivo período de tempo. Em algumas modalidades, o correlacionamento da pluralidade de segmentos da pluralidade de amostras do sinal com a cópia local do código pseudoaleatório para o satélite para cada respectivo período de tempo da pluralidade de períodos de tempo inclui (1010) correlacionar n segmentos da pluralidade de amostras do sinal com a cópia local do código pseudoaleatório, em que n é um número inteiro maior do que um (por exemplo, quatro segmentos da pluralidade de amostras para cada período de tempo são correlacionados com a cópia local do código pseudoaleatório, da forma descrita em relação à figura 6).[00108] The movable object correlates (1008) a plurality of segments of the plurality of signal samples with a local copy of the pseudo-random code for the satellite, thus producing a plurality of correlation values for the respective period of time. In some embodiments, the correlation of the plurality of segments of the plurality of signal samples with the local copy of the pseudo-random code for the satellite for each respective time period of the plurality of time periods includes (1010) correlating n segments of the plurality of samples of the signal with the local copy of the pseudo-random code, where n is an integer greater than one (for example, four segments of the plurality of samples for each time period are correlated with the local copy of the pseudo-random code, as described in relation to to figure 6).

[00109] Em algumas modalidades, cada segmento correlacionado da pluralidade de amostras do sinal corresponde a uma duração de tempo (por exemplo, 250 μs, por exemplo, uma fração do período de tempo, tal como V do período de tempo). Em algumas modalidades, cada segmento corresponde a um quarto do período de tempo, de maneira tal que quatro valores de correlação sejam produzidos para o respectivo período de tempo (por exemplo, n = 4). Em algumas modalidades, os segmentos são segmentos contínuos, cada qual correspondendo a uma fração do período de tempo. Em algumas modalidades, os períodos de tempo são milissegundos (isto é, cada período de tempo tem uma duração de 1 milissegundo, ou aproximadamente 1 milissegundo).[00109] In some embodiments, each correlated segment of the plurality of signal samples corresponds to a duration of time (for example, 250 μs, for example, a fraction of the time period, such as V of the time period). In some modalities, each segment corresponds to a quarter of the time period, in such a way that four correlation values are produced for the respective time period (for example, n = 4). In some modalities, segments are continuous segments, each corresponding to a fraction of the time period. In some embodiments, time periods are milliseconds (that is, each time period lasts for 1 millisecond, or approximately 1 millisecond).

[00110] Em algumas modalidades, o objeto móvel realiza (1012) uma transformada discreta de Fourier (DFT) usando, como entradas, a pluralidade de valores de correlação para o respectivo período de tempo, assim, produzindo uma representação de frequência dos valores de correlação para o respectivo período de tempo. Por exemplo, a transformada discreta de Fourier para cada respectivo período de tempo é realizada separadamente da transformada discreta de Fourier para cada outro respectivo período de tempo (por exemplo, da forma descrita em relação à figura 7). Em algumas modalidades, a transformada discreta de Fourier para cada respectivo período de tempo é realizada pelo mesmo hardware da transformada de Fourier para cada outro respectivo período de tempo (por exemplo, em série). Em algumas modalidades, a transformada de Four discreta para cada respectivo período de tempo é realizada por hardware diferente da transformada de Fourier para cada outro respectivo período de tempo (por exemplo, em paralelo).[00110] In some modalities, the moving object performs (1012) a discrete Fourier transform (DFT) using, as inputs, the plurality of correlation values for the respective period of time, thus producing a frequency representation of the values of correlation for the respective time period. For example, the discrete Fourier transform for each respective period of time is performed separately from the discrete Fourier transform for each other respective period of time (for example, as described in relation to figure 7). In some modalities, the discrete Fourier transform for each respective period of time is performed by the same hardware as the Fourier transform for each other respective period of time (for example, in series). In some modalities, the discrete Four transform for each respective time period is performed by different hardware than the Fourier transform for each other respective time period (for example, in parallel).

[00111] Em algumas modalidades, o objeto móvel repete as operações de geração, correlacionamento, realização da DFT e combinação com hipóteses de frequência grossa adjacentes que são separadas por um valor inferior ou igual ao inverso da duração de tempo de cada segmento. Por exemplo, o NCO 406 (figura 4) caminha em etapas de 2 kHz, que é menor do que 1/250 μs = 4 kHz. Em algumas modalidades, as operações de geração, correlacionamento, realização da transformada discreta de Fourier e combinação são realizadas para cada uma de uma pluralidade de hipóteses de frequência grossa. Em algumas modalidades, diferente da mudança de uma hipótese de frequência grossa (por exemplo, em etapas maiores do que ou iguais a 500 Hz, 1 kHz, 2 kHz, ou 4 kHz), a frequência de amostragem não é modificada. Por exemplo, usando o método 1000, não é necessário realizar teste da hipótese de frequência fina no qual as hipóteses de frequência são testadas em incrementos no limite de rastreamento (por exemplo, 125 Hz).[00111] In some modalities, the moving object repeats the operations of generation, correlation, realization of the DFT and combination with adjacent thick frequency hypotheses that are separated by a value less than or equal to the inverse of the time duration of each segment. For example, NCO 406 (figure 4) walks in 2 kHz steps, which is less than 1/250 μs = 4 kHz. In some modalities, the operations of generation, correlation, realization of the discrete Fourier transform and combination are performed for each of a plurality of hypotheses of coarse frequency. In some modalities, other than changing a coarse frequency hypothesis (for example, in steps greater than or equal to 500 Hz, 1 kHz, 2 kHz, or 4 kHz), the sampling frequency is not modified. For example, using the 1000 method, it is not necessary to test the fine frequency hypothesis in which the frequency hypotheses are tested in increments at the tracking limit (for example, 125 Hz).

[00112] Em algumas modalidades, a realização da DFT por um respectivo período de tempo da pluralidade de períodos de tempo inclui (1014): usar, como entradas, os n valores de correlação para o respectivo período de tempo. Os n valores de correlação são mudados por n entradas da DFT comparadas com os n valores de correlação para um período de tempo prévio e adjacente da pluralidade de períodos de tempo. Tome, como um exemplo, uma modalidade na qual n = 4. Para o primeiro período de tempo, as quatro correlações são aplicadas nas primeiras quatro entradas da DFT (por exemplo, da forma mostrada em relação ao cálculo da DFT 704a, figura 7). O restante das entradas da DFT é preenchido com zeros (por exemplo, valores zero são aplicados nas entradas restantes) e a DFT é executada. Para o próximo período de tempo, as quatro correlações são aplicadas nas quinta até oitava entradas da DFT (por exemplo, da forma mostrada em relação ao cálculo da DFT 704b, figura 7). O restante das entradas da DFT é preenchido com zeros (por exemplo, valores zero são aplicados nas entradas restantes) e a DFT é executada.[00112] In some modalities, the realization of the DFT for a respective period of time of the plurality of periods of time includes (1014): using, as inputs, the n correlation values for the respective period of time. The n correlation values are changed by n DFT entries compared to the n correlation values for a previous and adjacent time period of the plurality of time periods. Take, as an example, a modality in which n = 4. For the first period of time, the four correlations are applied to the first four DFT entries (for example, as shown in relation to the calculation of DFT 704a, figure 7) . The rest of the DFT entries are filled with zeros (for example, zero values are applied to the remaining entries) and the DFT is executed. For the next period of time, the four correlations are applied to the fifth to eighth DFT entries (for example, as shown in relation to the calculation of DFT 704b, figure 7). The rest of the DFT entries are filled with zeros (for example, zero values are applied to the remaining entries) and the DFT is executed.

[00113] Em algumas modalidades, a DFT é (1016) uma DFT de ponto m, em que m é um número inteiro maior do que n. Por exemplo, da forma descrita em relação à figura 7, em algumas modalidades, a DFT é uma DFT de 32 pontos e quatro valores de correlação são usados para cada cálculo da DFT.[00113] In some modalities, the DFT is (1016) a DFT of point m, where m is an integer greater than n. For example, as described in relation to figure 7, in some modalities, the DFT is a 32-point DFT and four correlation values are used for each DFT calculation.

[00114] Em algumas modalidades, a realização da DFT inclui (1018) usar, como entradas, m - n valores zero em adição aos n valores de correlação para o respectivo período de tempo. Por exemplo, da forma descrita em relação à figura 7, em algumas modalidades, todas as entradas de um cálculo da DFT que não são providas com um valor de correlação são providas com um valor zero.[00114] In some modalities, the realization of the DFT includes (1018) using, as inputs, m - n zero values in addition to the n correlation values for the respective period of time. For example, as described in relation to figure 7, in some embodiments, all entries in a DFT calculation that are not provided with a correlation value are provided with a zero value.

[00115] Em algumas modalidades, cada segmento correlacionado da pluralidade de amostras do sinal corresponde (1020) a uma duração de tempo (por exemplo, 250 μs, por exemplo, uma fração do período de tempo, tal como V do período de tempo). A pluralidade de amostras do sinal é gerada usando uma hipótese de frequência grossa. As operações de geração, correlacionamento, realização da DFT e combinação são repetidas com hipóteses de frequência grossa adjacentes que são separadas por um valor inferior ou igual ao inverso da duração de tempo. Em algumas modalidades, um inverso da duração de tempo dividido por m é menor do que ou igual a uma tolerância de frequência para o rastreamento do sinal do satélite usando a frequência de rastreamento. Por exemplo, um período de correlação de 250 μs corresponde à DFT que tem uma faixa de 4 kHz (1/250 μs = 4 kHz). Usar uma DFT de 32 pontos implica que cada ponto corresponde a uma faixa de frequência de 125 Hz e, assim, uma precisão de ± 62,5 Hz, que, em algumas modalidades, está na tolerância de frequência para o rastreamento do sinal do satélite (por exemplo, usando o motor de rastreamento).[00115] In some embodiments, each correlated segment of the plurality of signal samples corresponds (1020) to a duration of time (for example, 250 μs, for example, a fraction of the time period, such as V of the time period) . The plurality of signal samples is generated using a coarse frequency hypothesis. The operations of generation, correlation, realization of the DFT and combination are repeated with adjacent coarse frequency assumptions that are separated by a value less than or equal to the inverse of the time duration. In some embodiments, an inverse of the time duration divided by m is less than or equal to a frequency tolerance for tracking the satellite signal using the tracking frequency. For example, a 250 μs correlation period corresponds to the DFT which has a range of 4 kHz (1/250 μs = 4 kHz). Using a 32-point DFT implies that each point corresponds to a frequency range of 125 Hz and thus an accuracy of ± 62.5 Hz, which, in some modalities, is within the frequency tolerance for tracking the satellite signal (for example, using the crawler).

[00116] O objeto móvel combina (1022) as representações de frequência dos valores de correlação para a pluralidade de períodos de tempo de acordo com uma hipótese de dados (por exemplo, linearidade que combina as representações de frequência, da forma descrita em relação à figura 8 e às figuras 9A-9B). Em algumas modalidades, a combinação das representações de frequência dos valores de correlação para a pluralidade de períodos de tempo de acordo com a hipótese de dados inclui somar as representações de frequência dos valores de correlação com uma paridade aplicada de acordo com a hipótese de dados.[00116] The moving object combines (1022) the frequency representations of the correlation values for the plurality of time periods according to a data hypothesis (for example, linearity that combines the frequency representations, as described in relation to the 8 and 9A-9B). In some modalities, the combination of the frequency representations of the correlation values for the plurality of time periods according to the data hypothesis includes adding the frequency representations of the correlation values with an applied parity according to the data hypothesis.

[00117] De acordo com uma determinação que uma magnitude das representações de frequência combinadas dos valores de correlação para a pluralidade de períodos de tempo atende critérios predefinidos (por exemplo, a magnitude combinada da posição de frequência que tem a máxima magnitude combinada satisfaz um limite predefinido), o objeto móvel (1024) seleciona uma frequência correspondente à magnitude como uma frequência de rastreamento para o satélite.[00117] According to a determination that a magnitude of the combined frequency representations of the correlation values for the plurality of time periods meets predefined criteria (for example, the combined magnitude of the frequency position that has the maximum combined magnitude satisfies a limit predefined), the moving object (1024) selects a frequency corresponding to the magnitude as a tracking frequency for the satellite.

[00118] Em algumas modalidades, as representações de frequência dos valores de correlação são somadas para cada uma das possíveis hipóteses de dados (por exemplo, as quatro ou seis hipóteses de dados mostradas nas figuras 9A e 9B), e a representação de frequência combinada com a máxima magnitude (isto é, a maior magnitude combinada para qualquer uma das posições de frequência da transformada discreta de Fourier) é selecionada, levando em conta todas as possíveis hipóteses de dados.[00118] In some embodiments, the frequency representations of the correlation values are added for each of the possible data hypotheses (for example, the four or six data hypotheses shown in figures 9A and 9B), and the combined frequency representation with the maximum magnitude (that is, the highest combined magnitude for any of the frequency positions of the discrete Fourier transform) is selected, taking into account all possible data hypotheses.

[00119] Em algumas modalidades, as operações de correlacionamento, realização da transformada discreta de Fourier e combinação supradescritas são realizadas para cada uma de uma pluralidade de hipóteses de mudança de código. Para cada hipótese de mudança de código, a máxima magnitude combinada (por exemplo, a representação de frequência combinada 804, figura 8) produzida pela operação 1022 substitui a máxima magnitude combinada previamente computada se a mesma for maior do que a máxima magnitude combinada previamente computada para todas as hipóteses de mudança de código previamente consideradas (para a atual hipótese de frequência).[00119] In some modalities, the correlation operations, realization of the discrete Fourier transform and combination described above are performed for each of a plurality of code change hypotheses. For each hypothesis of code change, the maximum combined magnitude (for example, the combined frequency representation 804, figure 8) produced by operation 1022 replaces the previously computed maximum combined magnitude if it is greater than the previously computed maximum combined magnitude for all previously considered code change hypotheses (for the current frequency hypothesis).

[00120] Em algumas modalidades, para uma respectiva hipótese de frequência, as operações de correlacionamento, realização da transformada discreta de Fourier e combinação são realizadas para cada um de uma pluralidade de satélites (por exemplo, sem reamostragem do sinal), pelo correlacionamento dos dados amostrados armazenados com uma réplica localmente armazenada (ou gerada) do código PRN (por exemplo, armazenada na memória de sequência do local de PRN 416, figura 4) para cada um destes satélites. Em algumas modalidades, os satélites são provenientes de diferentes constelações. Desta maneira, os dados de satélite amostrados usando uma hipótese de frequência são testados contra todos os códigos PRN de satélite aplicáveis, e toda mudança de código destes códigos PRN de satélite, antes de os dados de satélite serem reamostrados usando uma próxima hipótese de frequência. A íntegra do processo de aquisição é, então, repetida para uma próxima hipótese de frequência. Em algumas modalidades, o processo de aquisição para, antes do teste de todas as hipóteses de frequência aplicáveis, quando os sinais para um número suficiente de satélites (por exemplo, quatro ou cinco satélites) tiverem sido adquiridos, e a correspondente informação é provida para o módulo de rastreamento 222. Em algumas modalidades, o processo de aquisição executa até que todos os códigos PRN aplicáveis tenham sido testados para todas as hipóteses de frequência aplicáveis, assim, adquirindo tantos sinais de satélite quanto for possível.[00120] In some modalities, for a respective frequency hypothesis, the correlation operations, realization of the discrete Fourier transform and combination are performed for each of a plurality of satellites (for example, without signal resampling), by the correlation of the sampled data stored with a locally stored (or generated) replica of the PRN code (for example, stored in the sequence memory of the PRN location 416, figure 4) for each of these satellites. In some modalities, the satellites come from different constellations. In this way, the satellite data sampled using a frequency hypothesis is tested against all applicable satellite PRN codes, and any code changes to these satellite PRN codes, before the satellite data is resampled using a next frequency hypothesis. The entire acquisition process is then repeated for a next frequency hypothesis. In some modalities, the acquisition process stops, before testing all applicable frequency assumptions, when the signals for a sufficient number of satellites (for example, four or five satellites) have been acquired, and the corresponding information is provided for the tracking module 222. In some modalities, the acquisition process runs until all applicable PRN codes have been tested for all applicable frequency assumptions, thus acquiring as many satellite signals as possible.

[00121] Similarmente, em algumas modalidades, para uma dada hipótese do código PRN, uma vez que uma mudança de código e frequência são identificadas que resultam nas representações de frequência combinadas dos valores de correlação que satisfazem o limite predefinido (veja a discussão da etapa 1024 supra), o sinal para o satélite correspondente é considerado adquirido, a informação da frequência e da mudança de código para este satélite é passada para o módulo de rastreamento 222, e todos os testes adicionais de hipóteses para o código PRN correspondente a este satélite são interrompidos. Em decorrência disto, o valor de tempo exigido para completar o processo de aquisição do sinal do satélite é reduzido.[00121] Similarly, in some modalities, for a given hypothesis of the PRN code, since a change of code and frequency are identified that result in the combined frequency representations of the correlation values that satisfy the predefined limit (see discussion of step 1024 supra), the signal for the corresponding satellite is considered acquired, the frequency and code change information for this satellite is passed to the tracking module 222, and all additional hypothesis tests for the PRN code corresponding to this satellite are interrupted. As a result, the amount of time required to complete the satellite signal acquisition process is reduced.

[00122] As figuras 11A-11D ilustram um fluxograma de um método de aquisição de um sinal a partir de um satélite em um sistema global de navegação por satélite (GNSS) e, mais particularmente, de aquisição de uma mudança de código para o satélite, de acordo com algumas modalidades. O método 1100 é tipicamente realizado por um objeto móvel que tem um sistema de circuitos, tais como um receptor de sinal (por exemplo, receptor 120, figura 1) e um ou mais processadores (por exemplo, um ou mais processadores do sistema de computador 130, figura 1), mas, opcionalmente, é realizado, pelo menos em parte, por um sistema externo a ou remoto do objeto móvel. Em algumas modalidades, o método 1100 é realizado por um motor de aquisição do sinal GNSS (por exemplo, motor de aquisição do sinal GNSS 316, figura 3) de um receptor de sinal em um objeto móvel. Para facilidade de explicação, o método 1100 será explicado como sendo realizado por um objeto móvel, mas será entendido que pelo menos algumas partes do método 1100 podem ser realizadas por um sistema externo.[00122] Figures 11A-11D illustrate a flowchart of a method of acquiring a signal from a satellite in a global satellite navigation system (GNSS) and, more particularly, of acquiring a code change for the satellite , according to some modalities. Method 1100 is typically performed by a moving object that has a circuit system, such as a signal receiver (for example, receiver 120, figure 1) and one or more processors (for example, one or more processors in the computer system 130, figure 1), but, optionally, it is carried out, at least in part, by a system external to or remote from the moving object. In some embodiments, method 1100 is performed by a GNSS signal acquisition engine (for example, GNSS signal acquisition engine 316, figure 3) from a signal receiver on a moving object. For ease of explanation, the 1100 method will be explained as being performed by a moving object, but it will be understood that at least some parts of the 1100 method can be performed by an external system.

[00123] O objeto móvel amostra (1102) um sinal em uma respectiva frequência (por exemplo, 4,092 MHz, que pode ser uma frequência decimada). O sinal é proveniente de um satélite em um sistema global de navegação por satélite (GNSS). O sinal inclui um código pseudoaleatório para o satélite que tem um comprimento de recorte predefinido para uma instância completa do código pseudoaleatório.[00123] The moving object samples (1102) a signal at a respective frequency (for example, 4.092 MHz, which can be a decimated frequency). The signal comes from a satellite in a global satellite navigation system (GNSS). The signal includes a pseudo-random code for the satellite that has a predefined clipping length for a complete instance of the pseudo-random code.

[00124] Em algumas modalidades, a respectiva frequência é (1104) um múltiplo integral de uma hipótese de frequência (por exemplo, uma hipótese de frequência para uma frequência de recorte do sinal). Por exemplo, em algumas modalidades, quando o sinal for codificado em BPSK, o múltiplos integral é pelo menos 2. Em algumas modalidades, quando o sinal for codificado em BOC, o múltiplo integral é pelo menos 4.[00124] In some modalities, the respective frequency is (1104) an integral multiple of a frequency hypothesis (for example, a frequency hypothesis for a signal clipping frequency). For example, in some embodiments, when the signal is encoded in BPSK, the integral multiple is at least 2. In some embodiments, when the signal is encoded in BOC, the integral multiple is at least 4.

[00125] O objeto móvel armazena (1106) uma primeira parte do sinal amostrado em um armazenamento temporário, o armazenamento temporário tendo um tamanho que é menor do que o comprimento de recorte predefinido amostrado na respectiva frequência. Por exemplo, quando o sinal for amostrado em 4,092 MHz, e o código pseudoaleatório tiver um comprimento de recorte de 10.230 recortes enviado em uma frequência de 1,023 MHz, a íntegra do código pseudoaleatório terá um comprimento de 40.920 valores. Em algumas modalidades, o armazenamento temporário armazena menos do que 40.920 valores (por exemplo, armazena 32.736 valores). Em algumas modalidades, o armazenamento temporário tem um tamanho que é menor do que o comprimento de recorte para GPS-L1C e BeiDou B1C. Em algumas modalidades, o armazenamento temporário é menor do que duas vezes (ou quatro vezes) o comprimento de recorte predefinido amostrado na respectiva frequência.[00125] The movable object stores (1106) a first part of the signal sampled in a temporary storage, the temporary storage having a size that is less than the predefined clipping length sampled in the respective frequency. For example, when the signal is sampled at 4,092 MHz, and the pseudo-random code has a clipping length of 10,230 clips sent at a frequency of 1,023 MHz, the entire pseudo-random code will have a length of 40,920 values. In some embodiments, temporary storage stores less than 40,920 values (for example, it stores 32,736 values). In some embodiments, temporary storage has a size that is less than the clipping length for GPS-L1C and BeiDou B1C. In some embodiments, temporary storage is less than twice (or four times) the predefined clipping length sampled at the respective frequency.

[00126] Para cada respectiva hipótese de mudança de código (1108) de uma pluralidade de hipóteses de mudança de código, o objeto móvel realiza pelo menos a operação 1110 e, opcionalmente, a operação 1114.[00126] For each respective code change hypothesis (1108) of a plurality of code change hypotheses, the movable object performs at least operation 1110 and, optionally, operation 1114.

[00127] Para este fim, o objeto móvel correlaciona (1110) a primeira parte do sinal amostrado com uma cópia local de uma parte do código pseudoaleatório (por exemplo, da forma descrita em relação à figura 6). Em algumas modalidades, a pluralidade de hipóteses de mudança de código corresponde ao deslocamento do sinal amostrado, por deslocamentos que variam de zero até um deslocamento correspondente à metade do comprimento do armazenamento temporário, em relação à cópia local da sequência PRN. Em algumas modalidades, o correlacionamento da primeira parte do sinal amostrado com a cópia local da parte do código pseudoaleatório para cada respectiva hipótese de mudança de código da pluralidade de hipóteses de mudança de código compreende (1112) uma primeira iteração de uma pluralidade de iterações de mudança do armazenamento temporário.[00127] For this purpose, the movable object correlates (1110) the first part of the sampled signal with a local copy of a part of the pseudo-random code (for example, as described in relation to figure 6). In some embodiments, the plurality of code change hypotheses corresponds to the displacement of the sampled signal, by displacements ranging from zero to one displacement corresponding to half the length of temporary storage, in relation to the local copy of the PRN sequence. In some modalities, the correlation of the first part of the sampled signal with the local copy of the part of the pseudo-random code for each respective code change hypothesis of the plurality of code change hypotheses comprises (1112) a first iteration of a plurality of iterations of changing temporary storage.

[00128] Por exemplo, em virtude de, em algumas modalidades, o armazenamento temporário ter um tamanho que é menor do que o comprimento de recorte predefinido amostrado na respectiva frequência, em algumas circunstâncias, a parte temporariamente armazenada do sinal do satélite precisa ser recoletada, com uma fase para detectar com sucesso uma mudança de código. Cada instância do armazenamento temporário que é preenchida desta maneira é considerada uma “iteração de deslocamento de armazenamento temporário”.[00128] For example, because, in some modalities, the temporary storage has a size that is smaller than the predefined clipping length sampled in the respective frequency, in some circumstances, the temporarily stored part of the satellite signal needs to be collected , with a phase to successfully detect a code change. Each temporary storage instance that is populated in this way is considered a “temporary storage offset iteration”.

[00129] Em algumas modalidades, antes do correlacionamento da primeira parte do sinal amostrado com a cópia local de uma parte do código pseudoaleatório, o objeto móvel armazena temporariamente (1114) a cópia local da parte do código pseudoaleatório. Em algumas modalidades, o objeto móvel gera a cópia local da parte do código pseudoaleatório.[00129] In some modalities, before the correlation of the first part of the sampled signal with the local copy of a part of the pseudo-random code, the movable object temporarily stores (1114) the local copy of the part of the pseudo-random code. In some modalities, the moving object generates the local copy of the part of the pseudo-random code.

[00130] De acordo com uma determinação que a correlação da primeira parte do sinal amostrado com a cópia local da parte do código pseudoaleatório para a respectiva hipótese de mudança de código atende critérios de correspondência, o objeto móvel seleciona (1116) a hipótese de mudança de código para o rastreamento do satélite. Por exemplo, em algumas modalidades, a hipótese de mudança de código atende critérios de correspondência quando um valor da representação de frequência combinada 804 (figura 8) exceder um valor limite (por exemplo, um valor limite absoluto ou um valor limite em relação a um piso de ruído calculado).[00130] According to a determination that the correlation of the first part of the sampled signal with the local copy of the part of the pseudo-random code for the respective code change hypothesis meets matching criteria, the moving object selects (1116) the change hypothesis code for tracking the satellite. For example, in some modalities, the code change hypothesis meets matching criteria when a value of the combined frequency representation 804 (figure 8) exceeds a limit value (for example, an absolute limit value or a limit value in relation to a calculated noise floor).

[00131] Em algumas modalidades, o objeto móvel determina (1118) que nenhuma das correlações provenientes da pluralidade de hipóteses de mudança de código atende os critérios de correspondência. Assim, o objeto móvel realiza uma segunda iteração de deslocamento de armazenamento temporário. Para este fim, o objeto móvel armazena (1120) uma segunda parte do sinal amostrado no armazenamento temporário (por exemplo, o sinal é recoletado com um deslocamento de fase, da forma descrita em relação à figura 5). A segunda parte do sinal amostrado é distinta da primeira parte do sinal amostrado (por exemplo, fase mudada). Em algumas modalidades, para cada respectiva hipótese de mudança de código da pluralidade de hipóteses de mudança de código, o objeto móvel correlaciona (1122) a segunda parte do sinal amostrado com a cópia local da parte do código pseudoaleatório.[00131] In some modalities, the moving object determines (1118) that none of the correlations arising from the plurality of code change hypotheses meet the correspondence criteria. Thus, the movable object performs a second iteration of temporary storage displacement. For this purpose, the moving object stores (1120) a second part of the signal sampled in the temporary storage (for example, the signal is collected with a phase shift, as described in relation to figure 5). The second part of the sampled signal is distinct from the first part of the sampled signal (for example, phase shifted). In some modalities, for each respective code change hypothesis of the plurality of code change hypotheses, the moving object correlates (1122) the second part of the sampled signal with the local copy of the pseudo-random code part.

[00132] Da forma notada anteriormente, em algumas modalidades, o correlacionamento da segunda parte do sinal amostrado com a cópia local da parte do código pseudoaleatório para cada respectiva hipótese de mudança de código da pluralidade de hipóteses de mudança de código compreende (1124) uma segunda iteração da pluralidade de iterações de mudança do armazenamento temporário.[00132] As noted earlier, in some modalities, the correlation of the second part of the sampled signal with the local copy of the part of the pseudo-random code for each respective code change hypothesis of the plurality of code change hypotheses comprises (1124) a second iteration of the plurality of temporary storage change iterations.

[00133] Em algumas modalidades, o correlacionamento da segunda parte do sinal amostrado com a cópia local da parte do código pseudoaleatório é realizado (1126) sem rearmazenar temporariamente (por exemplo, ou regerar) a cópia local da parte do código pseudoaleatório.[00133] In some modalities, the correlation of the second part of the sampled signal with the local copy of the part of the pseudo-random code is performed (1126) without temporarily restoring (for example, or regenerating) the local copy of the part of the pseudo-random code.

[00134] Em algumas modalidades, de acordo com uma determinação que a correlação da segunda parte do sinal amostrado com a cópia local da parte do código pseudoaleatório para a respectiva hipótese de mudança de código atende critérios de correspondência, o objeto móvel seleciona (1128) a hipótese de mudança de código para o rastreamento do satélite.[00134] In some modalities, according to a determination that the correlation of the second part of the sampled signal with the local copy of the part of the pseudo-random code for the respective hypothesis of code change meets matching criteria, the movable object selects (1128) the hypothesis of code change for tracking the satellite.

[00135] Em algumas modalidades, o objeto móvel determina (1130) se critérios de exaustão, em relação à amostragem do sinal usando a respectiva frequência, foram satisfeitos.[00135] In some modalities, the moving object determines (1130) whether exhaustion criteria, in relation to signal sampling using the respective frequency, have been met.

[00136] Em algumas modalidades, os critérios de exaustão incluem (1134) um critério que é atendido quando um número máximo de iterações de mudança do armazenamento temporário tiver sido exaurido sem selecionar uma hipótese de mudança de código para o satélite (por exemplo, dado o comprimento do armazenamento temporário e o comprimento de recorte predefinido).[00136] In some embodiments, the exhaustion criteria include (1134) a criterion that is met when a maximum number of iterations of changing the temporary storage has been exhausted without selecting a hypothesis of changing the code for the satellite (for example, given the length of the temporary storage and the default clipping length).

[00137] Em algumas modalidades, de acordo com uma determinação que critérios de exaustão, em relação à amostragem do sinal usando a respectiva frequência, foram satisfeitos, o objeto móvel repete o processo usando uma hipótese de frequência diferente. Para este fim, o objeto móvel: reamostra (1136) o sinal em uma segunda frequência diferente da respectiva frequência (por exemplo, uma segunda hipótese de frequência grossa); armazena uma terceira parte do sinal amostrado na segunda frequência no armazenamento temporário; para cada respectiva hipótese de mudança de código da pluralidade de hipóteses de deslocamento de código: correlaciona a terceira parte do sinal amostrado na segunda frequência com a cópia local da parte do código pseudoaleatório; e, de acordo com uma determinação que a correlação da terceira parte do sinal amostrado na segunda frequência com a cópia local da parte do código pseudoaleatório para a respectiva hipótese de mudança de código atende critérios de correspondência, seleciona a hipótese de mudança de código para o rastreamento do satélite.[00137] In some modalities, according to a determination that exhaustion criteria, in relation to the signal sampling using the respective frequency, were satisfied, the moving object repeats the process using a different frequency hypothesis. For this purpose, the moving object: resamples (1136) the signal at a second frequency different from the respective frequency (for example, a second coarse frequency hypothesis); stores a third part of the signal sampled at the second frequency in temporary storage; for each respective code change hypothesis of the plurality of code shift hypotheses: correlates the third part of the signal sampled in the second frequency with the local copy of the pseudo-random part of the code; and, according to a determination that the correlation of the third part of the signal sampled at the second frequency with the local copy of the part of the pseudo-random code for the respective code change hypothesis meets correspondence criteria, selects the code change hypothesis for the satellite tracking.

[00138] Em algumas modalidades, o objeto móvel adiciona (1138) um deslocamento em relação à hipótese de mudança de código para o rastreamento do satélite com base, pelo menos em parte, em um deslocamento entre a primeira parte do sinal amostrado e a segunda parte do sinal amostrado. Em algumas modalidades, o deslocamento é determinado de acordo com o tempo de processamento.[00138] In some modalities, the moving object adds (1138) an offset in relation to the hypothesis of code change for tracking the satellite based, at least in part, on an offset between the first part of the sampled signal and the second part of the sampled signal. In some embodiments, the displacement is determined according to the processing time.

[00139] O objeto móvel determina (1140) uma posição do receptor GNSS usando o sinal adquirido, pelo menos em parte, pelo rastreamento do sinal do satélite usando a hipótese de mudança de código selecionada.[00139] The moving object determines (1140) a position of the GNSS receiver using the signal acquired, at least in part, by tracking the satellite signal using the selected code change hypothesis.

[00140] Em algumas modalidades, o objeto móvel adquire (1142) um segundo sinal a partir de um segundo satélite em um segundo sistema global de navegação por satélite (GNSS) distinto do sistema global de navegação por satélite. O segundo sinal inclui um segundo código pseudoaleatório para o segundo satélite que tem um segundo comprimento de recorte predefinido. O armazenamento temporário tem um tamanho que é maior do que o segundo comprimento de recorte predefinido amostrado na respectiva frequência. Em algumas modalidades, o armazenamento temporário tem um tamanho que é maior do que duas vezes (ou quatro vezes) o segundo comprimento de recorte predefinido amostrado na respectiva frequência.[00140] In some modalities, the moving object acquires (1142) a second signal from a second satellite in a second global navigation satellite system (GNSS) distinct from the global navigation satellite system. The second signal includes a second pseudo-random code for the second satellite that has a predefined second clipping length. The temporary storage has a size that is larger than the second predefined clipping length sampled at the respective frequency. In some embodiments, the temporary storage has a size that is greater than twice (or four times) the second predefined clipping length sampled at the respective frequency.

[00141] Em algumas modalidades, para cada respectiva hipótese de mudança de código da pluralidade de hipóteses de mudança de código, o objeto móvel: correlaciona (1144) a primeira parte do sinal amostrado com uma cópia local de uma parte do segundo código pseudoaleatório; e, de acordo com uma determinação que a correlação da primeira parte do sinal amostrado com a cópia local da parte do segundo código pseudoaleatório para a respectiva hipótese de mudança de código atende os critérios de correspondência, seleciona a hipótese de mudança de código para o rastreamento do segundo satélite. Em algumas modalidades, a pluralidade de hipóteses de mudança de código corresponde ao deslocamento do sinal amostrado em relação à cópia local da parte do código pseudoaleatório usando múltiplos deslocamentos sucessivos (por exemplo, deslocamentos sucessivamente maiores (ou menores)), até um deslocamento correspondente à metade do comprimento do armazenamento temporário. Em algumas modalidades, quando uma hipótese de mudança de código tiver sucesso (por exemplo, quando os critérios de correspondência forem atendidos), a parte do código pseudoaleatório corresponde a um subconjunto da primeira parte do código pseudoaleatório. Em algumas modalidades, quando uma hipótese de mudança de código tiver sucesso, a parte do código pseudoaleatório corresponde a um subconjunto da primeira parte do código pseudoaleatório que inicia na primeira metade do armazenamento temporário.[00141] In some modalities, for each respective code change hypothesis of the plurality of code change hypotheses, the movable object: correlates (1144) the first part of the sampled signal with a local copy of a part of the second pseudo-random code; and, according to a determination that the correlation of the first part of the sampled signal with the local copy of the part of the second pseudo-random code for the respective code change hypothesis meets the correspondence criteria, selects the code change hypothesis for tracking of the second satellite. In some modalities, the plurality of code change hypotheses corresponds to the displacement of the sampled signal in relation to the local copy of the pseudo-random part of the code using multiple successive displacements (for example, successively larger (or smaller) displacements), up to a corresponding displacement. half the length of temporary storage. In some modalities, when a code change hypothesis is successful (for example, when the matching criteria are met), the part of the pseudo-random code corresponds to a subset of the first part of the pseudo-random code. In some embodiments, when a code change hypothesis is successful, the part of the pseudo-random code corresponds to a subset of the first part of the pseudo-random code that starts in the first half of the temporary storage.

[00142] Em algumas modalidades, o objeto móvel determina que nenhuma das correlações da pluralidade de hipóteses de mudança de código atende os critérios de correspondência (por exemplo, a primeira parte do sinal amostrado não correlaciona com a cópia local da parte do código pseudoaleatório usando nenhuma das hipóteses de mudança de código). O objeto móvel armazena uma segunda parte do sinal amostrado no armazenamento temporário. A segunda parte do sinal amostrado é distinta da (por exemplo, mudado a partir da) primeira parte do sinal amostrado (por exemplo, da forma descrita em relação à figura 5). Para cada respectiva hipótese de mudança de código da pluralidade de hipóteses de mudança de código, o objeto móvel correlaciona a segunda parte do sinal amostrado com a cópia local de uma parte do código pseudoaleatório e, de acordo com uma determinação que a correlação da segunda parte do sinal amostrado com a cópia local da parte do código pseudoaleatório para a respectiva hipótese de mudança de código atende critérios de correspondência, seleciona a hipótese de mudança de código para o rastreamento do satélite (por exemplo, o método 1100 é repetido com a segunda parte do sinal amostrado no armazenamento temporário).[00142] In some modalities, the moving object determines that none of the correlations of the plurality of code change hypotheses meet the matching criteria (for example, the first part of the sampled signal does not correlate with the local copy of the pseudo-random part of the code using no chance of code change). The moving object stores a second part of the sampled signal in temporary storage. The second part of the sampled signal is distinct from (for example, changed from) the first part of the sampled signal (for example, as described in relation to figure 5). For each respective code change hypothesis of the plurality of code change hypotheses, the movable object correlates the second part of the sampled signal with the local copy of a part of the pseudo-random code and, according to a determination that the correlation of the second part of the signal sampled with the local copy of the part of the pseudo-random code for the respective code change hypothesis meets matching criteria, selects the code change hypothesis for satellite tracking (for example, method 1100 is repeated with the second part of the signal sampled in the temporary storage).

[00143] Em algumas modalidades, um deslocamento é adicionado na hipótese de mudança de código com sucesso, e o satélite é rastreado usando a hipótese de mudança de código com sucesso de deslocamento. Por exemplo, em algumas modalidades, um deslocamento com base no tempo de processamento é adicionado na hipótese de mudança de código. Além do mais, em algumas modalidades, o método inclui converter a hipótese de mudança de código com sucesso para uma hipótese de mudança de código de frequência superior (por exemplo, uma hipótese de mudança de código na frequência de rastreamento em vez de na frequência de amostragem decimada que foi usada para a aquisição do satélite).[00143] In some modalities, an offset is added in the event of a successful code change, and the satellite is tracked using the hypothesis of a successful code change. For example, in some modalities, an offset based on processing time is added in the event of a code change. In addition, in some embodiments, the method includes converting the code change hypothesis successfully to a higher frequency code change hypothesis (for example, a code change hypothesis at the tracking frequency instead of at the decimated sampling that was used for satellite acquisition).

[00144] A figura 12 ilustra um fluxograma para um método 1200. Em algumas modalidades, o método 1200 é realizado por um receptor móvel. Em algumas modalidades, o método 1200 é realizado pelo motor de aquisição do satélite GNSS de um receptor móvel. O fluxograma indica a ordem de certas operações usadas no método 1000, discutido anteriormente em relação às figuras 10A-10B, e no método 1100, discutido anteriormente em relação às figuras 11A-11D, de acordo com algumas modalidades. A figura 12 inclui quatro níveis de laços de computação aninhados, com o laço de nível mais inferior (1212-1214) para testar todas as hipóteses de mudança de código (algumas vezes chamadas de hipóteses de deslocamento de código) para uma frequência atualmente selecionada (1204), código PRN atualmente selecionado (1210) e, se aplicável, a parte atualmente selecionada do sinal amostrado (por exemplo, para códigos PRN longos) (1206). A operação 1214 corresponde às operações de correlação, transformada discreta de Fourier (DFT) e análise de padrão de dados discutidas anteriormente em relação às figuras, 6, 7, 8 e 9A-9B. Em algumas modalidades, a operação 1214 é realizada usando hardware especializado, algumas vezes implementado em um ASIC, para habilitar que esta operação seja realizada centenas de milhares ou até mesmo milhões de vezes, para todos da frequência, do código PRN e das hipóteses de mudança de código potencialmente aplicáveis, em um período de tempo curto predefinido, tais como cinco segundos ou menos. Em decorrência disto, os sinais GNSS de todos os satélites, em uma constelação de satélite em particular (por exemplo, GPS, ou GLONASS) em vista de um receptor móvel, podem ser adquiridos neste período de tempo predefinido.[00144] Figure 12 illustrates a flowchart for method 1200. In some embodiments, method 1200 is performed by a mobile receiver. In some modalities, the 1200 method is performed by the GNSS satellite acquisition engine from a mobile receiver. The flowchart indicates the order of certain operations used in method 1000, discussed previously in relation to figures 10A-10B, and in method 1100, discussed previously in relation to figures 11A-11D, according to some modalities. Figure 12 includes four levels of nested computing loops, with the lowest-level loop (1212-1214) to test all code change hypotheses (sometimes called code shift hypotheses) for a currently selected frequency ( 1204), currently selected PRN code (1210) and, if applicable, the currently selected part of the sampled signal (for example, for long PRN codes) (1206). Operation 1214 corresponds to the correlation operations, discrete Fourier transform (DFT) and data pattern analysis previously discussed in relation to figures, 6, 7, 8 and 9A-9B. In some modalities, operation 1214 is performed using specialized hardware, sometimes implemented in an ASIC, to enable this operation to be performed hundreds of thousands or even millions of times, for all of the frequency, the PRN code and the hypotheses of change of potentially applicable code, in a predefined short period of time, such as five seconds or less. As a result, GNSS signals from all satellites, in a particular satellite constellation (for example, GPS, or GLONASS) in view of a mobile receiver, can be acquired within this predefined period of time.

[00145] O método 1200 começa com o motor de aquisição do satélite GNSS sendo inicializado (1202), por exemplo, pelo carregamento de um conjunto de códigos PRN na memória de sequência do local de PRN 415 (figura 4), definição do NCO 406 em uma primeira frequência das frequências candidatas, definição da parte de código (se aplicável) em uma primeira parte de código e definição da mudança de código em uma inicial ou primeira mudança de código (por exemplo, zero, correspondente a nenhum deslocamento ou mudança da sequência PRN). Na etapa 1204, uma primeira ou próxima frequência (algumas vezes chamada de uma hipótese de frequência) é selecionada. Se a etapa 1204 for alcançada depois que todos da frequência, do código PRN e das hipóteses de mudança de código tiverem sido selecionados e analisados, o motor de aquisição do satélite GNSS provê a informação (por exemplo, um valor da frequência e mudança de código) para um conjunto de um ou mais, dois ou mais, ou mais, tipicamente, quatro ou mais sinais GNSS adquiridos para o motor de rastreamento do satélite GNSS do receptor (por exemplo, módulo de rastreamento 222). Alternativamente, em algumas modalidades, os sinais GNSS adquiridos são providos para o motor de rastreamento do satélite GNSS como os mesmos são adquiridos, como parte das operações 1214, 1212, ou 1210.[00145] Method 1200 begins with the GNSS satellite acquisition engine being initialized (1202), for example, by loading a set of PRN codes into the sequence memory of the PRN 415 location (figure 4), definition of NCO 406 in a first frequency of the candidate frequencies, definition of the code part (if applicable) in a first code part and definition of the code change in an initial or first code change (for example, zero, corresponding to no displacement or change of the PRN sequence). In step 1204, a first or next frequency (sometimes called a frequency hypothesis) is selected. If step 1204 is reached after all of the frequency, PRN code and code change assumptions have been selected and analyzed, the GNSS satellite acquisition engine provides the information (for example, a frequency value and code change ) for a set of one or more, two or more, or typically four or more GNSS signals acquired for the receiver's GNSS satellite tracking engine (for example, tracking module 222). Alternatively, in some modalities, the acquired GNSS signals are provided to the GNSS satellite tracking engine as they are acquired, as part of operations 1214, 1212, or 1210.

[00146] Na etapa 1206, se a constelação de satélites para a qual a aquisição do satélite GNSS está sendo realizada tiver códigos PRN longos para os quais a memória de amostra do motor de aquisição do satélite GNSS (por exemplo, memória de amostra 414, figura 4) é insuficientemente grande para armazenar as amostras para um completo período de PRN, uma parte do código é selecionada. Para códigos PRN mais curtos, há apenas uma parte de código, que compreende a íntegra do código PRN, esta parte de código sendo “selecionada” como padrão; alternativamente, a etapa 1206 é ignorada durante a aquisição de sinais GNSS que têm códigos PRN que são curtos o suficiente para que as amostras para um código PRN completo sejam armazenadas na memória de amostra (por exemplo, memória de amostra 414).[00146] In step 1206, if the constellation of satellites for which the acquisition of the GNSS satellite is being carried out has long PRN codes for which the sample memory of the GNSS satellite acquisition engine (for example, sample memory 414, figure 4) is insufficiently large to store the samples for a complete PRN period, a part of the code is selected. For shorter PRN codes, there is only one piece of code, which comprises the entire PRN code, this piece of code being "selected" by default; alternatively, step 1206 is skipped when acquiring GNSS signals that have PRN codes that are short enough that samples for a full PRN code are stored in the sample memory (e.g., sample memory 414).

[00147] Depois da realização da etapa 1206, se aplicável, ou, em outras circunstâncias, depois da etapa 1204, o método 1200 progride para a etapa 1208. Na etapa 1208, o sinal do satélite recebido é amostrado usando a frequência selecionada, decimada e armazenada na memória de amostra. Se uma parte de código tiver sido selecionada (1206), as amostras para a parte de código atualmente selecionada são armazenadas na memória de amostra. Uma vez que as amostras são armazenadas na memória de amostra, estas amostras são processadas ou testadas para todas as hipóteses de código PRN (1210) e hipóteses de mudança de código (1212) aplicáveis, para minimizar o número de vezes que os dados de satélite precisam ser amostrados, decimados e armazenados na memória de amostra. Em particular, um primeiro ou próximo código PRN é selecionado na etapa 1210, e uma primeira ou próxima mudança de código é selecionada na etapa 1212, e, então, os dados amostrados são correlacionados (1214) com uma réplica local do código PRN selecionado, na mudança de código selecionado, da forma supradescrita em relação à figura 6, os valores de correlação são processados usando uma transformada discreta de Fourier, da forma supradescrita em relação à figura 7, e as representações de frequência resultantes são combinadas de acordo com todos os padrões de dados em potencial, da forma supradescrita em relação às figuras 8 e 9A-9B, para obter ou determinar a mais forte representação de frequência combinada para o código PRN e a mudança de código atualmente selecionados (e a parte de código, se aplicável). Em algumas modalidades, a mais forte representação de frequência combinada é verificada neste ponto para determinar se a mesma atende critérios de aquisição do sinal do satélite predefinidos, e, se for o caso, esta informação é gravada e/ou relatada para o motor de rastreamento do satélite GNSS (por exemplo, imediatamente, ou na etapa 1230).[00147] After performing step 1206, if applicable, or, in other circumstances, after step 1204, method 1200 progresses to step 1208. In step 1208, the received satellite signal is sampled using the selected frequency, decimated and stored in the sample memory. If a code part has been selected (1206), samples for the currently selected code part are stored in the sample memory. Once the samples are stored in the sample memory, these samples are processed or tested for all applicable PRN code assumptions (1210) and code change assumptions (1212), to minimize the number of times satellite data need to be sampled, decimated and stored in the sample memory. In particular, a first or next PRN code is selected in step 1210, and a first or next code change is selected in step 1212, and then the sampled data is correlated (1214) with a local replica of the selected PRN code, in the selected code change, as described above with respect to figure 6, the correlation values are processed using a discrete Fourier transform, as shown above with respect to figure 7, and the resulting frequency representations are combined according to all potential data patterns, as described above in relation to figures 8 and 9A-9B, to obtain or determine the strongest combined frequency representation for the currently selected PRN code and code change (and the code part, if applicable ). In some modalities, the strongest combined frequency representation is checked at this point to determine whether it meets predefined satellite signal acquisition criteria, and, if applicable, this information is recorded and / or reported to the tracking engine. GNSS satellite (for example, immediately, or in step 1230).

[00148] As etapas 1210, 1212 e 1214 são repetidas até que todos os códigos PRN (1222) e mudança de código (1220) aplicáveis aos dados amostrados armazenados na memória de amostra tenham sido processados, depois do que, o método 1200 progride para a etapa 1206, para seleção de uma próxima parte de código se mais do que uma parte de código precisar ser processada, ou para a etapa 1204, em que uma próxima hipótese de frequência é selecionada. Em algumas modalidades, a repetição das etapas 1210, 1212 e 1214 é interrompida se um número predefinido dos sinais de satélite (por exemplo, quatro ou cinco) tiver sido adquirido pelo motor de aquisição do satélite GNSS, e o método, em vez disto, progride diretamente para a etapa 1230, para relatar os sinais GNSS adquiridos para o motor de rastreamento do satélite GNSS do receptor móvel.[00148] Steps 1210, 1212 and 1214 are repeated until all PRN codes (1222) and code change (1220) applicable to the sampled data stored in the sample memory have been processed, after which method 1200 progresses to step 1206, for selecting a next code part if more than one code part needs to be processed, or for step 1204, where a next frequency assumption is selected. In some embodiments, the repetition of steps 1210, 1212 and 1214 is interrupted if a predefined number of satellite signals (for example, four or five) has been acquired by the GNSS satellite acquisition engine, and the method, instead, proceed directly to step 1230 to report the acquired GNSS signals to the mobile receiver's GNSS satellite tracking engine.

[00149] Depois que as etapas 1210, 1212 e 1214 tiverem sido repetidas até que todos os códigos PRN e mudança de código aplicáveis nos dados amostrados armazenados na memória de amostra tenham sido processados, o método 1200 progride para a etapa 1206, se aplicável, para selecionar uma próxima parte de código, ou, em outras circunstâncias, para a etapa 1204, para selecionar uma próxima hipótese de frequência. Na etapa 1206, se todas as partes de código tiverem sido processadas (1224), o método 1200 progride para a etapa 1204 para selecionar uma próxima hipótese de frequência. Além do mais, depois que o processamento de uma hipótese de frequência for completado, na etapa 1230, todos os sinais GNSS adquiridos durante o processamento desta hipótese de frequência são relatados (por exemplo, uma mudança de frequência e de código é relatada para cada sinal GNSS adquirido) para o motor de rastreamento do satélite GNSS do receptor móvel. Em algumas modalidades, os satélites cujos sinais GNSS foram adquiridos durante qualquer uma das hipóteses de frequência já processadas são comutados pelo receptor para o modo de rastreamento, usando o módulo de rastreamento 222, sem esperar que as hipóteses de frequência adicionais sejam processadas. Em algumas outras modalidades, as aquisições do sinal GNSS são relatadas para o módulo de rastreamento 222 apenas depois que todas as hipóteses de frequência tiverem sido processadas (1226).[00149] After steps 1210, 1212 and 1214 have been repeated until all applicable PRN codes and code changes in the sampled data stored in the sample memory have been processed, method 1200 progresses to step 1206, if applicable, to select a next piece of code, or, in other circumstances, to step 1204, to select a next frequency hypothesis. In step 1206, if all pieces of code have been processed (1224), method 1200 proceeds to step 1204 to select a next frequency hypothesis. Furthermore, after the processing of a frequency hypothesis is completed, in step 1230, all GNSS signals acquired during the processing of this frequency hypothesis are reported (for example, a change in frequency and code is reported for each signal Purchased) for the mobile receiver's GNSS satellite tracking engine. In some modalities, satellites whose GNSS signals were acquired during any of the frequency hypotheses already processed are switched by the receiver to the tracking mode, using the 222 tracking module, without waiting for the additional frequency hypotheses to be processed. In some other modalities, acquisitions of the GNSS signal are reported to the tracking module 222 only after all frequency assumptions have been processed (1226).

[00150] Será entendido que, embora os termos “primeiro”, “segundo”, etc. possam ser aqui usados para descrever vários elementos, estes elementos não devem ser limitados por estes termos. Estes termos apenas são usados para distinguir um elemento do outro. Por exemplo, um primeiro contato pode ser chamado de um segundo contato e, similarmente, um segundo contato pode ser chamado de um primeiro contato, sem mudar o significado da descrição, desde que todas as ocorrências do “primeiro contato” sejam renomeadas consistentemente e todas as ocorrências do segundo contato sejam renomeadas consistentemente. O primeiro contato e o segundo contato são, ambos, contatos, mas os mesmos não são o mesmo contato.[00150] It will be understood that, although the terms "first", "second", etc. can be used here to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from the other. For example, a first contact can be called a second contact and, similarly, a second contact can be called a first contact, without changing the meaning of the description, as long as all occurrences of the “first contact” are renamed consistently and all the occurrences of the second contact are renamed consistently. The first contact and the second contact are both contacts, but they are not the same contact.

[00151] A terminologia aqui usada é com o propósito de descrever as modalidades em particular apenas, e não pretende-se que seja limitante das reivindicações. Da forma usada na descrição das modalidades e das reivindicações anexas, pretende-se que as formas singulares “um”, “uma”, “o” e “a” também incluam as formas plurais, a menos que o contexto claramente indique de outra forma. Também será entendido que o termo "e/ou", da forma aqui usada, se refere a e abrange toda e qualquer possível combinação de um ou mais dos itens listados associados. Será adicionalmente entendido que os termos "compreende" e/ou "compreendendo", quando usados nesta especificação, especificam a presença de recursos, números inteiros, etapas, operações, elementos, e/ou componentes declarados, mas não impedem a presença ou a adição de um ou mais outros recursos, números inteiros, etapas, operações, elementos, componentes, e/ou grupos dos mesmos.[00151] The terminology used here is for the purpose of describing the modalities in particular only, and is not intended to be limiting of the claims. As used in the description of the modalities and the attached claims, it is intended that the singular forms "one", "one", "o" and "a" also include plural forms, unless the context clearly indicates otherwise . It will also be understood that the term "and / or", as used herein, refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms "comprises" and / or "comprising", when used in this specification, specify the presence of declared resources, integers, steps, operations, elements, and / or components, but do not prevent the presence or addition of one or more other resources, integers, steps, operations, elements, components, and / or groups thereof.

[00152] Da forma aqui usada, o termo “se” pode ser interpretado por significar “quando” ou “mediante” ou “em resposta à determinação” ou “de acordo com uma determinação” ou “em resposta à detecção”, que uma condição declarada precedente é verdadeira, dependendo do contexto. Similarmente, a frase “se for determinado [que uma condição declarada precedente é verdadeira]” ou “se [uma condição declarada precedente for verdadeira]” ou “quando [uma condição declarada precedente for verdadeira]” pode ser interpretada por significar “mediante a determinação” ou “em resposta à determinação” ou “de acordo com uma determinação” ou “mediante a detecção” ou “em resposta à detecção” de que a condição declarada precedente é verdadeira, dependendo do contexto.[00152] As used herein, the term "if" can be interpreted to mean "when" or "upon" or "in response to a determination" or "according to a determination" or "in response to detection", that a preceding condition is true, depending on the context. Similarly, the phrase "if [a preceding stated condition is true]" or "if [a preceding stated condition is true]" or "when [a preceding stated condition is true]" can be interpreted to mean "by determination "or" in response to the determination "or" according to a determination "or" upon detection "or" in response to detection "that the preceding condition is true, depending on the context.

[00153] A descrição exposta, com o propósito de explicação, foi descrita em relação às modalidades específicas. Entretanto, não pretende-se que as discussões ilustrativas expostas sejam exaustivas ou limitem a invenção às precisas formas descritas. Muitas modificações e variações são possíveis em vista dos preceitos expostos. As modalidades foram escolhidas e descritas a fim de melhor explicar os princípios da invenção e suas aplicações práticas, para, assim, habilitar outros versados na técnica a melhor utilizar a invenção e as várias modalidades com várias modificações que são adequadas para o uso em particular contemplado.[00153] The exposed description, for the purpose of explanation, was described in relation to the specific modalities. However, the illustrative discussions presented are not intended to be exhaustive or to limit the invention to the precise forms described. Many modifications and variations are possible in view of the exposed precepts. The modalities were chosen and described in order to better explain the principles of the invention and its practical applications, in order to enable others skilled in the art to better use the invention and the various modalities with various modifications that are suitable for the particular use contemplated. .

Claims (20)

Método, caracterizado pelo fato de que compreende:
em um receptor de sistema global de navegação por satélite (GNSS) que inclui um ou mais processadores e instruções para execução pelo um ou mais processadores:
adquirir um sinal de um satélite em um sistema global de navegação por satélite (GNSS), em que o sinal inclui um código pseudoaleatório para o satélite, a aquisição incluindo:
para cada período de tempo respectivo de uma pluralidade de períodos de tempo:
gerar uma pluralidade de amostras do sinal;
correlacionar uma pluralidade de segmentos da pluralidade de amostras do sinal com uma cópia local do código pseudoaleatório para o satélite, assim produzindo uma pluralidade de valores de correlação para o respectivo período de tempo;
realizar uma transformada discreta de Fourier (DFT) usando, como entradas, a pluralidade de valores de correlação para o respectivo período de tempo, assim produzindo uma representação de frequência dos valores de correlação para o período de tempo;
combinar as representações de frequência dos valores de correlação para a pluralidade de períodos de tempo de acordo com uma hipótese de dados para produzi representações de frequência combinadas dos valores de correlação para a pluralidade de períodos de tempo;
de acordo com uma determinação de que uma magnitude das representações de frequência combinadas dos valores de correlação para a pluralidade de períodos de tempo atenda critérios predefinidos, selecionar uma frequência correspondente à magnitude como uma frequência de rastreamento para o satélite; e
determinar uma posição do receptor GNSS usando o sinal adquirido pelo menos em parte por rastrear o sinal do satélite usando a frequência de rastreamento.
Method, characterized by the fact that it comprises:
on a Global Navigation Satellite System (GNSS) receiver that includes one or more processors and instructions for execution by one or more processors:
acquire a signal from a satellite in a global satellite navigation system (GNSS), where the signal includes a pseudo-random code for the satellite, the acquisition including:
for each respective time period of a plurality of time periods:
generating a plurality of signal samples;
correlating a plurality of segments of the plurality of signal samples with a local copy of the pseudo-random code for the satellite, thereby producing a plurality of correlation values for the respective time period;
perform a discrete Fourier transform (DFT) using, as inputs, the plurality of correlation values for the respective time period, thus producing a frequency representation of the correlation values for the time period;
combining frequency representations of correlation values for the plurality of time periods according to a data hypothesis to produce combined frequency representations of correlation values for the plurality of time periods;
according to a determination that a magnitude of the combined frequency representations of the correlation values for the plurality of time periods meets predefined criteria, select a frequency corresponding to the magnitude as a tracking frequency for the satellite; and
determine a position of the GNSS receiver using the signal acquired at least in part by tracking the satellite signal using the tracking frequency.
Método de acordo com a reivindicação 1, caracterizado pelo fato de que:
cada segmento correlacionado da pluralidade de amostras do sinal corresponde a uma duração de tempo;
a pluralidade de amostras do sinal é gerada usando uma hipótese de frequência grossa; e
o método inclui repetir as operações de geração, correlacionamento, realização da DFT e de combinação com hipóteses de frequência grossa adjacentes que são separadas por um valor inferior ou igual ao inverso da duração de tempo.
Method according to claim 1, characterized by the fact that:
each correlated segment of the plurality of signal samples corresponds to a duration of time;
the plurality of signal samples is generated using a coarse frequency hypothesis; and
the method includes repeating the generation, correlation, DFT and combination operations with adjacent coarse frequency assumptions that are separated by a value less than or equal to the inverse of the time duration.
Método de acordo com a reivindicação 1, caracterizado pelo fato de que gerar a pluralidade de amostras do sinal inclui:
inicialmente amostrar o sinal em um múltiplo inicial de uma hipótese de frequência; e
decimar o sinal inicialmente amostrado para produzir a pluralidade de amostras do sinal.
Method according to claim 1, characterized by the fact that generating the plurality of signal samples includes:
initially sampling the signal at an initial multiple of a frequency hypothesis; and
decimate the signal initially sampled to produce the plurality of signal samples.
Método de acordo com a reivindicação 1, caracterizado pelo fato de que:
correlacionar a pluralidade de segmentos da pluralidade de amostras do sinal com a cópia local do código pseudoaleatório para o satélite para cada período de tempo respectivo da pluralidade de períodos de tempo inclui correlacionar n segmentos da pluralidade de amostras do sinal com a cópia local do código pseudoaleatório para produzir n valores de correlação para cada período de tempo respectivo, em que n é um número inteiro maior que um;
a DFT é uma DFT de ponto m, em que m é um número inteiro maior que n; e
realizar a DFT inclui usar, como entradas,m - η valores zero em adição aos valores de correlação n para o respectivo período de tempo.
Method according to claim 1, characterized by the fact that:
correlating the plurality of segments of the plurality of signal samples with the local copy of the pseudo-random code for the satellite for each respective time period of the plurality of time periods includes correlating n segments of the plurality of signal samples with the local copy of the pseudo-random code to produce n correlation values for each respective time period, where n is an integer greater than one;
the DFT is a DFT of point m, where m is an integer greater than n; and
performing the DFT includes using m - η zero values as inputs in addition to the correlation values n for the respective time period.
Método de acordo com a reivindicação 4, caracterizado pelo fato de que:
cada segmento correlacionado da pluralidade de amostras do sinal corresponde a uma duração de tempo; e
um inverso da duração de tempo dividido por m é menor que uma tolerância de frequência para rastrear o sinal do satélite usando a frequência de rastreamento.
Method according to claim 4, characterized by the fact that:
each correlated segment of the plurality of signal samples corresponds to a duration of time; and
an inverse of the duration of time divided by m is less than a frequency tolerance for tracking the satellite signal using the tracking frequency.
Método de acordo com a reivindicação 4, caracterizado pelo fato de que realizar a DFT por um respectivo período de tempo da pluralidade de períodos de tempo inclui:
usar, como entradas, os n valores de correção para o respectivo período de tempo, em que os n valores de correlação são mudados por n entradas da DFT comparadas com os n valores de correlação para um período de tempo prévio e adjacente da pluralidade de períodos de tempo.
Method according to claim 4, characterized by the fact that performing the DFT for a respective time period of the plurality of time periods includes:
use, as inputs, the n correction values for the respective time period, where the n correlation values are changed by n DFT entries compared to the n correlation values for a previous and adjacent time period of the plurality of periods of time.
Método de acordo com a reivindicação 1, caracterizado pelo fato de que as operações de correlação, realizar a transformada discreta de Fourier, e de combinação são realizadas para cada de uma pluralidade de hipóteses de mudança de código.Method according to claim 1, characterized by the fact that the correlation operations, perform the discrete Fourier transform, and combination are performed for each of a plurality of code change hypotheses. Método de acordo com a reivindicação 1, caracterizado pelo fato de que, para uma hipótese de frequência respectiva, as operações de correlação, realizar a transformada discreta de Fourier, e de combinação são realizadas para cada de uma pluralidade de satélites.Method according to claim 1, characterized by the fact that, for a respective frequency hypothesis, the correlation operations, perform the discrete Fourier transform, and combination are performed for each of a plurality of satellites. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o respectivo período de tempo é um período de uma instância completa do código pseudoaleatório.Method according to claim 1, characterized by the fact that the respective period of time is a period of a complete instance of the pseudo-random code. Receptor de sistema global de navegação por satélite (GNSS), caracterizado pelo fato de que compreende:
um ou mais processadores; e
instruções de armazenamento de memória que, quando executadas por um receptor do sistema global de navegação por satélite (GNSS) que inclui um ou mais processadores, fazem o receptor GNSS:
adquirir um sinal de um satélite em um sistema global de navegação por satélite, em que o sinal inclui um código pseudoaleatório para o satélite, a aquisição incluindo:
para cada período de tempo respectivo de uma pluralidade de períodos de tempo:
gerar uma pluralidade de amostras do sinal;
correlacionar uma pluralidade de segmentos da pluralidade de amostras do sinal com uma cópia local do código pseudoaleatório para o satélite, assim produzindo uma pluralidade de valores de correlação para o respectivo período de tempo;
realizar uma transformada discreta de Fourier (DFT) usando, como entradas, a pluralidade de valores de correlação para o respectivo período de tempo, assim produzindo uma representação de frequência dos valores de correlação para o período de tempo;
combinar as representações de frequência dos valores de correlação para a pluralidade de períodos de tempo de acordo com uma hipótese de dados;
de acordo com uma determinação que uma magnitude das representações de frequência combinadas dos valores de correlação para a pluralidade de períodos de tempo atenda critérios predefinidos, selecionar uma frequência correspondente à magnitude como uma frequência de rastreamento para o satélite; e
determinar uma posição do receptor GNSS usando o sinal adquirido pelo menos em parte por rastrear o sinal do satélite usando a frequência de rastreamento.
Global satellite navigation system (GNSS) receiver, characterized by the fact that it comprises:
one or more processors; and
memory storage instructions that, when executed by a global satellite navigation system (GNSS) receiver that includes one or more processors, make the GNSS receiver:
acquire a signal from a satellite in a global satellite navigation system, where the signal includes a pseudo-random code for the satellite, the acquisition including:
for each respective time period of a plurality of time periods:
generating a plurality of signal samples;
correlating a plurality of segments of the plurality of signal samples with a local copy of the pseudo-random code for the satellite, thereby producing a plurality of correlation values for the respective time period;
perform a discrete Fourier transform (DFT) using, as inputs, the plurality of correlation values for the respective time period, thus producing a frequency representation of the correlation values for the time period;
combining the frequency representations of the correlation values for the plurality of time periods according to a data hypothesis;
according to a determination that a magnitude of the combined frequency representations of the correlation values for the plurality of time periods meets predefined criteria, selecting a frequency corresponding to the magnitude as a tracking frequency for the satellite; and
determine a position of the GNSS receiver using the signal acquired at least in part by tracking the satellite signal using the tracking frequency.
Receptor de sistema global de navegação por satélite (GNSS) de acordo com a reivindicação 10, caracterizado pelo fato de que:
cada segmento correlacionado da pluralidade de amostras do sinal corresponde a uma duração de tempo;
a pluralidade de amostras do sinal é gerada usando uma hipótese de frequência grossa; e
o método inclui repetir as operações de geração, correlacionamento, realização da DFT e de combinação com hipóteses de frequência grossa adjacentes que são separadas por um valor inferior ou igual ao inverso da duração de tempo.
Global satellite navigation system (GNSS) receiver according to claim 10, characterized by the fact that:
each correlated segment of the plurality of signal samples corresponds to a duration of time;
the plurality of signal samples is generated using a coarse frequency hypothesis; and
the method includes repeating the generation, correlation, DFT and combination operations with adjacent coarse frequency assumptions that are separated by a value less than or equal to the inverse of the time duration.
Receptor de sistema de navegação global por satélite (GNSS) de acordo com a reivindicação 10, caracterizado pelo fato de que gerar a pluralidade de amostras do sinal inclui:
inicialmente amostrar o sinal em um múltiplo inicial de uma hipótese de frequência; e
decimar o sinal inicialmente amostrado para produzir a pluralidade de amostras do sinal.
Global satellite navigation system (GNSS) receiver according to claim 10, characterized by the fact that generating the plurality of signal samples includes:
initially sampling the signal at an initial multiple of a frequency hypothesis; and
decimate the signal initially sampled to produce the plurality of signal samples.
Receptor de sistema global de navegação por satélite (GNSS) de acordo com a reivindicação 10, caracterizado pelo fato de que:
correlacionar a pluralidade de segmentos da pluralidade de amostras do sinal com a cópia local do código pseudoaleatório para o satélite para cada período de tempo respectivo da pluralidade de períodos de tempo inclui correlacionar n segmentos da pluralidade de amostras do sinal com a cópia local do código pseudoaleatório para produzir n valores de correlação para cada período de tempo respectivo, em que n é um número inteiro maior que um;
a DFT é uma DFT de ponto m, em que m é um número inteiro maior que n; e
realizar a DFT inclui usar, como entradas,m - n valores zero em adição aos valores de correlação n para o respectivo período de tempo.
Global satellite navigation system (GNSS) receiver according to claim 10, characterized by the fact that:
correlating the plurality of segments of the plurality of signal samples with the local copy of the pseudo-random code for the satellite for each respective time period of the plurality of time periods includes correlating n segments of the plurality of signal samples with the local copy of the pseudo-random code to produce n correlation values for each respective time period, where n is an integer greater than one;
the DFT is a DFT of point m, where m is an integer greater than n; and
performing the DFT includes using m - n zero values as inputs in addition to the n correlation values for the respective time period.
Receptor de sistema global de navegação por satélite (GNSS) de acordo com a reivindicação 13, caracterizado pelo fato de que:
cada segmento correlacionado da pluralidade de amostras do sinal corresponde a uma duração de tempo; e
um inverso da duração de tempo dividido por m é menor que uma tolerância de frequência para rastrear o sinal do satélite usando a frequência de rastreamento.
Global satellite navigation system (GNSS) receiver according to claim 13, characterized by the fact that:
each correlated segment of the plurality of signal samples corresponds to a duration of time; and
an inverse of the duration of time divided by m is less than a frequency tolerance for tracking the satellite signal using the tracking frequency.
Receptor de sistema de navegação global por satélite (GNSS) de acordo com a reivindicação 13, caracterizado pelo fato de que realizar a DFT por um respectivo período de tempo da pluralidade de períodos de tempo inclui:
usar, como entradas, os n valores de correção para o respectivo período de tempo, em que os n valores de correlação são mudados por n entradas da DFT comparadas com os n valores de correlação para um período de tempo prévio e adjacente da pluralidade de períodos de tempo.
Global satellite navigation system (GNSS) receiver according to claim 13, characterized by the fact that carrying out the DFT for a respective time period of the plurality of time periods includes:
use, as inputs, the n correction values for the respective time period, where the n correlation values are changed by n DFT entries compared to the n correlation values for a previous and adjacent time period of the plurality of periods of time.
Meio de armazenamento legível por computador não transitório, caracterizado pelo fato de que armazena instruções que, quando executadas por um receptor do sistema global de navegação por satélite (GNSS) que inclui um ou mais processadores, fazem o receptor GNSS:
adquirir um sinal de um satélite em um sistema global de navegação por satélite, em que o sinal inclui um código pseudoaleatório para o satélite, a aquisição incluindo:
para cada período de tempo respectivo de uma pluralidade de períodos de tempo:
gerar uma pluralidade de amostras do sinal;
correlacionar uma pluralidade de segmentos da pluralidade de amostras do sinal com uma cópia local do código pseudoaleatório para o satélite, assim produzindo uma pluralidade de valores de correlação para o respectivo período de tempo;
realizar uma transformada discreta de Fourier (DFT) usando, como entradas, a pluralidade de valores de correlação para o respectivo período de tempo, assim produzindo uma representação de frequência dos valores de correlação para o período de tempo;
combinar as representações de frequência dos valores de correlação para a pluralidade de períodos de tempo de acordo com uma hipótese de dados;
de acordo com uma determinação que uma magnitude das representações de frequência combinadas dos valores de correlação para a pluralidade de períodos de tempo atenda critérios predefinidos, selecionar uma frequência correspondente à magnitude como uma frequência de rastreamento para o satélite; e
determinar uma posição do receptor GNSS usando o sinal adquirido pelo menos em parte por rastrear o sinal do satélite usando a frequência de rastreamento.
Non-transitory computer-readable storage medium, characterized by the fact that it stores instructions that, when executed by a receiver of the Global Navigation Satellite System (GNSS) that includes one or more processors, make the GNSS receiver:
acquire a signal from a satellite in a global satellite navigation system, where the signal includes a pseudo-random code for the satellite, the acquisition including:
for each respective time period of a plurality of time periods:
generating a plurality of signal samples;
correlating a plurality of segments of the plurality of signal samples with a local copy of the pseudo-random code for the satellite, thereby producing a plurality of correlation values for the respective time period;
perform a discrete Fourier transform (DFT) using, as inputs, the plurality of correlation values for the respective time period, thus producing a frequency representation of the correlation values for the time period;
combining the frequency representations of the correlation values for the plurality of time periods according to a data hypothesis;
according to a determination that a magnitude of the combined frequency representations of the correlation values for the plurality of time periods meets predefined criteria, selecting a frequency corresponding to the magnitude as a tracking frequency for the satellite; and
determine a position of the GNSS receiver using the signal acquired at least in part by tracking the satellite signal using the tracking frequency.
Meio de armazenamento legível por computador não transitório de acordo com a reivindicação 16, caracterizado pelo fato de que:
cada segmento correlacionado da pluralidade de amostras do sinal corresponde a uma duração de tempo;
a pluralidade de amostras do sinal é gerada usando uma hipótese de frequência grossa; e
o método inclui repetir as operações de geração, correlacionamento, realização da DFT e de combinação com hipóteses de frequência grossa adjacentes que são separadas por um valor inferior ou igual ao inverso da duração de tempo.
Non-transitory computer-readable storage medium according to claim 16, characterized by the fact that:
each correlated segment of the plurality of signal samples corresponds to a duration of time;
the plurality of signal samples is generated using a coarse frequency hypothesis; and
the method includes repeating the generation, correlation, DFT and combination operations with adjacent coarse frequency assumptions that are separated by a value less than or equal to the inverse of the time duration.
Meio de armazenamento legível por computador não transitório de acordo com a reivindicação 16, caracterizado pelo fato de que gerar a pluralidade de amostras do sinal inclui:
inicialmente amostrar o sinal em um múltiplo inicial de uma hipótese de frequência; e
decimar o sinal inicialmente amostrado para produzir a pluralidade de amostras do sinal.
Non-transitory computer-readable storage medium according to claim 16, characterized by the fact that generating the plurality of signal samples includes:
initially sampling the signal at an initial multiple of a frequency hypothesis; and
decimate the signal initially sampled to produce the plurality of signal samples.
Meio de armazenamento legível por computador não transitório de acordo com a reivindicação 16, caracterizado pelo fato de que:
correlacionar a pluralidade de segmentos da pluralidade de amostras do sinal com a cópia local do código pseudoaleatório para o satélite para cada período de tempo respectivo da pluralidade de períodos de tempo inclui correlacionar n segmentos da pluralidade de amostras do sinal com a cópia local do código pseudoaleatório para produzir n valores de correlação para cada período de tempo respectivo, em que n é um número inteiro maior que um;
a DFT é uma DFT de ponto m, em que m é um número inteiro maior que n; e
realizar a DFT inclui usar, como entradas,m - n valores zero em adição aos valores de correlação n para o respectivo período de tempo.
Non-transitory computer-readable storage medium according to claim 16, characterized by the fact that:
correlating the plurality of segments of the plurality of signal samples with the local copy of the pseudo-random code for the satellite for each respective time period of the plurality of time periods includes correlating n segments of the plurality of signal samples with the local copy of the pseudo-random code to produce n correlation values for each respective time period, where n is an integer greater than one;
the DFT is a DFT of point m, where m is an integer greater than n; and
performing the DFT includes using m - n zero values as inputs in addition to the n correlation values for the respective time period.
Meio de armazenamento legível por computador não transitório de acordo com a reivindicação 19, caracterizado pelo fato de que: cada segmento correlacionado da pluralidade de amostras do sinal corresponde a uma duração de tempo; e
um inverso da duração de tempo dividido por m é menor que uma tolerância de frequência para rastrear o sinal do satélite usando a frequência de rastreamento.
Non-transitory computer-readable storage medium according to claim 19, characterized by the fact that: each correlated segment of the plurality of signal samples corresponds to a duration of time; and
an inverse of the duration of time divided by m is less than a frequency tolerance for tracking the satellite signal using the tracking frequency.
BR102020010073-4A 2019-05-21 2020-05-20 METHOD, SATELLITE GLOBAL NAVIGATION SYSTEM RECEIVER, AND, LEGIBLE STORAGE MEDIA BY NON-TRANSITIONAL COMPUTER BR102020010073A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962851004P 2019-05-21 2019-05-21
US62/851,004 2019-05-21
US16/862,360 2020-04-29
US16/862,360 US11630217B2 (en) 2019-05-21 2020-04-29 Methods and devices for global navigation satellite system (GNSS) signal acquisition

Publications (1)

Publication Number Publication Date
BR102020010073A2 true BR102020010073A2 (en) 2020-12-01

Family

ID=70740556

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102020010073-4A BR102020010073A2 (en) 2019-05-21 2020-05-20 METHOD, SATELLITE GLOBAL NAVIGATION SYSTEM RECEIVER, AND, LEGIBLE STORAGE MEDIA BY NON-TRANSITIONAL COMPUTER

Country Status (5)

Country Link
US (2) US11630217B2 (en)
EP (1) EP3742201A1 (en)
AU (1) AU2020203288A1 (en)
BR (1) BR102020010073A2 (en)
CA (1) CA3081011A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11742883B2 (en) 2020-10-16 2023-08-29 Deere & Company Adaptive narrowband interference rejection for satellite navigation receiver
US11764862B2 (en) 2020-10-16 2023-09-19 Deere & Company Adaptive narrowband interference rejection for satellite navigation receiver
US11671133B2 (en) 2020-10-16 2023-06-06 Deere & Company Adaptive narrowband and wideband interference rejection for satellite navigation receiver
CN114063124B (en) * 2021-11-08 2022-09-06 北京航空航天大学合肥创新研究院(北京航空航天大学合肥研究生院) Beidou B1C signal rapid capturing method and storage medium
WO2023158508A1 (en) * 2022-02-18 2023-08-24 Deere & Company A satellite navigation receiver for acquisition of gnss signals
CN117610316A (en) * 2024-01-19 2024-02-27 灿芯技术(深圳)有限公司 GNSS positioning performance simulation test model generation method, device, equipment and medium

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293402A (en) 1991-05-02 1994-03-08 Bell Communications Research, Inc. Wideband digital equalizers for subscriber loops
US6466958B1 (en) * 2000-09-12 2002-10-15 Interstate Electronics Corporation, A Division Of L3 Communications Corporation Parallel frequency searching in an acquisition correlator
US6735243B1 (en) * 2000-11-08 2004-05-11 Nokia Corporation Method, apparatus and system for fast acquisition of a spread spectrum signal
US6567042B2 (en) * 2000-12-04 2003-05-20 The United States Of America As Represented By The Secretary Of The Air Force Acquisition through circular correlation by partition for GPS C/A code and P(Y) code
US6720917B2 (en) * 2000-12-04 2004-04-13 The United States Of America As Represented By The Secretary Of The Air Force Acquisition for GPS C/A code and P(Y) code
US6909736B2 (en) * 2000-12-14 2005-06-21 Nokia Corporation System for method for fine acquisition of a spread spectrum signal
US6512479B1 (en) * 2001-06-22 2003-01-28 Enuvis, Inc. Signal acquisition using data bit information
US7042930B2 (en) * 2002-06-06 2006-05-09 The Aerospace Corporation Spread spectrum bit boundary correlation search acquisition system
US6778135B2 (en) * 2002-11-18 2004-08-17 Rf Micro Devices, Inc. GPS Receiver
US7142818B2 (en) 2003-02-13 2006-11-28 Honeywell International, Inc. Systems and methods for reducing radio receiver interference from an on-board avionics transmitter
KR100587167B1 (en) * 2003-12-19 2006-06-08 삼성전자주식회사 Method of detecting bit boundary and apparatus for performing the same, method of discriminating receipt of a satellite signal and apparatus for performing the same
US7702002B2 (en) * 2004-01-28 2010-04-20 Qualcomm Incorporated Rapid acquisition methods and apparatus for GPS signals
US8013789B2 (en) 2004-10-06 2011-09-06 Ohio University Systems and methods for acquisition and tracking of low CNR GPS signals
US7486749B2 (en) * 2004-12-22 2009-02-03 Nokia Corporation Determination of a code phase
US7495610B1 (en) * 2005-05-11 2009-02-24 Rf Micro Devices, Inc. System and method for decimating global positioning system signals
US7522100B2 (en) * 2005-07-01 2009-04-21 Sirf Technology Holdings, Inc. Method and device for acquiring weak global navigation satellite system (GNSS) signals
US7920093B2 (en) * 2006-09-27 2011-04-05 Purdue Research Foundation Methods for improving computational efficiency in a global positioning satellite receiver
ATE552515T1 (en) * 2007-08-21 2012-04-15 Telecom Italia Spa METHOD FOR ACQUIRING SIGNALS VIA A GLOBAL NAVIGATION SATELLITE SYSTEM
FR2952439B1 (en) 2009-11-10 2012-11-02 Centre Nat Etd Spatiales METHOD FOR ACQUIRING RADIATION ALIGNMENT SIGNALS WITH QUASI-INFINITE PERIOD
US20110241937A1 (en) * 2010-04-02 2011-10-06 Electronics And Telecommunications Research Institute Apparatus and method for signal acquisition in global navigation satellite system receiver
US20120195401A1 (en) * 2011-02-01 2012-08-02 Neal Becker System and method for correlating received signal over time and frequency
US9742593B2 (en) 2015-12-16 2017-08-22 Kumu Networks, Inc. Systems and methods for adaptively-tuned digital self-interference cancellation
GB201613075D0 (en) * 2016-07-28 2016-09-14 Qinetiq Ltd Method and apparatus for the reception of a signal
WO2019135019A1 (en) 2018-01-02 2019-07-11 Nokia Technologies Oy Channel modelling in a data transmission system
US20200295849A1 (en) 2019-03-13 2020-09-17 Sine Cardinal LLC High performance telemetry system with a combination of soft and hard decision decodnig

Also Published As

Publication number Publication date
AU2020203288A1 (en) 2020-12-10
US20220357461A1 (en) 2022-11-10
EP3742201A1 (en) 2020-11-25
US11630217B2 (en) 2023-04-18
CA3081011A1 (en) 2020-11-21
US20230258818A1 (en) 2023-08-17

Similar Documents

Publication Publication Date Title
BR102020010073A2 (en) METHOD, SATELLITE GLOBAL NAVIGATION SYSTEM RECEIVER, AND, LEGIBLE STORAGE MEDIA BY NON-TRANSITIONAL COMPUTER
US6606346B2 (en) Method and apparatus for computing signal correlation
US6704348B2 (en) Method and apparatus for computing signal correlation at multiple resolutions
US8005174B2 (en) Method and apparatus for performing signal correlation using historical correlation data
EP1529224B1 (en) Method and apparatus for performing signal correlation at multiple resolutions to mitigate multipath interference
US8170086B2 (en) Method and apparatus for performing signal correlation
US6819707B2 (en) Method and apparatus for performing signal correlation using historical correlation data
CN114556286A (en) Modernized global navigation satellite system receiver
US20080143598A1 (en) Methods for improving computational efficiency in a global positioning satellite receiver
US7995682B2 (en) Method and apparatus for performing signal processing using historical correlation data
US20240125942A1 (en) Methods and Devices for Performing Mini-Batch Discrete Fourier Transforms for Tracking Satellite Signals
US20230305168A1 (en) Method and apparatus for fast searching global navigation satellite system signals

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]