MATLAB에서의 wavelet 변환

웨이블릿 영역에서 신호 및 영상 분석하기

wavelet 변환은 서로 다른 스케일에서 특징이 변하는 데이터를 분석하기 위한 수학적 툴입니다. 신호의 경우, 시간에 따라 변하는 주파수, 과도, 또는 느리게 변하는 추세 등이 특징이 될 수 있습니다. 영상의 경우, 특징은 경계와 텍스처를 포함합니다. wavelet 변환은 푸리에 변환의 한계를 극복하는 데 주된 목적을 두고 만들어졌습니다.

푸리에 해석은 신호를 특정 주파수의 사인파로 분해하는 과정으로 구성되지만, 웨이블릿 분석은 신호를 이동하고 크기 조정한 웨이블릿으로 분해하는 것을 기반으로 합니다. 웨이블릿은 사인파와 달리 빠르게 감쇠하는 진동으로서 파동과 비슷합니다. 이를 통해 웨이블릿은 여러 스케일에 걸친 데이터를 나타낼 수 있습니다. 응용 분야에 따라 다양한 종류의 웨이블릿을 사용할 수 있습니다. MATLAB®과 함께 사용하는 Wavelet Toolbox™Morlet, Morse, Daubechies 및 기타 웨이블릿을 사용한 웨이블릿 분석을 지원합니다.

오디오 신호, 시계열 금융 데이터 및 생물의학 신호는 일반적으로 조각별로 부드러운 동작을 보이며 중간중간 과도가 나타납니다. 이와 비슷하게 영상에도 일반적으로 균일하고 조각별로 부드러운 영역이 포함되며, 영역은 경계로 나타나는 과도에 의해 구분됩니다.  신호와 영상 모두에서는 부드러운 영역과 과도를 wavelet 변환으로 희소하게 표현할 수 있습니다.

MATLAB wavelet 변환을 사용한 신호 내 과도 동작 포착.

wavelet 변환은 CWT(연속 wavelet 변환)와 DWT(이산 wavelet 변환)라는 두 부류로 크게 분류할 수 있습니다.

연속 wavelet 변환은 시간-주파수 변환이며, 비정상성 신호를 분석하는 데 이상적입니다. 신호가 비정상성을 띤다는 것은 신호의 주파수 영역 표현이 시간 경과에 따라 변화함을 뜻합니다. CWT는 STFT(단시간 푸리에 변환)와 비슷합니다. STFT는 고정된 윈도우를 사용하여 국소 주파수 분석을 생성하는 반면, CWT는 가변 크기의 윈도우로 시간-주파수 평면을 채웁니다. 윈도우는 시간의 폭이 넓어지면 저주파 현상에 적합해지고, 좁아지면 고주파 현상에 적합해집니다. 연속 wavelet 변환은 과도 동작, 빠르게 변화하는 주파수, 느리게 변화하는 동작을 분석하는 데 사용할 수 있습니다.

MATLAB에서 시간 경과에 따라 변하는 2개의 성분이 있는 쌍곡선 처프 신호(왼쪽)를 분석합니다. 단시간 푸리에 변환(가운데)은 순시 주파수를 명확하게 구분하지 않지만 연속 wavelet 변환(오른쪽)은 이를 정확하게 포착합니다. MATLAB 코드를 참조하십시오.

이산 wavelet 변환에서는 스케일이 CWT보다 덜 조밀하게 이산화됩니다. 따라서 DWT는 중요한 특징을 보존하면서 신호와 영상을 압축하고 잡음을 제거하는 데 유용합니다. 이산 wavelet 변환을 사용하여 다중해상도 분석을 수행하고 신호를 물리적으로 유의미하고 해석 가능한 성분으로 분할할 수 있습니다.

원본 영상(왼쪽)과 잡음이 제거된 영상(오른쪽). 웨이블릿 잡음 제거 함수를 사용하여 이 영상에서 경계를 보존하면서 잡음을 제거했습니다. MATLAB 코드를 참조하십시오.

MATLAB에서 웨이블릿 기법을 적용하고 응용 분야에 알맞은 웨이블릿을 선택하는 방법에 대한 자세한 내용은 Wavelet Toolbox를 참조하십시오.

참조: Signal Processing Toolbox, DSP System Toolbox, wavelet 변환 비디오, 경험적 모드 분해

웨이블릿의 이해