Struggling to get PPK fix with drone & CORS

Hello from a PPK beginner,

I have been working with RTK mapping for a couple of months with a Phantom 4 RTK drone and a Reach RS2+ base located on known points determined via AUSPOS. I need to progress to PPK workflows for sites where RTK is not feasible.

My initial attempts using Emlid studio to process PPK corrections using CORS and drone data have provided very poor results with a 44km baseline. Obviously I am making some basic mistake/s.

The process I have tried involves:

  1. Retrieve CORS data - Download relevant rinex MO (observation) and GN (navigation) file from Positioning Australia GNSS Data Repository (
  2. Decompress CORS MO and GN files.
  3. Use CRX2RNX.exe to convert MO file from CRX format to rinex.
  4. Download all drone data (obtained with PPK logging active during flight).
  5. Note that the raw Phantom 4 RTK obs file has an incorrect obs end date of 1-1-1970 for a flight yesterday!! It is my understanding that this is a known problem with the Phantom 4 RTK. I have manually edited the obs file to correct the end obs date & time, based on the assumption that Studio will not process the file with an incorrect obs end date.
  6. Open Emlid Studio 1.5, “drone data processing” module and load files as per diagram below.
  7. Processing the data results in a single “fix”, mid flight, out of 237 images (pdf file with Studio settings uploaded).

I would really appreciate some guidance on workflow errors.


StudioSettings.pdf (434.8 KB)

44 km is really much too long if you want precise and consistent results with PPK for a drone mission.
Should be kept under 10-15 km in my opinion.

Consider getting your own base station, that gets the absolute position from the cors, and then use the local base for your PPK against the drone.


As Christian said, you can ensure a short baseline by setting your own base during the time of your survey, and you should get much better results.

You can also generate a virtual reference RINEX file at the center of your survey area, either as a control of the first solution with your own base, either as a substitution solution. You can do that on the Rinexlab here., and import it afterwards in Emlid Studio as the base station.

Thanks to both of you for the useful information. Either method will resolve my issues.

I was aware of VRS services in Australia, but all the local service providers seem to charge several thousand dollars per year, which is not viable for occasional mapping projects. The Rinexlab offers a good alternative.

Here in Washington State, A subscription to CORS starts at $2k per year. But downloading rinex logs is free. Maybe check to see if you have that option.

Hello Christian, after following your suggestion and using the base station, I achieved 100% fix on three separate drone runs within 1km of the base.



Hi Matt,

Welcome to our community!

I see you’ve already adjusted your workflow according to Christian’s suggestion, and it worked out for you. But I’d like to leave a couple of comments, though.

I have an assumption that struggling to get FIX could be caused not only by a long baseline but also by an update rate of CORS observations. Or both these factors could act together.

Most likely, if you select high-rate data in the search settings of RINEX files, it’ll help you get better post-processing results. If it is still relevant to you, you can send me your data via PM or, and I’ll try to examine my idea.

1 Like