2 pontos por GN⁺ 2024-06-05 | 1 comentários | Compartilhar no WhatsApp
  • Partindo da invariância rotacional do círculo e do círculo unitário, conecta visualmente o caminho que leva de seno e cosseno a números complexos, fórmula de Euler, ondas senoidais e epiciclos até a Fourier Series
  • A rotação no círculo unitário permite interpretar $\sin$ como a coordenada y e $\cos$ como a coordenada x, e as duas funções têm período $2\pi$ e uma diferença de fase de $\frac{\pi}{2}$
  • No plano complexo, $e^{ix}=\cos(x)+i\sin(x)$ representa a rotação no círculo unitário, e a onda senoidal complexa reúne cosseno e seno em um único objeto rotacional
  • Ao somar várias ondas senoidais surgem reforço e cancelamento, e a combinação de frequências ímpares com amplitudes decrescentes aproxima cada vez mais formas descontínuas como uma onda quadrada
  • Os epiciclos mostram cada onda senoidal como círculos em rotação e soma vetorial, onde o raio corresponde à amplitude $A$, a velocidade de rotação à frequência angular $\omega$ e o ângulo inicial à fase $\varphi$

Rotação começando com círculo, $\pi$ e radianos

  • Um círculo é definido pelo centro $P(a,b)$ e pelo raio $r$, e algebricamente é expresso como $(x-a)^2+(y-b)^2=r^2$
  • Se o centro estiver na origem e o raio for 1, temos o círculo unitário, e a equação se simplifica para $x^2+y^2=1$
  • Um ponto sobre o círculo e seu ponto refletido no lado oposto mantêm sua relação mesmo após a rotação, e essa invariância rotacional serve como intuição central da matemática de Fourier
  • $\pi$ é a razão entre a circunferência e o diâmetro de um círculo, com o mesmo valor em todos os círculos, $\pi \approx 3.14159...$
    • A circunferência é $P=2\pi r$
    • A área é $A=\pi r^2$
  • $\pi$ não é racional e também é um número transcendente, ou seja, não é raiz de nenhum polinômio não nulo com coeficientes racionais
  • O radiano é a unidade padrão para medir ângulos em matemática e física; para converter graus em radianos, multiplica-se o ângulo por $\pi$ e divide-se por 180
  • Na matemática de Fourier, usar radianos permite tratar funções trigonométricas não só como ângulos, mas como funções de números reais, deixando mais limpo o cálculo diferencial e integral de ondas e vibrações

Interpretação de seno e cosseno no círculo unitário

  • $\sin$ e $\cos$ podem ser vistos como rastreadores das coordenadas de um ponto que gira sobre o círculo unitário
    • $\theta$ é o ângulo entre o raio e o eixo x positivo
    • $\sin$ é o deslocamento vertical, isto é, a coordenada y
    • $\cos$ é o deslocamento horizontal, isto é, a coordenada x
  • Como o ponto retorna à posição inicial, $\sin$ e $\cos$ são funções periódicas com período $2\pi$
  • $\cos$ tem a mesma forma de onda de $\sin$, mas deslocada em $\frac{\pi}{2}$, isto é, $90^\circ$
    • $\sin(x+\frac{\pi}{2})=\cos(x)$
    • Em termos técnicos, $\cos$ está adiantado em $\frac{\pi}{2}$ em relação a $\sin$
  • Por causa dessa diferença de fase, as duas funções estão em relação de quadrature
  • Na análise de Fourier, usar componentes seno e cosseno em conjunto permite representar qualquer sinal periódico, independentemente da posição inicial, isto é, da fase
  • Sob a ótica da simetria da função, ou parity, $\cos$ é função par e $\sin$ é função ímpar
    • $\cos(x)=\cos(-x)$
    • $\sin(-x)=-\sin(x)$

Números complexos, $i$ e a fórmula de Euler

  • No plano complexo, todos os pontos sobre o círculo unitário correspondem a números complexos com módulo 1
  • Para um ângulo real $\theta$, $z=\cos(\theta)+i\sin(\theta)$ é um ponto no círculo unitário e representa uma rotação de $\theta$ a partir do eixo real positivo
  • Multiplicar um número complexo por $i$ produz uma rotação de $\frac{\pi}{2}$, isto é, 90 graus, no sentido anti-horário no plano complexo
    • O módulo $r=|a+bi|=\sqrt{a^2+b^2}$ é preservado
    • Apenas o argumento aumenta em $\frac{\pi}{2}$
  • Multiplicar repetidamente o mesmo número complexo por $i$ faz com que ele percorra os quadrantes em sequência e, após quatro vezes, volte à posição original
  • A constante natural $e \approx 2.71828$ é irracional e transcendente, e pode ser definida por séries e limites
    • $e=\sum_{n=0}^{\infty}\frac{1}{n!}$
    • $e=\lim_{x\to\infty}(1+\frac{1}{x})^x$
    • $e=\lim_{x\to0}(1+x)^{1/x}$
  • A função exponencial natural é uma autofunção da derivação: ao derivá-la, a própria função reaparece multiplicada por uma constante
    • $\frac{d}{dx}e^{ax}=ae^{ax}$
  • Em $f(x)=e^{ix}$, cada derivada multiplica por $i$, e após quatro derivadas a função original reaparece
    • $\frac{d}{dx}f(x)=ie^{ix}$
    • $\frac{d^2}{dx^2}f(x)=-e^{ix}$
    • $\frac{d^3}{dx^3}f(x)=-ie^{ix}$
    • $\frac{d^4}{dx^4}f(x)=e^{ix}$
  • Esse padrão é o mesmo de multiplicar repetidamente por $i$ em números complexos, o que leva à intuição de que $e^{ix}$ desenha um círculo no plano complexo
  • A fórmula de Euler é $e^{ix}=\cos(x)+i\sin(x)$, e ao substituir $x=\pi$ obtemos $e^{i\pi}+1=0$
  • Com a fórmula de Euler, seno e cosseno podem ser escritos em forma exponencial
    • $\cos(x)=\frac{e^{ix}+e^{-ix}}{2}$
    • $\sin(x)=\frac{e^{ix}-e^{-ix}}{2i}$
  • O mesmo parâmetro $x$, $t$ ou $\theta$ pode ser interpretado como ângulo ou tempo dependendo do contexto, mas a forma matemática continua igual

Ondas senoidais e ondas senoidais complexas

  • Uma onda senoidal é uma oscilação suave e repetitiva, expressa como função do tempo por $y(t)=A\sin(2\pi ft+\varphi)=A\sin(\omega t+\varphi)$
  • Cada termo determina a forma e o movimento da onda
    • $A$ é a amplitude, ou seja, o desvio máximo em relação ao valor central 0
    • $f$ é a frequência comum, o número de oscilações completas por segundo, medida em Hz
    • $\omega=2\pi f$ é a frequência angular, medida em radianos por segundo em vez de ciclos por segundo
    • $\varphi$ é o deslocamento de fase, que move a onda senoidal para a esquerda ou para a direita no eixo x
  • $\sin$ e $\cos$ são casos especiais de ondas senoidais, e a onda cosseno é equivalente a uma onda seno deslocada $\frac{\pi}{2}$ radianos para a esquerda
  • Ajustando $A$, $\omega$ e $\varphi$, é possível representar vibrações muito diferentes, do som de um contrabaixo à corrente alternada doméstica
  • Na fórmula de Euler, se o ângulo estático $\theta$ for trocado por $\omega t+\varphi$, obtemos uma onda senoidal complexa
    • $s(t)=Ae^{i(\omega t+\varphi)}$
    • $s(t)=A\cos(\omega t+\varphi)+iA\sin(\omega t+\varphi)$
  • A onda senoidal complexa reúne duas ondas em um único objeto matemático
    • A parte real se comporta como uma onda cosseno
    • A parte imaginária se comporta como uma onda seno
    • Como ambas dependem do mesmo ângulo de rotação $\theta=\omega t+\varphi$, permanecem sincronizadas
  • Ao projetar a onda senoidal complexa no plano Y-Z, surge uma onda seno; ao projetá-la no plano X-Z, surge uma onda cosseno
  • Um único objeto em rotação gera, como sombras em planos ortogonais, as familiares ondas senoidais de valor real

Soma de ondas senoidais e interferência

  • Ao somar várias ondas senoidais, os valores da função em cada ponto se combinam, e os picos e vales podem se reforçar ou se cancelar dependendo do alinhamento
  • Quando os picos e vales de duas ondas senoidais se encaixam em oposição, a soma pode se aproximar de 0
  • Esse fenômeno pode ser entendido como interferência de ondas
  • Por exemplo, ao somar duas ondas senoidais $y_1(x)=\frac{9}{10}\sin(7x+\frac{\pi}{2})$ e $y_2(x)=\frac{12}{10}\sin(3x-2)$, obtemos $y(x)=y_1(x)+y_2(x)$, que cria um padrão complexo
  • Formas de onda com frequências e deslocamentos de fase diferentes alternam continuamente entre sincronização e dessincronização, e o padrão fica mais complexo à medida que mais ondas são adicionadas

Criando uma onda quadrada com ondas senoidais

  • Se certas ondas senoidais forem escolhidas com cuidado, é possível criar padrões geométricos previsíveis
  • Uma onda quadrada é formada pela seguinte soma infinita
    • $y(x)=\frac{4}{\pi}\sin(\omega x)+\frac{4}{3\pi}\sin(3\omega x)+...+\frac{4}{(2k-1)\pi}\sin((2k-1)\omega x)+...$
  • Essa expressão soma apenas frequências ímpares, e a amplitude de cada termo vai diminuindo gradualmente
  • Ao somar curvas suaves e contínuas, a interferência entre picos e vales produz uma onda quadrada com topo achatado
  • Quanto mais ondas senoidais entrarem na soma, mais nítida fica a aproximação
  • Como uma única onda senoidal corresponde a um ponto girando ao redor de um círculo, o processo de somar ondas senoidais pode ser visto como epiciclos conectando círculos em rotação
  • Nos epiciclos, o centro do segundo círculo fica na borda do primeiro, o do terceiro fica na borda do segundo, e assim por diante
  • Cada epiciclo corresponde a uma onda senoidal específica, e combiná-los pode ser interpretado como uma soma vetorial sequencial
  • Três ondas senoidais de exemplo se combinam assim
    • $y_1(x)=1.4\sin(x+1)$
    • $y_2(x)=0.8\sin(2x)$
    • $y_3(x)=0.5\sin(3x)$
    • $y(x)=1.4\sin(x+1)+0.8\sin(2x)+0.5\sin(3x)$
  • Em qualquer instante, o vetor posição total pode ser expresso como $\vec{u}=\vec{u_1}+\vec{u_2}+\vec{u_3}$
  • Escolhendo as ondas senoidais certas, os círculos em movimento podem aproximar formas desejadas, como flores, e descobrir as componentes individuais exige Fourier Analysis

Forma básica da Fourier Series

  • A Fourier Series é o processo matemático de expandir uma função periódica de período $P$ como uma soma infinita de funções trigonométricas oscilantes
  • Na analogia com a capa do álbum Dark Side of The Moon, do Pink Floyd, a função periódica $f(x)$ é a luz, o prisma é a Fourier Mathematics, e as cores separadas correspondem às componentes senoidais simples
  • A fórmula básica é a seguinte
    • $f(x)=A_0+\sum_{n=1}^{\infty}[A_n\cos(\frac{2\pi nx}{P})+B_n\sin(\frac{2\pi nx}{P})]$
  • $A_0$, $A_n$ e $B_n$ são os Fourier coefficients, e indicam o quanto cada frequência é necessária para reconstruir a forma de onda original
  • Os coeficientes são calculados por integração
    • $A_0=\frac{1}{P}\int_{-\frac{P}{2}}^{+\frac{P}{2}}f(x)dx$
    • $A_n=\frac{2}{P}\int_{-\frac{P}{2}}^{+\frac{P}{2}}f(x)\cos(\frac{2\pi nx}{P})dx$
    • $B_n=\frac{2}{P}\int_{-\frac{P}{2}}^{+\frac{P}{2}}f(x)\sin(\frac{2\pi nx}{P})dx$
  • Seno e cosseno são visualmente intuitivos, mas podem ser incômodos em manipulações algébricas, então a fórmula de Euler permite convertê-los para forma exponencial
  • A Fourier Series em forma exponencial é
    • $f(x)=\sum_{n=-N}^{N}C_ne^{i2\pi\frac{n}{P}x}$
  • Na forma exponencial, o índice $n$ se estende a valores negativos, introduzindo o conceito de frequência negativa, que representa a direção de rotação de vetores complexos
  • A fórmula unificada dos coeficientes é
    • $C_n=\frac{1}{P}\int_{-\frac{P}{2}}^{\frac{P}{2}}e^{-i2\pi\frac{n}{P}x}f(x)dx$

Função caixa e cálculo dos coeficientes da onda quadrada

  • A aproximação da onda quadrada usada antes é a seguinte
    • $y(x)=\frac{4}{\pi}\sum_{k=1}^{\infty}\frac{\sin(2\pi(2k-1)fx)}{2k-1}$
    • Usando $\omega=2\pi f$, temos $y(x)=\frac{4}{\pi}\sum_{k=1}^{\infty}\frac{\sin((2k-1)\omega x)}{2k-1}$
  • A função de onda quadrada pode ser escrita no intervalo $[0,2L]$ usando a Heaviside Step Function como $f(x)=2[H(\frac{x}{L})-H(\frac{x}{L}-1)]-1$
  • $A_0$ é a média da função no intervalo $[0,2L]$, e como a área positiva e a negativa se cancelam, ele vale 0
  • $A_n$ é o coeficiente que governa os termos em $\cos$, e como $f(x)$ é ímpar e $\cos$ é par, o produto é ímpar
    • Integrando ao longo de um período completo, as áreas se cancelam
    • Todos os coeficientes $A_n$ são 0
  • $B_n$ é o coeficiente que governa os termos em $\sin$
    • Para $n$ par, a área vermelha e a área verde se cancelam, então a integral vale 0
    • Nos termos ímpares, as áreas se somam
  • O resultado do cálculo é $B_n=\frac{2}{n\pi}(1-(-1)^n)$
  • Como restam apenas os termos ímpares de $B_n$, a onda quadrada assume a forma
    • $f(x)=\frac{4}{\pi}\sum_{n=1,3,5...}^{+\infty}(\frac{1}{n}\sin(\frac{\pi nx}{L}))$
    • Substituindo $n\rightarrow2k-1$, temos $f(x)=\frac{4}{\pi}\sum_{k=1}^{+\infty}\frac{\sin(\frac{\pi(2k-1)x}{L})}{2k-1}$
    • Substituindo $L\rightarrow\frac{1}{2f}$ e $2\pi f\rightarrow\omega$, obtemos $f(x)=\frac{4}{\pi}\sum_{k=1}^{\infty}\frac{\sin((2k-1)\omega x)}{2k-1}$
  • Na prática, não dá para somar infinitamente, então usa-se uma soma parcial $s(x)$ interrompida em um valor finito de $n$
    • $s(x)=\frac{4}{\pi}\sum_{k=1}^{n}\frac{\sin((2k-1)\omega x)}{2k-1}\approx f(x)$
  • À medida que $n$ cresce, a aproximação fica mais precisa, e a diferença restante diminui cada vez mais
  • Os cinco primeiros termos são ondas senoidais simples com amplitudes que caem rapidamente e frequências que aumentam

Exemplos de onda triangular e onda dente de serra

  • A aproximação por Fourier Series de uma onda triangular é
    • $s(x)=\frac{8}{\pi^2}\sum_{k=1}^{N}\frac{(-1)^{k-1}}{(2k-1)^2}\sin((2k-1)x)$
  • A onda triangular é suave e converge rapidamente, e quando $n$ se aproxima de 6 o formato triangular já fica claro
  • Na expansão da onda triangular, termos de índice par como $s_2(x)$, $s_4(x)$ e $s_6(x)$ são negativos
  • Como amplitude negativa não é fisicamente intuitiva, isso pode ser reescrito de duas formas
    • Pode-se usar $\sin(-x)=-\sin(x)$ para tornar a frequência negativa
    • Pode-se manter a amplitude positiva e somar uma fase de $\pi$
  • Na prática, a segunda forma é mais útil e oferece melhor controle geométrico
    • $-\frac{8}{3^2\pi^2}\sin(3x)$ pode ser escrito como $\frac{8}{3^2\pi^2}\sin(3x+\pi)$
  • A função de onda dente de serra reversa tem a forma
    • $s(x)=\frac{2}{\pi}\sum_{k=1}^{N}(-1)^k\frac{\sin(kx)}{k}$

Um dispositivo para ver a Fourier Series como epiciclos

  • Em vez de uma equação estática, se vista como movimento físico, cada termo de Fourier se comporta como vários círculos em rotação ligados ponta a ponta sobre uma haste
  • No dispositivo visual, é possível escolher a forma de sinal desejada entre sawtooth wave, triangle wave e square wave
  • Cada elemento visual corresponde diretamente às variáveis da fórmula de Fourier
    • O raio de cada círculo é a amplitude $A$
    • A velocidade de rotação de cada círculo é a frequência angular $\omega$
    • O ângulo inicial da haste dentro do círculo em $t=0$ é o deslocamento de fase $\varphi$
  • Mesmo formas de onda complexas, pontiagudas e agudas podem ser decompostas em combinações de círculos que giram suavemente
  • A animação mostra passo a passo a conexão entre círculo, ondas senoidais, números complexos, epiciclos e Fourier Series

1 comentários

 
GN⁺ 2024-06-05
Comentários no Hacker News
  • Tentei por muito tempo entender a transformada de Fourier com materiais visuais como 3b1b [1] ou betterexplained [2], mas só fez sentido quando passei a pensar na transformada discreta de Fourier[3]
    A transformada discreta de Fourier é apenas uma matriz ortogonal multiplicando um vetor, e a FFT inversa, o teorema de Plancherel e o teorema de Parseval também seguem naturalmente do fato de essa matriz ser ortonormal
    Talvez essa abordagem só funcione para quem já entende álgebra linear, mas, depois que peguei a perspectiva discreta, também ficou fácil migrar para a transformada contínua de Fourier
    Pessoalmente, foi muito mais fácil olhar diretamente para as fórmulas do que ficar vendo círculos e animações
    [1] https://www.youtube.com/watch?v=spUNpyF58BY
    [2] https://betterexplained.com/articles/an-interactive-guide-to...
    [3] https://en.wikipedia.org/wiki/Discrete_Fourier_transform
    • Quando entendi o conceito de base e a ideia de que “ondas senoidais são uma base de certo espaço de funções”, tudo passou a fazer sentido
      O resto praticamente decorre disso. Em uma notação, a transformada de Fourier multiplica f(x) por e^{-ikx} e integra; a integral é um produto interno gigante, e e^{-ikx} é como a “transposta” do vetor de base e^{ikx}, então no fim você está expressando f_i naquele componente da base
    • É um caso interessante, mas parece meio incomum entender álgebra linear e, ainda assim, tentar aprender transformada de Fourier por vídeos no YouTube
      Imagino que a maioria das pessoas que entende álgebra linear aprenderia transformada de Fourier da forma como aprende matemática avançada, ou seja, em livros-texto ou aulas universitárias. Nesse contexto, uma explicação como “matriz ortogonal multiplicando um vetor” seria o ponto de partida básico, mas pode parecer pouco intuitiva, e os vídeos no YouTube tentam preencher essa lacuna
      Por exemplo, o vídeo do 3b1b volta a explicar devagar por que números complexos são úteis, o que mostra que o público-alvo já é outro
    • Explicações intuitivas e visuais de matemática ou física dão a “sensação de que você aprendeu”, mas, quando chega a hora de realmente usar, no fim o que resolve mesmo são fórmulas sólidas
      Por isso ainda verifico temas de matemática fazendo as demonstrações eu mesmo, para ver se consigo deduzir por conta própria
      Seria ótimo se só olhar visualizações bonitas fizesse o conceito entrar magicamente na cabeça, mas para mim isso parece uma espécie de dopamina intelectual
    • Eu estava quase comentando, em tom de brincadeira, “é só uma mudança de base, o que tem de difícil?”
      É tipo dizer “monóide na categoria dos endofuntores” na área de sinais e sistemas
    • Se você quiser fugir das animações de círculos dentro de círculos, este vídeo também foi bom: https://www.youtube.com/watch?v=QmgJmh2I3Fw
  • O link do código-fonte está quebrado. Acho que faltou uma / no href, e o link real é este
    https://www.andreinc.net/2024/04/24/assets/js/2024-04-24-fro...
    Parece que a animação usa Processing
    • Todo o código-fonte das animações pode ser visto aqui:
      https://github.com/nomemory/andreinc-site/tree/main/assets/j...
      Eu estava aprendendo p5.js enquanto escrevia o texto, então comecei de um jeito bem ineficiente e não tenho muito orgulho disso
      Quando tiver tempo, pretendo revisar o texto e colocar o link correto
    • Eu realmente adoro Processing. Alguns dos programas mais bonitos que já escrevi foram feitos em Processing
      Eu até tinha um plano de visualizar toda a álgebra linear básica em Processing para me recuperar de depressão atípica, mas por um tempo não consegui mais programar no computador
    • Esse link também parece estar quebrado
    • Não acho que seja necessário usar Processing para a animação. Na prática, também daria para fazer isso facilmente com GeoGebra
  • Ótimo texto. Gostei da estrutura de começar com círculos e números complexos e ir construindo a partir daí
    Outras explicações às vezes só enfiam números complexos à força no final
    Se você se interessa pelo tema, talvez também valha a pena ver minha visualização da transformada fracionária de Fourier [1] e minha visualização do plano complexo [2]
    [1]: https://static.laszlokorte.de/frft-cube/
    [2]: https://static.laszlokorte.de/complex-plane/
  • Sinto que entendo transformada de Fourier até certo ponto, e já existem muitos materiais explicativos e visualizações legais sobre ela
    Se alguém gosta de criar material explicativo, seria legal também cobrir a transformada de Laplace [1]
    Antigamente eu sabia usá-la para analisar circuitos eletrônicos, mas hoje quase esqueci tudo, então é quase um pedido preguiçoso
    1: https://en.wikipedia.org/wiki/Laplace_transform
  • Alguns anos atrás, ver uma animação de epicíclos ajudou muito a entender a representação complexa das séries de Fourier, e eu sempre procurava essa animação para compartilhar com quem estava aprendendo sinais pela primeira vez
    Mas este texto vai muito além daquela página. Vai ser ótimo para compartilhar com outras pessoas daqui para frente
  • Este texto aqui também é muito bom: https://www.andreinc.net/2024/01/09/the-most-important-math-...
  • Os exemplos são bons e o site é excelente. É até estranho como este site roda de forma leve, enquanto a maioria dos sites estáticos de notícias que visito vive detonando o navegador
    • Neste site, o navegador mobile ficava recarregando a cada 1 minuto, então foi difícil de ler
  • Só fui entender FFT depois de acompanhar a disciplina Introduction to Graduate Algorithms da Georgia Tech e implementar todo o conteúdo em Python
    É uma aula realmente muito boa:
    https://edstem.org/us/courses/47529/lessons/80063/slides/440...
    • Ao abrir o link, ele só pede login. Claro que eu não tenho conta
      Nunca tinha ouvido falar do Ed e tenho interesse, mas até a seção “see how it works” não mostra de fato como funciona. É uma pena esse padrão atual de exigir cadastro antes de qualquer coisa
    • Existe também uma versão de graduação dessa disciplina?
  • É um bom tutorial para entender séries de Fourier, e ainda tem um jogo de Tetris baseado em séries de Fourier
    Também existe um site útil que reúne vídeos e livros sobre séries de Fourier e transformada de Fourier:
    https://howthefouriertransformworks.com/
  • É uma ótima revisão com animações que dão uma intuição visual da matemática. Gosto da forma como vai do simples ao absurdamente complexo em um ritmo adequado