An antipodal demodulator for non-coherent unitary space-time modulation in MIMO wireless communication, comprising an input buffer, a read-only memory module, a trace-calculating module, an extreme-value-calculating module, a register group, a maximum-calculating module, a comparing and selecting module, and an output buffer, wherein
- said input buffer is configured to receive and save a receiving signal matrix Y, and to output said receiving signal matrix Y to said trace-calculating module, said receiving signal matrix Y representing a T×N complex matrix, and yαγ representing a signal received by the γth receiving antenna at time α;
- said read-only memory module is configured to save all the constellation matrices of two sub-constellations
- C
- 1
- =
- {
- Φ
- l
- }
- l
- =
- 1
- L
- /
- 2
- and
- C
- _
- 1
- =
- {
- Φ
- _
- l
- }
- l
- =
- 1
- L
- /
- 2
- of an antipode-based unitary space-time constellation
- C
- =
- {
- Φ
- l
- }
- l
- =
- 1
- L
- ,
- where L represents the number of constellation points in said constellation, Φl and Φl represents two T×M complex matrices, T represents a coherent time interval, and Φαβ and Φαβ represents signals transmitted by the βth transmission antenna at said time α;
- said trace-calculating module is configured to receive L/2 constellation matrices in said sub-constellation
- C
- 1
- =
- {
- Φ
- l
- }
- l
- =
- 1
- L
- /
- 2
- from said read-only memory module, and said receiving signal matrix Y from said input buffer, calculating traces ψl=tr(YHΦlΦlHY) and σ=tr(YHY), and transmitting L/2 traces ψl of said matrix YHΦlΦlHY to said extreme-value-calculating module, and said trace σ of said matrix YHY to said maximum-calculating module, where 1≦l≦L/2, and tr(□) represents obtaining a trace of a matrix within the brackets;
- said extreme-value-calculating module is configured to compare said L/2 traces ψl of said matrix YHΦlΦlHY, and to save a maximum trace ψmax and a minimum trace ψmin thereof, an address i1 of a constellation matrix Φi corresponding to said maximum trace ψmax in said read-only memory module, and an address j1 of an antipode matrix Φj corresponding to said minimum trace ψmin and antipodal to a constellation matrix Φj in another sub-constellation
- C
- _
- 1
- =
- {
- Φ
- _
- l
- }
- l
- =
- 1
- L
- /
- 2
- in said read-only memory module into said register group, where 1≦l≦L/2;
- said maximum-calculating module is configured to receive said trace σ of said matrix YHY from said trace-calculating module, and said minimum trace ψmin from said register group, to calculate ψmax=σ−ψmin, and to save ψmax into said register group;
- said comparing and selecting module is configured to obtain ψmax and ψmax from said register group, to compare ψmax and ψmax, and to output a control signal contr operating to control said register group, and an address of a constellation matrix corresponding to a greater one of ψmax and ψmax in said read-only memory module to said read-only memory module;
- said register group is configured to save ψmax, ψmin, i1, and j1 from said extreme-value-calculating module, and ψmax from said maximum-calculating module, and to output an address of a constellation matrix corresponding to said greater one of ψmax and ψmax in said read-only memory module to said read-only memory module according to said control signal contr output by said comparing and selecting module, whereby controlling said read-only memory module to output a demodulated constellation matrix to said output buffer;
- and
- said output buffer is configured to receive and buffer said demodulated constellation matrix {circumflex over (Φ)} from said read-only memory module.