그림 77 전체 SW 구성
생체신호 감지센서를 위한 소프트웨어는 센서 SW와 G/W(Gateway) SW로 구성된 다. Gateway SW가 필요한 이유는 하나의 센서로는 2차원 공간의 위치를 구할 수 없고 또한 HRV10)는 1분 정도의 심박수를 모아 계산해야 하기 때문이다.
(2) Gateway 내 소프트웨어
센서를 위한 Gateway 소프트웨어는 3가지 기능을 한다. 하나는 2개 이상의 센서로 부터의 거리 정보를 이용해 사용자의 2차원 위치를 측정하는 것이고 두 번째는 거 리, 호흡수, 심박수를 저장한다. 마지막으로 심박수로부터 HRV를 계산한다.
1. 위치 측정 l 전체 구성
Gateway는 각 센서에서 취득한 거리 정보를 사용해 움직이는 물체의 위치를 계산 하고 이동 경로를 추적하는 기능을 수행한다.
아래 그림은 Gateway에서 위치 측정을 위한 소프트웨어 구성이다.
10) HRV(Heart Rate Variability)는 심박 신호간의 간격에 대한 편차로 측정
그림 78 Gateway의 위치 SW 구성
할 수 있으나, 이로 인해 물체의 위치 추적이 느려지는 문제도 발생하게 된다. 이 런 문제를 개선하기 위해 칼만 필터의 속도 관련 인자는 사용하지 않도록 하였다.
사용된 칼만 필터의 공식은 아래와 같다.
칼만 필터 사용에도 단점이 있다. 비선형이고 가우시안이 아닐 경우에는 움직이는 물체의 위치를 정상적으로 추적 할 수 없다. 추후 비선형이고 가우시안이 아닌 모 델에서도 적용 가능한 Particle filter를 적용을 고려 해야 하겠다.
[Target Track]
움직이는 물체가 하나일 경우에는 물체의 추적이 용이하다. 움직이는 물체가 하나 로 가정하고 가장 큰 신호를 따라 추적하면, 잡음이나 multi-pass에 의한 오인 정보 를 배제 할 수 있기 때문이다. 이와 달리, 움직이는 물체가 여러 개 일 경우 여러 가지 예외 상황들이 존재한다. 다른 움직이는 물체에 가려 신호가 사라지는 경우, multi-pass 에 묻혀 실제 이동 물체 인지 판단이 어려워지는 경우, 동일한 거리에 여러 이동 물체가 존재하는 경우 등이다. 또한 잡음에 의한 신호인지 실제 물체의 반사 신호인지도 구분이 어려워 진다.
위 문제를 해결하기 위해 움직이는 물체가 여러 개일 경우를 대비 하여 모든 위치 정보들이 새로운 Target/ False Alarm/ 기존 Target이 될 수 있다는 가정하에 위 치를 추적하는 알고리즘을 적용하였다.
위치 추적 알고리즘은 아래와 같은 방식을 사용하였다.
그림 80 1D Target Track
l 2차원 좌표 산출
이동하는 물체의 2D 좌표는 각 Radar 센서의 위치와 취득된 거리를 이용하여 구할 수 있다.
그림 81 2D 좌표 산출 예
① 직교 위치에 Radar들이 존재하는 경우의 좌표 산출
② 평행 위치에 Radar들이 존재하는 경우의 좌표 산출
l 2차원에서 움직이는 물체 추적
2D 좌표 공식을 통해 산출된 이동 물체의 좌표들은 Position Filter를 통해 잡음 성 분을 한번 더 걸러지게 되고, 이 좌표 데이터들을 이용하여 물체의 위치를 추적하 게 된다.
Position Filter 는 1D 위치 리스트 생성과 유사하며, 근접 거리의 위치 데이터를 통 합하고, 업데이트 비율에 따라 False Alarm 여부를 구분하게 된다.
[Single Target Tracking]
하나의 이동하는 물체만을 추적 할 경우, 칼만 필터를 통해 위치를 추적하게 된다.
1D 추적에서 사용된 칼만 필터와 동일한 필터를 사용하며, x와 y의 2차원 좌표를 계산하는 차이만 있다. 1D 추적과 마찬 가지로 속도에 관한 인자는 사용하지 않고 있다.
하나의 물체를 추적할 경우 Track도 하나이며, 가장 근접한 신호의 위치만을 사용 하고, 이외의 위치 데이터는 사용하지 않는다.
[Multi Target Tracking]
여러 개의 움직이는 물체를 추적할 경우, 하나의 물체를 추적할 때와 달리 여분의 Radar 센서가 더 필요하다.
그림 85 Radar 센서 개수와 Ghost Target
위 그림 21의 예와 같이, 움직이는 물체(True Target, 파란색 원)가 2개 일 경우 Radar 센서의 개수에 따라 Ghost Target(회색 원)이 만들어 지게 된다. Radar 센서 가 2개 사용될 경우, Ghost Target와 True Target간의 구분이 힘들어 진다. 하지만, Radar 센서를 3개 이상 사용할 경우 3개의 레이더가 모두 인지하는 위치의 Target 을 True Target로 인지 할 수 있어, False Target와의 구분이 가능해 진다. 하지만, Radar의 성능 혹은 잡음의 영향으로 Radar 센서 중 하나가 물체를 인지하지 못 할 경우 True Target의 구분이 어려워 질 수 있다.
여러 개의 움직이는 물체의 추적은 다중 가설 추적 (MHT : Multiple Hypothesis Tracking) 알고리즘을 사용하여 테스트 하였다.
그림 86 다중 가설 추적 알고리즘의 구조
위치 정보가 새로 입력 될 때 마다 측정의 위치를 근거로 하여 여러 가설들이 형 성된다. 이들 가설들은 각각의 Track으로 이루어져 있으며, 가설이 포함된 모든 Track 에 대해 상태 추정 과정이 수행된다. 상태의 추정은 칼만 필터를 통해 갱신 되며, 칼만 필터의 계산 결과에 따라 각 가설들의 확률이 계산 된다. 각 가설들의 확률과 상태에 따라 평가되며, 가설을 유지, 결합, 제거 된다.
타당성이 입증되어 유지된 가설 Track을 통해 이동하는 물체의 위치 추적이 가능 해 진다.
다중 가설 추적 알고리즘을 사용할 경우 가설의 수가 많아질 경우 연산 양이 늘어
나 실시간 위치 추적에 어려움이 있다. 또한 가설의 평가가 칼만 필터를 통해 이루 어 지기 때문에 비선형, 비 가우시안 잡음 환경에서는 사용이 어렵다.
2. HRV 계산
아래 그림은 HRV 계산 과정이다.
그림 87 HRV 계산
HRV는 심박 신호간의 시간 간격에 대한 편차로 계산된다. 그래서 심박수로부터 심 박 신호간의 시간 간격을 구하는 것이 중요한다.
① 기본 시간 간격 계산
기본 시간 간격 = 60 / 심박수
예) 72 BPM의 경우, 시간 간격 = 60/72= 857 msec
② 시간 간격 리스트 구성
측정된 시간보다 작은 동안 기본 시간 간격 더함.
예) 1초 72 BPM, 2초 80 BPM, 3초 85 BPM, 4초 85 BPM 시간 간격 리스트 = 857, 750, 705, 705, 705
(3) 센서 소프트웨어 1. 전체 구조
센서 소프트웨어의 기능은 크게 두 부분으로 나누어진다.
2. 위치 검출 알고리즘
센서는 레이더 칩(NVA6201)을 사용해 움직이는 물체의 위치를 수집한다. 센서에 위치 검출 과정은 아래 그림과 같다.
그림 89 위치 검출 과정
① UWB Radar로부터 Radar 프레임을 읽음
② Band-Pass filter를 통해 불필요한 주파수 성분을 제거
③ 움직이는 물체의 위치를 측정하기 위해 Back-Ground Subtraction을 사용하여, 고정된 위치의 물체에 대한 신호 성분을 제거
④ “Range”단에서는 송신 신호와의 Cross-Correlation을 통해 물체에 반사되는 신 호와 가장 유사한 신호의 위치를 검출.
⑤ ”Range” 단을 통해 찾아진 반사 신호의 위치는 특정 Threshold를 넘게 되면 움직이는 물체로 인식(레이더의 잡음 성분의 크기를 고려한 Threshold 선정이
필요)
위의 과정을 통해 수집된 데이터 중, 움직이는 물체에 안테나가 가려져 고정된 Clutter가 움직이는 것처럼 보이는 현상이 발생한다. 이에 대한 데이터를 제거하기 위해 생성된 Clutter Location Map을 사용한다.
그림 90 원 데이터와 Band Pass Filter를 통과한 데이터
그림 91 Background Subtraction
Back-Ground는 업데이트를 통해 움직이다 정지한 물체에 대한 구분이 가능해진다.
이 방식은 사람이나 물체가 움직이고 있다가 정지해 있으면 신호가 사라진다. 시나 리오에 따라 움직이고 있다가 잠시 정지한 사람/물체를 추적하려 할 시에는 Back-Ground의 업데이트 기능을 사용하지 말아야 한다.
그림 92 송신 신호 파형
Back-Ground Subtraction후 만들어진 움직이는 물체의 반사 신호(Diff 신호)와 송신 신호(그림6)의 Cross-Correlation을 통해 움직이는 물체의 위치를 파악할 수 있다.
Cross-Correlation은 두 신호간의 유사 정도를 측정하는 툴로 사용된다.
Cross-Correlation 결과 값이 크면 두 신호의 유사 정도가 높다는 것을 의미하고, 해당 위치에 반사된 신호가 있다는 것을 의미한다.
Cross-Correlation 결과 값이 주변 값보다 큰 위치에 물체가 존재 한다. (그림 7)
그림 93 배경 제거 신호와 Cross Correlation 결과
그림 94 Cross Correlation 결과와 Target 위치
그림 8의 Cross-Correlation 결과 파형에서 각각 Peak(검은색 사각형)을 찾은 후 각 peak중 Threshold 보다 높은 peak값(녹색 사각형)을 찾으면 Target의 위치를 찾을 수 있다.
Diff 신호에는 움직이는 물체에서 반사된 신호뿐 아니라 multi-pass 신호, Noise 신 호, 그리고, 안테나가 움직이는 다른 물체에 가려져 움직이는 신호로 오인되는 신 호 들이 존재 한다.
Noise 신호는 threshold를 두어 Noise 레벨보다 높은 신호만을 사용하면 된다. 안 테나가 가려져 오인되는 신호는 Clutter Map을 통해 어느 정도 구분이 가능해진다.
하지만, Multi-Pass의 신호 구분에 대한 문제는 아직 해결되지 않고 있다.
Multi-Pass 제거를 위한 알고리즘은 추후 연구 및 구현되어야 한다. Threshold 설 정 방법 중 CA-CFAR(Cell Average Constant False Alarm)을 사용하면, Target 신 호와 근접한 Multi-Pass신호는 일정량 제거가 가능하나 근본적인 해결책은 되지 못 한다.
Clutter Location Map의 사용 목적은 움직이는 물체가 안테나를 가려 고정된 물체 (Clutter)가 diff 신호 상에 움직이는 물체처럼 보이는 오인 신호(False Alarm)가 발 생하는 문제를 해결하기 위함이다.
Radar 센서 구동 초기에 만들어진 Back-Ground 프레임을 사용하여 Clutter location Map 만들고 움직이는 물체를 감지할 때 마다, Clutter Location Map과 비 교하여 Target 인지 Clutter를 Target으로 오인하는 신호인지 구분한다.
그림 9는 생성된 Clutter Location Map을 보여주고 있다. 그림의 최 상단 신호는 Diff 신호의 Cross-Correlation 결과 이며, 가운데는 Raw Frame의 Cross-Correlation 결과 이다. 하단의 파란색 실선으로 그려진 것이 Clutter 위치 및 clutter에 반사된 신호의 크기를 나타내고 있다. 그리고, 붉은색 선은 Raw Frame 에서의 물체의 위치를 알려준다. 이를 통해 움직이는 물체뿐 아니라 고정된 Clutter 의 위치도 모두 알 수 있다.
그림 95 Clutter Location Map
그림 96 Cross Correlation 결과와 Clutter Location Map 비교
그림 97 Noise Matrix
그림 49와 같이 생성된 Noise Matrix를 송신 신호와 Cross-Correlation을 취하면, 예상 Noise 신호의 크기를 알 수 있다. 위 과정을 통해 생성된 Matrix를 일정거리
그림 49와 같이 생성된 Noise Matrix를 송신 신호와 Cross-Correlation을 취하면, 예상 Noise 신호의 크기를 알 수 있다. 위 과정을 통해 생성된 Matrix를 일정거리