함수 > 신호 가공 > 시간-주파수 공통 분석 > 예제: 단축 푸리에 변환
  
예제: 단축 푸리에 변환
stft 함수를 사용하여 시간에 따라 스펙트럼 특성이 변하는 신호의 단축 푸리에 변환(STFT)을 계산합니다.
이 함수는 열에 s 표본으로 구분된 시간에서 입력 신호의 푸리에 변환이 포함된 행렬을 구합니다. 신호 x(t)의 경우 STFT는 다음과 같이 연속적인 시간으로 정의됩니다.
이 식을 복사하려면 클릭
여기서 w(t)는 실수치 슬라이딩 창 테이퍼로, 특정 시간의 변환 영향을 국부화하는 데 사용됩니다.
피치가 두 개인 신호
다음 신호는 발생 시간과 주파수가 다른 두 싸인 신호로 구성됩니다.
1. 신호 컴포넌트를 정의합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
2. 복합 신호를 도표화합니다.
이 식을 복사하려면 클릭
STFT에는 신호의 주파수 컨텐트 및 주파수가 존재하는 시간에 대한 정보가 포함됩니다.
3. 100개 주파수 표본, 시간 단계 30 및 해닝 창함수를 사용하여 STFT를 계산합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
결과는 100 x 56 행렬입니다(길이 L인 신호에서 30의 시간 단계가 57번 발생).
4. 제곱 크기를 계산합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
5. 컨투어 결과를 BMP 이미지로 저장합니다.
이 식을 복사하려면 클릭
(v_spec_rotated.bmp)
이미지에는 두 주파수와 함께 주파수가 발생하는 시간이 표시되어 있습니다. 하지만 스펙트럼에는 국소화 절충(localization trade-off)이라고 하는 현상이 발생합니다. 시간 국소화를 달성하려면(즉, 싸인이 활성화되는 시간을 정확히 나타내는 STFT를 얻으려면) 시간 영역에 짧은 창이 필요합니다. 뒤집어 말하면, 양호한 주파수 국소화를 얻으려면 긴 시간 창이 필요합니다. 나아가 이 절충은 사용된 창 유형, 조사 중인 신호, 시간 및 주파수의 영향을 받습니다.
6. 이를 보여주기 위해 위와 동일한 신호에서 주파수 창 길이로 100 대신 300을 사용하여 STFT와 스펙트로그램을 계산합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
7. 컨투어 결과를 BMP 이미지로 저장합니다.
이 식을 복사하려면 클릭
(v_nbspec_rotated.bmp)
긴 창 함수를 사용하여 계산한 STFT는 더 나은 주파수 해상도를 갖지만 시간 해상도는 좋지 않습니다. timefreq, timecorr 등과 같은 다른 시간-주파수 함수를 사용하면 이 시간-주파수 절충을 방지할 수 있습니다.
사용자 정의 창함수
이 예의 주파수 창함수는 푸리에 변환의 길이 끝까지 0으로 채웁니다.
1. 창함수 길이와 상승 코사인의 백분율을 정의합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
창함수 길이가 푸리에 변환 길이보다 길어질 수 없습니다.
2. 창함수 계수의 배율을 조정하여 창함수가 단위 에너지를 갖게 만듭니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
3. STFT 및 스펙트로그램을 계산합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
4. 컨투어 결과를 BMP 이미지로 저장합니다.
이 식을 복사하려면 클릭
(v_spec2_rotated.bmp)
stft 함수의 매개변수나 입력 신호에서 싸인의 주파수를 변경하여 도표가 어떻게 변화하는지 살펴보십시오.