적응 필터

**적응 필터**()는 가변 매개변수에 의해 제어되는 선형 필터와 해당 매개변수를 최적화 알고리듬에 따라 조정하는 수단을 갖춘 시스템이다. 최적화 알고리듬의 복잡성으로 인해 거의 모든 적응 필터는 디지털 필터이다. 원하는 처리 작업의 일부 매개변수(예: 잔향 공간에서 반사 표면의 위치)가 미리 알려져 있지 않거나 변경될 수 있으므로 일부 응용 분야에서는 적응 필터가 필요하다. 폐루프 적응 필터는 오류 신호 형태의 피드백을 사용하여 전달 함수를 개선한다.

일반적으로 폐루프 적응 프로세스는 필터의 최적 성능 기준인 비용 함수를 사용하여 알고리듬에 정보를 제공하고, 이 알고리듬은 다음 반복에서 비용을 최소화하기 위해 필터 전달 함수를 수정하는 방법을 결정한다. 가장 일반적인 비용 함수는 오류 신호의 평균 제곱이다.

디지털 신호 처리 장치의 성능이 향상됨에 따라 적응 필터는 훨씬 더 보편화되었으며, 현재는 휴대폰 및 기타 통신 장치, 캠코더 및 디지털 카메라, 의료 모니터링 장비와 같은 장치에서 일상적으로 사용되고 있다.

## 예시 응용
심장 박동 기록(심전도)은 교류 전원의 잡음에 의해 손상될 수 있다. 전원의 정확한 주파수와 그 고조파는 시시각각 변할 수 있다.

잡음을 제거하는 한 가지 방법은 주 전원 주파수와 그 주변에서 노치 필터로 신호를 필터링하는 것이지만, 심장 박동도 거부된 범위 내에 주파수 구성 요소를 가질 가능성이 있으므로 ECG의 품질을 과도하게 저하시킬 수 있다.

이러한 잠재적인 정보 손실을 피하기 위해 적응 필터를 사용할 수 있다. 적응 필터는 환자와 주 전원 모두에서 입력을 받아 변동하는 잡음의 실제 주파수를 추적하고 기록에서 잡음을 뺄 수 있다. 이러한 적응 기술은 일반적으로 더 작은 거부 범위를 가진 필터를 허용하며, 이 경우 출력 신호의 품질이 의료 목적에 더 정확하다는 것을 의미한다.

## 블록 다이어그램
폐루프 적응 필터의 기본 개념은 오류(필터 출력과 원하는 신호 간의 차이)가 최소화될 때까지 가변 필터가 조정된다는 것이다. 최소 평균 제곱(LMS) 필터 및 재귀 최소 제곱(RLS) 필터는 적응 필터의 유형이다.

:섬네일|400px|alt=적응 프로세스를 위한 별도의 블록을 포함하는 적응 필터의 블록 다이어그램.|적응 필터. k = 샘플 번호, x = 참조 입력, X = x의 최근 값 집합, d = 원하는 입력, W = 필터 계수 집합, ε = 오류 출력, f = 필터 임펄스 응답, * = 컨볼루션, Σ = 합산, 상자=선형 필터, 하단 상자=적응 알고리듬
섬네일|400px|alt=적응 프로세스를 위한 별도의 블록을 포함하지 않는 적응 필터의 압축 블록 다이어그램.|적응 필터, 압축 표현. k = 샘플 번호, x = 참조 입력, d = 원하는 입력, ε = 오류 출력, f = 필터 임펄스 응답, Σ = 합산, 상자=선형 필터 및 적응 알고리듬.

적응 필터에는  d_k 와  x_k  두 가지 입력 신호가 있으며, 각각 주 입력과 참조 입력이라고도 한다. 적응 알고리듬은 잔여 신호  \epsilon_k 를 최소화하여 참조 입력을 원하는 입력의 복제본으로 필터링하려고 시도한다. 적응이 성공하면 필터의 출력  y_k 는 효과적으로 원하는 신호의 추정치가 된다.

: d_k 는 원하는 신호와 원치 않는 간섭을 포함하며
: x_k 는  d_k 의 일부 원치 않는 간섭과 상관관계가 있는 신호를 포함한다.
:k는 이산 샘플 번호를 나타낸다.

필터는 L+1개의 계수 또는 가중치 집합에 의해 제어된다.
:\mathbf{W}_{k}=\left[w_{0k},\,w_{1k},\, ...,\,w_{Lk} \right]^{T}는 샘플 시간 k에서 필터를 제어하는 가중치 집합 또는 벡터를 나타낸다.
::여기서  w_{lk}  는 k번째 시간의 l번째 가중치를 의미한다.
:\mathbf{\Delta W}_{k} 는 샘플 시간 k에서 계산된 조정의 결과로 발생하는 가중치 변화를 나타낸다.
::이러한 변화는 샘플 시간 k 이후 및 샘플 시간 k+1에서 사용되기 전에 적용된다.

출력은 일반적으로  \epsilon_k 이지만  y_k  또는 필터 계수가 될 수도 있다. (위드로)

입력 신호는 다음과 같이 정의된다.

: d_k = g_k + u_k + v_k 

: x_k = g_{k}^' + u_{k}^' + v_{k}^' 
:여기서:
::g = 원하는 신호,
::g = 원하는 신호 g와 상관관계가 있는 신호,
::u = g 또는 g와 상관관계가 없는 g에 추가된 원치 않는 신호,
::u = g 또는 g와 상관관계가 없는 원치 않는 신호 u와 상관관계가 있는 신호,
::v = g, g, u, u 또는 v와 상관관계가 없는 원치 않는 신호(일반적으로 무작위 잡음),
::v = g, g, u, u 또는 v와 상관관계가 없는 원치 않는 신호(일반적으로 무작위 잡음).

출력 신호는 다음과 같이 정의된다.
: y_k= \hat{g}_k  +  \hat{u}_k  +  \hat{v}_k     
: \epsilon_k = d_k-y_k  .
:여기서:
:: \hat{g}  = 입력이 g뿐인 경우 필터의 출력,
:: \hat{u}  = 입력이 u뿐인 경우 필터의 출력,
:: \hat{v}  = 입력이 v뿐인 경우 필터의 출력.

### 탭 지연선 FIR 필터
가변 필터가 탭 지연선 유한 임펄스 응답(FIR) 구조를 갖는 경우 임펄스 응답은 필터 계수와 같다. 필터의 출력은 다음과 같다.

: y_k= \sum_{l=0}^L w_{lk} \ x_{(k-l)}    = \hat{g}_k  +  \hat{u}_k  +  \hat{v}_k     
::여기서  w_{lk}  는 k번째 시간의 l번째 가중치를 의미한다.

### 이상적인 경우
이상적인 경우  v \equiv 0,  v' \equiv 0,  g' \equiv 0   .  d_k 의 모든 원치 않는 신호는  u_k 로 표현된다.  x_k 는 전적으로  u_k 의 원치 않는 신호와 상관관계가 있는 신호로 구성된다.

이상적인 경우 가변 필터의 출력은
: y_k  = \hat{u}_k이다.

오류 신호 또는 비용 함수는  d_k 와  y_k 의 차이이다.
: \epsilon_k = d_k-y_k = g_k+ u_k - \hat{u}_k . 원하는 신호 gk는 변경되지 않고 통과한다.

오류 신호  \epsilon_k 는  [u_k - \hat{u}_k] 가 최소화될 때 평균 제곱 의미에서 최소화된다. 즉,  \hat{u}_k 는  u_k 의 최상의 평균 제곱 추정치이다. 이상적인 경우  u_k = \hat{u}_k 이고  \epsilon_k =  g_k 이며, 빼기 후 남은 것은  g 뿐인데, 이는 모든 원치 않는 신호가 제거된 변경되지 않은 원하는 신호이다.

### 참조 입력의 신호 구성 요소
일부 상황에서 참조 입력 x_k는 원하는 신호의 구성 요소를 포함한다. 즉, g' ≠ 0이다.

이 경우 원치 않는 간섭의 완벽한 제거는 불가능하지만, 신호 대 간섭 비율의 개선은 가능하다. 출력은 다음과 같다.
: \epsilon_k = d_k-y_k = g_k - \hat{g}_k+ u_k - \hat{u}_k . 원하는 신호는 수정될 것이다(일반적으로 감소).

출력 신호 대 간섭 비율은 전력 반전이라고 하는 간단한 공식을 갖는다.
:   \rho_{\mathsf{out}}(z) =  \frac{1}{ \rho_{\mathsf{ref}}(z)}    .
::여기서
:::  \rho_{\mathsf{out}}(z) \  = 출력 신호 대 간섭 비율.
:::  \rho_{\mathsf{ref}}(z) \  = 참조 신호 대 간섭 비율.
:::  z \  = z-영역의 주파수.

이 공식은 특정 주파수에서의 출력 신호 대 간섭 비율이 참조 신호 대 간섭 비율의 역수라는 것을 의미한다.

예시: 패스트푸드 식당에 드라이브 스루 창구가 있다. 창구에 도착하기 전에 고객은 마이크에 대고 주문을 한다. 마이크는 엔진과 주변 환경의 소음도 포착한다. 이 마이크는 주 신호를 제공한다. 고객의 목소리 신호 전력과 엔진의 소음 전력은 같다. 식당 직원이 고객의 말을 이해하기 어렵다. 주 마이크의 간섭량을 줄이기 위해 두 번째 마이크가 엔진 소리를 포착하도록 의도된 위치에 배치된다. 이 마이크는 고객의 목소리도 포착한다. 이 마이크는 참조 신호의 원천이다. 이 경우 엔진 소음은 고객의 목소리보다 50배 더 강력하다. 제거기가 수렴되면 주 신호 대 간섭 비율은 1:1에서 50:1로 개선될 것이다.

### 적응 선형 결합기
:섬네일|400px|alt=적응 프로세스를 위한 별도의 블록을 포함하는 적응 선형 결합기의 블록 다이어그램.|결합기와 적응 프로세스를 보여주는 적응 선형 결합기. k = 샘플 번호, n=입력 변수 인덱스, x = 참조 입력, d = 원하는 입력, W = 필터 계수 집합, ε = 오류 출력, Σ = 합산, 상단 상자=선형 결합기, 하단 상자=적응 알고리듬.   섬네일|400px|alt=적응 프로세스를 위한 별도의 블록을 포함하지 않는 적응 선형 결합기의 압축 블록 다이어그램.|적응 선형 결합기, 압축 표현. k = 샘플 번호, n=입력 변수 인덱스, x = 참조 입력, d = 원하는 입력, ε = 오류 출력, Σ = 합산.

적응 선형 결합기(ALC)는 X 값들 사이에 가정된 관계가 없다는 점을 제외하고는 적응 탭 지연선 FIR 필터와 유사하다. X 값들이 탭 지연선의 출력에서 나왔다면, 탭 지연선과 ALC의 조합은 적응 필터를 구성할 것이다. 그러나 X 값들은 픽셀 배열의 값일 수도 있다. 또는 여러 탭 지연선의 출력일 수도 있다. ALC는 수중청음기 또는 안테나 배열을 위한 적응 빔 형성기로 사용된다.

: y_k= \sum_{l=0}^L w_{lk} \ x_{lk} = \mathbf{W}_k^T \mathbf{x}_k  
::여기서  w_{lk}  는 k번째 시간의 l번째 가중치를 의미한다.

### LMS 알고리듬

가변 필터가 탭 지연선 FIR 구조를 갖는 경우, LMS 업데이트 알고리듬은 특히 간단하다. 일반적으로 각 샘플 후에 FIR 필터의 계수는 다음과 같이 조정된다.

:  l = 0 \dots L 에 대해

: w_{l,k+1} = w_{lk} + 2 \mu \ \epsilon_k \ x_{k-l}    
:::μ는 수렴 계수라고 불린다.

LMS 알고리듬은 X 값들이 특별한 관계를 가질 것을 요구하지 않는다. 따라서 선형 결합기뿐만 아니라 FIR 필터도 적응시키는 데 사용될 수 있다. 이 경우 업데이트 공식은 다음과 같이 작성된다.

: w_{l,k+1} = w_{lk} + 2 \mu \ \epsilon_k \ x_{lk}    

LMS 알고리듬의 효과는 각 시간 k에서 각 가중치에 작은 변화를 주는 것이다. 변화의 방향은 시간 k에 적용되었다면 오류를 감소시켰을 방향이다. 각 가중치 변화의 크기는 μ, 관련 X 값 및 시간 k에서의 오류에 따라 달라진다. 출력  y_k 에 가장 크게 기여하는 가중치는 가장 많이 변경된다. 오류가 0이면 가중치에 변화가 없어야 한다. 관련 X 값이 0이면 가중치를 변경해도 차이가 없으므로 변경되지 않는다.

#### 수렴
μ는 알고리듬이 최적 필터 계수로 수렴하는 속도와 정도를 제어한다. μ가 너무 크면 알고리듬이 수렴하지 않는다. μ가 너무 작으면 알고리듬이 느리게 수렴하고 변화하는 조건을 추적하지 못할 수 있다. μ가 크지만 수렴을 방해할 정도로 크지 않으면 알고리듬은 빠르게 정상 상태에 도달하지만 최적 가중치 벡터를 지속적으로 오버슈트한다. 때로는 빠른 수렴을 위해 μ를 처음에 크게 만들고 오버슈트를 최소화하기 위해 감소시킨다.

위드로와 스턴스는 1985년에 LMS 알고리듬이 모든 경우에 수렴할 것이라는 증명에 대해 아는 바가 없다고 언급했다.

그러나 정지성과 독립성에 대한 특정 가정 하에서는 알고리듬이 다음 경우에 수렴함을 보여줄 수 있다.

: 0 

::여기서
:::\sigma^2 = \sum_{l=0}^L \sigma_l^2   = 모든 입력 전력의 합

:::\sigma_l은 l 번째 입력의 RMS 값이다.

탭 지연선 필터의 경우, 각 입력은 단순히 동일한 지연된 값이므로 동일한 RMS 값을 갖는다. 이 경우 총 전력은
: \sigma^2 = (L+1) \sigma_0^2 

::여기서
:::\sigma_0는 입력 스트림인 x_k의 RMS 값이다.

이것은 정규화된 LMS 알고리듬으로 이어진다.

: w_{l,k+1} = w_{lk} + \left ( \frac { 2 \mu_{\sigma} } {\sigma^2} \right )  \epsilon_k \ x_{k-l}     이 경우 수렴 기준은  0 이 된다.

### 비선형 적응 필터
비선형 필터의 목표는 선형 모델의 한계를 극복하는 것이다. 일반적으로 사용되는 몇 가지 접근 방식은 Volterra LMS, 커널 적응 필터, Spline Adaptive Filter 및 Urysohn Adaptive Filter이다. 많은 저자들은 신경망도 이 목록에 포함시킨다. Volterra LMS와 Kernel LMS의 일반적인 아이디어는 데이터 샘플을 다른 비선형 대수적 표현으로 대체하는 것이다. Volterra LMS의 경우 이 표현은 볼테라 급수이다. Spline Adaptive Filter에서는 모델이 선형 동적 블록과 스플라인으로 근사화되는 정적 비선형성의 캐스케이드를 이룬다.
Urysohn Adaptive Filter에서는 모델의 선형 항

: y_i= \sum_{j=0}^m w_{j} \ x_{ij} 

가 구간별 선형 함수로 대체된다.

: y_i= \sum_{j=0}^m f_{j} ( x_{ij}) 

이 함수는 데이터 샘플로부터 식별된다.

## 적응 필터의 응용 분야
* 적응 잡음 제거
* 음향 잡음 제어
* 신호 예측
* 적응 피드백 제거
* 에코 제거

## 필터 구현
* 최소 평균 제곱 필터
* 재귀 최소 제곱 필터
* 멀티딜레이 블록 주파수 도메인 적응 필터

## 같이 보기
* 2D 적응 필터
* 필터 (신호 처리)
* 칼만 필터
* 커널 적응 필터
* 선형 예측
* MMSE 추정기
* 위너 필터
* 위너-호프 방정식

## 각주

### 출처
* 
* 
* 

분류:디지털 신호 처리
분류:비선형 필터