DOI QR코드

DOI QR Code

The signal processing algorithm of the Missile Flight Test Launch Control System

비행시험 발사통제 시스템의 신호처리 알고리즘

  • Oh, Jino (Agency for Defense Development, KoreaAgency for Defense Development)
  • Received : 2015.06.29
  • Accepted : 2015.08.06
  • Published : 2015.08.31

Abstract

The Missile Flight Test Launch Control System is to operate in conjunction with the Fire Control System during flight test to guided weapons. Also, this is a system for the test control and situation monitoring depending on the type of guided weapons and testing purposes. Message structure, communication protocols, such as data types for interworking with the fire control system and the Missile Flight Test Launch Control System are defined in the Launch Control ICD(Interface Control Document). ICD are composed differently of each guided weapons system and each test object. Previously, in order to interwork with the Fire Control System, the interlocking software was developed, which had a variety of problems. Therefore, we developed a new parsing algorithm in order to recognize the variety of Launch Control ICD and verified that the algorithm operates normally by checking transmitting and receiving various message in conjunction with the fire control system.

비행시험 발사통제 시스템은 유도무기 비행시험 시 사격통제 시스템과 연동하여 동작하고, 유도무기의 종류 및 시험 목적에 따라 시험의 통제 및 상황 감시를 하는 시스템이다. 사격통제 시스템과 비행시험 발사통제 시스템이 연동하기 위한 메시지 구조, 통신 프로토콜, 데이터 타입 등은 발사통제 ICD(Interface Control Document)에 정의되어 있고, ICD는 유도무기 체계별, 시험 목적별로 모두 다르게 구성되어 있다. 기존에는 사격통제 시스템과 연동하기 위해 별도의 연동 소프트웨어를 개발하였으나, 이는 다양한 문제점을 가지고 있었다. 따라서 다양한 발사통제 ICD를 수용할 수 있도록 새로운 파싱 알고리즘을 개발하였고, 사격통제 시스템과 연동하여 다양한 메시지들이 송ㆍ수신되는 것을 확인하여 알고리즘이 정상적으로 동작하는 것을 검증하였다.

Keywords

Ⅰ. 서 론

비행시험 발사통제 시스템은[1] 유도무기 시험체계의 일부로써 유도무기 비행시험의 통제 및 상황을 감시하는 역할을 수행한다. 유도무기 체계의 사격통제 시스템과 TCP, UDP 통신으로 연동하여 시험통제 정보를 송‧수신하며, 외부 시험 장비 상태를 점검하는 기능이 포함되어 있다.

그림 1.비행시험 발사통제 시스템 역할 Fig. 1 Missile Flight Test Launch Control System role

비행시험 발사통제 시스템은 신호처리기(MCS: Main Control System), 체계제어기(SCS: System Control Software), 시험통제 전시기(CMS: Control signal Monitoring Software), 사격통제소모의기(FCSS: Firing Control System Simulator), 통제신호 제어판넬(UCS: User Control System), 통제신호 분배상자(SDB: Signal Distribution Box), 초읽기시각 발생/전시/분배기(CGS: Countdown Generation System, CDB: Countdown Distribution Box, CDS: Countdown Display System), DAS(Data Acquisition System) 등 다양한 기능의 장비들로 구성되어 있다. 각 장비는 이더넷으로 연결되어 신호처리기의 명령에 따라 동작하게 된다. 또한, 필요한 부분에는 시리얼통신, 접점, TTL 등의 다양한 방식을 적용하여 이더넷 이외의 다른 방식으로 정보를 주고받을 수 있도록 하였다.

기존에는 유도무기 체계별, 시험 목적별로 별도의 소프트웨어를 사용하여 사격통제 시스템과 비행시험 발사통제 시스템이 연동하여 동작할 수 있도록 하였다. 하지만 유도무기 체계 개발과 다양한 목적의 유도무기 비행시험이 증가하게 되었고, 동시에 사격통제 시스템과 연동하기 위한 소프트웨어가 동일하게 증가하게 되었다. 이와 같은 방법은 증가하는 소프트웨어 형상관리의 어려움, 새로운 소프트웨어를 개발하는 시간 투자 및 비용 증가 등 다양한 문제를 내포하고 있었다.

이와 같은 문제를 해결하기 위해 별도의 소프트웨어 없이 사격통제 시스템과 직접 연동할 수 있는 새로운 파싱 알고리즘을 개발하였다. 파싱 알고리즘은 운용 및 수정이 쉬운 구조로 개발하였고 비행시험 발사통제 시스템의 신호처리기에서 동작하도록 함으로써, 다양한 유도무기 비행시험을 수행할 수 있도록 하였다.

본 논문은 Ⅱ장에서 비행시험 발사통제 시스템에 대해 설명하고, Ⅲ장에서 새롭게 개발한 파싱 알고리즘에 대해 설명하였다. Ⅳ장에서 사격통제 시스템과의 연동 동작을 실제 환경에서 확인하여 결과를 분석한 뒤, 마지막으로 결론을 맺는다.

 

Ⅱ. 비행시험 발사통제 시스템

2.1. 시스템 구성 및 운용

비행시험 발사통제 시스템은 그림2와 같이 구성되며, 시스템의 서브 장비들이 복합적으로 연동하여 동작하게 된다. 시스템은 다양한 유도무기 비행시험의 통제를 위해 신뢰성(Reliability), 가용성(Availability), 실시간성(Real-Time)이 매우 중요하며 시험 절차와 방법, 체계 요구사항에 따라 시스템의 하드웨어와 소프트웨어 구성과 동작 방법이 결정된다.

그림 2.비행시험 발사통제 시스템 구성도 Fig. 2 Missile Flight Test Launch Control System configuration

비행시험 발사통제 시스템은 #1 비행시험통제소(Mission Control Center : MCC), #2 비행시험통제소, #3 비행시험통제소에 같은 기능을 가지는 장비들이 3조가 각각 설치되어 있고, 신호처리기가 시스템의 핵심 역할을 수행한다. 신호처리기의 명령에 따라 서브 장비들이 동작하고, 다른 지역에 위치하는 비행시험 발사통제 시스템, 유도무기 체계의 사격통제 시스템과 연동하여 동작한다. 시스템은 유도무기 비행시험 시 시험통제를 위해 시험 준비, 시험 수행, 시험 종료 3단계로 운용되며, 각 단계별로 수행되는 주요 기능은 그림 3에 나타내었다.

그림 3.단계별 주요 기능 Fig. 3 Primary functions in each step

2.2. 신호처리기

신호처리기는 비행시험 발사통제 시스템에서 가장 중요한 역할을 수행한다. 사격통제 시스템과 직접 연결되어 유도무기 비행시험 시 시험 통제에 필요한 다양한 시험 정보들을 주고받으며, 이를 분석하여 시험 통제에 활용할 수 있도록 한다. 또한, 비행시험 발사통제 시스템 서브 장비들이 정상적으로 동작할 수 있도록 제어하며, 타 지역에 위치하는 비행시험 발사통제 시스템과 연동하여 동작할 수 있도록 한다. 신호처리기는 실시간으로 다양한 정보를 수집/처리/전송하고, 장시간동안 안정적으로 운용해야하기 때문에 VME(Versa Module Europa) bus[2-5] 기반의 하드웨어와 실시간 임베디드리눅스 기반으로 개발하였다.

2.3. 신호처리기 소프트웨어 개발

신호처리기는 오작동, 작동 중지와 같은 위험에 대해 고도의 신뢰성을 가져야 하고, 동시에 실시간 시스템(Real-Time System) 으로 동작해야 한다. 이와 같은 조건을 만족하기 위해 임베디드 리눅스 RTOS(Real Time Operating System)[6-8]를 적용하였고, 새로운 파싱 알고리즘을 포함한 다양한 기능 동작을 C언어로 개발하였다. 신호처리기 소프트웨어는 아래와 같은 기능을 포함하고 있고, 소프트웨어 구성항목과 순서도는 그림 4,5와 같다.

그림 4.신호처리기 소프트웨어 구성항목 Fig. 4 Signal processor software configuration item

그림 5.신호처리기 소프트웨어 순서도 Fig. 5 Signal processor software flow chart

2.4. 사격통제 시스템과 연동

사격통제 시스템과 비행시험 발사통제 시스템이 연동하여 동작하는 방법은 발사통제 ICD(Interface Control Document)에 정의되어 있고, 발사통제 ICD는 유도무기 체계의 종류, 시험 목적에 따라 포함된 내용과 구성 등이 모두 다르게 작성되어 있다. 발사통제 ICD에는 메시지 구조, 통신 프로토콜, 데이터 타입 등이 기술되어 있고, 상호 간의 IP, 포트번호, 게이트웨이, 넷마스크, 통신 프로토콜(TCP 또는 UDP), 접속 형태(서버 또는 클라이언트) 등의 정보들을 바탕으로 비행시험 발사통제 시스템은 사격통제 시스템과 연동하여 동작한다.

발사통제 ICD는 유도무기 체계별, 시험 목적별로 송‧수신 메시지 형식, 통신 방식, 시험 절차 등이 모두 다르게 정의되어 있다. 기존에는 발사통제 ICD에 정의되어 있는 내용을 별도의 소프트웨어로 개발하여 비행시험 발사통제 시스템과 사격통제 시스템이 연동하여 동작할 수 있도록 하였다.

이 방법은 새로운 유도무기 체계의 개발, 시험 절차 및 목적이 변경될 때마다 새로운 소프트웨어가 필요하게 되었고, 소프트웨어 형상관리의 어려움, 새로운 소프트웨어를 개발하는 시간 투자 및 비용 증가 등 다양한 문제를 내포하고 있었다.

이와 같은 문제를 해결하기 위해 사격통제 시스템과 연동하기 위한 새로운 파싱 알고리즘을 개발하였고, 비행시험 발사통제 시스템의 핵심 역할을 하는 신호처리기에서 동작하도록 하였다.

그림 6.사격통제 시스템 연동 방법 Fig. 6 Firing control system interworking method

 

Ⅲ. 파싱 알고리즘

새로 개발한 파싱 알고리즘은 유도무기 체계별, 시험 목적별로 다르게 정의되어 있는 발사통제 ICD를 비행 시험 발사통제 시스템에 쉽게 적용 가능하도록 개발하였다. ICD 내용을 메모장, 울트라 에디트, 워드패드 등 다양한 문서 편집기에서 작성할 수 있도록 하였고, 이를 분석하여 다양한 명령을 수행한다.

문서 편집기로 ICD에 정의된 내용을 “project.pac”, “project.parse” 두 개의 파일로 나누어 작성한다. 작성된 파일을 신호처리기로 업로드하면 신호처리기는 파싱 알고리즘을 통해 “projec.pac”, “project.parse” 파일을 메모리에 저장하고, 10ms 마다 메모리를 읽어가며 파일에 작성된 내용을 분석한다. 사격통제 시스템에서 메시지를 수신하면 메모리에 저장되어 있는 내용과 비교하여 분석하고, 그 결과에 따라 사격통제 시스템으로 메시지 송신, 시스템 내부 동작 등을 수행한다.

그림 7.발사통제 ICD 예시 Fig. 7 Launch Control ICD example

3.1. “project.pac” 파일

“project.pac” 파일은 발사통제 ICD를 비행시험 발사통제 시스템에 적용하기 위해 생성하는 파일이며, ICD에 정의된 내용을 C 언어의 구조체와 유사한 형식으로 작성하도록 하였다. 신호처리기는 “project.pac” 파일을 분석하여 사격통제 시스템과의 연동에 사용되는 패킷의 종류를 인식한다. 표 1은 “project.pac” 파일을 작성한 예를 나타낸다.

표 1.“project.pac” 파일 작성 예시 Table. 1 “project.pac” file example

UINT8 masg_id는 데이터를 정의하며 크기는 8bits이고, 기본 값은 0xC9임을 나타낸다. 패킷을 8(UINT8) 또는 16bits(UINT16)의 데이터로 구성할 수 있으며 각 데이터 기본 값을 설정할 수 있다. 신호처리기는 작성된 “project.pac” 파일로부터 “packet”, “UINT8”, “UINT16”, “=”, “{”, “}” 등의 키워드를 추출하여 파싱 알고리즘을 통해 패킷을 인식하도록 하였다.

3.2. “project.parse” 파일

“project.parse” 파일은 사격통제 시스템과 연동 동작을 정의한 파일이다. “project.pac” 파일에 정의된 패킷이 수신되면 정해진 동작을 수행하도록 하였다.

“project.parse” 파일은 아래의 형식으로 구성된다.

[태그]는 [조건 식]에 부여하는 이름이다. [태그]는 [지역]_[조건 명]의 형식으로 작성되는데, [지역]으로 A, B, C 중 한 개를 선택하고 [조건 명]에 사전에 예약된 키워드 이외의 이름을 부여한다. [조건 명]으로 사전에 예약된 키워드로는 “OPEN”과 “CLOSE”가 있으며 이는 사격통제 시스템과 연결 확인상태를 나타내는 “통신 개방” 조건과 “통신해제” 조건을 위한 것이다. [조건식]은 [태그]로 명명된 조건의 결과를 판단하기 위한 식이고, [조건 식]은 특정 패킷의 수신, 수신된 패킷 내 데이터의 값, 신호의 논리 연산 결과 등으로 구성된 산술식으로 작성할 수 있다. 대괄호 사이에 기술되는 실행구문은 [조건 식]의 결과가 TRUE로 판단될 때 실행해야 할 구문을 정의한다. 데이터의 연산, 특정 값을 패킷 데이터에 대입, 사격통제 시스템으로 패킷 송신 등의 내용을 작성할 수 있다.

표2에 “project.parse” 파일 작성 방법을 나타내었다. 표2를 간단하게 설명하면, A_OPEN는 A지역에만 적용되는 조건이며 “통신개방” 상태를 구별하기 위한 태그이다. “project.pac” 파일에 정의된 FMC201 패킷이 수신되면 파싱 알고리즘으로 분석하여 A_OPEN 조건이 TRUE가 되어 해당 구문이 실행되고, MCF201 패킷에 데이터 값을 대입하고 이 패킷을 사격통제 시스템으로 송신한다.

표 2.“project.parse” 파일 작성 예시 Table. 2 “project.parse” file example

“project.parse” 파일의 분석 결과는 비행시험 발사통제 시스템의 내부 동작을 결정하며, 유도무기 시험 통제에 활용할 수 있도록 한다.

 

Ⅳ. 파싱 알고리즘 동작

파싱 알고리즘이 정상적으로 동작하는지 확인하기 위해 발사통제 ICD에 정의된 내용을 “project.pac”, “project.parse” 파일에 작성하여 사격통제 시스템과 메시지들이 정상적으로 송‧수신되는지 확인하였다.

파싱 알고리즘이 내장된 신호처리기 프로그램은 백그라운드로 자동 실행되며, 텔넷으로 신호처리기에 접속하여 실시간으로 송‧수신되는 메시지들을 확인하였다. 그림 8의 ①은 신호처리기의 백그라운드 프로그램이 실행 완료된 상태를 나타낸다. ②는 작성한 “project.pac”, “project.parse” 파일이 신호처리기로 업로드되어 시험 준비가 완료되었음을 나타낸다.

그림 8.실행 결과(1) Fig. 8 Operating result(1)

그림 9는 비행시험 발사통제 시스템과 사격통제 시스템이 발사통제 ICD에 정의된 메시지들을 송‧수신하는 내용이 나타나있다.

그림 9.실행 결과(2) Fig. 9 Operating result(2)

노란색 네모 상자는 메시지들을 나타낸 것이며, 총 6 종류의 메시지들이 송‧수신되는 것을 확인하였다. 붉은 실선은 사격통제 시스템에서 비행시험 발사통제 시스템으로 송신한 메시지이며, 푸른 실선은 비행시험 발사통제 시스템에서 사격통제 시스템으로 송신한 메시지를 나타낸다.

그림 9를 통해 사격통제 시스템에서 메시지를 비행시험 발사통제 시스템으로 송신하면 신호처리기는 “project.pac” 파일과 “project.parse” 파일에 미리 정의된 내용을 바탕으로 파싱 알고리즘을 통해 이를 즉시 분석하여 결과를 나타내는 것을 확인할 수 있다. 비행시험 발사통제 시스템에서 사격통제 시스템으로 메시지를 송신할 때도 마찬가지로, “project.pac” 파일과 “project.parse” 파일에 정의된 내용을 바탕으로 사격통제 시스템이 확인할 수 있는 메시지로 전송한다.

“project.pac” 파일과 “project.parse” 파일에 정의된 형식이 아닌 다른 형식의 메시지를 사격통제 시스템에서 비행시험 발사통제 시스템으로 전송하면, 미리 정의된 형식이 아니므로 이를 분석할 수 없고, 메시지가 수신된 것만 확인할 수 있다. 비행시험 발사통제 시스템에서도 “project.pac”, “project.parse” 파일에 정의되어 있지 않은 메시지는 사격통제 시스템으로 전송할 수 없다. 따라서 유도무기 비행시험 전에 기능별로 발사통제 ICD의 메시지를 명확하게 구분하여 정의하고, 그 내용을 정확하게 “project.pac”, “project.parse” 파일에 작성하는 것이 매우 중요하다.

 

Ⅴ. 결 론

본 논문에서는 비행시험 발사통제 시스템이 유도무기 체계의 사격통제 시스템과 연동하여 동작하는 새로운 방법에 대해 기술하였다. 발사통제 ICD를 비행시험 발사통제 시스템에 적용하는 방법을 설명하고, 사격통제 시스템과 연동하여 파싱 알고리즘이 정상적으로 동작하는 것을 확인하였다.

기존에는 유도무기 체계의 사격통제 시스템과 연동하기 위해 유도무기 체계별, 시험 목적별로 연동 소프트웨어를 개발하였고, 이는 소프트웨어 형상관리, 개발 시간 및 비용의 증가 등 다양한 문제를 가지고 있었다.

신규 개발한 파싱 알고리즘은 기존의 방법을 대체함과 동시에 여러 문제점들을 해결하였으며, 기술 시험시 수시로 변경되는 발사통제 ICD를 쉽게 적용할 수 있도록 하였다. 그 결과, 유도무기 체계의 동시‧연속 발사 시험 등 다양한 유도무기 비행시험을 효율적으로 수행할 수 있게 되었고, 유도무기 시험평가 능력이 향상되었다.

References

  1. J. K. Min, Y. J. Lee, J. B. Baek, and J. Y. Lee, "The conceptual design of firing control system for missile flight test," Agency for Defense Development: Technical Report DSTC-414-061478.
  2. Wade D. Peterson, The VMEbus Handbook 4th Edition, VFEA International Trade Association, 1997.
  3. IEEE Std. 1014, IEEE Standard for A Versatile Backplane Bus: VMEbus, IEEE, Computer Society, 1987.
  4. WIKIPEDIA. http://en.wikipedia.org/wiki/VMEBus
  5. Fischer, W,. "IEEE P1014 - A Standard for the High-Performance VME Bus," Micro, IEEE, pp. 31-41, 1985.
  6. W. S. Liu, Real-Time Systems, Prentice Hall, 1997.
  7. D. Abbout, Linux for Embedded and Real-Time Applications, Elsevier, 2006.
  8. N. Vun, H. F. Hor, and J. W. Chao, “Real-time Enhancements for Embedded Linux,” 4th IEEE Int. Conf. on Parallel and Distributed Systems, pp. 737-740, 2008.

Cited by

  1. 윈도우 운영체제 기반의 실시간 점검장비 소프트웨어 설계 및 성능검증 vol.17, pp.10, 2015, https://doi.org/10.5392/jkca.2017.17.10.001