approximate neumann series or exact matrix inversion for
play

Approximate Neumann Series or Exact Matrix Inversion for Massive - PowerPoint PPT Presentation

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


  1. Approximate Neumann Series or Exact Matrix Inversion for Massive MIMO? Oscar Gustafsson, Erik Bertilsson, Johannes Klasson, and Carl Ingemarsson

  2. • 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

  3. • : 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)

  4. 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

  5. • 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

  6. • 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

  7. 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

  8. • 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

  9. 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

  10. • “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

  11. 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”

  12. . . . ... . . . . . . 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 · · ·

  13. 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 · · ·

  14. 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 · · ·

  15. 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

  16. . . . ... . . . . . . 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 · · ·

  17. 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 · · ·

  18. • 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:

  19. • 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)

  20. • 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

  21. 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

  22. Matrix Inversion for Massive MIMO Oscar Gustafsson July 25, 2017 9 Computational Complexity Example 4 × 4 exact matrix inversion based on LDL ⊺ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  23. • 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

  24. • 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

  25. 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