I'm simulating an LNA from a paper. It's using HBT BiCMOS technology an one of the things the paper shows is the simulation of NF in range of 3GHz to 10GHz. I'm trying to replicate the simulation with LTSpice but as far as I know, only .noise
simulation is available, giving the power spectrum density in the output or the input.
What I tried to do is export the PSD of Vout and Vin curves, and the same with an .ac
analysis to get the total gain of the amplifier not considering any noise. This curves where then opened with MATLAB.
So according to the definition of Noise Factor, F is equal to PSD(VO)/PSD_ideal(VO). PSD(VO) I already have it from the exported curve, and PSD_ideal(VO) = PSD(VIN) * gain. What I thought is that an .ac
analysis of the gain Vo/Vin, has no considerations of noise, so it seemed a proper way to get the PSD in the output considering LNA is not adding any noise.
However, F gives 0dB at any frequency, meaning that PSD(VO) = PSD_ideal(VO), so LNA is not introducing any noise.
Is there any other way to make this? How can I know if the HBT do introduce extra noise in the amplifier?
I attached the code of MATLAB:
clear; close all;clc;
fidi = fopen('PSD_Vin.txt');
Dc1 = textscan(fidi, '%f%f', 'CollectOutput',1);
D1 = cell2mat(Dc1);
fidi = fopen('PSD_Vo.txt');
Dc2 = textscan(fidi, '%f%f', 'CollectOutput',1);
D2 = cell2mat(Dc2);
fidi = fopen('AV.txt');
Dc3 = textscan(fidi, '%f(%fdB,%f°)', 'CollectOutput',1);
D3 = cell2mat(Dc3);
f = D1(:,1);
PSD_Vin=D1(:,2);
PSD_Vout=D2(:,2);
AV = D3(:,2);
AV = 10.^(AV/20);
PSD_Vout_ideal = AV .* PSD_Vin;
F = PSD_Vout./PSD_Vout_ideal;
% semilogx(f,AV);
% xlim([3e9,10e9]);
% hold all;
% semilogx(f,PSD_Vout_ideal);
% semilogx(f,PSD_Vout);
% legend('PSD_{Vo ideal}','PSD_{Vo}');
semilogx(f,20*log10(F));
xlim([3e9,10e9]);