나는 많은 EEG 신호를 가지고 있으며 STFT (Short Time Fourier Transform)와 같은 선형 방법을 사용하여 분석하고 싶습니다. STFT에서, 분석 윈도우 길이를 어떻게 최적화하여 각 분석 윈도우의 주파수 스펙트럼을 적절한 방식으로 반영 할 수 있습니까?
나는 많은 EEG 신호를 가지고 있으며 STFT (Short Time Fourier Transform)와 같은 선형 방법을 사용하여 분석하고 싶습니다. STFT에서, 분석 윈도우 길이를 어떻게 최적화하여 각 분석 윈도우의 주파수 스펙트럼을 적절한 방식으로 반영 할 수 있습니까?
답변:
최적의 창 길이는 응용 프로그램에 따라 다릅니다. 보다 정확한 시간 도메인 정보가 필요한 응용 프로그램 인 경우 창의 크기를 줄이십시오. 응용 프로그램에서 주파수 도메인 정보를 더 구체적으로 요구하면 창의 크기를 늘리십시오. 힐 마르가 언급했듯이, Uncertainty Principle
다른 선택의 여지가 없습니다. 한 번에 두 도메인 모두에서 완벽한 해상도를 얻을 수는 없습니다. 한 도메인에서만 다른 해상도 (시간 및 주파수 도메인) 또는 중간 해상도에서 비용이 들지 않고 두 도메인 모두에서 완벽한 해상도를 얻을 수 있습니다.
STFT에 대해 구체적으로 요청했기 때문에 이것이 귀하의 질문에 답변되는지 여부는 모르겠습니다. wavelet transforms
신호의 정보를 얻는 데 사용할 수 있습니다 . Wavelet transforms
여러 창 해상도에서 신호를 분석하여 훨씬 더 넓은 범위의 해상도를 제공합니다.
시간-주파수 분석 또는 필터 뱅크에서 창을 최적화 하는 데 많은 시간을 보냈습니다 . 감지, 노이즈 제거, 신호 분리를 위해 이들을 최적화 할 수 있습니다. 응용 분야에 따라 매우 다릅니다. 시간-주파수 분석은 일반적으로 중복되므로 분석 또는 합성 창 최적화는 다른 작업입니다. 그리고 창 디자인에서 하나의 매개 변수의 길이 만 지정하십시오.
이산화 된 최적의 공식화가 연속적인 시간 영역의 경우보다 훨씬 복잡하기 때문에 문제는 훨씬 더 복잡합니다 (예 : 현지화 된 시간-주파수 성분을위한 최적의 집중된 가버 변환 참조 ).
그래서 현재의 실제 경험 법칙은 다음과 같습니다. 창 모양과 길이는 괜찮은 것처럼 보입니다. 그런 다음 길이가 두 배 반인 두 개의 창으로 분석을 반복하고 결과를 결합하십시오.
일반적으로 넓은 창 크기는 더 나은 주파수 해상도를 제공하지만 시간 해상도는 좋지 않으며 그 반대도 마찬가지입니다. 내 C ++ 코드에서 5kHz 및 22050Hz의 샘플링 속도로 사인파의 스펙트로 그램을 생성 한이 예를 살펴보십시오.
위의 스펙트로 그램은 2048 샘플의 윈도우 크기와 1024 샘플의 오버랩을가집니다.
이 스펙트로 그램을보십시오 :
이것은 512 샘플의 창 크기와 256 샘플의 겹침을 가지고 있습니다.
차이점을 볼 수 있습니까? 첫 번째는 두 번째보다 주파수 해상도가 더 좋습니다. 그러나 두 번째는 첫 번째와 비교할 때 시간 해상도가 더 좋습니다. 따라서 창 크기 선택은 응용 프로그램에 따라 다릅니다. 피치를 추적하기 위해 음성 샘플을 다루는 경우 더 큰 창 크기를 선택하는 것이 적절합니다.