MATLAB link-level simulator for a HydRON-like coherent Dual-Polarization Quadrature Phase Shift Keying (DP-QPSK) Low Earth Orbit (LEO)-to-ground optical wireless link.
This repository contains the simulation code used for my Master's Thesis:
Modelling and Simulation of High-Throughput Optical Satellite Links: Application to the ESA HydRON Demonstration System
The work investigates whether a simplified HydRON-like coherent optical feeder link can satisfy selected ESA ESTOL power and pre-FEC BER requirements under realistic but simplified propagation assumptions.
The simulator combines:
- optical link-budget calculation versus elevation
- coherent DP-QPSK complex-baseband signal generation
- root-raised-cosine (RRC) pulse shaping and matched filtering
- deterministic atmospheric attenuation
- log-normal scintillation
- aperture averaging
- pointing jitter
- BER estimation versus
$E_b/N_0$
Although the carrier is optical, the simulation follows the same system-engineering workflow used in RF wireless studies: link budget, propagation/channel modelling, impairment modelling, receiver sensitivity analysis, Monte Carlo evaluation, and BER/threshold comparison.
This repository contains thesis/appendix-level MATLAB code. The scripts are intentionally close to the implementation used to generate the thesis results.
The goal is not to provide a production-ready optical communication simulator, but to document a reproducible link-level study of a high-throughput optical satellite downlink.
The simulated scenario is a HydRON-like LEO-to-ground optical feeder link using coherent DP-QPSK transmission around the 1550 nm optical window using the ESTOL specifications.
Main assumptions:
| Parameter | Value |
|---|---|
| Link type | LEO-to-ground optical downlink |
| Modulation | DP-QPSK |
| Symbol rate | 31.5 |
| Raw bit rate | 126 |
| Wavelength | 1554.13 |
| Satellite altitude | 530 |
| Design elevation | 15º |
| Transmit optical power | 6 |
| Transmit divergence | 380 |
| Receiver aperture | 0.8 |
| Pulse shaping | RRC, ( |
| BER target | 2.0 |
LinkBudget_LEO_ESTOL_OP.m
Computes the optical link budget for a HydRON-like LEO-to-ground downlink. It includes:
- LEO slant-range geometry
- Gaussian transmitter gain from FWHM divergence
- receiver aperture gain
- free-space loss
- atmospheric attenuation
- pointing loss
- receiver internal losses
- received power and irradiance versus elevation
- receiver sensitivity from photons per bit
- link margin at the design elevation
DP_QPSK_FSO.m
Runs the DP-QPSK physical/link-layer BER simulation. It includes:
- random bit generation for X/Y polarizations
- Gray-coded QPSK mapping
- RRC pulse shaping
- transmit PSD and eye-diagram visualization
- atmospheric attenuation
- log-normal scintillation
- aperture averaging
- pointing jitter
- AWGN
- matched filtering
- symbol decisions and BER estimation
- BER curves versus
$E_b/N_0$
The channel model is intentionally simplified but includes the main scalar effects relevant to the link-budget and BER study:
| Effect | Included |
|---|---|
| Free-space path loss | Yes, in link budget |
| Atmospheric attenuation | Yes |
| Log-normal scintillation | Yes |
| Aperture averaging | Yes |
| Pointing jitter | Yes |
| AWGN | Yes |
| Receiver internal optical losses | Yes, in link budget |
| FEC | No |
| Signal recovery (ARQ) | No |
| Laser phase noise | No |
| Polarization tracking / butterfly equalizer | No |
| ADC/DAC quantization | No |
| Nonlinear optical front-end effects | No |
| Adaptive Optics | No |
The results should be interpreted as a link-level physical-layer study, not as a complete coherent modem implementation.
The link-budget simulation computes received irradiance at the Optical Ground Station (OGS) aperture as a function of elevation.
At the design elevation of 15º, the simulated collected aperture power is approximately:
which is close to the selected ESTOL-like received-power requirement of -23.7
The following table summarizes the link-budget result for the HydRON-like LEO-to-ground optical downlink. The scenario assumes a 530
| Parameter | 15° elevation | Zenith |
|---|---|---|
| Mean source power ( |
+37.78 |
+37.78 |
| Tx internal losses ( |
-0.30 |
-0.30 |
| Tx antenna gain ( |
+78.85 |
+78.85 |
| Pointing loss ( |
-0.20 |
-0.20 |
| Distance ( |
1472.8 |
529.4 |
| Free-space loss ( |
-261.52 |
-252.63 |
| Atmospheric attenuation ( |
-1.94 |
-0.50 |
| Scintillation loss ( |
n/a | n/a |
| Rx antenna gain ( |
+123.66 |
+123.66 |
| Power into OGS aperture without Rx losses ( |
-23.65 |
-13.33 |
| Irradiance at OGS aperture without Rx losses | 9.647 |
103.903 |
| Rx internal losses and signal splitting ( |
-4.10 |
-4.10 |
| Power after Rx internal losses ( |
-27.75 |
-17.43 |
| Irradiance after Rx internal losses | 3.753 |
40.423 |
| RFE sensitivity ( |
-40.94 |
-40.94 |
| Photons-per-bit margin | +13.19 |
+23.51 |
The transmitted symbols are generated independently for the X and Y polarizations using Gray-coded QPSK.
The baseband waveform is pulse-shaped using a root-raised-cosine filter with roll-off factor (
The resulting transmitted spectrum occupies the expected bandwidth around
on each side of complex baseband.
The simulator compares Hufnagel-Valley and modified Hufnagel-Valley refractive-index structure parameter profiles (
These profiles are used to motivate the turbulence and scintillation assumptions used in the BER simulation.
The irradiance fluctuation is modelled using a log-normal distribution. Aperture averaging reduces the received power scintillation index compared with a point receiver.
This captures the reduction in power fluctuations when the received optical field is integrated over a finite telescope aperture.
The received complex-baseband spectrum is evaluated after the optical channel impairments and receiver matched filter.
The constellation plots show the progressive degradation of the DP-QPSK received symbols as channel impairments are added.
The included cases are:
- AWGN
- deterministic atmospheric loss
- atmosphere + scintillation with point receiver
- atmosphere + scintillation with aperture averaging
- full channel including pointing jitter
The BER simulation compares the ideal AWGN reference with increasingly complete optical-channel models.
The full-channel BER curve crosses the selected oFEC pre-FEC threshold,
at approximately
Open MATLAB in the repository root and run:
LinkBudget_LEO_ESTOL_OPto generate the optical link-budget results.
Then run:
DP_QPSK_FSOto generate the DP-QPSK BER simulation results and the associated figures.
The scripts were developed for MATLAB and require functions from the Signal Processing Toolbox and Communications Toolbox.
The code uses MATLAB functions including:
pskmodpskdemodbit2intint2bitrcosdesignupfirdnpwelchqfunchann
Recommended toolboxes:
- Signal Processing Toolbox
- Communications Toolbox
hydron-fso-link-sim/
├── README.md
├── LinkBudget_LEO_ESTOL_OP.m
├── DP_QPSK_FSO.m
├── docs/
│ ├── thesis/
│ │ └── MT_Iker_Aldasoro_UC3M.pdf
│ └── figures/
│ └── png/
│ ├── A01_link_budget.png
│ ├── B01_tx_symbols.png
│ ├── B03_rrc_frequency_response.png
│ ├── B04_tx_spectrum.png
│ ├── B06_hv_vs_mhv_turbulence_profiles.png
│ ├── B07_lognormal_intensity_pdf.png
│ ├── B08_rx_spectrum_full_channel.png
│ ├── B10_constellations.png
│ └── B11_ber_vs_ebn0.png
└── .gitignore
The simulation uses Monte Carlo sampling for the BER and fading-related calculations. For reproducible results, the random seed is fixed inside the MATLAB scripts.
Some parameters are configured for reasonable execution time. Larger Monte Carlo runs can be used to improve statistics in the low-BER region.
Iker Aldasoro Marculeta
MSc Telecommunications Engineering
Universidad Carlos III de Madrid
This repository is intended for academic and portfolio use. Check the thesis and repository license before reusing figures, text, or code.








