Design and Implementation of Frequency Domain Square Contour Algorithm
Presented by Malik Muhammad Usman Gul MS-51 Electrical Thesis Advisor Dr. Shahzad Amin Sheikh
Presentation Layout • • • • • • •
Equalization System Model and Equalizer Structure Blind Equalization Blind Equalization Algorithms and their Performance Comparison Frequency Domain Equalization Frequency Domain Blind Equalization Algorithms Frequency Domain Square Contour Algorithm – Computational Complexity – Performance Comparison – Hardware Implementation
•
Conclusions and Future Recommendations
Equalization In wireless communication, Equalization [1] refers to reducing the effect of impairments introduced in the transmitted signal by the wireless channel. • These impairments include [2] •
– Frequency and Time selectivity – Noise •
Types of Equalization – Data Aided – Blind
•
Blind schemes use the knowledge of transmitted data’s statistical characteristics to perform equalization.
----------------------------------------------------------------------------------------------------[1] S.U.H. Qureshi, “Adaptive Equalization”, Proceedings of the IEEE, Vol 73, Issue 9, Pages 1349-1387, 1985. [2] B. Sklar, “ Rayleigh fading channels in mobile digital communication systems.I. Characterization” IEEE Communications Magazine, Vol 35, Issue 9, Pages 136-146, 1997.
System Model •
A time in-variant multipath channel has been considered.
Equalizer Structure • Equalizer is a transversal filter with adaptive tap coefficients.
y[n]
y[n-1] -1
Z
y[n-2] -1
Z
y[n-3] -1
Z-1
Z
Input Signal
T
z[n] = w n y n wn = wn −1 + µ yn*e[ n]
W[0]
W[1]
W[2]
W[M-1]
wn = [ w[0] w[1] . . . . w[ M − 1] ]
Σ
y n = [ y[ n ] y[ n − 1] . . . . y[ n − M + 1] ] Adaptive weight update Algorithm
Error
Output of the equalizer
y[n-M+1]
Blind Equalization. . . [3] • • • • •
A cost function is formed on the basis of output of the equalizer and the transmitted data constellation. The weights of the filter are adjusted according to stochastic gradient algorithm in order to minimize that cost function. The definition of this cost function discriminates different blind equalization algorithms. Blind equalization finds application in situations where the time variation in the channel is minimal. Examples are Digital Video Broadcasting, satellite modems, point to multi-point networks.
----------------------------------------------------------------------------------------------------[3] Y. Sato, “A Method of Self-Recovering Equalization for Multilevel Amplitude-Modulation Systems”, IEEE transactions on Communications, 1975.
Blind Equalization Algorithms 1. Constant Modulus Algorithm (CMA)
. . . [4]
It tries to reduce the dispersion between the magnitude of the output of the equalizer and a circle of constant radius. • It is independent of the phase of the output. • The cost function is •
2
2 2
J = E[ zn − RCMA ]
RCMA *
E[ sk 4 ] = E[ sk 2 ] 2
wn = wn −1 + µ yn zn [γ − zn ] Zn is the output of equalizer RCMA is dispersion constant Sk is transmitted symbol yn is the tapped delay line of the filter ----------------------------------------------------------------------------------------------------[4] D.N. Godard, “Self-Recovering Equalization and Carrier Tracking in Two-Dimensional Data Communication Systems”, IEEE Transaction on Communications, Nov 1980.
1. Constant Modulus Algorithm (CMA) Scatter plot of output of CMA Zero error contour of CMA for 16 QAM
4 5
1.5
contd. .
Zero Error Contour CMA for Scatter plot of theofoutput of QPSK CMA 1.5
4 3 1
3
1
2
1
0.5 0.5
Quadrature Quadrature
Quadrature Quadrature
2 1
0 0
-1
-1
0
0
-0.5 -0.5
-2 -2
-3 -3
-1
-1
-4
-4 -5 -4
-5
-3 -4
-2 -3
-2
-1
-1
0 0
In Phase In-Phase
1
1
2
2
3
3 4
5
4
-1.5 -1.5 -1.5 -1.5
-1 -1
-0.5 -0.5
00
In-Phase In Phase
0.50.5
1
1
1.5
1.5
Blind Equalization Algorithms 2. Multi Modulus Algorithm (MMA)
. . . [5]
Presents a solution to phase rotation in CMA • It reduces the dispersion between the output of the equalizer and lines at ± R on the real and imaginary axis. π • It can handle phase rotation up to ± •
MMA
2
•
The cost function is
RMMA =
4
E[real ( sk ) ] E[Im( sk ) ] = 2 E[real ( sk ) ] E[Im( sk ) 2 ]
Quadrature
J = E { [( Re( zn ))2 − RMMA2 ]2 + [( Im( zn ))2 − RMMA2 ]2 ] 4
Lines of of Convergence QAM Lines ConvergenceofofMMA MMAfor for16QPSK
41.5
3
}
1
2
0.5 1
0 0
-1 -0.5
where Zn is output of equalizer RMMA is dispersion constant Phase InInPhase Sk is transmitted signal constellation -----------------------------------------------------------------------------------------------------2
-1
-3
-1.5 -4 -4-1.5
-3
-1
-2
-0.5-1
00
1
0.5
2
1 3
[5] Kil Nam Oh. et. Al, “Modified constant modulus algorithm blind equalization and carrier phase recovery algorithm”, IEEE International Conference on Communications, 1995.
1.5 4
Blind Equalization Algorithms 3. Square Contour Algorithm (SCA)
. . . [6]
It reduces the dispersion between the output of the equalizer and a square. • The cost function is •
J = E{(| real ( zn ) + Im( zn ) | + | real ( zn ) − Im( zn ) |)2 − RSCA2 ]2 } Square Contour of QAM SCA Square Contour of Algorithm SCA for 16 1.5 3
2 2x [ n]2 | + | x [ n] − x [ n]|) .Q}2 2 + E {(| x [ n ] R I R I =4 zR [n](4 z R [n] − R SCA ) X + j 4 zI [n](4 z I [n] − R SCA )Y E{Q}
eSCA2[n] = SCA
R
1
2
Quadrature
Quadrature
1
0.5
[n] + |xzI [n|]](1≤+ |j )z +|sgn[| xR [ n] − xI [ n]](1 − j )) x[n]* Q = (| xR [n] + 1, xI [n] || +z | x| R [≥n] −| zxI [|n] |)(sgn[| xR1,
X=
R
0,
I
| zR | < | zI |
Y=
R
0,
0
0
I
-1
| zR | > | zI | -0.5
-2
-1
-3
-1.5 -3
-1
-2
-1 -0.5
0 0
1
0.5
2
In Phase
1 3
----------------------------------------------------------------------------------------------------In Phase
[6] T. Thaiupathump, S.A. Kassam, ”Square contour algorithm: a new algorithm for blind equalization and carrier phase recovery”, IEEE Asilomar Conference on Signals, Systems and Computers, 2003
Blind Equalization Algorithms 4. Modified Square Contour Algorithm (MSCA)
. . . [6]
A modification to SCA has been suggested in [6] which uses a constellation matched error term to the cost function of SCA. • The modified cost function is •
z r [ n] 2 n zk [ n] J MSCA [n] = J SCA [n] + β ((1 − sin ( π )) + (1 − sin ( π ))) 2d 2d 2n
eMSCA [ n] = eSCA [ n] + βη k nπ ηk = − d
zi [ n ] zr [ n] 2 n −1 zr [n] 2 n −1 zi [ n ] sin ( 2d π ) cos( 2d π ) + j sin ( 2d π ) cos( 2d π )
Performance comparison of CMA, MMA and SCA Comparison of CMA, MMA and SCA • Performance0.7for higherMSE order constellations CMA MMA SCA
• Convergence0.6of MMA is more than CMA and SCA.
MSE
•Performance 0.5 issues of CMA and MMA • Phase shift at the output of CMA • Convergence to wrong solutions for MMA 0.4 • Reliability of0.3SCA is high as compares to CMA and MMA. 0.2
0.1
0
0
2000
4000
6000
8000
10000
Sample Index
12000
14000
16000
18000
Frequency Domain Equalization (FDE) • • • • •
Received data
. . [8]
It is the frequency domain equivalent of time domain equalization. Frequency domain equalization stems from frequency domain implementations of block adaptive filters. It is based on block based processing. It is computationally very efficient because of FFT operation. Frequency normalization helps improving the convergence rate.
FFT
Multiplication with weight vector
Equalized data
IFFT
Slicer
----------------------------------------------------------------------------------------------------[8] J.Shynk, “Frequency domain and multirate adaptive filtering ”, IEEE Signal Processing Magazine, 1992.
Motivation for FDE •
The convergence of the equalizer depends on the Eigen-value spread of the autocorrelation matrix Ryy of the input. – Lesser the spread, faster will be the convergence
•
The Eigen-value spread can be decreased by passing the received signal through a unitary transformation.
•
If Ryy = U∆UT is the singular value decomposition of Ryy then,. . [9] yn’ = ∆-1/2 U yn results in Ry’y’ = I (Identity Matrix) Practically, U is approximated by F (Fourier Matrix) and ∆ is approximated by the estimate Λ of the power of the received signal is different frequency bins. Λ = diag {λk[n]} = δ λk[k-1] + (1- δ)|Y[k]|2 k = 0,1,. . . . ., M-1
•
δ is the forgetting factor and Y = F yn
----------------------------------------------------------------------------------------------------[9] A.H. Syed, “Adaptive Filters”, Wiley-IEEE Press, 2008.
Variable Block Size FDE •
FDE works on block processing
•
The block size B can vary from 1 to M – M is the equalizer length
•
An equalizer of length M is divided into B parallel equalizers each of length M B
Variable Block Size FDE
Frequency Domain Blind Equalization • Frequency Domain CMA
. . [10]
– Proposed in 1989
----------------------------------------------------------------------------------------------------[10] J. Shynk, “Frequency-domain implementations of the constant modulus algorithm”, 23rd Asilomer conference on signals, systems and computers,1989.
Frequency Domain Blind Equalization • Frequency Domain MMA
. . [11]
– Proposed in 2003
----------------------------------------------------------------------------------------------------[11] Hai Huyen Dam et. Al, “Frequency domain constant modulus algorithm for broadband wireless systems”, IEEE GLOBECOM 2003.
Frequency Domain SCA
Wk +1 = Wk −
µ Λ
Yk
*
Ek
I M ×M Wk +1 = Wk − µ F 0 M ×M
0 M ×M H 1 * F Yk 0 M ×M Λ
Ek
(B = M)
Frequency Domain SCA Sample by Sample processing z[n] = wT[n] y[n] In z domain Z(z) = W(z) Y(z) • Block Processing: •
– A block of input
yB[n] = [y(nB) y(nB + 1) . . . . y(nB + B - 1)] is processed to make a block of output
zB[n] = [z(nB) z(nB + 1) . . . . z(nB + B - 1)]
Frequency Domain SCA •
The relation between output and input block is ZB(z) = W(z)YB(z) P1 ( z ) . . PB −1 ( z ) P0 ( z ) z −1 P ( z ) P ( z ) P ( z ) . . B − 1 0 1 −1 −1 W ( z ) = z PB − 2 ( z ) z PB −1 ( z ) P0 ( z ) P1 ( z ) . −1 −1 . z P ( z ) z P ( z ) P ( z ) P ( z ) B B − 2 − 1 0 1 − 1 − 1 − 1 z P1 ( z ) . z PB − 2 ( z ) z PB −1 ( z ) P0 ( z ) B× B
where
Pk(z) ,
k = 0,1,. . . . B-1
M −1 are the poly-phase components of the W(z) with each of degree B P0(z) = w(0) + w(B)z-1 + w(2B)z-2 + . . . . P1(z) = w(1) + w(B+1)z-1 + w(2B+1)z-2 + . . . . . . PB-1(z) = w(B-1) + w(2B-1)z-1 + w(3B-1)z-2 + . . . .
Frequency Domain SCA In order to save computations this block convolution is implemented in frequency domain • The input is also modified to implement over lap save method of convolution • W(z) is modified as •
W ( z ) = [ I B 0 B× B ] C ( z ) Q ( z )
1 P1 ( z ) . PB −1 ( z ) 0 . 0 P0 ( z ) 0 0 P0 ( z ) P1 ( z ) . PB −1 ( z ) 0 . . . 0 P0 ( z ) P1 ( z ) . PB −1 ( z ) 0 0 C ( z) = 0 . 0 P0 ( z ) P1 ( z ) . PB −1 ( z ) Q ( z ) = −1 z PB −1 ( z ) 0 . 0 P0 ( z ) P1 ( z ) . 0 . P ( z ) 0 . 0 P ( z ) P ( z ) B −1 0 1 . P ( z) . PB −1 ( z ) 0 . 0 P0 ( z ) 2 B×2 B 1 0
0
.
1 .
. .
0 0
. .
z −1 . . . 0
.
0 0 . 1 0 0 . z −1 2 B× B
Frequency Domain SCA •
W(z) is modified to
C2B×2B ( z ) = FH 2B×2B L 2B×2B ( z ) F2B×2B •
The input output relation now becomes
z B = [ I B 0 B× B ]F H L( z ) F Q yB where
P l0 ( z ) 0 l ( z) P1 1 . P 1 B − L( z ) = diag = diag F2 B×2 B 0 . . 0 0 2 B× M l2 B −1 ( z ) B
Output Computation
• For B = M, each “lk(z)” becomes a single tap filter, and output is computed by sample by sample multiplication.
Error Computation & Weight Update l0 ( z ) P0 ( z ) l ( z) P ( z) 1 1 . P2 ( z ) L( z ) = diag = diag F2 B×2 B . 0 . 0 l2 B −1 ( z ) 0 2 B×1
Error is computed in time domain for the output block • Weight update is performed in the frequency domain. •
lk ,i ( z ) = lk ,i −1 ( z ) −
µ E2 B ,i [k ]uk ,i * λk ,i
Computational Complexity Comparison of real multiplications required for each algorithm. • Time domain SCA requires •
cos tSCA = 10M + 4 real multiplications per input sample • FD-SCA with block size B requires
cos t FD − SCA
M M = (12 + 8 ) log 2 (2 B ) + 20 + 4 B B
real multiplications per input sample
Computational Complexity Multiplications required in each Algorithm
Equalizer length M = 64
•
Comparison of Computational Complexity
5
M
SCA
FD-SCA
2
24
64
4
44
84
8
84
104
16
164
124
32
324
144
64
644
164
128
1284
184
256
2564
204
512
5124
224
1024
10244
244
10
Number of Real Multiplications
SCA FD-SCA
4
10
3
10
2
10
1
10
0
200
400
600
800
1000
1200
Equalizer length
•
The reduction in complexity is more for longer equalizer lengths
Performance Comparison The algorithm has been tested for various modulation schemes and channel responses • Modulation •
– QPSK – 16 QAM
Equalizer length of 16 & 128 • SNR of 30 dB • FD-SCA and SCA perform the same • Normalized FD-SCA converges faster than FD-SCA and SCA •
----------------------------------------------------------------------------------------------------] T. Thaiupathump, S.A. Kassam, Lin He, “Square contour algorithm for blind equalization of QAM signals”, ELSEVIER DSP Journal, 2006. [12] http://spib.rice.edu/spib/microwave.html
Channel Model •
Channel Models – Outdoor Microwave Channel Model [12] – Voice band Communication channel model [7]
Simulation Results for FD-SCA QPSK, M = 16, Outdoor Channel Model “chan 11”
Simulation Results for FD-SCA QPSK, M = 128, Outdoor Channel Model “chan 11”
Simulation Results for FD-SCA 16QAM, M = 128, Outdoor Channel Model “chan 11”
Simulation Results for FD-MSCA QPSK, M = 16, Voice Band Channel Model
Simulation Results for FD-MSCA 16QAM, M = 16, Voice Band Channel Model
Hardware Implementation of FD-SCA • Fixed point Simulation in MATLAB – Number of bits require for each component were determined. – I/O was kept in 16 / 14 (Word-length / Fractional Length)
• Simulation in Xilinx ISE – Fast Fourier Transform v 5.0 IP Core was used for computation of FFT/IFFT – Can be configured to calculate FFT / IFFT at real time – Delays of the core • Takes input after 4 clock cycles after setting the START pin • After the application of input, output computation takes a certain delay which depends on the FFT size and Word-length.
Fixed Point Simulation Results
Hardware Implementation • • • • •
Algorithmic State Machine was developed for the whole algorithm. Implementation on FPGA followed the ASM As the whole algorithm is close loop, FFT core remains idle till the while loop is completed. Instead of using multiple FFT cores, only 1 core was used on a time sharing basis. A buffer was used to handle the initial delay of 4 cycles.
Stages in Implementation
Re-use of FFT Core
Error Computation
eSCA [n] = 4 z R [n](4 Z R [n]2 − R 2 SCA ) X + j4 z I [n](4Z I [n]2 − R 2 SCA )Y
X= Y=
1,
| zR | ≥ | zI |
0,
| zR | < | zI |
1,
| zR | ≤ | zI |
0,
| zR | > | zI |
Conclusions •
Implementation of SCA in frequency domain requires less computational complexity.
•
Normalized FD-SCA has less convergence time than SCA
•
The reduction in convergence time is more for – Longer equalizer lengths – Higher order constellations
•
An architecture has been proposed for the implementation of FD-SCA on FPGA.
Future Recommendations •
Frequency Domain Implementation of other blind algorithms like Stop & Go, AVMA etc.
•
Performance Analysis for fading channels, in terms of the amount of Doppler the algorithm can withstand. The work is in progress.
•
Implementation of the algorithm for MIMO systems.
References • •
• •
•
•
[1] S.U.H. Qureshi, “Adaptive Equalization”, Proceedings of the IEEE, Vol 73, Issue 9, Pages 1349-1387, 1985. [2] B. Sklar, “ Rayleigh fading channels in mobile digital communication systems.I. Characterization” IEEE Communications Magazine, Vol 35, Issue 9, Pages 136-146, 1997. [3] Y. Sato, “A Method of Self-Recovering Equalization for Multilevel AmplitudeModulation Systems”, IEEE transactions on Communications, 1975. [4] D.N. Godard, “Self-Recovering Equalization and Carrier Tracking in TwoDimensional Data Communication Systems”, IEEE Transaction on Communications, Nov 1980. [5] Kil Nam Oh. et. Al, “Modified constant modulus algorithm blind equalization and carrier phase recovery algorithm”, IEEE International Conference on Communications, 1995. [6] T. Thaiupathump, S.A. Kassam, ”Square contour algorithm: a new algorithm for blind equalization and carrier phase recovery”, IEEE Asilomar Conference on Signals, Systems and Computers, 2003..
References • • • • • •
[7] T. Thaiupathump, S.A. Kassam, Lin He, “Square contour algorithm for blind equalization of QAM signals”, ELSEVIER DSP Journal, 2006. [8] J.Shynk, “Frequency domain and multirate adaptive filtering ”, IEEE Signal Processing Magazine, 1992. [9] A.H. Syed, “Adaptive Filters”, Wiley-IEEE Press, 2008. [10] J. Shynk, “Frequency-domain implementations of the constant modulus algorithm”, 23rd Asilomer conference on signals, systems and computers,1989. [11] Hai Huyen Dam et. Al, “Frequency domain constant modulus algorithm for broadband wireless systems”, IEEE GLOBECOM 2003. [12] http://spib.rice.edu/spib/microwave.html
THANK YOU
Q&A