I. 서 론
II. 비음수 행렬 분해 기반의 잔향 제거 알고리즘
2.1 잔향 제거를 위한 비용함수 설계
2.2 휴리스틱 곱셈 갱신에 의한 추정
III. 선형 함수로 간소화된 잔향 제거 기법
3.1 매클로린 전개를 활용한 갱신식 간소화
3.2 스케일 모호성을 활용한 크기 조정
IV. 시뮬레이션
4.1 시뮬레이션 환경
4.2 시뮬레이션 결과
V. 결 론
I. 서 론
능동소나 시스템이 수중에서 표적을 탐지하는 것은 송신기를 이용하여 음향 신호를 방사한 후 표적에 반사되어 돌아오는 반향 신호를 탐지하는 과정을 통해 이루어진다. 수동소나가 음원 레벨의 크기를 조절할 수 없는 반면, 능동소나의 경우 방사하는 음향 신호의 세기를 증가시킴으로써 탐지 거리를 확보하거나 혹은 탐지에 충분한 신호대잡음비(Signal-to-Noise Ratio, SNR)를 확보할 수 있는 장점이 있다.
그럼에도 불구하고 능동소나 시스템에서 신호의 세기를 마냥 증가시킬 수는 없는데, 이는 주변 산란체에 의한 방해도 함께 증가되기 때문이다. 즉, 송신기에서 방사된 음향 신호는 수중에 존재하는 다수의 산란체에 의해 반사되며, 이는 잔향 신호의 형태로 수신되어 표적 반향 신호의 탐지를 방해하게 된다. 송신 신호의 세기가 작은 경우에는 잔향 신호의 세기도 작으며, 이 경우 주요 방해 신호는 잔향이 아닌 잡음 신호가 되지만, 송신 신호의 세기를 증가시키게 되면 잔향 신호의 세기도 함께 증가하게 되고, 일정 수준의 세기보다 큰 경우에는 잡음보다 잔향이 더 주요한 방해 요인이 된다.[1] 일반적으로 주변의 산란체들은 정지해 있거나 혹은 함정에 비해 느리게 움직이기 때문에, 표적이 느리게 움직이는 낮은 도풀러 표적일수록 잔향에 의한 방해는 더욱 강해진다.
따라서, 능동소나를 위한 수중음향 신호처리 분야에서는 잔향을 효과적으로 제거하기 위한 기법이 꾸준히 연구되고 있다. 일반적으로 송신 신호와 무관한 백색 잡음으로 가정되는 주변 소음과 달리, 잔향 신호는 송신 신호와 관련이 있으며 백색이 아닌 성질을 가지고 있기 때문에 기존의 잡음 제거 기법과 다른 형태의 알고리즘이 연구되었다. 그중에서도 시스템 식별 알고리즘을 활용한 자기회귀모델 기반의 사전–백색화 기반의 기법이나,[2] 주성분 분석의 신호처리 기법을 응용한 주성분 역산 능동소나 잔향 제거 기법[3] 등이 주요 기법으로 활용되었다.
근래에는 음성 및 음향 신호의 분석 혹은 분리 기법으로 비음수 행렬 분해(Non-negative Matrix Factorization, NMF)를 활용하는 기법들이 다수 제안된 바 있다.[4,5] 신호의 확률적인 특징을 활용하는 고전적인 신호처리 기법과 달리, 비음수 행렬 분해 기법은 신호의 의미론적인 특성을 활용하면서도 딥러닝 알고리즘과 같이 학습 데이터를 필요로 하지 않는, 신호처리와 딥러닝의 과도기적인 특성을 가지는 알고리즘으로 볼 수 있다. 따라서 고전적인 신호처리 알고리즘에 비해 데이터의 의미론적 특성에 적합한 기법의 개발이 가능하면서도, 학습 데이터를 필요로 하지 않아 딥러닝 기법에 비해 개발이 용이한 장점을 가진다.
이에 따라 최근에는 비음수 행렬 분해 기법을 활용한 능동소나 잔향 제거 기법이 연구되고 있다.[6,7,8] 비음수 행렬 분해 기법을 기반으로 한 능동소나 잔향 제거 기법은, 비음수 행렬 분해 기법을 음향 신호의 스펙트로그램에 적용하면 주파수 특징 기저와 시간 활성 기저로 분석할 수 있다는 관찰에 기초하여 고안되었다. 특히, 초기의 연구에서는 연속파(continuous wave) 방사 신호에 대한 표적 반향 신호와 잔향 신호의 특성 차이를 활용하기 위하여 각 성분에 맞는 제약 조건을 설계하여 적용하였으며,[6] 이후 동일한 알고리즘을 선형 주파수 변조 신호에도 적용할 수 있도록 전/후처리 모듈을 추가하는 형태로 확장하는 연구도 진행되었다.[7]
비음수 행렬 분해 알고리즘은 기존의 사전-백색화 기법[2] 및 주성분 역산 기법[3] 등에 비해 향상된 잔향 제거 성능을 보여주고 있으나, 닫힌 형태의 해를 직접 구하는 것이 아니라 반복연산의 형태로 해를 추정하는 형태로 구성되어 있어서 연산량이 적지 않은 편이다. 그중에서도, 표적 반향을 추적하기 위하여 추가된 제약 조건이 소프트맥스 함수를 활용하고 있으며, 이에 대한 기울기 연산을 수행하는 과정에서 필연적으로 지수함수를 활용할 수밖에 없는 단점을 가지고 있다. MATLAB 등을 활용하는 PC 실험실 환경과 달리, 하드웨어로 이식하는 경우 지수함수와 같은 비선형 함수는 높은 연산 복잡도 혹은 메모리 복잡도를 요구하는 주범이 된다.
따라서, 본 논문에서는 기존의 비음수 행렬 분해 기반의 잔향 제거 기법이 실제 시스템에서 활용되기 용이하도록 지수함수를 선형 함수로 근사한 버전의 잔향 제거 기법을 도출하고자 하며, 또한 시뮬레이션을 통해 타당성을 검증하고자 한다. 이를 위하여 2장에서는 기존의 비음수 행렬 분해 기반 잔향 제거 기법을 소개하고, 3장에서는 지수함수를 근사하여 도출한 갱신 함수를 기술하고, 4장에서는 시뮬레이션을 통해 기존의 기법과 비교하여 유의미한 성능 저하가 있는지 여부를 확인한다.
II. 비음수 행렬 분해 기반의 잔향 제거 알고리즘
2.1 잔향 제거를 위한 비용함수 설계
비음수 행렬 분해 기법은 다음과 같이 어떤 비음수 행렬 를 두 비음수 행렬 및 의 곱으로 분해하는 기법이다.[9,10]
여기서 추정 오차 행렬 은 행렬 V를 제한된 개수 개의 기저로 표현했을 때의 오차를 의미하며, 가장 작은 추정 오차 행렬을 가지는 두 행렬 W 및 H를 추정하는 것이 비음수 행렬 분해 알고리즘의 목적이 된다.
행렬 W 및 H를 추정하기 위해서는 먼저 추정 비용함수 를 설계한다. Lee와 Seung[9]은 해당 비용함수로 유클리드 거리와 쿨백–라이블러 발산을 제안하였으며, 그 중 쿨백–라이블러 발산은 다음과 같이 정의된다.
여기서 는 괄호 안 행렬의 번째 원소를 의미한다. 특별한 제약 조건이 없는 비음수 행렬 분해 기법의 경우 다음과 같이 비용함수 를 최소화하는 행렬 W와 H 행렬을 반복적으로 추정하여 얻는다.
음향 신호에 대한 비음수 행렬 분해의 거리 함수로는 이타쿠라–사이토 발산을 활용하기도 하며,[11] 위의 거리 함수를 일반화시킨 베타–발산 함수를 잔향 제거 기법에 활용한 연구도 있다.[12] Reference [12]의 연구에 의하면 능동소나 잔향 제거 기법의 경우 쿨백–라이블러 발산 (𝛽=1)과 유클리드 거리 (𝛽=2)의 사이인 𝛽=1.2 부근의 값을 가지는 베타–발산 함수가 좋은 성능을 보이는 것을 알 수 있으나, 연산량을 고려하면 쿨백–라이블러 발산 또한 좋은 선택이 될 수 있다. 본 논문에서는 실용적인 측면을 고려하여 쿨백–라이블러 발산을 거리 함수로 활용하는 경우에 대해 기술하였다.
Reference [6]에서 개발한 비음수 행렬 분해 기반의 잔향 제거 기법은 Fig. 1과 같이 표적 반향과 잔향의 특성 차이를 활용하도록 고안되었다. 특히, 해당 잔향 제거 알고리즘은 표적 반향과 잔향 신호가 다음과 같은 차이가 있음에 주목하였다: 1) 표적 반향 신호는 송신 신호의 도플러 이동된 형태이고, 2) 표적 반향 신호의 포락선은 잔향 신호에 비해 시간축에서 연속적이며, 3) 표적 반향 신호의 길이는 제한적이다. 이를 활용하기 위하여 표적 반향 성분의 주파수 기저 행렬 를 송신 신호의 도플러 이동 형태로 고정하였으며, 다음과 같이 표적 반향 신호의 시간 기저 행렬 에 대해 시간 연속성 제약 조건 및 시간 길이 제한 제약 조건 을 설계하였다.[6]
Eq. (5)는 시간 기저 행렬의 시간 축으로 인접한 원소의 차이가 클수록 값이 커지는 비용함수를 의미하고, Eq. (6)은 이동 합산의 최댓값 주변을 제외한 나머지 위치의 에너지가 클수록 값이 커지는 비용함수를 의미한다. 는 다음과 같이 의 이동 합산 행렬 에 대해 소프트맥스 함수를 활용하여 최댓값을 판별한 값을 나타내는 행렬이다.[6]
여기서 은 시간 길이 제한 제약 조건의 파라미터로, 예상되는 표적 반향 신호의 길이(프레임 수)를 나타낸다. 이를 조합하면 표적 반향 성분의 시간 기저 행렬 는 다음과 같은 조합의 비용함수로 설계된다.[6]
여기서 𝛼 및 𝛾는 각 비용함수에 대한 가중치 파라미터이다. 잔향 성분의 주파수 기저 행렬 및 시간 기저 행렬 은 특별한 제약 조건 없이 추정 비용함수 만을 최적화하여 얻어진다.
2.2 휴리스틱 곱셈 갱신에 의한 추정
Lee와 Seung이 개발한 비음수 행렬 분해 기법[10]은 Eqs. (3) 및 (4)와 같이 비용함수를 최적화하는 갱신식을 반복적으로 계산하는 방식으로 해를 찾으며, 이를 계산하기 위하여 곱셈 갱신법이라는 기법을 제안한다. 곱셈 갱신법은 경사 하강법의 변형된 형태로, 비용함수 에 대한 비음수 행렬 A에 대한 미분이 다음과 같은 형태라고 가정했을 때,
이를 다음과 같은 곱셈 형태의 갱신식을 반복하여 행렬 A를 추정하는 방법이다.
여기서 ⊗와 분수 연산은 모두 원소 단위의 곱셈과 나눗셈을 나타내며, 와 는 모두 비음수이다. 비용함수가 유클리드 거리이거나 쿨백–라이블러 발산일 때에는 위 곱셈 갱신법이 발산하지 않음이 증명되어 있으나,[10] 추가적인 제약 조건을 사용하는 등 비용함수가 변형된 경우에 대해서는 수렴 여부가 엄밀하게 보장되지 않는다.[11] 다만, 제약 조건의 가중치가 과도하게 크지 않다면 대체적으로 잘 수렴하기 때문에 제약 조건을 추가한 여러 논문에서도 이를 활용하고 있으며,[4] Reference [6]에서도 이와 같은 휴리스틱 곱셈 갱신 방법을 활용하여 갱신식을 도출한다.
Fig. 1에서 보는 바와 같이 잔향 제거 기법에서 추정하는 기저 행렬은 , , 의 3개이며, 표적 반향 주파수 기저 행렬 는 초기값으로 고정된 후 변하지 않는다. 및 에 대해 Eq. (11)의 곱셈 갱신법을 적용하면 다음과 같은 갱신식을 얻는다.[6]
여기서 는 모든 원소가 1인 크기의 행렬을 의미한다. 앞서 언급한 바와 같이, 에 대한 비용함수는 Eq. (9)와 같이 세 비용함수의 조합으로 얻어지며, 이에 대한 휴리스틱 곱셈 갱신 식은 다음과 같이 구성된다.[6]
여기서
이고, 은 모든 원소가 1인 크기의 행렬이며, 는 행렬 A의 원소 단위의 제곱 연산을 의미하고, Eq. (17)의 , 이다.
III. 선형 함수로 간소화된 잔향 제거 기법
3.1 매클로린 전개를 활용한 갱신식 간소화
비음수 행렬 분해 기반의 잔향 제거 기법은 기존의 사전–백색화 기법[2] 및 주성분 역산 기법[3]에 비해 향상된 잔향 제거 성능을 보이고 있으나, 해를 추정하기까지 여러 식을 반복적으로 계산하는 반복연산 기반의 알고리즘이라 연산 복잡도가 높다는 단점이 있다. 특히, 잔향 제거 알고리즘이 결과적으로 PC 환경이 아닌 장비 탑재 환경에서 구동이 되어야 한다는 점을 고려하면, 연산 복잡도 문제는 매우 중요해진다.
Reference [10]에서 제안되었던 비음수 행렬 분해 기법은 사실 반복 추정 연산을 활용하는 기법 중에 연산이 복잡하지 않은 편인데, 그 이유는 추정 과정에서 비선형 연산을 사용하지 않고 모든 연산이 선형 연산으로만 이루어져 있기 때문이다. 다만, 비음수 행렬 분해 기반의 잔향 제거 기법들[6,7,8]의 경우 시간 길이 제한 제약 조건 이 소프트맥스 함수로 이루어져 있으며, 소프트맥스 함수는 최대값 지시함수의 변형된 형태로 Eq. (7)과 같이 지수함수를 사용하는 비선형 연산으로 이루어져 있다. 최대값 지시함수를 직접 활용하면 지수함수를 사용하지 않을 수 있지만, 이 경우 미분이 불가능하여 갱신식을 얻을 수 없는 문제가 있다.
PC 환경, 특히 MATLAB과 같은 수치해석 소프트웨어를 활용하여 알고리즘을 구현하는 경우 지수함수를 연산하는 내장함수가 하드웨어에 종속적인 형태로 매우 높은 수준으로 최적화되어 있어 지수함수가 큰 문제가 되지 않는다. 그렇지만 알고리즘을 장비에 탑재하는 경우 지수함수 연산은 덧셈 및 곱셈에 비해 매우 높은 연산 복잡도를 가지게 된다. 참조 표를 활용하여 연산 복잡도를 줄이는 방법도 있지만, 표 사이의 값들에 대해 보간 연산을 수행하기 때문에 정확도가 떨어지거나 혹은 메모리 복잡도가 늘어나는 문제가 있다.[12,13] 따라서 가능한 경우라면 지수함수와 같은 비선형 함수를 사용하지 않는 알고리즘이 장비에 탑재하기에 유리하다.
비음수 행렬 기반의 잔향 제거 기법에서 비선형 함수를 가지고 있는 갱신식은 Eqs. (19) 및 (20)이며, 두 갱신식 모두 지수함수 을 가지고 있다. 이를 근사하기 위하여, 잘 알려진 바와 같이 지수함수에 대한 매클로린 전개식(=0에서의 테일러 전개식)을 활용하면 다음과 같다.
만약 이 충분히 작다고 가정하면 Eq. (21) 우변의 세 번째 항 이후부터는 매우 작은 값이 되어 무시할 수 있으며, 이 경우 Eq. (21)은 다음과 같이 근사가 가능하다.
또한, 이를 Eqs. (19) 및 (20)에 적용하면 다음과 같이 근사가 가능하다.
기존의 Eqs. (19) 및 (20) 대신 Eqs. (23) 및 (24)의 갱신식을 사용하면 모든 연산이 선형 연산으로 이루어진 갱신식이 완성된다.
Fig. 2는 지수함수에 대한 매클로린 근사의 오차를 도시하고 있다. Fig. 2(a)는 지수함수와 이에 대한 매클로린 근사 값을 0과 1 사이의 값에 대해 도시한 그래프로, 약 0.5 이하의 충분히 작은 값에 대해서는 오차가 크지 않음을 볼 수 있다. 또한, Fig. 2(b)는 두 값의 오차를 지수함수로 나눈 오차 비율을 도시하고 있으며, 0.5 이하의 값에서 10 % 미만의 오차 비율을, 그리고 0.2 이하의 값에서 2 % 미만의 오차 비율을 보이는 것을 확인할 수 있다.
3.2 스케일 모호성을 활용한 크기 조정
Eq. (22)의 근사가 성립하기 위해서는 이 작다는 가정이 필요하다. Reference [6]의 연구를 살펴보면 는 표적 반향 성분의 크기 스펙트로그램이고, 표적 반향 성분의 주파수 기저인 는 송신 신호의 크기 스펙트로그램을 활용하여 초기화 및 고정된 값이기 때문에 는 작은 값을 가지게 되고, 또 가 작은 값을 가지도록 의 값이 충분히 크도록 사전에 설정할 수 있다.
그럼에도 불구하고 비음수 행렬 분해 기법은 기울기 함수를 활용한 반복연산을 통해서 최적해를 찾아가는 과정으로 구성되어 있기 때문에, 특정 단계에서 일시적으로 큰 값이 추정되는 경우가 존재할 가능성을 완벽히 배제할 수는 없다. 따라서, 본 논문에서는 이러한 경우에 대비한 안전장치를 마련하고자 했다.
비음수 행렬 분해의 기본 모델인 Eq. (1)의 식을 다시 살펴보면 다음과 같은 사실을 알 수 있다.
즉, 어떤 비음수 행렬 W와 H의 쌍이 비음수 행렬 분해 문제의 해가 된다면, 0이 아닌 임의의 상수 𝜂에 대해 와 의 쌍도 해가 되며, 이를 비음수 행렬 분해 알고리즘의 스케일 모호성이라고 한다.
이를 활용하여 본 논문에서 제안하는 알고리즘에는 다음과 같은 안전장치를 추가하였다. 만약 의 최대값 가 임의의 문턱값 𝜏보다 큰 경우 다음과 같이 W와 H의 크기를 조정한다.
위의 크기 조정 과정을 포함한 전체 알고리즘의 요약은 Table 1과 같다.
Table 1.
Summary of the proposed algorithm.
| NMF-based reverberation suppression algorithm with approximation of exponential function |
| Initialization: is initialized with frequency structures of transmitted ping and its Doppler-shifted replicas. , , and are initialized by absolute values of Gaussian random numbers. Input: magnitude spectrogram of received signal. Iterations: 1) is updated using Eq. (12); 2) is updated by ; 3) if , W and H are scaled with Eqs. (26), (27), (28); 4) is updated using Eqs. (14), (15), (16), (17), (18), (23), (24), and (8); 5) is updated using Eq. (13); 6) H is updated by . After convergence: magnitude spectrogram of the output signal is reconstructed by , or can be reconstructed by using a smoothed Wiener mask.[14] |
IV. 시뮬레이션
4.1 시뮬레이션 환경
제안하는 근사 기법의 효과를 검증하기 위하여 MATLAB을 이용한 시뮬레이션을 수행하였다. 본 논문에서 구성한 시뮬레이션은 References [6] 및 [14]와 유사하게 구성하였으며, 잔향 또한 해당 실험과 동일한 비–레일레이 잔향 모델[15]을 활용하여 생성하였다. 이때 송수신기는 의 속력 로 이동하는 것으로 가정하였으며, 이에 따른 도플러 퍼짐을 고려하여 잔향을 생성하였다.
송신 파형은 0.1 s 길이의 지속파 펄스로 가정하였으며, 단상태 송수신기를 통해 인 표적에 의해 생성되는 반향을 수신하는 상황을 가정하였다. 위의 표적 이동 속도는 표적 반향의 주파수가 잔향의 도플러 퍼짐 안에 있어서 잔향이 표적 반향의 탐지를 방해하는 상황을 가정한 것이다.
표적 반향과 잔향이 포함된 수신 신호는 5 s의 길이를 가지도록 생성되었고, 비음수 행렬 분해 기반의 잔향 제거 기법을 적용할 수 있도록 각 수신 신호에 단시간 푸리에 변환을 적용하여 크기 스펙트로그램으로 변환하였다. 단시간 푸리에 변환의 주파수 빈은 128개로 설정하였으며, 창 함수는 75 % 중첩된 16 ms 길이의 해밍 윈도우로 설정하였다.
비음수 행렬 분해 기법의 파라미터는 다음과 같이 설정하였다. 표적 반향 기저의 개수와 잔향 기저의 개수는 각각 17개와 60개로 설정하였으며, 시간 연속성 제약 조건의 가중치 𝛼와 시간 길이 제한 제약 조건의 가중치 𝛾는 각각 0.001과 0.1로 설정하였고, 시간 길이 제한 파라미터 은 0.1 s에 해당하는 프레임 길이로 설정하였다. 비음수 행렬 분해 연산의 반복 횟수는 100회로 설정하였다. 또한 제안하는 근사 기법의 크기 조정 문턱값 𝜏는 0.2로 설정하였다. 위의 파라미터들은 Reference [14]와 동일한 파라미터로 설정하였으며, 제안하는 근사 기법의 크기 조정 문턱값은 Fig. 2(b)에서 보는 바와 같이 2 % 미만의 오차율을 유지할 수 있도록 설정하였다.
제안하는 알고리즘의 근사 과정이 성능을 저하시키는지 여부를 확인하기 위하여, 근사를 적용하지 않은 기존의 비음수 행렬 분해 기반 잔향 제거 기법[6,14]을 비교 대상으로 설정하였다. 또한, 성능 수치의 유효성을 확인하기 위하여 주성분 역산 기법[3]의 성능도 함께 비교하였다. 기존의 비음수 행렬 분해 기법의 파라미터는 제안하는 기법과 동일하게 설정하였고, 주성분 역산 기법의 파라미터는 대략적인 잔향 에너지를 알고 있다는 가정하에 이상적인 값으로 설정하였다.
제안하는 알고리즘에서의 지수함수 근사 과정이 중심 알고리즘과 최종 성능에 미치는 영향을 각각 살펴보기 위하여, 본 시뮬레이션에서는 Reference [14]에서 제안된 후처리 기법, 즉 잔향–평활화된 위너 마스크 후처리 과정을 적용하지 않은 결과와 적용한 결과 모두를 살펴보았다. 위너 마스크를 적용한 경우 평활화 파라미터 은 0.6 s로 설정하였다.
입력 신호의 신호대잔향비는 –18 dB부터 –6 dB 까지 3 dB 간격으로 설정하였고, 각 신호대잔향비 환경에 대해 1,000회의 몬테카를로 시뮬레이션을 수행 후 평균 성능을 산출하였다. 성능 지표는 다음과 같이 정의된 출력 신호대잡음비로 설정하였다.
여기서 는 잔향 및 잡음이 없는 이상적인 표적 반향 신호, 즉 정답 신호를 의미하고, 는 알고리즘의 출력 신호를 나타낸다.
4.2 시뮬레이션 결과
Fig. 3은 각 입력 신호대잔향비 환경에 대한 잔향 제거 알고리즘들의 출력 신호대잡음비 성능을 도시하고 있다. 청색 원형 마커로 표시된 결과가 기존의 비음수 행렬 분해 기법을, 적색 X 마커로 표시된 결과가 근사된 비음수 행렬 분해 기법의 결과를 나타내고 있으며, 파선은 위너 마스크 후처리[14]까지 적용한 결과를, 1점 쇄선은 후처리를 적용하지 않고 중심 알고리즘[6]만 적용한 결과를 나타내고 있다. 먼저 파선으로 나타낸 위너 마스크 후처리 결과를 살펴보면, 모든 시험대상 신호대잔향비 환경에서 근사를 적용하기 전[NMF-Wiener(exp)] 결과와 제안하는 근사를 적용한 후[NMF-Wiener(approx)] 결과가 매우 유사한 것을 확인할 수 있다. 또한, 1점 쇄선으로 나타낸 중심 알고리즘만 적용한 결과[NMF(exp)와 NMF(approx)]를 살펴보면 위와 비슷한 정도로 유사한 것을 확인할 수 있는데, 이는 중심 알고리즘의 결과 또한 매우 유사하다는 것을 보여주는 결과로, 근사로 인한 차이가 후처리 과정에서 상쇄된 것이 아니라 중심 알고리즘의 결과도 차이가 크지 않음을 의미한다.
Figs. 4 및 5는 처리된 결과에 정합 필터를 적용한 후 다양한 문턱값을 적용하여 탐지 결과를 도시한 수신자 조작 특성(Receiver Operating Characteristics, ROC) 곡선을 나타낸 것이다. 차이 및 유사성을 살펴보기 용이하도록 각 그래프는 0 % ~ 10 % (–9 dB 신호대잔향비 환경의 경우 0 % ~ 3 % )의 오탐지 확률 구간에 대해 도시하였다. Fig. 4는 중심 알고리즘만 적용한 결과이며, Fig. 5는 위너 마스크 후처리까지 적용한 결과이다. 위의 결과들을 살펴보면, 위너 마스크를 적용하지 않은 경우의 –18 dB 환경[Fig. 5(d)]에서 3 % ~ 6 % 오탐지 확률을 가지는 경우에 대해 기존 결과의 탐지 확률이 미세하게 높기는 하지만 유의미한 차이는 아니며, 나머지 결과의 경우 근사 전과 후의 ROC 곡선도 매우 유사한 것을 확인할 수 있다.

Fig. 4.
(Color available online) Comparison results of detection performance with ROC curve for (a) -9 dB, (b) -12 dB, (c) -15 dB, and (d) -18 dB Signal-to-Reverberation Ratio (SRR) conditions without applying the smoothed Wiener mask postprocessing.[14]

Fig. 5.
(Color available online) Comparison results of detection performance with ROC curve for (a) -9 dB, (b) -12 dB, (c) -15 dB, and (d) -18 dB SRR conditions with applying the smoothed Wiener mask postprocessing.[14]
Fig. 6은 MATLAB을 활용해서 각 모듈의 연산시간을 측정한 그래프이다. 측정 환경은 맥북 프로 2020 (13인치)에서 이루어졌으며, 100회의 비음수 행렬 분해 반복연산을 통해 해를 추정하는 과정을 기준으로 각 모듈별 연산시간을 합산하였다. 또한, 각 모듈의 측정 시간은 200회의 독립적인 실험에서 측정한 값의 평균으로 계산한 값이다. 막대그래프는 왼쪽부터 차례대로 W행렬의 쿨백–라이블러 발산 계산, H행렬의 쿨백–라이블러 발산 계산, 시간 연속성 제약 조건 계산, 그리고 시간 길이 제한 제약 조건 계산에 걸린 시간을 나타내고 있다.
MATLAB에서 내장함수로 구현되어 있는 지수함수는 매우 낮은 수준에서 하드웨어 종속적으로 최적화되어 있기 때문에, 일반적인 장비에 탑재하는 상황까지 고려하는 경우에 대한 계산 복잡도의 기준으로 삼기에는 불합리한 부분이 있다. 다만, 16비트 정밀도 기준으로 지수함수를 근사하는 경우 일반적으로 6차 혹은 7차 테일러 전개식을 활용하여 구현하기 때문에,[16] 본 논문에서는 7차 테일러 전개를 사용하는 경우를 기준으로 삼아 연산량이 줄어드는 정도를 살펴보았다. 7차 테일러 근사를 활용하는 경우 시간 길이 제한 제약 조건의 연산시간이 약 216.5 ms로, 다른 모듈(89.7 ms ~ 164 ms)의 연산시간에 비해 다소 긴 연산시간을 필요로 하는 것을 알 수 있다. 반면, 제안하는 모듈을 활용하는 경우 해당 연산시간이 약 54.8 ms로 다른 모듈에 비해 낮은 연산시간을 사용하는 결과를 보여, 제안하는 근사 알고리즘이 유의미한 연산량 감소를 보이고 있음을 확인할 수 있다. 실제 탑재 환경에서는 MATLAB 내장함수의 최적화 이점을 활용할 수 없기 때문에, 제안하는 알고리즘이 실질적인 연산량 절감 효과를 가져올 것으로 기대할 수 있다.
V. 결 론
본 논문에서는 비음수 행렬 분해 알고리즘 기반의 능동소나 잔향 제거 기법의 활용도를 높이기 위하여 연산 복잡도를 줄이는 방법에 대한 연구를 진행하였다. 기존의 비음수 행렬 분해 기반의 잔향 제거 기법은 두 비음수 행렬을 추정하는 비용함수 외에도 다양한 제약 조건에 대한 계산식을 포함하고 있으며, 특히 반복연산 안에서 비선형 함수인 지수함수를 포함하고 있다. 비선형 함수 연산은 알고리즘을 실제 장비에 탑재하는 경우 큰 연산 복잡도 혹은 메모리 복잡도를 요구하기 때문에 장비에 탑재하여 활용하기에 적절하지 않다. 따라서, 본 논문에서는 지수함수에 대한 매클로린 전개를 활용하여 지수함수를 덧셈으로 근사하였으며, 이를 위한 가정을 만족하지 않는 경우를 대비하여 조건에 따라 선택적으로 행렬 크기를 조절함으로써 성능이 저하되지 않도록 하는 기법을 개발하였다.
본 논문에서 제안하는 근사 알고리즘의 유효성을 검증하기 위하여 MATLAB을 활용한 몬테-카를로 반복 시뮬레이션을 수행하였다. 시뮬레이션 결과 다양한 신호대잔향비 환경에서 기존의 알고리즘과 제안하는 알고리즘의 성능이 유사함을 확인하였으며, 특히 MATLAB 환경에서의 연산시간 측정을 통해 제안하는 근사를 통해 유의미하게 연산시간이 단축되는 것을 확인하였다.







