논문/REGULAR PAPERS

시뮬레이티드 어닐링을 이용한 다중 위상 코드 설계

김은희1,https://orcid.org/0000-0001-5118-5509, 김수범*https://orcid.org/0000-0002-4903-1735, 한승수**https://orcid.org/0000-0003-3774-0072, 신상진***https://orcid.org/0000-0002-0231-2994, 오상록***https://orcid.org/0000-0002-7796-0670
Eun-Hee Kim1,https://orcid.org/0000-0001-5118-5509, Soo-Bum Kim*https://orcid.org/0000-0002-4903-1735, Seung-Su Han**https://orcid.org/0000-0003-3774-0072, Sang-Jin Shin***https://orcid.org/0000-0002-0231-2994, Sang-Rok Oh***https://orcid.org/0000-0002-7796-0670
Author Information & Copyright
1세종대학교 국방시스템공학과
*(주)래드시스
**STX엔진(주)
***방위산업기술지원센터
1Department of Defense System Engineering, Sejong University
*Radsys Co., Ltd.
**STX Engine Co., Ltd.
***Defense Industry Technology Center
Corresponding Author: Eun-Hee Kim (e-mail: eunheekim@sejong.ac.kr)

© Copyright 2020 The Korean Institute of Electromagnetic Engineering and Science. This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/4.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

Received: Feb 17, 2020; Revised: Apr 13, 2020; Accepted: Apr 15, 2020

Published Online: Apr 30, 2020

요약

잡음 레이다 파형은 탐지 가능성이 매우 낮으며, 복수개의 레이다가 운용되는 경우 상호 간섭을 최소화할 수 있다. 잡음 레이다 파형으로 사용되는 다중 위상 코드는 코드 자신의 자기상관함수의 부엽과 코드 간의 상호상관함수의 크기를 목적함수로 하여 이를 최소화하도록 설계한다. 코드의 길이가 증가하고 다중 위상의 구분 개수가 증가할 경우에 최적의 위상 코드를 설계하기 위해서는 최적화 기법이 필요하다. 본 논문에서는 시뮬레이티드 어닐링 기법을 적용하여 다중 위상 코드를 설계한 결과를 제시하였다. 코드 길이 512개 이하의 다중 위상 코드 설계에서, 몇 가지의 다중 위상 개수와 복수개의 코드의 경우에 대하여 시뮬레이티드 어닐링 기법을 적용하면, 1일 정도의 적은 계산 시간 내에서도 최적의 코드를 획득할 수 있음을 확인하였다.

Abstract

Noise radar waveforms are unlikely to be detected and can reduce mutual interference when multiple radars are in operation. The polyphase codes, employed as noise waveforms, are to be designed to minimize the objective function, which is the sidelobe level of the autocorrelation function of each code and the cross-correlation functions between them. Optimization techniques are required to design the optimal phase code, accompanied by long code lengths and large distinct phase numbers. In this paper, we present the results of designing polyphase codes using the simulated annealing algorithm. By applying simulated annealing to the case of several distinct phase numbers and multiple codes, with code lengths of 512 or lesser, we can design optimal codes requiring short computation times of about a day.

Keywords: Polyphase Code; Simulated Annealing; Radar Waveform; Noise Radar; MIMO Radar

Ⅰ. 서 론

잡음 레이다(noise radar) 파형은 상대에게 탐지될 가능성이 매우 낮아 전자 보호 기능이 뛰어나며, 동일 대역에서 다수의 레이다를 운용할 수 있으므로 주파수 대역을 효율적으로 사용할 수 있는 방법이다[1]. 그러나 구현이 복잡하고 기술적으로 쉽지 않으므로 그동안 많은 연구가 이루어지지는 않았으나, 최근 들어 레이다 하드웨어 기술의 발전과 함께 관심이 증가하고 있다. 실제 시스템에서는 실 잡음보다는 어느 정도 정해진 범위의 무작위 파형, 즉, 의사 잡음(pseudo noise)을 주로 사용한다.

잡음 파형의 중요한 특성은 무작위성으로 여러 파형이 있는 경우 파형 간의 간섭이 거의 없다. 이러한 특성으로 최근 다중 입출력(multi-input multi-output: MIMO) 레이다 시스템 분야에서 잡음 파형이 주목을 받고 있다. MIMO 레이다는 서로 다른 위치에 설치되어 운영되는 경우 표적의 레이다 단면적(radar cross section: RCS)을 여러 방향으로 측정할 수 있어, 레이다 신호의 입사 방향으로의 역산란을 최소화하도록 설계된 스텔스 표적을 탐지하는 데에 효과적인 방식이다. 이는 동시에 여러 신호를 송신하고 각각을 수신해야 하기 때문에, 각 신호는 서로 간섭이 없어야 하므로 잡음 파형을 적용하기에 적합하다.

의사 잡음 파형은 주파수 또는 위상을 무작위로 변조하여 생성한다. 위상 변조 방식에서 2개의 위상(0°, 180°)만 사용하는 경우를 이중 위상(biphase) 코드라고 하고, 다수개의 위상을 사용하는 경우 다중 위상(polyphase) 코드라고 한다. 이중 위상 코드 생성법에는 잘 알려진 Barker 코드 외에 MLS(maximum length sequence) 방식 등이 있고, 다중 위상 코드로는 Frank, P1, P2, P3, P4 등의 코드 방식이 있다[2]. 주파수에 대하여 무작위 변조를 하는 경우는 Costas signal 방식 등이 있다. 기존의 위상 코드는 기술적인 어려움으로 코드 길이나 다중 위상 개수에서 제한된 범위 내에서 연구되어 왔다. 반사 파워가 작은 표적이 큰 표적의 부엽에 가려져 탐지되지 않는 경우를 방지하기 위해서 부엽을 감소시켜야 하나, 코드 길이나 다중 위상 개수가 제한될 경우, 수신 신호의 자기 상관도의 부엽이나 상호 간섭도를 감소시키는 데에 한계가 있다. 기존에 알려진 코드 길이 100의 이중 위상 코드의 자기상관 부엽의 크기는 주엽 대비 약 −26 dB이다[2]. 펄스 레이다에서 주로 사용되는 LFM(linear frequency modulation) 파형에서는 윈도우를 사용하여 자기상관의 부엽을 −30에서 −40 dB 이하로 감소시키지만, 위상 코드에서는 윈도우를 적용할 수가 없으며, 코드 자체에서 부엽을 감소시킬 수 있도록 설계가 되어야 한다. 이러한 이유로 그동안 실제 시스템에서는 위상 코드가 크게 활용되지는 못했었다.

최근 들어 레이다 하드웨어 기술의 발전과 함께 MIMO 레이다에 대한 필요성이 증가함에 따라 실제 잡음과 유사하게 광대역에서 고분해능으로 낮은 부엽을 갖고 상호 간섭이 적은 잡음 파형에 대한 관심이 증가하고 있으며, 이에 따라 코드 길이가 길고 다중 위상 개수가 많은 위상 코드의 설계가 점점 더 요구되고 있다. 파형 설계에 대한 요구 조건으로 목적함수를 정의하는데, 의사 잡음 파형에서의 위상 코드에서는 단일 코드 각각의 자기상관함수(auto-correlation)의 부엽의 크기와 여러 코드 간의 상호상관함수(cross-correlation)의 크기를 목적함수로 정의하고, 이를 최소화하는 위상 코드를 찾는 것을 목표로 한다. 요구 조건을 만족시키는 위상 코드를 찾는 가장 단순한 방법은 모든 가능한 위상 조합에 대하여 목적함수를 계산하여 비교하는 것이다. 하지만 코드 길이나 다중 위상 개수가 증가하면 이를 찾는 데에 계산 시간이 매우 많이 소요된다. 단순하게 코드 길이가 N인 단일 이중 위상 코드의 경우에 2N 단위 개수의 코드가 존재하는데, 예를 들어 코드 길이가 100이면 대략 1030개 단위의 코드가 존재하여 아무리 성능이 우수한 컴퓨터로 계산을 하여도 이를 모두 비교하는 데에 수십 일이나 그 이상의 시간이 필요하게 된다. 따라서 코드 길이와 다중 위상 개수가 늘어나고, 복수개의 코드의 경우에는 사실상 모든 코드의 목적함수를 계산하여 비교하는 것은 불가능하다. 이러한 문제로 현재까지 코드 길이 수십에서 일백 정도의 위상 코드에 대해서만 최적의 코드가 발표되어 있다[2].

위상 코드를 이용한 잡음 파형의 부엽 감소에서는 주로 수신단에서의 비정합 필터 방식이 연구되고 있으며[3], 코드 설계 단계에서는 시뮬레이티드 어닐링(simulated annealing: SA)과 같은 최적화 기법을 적용하는 방법이 제안된 바 있다[4]. 본 논문에서는 SA 기법을 적용하여 다중 위상 코드를 설계한 결과를 제시한다. 위상 코드 설계를 위한 목적함수를 정의하고, 몇 가지의 코드 길이와 다중 위상 개수 및 복수개의 코드에 대하여 SA 기법을 적용함으로써 비교적 적은 시간에도 목적함수를 최소화하는 코드를 설계하는 것이 가능함을 보인다.

Ⅱ. 다중 위상 코드 설계의 목적함수 정의

다중 위상 코드를 사용한 잡음 레이다 파형 설계는 코드 길이가 NL개의 코드를 구성하는 위상 행렬을 찾는 것을 목적으로 한다[4]. 위상 행렬은 식 (1)과 같이 L×N개의 위상으로 구성된 실수 행렬 Φ로 정의한다.

Φ ( L , M , N ) R L × N = [ φ 1 ( 1 ) φ 1 ( 2 ) φ 1 ( 3 ) φ 1 ( N ) φ 2 ( 1 ) φ 2 ( 2 ) φ 2 ( 3 ) φ 2 ( N ) φ l ( n ) φ L ( 1 ) φ L ( 2 ) φ L ( 3 ) φ L ( N ) ] l = 1 , 2 , , L , n = 1 , 2 , , N
(1)

행렬 요소인 개별 위상 φl (n)은 식 (2)와 같이 0∼2 π 사이에서 M개의 구분된 위상 집합의 요소 중 하나이다.

φ l ( n ) { 0 , 2 π M , 2 2 π M , , ( M 1 ) 2 π M }
(2)

실제 파형에 사용되는 위상 코드 s(n) 은 위상 φl (n)을 사용하여 식 (3)과 같이 생성된다.

s ( n ) = e j φ l ( n ) , j = 1
(3)

다중 위상 개수 M이 2이면 이중 위상 코드이고, 위상은 0과 π가 되어 코드는 1과 ™1의 값을 갖는다. M이 2보다 크면 다중 위상 코드이며, 복소수 형태의 코드를 갖는다.

위상 코드 설계를 위한 목적함수는 각 코드의 자기상관함수의 부엽과 코드 간의 상호상관함수를 최소화하는 것이다. 상호상관함수는 복수개의 코드(L>1)가 사용될 때 필요하다. 자기상관함수의 부엽과 상호상관함수 관점에서 목적함수는 식 (4), (5)와 같이 정의한다[4].

E p e a k = 1 N l = 1 L k 0 max | A ( φ l , k ) | + ρ 1 N p = 1 L 1 q = p + 1 L k max | C ( φ p , φ q , k ) |
(4)
E E n e r g y = 1 N 2 l = 1 L k = 1 N 1 | A ( φ l , k ) | 2 + ρ 1 N 2 p = 1 L 1 q = p + 1 L k = N + 1 N 1 | C ( φ p , φ q , k ) | 2
(5)

EPeak는 첨두 부엽 크기(peak sidelobe level: PSL) 관점의 목적함수이고, EEnergy는 부엽 에너지의 총합(integrated sidelobe level: ISL) 관점의 목적함수이다. ρ는 자기상관함수와 상호상관함수의 가중치이다.

자기상관함수는 식 (6)과 같이 정의하고, 상호상관함수는 식 (7)과 같이 정의한다. 자기상관함수에서 k=0이면 주엽이 되고, 크기는 코드 길이 N이다. 자기상관함수와 상호상관함수는 정의에 따라 N으로 정규화하기도 하나, 본 논문에서는 정규화를 하지 않는 식을 사용한다.

A ( φ l , k ) = { n = 1 N k e j [ φ l ( n ) φ l ( n + k ) ] , 0 k < N n = k + 1 N e j [ φ l ( n ) φ l ( n + k ) ] , N < k < 0 l = 1 , 2 , , L
(6)
C ( φ p , φ q , k ) = { n = 1 N k e j [ φ q ( n ) φ p ( n + k ) ] , 0 k < N n = k + 1 N e j [ φ q ( n ) φ p ( n + k ) ] , N < k < 0 p q , p , q = 1 , 2 , , L
(7)

시스템 관점에서 첨두 부엽의 크기가 더 중요한 사항인지, 전체 부엽의 에너지가 더 중요한 사항인지에 따라 EPeakEEnergy 중에서 목적함수를 선택하게 된다. 또한, 자기 상관도가 더 중요한지, 상호 간섭도가 더 중요한지에 따라 가중치 ρ를 결정한다. ρ가 1이면 자기 상관도와 상호 간섭도의 가중치가 같으며, 0이 되면 코드 간의 상호 간섭은 고려하지 않고 각 코드의 자기 상관도의 부엽을 최소화하는 것이 목적함수가 된다. 이러한 사항들은 시스템이 운용되는 목적과 환경에 맞게 선택하게 된다.

Ⅲ. SA를 이용한 파형 설계 과정

SA는 최적화 문제에서 지역 최적해(local optima)의 문제를 개선하고, 전역 최적해(global optimum)를 찾기 위하여 제안된 메타 휴리스틱(확률적, 경험적) 접근 방식의 최적화 기법이다. 문제의 규모가 매우 크면서 그에 대하여 수학적으로나 분석적으로 답을 찾기가 어려울 때 좋은 결과를 얻을 수 있는 알고리즘이다. SA라는 명칭은 담금질의 풀림(annealing) 과정에서 온 것으로 금속 재료를 가열한 다음 조금씩 냉각해 결정을 성장시켜 그 결함을 줄이는 작업이다. 열에 의해 금속 원자는 내부 에너지가 초기의 최소 상태로부터 멀어져 에너지가 높은 상태로 추이된 후 이를 천천히 냉각함으로써 원자는 초기 상태보다 내부 에너지가 한층 더 최소인 최적의 상태를 얻을 확률이 높아진다. 금속 온도가 높을 때에는 원자들이 활발하게 움직이기 때문에 여러 위치로의 이동이 쉬워지며, 온도가 낮아지면 원자들의 움직임이 둔화되고 무작위한 이동이 어렵기 때문에 안정된 상태의 최적의 결정 상태가 된다. SA는 이러한 과정을 컴퓨터 알고리즘으로 모사하여 조합 최적화 문제에서 전역 최적해를 얻고자 하는 방법이다[5],[6]. SA의 가장 큰 특징은 지역 최적해를 벗어나기 위해 최적화 과정 중에서는 좋지 못한 해로의 이동도 어느 정도 허용하는 것이다.

그림 1과 같은 에너지(목적함수) 곡선에서 현재 에너지 상태(Ei−1)에서 일반적인 국소 탐색 방법에서처럼 다음 상태(Ei)를 에너지가 낮아지는 방향(a)로만 이동하면 지역 최적해에 빠지게 된다. 전역 최적해 방향으로 가기 위해서는 현재 상태에서 에너지가 높아지는 방향(b)으로 이동을 해야만 한다. 에너지가 높은 방향으로의 이동은 식 (8)과 같은 확률을 도입하여 결정한다.

jkiees-31-4-383-g1
그림 1. | Fig. 1. SA의 최적화 개념 | Optimization concept of SA.
Download Original Figure
P = { e Δ E T C , Δ E > 0 1 , Δ E 0 , Δ E = E i E i 1
(8)

현재 상태로부터 다음 상태가 될 위치를 무작위로 정한 후 그 에너지 차이인 ΔE를 계산한다. ΔE가 0보다 작거나 같으면(다음 상태가 에너지가 낮으면) 확률이 1이 되어 다음 상태로의 이동을 항상 허용한다. ΔE가 0보다 크면(다음 상태의 에너지가 크면) 식과 같이 확률을 계산하고, 확률적으로 다음 상태로의 이동을 결정한다.

여기에서 확률을 결정하는 가장 큰 변수는 현재 온도 TC이다. 몇 가지 TC에 대하여 확률 그래프를 그려보면 그림 2와 같다. TC가 클수록 같은 ΔE에 대하여 확률이 커지며, TC가 작아질수록 높은 에너지 상태로의 이동 가능성이 점점 낮아지게 된다. 또한, 같은 TC에 대해서는 ΔE가 크면 확률이 작고, ΔE가 작으면 확률이 커져서 에너지 차가 큰 이동 가능성은 낮은 반면, 에너지 차가 작은 상태 이동은 상대적으로 확률이 커지게 된다. 그러므로 에너지가 높은 초기에는 TC를 크게 하여 다양한 상태로의 이동 확률을 크게 하고, 점점 TC를 작게 하여 낮은 에너지로 수렴하도록 하여 물리적인 풀림질과 유사하게 금속의 강도가 가장 강해지는 최적의 해를 찾는 방법이 SA이다. 따라서 초기 TC(T0)의 설정과 TC를 어떻게 줄여 나갈지가 SA의 성능을 결정하는 중요한 요소가 된다. 이를 온도 제어라고 하며, 문제의 특성에 맞게 온도 제어를 해야 한다.

jkiees-31-4-383-g2
그림 2. | Fig. 2. SA의 온도와 확률과의 관계 | Relation of temperature and probability of SA.
Download Original Figure

잡음 레이다 파형의 위상 코드 설계는 시스템에 맞게 목적함수를 다양하게 정의해야 하므로 수학적인 해를 찾기가 쉽지 않으며, 코드 길이가 길어지고 다중 위상 개수가 많아질수록 해의 수가 기하급수적으로 증가하여 모든 해를 찾아서 비교하는 것도 불가능해진다. 또한, 해의 수가 많을수록 지역 최적해에 빠질 가능성도 커지기 때문에 이와 같은 문제에 적합한 최적화 기법이 SA이다[4].

표 1에 SA를 사용하여 위상 코드를 설계하는 과정을 나타낸다. 알고리즘을 간단히 정리하면, 시스템 특성에 따라 L, N, M이 정해지면 초기 위상 행렬을 생성한다. 초기 온도 T0를 설정하고, 위상 행렬 내의 위상 요소를 무작위로 변경하면서 에너지(목적함수)를 계산하고, 식 (8)에 따라 확률을 계산하여 위상을 교체할지를 결정한다. 온도를 조금씩 내려가면서 이 과정을 반복하며, 어느 반복 회수 이상 에너지의 변화가 없으면 알고리즘을 종료한다.

표 1. | Table 1. SA를 이용한 다중 위상 코드 설계 과정 | Design process of polyphase code using SA.
Step Design process
0 Generate a phase matrix Φ of size L×N with initial phase values, for designing code set (L, N, M).
1 Determine the initial temperature T0, and set c=0.
2 Calculate the energy at current temperature TC, and set the phase perturbation number as i=0.
3 Randomly choose a phase from the L×N elements in the matrix Φ and replace it with a phase value randomly chosen from the other M−1 phase values, and set i=i+1.
4 Evaluate energy change ΔE from current energy Ei−1 to next energy Ei, and calculate the probability P in (8).
5 Accept the new phase value with the probability P.
6 If i<Ie go to step 3 and repeat steps 3, 4, 5.
If iIe go to step 7.
7 Compare the current energy with the energy in step 2.
If there is energy change, then go to step 8.
Else go to step 9.
8 Set c=c+1, TC=αTC−1.
Go to step 2, and repeat same procedure.
9 If termination condition is satisfied or there is no energy change, then stop the process. Else go to step 8.
Download Excel Table

과정 0에서 위상 행렬의 초기값은 0이나 특정값으로 설정할 수도 있고, 무작위로 생성할 수도 있다.

과정 1에서의 초기 온도 T0가 너무 크면 수렴하는 데에 시간이 많이 소요되고, 반면 초기 온도가 너무 낮으면 수렴 속도는 빨라지나, 지역 최적해에 수렴할 가능성이 커진다. T0는 위상 분포의 표준편차 정도로 설정하는데, 대체로 L×M 정도로 설정한다.

과정 6에서의 탈출 조건 Ie는 (LNM)에서 (LNM)2 정도로 설정하나, 이 값이 너무 크면 수렴 시간이 매우 길어지게 되므로 문제의 크기에 따라 탈출 조건을 적절히 조절하도록 한다.

과정 8은 온도 제어를 나타낸다. 온도 제어 계수 α는 1보다 작은 값으로 설정한다. α가 크면 전역 최적해에 수렴할 가능성이 커지지만 수렴 속도가 느려지고, α가 작으면 수렴 속도는 빨라지지만 지역 최적해에 빠질 가능성이 커진다. 대체로 0.95∼0.99 정도로 설정하지만 문제의 특성에 따라 다르게 설정할 수 있다.

SA는 메타 휴리스틱 계열의 다른 최적화 기법인 유전 알고리즘에 비하여 알고리즘이 단순하여 적용하기가 용이하다. 하지만 온도 제어 및 탈출 조건과 관련된 파라미터인 T0, α, Ie의 값에 따라 알고리즘의 성능이 크게 좌우된다. 온도 제어를 정밀하게 수행하고 탈출 조건을 크게 하면 전역 최적해를 찾을 가능성은 커지나 수렴 속도가 매우 느려진다. 반면, 온도 제어를 덜 정밀하게 하고 탈출 조건을 작게 하면, 수렴 속도는 빨라지나 지역 최적해에 빠질 가능성이 커진다. 이들 파라미터를 어떻게 설정해야 하는지에 대하여 이론적으로 정해진 사항은 없기 때문에 문제의 특성과 주어진 시간에 맞게 적절히 설정한다.

Ⅳ. SA를 이용한 위상 코드 설계 결과

본 장에서는 SA를 적용하여 실제 위상 코드를 설계한 결과를 보인다. SA가 위상 코드 설계에 적합한 방법임을 검증하기 위한 것이므로 위상 코드 설계에서의 목적함수로는 직관적으로 판단하기가 좋은 첨두 부엽 크기(PSL) 관점의 식 (4)를 사용한다. 시스템에서 전체 부엽 에너지 총합(ISL)이 더 중요한 사항이라면 목적함수만 식 (5)를 사용하여 동일한 방법으로 설계하면 된다.

우선 코드 개수가 1개(L=1)이고 코드 길이 N이 25인 이중 위상 코드(M=2)에 대한 결과를 보인다. 코드가 1개이면 목적함수에서 가중치 ρ는 0인 경우이다. Barker 코드는 첨두 부엽의 최소값(minimum peak sidelobe: MPS)이 1이 되는 코드로서 최대 코드 길이가 13인 것으로 알려져 있다. 코드 길이 25인 경우의 이중 위상 코드는 MPS가 2가 되며, 유일한 해를 갖는 코드로 알려져 있다[2].

그림 3N=25인 이중 위상 코드의 자기상관과 수렴 상태를 시뮬레이션한 결과이다. 그림 3(a)는 자기상관으로서 첨두 부엽 크기가 2가 된다. 그림 3(b)의 수렴 상태에서는 확률적인 상태 이동에 의하여 에너지가 커지고 작아지는 과정을 반복하며, 최적해에 수렴하는 것을 볼 수 있다. 최적 MPS가 2이므로 첨두 부엽이 2가 되면 알고리즘이 종료된다. 이 때 생성된 코드는 [1 −1 −1 1 −1 −1 1 −1 1 −1 1 −1 −1 −1 −1 −1 −1 1 1 1 −1 −1 1 1 1]로서 참고문헌[2]의 결과와 일치하여, SA를 사용하여 위상 코드를 설계하는 것이 가능하다는 것을 알 수 있다. PSLR(peak sidelobe ratio)은 식 (9)와 같이 자기상관함수의 첨두 부엽 크기를 코드 길이로 정규화 한 뒤 dB로 변환한 값이며[3], 그림 3의 PSLR은 −21.9382 dB이다.

jkiees-31-4-383-g3
그림 3. | Fig. 3. 이중 위상 코드 시뮬레이션 결과(N=25, M=2) | Simulation result of biphase code(N=25, M=2).
Download Original Figure
P S L R ( d B ) = 10 log 10 ( ( k 0 max | A ( φ l , k ) | ) 2 | A ( φ l , 0 ) or N | 2 )
(9)

그림 4N=25, M=16으로 시뮬레이션한 다중 위상 코드의 자기상관과 수렴 상태이다. M이 16이면 0에서 360° 사이의 위상을 16단계로 나누므로 위상은 22.5°씩 변하게 된다. 그림 4(a)의 자기상관에서 보듯이 첨두 부엽의 크기가 1.4845가 되어 다중 위상을 사용할 경우, 이중 위상보다 작은 첨두 부엽을 얻을 수 있다. 이 때 도출된 위상 세트는 2π /16× [2 5 11 11 3 3 10 1 14 11 5 4 6 12 10 10 13 9 11 8 5 11 2 10 2]이다.

jkiees-31-4-383-g4
그림 4. | Fig. 4. 다중 위상 코드 시뮬레이션 결과(N=25, M=16) | Simulation result of polyphase code(N=25, M=16).
Download Original Figure

그림 4(b)의 수렴 상태에서는 반복 회수가 830을 넘어서면 최적해에 도달하여 수렴 상태가 변화가 없게 된다. 대부분의 다중 위상 코드에 대하여 전역 최적해가 되는 MPS는 알려져 있지 않기 때문에 수렴 상태가 어느 이상 변화가 없다면 알고리즘을 종료하게 된다. 이때 생성된 코드는 전역 최적해는 아닐 수 있지만 전역 최적해에 근접하는 좋은 결과가 될 수 있다. 앞에서 언급한 바와 같이 온도 제어 조건이나 탈출 조건에 따라 수렴 결과는 달라질 수 있으며, SA 자체가 확률적인 접근이기 때문에 동일한 조건에서도 알고리즘을 반복 수행할 때마다 수렴 결과는 달라질 수 있다. 따라서 주어진 L, N, M에 대하여 반복 설계한 후 그 중 최상의 결과를 채택하면 된다.

그림 5N=100, M=16에 대하여 설계된 다중 위상 코드의 자기상관과 이를 dB로 나타낸 것이다. 코드 길이 100의 이중 위상 코드의 MPS는 5, PSLR은 −26.0206 dB로 알려져 있다[2]. 설계 결과는 첨두 부엽의 크기가 3.8687이고, PSLR은 −28.2486 dB로서, 코드 길이 100에서도 동일한 코드 길이에서 이중 위상 코드에 비해 다중 위상 코드가 낮은 첨두 부엽을 얻을 수 있음을 확인할 수 있다.

jkiees-31-4-383-g5
그림 5. | Fig. 5. 다중 위상 코드 시뮬레이션 결과(N=100, M=16) | Simulation result of polyphase code(N=100, M=16).
Download Original Figure

그림 6N=256, M=64에 대한 자기상관이며 이 경우의 PSLR은 −35.1199 dB로서 그림 5에 비하여 크게 낮아진다.

jkiees-31-4-383-g6
그림 6. | Fig. 6. 다중 위상 코드 시뮬레이션 결과(N=256, M=64) | Simulation result of polyphase code(N=256, M=64).
Download Original Figure

코드 길이 N과 다중 위상 개수 M에 따른 PSLR의 관계를 확인하기 위하여 코드 길이 100, 256, 512에 대하여 다중 위상 개수를 변경해가며 위상 코드를 설계하고, 그에 따른 PSLR을 산출한 관계가 그림 7이다. 위상 코드에서 코드 길이가 길어질수록, 다중 위상 개수가 증가할수록 부엽의 크기가 감소하여 −30 dB 이하의 PSLR을 얻을 수 있음을 볼 수 있다. 그림의 각 경우는 일반적인 개인용 컴퓨터로 수 시간에서 1일 정도 계산한 결과이다. 이 결과들이 전역 최적해는 아닐 수 있으며, 알고리즘을 반복하면 더 좋은 결과가 도출될 수 있다. 또한, 알고리즘의 온도 제어와 탈출 조건을 엄밀하게 적용하면 계산 시간은 오래 걸리지만, 이보다 더 좋은 결과들이 도출될 수 있다. 하지만 이 결과를 통하여 SA를 사용하였을 때 비교적 적은 시간으로도 만족할 만한 성능의 다중 위상 코드를 설계할 수 있음을 확인할 수 있다. 코드 길이가 더 긴 경우나, 또는 다중 위상 개수가 64보다 큰 경우에 대해서도 SA를 사용하여 동일한 방법으로 설계할 수 있다.

jkiees-31-4-383-g7
그림 7. | Fig. 7. 코드 길이, 다중 위상 개수와 PSLR의 관계 | Relation of PSLR with code length and distinct phase number.
Download Original Figure

지금까지는 코드 개수가 1개(L=1)인 경우의 위상 코드 설계에 SA를 적용하여 자기상관함수의 첨두 부엽을 최소화할 수 있음을 보였다. MIMO 레이다 시스템에서는 레이다 간의 간섭을 줄이기 위하여 각각의 레이다는 서로 다른 코드를 사용하게 되므로 코드 개수가 복수개(L>1)가 필요하다. 이 경우, 코드 각각의 자기상관함수의 부엽을 최소화해야 할 뿐만 아니라, 코드 간의 상호상관함수의 최대값 또한 최소화해야 한다. 다음에서는 복수개의 위상 코드 설계에 SA를 적용한 결과를 보인다. 목적함수는 식 (4)를 사용하였으며, 가중치 ρ는 1로 설정하였다.

표 2는 코드 길이 N은 100, 다중 위상 개수 M은 16에 대하여 3가지 위상 세트(L=3)에 대하여 설계된 코드의 위상 인덱스이다. 이 위상 인덱스에 2π/16을 곱하면 실제 위상이 된다. 그림 8은 설계된 위상 코드 3가지 각각의 자기상관 시뮬레이션 결과로서 단일 코드의 결과와 유사하게 첨두 부엽이 감소한다. 그림 9는 서로 다른 코드 간의 상호상관 결과이며, 최대값이 크게 작아져 코드 간의 간섭이 적어지게 된다.

jkiees-31-4-383-g8
그림 8. | Fig. 8. 위상 코드 3가지의 자기상관 시뮬레이션 결과(N=100, M=16, L=3, ρ=1) | Auto-correlation results of 3 polyphase codes(N=100, M=16, L=3, ρ=1).
Download Original Figure
jkiees-31-4-383-g9
그림 9. | Fig. 9. 위상 코드 3가지의 상호상관 시뮬레이션 결과(N=100, M=16, L=3, ρ=1) | Cross-correlation results of 3 polyphase codes(N=100, M=16, L=3, ρ=1).
Download Original Figure
표 2. | Table 2.
3가지 다중 위상 코드의 위상 인덱스(N=100, M=16, L=3, ρ=1) | Designed phase index of 3 polyphase codes(N=100, M=16, L=3, ρ=1).
(a) 코드 1번 | (a) Code 1
1 2 9 12 15 0 7 3 2 12 10 10 6 7 10 10 1 13 0 5 8 5 3 10 5
8 12 6 14 2 6 12 9 7 15 9 3 2 8 6 8 11 12 6 3 8 0 4 10 5
11 2 4 15 6 15 4 15 12 4 8 8 1 14 15 10 7 13 9 12 11 7 9 6 2
8 11 2 3 14 15 15 13 13 4 14 6 4 6 1 5 2 8 3 15 14 9 4 1 15
Download Excel Table
(b) 코드 2번 | (b) Code 2
3 9 10 2 4 0 7 3 15 3 9 9 15 6 4 13 3 12 13 12 6 7 0 14 4
4 2 3 7 0 7 0 7 0 2 6 5 8 7 4 3 11 6 5 8 0 13 3 2 2
9 1 15 5 5 3 1 8 10 5 14 1 12 1 8 14 7 9 4 6 6 14 0 13 8
4 13 13 3 13 6 7 10 12 14 14 13 10 3 5 7 2 13 8 4 11 15 2 4 6
Download Excel Table
(c) 코드 3번 | (c) Code 3
15 5 3 11 10 13 9 2 0 3 9 5 2 15 12 10 11 4 12 3 15 5 4 3 8
2 3 1 10 12 1 4 4 14 12 9 6 10 10 5 10 5 7 11 15 2 15 5 0 10
11 4 13 0 15 10 0 6 12 0 3 15 11 0 5 13 15 2 7 1 15 15 1 10 4
12 0 5 9 10 7 8 9 1 7 13 13 14 2 8 8 5 4 1 2 5 2 10 7 9
Download Excel Table

이 경우의 PSLR을 계산하여 표 3에 나타내었다. 상호상관함수의 경우에는 부엽이 아니라 최대값을 코드 길이로 정규화하여 제곱한 뒤 dB로 나타낸 것이지만, 설명의 편의상 용어는 PSLR로 사용한다. 표에서 대각선은 3가지 코드 각각의 자기상관함수의 PSLR이며, 나머지 3가지 값은 코드 간의 상호상관함수의 PSLR이다.

표 3. | Table 3.
3가지 다중 위상 코드의 자기상관함수 및 상호상관함수 PSLR(dB) | PSLR(dB) of auto-correlation functions and cross-correlation functions of 3 polyphase codes.
(a) 코드 1번 | (a) Code 1
Code 1 Code 2 Code 3
Code 1 −23.8887 - -
Code 2 −19.4224 −23.4109 -
Code 3 −19.1545 −19.1690 −23.7142
Download Excel Table
(b) 코드 2번 | (b) Code 2
Code 1 Code 2 Code 3
Code 1 −28.6251 - -
Code 2 −23.5960 −27.8259 -
Code 3 −23.4181 −23.7176 −28.1218
Download Excel Table
(c) 코드 3번 | (c) Code 3
Code 1 Code 2 Code 3
Code 1 −26.1341 - -
Code 2 −24.4789 −25.5721 -
Code 3 −24.3268 −24.2894 −26.5557
Download Excel Table

그림 8, 9에 해당하는 N=100, M=16에 대한 PSLR의 결과는 표 3(a)에 나타내었다. 다른 경우인 N=256, M=64에 대하여 3가지 위상 코드를 설계하여 PSLR을 산출하면 표 3(b)와 같다. 표에서 보듯이 자기상관함수의 PSLR은 그림 5, 6의 단일 코드의 경우보다는 커지게 된다. 이는 코드가 복수개가 되어 목적함수에서 상호상관함수까지도 고려하기 때문에 개별 코드 자체는 최적화가 덜 되기 때문이다. 하지만 상호상관함수의 최대값도 크게 낮아지기 때문에 코드 간의 간섭도 작게 할 수 있다. 또한 표 3(a), (b)에서처럼 복수개의 코드에서도 NM이 커짐에 따라 자기상관함수와 상호상관함수 모두 PSLR이 작아지게 된다.

목적함수에서 가중치 ρ의 값이 반드시 1일 필요는 없으며, 자기상관함수와 상호상관함수 중 어디에 더 가중치를 둘 것인지에 따라 ρ를 결정하게 된다.

가중치 효과를 보기 위하여 N=256, M=64인 경우에 가중치 ρ를 2로 설정하여 설계한 결과를 도출하면 표 3(c)와 같다. 표 3(b)의 결과와 비교하면 동일한 NM에 대하여 ρ를 2로 하여 상호상관함수에 대한 가중치를 크게 하면, ρ가 1인 경우에 비해 자기상관함수의 PSLR은 커지는 반면, 상호상관함수의 PSLR은 더 작아지게 된다. MIMO 레이다 시스템의 운용 환경에 따라 자기상관함수와 상호상관함수 중 어디에 더 비중을 두어야 할지를 결정하고, 이에 맞게 목적함수의 가중치 ρ를 변경한 후 SA를 적용하여 필요한 코드를 생성하면 된다.

Ⅴ. 결 론

본 논문에서는 잡음 레이다 파형으로 사용되는 다중 위상 코드의 설계를 위한 최적화 방법으로 SA 알고리즘을 적용하였다. 위상 코드 설계에 SA를 적용하였을 때, 코드 길이가 길고, 다중 위상 개수가 많은 경우에도 코드 자신의 자기상관함수의 첨두 부엽의 크기를 감소시키고, 복수개의 코드를 사용하는 경우에는 코드 간의 상호상관함수의 최대값도 최소화할 수 있다. 또한, 자기상관함수와 상호상관함수의 가중치를 다르게 하여 시스템의 운용 상황에 적합한 코드를 생성할 수 있다. SA를 사용하여 얻은 결과가 전역 최적해는 아닐 수 있지만, 코드 길이나 다중 위상의 개수가 증가하고, 복수개의 코드에서 목적함수를 다양하게 하는 경우에, 수학적인 분석이나 모든 해를 비교하여 해를 찾는 것이 매우 어려운 상황에서, SA를 사용하면 비교적 적은 계산 시간으로도 전역 최적해에 근접하는 좋은 결과를 얻을 수 있다. 향후에 실제 개발될 잡음 레이다나 MIMO 레이다에서 시스템 운용 환경에 따라 필요한 코드 길이, 코드 개수 등이 정해지면, 본 논문에서 검토된 방법을 적용하여 필요한 다중 위상 코드를 도출하여 실제 시스템에 활용할 수 있을 것이다.

References

[1].

P. E. Pace, Detecting and Classifying Low Probability of Intercept Radar, 2nd ed. Boston, MA, Artech House, 2009.

[2].

M. A. Richards, J. A. Scheer, and W. A. Holm, Principles of Modern Radar: Basic Principles, New York, NY, SciTech, 2010.

[3].

R. M. Davis, R. L. Fante, and R. P. Perry, “Phase-coded waveforms for radar”, IEEE Transactions on Aerospace and Electronic Systems, vol. 43, no. 1, pp. 401-408, Jan. 2007.

[4].

H. Deng, “Polyphase code design for orthogonal netted radar systems”, IEEE Transactions on Signal Processing, vol. 52, no. 11, pp. 3126-3135, Nov. 2004.

[5].

V. Černý, “Thermodynamical approach to the traveling salesman problem: An efficient simulation algorithm”, Journal of Optimization Theory and Applications, vol. 45, no. 1, pp. 41-51, Jan. 1985.

[6].

J. E. Roh, C. S. Ahn, S. J. Kim, D. S. Jang, and H. L, Choi, “Stochastic radar beam scheduling using simulated annealing”, The Journal of Korean Institute of Electromagnetic Engineering and Science, vol. 23, no. 2, pp. 196-206, Feb. 2012.

Author Information

김 은 희 [세종대학교/부교수]

jkiees-31-4-383-i1

  • https://orcid.org/0000-0001-5118-5509

  • 1999년 2월: 한국과학기술원 정밀공학과 (공학석사)

  • 2004년 8월: 한국과학기술원 기계공학과 (공학박사)

  • 2007년 10월: LIG넥스원 ISR연구센터 수석연구원

  • 2013년 9월~현재: 세종대학교 국방시스템공학과 부교수

  • [주 관심분야] 레이다 신호처리, 레이다 시스템

김 수 범 [(주)래드시스/대표]

jkiees-31-4-383-i2

  • https://orcid.org/0000-0002-4903-1735

  • 1997년 8월: 포항공과대학교 전자전기공학과 (공학사)

  • 2002년 8월: 포항공과대학교 전자전기공학과 (공학박사)

  • 2005년 9월: 한국전자통신연구원 이동통신연구단 선임연구원

  • 2009년 10월: LIG넥스원 ISR연구센터 책임연구원

  • 2014년 12월: (주)디지트론 수석연구원

  • 2015년 2월~현재: (주)래드시스 대표이사

  • [주 관심분야] 레이다/SAR 시스템 설계 및 신호처리

한 승 수 [STX엔진/책임연구원]

jkiees-31-4-383-i3

  • https://orcid.org/0000-0003-3774-0072

  • 2006년 2월: 성균관대학교 정보통신공학부 (공학사)

  • 2008년 2월: 성균관대학교 전자전기컴퓨터공학과 (공학석사)

  • 2008년 7월~현재: STX엔진 전파통신연구소 책임연구원

  • [주 관심분야] 레이다 시스템, 디지털 하드웨어, 레이다 신호처리

신 상 진 [방위산업기술지원센터/책임연구원]

jkiees-31-4-383-i4

  • https://orcid.org/0000-0002-0231-2994

  • 1996년 2월: 한양대학교 제어계측공학과 (공학사)

  • 1998년 2월: 한양대학교 제어계측공학과 (공학석사)

  • 2003년 2월: 한양대학교 제어계측공학과 (공학박사)

  • 2004년 12월: 기원전자기술연구소 선임연구원

  • 2014년 4월: 국방과학연구소 선임연구원

  • 2014년 5월~현재: 방위산업기술지원센터(국방과학연구소 부설) 책임연구원

  • [주 관심분야] 표적 추적필터, 레이다 신호처리기 알고리듬, 레이다 파형 및 시스템 설계

오 상 록 [방위산업기술지원센터/기술원]

jkiees-31-4-383-i5

  • https://orcid.org/0000-0002-7796-0670

  • 2013년 2월: 중앙대학교 전자전기공학과 (공학사)

  • 2015년 2월: 서울대학교 전기정보공학부 (공학석사)

  • 2019년 7월: 현대모비스 샤시의장연구소

  • 2019년 8월~현재: 방위산업기술지원센터(국방과학연구소 부설) 기술원

  • [주 관심분야] 제어이론, 강인제어, 유도기법 등