Magnitude data of S-parameters

I'm analyzing data from s-parameters using the rf toolbox and I was wondering if there is a simple command for extracting the magnitude data of the parameters without having to extract it from the rfplot handle?
BR, Anna

 Accepted Answer

Hi Anna,
I think I would recommend the following approach:
S = sparameters('Data.s2p'); % read the touchstone file
s_param = S.Parameters; % extract the S-parameters from the data structure
% (for convenience)
f = S.Frequencies; % extract the frequency vector from the data structure
% (for convenience)
s_param_mag = abs(s_param); % compute the magnitude of the S-parameters
% this is a standard MATLAB function
plot(f, squeeze(s_param_mag(2,1,:))); % plot the S21 as a funtion of frequency
I hope that this helps, With best regards, Giorgia

1 Comment

I was expecting that if I convert s_param_mag to dB (i.e. log10(s_param_mag(2,1,frequency)*10 it would give the same value as I see in the plot generated by rfplot at frequency. But it does not, what am I missing? Thanks!

Sign in to comment.

More Answers (1)

Joe Wargo
Joe Wargo on 18 Feb 2015
Edited: Joe Wargo on 18 Feb 2015
Hi Anna,
Just to extend the good advice Giorgia gave, if you want to look at just one of the Sij parameters (s21, for instance) you can use the rfparam() function:
S = sparameters('Data.s2p'); % Read the touchstone file
s21 = rfparam(S,2,1); % Extract the s21 data
s21_mag = abs(s21);
s21_db = 20*log10(s21_mag);
I hope that helps!
Joe

Categories

Find more on RF Toolbox in Help Center and File Exchange

Products

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!