Quiz #1 OEMT - Squadra "Cecilia Piotrapa"

 avatar
unknown
matlab
10 months ago
2.5 kB
9
Indexable
close all
clear all
clc
  
% Assi
Ncamp = 10^5;  % Numero di campioni
t = linspace(-3e-9, 3e-9, Ncamp);  % Asse temporale [s]
dt = t(2) - t(1);  % Intervallo di campionamento temporale
fmax = 1 / (2 * dt);  % Frequenza massima nel dminio delle frequenze [Hz]
freq = linspace(-fmax, fmax, Ncamp);  % Asse delle frequenze [Hz]

% Convertiamo le frequenze in GHz per la rappresentazione
freq_GHz = freq * 1e-9;

% Definizione dei parametri per il modulo quadro |S1(f)|^2 e |S2(f)|^2
f0_1 = 1.5e9; % Portante di S1 [Hz]
sigma_1 = 1e9/10; % Larghezza spettrale di S1 [Hz]

f0_2 = 6e9; % Portante di S2 [Hz]
sigma_2 = 1e9/1.5; % Larghezza spettrale di S2 [Hz]

% Definizione del modulo quadro dei segnali (come Gaussiane, approssimo S1 ad una Gaussiana)
S1_f_abs2 = 0.5*exp(-(freq - f0_1).^2 / (2 * sigma_1^2));  % |S1(f)|^2
S2_f_abs2 = 1*exp(-(freq - f0_2).^2 / (2 * sigma_2^2));  % |S2(f)|^2

% Prendere la radice quadrata per ottenere S(f)
S1_f = sqrt(S1_f_abs2);  % S1(f)
S2_f = sqrt(S2_f_abs2);  % S2(f)

% Calcolo della trasformata inversa di Fourier per ottenere i segnali nel dominio del tempo
S1_t = ifft(ifftshift(S1_f));  % S1(t)
S2_t = ifft(ifftshift(S2_f));  % S2(t)

% Aggiunta di una ripetizione periodica (copia del segnale per farlo apparire continuo)
S1_t_periodic = repmat(S1_t, 1, 3);  % Ripeti S1(t) 3 volte
S2_t_periodic = repmat(S2_t, 1, 3);  % Ripeti S2(t) 3 volte

% Estensione dell'asse temporale per coprire la ripetizione
t_periodic = linspace(min(t) * 3, max(t) * 3, length(S1_t_periodic));

% Primo subplot: Grafico nel dominio delle frequenze (modulo quadro)
subplot(2, 1, 1);  % 2 righe, 1 colonna, primo plot
plot(freq_GHz, S1_f_abs2, 'b', 'LineWidth', 2); hold on;  % Grafico per |S1(f)|^2
plot(freq_GHz, S2_f_abs2, 'r', 'LineWidth', 2);           % Grafico per |S2(f)|^2
xlabel('Frequenza [GHz]');
ylabel('|S(f)|^2');
title('Modulo quadro della trasformata di Fourier nel dominio delle frequenze');
legend('S1(f)', 'S2(f)');
grid on;
xlim([-20 20]);  % Limita l'asse delle frequenze tra -20 GHz e +20 GHz

% Secondo subplot: Grafico nel dominio del tempo
subplot(2, 1, 2);  % 2 righe, 1 colonna, secondo plot
plot(t_periodic * 1e9, real(S1_t_periodic), 'b', 'LineWidth', 2); hold on;  % Segnale temporale per S1(t)
plot(t_periodic * 1e9, real(S2_t_periodic), 'r', 'LineWidth', 2);           % Segnale temporale per S2(t)
xlabel('Tempo [ns]');
ylabel('Ampiezza');
title('Segnali nel dominio del tempo (grafico continuo)');
legend('S1(t)', 'S2(t)');
grid on;
Editor is loading...
Leave a Comment