NI USRP supports L1 GPS Simulation using the LabVIEW GPS toolkit. LabVIEW with a NI USRP-2920, a stable 10 MHz reference clock, and 60 dB of fixed attenuation can simulate up to 24 hours with up to 12 satellites.
The connections to the GPS are simliar to those used in a record and playback discussed in this tutorial:
90dB of fixed Attenuation (with USRP Gain set to 0)
(When using an NI USRP-292x device, an external reference clock is required (an OCXO is recommended)
NI-USRP 1.0 driver
NI GPS Toolkit 2.0
Providing Signals at the Correct Power Level to the DUT:
The RF front end of a commercial GPS unit typically expect signals between -130 and -160 dBm. This may vary by GPS DUT. Signals scaled to full range (+/- 1) in software at the L1 GPS Frequency 1.57542GHz are transmitted by the NI-USRP at approximately -14dBm (this level is not calibrated, so taking the measurement is suggested). The output signal generated with the GPS toolkit is not a +/- 1V full scale signal (you may want to measure this as well). In order to avoid clipping, the USRP gain was set to 0dB and externally, 90dB of attenuation was added to the SMA cable between the USRP and GPS using 3 fixed 30dB attenuators.
External Reference Clock:
GPS is very sensitive to frequency offset and clock jitter, so an improved frequency source is recommended beyond the standard TCXO. An OCXO is highly recommended, which provides a very precise frequency reference. The NI USRP-293x provides an internal OCXO that can be GPS disciplined or a user can connect their own external via the RefIn port on the front of the NI USRP-292x. A property node in the niUSRP driver allows you to specify the clock source in both cases.
IQ Generation Rate
The generation rate in the GPS Toolkit is 1.5MS/s. This rate needes to be interpolated in software to an IQ rate supported by the USRP. Therefore we upsample the signal from 1.5MS/s to 2 MS/s using a Modulation Toolkit VI before being sent to the USRP for transmission.
Note: It's likely that your GPS Almanac files will be located in a different folder than mine. Be sure to double check both file paths and make sure your GPS Toolkit is activated in the license manager if you're getting error messages.
Do you have a recommended hardware setup to import the clock? Such as a module that has a really high precision 10 MHz clock without being too big / expensive.
Hello REDS -
I strongly recommend the Trimble Thunderbolt. I've used it for many applications including 8x8 MIMO clock synchronizaiton. It works very well.
please correct me if I am wrong. This VI does not support GPS simulation up to 24 hours. The simulation is limited to 100 queues. By increasing the number of queues the simulation will last longer, but also consumes more RAM.
It depends on the computer's ability to keep up with realtime processing. The Queue is meant to provide a buffer during continuous execution. The toolkit can generate 24 hours of points (IQ data). It can be logged to disk if keeping up realtime is a problem. Then it can be pulled from disk and transmitted.
Sent from mobile device.
Thanks for the fast response. What computer was used to generate 24 hours gps signals out of the box? I am using a PXIe-8106 with 4 GB RAM and it is not possible with the standard 2 MS/s. If I reduce it to 500 kS/s it is possible, because the ratio between the new generated data and transmitted data is almost constant.
The processing requirement increases with the number of satellites
simulated. I can not generate a large number of satellites and keep
real-time on my pc. I recommend logging to the data disk. There is also a
sampler to convert from the default GPS IQ rate to the nearest USRP IQ
rate. You could store the data to file at the lower rate to save some
From: YYYs <firstname.lastname@example.org>
To: ErikL <email@example.com>,
Date: 03/05/2013 08:57 AM
Subject: Re: - GPS Simulation with NI
USRP and LabVIEW
GPS Simulation with NI USRP and LabVIEW
new comment by YYYs View all comments on this document
Thanks for the fast response. What computer was used to generate 24 hours
gps signals out of the box? I am using a PXIe-8106 with 4 GB RAM and it is
not possible with the standard 2 MS/s. If I reduce it to 500 kS/s it is
possible, because the ratio between the new generated data and transmitted
data is almost constant.
Reply to this email to respond to YYYs's comment.
Is the external clock reference still necessary is using the USRP-2930? I'm hopeful since it has the OCXO this would be a little simpler setup.
With Warm Regards,
The 2930 does not need an external clock. It's built-in!
Sent from mobile device.
the GPS signal from my USRP never matches with the map. But the signal from my 5442 AWG and 5610 Upconverter does match. Do you have any idea? I am using the same almanach, ephemeris, numbers of optimum satellites and so on. There is also no frequency offset.
The USRP uses the "10 MHz out Signal" from the 5610 as Ref In.
The screenshot was taken from ucenter with a ublox 6 as a GPS receiver.
The output power level of the USRP may be too high causing clipping within the GPS. Can you try decreasing the power level or adding attenuation to the cable?
Unfortunately adding 30 or 60 dB attenuation also made no difference. I am curious why the USRP signal is shift. Any other ideas?
One reason could be a very high group delay caused by the USRP. Do you have any possiblilty to measure the group delay of the complete system (don't forget the potential resampling done within your software)?
I found not really the right papers for that issue, but maybe this two are helping for a better understanding:
I have a couple suggestions:
1. use the property node to set the LO frequency further away from the GPS generation.
2. I have used between 60 and 90dB of attenuation in the playback from the USRP to the GPS device. I did not check lock accuracy as you have.
3. Ensure the frequency reference source is set to the external input.
(an external frequency reference is required to establish a reliable lock)
3. The distance error seems very consistent. What is the distance error? Is it the same for each run of each hardware? Does it change if you modify the resample IQ rate i.e. 3M vs 5M
where can i find labview code what gps recieve & displaying like google map on usrp
You can use Google Maps LabVIEW API (https://decibel.ni.com/content/docs/DOC-12505) to plot the Current Lat.Degrees and Current Long.Degreees (obtained from niGPS Property Node).
I am currently doing my final year project. The project requires me to transmit a GPS signal with the desired coordinates through a USRP. The problem is that I only have a USRP 2920, which is not GPS disciplined. I searched the web for a solution, and found two OCXO clock modules that may help. The two modules are:
2) PT626 - 1000 - GPS
I need to know if the above modules may help me or not before buying any? If yes, which one is better? If not, What do you recommend to do in this case?
On another note, do I need to have the NI GPS toolkit, or can I work without it when generating the GPS signals ?
Thanks for your time.
I'm trying to run your VI with USRP-2920.
But the error message below occured.
niUSRP Write Tx Data (CDB Cluster).vi<ERR>Underflow: the Tx buffer was emptied before new data was provided. Consider reducing the IQ rate, increasing the Write rate, or increasing the number of samples per Write.
Please, post your question on the NI USRP support forum: http://forums.ni.com/t5/USRP-Software-Radio/bd-p/500 and refence this example.
I just downloaded the example, but I cannot open it correctly. It tries to find some .vi files I don't have. Where can I get this files, please?
Maybe you need the NI GPS toolkit.You can find it in http://sine.ni.com/nips/cds/view/p/lang/en/nid/206805
Yeah, that was the solution!
How can I change the Satellites Selected?
Satellites are selected based on your position on the earth (latitude and longitude) and the Almanac files. You only get the satellites that would be in the sky at the specified Lat/Long and time of a specific day. All you can change is the number that you can observe.
It may be possible to change which ones you can see, if you can only see a few of them.
Do I need DBSRX boards with 2932 or 2930. I think, I need to use them as a phase-coherent antenna array. This may be due to the way in which the DBSRX boards upscale the 64MHz USRP clock to the L1 frequency of 1.57542 GHz.
Can you suggest some solution to this problem
2930 covers 50M-2.2 GHz, 2932 covers 400M-4.4GHz. You do not need a DBSRX daughterboards with NI USRP devices since they already include RF.
Building a phase coherent antenna array is a different challenge. To be coherent you need to share 10 MHz external references among multiple USRP. For 2 the mimo cable is the right solution. For more channels you need an Octoclock. Phase will be coherent but not aligned. (Also 293x devices include an internal GPSDO which uses the external 10MHz red line so you can't just hook up an Octoclock to the 293x and have it work.)
Thanks a lot for your prompt reply....
So you are saying that I do not have to worry till I limit the number of antenna to 2.. the MIMO cable will be sufficient for this case?
What if I want to go for higher number of antenna?...is it similar to MIMO (OFDM) using SDR?
In that case I will need 2 USRP 2932 for the case of 2 antenna and the number of SDR will scale linearly with number of antenna?
Thanks once again
Yes, but if you are using an external clock, there is no need to use 293x since the clock is supplied externally. Stated another way, the Octoclock-g and 292x devices will provide the same freq stability. The 8x8 mimo white paper is the best reference on this topic.
Thanks a lot once again..so what you suggest should I go for 292x with Octoclock or 293X..I am working in OFDM and MIMO also.. How much will be difference cost and results wise
The 292x with external clock is more cost effective for systems with more than 2 channels. http://www.ettus.com/product/details/OctoClock-G
Thanks a lot for your help..Erik..
I talked to NI people in Banglore and they confused me they are saying I can not use NI 292X for any other GNSS system except GPS. Since the dauther card option was available with ettus product N210 is only capable of working with BeiDou , Galileo and GLONASS and NI 292X will not work for multicintellation applications.. Please help me in this
Thanks a lot
I like this picture because it shows several of the constellations at the same time. The USRP 292x has a maximum of 25 MHz bandwidth, so it may not be wide enough bandwidth to catch all of the satellties in a given constellation. In GPS they all overlap on top of one another while other constellations separate them or overlap them across a wider bandwidth. It really just depends on what you are trying to do.
In my application spectrum takes into account BeiDou E2, Galileo E1, GPS L1, and GLONASS G1. Therefore the bandwidth will go from 1555 MHz to 1607 MHz, more than 50MHz. In this case can I use NI 292x?
Can you please suggest how NI 292X is different from N210. Apart from the difference you mentioned about the bandwidth. Do you think N210 is better than NI 292x apart from Labview support. I know for you it may be difficult to say that but can you guide me where I can find answer to this question, I mean I want to use same SDR for Other applications such as OFDM applications and hence I want to choose the one which can be used in both the cases.
Thanks a lot
I am running the niGPS Streaming Generator on my USRP system. The Generator runs fine for several minutes. After about 15 minutes of operation it halts with an error code "-20442" from the gpsv2_validate state.vi.
I cannot find any documentation on this error or why it occurs. Can you point me in the right direction to resolve this problem?
If you look at the default values on front panel, the Number of Frames = 25. Each GPS frame is 30s and so the total specified generation time should be 25x30s=12.5min. After that time the generation should stop. If you have GPS toolkit 3.0 you can increase the number of frames to 2880 to generate GPS signal for longer time period. http://zone.ni.com/reference/en-XX/help/372446D-01/nigpsattribs/numberofframes/
Thank you. It was not clear how those parameters affected duration. I
will retest. This is most useful.
Vice President, Product Technology Research
iBiquity Digital Corporation
6711 Columbia Gateway Drive
Columbia, MD 21046
ibiquity.com <http://www.ibiquity.com/> | hdradio.com
<http://www.hdradio.com/> | hdradioalliance.com
<http://www.hdradioalliance.com/> | facebook.com/hdradio
<http://www.facebook.com/hdradio> | twitter.com/hdradio
HD Radio™ and the HD Radio logo are proprietary trademarks of iBiquity
The information contained in this transmission may contain privileged and
confidential information. It is intended only for the use of the person(s)
named above. If you are not the intended recipient, you are hereby notified
that any review, dissemination, distribution or duplication of this
communication is strictly prohibited. If you are not the intended
recipient, please contact the sender by reply email and destroy all copies
of the original message.
I'm a complete newb in this domain. For my project I have decided to go ahead with a project related to GPS. My college has only got 2922 USRP boards. Can you elaborate to me how to accomplish this task that you are talking about using external clock please?
Otherwire I will have to change my project.
Also I think it is very unlikely that my college will purchase such expensive external clock modules.
So can anyone please suggest any thing.
use a function generator in the lab as the external 10MHz clock. You just
need better frequency accuracy than an internal USRP-2920 has (TCXO).
I recommend doing a bit more research. The clock I'm referring to is mentioned in the section above: External Reference Clock
First of all thank you sir for such a quick reply.
I will try using a function generator from our lab.
The thing that I dont get yet is that where are we supposd to apply the external clock. Does USRP has an input socket for that?
And yes sir, you are right. I have to do some research and get familiar with USRP. For that I am going to attend a workshop on LavVIEW.
I have read that for GPS application the active antenna was used for implimentation. Is this a necessary condition, or passive monopole antenna sufficient?
The kit that we have is 2922.
You will need all of the gain you can get. I've typically used a 30dB amplifier AND an active antenna. To hook all of this up its a bit tricky. You need the antenna, connected to a splitter that splits out DC and RF. I cut a dc power cord and soldered it to an SMA cable for the DC in. The RF out then went to a fixed 30dB amplifier and then to the USRP. The splitter and amp came from minicircuits. It think I spent about $200 on parts.
Then the USRP-2920 connection to a GPS is simulated and for that we must take an external GPS?
That occupies GPS USRP-2920 or I need to do to have a connection with the apparatus USRP-2920 ???
Installing the GPS toolkit 2.0 for LabVIEW.
Hi can any one please suggest from where and which active antenna and LNA I should buy for multiconstellation GNSS receiver for GLONASS and GPS application. Further I want to know if the GPS tool kit has some inbuilt VI for GNSS receiver/s. I have USRP 2922 and triband and dual band antenna
As you said earlier that I can apply an external reference for clock using function generator. So can you please tell me what should be the maximum voltage set for safe operation?
Also, I dont need to use the GPS constantly, like 24 hours. I wiill need it for only like a few seconds. So my next question is that what accuracy for such an application can be tolerated?