Andrei Shelkovenko. Um dos desenvolvedores e fundador da Vibromera.
A tradução do artigo pode conter imprecisões.
- Transformada de Fourier e espectro de sinal
Em muitos casos, a tarefa de obter (calcular) o espectro de um sinal é a seguinte. Há um ADC que, com frequência de amostragem Fd, transforma o sinal contínuo que chega à sua entrada durante o tempo T em amostras digitais - N partes. Em seguida, essa matriz de amostras é enviada a algum programa (por exemplo FourierScope) que gera N/2 alguns valores numéricos.
Para verificar se o programa funciona corretamente, formamos uma matriz de amostras como uma soma de dois sin(10*2*pi*x)+0,5*sin(5*2*pi*x) e a inserimos no programa. O programa desenhou o seguinte:
Há dois harmônicos no gráfico de espectro - 5 Hz com amplitude de 0,5 V e 10 Hz com amplitude de 1 V, tudo como na fórmula do sinal original. Tudo está bem, o grograma funciona corretamente.
Isso significa que, se alimentarmos um sinal real de uma mistura de duas senoides na entrada do ADC, obteremos um espectro semelhante composto por dois harmônicos.
Portanto, nossa real sinal medido de 5 segundos de duraçãodigitalizado pelo ADC, ou seja, representado por discreto amostras, tem um discreto não periódico espectro.
Do ponto de vista matemático, quantos erros há nessa frase?
Agora vamos tentar medir o mesmo sinal por 0,5 segundo.
Há algo errado aqui! A harmônica em 10 Hz é desenhada normalmente e, em vez da harmônica em 5 Hz, há algumas harmônicas pouco claras.
Na Internet, dizem que é necessário adicionar zeros ao final da amostra e o espectro será desenhado normalmente.
Não é nada disso. Terei de lidar com a teoria. Vamos para wikipedia - a fonte de conhecimento.
2. Função contínua e sua representação em série de Fourier
Matematicamente, nosso sinal com duração de T segundos é uma função f(x) dada no intervalo {0, T} (X, nesse caso, é o tempo). Essa função sempre pode ser representada como uma soma de funções harmônicas (seno ou cosseno) da forma:
k é o número da função trigonométrica (o número do componente harmônico, o número do harmônico)
T - segmento em que a função é definida (a duração do sinal)
Ak- amplitude do k-ésimo componente harmônico,
θk- a fase inicial do k-ésimo componente harmônico
O que significa "representar a função como a soma da série"? Significa que, ao adicionar os valores dos componentes harmônicos da série de Fourier em cada ponto, obtemos o valor da nossa função nesse ponto.
(Mais estritamente, o desvio quadrático médio da série em relação à função f(x) tenderá a zero, mas, apesar da convergência quadrática média, a série de Fourier de uma função não precisa, de modo geral, convergir para ela ponto a ponto. )
Essa série também pode ser escrita na forma:
onde a k-ésima amplitude complexa.
ou
A relação entre os coeficientes (1) e (3) é expressa pelas fórmulas a seguir:
Observe que todas essas três representações da série de Fourier são perfeitamente equivalentes. Às vezes, ao trabalhar com séries de Fourier, é mais conveniente usar expoentes de argumento imaginário em vez de senos e cossenos, ou seja, usar a transformada de Fourier na forma complexa. Mas é conveniente usar a fórmula (1), em que a série de Fourier é representada como uma soma de cossenos com amplitudes e fases correspondentes. De qualquer forma, é errado dizer que o resultado da transformada de Fourier do sinal real será uma amplitude harmônica complexa. Como a Wiki diz corretamente, "A transformada de Fourier (ℱ) é uma operação que mapeia uma função de uma variável real para outra função também de uma variável real."
Conclusão:
A base matemática para a análise espectral de sinais é a transformada de Fourier.
A transformada de Fourier permite representar uma função contínua f(x) (sinal) definida no intervalo {0, T} como uma soma de um número infinito (série infinita) de funções trigonométricas (seno e/ou cosseno) com amplitudes e fases definidas também consideradas no intervalo {0, T}. Essa série é chamada de série de Fourier.
Observe mais alguns pontos, cuja compreensão é necessária para a aplicação correta da transformada de Fourier à análise de sinais. Se considerarmos a série de Fourier (soma de senoides) em todo o eixo X, veremos que fora do intervalo {0, T} a função da série de Fourier repetirá periodicamente nossa função.
Por exemplo, no gráfico da Fig. 7, a função original é definida no intervalo {-T\2, +T\2}, e a série de Fourier representa uma função periódica definida em todo o eixo x.
Isso ocorre porque as próprias senoides são funções periódicas, portanto, sua soma também será uma função periódica.
Assim:
Nossa função original é uma função contínua e não periódica definida em algum segmento de comprimento T.
O espectro dessa função é discreto, ou seja, é representado como uma série infinita de componentes harmônicos - uma série de Fourier.
De fato, a série de Fourier define alguma função periódica, que coincide com a nossa função no intervalo {0, T}, mas para nós essa periodicidade não é essencial.
Próximo.
Os períodos dos componentes harmônicos são múltiplos do intervalo {0, T}, no qual a função inicial f(x) é definida. Em outras palavras, os períodos dos harmônicos são múltiplos da duração da medição do sinal. Por exemplo, o período do primeiro harmônico em uma série de Fourier é igual ao intervalo T no qual a função f(x) é definida. O período do segundo harmônico em uma série de Fourier é igual ao intervalo T/2. E assim por diante (veja a Figura 8).
Dessa forma, as frequências dos componentes harmônicos são múltiplos de 1/T. Ou seja, as frequências dos componentes harmônicos Fk são Fk= k\T, em que k tem valores de 0 a ∞, por exemplo, k=0 F0=0; k=1 F1=1\T; k=2 F2=2\T;k=3 F3=3\T;.... Fk= k\T (na frequência zero, um componente constante).
Deixe que nossa função inicial seja um sinal registrado durante T=1 s. Então, o período do primeiro harmônico será igual à duração do nosso sinal T1=T=1 seg. e a frequência do harmônico é igual a 1 Hz. O período do segundo harmônico será igual à duração do nosso sinal dividido por 2 (T2=T/2=0,5 seg.) e a frequência é igual a 2 Hz. Para o terceiro harmônico, T3=T/3 seg. e a frequência é de 3 Hz. E assim por diante.
O intervalo entre os harmônicos, nesse caso, é de 1 Hz.
Assim, um sinal com duração de 1 segundo pode ser decomposto em componentes harmônicos (para obter um espectro) com uma resolução de frequência de 1 Hz.
Para aumentar a resolução em um fator de 2 para 0,5 Hz, é necessário aumentar a duração da medição em um fator de 2 para 2 segundos. Um sinal de 10 segundos pode ser decomposto em componentes harmônicos (espectro) com uma resolução de frequência de 0,1 Hz. Não há outras maneiras de aumentar a resolução de frequência.
Há uma maneira de aumentar artificialmente a duração do sinal adicionando zeros à matriz de amostras. Mas isso não aumenta a resolução da frequência real.
3. Sinais discretos e transformada discreta de Fourier
Com o desenvolvimento da tecnologia digital, as formas de armazenamento de dados de medição (sinais) mudaram. Enquanto antes um sinal podia ser gravado em um gravador e armazenado em uma fita em formato analógico, agora os sinais são digitalizados e armazenados em arquivos na memória do computador como um conjunto de números (contagens).
O esquema usual de medição e digitalização de sinais é o seguinte.
Transdutor de medição -- Normalizador de sinal -- ADC -- Computador
(Fig.9 Esquema do canal de medição)
O sinal do transdutor de medição vai para o ADC por um período de tempo T. As leituras de sinal (amostragem) recebidas durante o tempo T são transmitidas para o computador e salvas na memória.
Quais são os requisitos para os parâmetros de digitalização de sinais? Um dispositivo que converte o sinal analógico de entrada em um código discreto (sinal digital) é chamado de conversor analógico-digital (ADC) (© Wiki).
Um dos parâmetros básicos do ADC é a taxa máxima de amostragem - a frequência de amostragem de um sinal que é contínuo no tempo. A taxa de amostragem é medida em hertz. ((© Wiki))
De acordo com o teorema de Kotelnikov, se um sinal contínuo tiver um espectro limitado pela frequência Fmax, ele poderá ser reconstruído de forma completa e única a partir de suas amostras discretas obtidas em intervalos de tempo T = 1/2*Fmax, ou seja, com uma frequência Fd ≥ 2*Fmax, em que Fd - frequência de amostragem; Fmax - a frequência máxima do espectro do sinal. Em outras palavras, a frequência de digitalização do sinal (frequência de amostragem do ADC) deve ser pelo menos duas vezes maior do que a frequência máxima do sinal que queremos medir.
E o que acontecerá se coletarmos amostras com uma frequência menor do que a exigida pelo teorema de Kotelnikov?
Nesse caso, há um efeito de "aliasing" (também conhecido como efeito estroboscópico, efeito moiré), no qual um sinal de alta frequência após a digitalização se transforma em um sinal de baixa frequência, que de fato não existe. Na Fig. 11, a onda senoidal vermelha de alta frequência é o sinal real. A onda senoidal azul de frequência mais baixa é um sinal fictício, que surge devido ao fato de que, durante o tempo de amostragem, há tempo para passar mais da metade de um período do sinal de alta frequência.
Para evitar o efeito de aliasing, um filtro anti-aliasing especial (filtro passa-baixa) é colocado antes do ADC. Ele passa frequências inferiores à metade da frequência de amostragem do ADC e corta as frequências mais altas.
Para calcular o espectro do sinal por suas amostras discretas, é usada a transformada discreta de Fourier (DFT). Observe novamente que o espectro de um sinal discreto é "por definição" limitado a uma frequência Fmax menor que a metade da frequência de amostragem Fd. Portanto, o espectro de um sinal discreto pode ser representado pela soma de a finito número de harmônicos, em contraste com a soma infinita da série de Fourier de um sinal contínuo, cujo espectro pode ser ilimitado. De acordo com o teorema de Kotelnikov, a frequência máxima de um harmônico deve ser tal que corresponda a pelo menos duas amostras, portanto, o número de harmônicos é igual à metade do número de amostras de um sinal discreto. Ou seja, se houver N amostras na amostra, o número de harmônicos no espectro será N/2.
Considere agora a transformada discreta de Fourier (DFT).
Comparando-a com a série de Fourier
Como podemos ver, eles coincidem, exceto pelo fato de que o tempo na FFT é discreto e o número de harmônicos é limitado a N/2, que é a metade do número de amostras.
As fórmulas DFT são escritas em variáveis inteiras sem dimensão k, s, em que k é o número de amostras de sinal e s é o número de componentes espectrais.
O valor s mostra o número de oscilações harmônicas completas por período T (duração da medição do sinal). A transformada discreta de Fourier é usada para encontrar as amplitudes e as fases dos harmônicos numericamente, ou seja, "no computador".
Como já foi dito acima, ao decompor uma função não periódica (nosso sinal) em uma série de Fourier, a série de Fourier resultante corresponde, na verdade, a uma função periódica com período T (Fig. 12).
Como pode ser visto na Fig. 12, a função f(x) é periódica com período T0. No entanto, como o comprimento da amostra de medição T não é igual ao período da função T0, a função obtida como uma série de Fourier tem uma descontinuidade no ponto T. Como resultado, o espectro dessa função conterá um grande número de harmônicos de alta frequência. Se a duração da amostra de medição T coincidisse com o período da função T0, o espectro obtido após a transformada de Fourier conteria apenas o primeiro harmônico (uma senoide com período igual à duração da amostra), porque a função f(x) é uma senoide.
Em outras palavras, o programa DFT "não sabe" que nosso sinal é uma "fatia de uma onda senoidal", mas tenta representar como uma série uma função periódica que tem uma descontinuidade devido à descontinuidade de partes separadas da onda senoidal.
Como resultado, os harmônicos aparecem no espectro, que deve, no total, representar a forma da função, incluindo essa descontinuidade.
Assim, para obter um espectro "correto" de um sinal que é uma soma de várias senoides com períodos diferentes, é necessário que um número inteiro de períodos de cada senoide deve estar presente no período de medição do sinal. Na prática, essa condição pode ser atendida com uma duração suficientemente longa da medição do sinal.
Em uma duração mais curta, a imagem parecerá "pior":
Na prática, pode ser difícil entender onde estão os "componentes reais" e onde estão os "artefatos" causados pela inconsistência dos períodos dos componentes e das durações de amostragem do sinal ou "saltos e interrupções" na forma de onda. É claro que as palavras "componentes reais" e "artefatos" são colocadas entre aspas por um motivo. A presença de muitos harmônicos no gráfico de espectro não significa que nosso sinal seja realmente composto por eles. É como pensar que o número 7 "consiste" nos números 3 e 4. O número 7 pode ser considerado como a soma de 3 e 4 - isso é correto.
Portanto, também o nosso sinal... ou melhor, nem mesmo o "nosso sinal", mas uma função periódica composta pela repetição do nosso sinal (amostra) pode ser representada como uma soma de harmônicos (ondas senoidais) com determinadas amplitudes e fases. Mas, em muitos casos importantes para a prática (veja as figuras acima), é realmente possível relacionar os harmônicos obtidos no espectro também a processos reais com caráter cíclico e que contribuem significativamente para a forma do sinal.
Alguns resultados
1. Um sinal real medido com duração de T segundos digitalizado pelo ADC, ou seja, representado por um conjunto de amostras discretas (N partes), tem um espectro discreto não periódico representado por um conjunto de harmônicos (N/2 partes).
2. O sinal é representado por um conjunto de valores válidos e seu espectro é representado por um conjunto de valores válidos. As frequências dos harmônicos são positivas. O fato de ser matematicamente mais conveniente representar o espectro de forma complexa usando frequências negativas não significa que "isso está certo" e "é assim que você deve fazer sempre".
3. O sinal medido no momento T é determinado somente no momento T. O que aconteceu antes de começarmos a medir o sinal e o que acontecerá depois disso é desconhecido pela ciência. E, em nosso caso, isso não é interessante. A FFT do sinal com tempo limitado fornece seu espectro "real", no sentido de que, sob certas condições, permite calcular a amplitude e a frequência de seus componentes.