CN108732592B - GPS software receiver based on GNU Radio - Google Patents

GPS software receiver based on GNU Radio Download PDF

Info

Publication number
CN108732592B
CN108732592B CN201810440877.0A CN201810440877A CN108732592B CN 108732592 B CN108732592 B CN 108732592B CN 201810440877 A CN201810440877 A CN 201810440877A CN 108732592 B CN108732592 B CN 108732592B
Authority
CN
China
Prior art keywords
code
carrier
gps
signal
tracking
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810440877.0A
Other languages
Chinese (zh)
Other versions
CN108732592A (en
Inventor
陈颢伟
裴悦琨
裴腾达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dalian University
Original Assignee
Dalian University
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 Dalian University filed Critical Dalian University
Priority to CN201810440877.0A priority Critical patent/CN108732592B/en
Publication of CN108732592A publication Critical patent/CN108732592A/en
Application granted granted Critical
Publication of CN108732592B publication Critical patent/CN108732592B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • G01S19/30Acquisition or tracking or demodulation of signals transmitted by the system code related

Abstract

The invention relates to a Global Positioning System (GPS) software receiver based on Global Navigation Unit (GNU) Radio, belonging to the technical field of satellite navigation. The invention comprises a first step: after receiving the GPS signal, the GPS antenna module outputs the GPS signal to the radio frequency module through the low noise amplifier and the band-pass filter; the second step is that: the radio frequency module processes signals: according to the Nyquist sampling theorem, band-pass sampling is carried out on 2 times of the C/A bandwidth of the GPS, after A/D conversion is carried out on the sampled signals, UHD can be driven by USRP hardware provided by GNU Radio to locally store the data for post-processing; the method utilizes GNU Radio software architecture, adopts object-oriented programming idea, combines a signal processing module provided by GNU Radio, realizes signal capture, tracking and subsequent navigation resolving on a general processor by programming, realizes multi-channel processing by using scheduler provided by GNU Radio to realize multi-channel scheduling management, can achieve real-time performance, can upgrade algorithm compared with a hardware receiver, is convenient for software development, and has great flexibility and expandability.

Description

GPS software receiver based on GNU Radio
Technical Field
The invention relates to a Global Positioning System (GPS) software receiver based on Global Navigation Unit (GNU) Radio, belonging to the technical field of satellite navigation.
Background
The GPS is a U.S. global positioning navigation system, has wide distribution range and a large number of satellites, provides global coverage and all-weather three-dimensional positioning, and is the most perfect positioning system serving at present. GNU Radio belongs to open source software Radio software, and a large number of signal processing modules are provided to realize software Radio application, and in recent years, the GNU Radio has wide application in the software Radio project.
Conventional commercial GPS receivers generally consist of four parts: GPS antenna, radio frequency front end, correlator and microprocessor. The antenna is responsible for receiving GPS signals, the radio frequency front end is responsible for converting the GPS signals into low-frequency signals and carrying out A/D conversion, the correlator is responsible for capturing and tracking the signals and transmitting pseudo codes, carrier waves, observation values and the like to the microprocessor, the correlator belongs to a hardware part of the receiver, the microprocessor is responsible for resolving navigation, and the position of the receiver is resolved according to satellite position information in navigation messages, the transmitting time of the satellite signals and the time of local signal receiving. The core of the hardware receiver is a correlator, data of a subsequent processor is from the correlator, and the general correlator is a GPS chip.
A large amount of correlation operations occurring in the conventional receiver baseband signal processing, especially, correlation operations in the tracking process require an Application Specific Integrated Circuit (ASIC) for processing, which is high in cost compared to software, and a corresponding chip can only process for a single frequency band, which is difficult to expand and inflexible.
Disclosure of Invention
In order to solve the problems, the invention provides a GPS software receiver based on GNU Radio. The technical scheme adopted by the invention is as follows:
the GPS software receiver based on GNU Radio comprises the following steps:
the first step is as follows: after receiving the GPS signal, the GPS antenna module outputs the GPS signal to the radio frequency module through the low noise amplifier and the band-pass filter;
the second step is that: the radio frequency module processes signals: according to the Nyquist sampling theorem, performing band-pass sampling on 2 times of the GPS C/A bandwidth, performing A/D conversion on the sampled signals, and then driving UHD (ultra high performance) to locally store data for post-processing by using USRP (universal serial bus) hardware provided by GNU Radio, or performing real-time processing according to a sampling stream;
the third step: and (3) baseband signal processing: the method comprises the following steps that the acquired signals need to be judged to be satellite signals, the signals need to be captured firstly to obtain the rough Doppler frequency and code phase of a satellite, the obtained information is transmitted to a tracking module, and then the accurate values of the Doppler frequency shift and the code phase are obtained to demodulate a navigation message, and the method comprises the following steps of processing by the capturing module and the tracking module:
the capture module processing method comprises the following steps: GPS L1C/A signal acquisition is a two-dimensional process, the code phase and carrier frequency of the signal need to be obtained, and the acquisition module samples the code phase search algorithm based on FFT, and the algorithm is as follows:
a. based on an FFT parallel code phase capturing algorithm, firstly multiplying collected signals with local carriers respectively to obtain an equidirectional component I, multiplying the same with carriers with 90-degree phase shift to obtain an orthogonal component Q, obtaining a baseband complex signal I + jQ, and carrying out FFT conversion on the obtained complex signal;
b. performing FFT (fast Fourier transform) on the pseudo code generated by the local pseudo code generator, converting the pseudo code into a frequency domain, and taking complex conjugation;
c. multiplying the results of a and b, and performing IFFT conversion to convert the results into a time domain;
d. the square of the value of the output after IFFT represents the correlation of the input signal and the PRN code. If the peak exists in the correlation value, the coordinate of the peak corresponds to the code phase and the carrier frequency of the input signal; if the local carrier does not pass the threshold, resetting the local carrier and searching again;
the tracking module processing method comprises the following steps: the code phase and the Doppler frequency shift obtained by the capturing module are a rough value, and because the code phase and the Doppler frequency shift are changed in real time due to the relative motion of the receiver and the satellite, the change of the real-time update signal frequency and the code phase is required to be obtained so as to demodulate a navigation message; the tracking module adopts a tracking algorithm combining a carrier tracking loop and code tracking, and the algorithm process is as follows: in the carrier tracking loop, firstly, the carrier with the same frequency is locally copied according to the carrier frequency value output in the capturing process. The locally replicated carrier is mixed with the input signal to strip the carrier from the input signal. And further adjusting the parameters of the local copied carrier according to the stripping effect of the carrier so as to achieve the best carrier tracking effect. The carrier tracking loop is typically in the form of a Phase Locked Loop (PLL) in which 3 different out of phase C/a codes, referred to as early, i.e. time (prompt) and late (late), respectively, are copied and denoted by the letters E, P and L, respectively. The maximum value of the correlation result can be determined more accurately by correlating the 3C/a codes of different phases with the input signal and comparing the correlation result of the instantaneous code with the correlation results of the early code and the late code, respectively.
The fourth step: the method for demodulating navigation messages and calculating positions comprises the following steps:
the navigation message demodulation method comprises the following steps:
the data output by the tracking loop is a string of 01 binary data, and the data needs to be demodulated and restored into navigation messages according to a GPS signal format, wherein the demodulation step comprises the steps of bit synchronization, frame synchronization, parity check and navigation message reading; the bit synchronization needs to obtain the jump position of the navigation message, the period of each bit of the navigation message is 20ms, the period of each chip of the C/A code is 1ms, each bit of the navigation message comprises 20C/A codes, when a certain C/A code changes, the corresponding values of 20 grids in the histogram are added by one until the value of a certain grid in the histogram exceeds a preset value, the bit synchronization is considered to be successful, the corresponding jump position is counted, one change is added when the change is generated, and the change is greater than a set threshold, and the detection is determined to be successful; and sub-frame synchronization: the method includes the steps that after bit synchronization is successful, a navigation message of 50bps can be obtained, in order to obtain navigation information, specific positions of all subframes in the navigation message of 50bps need to be obtained, subframe period is 6s, Costas is insensitive to loop hopping, and the initial 8-bit preamble can be 10001011 or 01110100, so that subframe synchronization needs to search preambles and anti-codes thereof, but searched preambles conforming to the preamble and the anti-code format thereof can also be data codes, parity check needs to be carried out on subsequent 22 bits, and positions of preamble positions of a plurality of subframes need to be confirmed. Parity checking: assuming that the received 30 bits are data D1, D2, D3,....... D30, according to the parity check algorithm, the calculated values D1, D2, D3,....... D30 corresponding to each bit can be calculated, and if the received check bits and the calculated results are the same, the data are correct; navigation message reading: after the parity check is successful, the navigation information is extracted according to a fixed format, for example, the 197-bit initial 8-bit data of the subframe 1 is an ionospheric delay parameter Tgd
The position calculation method is as follows: the pseudo-range positioning principle is utilized to obtain the position information of four satellites, namely the position information of the user at the settlement place,
Figure BDA0001655867500000041
wherein (x)i,yi,zi) Is the three-dimensional coordinate of the ith satellite, (x)u,yu,zu) Is the user position, tuFor the clock error of the user receiver and the clock difference of the satellite atomic clock, performing a differential equation on (1) to obtain:
Figure BDA0001655867500000042
wherein
Figure BDA0001655867500000043
δxu,δyu,δzu,δtuIs an unknown quantity, and (2) is defined as a matrix form
Figure BDA0001655867500000044
Solving to obtain:
Figure BDA0001655867500000045
the equation can not be directly solved, the software carries out iterative solution by using a least square method, and the specific implementation steps are as follows:
given a user location (x)u,yu,zu) And clock deviation tuBy setting the initial values, a set of (δ x) can be solvedu,δyu,δzu,δtu) Correcting the original value by using the values, wherein the new value is regarded as a known quantity;
② repeating the operation, if
Figure BDA0001655867500000051
Greater than a predetermined threshold, will δ xu,δyu,δzu,δtuAnd xu,yu,zu,tuAdding the initial values to obtain a new set of values, and taking the new values as the initial values of the next calculation;
③ weightRepeating the first step and the second step until the delta v is smaller than the threshold value, and determining to obtain a solution x at the momentu,yu,zu,tu
The invention has the beneficial effects that: the GPS software receiver based on GNU Radio utilizes a GNU Radio software architecture, adopts an object-oriented programming idea, combines a signal processing module provided by the GNU Radio, realizes signal capture, tracking and subsequent navigation resolving on a general processor by programming, realizes multi-channel processing by using scheduler provided by the GNU Radio to realize multi-channel scheduling management, can achieve real-time performance, can upgrade an algorithm compared with a hardware receiver, is convenient for software development, and has great flexibility and expandability.
Drawings
Fig. 1 is a diagram based on the principle of an FFT parallel code phase acquisition algorithm.
Fig. 2 is a tracking algorithm combining a code tracking loop and a carrier tracking loop.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The GPS software receiver based on GNU Radio comprises the following steps:
the first step is as follows: after receiving the GPS signal, the GPS antenna module outputs the GPS signal to the radio frequency module through the low noise amplifier and the band-pass filter;
the second step is that: the radio frequency module processes signals: according to the Nyquist sampling theorem, performing band-pass sampling on 2 times of the GPS C/A bandwidth, performing A/D conversion on the sampled signals, and then driving UHD (ultra high performance) to locally store data for post-processing by using USRP (universal serial bus) hardware provided by GNU Radio, or performing real-time processing according to a sampling stream;
the third step: and (3) baseband signal processing: the method comprises the following steps that the acquired signals need to be judged to be satellite signals, the signals need to be captured firstly to obtain the rough Doppler frequency and code phase of a satellite, the obtained information is transmitted to a tracking module, and then the accurate values of the Doppler frequency shift and the code phase are obtained to demodulate a navigation message, and the method comprises the following steps of processing by the capturing module and the tracking module:
the capture module processing method comprises the following steps: GPS L1C/A signal acquisition is a two-dimensional process, the code phase and carrier frequency of the signal need to be obtained, and the acquisition module samples the code phase search algorithm based on FFT, and the algorithm is as follows:
a. based on an FFT parallel code phase capturing algorithm, firstly multiplying collected signals with local carriers respectively to obtain an equidirectional component I, multiplying the same with carriers with 90-degree phase shift to obtain an orthogonal component Q, obtaining a baseband complex signal I + jQ, and carrying out FFT conversion on the obtained complex signal;
b. performing FFT (fast Fourier transform) on the pseudo code generated by the local pseudo code generator, converting the pseudo code into a frequency domain, and taking complex conjugation;
c. multiplying the results of a and b, and performing IFFT conversion to convert the results into a time domain;
d. the square of the value of the output after IFFT represents the correlation of the input signal and the PRN code. If the peak exists in the correlation value, the coordinate of the peak corresponds to the code phase and the carrier frequency of the input signal; if the local carrier does not pass the threshold, resetting the local carrier and searching again; the principle of the FFT-based parallel code phase acquisition algorithm is shown in fig. 1.
The tracking module processing method comprises the following steps: the code phase and the Doppler frequency shift obtained by the capturing module are a rough value, and because the code phase and the Doppler frequency shift are changed in real time due to the relative motion of the receiver and the satellite, the change of the real-time update signal frequency and the code phase is required to be obtained so as to demodulate a navigation message; the tracking module adopts a tracking algorithm combining a carrier tracking loop and a code tracking, and fig. 2 is a GPS signal tracking schematic diagram combining the code tracking loop and the carrier tracking loop. FIG. 2 shows: the acquisition module transmits the rough values of the code phase and the Doppler frequency shift to the tracking module, the carrier phase discriminator in the carrier loop calculates the carrier phase changing in real time in the tracking signal to generate a local carrier, and the code tracking loop is realized by calculating the integral result of E, P, L three pathsThe dynamic adjustment of code phase ensures that the correlation integral of the instantaneous code always keeps the maximum value, thus ensuring that IEAnd outputting the navigation message.
The tracking module adopts a tracking algorithm combining a carrier tracking loop and code tracking, and the algorithm process is as follows: in the carrier tracking loop, firstly, the carrier with the same frequency is locally copied according to the carrier frequency value output in the capturing process. The locally replicated carrier is mixed with the input signal to strip the carrier from the input signal. And further adjusting the parameters of the local copied carrier according to the stripping effect of the carrier so as to achieve the best carrier tracking effect. The carrier tracking loop is typically in the form of a Phase Locked Loop (PLL) in which 3 different out of phase C/a codes, referred to as early, i.e. time (prompt) and late (late), respectively, are copied and denoted by the letters E, P and L, respectively. The maximum value of the correlation result can be determined more accurately by correlating the 3C/a codes of different phases with the input signal and comparing the correlation result of the instantaneous code with the correlation results of the early code and the late code, respectively. I in FIG. 2E、QE、IP、QP、IL、QLThe in-phase component and the quadrature component of the correlation result obtained after the correlation operation of the locally reproduced early code, namely the time code and the late code, and the input signal are respectively represented.
The fourth step: the method for demodulating navigation messages and calculating positions comprises the following steps:
the navigation message demodulation comprises four steps: bit synchronization, subframe synchronization, parity check, navigation message extraction (Tian Paul, Ningchulin, Dingfeng Rev, etc.. research on navigation message extraction by GPS software receiver [ J ] communication technology, 2009,42(3): 212-214.). Bit synchronization: bit synchronization usually adopts a "histogram" algorithm 0 (zhangwei, Chenduch, Tan Mingqian. multimode GNSS system bit synchronization histogram optimization algorithm [ C ]// International Conference on Broadcast Technology & Multimedia communication.2010.), 20 calculators are set to correspond to 20C/A cycles corresponding to a navigation message, navigation data output by a tracking module I way is detected, if a change is changed, a counter is added with 1, and the synchronization bit detection is determined to be successful when the counter exceeds other bits and exceeds a threshold.
And sub-frame synchronization: the navigation message of 50bps can be obtained after the bit synchronization is successful, in order to obtain the navigation information, the specific position of each subframe in the navigation message of 50bps needs to be obtained, the subframe period of 6s is known from 2.3.3, Costas is insensitive to loop jump, the initial 8-bit preamble code may be 10001011 or 01110100, so the subframe synchronization needs to search the preamble code and the anticode thereof, but the searched preamble code and the anticode format thereof conforming to the preamble code may also be data codes, and the parity check of the following 22 bits needs to be carried out, and the positions of the preamble codes of several subframes need to be confirmed.
Parity checking: suppose that 30 bits obtained by reception are data d1,d2,d3....d30According to a certain algorithm, the calculation value D corresponding to each digit can be obtained by calculation1,D2,D3....D30If the received check bit is the same as the calculated result, the data is correct, that is: d25=d25,D26=d26,D27=d27,D28=d28,D29=d29,D30=d30
The data output by the tracking loop is a string of 01 binary data, and the data needs to be demodulated and restored into navigation messages according to a GPS signal format, wherein the demodulation step comprises the steps of bit synchronization, frame synchronization, parity check and navigation message reading; the bit synchronization needs to obtain the jump position of the navigation message, the period of each bit of the navigation message is 20ms, the period of each chip of the C/A code is 1ms, each bit of the navigation message comprises 20C/A codes, when a certain C/A code changes, the corresponding values of 20 grids in the histogram are added by one until the value of a certain grid in the histogram exceeds a preset value, the bit synchronization is considered to be successful, the corresponding jump position is counted, one change is added when the change is generated, and the change is greater than a set threshold, and the detection is determined to be successful; and sub-frame synchronization: after the bit synchronization is successful, a navigation message of 50bps can be obtained, in order to obtain navigation information, the specific position of each subframe in the navigation message of 50bps and the subframe period of 6s need to be obtained, and since Costas is insensitive to loop jumpThe initial 8-bit preamble may be 10001011 or 01110100, so subframe synchronization requires searching for the preamble and its complement, but the searched preamble and its complement format may also be data codes, and parity check for the following 22 bits and confirmation for several subframe preamble positions. Parity checking: assuming that the received 30 bits are data D1, D2, D3,....... D30, according to the parity check algorithm, the calculated values D1, D2, D3,....... D30 corresponding to each bit can be calculated, and if the received check bits and the calculated results are the same, the data are correct; navigation message reading: after the parity check is successful, the navigation information is extracted according to a fixed format, for example, the 197-bit initial 8-bit data of the subframe 1 is an ionospheric delay parameter Tgd
The position calculation method is as follows: the pseudo-range positioning principle is utilized to obtain the position information of four satellites, namely the position information of the user at the settlement place,
Figure BDA0001655867500000091
wherein (x)i,yi,zi) Is the three-dimensional coordinate of the ith satellite, (x)u,yu,zu) Is the user position, tuFor the clock error of the user receiver and the clock difference of the satellite atomic clock, performing a differential equation on (1) to obtain:
Figure BDA0001655867500000092
wherein
Figure BDA0001655867500000093
δxu,δyu,δzu,δtuIs an unknown quantity, and (2) is defined as a matrix form
Figure BDA0001655867500000094
Solving to obtain:
Figure BDA0001655867500000095
the equation can not be directly solved, the software carries out iterative solution by using a least square method, and the specific implementation steps are as follows:
given a user location (x)u,yu,zu) And clock deviation tuBy setting the initial values, a set of (δ x) can be solvedu,δyu,δzu,δtu) Correcting the original value by using the values, wherein the new value is regarded as a known quantity;
② repeating the operation, if
Figure BDA0001655867500000101
Greater than a predetermined threshold, will δ xu,δyu,δzu,δtuAnd xu,yu,zu,tuAdding the initial values to obtain a new set of values, and taking the new values as the initial values of the next calculation;
thirdly, repeating the first step and the second step until the delta v is smaller than the threshold value, and determining to obtain a solution x at the momentu,yu,zu,tu
Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that changes, modifications, substitutions and alterations can be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the appended claims and their equivalents.

Claims (2)

1. GPS software receiver based on GNU Radio, characterized by: the method comprises the following steps:
the first step is as follows: after receiving the GPS signal, the GPS antenna module outputs the GPS signal to the radio frequency module through the low noise amplifier and the band-pass filter;
the second step is that: the radio frequency module processes signals: according to the Nyquist sampling theorem, band-pass sampling is carried out on 2 times of the C/A bandwidth of the GPS, after A/D conversion is carried out on the sampled signals, UHD can be driven by USRP hardware provided by GNU Radio to locally store the data for post-processing;
the third step: and (3) baseband signal processing: the method comprises the following steps that the acquired signals need to be judged to be satellite signals, the signals need to be captured firstly to obtain the rough Doppler frequency and code phase of a satellite, the obtained information is transmitted to a tracking module, and then the accurate values of the Doppler frequency shift and the code phase are obtained to demodulate a navigation message, and the method comprises the following steps of processing by the capturing module and the tracking module:
the capture module processing method comprises the following steps: the acquisition of the GPS L1C/A signal is a two-dimensional process, the code phase and the carrier frequency of the signal need to be obtained, and the acquisition module samples an FFT-based code phase search algorithm, which is as follows:
a. based on an FFT parallel code phase capturing algorithm, firstly multiplying collected signals with local carriers respectively to obtain an equidirectional component I, multiplying the same with carriers with 90-degree phase shift to obtain an orthogonal component Q, obtaining a baseband complex signal I + jQ, and carrying out FFT conversion on the obtained complex signal;
b. performing FFT (fast Fourier transform) on the pseudo code generated by the local pseudo code generator, converting the pseudo code into a frequency domain, and taking complex conjugation;
c. multiplying the results of a and b, and performing IFFT conversion to convert the results into a time domain;
d. expressing the square of the value of the output after IFFT to the correlation of the input signal and the PRN code; if the peak exists in the correlation value, the coordinate of the peak corresponds to the code phase and the carrier frequency of the input signal; if the local carrier does not pass the threshold, resetting the local carrier and searching again;
the tracking module processing method comprises the following steps: the code phase and the Doppler frequency shift obtained by the capturing module are a rough value, and because the code phase and the Doppler frequency shift are changed in real time due to the relative motion of the receiver and the satellite, the change of the real-time update signal frequency and the code phase is required to be obtained so as to demodulate a navigation message; the tracking module adopts a tracking algorithm combining a carrier tracking loop and code tracking, and the algorithm process is as follows: firstly, locally copying a carrier with the same frequency according to a carrier frequency value output in the capturing process, mixing the locally copied carrier with an input signal to strip the carrier in the input signal, and further adjusting the parameter of the locally copied carrier according to the stripping effect of the carrier to achieve the best carrier tracking effect; the carrier tracking loop is usually in the form of a phase locked loop, in which 3C/a codes of different phases are duplicated, called an early code, an immediate code and a late code, respectively, and indicated by letters E, P and L, respectively; the 3C/a codes of different phases are respectively correlated with the input signal, and the correlation result of the instantaneous code is compared with the correlation results of the early code and the late code, so that the maximum value of the correlation result can be accurately determined;
the fourth step: the method for demodulating navigation messages and calculating positions comprises the following steps:
the navigation message demodulation method comprises the following steps:
the data output by the tracking loop is a string of 01 binary data, and the data needs to be demodulated and restored into navigation messages according to a GPS signal format, wherein the demodulation step comprises the steps of bit synchronization, frame synchronization, parity check and navigation message reading; the bit synchronization needs to obtain the jump position of the navigation message, the period of each bit of the navigation message is 20ms, the period of each chip of the C/A code is 1ms, each bit of the navigation message comprises 20C/A codes, when a certain C/A code changes, the corresponding values of 20 grids in the histogram are added by one until the value of a certain grid in the histogram exceeds a preset value, the bit synchronization is considered to be successful, the corresponding jump position is counted, one change is added when the change is generated, and the change is greater than a set threshold, and the detection is determined to be successful; and sub-frame synchronization: the method comprises the steps that after bit synchronization is successful, a navigation message of 50bps can be obtained, in order to obtain navigation information, the specific position of each subframe in the navigation message of 50bps needs to be obtained, the subframe period is 6s, Costas is not sensitive to loop hopping, and the initial 8-bit preamble code can be 10001011 or 01110100, so the subframe synchronization needs to search the preamble code and the anticode thereof, but the searched preamble code and the anticode format thereof can also be data codes, the parity check of the following 22 bits is needed, and the positions of the preamble codes of a plurality of subframes are confirmed; parity checking: assuming that 30 bits obtained by receiving are data D1, D2, D3,..... D30, according to the parity check algorithm, a corresponding calculated value D1, D2, D3,....... D30 can be calculated, if receiving the data, the calculated value D1, D2, D3,... the.. D30If the checking and correcting positions are the same as the calculation result, the data is correct; navigation message reading: after the parity check is successful, the navigation information is extracted according to a fixed format, for example, the 197-bit initial 8-bit data of the subframe 1 is an ionospheric delay parameter Tgd
The position calculation method is as follows: the pseudo-range positioning principle is utilized to obtain the position information of four satellites, namely the position information of the user at the settlement place,
Figure FDA0001655867490000031
wherein (x)i,yi,zi) Is the three-dimensional coordinate of the ith satellite, (x)u,yu,zu) Is the user position, tuFor the clock error of the user receiver and the clock difference of the satellite atomic clock, performing a differential equation on (1) to obtain:
Figure FDA0001655867490000032
wherein
Figure FDA0001655867490000033
δxu,δyu,δzu,δtuIs an unknown quantity, and (2) is defined as a matrix form
Figure FDA0001655867490000034
Solving to obtain:
Figure FDA0001655867490000035
the equation can not be directly solved, and iterative solution is carried out by using a least square method, and the specific implementation steps are as follows:
given a user location (x)u,yu,zu) And clock deviation tuBy setting the initial values, a set of (δ x) can be solvedu,δyu,δzu,δtu) Correcting the original value by using the values, wherein the new value is regarded as a known quantity;
② repeating the operation, if
Figure FDA0001655867490000041
Greater than a predetermined threshold, will δ xu,δyu,δzu,δtuAnd xu,yu,zu,tuAdding the initial values to obtain a new set of values, and taking the new values as the initial values of the next calculation;
thirdly, repeating the first step and the second step until the delta v is smaller than the threshold value, and determining to obtain a solution x at the momentu,yu,zu,tu
2. A GNU Radio based GPS software receiver according to claim 1, characterized by: and after the sampled signals are subjected to A/D conversion, the USRP hardware provided by GNU Radio can be used for driving UHD to locally store the data so as to process the data in real time according to the sampling stream.
CN201810440877.0A 2018-05-10 2018-05-10 GPS software receiver based on GNU Radio Active CN108732592B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810440877.0A CN108732592B (en) 2018-05-10 2018-05-10 GPS software receiver based on GNU Radio

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810440877.0A CN108732592B (en) 2018-05-10 2018-05-10 GPS software receiver based on GNU Radio

Publications (2)

Publication Number Publication Date
CN108732592A CN108732592A (en) 2018-11-02
CN108732592B true CN108732592B (en) 2022-04-15

Family

ID=63938050

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810440877.0A Active CN108732592B (en) 2018-05-10 2018-05-10 GPS software receiver based on GNU Radio

Country Status (1)

Country Link
CN (1) CN108732592B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103441807A (en) * 2013-08-20 2013-12-11 南昌大学 Software frequency spectrum analyzer based on GNU Radio and USRP
US8843126B1 (en) * 2012-08-03 2014-09-23 The United States Of America As Represented By The Secretary Of The Navy System for isolation testing of RF transmitters and receivers
CN104735649A (en) * 2015-03-25 2015-06-24 江苏物联网研究发展中心 Wireless link signature extraction method based on Gnu Radio
CN104883204A (en) * 2015-05-26 2015-09-02 南昌大学 Short-wave frequency hopping communication system based on general software radio platform

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8521092B2 (en) * 2009-05-27 2013-08-27 Echo Ridge Llc Wireless transceiver test bed system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843126B1 (en) * 2012-08-03 2014-09-23 The United States Of America As Represented By The Secretary Of The Navy System for isolation testing of RF transmitters and receivers
CN103441807A (en) * 2013-08-20 2013-12-11 南昌大学 Software frequency spectrum analyzer based on GNU Radio and USRP
CN104735649A (en) * 2015-03-25 2015-06-24 江苏物联网研究发展中心 Wireless link signature extraction method based on Gnu Radio
CN104883204A (en) * 2015-05-26 2015-09-02 南昌大学 Short-wave frequency hopping communication system based on general software radio platform

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
USRP平台下GPS软件接收机高精度定位的实现;徐亚明 等;《测绘通报》;20160225;正文第8-11页 *
基于GNSS-SDR低成本GPS软件接收机的涉及与实现;冯准 等;《信息通信》;20150331;正文第65-66页 *
基于USRP平台的GPS软件接收机涉及与实现;张鹏 等;《测绘通报》;20121130;正文第55-58页 *

Also Published As

Publication number Publication date
CN108732592A (en) 2018-11-02

Similar Documents

Publication Publication Date Title
WO2014089988A1 (en) High-sensitivity beidou auxiliary timing device, timing receiver and timing method
Alaqeeli et al. Real-time acquisition and tracking for GPS receivers
CN111090108B (en) Deception signal generation method and device
CN102486539B (en) Improved navigation satellite signal tracking method
CN102183770A (en) GPS (Global Positioning System) pseudo-random code tracking loop for preventing multi-path interference and method for preventing multi-path interference thereof
CN104536016A (en) GNSS new-system signal capturing device and method
CN104614740A (en) Data pilot frequency integrated tracking method and device for navigation signal
CN112965089A (en) Method and system for acquiring high-precision signal of communication-conduction integrated low-orbit satellite
WO2013022457A1 (en) Satellite signal acquisition
CN116745647A (en) Modern consumer-level GNSS secondary code acquisition and signal tracking
Pany et al. On the state-of-the-art of real-time GNSS signal acquisition—A comparison of time and frequency domain methods
CN103760578B (en) A kind of GNSS satellite navigation signal without fuzzy tracking method
Khan et al. Acquisition strategies of GNSS receiver
CN113093232B (en) GNSS multi-frequency combined capturing method based on correlation domain
CN110780320B (en) Software and hardware integrated satellite navigation signal processing method
CN105372678A (en) Non-fuzzy tracking method for sine BOC modulation signal
US7248624B2 (en) Bit synchronization in a communications device
CN108732592B (en) GPS software receiver based on GNU Radio
CN108627863B (en) GNSS navigation message data demodulation method and device based on DFT and GNSS receiving terminal
CN108169773B (en) Satellite navigation signal tracking method based on maximum likelihood coherent integration
JP2007228424A (en) Synchronous timing detecting device, and receiver
US9453918B2 (en) Apparatus and method for processing radio navigation signals
CN110954923B (en) GNSS deception jamming signal's detecting system
CN116520363B (en) Multi-phase arm code ring phase discrimination method
Htay et al. Implementation of Signal Acquisition and Tracking for GPS-Based Software Defined Radio Receiver

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant