Usando uma tabela, escreva a transformada de Fourier dos seguintes sinais. Faça um programa scilab para plotar tanto o sinal quanto a transformada.
f(t)=10 \operatorname{sen}(t)

Passo 1

O que o enunciado pede:
  • Escrever a transformada de Fourier do sinal dado, usando uma tabela.
  • Fazer um programa em Scilab para plotar tanto o sinal quanto a sua transformada (uma aproximação numérica via FFT).
Informações fornecidas:
  • O sinal é f(t)=10\sin(t).
Observação: aqui apenas listei o que é pedido e os dados fornecidos; a resolução e os cálculos começam no próximo passo.

Passo 2

O que é a transformada de Fourier (no domínio angular \omega) — pequena aula:
  • A transformada de Fourier de um sinal x(t) (no sentido das distribuições, para sinais não absolutamente integráveis como senos) é definida por
X(\omega)=\int_{-\infty}^{\infty} x(t)\,e^{-j\omega t}\,dt.
  • Uma propriedade essencial que vamos usar é a transformada da exponencial complexa: para qualquer constante real \omega_0,
\mathcal{F}\{e^{j\omega_{0}t}\} = 2\pi\,\delta(\omega-\omega_{0}),
onde \delta(\cdot) é a distribuição delta de Dirac.
  • Outra propriedade que usaremos é linearidade: a transformada de uma soma é a soma das transformadas, e constantes saem multiplicando o resultado.
Vou explicar cada símbolo:
  • t é a variável do tempo (real).
  • \omega é a frequência angular (rad/s).
  • j é a unidade imaginária ( j^2=-1).
  • \delta(\cdot) representa um impulso localizado (distribuição).

Passo 3

Expressar \sin(t) em termos de exponenciais complexas (fórmula de Euler) — outra mini-aula:
  • A identidade é
\sin(t)=\frac{e^{jt}-e^{-jt}}{2j}.
  • Aqui \omega_0 no nosso caso vale \omega_0=1 (porque o argumento do seno é t = 1\cdot t).
Explicando a utilidade: escrever \sin(t) como soma de exponenciais permite aplicar diretamente a transformada conhecida de e^{j\omega_0 t}.

Passo 4

Aplicar linearidade e a transformada da exponencial para obter a transformada de \sin(t):
  • Começamos com \sin(t)=\dfrac{e^{jt}-e^{-jt}}{2j}.
  • Aplicando a transformada e usando linearidade:
\mathcal{F}\{\sin(t)\}=\frac{1}{2j}\left(\mathcal{F}\{e^{jt}\}-\mathcal{F}\{e^{-jt}\}\right).
  • Usando \mathcal{F}\{e^{j\omega_{0}t}\}=2\pi\,\delta(\omega-\omega_{0}) com \omega_{0}=1 e \omega_{0}=-1 respectivamente:
\mathcal{F}\{e^{jt}\}=2\pi\,\delta(\omega-1),\qquad \mathcal{F}\{e^{-jt}\}=2\pi\,\delta(\omega+1).
  • Substituindo:
\mathcal{F}\{\sin(t)\}=\frac{1}{2j}\big(2\pi\,\delta(\omega-1)-2\pi\,\delta(\omega+1)\big) =\frac{\pi}{j}\big(\delta(\omega-1)-\delta(\omega+1)\big).

Passo 5

Agora incluo a amplitude 10. Como a transformada é linear, multiplicar o sinal por 10 multiplica a transformada por 10:
\mathcal{F}\{10\sin(t)\}=10\cdot\frac{\pi}{j}\big(\delta(\omega-1)-\delta(\omega+1)\big).
Podemos também reescrever \dfrac{1}{j}=-j, então uma forma alternativa é
\mathcal{F}\{10\sin(t)\}=10\pi(-j)\big(\delta(\omega-1)-\delta(\omega+1)\big) =-10\pi j\big(\delta(\omega-1)-\delta(\omega+1)\big).
Essas duas formas são equivalentes — escolha a que preferir para interpretar magnitude e fase.

Passo 6

Apresentando a transformada em forma de tabela (como você pediu). A tabela mostra o sinal no tempo e a respectiva transformada no domínio angular \omega.
Sinal f(t) Transformada F(\omega)
f(t)=10\sin(t) F(\omega)=10\displaystyle\frac{\pi}{j}\big(\delta(\omega-1)-\delta(\omega+1)\big)
Explicação curta da tabela: as deltas estão localizadas em \omega=\pm 1 porque o seno tem frequência angular \omega_0=1. A diferença de sinais nas deltas (subtração) vem da representação exponencial dupla do seno.

Passo 7

Como plotar isso numericamente em Scilab — desafio e estratégia:
  • Atenção: a transformada teórica acima contém deltas (ímpulsos). Num cálculo numérico com FFT não veremos deltas perfeitos; veremos picos estreitos em frequências \pm 1 (em rad/s), cuja amplitude cresce com aumento da resolução da FFT e duração do sinal.
  • Estratégia para o programa:
    1. Amostrar o sinal f(t)=10\sin(t) com uma taxa de amostragem \,f_s suficientemente grande (ex.: \,f_s=200 Hz) por um intervalo de tempo grande o suficiente para ter boa resolução espectral.
    2. Fazer zero-padding e aplicar FFT de comprimento grande (ex.: N_{fft}=8192) para melhorar a resolução da FFT.
    3. Construir o eixo de frequência em Hz e em \omega (rad/s) via \omega=2\pi f.
    4. Fazer fftshift para centrar componentes negativas e positivas e plotar magnitude versus \omega.

Passo 8

Programa Scilab. Copie e cole este código no Scilab, execute e você verá o sinal no tempo e a sua transformada (aproximação pela FFT). Os comentários no código explicam cada passo.
// Scilab: plot do sinal 10*sin(t) e aproximacao da sua transformada via FFT

// 1) parametros de amostragem
fs = 200;           // frequencia de amostragem em Hz
dt = 1/fs;          // passo de tempo
T = 10;             // duracao do sinal em segundos
t = 0:dt:(T-dt);    // vetor tempo

// 2) sinal no tempo
x = 10 * sin(1 * t);  // nota: argumento '1' esta em rad/s

// 3) parametros FFT
Nfft = 8192;         // tamanho da FFT (escolha grande para boa resolucao)
xpad = [x, zeros(1, Nfft - length(x))]; // zero-padding

// 4) calcular FFT
X = fft(xpad); // FFT (complexa)

// 5) construir eixo de frequencias (Hz) e converter para rad/s
k = 0:(Nfft-1);
f = k * (fs / Nfft);         // eixo em Hz, 0..fs-fs/Nfft
fshift = f - fs/2;           // centrar em -fs/2..fs/2
wshift = 2 * %pi * fshift;   // eixo em rad/s

// 6) fftshift manual (Scilab): mover segunda metade para a frente
half = Nfft/2;
Xshift = [X(half+1:$), X(1:half)];

// 7) normalizacao para amplitude (opcional: dividir por numero de amostras)
// Aqui usamos normalizacao por numero de amostras originais para ficar com amplitude aproximada
Xmag = abs(Xshift) / length(t);

// 8) plot do sinal no tempo
scf(0);
plot(t, x);
xlabel("t (s)");
ylabel("x(t)");
title("Sinal no tempo: 10*sin(t)");

// 9) plot da magnitude da FFT em funcao de omega (rad/s)
scf(1);
plot(wshift, Xmag);
xlabel("\omega (rad/s)");
ylabel("|X(\omega)| (aprox. via FFT)");
title("Aproximacao da Transformada de Fourier via FFT");
xgrid(1);

// 10) opcional: marcar as posicoes teoricas em omega=+-1
xpoly([1,1], [0, max(Xmag)], "r");  // linha vertical em omega = +1
xpoly([-1,-1], [0, max(Xmag)], "r"); // linha vertical em omega = -1

Passo 9

O que esperar ao rodar o código e como interpretar:
  • No gráfico do tempo você verá uma senoide com amplitude \,10.
  • No gráfico da FFT (em \omega), você verá dois picos praticamente simétricos em torno de \omega=\pm 1 (rad/s). Esses picos são a representação numérica dos impulsos \delta(\omega\pm1) da transformada teórica.
  • A amplitude exata dos picos depende da normalização escolhida e do comprimento do sinal; aumentando T e N_{fft} os picos ficam mais estreitos e centrais, aproximando melhor os impulsos.

Resposta

\displaystyle \mathcal{F}\{10\sin(t)\}=10\,\frac{\pi}{j}\big(\delta(\omega-1)-\delta(\omega+1)\big)
// Scilab code (copiar e executar)
fs = 200; dt = 1/fs; T = 10; t = 0:dt:(T-dt);
x = 10 * sin(1 * t);
Nfft = 8192;
xpad = [x, zeros(1, Nfft - length(x))];
X = fft(xpad);
k = 0:(Nfft-1);
f = k * (fs / Nfft);
fshift = f - fs/2;
wshift = 2 * %pi * fshift;
half = Nfft/2;
Xshift = [X(half+1:$), X(1:half)];
Xmag = abs(Xshift) / length(t);
scf(0); plot(t, x); xlabel("t (s)"); ylabel("x(t)"); title("Sinal no tempo: 10*sin(t)");
scf(1); plot(wshift, Xmag); xlabel("\omega (rad/s)"); ylabel("|X(\omega)| (aprox. via FFT)");
title("Aproximacao da Transformada de Fourier via FFT"); xgrid(1);
xpoly([1,1], [0, max(Xmag)], "r"); xpoly([-1,-1], [0, max(Xmag)], "r");

Exercícios relacionados