Skip to main content

Atmospheric Turbulence Explained


Weak, Moderate, and Strong Atmospheric Turbulence

This is the natural follow-up after weak turbulence. Below is an intuitive explanation of moderate and strong turbulence, connected to standard equations and reduced to engineer-friendly models.

1. Physical Picture: From Weak to Strong Turbulence

Weak Turbulence

  • Small refractive-index fluctuations
  • Phase distortions dominate
  • Intensity fluctuates mildly
  • Log-normal model works

Moderate Turbulence

  • Both small-scale and large-scale eddies matter
  • Strong scintillation
  • Deep fades start appearing
  • Single log-normal model fails

Strong Turbulence

  • Multiple scattering effects
  • Beam breakup and saturation
  • Intensity fluctuates wildly
  • Negative exponential behavior emerges
One Gaussian is no longer enough.

2. Why the Gamma–Gamma Model Is Used

Intensity fluctuations arise from two independent physical effects:

  • Large-scale turbulence (slow, beam-wide fluctuations)
  • Small-scale turbulence (fast, speckle-like fluctuations)

Each effect is modeled as a Gamma random variable, and the received intensity is their product:

I = I_L · I_S

The product of two Gamma random variables results in the Gamma–Gamma distribution.

3. Gamma–Gamma Probability Density Function


f_I(I) =
2(αβ)^((α+β)/2) / [Γ(α)Γ(β)]
· I^((α+β)/2 − 1)
· K_(α−β)(2√(αβI))
      
  • Γ(·): Gamma function
  • K_ν(·): Modified Bessel function
  • α: large-scale turbulence parameter
  • β: small-scale turbulence parameter

4. Meaning of α and β


α = [exp(0.49σ_R^2 / (1 + 1.11σ_R^(12/5))^(7/6)) − 1]^(-1)

β = [exp(0.51σ_R^2 / (1 + 0.69σ_R^(12/5))^(5/6)) − 1]^(-1)
      

σ_R^2 is the Rytov variance, which controls turbulence strength.

  • Large α, β → weak turbulence
  • Small α, β → strong turbulence

5. Turbulence Regime Classification

Turbulence Rytov Variance Model
Weak σ_R^2 < 1 Log-normal
Moderate σ_R^2 ≈ 1 Gamma–Gamma
Strong σ_R^2 ≫ 1 Negative exponential

6. MATLAB Simulations

Weak Turbulence (Log-Normal)

N = 1e6;
sigmaR2 = 0.3;

X = sqrt(sigmaR2) * randn(N,1) - sigmaR2/2;
I_weak = exp(X);

histogram(I_weak,200,'Normalization','pdf');

Moderate Turbulence (Gamma–Gamma)

sigmaR2 = 1;

alpha = (exp((0.49*sigmaR2)/(1+1.11*sigmaR2^(12/5))^(7/6))-1)^(-1);
beta  = (exp((0.51*sigmaR2)/(1+0.69*sigmaR2^(12/5))^(5/6))-1)^(-1);

IL = gamrnd(alpha,1/alpha,N,1);
IS = gamrnd(beta,1/beta,N,1);

I_mod = IL .* IS;

Strong Turbulence (Exponential)

I_strong = exprnd(1,N,1);

7. Summary

Weak turbulence is log-normal, moderate turbulence is Gamma–Gamma, and strong turbulence reduces to a negative exponential model.

Underwater Optical Channel Turbulence (\(\sigma_{\ln}\))

In an underwater wireless optical communication (UWOC) system, the optical signal propagates through water that is not perfectly uniform. Variations in temperature, salinity, and small-scale currents cause fluctuations in the refractive index, which produce fading in the received signal.

This fading is often modeled as lognormal turbulence, especially for weak to moderate turbulence conditions.

1. Lognormal Fading Model

Let the received optical power after path loss and geometric coupling be \(P_0\). The received power affected by turbulence is:

\[ P_r = P_0 \cdot G \]

where \(G\) is a random multiplicative gain representing turbulence. In the lognormal model:

\[ G = e^{X}, \quad X \sim \mathcal{N}(\mu, \sigma_{\ln}^2) \]

Here:

  • \(\mu\) is chosen to ensure unit mean of \(G\):
    \[ \mathbb{E}[G] = e^{\mu + \frac{\sigma_{\ln}^2}{2}} = 1 \quad \Rightarrow \quad \mu = -\frac{\sigma_{\ln}^2}{2} \]
  • \(\sigma_{\ln}\) is the standard deviation of log-amplitude fluctuations, controlling the turbulence strength.

2. Statistical Properties

Given this model:

  1. Mean: \(\mathbb{E}[G] = 1\)
  2. Variance: \(\text{Var}[G] = e^{\sigma_{\ln}^2} - 1\)
  3. Probability density function (PDF) of \(P_r\):
    \[ f_{P_r}(p) = \frac{1}{p \sigma_{\ln} \sqrt{2 \pi}} \exp\Bigg[ -\frac{(\ln p - \mu)^2}{2\sigma_{\ln}^2} \Bigg], \quad p>0 \]

This shows the received optical power fluctuates around the mean \(P_0\), with the spread controlled by \(\sigma_{\ln}\).

3. Implementation in MATLAB

mu = -0.5 * (cfg.ch.sigma_ln^2);
gT = exp(mu + cfg.ch.sigma_ln*randn(1, nSyms));
gainSym = gainSym .* gT;  % multiplicative turbulence per symbol

Explanation:

  • randn(1, nSyms) generates independent Gaussian variables \(X \sim \mathcal{N}(0,1)\).
  • Multiplying by σ_ln scales fluctuations to the desired turbulence strength.
  • Adding \(\mu = -\sigma_{\ln}^2/2\) ensures mean gain = 1.
  • exp(...) converts the Gaussian variable into a lognormal gain.

4. Physical Interpretation

Parameter Physical Meaning
\(\sigma_{\ln}\) Strength of turbulence (higher → stronger intensity fluctuations)
\(\mu = -\sigma_{\ln}^2/2\) Ensures mean received power remains unchanged
\(G = e^X\) Multiplicative fading of optical power
\(P_r = P_0 \cdot G\) Received optical power including turbulence

Analogy: Imagine a flashlight beam underwater. If the water is perfectly calm (\(\sigma_{\ln} = 0\)), the beam is steady. If the water has turbulence (\(\sigma_{\ln} > 0\)), the beam flickers randomly around the average intensity. The bigger the \(\sigma_{\ln}\), the stronger the flicker.

5. Typical Values

  • Weak turbulence: \(\sigma_{\ln} \approx 0.1\)
  • Moderate turbulence: \(\sigma_{\ln} \approx 0.2 - 0.3\)
  • Strong turbulence: \(\sigma_{\ln} \gtrsim 0.4\)

These values are consistent with experimental UWOC studies for clear to moderately turbid water.



Contact Us

Name

Email *

Message *

Popular Posts

CMOS Logic Gates: Inverter, NAND, and NOR

CMOS Logic Gates: Inverter, NAND, and NOR Complementary metal–oxide–semiconductor (CMOS) technology forms the backbone of modern digital IC design. Patented by Frank Wanlass in 1963 ( US patent 3,356,858 ), CMOS enables low-power, high-speed, and noise-immune logic circuits. CMOS gates, including inverters, NAND, and NOR, are widely used in both large-scale and small-scale integrated circuits due to their efficiency and versatility. CMOS Inverter A CMOS inverter consists of a complementary pair of PMOS and NMOS transistors. The PMOS transistor connects to the supply voltage V DD , while the NMOS connects to ground. The input voltage V IN controls both gates, and the output voltage V OUT is taken from the connected drains. CMOS inverters are highly energy-efficient and produce minimal heat due to their comple...

Decision Feedback Equalizer (DFE) in MATLAB

  MATLAB Code M = 4; % QPSK numSymbols = 10000; numTrainingSymbols = 5000; chtaps = [1 0.5*exp(1i*pi/6) 0.1*exp(-1i*pi/8)]; % Generate QPSK symbols data = randi([0 M-1], numSymbols, 1); tx = pskmod(data, M, pi/4); % DFE setup eq = comm.DecisionFeedbackEqualizer; eq.ReferenceTap = 1; eq.NumForwardTaps = 5; eq.NumFeedbackTaps = 3; % SNR sweep snrVec = 0:5:25; % 0,5,10,...25 dB berBefore = zeros(size(snrVec)); berAfter = zeros(size(snrVec)); for k = 1:length(snrVec) % Apply channel and AWGN rx = awgn(filter(chtaps,1,tx), snrVec(k), 'measured' ); % BER before equalization rxDataNoEq = pskdemod(rx, M, pi/4); [~, berBefore(k)] = biterr(data, rxDataNoEq); % Equalize [y,~,~] = eq(rx, tx(1:numTrainingSymbols)); % Phase correction phaseOffset = angle(mean(conj(tx(1:numTrainingSymbols)) .* y(1:numTrainingSymbols))); yCorrected = y * exp(-1i*phaseOffset); % BER after equalization rxDataEq = pskdemod(yCorrected, M, pi/4); [...

Superheterodyne Receiver Online Simulator

Superheterodyne Receiver Simulator Simulation Controls Message Frequency (Hz): Carrier Frequency (Hz): Intermediate Frequency (Hz): Sampling Frequency (Hz): Simulation Duration (s): Run Simulation Signal Plots Numerical Values (first 10 samples) Superheterodyne Receiver Workflow The superheterodyne receiver converts a received RF signal to an intermediate frequency (IF) to simplify filtering and amplification, and finally recovers the original message signal. Steps: Input Message Signal: A low-frequency signal m(t) (e.g., sine wave). RF Modulation (AM): The message modulates the carrier with amplitude modulation: RF(t) = [1 + K_a * m(t)] * cos(2Ï€ f_c t) Mixing with Local Oscillator (LO): The RF signal is multiplied by a local oscillator LO(t) = cos(2Ï€ f_LO t) to produce: IF(t) = RF(t) * LO(t) Intermediate Frequency Filtering: A low-pass filter extracts t...

UGC NET Electronic Science Previous Year Question Papers with Solutions

Download Papers and Solutions Exam Pattern Preparation Tips FAQs More Home / Engineering & Other Exams / UGC NET 2026 PYQ 📊 Exam Highlights: Electronic Science (88) Feature Details Junior Research Fellowship (JRF) ₹37,000 + HRA per month Eligibility M.Sc/M.Tech in Electronics (55%) Validity of Certificate JRF (3 Years) | Lectureship (Lifetime) 📥 Download UGC NET Electronics PDFs Complete collection of previous year question papers, answer keys and explanations for Subject Code 88. Start Downloading 📂 View All Question Papers June 2026 - Question Paper Download PDF June 202...

Design of CMOS Flip-Flops (SR, D, JK)

Design of CMOS Flip-Flops (SR, D, JK) A flip-flop or latch is a circuit with two stable states, used to store state information. It is the basic storage element in sequential logic and a fundamental building block in digital electronics systems, including computers and communication devices. Flip-flops and latches act as data storage elements for states, pulse counting, and synchronization of variably-timed input signals to a reference clock. Flip-flops can be transparent/opaque (latches) or clocked (synchronous, edge-triggered). Latches are level-sensitive, while flip-flops are edge-sensitive. In sequential logic, the output depends on current inputs and previous states. Fig.1 shows a sequential circuit combining a combinational block and a memory element. ...

Flat vs Frequency Selective Online Simulator

Flat vs Frequency Selective Online Simulator Channel Type Without Fading Flat Fading Multipaths Nakagami m SNR(dB) Run Simulation Input Signal Signal After Fading Constellation Diagram BER vs SNR Explore Advanced Flat vs Frequency-Selective Fading Simulator Want to see these equations in action? Visualize it. Launch Simulator Tool Flat Fading and Frequency-Selective Fading Effects of Multipath Components and the Nakagami-m Parameter 1. Flat Fading Flat fading occurs when the signal bandwidth is smaller than the channel's coherence bandwidth, meaning that all frequency components of the transmitted signal experience approximately the same fading. It is typically associated with narrowband signals, where the multipath delay spread is small relative to the symbol duration. ...

MUSIC Algorithm Explained (with MATLAB + Simulator)

Practical Implementation of the MUSIC Algorithm The focus is on how the algorithm works computationally , not just theory, and it explains the denominator (a H E n E n H a) mathematically and intuitively. 1. Introduction The MUSIC (Multiple Signal Classification) algorithm is a high-resolution method used in signal processing and array processing to estimate the Direction of Arrival (DOA) of signals received by a sensor array. Unlike classical beamforming methods, MUSIC uses eigenvector decomposition of the covariance matrix to separate the signal subspace and noise subspace , allowing it to achieve much higher angular resolution. In practical implementations, MUSIC works by: Simulating or collecting array signals Computing the covariance matrix Performing eigenvalue decomposition Separating signal and noise subspaces Scanning possible angles using a steering vector Constructing a pseudo-spectrum where peaks indicate signal directions 2. Signal Mo...

MATLAB code for BER vs SNR for M-QAM, M-PSK, QPSK, BPSK (with Simulation)

🧮 MATLAB Code for BPSK, M-ary PSK, and M-ary QAM Together 🧮 MATLAB Code for M-ary QAM 🧮 MATLAB Code for M-ary PSK 📚 Further Reading MATLAB Script for BER vs. SNR for M-QAM, M-PSK, QPSK, BPSK % Written by Salim Wireless clc; clear; close all; snr_db = -5:2:25; psk_orders = [2, 4, 8, 16, 32]; qam_orders = [4, 16, 64, 256]; ber_psk_results = zeros(length(psk_orders), length(snr_db)); ber_qam_results = zeros(length(qam_orders), length(snr_db)); for i = 1:length(psk_orders) ber_psk_results(i, :) = berawgn(snr_db, 'psk', psk_orders(i), 'nondiff'); end for i = 1:length(qam_orders) ber_qam_results(i, :) = berawgn(snr_db, 'qam', qam_orders(i)); end figure; semilogy(snr_db, ber_psk_results(1, :), 'o-', 'LineWidth', 1.5, 'DisplayName', 'BPSK'); hold on; for i = 2:length(psk_orders) semilogy(snr_db, ber_psk_results(i, :), 'o-', 'DisplayName', sprintf('%d-PSK', psk_or...