Developing a Satellite Delay Emulation System Using FPGA-Programmable Modules

  Read in   |   Print Print

"The NI PXIe-5641R IF transceiver has allowed us to focus on the truly innovative and customizable nature of the application rather than on purely RF management."

- Gianluca Pizzocolo, IPSES

The Challenge:
Providing a solution capable of emulating dynamically, with extreme precision and absolute reliability, the transmission and reception timing of a satellite in geostationary orbit. This allows inputting the intermediate frequency (IF) signal before it is modulated to become the uplink signal to the satellite. It also allows outputting the IF signal demodulated by the satellite downlink.

The Solution:
Creating a system based on the LabVIEW platform and the NI PXIe-5641R module that features two IF inputs and two IF outputs (all with real-time bandwidth of 20 MHz and maximum frequency of 80 MHz), 128 MB RAM, a fully programmable Xilinx Virtex-5 SX95T FPGA device, and a direct connection to both the digital-to-analog converter (DAC) output and the analog-to-digital converter (ADC) input. An embedded controller manages the system and graphical interface.

Gianluca Pizzocolo - IPSES

Geostationary satellites, as suggested by their name, follow a geosynchronous circular, equatorial, and prograde orbit. They move at the same speed (about 3 km/s) and in the same direction as the rotation of the earth on a circular orbit contained in the equatorial plane while always maintaining the same relative position to the planetary surface.

The radius of the cyclic orbit of a particle around a celestial body, which is close enough to be within the sphere of gravitational influence, is obtained by equating the centrifugal force of the particle (proportional to the square of the angular velocity) with the force of the gravitational attraction to which it is subjected. Solving this equation for the earth, its geostationary orbit has a radius of 42.165 km.

This is an ideal analytical datum that can be used without problems in an infinite number of applications and calculations. But it is only an approximation that remains valid until the problem to be solved does not require more precision than that attainable with the approximation being considered.

Simulating a Satellite Transmission

In particular, the developed application had to simulate a truly complete segment of a satellite transmission (both an ascending segment of the uplink sent by the transmitting station on the ground to the satellite and a descending segment of the downlink sent from the satellite to the receivers on the ground) with a temporal precision on the order of a microsecond.

Based only on the analytical accounts mentioned, the solution to this problem is trivial: secure the point of transmission and reception on the ground, correspond a fixed distance of the satellite from the center of the planet to 42.165 km, and, assuming the speed of propagation of the signal equal to the speed of light, get a propagation delay ranging between 240 ms (considering the equatorial position) and 280 ms (considering the last location where the satellite is visible just above the horizon).

Because all commercial applications based on satellites are broadcasting signals toward civil users, considering a signal delay to a quarter of a second is more than sufficient since they do not need greater levels of precision.

Ensuring the Precision Needed for Timing and Synchronization

The system invented, however, is intended for timing and synchronization applications, which require much higher precision. Because of this, we needed to consider both the position of transmission and reception of the signal on the ground, which causes a variation of the propagation delay of 40 ms, and the fact that geostationary satellites are not really immobile in relation to a given position on the ground. No geostationary satellite can remain motionless at a fixed and unchangeable distance from the earth. Instead, it makes small, almost periodical, movements in all directions (for example, the Hot Bird satellites of the Eutelsat gravitate within a parallelepiped with a square base of 150 km sides—perpendicular to the equatorial plane—and a 40 km height). If the position on the ground represents only a fixed time delay that can be set a priori, the movements of the planet rather than a variable create a delay in the time of about 267 µs.

The system we developed can be used to emulate for a long time (typically one day, though it can work indefinitely) a real satellite segment, considering the true position of the satellite and not the theoretical. This causes a delay in the variation of a dynamic definable segment, with various profiles derived from real measures or manually calculated.

To achieve this precision, the IF signal at the input to the NI PXIe-5641R module was converted to I/Q values sampled from a 100 MHz FPGA and saved in the memory in a circular buffer that was read by the transmission loop.

The transmission loop, always running at a fixed frequency of 100 MHz, sent a sample every 100 ns to the DAC. This sample was obtained by suitably interpolating two samples in the buffer. The resulting sample can generate any delay, even fractional, with respect to the resolution of 100 ns of the clock used. 

The position of the interpolation was not fixed. It varied continuously with time, according to a profile streamed from the host, so it was possible to emulate the motion profile of the satellite and expertly reproduce previously acquired real cases.

The removal of the satellite created an increase in the delay of the received signal, while its approach caused a decrease. The former translated to the interpolation of the input samples to obtain an output number greater than that saved. The latter decimated the incoming samples to obtain an output number lower than that saved.

Finally, to obtain a maximum delay of 280 ms, we needed a buffer—sampled at 100 MHz—of about 28 MB. Thanks to the 128 MB RAM, we could emulate simultaneously two independent satellite segments.

We could also use the entire core we developed to directly manage the Ku band (K-under band), in other words, the 12–18 GHz spectrum that precedes the K band (18–27 GHz). This band is typically used for satellite communications by simply inserting an upconverter and a downconverter to directly connect to the NI PXIe-5641R module.


The NI PXIe-5641R IF transceiver not only greatly simplified the project but also allowed us to focus on the truly innovative and customizable nature of the application rather than on purely RF management, which is also complex but standard.

Author Information:
Gianluca Pizzocolo

Bookmark and Share

Explore the NI Developer Community

Discover and collaborate on the latest example code and tutorials with a worldwide community of engineers and scientists.

‌Check‌ out‌ the‌ NI‌ Community

Who is National Instruments?

National Instruments provides a graphical system design platform for test, control, and embedded design applications that is transforming the way engineers and scientists design, prototype, and deploy systems.

‌Learn‌ more‌ about‌ NI