Korean Institute of Information Technology
[ Article ]
The Journal of Korean Institute of Information Technology - Vol. 16, No. 5, pp.75-81
ISSN: 1598-8619 (Print) 2093-7571 (Online)
Print publication date 31 May 2018
Received 04 Apr 2018 Revised 16 Apr 2018 Accepted 19 Apr 2018
DOI: https://doi.org/10.14801/jkiit.2018.16.5.75

다중경로 UWB-MIMO 채널에서 Lattice-Reduction이 적용된 Zero-Forcing 선형수신기의 성능 분석

김영범* ; 김상준**
*동아대학교 전자공학과
**동아대학교 전자공학과 교수
Performance Analysis of Lattice-Reduction Aided Zero-Forcing Linear Receiver in Multipath UWB-MIMO Channels
Youngbeom Kim* ; Sangchoon Kim**

Correspondence to: Sangchoon Kim Dept. of Electronics Eng., Dong-A University, Nakdong-Daero 550 beon-gil 37, Saha-Gu, Busan, Korea, Tel.: +82-51-200-7705, Email: sckim@dau.ac.kr

초록

실내 무선 UWB(Ultra-Wide-Band) 통신에서 MIMO(Multiple-Input Multiple-Output) 기술은 UWB 시스템과 결합하여 저-전력 초고속 통신이 가능하다. MIMO 기술로 공간 다중화된 UWB 신호는 ZF(Zero-Forcing) 필터를 사용하여 공간 데이터를 분리할 수 있다. ZF 수신기는 복잡도가 낮고 쉽게 구현이 가능하다는 장점이 있지만, 공간 데이터를 분리하는 과정에서 잡음증폭이 발생하여 성능 열화가 있다. LR(Lattice-Reduction) 기법을 통해 원래의 채널보다 더 직교한 가상의 채널이 만들어지고, 새롭게 만들어진 채널 행렬에 기반한 ZF 수신기를 사용하면 잡음증폭을 줄일 수가 있다. 본 논문은 다중경로가 존재하는 공간다중화 UWB-MIMO 채널에서 새로운 수신 구조로 LR이 적용된 ZF 수신기를 제안하고, 제안된 LR-ZF 수신기의 성능은 기존의 ZF-MRC(Maximum Ratio Combining) 수신기와 시뮬레이션을 통하여 성능을 비교하여 평가한다.

Abstract

In indoor wireless UWB(Ultra-Wide-Band) communications, MIMO(Multiple-Input Multiple-Output) technology can be combined with UWB systems to enable low-power, high-speed communications. Spatially multiplexed UWB signals can be separated by a ZF(Zero-Forcing) linear receiver. Although the ZF receiver has the advantage of low complexity and easy implementation, noise amplification occurs in the process of separating the spatial data stream, resulting in performance degradation. LR(Lattice-Reduction) techniques create a more orthogonal virtual channel matrix than the original channel matrix and thus reduce the noise amplification by LR-aided ZF receivers. The performance of the LR-based ZF receiver proposed in this work is evaluated and compared with other receivers by simulations.

Keywords:

UWB, MIMO, lattice reduction, zero forcing, multipath

Ⅰ. 서 론

UWB(Ultra-Wideband)-MIMO(Multiple-Input Multiple-Output) 기술은 저-전력 광대역 근거리 무선 통신 기술로 최근 의료 기기 분야에서 관심을 받고 있다[1][2]. 공간다중화 방식을 사용하는 UWB-MIMO 시스템은 높은 데이터 전송률을 가능하게 하지만 수신부에서 공간스트림을 분리해야 하는 어려운 점이 있다. [3]에서 제안한 ZF-MRC(Zero-Forcing-Maximum-Ratio-Combining) 수신기는 다중경로가 존재하는 공간다중화 UWB-MIMO 시스템에서 공간 데이터 스트림을 분리하기 위한 수신기이다. ZF-MRC 수신기는 공간 데이터를 분리하기 위해 채널 가중치를 곱하는 과정에서 잡음증폭이 발생하여 성능열화가 일어나기 때문에 최적의 수신기라고 보기는 어렵다.

LR(Lattice-Reduction)은 LLL(Lenstra-Lenstra-Lovasz)와 같은 알고리즘을 이용하여 직교 기저 혹은 직교에 가까운 기저를 찾는 기법이다[4]-[7]. LR을 통해 얻어진 새로운 가상 채널 행렬을 이용하여 ZF와 같은 선형 검출 기법에 사용하여 잡음 증폭을 크게 줄여서 성능을 개선할 수 있지만, 펄스 기반의 UWB-MIMO 시스템과 같이 다중경로가 존재하는 채널 환경에서 LR을 적용한 논문은 찾아보기 힘들며, 다중경로가 존재하는 실내 무선통신 분야에서 연구가 필요하다고 볼 수 있다. 본 논문은 다중경로가 존재하는 공간다중화 UWB-MIMO 채널에서 LR을 적용한 수신기를 제안하고, 그 성능을 평가한다.

본 논문의 구성을 다음과 같다. 2장은 다중경로 UWB-MIMO 시스템에 대하여 설명한다. 3장에서는 다중경로가 존재하는 공간다중화 UWB-MIMO 시스템을 위한 수신기들을 소개하며, 본 논문에서 새롭게 제안하는 LR-ZF 수신기를 제안한다. 4장에서는 ZF-MRC, LR-ZF-MRC, LR-ZF 수신기의 시뮬레이션 결과를 통해 성능을 비교 분석한다. 5장에서는 결론에 대해 기술한다.


Ⅱ. Multipath UWB-MIMO System Model

At개의 송신안테나와 Ar (≥At) 개의 수신안테나가 있는 UWB-MIMO 시스템을 가정한다. 2진 펄스 진폭 변조된 송신 데이터가 At개의 서로 다른 송신안테나를 통하여 독립적으로 전송된다. 여기서 심볼간 간섭을 방지하기 위하여 펄스 반복 주기는 채널 지연 확산에 비하여 충분히 크다고 가정한다. 펄스 기반의 UWB 신호들은 주파수 선택적 페이딩 채널을 경험하게 되고, 수많은 다중경로 성분들이 나타나게 된다. 본 논문의 통계적인 채널 모델은 [3]에 소개된 채널 임펄스 응답을 가지는 것을 적용한다. 수신기 측에서는 채널에 관한 정보를 알고 있다고 가정하고, 신호 검출을 위해 사용되는 경로 수는 Ld개로 제한을 둔다.

각각의 수신안테나에서 UWB 펄스 정합 필터를 사용한다고 가정하면, 이산 시간 수신 신호 벡터는 다음과 같다[3].

Rsd=FdTs+Nd(1) 

여기서 Rs (d) = [R1 (d) R2 (d) ... RAr(d)]Td 번째 지연 경로에서 수신된 Ar×1 신호 벡터, N (d) = [N1 (d) N2 (d) ... NAr(d)]Td번째 수신 경로에 대한 잡음 벡터이다. Nr (d) 은 r번째 수신안테나 잡음 신호로 평균이 0이고 분산 값이 N0/2인 AWGN(Additive White Gaussian Noise)으로 가정한다. 그리고 Ts = [T1T2 ... TAt]TAt개의 송신안테나에서 전송되는 데이터 벡터이다. 공간다중화된 번째 지연 경로의 채널 이득은 Ar×At 크기의 행렬로 다음과 같다.

Fd=f1 d f2 d fAt d  T(2) 

여기서 ft (d) = [f1,t (d) f2,t (d) ... fAr,t (d)]TAr×1 크기의 열 벡터이고, fr,t (d)은 t번째 송신안테나로부터 r번째 수신안테나로 들어가는 d번째 경로의 페이딩 계수를 의미하고, fr,t (d) = gr,t (d) hr,t (d)로 정의한다[3]. 여기서 gr,t (d)은 반사에 의해 랜덤 -1 또는 1이 등확률로 발생하여 펄스 위상을 전도시키고, hr,t (d)는 d번째 경로의 로그-정규 분포 페이딩 크기를 나타낸다.


Ⅲ. Multipath UWB-MIMO 수신기

3.1 ZF-MRC[3]

다중경로가 존재하는 UWB-MIMO 시스템에서 다중경로를 이용하기 위해 ZF-MRC 수신기가 [3]에서 제안되었다. ZF-MRC는 수신되는 경로마다 각 경로에 해당하는 이득 계수를 곱하여 수신 SNR(Signal-to-Noise Ratio)을 높여 성능을 개선한 것이다.

ZF-MRC 수신기에서는 먼저 d번째 경로의 채널 계수 행렬의 의사-역행렬 F (d)를 수신신호 벡터 Rs (d)에 곱해줘서 d번째 경로에 대한 ZF 필터의 출력 Ar×1 신호 벡터 Z (d) 를 다음과 같다.

Zd=Z1 d Z2 d ZAt d  T=Fd Rs d=Ts+ηd(3) 

여기서 Zt (d)은 d번째 경로에서 t번째 송신안테나에 대한 ZF 필터의 출력이고, F (d) = (F(d)HF(d))-1F(d)H 이고, ( · )H는 복소 공액 전치를 의미한다. η(d) = F (d)N(d)은 평균은 그대로 0인 증폭된 잡음 벡터이다. 만약 F(d)HF(d)이 full rank를 가진다면, t번째 데이터 스트림의 d번째 채널계수에 대한 가중치 γt (d)는 다음과 같다.

γtd=1FdHFd-1t,t(4) 

여기서 [ · ] t,t는 행렬의 (t,t) 위치의 요소를 표기한다. d번째 경로에 대한 ZF 필터의 출력에서 t번째 데이터 스트림의 가중치를 곱해주고, 모든 경로를 더해주게 되면 결론적으로 수신 SNR이 높아지게 된다. 마지막으로 t번째 데이터를 복원하기 위한 결정 변수 T̂t는 다음과 같다.

T̂t=d=0Ld-1γt d2Zt d(5) 

3.2 Lattice Reduction-aided ZF-MRC (LR-ZF-MRC)

ZF-MRC 수신 기법에서 경로마다 전송된 신호 벡터를 구하는 과정에서 condition number가 큰 채널의 가중치를 수신신호에 곱하는 과정에서 잡음이 크게 증폭하게 된다. LR과 같이 채널의 가중치를 좀 더 직교하게 만들어서 잡음증폭 현상을 줄일 수가 있어서 수신기 성능을 향상시킬 수 있을 것이다. LR을 수행하여 새로운 가상 채널 행렬을 구하는 과정은 다음과 같다[4][5].

먼저, d번째 경로에 해당하는 채널 이득 F (d)를 좀 더 직교하게 만들기 위해 LLL 알고리즘을 적용하고, 이 알고리즘은 표 1에 주어진다[7].

LLL algorithm

LLL 알고리즘을 통해 d 번째 경로에 대한 Y (d)행렬을 얻을 수 있으며, 여기서 Y (d) 행렬은 unimodular로서 determinant가 1이다. 다음과 같이 Y (d)을 이용하여 좀 더 직교해진 새로운 행렬을 만들어 준다.

F̃ d=Fd Yd(6) 

F(d)보다 좀 더 직교해진 F̃d을 이용하여 ZF 필터의 가중치 행렬을 다음과 같이 구한다.

F̃ d=F̃ dHF̃ d-1F̃ dH(7) 

수식 (7)F̃ d을 수신 벡터 신호 Rs (d)에 곱해주면 수식 (3)은 다음과 같이 바꿔 쓸 수 있다.

M̃ d=M̃1d M̃2d M̃AtdT=F̃ d Rs d=Md+ζd(8) 

수식 (8)M̃ d은 LR에 의해 기저가 바뀌어 있으므로 LR 영역에서 양자화 과정 Q ( ∙ )을 수행하면 다음과 같다[4].

X̃ d=QM̃ d=212M̃ d-Yd-11+Yd-11(9) 

여기서   은 소수를 반올림하여 가장 가까운 정수로 만들어 주는 것을 표기하고, 1은 단위벡터를 의미한다. 수식 (9)X̃ d를 원래의 기저로 바꾸기 위해 Y (d)을 곱하여 Z̃ d을 구한다.

Z̃d=Z̃1 d Z̃2 d Z̃At d  T(10) 

여기서 Z̃d=Z̃1 d Z̃2 d Z̃At dT이다.

마지막으로, 신호를 복원하기 위한 t번째 데이터 스트림을 위한 결정 변수는 수식 (4)의 채널 가중치 γt(d)를 LR이 적용된 ZF 필터의 출력에 곱하고, 모든 경로를 더하여 구할 수 있으며 식 (11)과 같이 주어진다.

T̂t=d=0Ld-1γt d2Z̃t d(11) 

위에서 설명한 LR-ZF-MRC 수신기 구조에 대한 간단한 블록도는 그림 1에서 보여준다.

Fig. 1.

LR-ZF-MRC receiver structure

3.3 LR-ZF 수신기

LR-ZF-MRC 수신기에서는 ZF 필터 과정에서 생기는 잡음증폭 현상을 줄일 수 있어서 ZF-MRC 수신기보다는 성능이 향상이 되지만, 수신 가능한 Ld개의 경로를 받았을 경우에는 LR이 적용된 ZF 필터의 출력에 수식 (4)의 경로 가중치를 곱하게 되어 양자화 과정에서 발생하는 양자화 오류 부분은 다중경로 MRC에 제대로 반영하지 못하고 있다. 더구나 LR 과정이 채널 경로별로 수행되기 때문에 경로별로 수행된 LR 채널 행렬들은 서로 간에 직교성을 보장받지 못한다. 따라서 본 논문에서 모든 다중경로 성분을 고려한 전체 채널 행렬에 대해 LR을 수행하여 모든 채널 간에 직교성을 확보한 후에 ZF 필터를 적용하는 새로운 수신 구조를 고려한다.

그림 2는 다중경로가 존재하는 UWB-MIMO 시스템에서 LR을 적용하기 위한 수신 구조를 간단하게 나타낸 것이다. LR-ZF-MRC 수신기처럼 수신기 측에서 경로별로 수신되는 신호를 일일이 LR 과정과 ZF 과정을 거치지 않고, 수신 가능한 Ld 개의 수신신호를 모두 받은 다음, 하나의 큰 채널 행렬을 만들어서 LR-ZF 과정을 수행한다.

Fig. 2.

LR-ZF receiver structure

수신기는 모든 Ld개의 채널 정보를 정확하게 알고 있다고 가정하고, 모든 Ld개의 경로로부터 수신된 신호는 다음과 같이 표현할 수 있다.

Rs 0Rs 1Rs Ld-1=F0F1FLd-1T1T2TAt+N0N1NLd-1=R¯=F¯ Ts+N¯(12) 

여기서 R¯LdAr×1 크기의 수신 벡터 신호이고, N¯LdAr×1 크기의 잡음 벡터, F¯LdAr×At 크기의 채널 행렬이다. 수신가능한 모든 경로로 만들어진 F¯ 행렬에 LLL 알고리즘을 수행하여 Y¯ 행렬을 얻고, F¯ 채널보다 더 직교해진 새로운 행렬을 다음과 같이 얻을 수 있다.

F̌=F¯ Y¯(13) 

새로 만들어진 수식 (13)의 의사-역행렬은 다음과 같다.

F̌=F̌HF̌-1F̌H(14) 

수식 (14)을 이용한 ZF의 출력은 다음과 같다.

M̌=F̌R¯(15) 

수식 (15)은 LR 영역이므로 양자화 과정을 수행하면 다음과 같다.

X̌=212M̌-Y¯-11+Y¯-11(16) 

수식 (16)의 결과에서 원래의 기저로 바꾸기 위해 Y¯을 곱하게 되면 다음과 같이 송신 신호를 검출하기 위한 결정변수가 만들어진다.

T̂s=Y¯ X̌(17) 

Ⅳ. 시뮬레이션 결과

다중경로가 존재하는 UWB-MIMO 채널 환경에서 LR이 적용된 수신기의 성능을 평가하기 위해 Matlab을 이용하여 Monte Carlo 시뮬레이션[8]을 하였으며, 본 논문에서 제안하는 공간다중화 UWB-MIMO 시스템을 위한 LR-ZF와 LR-ZF-MRC 수신기의 성능을 비교하기 위해 ZF-MRC 수신기의 BER 시뮬레이션 결과를 첨부하였다. 시스템 모델링을 위한 파라미터는 다음과 같다. 정보 비트당 SNR은 Eb/ (LdArN0)으로 정의한다. 평균 비트 에너지인 Eb는 1로 가정한다. 채널 페이딩 크기의 표준편차는 5dB로 가정하였으며, 로그-정규 분산을 따르는 페이딩 크기는 hr,t (d) = ψwr,t (d)로 정의하고[3], 여기서, wr,t (d)은 평균이 μwr,t (d)이고, 분산이 σw2인 가우시안 랜덤 변수로 경로마다 독립적으로 발생한다. 페이딩 크기의 기댓값 E[hr,t (d)2] = ψ-vd조건을 만족하기 위해 μwr,t d=-σw2-νd/2이 요구되고, σw = 5/ (20log10ψ)으로 구할 수 있고, 전력 감소 요소 ν = 0이라고 가정한다.

그림 3은 송신안테나 수가 At = 3, 수신안테나 수가 Ar = 4인 공간다중화 UWB-MIMO 시스템 환경에서 지연 경로가 Ld = 2인 경우의 시뮬레이션 결과를 나타내고 있다. SNR이 낮은 영역에서 ZF-MRC 수신기의 BER 성능이 LR이 적용된 LR-ZF-MRC 수신기의 BER 성능보다 약간 좋은 성능을 보이다가 SNR이 12dB인 구역에서 성능이 반전되는 것을 볼 수 있다. 본 논문에서 제안한 수신 구조의 LR-ZF 수신기의 BER 성능이 다른 ZF-MRC, LR-ZF-MRC 수신기의 것보다 뛰어난 성능을 보인다.

Fig. 3.

BER performances of ZF-MRC, LR-ZF-MRC and LR-ZF (At = 3, Ar = 4, Ld = 2)

그림 4Ld = 3인 경우의 시뮬레이션 결과를 보여주고 있다. 그림 3과는 다르게 그림 4에서는 SNR이 18dB보다 높은 영역에서 LR-ZF-MRC 수신기의 성능이 ZF-MRC 수신기의 성능이 역전되고, LR-ZF 수신기는 다른 수신기의 것보다 더 우수한 성능을 보이고 있다.

Fig. 4.

BER performances of ZF-MRC, LR-ZF-MRC and LR-ZF (At = 3, Ar = 4, Ld = 3)

그림 5At = 4, Ar = 4인 공간다중화 UWB-MIMO 시스템 환경에서 경로 수가 다를 때 BER 성능을 나타낸다. 그림 3, 4에서 본 것 같이 송신안테나의수가 증가한 경우 LR-ZF 수신기의 BER 성능이 ZF-MRC 수신기의 BER 성능보다 우수한 것을 볼 수 있다.LR 과정을 통해 원래의 채널보다 더욱 직교하게 바뀌어서 잡음 증폭 현상을 현저하게 줄였기 때문이다. 그리고 신호를 복조하기 위해 사용되는 경로 수가 LR-ZF의 경우에는 많은 경로 수가 필요하지 않다는 것도 알 수 있다.

Fig. 5.

BER performances of ZF-MRC and LR-ZF (At = 4, Ar = 4, Ld = 2,3,4)


Ⅴ. 결 론

본 논문에서는 다중경로가 존재하는 공간다중화 UWB-MIMO 시스템에서 LR을 적용하기 위해 새로운 수신 구조의 LR-ZF 수신기를 제안하였다. 기존의 ZF-MRC 수신기에 LR을 그대로 적용을 한 LR-ZF-MRC 수신기의 경우에는 낮은 SNR 영역에서 ZF-MRC보다 성능 열화를 보이고, 높은 영역에서 BER 성능이 역전되는 것을 볼 수 있다. 경로마다 LR 과정을 수행하고 경로의 가중치를 곱하는 과정에서 잡음증폭이 발생했기 때문이다. LR 과정을 적용하게 되면 원래의 채널보다 직교성이 좋아지기 때문에 잡음 증폭이 줄어들어야 한다. 하지만 LR-ZF-MRC 수신기의 경우에는 LR이 적용된 이점을 반영하지 못했다. 본 논문에서 제안하는 LR-ZF 수신기의 BER 성능은 모든 SNR 영역에서 ZF-MRC 수신기의 BER 성능보다 우수한 것을 알 수 있으며, 또한, LR-ZF 수신기가 다중경로가 존재하는 공간다중화 UWB-MIMO 시스템 환경에서 우수한 성능을 가진다는 것을 알 수 있었다.

Acknowledgments

본 논문은 동아대학교 교내연구비 지원에 의하여 연구되었음.

References

  • S. Pisa, E. Pittella, and E Piuzzi, "A survey of radar systems for medical applications", IEEE Aerospace and Electronic Systems Mag., 31(11), p64-81, Dec.), (2016. [https://doi.org/10.1109/maes.2016.140167]
  • C. X. Wang, "Cellular architecture and key technologies for 5G wireless communication networks", IEEE Commun. Mag., 52(2), p122-130, Feb.), (2014. [https://doi.org/10.1109/mcom.2014.6736752]
  • H. Liu, R. C. Qiu, and Z. Tian, "Error performance of pulse-based ultra-wideband MIMO systems over indoor wireless channels", IEEE Trans. Wireless Commun., 4(6), p2939-2944, Nov.), (2005.
  • D. Wübben, D. Seethaler, J. Jaldén, and G. Matz, "Lattice reduction: A survey with applications in wireless communications", IEEE Trans. Signal Processing Mag., 28(3), p70-91, May), (2011.
  • H. Yao, and G.W. Wornell, "Lattice-reduction-aided detectors for MIMO communication systems", IEEE GLOBECOM’02, 1, p424-428, Nov.), (2002.
  • X. Ma, and W. Zhang, "Performance analysis for MIMO systems with lattice-reduction aided linear equalization", IEEE Trans. Commun., 56(2), p309-318, Feb.), (2008.
  • A. K. Lenstra, H. W. Lenstra, Jr., and L. Lovász, "Factoring polynomials with rational coefficients", Math. Ann., 261(4), p515-534, Dec.), (1982. [https://doi.org/10.1007/bf01457454]
  • M. D. Benedetto, G. Giancola, "Understanding Ultra Wide Band Radio Fundamentals", Upper Saddle River, New Jersey, U.S.A., Prentice Hall,, (2004).
저자소개
김 영 범 (Youngbeom Kim)

2011년 2월 : 동아대학교 전자공학과(공학사)

2011년 3월 ~ 현재 : 동아대학교 전자공학과 석박사통합과정 수료

관심분야 : 이동/무선통신분야

김 상 준 (Sangchoon Kim)

1991년 2월 : 연세대학교 전자공학과(공학사)

1995년 : 미국 University of Florida 전기공학과(공학석사)

1999년 : 미국 University of Florida 전기 및 컴퓨터공학과(공학박사)

2000년 ~ 2005년 : LG전자 책임연구원

2005년 ~ 현재 : 동아대학교 전자공학과 교수

관심분야 : 이동/무선통신분야

Fig. 1.

Fig. 1.
LR-ZF-MRC receiver structure

Fig. 2.

Fig. 2.
LR-ZF receiver structure

Fig. 3.

Fig. 3.
BER performances of ZF-MRC, LR-ZF-MRC and LR-ZF (At = 3, Ar = 4, Ld = 2)

Fig. 4.

Fig. 4.
BER performances of ZF-MRC, LR-ZF-MRC and LR-ZF (At = 3, Ar = 4, Ld = 3)

Fig. 5.

Fig. 5.
BER performances of ZF-MRC and LR-ZF (At = 4, Ar = 4, Ld = 2,3,4)

Table 1.

LLL algorithm

입력 : F , 출력 : Y
(1) J = F 의 column 수
(1) Y = (J × J) unit 행렬
(2) [R, Q] = F 의 QR 분해
(3) δ ∈ (0.25, 1)
(4) i = 2
(5) while (iJ)
(6)     for k = i - 1 :- 1 : 1
(7)         u = ⌈R(k,i)/R(k,k)
(8)         if u ≠ 0
(9)             R(1 : k, i) = R(1 : k, i) - uR(1 : k, k)
(10)             Y(:,i) = Y(:,i) - uY(:,k)
(11)         end if
(12) end for
(13) if δRi-1,i-12>Ri,i2+Rn-1,i2
(14)      R(:,i - 1 : i) = R(:,i : i - 1), Y(:,i - 1 : i) = Y(:,i : i - 1)
(15)      Ω = norm(R(i - 1 : i, i - 1))
(16)      α = R(i - 1,i - 1)/Ω , β = R(i,i - 1))/Ω
(17)      Θ= [ α β ; - β α ]
(18)      R(i - 1 : i, i - 1 : J) = ΘR(i - 1 : i, i - 1 : J)
(19)      Q(:,i - 1 : i) = Q(:,i - 1 : i)Θ
(20)      i = max (i - 1,2)
(21) else
(22)      i = i + 1
(23) end if
(24) end while