# GNSS-Reflectometry by Skydel simulator

**URL:** <https://learn.safran-navigation-timing.com/t/gnss-reflectometry-by-skydel-simulator/553>\
**Category:** Skydel Discussion\
**Created:** [March 25, 2022, 5:18am UTC](https://learn.safran-navigation-timing.com/t/gnss-reflectometry-by-skydel-simulator/553 "2022-03-25T05:18:39Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![phule](https://avatars.discourse-cdn.com/v4/letter/p/ecb155/32.png) [@phule](https://learn.safran-navigation-timing.com/u/phule)\
**Post date:** [March 25, 2022, 5:18am UTC](https://learn.safran-navigation-timing.com/t/gnss-reflectometry-by-skydel-simulator/553/1 "2022-03-25T05:18:39Z")

</div>

Hi All,

We are currently working on GNSS-reflectometry (GNSS-R) for the task of estimate the altitude of a flying object (h in the photo attached). We generated direct Line of Sight signal and Echo only signal by Skydel and saved into two .iq file for streaming to two different channels of the USRP N310. We input the location of Vehicle (receiver or UAV in our case), i.e. longtitude, latitude, and altitude (h). In the Echo only signal generation, we input the Pseudorange Offset (d in the photo attached).

Our confusion is that, we understood in our GNSS-R scenarios, the the altitude of the object h depends on the Pseudorange Offset d by the trigonometry equation:

h = d / 2 sin(E)  
where E is the elevation angle of the GNSS satellite

However, by Skydel simulator in multi-path condition, h and d are independent and can be input separately.

Could you please explain us what is the most accurate method to establish the GNSS-R scenarios by using your Skydel simulator?

Thank you for your answer in advanced.

Best regards,  
Phu

![GNSS-R trigonometry](https://canada1.discourse-cdn.com/flex030/uploads/orolia/original/1X/800e3d8e94d4a9574f8e5ab22249423568d793f6.jpeg)

---

<div class="post-metadata">

**Author:** ![pmleveel](https://yyz2.discourse-cdn.com/flex030/user_avatar/learn.safran-navigation-timing.com/pmleveel/32/35_2.png) [@pmleveel](https://learn.safran-navigation-timing.com/u/pmleveel)\
**Post date:** [March 25, 2022, 9:18am UTC](https://learn.safran-navigation-timing.com/t/gnss-reflectometry-by-skydel-simulator/553/2 "2022-03-25T09:18:00Z")

</div>

Hi Phu,

I see it the other way around: d (ie. the multipath delay) depends on h (altitude of the vehicle).

So you should set the vehicle trajectory and in real time calculate d from the value of h.

Then the multipath pseudorange offset can be updated (up to 1 kHz) in real-time (using the API) based on this calculation.

Thanks

---

<div class="post-metadata">

**Author:** ![phule](https://avatars.discourse-cdn.com/v4/letter/p/ecb155/32.png) [@phule](https://learn.safran-navigation-timing.com/u/phule)\
**Post date:** [March 28, 2022, 2:07am UTC](https://learn.safran-navigation-timing.com/t/gnss-reflectometry-by-skydel-simulator/553/3 "2022-03-28T02:07:01Z")

</div>

Hi @pmleveel,

Thank you very much for the helpful explanation.  
To calculate d from h by d = 2_h_ sin(E), we need the elevation angle E of the GNSS satellite. We were following a question posted on our forum in April 2021 (attached below) and knew that E was not available at that time but @Grace said that it will be added in plug-in interface.

Could you or @Grace please check to see if we can read the elevation of a specified satellite with respect to the vehicle from API?

If not, it would be helpful if you can explain me the way(s) to walk around.

Thanks,  
Phu

---------------------------------------Last year message about elevation of a specified satellite

# [Vehicle Information API](https://learn.safran-navigation-timing.com/t/vehicle-information-api/165)

Apr '21

Hello,

are there more functions to obtain vehicle information other than the ones described in [Orolia Skydel User Manual](http://manuals.spectracom.com/skydel/index.html#automate-API-VehicleInfo) ?  
In particular, we are interested in getting the elevation of a specified satellite with respect to the vehicle. The information is provided in the logging files, but I could not find an option to get this information by searching the API documentation.

[Grace](https://learn.safran-navigation-timing.com/u/Grace)

Apr '21

Hi Kevin,

Unfortunaletly it is not available yet but we plan to add it in the plug-in interface.

Best regards,  
Grace Oulai

---

<div class="post-metadata">

**Author:** ![Grace](https://avatars.discourse-cdn.com/v4/letter/g/f17d59/32.png) [@Grace](https://learn.safran-navigation-timing.com/u/Grace)\
**Post date:** [March 28, 2022, 12:19pm UTC](https://learn.safran-navigation-timing.com/t/gnss-reflectometry-by-skydel-simulator/553/4 "2022-03-28T12:19:01Z")

</div>

Hi @phule ,

The function to obtain the elevation and azimuth angles of the satellites is available from version 22.2 of Skydel.  
Here is a small python script which describes how to use this function to get the elevation angle:

el\_az = sim.call(GetElevationAzimuthForSV(“GPS”, svId))  
el\_az\_func = el\_az.elevationAzimuth()  
elevation\_angle = el\_az\_func[‘Elevation’]

Please find the release note page to discover what are the new Skydel features.  
You can use the Skydel download link with the credentials you have to access the new version.

Regards

---

<div class="post-metadata">

**Author:** ![phule](https://avatars.discourse-cdn.com/v4/letter/p/ecb155/32.png) [@phule](https://learn.safran-navigation-timing.com/u/phule)\
**Post date:** [March 29, 2022, 4:35am UTC](https://learn.safran-navigation-timing.com/t/gnss-reflectometry-by-skydel-simulator/553/5 "2022-03-29T04:35:44Z")

</div>

Thank you @Grace and @pmleveel for the helpful explanation. Could you please advise me the command to update the Pseudorange Offset of echo signal in multipath condition? Our Skydel version is 21.9. In Documentation.txt document, there is the command SetPseudorangeRampForSV. Not sure if that is the right command to use.

@pmleveel :

- Do we really need to set the vehicle trajectory? Can we just used a fixed location vehicle? The satellite is moving hence Pseudorange Offset should be varied even with a fixed location vehicle.

- Could you please explain a bit how to update the Pseudorange Offset after each specific interval (for example 1ms)?

Thanks,  
Phu

---

<div class="post-metadata">

**Author:** ![Grace](https://avatars.discourse-cdn.com/v4/letter/g/f17d59/32.png) [@Grace](https://learn.safran-navigation-timing.com/u/Grace)\
**Post date:** [March 29, 2022, 6:52am UTC](https://learn.safran-navigation-timing.com/t/gnss-reflectometry-by-skydel-simulator/553/6 "2022-03-29T06:52:12Z")

</div>

Hi @phule,

The command to update only the Pseudorange Offset of the echo signal in mutipath is :  
SetMultipathForSV(“L1CA”, svId, powerLoss, 0, 0, 0, echo, id).

I put a sample script for changing multipath values ​​in the Github of Orolia.  
You can view it with this [link](https://github.com/learn-orolia/skydel-tools/tree/main/Multipath_API_template).

I also advise you to consult the folder **Skydel-SDX\API\Python\skydelsdx** to find Skydel API commands and their application.

Regards

---

<div class="post-metadata">

**Author:** ![phule](https://avatars.discourse-cdn.com/v4/letter/p/ecb155/32.png) [@phule](https://learn.safran-navigation-timing.com/u/phule)\
**Post date:** [March 29, 2022, 10:31pm UTC](https://learn.safran-navigation-timing.com/t/gnss-reflectometry-by-skydel-simulator/553/7 "2022-03-29T22:31:00Z")

</div>

Hi @Grace,

Thank you very much for your kind support to make and share the script and the good suggestion about the skydelsdx folder.

I have another question: to update the Pseudorange offset in real time, do we need to set the vehicle trajectory? Or can we make vehicle location as Fixed?

Best regards,  
Phu

---

<div class="post-metadata">

**Author:** ![Grace](https://avatars.discourse-cdn.com/v4/letter/g/f17d59/32.png) [@Grace](https://learn.safran-navigation-timing.com/u/Grace)\
**Post date:** [March 30, 2022, 1:12pm UTC](https://learn.safran-navigation-timing.com/t/gnss-reflectometry-by-skydel-simulator/553/8 "2022-03-30T13:12:04Z")

</div>

Hi @phule,

You’re welcome. Glad to have been able to help you easily set up your simulation with Skydel.

Yes, to update the Pseudorange Offset in real time, you can set the type of the vehicle trajectory to fixed or can can choose the other trajectory type available in Skydel, or you can even import your own trajectory in Settings → Vehicle and selected **Track Playback** in the trajectory dropdown list.

Regards,  
Grace

---

<div class="post-metadata">

**Author:** ![phule](https://avatars.discourse-cdn.com/v4/letter/p/ecb155/32.png) [@phule](https://learn.safran-navigation-timing.com/u/phule)\
**Post date:** [March 31, 2022, 12:55am UTC](https://learn.safran-navigation-timing.com/t/gnss-reflectometry-by-skydel-simulator/553/9 "2022-03-31T00:55:23Z")

</div>

Thank you again @Grace for your kind explanation.

Best regards,  
Phu

---

<div class="post-metadata">

**Author:** ![phule](https://avatars.discourse-cdn.com/v4/letter/p/ecb155/32.png) [@phule](https://learn.safran-navigation-timing.com/u/phule)\
**Post date:** [March 31, 2022, 2:18am UTC](https://learn.safran-navigation-timing.com/t/gnss-reflectometry-by-skydel-simulator/553/10 "2022-03-31T02:18:34Z")

</div>

Hi @Grace ,

Please correct me if I am wrong. I downloaded two files you shared (test\_10.py &test\_multipath(2).sdx). To run the test\_10.py I need to:  
- Start Skydel and from its GUI, select File/Open Configuration/test\_multipath(2).sdx  
- run python test\_10.py

Another question: what happen if from a Skydel experiment, I just ‘Export to Python’ to save a .py file but not saving the configuration to .sdx file? Would the .py file be not useful?

Thanks,  
Phu

---

<div class="post-metadata">

**Author:** ![Grace](https://avatars.discourse-cdn.com/v4/letter/g/f17d59/32.png) [@Grace](https://learn.safran-navigation-timing.com/u/Grace)\
**Post date:** [March 31, 2022, 8:46am UTC](https://learn.safran-navigation-timing.com/t/gnss-reflectometry-by-skydel-simulator/553/11 "2022-03-31T08:46:59Z")

</div>

Hi @phule,

Yes, this is the correct process to run this multipath configuration.

If you just export and save the python script from Skydel without saving the SDX configuration, you can be able to run this script and configure Skydel from it.  
And in that case, if you have Skydel open then run a python file from a command promt, this script will overwrite the current Skydel configuration and apply the Skydel’s commands defined in this file.

Regards,  
Grace Oulai
