Skip to main content

Posts

Showing posts with the label MIMO - Multiple Input Multiple Output

V-BLAST SIC (MIMO) Online Simulator

V-BLAST SIC MIMO Receiver Successive Interference Cancellation: Decode, Subtract, Repeat. Channel Quality (SNR: 20 dB) Inter-Antenna Interference (Crosstalk: 0.4 ) Stream 1 (Tx 1 ) - Click to toggle bits Stream 2 (Tx 2 ) - Click to toggle bits x₁(t) = sin(ωt + φ₁) y(t) = h₁₁x₁ + h₁₂x₂ + n x₂(t) = y(t) - h₁₁x₁ ⚠️ ERROR PROPAGATION DETECTED How to interact: Change the bits by clicking the buttons. Increase Crosstalk to see how the middle "Mixed" signal becomes garbled. Lower the SNR to see how noise destroys the subtraction process. If Stage 1 (Blue) fails, Stage 2 (Yellow) becomes impossible to recover—this is the "Error Propagation" effect.

4×4 MIMO in LTE (Signal Processing Perspective)

4x4 MIMO in LTE 4×4 MIMO in LTE (Signal Processing Perspective) This explains how a 4×4 MIMO system works in LTE, extending the 2×2 case to a more realistic scenario. 1. System Setup 4 transmitted signals (streams/users) 4 receive antennas at base station 2. Signal Model y = Hx + n x = [ x1 x2 x3 x4 ] y = [ y1 y2 y3 y4 ] 3. Channel Matrix H = [ h11 h12 h13 h14 h21 h22 h23 h24 h31 h32 h33 h34 h41 h42 h43 h44 ] Each receive antenna gets a mixture of all transmitted signals. 4. Received Signal Expansion y1 = h11x1 + h12x2 + h13x3 + h14x4 y2 = h21x1 + h22x2 + h23x3 + h24x4 y3 = h31x1 + h32x2 + h33x3 + h34x4 y4 = h41x1 + h42x2 + h43x3 + h44x4 All received signals are mixtures — no antenna gets a clean signal. 5. Detection Techniques (A) Zero Forcing (ZF) x̂ = H⁻¹ y Removes interference Sensitive to noise (B) MMSE (Used in LTE) x̂ = (HᴴH + N₀...

MATLAB 2D/3D Beamforming Simulation with Cross-Spectrum Analysis for Antenna Arrays

  MATLAB Code %% 2D Conceptual + Electronically Steered Beamforming clc; clear; close all ; %% PARAMETERS Fs = 1000; % Sampling frequency [Hz] T = 1/Fs; % Sampling period t = 0:T:1-T; % 1-second time vector f_sig = 50; % Signal frequency [Hz] %% SIMULATE ANTENNA SIGNALS p = sin(2*pi*f_sig*t); % Reference signal (antenna p) vx = 0.8*sin(2*pi*f_sig*t + pi/6); % vx antenna vy = 0.6*sin(2*pi*f_sig*t + pi/4); % vy antenna %% NORMALIZE SIGNALS pnor = p / max(abs(p)); vxnor = vx / max(abs(vx)); vynor = vy / max(abs(vy)); %% PASSIVE ROTATION (Conceptual Beamforming) I1 = real(fft(pnor) .* conj(fft(vxnor))); I2 = real(fft(pnor) .* conj(fft(vynor))); theta = 360 * atan(sum(I2)/sum(I1)) / (2*pi); % degrees vc = vxnor * cosd(theta) + vynor * sind(theta); resultant_passive = pnor + 2*vc; %% ELECTRONICALLY STEERED BEAM theta_steer = 60; % Desired steering angle in degrees lambda = 1; % Normalized wavelength d = 0.5*lambda; ...

Compact MIMO Antennas for WLAN

Compact MIMO Antennas for WLAN Devices Wireless devices require compact antennas while maintaining strong performance. MIMO antenna systems must be carefully designed to fit within small devices such as routers and mobile hardware. Challenges Limited physical space Mutual coupling between antennas Reduced radiation efficiency Design Considerations Proper antenna spacing Diversity techniques Efficient substrate materials Typical Substrate FR-4 substrate parameters: Relative permittivity ε r ≈ 4.4 Loss tangent tanδ ≈ 0.02 Thickness ≈ 1.6 mm Applications Compact MIMO antennas are widely used in WLAN routers, IoT devices, and wireless access points.

Why Antenna Isolation Matters in MIMO Systems

Why Antenna Isolation Matters in MIMO Systems Isolation refers to how well antenna elements are electrically separated from each other. Mutual Coupling When antennas are placed close together, their electromagnetic fields interact. S-Parameter Representation Isolation is usually measured using S-parameters: S 21 If S 21 is below −15 dB, the antennas are considered reasonably isolated. Improvement Techniques Neutralization lines Parasitic elements Orthogonal polarization Pattern diversity

MIMO Antenna Performance Metrics

MIMO Antenna Performance Metrics Several parameters are used to evaluate MIMO antenna systems. Envelope Correlation Coefficient ECC measures correlation between antenna signals. ECC formula using radiation patterns: ρ = |∬ F 1 (θ,φ) · F 2 (θ,φ) dΩ|² For good MIMO performance: ECC < 0.05 Channel Capacity Loss CCL represents reduction in data capacity. C loss = −log 2 |Ψ| Total Active Reflection Coefficient TARC represents combined reflection of all antenna ports.

Massive MIMO Channel Model For mmWave

Massive MIMO Channel Model For mmWave 5.1. Introduction A fundamental feature of mm wave propagation is high free-space pathloss, which introduces small amount of spatial selectivity or scattering of propagated signal paths. Large, densely packed antenna arrays, on the other hand, provide high-level antenna correlation. The widely used extended Saleh Valenzuela model (clustered channel model), that helps us to capture features accurately across Mm Wave channels. Fig 5.1: Saleh Valenzuela Channel Model distinguishing the cluster arrivals from the ray arrivals 5.2. Saleh Valenzuala Channel Model Here in figure 5.1, it is shown Saleh Valenzuela model is basically based on amplitude and time delays of clusters and it is due to multi-paths between Tx & Rx. In figure the k th multi-path is forming many clusters like, cluster 0, cluster 1, etc., and each cluster contains rays. Clusters are reaching at receiver at an average decay rate and similarly, rays or MPCs in each clusters ...

Cell-Free Massive MIMO for 6G

Cell-Free Massive MIMO for 6G That’s the core idea of cell-free massive MIMO : You have lots of antennas distributed over an area (like a city). They are all connected to a central processing unit . When a user is active, multiple antennas transmit/receive signals to/from that user simultaneously . This coherent combination boosts the signal strength at the user and reduces interference from other users. So, unlike traditional cellular or Wi-Fi, the user is not tied to a single antenna or access point — instead, the network acts like one giant distributed antenna serving all users together . 1. Traditional Massive MIMO MIMO = Multiple Input, Multiple Output. In massive MIMO , a base station has lots of antennas to serve many users at once. Problem: Each cell has its own base station. Users at the...

Degrees of Freedom in MIMO

Degrees of Freedom in MIMO Systems In MIMO (Multiple-Input Multiple-Output) wireless systems, the degrees of freedom (DoF) refer to the maximum number of independent data streams that can be transmitted simultaneously over the channel without interfering with each other. Basic Formula For a point-to-point MIMO system with: N t transmit antennas N r receive antennas DoF = min( N t , N r ) Meaning This number represents the maximum number of parallel data streams the channel can support. 4×2 MIMO → DoF = 2 8×8 MIMO → DoF = 8 2×1 MISO → DoF = 1 Why is this the DoF? Each independent stream needs: a unique transmit spatial direction, and a unique receive spatial dimension So the limiting factor is the side with fewer antennas. DoF & Rank of MIMO Channel Matrix If the channel matrix H has rank r , then: DoF = rank(H) ≤ min(N t , N r ) In rich-scattering envir...

SISO & MIMO Channel Capacity

SISO Channel Capacity The capacity of a SISO (Single Input Single Output) channel represents the maximum achievable data rate that can be transmitted reliably over an AWGN channel. Shannon Capacity Formula C = B log 2 (1 + SNR) C = channel capacity (bits/s) B = bandwidth (Hz) SNR = signal-to-noise ratio (linear scale) Capacity per Unit Bandwidth C = log 2 (1 + SNR)   bits/s/Hz Important Notes SNR must be converted from dB to linear: SNR linear = 10^(SNR dB /10) Capacity increases logarithmically with SNR High SNR approximation: C ≈ B log 2 (SNR) Low SNR approximation: C ≈ (B / ln(2)) × SNR log2​(1+SNR) ≈  SNR​ / ln(2) for SNR≪1  Example Calculation Given: B = 1 MHz SNR = 10 dB → 10 (linear) Then: C = 10⁶ × log 2 (1 + 10) ≈ 3.46 Mbps MIMO Channel Capacity (Telatar Formula) For an \(M \times N\) MIMO system with channel matrix \(H\) and total transmit power, the Telatar capacity is...

mmWave Adaptive Channel Estimation

Algorithm Description The proposed adaptive beam-training procedure enables the Base Station (BS) and Mobile Station (MS) to jointly identify the optimal transmit–receive beam pair from predefined codebooks. The algorithm operates over multiple stages, where each stage progressively narrows the search space. This hierarchical refinement significantly reduces training overhead compared to exhaustive beam scanning. 1. Initialization Both BS and MS are assumed to know the total number of angular directions N , the hierarchical resolution parameter K , and the codebooks F (for BS beams) and W (for MS beams). The initial codebook subset indices are: k 1 BS = 1,    k 1 MS = 1. The total number of adaptive stages is: S = log K (N) ensuring that the search space is reduced by a factor of K in each stage. 2. Stage-wise Beam Training For each stage s = 1,…,S , both BS and MS test K beam candidates. 2.1 BS Transmission ...

Non-Orthogonal Multiple Access (NOMA)

NOMA Downlink System Model For orthogonal multiple access (e.g., OFDMA), each orthogonal resource block is allocated to a single user. If a user’s channel condition is poor, the entire subcarrier bandwidth may be assigned to that user, which is inefficient. Non-Orthogonal Multiple Access (NOMA) addresses this by allocating more transmit power to users with weaker channels and less power to users with stronger channels. This ensures efficient spectrum usage and fairness. The transmit SNR is defined as: $$ \rho_s = \frac{P_s}{\sigma^2}, $$ where $P_s$ is the signal power and $\sigma^2 = 1$ is the noise power (assuming unit-variance Gaussian noise). Transmit Signal In downlink NOMA, the base station transmits: $$ x_s = \sqrt{a_1 \rho_s}\, x_1 + \sqrt{a_2 \rho_s}\, x_2 $$ $x_1, x_2$: unit-power transmitted symbols $\rho_s$: total transmit SNR $a_1 + a_2 = 1$ (power allocation) Typically $a_2 > a_1$ (weak user receives more power) Rece...

mmWave Precoder using MATLAB

  MATLAB Code close all; clear; rng('shuffle'); clc; % Simulation parameters t = 32; % Number of Tx/Rx Antennas r = 32; % Number of Tx/Rx Antennas numRF = 6; % Number of RF Chains G = 64; % Grid Size L = 8; % Grid Size Ns = 6; % Sparsity level ITER = 100; % Number of iterations % Initializations H = zeros(r,t); % Channel matrix SNRdB = -5:1.5:15; % SNR in dB C_HYB = zeros(length(SNRdB), 1); % Capacity of Hybrid MIMO C_MIMO = zeros(length(SNRdB), 1); % Capacity of Conventional MIMO A_T = zeros(t, G); % Transmit response matrix A_R = zeros(r, G); % Receive response matrix % Generate transmit array response matrix for l = 1:G dirCos = 2/G*(l-1) - 1; % Direction cosine for each grid point for K = 1:t A_T(K, l) = 1/sqrt(t) * exp(-j*pi*(K-1)*dirCos); end end % Assume A_R = A_T for simplicity A_R = A_T; % Main simulation loop for iter1 = 1:ITER % ===== Channel Generation ===== A_T_genie = zeros(t, L); A_R_genie = zeros(r, L); % Generate AoD/AoA uniformly in grid AoDlist = ran...

Orthogonal Matching Pursuit (OMP) in MATLAB

  MATLAB Code clc; clear; close all; % Given measurement matrix Q (4x6) Q = [1 0 1 0 0 1; 0 1 1 1 0 0; 1 0 1 0 1 0; 0 1 0 1 1 1]; % Given measurement vector y (4x1) y = [0; 2; 3; 5]; % Sparsity level (number of nonzero entries to find) L = 2; % you can adjust this based on expected sparsity % --- OMP Algorithm --- r = y; % Initial residual support = []; % Index set x_hat = zeros(size(Q, 2), 1); % Sparse solution initialization for l = 1:L % Step 1: Find column most correlated with residual proj = abs(Q' * r); [~, idx] = max(proj); support = unique([support, idx]); % Step 2: Solve LS for chosen support Qs = Q(:, support); x_s = pinv(Qs) * y; % Step 3: Update residual r = y - Qs * x_s; % Optional stopping condition if norm(r) < 1e-6 break; end end % Step 4: Construct full sparse vector x_hat(support) = x_s; % Display results disp('Selected atom indices (support):'); disp(support); disp('Recovered sparse signal x_hat:'); disp(x_hat); disp('Res...

mmWave Channel Estimation using MATLAB

  MATLAB Code clc; close all; clear all; rng('shuffle'); % Simulation parameters t = 32;              % Number of Tx antennas r = 32;              % Number of Rx antennas numRF = 8;           % Number of RF Chains N_Beam = 24;         % Number of Pilot Symbols G = 32;              % Grid Size ITER = 10;           % Number of iterations L = 5;               % Sparsity level % Initializations omp_thrld = 1; kp = zeros(t * r, L); SNRdB = 10:10:50; mseOMP = zeros(length(SNRdB), 1); mseGenie = zeros(length(SNRdB), 1); % G-quantized Tx/Rx array response matrices A_T = zeros(t, G); A_R = zeros(r, G); % ------------------------------ % Generate Array Response Matrices % ------------------------------ for l = 1:G     dirCos = 2/G * (l - 1) - 1; ...

Analog, Digital and Hybrid Precoding (Beamforming)

This document explains the structure and equations of hybrid analog–digital MIMO systems, emphasizing how digital beamforming works alongside analog beamforming for mmWave systems. 1. Complete Hybrid MIMO Signal Model In a hybrid MIMO transmitter, processing is split into two stages: Digital (baseband) precoder: \( \mathbf{F}_{\text{BB}} \) Analog (RF) precoder: \( \mathbf{F}_{\text{RF}} \) The transmitted signal is: \( \mathbf{x} = \mathbf{F}_{\text{RF}} \mathbf{F}_{\text{BB}} \mathbf{s} \) Subject to the power constraint: \( \| \mathbf{F}_{\text{RF}} \mathbf{F}_{\text{BB}} \|_F^2 = N_s \) At the receiver, the signal is: \( \mathbf{y} = \mathbf{H} \mathbf{x} + \mathbf{n} = \mathbf{H} \mathbf{F}_{\text{RF}} \mathbf{F}_{\text{BB}} \mathbf{s} + \mathbf{n} \) After analog and digital combining: \( \mathbf{r} = \mathbf{W}_{\text{BB}}^H \mathbf{W}_{\text{RF}}^H \mathbf{H} \mathbf{F}_{\text{RF}} \mathbf{F}_{\text{BB}} \mathbf{s} + \mathb...

Orthogonal Matching Pursuit (OMP) in Compressive Sensing

Orthogonal Matching Pursuit (OMP) in Compressive Sensing 1. Introduction Compressive Sensing (CS) aims to recover a sparse signal from a small number of measurements. In many systems, the measurement process can be expressed as: y = Q h b + n where: y : Measurement vector (observed data) Q : Known sensing matrix or dictionary h b : Sparse vector (unknown signal to estimate) n : Noise Orthogonal Matching Pursuit (OMP) is a greedy algorithm that reconstructs h b by iteratively selecting the columns of Q that best match the measurements y . 2. OMP Algorithm Overview The OMP process proceeds as follows: Initialization: Set residual r (0) = y and selected index set S = ∅ . Correlation: Compute correlations of all columns with the current residual: c i = q i T r (k) Select: Choose the column with the maximum absolute correlation: i(k+1) = argmax |c i | Update Support: Add the selected index to the set S . L...

mmWave MIMO Channel Estimation

This tutorial walks through the derivation of the Equivalent Sensing Matrix and how the mmWave MIMO channel estimation problem can be expressed as a compressed sensing model. A numerical example is included for clarity. The mmWave MIMO System Model In a hybrid beamforming setup, the received signal is: \[ \mathbf{y} = \sqrt{P}\, \mathbf{W}^H \mathbf{H} \mathbf{F} \mathbf{s} + \tilde{\mathbf{n}} \] Where: Symbol Meaning \( P \) Transmit power \( \mathbf{W} = \mathbf{W}_{RF}\mathbf{W}_{BB} \) Receiver hybrid combiner \( \mathbf{F} = \mathbf{F}_{RF}\mathbf{F}_{BB} \) Transmitter hybrid precoder \( \mathbf{s} \) Training / pilot vector \( \tilde{\mathbf{n}} \) Noise vector \( \mathbf{H} \) mmWave channel matrix Sparse Channel Representation The physical mmWave channel can be expressed using array response matrices: \[ \mathbf{H} = \mathbf{A}_R \mathbf{H}_b \mathbf{A}_T^* \] Where: \( \mathbf{A}_R \): receive array response matrix \( \math...


Contact Us

Name

Email *

Message *