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
:
- Escrever, usando uma tabela, a transformada de Fourier do sinal.
- Fazer um programa Scilab para plotar tanto o sinal
quanto a sua transformada .
Informações relevantes fornecidas pelo enunciado:
- O sinal temporal dado é
. - Não foi dada explicitamente a definição de
, então vou usar a definição padrão (mais comum em processamento de sinais): , ou seja,
- Vou usar a convenção da transformada de Fourier contínua:
Passo 2
Entender a função triangular e propriedades úteis (aulas rápidas, na prática para prova):
-
Definição concreta (repetindo para fixar): [\operatorname{tri}(x)=1-|x|) para
e zero fora. Essa função tem pico em e base de largura (vai de a ). -
Identidade útil: a função triangular pode ser obtida como convolução de duas funções retângulo (rect):
onde
é a “porta” unitária de largura
centrada em zero:
- Propriedade de transformada: convolução no tempo vira multiplicação na frequência:
-
Transformada da .
-
Propriedade de escala temporal: se
com , então
Essa propriedade é fundamental para tratar
.]
Passo 3
Derivando a transformada de
por convolução (passo intermediário didático):
- Como
e
,
pelo teorema da convolução temos
- Esse resultado pode ser escrito de forma explícita:
- Observação alternativa (opcional para prova): se você integrar diretamente
(lembrando que em ), chega à mesma expressão, mas a via por convolução é mais curta e elegante.
Passo 4
Aplicando a propriedade de escala para obter a transformada de
:
-
Temos
. Isso é da forma com e (pois ). -
Pela propriedade de escala (ver passo anterior):
Aqui
, logo
e
.
- Sabemos de antes que
. Substituindo,
- Expandindo
:
- Uma forma alternativa (usando
) é
com a interpretação de limite
(usar série ou limite de
).
Passo 5
Apresentando a resposta na forma de tabela (pedido explícito):
| Sinal
|
Transformada
|
|---|---|
|
|
|
Observação: ambas as expressões são equivalentes; na prática a forma
é a mais direta e numérica, a forma
é útil para análise (limites, série de Taylor).
Passo 6
Programa Scilab para plotar
e
(código pronto, copie/cole no Scilab). O código inclui tratamento do ponto
para evitar divisão por zero.
// Scilab code: plot f(t)=tri(t/2) and its Fourier transform F(w)=2*(sin(w)/w)^2
// definição da função triangular tri(x) = max(1-|x|,0)
function y = tri(x)
y = 1 - abs(x);
y = y .* (y > 0); // zera os negativos
endfunction
// vetor tempo para plotar f(t)
t = linspace(-4, 4, 1000);
f = tri(t/2);
// vetor frequência (omega) para plotar F(omega)
w = linspace(-10, 10, 2000);
// calcular sinc(w) = sin(w)/w com tratamento de w=0
sincw = sin(w)./w;
sincw(w==0) = 1; // limite quando w->0
// transformada analítica
F = 2 * (sincw).^2;
// plot dos dois em subplots
clf();
subplot(2,1,1);
plot(t, f, 'b-');
xlabel('t');
ylabel('f(t)');
xtitle('f(t) = tri(t/2)');
xgrid();
subplot(2,1,2);
plot(w, F, 'r-');
xlabel('\omega');
ylabel('F(\omega)');
xtitle('F(\omega) = 2 (sin(\omega)/\omega)^2');
xgrid();
Notas sobre o código:
- Ajuste os intervalos de
e (aqui usei e ) conforme desejar para zoom. - A função
triestá vetorizada;tri(t/2)cria a forma triangular de base largura(pois tem base , o argumento estica horizontalmente por ). - A linha
sincw(w==0) = 1;garante o valor correto em(onde a expressão direta dá 0/0).
Resposta
Programa Scilab:
function y = tri(x)
y = 1 - abs(x);
y = y .* (y > 0);
endfunction
t = linspace(-4, 4, 1000);
f = tri(t/2);
w = linspace(-10, 10, 2000);
sincw = sin(w)./w;
sincw(w==0) = 1;
F = 2 * (sincw).^2;
clf();
subplot(2,1,1);
plot(t, f, 'b-');
xlabel('t');
ylabel('f(t)');
xtitle('f(t) = tri(t/2)');
xgrid();
subplot(2,1,2);
plot(w, F, 'r-');
xlabel('\omega');
ylabel('F(\omega)');
xtitle('F(\omega) = 2 (sin(\omega)/\omega)^2');
xgrid();