O método de Welch tem sido meu algoritmo básico para calcular a densidade espectral de potência (PSD) de séries temporais de amostras uniformes. Percebi que existem muitos outros métodos para calcular o PSD. Por exemplo, no Matlab, vejo:
PSD usando o método Burg
PSD usando o método de covariância
PSD usando periodograma
PSD usando o método de covariância modificado
PSD usando o método multitaper (MTM)
PSD usando o método de Welch
PSD usando o método Yule-Walker AR
Espectrograma usando transformada de Fourier de curta duração
Quais são as vantagens desses vários métodos? Como uma questão prática, quando eu gostaria de usar algo diferente do método de Welch?
Nem mesmo um iniciante no processamento de sinais, mas acho que {this} pode ser relevante, também {this} . Eu apenas pesquisei no Google.
Na verdade, você não "calcula" o PSD, mas o "estima". Há uma enorme diferença.
Este link contém exemplos de algumas das técnicas mencionadas acima: mathworks.com/help/signal/ug/nonparametric-methods.html
Não tenho familiaridade com o método Multitaper. Dito isto, você fez uma pergunta bastante. Em busca do meu diploma de MSEE, fiz um curso inteiro que abrangia a estimativa do PSD. O curso cobriu tudo o que você listou (com exceção do método Multitaper) e também os métodos do subespaço. Mesmo isso cobre apenas algumas das idéias principais e existem muitos métodos decorrentes desses conceitos.
Para iniciantes, existem dois métodos principais de estimativa da densidade espectral de potência: não paramétricos e paramétricos.
Métodos não paramétricos são usados ​​quando pouco se sabe sobre o sinal antes do tempo. Eles normalmente têm menos complexidade computacional que os modelos paramétricos. Os métodos deste grupo são divididos em duas categorias: periodogramas e correlogramas. Às vezes, os periodogramas também são chamados de métodos diretos, pois resultam em uma transformação direta dos dados. Isso inclui o espectro da amostra, o método de Bartlett, o método de Welch e o periodograma de Daniell. Às vezes, os correlelogramas são chamados de métodos indiretos, pois exploram o teorema de Wiener-Khinchin. Portanto, esses métodos são baseados na transformação de Fourier de algum tipo de estimativa da sequência de autocorrelação. Devido à grande quantidade de variação associada a atrasos de ordem superior (devido a uma pequena quantidade de amostras de dados usadas nas correlações), janelas é usado. O método de Blackman-Tukey generaliza os métodos de correlograma.
Os métodos paramétricos normalmente assumem algum tipo de modelo de sinal antes do cálculo da estimativa da densidade espectral de potência. Portanto, supõe-se que algum conhecimento do sinal seja conhecido antecipadamente. Existem duas categorias principais de métodos paramétricos: métodos auto-regressivos e métodos de subespaço.
Os métodos autoregressivos assumem que o sinal pode ser modelado como a saída de um filtro autoregressivo (como um filtro IIR) acionado por uma sequência de ruído branco. Portanto, todos esses métodos tentam resolver os coeficientes IIR, pelos quais a densidade espectral de potência resultante é facilmente calculada. A ordem do modelo (ou número de derivações), no entanto, deve ser determinada. Se a ordem do modelo for muito pequena, o espectro será altamente suavizado e sem resolução. Se a ordem do modelo for muito alta, picos falsos de uma quantidade abundante de polos começam a aparecer. Se o sinal puder ser modelado por um processo AR do modelo 'p', a saída do filtro da ordem> = p acionada pelo sinal produzirá ruído branco. Existem centenas de métricas para seleção de pedidos de modelo. Observe que esses métodos são excelentes para sinais SNR de alta a moderada em banda estreita. O primeiro é porque o modelo quebra em ruído significativo e é melhor modelado como um processo ARMA. Este último é devido à natureza impulsiva do espectro resultante dos pólos na transformada de Fourier do modelo resultante. Os métodos AR são baseados em previsão linear, que é usada para extrapolar o sinal fora dos valores conhecidos. Como resultado, eles não sofrem lóbulos laterais e não exigem janelas.
Os métodos de subespaço decompõem o sinal em um subespaço de sinal e subespaço de ruído. A exploração da ortogonalidade entre os dois subespaços permite a formação de um pseudoespectro, onde podem aparecer grandes picos nos componentes de banda estreita. Esses métodos funcionam muito bem em ambientes de baixo SNR, mas são computacionalmente muito caros. Eles podem ser agrupados em duas categorias: métodos de subespaço de ruído e métodos de subespaço de sinal.
Ambas as categorias podem ser utilizadas de uma de duas maneiras: decomposição de autovalor da matriz de autocorrelação ou decomposição de valor singular da matriz de dados.
Os métodos de subespaço de ruído tentam resolver um ou mais dos vetores próprios do subespaço de ruído. Então, a ortogonalidade entre o subespaço de ruído e o subespaço de sinal produz zeros no denominador das estimativas de espectro resultantes, resultando em grandes valores ou picos nos componentes de sinal verdadeiros. O número de sinusóides discretos, ou a classificação do subespaço de sinal, deve ser determinado / estimado ou conhecido antecipadamente.
Os métodos do subespaço de sinal tentam descartar o subespaço de ruído antes da estimativa espectral, melhorando o SNR. Uma matriz de autocorrelação de classificação reduzida é formada apenas com os vetores próprios determinados a pertencer ao subespaço de sinal (novamente, um problema de ordem do modelo), e a matriz de classificação reduzida é usada em qualquer um dos outros métodos.
Agora, tentarei cobrir rapidamente sua lista:
PSD usando o método Burg: O método Burg utiliza a recursão de Levinson um pouco diferente do método Yule-Walker, na medida em que estima os coeficientes de reflexão, minimizando a média do erro de previsão linear para frente e para trás. Isso resulta em uma média harmônica dos coeficientes de correlação parciais do erro de previsão linear para frente e para trás. Ele produz estimativas de resolução muito alta, como todos os métodos autoregressivos, porque usa previsão linear para extrapolar o sinal para fora de seu registro de dados conhecido. Isso efetivamente remove todos os fenômenos laterais. É superior ao método YW para registros curtos de dados e também remove a troca entre utilizar estimativas de autocorrelação tendenciosas e imparciais, à medida que os fatores de ponderação se dividem. Uma desvantagem é que ele pode exibir divisão de linha espectral. Além do que, além do mais, sofre dos mesmos problemas que todos os métodos de RA têm. Ou seja, o SNR baixo a moderado prejudica severamente o desempenho, pois não é mais adequadamente modelado por um processo de recuperação de crédito, mas por um processo de ARMA. Os métodos ARMA raramente são usados, pois geralmente resultam em um conjunto não linear de equações com relação aos parâmetros da média móvel.
PSD usando o método de covariância : O método de covariância é um caso especial do método dos mínimos quadrados, pelo qual a parte em janela dos erros de previsão linear é descartada. Isso tem desempenho superior ao método Burg, mas, diferentemente do método YW, a matriz inversa a ser resolvida não é o Hermitian Toeplitz em geral, mas o produto de duas matrizes de Toeplitz. Portanto, a recursão de Levinson não pode ser usada para resolver os coeficientes. Além disso, não é garantido que o filtro gerado por esse método seja estável. No entanto, para estimativa espectral, isso é uma coisa boa, resultando em picos muito grandes para o conteúdo sinusoidal.
PSD usando periodograma : este é um dos piores estimadores e é um caso especial do método de Welch com um único segmento, janela retangular ou triangular (dependendo de qual estimativa de autocorrelação é usada, tendenciosa ou imparcial) e sem sobreposição. No entanto, é um dos "mais baratos" em termos computacionais. A variação resultante pode ser bastante alta.
PSD usando o método de covariância modificado : isso melhora o método de covariância e o método Burg. Pode ser comparado ao método Burg, em que o método Burg apenas minimiza o erro médio de previsão linear de avanço / retrocesso em relação ao coeficiente de reflexão, o método MC o minimiza em relação a TODOS os coeficientes RA. Além disso, ele não sofre divisão de linhas espectrais e fornece muito menos distorção do que os métodos listados anteriormente. Além disso, embora não garanta um filtro IIR estável, a realização do filtro de treliça é estável. É mais exigente em termos de computação que os outros dois métodos também.
PSD usando o método de Welch: o método de Welch aprimora o periodograma, abordando a falta da média do conjunto que está presente na verdadeira fórmula do PSD. Ele generaliza o método de Barlett usando sobreposição e janela para fornecer mais "amostras" de PSD para a média do pseudo-conjunto. Pode ser um método barato e eficaz, dependendo da aplicação. No entanto, se você tiver uma situação com sinusóides espaçados, os métodos de RA podem ser mais adequados. No entanto, ele não requer a estimativa da ordem do modelo como os métodos de RA; portanto, se pouco se sabe sobre o seu espectro a priori, pode ser um excelente ponto de partida.
PSD usando o método Yule-Walker AR : este é um caso especial do método dos mínimos quadrados em que os resíduos de erro completos são utilizados. Isso resulta em desempenho reduzido em comparação com os métodos de covariância, mas pode ser resolvido com eficiência usando a recursão de Levinson. Também é conhecido como método de autocorrelação.
Espectrograma usando a transformada de Fourier de curta duração : agora você está entrando em um domínio diferente. Isso é usado para espectros que variam no tempo. Ou seja, aquele cujo espectro muda com o tempo. Isso abre uma outra lata de minhocas e existem tantos métodos quanto você listou para análise de frequência de tempo. Este é certamente o mais barato, e é por isso que é usado com tanta frequência.
Estimativa espectral : esse não é um método, mas um termo geral para o restante de sua postagem. Às vezes, o Periodograma é chamado de "espectro da amostra" ou "Periodograma de Schuster", cujo primeiro pode ser o que você está se referindo.
Se você estiver interessado, também pode procurar métodos de subespaço, como MUSIC e Decomposição Harmônica de Pisarenko. Eles decompõem o sinal no subespaço de sinal e ruído e exploram a ortogonalidade entre o subespaço de ruído e os autovetores do subespaço de sinal para produzir um pseudoespectro. Muito parecido com os métodos de RA, você pode não obter uma estimativa "verdadeira" do PSD, pois provavelmente a energia não é conservada e as amplitudes entre os componentes espectrais são relativas. No entanto, tudo depende da sua aplicação.
Obrigado pela ótima resposta! Você poderia adicionar algumas observações introdutórias sobre a diferença entre métodos paramétricos e não paramétricos? Além disso, pode ser mais claro agrupar os métodos que estão intimamente relacionados ou derivados um do outro, ou seja, periodograma method método de Bartlett ⊆ método de Welch.
Certamente. Acabei de adicionar uma introdução e algumas categorias.
— 23912 Bryan
Bem vinda. Obrigado por contribuir com uma resposta tão detalhada.
Se você pudesse entrar em mais detalhes sobre as vantagens / desvantagens, em vez de como cada uma é calculada, nos daria uma melhor noção de como selecionar uma para uma aplicação específica.
Se você ler a resposta, eu fiz exatamente isso. Além disso, para implementações práticas, como cada uma delas é calculada é uma grande vantagem / desvantagem. Alguns deles são muito eficientes em termos computacionais, mas não têm bom desempenho. Alguns deles têm um desempenho muito bom, mas são muito complexos e difíceis de implementar em alvos de baixo consumo de energia.
— 21712 Bryan
Eu queria adicionar à única categoria que o primeiro post não abordava. O método multipaper é um método não paramétrico para calcular um espectro de potência semelhante à abordagem do periodograma. Nesse método, um espectro de potência é calculado ao exibir os dados e computar uma transformada de Fourier, tomando a magnitude do resultado e ao quadrado. O método multitaper calcula a média de um número predeterminado de periodogramas, cada um calculado com uma janela diferente. Este método funciona porque as janelas selecionadas têm duas propriedades matemáticas. Primeiro, as janelas são ortogonais. Isso significa que cada um dos periodogramas não está correlacionado; portanto, a média de vários periodogramas fornece uma estimativa com uma variação menor do que usar apenas um cone. Segundo, as janelas têm a melhor concentração possível no domínio da frequência para um comprimento de sinal fixo.
No matlab, as funções da janela podem ser chamadas usando a função dpss. Além de usar janelas ideais, um algoritmo foi derivado para ponderar os diferentes periodogramas com base em quanto vazamento eles adicionarão à estimativa do espectro de potência. O algoritmo produz um conjunto de pesos adaptáveis ​​aos dados. A obtenção de uma estimativa de espectro com um conjunto de pesos adaptáveis ​​a dados pode ser feita no Matlab, criando um objeto spectrum.mtm com 'adaptativo' usado como opção de combinação.
Com relação aos métodos não paramétricos, o método MT é sem dúvida o melhor método para estimar um espectro de potência para uma série temporal estacionária.
Observando a última frase da sua postagem, você sempre desejaria usar um cálculo de MT sobre o método de Welch.