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);
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}');

1 Answer 1


I think you can just do:

$$ NF = 10\log\left(\frac{V_{N}^2}{V_{n,R_{source}}^2}\right) $$

The numerator value is what you obtained from the input-referred noise simulation (where the noise contributions of the LNA and source impedance are lumped together), and the bottom one you can just calculate assuming you have a resistive signal source (e.g. if it's 50 ohms, then you just square 0.89nV/sqrt(Hz)).

I think you should be able to fill that in the ltspice plot as a formula and give you the noise figure as a function of frequency.

This formula comes from: $$ NF=10\log\left(\frac{S_{in}N_{out}}{S_{out}N_{in}}\right) $$

Let \$N_{out} = G_pV_N^2\$, where \$V_N^2=V_{n}^2+V_{n,R_{source}}^2 + i_{n}^2R_{source}^2\$. The first and third term are the input-referred voltage of the LNA and input-referred current noise multiplied by the source resistance. The 2nd term is the noise of the source resistance itself.

Replace this in the expression above (including the fact that \$S_{out}=S_{in}G_p\$, and \$N_{in}=V_{n,source}^2\$, i.e., the noise power of the source) and, simplifying you get the expression above:

$$ NF=10\log\left(\frac{V_N^2}{V_{n,source}^2}\right) $$

  • 2
    \$\begingroup\$ Thanks a lot, it worked! I got the same values of NF as the paper. \$\endgroup\$ Commented Sep 2, 2023 at 22:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.