Faz muito tempo desde que estudei engenharia, por favor, perdoe meus erros.
Coletei dados de um acelerômetro digital. É amostrada a 20 hz e depois colapsada em épocas de 1 segundo. Os dados são então filtrados para remover o ruído. O sistema produz 0 em repouso, muito mais durante a atividade.
Estou olhando para a transformada de Fourier do sinal, 1024 amostras, amostradas uma vez por segundo. Eu estou vendo isso:
Aqui está um gráfico real-imaginário dos resultados reais-imaginários da transformação de Fourier.
O sinal parece ser uma hélice no domínio da frequência. O sistema parece oscilar em torno de algum ciclo limite no domínio da frequência.
Isso é possível? A transformação de Fourier está completamente errada para o sinal digital? Deve usar apenas o DFT para esse tipo de análise? O tamanho da minha janela está errado? Estou vendo o alias devido ao tamanho incorreto da janela ?
Faz alguns anos desde a minha última aula de engenharia, e eu realmente aprecio qualquer ajuda sobre o assunto. Eu tenho três livros sobre engenharia, análise de sinais e transformações, mas leva tempo para esse tipo de conhecimento voltar para mim.
Respostas:
Meu palpite: nada para ver aqui. Siga em frente.
Você menciona que "o sinal parece ser uma hélice no [domínio] da frequência". Afirmo que o que realmente é essa hélice é um exponencial complexo. E não há nada de errado nisso, porque exponenciais complexas são o que você obtém quando você atrasa um sinal: . O padrão de hélice reflete simplesmente que a maior parte da potência do sinal que você está adquirindo não está localizada em . (E não deveria estar lá de qualquer maneira!)f(x−a)⇔f^(ξ)e−2πiaξ T=0
Observando os olhos, o período de oscilação no gráfico de frequência parece ser ~ 28 amostras. A uma taxa de amostragem de 20hz, se o que estou dizendo for verdade, a maior parte da energia no seu sinal no domínio do tempo deve ser centrada aproximadamente em torno de segundos. Eu estava perto?t≈2820=1.4
O verdadeiro problema aqui provavelmente será seus enredos. Parece que você está plotando saídas DFT reais / imag brutas. Não faça isso. Em vez disso, calcule magnitude / fase a partir de valores reais / imag e plote isso.
fonte
Possíveis iniciantes de pensamento:
Certifique-se de que a entrada do ADC seja filtrada com passa-baixa até bem abaixo da metade da taxa de amostragem para evitar aliases. Na amostra de 20 Hz, você precisa de um filtro passa-baixo de corte infinito "porta do celeiro" a 10 Hz ou de algo real um pouco mais baixo. A Folha 21 tem uma sensação de componentes alternativos, mas talvez não.
Amostras de 1 segundo com uma frequência de corte abaixo de 10 Hz fornecem apenas algumas amostras. Eu posso estar totalmente perdendo o que você está realmente fazendo.
Pode ser necessário fazer janelas para lidar com outros ciclos de formas de onda completos incluídos na janela de amostra. Para poucas amostras e componentes de frequência que possuem partes arbitrárias de um ciclo incluídas em uma passagem FFT, você pode gerar componentes fortes e inexistentes.
A FFT deve lidar com o ruído na banda de passagem. Sua "filtragem de ruído" também pode ser uma filtragem de dados. Você precisa de um filtro de taxa Nyquist como acima, mas qualquer coisa na banda passante restante é um sinal potencialmente legítimo.
fonte
O que você está vendo é o fato de que sua janela de "época" de 1 segundo não está sincronizada com seus dados. A fase dos resultados da FFT é relativa à borda da janela e, portanto, girará à medida que a borda da janela se move para diferentes relações de fase com o seu sinal.
Se você realmente se importa com a fase ou fase relativa, bloqueie o deslocamento da janela para o período do seu sinal. Se você não se importa com a fase, calcule a magnitude do resultado complexo e use-o.
fonte