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

GPS software receiver based on GNU Radio Download PDF

Info

Publication number
CN108732592A
CN108732592A CN201810440877.0A CN201810440877A CN108732592A CN 108732592 A CN108732592 A CN 108732592A CN 201810440877 A CN201810440877 A CN 201810440877A CN 108732592 A CN108732592 A CN 108732592A
Authority
CN
China
Prior art keywords
code
signal
value
gps
radio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810440877.0A
Other languages
Chinese (zh)
Other versions
CN108732592B (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

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

The present invention relates to the GPS software receivers based on GNU Radio, belong to technical field of satellite navigation.The present invention includes the first step:After GPS antenna module receives GPS signal, radio-frequency module is output to by low noise amplifier and bandpass filter;Second step:Radio-frequency module handles signal:According to nyquist sampling theorem, bandpass sampling is carried out to 2 times of GPS C/A bandwidth, data can be carried out local preserve to post-process by the signal after sampling after carrying out A/D conversions using the USRP hardware drivings UHD that GNU Radio are provided;The present invention utilizes GNU Radio software architectures, using the programming idea of object-oriented, the signal processing module provided in conjunction with GNU Radio, the capture of signal, tracking and subsequent navigation calculation are programmed into realization on aageneral-purposeaprocessor, the scheduler provided using GNU Radio is carried out multithread scheduling management and realizes that band-wise processing can reach real-time performance, and compared to hardware receiver, can carry out algorithm upgrading, convenient for software development, there is prodigious flexibility and scalability.

Description

GPS software receiver based on GNU Radio
Technical field
The present invention relates to the GPS software receivers based on GNU Radio, belong to technical field of satellite navigation.
Background technology
GPS is US Global Position Fixing Navigation System, is had a very wide distribution, and number of satellite is more, provides Global coverage, round-the-clock Three-dimensional localization is that positioning system is most improved in current service.GNU Radio belong to open source software radio software, provide it is a large amount of but It is signal processing module to realize soft radio applications, in recent years, has in GNU Radio software radio projects extensive Using.
Traditional commercial GPS receivers are generally made of four parts:GPS antenna, radio-frequency front-end, correlator, microprocessor. Wherein antenna is responsible for receiving GPS signal, and radio-frequency front-end is responsible for GPS signal being converted to low frequency signal and carries out A/D conversions, related Device is responsible for the capture of signal, tracking, and pseudo-code, carrier wave and observation etc. are passed to microprocessor, belongs to the hard of receiver Part part, microprocessor is responsible for navigation calculation, according to the transmitting of satellite position information and satellite-signal in navigation message The time of time and local reception signal, the position for completing receiver resolve.The core of hardware receiver is exactly correlator, subsequently The data of processor are from correlator, and general correlator is all GPS chip.
The a large amount of related operations occurred in traditional receivers base band signal process, especially tracking the relevant operation of process needs Application-specific integrated circuit (Application Specific Integrated Circuit, ASIC) is wanted to be handled, compared to It is of high cost for software, and respective chip can only be handled for single frequency range, it is difficult to it extends, underaction.
Invention content
To solve the above-mentioned problems, the present invention provides a kind of GPS software receiver based on GNU Radio.The present invention adopts The technical solution taken is as follows:
GPS software receiver based on GNU Radio, includes the following steps:
The first step:After GPS antenna module receives GPS signal, it is output to and penetrates with bandpass filter by low noise amplifier Frequency module;
Second step:Radio-frequency module handles signal:According to nyquist sampling theorem, band is carried out to 2 times of GPS C/A bandwidth Logical sampling, the signal after sampling can utilize the USRP hardware drivings UHD that GNU Radio are provided by data after carrying out A/D conversions Local preservation is carried out to be post-processed, can also in real time be handled according to sample streams;
Third walks:Base band signal process:It needs to judge which is satellite-signal in the signal of acquisition, needs to first pass through and catch It obtains, obtains the rough Doppler frequency and code phase of satellite, obtained information is passed into tracking module, then obtain Doppler's frequency It moves with the exact value of code phase to demodulate navigation message, including following trapping module is handled with tracking module:
Trapping module processing method:GPS L1C/A signal captures are a two-dimensional processes, need the code phase for obtaining signal Position and carrier frequency, trapping module sample the code phase search algorithm based on FFT, and algorithm is as follows:
A. being based on the parallel code phase acquisition algorithms of FFT will in the same direction be divided first acquiring signal and be multiplied respectively with local carrier I is measured, quadrature component Q is obtained with 90 ° of carrier multiplications of phase shift, obtains baseband complex signal I+jQ, FFT changes are carried out to obtained complex signal It changes;
B. the pseudo-code generated to local pseudo- code generator carries out FFT transform, converts it to frequency domain, and take complex conjugate;
C. it is multiplied with the result of b to a, and carries out IFFT transformation and be transformed into time domain;
D. by the correlation of square the expression input signal and PRN code of the value of the output after IFFT.If deposited in correlation In peak value, then the coordinate of the peak value just corresponds to the code phase and carrier frequency of input signal;If not over thresholding, need again Setting local carrier searches again for;
Tracking module processing method:One coarse value of code phase and Doppler frequency shift that trapping module obtains, due to receiving The relative motion of machine and satellite, code phase and Doppler frequency shift are real-time changes, so needing to obtain real-time update signal frequency Rate, code phase variation are to demodulate navigation message;Tracking module uses the track algorithm that carrier tracking loop and code tracking are combined, The algorithmic procedure is:In carrier tracking loop, first according to the carrier frequency value exported in acquisition procedure in the same frequency of local replica The carrier wave of rate.Local replica carrier wave is mixed with input signal, to remove the carrier wave in input signal.And according to carrier wave Peeling effect further adjusts the parameter of local replica carrier wave, to reach best carrier track effect.Carrier tracking loop is usual Using the form of phased lock loop (PLL), in code tracking loop, it will usually which the C/A codes for replicating 3 parts of outs of phase are referred to as Advanced code (early), i.e. time-code (prompt) and lag code (late), and indicated respectively with letter e, P and L.Not by this 3 parts The C/A codes of same-phase carry out relevant operation with input signal respectively, and by the correlated results of i.e. time-code and advanced code and lag code Correlated results be compared, so that it may to be more accurately determined the maximum value of correlated results.
4th step:Navigation message is demodulated to be calculated with position, and method is as follows:
Navigation message demodulation method is as follows:
The data of the output of track loop are a string of 01 binary data, need according to GPS signal format demodulate extensive Again at navigation message, demodulation step therein includes bit synchronization, frame synchronization, even-odd check, the several steps of navigation message reading;Its Middle bit synchronization needs to obtain the jump position of navigation message, and the navigation message period of each is 20ms, and C/A codes are per the chip periods For 1ms, each includes 20 C/A codes to navigation message, and when some C/A code changes, 20 grid are corresponding in histogram Value add one, until some grid in histogram value more than predetermined value think bit synchronization success, to corresponding jump position into , there is one-shot change and just adds one in row statistics, is more than setting thresholding identification and detects successfully;Synchronizing sub-frame:It can be with after bit synchronization success The navigation message of 50bps is obtained, in order to obtain navigation information, needs to obtain each subframe specific in 50bps navigation messages Position, period of sub-frame 6s, since Costas is insensitive to loop saltus step, originate 8 lead codes may be 10001011 or 01110100, so synchronizing sub-frame needs to scan for lead code and its radix-minus-one complement, but what is searched meets lead code and its Radix-minus-one complement format is also likely to be numeric data code, also needs to carry out even-odd check to follow-up 22bit, and carry out several subframe preamble positions Confirm.Even-odd check:Assuming that it is d1, d2, d3 that receive the 30bit obtained, which be data, ... d30, according to parity check algorithm, Corresponding each calculated value D1, D2, D3 can be calculated ... D30, if the calibration position received and knot is calculated Fruit is identical, then it represents that data are errorless;Navigation message is read:Navigation information is carried out according to fixed format after even-odd check success Extraction, if the 8bit data of 197 startings of subframe 1 are ionospheric delay parameter Tgd
Position calculation method is as follows:Using pseudorange positioning principle, the location information for obtaining four satellites can the place's of clearing use Family location information,
Wherein (xi,yi,zi) be i-th satellite three-dimensional coordinate, (xu,yu,zu) it is user location, tuFor receiver user Clocking error and satellite atomic clocks clock clock correction, to (1) carry out the differential equation obtain:
Whereinδxu, δ yu, δ zu, δ tuIt is unknown quantity, (2) is defined as Matrix form
Solution can obtain:
The equation is unable to direct solution, this software is iterated solution using least square method, and specific implementation step is:
1. given user location (xu,yu,zu) and clock jitter tuInitial value is set, one group of (δ x can be solvedu,δyu,δzu,δ tu), original value is modified using these values, new value is seen as known quantity;
2. it repeats 1. to operate, ifMore than predetermined threshold, by δ xu,δyu,δzu,δtu And xu,yu,zu,tuInitial value be added, obtain one group and be newly worth, using new value as the initial value next calculated;
3. repeating 1. 2. to operate, until Δ ν is less than threshold value, identification at this time acquires solution xu,yu,zu,tu
Beneficial effects of the present invention:GPS software receiver based on GNU Radio is then to utilize GNU Radio software framves Structure, using the programming idea of object-oriented, in conjunction with the signal processing module that GNU Radio are provided, by the capture of signal, tracking with And subsequent navigation calculation programs realization on aageneral-purposeaprocessor, and multithreading is carried out using the scheduler that GNU Radio are provided Management and running realize that band-wise processing can reach real-time performance, and compared to hardware receiver, can carry out algorithm upgrading, Convenient for software development, there is prodigious flexibility and scalability.
Description of the drawings
Fig. 1 is based on the parallel code phase acquisition algorithm principles of FFT as schemed.
Fig. 2 is the track algorithm that code tracking loop is combined with carrier tracking loop.
Specific implementation mode
Following will be combined with the drawings in the embodiments of the present invention, and technical solution in the embodiment of the present invention carries out clear, complete Site preparation describes, it is clear that described embodiments are only a part of the embodiments of the present invention, instead of all the embodiments.It is based on Embodiment in the present invention, it is obtained by those of ordinary skill in the art without making creative efforts every other Embodiment shall fall within the protection scope of the present invention.
GPS software receiver based on GNU Radio, includes the following steps:
The first step:After GPS antenna module receives GPS signal, it is output to and penetrates with bandpass filter by low noise amplifier Frequency module;
Second step:Radio-frequency module handles signal:According to nyquist sampling theorem, band is carried out to 2 times of GPS C/A bandwidth Logical sampling, the signal after sampling can utilize the USRP hardware drivings UHD that GNU Radio are provided by data after carrying out A/D conversions Local preservation is carried out to be post-processed, can also in real time be handled according to sample streams;
Third walks:Base band signal process:It needs to judge which is satellite-signal in the signal of acquisition, needs to first pass through and catch It obtains, obtains the rough Doppler frequency and code phase of satellite, obtained information is passed into tracking module, then obtain Doppler's frequency It moves with the exact value of code phase to demodulate navigation message, including following trapping module is handled with tracking module:
Trapping module processing method:GPS L1C/A signal captures are a two-dimensional processes, need the code phase for obtaining signal Position and carrier frequency, trapping module sample the code phase search algorithm based on FFT, and algorithm is as follows:
A. being based on the parallel code phase acquisition algorithms of FFT will in the same direction be divided first acquiring signal and be multiplied respectively with local carrier I is measured, quadrature component Q is obtained with 90 ° of carrier multiplications of phase shift, obtains baseband complex signal I+jQ, FFT changes are carried out to obtained complex signal It changes;
B. the pseudo-code generated to local pseudo- code generator carries out FFT transform, converts it to frequency domain, and take complex conjugate;
C. it is multiplied with the result of b to a, and carries out IFFT transformation and be transformed into time domain;
D. by the correlation of square the expression input signal and PRN code of the value of the output after IFFT.If deposited in correlation In peak value, then the coordinate of the peak value just corresponds to the code phase and carrier frequency of input signal;If not over thresholding, need again Setting local carrier searches again for;It is as shown in Figure 1 based on the parallel code phase acquisition algorithm principles of FFT.
Tracking module processing method:One coarse value of code phase and Doppler frequency shift that trapping module obtains, due to receiving The relative motion of machine and satellite, code phase and Doppler frequency shift are real-time changes, so needing to obtain real-time update signal frequency Rate, code phase variation are to demodulate navigation message;Tracking module uses the track algorithm that carrier tracking loop and code tracking are combined, Fig. 2 is the GPS signal following principle figure that code tracking loop is combined with carrier tracking loop.Shown in Fig. 2:Trapping module by code phase with The coarse value of Doppler frequency shift passes to tracking module, and carrier wave phase discriminator calculates real-time change in tracking signal in carrier loop Carrier phase to generate local carrier, realized by calculating the integral result on tri- tunnel E, P, L to code phase by code tracking loop Dynamic adjusts, and ensures to be that time-code correlation intergal remains maximum value, just can guarantee I in this wayEExport navigation message.
The track algorithm that tracking module is combined using carrier tracking loop and code tracking, the algorithmic procedure are:Carrier track In ring, first according to the carrier frequency value exported in acquisition procedure the same frequency of local replica carrier wave.Local replica is carried Wave is mixed with input signal, to remove the carrier wave in input signal.And this is further adjusted according to the peeling effect of carrier wave Ground replicates the parameter of carrier wave, to reach best carrier track effect.Carrier tracking loop generally use phased lock loop (PLL) Form, in code tracking loop, it will usually which the C/A codes for replicating 3 parts of outs of phase are referred to as advanced code (early), i.e. time-code (prompt) and code (late) is lagged, and is indicated respectively with letter e, P and L.By the C/A codes of this 3 parts of outs of phase respectively with Input signal carries out relevant operation, and the correlated results of i.e. time-code is compared with the correlated results of advanced code and lag code, The maximum value of correlated results can be more accurately determined.I in Fig. 2E、QE、IP、QP、IL、QLIt indicates locally to reappear respectively Advanced code, i.e. time-code and lag code and input signal carry out relevant operation, the in-phase component of the correlated results obtained after operation with Quadrature component.
4th step:Navigation message is demodulated to be calculated with position, and method is as follows:
Navigation message four steps of demodulation point:Bit synchronization, synchronizing sub-frame, even-odd check, navigation message extract (Tian Ping Li, Ning Chun Woods, fourth wind and thunder, research [J] the communication technologys for waiting .GPS software receiver navigation messages to extract, 2009,42 (3):212- 214.).Bit synchronization:(Zhang Wei, Chen Ping, Tan Min are strong, and multimodes GNSS system bit is same for bit synchronization generally use " histogram " algorithm 0 Walk histogram optimization algorithm [C] //International Conference on Broadcast Technology& Multimedia Communication.2010.), 20 calculators of setting, 20 C/A cycle phases pair corresponding with navigation message It answers, the navigation data of the roads tracking module I output is detected, just adds 1 in corresponding counter if changing, when counter is more than Other positions and more than thresholding when assert sync bit detect successfully.
Synchronizing sub-frame:The navigation message that 50bps can be obtained after bit synchronization success needs to obtain to obtain navigation information Specific location of each subframe in 50bps navigation messages is taken, period of sub-frame 6s is known by 2.3.3 sections, since Costas is to loop Saltus step is insensitive, and it may be 10001011 or 01110100 to originate 8 lead codes, thus synchronizing sub-frame need to lead code and Its radix-minus-one complement scans for, but the meet lead code and its radix-minus-one complement format that search are also likely to be numeric data code, are also needed to follow-up 22bit carries out even-odd check, and confirms to several subframe preamble positions.
Even-odd check:Assuming that it is d that the 30bit for receiving acquisition, which is data,1,d2,d3....d30, can be with according to certain algorithm Corresponding each calculated value D is calculated1,D2,D3....D30If the calibration position received is identical with result is calculated, Indicate that data are errorless, i.e.,:D25=d25, D26=d26, D27=d27, D28=d28, D29=d29, D30=d30
The data of the output of track loop are a string of 01 binary data, need according to GPS signal format demodulate extensive Again at navigation message, demodulation step therein includes bit synchronization, frame synchronization, even-odd check, the several steps of navigation message reading;Its Middle bit synchronization needs to obtain the jump position of navigation message, and the navigation message period of each is 20ms, and C/A codes are per the chip periods For 1ms, each includes 20 C/A codes to navigation message, and when some C/A code changes, 20 grid are corresponding in histogram Value add one, until some grid in histogram value more than predetermined value think bit synchronization success, to corresponding jump position into , there is one-shot change and just adds one in row statistics, is more than setting thresholding identification and detects successfully;Synchronizing sub-frame:It can be with after bit synchronization success The navigation message of 50bps is obtained, in order to obtain navigation information, needs to obtain each subframe specific in 50bps navigation messages Position, period of sub-frame 6s, since Costas is insensitive to loop saltus step, originate 8 lead codes may be 10001011 or 01110100, so synchronizing sub-frame needs to scan for lead code and its radix-minus-one complement, but what is searched meets lead code and its Radix-minus-one complement format is also likely to be numeric data code, also needs to carry out even-odd check to follow-up 22bit, and carry out several subframe preamble positions Confirm.Even-odd check:Assuming that it is d1, d2, d3 that receive the 30bit obtained, which be data, ... d30, according to parity check algorithm, Corresponding each calculated value D1, D2, D3 can be calculated ... D30, if the calibration position received and knot is calculated Fruit is identical, then it represents that data are errorless;Navigation message is read:Navigation information is carried out according to fixed format after even-odd check success Extraction, if the 8bit data of 197 startings of subframe 1 are ionospheric delay parameter Tgd
Position calculation method is as follows:Using pseudorange positioning principle, the location information for obtaining four satellites can the place's of clearing use Family location information,
Wherein (xi,yi,zi) be i-th satellite three-dimensional coordinate, (xu,yu,zu) it is user location, tuFor receiver user Clocking error and satellite atomic clocks clock clock correction, to (1) carry out the differential equation obtain:
Whereinδxu, δ yu, δ zu, δ tuIt is unknown quantity, (2) is defined as Matrix form
Solution can obtain:
The equation is unable to direct solution, this software is iterated solution using least square method, and specific implementation step is:
1. given user location (xu,yu,zu) and clock jitter tuInitial value is set, one group of (δ x can be solvedu,δyu,δzu,δ tu), original value is modified using these values, new value is seen as known quantity;
2. it repeats 1. to operate, ifMore than predetermined threshold, by δ xu,δyu,δzu,δtu And xu,yu,zu,tuInitial value be added, obtain one group and be newly worth, using new value as the initial value next calculated;
3. repeating 1. 2. to operate, until Δ ν is less than threshold value, identification at this time acquires solution xu,yu,zu,tu
It although an embodiment of the present invention has been shown and described, for the ordinary skill in the art, can be with Understanding without departing from the principles and spirit of the present invention can carry out these embodiments a variety of variations, modification, replace And modification, the scope of the present invention is defined by the appended.

Claims (2)

1. the GPS software receiver based on GNU Radio, it is characterised in that:Include the following steps:
The first step:After GPS antenna module receives GPS signal, radio frequency mould is output to by low noise amplifier and bandpass filter Block;
Second step:Radio-frequency module handles signal:According to nyquist sampling theorem, 2 times of progress band logicals of GPS C/A bandwidth are adopted Sample, the signal after sampling can be carried out data using the GNU Radio USRP hardware drivings UHD provided after carrying out A/D conversions It is local to preserve to be post-processed;
Third walks:Base band signal process:It needs to judge which is satellite-signal in the signal of acquisition, needs to first pass through capture, obtain To the rough Doppler frequency and code phase of satellite, obtained information is passed into tracking module, then obtain Doppler frequency shift with The exact value of code phase is to demodulate navigation message, including following trapping module is handled with tracking module:
Trapping module processing method:GPS L1 C/A signal captures are a two-dimensional processes, need the code phase for obtaining signal And carrier frequency, trapping module sample the code phase search algorithm based on FFT, algorithm is as follows:
A. being based on the parallel code phase acquisition algorithms of FFT will be multiplied to obtain component I in the same direction respectively with local carrier in acquisition signal first, Quadrature component Q is obtained with 90 ° of carrier multiplications of phase shift, obtains baseband complex signal I+jQ, FFT transform is carried out to obtained complex signal;
B. the pseudo-code generated to local pseudo- code generator carries out FFT transform, converts it to frequency domain, and take complex conjugate;
C. it is multiplied with the result of b to a, and carries out IFFT transformation and be transformed into time domain;
D. by the correlation of square the expression input signal and PRN code of the value of the output after IFFT;If there are peaks in correlation Value, then the coordinate of the peak value just corresponds to the code phase and carrier frequency of input signal;If not over thresholding, need to reset Local carrier searches again for;
Tracking module processing method:One coarse value of code phase and Doppler frequency shift that trapping module obtains, due to receiver and The relative motion of satellite, code phase and Doppler frequency shift are real-time changes, so needing to obtain real-time update signal frequency, code Phase change is to demodulate navigation message;Tracking module uses the track algorithm that carrier tracking loop and code tracking are combined, algorithm Process is:First according to the carrier frequency value exported in acquisition procedure the same frequency of local replica carrier wave, by local replica Carrier wave is mixed with input signal, to remove the carrier wave in input signal, and is further adjusted according to the peeling effect of carrier wave The parameter of local replica carrier wave, to reach best carrier track effect;Carrier tracking loop generally use phased lock loop Form in code tracking loop, can replicate the C/A codes of 3 parts of outs of phase, be referred to as advanced code, i.e. time-code and lag code, and respectively It is indicated with letter e, P and L;The C/A codes of this 3 parts of outs of phase are subjected to relevant operation with input signal respectively, and will be instant The correlated results of code is compared with the correlated results of advanced code and lag code, so that it may to be accurately determined the maximum of correlated results Value;
4th step:Navigation message is demodulated to be calculated with position, and method is as follows:
Navigation message demodulation method is as follows:
The data of the output of track loop are a string of 01 binary data, need according to GPS signal format demodulate to revert to Navigation message, demodulation step therein include bit synchronization, frame synchronization, even-odd check, the several steps of navigation message reading;Wherein position The jump position for needing to obtain navigation message is synchronized, the navigation message period of each is 20ms, and C/A codes are per the chip periods 1ms, each includes 20 C/A codes to navigation message, and when some C/A code changes, 20 grid are corresponding in histogram Value plus one, until the value of some grid in histogram thinks that bit synchronization successfully, carries out corresponding jump position more than predetermined value , there is one-shot change and just adds one in statistics, is more than setting thresholding identification and detects successfully;Synchronizing sub-frame:It can be obtained after bit synchronization success To the navigation message of 50bps, in order to obtain navigation information, need to obtain specific position of each subframe in 50bps navigation messages Set, period of sub-frame 6s, since Costas is insensitive to loop saltus step, originate 8 lead codes may be 10001011 or 01110100, so synchronizing sub-frame needs to scan for lead code and its radix-minus-one complement, but what is searched meets lead code and its Radix-minus-one complement format is also likely to be numeric data code, also needs to carry out even-odd check to follow-up 22bit, and carry out several subframe preamble positions Confirm;Even-odd check:Assuming that it is d1, d2, d3 that receive the 30bit obtained, which be data, ... d30, according to parity check algorithm, Corresponding each calculated value D1, D2, D3 can be calculated ... D30, if the calibration position received and knot is calculated Fruit is identical, then it represents that data are errorless;Navigation message is read:Navigation information is carried out according to fixed format after even-odd check success Extraction, if the 8bit data of 197 startings of subframe 1 are ionospheric delay parameter Tgd
Position calculation method is as follows:Using pseudorange positioning principle, place user position can be settled accounts by obtaining the location information of four satellites Confidence ceases,
Wherein (xi,yi,zi) be i-th satellite three-dimensional coordinate, (xu,yu,zu) it is user location, tuFor receiver user when The clock clock correction of clock error and satellite atomic clocks carries out the differential equation to (1) and obtains:
Whereinδxu, δ yu, δ zu, δ tuIt is unknown quantity, (2) is defined as matrix Form
Solution can obtain:
The equation is unable to direct solution, is iterated solution using least square method, specific implementation step is:
1. given user location (xu,yu,zu) and clock jitter tuInitial value is set, one group of (δ x can be solvedu,δyu,δzu,δtu), profit Original value is modified with these values, new value is seen as known quantity;
2. it repeats 1. to operate, ifMore than predetermined threshold, by δ xu,δyu,δzu,δtuAnd xu, yu,zu,tuInitial value be added, obtain one group and be newly worth, using new value as the initial value next calculated;
3. repeating 1. 2. to operate, until Δ ν is less than threshold value, identification at this time acquires solution xu,yu,zu,tu
2. the GPS software receiver according to claim 1 based on GNU Radio, it is characterised in that:Described in second step Signal after sampling can be carried out data locally using the USRP hardware drivings UHD that GNU Radio are provided after carrying out A/D conversions It preserves can also in real time be handled according to sample streams after carrying out.
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 true CN108732592A (en) 2018-11-02
CN108732592B 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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100304686A1 (en) * 2009-05-27 2010-12-02 Kennedy Joseph P Wireless transceiver test bed system and method
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100304686A1 (en) * 2009-05-27 2010-12-02 Kennedy Joseph P Wireless transceiver test bed system and method
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
冯准 等: "基于GNSS-SDR低成本GPS软件接收机的涉及与实现", 《信息通信》 *
张鹏 等: "基于USRP平台的GPS软件接收机涉及与实现", 《测绘通报》 *
徐亚明 等: "USRP平台下GPS软件接收机高精度定位的实现", 《测绘通报》 *

Also Published As

Publication number Publication date
CN108732592B (en) 2022-04-15

Similar Documents

Publication Publication Date Title
CN106646546B (en) A kind of satellite-signal multidimensional quick capturing method and system
CN106772455B (en) A kind of GNSS anti-spoofing loop tracks methods based on Inertia information auxiliary with parameter Estimation
US6483867B1 (en) Tracking loop realization with adaptive filters
CN106291614B (en) Device for the tracking satellite radio navigation signal in multi-path environment
WO2014089988A1 (en) High-sensitivity beidou auxiliary timing device, timing receiver and timing method
CN101132191A (en) Baseband signal processing method for GNSS receiver
CN111090108B (en) Deception signal generation method and device
WO2018149076A1 (en) Auxiliary navigation and positioning method and system
CN104536016A (en) GNSS new-system signal capturing device and method
CN104765052B (en) GEO navigation satellite high-sensitivity carrier tracking method
CN102141774A (en) Quick time service device and method for Beidou watch
CN114095070A (en) Rocket body information returning device based on Beidou satellite navigation
CN106597490A (en) Method for L1 assisting L2P (Y) of dual-frequency GPS receiver
KR101475036B1 (en) Satellite signal multipass tracking system using mainpeak quality of gps and galileo satellite signal
CN111399006B (en) High-sensitivity GNSS carrier tracking loop optimization method
CN104931980B (en) Carrier phase measurement half cycle obscures release method
CN117214926A (en) Broadband composite navigation signal tracking method
CN103760578B (en) A kind of GNSS satellite navigation signal without fuzzy tracking method
CN102176028A (en) Multipath signal baseband processing method for global navigation satellite system (GNSS) receiver
CN105372678B (en) A kind of sine BOC modulated signal without fuzzy tracking method
CN107820212B (en) Positioning method and positioning terminal realized based on mobile multimedia broadcasting system
CN106896383B (en) A kind of receiver tracking device and the method for realizing receiver tracking
CN104614742B (en) Beidou space-based high-precision differential information receiving implementation method
CN105044742B (en) Baseband processing unit capable of simultaneously receiving pseudo satellite and satellite signal and method thereof
CN103941251A (en) Pseudo-code ranging system

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