First space-time block code for 2 transmit antennas. Achieves full transmit diversity with simple linear decoding. Used in 3G, 4G LTE, WiFi 802.11n. Orthogonal design: [s1 s2; -s2* s1*]. Rate 1, no bandwidth expansion. Maximum likelihood decoding with simple combining.
| Property | Value |
|---|---|
| Category | Error Correction |
| Sub-category | Space-Time Code |
| Security status | π Educational Only |
| Complexity | Intermediate |
| Inventor | Siavash Alamouti |
| Year | 1998 |
| Origin | πΊπΈ United States |
| Source | algorithms/ecc/alamouti-code.js |
Status: π Educational Only
| Issue | Description | Mitigation |
|---|---|---|
| Requires 2 Transmit Antennas | Alamouti code is specifically designed for 2 transmit antennas. Extensions to more antennas require different STBC designs. | β |
| Channel Estimation Accuracy | Performance depends critically on accurate channel state information at the receiver. Channel estimation errors degrade diversity gain. | β |
| Frequency-Selective Fading | Original design assumes flat fading. OFDM is typically used to convert frequency-selective channels to multiple flat-fading subcarriers. | β |
8 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 β Alamouti encoding: [1, 0] -> [1, 0; 0, 1]
| Field | Value |
|---|---|
input |
00010000 |
expected |
0001000000000001 |
Vector 2 β Alamouti encoding: [0, 1] -> [0, 1; -1, 0]
| Field | Value |
|---|---|
input |
00000001 |
expected |
00000001ffff0000 |
Vector 3 β Alamouti encoding: [1, 1] -> [1, 1; -1, 1]
| Field | Value |
|---|---|
input |
00010001 |
expected |
00010001ffff0001 |
Vector 4 β Alamouti encoding: [-1, 1] -> [-1, 1; -1, -1]
| Field | Value |
|---|---|
input |
ffff0001 |
expected |
ffff0001ffffffff |
Vector 5 β Alamouti encoding: [2, -2] -> [2, -2; 2, 2]
| Field | Value |
|---|---|
input |
0002fffe |
expected |
0002fffe00020002 |
Vector 6 β Alamouti encoding: [0, 0] -> [0, 0; 0, 0]
| Field | Value |
|---|---|
input |
00000000 |
expected |
0000000000000000 |
Vector 7 β IEEE 802.11n pattern: [3, 4]
| Field | Value |
|---|---|
input |
00030004 |
expected |
00030004fffc0003 |
Vector 8 β 3GPP LTE pattern: [-2, 3]
| Field | Value |
|---|---|
input |
fffe0003 |
expected |
fffe0003fffdfffe |