소싯적에 array signal processing 공부하던 때에는 matrix 연산이 자연스러웠었는데, 어느덧 세월이 지나 안본지 되었더니 각종 index 조금만 추가되어도 너무 헷갈려서 산수 연습 해보고자 글을 써봅니다. 이름하여 Matrix 표현과 Element 표현을 왔다갔다 해보기! 별건 아니지만 직접 펜을 들지 않으면 짜증나는 부분이기도 하죠.

먼저 Notation 정의부터! 소문자 bold체는 (column)Vector, 대문자 Bold Matrix 나타냅니다.

같은 Vector Matrix 있다고 해보죠. 이들 수식 사이에는 다음과 같은 관계가 있다고 해봅시다.

이건 Matrix Notation 이용한 것이구요, 그렇다면 이것을 Element 표현해보면 어떻게 될까요?

이 됩니다. 모 적고 보니 별거 아니군요 -_-;; 그러나 이걸 알아야 ICA로부터 IVA유도가 한결 쉬워지기 때문에 한번 짚어보았습니다.

신고

Independent Component Analysis(ICA) 처음 공부하면서 가장 궁금했던 하나는
"ICA
도대체 무엇이길래 기존에 배웠던 Least Mean Square(LMS)계열의 Adaptive Filter로는 없는 문제들을 있다는 말인가?" 였습니다. 그래서 LMS계열의 Adaptive Filter ICA 차이점이 무엇인지 혼자 정리를 해보았습니다.

 

Adaptive Filter : LMS 계열

 

LMS계열의 Adaptive Filter 알려진 대로 다음과 같은 구조를 지니게 됩니다.

그림 1. LMS 계열의 일반적인 Adaptive Filter 구조

 

이러한 구조의 Filter Echo Canceller등의 Application에는 유용하지만 ICA에서 내세우는 강점인 Cocktail Party Problem 풀기에는 역부족으로 알려져 있습니다.

참고 1. Cocktail Party Problem

a number of people are talking simultaneously in a room (like at a cocktail party), and one is trying to follow one of the discussions. The human brain can handle this sort of auditory source separation problem, but it is a very tricky problem in digital signal processing. [1]

 

Adaptive Filter : ICA계열

그림 2. ICA 계열의 일반적인 Adaptive Filter 구조

 

그림 1 그림 2 차이점은 어디에 있을까요? Adaptive Filter x2에만 붙어 있는 것이 아니라, x1에도 붙어있는 것을 있습니다. , Filter 하나 사용했다는 것이지요. 하나 추가된 Filter Cocktail Party Problem 푸는 열쇠가 됩니다.

그런지 한번 살펴볼까요?

 

Solution for Cocktail-Party Problem

 

다음과 같은 Cocktail Party Problem 한번 살펴보죠.

그림에서 입력신호 x1, x2 다음과 같이 표현됩니다.

(1)

x1, x2 이용해 s1 구하는 것이 Cocktail-Party Problem 목적이 되겠지요.

네모박스에 LMS 필터를 넣어서 결과를 구해보도록 하지요. 과연 s1 얻을 있을지..

(1)에서 s2 소거하도록 연립방정식을 풀면

것입니다.

이것을 다시 그림으로 표현하면

같이 되고, 보시다시피 우리가 얻을 있는 것은 10s1(s1 아님) 입니다.
결론은 실패!

하지만 ICA에서 처럼 개의 Filter 사용한다면 어떻게 될까요?

우리는 s1 얻을 있는 것을 있습니다.
(0.1, 0.2
해당하는 Filter계수는 matrix inverse 의해 쉽게 계산 가능하므로 생략)

 

그럼 Multiple Input Canceller 비교하면 같은 아니냐???? 라고 있겠지만 글이 길어져서 그건 다음 편으로 미루도록 하지요.
(
사실 필터를 써야 한다는 반쪽짜리 답이지요. ^^)

 

요약 :

  1. 하나의 Filter 사용하는 일반적인 Adaptive Filter Cocktail Party Problem 풀기에 적합하지 않다.
  2. Cocktail Party Problem에서 하나의 분리된 source 얻기 위해서는 개의 filter 사용해야 한다.
  3. 일반적인 Adaptive Filter외에 Multiple Input Canceller와의 차이점까지 파악해야 한쪽짜리 답을 만들 있다.
    (
    다음번에 다룰 예정)

Reference

[1] http://en.wikipedia.org/wiki/Cocktail_party

신고

+ Recent posts