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.
| 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 |
Status: π Educational Only
| 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. | β |
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] |