Approximate Neumann Series or Exact Matrix Inversion for Massive MIMO? Oscar Gustafsson, Erik Bertilsson, Johannes Klasson, and Carl Ingemarsson
• Channel matrix, • Gram matrix, to be inverted for zero forcing (or MMSE) • : conjugate symmetric (Hermitian) and semi-definite • : with uncorrelated channels and , diagonally dominant Oscar Gustafsson Matrix Inversion in Massive MIMO 1 July 25, 2017 Matrix Inversion for Massive MIMO • N terminals, M antennas
• : conjugate symmetric (Hermitian) and semi-definite • : with uncorrelated channels and , diagonally dominant Matrix Inversion for Massive MIMO Oscar Gustafsson July 25, 2017 1 Matrix Inversion in Massive MIMO • N terminals, M antennas • Channel matrix, H ∈ C M × N • Gram matrix, X = H H H ∈ C N × N to be inverted for zero forcing (or MMSE)
Matrix Inversion for Massive MIMO Oscar Gustafsson July 25, 2017 1 Matrix Inversion in Massive MIMO • N terminals, M antennas • Channel matrix, H ∈ C M × N • Gram matrix, X = H H H ∈ C N × N to be inverted for zero forcing (or MMSE) • X : conjugate symmetric (Hermitian) and semi-definite • X : with uncorrelated channels and M ≫ N , diagonally dominant
• Computed between reception of pilot and transmission of first downlink data • Latency, not throughput Oscar Gustafsson Matrix Inversion for Massive MIMO Matrix Inversion in Massive MIMO July 25, 2017 2 T frame UL UL P UL UL G DL DL G N UL,1 N UL,2 N DL • One matrix inversion per frame
• Latency, not throughput Matrix Inversion in Massive MIMO Oscar Gustafsson Matrix Inversion for Massive MIMO 2 July 25, 2017 T frame UL UL P UL UL G DL DL G N UL,1 N UL,2 N DL • One matrix inversion per frame • Computed between reception of pilot and transmission of first downlink data
Matrix Inversion for Massive MIMO Oscar Gustafsson July 25, 2017 2 Matrix Inversion in Massive MIMO T frame UL UL P UL UL G DL DL G N UL,1 N UL,2 N DL • One matrix inversion per frame • Computed between reception of pilot and transmission of first downlink data • Latency, not throughput
• LDL -decomposition • Lowest operation count • Reasonable fixed-point properties • No square-roots Oscar Gustafsson Matrix Inversion for Massive MIMO 3 Algorithms for Matrix Inversion July 25, 2017 • Exact algorithms • Numerical issues, especially in fixed-point, for close to singular (sub-)matrices • Division and/or square-roots • Cubic complexity
Matrix Inversion for Massive MIMO Oscar Gustafsson July 25, 2017 3 Algorithms for Matrix Inversion • Exact algorithms • Numerical issues, especially in fixed-point, for close to singular (sub-)matrices • Division and/or square-roots • Cubic complexity • LDL ⊺ -decomposition • Lowest operation count • Reasonable fixed-point properties • No square-roots
• “High parallelism” • “Low complexity” • “No division” • “Numerically stable” Oscar Gustafsson Matrix Inversion for Massive MIMO 4 Algorithms for Matrix Inversion July 25, 2017 • Neumann series expansion • Precondition matrix A ≈ X − 1 � K � ˆ � ( I − AX ) n − 1 X − 1 (1) K = A , n =1
Matrix Inversion for Massive MIMO Oscar Gustafsson July 25, 2017 4 Algorithms for Matrix Inversion • Neumann series expansion • Precondition matrix A ≈ X − 1 � K � ˆ � ( I − AX ) n − 1 X − 1 (1) K = A , n =1 • “High parallelism” • “Low complexity” • “No division” • “Numerically stable”
. . . ... . . . . . . Oscar Gustafsson Matrix Inversion for Massive MIMO July 25, 2017 5 Algorithms for Matrix Inversion Diagonal precondition matrix a 1 , 1 0 0 · · · 0 a 2 , 2 . . . 0 A = . . . ... . . . . . . 0 0 a N,N · · ·
Matrix Inversion for Massive MIMO Oscar Gustafsson July 25, 2017 5 Algorithms for Matrix Inversion Diagonal precondition matrix a 1 , 1 0 0 · · · 0 a 2 , 2 . . . 0 A = . . . ... . . . . . . 0 0 a N,N · · · a i,i = 1 /x i,i 0 y 1 , 2 y 1 ,N · · · y 2 , 1 0 . . . y 2 ,N . . . I − AX = ... . . . . . . y N, 1 y N, 2 0 · · ·
Sequential computation of Generic Oscar Gustafsson Matrix Inversion for Massive MIMO Algorithms for Matrix Inversion July 25, 2017 6 Tri-diagonal precondition matrix a 1 , 1 a 1 , 2 0 0 · · · a 2 , 1 a 2 , 2 a 2 , 3 . . . 0 0 a 3 , 2 a 3 , 3 . . . 0 A = . . . ... . . . . . . 0 0 0 a N,N · · ·
Matrix Inversion for Massive MIMO Algorithms for Matrix Inversion Oscar Gustafsson July 25, 2017 6 Tri-diagonal precondition matrix a 1 , 1 a 1 , 2 0 0 · · · a 2 , 1 a 2 , 2 a 2 , 3 . . . 0 0 a 3 , 2 a 3 , 3 . . . 0 A = . . . ... . . . . . . 0 0 0 a N,N · · · Sequential computation of A Generic I − AX
. . . ... . . . . . . Oscar Gustafsson Matrix Inversion for Massive MIMO July 25, 2017 7 Algorithms for Matrix Inversion Diagonal + column precondition matrix a 1 , 1 0 0 · · · a 2 , 1 a 2 , 2 . . . 0 A = . . . ... . . . . . . a N, 1 0 a N,N · · ·
Matrix Inversion for Massive MIMO Oscar Gustafsson July 25, 2017 7 Algorithms for Matrix Inversion Diagonal + column precondition matrix a 1 , 1 0 0 · · · a 2 , 1 a 2 , 2 . . . 0 A = . . . ... . . . . . . a N, 1 0 a N,N · · · 0 y 1 , 2 y 1 ,N · · · 0 y 2 , 2 bb . . . y 2 ,N . . . I − AX = ... . . . . . . 0 y N, 2 y N,N · · ·
• Total number of operations latency scales with number of processing elements (PEs) • Number of sequential operations latency does not scale with number of PEs • Pipelining of the PEs • Increases clock frequency • Increases latency Oscar Gustafsson Computational Complexity 8 July 25, 2017 Matrix Inversion for Massive MIMO • The latency (time to obtain the result) of an algorithm depends on two aspects:
• Number of sequential operations latency does not scale with number of PEs • Pipelining of the PEs • Increases clock frequency • Increases latency Matrix Inversion for Massive MIMO Oscar Gustafsson Computational Complexity 8 July 25, 2017 • The latency (time to obtain the result) of an algorithm depends on two aspects: • Total number of operations → latency scales with number of processing elements (PEs)
• Pipelining of the PEs • Increases clock frequency • Increases latency Oscar Gustafsson Matrix Inversion for Massive MIMO 8 Computational Complexity July 25, 2017 • The latency (time to obtain the result) of an algorithm depends on two aspects: • Total number of operations → latency scales with number of processing elements (PEs) • Number of sequential operations → latency does not scale with number of PEs
Matrix Inversion for Massive MIMO Oscar Gustafsson July 25, 2017 8 Computational Complexity • The latency (time to obtain the result) of an algorithm depends on two aspects: • Total number of operations → latency scales with number of processing elements (PEs) • Number of sequential operations → latency does not scale with number of PEs • Pipelining of the PEs • Increases clock frequency • Increases latency
Matrix Inversion for Massive MIMO Oscar Gustafsson July 25, 2017 9 Computational Complexity Example 4 × 4 exact matrix inversion based on LDL ⊺ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
• Sum-of-products computed using sequential MADs • operations, each with pipeline stages implemented on processing elements (PEs) require cycles. (2) alg latency Oscar Gustafsson How Many Cycles? 10 July 25, 2017 Matrix Inversion for Massive MIMO • Assume multiply-and-add (MAD) operations • Reciprocals performed using Newton-Raphson → a number of sequential MAD operations
• operations, each with pipeline stages implemented on processing elements (PEs) require cycles. (2) alg latency Matrix Inversion for Massive MIMO Oscar Gustafsson How Many Cycles? 10 July 25, 2017 • Assume multiply-and-add (MAD) operations • Reciprocals performed using Newton-Raphson → a number of sequential MAD operations • Sum-of-products computed using sequential MADs
Matrix Inversion for Massive MIMO Oscar Gustafsson July 25, 2017 10 How Many Cycles? • Assume multiply-and-add (MAD) operations • Reciprocals performed using Newton-Raphson → a number of sequential MAD operations • Sum-of-products computed using sequential MADs • O operations, each with P pipeline stages implemented on Q processing elements (PEs) require �� O � � cycles. (2) C alg ≥ max + P − 1 , PC latency Q
Recommend
More recommend