Research Article

Loop-Reduction LLL Algorithm and Architecture for Lattice-Reduction-Aided MIMO Detection

Algorithm 2

The proposed loop reduction LLL algorithm using look-ahead check technique.
INPUT: 𝐐 , 𝐑 , s u c h t h a t 𝐇 = 𝐐 𝐑
OUTPUT: 𝐐 , 𝐑 , 𝐓 s u c h t h a t 𝐇 𝐓 = 𝐐 𝐑
( 1 ) Initialize   𝐐 = 𝐐 , 𝐑 = 𝐑 , 𝐓 = 𝐈 𝑁
( 2 )    π‘˜ = 2
( 3 )   while   π‘˜ ≀ 𝑁
( 4 )  for 𝑝 = π‘˜ βˆ’ 1 , … , 1
( 5 )    πœ‡ = ⌈ 𝐑 ( 𝑝 , π‘˜ ) / 𝐑 ( 𝑝 , 𝑝 ) βŒ‹
( 6 )    if   πœ‡ β‰  0
(7)   𝐑 ( 1 ∢ 𝑝 , π‘˜ ) ← 𝐑 ( 1 ∢ 𝑝 , π‘˜ ) βˆ’ πœ‡ 𝐑 ( 1 ∢ 𝑝 , 𝑝 )
(8)   𝐓 ( ∢ , π‘˜ ) ← 𝐓 ( ∢ , π‘˜ ) βˆ’ πœ‡ 𝐓 ( ∢ , 𝑝 )
(9)   end
(10) end
(11) if 𝛿 | 𝐑 ( π‘˜ βˆ’ 1 , π‘˜ βˆ’ 1 ) | 2 > | 𝐑 ( π‘˜ , π‘˜ ) | 2 + | 𝐑 ( π‘˜ βˆ’ 1 , π‘˜ ) | 2
(12)   𝐝 𝐨 {
(13)   swap columns π‘˜ βˆ’ 1 a n d π‘˜ i n 𝐑 a n d 𝐓
(14)   calculate Givens rotation matrix βŽ› ⎜ ⎜ ⎝ ⎞ ⎟ ⎟ ⎠ Θ = π‘Ž 𝑏 βˆ’ 𝑏 π‘Ž
π‘Ž = 𝐑 ( π‘˜ βˆ’ 1 , π‘˜ βˆ’ 1 ) β€– 𝐑 ( π‘˜ βˆ’ 1 ∢ π‘˜ , π‘˜ βˆ’ 1 ) β€– a n d 𝑏 = 𝐑 ( π‘˜ , π‘˜ βˆ’ 1 ) β€– 𝐑 ( π‘˜ βˆ’ 1 ∢ π‘˜ , π‘˜ βˆ’ 1 ) β€–
(15)   𝐑 ( π‘˜ βˆ’ 1 ∢ π‘˜ , π‘˜ βˆ’ 1 ∢ 𝑁 ) ← Θ 𝐑 ( π‘˜ βˆ’ 1 ∢ π‘˜ , π‘˜ βˆ’ 1 ∢ 𝑁 )
(16)   𝐐 ( ∢ , π‘˜ βˆ’ 1 ∢ π‘˜ ) ← 𝐐 ( ∢ , π‘˜ βˆ’ 1 ∢ π‘˜ ) Θ 𝑇
(17)   π‘˜ ← π‘˜ βˆ’ 1
(18)  }while ( 𝛿 | 𝐑 ( π‘˜ βˆ’ 1 , π‘˜ βˆ’ 1 ) | 2 > | 𝐑 ( π‘˜ , π‘˜ ) | 2 + | 𝐑 ( π‘˜ βˆ’ 1 , π‘˜ ) | 2 & & π‘˜ β‰  1 )
(19)   if   ⌈ 𝐑 ( π‘˜ , π‘˜ + 1 ) / 𝐑 ( π‘˜ , π‘˜ ) βŒ‹ β‰  0
(20) π‘˜ ← π‘˜ + 1
(21)   else
(22) π‘˜ ← k + 2
(23)  end
(24)  else
(25) π‘˜ ← π‘˜ + 1
(26) end
(27) end