The Journal of the Acoustical Society of Korea. 31 July 2016. 280-287
https://doi.org/10.7776/ASK.2016.35.4.280

ABSTRACT


MAIN

  • I. 서 론

  • II. MFxLMS 알고리즘 및 FxNLMS 알고리즘

  • III. 제안된 MFxNLMS 알고리즘

  • IV. 컴퓨터 모의 실험 결과

  • V. 결 론

I. 서  론

능동 소음 제어 시스템은 제거하고자 하는 소음의 반대 위상 신호를 생성하여 소음을 상쇄시키는 일종의 전기음향 시스템이다.[1] 기본적인 개념은 오래 전에 제안되었으나[2] 전기 영역과 음향 영역이 공존하는 관계로 구현 상의 어려움을 겪다가, 최근 디지털 신호처리 기술 및 반도체 기술의 발달로 구현이 용이해지면서 여러 분야에서 활용되고 있다. 대표적인 능동 소음 제어 알고리즘으로는 2차 경로(secondary path)를 고려하여 LMS(Least Mean Square) 알고리즘을 변형한 Filtered-x LMS(FxLMS) 알고리즘이 널리 쓰인다. 또한, 단일 채널 능동 소음 제어로 얻을 수 있는 성능의 한계를 극복하고자 다채널 능동 소음 제어 방식을 구상하게 되었으며, 이를 위하여 단일 채널 FxLMS 알고리즘을 다채널로 확장한 다채널 FxLMS(Multi-channel FxLMS, MFxLMS) 알고리즘이 제안되었다.[1]

한편, 단일 채널 능동 소음 제어의 경우, 비정상적인(non-stationary) 입력 신호에 대하여 안정적으로 동작하도록, 정규화된 LMS(Normalized LMS, NLMS)의 경우처럼, 입력 신호의 에너지로 정규화한 정규화된 FxLMS(Normalized FxLMS, FxNLMS) 알고리즘이 활용된다. FxNLMS는 NLMS와 동일한 방식으로 구현된다.[3,4] 그러나 MFxLMS(Modified FxLMS)의 경우에는 갱신 알고리즘에서 여러 개의 적응 필터와 입력 신호들이 존재하고 이들이 서로 연계되어 있기 때문에 FxNLMS의 경우처럼 단순한 방식으로는 정규화할 수 없다. Johansson et al.[5]는 비행기 캐빈의 프로펠러 잡음을 제거하기 위하여 프로펠러 잡음의 하모닉을 이용하는 특수한 경우의 MFxLMS 정규화 알고리즘을 제안한 바 있으며, 여기서는 자기 상관 계수 행렬의 trace를 이용하여 정규화를 하였다.

본 논문에서는 MFxLMS의 정규화를 위하여 최소 교란 원리에 기반한 일반화된 정규화 알고리즘을 적용하였다. 논문의 구성은 II장에서 MFxLMS 및 FxNLMS에 대하여 간략히 소개하고 III장에서는 정규화된 MFxLMS(Normalized MFxLMS, MFxNLMS) 알고리즘을 제안한다. IV장에서는 제안된 알고리즘이 비정상적인 입력을 가지는 능동 소음 제어기에서 기존의 알고리즘에 비하여 우수한 성능을 가짐을 컴퓨터 모의 실험을 통하여 보여주고, V장에서 결론을 맺는다.

II. MFxLMS 알고리즘 및 FxNLMS 알고리즘

J개의 참조 마이크(reference microphone), K개의 제어 스피커(control speaker), M개의 오차 마이크(error microphone)를 사용하는 J × K × M 다채널 능동 소음 제어 시스템을 고려하자. m번째 오차 마이크에서의 오차 신호 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC2E8C.gif는 다음과 같이 주어진다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC2F67.gif. (1)

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC2FD6.gif은 소음원이 주경로(primary path)를 거처 m번째 오차 마이크로 입력된 신호로서 제거되기를 원하는 소음 신호이다. http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC3083.gif은 적응필터 출력 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC3110.gif, http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC323A.gif들이 능동 소음 시스템의 제어 스피커들을 통해 출력된 후, 2차 경로를 거처 m번째 오차 마이크에 입력된 신호로서 다음과 같이 쓸 수 있다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC3345.gif, (2)

여기서 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC33E2.gif는 k번째 제어 스피커와 m번째 오차 마이크 사이의 전달 함수이다. k번째 제어 스피커를 위한 적응 필터 출력 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC348F.gif은 다음과 같이 주어진다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC3636.gif, (3)

여기서 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC385A.gifhttp://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC38A9.gif번째 참조 마이크 입력 신호 벡터이고 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC3917.gifhttp://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC3AAE.gifhttp://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC3ADE.gif번째 참조 마이크 신호 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC3B7C.gif을 입력으로 사용하여 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC3BAB.gif번째 제어 스피커의 출력을 만들어 내는 적응필터 계수 벡터이다. http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC3BEB.gif은 적응필터의 차수이다. MFxLMS 갱신식은 최대경사 알고리즘을 이용하여 다음과 같이 주어진다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC3E6D.gif. (4)

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC3F0A.gif가 충분히 작아서 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC3FA7.gif이 시간적으로 느리게 변화된다고 가정한다면, 다음과 같은 MFxLMS 갱신식을 얻게 된다.[1]

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC44C9.gif (5)

여기서 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC45E3.gif이다. 실제에 있어서는 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC4680.gif의 추정값인 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC46FE.gif을 사용하기 때문에 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC4838.gif이 된다. 한편, 단일 채널(J = 1, K = 1, M  = 1)의 경우 Eq.(5)는 다음과 같은 FxLMS 알고리즘이 된다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC4990.gif. (6)

FxNLMS 알고리즘은 다음과 같이 NLMS 알고리즘과 동일한 방식으로 FxLMS 알고리즘을 변형하여 얻을 수 있다.[3,4]

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC4B08.gif, (7)

여기서 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC4B67.gifhttp://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC4BB6.gif을 의미한다.

한편, Eq.(5)의 MFxLMS을 단일 채널과 같은 방식을 단순 적용하여 정규화를 하면 다음과 같은 갱신식을 얻을 수 있다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC4CFF.gif. (8)

그러나 Eq.(8)은 MFxLMS보다 수렴 특성이 저하되거나 많은 경우 제대로 수렴하지 않는다. 따라서 다채널을 고려한 정규화 알고리즘이 요구된다.

III. 제안된 MFxNLMS 알고리즘

이번 절에서는 최소 교란 원리(the principle of minimal disturbance)를 이용하여 MFxLMS을 정규화한 MFxNLMS 알고리즘을 제안한다. 최소 교란 원리에 의하면 갱신 알고리즘은 제한된 조건을 가지는 최대, 최소 문제를 푸는 것으로 귀결된다.[6]http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC4D5E.gif이 주어진 상태에서 최소 교란 원리에 기반한 최적 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC4DBD.gif은 Eq.(10)의 제한 조건을 만족하면서 Eq.(9)의 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC4E2B.gif을 최소화시킨다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC4F74.gif, (9)

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC51D7.gif (10)

제한 조건을 가지는 최대, 최소 문제는 Lagrange multiplier 방법을 이용하여 제한 조건이 없는 문제로 바꿀 수 있다. 따라서 주어진 문제는 다음의 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC5264.gif을 최소화시키는 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC52E2.gif를 구하면 된다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC592D.gif. (11)

Eq.(11)을 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC59BA.gif에 대하여 편미분을 취한 후 0으로 놓으면, Eq.(12)를 얻는다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC5BAF.gif

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC5C6C.gif ,

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC5E22.gif ,(12)

Eq.(12)를 Eq.(10)에 대입하면 Eq.(13)을 얻는다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC60D3.gif (13)

한편, Eq.(1)로부터 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC6558.gifhttp://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC65B7.gif이므로 Eq.(13)은 다음과 같아진다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC6683.gif (14)

Eq.(14)를 행렬의 형태로 표시하면 다음과 같다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC6943.gif, (15)

여기서 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC6A4E.gif, http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC6AFB.gifhttp://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC6BE6.gif, http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC6D10.gif 이다. 따라서 다음의 결과를 얻는다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC6DEC.gif. (16)

Eq.(16)을 Eq.(12)에 대입하고 수렴 속도를 조절하기 위하여 수렴인자 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC6E5A.gif를 도입하면 최종적으로 Eq.(17)과 같은 일반화된 MFxNLMS 갱신 알고리즘을 얻게 된다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC7262.gif (17)

여기서 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC73BB.gif이다. Eqs.(16)과 (17)을 통해 MFxLMS 알고리즘의 정규화는 단순히 입력 신호의 에너지의 역수를 이용하지 않고 다채널 입력 신호로부터 얻어진 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC7449.gif의 역행렬이 관여하고 있음을 할 수 있다. 한편, Eq.(16)에서 역행렬 계산을 피하기 위하여 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC74D6.gif의 대각 성분만을 고려하면 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC7564.gif는 Eq.(18)과 같이 간략화 될 수 있다. 이는 서로 다른 오차 마이크들 간에 신호의 상관도가 떨어진다는 점을 가정한 것이다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC75D2.gifhttp://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC7806.gif (18)

Eq.(18)을 이용하면 최종적으로 다음과 같은 MFxNLMS 갱신식을 얻을 수 있다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC7CF8.gifhttp://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC7E03.gif, (19)

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC7E52.gif

J = 1, K = 1, M = 1인 경우, 즉 단일 채널의 경우에는 Eq.(19)는 Eq.(7)의 FxNLMS 알고리즘이 된다. 한편, FxLMS 알고리즘은 LMS 알고리즘과 달리 2차 경로의 영향으로 인하여 적응 필터 갱신에 지연이 발생하게 된다. 이는 안정적인 수렴에 영향을 주게 되고 결국 알고리즘이 수렴할 수 있는 수렴 인자의 범위가 LMS 알고리즘에 비하여 상당히 제한된다.[1] 이를 해결하기 위하여 오차 마이크로부터 입력된 신호를 오차 신호로 바로 사용하지 않고, LMS 알고리즘처럼 원하는 신호를 추정하고 추정된 원하는 신호에서 적응 필터의 출력을 차감하여 얻은 오차 신호를 이용하는 수정된 FxLMS(Modified-FxLMS)이 제안되었다.[7,8] Modified-FxLMS은 약간의 추가 연산만으로 수렴의 안정성을 높이기 때문에 최근에는 FxLMS 알고리즘을 대체하는 알고리즘으로 주목 받고 있다. Modified-FxLMS 알고리즘은 Eq.(5)에서 오차 신호만 수정된 오차 신호로 대체되기 때문에 Modified-MFxLMS 알고리즘의 정규화도 Eq.(19)과 같은 형태로 얻을 수 있다. 즉, Modified-MFxNLMS 알고리즘은 Eq.(19)에서 오차 신호 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC7EC0.gif이 수정된 오차신호로 대체된다.

IV. 컴퓨터 모의 실험 결과

제안된 알고리즘의 수렴 특성을 살펴보기 위하여 컴퓨터 모의 실험을 수행하였다. J  = 2, K = 3, M  = 3로 설정하였으며 실험을 위한 실내 공간 정보는 Fig. 1에 나와 있다. 실내 공간의 높이는 2.5 m로 설정했으며 스피커 및 마이크는 모두 1 m 높이에 위치한 것으로 가정하였다. 소음은 2개의 스피커를 이용하여 생성된다고 가정하였다. (x, y, z)의 좌표 형태로 표현할 때 공간 정보는 Table 1과 같다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/Figure_ASK_35_04_05_F1.jpg

Fig. 1. Scheme of the 2 × 3 × 3 ANC system.

Table 1. The coordinates of the location of speakers and microphones.

description

coordinate (m)

n1

noise generation speaker  #1

(1.0, 1.0, 1.0)

n2

noise generation speaker #2

(1.0, 2.5, 1.0)

j1

reference microphone #1

(1.3, 1.0, 1.0)

j2

reference microphone #2

(1.3, 2.5, 1.0)

k1

control speaker #1

(3.5, 1.0, 1.0)

k2

control speaker #2

(3.5, 2.0, 1.0)

k3

control speaker #3

(3.5, 3.0, 1.0)

m1

error microphone #1

(4.0, 1.0, 1.0)

m2

error microphone #2

(4.0, 2.0, 1.0)

m3

error microphone #3

(4.0, 3.0, 1.0)

표본화 주파수는 8 kHz로 설정하였으며 실험에 필요한 모든 전달함수는 이미지 방법을 이용하여 구하였다.[9] 소음 생성 스피커와 참조 마이크 간의 전달함수의 차수는 400, 소음 생성 스피커와 오차 마이크 간의 전달함수(주 경로) 차수는 800, 제어 스피커와 오차 마이크 간의 전달함수(2차경로)의 차수는 600으로 설정하였다. 그리고 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC7EF0.gif 값을 0.1로 설정하여 실내의 적절한 반향 정도를 고려하였다. 2차 경로의 추정치를 고려하기 위하여 Lee et al.[10] 이 사용한 방법과 같이 2차 경로의 전달함수 길이의 2/3만 사용하여 어느 정도의 추정 오차를 반영하였다. 모든 실험에서 적응 필터 계수 차수는 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC7F30.gif = 256을 사용하였다.

두 종류의 소음을 이용하여 실험을 수행하였다. 첫 번째로 유색 잡음이 섞인 다중 정현파를 사용하였다. 소음 생성 스피커 #1과 #2에서 각각 Eqs.(20), (21)과 같은 신호를 생성하였다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC83D4.gif (20)

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC850E.gif (21)

여기서 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC853E.gif는 표본화 주파수이고, http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC857D.gif = 100 Hz, http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC85AD.gif = 500 Hz, http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC85DD.gif = 1100 Hz, http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC866B.gif = 250 Hz, http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC868B.gif = 800 Hz, http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC86F9.gif = 1600 Hz로 설정하였다. http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC87E5.gif은 분산 1의 백색 가우시안 잡음을 입력으로 하는 2차 AR(Autoregressive) 프로세스인 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC890E.gif에 의해 생성된 유색 잡음이다. 한편, 비정상 환경을 반영하기 위하여 n = 16000이 되는 시점에서 Eqs.(20)과 (21)의 유색 잡음의 크기를 2배로 증가시켰다. 일반적인 모의 실험에서는 Eqs.(20)과 (21)을 참조 마이크 입력 신호, 즉 참조 신호로 바로 사용하나, 본 실험에서는 실제 상황에 더 가깝게 모의 실험을 하기 위하여 소음원으로부터 생성된 소음이 실내 음향을 반영하여 참조 마이크에 도달한 신호를 참조 신호로 사용하기 위하여 앞에서 언급한 바와 같이 소음 생성 스피커와 참조 마이크 사이의 전달 함수를 구하여 사용하였다.

Fig. 2는 오차 마이크 #2로 입력되는 오차 신호를 이용하여 MFxLMS와 MFxNLMS의 수렴 특성을 도시한 것이다. 각각의 알고리즘을 20번 수행하여 앙상블 평균을 취하여 도시하였다. 3개의 오차 마이크에 대한 수렴 특성이 거의 유사하기 때문에 대표로 가운데에 위치한 오차 마이크 #2의 수렴 특성을 도시한 것이며, 이후 실험 결과도 오차 마이크 #2를 대상으로 하였다. n  = 16000 이전에서는 MFxLMS와 MFxNLMS의 수렴 특성이 같도록 각각의 수렴인자를 조정하였다. Fig. 2에서 보듯이 n = 16000 이후 소음 신호의 크기가 2배로 커진 상황에서 MFxNLMS은 MFxLMS와 달리 정규화를 통하여 입력 신호의 에너지와 관계 없이 일정한 성능을 유지하나 MFxLMS은 발산하는 것을 볼 수 있다. Fig. 3은 Modified-MFxLMS와 Modified- MFxNLMS의 수렴 특성을 보여준다. 역시, n = 16000 에서 Modified-MFxLMS는 증가된 입력 신호를 고려하지 못하여 Modified-MFxNLMS에 비하여 성능이 저하된 것을 알 수 있다. 다만, Modified-MFxLMS의 특성 상, 안정성이 증대되어 Fig. 2와 달리 발산하지는 않는다. Fig. 4는 Modified-MFxLMS과 Modified- MFxNLMS에 의해 소음이 제거된 신호의 스펙트럼을 보여준다. Modified-MFxNLMS의 소음제거 능력이 우수함을 볼 수 있다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/Figure_ASK_35_04_05_F2.jpg

Fig. 2. Comparison of convergence behaviors for the MFxNLMS and the MFxLMS under the multi-sinusoidal noise.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/Figure_ASK_35_04_05_F3.jpg

Fig. 3. Comparison of convergence behaviors for the Modified-MFxNLMS and the Modified-MFxLMS under the multi-sinusoidal noise.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/Figure_ASK_35_04_05_F4.jpg

Fig. 4. Comparison of power spectrum of signals obtained by the Modified-MFxNLMS and the Modified- MFxLMS under the multi-sinusoidal noise.

두 번째 소음 신호로, 두 종류의 실제 엔진 잡음을 이용하여 실험하였다. 각각의 엔진 잡음은 각각 소음 생성 스피커 #1과 #2를 통하여 재생된다. 첫 번째 실험과 마찬가지로 적응 필터가 적응해가는 중간에 엔진 소음의 크기를 2배로 증가시켰다. Fig. 5는 Modified- MFxLMS와 Modified-MFxNLMS의 수렴 특성을 보여준다. 입력 신호의 크기가 변하는 비정상 상황에서 MFxNLMS가 MFxLMS 보다 우수한 성능 보임을 알 수 있다. 한편, MFxLMS의 경우는 정현파 소음의 경우처럼 비정상 상황에서 발산을 하였다. Fig. 6은 수렴 후의 Modified-MFxLMS과 Modified-MFxNLMS에 의해 소음이 제거된 신호의 스펙트럼이다. 엔진 소음의 주파수 성분이 대부분 저주파 대역에 분포하고 있으므로, 1000 Hz까지의 스펙트럼을 도시하였다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/Figure_ASK_35_04_05_F5.jpg

Fig. 5. Comparison of convergence behaviors for the Modified-MFxNLMS and the Modified-MFxLMS under the engine noise.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/Figure_ASK_35_04_05_F6.jpg

Fig. 6. Comparison of power spectrum of signals obtained by the Modified-MFxNLMS and the Modified- MFxLMS under the engine noise.

한편, Eq.(17)의 일반화된 MFxNLMS의 수렴특성에 대하여도 살펴보았다. Eq.(15)에서 http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC89BB.gif은 오차 마이크 간의 거리가 멀수록 신호들 간의 상관도가 떨어져 작아진다. 앞선 실험 결과들의 경우, 오차 마이크 간의 거리는 1 m였고 실험에 의하면 오차 마이크 간의 거리가 1 m 정도만 떨어져도, Eq.(17)의 결과와 Eq.(19)의 결과는 거의 동일하였다. 그러나 오차 마이크 간의 거리가 가까울 때에는 비대각성분을 무시할 수 없으므로 성능 차이가 남을 예상할 수 있다. 이는 실험을 통해서 확인 할 수 있었다. Fig. 7은 오차 마이크의 간격을 40 cm로 좁혔을 때의 다중 정현파 잡음에 대한 실험 결과이다. Eq.(19)의 대각 성분 만을 이용한 MFxNLMS 보다 Eq.(17)의 전체 행렬을 이용한 MFxNLMS가 수렴 특성이 다소 좋은 것을 확인할 수 있다. 그러나 그 차이가 소요되는 연산량에 비하여 크지 않고 또한 마이크의 거리가 적당히 떨어질 경우, 두 알고리즘의 수렴 특성이 거의 같아지기 때문에 대부분의 경우 Eq.(19)의 MFxNLMS 알고리즘이 실용적이라고 할 수 있다.

http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/Figure_ASK_35_04_05_F7.jpg

Fig. 7. Comparison of convergence behaviors for the MFxNLMS algorithm using the full matrix and the MFxNLMS using the diagonalized matrix for normali-zation under the multi-sinusoidal noise (http://static.apub.kr/journalsite/sites/ask/2016-035-04/N0660350405/images/PIC89DC.gif = 0.5).

V. 결  론

본 논문에서는 다채널 능동 소음 적응 필터에 적용할 수 있는 정규화 알고리즘을 제안하였다. 단일 채널 능동 소음 제어를 위한 FxLMS 알고리즘의 경우는 기존의 NLMS 알고리즘과 같은 방식으로 정규화할 수 있는 반면, 다채널 능동 소음 제어의 경우에는 단일 채널 방식의 정규화 알고리즘을 그대로 적용할 수 없다. 먼저 일반화된 정규화 알고리즘을 적용하여, 역행렬 연산을 피하기 위하여 대각성분만을 고려하여 최종 정규화 알고리즘을 제안하였다. 제안된 방법은 마이크로폰들 사이의 거리가 가까워 해당 신호들의 상관도가 높을 경우 적용에 한계가 있으나, 대부분의 실제 환경에서는 별 다른 성능 저하 없이 적용할 수 있다.컴퓨터 모의 실험을 통하여 제안된 알고리즘을 정규화를 적용하지 않은 기존의 알고리즘들과 비교하였다. 정현파 소음 및 실제 엔진 소음에 대하여 제안된 알고리즘이 정규화 하지 않은 알고리즘에 비하여 비정상 환경에서 우수한 성능을 가진다는 것을 보였다.

Acknowledgements

본 연구는 2014년도 강원대학교 학술연구조성비로 연구하였음(과제번호-120141524).

References

1
1.S. M. Kuo and D. R. Morgan, “Active noise control: A tutorial review,” Proc. IEEE 87, 943-973 (1999).
2
2.P. Leug, “Process of silencing sound oscillations,” U.S. Patent 2043416 (1936).
3
3.M. Höyhtyä and A. Mämmelä, “Adaptive inverse power control using an FxLMS,” Vehicular Technology Conference, 3021-3025 (2007).
4
4.A. N. Budati and B. B. Rao, “Performance analysis of feedforward adaptive noise canceller using NFxLMS algorithm,” ijireeice 2, 1940-1944 (2014).
5
5.S. Johansson, S. Nordebo, I. Claesson, T.L. Lagö, and P. Sjösten, “A novel multiple-reference, multiple-channel, normalized Filtered-X LMS algorithm for active control of propeller-induced noise in aircraft cabins,” Proc. of Inter-Noise 98, paper no. 224 (1998).
6
6.S. Haykin, Adaptive Filter Theory (Prentice Hall, New Jersey, 2002), pp.321-323.
7
7.M. Rupp and A. H. Sayed, “Modified FxLMS algorithms with improved convergence performance,” IEEE Proceedings of ASILOMAR-29 2, pp. 1255-1259 (1996).
8
8.M. Rupp, “Saving complexity of Modified Filtered-X LMS and delayed update LMS algorithms,” IEEE Trans. Circuits Syst. II 44, 57-60 (1997).
9
9.J. B. Allen and D. A. Berkley, “Image method for efficiently simulating small room acoustics,” J. Acoust. Soc. Am. 65, 943-950 (1979).
10
10.K. Lee, W. Gan, and S. M. Kuo, Subband Adaptive Filtering: Theory and Implementation (Wiley, West Sussex, 2009), pp. 18-20.
페이지 상단으로 이동하기