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 enunciado pede duas coisas sobre o sinal
As perguntas são:
- Escrever (em forma de tabela) a transformada de Fourier do sinal dado.
- Fornecer um programa Scilab que plote o sinal no tempo e a sua transformada (pelo menos magnitude e fase).
Informações relevantes fornecidas:
- O sinal é causal (multiplicado por
), ou seja está definido a partir de . - O fator exponencial tem taxa de decaimento
, o que garante convergência da transformada de Fourier clássica. - A parte oscilatória é
(frequência angular rad/s). - O ganho multiplicativo é
.
Passo 2
Relembrando a definição/fato básico que vamos usar (aulas rápidas):
- A transformada de Fourier de um sinal causal exponencial decrescente
com é
Aqui
é a frequência angular (rad/s),
é a unidade imaginária, e a condição
garante que a integral converge.
Explanação simples: a integral é uma integral de decaimento exponencial complexa; integrar
dá
quando
. No caso complexo, substituímos
por
.
Passo 3
Expressar
como soma de exponenciais complexas — isto facilita integrar termo a termo:
Então o sinal fica
Observe que o fator
cancelou com o
da expressão da cosseno—muito conveniente.
Passo 4
Aplicar a linearidade da transformada de Fourier e a propriedade de deslocamento em frequência (multiplicação por
corresponde a deslocar
para
na transformada do termo base).
Fazendo diretamente a integral (durante a prova é bom saber ambos os jeitos; aqui faço a integral termo a termo):
Em cada integral usamos a fórmula do Passo 2 com
e
. Como
, ambas convergem.
Então
Passo 5
Podemos deixar a resposta em várias formas equivalentes. Uma forma compacta (já obtida) é
Se quiser, dá para combinar as frações em um único quociente. Vou mostrar esse passo algébrico, mas na prova a forma em soma de termos simples costuma ser a mais clara:
Essa forma separa as partes real e imaginária explicitamente, útil para analisar amplitude e fase. Mas atenção: para cálculo e plots, a forma de soma de dois polos é mais prática.]
Passo 6
Agora atendo ao pedido explícito: “Usando uma tabela, escreva a transformada de Fourier”. Abaixo segue a tabela com o sinal e sua transformada.
| Sinal
|
Transformada
|
|---|---|
|
|
|
Passo 7
Como plotar no Scilab — explicação didática e numérica:
- Para plotar o sinal no tempo escolha um vetor de tempo
, por exemplo com passo pequeno ( ) para boa resolução. O sinal decai rápido porque tem fator ; tomar ou já mostra bem o comportamento. - Para a transformada, como temos expressão analítica para
, é melhor calcular diretamente para um vetor de frequências (em rad/s), por exemplo . - Cálculo de magnitude:
; fase: . Em Scilab, podemos usar abs()eatan(imag(F)./real(F))(ou função que trate quadrante se disponível). - Atenção à notação complexa no Scilab: a unidade imaginária é
%i. Operações elementwise usam.*,./,^etc. (usar./para divisão elemento a elemento).
Passo 8
Programa Scilab (com comentários) que plota o sinal no tempo e a transformada (magnitude e fase). Copie e cole no Scilab; deve rodar sem modificações básicas.
// Plots para f(t)=2*exp(-3*t)*cos(5*t)*u(t) e sua transformada analítica
// Parâmetros
T = 5; // tempo máximo (s)
dt = 0.001; // passo no tempo
t = 0:dt:T; // vetor de tempo
// Sinal no tempo (causal, portanto t>=0)
f = 2*exp(-3*t).*cos(5*t); // já é zero para t<0 porque criamos t>=0
// Vetor de frequências (rad/s)
wmax = 20;
Nw = 2000;
w = linspace(-wmax, wmax, Nw);
// Transformada analítica F(w) = 1/(3 + j(w-5)) + 1/(3 + j(w+5))
F = 1 ./ (3 + %i*(w-5)) + 1 ./ (3 + %i*(w+5));
// Magnitude e fase
MagF = abs(F);
PhaseF = atan(imag(F) ./ real(F)); // fase principal (aproximação); para melhor quadrante, usar uma função atan2 se disponível
// Plots
clf();
// plot do sinal no tempo
subplot(3,1,1);
plot(t, f);
xtitle("Sinal no tempo: f(t)=2 e^{-3t} cos(5t) u(t)", "t (s)", "f(t)");
xgrid(1);
// plot magnitude da transformada
subplot(3,1,2);
plot(w, MagF);
xtitle("Magnitude |F(ω)|", "ω (rad/s)", "|F(ω)|");
xgrid(1);
// plot fase da transformada
subplot(3,1,3);
plot(w, PhaseF);
xtitle("Fase ∠F(ω) (rad, aproximação)", "ω (rad/s)", "fase (rad)");
xgrid(1);
// Ajustes visuais opcionais:
// a) Limitar eixo y para melhor visualização se necessário
// b) Usar função atan2 se disponível para obter fase com quadrante correto
Passo 9
Dicas rápidas para a prova:
- Se te pedirem apenas a transformada, aplique a decomposição do cosseno em exponenciais e use a transformada de
. - Verifique sempre a condição de convergência (
). - Memorize o par básico
. Com isso, sinais do tipo e são diretos.
Resposta
| Sinal
|
Transformada
|
|---|---|
|
|
|
// Plots para f(t)=2*exp(-3*t)*cos(5*t)*u(t) e sua transformada analítica
T = 5; dt = 0.001; t = 0:dt:T;
f = 2*exp(-3*t).*cos(5*t);
wmax = 20; Nw = 2000; w = linspace(-wmax, wmax, Nw);
F = 1 ./ (3 + %i*(w-5)) + 1 ./ (3 + %i*(w+5));
MagF = abs(F);
PhaseF = atan(imag(F) ./ real(F));
clf();
subplot(3,1,1); plot(t, f); xtitle("Sinal no tempo: f(t)=2 e^{-3t} cos(5t) u(t)", "t (s)", "f(t)"); xgrid(1);
subplot(3,1,2); plot(w, MagF); xtitle("Magnitude |F(ω)|", "ω (rad/s)", "|F(ω)|"); xgrid(1);
subplot(3,1,3); plot(w, PhaseF); xtitle("Fase ∠F(ω) (rad, aproximação)", "ω (rad/s)", "fase (rad)"); xgrid(1);