2022년 9월 18일 일요일

쏘고 튕기는 광선, SBR(Shooting and Bouncing Rays)

[경고] 아래 글을 읽지 않고 "쏘고 튕기는 광선, SBR"을 보면 바보로 느껴질 수 있습니다.

[확인] 본 페이지는 exp(-iωt) 시간 약속을 사용하고 있습니다.


[그림 1] 쏘고 튕기는 광선, SBR의 동작 원리

전자기 광선 추적(electromagnetic ray tracing)은 유용하고 효율적인 고주파 해석 기법이지만, 컴퓨터 그래픽스(computer graphics, CG) 기법을 온전히 채용하면서 정밀도가 높은 전자파 산란 계산까지 포함시키기는 매우 어렵다. 잘 발달된 CG용 광선 추적 알고리즘을 사용하면서 기하 광학(geometrical optics, GO)보다 산란을 더 정확하게 예측하는 물리 광학(physical optics, PO)을 결합시킨 새로운 광선 추적법이 바로 쏘고 튕기는 광선(shooting and bouncing rays, SBR)이다[1]. 쏘고 튕기는 광선은 우리가 광선을 여러 방향으로 쏘고, 광선이 산란체에 튕긴다는 뜻이다. [그림 1]은 SBR의 기본적인 동작 원리를 깔끔하게 보여준다. 기존 전자기 광선 추적처럼 SBR은 기본적으로 GO를 사용한다. 송신기(transmitter, TX)의 송신 안테나(Tx antenna)에서 복사된 송신 광선(Tx ray)이 진행하는 특성과 물체에서 생기는 반사를 모두 GO로 처리한다. 여기서 반사 광선(reflection ray)프레넬 방정식(Fresnel equation)으로 연산한다. 대신 기존 전자기 광선 추적과 구별되게 송신 광선이 물체에 충돌할 때는 충돌된 위치[그림 1에서 파란색 삼각형]에서 수신기(receiver, Rx)로 가는 수신 광선(Rx ray)을 발사하며 PO 계산을 한다. 구체적으로, 이 수신 광선이 장애물에 막히지 않고 수신 안테나(Rx antenna)까지 가면, 키르히호프 근사(Kirchhoff approximation)에 바탕을 둔 PO를 이용해 충돌 위치에서 수신 안테나로 가는 산란장(scattered field)을 정밀하게 도출한다.
SBR에 사용하는 광선 추적 엔진은 NVIDIA에서 만든 OptiX를 주로 사용한다[2]. OptiX는 기초적인 광선 추적 연산을 제공하기 때문에, 매우 간단하게 SBR을 코드 형태로 구현할 수 있다. 전자기 광선 추적을 기초로 해서 OptiX로 SBR 코드를 구성하는 방식을 설명한다.

  • 광선 발생 프로그램(Ray Generation Program)
광선 발생 프로그램은 기존 전자기 광선 추적과 동일하게 구성한다. 송신 안테나가 쏘는 전기장은 다음처럼 공식화한다.

                  (1)

                  (2)

여기서 $\bar E_p(\theta, \phi) \sim \bar E_p(\bar r)$은 벡터식 복사 패턴(vectorial radiation pattern), 구 좌표계의 성분 $(\theta, \phi)$의 중심은 송신 안테나, $\bar E_g$는 기하 광학장(geometrical optics field)전기장 계수(E-field coefficient)이다. 식 (2)를 사용해서 얻은 $\bar E_g$를 송신 광선의 광선당 자료(per-ray data, PRD)에 저장시킨다.

  • 최근접 명중 프로그램(Closest-hit Program)
광선이 물체에 부딪히면 표면 등가의 원리(surface equivalence principle)등가 전류 및 자류 밀도, $\bar J_\text{GO}$와 $\bar M_\text{GO}$를 구한다. 이 전류 및 자류 밀도를 적분해서 수신 안테나에 유기되는 전기장을 PO로 획득한다. 적분 계산을 회피하기 위해, 물체를 삼각화(triangulation)해서 매우 작은 크기를 가진 물체 삼각형으로 된 그물망을 생성(mesh generation)한다.

                   (3)

                   (4)

                   (5)

                   (6)

                   (7)

여기서 $M$은 특정한 물체 삼각형에서 산란파를 구할 때 쓰는 미소 삼각형의 개수[간략화를 위해 보통 $M$ = $1$로 설정], 나머지 매개변수는 물리 광학의 관계식에 나오며, 수신 광선이 수신 안테나로 갈 때 장애물에 의한 방해를 받지 않는다. 따라서 제$q$번 광선이 물체에 산란되어 생긴 수신기의 전기장 $\bar E_q (\bar r_q)$는 다음과 같다.

                   (8)

여기서 $A(t_q)$는 제$q$번 송신 광선의 확산 인자(spreading factor), $\rho$는 송신 안테나 위치에서 구면파의 곡률, $t_q$는 제$q$번 송신 광선이 물체 삼각형에 충돌할 때까지 경로 길이(path length), $\bar r_q$는 물체 삼각형에서 수신 안테나로 가는 위치 벡터, $(\vartheta_q, \varphi_q)$는 수신 안테나를 중심으로 한 구 좌표계의 성분, $\bar L_\text{eff}(\vartheta_q, \varphi_q)$는 벡터식 유효 길이(vectorial effective length)이다. 또한 최근접 명중 프로그램에서는 송신 광선이 물체에 반사된 결과인 반사 광선을 생성하고, 이 반사 광선을 마치 송신 광선처럼 다시 재귀적으로 사용해 광선 추적을 다시 진행한다. 이 광선을 모두 추적해서 반환된 반사 광선의 전기장을 $\bar E_{rq}(s_{rq})$로 표기한다. 그러면 수신 안테나에 생기는 수신 전기장 $\bar E_\text{rx}$는 최종적으로 다음처럼 합산된다.

                   (9)

여기서 $Q$는 광선 발생 프로그램이 만든 전체 광선 개수이다.

기존 전자기 광선 추적에서 심각한 문제였던 퐁 반사 모형(Phong reflection model)내적 $\hat R \cdot \hat V$를 SBR은 PO 방식으로 손쉽게 해결한다. 이로 인해 SBR은 CG용 광선 추적의 병렬화 기반 가속화를 사용하면서도 전자파의 다양한 산란 공식을 사용해 정밀한 전파 특성 예측이 가능하다.   

[참고문헌]
[1] H. Ling, R.-C. Chou, and S.-W. Lee, "Shooting and bouncing rays: calculating the RCS of an arbitrarily shaped cavity," IEEE Trans. Antennas Propag., vol. 37, no. 2, pp. 194–205, Feb. 1989.
[2] C. Y. Kee and C. Wang, "Efficient GPU implementation of the highfrequency SBR-PO method," IEEE Antennas Wirel. Propag. Lett., vol. 12, pp. 941–944, 2013.
[3] 최영재, 최인식, "GPU 기반의 TSM-RT를 이용한 풍력 블레이드의 동적 RCS 계산”, 한국전자파학회논문지, 제31권, 제3호, pp. 245–252, 2020년 3월.

댓글 없음 :

댓글 쓰기

욕설이나 스팸글은 삭제될 수 있습니다. [전파거북이]는 선플운동의 아름다운 인터넷을 지지합니다.