Média do domínio de tempo da FFT versus média do compartimento de frequência


12

Eu tenho vários ensaios com dados fisiológicos. Estou fazendo uma análise baseada em frequência para analisar a potência (amplitude) em determinadas frequências de interesse. A média é de várias tentativas de comprimento igual e, em seguida, é utilizada uma única FFT do sinal médio versus a computação da FFT para cada tentativa e a média das caixas de frequência é a mesma? Na prática, estou achando que esse não é o caso.

Especificamente, o sinal naturalmente possui um forte componente 1 / f, e isso é enfatizado se eu calcular a FFT de cada teste individual e depois calcular a média das amplitudes (parte real) de cada faixa de frequência. Os dois são equivalentes? existe uma maneira certa de fazer as coisas? ou em que condições de princípios deve ser feita a escolha entre a média do domínio do tempo versus a média do compartimento de frequência?

fft 

Respostas:


8

Deixe-me esclarecer.

  • A transformação de Fourier não representa o histograma do sinal. A transformada de Fourier é uma transformação linear que leva o sinal do domínio do tempo (função complexa) para o domínio da frequência (outra função complexa). Leva uma função complexa para outra função complexa.
  • A transformação de Fourier é linear como o pôster acima apontou.
  • A fase em suas amostras é importante, conforme indicado acima. Se os dados de tentativa a tentativa variarem de fase, você não deseja calcular a média antes de fazer uma transformação de Fourier, mas também não deseja calcular a média após a transformação de Fourier. Você deseja calcular a média após a transformação e norma de Fourier. Vou elaborar abaixo, tanto quanto exatamente o que precisa ser feito.

A questão principal aqui é que a questão está colocada incorretamente. Não é "devo fazer a transformação de Fourier antes da média ou depois da média". Porque não faz diferença devido à linearidade da transformada de Fourier.

A pergunta correta a fazer é "devo tomar a amplitude da transformada de Fourier antes da média ou depois da média". Para esta pergunta, a resposta é anterior.

Aqui estão os detalhes.

Suponha que seus dados amostrados sejam representados pelas sequências:

d1=d1[n1],d1[n2],...d1[nN]

d2=d2[n1],d2[n2],...d2[nN]

d3=d3[n1],d3[n2],...d3[nN]

...

dM=dM[n1],dM[n2],...dM[nN]

onde são dados de ensaios M e n 1 , . . . n N são pontos de tempo amostrados, então:d1,...dMn1,...nN

F1=j=1M|F{dj}||F{j=1Mdj}|=F2

Então, enquanto a transformação é linear, | F | não é.F|F|

Além disso, enquanto é real para todos i , j , F { d j } não é, mas | F { d j } | é.dj[ni]i,jF{dj}|F{dj}|

Quanto ao que você deve fazer, faça a transformação de Fourier de ensaios individuais (via FFT), obtenha a amplitude de ensaios individuais e faça a média deles.

Finalmente, o que é . 1 / f é um termo curto para o espectro de frequências de sinais "naturais" (geralmente as pessoas pensam em imagens).1/f1/f

Quando as pessoas dizem que existe um componente grande , isso significa que a amplitude em função da frequência se parece com 1 / f . É totalmente ondulado ... provavelmente vindo de um biólogo: p1/f1/f

A transformada inversa de Fourier de é uma função de sinal, mas isso é inútil. É uma função de sinal imaginário! Funções reais geram transformada de Fourier simétrica.1/f

1/f|F{x(t)}|=|1/f|x(t)

1/f

Tão importante quanto uma pergunta, o que a média compra você? e mais importante é como interpretar o resultado? Sintonize amanhã para uma discussão mais aprofundada: p


1
+1 Obrigado por esclarecer. Sinto que não entendi bem a questão subjacente à pergunta e acho que isso é mais importante.
jstarr

2

Primeiro, a FFT é um algoritmo. A transformação é chamada de Transformada de Fourier! Representa o histograma dos sinais. No caso discreto, uma leitura alta nos domínios da frequência significa muita energia nessa frequência.

Você não deve calcular a média dos dados antes da FFT, pois as informações da fase causarão alterações significativas nos dados.

Imagine 2 amostras, cada uma consistindo em um cosseno puro. No mundo real, você nunca capturará esse cosseno exatamente no mesmo ponto de partida. Um cosseno será deslocado em relação ao outro (ou ambos terão diferentes desvios em relação ao início. Matematicamente, isso está dizendo y1 = cos (wt-A) y2 = cos (wt-B) onde A e B são mudanças. é melhor que dois apareçam como a mesma coisa.Com um pouco de matemática, posso escolher esses valores para que y2-y1 = 0. A média de zero é zero e não é exatamente o que você deseja.Este é o problema de fase.

Se o seu objetivo é encontrar o espectro médio que você deve calcular pelos espectros, não calcule a média dos sinais!


Obrigado por isso. Certamente havia uma preocupação de que, se houver ruído com a diferença de fase correta de tentativa para tentativa, ele cancelará todos ou os sinais nas frequências de interesse. Ainda não estou claro por que o 1 / f é acentuado pela média do compartimento de frequência em vez da média no domínio do tempo seguida pela FFT.

@ user1487551 O que significa um componente 1 / f forte? A transformação inversa de Fourier de 1 / f é uma função de sinal e pode sugerir que seus dados incluem uma grande parte quando o sistema está se estabilizando. Você provavelmente deve mostrar um gráfico ou alguns dados.
precisa

1
Observe que você pode fazer a média do tempo se tiver uma referência de fase à qual possa sincronizar a captura de dados, e isso pode ser muito eficaz na redução do nível de ruído, mas, caso contrário, é verdade que você precisa fazer a média do conjunto no domínio da frequência.
Paul R

2

A menos que eu esteja completamente fora da base ou entenda mal a sua pergunta, a resposta é sim : pela linearidade da DFT, calcular a média dos sinais no tempo e, em seguida, calcular a DFT da média é equivalente a calcular a média das DFTs dos sinais.

Para mostrar isso, vamos definir algumas variáveis:

  • xn[]: thamostra de domínio de tempo experimental no momento n
  • Xk[]: thamostra de domínio de frequência experimental na frequência k

O sinal "médio" no domínio do tempo é dado por 1eu=0 0euxn[]. Tomando sua DFT, temos

n=0 0N-11eueuxn[]e-Eu2πkn/N.

Mudando a ordem dos somatórios, podemos escrever

1eu=0 0eun=0 0N-1xn[]e-Eu2πkn/N,

mas é o mesmo que

1eu=0 0euXk[eu]

que é o mesmo que calcular a média dos DFTs de cada trival. Era isso que queríamos mostrar.


Para calcular a média no domínio do tempo, você precisa de algum tipo de referência de fase com a qual possa sincronizar. Quando isso está disponível, embora às vezes você pode obter melhores resultados do que com a média conjunto no domínio da frequência, principalmente devido à redução dos efeitos da quantização etc.
Paul R
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.