Usando uma tabela, escreva a transformada de Fourier dos seguintes sinais. Faça um programa scilab para plotar tanto o sinal quanto a transformada.
Passo 1
O que o enunciado pede:
- Calcular a transformada de Fourier do sinal
. - Apresentar o resultado “usando uma tabela” (ou seja: sinal versus sua transformada).
- Fornecer um programa Scilab que plote o sinal no tempo e uma representação adequada da sua transformada.
Informações dadas:
- A função é
. - Constantes identificáveis: amplitude
, frequência angular (rad/s) e defasagem (rad).
Passo 2
Definição e propriedades que vamos usar (explicação didática):
- A transformada de Fourier contínua, na convenção que usaremos, é
Expliquei: aqui
é o tempo,
é a frequência angular (rad/s),
é a unidade imaginária
. O resultado
pode ser uma função contínua ou uma combinação de distribuições (por exemplo, deltas) no caso de sinais harmônicos puros.
- Propriedade útil: a exponencial complexa gera impulsos na frequência:
Explicando: a transformada de
(uma onda complexa pura) não é uma função comum, é um impulso (delta) centrado em
com “peso”
. A distribuição
significa um pico concentrado na frequência indicada.
-
Linearidade: a transformada é linear, então podemos decompor sinais e somar transformadas.
-
Identidade da função seno em termos de exponenciais complexas (muito prática para FT):
Explicando: isso transforma a senoide real numa combinação de duas exponenciais complexas, o que facilita usar a propriedade acima.
Passo 3
Decomposição do sinal e aplicação das propriedades (passo a passo das contas):
- Escrevo a senoide como exponenciais:
Expliquei: peguei a identidade
e substituí
.
- Factorizo os termos constantes de fase:
Expliquei: separamos a parte que depende de
(exponencial com
) da constante de fase
.
- Uso a transformada das exponenciais:
-
. -
.
- Aplico linearidade e coloco tudo junto:
Expliquei cada passo: multipliquei constantes, mantive os fatores exponenciais de fase e usei os deltas vindos das exponenciais em
.
- Opcional — forma alternativa (mais intuitiva quanto ao sinal imaginário):
sabendo que, podemos escrever
Essa forma às vezes ajuda a ver simetria entre os termos em
e
.
Observação didática sobre magnitude/fase dos impulsos:
- Ambas as posições
têm módulo (peso) igual a (porque e ). - As fases dos impulsos são dadas pelas fases dos coeficientes complexos
e ; se precisar usá-las na prova saiba extrair arg() desses complexos.]
Passo 4
Tabela pedida (sinal versus transformada). A tabela abaixo resume o que fizemos de forma compacta:
| Sinal
|
Transformada
|
|---|---|
|
|
|
Explicando a tabela: a coluna da transformada mostra que o espectro é formado por dois impulsos (deltas) localizados em
e
, com amplitudes complexas que carregam a informação de fase
rad e o fator
.
Passo 5
Como plotar no Scilab (explicação prática):
- No domínio do tempo: plotamos diretamente
em um intervalo de tempo razoável (ex.: várias oscilações). - No domínio da frequência: a transformada é formada por deltas (distribuições). Num programa numérico não podemos desenhar deltas contínuos; então representamos os deltas como “pontos/estacas” (stem) em
com alturas iguais ao módulo dos coeficientes e também mostramos a fase. Isso é suficiente para visualização e prova de entendimento (na prova também é comum desenhar dois impulsos com as respectivas amplitudes/phasors).
Passo 6
Programa Scilab que plota o sinal no tempo e representa a transformada por dois impulsos (magnitude e fase). Cole e execute no Scilab:
// Plota f(t) = 3*sin(3*t - 2) e representa a transformada (impulsos em w = -3 e +3)
// tempo
t = linspace(-5,5,2000);
f = 3*sin(3*t - 2);
// plot tempo
clf();
subplot(3,1,1);
plot(t,f,'b-');
xlabel('t (s)');
ylabel('f(t)');
xtitle('Sinal no tempo: f(t)=3*sin(3*t-2)');
xgrid();
// calcular coeficientes dos deltas a partir da fórmula derivada
A_pos = (3*%pi/%i)*exp(-%i*2); // amplitude associada a delta(omega-3)
A_neg = -(3*%pi/%i)*exp(%i*2); // amplitude associada a delta(omega+3) -> posição omega = -3
// posicionamento das frequências
w = [-3, 3];
Fvals = [A_neg, A_pos]; // corresponde a w = -3 e w = +3
// plot magnitude dos impulsos
subplot(3,1,2);
stem(w, abs(Fvals), 'r');
xlabel('\omega (rad/s)');
ylabel('|F(\omega)|');
xtitle('Magnitude da transformada (impulsos)');
xgrid();
// plot fase dos impulsos
subplot(3,1,3);
phase_vals = atan(imag(Fvals)./real(Fvals)); // aproximação para fase; ou usar atan2
// melhor usar atan2 para faixa correta:
phase_vals = atan2(imag(Fvals), real(Fvals));
stem(w, phase_vals, 'm');
xlabel('\omega (rad/s)');
ylabel('arg(F(\omega)) (rad)');
xtitle('Fase da transformada (impulsos)');
xgrid();
Notas sobre o código:
- Em Scilab,
%ié a unidade imaginária. stemdesenha “estacas” em posições discretas, ideal para representar deltas.abs(Fvals)mostra a magnitude (esperada:em ambas as posições). atan2(imag(Fvals), real(Fvals))dá a fase dos coeficientes complexos em radianos.
Resposta
// Scilab para plotar f(t) e representação da transformada (impulsos)
t = linspace(-5,5,2000);
f = 3*sin(3*t - 2);
clf();
subplot(3,1,1);
plot(t,f,'b-');
xlabel('t (s)');
ylabel('f(t)');
xtitle('Sinal no tempo: f(t)=3*sin(3*t-2)');
xgrid();
A_pos = (3*%pi/%i)*exp(-%i*2);
A_neg = -(3*%pi/%i)*exp(%i*2);
w = [-3, 3];
Fvals = [A_neg, A_pos];
subplot(3,1,2);
stem(w, abs(Fvals), 'r');
xlabel('\omega (rad/s)');
ylabel('|F(\omega)|');
xtitle('Magnitude da transformada (impulsos)');
xgrid();
subplot(3,1,3);
phase_vals = atan2(imag(Fvals), real(Fvals));
stem(w, phase_vals, 'm');
xlabel('\omega (rad/s)');
ylabel('arg(F(\omega)) (rad)');
xtitle('Fase da transformada (impulsos)');
xgrid();