PSD를 계산하는 방법이 왜 그렇게 많은가요?


53

Welch의 방법은 고르게 샘플링 된 시계열의 전력 스펙트럼 밀도 (PSD)를 계산하기위한 알고리즘입니다. PSD를 계산하는 다른 많은 방법이 있음을 알았습니다. 예를 들어 Matlab에서는 다음을 참조하십시오.

  • Burg 방식을 사용한 PSD
  • 공분산 법을 사용한 PSD
  • 주기도를 사용한 PSD
  • 수정 된 공분산 방법을 사용하는 PSD
  • 멀티 테이퍼 방법 (MTM)을 사용한 PSD
  • Welch의 방법을 사용한 PSD
  • Yule-Walker AR 방법을 사용한 PSD
  • 단시간 푸리에 변환을 사용한 스펙트로 그램
  • 스펙트럼 추정

이 다양한 방법의 장점은 무엇입니까? 실용적인 질문으로, Welch의 방법 이외의 다른 것을 언제 사용하고 싶습니까?


신호 처리의 초보자 일뿐만 아니라 {this} 와도 관련 있을 것 입니다. {this} 방금 봤어요
개발자

4
실제로 PSD를 "계산"하지 않고 "추정"합니다. 큰 차이가 있습니다.
leonbloy

1
:이 링크는 위에 언급 한 기술의 몇 가지의 예를 포함 mathworks.com/help/signal/ug/nonparametric-methods.html

답변:


67

Multitaper 방법에 익숙하지 않습니다. 즉, 당신은 꽤 질문을했습니다. MSEE 학위를 추구하면서 PSD 추정을 다루는 전체 과정을 수강했습니다. 이 과정은 나열된 모든 내용 (멀티 테이퍼 방법 제외)과 부분 공간 방법을 다룹니다. 이것조차도 주요 아이디어 중 일부만을 다루며 이러한 개념에서 비롯된 많은 방법이 있습니다.

우선, 파워 스펙트럼 밀도 추정에는 비모수 적 및 파라 메트릭의 두 가지 주요 방법이 있습니다.

비모수 적 방법은 신호에 대해 거의 알려지지 않은 경우에 사용됩니다. 일반적으로 파라 메트릭 모델보다 계산 복잡성이 적습니다. 이 그룹의 방법은 주기도 및 코렐로 그램의 두 가지 범주로 더 나뉩니다. 주기도는 데이터를 직접 변환하므로 직접 방법이라고도합니다. 여기에는 샘플 스펙트럼, Bartlett 방법, Welch 방법 및 Daniell 주기도가 포함됩니다. 코렐로 그램은 때때로 위너-킨친 정리를 이용하기 때문에 간접적 인 방법이라고도합니다. 그러므로이 방법들은 자기 상관 시퀀스의 어떤 종류의 추정치의 푸리에 변환 (Fourier transform)을 취한 것에 기초합니다. 더 높은 차수 지연과 관련된 많은 양의 분산으로 인해 (상관에 사용 된 소량의 데이터 샘플로 인해) 윈도우가 사용됩니다. Blackman-Tukey 방법은 코렐로 그램 방법을 일반화합니다.

파라 메트릭 방법은 일반적으로 전력 스펙트럼 밀도 추정값을 계산하기 전에 일종의 신호 모델을 가정합니다. 따라서, 신호에 대한 일부 지식은 미리 알려져 있다고 가정한다. 자동 회귀 분석법과 부분 공간 분석법의 두 가지 주요 매개 변수 분석법 카테고리가 있습니다.

자동 회귀 방법은 신호가 화이트 노이즈 시퀀스에 의해 구동되는 자동 회귀 필터 (예 : IIR 필터)의 출력으로 모델링 될 수 있다고 가정합니다. 따라서 이러한 모든 방법은 IIR 계수를 해결하려고 시도하므로 결과 전력 스펙트럼 밀도를 쉽게 계산할 수 있습니다. 그러나 모델 순서 (또는 탭 수)를 결정해야합니다. 모델 차수가 너무 작 으면 스펙트럼이 매끄러 워지고 해상도가 떨어집니다. 모델 차수가 너무 높으면 많은 양의 극점에서 허위 피크가 나타나기 시작합니다. 신호가 모델 'p'의 AR 프로세스에 의해 모델링 될 수 있다면, 신호에 의해 구동되는 차수> = p의 필터의 출력은 백색 잡음을 생성 할 것이다. 모델 순서 선택에 대한 수백 가지 메트릭이 있습니다. 이 방법은 중간에서 SNR의 협 대역 신호에 적합합니다. 전자는 모델이 상당한 노이즈로 분해되고 ARMA 프로세스로 더 잘 모델링되기 때문입니다. 후자는 결과 모델의 푸리에 변환에서 극으로부터의 결과 스펙트럼의 충동 적 특성 때문이다. AR 방법은 선형 예측을 기반으로합니다. 선형 예측은 알려진 값을 벗어난 신호를 추정하는 데 사용됩니다. 결과적으로 사이드 로브를 겪지 않으며 창을 만들 필요가 없습니다.

부분 공간 방법은 신호를 신호 부분 공간 및 잡음 부분 공간으로 분해합니다. 두 부분 공간 사이의 직교성을 이용하면 협 대역 성분에서 큰 피크가 나타날 수있는 유사 스펙트럼이 형성 될 수 있습니다. 이러한 방법은 낮은 SNR 환경에서 잘 작동하지만 계산 비용이 많이 듭니다. 잡음 부분 공간 방법과 신호 부분 공간 방법의 두 가지 범주로 분류 할 수 있습니다.

두 범주는 두 가지 방법 중 하나로 사용될 수 있습니다 : 자기 상관 행렬의 고유 값 분해 또는 데이터 행렬의 단일 값 분해.

잡음 부분 공간 방법은 하나 이상의 잡음 부분 공간 고유 벡터를 해결하려고 시도합니다. 그런 다음 잡음 부분 공간과 신호 부분 공간 사이의 직교성은 결과 스펙트럼 추정값의 분모에서 0을 생성하여 실제 신호 성분에서 큰 값 또는 스파이크를 발생시킵니다. 이산 정현파의 수 또는 신호 부분 공간의 순위는 미리 결정 / 추정되거나 미리 알려 져야합니다.

신호 부분 공간 방법은 스펙트럼 추정 전에 잡음 부분 공간을 폐기하려고 시도하여 SNR을 개선시킨다. 감소 된 순위 자기 상관 행렬은 신호 서브 스페이스에 속하는 것으로 결정된 고유 벡터 (모델 순서 문제)만으로 형성되며, 감소 된 순위 매트릭스는 다른 방법들 중 어느 하나에서 사용된다.

이제 목록을 빠르게 다룰 것입니다.

  • Burg 방식을 사용한 PSD: Burg 방법은 정방향 및 역방향 선형 예측 오차의 평균을 최소화하여 반사 계수를 추정한다는 점에서 Yule-Walker 방법과 약간 다르게 Levinson 재귀를 사용합니다. 이는 순방향 및 역방향 선형 예측 오차의 부분 상관 계수의 고조파 평균을 초래한다. 선형 예측을 사용하여 알려진 데이터 레코드 외부의 신호를 추정하기 때문에 모든 자기 회귀 분석법과 같이 매우 높은 분해능 추정값을 생성합니다. 이것은 모든 사이드 로브 현상을 효과적으로 제거합니다. 짧은 데이터 레코드에 대해서는 YW 방법보다 우수하며 가중 계수가 나뉘어 짐에 따라 편향 및 비 편향 자기 상관 추정을 활용하는 것 사이의 상충 관계를 제거합니다. 한 가지 단점은 스펙트럼 선 분할을 나타낼 수 있다는 것입니다. 게다가, 모든 AR 방법과 동일한 문제가 있습니다. 즉, 더 낮거나 보통 인 SNR은 더 이상 AR 프로세스에 의해 모델링되지 않고 ARMA 프로세스에 의해 성능이 크게 저하됩니다. ARMA 방법은 일반적으로 이동 평균 매개 변수와 관련하여 비선형 방정식 세트를 생성하므로 거의 사용되지 않습니다.

  • 공분산 법을 사용한 PSD : 공분산 법은 최소 제곱 법의 특수한 경우로 선형 예측 오차의 창 부분을 버립니다. 이것은 Burg 방법에 비해 우수한 성능을 갖지만 YW 방법과 달리 풀어야 할 역행렬은 일반적으로 Hermitian Toeplitz가 아니라 두 Toeplitz 행렬의 곱입니다. 따라서 계수를 풀기 위해 레빈슨 재귀를 사용할 수 없습니다. 또한이 방법으로 생성 된 필터는 안정적이지 않을 수 있습니다. 그러나, 스펙트럼 추정의 경우, 이는 정현파 함량에 대해 매우 큰 피크를 초래하는 것이 좋습니다.

  • 주기도를 사용하는 PSD : 이것은 최악의 추정기 중 하나이며, 단일 세그먼트, 직사각형 또는 삼각형 윈도우 (자기 상관 추정이 사용, 바이어스 또는 바이어스되지 않은)에 따라 Welch 방법의 특별한 경우이며 겹치지 않습니다. 그러나 이것은 계산 상 "가장 저렴한"중 하나입니다. 결과 분산이 상당히 높을 수 있습니다.

  • 수정 공분산 방법을 사용한 PSD : 공분산 방법과 Burg 방법 모두에서 향상됩니다. Burg 방법과 비교할 수 있습니다. Burg 방법은 반사 계수와 관련하여 평균 순방향 / 역방향 선형 예측 오차 만 최소화하고, MC 방법은 모든 AR 계수에 대해 오차를 최소화합니다. 또한, 스펙트럼 라인 분할을 겪지 않으며 이전에 나열된 방법보다 훨씬 적은 왜곡을 제공합니다. 또한 안정적인 IIR 필터를 보장하지는 않지만 격자 필터 구현이 안정적입니다. 다른 두 가지 방법보다 계산이 더 까다 롭습니다.

  • Welch의 방법을 사용한 PSD : Welch의 방법은 실제 PSD 공식에 존재하는 앙상블 평균의 부족을 해결함으로써 주기도를 개선합니다. 의사 앙상블 평균에 대해 더 많은 PSD "샘플"을 제공하기 위해 오버랩과 윈도우를 사용하여 Barlett의 방법을 일반화합니다. 응용 프로그램에 따라 저렴하고 효과적인 방법이 될 수 있습니다. 그러나 정현파가 가까운 상황에서는 AR 방법이 더 적합 할 수 있습니다. 그러나 AR 방법과 같은 모델 순서를 추정 할 필요가 없으므로 스펙트럼에 대해 알려진 바가 거의 없다면 훌륭한 출발점이 될 수 있습니다.

  • Yule-Walker AR 방법을 사용한 PSD : 전체 오차 잔차가 사용되는 최소 제곱 법의 특수한 경우입니다. 이로 인해 공분산 방법에 비해 성능이 저하되지만 Levinson 재귀를 사용하여 효율적으로 해결할 수 있습니다. 자기 상관 법이라고도합니다.

  • 단시간 푸리에 변환을 사용한 스펙트로 그램 : 이제 다른 도메인으로 넘어 가고 있습니다. 이것은 시변 스펙트럼에 사용됩니다. 즉, 시간에 따라 스펙트럼이 변하는 것이다. 이것은 다른 전체 웜 캔을 열고 시간-주파수 분석에 대해 나열한 것과 같은 방법이 있습니다. 이것은 확실히 가장 저렴하기 때문에 자주 사용되는 이유입니다.

  • 스펙트럼 추정 : 이것은 방법이 아니라 나머지 게시물에 대한 포괄적 인 용어입니다. 때때로 주기도를 "샘플 스펙트럼"또는 "Schuster Periodogram"이라고하며, 전자가 참조하는 것일 수 있습니다.

관심이 있다면 MUSIC 및 Pisarenko Harmonic Decomposition과 같은 부분 공간 방법을 살펴볼 수도 있습니다. 이들은 신호를 신호 및 잡음 부분 공간으로 분해하고, 잡음 부분 공간과 신호 부분 공간 고유 벡터 사이의 직교성을 이용하여 의사 스펙트럼을 생성한다. AR 방법과 마찬가지로 전력이 보존되지 않고 스펙트럼 구성 요소 사이의 진폭이 상대적이라는 점에서 "true"PSD 추정값을 얻지 못할 수 있습니다. 그러나 모두 응용 프로그램에 따라 다릅니다.

건배


큰 답변 주셔서 감사합니다! 모수 적 방법과 비모수 적 방법의 차이점에 대한 입문서를 추가 할 수 있습니까? 또한 서로 밀접하게 관련되거나 파생 된 방법, 즉 주기도 ⊆ Bartlett의 방법 ⊆ Welch의 방법을 그룹화하는 것이 더 명확 할 수 있습니다.
nibot

확실히. 방금 소개와 몇 가지 범주를 추가했습니다.
Bryan

어서 오십시오. 자세한 답변을 해주셔서 감사합니다.
Jason R

각각의 계산 방법이 아니라 장점 / 단점에 대해 더 자세히 설명 할 수 있다면 특정 응용 프로그램에 대해 하나를 선택하는 방법을 더 잘 이해할 수 있습니다.
CyberMen

1
당신이 응답을 읽는다면 나는 그 일을 한 것입니다. 또한, 실제 구현의 경우 각각의 계산 방법이 많은 이점 / 불이익입니다. 그중 일부는 계산적으로 매우 효율적이지만 성능이 좋지 않습니다. 그중 일부는 성능이 좋지만 저전력 목표에 구현하기가 매우 복잡하고 어렵습니다.
Bryan

12

첫 번째 게시물에서 다루지 않은 유일한 범주에 추가하고 싶었습니다. 멀티 테이퍼 방법은 주기도 방식과 유사한 전력 스펙트럼을 계산하기위한 비모수 적 방법입니다. 이 방법에서, 데이터를 윈도 잉하고 푸리에 변환을 계산하여 결과의 ​​크기를 취하고이를 제곱함으로써 전력 스펙트럼이 계산된다. 멀티 테이퍼 방법은 각각 다른 창으로 계산 된 미리 결정된 주기도 수를 평균합니다. 이 방법은 선택한 창에 두 가지 수학적 속성이 있기 때문에 작동합니다. 첫째, 창문은 직각입니다. 즉, 각 주기도는 서로 관련이 없으므로 여러 주기도를 평균하면 하나의 테이퍼를 사용하는 것보다 분산이 낮은 추정치가 제공됩니다. 둘째, 윈도우는 고정 된 신호 길이에 대해 주파수 영역에서 최상의 농도를 갖습니다.

matlab에서 윈도우 함수는 dpss 함수를 사용하여 호출 할 수 있습니다. 최적의 창을 사용하는 것 외에도, 전력 스펙트럼 추정에 추가되는 누설량에 따라 서로 다른 주기도에 가중치를 부여하는 알고리즘이 도출되었습니다. 이 알고리즘은 일련의 데이터 적응 가중치를 생성합니다. 결합 옵션으로 'adaptive'를 사용하여 spectrum.mtm 객체를 생성하면 Matlab에서 일련의 데이터 적응 가중치를 사용하여 스펙트럼 추정치를 얻을 수 있습니다.

비모수 적 방법과 관련하여 MT 방법은 고정 시계열에 대한 전력 스펙트럼을 추정하는 가장 좋은 방법 일 것입니다.


게시물의 마지막 문장을 보면 항상 Welch의 방법에 대해 MT 계산을 사용하고 싶을 것입니다.
ncRubert
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.