Skip to main content

Why is SVD useful in multi-antenna communication? | Channel Matrix, U, S, V


 

svd based transmission

These days, multi-antenna transmission and reception systems are practically universal. MIMO is one of the popular types of multi-antenna systems. By enabling numerous orthogonal data streams between the transmitter and receiver (or receivers) , such antennas have the primary advantage of increasing spectral efficiency. 

A matrix can be transformed linearly with the aid of SVD. We are aware that when determining an eigenvalue, the formula Av - λv = 0, is used, where v is an eigenvector with a corresponding eigenvalue of. For calculating SVD of a matrix A, firstly we compute A*AT ,then we compute A*AT - Î»v = 0To minimize the linear operations in a matrix, eigen vectors are used to simplify the matrix equations.

However, eigenvectors need not always be linearly independent (or orthogonal). However, orthogonal data streams are necessary to boost overall throughput and decrease interference between them in order to permit multiple data streams between multi-antenna communication.

In singular value decomposition, you'll get three matrices, U, S, and V. Where U and V are orthonormal eigenvectors of  A*AT    

and S is a diagonal matrix. U*U= V*VT = I (identity matrix).

The SVD of matrix A is given by the formula:

A = USVT

Keep in mind that the singular values for matrix A will be the squareroots of the obtained eigen values as we compute the eigen values of A*AT.

The aforementioned equations make it evident that the entire received signal will appear as follows if we employ precoding matrix V at the transmitter side and post-precoding matrix UT at the receiver side.

y = U(USVT) Vx = Sx

 Where, S is a diagonal matrix, y is the signal being received, and x is the signal being sent. The multiple data streams between the transmitter and receivers are currently independent and interference-free (theoretically).

 

MATLAB Code for Singular Value Decomposition

clc;
clear;
close all;

% Define the matrix A
A = [1 2; 3 4];

% Compute the Singular Value Decomposition
[U, S, V] = svd(A);

% Display the results
disp('Matrix A:');
disp(A);

disp('Matrix U:');
disp(U);

disp('Matrix S:');
disp(S);

disp('Matrix V:');
disp(V);

% Verify the decomposition
A_reconstructed = U * S * V';
disp('Reconstructed Matrix A:');
disp(A_reconstructed);

% Compute A^T A
ATA = A' * A;
disp('Matrix A^T A:');
disp(ATA);

% Compute eigenvalues and eigenvectors of A^T A
[eigV, eigD] = eig(ATA);
disp('Eigenvalues of A^T A:');
disp(diag(eigD));
disp('Eigenvectors of A^T A:');
disp(eigV);

% Compute A A^T
AAT = A * A';
disp('Matrix A A^T:');
disp(AAT);

% Compute eigenvalues and eigenvectors of A A^T
[eigU, eigD2] = eig(AAT);
disp('Eigenvalues of A A^T:');
disp(diag(eigD2));
disp('Eigenvectors of A A^T:');
disp(eigU);

Output

Matrix A:
     1     2
     3     4

Matrix U:
   -0.4046   -0.9145
   -0.9145    0.4046

Matrix S:
    5.4650         0
         0    0.3660

Matrix V:
   -0.5760    0.8174
   -0.8174   -0.5760

Reconstructed Matrix A:
    1.0000    2.0000
    3.0000    4.0000

Matrix A^T A:
    10    14
    14    20

Eigenvalues of A^T A:
    0.1339
   29.8661

Eigenvectors of A^T A:
   -0.8174    0.5760
    0.5760    0.8174

Matrix A A^T:
     5    11
    11    25

Eigenvalues of A A^T:
    0.1339
   29.8661

Eigenvectors of A A^T:
   -0.9145    0.4046
    0.4046    0.9145

 

Copy the code from here

 
<<Previous Page

People are good at skipping over material they already know!

View Related Topics to







Contact Us

Name

Email *

Message *

Popular Posts

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

📘 Overview of Energy per Bit (Eb / N0) 🧮 Online Simulator for constellation diagrams of ASK, FSK, and PSK 🧮 Theory behind Constellation Diagrams of ASK, FSK, and PSK 🧮 MATLAB Codes for Constellation Diagrams of ASK, FSK, and PSK 📚 Further Reading 📂 Other Topics on Constellation Diagrams of ASK, PSK, and FSK ... 🧮 Simulator for constellation diagrams of m-ary PSK 🧮 Simulator for constellation diagrams of m-ary QAM BASK (Binary ASK) Modulation: Transmits one of two signals: 0 or -√Eb, where Eb​ is the energy per bit. These signals represent binary 0 and 1.    BFSK (Binary FSK) Modulation: Transmits one of two signals: +√Eb​ ( On the y-axis, the phase shift of 90 degrees with respect to the x-axis, which is also termed phase offset ) or √Eb (on x-axis), where Eb​ is the energy per bit. These signals represent binary 0 and 1.  BPSK (Binary PSK) Modulation: Transmits one of two signals...

Fading : Slow & Fast and Large & Small Scale Fading (with MATLAB Code + Simulator)

📘 Overview 📘 LARGE SCALE FADING 📘 SMALL SCALE FADING 📘 SLOW FADING 📘 FAST FADING 🧮 MATLAB Codes 📚 Further Reading LARGE SCALE FADING The term 'Large scale fading' is used to describe variations in received signal power over a long distance, usually just considering shadowing.  Assume that a transmitter (say, a cell tower) and a receiver  (say, your smartphone) are in constant communication. Take into account the fact that you are in a moving vehicle. An obstacle, such as a tall building, comes between your cell tower and your vehicle's line of sight (LOS) path. Then you'll notice a decline in the power of your received signal on the spectrogram. Large-scale fading is the term for this type of phenomenon. SMALL SCALE FADING  Small scale fading is a term that describes rapid fluctuations in the received signal power on a small time scale. This includes multipath propagation effects as well as movement-induced Doppler fr...

Online Simulator for ASK, FSK, and PSK

Try our new Digital Signal Processing Simulator!   Start Simulator for binary ASK Modulation Message Bits (e.g. 1,0,1,0) Carrier Frequency (Hz) Sampling Frequency (Hz) Run Simulation Simulator for binary FSK Modulation Input Bits (e.g. 1,0,1,0) Freq for '1' (Hz) Freq for '0' (Hz) Sampling Rate (Hz) Visualize FSK Signal Simulator for BPSK Modulation ...

Theoretical BER vs SNR for binary ASK, FSK, and PSK with MATLAB Code + Simulator

📘 Overview & Theory 🧮 MATLAB Codes 📚 Further Reading Theoretical BER vs SNR for Amplitude Shift Keying (ASK) The theoretical Bit Error Rate (BER) for binary ASK depends on how binary bits are mapped to signal amplitudes. For typical cases: If bits are mapped to 1 and -1, the BER is: BER = Q(√(2 × SNR)) If bits are mapped to 0 and 1, the BER becomes: BER = Q(√(SNR / 2)) Where: Q(x) is the Q-function: Q(x) = 0.5 × erfc(x / √2) SNR : Signal-to-Noise Ratio N₀ : Noise Power Spectral Density Understanding the Q-Function and BER for ASK Bit '0' transmits noise only Bit '1' transmits signal (1 + noise) Receiver decision threshold is 0.5 BER is given by: P b = Q(0.5 / σ) , where σ = √(N₀ / 2) Using SNR = (0.5)² / N₀, we get: BER = Q(√(SNR / 2)) Theoretical BER vs ...

DFTs-OFDM vs OFDM: Why DFT-Spread OFDM Reduces PAPR Effectively (with MATLAB Code)

DFT-spread OFDM (DFTs-OFDM) has lower Peak-to-Average Power Ratio (PAPR) because it "spreads" the data in the frequency domain before applying IFFT, making the time-domain signal behave more like a single-carrier signal rather than a multi-carrier one like OFDM. Deeper Explanation: Aspect OFDM DFTs-OFDM Signal Type Multi-carrier Single-carrier-like Process IFFT of QAM directly QAM → DFT → IFFT PAPR Level High (due to many carriers adding up constructively) Low (less fluctuation in amplitude) Why PAPR is High Subcarriers can add in phase, causing spikes DFT "pre-spreads" data, smoothing it Used in Wi-Fi, LTE downlink LTE uplink (as SC-FDMA) In OFDM, all subcarriers can...

BER vs SNR for M-ary QAM, M-ary PSK, QPSK, BPSK, ...(MATLAB Code + Simulator)

📘 Overview of BER and SNR 🧮 Online Simulator for BER calculation of m-ary QAM and m-ary PSK 🧮 MATLAB Code for BER calculation of M-ary QAM, M-ary PSK, QPSK, BPSK, ... 📚 Further Reading 📂 View Other Topics on M-ary QAM, M-ary PSK, QPSK ... 🧮 Online Simulator for Constellation Diagram of m-ary QAM 🧮 Online Simulator for Constellation Diagram of m-ary PSK 🧮 MATLAB Code for BER calculation of ASK, FSK, and PSK 🧮 MATLAB Code for BER calculation of Alamouti Scheme 🧮 Different approaches to calculate BER vs SNR What is Bit Error Rate (BER)? The abbreviation BER stands for Bit Error Rate, which indicates how many corrupted bits are received (after the demodulation process) compared to the total number of bits sent in a communication process. BER = (number of bits received in error) / (total number of tran...

BER performance of QPSK with BPSK, 4-QAM, 16-QAM, 64-QAM, 256-QAM, etc (MATLAB + Simulator)

📘 Overview 📚 QPSK vs BPSK and QAM: A Comparison of Modulation Schemes in Wireless Communication 📚 Real-World Example 🧮 MATLAB Code 📚 Further Reading   QPSK provides twice the data rate compared to BPSK. However, the bit error rate (BER) is approximately the same as BPSK at low SNR values when gray coding is used. On the other hand, QPSK exhibits similar spectral efficiency to 4-QAM and 16-QAM under low SNR conditions. In very noisy channels, QPSK can sometimes achieve better spectral efficiency than 4-QAM or 16-QAM. In practical wireless communication scenarios, QPSK is commonly used along with QAM techniques, especially where adaptive modulation is applied. Modulation Bits/Symbol Points in Constellation Usage Notes BPSK 1 2 Very robust, used in weak signals QPSK 2 4 Balanced speed & reliability 4-QAM ...

Theoretical vs. simulated BER vs. SNR for ASK, FSK, and PSK (MATLAB Code + Simulator)

📘 Overview 🧮 Simulator for calculating BER 🧮 MATLAB Codes for calculating theoretical BER 🧮 MATLAB Codes for calculating simulated BER 📚 Further Reading BER vs. SNR denotes how many bits in error are received for a given signal-to-noise ratio, typically measured in dB. Common noise types in wireless systems: 1. Additive White Gaussian Noise (AWGN) 2. Rayleigh Fading AWGN adds random noise; Rayleigh fading attenuates the signal variably. A good SNR helps reduce these effects. Simulator for calculating BER vs SNR for binary ASK, FSK, and PSK Calculate BER for Binary ASK Modulation Enter SNR (dB): Calculate BER Calculate BER for Binary FSK Modulation Enter SNR (dB): Calculate BER Calculate BER for Binary PSK Modulation Enter SNR (dB): Calculate BER BER vs. SNR Curves MATLAB Code for Theoretical BER % The code is written by SalimWireless.Com clc; clear; close all; % SNR va...