""" Help texts for Shannon application. Cleaned-up version of Shannon_Dict.py, organized by section. Unicode subscripts/superscripts replaced by readable equivalents for web display. """ # ────────────────────────────────────────────────────────────────────────────── # Panel 1: Theoretical Exploration # ────────────────────────────────────────────────────────────────────────────── THEORY_HELP = { "cnr": ( "**Reference C/N [dB]**\n\n" "Reference Carrier to Noise Ratio in decibels: 10·log(C/N), where C is the " "Carrier's power and N is the Noise's Power, both measured in the reference " "Channel Bandwidth.\n\n" "The Carrier's power is often named Signal's Power and the Carrier to Noise Ratio " "is often named Signal to Noise Ratio." ), "bw": ( "**Reference BW [MHz]**\n\n" "Reference Channel Bandwidth — a key parameter of the communication channel.\n\n" "This bandwidth is usually a degree of freedom of the system design, eventually " "constrained by technological constraints and various kinds of frequency usage regulations." ), "c_n0": ( "**Carrier Power to Noise Power Density Ratio: C/N₀**\n\n" "Carrier's power (in Watts) divided by the Noise Spectral Power Density " "(in Watts per MHz). The result's units are MHz." ), "br_inf": ( "**Theoretical BR at infinite BW: 1.44·C/N₀**\n\n" "Bit Rate theoretically achievable when the signal occupies an infinite Bandwidth. " "This value is a useful asymptotic limit." ), "br_unit": ( "**Theoretical BR at Spectral Efficiency = 1: C/N₀**\n\n" "Bit Rate theoretically achievable at a Spectral Efficiency = 1: " "Bit Rate in Mbps = Bandwidth in MHz.\n\n" "The corresponding value, deduced from Shannon's formula, is given by C/N₀." ), "br_bw": ( "**Theoretical BR at Reference (BW, C/N)**\n\n" "Bit Rate theoretically achievable when the Bandwidth is constrained " "to the given reference value." ), "cnr_lin": ( "**C/N = C / (N₀·B)**\n\n" "Reference Carrier to Noise Ratio (or Signal to Noise Ratio). " "The C/N Ratio is usually given in dB: 10·log(C/N).\n\n" "Although the logarithm is convenient for many evaluations (multiplications become additions), " "it's also good to consider the ratio itself (Linear Format) to get some physical sense " "of the power ratio.\n\n" "The Carrier to Noise Ratio in linear format is the value used in Shannon's formula." ), "br_mul": ( "**Bit Rate Increase Factor**\n\n" "Bit Rate multiplying factor achieved when the Bandwidth and the Power " "are multiplied by a given set of values." ), "bw_mul": ( "**BW Increase Factor**\n\n" "Arbitrary multiplying factor applied to the Carrier's Bandwidth, for sensitivity analysis." ), "p_mul": ( "**Power Increase Factor**\n\n" "Arbitrary multiplying factor applied to the Carrier's Power, for sensitivity analysis." ), "shannon": ( "**The Shannon Limit** allows to evaluate the theoretical capacity achievable over " "a communication channel.\n\n" "As a true genius, Claude Shannon founded communication theory, information theory " "and more (click the Wikipedia button for more info).\n\n" "This equation is fundamental for the evaluation of communication systems. " "It is an apparently simple but extremely powerful tool to guide communication systems' designs.\n\n" "This equation tells us what is achievable, not how to achieve it. It took almost 50 years " "to approach this limit with the invention of Turbo codes.\n\n" "In the satellite domain, DVB-S2x, using LDPC codes iteratively decoded (Turbo-Like), " "is only 1 dB away from this limit." ), "advanced": ( "**AWGN Channel Model**\n\n" "The model assumes that the communication channel is **AWGN** (Additive White Gaussian Noise). " "This noise is supposed to be random and white, meaning noise at a given time is independent " "of noise at any other time — implying a flat and infinite spectrum. " "This noise is also supposed to be Gaussian.\n\n" "Although these assumptions seem very strong, they accurately match the cases of interest. " "Many impairments are actually non-linear and/or non-additive, but combining equivalent C/N " "of all impairments as if they were fully AWGN is in most cases very accurate. " "The reason is that the sum of random variables of unknown laws always tends to Gaussian, " "and thermal noise is dominating, actually white and gaussian, and whitening the rest.\n\n" "The tool accepts lists of comma-separated CNRs which will be combined in that way.\n\n" "Overall, the Shannon Limit is a pretty convenient tool to predict the real performances " "of communication systems." ), "help": ( "**Recommendations for using the tool**\n\n" "The first purpose of the tool is educational, allowing people to better understand " "the physics of communications and the role of key parameters.\n\n" "- Try multiple values in all the fields one by one\n" "- Explore the graphs and try to understand the underlying physics\n" "- The units are as explicit as possible to facilitate the exploration\n" "- Click on the ℹ️ icons to get information about each parameter" ), } # ────────────────────────────────────────────────────────────────────────────── # Panel 2: Real World (Satellite Link Budget) # ────────────────────────────────────────────────────────────────────────────── REAL_WORLD_HELP = { "freq": ( "**Frequency [GHz]**\n\n" "Frequency of the electromagnetic wave supporting the communication.\n\n" "For satellite downlink, typical bands: L: 1.5 GHz, S: 2.2 GHz, C: 4 GHz, " "Ku: 12 GHz, Ka: 19 GHz, Q: 40 GHz" ), "sat_alt": ( "**Satellite Altitude [km]**\n\n" "The position of the satellite is expressed in latitude, longitude, altitude. " "A GEO satellite has a latitude of 0° and an altitude of 35786 km. " "LEO satellites have altitudes lower than 2000 km. " "MEO altitudes are between LEO and GEO (O3B constellation: 8063 km)." ), "sat_latlon": ( "**Satellite Latitude and Longitude [°]**\n\n" "The program doesn't simulate the orbit — any satellite coordinates can be used. " "A GEO satellite has a latitude of 0°." ), "gs_latlon": ( "**Ground Station Lat, Lon [°]**\n\n" "The position of the ground station affects link availability due to weather statistics " "(tropical regions have very heavy rains attenuating signals at high frequencies). " "It also impacts the elevation angle and overall path length.\n\n" "🔗 [Find coordinates](https://www.gps-coordinates.net)" ), "availability": ( "**Link Availability [%]**\n\n" "A high desired link availability corresponds to high signal attenuation: " "only rare and severe weather events exceeding this attenuation can interrupt the link.\n\n" "For example, at 99.9% availability, the attenuation considered is only exceeded 0.1% of the time." ), "path_length": ( "**Path Length [km] @ Elevation [°]**\n\n" "Distance from the satellite to the ground station and elevation angle. " "Minimum path length = satellite altitude (elevation = 90°). " "A negative elevation means the satellite is not visible." ), "atm_loss": ( "**Atmospheric Attenuation [dB]**\n\n" "The atmosphere affects radio wave propagation with attenuation from rain, clouds, " "scintillation, multi-path, sand/dust storms, and atmospheric gases.\n\n" "Typical attenuation exceeded 0.1% of the time in Europe from GEO:\n" "- Ku: 2.5 dB\n- Ka: 6.9 dB\n- Q: 22 dB\n\n" "Uses [ITU-Rpy](https://itu-rpy.readthedocs.io/en/latest/index.html)." ), "hpa": ( "**HPA Output Power [W]**\n\n" "Power of the High Power Amplifier at the satellite's last amplification stage. " "Some satellites operate at saturation (DTH), others in multicarrier mode with " "reduced power (3 dB Output Back Off is typical for VSAT)." ), "sat_beam": ( "**Satellite Beam Diameter [°]**\n\n" "Half-power beam width. Typical values: 0.4–1.4° for GEO HTS, 3–6° for GEO DTH." ), "gain_offset": ( "**Gain Offset from Peak [dB]**\n\n" "Simulates terminals not at beam peak. 3 dB = worst case in 3 dB beam (DTH). " "1 dB = typical median performance for single feed per beam HTS." ), "losses": ( "**Output Section Losses [dB]**\n\n" "Signal loss between HPA and antenna (filters, waveguides, switches). " "Typical: 2.5 dB for classical satellites, 1 dB for active antennas." ), "sat_cir": ( "**Satellite C/I [dB]**\n\n" "Signal impairments from satellite implementation: intermodulation, filtering, phase noise. " "Supports comma-separated lists to include uplink C/N, interferences, etc." ), "output_power": "**Output Power [W]** — Signal power at antenna output carrying user information.", "sat_gain": ( "**Satellite Antenna Gain**\n\n" "Ratio between signal radiated on-axis vs. isotropic antenna. " "Expressed in dBi (dB relative to isotropic antenna)." ), "eirp": ( "**Equivalent Isotropic Radiated Power (EIRP)**\n\n" "Product Power × Gain in Watts. Represents the power required for an isotropic antenna " "to match the directive antenna's radiation in that direction." ), "path_loss": ( "**Path Dispersion Loss**\n\n" "Free-space propagation loss — simply the surface of a sphere with radius = path length. " "Not actual absorption, just geometric spreading." ), "pfd": ( "**Power Flux Density**\n\n" "Signal power per square meter at the terminal side. " "Actual captured power = PFD × antenna effective area." ), "cpe_ant": ( "**Customer Antenna Size [m]**\n\n" "Parabolic antenna with state-of-the-art efficiency (~60%)." ), "cpe_temp": ( "**Noise Temperature [K]**\n\n" "Total receiver's clear-sky noise temperature. Includes all contributors: " "receiver, sky, ground seen by antenna. Default of 120 K is a reasonable typical value." ), "cpe_gain": ( "**Antenna Effective Area and G/T**\n\n" "G/T is the figure of merit of a receive antenna: Gain / Noise Temperature. " "In case of rain, the signal is punished twice: attenuation weakens it and " "the rain attenuator generates additional noise." ), "rx_power": "**RX Power** — Extremely small power before amplification. This is 'C' in Shannon's equation.", "n0": "**Noise Power Density N₀** — Noise Spectral Power Density of the radio front end.", "br_inf": ( "**Bit Rate at infinite BW** — Asymptotic limit: 1.443·C/N₀. Never achieved in practice." ), "br_unit": "**Bit Rate at Spectral Efficiency=1** — Bandwidth = Bit Rate and C/N = 0 dB.", "br_double": ( "**Bit Rate at Spectral Efficiency=2** — Bandwidth-efficient operating point " "(BW = 0.5 × BR), often considered typical." ), "bandwidth": ( "**Occupied Bandwidth [MHz]**\n\n" "Bandwidth occupied by the communication channel — a key degree of freedom in system design." ), "rolloff": ( "**Nyquist Filter Rolloff [%]**\n\n" "Excess bandwidth required beyond the theoretical Nyquist minimum. " "The Nyquist filter avoids inter-symbol interference." ), "cir": ( "**Receiver C/I [dB]**\n\n" "Signal impairments from terminal: phase noise, quantization, synchronization errors. " "Supports comma-separated lists." ), "penalty": ( "**Implementation Penalty [dB]**\n\n" "DVB-S2x with LDPC codes is typically 1 dB from Shannon Limit. " "With 0.5 dB margin, a total of 1.5 dB is typical." ), "overhead": ( "**Higher Layers Overhead [%]**\n\n" "Encapsulation cost (IP over DVB-S2x via GSE). Typically ~5% for modern systems." ), "cnr_bw": "**SNR in Available BW** — Signal-to-Noise Ratio in the available bandwidth.", "cnr_nyq": "**SNR in Nyquist BW** — SNR in Nyquist BW = Available BW / (1 + Roll-Off).", "cnr_rcv": ( "**SNR at Receiver Output** — Combining link noise, satellite C/I, and receiver C/I. " "This is the relevant ratio for real-life performance." ), "br_nyq": ( "**Theoretical Bit Rate** — Direct application of Shannon Limit in Nyquist BW. " "Efficiency in bits/symbol also shown." ), "br_rcv": ( "**Practical Physical Layer Bit Rate** — Using all-degradations-included SNR " "in Shannon's formula." ), "br_high": ( "**Practical Higher Layers Bit Rate** — Corresponds to user bits of IP datagrams." ), "satellite": ( "The evaluation is decomposed in 3 sections:\n\n" "1. **Satellite Link** — transmitter and path to receiver with key characteristics\n" "2. **Radio Front End** — antenna and amplification capturing signal with minimal noise\n" "3. **Baseband Unit** — digital signal processing: filtering, synchronization, " "demodulation, error correction, decapsulation\n\n" "All fields are initially filled with meaningful values. Start by changing the " "straightforward parameters. All parameters have help tooltips." ), "advanced": ( "**Advanced Analysis Notes**\n\n" "All capacity evaluations use direct application of the Shannon formula with real-world " "impairments via C/N combinations. Useful links:\n\n" "- [Nyquist ISI Criterion](https://en.wikipedia.org/wiki/Nyquist_ISI_criterion)\n" "- [Error Correction Codes](https://en.wikipedia.org/wiki/Error_correction_code)\n" "- [Viterbi Decoder](https://en.wikipedia.org/wiki/Viterbi_decoder)\n" "- [Turbo Codes](https://en.wikipedia.org/wiki/Turbo_code)\n" "- [DVB-S2](https://en.wikipedia.org/wiki/DVB-S2)\n" "- [OSI Model](https://en.wikipedia.org/wiki/OSI_model)" ), "help": ( "**Recommendations**\n\n" "- Try multiple values one by one, starting from the least intimidating\n" "- Explore the graphs to understand the physics\n" "- Units are as explicit as possible\n" "- The tool can also be used for a quick first-order link analysis" ), }