Chào mọi người,

Em đang mô phỏng 1 khối RF trong Simulink bao gồm imported S parameter và Input port.

Hoạt động trong hệ thống: đầu vào là tín hiệu UWB băng thông 1 GHz (array r1Ant), sau đó trong Simulink tín hiệu đi qua Input port và S parameters block, đầu ra là r1_balun_1.

Điểm em thắc mắc là phổ tín hiệu đầu ra r1_balun_1 có sai lệch so với phổ tín hiệu bằng tính toán DSP trong Matlab. Ai có thể giải thích giúp em không ạ ?

Thanks !

InputPort_Spara_Simulink.zip

Please run it to setup input parameters in Simulink

%% Input parameter
Ts = 1/4e9;
fc = 8e9;
tdelay = 10e-9;
deltaF = 25e6; % Time max in Simulink 40e-9
f = (0:deltaF:1/Ts)';
t = (0:Ts:Ts*(length(f)-1))';

tau = 0.5e-9;
phase1 = 20/180*pi;
N = length(t);
r1Input = zeros(1,N)';

for k=1:N
% Gaussian envelop
p = exp(-(t(k)-tdelay).^2/2/tau^2);
% UWB Pulse
r1Input(k) = p .* exp(2i*pi*fc*(t(k)-tdelay)+1i*phase1);
end

r1Ant.time = t;
r1Ant.signals.values = r1Input;
r1Ant.signals.dimensions = 1;

%% Theoretical Calculation
balun_1 = sparameters('rat_21.s2p');
balun_1_S21 = balun_1.Parameters(2,1, : );
balun_1_S21 = reshape(balun_1_S21,length(f),1);
R1_balun_1_cal = balun_1_S21.*fftshift(fft(r1Input));
r1_balun_1_cal = ifft(ifftshift(R1_balun_1_cal));


%% Compare theoretical calculation and Simulink

figure();
plot(f, 20*log10(abs(fftshift(fft(r1_balun_1))))); hold on;
plot(f, 20*log10(abs(fftshift(fft(r1_balun_1_cal))))); hold on;