clc; clearvars; close all; % Definizione dei parametri t = linspace(-6e-6, 6e-6, 1000); T_grande = 2e-6; T_zero = 2e-6; N = 10; % Definizione di x(t) x_t = ((t/T_grande)+0.5).*rectpuls(t/T_grande); % Coefficiente a_0 a_0 = T_grande / (2 * T_zero); % Definizione dei vettori k1 e k2 k1 = -N:-1; k2 = 1:N; % Calcolo di y_rec(t) come somma delle armoniche y_rec = a_0 * ones(size(t)); % Inizializzazione di y_rec con il valore di a_0 % Funzione sinc corretta sinc = @(x) sin(pi*x) ./ (pi*x); % Somma dei termini delle armoniche positive for i = 1:length(k2) k = k2(i); y_rec = y_rec + (1/(2*pi*k)) * (sin((pi*k*T_grande)/T_zero) + 1i*(cos((pi*k*T_grande)/T_zero) - sinc((k*T_grande)/T_zero))) * exp(1i * 2 * pi * k * t / T_zero); end % Somma dei termini delle armoniche negative for i = 1:length(k1) k = k1(i); y_rec = y_rec + (1/(2*pi*k)) * (sin((pi*k*T_grande)/T_zero) + 1i*(cos((pi*k*T_grande)/T_zero) - sinc((k*T_grande)/T_zero))) * exp(1i * 2 * pi * k * t / T_zero); end % Plot di x(t) figure; plot(t, x_t); title('Segnale x(t)'); xlabel('Tempo (s)'); ylabel('x(t)'); grid on; % Plot di y_rec(t) figure; plot(t, real(y_rec)); title('Segnale y_{rec}(t)'); xlabel('Tempo (s)'); ylabel('y_{rec}(t)'); grid on; % Plot di x(t) e y_rec(t) figure; plot(t, x_t, 'b', t, real(y_rec), 'r'); title('Segnale x(t) e y_{rec}(t)'); xlabel('Tempo (s)'); ylabel('x(t) e y_{rec}(t)'); legend('x(t)', 'y_{rec}(t)'); grid on;