Skip to main content

Rayleigh vs Rician Fading (with MATLAB + Simulator)

 

In Rayleigh fading, the channel coefficients tend to have a Rayleigh distribution, which is characterized by a random phase and magnitude with an exponential distribution. This means the magnitude of the channel coefficient follows an exponential distribution with a mean of 1.

In Rician fading, there is a dominant line-of-sight component in addition to the scattered components. The channel coefficients in Rician fading can indeed tend towards 1, especially when the line-of-sight component is strong. When the line-of-sight component dominates, the Rician fading channel behaves more deterministically, and the channel coefficients may tend towards the value of the line-of-sight component, which could be close to 1.

 

MATLAB Script

clc;
clear all;
close all;

% Define parameters
numSamples = 1000; % Number of samples
K_factor = 5; % K-factor for Rician fading
SNR_dB = 20; % Signal-to-noise ratio (in dB)

% Generate complex Gaussian random variable for Rayleigh fading channel
h_rayleigh = (randn(1, numSamples) + 1i * randn(1, numSamples)) / sqrt(2);

% Generate complex Gaussian random variable for line-of-sight component
h_los = sqrt(K_factor / (K_factor + 1));

% Generate noise
noisePower = 10^(-SNR_dB/10);
noise = sqrt(noisePower/2) * (randn(1, numSamples) + 1i * randn(1, numSamples));

% Combine Rayleigh and line-of-sight components for Rician fading channel
h_rician = h_los + sqrt(1 / (K_factor + 1)) * h_rayleigh;

% Add noise to the channel coefficients for Rayleigh fading channel
h_rayleigh_with_noise = h_rayleigh + noise;

% Add noise to the channel coefficients for Rician fading channel
h_rician_with_noise = h_rician + noise;

% Plot the channel coefficients
figure;
subplot(2,1,1);
plot(real(h_rayleigh_with_noise), imag(h_rayleigh_with_noise), 'b.');
hold on;
plot(real(h_rician_with_noise), imag(h_rician_with_noise), 'r.');
title('Channel Coefficients with Noise');
xlabel('Real');
ylabel('Imaginary');
axis equal;
legend('Rayleigh', 'Rician');
grid on;

subplot(2,1,2);
histogram(abs(h_rayleigh_with_noise), 'Normalization', 'probability', 'EdgeColor', 'b');
hold on;
histogram(abs(h_rician_with_noise), 'Normalization', 'probability', 'EdgeColor', 'r');
title('Magnitude Histogram');
xlabel('Magnitude');
ylabel('Probability');
legend('Rayleigh', 'Rician');
grid on;

 

Output

 

 
Fig 1: Rayleigh v/s Rician Fading


Copy the MATLAB Code from here



Interactive Online Simulators for Rayleigh & Rician Fading

Fading Models Overview (Rayleigh, Rician, and Nakagami)

In wireless simulations, fading models statistically describe how signal strength fluctuates due to multipath interference.

Rayleigh Fading

Scenario: Non-Line-of-Sight (NLOS)

Used for urban environments where the signal is blocked by buildings and reaches the receiver only via scattering.

\[ f_R(r) = \frac{r}{\sigma^2} e^{-\frac{r^2}{2\sigma^2}} \]

Rician Fading

Scenario: Line-of-Sight (LOS)

Used when a dominant direct path exists. Characterized by the K-factor (ratio of LOS power to scattered power).

\[ K = \frac{\text{LOS power}}{\text{Scattered power}} \]

Key Comparison

  • • Severity: Rayleigh is more severe; Rician becomes "cleaner" as the K-factor increases.
  • • Nakagami-m: A flexible model where \(m=1\) equals Rayleigh and higher \(m\) approximates Rician.
  • • Limits: As \(K \to 0\), Rician fading becomes Rayleigh fading.

Wireless Fading Essentials

1 Large-Scale Fading

Occurs over long distances due to shadowing by obstacles like buildings. It describes the general decline in signal power as you move away from a transmitter.

2 Small-Scale Fading

Rapid power fluctuations over very short distances (wavelength level). This includes Rayleigh (NLOS) and Rician (LOS) models caused by multipath propagation.

3 Slow vs. Fast Fading

Determined by the Doppler Shift. Fast fading occurs when the channel changes quicker than the symbol rate; Slow fading occurs when the channel remains stable over several symbol periods.

Simulation Focus

Analyzing Alamouti 2x1 MIMO performance in multipath environments.

Want to see the MATLAB code or a deep dive into Doppler Shift equations?

Read More & Detailed Technical Guide →


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...

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 Interactive Rayleigh Fading Simulator Want to see Rayleigh fading in action? Visualize it. Launch Simulator Tool Return to DSP Simulations Main Page →

Linear vs Circular Convolution

Linear vs Circular Convolution Linear convolution vs circular convolution Linear convolution (what nature does) If: x[n] = transmitted signal h[n] = channel impulse response (multipath) Then the received signal is: y[n] = x[n] * h[n] This means: Past symbols spill into future symbols Causes inter-symbol interference (ISI) DFT of y[n] is not a simple product Circular convolution (what DFT assumes) The DFT assumes periodic signals : y[n] = x[n] ⊛ h[n], where indices wrap around modulo N Only under circular convolution does the DFT satisfy: Y[k] = X[k] · H[k] This is what enables one-tap frequency-domain equalization . What happens in the real channel (linear convolution) The channel performs linear convolution: y[n] = Σ l=0 Lh−1 h[l] x[n-l] But because: CP absorbs the “spillover” Receiver discards CP before DFT The useful part of the received symbol becomes: y[n] = Σ l=0 Lh−1 h[l] x[(n-l) mod N] Modulo inde...

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...

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); [...

Constellation Diagrams of ASK, PSK, and FSK (with MATLAB Code + Simulator)

Constellation Diagrams: ASK, FSK, and PSK Comprehensive guide to signal space representation, including interactive simulators and MATLAB implementations. 📘 Overview 🧮 Simulator ⚖️ Theory 📈 Q-function 📚 Resources BASK Modulation Transmits one of two signals: 0 or $\sqrt{E_b}$, representing binary 0 and 1. Simple but sensitive to noise. BFSK Modulation Transmits one of two signals: $\sqrt{E_b}$ on the Y-axis or $\sqrt{E_b}$ on the X-axis. These are orthogonal signals. BPSK Modulation Transmits $+\sqrt{E_b}$ or $-\sqrt{E_b}$ (antipodal signaling). Most efficient binary scheme. ...