{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# MAC0317/MAC5920\n", "## Introdução ao Processamento de Sinais Digitais\n", "### Seção 2.4: A DFT unidimensional" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "import math as m\n", "import io\n", "from urllib.request import urlopen\n", "import numpy as np\n", "import scipy.io.wavfile as wavfile\n", "import soundfile as sf\n", "import matplotlib.pyplot as plt\n", "import IPython.display as ipd" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Seção 2.4.1 Definição da DFT\n", "\n", "No exemplo (1.23) vimos que um vetor $x\\in\\mathbb{C}^N$ pode ser escrito na base das exponenciais complexas $\\{E_k|k=0,\\ldots,N-1\\}$ como $x=\\displaystyle\\sum_{k=0}^{N-1}c_kE_k$ onde $$c_k=\\frac{(x,E_k)}{(E_k,E_k)}=\\frac{1}{N}(x,E_k).$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Definição 2.1\n", "\n", "A DFT de um vetor $x\\in\\mathbb{C}^N$ qualquer é o vetor $X=DFT(x)\\in\\mathbb{C}^N$ cujas componentes são $$X_k = (x,E_k) = \\sum_{n=0}^{N-1}x_ne^{-i2\\pi k\\frac{n}{N}},\\ k=0,\\ldots,N-1.$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Observe que $X_k = Nc_k$ na definição da DFT: isso significa que, normalmente, ao computar a DFT por uma função de biblioteca, por exemplo $\\texttt{numpy.fft.fft(x)}$, os coeficientes $X_k$ são $N$ vezes maiores do que os pesos $c_k$ associados às componentes $E_k$ na combinação linear $x=\\displaystyle\\sum_{k=0}^{N-1}c_kE_k$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Observação 2.1\n", "\n", "O coeficiente $c_0 = \\frac{X_0}{N}$ mede a contribuição da forma de onda constante $E_0=(1,1,\\ldots,1)$. Em outras palavras, $$c_0 = \\frac{X_0}{N} = \\frac{1}{N}\\sum_{n=0}^{N-1}x_n,$$ ou seja, $c_0$ é o valor médio do sinal $x$, também chamado de componente dc (*direct current*)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Observação 2.2\n", "Na expressão da definição 2.4.1, o vetor $X$ pode ser indexado em qualquer componente $k$, mesmo fora do intervalo $0\\le k