Advertisement
TrendyJack

hw3 definitivo

May 22nd, 2024
933
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.44 KB | None | 0 0
  1. clc;
  2. clearvars;
  3. close all;
  4.  
  5. % Definizione dei parametri
  6. t = linspace(-6e-6, 6e-6, 1000);
  7. T_grande = 2e-6;
  8. T_zero = 2e-6;
  9. N = 10; %
  10.  
  11. % Definizione di x(t)
  12. x_t = ((t/T_grande)+0.5).*rectpuls(t/T_grande);
  13.  
  14. % Coefficiente a_0
  15. a_0 = T_grande / (2 * T_zero);
  16.  
  17. % Definizione dei vettori indici k1 e k2
  18. k1 = -N:-1;
  19. k2 = 1:N;
  20.  
  21. % Definisco y(t)
  22. y_t = zeros(size(t));
  23. k_max = 100;
  24. for k = -k_max:k_max
  25.     y_t = y_t + ((t - k*T_zero)/T_grande + 0.5) .* rectpuls((t - k*T_zero)/T_grande);
  26. end
  27.  
  28. % Calcolo di y_rec(t) come somma delle armoniche
  29. y_rec = a_0 * ones(size(t)); % Inizializzazione di y_rec con il valore di a_0
  30.  
  31.  
  32. % Somma dei termini delle armoniche positive
  33. for i = 1:length(k2)
  34.     k = k2(i);
  35.     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);
  36. end
  37.  
  38. % Somma dei termini delle armoniche negative
  39. for i = 1:length(k1)
  40.     k = k1(i);
  41.     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);
  42. end
  43.  
  44. % Plot di x(t)
  45. figure;
  46. plot(t, x_t);
  47. title('Segnale x(t)');
  48. xlabel('Tempo (s)');
  49. ylabel('x(t)');
  50. grid on;
  51.  
  52. % Plot di x(t) e y_rec(t)
  53. figure;
  54. plot(t, y_t, 'b', t, real(y_rec), 'r');
  55. title('Segnale y(t) e y_{rec}(t)');
  56. xlabel('Tempo (s)');
  57. ylabel('y(t) e y_{rec}(t)');
  58. legend('y(t)', 'y_{rec}(t)');
  59. grid on;
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement