Design and Implementation of an Optimized MIMO-OFDM System

6 downloads 0 Views 121KB Size Report
Design and Implementation of an Optimized. MIMO-OFDM System. Christophe Le Guellaut. IETR. INSA, 20 av. des buttes de Cöesmes. 35043 Rennes, France.
Design and Implementation of an Optimized MIMO-OFDM System Christophe Le Guellaut

Fabienne Nouvel

IETR INSA, 20 av. des buttes de C¨oesmes 35043 Rennes, France Email: [email protected]

IETR INSA, 20 av. des buttes de C¨oesmes 35043 Rennes, France Email: [email protected]

Abstract—This paper investigates the field of implementation of communication systems with field programmable gate arrays (FPGA). A new scheme based on a multiple input multiple output-orthogonal frequency division multiplexing (MIMOOFDM) system is presented leading in great FPGA resources saving. Classical MIMO-OFDM scheme uses a space-time block coder (STBC) and one OFDM modulation per transmit antenna. Our contribution deals with a customized space-time block coder (CSTBC) and only one classical OFDM modulation whatever the number of transmit antennas is. Classical and new schemes are analytically equivalent. Implementation of MIMO systems with two transmit antennas and four transmit antennas is discussed. Index Terms—block codes, field programmable gate arrays, MIMO systems

I. I NTRODUCTION Success of wireless communication systems results from the community’s proposals for efficient systems in typical daily uses. Actual systems prove spectral efficiency and robustness whatever the context is. Context may include mobility, lineof-sight (LOS) or non-line-of-sight (NLOS), or the number of scatterers in the environment. These contexts result in bad propagation conditions and require systems to be algorithmically more and more complex. When designing a new system, one must ensure robustness against bad propagation conditions with the best performance/complexity ratio. Complexity of involved techniques limits the implementation in a target. OFDM is a modulation whose principle is to divide the frequency-selective radio-mobile channel in N flat-fading subchannels. It takes advantage of frequency diversity to improve robustness in multipath channel. Nowadays, it is very common in standards as IEEE 802.11a-g, or its european equivalent HIPERLAN/2. This can be explicated by the straightforward implementation of OFDM, operated by an inverse discrete Fourier transform (IDFT) algorithm, efficiently implemented by an inverse fast Fourier transform (IFFT) algorithm. Intellectual properties (IPs) propose IFFT cores using Radix4 or Radix2 architectures, improving either IFFT’s real-time performances, or resources consumption. MIMO techniques have been extensively studied recently, showing the interest for spatial dimension [1]. As several antennas are available at transmitter and receiver, capacity of channel can be extended when compared to single input single output (SISO) channel leading to higher throughput. Array

gain may also be realized to increase the signal-to-noise ratio (SNR) by smart signals combining. Finally, spatial diversity can be achieved thanks to a specific coding at transmitter. First demonstrated by [2], family of space-time block codes for a given number Nt of transmit antennas is proposed in [3]. Mixing OFDM with STBC techniques comes from [4]. Resulting system belongs to space-time (ST) coding, because a space-time coder is applied across OFDM symbols. At the opposite, coding tones within an OFDM symbol results in space-frequency (SF) coding [1], [5]. Both coding techniques benefit from spatial diversity, but not from frequency and time diversity. Space-time/frequency (STF) coding solve this problem, exploiting space, time, and frequency diversity [6], [7]. In this paper, we focus only on OFDM systems combined with ST coding systems. Implementing efficient but complex systems is of great emphasis. FPGA are commonly used to realize testbeds. Implementing a MIMO-OFDM system in a target like an FPGA where resources are bounded can be challenging. In fact, OFDM needs lots of resources and thus constitute a limitation to the maximum complexity of system. Decreasing occupation of OFDM modulation in current MIMO-OFDM architecture is essential. In this paper we focus on the design of a new scheme based on one IFFT and one custom STBC coder. Since the number of IFFT cores depends on the number Nt of transmit antennas, our new scheme greatly decreases the needed resources of the MIMO-OFDM transmitter in an FPGA because it implements only one core whatever the number of transmit antenna is. However, the added processing complexity is very low. The article is organized as follows. Section II presents the classical MIMO-OFDM scheme for two transmit and two receive antennas. Then, in Section III, the new scheme is discussed for MIMO 2x2, and its extension to MIMO 4x4 is presented in Section IV. Finally, implementation results are presented in Section V. II. C LASSICAL ST-MIMO-OFDM SCHEME FOR TWO TRANSMIT ANTENNAS

A. System description In an ST-MIMO-OFDM transmitter, space-time coding is performed prior to OFDM modulation and two OFDM stages

978-1-4244-2204-3/08/$25.00 ©2008 IEEE

STBC {-X2*(k) X1(k)}m

{X2(k) X1(k)}m

{+X1*(k) X2(k)}m Fig. 1.

OFDM

{ x3(n) x1(n)}m

OFDM { x (n) x (n)} 4 2 m

B. Properties of IFFT

Classical MIMO-OFDM transmitter (Nt = 2).

are required for Nt = 2 transmit antennas as shown in Fig. 1. In this study, we have focused on the Alamouti’s rate one orthogonal STBC [2], resulting in a low complexity maximum likelihood (ML) algorithm for decoding. STBC coder receives complex symbols every Ts from a mapping stage or from any other modulation stage. For instance, it can be a spread spectrum modulation. Nc symbols are required for an OFDM symbol with Nc subcarriers and length TOF DM = Nc Ts . According to ST principle, coding performed by STBC must apply on two OFDM symbols. Hence, channel is invariant over two OFDM symbols. Let {[X1 (k)X2 (k)]}m , m ∈ [1, . . . , ∞[ be the so-called mth block of two incoming complex frequency domain symbols Xi (k), k ∈ [0, ..., Nc − 1] and i ∈ {1, 2}. Then, Alamouti coder encodes data symbols Xi (k) with coding matrix [2]:   s1 s2 c G2 = , (1) −s∗2 s∗1 where G2c is the complex coding matrix for two transmit antennas, (.)∗ is the complex-conjugate operator, s1 and s2 the Nc symbol samples at time t, and s∗1 and −s∗2 the Nc symbol samples at time t+TOF DM . Rows stand for time, and columns stand for antennas output. Then, one OFDM stage is carried out by one IFFT and is required on each output of coder. Note that IFFT may include a cyclic prefix (CP) or zero padded subcarriers (ZP) without loss of generality. IFFT must then process Nc encoded samples at sample rate Ts . Two sequences of time domain symbols {[x1 (n)x3 (n)]}m on antenna 1 and {[x2 (n)x4 (n)]}m on antenna 2 are then obtained:  T T  IFFT (X1 (k)) x1 (n) = , (2) x3 (n) m IFFT (−X2∗ (k)) m 

x2 (n) x4 (n)



T

=

IFFT (X2 (k)) IFFT (+X1∗ (k))

In this section, analytical expression of signal along the new OFDM-MIMO system is obtained, using properties of IFFT. We demonstrate that outputs of classical scheme and outputs of new scheme are strictly identical.

T

.

(3)

IFFT is an optimized algorithm of the inverse discrete Fourier transform (IDFT), allowing real-time processing. It is widely used in measurements devices. Some properties of IDFT are presented as a reminder for the sequel. For clarity purpose, IFFT term has been kept instead of IDFT. Assuming Xi a frequency-domain signal with Nc samples, and xi its inverse fast Fourier transform in time domain, such as xi   Xi , and using both linearity and periodicity properties, expression of IFFT of Xi -conjugate is: N −1

c  k.n 1 · ±Xi∗ (k).e+j.2.π. Nc , IFFT(±Xi∗ ) = √ Nc k=0 ∗  N c −1 k.(−n) 1 +j.2.π. N · Xi (k).e , =± √ Nc k=0

= ±xi (−n)∗ ,

= ±xi (Nc − n)∗ .

(4)

C. Using IFFT properties in MIMO-OFDM The new MIMO-OFDM system is depicted in Fig. 2. Let {[X1 (k)X2 (k)]}m be the mth block (m ∈ [1, ..., ∞[) of two complex frequency domain symbols Xi (k), k ∈ [0, ..., Nc − 1] and i ∈ {1, 2}. An OFDM modulation is first performed thanks to an IFFT. With sample rate Ts , the IFFT processes one OFDM symbol every TOF DM . Then, the sequence of symbols in the time domain {[x1 (n)x2 (n)]}m is: 

x1 (n) x2 (n)



T m

=

IFFT(X1 (k)) IFFT(X2 (k))

T m

.

(5)

Next to OFDM modulation, our custom STBC scheme encodes symbols blocks {[x1 (n)x2 (n)]}m , according to the customized complex matrix G˜2c :   s1 (n) s2 (n) G˜2c = , (6) s3 (n) s4 (n)

A. Introduction

where s1 (n) and s2 (n) are the symbol samples in time domain after OFDM stage at time t on antennas 1 and 2. s3 (n) and s4 (n) are the to-be-determined symbol samples in time domain transmitted at time t + TOF DM on antennas 1 and 2. To determine these symbols, equation assuring identity between new (6) and classical scheme (2), (3) has to be resolved: ⎧ s1 (n) = IFFT(X1 (k)) ⎪ ⎪ ⎨ s2 (n) = IFFT(X2 (k)) , (7) s3 (n) = IFFT(−X2 (k)∗ ) ⎪ ⎪ ⎩ ∗ s4 (n) = IFFT(X1 (k) )

The new low complexity OFDM-MIMO scheme is based on the inversion of classical MIMO coder and OFDM stage.

Assuming identity between new system and classical system, we express s1 (n), s2 (n), s3 (n) and s4 (n) in terms of x1 (n)

m

m

Assuming knowledge of the first two elements x1 (n) and x2 (n) computed at time t, we assert that knowledge of the last two elements x3 (n) and x4 (n) at t + TOF DM does not need the computation of an IFFT, as they depend on x1 (n) and x2 (n). This assumption raises the principle of CSTBC and the new OFDM-MIMO scheme described in next section. III. N EW ST-MIMO-OFDM SCHEME FOR TWO TRANSMIT ANTENNAS



OFDM

{X2(k) X1(k)}m

Fig. 2.

{ x2(n) x1(n)}m

CSTBC

{ s3(n) s1(n)}m { s4(n) s2(n)}m

New MIMO-OFDM transmitter (Nt = 2).

and x2 (n) (output of IFFT stage) thanks to IFFT properties (4): s1 (n) = x1 (n) , (8) s2 (n) = x2 (n) s3 (n) = s4 (n) =

−x∗2 (0), −x∗2 (Nc − n), x∗1 (0), x∗1 (Nc − n),

if n = 0 , if n ∈ [1, . . . , Nc − 1] if n = 0 . if n ∈ [1, . . . , Nc − 1]

Therefore, we can define CSTBC coder for n = 0 as:   x1 (0) x2 (0) c ˜ G2 = , −x∗2 (0) x∗1 (0) and for n = 0 as:  +x1 (n) G˜2c = −x∗2 (Nc − n)

+x2 (n) +x∗1 (Nc − n)

(9)

(10)

(11)

(12)

So, we proved that inverting MIMO and OFDM stages is possible with little additional complexity. The new OFDMMIMO scheme is algorithmically identical to the classical scheme. Meanwhile it saves one IFFT stage. For MIMO 2x2 Alamouti coder, swapping stages requires to adapt the coding matrix in a rearranged matrix. We have generically called this matrix custom-STBC (CSTBC). It consists in producing the redundant coded symbols at time t + TOF DM in reverse order when compared to classical STBC coder from section II. From an implementation point of view, resources needed by CSTBC and STBC are equal. Finally, we can notice that the more transmit antennas there are, the more efficient the new scheme is. Next section discusses about the new scheme for a transmitter with four antennas. IV. N EW ST-OFDM-MIMO SCHEME FOR FOUR TRANSMIT ANTENNAS

A. Introduction The OFDM-MIMO scheme is discussed when the number of antennas increases. Study of Nt = 4 transmit antennas is presented now, but can be generalized to a higher number of antennas. In this case, the main issue is the choice of the STBC coder, whose inherent skills are crucial as for example, the highest code rate or the orthogonality of matrix. We focus here on generalized complex orthogonal code (GCOD) [3], where coding matrix is expressed by:

X2 X1 X4 −X3 X2∗ X1∗ X4∗ −X3∗

X3 −X4 X1 −X2 X3∗ −X4∗ X1∗ −X2∗

X4 X3 −X2 X1 X4∗ X3∗ −X2∗ X1∗

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥, ⎥ ⎥ ⎥ ⎥ ⎦

(13)

The coding rate is 1/2, and the orthogonality greatly simplifies the decoding algorithm. Next, we describe how to modify this matrix in order to use the new OFDM-MIMO scheme. B. Using IFFT properties in MIMO-OFDM for Nt = 4 As in section III, inverting MIMO and OFDM stages is possible if a custom STBC coding matrix G4c , processing symbols in time domain after OFDM stage and yielding identical analytical signal at the end of OFDM-MIMO system, exists: ⎡

 .

⎢ ⎢ ⎢ ⎢ ⎢ c G4 = ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

X1 −X2 −X3 −X4 X1∗ −X2∗ −X3∗ −X4∗

⎢ ⎢ ⎢ ⎢ ⎢ c ˜ G4 = ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

s1 (n) s5 (n) s9 (n) s13 (n) s17 (n) s21 (n) s25 (n) s29 (n)

s2 (n) s6 (n) s10 (n) s14 (n) s18 (n) s22 (n) s26 (n) s30 (n)

s3 (n) s7 (n) s11 (n) s15 (n) s19 (n) s23 (n) s27 (n) s31 (n)

s4 (n) s8 (n) s12 (n) s16 (n) s20 (n) s24 (n) s28 (n) s32 (n)

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥. ⎥ ⎥ ⎥ ⎥ ⎦

(14)

As in previous section, expressing si (n) against xj (n) results in a custom coding matrix. For n = 0, we have: ⎤ ⎡ x1 (0) x2 (0) x3 (0) x4 (0) ⎢ −x2 (0) x1 (0) −x4 (0) x3 (0) ⎥ ⎥ ⎢ ⎢ −x3 (0) x4 (0) x1 (0) −x2 (0) ⎥ ⎥ ⎢ ⎢ −x4 (0) −x3 (0) −x2 (0) x1 (0) ⎥ c ˜ ⎥. ⎢ (15) G4 = ⎢ ∗ x∗2 (0) x∗3 (0) x∗4 (0) ⎥ ⎥ ⎢ x1∗ (0) ⎢ −x2 (0) x∗1 (0) −x∗4 (0) x∗3 (0) ⎥ ⎥ ⎢ ⎣ −x∗3 (0) x∗4 (0) x∗1 (0) −x∗2 (0) ⎦ x∗1 (0) −x∗4 (0) −x∗3 (0) −x∗2 (0) And for n = 0, we have: ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ G˜4c = ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

x1 (n) −x2 (n) −x3 (n) −x4 (n) x ˜∗1 (n) −˜ x∗2 (n) −˜ x∗3 (n) −˜ x∗4 (n)

x2 (n) x1 (n) x4 (n) −x3 (n) x ˜∗2 (n) x ˜∗1 (n) x ˜∗4 (n) −˜ x∗3 (n)

x3 (n) −x4 (n) x1 (n) −x2 (n) x ˜∗3 (n) −˜ x∗4 (n) x ˜∗1 (n) −˜ x∗2 (n)

x4 (n) x3 (n) −x2 (n) x1 (n) x ˜∗4 (n) x ˜∗3 (n) −˜ x∗2 (n) x ˜∗1 (n)

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥, ⎥ ⎥ ⎥ ⎥ ⎦

(16)

where x ˜∗i (n) = x∗i (Nc − n). Consequently, knowledge of x1 (n), x2 (n), x3 (n), and x4 (n) is sufficient to rebuild the whole matrix symbols G˜4c . Practically, x1 (n), x2 (n), x3 (n), and x4 (n) are stored in memory of FPGA and read in crescent order for the four first symbol times, then, they are read in

TABLE I U SED RESOURCES FOR CLASSICAL MIMO-OFDM. XC2V2000 IFFT STBC MIMO-OFDM Occupation

Slices 10752 2661 218 5540 52%

RAM blocks 56 19 4 42 75%

MULT18x18 56 9 0 18 32%

{-X2*(k) X1(k)}m

{X2(k) X1(k)}m

V. H ARDWARE IMPLEMENTATION ISSUES A testbed for communication systems has been developed recently in [8]. Its architecture is based on a programmable processor Virtex-II XC2V2000 from Xilinx. The FPGA features 10,752 slices, 56 multiplier blocks, and 56 random access memory (RAM) blocks. Testbed implements a MIMO-OFDM system and results from synthesis reports are indicated. In the following, IFFT are implemented as IP, based on radix-4 cores. A. Classical MIMO-OFDM scheme for Nt = 2 antennas Table I summarizes used resources when implementing the classical MIMO-OFDM scheme, with STBC coder using ST coding (Nt = 2). Parameters of system are the size of IFFT, and the data format of symbols. We have implemented a 256-points IFFT with 16 bits data format. RAMs blocks are instance of RAMB16 S16 S16 with 18kb [9]. We note that IFFT uses most of RAM blocks in FPGA, especially because two cores are necessary. B. Optimized MIMO-OFDM scheme for Nt = 2 antennas Before presenting our new scheme, we introduce an alternative scheme, based on classical MIMO-OFDM scheme. Its main advantage is to reduce the used resources in an FPGA in a simple way. Actually, it consists in serializing the symbols stream from the Nt antennas. A description of this system is presented here for Nt = 2. First, we retrieve the classical MIMO-OFDM scheme with Alamouti coder followed by OFDM. This scheme is modified and the two outputs of STBC are parallel-to-serial (P-S) converted. Then, the symbols stream feeds a single OFDM stage. Fig. 3 shows the described system. Although optimizing used resources of FPGA, this solution has for major drawback the twice frequency required by P-S conversion when Nt = 2. More generally, implementing a system with Nt antennas leads to an IFFT, running at frequency f  = Nt .f . This solution is then limited by maximum frequency rate supported by OFDM. Furthermore, after OFDM,

P/S

OFDM

S/P { x3(n) x1(n)}m { x4(n) x2(n)}m

{+X1*(k) X2(k)}m Fig. 3.

reverse order during the next four symbol times (excepted the first symbol with 0-index which remains the same). The case of MIMO-OFDM system has been investigated with Nt = 4. Inverting MIMO and OFDM stage is possible thanks to a modified GCOD coder. This inversion results in three OFDM stages saving when compared to classical MIMO-OFDM scheme. The new scheme avoids resources over-consumption when implementing an FPGA by using only one IFFT core. Next section presents some implementation results.

STBC

Optimized classical MIMO-OFDM transmitter.

TABLE II U SED RESOURCES FOR NEW MIMO-OFDM. XC2V2000 IFFT CSTBC MIMO-OFDM Occupation

Slices 10752 2661 237 2898 27%

RAM blocks 56 19 4 23 41%

MULT18x18 56 9 0 9 16%

the serial-to-parallel (S-P) conversion for outputs on several antennas needs additional memory block. Consequently, this solution may not be efficient at all, depending on application requirements. In next part, efficiency of the proposed scheme is emphasized. C. New MIMO-OFDM scheme for Nt = 2 antennas The new scheme presented in this paper is less resource consuming than the previous one. Neither P-S conversion, neither S-P conversion, nor frequency increase is necessary because OFDM is performed first. Table II summarizes the used resources of the new scheme in the FPGA. As planned, only one core of IFFT is implemented, yielding great resources saving. Yet, we can see CSTBC coder is not more complex than STBC in classical system.

VI. C ONCLUSION In this paper, we have investigated a new scheme for MIMO-OFDM transmitters. This scheme proved to be analytically equal to the classical scheme. Although not dedicated to FPGA, its main advantage is its low complexity when implemented in an FPGA, since only one IFFT core is needed. In this case, neither its frequency rate, nor its number of memory blocks increases. Classical receiver is fully compliant with this new scheme. Efficiency of this MIMO-OFDM system with custom Alamouti coder has been quantified by comparing the used resources with those of the classical scheme in a VirtexII. Synthesis reports showed a significant improvement in used resources. Systems with Nt > 2 transmit antennas benefit more from this new scheme. R EFERENCES [1] H. B¨olcskei, “MIMO-OFDM Wireless Systems: Basics, Perspectives, and Challenges,” IEEE Wireless Communications, vol. 13, no. 4, pp. 31–37, 2006. [2] S. Alamouti, “A Simple Transmit Diversity Technique for Wireless Communications,” IEEE Journal on Selected Areas in Communications, vol. 16, no. 8, pp. 1451–1458, Oct. 1998. [3] V. Tarokh, H. Jafarkhani, and A. Calderbank, “Space-Time Block Codes from Orthogonal Designs,” IEEE Transactions on Information Theory, vol. 45, no. 5, pp. 1456–1467, Jul. 1999. [4] K. Lee and D. Williams, “A space-Time Coded Transmitter Diversity Technique for Frequency Selective Fading Channels,” Proceedings of Sensor Array and Multichannel Signal Processing Workshop, pp. 149– 152, 2000. [5] H. B¨olcskei and A. Paulraj, “Space-Frequency Coded Broadband OFDM Systems,” IEEE Wireless Communications and Networking Conference, vol. 1, pp. 1–6, 2000. [6] W. Zhang, X. Xiang-Gen, and K. Ben Letaief, “Space-Time/Frequency Coding for MIMO-OFDM in Next Generation Broadband Wireless Systems,” IEEE Wireless Communications, vol. 14, no. 3, pp. 32–43, Jun. 2007. [7] A. Molisch, M. Win, and J. Winters, “Space-Time-Frequency (STF) Coding for MIMO-OFDM Systems,” IEEE Communications Letters, vol. 6, no. 9, pp. 370–372, Sep. 2002. [8] F. Nouvel and A. Massiani, “Designing a Reconfigurable MC-CDMA for Beyond 3G Applications,” 3rd International Symposium on Wireless Communication Systems, pp. 771–775, Sep. 2006. [9] Virtex-II Platform FPGAs: Complete Data Sheet, v3.5, XilinX, San Jose, CA, Nov. 2007. [Online]. Available: http://www.xilinx.com/support/documentation/data sheets/ds031.pdf

Suggest Documents