Frequency Sweep in RF Budget Analysis
This example shows how to sweep through frequency-dependent properties of the elements in an RF Budget Analysis.
Use the nport and amplifier objects to specify the 2-port RF elements in the design and build an RF budget element by cascading the elements together into an RF system with rfbudget.
Building Elements of RF Budget Cascade
Build and parameterize each of the 2-port RF elements.
f1 = nport('RFBudget_RF.s2p','RFBandpassFilter'); a1 = amplifier('Name','RFAmplifier', ... 'Gain',11.53, ... 'NF',1.53, ... 'OIP3',35);
Use rfbudget object to cascade the elements with input frequency 2.1 GHz, input power -30 dBm, and input bandwidth 45 MHz. This example cascades a filter and an amplifier.
b = rfbudget('Elements',[f1 a1], ... 'InputFrequency',2.1e9, ... 'AvailableInputPower',-30, ... 'SignalBandwidth',45e6);
Read Frequency-Dependent Noise Figure
Read frequency-dependent Noise Figure (NF) values of the amplifier from the data-sheet. A similar approach can be followed if the Output third-order intercept (OIP3) or Gain is frequency-dependent.
% Inputs from the data-sheet freq_datasheet = [1.98;1.99;2.0;2.01;2.02;2.03;2.04;2.05;2.06;2.07;2.08;.... 2.09;2.10].*1e9; NF_datasheet = [1.0000;1.0442;1.0883;1.1325;1.1767;1.2208;1.2650;1.3092;... 1.3533;1.3975;1.4417;1.4858;1.5300]; % Interpolate the amplifier NF data based on existing filter frequencies Freq = f1.NetworkData.Frequencies; RFAmplifier_NF = interp1(freq_datasheet,NF_datasheet,Freq);
Plot RF Budget Results Versus Input Frequency
Loop over the desired frequencies, by setting NF of the RF Amplifier element in the rfbudget object.
TotalNF = zeros(size(Freq)); for i = 1:numel(Freq) b.InputFrequency = Freq(i); % Adjust frequency-dependent NF of the RF Amplifier elems(2).NF = RFAmplifier_NF(i); % Compute NF of the cascade TotalNF(i) = b.NF(end); end plot(Freq/1e9,TotalNF) grid on; xlabel('Frequency (GHz)') ylabel('NF (dB)') title('Noise Figure vs. Input Frequency')
