신호처리는 연속 시간 영역과 이산 시간 영역으로 나뉜다.
연속 신호에는 연속적인 독립변수가 있다. 즉, 해당 영역을 아무리 확대하더라도 해당 시간 단계에서 값을 가지고 있다.
하지만 이산 신호는 이산적이라 특정 시간 단계에서만 정의된다.
자연에서 접하는 대부분의 신호는 연속 신호다. 이 때, 좋은 샘플링 속도를 선택하는 것이 중요하다. 샘플링 속도를 너무 낮게 선택하면 이산 신호에 더이상 원래 아날로그 신호의 특정이 포함되지 않기 때문이다.
보다 구체적으로 나이퀴스트 속도보다 작으면 신호가 언더샘플링 된다. 나이퀴스트 속도는 신호에 존재하는 가장 높은 주파수의 두 배이다.
언더샘플링되면 엘리어싱 및 수레바퀴 효과가 발생할 수 있다. 이를 방지하기 위해 나이퀴스트 속도보다 훨씬 높은 주파수를 사용한다.
Aliasing: 샘플링 할 때 서로 다른 신호를 구별할 수 없게 만드는 효과
Wagon-wheel effect: 바퀴가 실제 회전과 다르게 회전하는 것처럼 보이는 착시 현상
임의의 신호를 웨이블릿으로 정의되는 함수들로 분해하는 방법
특정한 규칙에 따라 모델링된 웨이블릿 함수의 시간 스케일을 바꿔가며 원본 신호와의 상관 계수를 계산해 변환 가능.
웨이블릿을 시간축 방향으로 이동시켜가며 원본 신호와의 상관계수를 계산하고, 웨이블릿의 스케일을 조정해 다시 시간축 방향으로 이동시키며 상관계수를 계산하는 과정을 반복한 것.
Morlet wavelet
import numpy as np
def psi(T, f0 = 6):
x = np.linspace(-2 * np.pi, 2 * np.pi, T)
return (np.pi ** -0.25) * np.exp(1j * f0 * x - x ** 2/2)
스케일은 주파수의 역수이다. 따라서 DWT를 적용하기 위해서는 가장 작은 스케일의 고주파 동작을 분석하는 것이다. 만약 주파수가 최대 1000HZ인 신호가 있다면 우리는 이를 저주파 부분과 고주파 부분, 즉 0~500HZ, 500~1000HZZ로 나눈다. 두번 째 단계에서 우리는 저주파 부분을 가져와 다시 0~250HZ, 250~500HZ 두 부분으로 나누는데, 이를 정제수준에 도달하거나 샘플이 소진될 때까지 계속하는 것이다.
신호 처리에서 필터 뱅크는 입력 신호를 여러 구성요소로 분리하는 대역통과 필터의 배열이다. 각 구성요소는 원래 신호의 단일 주파수 하위 대역을 전달한다.
필터 뱅크가 수행하는 분해과정을 분석이라고 한다.
분석의 출력은 필터 뱅크에 있는 필터 수만큼 많은 부대역을 가진 부대역 신호라고 한다.