Average Error Rate Analysis for Pilot-aided OFDM Receivers with Frequency-domain Interpolation Yasamin Mostofi
Donald C. Cox
Department of Electrical Engineering Stanford University Stanford, CA 94305, USA Email:
[email protected] Department of Electrical Engineering Stanford University Stanford, CA 94305, USA Email:
[email protected] Abstract— In OFDM receivers, pilot tones should be inserted among the sub-carriers in order to estimate the channel in high delay spread environments. To estimate the channel at all the sub-carriers, using the pilot tones, different frequency-domain interpolators can be used. For a given number of pilot tones, these interpolators will have different levels of complexity depending on the number of adjacent pilot tones that they use to estimate the channel at each sub-carrier. For high delay-spread channels, as the number of adjacent pilot tones used by an interpolator increases, channel estimation improves resulting in a tradeoff between performance and complexity. In this paper, we first find an analytical average error rate formula for a pilot-aided OFDM receiver in a delay spread fading environment. This analysis will provide a framework to evaluate the performance of different interpolators. As an example, we then evaluate and compare the performance of two interpolators with different levels of complexity: a trigonometric interpolator and a linear one. We derive the average error rate formulas of the interpolators and confirm that the former one has a considerably better performance as the delay spread increases. However, for flat fading channels, we show that the linear interpolator has a 3dB gain. Finally, our simulation results support the mathematical analysis and comparison.
I. I NTRODUCTION Orthogonal Frequency Division Multiplexing (OFDM) handles delay spread by sending low data rates at all the subchannels in parallel [1]-[2]. By adding a guard interval to the beginning of each OFDM symbol, the effect of delay spread (provided that there is perfect synchronization) would appear as a multiplication in the frequency domain for a time-invariant channel. Adding the guard interval will also prevent InterOFDM Symbol-Interference. In high delay spread environments, in order to estimate and remove the effect of channel coefficients in the frequency domain, pilot tones should be transmitted. The minimum number of pilot tones required in each OFDM symbol exceeds normalized channel delay by one where normalized channel delay refers to the channel delay divided by the sampling period. These pilot tones should be equally spaced in the frequency domain to minimize noise enhancement. To estimate the channel in the sub-bands in between the pilot tones, different interpolators with different levels of complexity can be used. In this paper, we first find a general formula for the average error rate of an OFDM system in the presence of channel estimation error. Authors in [3] found a formula for the error WCNC 2004 / IEEE Communications Society
rate in the case that pilot tones have been inserted in all the sub-carriers. Therefore, the effect of interpolation was not studied in their work. Furthermore, their work can not be extended to address interpolation since they made a limiting assumption that the channel estimation error is independent of the value of the channel at each sub-carrier, which may not be the case depending on the interpolator. In this paper we take a different approach, which enables us to find the average error rate of a pilot-aided OFDM system analytically without a need to make this assumption. Then we evaluate the error rate of two specific interpolators. The first one is based on an IFFT, zero padding and an FFT operation. The second interpolator is a linear one. A complete mathematical analysis is provided for both interpolators, which allows for a comparison of the two. Finally, our simulation results support the analysis. xp X0 X1
XN −1
I F F T
x1
yp
AWGN noise wi
x0
P /
+
hi
S xN −1
y0
S /
y1
P yN −1
Y0
F F T
Y1
YN −1
Fig. 1 Discrete baseband equivalent model
II. S YSTEM M ODEL Fig. 1 shows the discrete baseband equivalent system model. The available bandwidth is divided into N sub-channels and the guard interval spans G sampling periods. We assume that the normalized length of the channel is always less than or equal to G in this paper. Xi represents the transmitted data in the ith frequency sub-band and is related to the time domain sequence, xi , as follows: Xi =
N −1
xk e−
j2πki N
0≤i≤N −1
(1)
k=0
xp is the cyclic prefix vector with length G, hi represents the ith channel tap with Rayleigh fading amplitude and uniformly
1421
0-7803-8344-3/04/$20.00 © 2004 IEEE
distributed phase and wi is AWGN noise. After the FFT operation in the receiver, at the ith sub-channel, we will have, Yi = Hi Xi + Wi 0 ≤ i ≤ N − 1 (2) N −1 j2πki where Hi = k=0 hk e− N denotes the channel and Wi , the FFT of wi , is the noise in the ith sub-carrier. III. AVERAGE ERROR RATE ANALYSIS ˆ ˆi = α Let Hi = αi ejθi and H ˆ i ej θi where αi and α ˆi are Rayleigh fading amplitudes and θi and θˆi are uniformly ˆ i is the estimated channel at the ith subdistributed phases. H carrier. To estimate the transmitted data from Eq. 2, we will have, ˆ i = αi ejφi Xi + Ui (3) X α ˆi α ˆi ˆ where φi = θi − θˆi and Ui = UR (i) + jUI (i) = Wi e−j θi is a Gaussian noise with the same characteristics as Wi . In this paper, we assume that Xi is a 4PSK modulated signal with 2 . Extending the analysis to other modulations power of σX should be a straight forward extension of the work done in this paper. For one realization of φi and αi , the instantaneous probability of receiving the correct symbol of the constellation at the ith sub-carrier will be, −sinφi ) √ i Pc,inst. (i) = P rob{ σX αi (cosφ + 2α ˆ i
σX αi (cosφi +sinφi ) √ 2α ˆi
&
+
UI (i) α ˆi
UR (i) α ˆi
where, Ωi = αi2 = Hi Hi∗ =
m
> 0}
where UR (i) and UI (i) are uncorrelated and have Gaussian distributions (hence they are independent) with zero means and 2 2 2 2 variances of σU = σU = .5σU , where σU = |Ui2 | = |Wi2 |. R I Then, Pc,inst. will be as follows:
i −sinφi ) i +sinφi ) Q( σX αi (cosφ ) + Q( σX αi (cosφ )− σU σU σX αi (cosφi +sinφi ) i −sinφi ) Q( σX αi (cosφ ) × Q( ) σU σU
∞ z2 where Q(s) = √12π s e− 2 dz for an arbitrary s. To evaluate the average error rate, Pe , Pe,inst. should be averaged over the distributions of αi and φi . First we perform an averaging over αi , which has a Rayleigh distribution. Since the last term of Eq. 5 has a considerably smaller value than other terms (as long as the error rate is not too high), we approximate Pe,inst. with the first two terms to make the averaging possible. Pe evaluated through this approximation is slightly more than the exact one at very high error rates but matches well with it otherwise. It can be shown that for an arbitrary s, Q(αi s) = =
1 2
−
√s 2π
∞ 0
2 α2i
α2 − 2i
e
∞ 0
(s2 +
−
Q(αi s)αi e
2 α2 i
)
dαi =
1 2
α2 i α2 i
dαi
× (1 −
WCNC 2004 / IEEE Communications Society
s s2 + Ω2
i
) (6)
(7)
n
We drop the index i of Ωi since it is not a function of i: Ω = m σh2 m . Using Eq. 5-8, the average error rate will be as follows, cos(φi )−sin(φi ) SN Rrec Pe (i) = 1 − .5 × Eφi SN Rrec (1−sin(2φ )) 2 i 1+ 2 i )+sin(φi ) rec −.5 SN R × Eφi cos(φ 2 SN R (1+sin(2φ )) 1+
rec
2
i
(9) where SN Rrec , the average received Signal to Noise Ratio, is Ωσ 2 defined as SN Rrec = σ2X and Ez1 {z2 } represents average of U z2 with respect to z1 for arbitrary z1 and z2 . The distribution of φi is as follows [4]: p(φi ) = √ √ 1−ρi cos2 (φi )+ ρi cos(φi )(π−cos−1 ( ρi cos(φi ))) × (1−ρi cos2 (φi ))1.5
√
(1−ρi )×(2π−|φi |) 4π 2
where ρi = √
cov(α2i ,α ˆ 2i ) 2 var(αi )var(α ˆ 2i )
(10)
|φi | ≤ 2π
with cov(αi2 , α ˆ i2 ) = αi2 α ˆ i2 −αi2 ×
α ˆ i2 and var(αi2 ) = αi4 − (αi2 )2 . Then, we will have, Pe (i) = SN Rrec i )−sin(φi ) cos(φ 1 − .5 × p(φi )dφi 2 φi SN Rrec (1−sin(2φi )) 1+ 2 i +sin(φi ) rec cos(φ −.5 SN R × p(φi )dφi 2 φi SN Rrec (1+sin(2φ )) 1+
(5)
j2πi(m−n) N
m
Pc,inst. (i) = i −sinφi ) i +sinφi ) Q( −σX αi (cosφ ) × Q( −σX αi (cosφ ) σU σU ⇒ Pe,inst. (i) = 1 − Pc,inst. (i) =
hm h∗n e−
Since hm h∗n = σh2 m δm,n , where σh2 m = |hm |2 , we will have, Ωi = σh2 m (8)
>0 (4)
2
i
(11)
Pe (i) of Eq. 11 is a function of i through ρi . IV. P ILOT- AIDED CHANNEL ESTIMATION Let ν ≤ G be the maximum predicted normalized length of the channel. It can be shown that only L = ν + 1 equally spaced pilot tones are required for channel estimation [5]. Therefore, we insert L = ν + 1 equally spaced pilots, Xpilot (li ), at sub-channels li = i×N L for 0 ≤ i ≤ L − 1. An estimate of the channel at pilot tones can then be acquired as follows: Yli Wl i ˆl = H = Hl i + 0 ≤ i ≤ L − 1 (12) i Xpilot (li ) Xpilot (li ) To estimate the channel at sub-carriers in between the pilot tones, different interpolators can be used. The complexity of these interpolators varies depending on the number of pilot tones used to estimate the channel at each sub-carrier. In this paper we analyze two extreme cases. The first interpolator uses all the pilots to estimate the channel at each sub-band. The second one, on the other hand, only uses the two adjacent pilot tones. Therefore the former one will have a superior performance in environments with considerable delay spread at the cost of an increase in the complexity.
1422
0-7803-8344-3/04/$20.00 © 2004 IEEE
Finally, ρi will be as follows for this interpolator,
A. A Trigonometric Interpolator To find the time domain channel from Eq. 12, an IFFT of length L should be performed. The time-domain channel ˆ k , would be as follows, estimate, h L−1 ˆk = 1 ˆ l e j2πik L H h L i=0 i
0≤k ≤L−1
(13)
Through an FFT of length N , the estimate of the channel at all the sub-carriers will be as follows: ˆi = H
L−1
ˆ k e −j2πik N h
0≤i≤N −1
(14)
k=0
ˆ i directly from the pilots without a It is also possible to find H need to go to the time domain. Using Eq. 13 and 14, we will have, 1 L
ˆi = H L−1 L−1 ˆ i −j2πk( N −m L) 0≤i≤N −1 m=0 k=0 Hlm e j2πi L−1 ˆ 1 1−e− r = L m=0 Hlm −j2π( i − m ) j2πi r
L−1 1 − e− = m=0 2Lj
1−e
N
L
βi,m cos(s) where r = N L and cot(s) = sin(s) for an arbitrary s. From Eq. 15, it can be seen that to estimate the channel at any sub-carrier, all the L pilots have been used. We refer to this interpolator as a “trigonometric interpolator” since the ˆ l is a trigonometric function of i in Eq. 15. coefficient of H m Inserting Eq. 12 in Eq. 15, we will have,
ˆ i = Hi + H
m=0
βi,m
Wl m Xpilot (lm )
(16)
From Eq. 16, we can find ρi for this interpolator. We will have, 2 L−1 ˆ i,A = α ˆ i |2 = Ω + σU Ω ˆ i2 = |H |β 2 | 0 ≤ i ≤ N − 1 2 σX m=0 i,m (17) ˆ i,A refers to the trigonometric interpolaThe subscript A in Ω L−1 2 tor. It can be easily proven that m=0 |βi,m | = 1 for any i. Therefore, we will have, 2 ˆ i,A = Ω + σU Ω 2 σX
0≤i≤N −1
(18)
ˆ i,A since it is not a function of it as We drop the index i of Ω can be seen from Eq. 18. It is easy to show that s4 = 2(s2 )2 and hence var(s2 ) = (s2 )2 for a Rayleigh distributed variable ˆ 2 . Using these αi2 ) = Ω s. Thus, var(αi2 ) = Ω2 and var(ˆ A equalities, we calculate αi2 α ˆ i2 as follows: ˆ i |2 = 2Ω2 + αi2 α ˆ i2 = |Hi |2 |H
WCNC 2004 / IEEE Communications Society
2 σU 2 σX
Ω
ˆA αi2 α ˆ i2 − ΩΩ Ω SN Rrec = = ˆ ˆ 1 + SN Rrec ΩΩA ΩA
(20)
As can be seen, for this interpolator, ρi and therefore Pi are neither functions of i nor functions of the shape of the channel delay profile and are solely a function of SN Rrec .
B. A Linear Interpolator It is also possible to estimate the channel at all the subcarriers by a linear interpolation. In this case, at each subcarrier, the channel is estimated using only the two adjacent pilots. Therefore, This interpolator will be less computationally complex than the one of the previous section. For this interpolator, we will have,
(15)
πi πm ˆl (cot( − ) + j) ×H m N L
L−1
ρi,A =
ˆ d + ηi H ˆ d +r ˆ i = γi H H i i
0≤i≤N −1
(21)
where di = f loor( ri ) × r refers to the sub-carriers with pilot i tones, ηi = i−d and γi = 1 − ηi . Using Eq. 12, we will have, r ˆ d = Hd + H i i
Wdi Xpilot (di )
(22)
Therefore for 0 ≤ i ≤ N − 1, Wdi Wdi +r + ηi Hdi +r + ηi Xpilot (di ) Xpilot (di + r) (23) ˆ i,B where index B refers to the Using Eq. 23, we can find Ω linear interpolator, ˆ i = γi Hd + γi H i
2 ˆ i,B = (γ 2 + η 2 ) × (Ω + σU ) + 2γi ηi × real(RH (r)) (24) Ω i i 2 σX
where RH (s), the auto-correlation function of the wide-sense stationary process H, is defined as RH (s) = Hs+t Ht∗ = 2 − j2πms N and Ω = RH (0) is as defined in the previous m σhm e part. Next, we calculate the covariance. Using Eq. 23, we will have,
(19)
1423
ˆ iH ˆ∗ = αi2 α ˆ i2 = Hi Hi∗ H i γi2 Hi Hi∗ Hdi Hd∗i + ηi2 Hi Hi∗ Hdi +r Hd∗i +r + 2γi ηi × real(Hi Hi∗ Hdi Hd∗i +r ) + (γi2 + ηi2 )
(25)
2 ΩσU 2 σX
0-7803-8344-3/04/$20.00 © 2004 IEEE
To evaluate the terms in Eq. 25, we have to calculate Hi Hi∗ Hm Hn∗ for an arbitrary m and n. We will have, k
k
=
k
k
|hk |4 e
k
Hi Hi∗ Hm Hn∗ = hk h∗k hk h∗k e−
−j2πk(m−n) N
+
k=k k =k
+
k=k k =k
+
σh2 k σh2 k e−
k=k
k=k k =k
k=k
k=k
− h2k h∗2 k e
j2π((k−k )i+mk −nk ) N
σh2 k σh2 k e−
j2π(m−n)k N
j2π((k−k )i+mk −nk) N
j2π((k−k )i+mk−nk ) N
(26) For an hk with Rayleigh fading amplitude and uniformly distributed phase, h2k = 0. Therefore, the last term on the right hand side of Eq. 26 is zero. Evaluating the rest of the terms, we will have,
those with ηi = 0. From Eq. 31, it can be seen that for these SN Rrec sub-carriers ρi,B = 1+SN Rrec which is the same as ρi,A . In general, there are two factors determining the performance of a linear interpolator: noise and delay spread. As a sub-carrier gets farther from the pilot tones, RH,norm. decreases for nonflat channels. For instance, the sub-carrier in the middle of every two consecutive pilot tones has the least correlation. However, the amount of added noise decreases as well. To W W i +r , see this, take the noisy terms, γi Xpilotdi(di ) + ηi Xpilotd(d i +r) of Eq. 23. It can be easily shown that the power of these terms is minimized for γi = ηi = .5, which refers to the sub-carriers in the middle of every two consecutive tones. As the delay spread increases, it becomes the dominant factor. Then, RH,norm. decreases and the linear interpolator will have worse performance than the trigonometric one. However, for nearly-flat fading channels, noise becomes the dominant factor. Then linear interpolator will have a better performance than the trigonometric one. For instance, consider the sub-carriers with γi = ηi = .5. Inserting RH,norm. = 1 (flat fading) in Eq. 31 for these carriers would result in the following:
2SN Rrec 2SN Rrec + 1 (32) Comparing Eq. 32 with Eq. 20 shows that the linear interpolator has a 3dB gain in this specific case. This is due to the fact that the trigonometric interpolator uses all the pilots for channel estimation at each sub-carrier, which adds more noise than the linear one that solely uses the adjacent pilots. Despite the superiority of the linear interpolator in the flat αi2 α ˆ i2 = 2γi ηi × real(ΩRH (r) + RH (i − di )RH (di + r − i)) fading case, since these interpolators are to be used in delay +γi2 (Ω2 + |RH (i − di )|2 ) + ηi2 (Ω2 + |RH (i − di − r)|2 ) spread environments, the trigonometric one will outperform Ωσ 2 +(γi2 + ηi2 ) σ2U the linear interpolator. X (28) V. A NALYSIS AND S IMULATION R ESULTS Using Eq. 24 and 28, we will have, We find Pe (i) of Eq. 11 for two different power-delay cov(αi2 , α ˆ i2 ) = γi2 |RH (i − di )|2 + ηi2 |RH (i − di − r)|2 + profiles using the correlation coefficients of the interpolators. 2γi ηi × real(RH (i − di )RH (di + r − i)) Also, we simulate the whole system for both channels to (29) compare the results of analysis and simulation. The power 2 2 2 2 γ |R (i−di )| +ηi |RH (i−di −r)| + ρi,B = i H ˆ i,B delay profile of both channels has two taps with relative Ω×Ω (30) powers of 23 and 13 respectively. The delay between the two 2γi ηi ×real(RH (i−di )RH (di +r−i)) taps is 5µs for channel I and 26µs for channel II (in both cases, ˆ i,B Ω×Ω the channel delay is less than the cyclic prefix). Therefore, To write Eq. 30 as a function of SN Rrec , we normalize the frequency response of channel II is less correlated, i.e. 2 σh k the power of the channel paths: σh2 k,norm. = Ω . Let RH,norm. has smaller values since it is the FFT of the power 2 j2πks delay profile with a longer delay. Input modulation is 4PSK, − N RH,norm. (s) = . Then, we can rewrite k σhk,norm. e r = 4, N = 892 and the total bandwidth is 3.9M Hz. Eq. 30 as follows: Since r = 4, there are three sub-carriers in between every γ 2 |R (i−di )|2 +ηi2 |RH,norm. (i−di −r)|2 two consecutive pilots. Therefore for the linear interpolator, ρi,B = (γ 2i+η2H,norm. + SN Rrec +1 )×( SN Rrec )+2γi ηi ×real(RH,norm. (r)) i i there will be three sets of error rates. Set#1 refers to the pilot sub-carriers. In the OFDM symbols with training, pilots are 2γi ηi ×real(RH,norm. (i−di )RH,norm. (di +r−i)) SN Rrec +1 2 2 transmitted on these sub-carriers. However, when considering (γi +ηi )×( SN Rrec )+2γi ηi ×real(RH,norm. (r)) (31) the error rates at these sub-carrier frequencies, it refers to the As can be seen from Eq. 31, ρi and therefore Pi of the linear subsequent symbols, without training, that use the estimate interpolator are functions of i. There are 2r + 1 different of the channel from the training symbols. For the remaining error rates that each sub-carrier may experience depending sub-carriers, error rate analysis applies to both training and on its location. For instance, pilot carrying sub-carriers are non-training symbols. Set#2 refers to the sub-carriers that are Hi Hi∗ Hm Hn∗ = 2R4H (m − n) + ΩRH (m − n)− R4H (m − n) + RH (i − n)RH (m − i) − R4H (m − n) = ΩRH (m − n) + RH (i − n)RH (m − i) (27) j2πks where R4H (s) = k σh4 k e− N . Using Eq. 27, Eq. 25 can be rewritten as follows,
WCNC 2004 / IEEE Communications Society
1424
γi = ηi = .5
& RH,norm. = 1 ⇒ ρi,B =
0-7803-8344-3/04/$20.00 © 2004 IEEE
0
10
−4
10
set#1
Anal., trigonometric, set#1 Anal. linear, set#1 Sim., trigonometric, set#1 Sim. linear, set#1
−2
10
5
10
15
25
20
30
40
35
0
e
10
Average P
adjacent to one pilot carrier and set#3 denotes the rest of the sub-carriers. Fig. 2 shows Pe of channel I as a function of SN Rrec . For this channel, the trigonometric and linear interpolators have very similar performance due to low delay spread. It can be seen that, the error rate of set#1 of the linear interpolator is the same as that of the trigonometric one, as was shown in the previous section. Since the delay spread of this channel is low, at low SN Rrec , noise is the dominant factor. Therefore, for set#2 and 3, the performance of the linear interpolator is slightly better than the trigonometric one at low SN Rrec , as can be seen. On the other hand, at very high SN Rrec , delay spread becomes the dominant factor and the trigonometric interpolator slightly outperforms the linear one at set#2 and 3, as can be seen from Fig. 2. This is more pronounced for set#3 since channel values at those subcarriers are less correlated with those at the pilot carrying ones. Fig. 3 shows the error rates for channel II. The performance of the linear interpolator degrades considerably at set#2 and 3 for this channel due to higher delay spread. However, the performance of the trigonometric interpolator stays independent of the shape of the channel. As can be seen, the result of the mathematical analysis and simulation matches well in both Fig. 2 and 3. At very high Pe , the result of the analysis is slightly higher than the simulation, which is due to the omission of the last term of Eq. 5.
−4
10
set#2
Anal., trigonometric, set#2 Anal. linear, set#2 Sim., trigonometric, set#2 Sim. linear, set#2
−2
10
5
10
15
25
20
30
35
40
0
10
−4
10
set#3
Anal., trigonometric, set#3 Anal. linear, set#3 Sim., trigonometric, set#3 Sim. linear, set#3
−2
10
5
10
25
20
15
30
40
35
SNR
rec
Fig. 2 Pe vs. SN Rrec for power-delay profile I
VI. C ONCLUSION
R EFERENCES
−4
10
1425
set#1
Anal., trigonometric, set#1 Anal. linear, set#1 Sim., trigonometric, set#1 Sim. linear, set#1
−2
10
5
10
15
20
25
30
40
35
0
10
Anal., trigonometric, set#2 Anal. linear, set#2 Sim., trigonometric, set#2 Sim. linear, set#2
−2
10
−4
10
[1] Cimini, “Analysis and simulation of a digital mobile channel using orthogonal frequency division multiplexing,” IEEE Trans. Commun., vol. COMM-33, pp. 665-675, July 1985 [2] Weinstein and Ebert, “Data transmission by frequency-division multiplexing using the discrete Fourier transform,” IEEE Trans. Commun., vol. COMM-19, pp. 628-634, Oct. 1971 [3] H. Cheon and D. Hong, “Effect of channel estimation error in OFDMbased WLAN,” IEEE Comm. letter, vol. 6, no. 5, May 2002 [4] X. Tang, M. Alouini and A. Goldsmith, “Effect of channel estimation error on M-QAM BER performance in Rayleigh fading,” IEEE Trans. on Comm., vol. 47, no. 12, Dec. 1999 [5] R. Negi and J. Cioffi, “Pilot tone selection for channel estimation in a mobile OFDM system,” IEEE Trans. on Consumer Electronics, vol. 44, no. 3, Aug. 98
WCNC 2004 / IEEE Communications Society
0
10
Average Pe
In this paper, we derived average probability of error formulas for an OFDM receiver that uses frequency-domain pilot-aided channel estimation. This analysis provided a framework to evaluate the performance of different frequencydomain interpolation methods. As an example, we analyzed the performance of two different interpolators, a trigonometric interpolator and a linear one. We showed mathematically that the average error rate of the former interpolator is independent of the shape of the channel and is solely a function of SN Rrec . Furthermore, we showed that as delay spread increases, the performance of the linear interpolator degrades considerably. In the case of a flat fading channel, however, the linear interpolator has a 3dB gain over the trigonometric one due to the smaller contribution of noise sources. Finally, the simulation results confirmed the mathematical analysis.
5
10
set#2
25
20
15
30
35
40
0
10
Anal., trigonometric, set#3 Anal. linear, set#3 Sim., trigonometric, set#3 Sim. linear, set#3
−2
10
−4
10
5
10
15
set#3
20
25
30
35
40
SNR
rec
Fig. 3 Pe vs. SN Rrec for power-delay profile II
0-7803-8344-3/04/$20.00 © 2004 IEEE