Elabore um programa matlab que seja capaz de responder as seguintes questões:
3. Para verificar a síntese gs(t) e comparar com o sinal original, utilize a Equação 4 deixando o valor de N para que você possa observar a influência. Crie um gráfico sobrepondo o sinal original g(t) e o sinal sintetizado gs(t).
gs(t)=sum-N^N Dn e^j n omega0 t d t

Passo 1

Beleza, vamos lá! O que a gente tem aqui é um exercício de processamento de sinais usando MATLAB. A tarefa é criar um programa que sintetize um sinal $ g_s(t) $ a partir de uma soma de termos, e depois comparar esse sinal sintetizado com o sinal original $ g(t) $. Para isso, vamos usar a Equação 4 dada:
gs(t)
Vamos precisar entender conceitos de séries de Fourier, como coeficientes $ D_n $, frequências angulares $ \omega_0 $, e como implementar somas no MATLAB. Também vamos precisar saber como plotar gráficos sobrepostos para comparar os sinais.

Passo 2

Primeiro, vamos definir os parâmetros básicos do nosso sinal. Precisamos especificar o intervalo de tempo $ t $, a frequência fundamental $ \omega_0 $, e o valor de $ N $ que determina quantos termos da série vamos usar na síntese. Quanto maior o $ N $, mais termos teremos na soma, o que geralmente resulta em uma melhor aproximação do sinal original.
Aqui está um exemplo de como podemos definir esses parâmetros no MATLAB:
% Definindo o tempo
t = linspace(0, 1, 1000); % de 0 a 1 segundo, com 1000 pontos

% Frequência fundamental
f0 = 5; % 5 Hz
omega0 = 2 * pi * f0;

% Número de termos na soma
N = 10; % você pode variar esse valor para ver a influência

Passo 3

Agora, vamos precisar dos coeficientes $ D_n $. Esses coeficientes são específicos para o sinal que estamos sintetizando e geralmente são obtidos a partir da série de Fourier do sinal original. Para simplificar, vamos supor que já temos esses coeficientes calculados. Se não tiver, precisaríamos calcular integralmente, mas para este exemplo, vamos usar coeficientes fictícios.
Vamos criar um vetor de coeficientes $ D_n $ para $ n $ de Dn a Dn :
% Inicializando os coeficientes Dn
Dn = ones(1, 2*N+1); % exemplo: todos os Dn = 1
n = -N:N;

Passo 4

Com os coeficientes prontos, podemos agora calcular o sinal sintetizado $ g_s(t) $ usando a soma especificada na Equação 4. Vamos implementar essa soma no MATLAB utilizando um loop ou funções vetorizadas. Aqui, vou usar uma abordagem vetorizada para eficiência.
% Calculando g_s(t)
gs = zeros(size(t));
for k = 1:length(n)
    gs = gs + Dn(k) * exp(1j * n(k) * omega0 * t);
end
% Como estamos lidando com sinais reais, vamos tomar a parte real
gs = real(gs) * (2 * pi / length(t));

Passo 5

Agora, vamos definir o sinal original $ g(t) $ que queremos comparar com o sinal sintetizado. Suponha que $ g(t) $ seja, por exemplo, uma onda quadrada ou qualquer outro sinal periódico que possua uma representação em série de Fourier.
Aqui, vou usar uma onda quadrada como exemplo:
% Definindo o sinal original g(t) como uma onda quadrada
g = square(omega0 * t);

Passo 6

Por fim, vamos plotar ambos os sinais no mesmo gráfico para visualizarmos a comparação. Isso nos ajudará a ver como a síntese se aproxima do sinal original à medida que variamos $ N $.
% Plotando os sinais
figure;
plot(t, g, 'b', 'LineWidth', 1.5); hold on;
plot(t, gs, 'r--', 'LineWidth', 1.5);
xlabel('Tempo (s)');
ylabel('Amplitude');
title(['Comparação entre g(t) e g_s(t) com N = ', num2str(N)]);
legend('g(t) - Original', 'g_s(t) - Sintetizado');
grid on;
hold off;

Resposta

Prontinho! Com esse programa, você consegue sintetizar o sinal $ g_s(t) $ usando a Equação 4 no MATLAB e comparar visualmente com o sinal original $ g(t) $. Lembre-se de experimentar diferentes valores de $ N $ para observar como a quantidade de termos influencia na aproximação do sinal sintetizado em relação ao original.

Exercícios relacionados