Skip to main content

Spatial Modulation (SM) and Space Shift Keying (SSK) in MIMO


MIMO (Multiple-Input Multiple-Output) systems use multiple antennas at the transmitter and receiver to improve communication performance in wireless systems.

1. Space Shift Keying (SSK)

SSK is a special case of spatial modulation where only the antenna index carries the information. No modulation symbol (like QAM or PSK) is used.

How it works:

  • Only one transmit antenna is active at a time.
  • The active antenna index represents the information bits.
  • All other antennas remain silent.

Achievable Rate:

For nt transmit antennas, the rate is:

log2(nt) bits per channel use (bpcu)

Example:

For nt = 4, we can encode log₂(4) = 2 bits:

Input Bits SSK Vector Active Antenna
00 [1, 0, 0, 0]T Antenna 1
01 [0, 1, 0, 0]T Antenna 2
10 [0, 0, 1, 0]T Antenna 3
11 [0, 0, 0, 1]T Antenna 4

SSK Detection Rule:

The received signal: y = Hxj = hj

ML Detection:

ĵ = argminj ||y - hj||²

2. Spatial Modulation (SM)

Spatial Modulation extends SSK by using both:

  • Antenna index (spatial position)
  • Modulated symbol (e.g., BPSK, QPSK)

How it works:

  • Only one antenna is active per symbol period.
  • The antenna index transmits log₂(nt) bits.
  • The symbol transmits m = log₂(M) bits, where M is the modulation order.

Achievable Rate:

Total bits per channel use:

m + log₂(nt) bpcu

Example:

With nt = 4 and QPSK (M = 4, so m = 2):

Input Bits SM Vector Active Antenna Tx Symbol
00 + QPSK [x, 0, 0, 0]T Antenna 1 x ∈ AM
01 + QPSK [0, x, 0, 0]T Antenna 2 x ∈ AM
10 + QPSK [0, 0, x, 0]T Antenna 3 x ∈ AM
11 + QPSK [0, 0, 0, x]T Antenna 4 x ∈ AM

3. SSK vs SM – Comparison

Feature SSK SM
Modulation Used None (only antenna index) Standard (e.g., QPSK, QAM)
Bits per Channel Use log₂(nt) m + log₂(nt)
Complexity Lower Higher
Spectral Efficiency Lower Higher
Energy Efficiency High (one antenna ON) Moderate

4. Example Walkthrough

  • Number of transmit antennas: nt = 4
  • Modulation scheme: QPSK
  • Modulation order: M = 4m = log₂(4) = 2 bits/symbol

Part 1: Space Shift Keying (SSK)

Step 1: Bits per Channel Use

log₂(nt) = log₂(4) = 2 bits per channel use

Step 2: Bit Mapping

Input Bits Active Antenna Transmit Vector
00 Antenna 1 [1, 0, 0, 0]T
01 Antenna 2 [0, 1, 0, 0]T
10 Antenna 3 [0, 0, 1, 0]T
11 Antenna 4 [0, 0, 0, 1]T

Step 3: Transmission Example

Input bits: 10 → Activate Antenna 3

Transmit vector: [0, 0, 1, 0]T

Part 2: Spatial Modulation (SM)

Step 1: Total Bits per Channel Use

log₂(nt) + m = 2 + 2 = 4 bits per channel use

Step 2: Bit Mapping Example

Input bits: 1101

  • First 2 bits: 11 → Antenna 4
  • Next 2 bits: 01 → QPSK symbol = -1 + j

QPSK Symbol Mapping

Bits QPSK Symbol
00 +1 + j
01 -1 + j
11 -1 - j
10 +1 - j

Step 3: Transmit Vector

Only Antenna 4 is active and sends -1 + j:

[0, 0, 0, -1 + j]T

Summary Table (SM Example)

Input Bits Antenna (log₂(nt)) Symbol (log₂(M)) Transmit Vector
1101 11 → Ant 4 01 → -1 + j [0, 0, 0, -1 + j]T
0010 00 → Ant 1 10 → +1 - j [+1 - j, 0, 0, 0]T
1000 10 → Ant 3 00 → +1 + j [0, 0, +1 + j, 0]T

Another Example: Bit Stream 1010 in Spatial Modulation (SM) and SSK

Spatial Modulation (SM)

Input Bit Stream:

1010

Step 1: Antenna Index (First 2 bits)

10 → Decimal 2 → Activate Antenna 3

Bits Antenna
00Antenna 1
01Antenna 2
10Antenna 3 ✅
11Antenna 4

Step 2: QPSK Symbol (Last 2 bits)

10QPSK Symbol: +1 - j

Bits QPSK Symbol
00+1 + j
01-1 + j
10+1 - j ✅
11-1 - j

Step 3: Transmit Vector

Only Antenna 3 is active and transmits +1 - j:

x = [0, 0, +1 - j, 0]T

SSK Case (Same Bit Stream)

SSK uses only the antenna index. So we only take the first 2 bits: 10

10 → Activate Antenna 3

No symbol is transmitted — only antenna index matters.

x = [0, 0, 1, 0]T

Final Summary

System Bits Used Active Antenna Symbol Sent Transmit Vector
Spatial Modulation (SM) 1010 → 10 (antenna) + 10 (symbol) Antenna 3 +1 - j [0, 0, +1 - j, 0]T
SSK 10 → antenna only Antenna 3 None [0, 0, 1, 0]T

Further Reading


People are good at skipping over material they already know!

View Related Topics to







Contact Us

Name

Email *

Message *

Popular Posts

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

Bit Error Rate (BER) & SNR Guide Analyze communication system performance with our interactive simulators and MATLAB tools. 📘 Theory 🧮 Simulators 💻 MATLAB Code 📚 Resources BER Definition SNR Formula BER Calculator MATLAB Comparison 📂 Explore M-ary QAM, PSK, and QPSK Topics ▼ 🧮 Constellation Simulator: M-ary QAM 🧮 Constellation Simulator: M-ary PSK 🧮 BER calculation for ASK, FSK, and PSK 🧮 Approaches to BER vs SNR What is Bit Error Rate (BER)? The BER indicates how many corrupted bits are received compared to the total number of bits sent. It is the primary figure of merit for a...

Power Spectral Density Calculation Using FFT in MATLAB

📘 Overview 🧮 Steps to calculate the PSD of a signal 🧮 MATLAB Codes 📚 Further Reading Power spectral density (PSD) tells us how the power of a signal is distributed across different frequency components, whereas Fourier Magnitude gives you the amplitude (or strength) of each frequency component in the signal. Steps to calculate the PSD of a signal Firstly, calculate the fast Fourier transform (FFT) of a signal. Then, calculate the Fourier magnitude (absolute value) of the signal. Square the Fourier magnitude to get the power spectrum. To calculate the Power Spectral Density (PSD), divide the squared magnitude by the product of the sampling frequency (fs) and the total number of samples (N). Formula: PSD = |FFT|^2 / (fs * N) Sampling frequency (fs): The rate at which the continuous-time signal is sampled (in ...

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 📚 Resources Definitions Constellation Tool Key Points MATLAB Code 📂 Other Topics: M-ary PSK & QAM Diagrams ▼ 🧮 Simulator for M-ary PSK Constellation 🧮 Simulator for M-ary QAM Constellation 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 ...

UGC NET Electronic Science Previous Year Question Papers

Home / Engineering & Other Exams / UGC NET 2022 PYQ 📥 Download UGC NET Electronics PDFs Complete collection of previous year question papers, answer keys and explanations for Subject Code 88. Start Downloading UGC-NET (Electronics Science, Subject code: 88) Subject_Code : 88; Department : Electronic Science; 📂 View All Question Papers UGC Net Electronic Science Question Paper With Answer Key Download Pdf [June 2025] with full explanation UGC Net Electronic Science Question Paper With Answer Key Download Pdf [December 2024] UGC Net Paper 1 With Answer Key Download Pdf [Sep 2024] with full explanation UGC Net Electronic Science Question Paper With Answer Key Download Pdf [Aug 2024] with full explanation UGC Net Paper 1 With Answer Key Download...

MATLAB code for BER vs SNR for M-QAM, M-PSK, QPSk, BPSK, ...(with Online Simulator)

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

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

ASK, FSK, and PSK (with MATLAB + Online Simulator)

📘 ASK Theory 📘 FSK Theory 📘 PSK Theory 📊 Comparison 🧮 MATLAB Codes 🎮 Simulator ASK or OFF ON Keying ASK is a simple (less complex) Digital Modulation Scheme where we vary the modulation signal's amplitude or voltage by the message signal's amplitude or voltage. We select two levels (two different voltage levels) for transmitting modulated message signals. Example: "+5 Volt" (upper level) and "0 Volt" (lower level). To transmit binary bit "1", the transmitter sends "+5 Volts", and for bit "0", it sends no power. The receiver uses filters to detect whether a binary "1" or "0" was transmitted. Fig 1: Output of ASK, FSK, and PSK modulation using MATLAB for a data stream "1 1 0 0 1 0 1 0" ( Get MATLAB Code ) ...