Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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 indici k1 e k2
- k1 = -N:-1;
- k2 = 1:N;
- % Definisco y(t)
- y_t = zeros(size(t));
- k_max = 100;
- for k = -k_max:k_max
- y_t = y_t + ((t - k*T_zero)/T_grande + 0.5) .* rectpuls((t - k*T_zero)/T_grande);
- end
- % 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
- % 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 x(t) e y_rec(t)
- figure;
- plot(t, y_t, 'b', t, real(y_rec), 'r');
- title('Segnale y(t) e y_{rec}(t)');
- xlabel('Tempo (s)');
- ylabel('y(t) e y_{rec}(t)');
- legend('y(t)', 'y_{rec}(t)');
- grid on;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement