Hawkynt

Space-Time Block Code

Orthogonal designs for multi-antenna wireless transmission achieving full diversity. Alamouti 2x1 code generalizes to N transmit antennas. Used in 3G/4G/WiFi (IEEE 802.11n/ac). Achieves maximum diversity gain without channel state information at transmitter. Linear decoding complexity with maximum likelihood performance.

Properties

Property Value
Category Error Correction
Sub-category MIMO Code
Security status πŸŽ“ Educational Only
Complexity Advanced
Inventor Vahid Tarokh, Hamid Jafarkhani, A. Robert Calderbank
Year 1998
Origin πŸ‡ΊπŸ‡Έ United States
Source algorithms/ecc/space-time-block-code.js

Security

Status: πŸŽ“ Educational Only

Known vulnerabilities

Issue Description Mitigation
Rate-Diversity Tradeoff Full-rate STBCs only exist for 2 transmit antennas (Alamouti). Higher antenna counts require rate < 1, reducing throughput for diversity gain. β€”
Complex Symbol Handling Orthogonal designs using complex conjugation require complex-valued symbols. Real-valued approximations reduce performance. Educational implementation uses real symbols. β€”
Channel Estimation Dependency Performance critically depends on accurate channel state information at receiver. Channel estimation errors degrade diversity benefits and can cause incorrect decoding. β€”
Frequency-Selective Channels Assumes flat fading per transmission block. Frequency-selective channels require OFDM or other techniques to create parallel flat-fading channels. β€”

Documentation

References

Test vectors

8 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.

Vector 1 β€” 2x2 Alamouti STBC: [1, 2] -> Orthogonal matrix

Field Value
config {"numTxAntennas":2}
input 0102
expected [1,2,-2,1]

Vector 2 β€” 2x2 Alamouti STBC: [3, -1] -> Orthogonal matrix

Field Value
config {"numTxAntennas":2}
input [3,-1]
expected [3,-1,1,3]

Vector 3 β€” 2x2 Alamouti STBC: [0, 0] -> Zero matrix

Field Value
config {"numTxAntennas":2}
input 0000
expected 00000000

Vector 4 β€” IEEE 802.11n STBC pattern: [5, 7]

Field Value
config {"numTxAntennas":2}
input 0507
expected [5,7,-7,5]

Vector 5 β€” 3GPP LTE STTD pattern: [-3, 4]

Field Value
config {"numTxAntennas":2}
input [-3,4]
expected [-3,4,-4,-3]

Vector 6 β€” Large symbols: [127, -128]

Field Value
config {"numTxAntennas":2}
input [127,-128]
expected [127,-128,128,127]

Vector 7 β€” Multiple symbol blocks: [1, 2, 3, 4]

Field Value
config {"numTxAntennas":2}
input 01020304
expected [1,2,-2,1,3,4,-4,3]

Vector 8 β€” Orthogonality test: [1, 1]

Field Value
config {"numTxAntennas":2}
input 0101
expected [1,1,-1,1]

← All algorithms